release: 0.4.0#5
Conversation
PR SummaryLow Risk Overview Adds a Generations gain Video request types add top-level Reviewed by Cursor Bugbot for commit 68e2652. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
🧪 Testing To try out this version of the SDK: Expires at: Thu, 23 Jul 2026 18:09:32 GMT |
8f18e45 to
68e2652
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Inline upload missing file parameter
- Added the typed
fileparameter to sync and async file creation and included it in the request body so existing multipart extraction can send inline uploads.
- Added the typed
Or push these changes by commenting:
@cursor push a12851bf5a
Preview (a12851bf5a)
diff --git a/src/luma_agents/resources/files.py b/src/luma_agents/resources/files.py
--- a/src/luma_agents/resources/files.py
+++ b/src/luma_agents/resources/files.py
@@ -9,7 +9,7 @@
from ..types import FileState, FilePurpose, file_list_params, file_create_params
from .._files import deepcopy_with_paths
-from .._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
+from .._types import Body, Omit, Query, Headers, NoneType, NotGiven, FileTypes, omit, not_given
from .._utils import extract_files, path_template, maybe_transform, async_maybe_transform
from .._compat import cached_property
from .._resource import SyncAPIResource, AsyncAPIResource
@@ -55,6 +55,7 @@
mime_type: str,
size_bytes: int,
expires_at: Union[str, datetime, None] | Omit = omit,
+ file: FileTypes | Omit = omit,
filename: Optional[str] | Omit = omit,
purpose: FilePurpose | Omit = omit,
user_id: Optional[str] | Omit = omit,
@@ -87,6 +88,8 @@
expires_at: Optional TTL. After this time Luma may automatically delete the file and reclaim
its bytes.
+ file: File to upload inline using multipart/form-data.
+
filename: Optional original filename to record.
purpose: How the file is intended to be used in a generation. `input` is the primary
@@ -109,6 +112,7 @@
"mime_type": mime_type,
"size_bytes": size_bytes,
"expires_at": expires_at,
+ "file": file,
"filename": filename,
"purpose": purpose,
"user_id": user_id,
@@ -319,6 +323,7 @@
mime_type: str,
size_bytes: int,
expires_at: Union[str, datetime, None] | Omit = omit,
+ file: FileTypes | Omit = omit,
filename: Optional[str] | Omit = omit,
purpose: FilePurpose | Omit = omit,
user_id: Optional[str] | Omit = omit,
@@ -351,6 +356,8 @@
expires_at: Optional TTL. After this time Luma may automatically delete the file and reclaim
its bytes.
+ file: File to upload inline using multipart/form-data.
+
filename: Optional original filename to record.
purpose: How the file is intended to be used in a generation. `input` is the primary
@@ -373,6 +380,7 @@
"mime_type": mime_type,
"size_bytes": size_bytes,
"expires_at": expires_at,
+ "file": file,
"filename": filename,
"purpose": purpose,
"user_id": user_id,
diff --git a/src/luma_agents/types/file_create_params.py b/src/luma_agents/types/file_create_params.py
--- a/src/luma_agents/types/file_create_params.py
+++ b/src/luma_agents/types/file_create_params.py
@@ -6,6 +6,7 @@
from datetime import datetime
from typing_extensions import Required, Annotated, TypedDict
+from .._types import FileTypes
from .._utils import PropertyInfo
from .file_purpose import FilePurpose
@@ -28,6 +29,9 @@
After this time Luma may automatically delete the file and reclaim its bytes.
"""
+ file: FileTypes
+ """File to upload inline using multipart/form-data."""
+
filename: Optional[str]
"""Optional original filename to record."""You can send follow-ups to the cloud agent here.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 68e2652. Configure here.
|
🤖 Release is at https://github.com/lumalabs/luma-agents-python/releases/tag/v0.4.0 🌻 |


Automated Release PR
0.4.0 (2026-06-23)
Full Changelog: v0.3.0...v0.4.0
Features
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions