Uh oh!
There was an error while loading. Please reload this page.
chore: update ai-sdk family and node pin - #129
Conversation
Change-Id: Ide0d43ed83d90583b7d411c53d357afb2b3c8333 Signed-off-by: Thomas Kosiewski <tk@coder.com>
…stream refill run-ahead Change-Id: I0ae7410e55bed8ef35ea94b7a29b29a9b09e9b2b Signed-off-by: Thomas Kosiewski <tk@coder.com>
ThomasK33
commented
Aug 27, 2026
@codex review |
ThomasK33
commented
Aug 27, 2026
@codex security review |
Codex Review: Didn't find any major issues. Swish! 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". |
Security 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. |
Routine anti-rot batch update: AI SDK family (minor/patch only) plus the Node toolchain pin.
Dependency bumps
ai^7.0.79^7.0.83@ai-sdk/anthropic^4.0.42^4.0.44@ai-sdk/openai-compatible^3.0.37^3.0.39@ai-sdk/provider-utils^5.0.30^5.0.32@ai-sdk/react4.0.824.0.86@ai-sdk/harness^1.0.87^1.0.91@ai-sdk/harness-claude-code^1.0.90^1.0.94@ai-sdk/tui^1.0.80^1.0.8426.7.026.8.1Published peerDependency ranges are untouched (
ai ^7.0.0in agent/provider;@ai-sdk/harness ^1.0.0and@ai-sdk/provider-utils ^5.0.0in sandbox). typescript intentionally not touched (7.x deferred per #99).Incidental:
pnpm installauto-appended transitive@ai-sdk/mcp@2.0.39tominimumReleaseAgeExcludein pnpm-workspace.yaml (same pattern as existing entries).Upstream changelog review
Patch-only across the range; no dev-API/breaking changes affecting our usage (sandbox imports only
HarnessV1SandboxProvider/HarnessV1NetworkSandboxSession/HarnessV1PortEndpointtypes plusHarnessAgent/createClaudeCodein examples — all unchanged). No code adaptations needed. Notable upstream items:@ai-sdk/harness1.0.90: hardened credential brokering (applies only with correct ephemeral secret) — internal to the harness bridge.ai7.0.80–7.0.83: persisted tool-call schema validation, tool-approval denial continuation, mid-stream provider error normalization, stitchable-stream cancellation fix.Adaptation: node 26.8 test scheduling fix
The Node 26.8.1 CI cell deterministically failed one agent unit test (
does not retain the stream when an abort lands while the pause's tool calls are being yielded) that passed on 22/24. Root cause (minimal repro in plain node, bisected across 22 / 26.7.0 / 26.8.1): Node 26.8's whatwg-stream pull path lost a microtask hop (nodejs/node#65138, "cut promise churn in webstreams hot paths"), so theReadableStreamHWM=1 refill pull now resumes the turn generator past its abort checkpoints before a consumer continuation two hops away runs — the test'sabort()then landed after the segment had already settled as a healthy retained pause (a documented, designed state: "aborted between segments"), not mid-yield as the test intends. Test-only fix: fire the abort synchronously in the read continuation that observes the tool-call part; the read fulfillment is queued before the refill pull, so the abort deterministically lands while the generator is suspended at the tool-call yield on all supported node versions. No product code changed.Validation
pnpm install,pnpm check(oxfmt + oxlint + typecheck ×4),pnpm -r build,pnpm -r test(agent 316, sandbox 191, all pass),pnpm publint,pnpm attw,actionlint: all green on node 26.8.1.GET /api/experimental/chats/model-configs → 404 (Route not found). This is pre-existing platform drift, not caused by this PR: the identical suite on an origin/main worktree (442faed) with the same token fails identically (6 failed / 1 passed, same 404). The file upload/download round-trip test (no model resolution) passes on both.Generated with
mux• Model:anthropic:claude-fable-5• Thinking:xhigh