Recipe executions calling proxy_execute(..., timeout=N) were crashing with:
TypeError: proxy_execute() got an unexpected keyword argument 'timeout'
Seen in Apollo preview logs for COMPOSIO_EXECUTE_RECIPE (e.g. recipes rcp_4IhpNtUNVNs4, rcp_gj65nLdu3jMV) — the error string itself flagged this as a server-side bug. The user's recipe is reasonable: proxy_execute(method="GET", endpoint=..., toolkit="custom", headers={...}, timeout=90).
Both sandbox proxy_execute helpers (legacy + tool-router variants) now accept an optional timeout: Optional[float] = None, forwarded to the underlying HTTP layer:
python-helpers/proxy_execute.py (legacy) — forwarded to Composio(timeout=...), which the Python SDK supports natively (composio/sdk.py:38).python-helpers/toolrouter/toolrouter_proxy_execute.py — forwarded to requests.post(timeout=...).Backward compatible: when callers omit timeout, behavior is unchanged.
python3 -m py_compile and ast.parse on both modified helpers — both parse clean.vitest run src/lib/sandbox/sandboxExecution.unit.test.ts src/lib/sandbox/sandboxManager.unit.test.ts — 4/4 passed.vitest run src/lib/sandbox/sandbox-code-builder.test.ts — loads cleanly (129 tests skipped because ENABLE_WORKBENCH_TESTS is unset; the helper code text-imports parse).Composio.__init__ accepts timeout (/workspace/composio/python/composio/sdk.py:38,150); requests.post accepts timeout natively.Triggered by: Datadog Error Polling | Source: cron-dd-errors Origin: cron-dd-errors / zen-cron-5999c6e40b14 Session: https://zen-api-production-4c98.up.railway.app/dashboard/#/chat/zen-cron-5999c6e40b14
Based on git blame analysis of 2 file(s):
| Contributor | Contribution | Files |
|---|---|---|
| abir-taheer | 85% | 2 |
| Karan Vaidya |
| 11% |
| 2 |
| Zen | 3% | 2 |
| Dhawal Upadhyay | 1% | 1 |
I recommend Zen — they made the most recent edits to both files today and will have the freshest context on the current changes. Also add abir-taheer as a second reviewer since they are the primary owner/major contributor to these modules and can provide broad historical and architectural guidance.
🤖 Based on git blame with recency weighting (recent edits count more).
:white_check_mark: All modified and coverable lines are covered by tests.
| Flag | Coverage Δ | |
|---|---|---|
| e2e-tests | 5.96% <ø> (?) | |
| self-hosted-tests | 5.63% <ø> (ø) | |
| unit-tests | 58.83% <ø> (?) |
Flags with carried forward coverage won't be shown. Click here to find out more. see 822 files with indirect coverage changes