Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ dependencies = [
"cryptography>=42", # the local transfer CA
"httpx>=0.27.0",
"jsonschema>=4.20", # checks an app's settings against its Settings' schema before a deploy
"litellm>=1.96.0,<1.97",
"litellm>=1.96.0,<1.107",
"mcp>=1.25,<2", # same floor as env/gateway/requirements.txt and agentenv-protocol; 2.0.0 removed mcp.server.fastmcp, imported at module scope by env/gateway
"packaging>=22", # parses a bundle.toml's requires; evaluates a plugin's requirement markers with no extra
"a2a-sdk==0.3.26",
Expand All @@ -46,7 +46,7 @@ dependencies = [
"starlette>=0.40", # the local grant server
"uvicorn>=0.47", # 0.47 adds ssl_context_factory, how the local grant server gets its TLS context
"modal>=1.5.2.dev22", # dev22 adds _experimental_create(tags=); dev2 added VM-mode V2 (vm_runtime)
"e2b~=2.46.4", # AsyncSandbox/AsyncTemplate APIs validated against the 2.46 line
"e2b>=2.46.4,<2.63.0", # AsyncSandbox/AsyncTemplate APIs validated against the 2.46 line

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 SDK changes escape unit tests

The wider e2b and sail ranges cross several minor releases, but their unit tests replace SDK calls with permissive fakes. Those tests still pass if the installed SDK rejects an argument or removes a method. The live checks require a configured remote backend, so an incompatible release could fail only when a user deploys a sandbox.

Add offline checks against the installed SDKs, following modal_create_signature_test.py, or keep the previously checked ranges until compatibility is covered. This is a non-blocking coverage concern, not a confirmed SDK break.

Prompt To Fix With AI
This is a comment left during a code review.
Path: pyproject.toml
Line: 49

Comment:
**SDK changes escape unit tests**

The wider `e2b` and `sail` ranges cross several minor releases, but their unit tests replace SDK calls with permissive fakes. Those tests still pass if the installed SDK rejects an argument or removes a method. The live checks require a configured remote backend, so an incompatible release could fail only when a user deploys a sandbox.

Add offline checks against the installed SDKs, following `modal_create_signature_test.py`, or keep the previously checked ranges until compatibility is covered. This is a non-blocking coverage concern, not a confirmed SDK break.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Cursor Fix in Claude Code Fix in Codex

"fastapi>=0.110", # the explorer, agent-env up
]

Expand Down Expand Up @@ -106,12 +106,12 @@ gcp = [
]
# The sail_vm sandbox provider (Sail Research Sailboxes), selected with --sandbox sail_vm.
sail = [
"sail~=0.12.8", # Sailbox exec/fs/listener/egress APIs validated against the 0.12 line
"sail>=0.12.8,<0.18.0", # Sailbox exec/fs/listener/egress APIs validated against the 0.12 line
]
vercel = [
"anyio>=4,<5",
"httpx2>=2.13.1,<3",
"vercel-sandbox>=0.7.0,<0.8", # provides the vercel.sandbox namespace without the full vercel bundle
"vercel-sandbox>=0.7.0,<0.11", # provides the vercel.sandbox namespace without the full vercel bundle
]
# The Tensorlake sandbox provider, selected as the built-in `tensorlake` backend.
tensorlake = [
Expand All @@ -127,7 +127,7 @@ boxd = [
]
# The Daytona sandbox provider, selected as the built-in `daytona` backend.
daytona = [
"daytona~=0.224.0", # AsyncDaytona sandboxes, sessions, file API, preview links and egress lists validated against 0.224
"daytona>=0.224,<0.228", # AsyncDaytona sandboxes, sessions, file API, preview links and egress lists validated against 0.224
]
# The boat.dev sandbox provider, selected as the built-in `boat` backend.
boat = [
Expand All @@ -143,7 +143,7 @@ dev = [
"fastmcp>=3.4,<4", # the standalone-fastmcp mount path of the protocol; <4 keeps mcp 1.x
"Pillow>=10.4", # the protocol's computer extra, whose tests the unit tier runs
"av>=17", # the protocol's computer extra, whose tests the unit tier runs and which the recording tests decode with
"griffelib==2.3.0", # the plugin API check; exact, since what it reports as a break changes between releases
"griffelib==2.4.1", # the plugin API check; exact, since what it reports as a break changes between releases
"tomli-w==1.2.0", # the Codex agent's config writer, which only its image installs; its tests import it
"moto>=5.0.0",
"psycopg2-binary>=2.9.0", # the gateway server module's driver; outside its container only the tests import it
Expand All @@ -153,7 +153,7 @@ dev = [
"pytest-socket>=0.7.0",
"pytest-timeout>=2.3.0",
"pytest-xdist>=3.0.0",
"ruff==0.16.10", # the lint gate; exact, since what it reports changes between releases
"ruff==0.17.3", # the lint gate; exact, since what it reports changes between releases
]
smol = [
"smolmachines>=1.27.0",
Expand Down
Loading
Loading