Repository navigation
chore: bump ai sdk family to ai 7.0.153 - #388
Conversation
Dependency batch. Each bump is the newest version with at least 24 hours of publish age at bump time (2026-10-25T18:06Z): - ai ^7.0.152 -> ^7.0.153 (devDeps: agent, effect, provider; deps: private release-please-ai) - @ai-sdk/provider 4.0.33 -> 4.0.34 (deps: agent, effect, provider; exact pin, required by ai 7.0.153) - @ai-sdk/anthropic ^4.0.87 -> ^4.0.88 (deps: provider, private release-please-ai) - @ai-sdk/openai-compatible ^3.0.77 -> ^3.0.78 (deps: provider) - @ai-sdk/provider-utils ^5.0.67 -> ^5.0.68 (devDeps: effect, sandbox) - @ai-sdk/harness ^1.0.163 -> ^1.0.164 (devDeps: effect, sandbox) - @ai-sdk/harness-claude-code ^1.0.167 -> ^1.0.168 (devDeps: sandbox) - @ai-sdk/react 4.0.156 -> 4.0.157 (devDeps: agent, exact pin) - @ai-sdk/tui ^1.0.153 -> ^1.0.154 (devDeps: sandbox) - @ai-sdk/gateway 4.0.125 -> 4.0.126 (transitive, exact dep of ai) - @ai-sdk/mcp 2.0.83 -> 2.0.84 (transitive, exact dep of react) @ai-sdk/provider 4.0.34 adds no union member. Its only type change is an optional `structuredOutputText` field on the doGenerate result, which only OpenAI/Azure Responses models set. No code change is needed. Published runtime range changes: @coder/ai-sdk-provider (@ai-sdk/anthropic ^4.0.88, @ai-sdk/openai-compatible ^3.0.78, @ai-sdk/provider 4.0.34), @coder/ai-sdk-agent (@ai-sdk/provider 4.0.34), @coder/ai-sdk-effect (@ai-sdk/provider 4.0.34). Sandbox has no runtime range change. zod stays 4.6.7 and effect 4.0.6, one copy each in the lockfile. No peerDependencies change. _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_ Change-Id: Iec84c5cac2582f206e8cae3d125d1f7dd504d0a2 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c00879135
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@ai-sdk/provider 4.0.34 adds an optional `structuredOutputText` to the doGenerate result: the text to parse as the JSON answer when it differs from the joined text parts (OpenAI Responses drafts followed by a final answer). effect/ai's generateObject parses the joined text parts, so the bridge now passes that text instead of the text parts when the call asks for JSON. An empty string stays an explicit selection. Plain text calls keep every text part. A new unit test covers both. _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_ Change-Id: I544505875eb7eecaba9bf78773c6ca243c9586e9 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Daily dependency batch for the Vercel AI SDK family. Each bump is the newest version with at least 24 hours of publish age at bump time (2026-10-25T18:06Z, checked with
npm view <pkg> time --json).Versions
ai@ai-sdk/provider@ai-sdk/anthropic@ai-sdk/openai-compatible@ai-sdk/provider-utils@ai-sdk/harness@ai-sdk/harness-claude-code@ai-sdk/react@ai-sdk/tui@ai-sdk/gatewayai)@ai-sdk/mcp@ai-sdk/react)Unchanged: effect 4.0.6, zod 4.6.7, vitest 5.0.5, tsup, oxlint, oxfmt, the TypeScript alias pair, all peer ranges (
ai ^7.0.0, sandbox@ai-sdk/harness ^1.0.0and@ai-sdk/provider-utils ^5.0.0, effect~4.0.0), pnpm 11.28.8, Node 26.12.1, mise tools, and Actions.Deferred (<24 h old): none. No newer version of any listed package exists.
Every bumped package depends only on versions in this table (AI SDK packages pin each other exactly: provider 4.0.34, provider-utils 5.0.68, ai 7.0.153, harness 1.0.164, mcp 2.0.84, gateway 4.0.126). The lockfile holds one
@ai-sdk/provider(4.0.34), one zod (4.6.7) and one effect (4.0.6). The lockfile diff touches only the 11 AI SDK packages above.API drift (
@ai-sdk/provider4.0.33 → 4.0.34)I ran
npm packon both versions and diffeddist/. Onlydist/index.d.ts(and its map) changed, by one field:LanguageModelV4GenerateResult.structuredOutputText?: string(new, optional). It is text for structured-output parsing when it differs from the concatenated text parts. Upstream changelog: it fixes OpenAI/Azure Responses structured output with several assistant messages.There is no new union member: finish reasons, stream part types, content types and warning types are unchanged.
Code change (commit 35a9688, from the first code review): the effect bridge now honors the new field. effect/ai's
generateObjectparses the joined text parts as the JSON answer. When a call asks for JSON and thedoGenerateresult setsstructuredOutputText, the bridge passes that text as the only text part instead of the model's text parts. An empty string stays an explicit selection (effect/ai then reports "No text content"). Plain text calls keep every text part. Streaming has no such field. A new unit test inpackages/effect/test/language-model.test.tscovers both cases, and it fails without the fix. The agent model does not set the field.@ai-sdk/anthropic4.0.88 and@ai-sdk/openai-compatible3.0.78 never set it (0 matches in theirdist), so Coder AI Gateway models see no change.Published runtime range changes
@coder/ai-sdk-provider:@ai-sdk/anthropic^4.0.88,@ai-sdk/openai-compatible^3.0.78,@ai-sdk/provider4.0.34.@coder/ai-sdk-agent:@ai-sdk/provider4.0.34.@coder/ai-sdk-effect:@ai-sdk/provider4.0.34.@coder/ai-sdk-sandbox: none.peerDependencieschange.Release order: the held effect release PR #325 (
chore(effect): release 0.1.0) will pick up the@ai-sdk/provider4.0.34 pin. The provider and agent releases from this merge reach npm before #325 merges, because #325 is held for owner npm steps.Install mechanics
pnpm installwith a temporaryminimumReleaseAge: 1440and nominimumReleaseAgeExclude(no@coder/*pins exist), thenpnpm dedupe(no change). I restoredpnpm-workspace.yamlfrom a copy, so it is unchanged in this PR.pnpm install --frozen-lockfile --ignore-scriptswith a fresh scratch store and cache passed ("Lockfile passes supply-chain policies", 455 entries).rm -rf node_modules && CI=true pnpm install --frozen-lockfilewith the default store passed and left the lockfile unchanged.Validation
All gates below ran on the final head 35a9688 unless noted. Node v26.12.1 (checked inside
pnpm exec), pnpm 11.28.8.pnpm -r build: pass.pnpm check(oxfmt, oxlint, typecheck): pass.pnpm -r test(effect live e2e excluded and run on its own below): provider 22/22, release-please-ai 13/13, agent 378/378, sandbox 191/191, effect unit 99/99 (98 on the first commit).pnpm publint,pnpm attw: pass.https://dogfood.cdr.dev(coder whoamifirst):packages/agentpnpm exec vitest run test/e2e7/7,packages/effectpnpm exec vitest run test/e2e3/3, run again after the fix commit: 3/3. The runs left no unarchived chat.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high