Bumps the minor group with 17 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@agentclientprotocol/sdk](https://github.com/agentclientprotocol/typescript-sdk) | `1.3.0` | `1.4.0` | | [@anthropic-ai/claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-typescript) | `0.3.238` | `0.3.251` | | [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.5.2` | | [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.120.0` | `0.122.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.2.0` | `26.4.0` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.67.0` | `8.68.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.67.0` | `8.68.0` | | [eslint](https://github.com/eslint/eslint) | `10.8.1` | `10.9.1` | | [@jridgewell/sourcemap-codec](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/sourcemap-codec) | `1.5.5` | `1.6.0` | | [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `8.6.2` | `8.7.0` | | [hono](https://github.com/honojs/hono) | `4.13.2` | `4.13.5` | | [ip-address](https://github.com/beaugunderson/ip-address) | `10.5.0` | `10.7.0` | | [jose](https://github.com/panva/jose) | `6.2.9` | `6.2.10` | | [negotiator](https://github.com/jshttp/negotiator) | `1.0.0` | `1.1.0` | | [picomatch](https://github.com/micromatch/picomatch) | `4.0.5` | `4.0.7` | | [rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown) | `1.2.5` | `1.2.6` | | [standardwebhooks](https://github.com/standard-webhooks/standard-webhooks) | `1.0.0` | `1.1.1` | Updates `@agentclientprotocol/sdk` from 1.3.0 to 1.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/agentclientprotocol/typescript-sdk/releases">@agentclientprotocol/sdk's releases</a>.</em></p> <blockquote> <h2>v1.4.0</h2> <h2><a href="https://github.com/agentclientprotocol/typescript-sdk/compare/v1.3.0...v1.4.0">1.4.0</a> (2026-08-20)</h2> <h3>Features</h3> <ul> <li>Stabilize elicitation APIs (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/242">#242</a>) (<a href="dc3b0e420f">dc3b0e4</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>jsonrpc:</strong> report malformed input (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/230">#230</a>) (<a href="0819dbebfb">0819dbe</a>)</li> <li><strong>server:</strong> preserve routed outbound messages (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/231">#231</a>) (<a href="5f58a95a10">5f58a95</a>)</li> <li><strong>v2:</strong> enforce initialization lifecycle (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/235">#235</a>) (<a href="b7d6e81fea">b7d6e81</a>)</li> <li><strong>v2:</strong> enforce method contracts (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/229">#229</a>) (<a href="01010146a7">0101014</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/agentclientprotocol/typescript-sdk/blob/main/CHANGELOG.md">@agentclientprotocol/sdk's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/agentclientprotocol/typescript-sdk/compare/v1.3.0...v1.4.0">1.4.0</a> (2026-08-20)</h2> <h3>Features</h3> <ul> <li>Stabilize elicitation APIs (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/242">#242</a>) (<a href="dc3b0e420f">dc3b0e4</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>jsonrpc:</strong> report malformed input (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/230">#230</a>) (<a href="0819dbebfb">0819dbe</a>)</li> <li><strong>server:</strong> preserve routed outbound messages (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/231">#231</a>) (<a href="5f58a95a10">5f58a95</a>)</li> <li><strong>v2:</strong> enforce initialization lifecycle (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/235">#235</a>) (<a href="b7d6e81fea">b7d6e81</a>)</li> <li><strong>v2:</strong> enforce method contracts (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/229">#229</a>) (<a href="01010146a7">0101014</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e6463f4440"><code>e6463f4</code></a> chore(main): release 1.4.0 (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/237">#237</a>)</li> <li><a href="dc3b0e420f"><code>dc3b0e4</code></a> feat: Stabilize elicitation APIs (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/242">#242</a>)</li> <li><a href="b7d6e81fea"><code>b7d6e81</code></a> fix(v2): enforce initialization lifecycle (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/235">#235</a>)</li> <li><a href="7585334c5b"><code>7585334</code></a> chore(deps): bump the minor group with 19 updates (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/241">#241</a>)</li> <li><a href="01010146a7"><code>0101014</code></a> fix(v2): enforce method contracts (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/229">#229</a>)</li> <li><a href="e1054d0122"><code>e1054d0</code></a> chore(deps): bump crate-ci/typos from 1.48.0 to 1.49.0 (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/238">#238</a>)</li> <li><a href="611e1fea6a"><code>611e1fe</code></a> chore(deps): bump the minor group with 17 updates (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/239">#239</a>)</li> <li><a href="5ae784b010"><code>5ae784b</code></a> chore(deps-dev): bump nanoid from 3.3.16 to 3.3.18 (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/240">#240</a>)</li> <li><a href="f838f942e0"><code>f838f94</code></a> chore: verify generated protocol sources (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/232">#232</a>)</li> <li><a href="5f58a95a10"><code>5f58a95</code></a> fix(server): preserve routed outbound messages (<a href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/231">#231</a>)</li> <li>Additional commits viewable in <a href="https://github.com/agentclientprotocol/typescript-sdk/compare/v1.3.0...v1.4.0">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/claude-agent-sdk` from 0.3.238 to 0.3.251 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/releases">@anthropic-ai/claude-agent-sdk's releases</a>.</em></p> <blockquote> <h2>v0.3.251</h2> <h2>What's changed</h2> <ul> <li>Updated to parity with Claude Code v2.1.251</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.251 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.251 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.251 # or bun add @anthropic-ai/claude-agent-sdk@0.3.251 </code></pre> <h2>v0.3.250</h2> <h2>What's changed</h2> <ul> <li>Updated to parity with Claude Code v2.1.250</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.250 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.250 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.250 # or bun add @anthropic-ai/claude-agent-sdk@0.3.250 </code></pre> <h2>v0.3.248</h2> <h2>What's changed</h2> <ul> <li>Added a per-server <code>timeout</code> for SDK-hosted MCP servers (<code>createSdkMcpServer({ timeout })</code>), overriding <code>MCP_TOOL_TIMEOUT</code> for that server's tool calls</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.248 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.248 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.248 # or bun add @anthropic-ai/claude-agent-sdk@0.3.248 </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/claude-agent-sdk's changelog</a>.</em></p> <blockquote> <h2>0.3.251</h2> <ul> <li>Updated to parity with Claude Code v2.1.251</li> </ul> <h2>0.3.250</h2> <ul> <li>Updated to parity with Claude Code v2.1.250</li> </ul> <h2>0.3.249</h2> <ul> <li>Updated to parity with Claude Code v2.1.249</li> </ul> <h2>0.3.248</h2> <ul> <li>Added a per-server <code>timeout</code> for SDK-hosted MCP servers (<code>createSdkMcpServer({ timeout })</code>), overriding <code>MCP_TOOL_TIMEOUT</code> for that server's tool calls</li> </ul> <h2>0.3.247</h2> <ul> <li>Added an optional <code>ambient</code> flag to <code>task_started</code>, <code>task_notification</code> and <code>background_tasks_changed</code> task entries so hosts can exclude housekeeping tasks from activity indicators</li> <li>Fixed the <code>permissionMode</code> on per-turn <code>system/init</code> frames reporting the mode at turn start instead of the live mode, so a mode switch right after submitting no longer sends a stale value</li> </ul> <h2>0.3.246</h2> <ul> <li>Added optional <code>user_message_uuid</code> to error result messages and to the first assistant message or <code>stream_event</code> of each turn, linking a reply or failure to the user message that triggered it</li> <li>Added <code>modelUsage[*].costBasis</code> (<code>'list' | 'managed' | 'unknown'</code>) reporting which price table each model's <code>costUSD</code> was computed from</li> <li>Added <code>modelPricing</code> support in the <code>managedSettings</code> option for hosts that set <code>CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST</code>; an admin-managed settings source that sets <code>modelPricing</code> still wins</li> <li>Added <code>perTaskStopAffordance</code> option: when set, <code>interrupt()</code> aborts only the current turn and keeps background agents and workflows running; otherwise (and for one-shot string prompts) they stop</li> </ul> <h2>0.3.245</h2> <ul> <li>Updated to parity with Claude Code v2.1.245</li> </ul> <h2>0.3.244</h2> <ul> <li>Updated to parity with Claude Code v2.1.244</li> </ul> <h2>0.3.243</h2> <ul> <li>Added optional <code>queued_turn_count</code> to result messages: the number of queued user sends still pending when the result was produced, so hosts know whether another turn and result will follow</li> <li>Fixed <code>mcp_status</code> reporting a remote MCP server as connected after its connection dropped; it now reports pending while reconnecting, then connected or failed</li> <li>Fixed managed <code>disableAllHooks</code> also disabling hook callbacks registered through the <code>hooks</code> option; they now keep running, matching <code>allowManagedHooksOnly</code></li> <li>Changed Read tool PDF results: the <code>document</code> block (or page <code>image</code> blocks for <code>pages</code> reads) now arrives inside the <code>tool_result</code> content instead of as a separate <code>user</code> message after it</li> <li>Updated to parity with Claude Code v2.1.243</li> </ul> <h2>0.3.242</h2> <ul> <li>Updated to parity with Claude Code v2.1.242</li> </ul> <h2>0.3.241</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="75667f1f76"><code>75667f1</code></a> chore: Update CHANGELOG.md</li> <li><a href="0ec415863a"><code>0ec4158</code></a> chore: Update CHANGELOG.md</li> <li><a href="0518a194af"><code>0518a19</code></a> chore: Update CHANGELOG.md</li> <li><a href="40b4c54986"><code>40b4c54</code></a> chore: Update CHANGELOG.md</li> <li><a href="86e1856fc3"><code>86e1856</code></a> chore: Update CHANGELOG.md</li> <li><a href="9d56dae014"><code>9d56dae</code></a> chore: Update CHANGELOG.md</li> <li><a href="dca08feed8"><code>dca08fe</code></a> chore: Update CHANGELOG.md</li> <li><a href="0ebd333363"><code>0ebd333</code></a> chore: Update CHANGELOG.md</li> <li><a href="48275071e8"><code>4827507</code></a> chore: Update CHANGELOG.md</li> <li><a href="bfa6b84596"><code>bfa6b84</code></a> chore: Update CHANGELOG.md</li> <li>Additional commits viewable in <a href="https://github.com/anthropics/claude-agent-sdk-typescript/compare/v0.3.238...v0.3.251">compare view</a></li> </ul> </details> <br /> Updates `zod` from 4.4.3 to 4.5.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/colinhacks/zod/releases">zod's releases</a>.</em></p> <blockquote> <h2>v4.5.2</h2> <h2>Commits:</h2> <ul> <li>a354314ac04fdd5484aa62dd5c3a4b553211a0e4 fix(docs): keep blog posts out of the docs collection (<a href="https://redirect.github.com/colinhacks/zod/issues/6484">#6484</a>)</li> <li>d378c42aff6869f0929058a7923cd775880f5c4c ci: drop canary publishing from the release workflow (<a href="https://redirect.github.com/colinhacks/zod/issues/6487">#6487</a>)</li> <li>212b941791e7faae078e17645eb612824fd8f79a fix(v4): let a prototype method getter answer a bare call so vi.spyOn works (<a href="https://redirect.github.com/colinhacks/zod/issues/6488">#6488</a>)</li> <li>e7576f542a7bc7ef3cc5eeec237714fd0e6b6e98 docs(blog): let the page show through the navbar in dark mode (<a href="https://redirect.github.com/colinhacks/zod/issues/6489">#6489</a>)</li> <li>fedb06fafe33a66ce0b5c236ad2557e0a5a170fe fix(docs): match the blog TOC hover bar to the 2px active indicator</li> <li>6c932fcb2eea6eb671710ea058ca9fdc382ada89 chore: bump devcontainer image to Node 24 (<a href="https://redirect.github.com/colinhacks/zod/issues/6470">#6470</a>)</li> <li>6635d9dd367a664109de83c021995821f48efa29 docs(blog): soften the "method memoization" attribution</li> <li>019ae299cc75daa132bf1acf59086a520abf6b85 fix(docs): drop ISR on the docs route so the home page hydrates</li> <li>652bb438aa4c626c1cd7948c6849c4691239fca7 chore(docs): drop the scroll log from the route-change scroller</li> <li>571c8e8a3d73b4305f4abfdd6977773cc12f2bf5 fix(docs): render blog tabs with the stock fumadocs tab card</li> <li>9a193aa24b4efa3b315b91d4c56c8bc385b8513f 4.5.2</li> </ul> <h2>v4.5.1</h2> <h2>Commits:</h2> <ul> <li>2e862dbf89da2835e5206a8fd3d3be61afe3cf7f ci: gate the GitHub release and JSR publish on the version being live on npm</li> <li>8e03380510db36fa6fda979fc78a375fdea8021c 4.5.1</li> </ul> <h2>v4.5.0</h2> <p>Zod 4.5 is now available.</p> <pre lang="sh"><code>npm install zod@latest </code></pre> <p>At a glance:</p> <ul> <li><a href="https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADmhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADmhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADmhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADmhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD</a> — the flagship feature of Zod 4.5</li> <li><a href="https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADChttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADChttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD</a> — 12–19 digits plus Luhn checksum</li> <li><a href="https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADshttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADshttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADshttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADshttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD</a> — the multi-property counterpart to <code>z.property()</code></li> <li><a href="https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADPhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD/https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADxhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADPhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADxhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADPhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD/https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADxhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADPhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADxhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADchttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADphttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADrhttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD</a></li> <li><a href="https://github.com/colinhacks/zod/blob/HEAD%5Bhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADvhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD:https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEAD[https://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEAD.https://github.com/colinhacks/zod/blob/HEADvhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD:https://github.com/colinhacks/zod/blob/HEAD</a> <a href="https://github.com/colinhacks/zod/blob/HEADbhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADnhttps://github.com/colinhacks/zod/blob/HEAD%60https://github.com/colinhacks/zod/blob/HEAD%5Dhttps://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADvhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD">https://github.com/colinhacks/zod/blob/HEADbhttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADohttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADnhttps://github.com/colinhacks/zod/blob/HEAD`https://github.com/colinhacks/zod/blob/HEAD]https://github.com/colinhacks/zod/blob/HEAD(https://github.com/colinhacks/zod/blob/HEAD#https://github.com/colinhacks/zod/blob/HEADzhttps://github.com/colinhacks/zod/blob/HEADvhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADlhttps://github.com/colinhacks/zod/blob/HEADihttps://github.com/colinhacks/zod/blob/HEADdhttps://github.com/colinhacks/zod/blob/HEADahttps://github.com/colinhacks/zod/blob/HEADthttps://github.com/colinhacks/zod/blob/HEADehttps://github.com/colinhacks/zod/blob/HEAD)https://github.com/colinhacks/zod/blob/HEAD</a> — a fast-path to verify input validity without a full parse (up to 16x faster on invalid data)</li> <li><a href="https://github.com/colinhacks/zod/blob/HEAD/#9x-reduction-in-schema-memory-footprint">9x reduction in memory footprint</a></li> <li><a href="https://zod.dev/error-customization#locales">New locales</a>: Bengali (<code>bn</code>), Central Kurdish (<code>ckb</code>), Hindi (<code>hi</code>), Kannada (<code>kn</code>), Norwegian Nynorsk (<code>nn</code>), Brazilian Portuguese (<code>pt-BR</code>), Slovak (<code>sk</code>), Turkmen (<code>tk</code>)</li> </ul> <h2><code>z.compile()</code></h2> <p>You can now pre-compile any Zod schema using <code>z.compile(schema)</code>. This dramatically speeds up parsing performance.</p> <pre lang="ts"><code>import * as z from "zod"; <p>const Player = z.object({ username: z.string(), bio: z.string(), xp: z.number(), // ...20 more properties... </tr></table> </code></pre></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="9a193aa24b"><code>9a193aa</code></a> 4.5.2</li> <li><a href="571c8e8a3d"><code>571c8e8</code></a> fix(docs): render blog tabs with the stock fumadocs tab card</li> <li><a href="652bb438aa"><code>652bb43</code></a> chore(docs): drop the scroll log from the route-change scroller</li> <li><a href="019ae299cc"><code>019ae29</code></a> fix(docs): drop ISR on the docs route so the home page hydrates</li> <li><a href="6635d9dd36"><code>6635d9d</code></a> docs(blog): soften the "method memoization" attribution</li> <li><a href="6c932fcb2e"><code>6c932fc</code></a> chore: bump devcontainer image to Node 24 (<a href="https://redirect.github.com/colinhacks/zod/issues/6470">#6470</a>)</li> <li><a href="fedb06fafe"><code>fedb06f</code></a> fix(docs): match the blog TOC hover bar to the 2px active indicator</li> <li><a href="e7576f542a"><code>e7576f5</code></a> docs(blog): let the page show through the navbar in dark mode (<a href="https://redirect.github.com/colinhacks/zod/issues/6489">#6489</a>)</li> <li><a href="212b941791"><code>212b941</code></a> fix(v4): let a prototype method getter answer a bare call so vi.spyOn works (...</li> <li><a href="d378c42aff"><code>d378c42</code></a> ci: drop canary publishing from the release workflow (<a href="https://redirect.github.com/colinhacks/zod/issues/6487">#6487</a>)</li> <li>Additional commits viewable in <a href="https://github.com/colinhacks/zod/compare/v4.4.3...v4.5.2">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/sdk` from 0.120.0 to 0.122.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/releases">@anthropic-ai/sdk's releases</a>.</em></p> <blockquote> <h2>sdk: v0.122.0</h2> <h2>0.122.0 (2026-08-27)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.121.0...sdk-v0.122.0">sdk-v0.121.0...sdk-v0.122.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> beta files/skills namespaces use GA shapes; drop dated beta header pins (<a href="45d693a66b">45d693a</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> classify cross-realm DOMException abort/timeout errors correctly (<a href="1bd639515e">1bd6395</a>)</li> <li><strong>client:</strong> use configured logger for SSE parse errors (<a href="80eeaf7b01">80eeaf7</a>)</li> <li><strong>sessions:</strong> make event accumulator forward-compatible with new event types (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/410">#410</a>) (<a href="2d084fdaeb">2d084fd</a>)</li> <li><strong>tools:</strong> let read return a view_range of a file over the size cap (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/427">#427</a>) (<a href="56b32601f6">56b3260</a>)</li> <li><strong>uploads:</strong> default bare Blob filename on skills endpoints (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/422">#422</a>) (<a href="e1116491dd">e111649</a>)</li> <li><strong>webhooks:</strong> require headers to be passed to <code>unwrap()</code> (<a href="3230804e63">3230804</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> codegen related update (<a href="c2f327a30d">c2f327a</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>api:</strong> clarify pagination on the organization rate-limit list endpoints (<a href="d6015b90b3">d6015b9</a>)</li> <li>document TypeScript 5.0 as the minimum supported version (<a href="788e721793">788e721</a>)</li> </ul> <h2>sdk: v0.121.0</h2> <h2>0.121.0 (2026-08-26)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.120.0...sdk-v0.121.0">sdk-v0.120.0...sdk-v0.121.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> add <code>updates</code> thinking display mode (beta) (<a href="22274eaf96">22274ea</a>)</li> <li><strong>api:</strong> add missing anthropic-beta values (<a href="0779f02666">0779f02</a>)</li> <li><strong>api:</strong> add support for Organization API endpoints (<a href="8b61e7a4d4">8b61e7a</a>)</li> <li><strong>helpers:</strong> support Standard Schema for structured outputs and tools (<a href="788007889c">7880078</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>tools:</strong> keep the tool runner going on pause_turn (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/288">#288</a>) (<a href="f040dc9d39">f040dc9</a>)</li> <li><strong>types:</strong> don't reference NodeJS.ProcessEnv from published types (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/367">#367</a>) (<a href="fd38dfdc48">fd38dfd</a>)</li> </ul> <h3>Chores</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/sdk's changelog</a>.</em></p> <blockquote> <h2>0.122.0 (2026-08-27)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.121.0...sdk-v0.122.0">sdk-v0.121.0...sdk-v0.122.0</a></p> <h3>Features</h3> <ul> <li> <p><strong>api:</strong> beta files/skills namespaces use GA shapes; drop dated beta header pins (<a href="45d693a66b">45d693a</a>)</p> <p>The beta Files and Skills namespaces (<code>client.beta.files</code>, <code>client.beta.skills</code>) no longer send the <code>files-api-2025-04-14</code> / <code>skills-2025-10-02</code> headers and return the same shapes as <code>client.files</code> / <code>client.skills</code> (with <code>Beta</code>-prefixed type names). Requests that still send those headers on raw HTTP keep receiving the beta shapes.</p> <p>Changes in the beta namespaces:</p> <ul> <li><code>client.beta.skills.delete()</code> now deletes a Skill together with all of its versions (previously refused while any version existed). It returns <code>BetaDeletedSkill</code> (was <code>SkillDeleteResponse</code>).</li> <li>Beta Messages type <code>BetaSkill</code> (the <code>{type, skill_id, version}</code> entry in <code>BetaContainer.skills</code>) is renamed <code>BetaContainerSkill</code>; the request-side <code>BetaSkillParams</code> keeps its name. <code>BetaSkill</code> now names the Skill object returned by <code>client.beta.skills.create()</code> / <code>retrieve()</code> / <code>list()</code> (replacing <code>SkillCreateResponse</code> / <code>SkillRetrieveResponse</code> / <code>SkillListResponse</code>), and skill versions are <code>BetaSkillVersion</code> / <code>BetaDeletedSkillVersion</code> (replacing <code>Version*Response</code>).</li> <li><code>client.beta.files.list()</code> returns a <code>BetaFileMetadataPageCursor</code> (<code>PageCursor<BetaFileMetadata></code> with <code>data</code> / <code>next_page</code>) and <code>FileListParams</code> paginates with <code>page</code> / <code>ids</code> (was <code>BetaFileMetadataPage</code>, a <code>Page<BetaFileMetadata></code> with <code>data</code>, <code>has_more</code>, <code>first_id</code>, <code>last_id</code> and <code>before_id</code> / <code>after_id</code>); <code>for await</code> auto-pagination is unchanged. <code>BetaSkill</code> uses <code>display_name</code> (was <code>display_title</code>, also in <code>SkillCreateParams</code>) and <code>latest_version_id</code> (was <code>latest_version</code>), and <code>BetaSkillVersion</code> is addressed by its <code>skver_…</code> <code>id</code> (the Unix-timestamp <code>version</code> field is gone).</li> </ul> <p>Migration guides: <a href="https://platform.claude.com/docs/en/build-with-claude/files#migrate-from-files-api-2025-04-14">Migrate from <code>files-api-2025-04-14</code></a> · <a href="https://platform.claude.com/docs/en/build-with-claude/skills-guide#migrate-from-skills-2025-10-02">Migrate from <code>skills-2025-10-02</code></a></p> </li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> classify cross-realm DOMException abort/timeout errors correctly (<a href="1bd639515e">1bd6395</a>)</li> <li><strong>client:</strong> use configured logger for SSE parse errors (<a href="80eeaf7b01">80eeaf7</a>)</li> <li><strong>sessions:</strong> make event accumulator forward-compatible with new event types (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/410">#410</a>) (<a href="2d084fdaeb">2d084fd</a>)</li> <li><strong>tools:</strong> let read return a view_range of a file over the size cap (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/427">#427</a>) (<a href="56b32601f6">56b3260</a>)</li> <li><strong>uploads:</strong> default bare Blob filename on skills endpoints (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/422">#422</a>) (<a href="e1116491dd">e111649</a>)</li> <li><strong>webhooks:</strong> require headers to be passed to <code>unwrap()</code> (<a href="3230804e63">3230804</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>internal:</strong> codegen related update (<a href="c2f327a30d">c2f327a</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>api:</strong> clarify pagination on the organization rate-limit list endpoints (<a href="d6015b90b3">d6015b9</a>)</li> <li>document TypeScript 5.0 as the minimum supported version (<a href="788e721793">788e721</a>)</li> </ul> <h2>0.121.0 (2026-08-26)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.120.0...sdk-v0.121.0">sdk-v0.120.0...sdk-v0.121.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> add <code>updates</code> thinking display mode (beta) (<a href="22274eaf96">22274ea</a>)</li> <li><strong>api:</strong> add missing anthropic-beta values (<a href="0779f02666">0779f02</a>)</li> <li><strong>api:</strong> add support for Organization API endpoints (<a href="8b61e7a4d4">8b61e7a</a>)</li> <li><strong>helpers:</strong> support Standard Schema for structured outputs and tools (<a href="788007889c">7880078</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="7f3898c525"><code>7f3898c</code></a> chore: release main</li> <li><a href="956ccb55b6"><code>956ccb5</code></a> docs(api): clarify pagination on the organization rate-limit list endpoints</li> <li><a href="2131d80a5e"><code>2131d80</code></a> fix(tools): let read return a view_range of a file over the size cap (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/427">#427</a>)</li> <li><a href="f830c8f561"><code>f830c8f</code></a> fix(aws,bedrock): prefer env credentials over AWS_PROFILE (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/436">#436</a>)</li> <li><a href="4d50ddfb4f"><code>4d50ddf</code></a> test(ecosystem): expect cross-realm timeout errors to classify correctly</li> <li><a href="acdd669d75"><code>acdd669</code></a> fix(client): classify cross-realm DOMException abort/timeout errors correctly</li> <li><a href="0a14622ea9"><code>0a14622</code></a> test(tools): pin that read, edit and the memory tool preserve CRLF and CR lin...</li> <li><a href="17035dea97"><code>17035de</code></a> docs: document TypeScript 5.0 as the minimum supported version</li> <li><a href="2f95d8a6f7"><code>2f95d8a</code></a> fix(client): use configured logger for SSE parse errors</li> <li><a href="33f5103009"><code>33f5103</code></a> feat(api): beta files/skills namespaces use GA shapes; drop dated beta header...</li> <li>Additional commits viewable in <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.120.0...sdk-v0.122.0">compare view</a></li> </ul> </details> <br /> Updates `@types/node` from 26.2.0 to 26.4.0 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.67.0 to 8.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/eslint-plugin's releases</a>.</em></p> <blockquote> <h2>v8.68.0</h2> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> <li><strong>utils:</strong> support ESLint rule meta.languages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12663">#12663</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>website:</strong> playground crashes on <code>extends</code> configs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12608">#12608</a>)</li> <li><strong>website:</strong> account for thanks.dev and out-of-band donors in sponsors list (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12735">#12735</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Josh Goldberg ✨</li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Thiago Barbosa</li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md">@typescript-eslint/eslint-plugin's changelog</a>.</em></p> <blockquote> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="8f4e00a4e8"><code>8f4e00a</code></a> chore(release): publish 8.68.0</li> <li><a href="db30514e0f"><code>db30514</code></a> feat(eslint-plugin): [strict-void-return] add fix suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12086">#12086</a>)</li> <li><a href="9690339c4e"><code>9690339</code></a> test(eslint-plugin): [prefer-optional-chain] use <code>createRuleTesterWithTypes</code> ...</li> <li><a href="abe9011a43"><code>abe9011</code></a> fix(eslint-plugin): [no-empty-object-type] ignore suggestions that result in ...</li> <li><a href="79c16e7840"><code>79c16e7</code></a> chore(eslint-plugin): extract FunctionSignature and enum comparison utils (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1">#1</a>...</li> <li><a href="2442e3048b"><code>2442e30</code></a> test(eslint-plugin): [no-floating-promises] format test snippets (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12723">#12723</a>)</li> <li><a href="3596323c63"><code>3596323</code></a> fix(eslint-plugin): [no-floating-promises] setting <code>ignoreVoid: false</code> result...</li> <li><a href="956a3397d9"><code>956a339</code></a> fix(eslint-plugin): [no-unnecessary-type-assertion] prevent stack overflow in...</li> <li><a href="55f6d5d4ca"><code>55f6d5d</code></a> chore: enable source maps (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12677">#12677</a>)</li> <li><a href="3aefb6a27d"><code>3aefb6a</code></a> test: improve vitest performance with <code>isolate: false</code> (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12703">#12703</a>)</li> <li>Additional commits viewable in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.68.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.67.0 to 8.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/parser's releases</a>.</em></p> <blockquote> <h2>v8.68.0</h2> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> <li><strong>utils:</strong> support ESLint rule meta.languages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12663">#12663</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>website:</strong> playground crashes on <code>extends</code> configs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12608">#12608</a>)</li> <li><strong>website:</strong> account for thanks.dev and out-of-band donors in sponsors list (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12735">#12735</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Josh Goldberg ✨</li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Thiago Barbosa</li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md">@typescript-eslint/parser's changelog</a>.</em></p> <blockquote> <h2>8.68.0 (2026-08-24)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website... _Description has been truncated_ --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
ACP adapter for the Claude Agent SDK
Use Claude Agent SDK from ACP-compatible clients!
This tool implements an ACP agent by using the official Claude Agent SDK, supporting:
- Context @-mentions
- Images
- Tool calls (with permission requests)
- Following
- Edit review
- TODO lists
- Nested subagent transcripts
- Interactive (and background) terminals
- Custom Slash commands
- Client MCP servers
- Session-scoped long-running goals through the provider-neutral goal extension
- Structured errors, recovery, and warnings through the opt-in session failure extension
- Tool permission presentation, editable choices, and durable effects through the permission extension
Learn more about the Agent Client Protocol.
Subagent sessions
Subagents are exposed only after bilateral capability negotiation. Until the released ACP SDKs
preserve the draft clientCapabilities.subagents field, a supporting client may advertise
nativeSubagentSessions in _meta.jetbrains.air.capabilities; the adapter mirrors the capability
in its initialize response. The canonical field remains supported and takes precedence once it is
available. Without either client signal, Agent/Task lifecycle keeps its legacy ordinary ACP
tool-call representation and child interactions stay on the root session. Clients that use the
historical _meta["subagent-transcript"] capability or forwardSubagentText session option retain
the flattened child transcript behavior.
Contribution Policy
This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:
By contributing to this project, you agree that your contributions will be licensed under the Apache License, Version 2.0. You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).