Skip to content

chore: bump ai sdk family to ai 7.0.153 - #388

Merged
ThomasK33 merged 2 commits into
mainfrom
deps-batch-oct25
Oct 25, 2026
Merged

ThomasK33 merged 2 commits into
mainfrom
deps-batch-oct25

Conversation

@ThomasK33

@ThomasK33 ThomasK33 commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

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

Package From To Where Published (UTC)
ai ^7.0.152 ^7.0.153 devDeps agent, effect, provider; deps private release-please-ai 2026-10-24T17:57:40Z
@ai-sdk/provider 4.0.33 4.0.34 (exact) deps agent, effect, provider 2026-10-24T17:59:05Z
@ai-sdk/anthropic ^4.0.87 ^4.0.88 deps provider, private release-please-ai 2026-10-24T17:58:10Z
@ai-sdk/openai-compatible ^3.0.77 ^3.0.78 deps provider 2026-10-24T17:58:32Z
@ai-sdk/provider-utils ^5.0.67 ^5.0.68 devDeps effect, sandbox 2026-10-24T17:58:08Z
@ai-sdk/harness ^1.0.163 ^1.0.164 devDeps effect, sandbox 2026-10-24T17:58:23Z
@ai-sdk/harness-claude-code ^1.0.167 ^1.0.168 devDeps sandbox 2026-10-24T17:57:22Z
@ai-sdk/react 4.0.156 4.0.157 (exact) devDeps agent 2026-10-24T17:56:54Z
@ai-sdk/tui ^1.0.153 ^1.0.154 devDeps sandbox 2026-10-24T17:57:00Z
@ai-sdk/gateway 4.0.125 4.0.126 transitive (exact dep of ai) 2026-10-24T17:58:49Z
@ai-sdk/mcp 2.0.83 2.0.84 transitive (exact dep of @ai-sdk/react) 2026-10-24T17:57:27Z

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.0 and @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/provider 4.0.33 → 4.0.34)

I ran npm pack on both versions and diffed dist/. Only dist/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 generateObject parses the joined text parts as the JSON answer. When a call asks for JSON and the doGenerate result sets structuredOutputText, 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 in packages/effect/test/language-model.test.ts covers both cases, and it fails without the fix. The agent model does not set the field. @ai-sdk/anthropic 4.0.88 and @ai-sdk/openai-compatible 3.0.78 never set it (0 matches in their dist), 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/provider 4.0.34.
  • @coder/ai-sdk-agent: @ai-sdk/provider 4.0.34.
  • @coder/ai-sdk-effect: @ai-sdk/provider 4.0.34.
  • @coder/ai-sdk-sandbox: none.
  • No peerDependencies change.

Release order: the held effect release PR #325 (chore(effect): release 0.1.0) will pick up the @ai-sdk/provider 4.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

  1. I backed up the lockfile, then ran pnpm install with a temporary minimumReleaseAge: 1440 and no minimumReleaseAgeExclude (no @coder/* pins exist), then pnpm dedupe (no change). I restored pnpm-workspace.yaml from a copy, so it is unchanged in this PR.
  2. Every added lockfile version was published 2026-10-24T17:56–17:59Z, more than 24 h before the bump.
  3. Empty-cache proof: pnpm install --frozen-lockfile --ignore-scripts with a fresh scratch store and cache passed ("Lockfile passes supply-chain policies", 455 entries).
  4. rm -rf node_modules && CI=true pnpm install --frozen-lockfile with 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.
  • Live (agent on 5c00879, whose agent code equals the final head), against https://dogfood.cdr.dev (coder whoami first): packages/agent pnpm exec vitest run test/e2e 7/7, packages/effect pnpm exec vitest run test/e2e 3/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

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>
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T18:20:30.113424Z 35a9688 Manual request
🔒 Security Review ✅ Completed 2026-10-25T18:22:05.740093Z 35a9688 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 5c00879135

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread packages/effect/package.json
@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>
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 35a9688682

ℹ️ 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".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 35a9688682

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@ThomasK33
ThomasK33 added this pull request to the merge queue Oct 25, 2026
Merged via the queue into main with commit df5dc0e Oct 25, 2026
7 checks passed
@ThomasK33
ThomasK33 deleted the deps-batch-oct25 branch October 25, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant