feat: bump openai-agents to 0.14.3 + add local-sandbox OpenAI Agents SDK tutorial#375
Conversation
The new scale-sandbox `oai_agents` adapter (ScaleSandboxClient for the OpenAI Agents SDK BaseSandboxClient protocol) imports symbols added in openai-agents 0.14.3 (`agents.sandbox.workspace_paths.sandbox_path_str`, `posix_path_for_error`, `agents.sandbox.errors.ExecNonZeroError`, `PtySessionNotFoundError`). The previous hard pin `==0.14.1` made that adapter fall back to None at import. Bump to >=0.14.3,<0.15 to unblock agents running the OpenAI Agents SDK with ARP (Scale) sandboxes inside Temporal. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ntegration tests No behavioral change — a comment to make the examples/tutorials path filter match so build-and-push-tutorial-agent + tutorial tests run for the openai-agents>=0.14.3 bump. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18d6cca to
a7cf4c7
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Rebased onto latest Also added a no-op comment to the 060 openai-agents tutorial test so the |
|
Added |
next bumped openai-agents to >=0.14.3 (#375) for the scale-sandbox oai_agents adapter. The packaging split relocated this dep to adk/, so carry the floor forward here rather than reverting to the old 0.14.1 pin. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
What
Bump
openai-agentsfrom the hard pin==0.14.1to>=0.14.3,<0.15(locks resolve to 0.14.8).Why
The new scale-sandbox
oai_agentsadapter —ScaleSandboxClient, which implements the OpenAI Agents SDKBaseSandboxClientprotocol so anAgent/SandboxAgentcan run inside a real ARP (Scale) sandbox — imports symbols that only exist in openai-agents >= 0.14.3:agents.sandbox.workspace_paths.sandbox_path_str,posix_path_for_erroragents.sandbox.errors.ExecNonZeroError,PtySessionNotFoundErrorThe adapter's
_imports.pywraps all of itsagents.sandbox.*imports in a singletry/except ImportError. On0.14.1that block fails (missing symbols above) and every name falls back toNone, soclass ScaleSandboxClientOptions(BaseSandboxClientOptions)raisesTypeError: NoneType takes no argumentsat import time. Verified locally: adapter import fails on 0.14.1, imports + instantiates cleanly on 0.14.3.This unblocks a new pubsec-dev agent that runs the OpenAI Agents SDK inside Temporal (via the standard
OpenAIAgentsPlugin+temporalio.contrib.openai_agents.SandboxClientProvider) with ARP sandboxes as the execution environment.Scope
pyproject.toml: the one pin.requirements.lock/requirements-dev.lock:openai-agents==0.14.1 → 0.14.8.uv.lock:openai-agents0.14.1→0.14.8; also re-sync corrected pre-existing drift already present onnext(workspace version,scale-gp-betaspecifier) so the lock matchespyproject.Base (non-extra) transitive deps are identical between 0.14.1 and 0.14.3 (diffs are confined to unused extras:
mongodb, and thetemporalextra's temporalio bump), so this is a low-risk bump.Release
Needs a release cut (Stainless version bump) before the downstream agent's image build can install it.
🤖 Generated with Claude Code
Greptile Summary
This PR bumps
openai-agentsfrom the hard-pinned==0.14.1to>=0.14.3,<0.15(resolving to0.14.8in lock files) to unblock theScaleSandboxClientadapter, which imports symbols (sandbox_path_str,ExecNonZeroError,PtySessionNotFoundError) that only exist in>=0.14.3.pyproject.toml: Relaxes the pin from==0.14.1to>=0.14.3,<0.15; all three lock files (requirements.lock,requirements-dev.lock,uv.lock) are consistently updated to0.14.8.uv.lock: Base transitive dependencies foropenai-agentsare unchanged between 0.14.1 and 0.14.8 (same set:griffelib,openai,opentelemetry-api,pydantic,requests,typing-extensions,websockets), confirming the low-risk characterization.Confidence Score: 5/5
Safe to merge — this is a targeted dependency version bump with no changes to application logic.
The only substantive change is relaxing the openai-agents pin from ==0.14.1 to >=0.14.3,<0.15, resolving to 0.14.8. All three lock files are consistently updated, the base transitive dependency set is identical between 0.14.1 and 0.14.8, and the upper bound <0.15 prevents unintentional major-version drift. The test file touch is comment-only.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[pyproject.toml\nopenai-agents >=0.14.3,<0.15] --> B[uv.lock resolves to 0.14.8] A --> C[requirements.lock → 0.14.8] A --> D[requirements-dev.lock → 0.14.8] B --> E{Base transitive deps\n0.14.1 vs 0.14.8} E -->|Identical| F[griffelib, openai, pydantic\nopentelemetry-api, requests\ntyping-extensions, websockets] G[ScaleSandboxClient adapter\n_imports.py] -->|Requires >=0.14.3| H[agents.sandbox.workspace_paths\nsandbox_path_str, posix_path_for_error] G -->|Requires >=0.14.3| I[agents.sandbox.errors\nExecNonZeroError, PtySessionNotFoundError] H --> J[Import succeeds on 0.14.8 ✓] I --> J F --> JReviews (2): Last reviewed commit: "test(ci): touch 060 openai-agents tutori..." | Re-trigger Greptile