The harness now consistently supports parallel and sequential tool approvals and handles tools with a toModelOutput() transformation. Fixed harness-claude-code finishing tool steps before the response completed.
AI SDK
npx @buildinternet/releases get vercel-ai-sdkPatch Changes
- 42a2895: chore(provider/gateway): update gateway model settings files
Patch Changes
- 39cddec: Backport: chore(provider/gateway): update gateway model settings files
Tool call execution concurrency is now configurable in the AI SDK. Also bumps @ai-sdk/gateway dependency.
Patch Changes
- d9244d1: Backport: chore(provider/gateway): update gateway model settings files
URL-backed image and file inputs are no longer downloaded in the workflow context, where fetch is unavailable; model steps instead download unsupported URLs using the resolved model's supportedUrls for both stream() and generate(). A custom experimental_download function now also runs inside the model step and must be marked with 'use step' to be passed to the step.
Fixed useObject submissions that were stopped before their request started so they now cancel properly, and headers supplied as a Headers instance are preserved in useObject requests. Updated @ai-sdk/provider-utils and ai dependencies.
With reasoning models and store: true, pruning reasoning caused follow-up requests to fail with "Item of type 'message' was provided without its required 'reasoning' item". Assistant text parts are now only sent as item references when preceded by reasoning in the same assistant message.
Documentation for provider-utils now clarifies how ToolApprovalResponse.reason is handled for approved and denied tool calls.
Assistant text parts are now only sent as item references, or with their item id, when preceded by reasoning in the same assistant message, fixing "Item of type 'message' was provided without its required 'reasoning' item" errors that occurred after pruning reasoning with pruneMessages. Also updates @ai-sdk/provider-utils to 4.0.58.
Preserves interleaved text and reasoning blocks by stream ID and keeps response message order across steps. Also exposes final-step reasoning through stream result accessors and preserves native tool result input and execution origin.
Adds the gemini-4-argon model id with long decode support for generateContent: requests hitting the per-request cap are continued automatically with usage summed across requests and the first request's prompt token count exposed as providerMetadata.google.initialPromptTokenCount. Also adds a continuationToken provider option to resume responses that used up their maxOutputTokens budget, and generateText with the Interactions API now polls background: true model calls until they finish.
Added the gemini-4-argon model id and long decode support for generateContent, where requests that hit the per-request cap are continued automatically with usage summed across requests and the first request's prompt token count exposed as providerMetadata.google.initialPromptTokenCount. generateText with the Interactions API now polls background: true model calls until they finish.
Fixed useObject requests dropping headers supplied as a Headers instance.
Sending assistant text and function calls after pruning reasoning with pruneMessages({ reasoning: 'all' }) no longer fails with "Item was provided without its required 'reasoning' item" errors. Text and function call parts are sent as item references or with their item id only when preceded by reasoning in the same assistant message.
Adds the gemini-4-argon model id and long decode support: requests that reach the per-request cap are continued automatically, with usage summed across requests and the first request's prompt token count exposed as providerMetadata.google.initialPromptTokenCount. A continuationToken provider option and provider metadata resume responses that used up their maxOutputTokens budget.
WorkflowChatTransport no longer retries indefinitely when reconnect responses contain no UI message chunks, with empty streams now counting toward maxConsecutiveErrors. Also fixes terminal assistant responses being dropped from conversation messages, incomplete no-output model streams going unreported, tool input validation errors lacking detail, telemetry not reaching global integrations, and provider-executed tool results being lost on length completion.
Submissions stopped before their request starts are now canceled correctly in useObject, and headers passed as a Headers instance are preserved in useObject requests. Dependency updates to ai 7.0.138 and @ai-sdk/provider-utils 5.0.59 are also included.
useChat with resume: true no longer starts a second resume request on mount when the chat is already submitted or streaming. Stale useObject streams can no longer overwrite newer results, and replay semantics are preserved for custom chat transports.
Decision choice responses now accept exact criteria labels, fixing a provider-utils bug. Documentation was also clarified on how ToolApprovalResponse.reason is handled for approved and denied tool calls.
