You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: bump ai from 7.0.114 to 7.0.153 in /apps/web - #2403
5475347: Fix non-streaming Responses API structured output failing when multiple assistant messages contain JSON. Providers can supply separate structured-output text for parsing, allowing OpenAI and Azure Responses models to select the last final_answer while preserving all generated content, annotations, conversation history, and token usage.
Streams speech audio from a string, or an array, iterable, or stream of text deltas and/or text parts (each with an optional voice and providerOptions) using speech models that implement the experimental Experimental_StreamingSpeechModelV4 extension. Returns a single-consumer audioStream / fullStream plus usage, warnings, responses, and providerMetadata promises. Provider error parts are non-fatal and reported through onError (default console.error). A user abort or a cancel rejects the result promises immediately. Exports the Experimental_SpeechTextPart, Experimental_SpeechStreamPart, Experimental_SpeechStreamUsage, and Experimental_StreamSpeechResult types, adds an optional cause to NoSpeechGeneratedError, and adds Experimental_MockStreamingSpeechModelV4 to ai/test.
1727442: fix(ai): process only the first approval response per tool call, so repeated or conflicting responses in the final tool message no longer execute a tool twice or both execute and deny it
0a5d0e7: Fix toolChoice: 'none' by forwarding it to the Hugging Face Responses API and rejecting tool calls before local execution in generateText, streamText, and WorkflowAgent. Streamed tool parts are withheld so client-side tools cannot act on them, and repairToolCall and experimental_refineToolInput are not invoked for rejected tool calls.
10026d1: Add the interrupted finish reason for provider streams that end without a completion signal. Preserve partial output without introducing an error solely for interruption, and stop tool execution, agent continuation, and automatic UI follow-ups for interrupted responses, including late tool results and approvals. Provider detection and emission will be added separately.
Compatibility notice: Adding interrupted to the public finish-reason types can break type checking after upgrading, even though this is a patch release. Exhaustive switches (for example, using an assertNever fallback) and mappings such as Record<FinishReason, string> must handle the new value. Update any custom validation or application logic that assumes the existing set of finish reasons is exhaustive.
When providers begin emitting interrupted, a stream ending without a completion signal will preserve partial output and report this finish reason without emitting an error solely for the interruption. Applications that need to detect incomplete responses should check finishReason === 'interrupted' as well as their existing error handling.
Exact head: 94fc6b2107e021af9db8d1d5192c64000c080985; current main base: ba2777d1b008c2148d413e07cc497791966310e0.
Paths changed against current main: apps/web/package.json and package-lock.json only. The web app's direct ai dependency and clean lockfile now install 7.0.153. The older ai 7.0.114 remains nested for @ai-sdk/react 4.0.117. The direct @ai-sdk/gateway is also pinned to 4.0.126 because the prior gateway made the two existing Jev evaluate() call sites fail TypeScript against ai 7.0.153; the older gateway remains nested where required.
Validation on the committed tree: npm 10.8.0 ci --ignore-scripts, npm ls ai @ai-sdk/gateway --workspace apps/web --depth=2, full web Vitest (170 files, 1,520 passed, 28 skipped), web ESLint, TypeScript noEmit, production build, and git diff --check all passed. npm audit still has 33 wider-graph findings, with none listed for the changed AI SDK packages. A live hosted Gateway call was not tested.
Hosted checks on this exact head: 25 succeeded, 3 skipped, and only dependency-review failed. Its live log repeatedly reports 3 base dependency snapshots versus 1 head snapshot; the evidence step also hits GitHub's maximum template object size and uploads no review artifact. The partial action output reports no new moderate-or-higher vulnerability, but the snapshot mismatch prevents treating that as a complete dependency verdict.
Keep this PR open. The manifest and lockfile correction is verified locally, but the dependency review evidence must be fixed and rerun before approval or merge.
The reason will be displayed to describe this comment to others. Learn more.
Review at head aaaf3c61: this PR changes apps/web/package.json without updating the root package-lock.json, and current-head build, lint, and frontend test checks fail. Reconcile the workspace lockfile with the manifest, then rerun the checks before approval.
The reason will be displayed to describe this comment to others. Learn more.
Code review at exact head 94fc6b2107e021af9db8d1d5192c64000c080985: the earlier requested change is resolved. The web manifest and root lockfile resolve direct ai@7.0.153 plus @ai-sdk/gateway@4.0.126; the gateway companion fixes a TypeScript model mismatch reproduced with a clean install. I inspected the two-file diff and verified a clean npm 10.8.0 install, package resolution, 1,520 passing web tests (28 skipped), lint, typecheck and build. Current hosted build, lint, frontend tests and issue-link checks pass. This approval covers the code and lockfile correction only. A live AI Gateway call was not tested. The shared dependency-review job still fails after a 3-base/1-head snapshot warning and has no reliable evidence artifact. Keep this PR open and unmerged until that check passes with a complete dependency verdict on the final head.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dependenciesPull requests that update a dependency filejavascriptPull requests that update javascript code
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps ai from 7.0.114 to 7.0.153.
Changelog
Sourced from ai's changelog.
... (truncated)
Commits
612be23Version Packages (#23938)5475347fix(openai): parse the last final answer for non-streaming structured output ...2deca8cVersion Packages (#23883)a089a0aVersion Packages (#23880)594495aVersion Packages (#23857)8202f5bfeat(gateway): implement experimental streaming speech in the gateway provide...8e18d59feat(ai): add experimental_streamSpeech (#23794)401cadcVersion Packages (#23785)0a5d0e7fix: honor toolChoice none in core and Hugging Face (#23843)10026d1feat(ai): add support for interrupted finish reasons (#23778)Codex verification — 2026-10-28
Exact head:
94fc6b2107e021af9db8d1d5192c64000c080985; currentmainbase:ba2777d1b008c2148d413e07cc497791966310e0.main:apps/web/package.jsonandpackage-lock.jsononly. The web app's directaidependency and clean lockfile now install 7.0.153. The olderai7.0.114 remains nested for@ai-sdk/react4.0.117. The direct@ai-sdk/gatewayis also pinned to 4.0.126 because the prior gateway made the two existing Jevevaluate()call sites fail TypeScript againstai7.0.153; the older gateway remains nested where required.ci --ignore-scripts,npm ls ai @ai-sdk/gateway --workspace apps/web --depth=2, full web Vitest (170 files, 1,520 passed, 28 skipped), web ESLint, TypeScript noEmit, production build, andgit diff --checkall passed. npm audit still has 33 wider-graph findings, with none listed for the changed AI SDK packages. A live hosted Gateway call was not tested.dependency-reviewfailed. Its live log repeatedly reports 3 base dependency snapshots versus 1 head snapshot; the evidence step also hits GitHub's maximum template object size and uploads no review artifact. The partial action output reports no new moderate-or-higher vulnerability, but the snapshot mismatch prevents treating that as a complete dependency verdict.Keep this PR open. The manifest and lockfile correction is verified locally, but the dependency review evidence must be fixed and rerun before approval or merge.