@cloudflare/codemode@0.5.2
inboundemail/inbound@cloudflare/codemode@0.5.2Sep 11, 2026by github-actions[bot]
Upgrading?
AI Summary
Improved JSON truncation logic to handle oversized objects structurally, preventing invalid JSON output. Added `toModelOutput` projection and updated MCP servers to apply response budgets.
Key Highlights
- Structural truncation replaces slicing to ensure valid JSON output for oversized results.
- Added `toModelOutput` to project calls and bound sandbox logs.
- MCP servers now apply response budgets to emitted text.
New Features
- Structural truncation for strings, arrays, and objects with specific suffixes (e.g., '--- TRUNCATED ---').
- Projection of `calls` out of model context.
- Bounded sandbox logs to prevent context overflow.
Full Release Notes
### Patch Changes
- [#2224](https://github.com/cloudflare/agents/pull/2224) [`dcca089`](https://github.com/cloudflare/agents/commit/dcca0896cc829e4a602a1feb47466ac79d1ca096) Thanks [@mattzcarey](https://github.com/mattzcarey)! - Truncate structured results structurally instead of slicing their JSON.
`truncateResult` (the default `transformResult` in Think's execute tool and the browser tools) and the `codeMcpServer` / `openApiMcpServer` response path used to pretty-print an oversized object and cut it at a character count, leaving the model with half a JSON document. Oversized values are now shrunk in place, largest values first: strings are clipped with a `--- TRUNCATED --- <n> chars` suffix, arrays keep their leading items and end with a `--- TRUNCATED --- <n> more items` element, and an object only loses entries (largest first, named in a `"--- TRUNCATED ---"` entry) when its values cannot share the budget. The output is always valid JSON of the original shape and small values pass through untouched.
The Code Mode tool now carries a `toModelOutput` that projects `calls` out of what the model sees and bounds the sandbox `logs` the same way a result is bounded. The durable call log — every connector call's args and result — stays on the persisted tool part for UIs and audit, but no longer rides into the model's context uncapped alongside the transformed `result`. The projection never throws: a BigInt or cyclic value is rendered rather than failing a completed run at model assembly.
The MCP servers apply the response budget to the text they emit, pretty-printing only while that still fits.
Fixes [#2009](https://github.com/cloudflare/agents/issues/2009), [#2143](https://github.com/cloudflare/agents/issues/2143) and [#2182](https://github.com/cloudflare/agents/issues/2182).
Related Repositories
openclaw/openclaw★ 392,716
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,091
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 359,523
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,818
The open source coding agent.
n8n-io/n8n★ 208,269
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.