mirror of
https://github.com/agentclientprotocol/claude-agent-acp.git
synced 2026-10-27 04:30:59 +00:00
feat(deps): Update to @anthropic-ai/claude-agent-sdk 0.3.217 (#899)
Bumps the minor group with 22 updates: | Package | From | To | | --- | --- | --- | | [@anthropic-ai/claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-typescript) | `0.3.215` | `0.3.216` | | [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.112.3` | `0.112.4` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.64.0` | `8.65.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.64.0` | `8.65.0` | | [prettier](https://github.com/prettier/prettier) | `3.9.5` | `3.9.6` | | @anthropic-ai/claude-agent-sdk-darwin-arm64 | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-darwin-x64 | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-linux-arm64 | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-linux-arm64-musl | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-linux-x64 | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-linux-x64-musl | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-win32-arm64 | `0.3.215` | `0.3.216` | | @anthropic-ai/claude-agent-sdk-win32-x64 | `0.3.215` | `0.3.216` | | [@typescript-eslint/project-service](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service) | `8.64.0` | `8.65.0` | | [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `8.64.0` | `8.65.0` | | [@typescript-eslint/tsconfig-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils) | `8.64.0` | `8.65.0` | | [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `8.64.0` | `8.65.0` | | [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `8.64.0` | `8.65.0` | | [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.64.0` | `8.65.0` | | [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.64.0` | `8.65.0` | | [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `8.64.0` | `8.65.0` | | [postcss](https://github.com/postcss/postcss) | `8.5.20` | `8.5.21` | Updates `@anthropic-ai/claude-agent-sdk` from 0.3.215 to 0.3.216 <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.216</h2> <ul> <li>Added optional <code>skippedLinks</code> count to <code>rewindFiles</code> responses for paths the rewind safety guards refused to restore or delete</li> <li>Added <code>tool_result_meta</code> sidecar to user messages (<code>non_execution_kind</code>, <code>user_feedback</code>) so consumers can classify denied, interrupted, or cancelled tool calls without string-matching result prose</li> <li>Added optional <code>user_message_uuid</code> and <code>request_sent_wall_ms</code> fields to the success result message for cross-host request-latency correlation</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e77c325bdb"><code>e77c325</code></a> chore: Update CHANGELOG.md</li> <li>See full diff in <a href="https://github.com/anthropics/claude-agent-sdk-typescript/compare/v0.3.215...v0.3.216">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/sdk` from 0.112.3 to 0.112.4 <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.112.4</h2> <h2>0.112.4 (2026-07-20)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.112.3...sdk-v0.112.4">sdk-v0.112.3...sdk-v0.112.4</a></p> <h3>Bug Fixes</h3> <ul> <li><strong>aws:</strong> preserve AWS options and auth mode across withOptions() (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/214">#214</a>) (<a href="3f7665c541">3f7665c</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>docs:</strong> small updates (<a href="97f68a88e1">97f68a8</a>)</li> </ul> </blockquote> </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.112.4 (2026-07-20)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.112.3...sdk-v0.112.4">sdk-v0.112.3...sdk-v0.112.4</a></p> <h3>Bug Fixes</h3> <ul> <li><strong>aws:</strong> preserve AWS options and auth mode across withOptions() (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/214">#214</a>) (<a href="3f7665c541">3f7665c</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>docs:</strong> small updates (<a href="97f68a88e1">97f68a8</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="3e9a2e1e68"><code>3e9a2e1</code></a> chore(aws): raise minimum <code>@anthropic-ai/sdk</code> version to 0.112.4</li> <li><a href="1cdfa7f40e"><code>1cdfa7f</code></a> chore: release main</li> <li><a href="0cd535b3ec"><code>0cd535b</code></a> fix(aws): remove duplicate loggerFor import breaking the build (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/235">#235</a>)</li> <li><a href="ff7d62078c"><code>ff7d620</code></a> fix(aws): preserve AWS options and auth mode across withOptions() (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/214">#214</a>)</li> <li><a href="0b39044da0"><code>0b39044</code></a> chore(docs): small updates</li> <li>See full diff in <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.112.3...sdk-v0.112.4">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.64.0 to 8.65.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.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="aa602bdf3f"><code>aa602bd</code></a> fix(eslint-plugin): [no-unnecessary-parameter-property-assignment] don't flag...</li> <li><a href="1e90d67332"><code>1e90d67</code></a> feat(eslint-plugin): [no-shadow] specialized error on enum declaration and me...</li> <li><a href="b32fb34305"><code>b32fb34</code></a> docs: fix broken code samples in no-extraneous-class and prefer-function-type...</li> <li><a href="eaf457631a"><code>eaf4576</code></a> feat: add warning when TS 7 is detected (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12529">#12529</a>)</li> <li><a href="18c01c7049"><code>18c01c7</code></a> feat(eslint-plugin): [no-restricted-imports] deprecate extension rule (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12527">#12527</a>)</li> <li><a href="96e8fe2558"><code>96e8fe2</code></a> fix(eslint-plugin): [unbound-method] report unbound methods accessed via memb...</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12437">#12437</a>)</li> <li><a href="9d9973bb18"><code>9d9973b</code></a> fix(eslint-plugin): [prefer-string-starts-ends-with] handle escaped $ ending ...</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.64.0 to 8.65.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.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="eaf457631a"><code>eaf4576</code></a> feat: add warning when TS 7 is detected (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12529">#12529</a>)</li> <li><a href="d8f1044702"><code>d8f1044</code></a> feat(parser): add onUnsupportedTypeScriptVersion option to error on unsupport...</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12437">#12437</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `prettier` from 3.9.5 to 3.9.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p> <blockquote> <h2>3.9.6</h2> <h2>What's Changed</h2> <ul> <li>Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">prettier/prettier#19621</a> by <a href="https://github.com/kovsu"><code>@kovsu</code></a>)</li> <li>Support <code>import defer</code> in <code>typescript</code> parser (<a href="https://redirect.github.com/prettier/prettier/pull/19624">prettier/prettier#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">prettier/prettier#19675</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</li> <li>Added a new official plugin <a href="https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku"><code>@prettier/plugin-yuku</code> 🚀</a> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">prettier/prettier#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">prettier/prettier#19629</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396">Changelog</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p> <blockquote> <h1>3.9.6</h1> <p><a href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">diff</a></p> <h4>TypeScript: Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">#19621</a> by <a href="https://github.com/kovsu"><code>@kovsu</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input interface Container { "new"(id: string): number; } <p>// Prettier 3.9.5<br /> interface Container {<br /> new(id: string): number;<br /> }</p> <p>// Prettier 3.9.6<br /> interface Container {<br /> "new"(id: string): number;<br /> }<br /> </code></pre></p> <h4>TypeScript: Support <code>import defer</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19624">#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">#19675</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input import defer * as foo from "foo"; <p>// Prettier 3.9.5<br /> import * as foo from "foo";</p> <p>// Prettier 3.9.6<br /> import defer * as foo from "foo";<br /> </code></pre></p> <h4>JavaScript: Added a new official plugin <code>@prettier/plugin-yuku</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">#19629</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4> <p><code>@prettier/plugin-yuku</code> is powered by <a href="https://yuku.fyi/">Yuku</a> (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).</p> <p>This plugin includes two new parsers: <code>yuku</code> (JavaScript syntax) and <code>yuku-ts</code> (TypeScript syntax).</p> <p><strong>To use this plugin:</strong></p> <ol> <li> <p>Install the plugin:</p> <pre lang="bash"><code>yarn add --dev prettier @prettier/plugin-yuku </code></pre> </li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="8f0c95057c"><code>8f0c950</code></a> Release 3.9.6</li> <li><a href="e9107647d0"><code>e910764</code></a> Update changelog</li> <li><a href="ec3f1c7bd7"><code>ec3f1c7</code></a> Update typescript-eslint to v8.65.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19675">#19675</a>)</li> <li><a href="73d2efc2c6"><code>73d2efc</code></a> Update Yuku parser to v0.7.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19664">#19664</a>)</li> <li><a href="dd5e24eabe"><code>dd5e24e</code></a> Preserve quotes for <code>TSMethodSignature</code> nodes named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/issues/19621">#19621</a>)</li> <li><a href="c03ab4e71c"><code>c03ab4e</code></a> Update dependency eslint-plugin-unicorn to v72 (<a href="https://redirect.github.com/prettier/prettier/issues/19633">#19633</a>)</li> <li><a href="b74dd53076"><code>b74dd53</code></a> Update Yuku parser to v0.6.5 (<a href="https://redirect.github.com/prettier/prettier/issues/19654">#19654</a>)</li> <li><a href="f1b594ea1d"><code>f1b594e</code></a> Update dependency eslint-plugin-simple-import-sort to v14 (<a href="https://redirect.github.com/prettier/prettier/issues/19655">#19655</a>)</li> <li><a href="0d9dfb6153"><code>0d9dfb6</code></a> Update Yuku parser to v0.6.4 (<a href="https://redirect.github.com/prettier/prettier/issues/19650">#19650</a>)</li> <li><a href="3bbb8159eb"><code>3bbb815</code></a> Remove <code>typescript-only</code> directory (<a href="https://redirect.github.com/prettier/prettier/issues/19636">#19636</a>)</li> <li>Additional commits viewable in <a href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/claude-agent-sdk-darwin-arm64` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-darwin-x64` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-linux-arm64` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-linux-arm64-musl` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-linux-x64` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-linux-x64-musl` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-win32-arm64` from 0.3.215 to 0.3.216 Updates `@anthropic-ai/claude-agent-sdk-win32-x64` from 0.3.215 to 0.3.216 Updates `@typescript-eslint/project-service` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/project-service's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/project-service/CHANGELOG.md">@typescript-eslint/project-service's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for project-service 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service/issues/12437">#12437</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/project-service">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/scope-manager` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/scope-manager's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/scope-manager/CHANGELOG.md">@typescript-eslint/scope-manager's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for scope-manager 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager/issues/12437">#12437</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/scope-manager">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/tsconfig-utils` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/tsconfig-utils's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/tsconfig-utils/CHANGELOG.md">@typescript-eslint/tsconfig-utils's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for tsconfig-utils 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils/issues/12437">#12437</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/tsconfig-utils">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/type-utils` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/type-utils's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/type-utils/CHANGELOG.md">@typescript-eslint/type-utils's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for type-utils 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils/issues/12437">#12437</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/type-utils">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/types` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/types's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/types/CHANGELOG.md">@typescript-eslint/types's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="d8f1044702"><code>d8f1044</code></a> feat(parser): add onUnsupportedTypeScriptVersion option to error on unsupport...</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types/issues/12437">#12437</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/types">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/typescript-estree` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/typescript-estree's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/typescript-estree/CHANGELOG.md">@typescript-eslint/typescript-estree's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="d8f1044702"><code>d8f1044</code></a> feat(parser): add onUnsupportedTypeScriptVersion option to error on unsupport...</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree/issues/12437">#12437</a>)</li> <li><a href="4b410e951c"><code>4b410e9</code></a> feat(typescript-estree): throw for invalid import defer syntax (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree/issues/12552">#12552</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/typescript-estree">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/utils` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/utils's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/utils/CHANGELOG.md">@typescript-eslint/utils's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for utils 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils/issues/12437">#12437</a>)</li> <li><a href="c2386e49ec"><code>c2386e4</code></a> chore(deps): update dependency prettier to v3.9.5 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils/issues/12486">#12486</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/utils">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/visitor-keys` from 8.64.0 to 8.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/visitor-keys's releases</a>.</em></p> <blockquote> <h2>v8.65.0</h2> <h2>8.65.0 (2026-07-20)</h2> <h3>🚀 Features</h3> <ul> <li>add warning when TS 7 is detected (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12529">#12529</a>)</li> <li><strong>eslint-plugin:</strong> [no-restricted-imports] deprecate extension rule (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12527">#12527</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/19562">#19562</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/11889">#11889</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] specialized error on enum declaration and member shadowing (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12578">#12578</a>)</li> <li><strong>parser:</strong> add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12465">#12465</a>)</li> <li><strong>typescript-estree:</strong> throw for invalid import defer syntax (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12552">#12552</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-string-starts-ends-with] handle escaped $ ending regex literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12515">#12515</a>)</li> <li><strong>eslint-plugin:</strong> [unbound-method] report unbound methods accessed via member expression on union types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12448">#12448</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12568">#12568</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>Serhii Leniv <a href="https://github.com/Serhii-Leniv"><code>@Serhii-Leniv</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.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/visitor-keys/CHANGELOG.md">@typescript-eslint/visitor-keys's changelog</a>.</em></p> <blockquote> <h2>8.65.0 (2026-07-20)</h2> <p>This was a version bump only for visitor-keys 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.65.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="63ba81b6ac"><code>63ba81b</code></a> chore(release): publish 8.65.0</li> <li><a href="0d06406f31"><code>0d06406</code></a> chore: add attw validation to repo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys/issues/12437">#12437</a>)... _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>
This commit is contained in:
277
package-lock.json
generated
277
package-lock.json
generated
@@ -9,24 +9,24 @@
|
|||||||
"version": "0.60.0",
|
"version": "0.60.0",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@agentclientprotocol/sdk": "1.2.1",
|
"@agentclientprotocol/sdk": "1.3.0",
|
||||||
"@anthropic-ai/claude-agent-sdk": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk": "0.3.217",
|
||||||
"zod": "^3.25.0 || ^4.0.0"
|
"zod": "^3.25.0 || ^4.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"claude-agent-acp": "dist/index.js"
|
"claude-agent-acp": "dist/index.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@anthropic-ai/sdk": "0.112.3",
|
"@anthropic-ai/sdk": "0.112.5",
|
||||||
"@eslint/js": "10.0.1",
|
"@eslint/js": "10.0.1",
|
||||||
"@tsconfig/node22": "22.0.5",
|
"@tsconfig/node22": "22.0.5",
|
||||||
"@types/node": "26.1.1",
|
"@types/node": "26.1.1",
|
||||||
"@typescript-eslint/eslint-plugin": "8.64.0",
|
"@typescript-eslint/eslint-plugin": "8.65.0",
|
||||||
"@typescript-eslint/parser": "8.64.0",
|
"@typescript-eslint/parser": "8.65.0",
|
||||||
"eslint": "10.7.0",
|
"eslint": "10.7.0",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"globals": "17.7.0",
|
"globals": "17.7.0",
|
||||||
"prettier": "3.9.5",
|
"prettier": "3.9.6",
|
||||||
"ts-node": "10.9.2",
|
"ts-node": "10.9.2",
|
||||||
"typescript": "6.0.3",
|
"typescript": "6.0.3",
|
||||||
"vitest": "4.1.10"
|
"vitest": "4.1.10"
|
||||||
@@ -36,31 +36,31 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@agentclientprotocol/sdk": {
|
"node_modules/@agentclientprotocol/sdk": {
|
||||||
"version": "1.2.1",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-1.3.0.tgz",
|
||||||
"integrity": "sha512-jwYUdOQR7tc+Zfch53VL4JJyUNK/46q03uUTYb+PjECsmnNl94XFXOfYLJ8RBpMNidXd1rpOAVgb0vqD98xImA==",
|
"integrity": "sha512-i3h/efaeuMUFAO1HSfo97QZQnnvMd7wWBYtBsdL6UMZg3a78sk3Ffya5Xu7C7tYsXomXoDXJBAzQF2PcFKAhIQ==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"zod": "^3.25.0 || ^4.0.0"
|
"zod": "^3.25.0 || ^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk": {
|
"node_modules/@anthropic-ai/claude-agent-sdk": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.3.217.tgz",
|
||||||
"integrity": "sha512-fBktJCwfu8ZeOSnnSLcWVkIHyp/pjouJsGVGtRnQ0HkcRuOReIbRcB/6n2O5dYV331Ok+MfdGHiPaTORj7pCtQ==",
|
"integrity": "sha512-juszT3itL8R6OQ6nb/8IZE34UjKps8Jf7N8vjCXLx+vbJc+k3EojZOs93tJwT5iTRvfV1a0N53zJbKn/iJpKrQ==",
|
||||||
"license": "SEE LICENSE IN README.md",
|
"license": "SEE LICENSE IN README.md",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.217",
|
||||||
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.215"
|
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.217"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@anthropic-ai/sdk": ">=0.93.0",
|
"@anthropic-ai/sdk": ">=0.93.0",
|
||||||
@@ -69,9 +69,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-darwin-arm64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-darwin-arm64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-darwin-arm64/-/claude-agent-sdk-darwin-arm64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-darwin-arm64/-/claude-agent-sdk-darwin-arm64-0.3.217.tgz",
|
||||||
"integrity": "sha512-KIOe3N/ypVIdsI7fnJUHT0Djei1RH01TbxK6LI2mgoHKZ6NVDt/Q9kQ1+On3b/l899RhE6C1SMAiQ0iB4sbkjA==",
|
"integrity": "sha512-dl119zmL1Ssyd8Fx0xfVMpss2scrGCZwf+rhZwl2lHa2dYuXVluLgqi4DUIWDj3rRYdrAvaMpjCAv6a5w07ddw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -82,9 +82,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-darwin-x64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-darwin-x64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-darwin-x64/-/claude-agent-sdk-darwin-x64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-darwin-x64/-/claude-agent-sdk-darwin-x64-0.3.217.tgz",
|
||||||
"integrity": "sha512-cyjfQgkgF/zZbSJP6uJpPXoIJE/gYFOgz+u/SjklvakcO56BpEnsbdl/oHVu5G8GCw69V11hKFZ8T8YsVOiv2w==",
|
"integrity": "sha512-IeKL1HN8fEcRQ4uw5d02by1ThpjhRtOgfHcCTBQ2KS4JfEIHvc1VGWt6Exb2a7VHhT8uRcfjPk9urbmYayZmaw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -95,9 +95,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-linux-arm64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-linux-arm64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-arm64/-/claude-agent-sdk-linux-arm64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-arm64/-/claude-agent-sdk-linux-arm64-0.3.217.tgz",
|
||||||
"integrity": "sha512-lb7ayxZeWLiEhlOjzF8oX+DdJHrVgR1hvwkwRdYo+LgTT3hSxv6h43sheS3hZ1I9LYvOTKWa2E0O1EnffOzyCg==",
|
"integrity": "sha512-KtrnfEwUSCdq2cc4Pgysl+U66vqw3h7u04N5/OLHmYZ4AZYy8JcqdOaSJZ27iL2bgbAxyKwu5/9YmEk9A4IswA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -111,9 +111,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-linux-arm64-musl": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-linux-arm64-musl": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-arm64-musl/-/claude-agent-sdk-linux-arm64-musl-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-arm64-musl/-/claude-agent-sdk-linux-arm64-musl-0.3.217.tgz",
|
||||||
"integrity": "sha512-dXMR8afbZCFWUKQGyvn9swDYYvMtZWGqqbZ994ahS7HvGN4AgF63uvojHVErW1Xxn2601Bm+eCYQt+BSLk6iZQ==",
|
"integrity": "sha512-Bb4AJxqrVPouM4sYIdvX3/AO5womhe70u3Euv+6B5J2OoqcRaWarVvYevX3KRruC5TvlV2Josw14dsL5qVNL+A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -127,9 +127,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-linux-x64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-linux-x64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-x64/-/claude-agent-sdk-linux-x64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-x64/-/claude-agent-sdk-linux-x64-0.3.217.tgz",
|
||||||
"integrity": "sha512-Iivu3oq7hIEc81dpTu1W0GJ/kCE8TRtj9tb+wdZCp1grsuGEJiS3Bh1tLxCrhLOTDxPggK6xZGVN/RPJh84ywA==",
|
"integrity": "sha512-JsAQyfl4n0PR4LX0h1SxMo0raERGb8B8dvbaoNQRRSpb9A2vvcwPEjyKu0eRKHRhTvspvuD6TfNxzxrmnouX9A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -143,9 +143,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-linux-x64-musl": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-linux-x64-musl": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-x64-musl/-/claude-agent-sdk-linux-x64-musl-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-linux-x64-musl/-/claude-agent-sdk-linux-x64-musl-0.3.217.tgz",
|
||||||
"integrity": "sha512-jSmrjSupnWtw8/I1Wmr32J6lB02gFXytmNbse4kcLEgH6UGtdZckKnDVnh/ejHma4QE9WGSn54xLsSFnjHVrRg==",
|
"integrity": "sha512-qhugNZd77vAoPMIGM8vFHlbwTltFyI1POmfyl0ZJSpc6v7RE9+5+nqL2aGbGSDsDQkEHrJasXURxIeTMn9ut2w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -159,9 +159,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-win32-arm64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-win32-arm64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-win32-arm64/-/claude-agent-sdk-win32-arm64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-win32-arm64/-/claude-agent-sdk-win32-arm64-0.3.217.tgz",
|
||||||
"integrity": "sha512-9Xtpwd4DzfObOycDkfYfQ7clhWoFu2fmRqmMZWyQRyk2mEHWR3gLBwUgpfjYb6m4Fke9eTmIx2lXDG2i1OaBzA==",
|
"integrity": "sha512-LuaQ+PXZvIToAR81JoiGa6Me9HDma2WH2oiYlAWh43IWaXHyOqgaI1aqSM0BjDhy2UiYWTvGzAopnqPnk+jSBw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -172,9 +172,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/claude-agent-sdk-win32-x64": {
|
"node_modules/@anthropic-ai/claude-agent-sdk-win32-x64": {
|
||||||
"version": "0.3.215",
|
"version": "0.3.217",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-win32-x64/-/claude-agent-sdk-win32-x64-0.3.215.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk-win32-x64/-/claude-agent-sdk-win32-x64-0.3.217.tgz",
|
||||||
"integrity": "sha512-DkPwdc1zS6KIf6YNKXhlqAw95wnjG8Uh5bSXRrFA+MxsaWedlVFeja6zFM5uZ84ouGrcHEeU3PGUcGaKR1U4cQ==",
|
"integrity": "sha512-4r/T+ze/S/CLZ58tP4Mw52XPmsc/LOrCOd8jZOqM13FCPWdCMU2osWmszEIKGVMRG2cGsaLVDYcks5cWFqjCjw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -185,9 +185,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/sdk": {
|
"node_modules/@anthropic-ai/sdk": {
|
||||||
"version": "0.112.3",
|
"version": "0.112.5",
|
||||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.112.3.tgz",
|
"resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.112.5.tgz",
|
||||||
"integrity": "sha512-wjcozJlitVIuBEw9cj/xBuRznwkhcLmXmNzlFoeHbh4AvrDG3HGZrdvEOTTmobcbhjGkfOpKbmDTCQ4s9LQvCg==",
|
"integrity": "sha512-FaaGkyS4/zW4n+8Pr9jQkyo5zWcBNw+R+heCLXdoKDUEuALbPALBk6zLAlmsU+veREiaATxVG0TwkK/cQ3NZsQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"json-schema-to-ts": "^3.1.1",
|
"json-schema-to-ts": "^3.1.1",
|
||||||
@@ -262,16 +262,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint-community/eslint-utils": {
|
"node_modules/@eslint-community/eslint-utils": {
|
||||||
"version": "4.9.1",
|
"version": "4.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.0.tgz",
|
||||||
"integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
|
"integrity": "sha512-rd6n9Sefya1R1Vd594TRwzeHq2VnmICbvh3jebyt1Hs/6OoCSYNVpjGRRsKSTwAq3SKl09w0AfRCU57hoDLmxg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eslint-visitor-keys": "^3.4.3"
|
"eslint-visitor-keys": "^5.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^20.19.0 || ^22.13.0 || >=24"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/eslint"
|
"url": "https://opencollective.com/eslint"
|
||||||
@@ -944,17 +944,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz",
|
||||||
"integrity": "sha512-CGvQPBxN3wZLu6Rz2kFUpZeoCm78xUic92ck39KPePkO1NPOwjCqdQnm5Q87tpWw9vcBvW8XLrDXjH9PWYtJ3Q==",
|
"integrity": "sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.12.2",
|
"@eslint-community/regexpp": "^4.12.2",
|
||||||
"@typescript-eslint/scope-manager": "8.64.0",
|
"@typescript-eslint/scope-manager": "8.65.0",
|
||||||
"@typescript-eslint/type-utils": "8.64.0",
|
"@typescript-eslint/type-utils": "8.65.0",
|
||||||
"@typescript-eslint/utils": "8.64.0",
|
"@typescript-eslint/utils": "8.65.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.64.0",
|
"@typescript-eslint/visitor-keys": "8.65.0",
|
||||||
"ignore": "^7.0.5",
|
"ignore": "^7.0.5",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"ts-api-utils": "^2.5.0"
|
"ts-api-utils": "^2.5.0"
|
||||||
@@ -967,22 +967,22 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/parser": "^8.64.0",
|
"@typescript-eslint/parser": "^8.65.0",
|
||||||
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
|
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
|
||||||
"typescript": ">=4.8.4 <6.1.0"
|
"typescript": ">=4.8.4 <6.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.65.0.tgz",
|
||||||
"integrity": "sha512-KA0OshtlcCCXmbfqyZkM5pV3/WNraJf7DkJRLpyrmwPtud57H5BDX7C3k0LPSPxpprfRL+cJDGabF10mvNCoCw==",
|
"integrity": "sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.64.0",
|
"@typescript-eslint/scope-manager": "8.65.0",
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.64.0",
|
"@typescript-eslint/typescript-estree": "8.65.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.64.0",
|
"@typescript-eslint/visitor-keys": "8.65.0",
|
||||||
"debug": "^4.4.3"
|
"debug": "^4.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -998,14 +998,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/project-service": {
|
"node_modules/@typescript-eslint/project-service": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.65.0.tgz",
|
||||||
"integrity": "sha512-tk4WpOJ6IEbGrVHaNmM0YRrwAD3exZlIK3iadQNAxh4YKk6jvUQ4ecq18n+v7+meh+cJ3j+D8nbk8sRKhlwLQg==",
|
"integrity": "sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/tsconfig-utils": "^8.64.0",
|
"@typescript-eslint/tsconfig-utils": "^8.65.0",
|
||||||
"@typescript-eslint/types": "^8.64.0",
|
"@typescript-eslint/types": "^8.65.0",
|
||||||
"debug": "^4.4.3"
|
"debug": "^4.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1020,14 +1020,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.65.0.tgz",
|
||||||
"integrity": "sha512-CXEaFdYXjSTgKhisNkwCcJwTP8Pl+fmRrEQrri4nm3vU743bALrxzLmq7fHG/7e6a5xO0lDYeURpZmBuhHk54w==",
|
"integrity": "sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.64.0"
|
"@typescript-eslint/visitor-keys": "8.65.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1038,9 +1038,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.65.0.tgz",
|
||||||
"integrity": "sha512-2yo8rRNKuzbVWQp5kslhANqZ2uDAeROQHBRZNPu8JDsHmeFNj/XJJhX/FhNUWmkHHvoNsKa6+tHJiig87EzsQw==",
|
"integrity": "sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1055,15 +1055,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.65.0.tgz",
|
||||||
"integrity": "sha512-XWG4Fmmv/6SvyS9nH8jWrKs6terwJvE8cyRt1CzYYqzp9OrPhCT4cMc/f7C6RZCwG+qMmiffJS1/qJP8G1URtg==",
|
"integrity": "sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.64.0",
|
"@typescript-eslint/typescript-estree": "8.65.0",
|
||||||
"@typescript-eslint/utils": "8.64.0",
|
"@typescript-eslint/utils": "8.65.0",
|
||||||
"debug": "^4.4.3",
|
"debug": "^4.4.3",
|
||||||
"ts-api-utils": "^2.5.0"
|
"ts-api-utils": "^2.5.0"
|
||||||
},
|
},
|
||||||
@@ -1080,9 +1080,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.65.0.tgz",
|
||||||
"integrity": "sha512-qjhfuTfLXjA4IOzXvz0rTjT01BqEiIgPoUeMwiEjnaHKJMTNo8rH5pYW1a2L/0Dnux2fPC85AeyJoWaGa8WxTA==",
|
"integrity": "sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1094,16 +1094,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.65.0.tgz",
|
||||||
"integrity": "sha512-Pztpsn1aCE1oWDvDEfUk31nngvvF7vUB5SwHFEaZIFpvw7WJtqUHHL4plBZDA9HfWJJjL13BdG0YrJInTUvoVA==",
|
"integrity": "sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/project-service": "8.64.0",
|
"@typescript-eslint/project-service": "8.65.0",
|
||||||
"@typescript-eslint/tsconfig-utils": "8.64.0",
|
"@typescript-eslint/tsconfig-utils": "8.65.0",
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.64.0",
|
"@typescript-eslint/visitor-keys": "8.65.0",
|
||||||
"debug": "^4.4.3",
|
"debug": "^4.4.3",
|
||||||
"minimatch": "^10.2.2",
|
"minimatch": "^10.2.2",
|
||||||
"semver": "^7.7.3",
|
"semver": "^7.7.3",
|
||||||
@@ -1122,16 +1122,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.65.0.tgz",
|
||||||
"integrity": "sha512-aJUGVB3+U0htrrCjoA8qukw8cm8fNCGAxK/tVoS70k8aeb7DETKeFozRiVFIwEeN9WJLsjaP3ph8I60tY2XZoQ==",
|
"integrity": "sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.9.1",
|
"@eslint-community/eslint-utils": "^4.9.1",
|
||||||
"@typescript-eslint/scope-manager": "8.64.0",
|
"@typescript-eslint/scope-manager": "8.65.0",
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.64.0"
|
"@typescript-eslint/typescript-estree": "8.65.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1146,13 +1146,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.64.0",
|
"version": "8.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.64.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.65.0.tgz",
|
||||||
"integrity": "sha512-mrtuL8Nsn6gi2H4mo5KMTp823M+3Q19Ew/i+Zlikq20tIMm99C3Ez0dCmkWWnxut20esQvTg8aUSEhMcAOXhEw==",
|
"integrity": "sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.64.0",
|
"@typescript-eslint/types": "8.65.0",
|
||||||
"eslint-visitor-keys": "^5.0.0"
|
"eslint-visitor-keys": "^5.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1163,19 +1163,6 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"engines": {
|
|
||||||
"node": "^20.19.0 || ^22.13.0 || >=24"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/eslint"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vitest/expect": {
|
"node_modules/@vitest/expect": {
|
||||||
"version": "4.1.10",
|
"version": "4.1.10",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz",
|
||||||
@@ -1835,13 +1822,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-visitor-keys": {
|
"node_modules/eslint-visitor-keys": {
|
||||||
"version": "3.4.3",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
|
||||||
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
|
"integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^20.19.0 || ^22.13.0 || >=24"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/eslint"
|
"url": "https://opencollective.com/eslint"
|
||||||
@@ -1864,19 +1851,6 @@
|
|||||||
"url": "https://github.com/sponsors/epoberezkin"
|
"url": "https://github.com/sponsors/epoberezkin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint/node_modules/eslint-visitor-keys": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"engines": {
|
|
||||||
"node": "^20.19.0 || ^22.13.0 || >=24"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/eslint"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/eslint/node_modules/ignore": {
|
"node_modules/eslint/node_modules/ignore": {
|
||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
|
||||||
@@ -1912,19 +1886,6 @@
|
|||||||
"url": "https://opencollective.com/eslint"
|
"url": "https://opencollective.com/eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/espree/node_modules/eslint-visitor-keys": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"engines": {
|
|
||||||
"node": "^20.19.0 || ^22.13.0 || >=24"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/eslint"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/esquery": {
|
"node_modules/esquery": {
|
||||||
"version": "1.7.0",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
|
||||||
@@ -2503,9 +2464,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/jose": {
|
"node_modules/jose": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/jose/-/jose-6.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/jose/-/jose-6.2.4.tgz",
|
||||||
"integrity": "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==",
|
"integrity": "sha512-N8acGzVsQy6M/fjFcxtysNc4Q379TcM5dM/qKkNtsHFji88yANnXTr7BLeP75iPnFwBfQzM/jg2BZ9+HZrHCZA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -3189,9 +3150,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.20",
|
"version": "8.5.22",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.20.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.22.tgz",
|
||||||
"integrity": "sha512-lW616l85ucIQL+FocMmL7pQFPqBmwejrCMg+iPxyImlrANNJG9NHq/RkyCZopDhd8C3LA03PHRJDjkbGu8vvug==",
|
"integrity": "sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3228,9 +3189,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prettier": {
|
"node_modules/prettier": {
|
||||||
"version": "3.9.5",
|
"version": "3.9.6",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.5.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.6.tgz",
|
||||||
"integrity": "sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==",
|
"integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
12
package.json
12
package.json
@@ -63,21 +63,21 @@
|
|||||||
"node": ">=22"
|
"node": ">=22"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@agentclientprotocol/sdk": "1.2.1",
|
"@agentclientprotocol/sdk": "1.3.0",
|
||||||
"@anthropic-ai/claude-agent-sdk": "0.3.215",
|
"@anthropic-ai/claude-agent-sdk": "0.3.217",
|
||||||
"zod": "^3.25.0 || ^4.0.0"
|
"zod": "^3.25.0 || ^4.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@anthropic-ai/sdk": "0.112.3",
|
"@anthropic-ai/sdk": "0.112.5",
|
||||||
"@eslint/js": "10.0.1",
|
"@eslint/js": "10.0.1",
|
||||||
"@tsconfig/node22": "22.0.5",
|
"@tsconfig/node22": "22.0.5",
|
||||||
"@types/node": "26.1.1",
|
"@types/node": "26.1.1",
|
||||||
"@typescript-eslint/eslint-plugin": "8.64.0",
|
"@typescript-eslint/eslint-plugin": "8.65.0",
|
||||||
"@typescript-eslint/parser": "8.64.0",
|
"@typescript-eslint/parser": "8.65.0",
|
||||||
"eslint": "10.7.0",
|
"eslint": "10.7.0",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"globals": "17.7.0",
|
"globals": "17.7.0",
|
||||||
"prettier": "3.9.5",
|
"prettier": "3.9.6",
|
||||||
"ts-node": "10.9.2",
|
"ts-node": "10.9.2",
|
||||||
"typescript": "6.0.3",
|
"typescript": "6.0.3",
|
||||||
"vitest": "4.1.10"
|
"vitest": "4.1.10"
|
||||||
|
|||||||
@@ -804,6 +804,15 @@ export type ToolUpdateMeta = {
|
|||||||
Agent/Task call that spawned the subagent. Mirrors the SDK's
|
Agent/Task call that spawned the subagent. Mirrors the SDK's
|
||||||
`parent_tool_use_id` on streamed subagent messages. */
|
`parent_tool_use_id` on streamed subagent messages. */
|
||||||
parentToolUseId?: string;
|
parentToolUseId?: string;
|
||||||
|
/* On a "failed" tool_call_update: why the tool never actually ran, so a
|
||||||
|
client can render the denial/cancellation distinctly from a real tool
|
||||||
|
failure. From the SDK's `tool_result_meta` non_execution_kind:
|
||||||
|
"user-rejected", "permission-rule", "interrupted", "cancelled", …
|
||||||
|
(open set). Absent when the tool executed — including real failures. */
|
||||||
|
nonExecutionKind?: string;
|
||||||
|
/* Free-text the user supplied when rejecting the tool call, when the
|
||||||
|
harness collected any. Only ever present alongside nonExecutionKind. */
|
||||||
|
userFeedback?: string;
|
||||||
};
|
};
|
||||||
/* Terminal metadata for Bash tool execution, matching codex-acp's _meta protocol. */
|
/* Terminal metadata for Bash tool execution, matching codex-acp's _meta protocol. */
|
||||||
terminal_info?: {
|
terminal_info?: {
|
||||||
@@ -2686,9 +2695,9 @@ export class ClaudeAcpAgent {
|
|||||||
// Push the full slash-command list after a mid-session change
|
// Push the full slash-command list after a mid-session change
|
||||||
// (e.g. skills discovered dynamically as the agent works in a
|
// (e.g. skills discovered dynamically as the agent works in a
|
||||||
// subdirectory). The client should REPLACE its cached command
|
// subdirectory). The client should REPLACE its cached command
|
||||||
// list with this payload: supportedCommands() is captured once
|
// list with this payload. Forward message.commands directly —
|
||||||
// at initialize and never reflects mid-session changes, so we
|
// it's authoritative, and re-querying supportedCommands()
|
||||||
// forward message.commands directly rather than re-querying.
|
// would just return the same list with an extra round-trip.
|
||||||
await sendUpdate({
|
await sendUpdate({
|
||||||
sessionId: message.session_id,
|
sessionId: message.session_id,
|
||||||
update: {
|
update: {
|
||||||
@@ -3682,6 +3691,12 @@ export class ClaudeAcpAgent {
|
|||||||
emittedToolCalls: session.emittedToolCalls,
|
emittedToolCalls: session.emittedToolCalls,
|
||||||
messageId: messageIdForGrouping(message),
|
messageId: messageIdForGrouping(message),
|
||||||
toolUseResult: message.type === "user" ? message.tool_use_result : undefined,
|
toolUseResult: message.type === "user" ? message.tool_use_result : undefined,
|
||||||
|
// On the wire since CLI 2.1.216 but not in SDKUserMessage's
|
||||||
|
// type, hence the cast. Validated by parseToolResultMeta.
|
||||||
|
toolResultMeta:
|
||||||
|
message.type === "user"
|
||||||
|
? (message as { tool_result_meta?: unknown }).tool_result_meta
|
||||||
|
: undefined,
|
||||||
},
|
},
|
||||||
)) {
|
)) {
|
||||||
// sendUpdate records delivery. Subagent text/thinking is
|
// sendUpdate records delivery. Subagent text/thinking is
|
||||||
@@ -6769,6 +6784,36 @@ function streamedInputRefinement(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Validates the SDK user message's `tool_result_meta` sidecar (emitted on the
|
||||||
|
* wire by CLI ≥ 2.1.216 but absent from sdk.d.ts, hence unknown-typed) into a
|
||||||
|
* by-tool_use_id lookup. Each entry explains why an is_error tool_result
|
||||||
|
* carries harness prose instead of the tool's own output — "user-rejected",
|
||||||
|
* "permission-rule", "interrupted", "cancelled", … (open set: new kinds ship
|
||||||
|
* on the wire ahead of schema updates, so no enum check). Malformed entries
|
||||||
|
* are skipped rather than failing the message. */
|
||||||
|
function parseToolResultMeta(
|
||||||
|
raw: unknown,
|
||||||
|
): Map<string, { nonExecutionKind: string; userFeedback?: string }> | undefined {
|
||||||
|
if (!Array.isArray(raw)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
let byToolUseId: Map<string, { nonExecutionKind: string; userFeedback?: string }> | undefined;
|
||||||
|
for (const entry of raw) {
|
||||||
|
if (typeof entry !== "object" || entry === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const { id, non_execution_kind, user_feedback } = entry as Record<string, unknown>;
|
||||||
|
if (typeof id !== "string" || typeof non_execution_kind !== "string") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
(byToolUseId ??= new Map()).set(id, {
|
||||||
|
nonExecutionKind: non_execution_kind,
|
||||||
|
...(typeof user_feedback === "string" ? { userFeedback: user_feedback } : {}),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return byToolUseId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert an SDKAssistantMessage (Claude) to a SessionNotification (ACP).
|
* Convert an SDKAssistantMessage (Claude) to a SessionNotification (ACP).
|
||||||
* Only handles text, image, and thinking chunks for now.
|
* Only handles text, image, and thinking chunks for now.
|
||||||
@@ -6804,6 +6849,10 @@ export function toAcpNotifications(
|
|||||||
// Agent/Task results from the structured subagent report instead of the raw
|
// Agent/Task results from the structured subagent report instead of the raw
|
||||||
// text (which ends in a model-directed agentId/usage trailer).
|
// text (which ends in a model-directed agentId/usage trailer).
|
||||||
toolUseResult?: unknown;
|
toolUseResult?: unknown;
|
||||||
|
// The SDK user message's `tool_result_meta` sidecar, passed raw (it's
|
||||||
|
// untyped in sdk.d.ts) and validated by `parseToolResultMeta`. Stamps
|
||||||
|
// denied/interrupted tool_call_updates with why the tool never ran.
|
||||||
|
toolResultMeta?: unknown;
|
||||||
},
|
},
|
||||||
): SessionNotification[] {
|
): SessionNotification[] {
|
||||||
const taskState = options?.taskState ?? new Map();
|
const taskState = options?.taskState ?? new Map();
|
||||||
@@ -6846,6 +6895,10 @@ export function toAcpNotifications(
|
|||||||
? options.toolUseResult
|
? options.toolUseResult
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
|
// Unlike `tool_use_result`, entries carry their own tool_use_id, so batched
|
||||||
|
// messages need no single-block guard.
|
||||||
|
const toolResultMeta = parseToolResultMeta(options?.toolResultMeta);
|
||||||
|
|
||||||
const output = [];
|
const output = [];
|
||||||
// Only handle the first chunk for streaming; extend as needed for batching
|
// Only handle the first chunk for streaming; extend as needed for batching
|
||||||
for (const chunk of content) {
|
for (const chunk of content) {
|
||||||
@@ -6996,6 +7049,12 @@ export function toAcpNotifications(
|
|||||||
case "mcp_tool_result": {
|
case "mcp_tool_result": {
|
||||||
const wasEmitted = options?.emittedToolCalls?.has(chunk.tool_use_id) === true;
|
const wasEmitted = options?.emittedToolCalls?.has(chunk.tool_use_id) === true;
|
||||||
options?.emittedToolCalls?.delete(chunk.tool_use_id);
|
options?.emittedToolCalls?.delete(chunk.tool_use_id);
|
||||||
|
// Why this is_error result carries harness prose instead of tool
|
||||||
|
// output (user-rejected / interrupted / …), when the SDK said so.
|
||||||
|
// Spread into the claudeCode meta of every update emitted below; the
|
||||||
|
// untracked-tool fallback can't carry it (claudeCode metas always
|
||||||
|
// carry `toolName`, which is unknown there).
|
||||||
|
const nonExecution = toolResultMeta?.get(chunk.tool_use_id);
|
||||||
const toolUse = toolUseCache[chunk.tool_use_id];
|
const toolUse = toolUseCache[chunk.tool_use_id];
|
||||||
if (!toolUse) {
|
if (!toolUse) {
|
||||||
// The permission flow may have surfaced this tool_call even though
|
// The permission flow may have surfaced this tool_call even though
|
||||||
@@ -7039,6 +7098,7 @@ export function toAcpNotifications(
|
|||||||
_meta: {
|
_meta: {
|
||||||
claudeCode: {
|
claudeCode: {
|
||||||
toolName: toolUse.name,
|
toolName: toolUse.name,
|
||||||
|
...(nonExecution ?? {}),
|
||||||
...(options?.parentToolUseId ? { parentToolUseId: options.parentToolUseId } : {}),
|
...(options?.parentToolUseId ? { parentToolUseId: options.parentToolUseId } : {}),
|
||||||
},
|
},
|
||||||
} satisfies ToolUpdateMeta,
|
} satisfies ToolUpdateMeta,
|
||||||
@@ -7110,6 +7170,7 @@ export function toAcpNotifications(
|
|||||||
_meta: {
|
_meta: {
|
||||||
claudeCode: {
|
claudeCode: {
|
||||||
toolName: toolUse.name,
|
toolName: toolUse.name,
|
||||||
|
...(nonExecution ?? {}),
|
||||||
},
|
},
|
||||||
...(toolMeta?.terminal_exit ? { terminal_exit: toolMeta.terminal_exit } : {}),
|
...(toolMeta?.terminal_exit ? { terminal_exit: toolMeta.terminal_exit } : {}),
|
||||||
} satisfies ToolUpdateMeta,
|
} satisfies ToolUpdateMeta,
|
||||||
|
|||||||
@@ -2435,6 +2435,154 @@ describe("Agent/Task tool_result rendering from tool_use_result", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("tool_result_meta non-execution stamping", () => {
|
||||||
|
const mockClient = {} as AcpClient;
|
||||||
|
const mockLogger: Logger = { log: () => {}, error: () => {} };
|
||||||
|
|
||||||
|
const bashToolUse = {
|
||||||
|
type: "tool_use" as const,
|
||||||
|
id: "toolu_bash",
|
||||||
|
name: "Bash",
|
||||||
|
input: { command: "rm -rf build" },
|
||||||
|
};
|
||||||
|
|
||||||
|
const deniedResult: ToolResultBlockParam = {
|
||||||
|
type: "tool_result",
|
||||||
|
tool_use_id: "toolu_bash",
|
||||||
|
is_error: true,
|
||||||
|
content: "The user doesn't want to proceed with this tool use.",
|
||||||
|
};
|
||||||
|
|
||||||
|
it("stamps nonExecutionKind and userFeedback on the failed tool_call_update", () => {
|
||||||
|
const toolUseCache: ToolUseCache = { toolu_bash: bashToolUse };
|
||||||
|
|
||||||
|
const notifications = toAcpNotifications(
|
||||||
|
[deniedResult] as any,
|
||||||
|
"user",
|
||||||
|
"test-session",
|
||||||
|
toolUseCache,
|
||||||
|
mockClient,
|
||||||
|
mockLogger,
|
||||||
|
{
|
||||||
|
toolResultMeta: [
|
||||||
|
{ id: "toolu_bash", non_execution_kind: "user-rejected", user_feedback: "use npm" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(notifications).toHaveLength(1);
|
||||||
|
expect(notifications[0].update).toMatchObject({
|
||||||
|
sessionUpdate: "tool_call_update",
|
||||||
|
toolCallId: "toolu_bash",
|
||||||
|
status: "failed",
|
||||||
|
_meta: {
|
||||||
|
claudeCode: {
|
||||||
|
toolName: "Bash",
|
||||||
|
nonExecutionKind: "user-rejected",
|
||||||
|
userFeedback: "use npm",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("attributes entries by tool_use_id, so only the flagged result in a batch is stamped", () => {
|
||||||
|
const toolUseCache: ToolUseCache = {
|
||||||
|
toolu_bash: bashToolUse,
|
||||||
|
toolu_bash2: { ...bashToolUse, id: "toolu_bash2" },
|
||||||
|
};
|
||||||
|
|
||||||
|
const notifications = toAcpNotifications(
|
||||||
|
[
|
||||||
|
deniedResult,
|
||||||
|
{
|
||||||
|
type: "tool_result",
|
||||||
|
tool_use_id: "toolu_bash2",
|
||||||
|
content: "ok",
|
||||||
|
},
|
||||||
|
] as any,
|
||||||
|
"user",
|
||||||
|
"test-session",
|
||||||
|
toolUseCache,
|
||||||
|
mockClient,
|
||||||
|
mockLogger,
|
||||||
|
{ toolResultMeta: [{ id: "toolu_bash", non_execution_kind: "user-rejected" }] },
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(notifications).toHaveLength(2);
|
||||||
|
const [denied, ran] = notifications.map((n) => n.update) as any[];
|
||||||
|
expect(denied._meta.claudeCode).toMatchObject({ nonExecutionKind: "user-rejected" });
|
||||||
|
// No user_feedback on the wire entry → no userFeedback key at all.
|
||||||
|
expect(denied._meta.claudeCode).not.toHaveProperty("userFeedback");
|
||||||
|
expect(ran._meta.claudeCode).not.toHaveProperty("nonExecutionKind");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("ignores a malformed sidecar and malformed entries", () => {
|
||||||
|
for (const malformed of [
|
||||||
|
"user-rejected", // not an array
|
||||||
|
[{ non_execution_kind: "user-rejected" }], // entry missing id
|
||||||
|
[{ id: "toolu_bash", non_execution_kind: 7 }], // kind not a string
|
||||||
|
[null, 42], // entries not objects
|
||||||
|
]) {
|
||||||
|
const toolUseCache: ToolUseCache = { toolu_bash: bashToolUse };
|
||||||
|
const notifications = toAcpNotifications(
|
||||||
|
[deniedResult] as any,
|
||||||
|
"user",
|
||||||
|
"test-session",
|
||||||
|
toolUseCache,
|
||||||
|
mockClient,
|
||||||
|
mockLogger,
|
||||||
|
{ toolResultMeta: malformed },
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(notifications).toHaveLength(1);
|
||||||
|
expect((notifications[0].update as any)._meta.claudeCode).not.toHaveProperty(
|
||||||
|
"nonExecutionKind",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it("stamps the resolve of a permission-surfaced suppressed tool (Task*)", () => {
|
||||||
|
// A TaskGet surfaced as a real tool_call by the permission flow never gets
|
||||||
|
// a tool_call_update from the suppressed Task* branch; the wasEmitted
|
||||||
|
// resolve must carry the denial kind too.
|
||||||
|
const taskGetToolUse = {
|
||||||
|
type: "tool_use" as const,
|
||||||
|
id: "toolu_taskget",
|
||||||
|
name: "TaskGet",
|
||||||
|
input: { taskId: "1" },
|
||||||
|
};
|
||||||
|
const toolUseCache: ToolUseCache = { toolu_taskget: taskGetToolUse };
|
||||||
|
|
||||||
|
const notifications = toAcpNotifications(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
type: "tool_result",
|
||||||
|
tool_use_id: "toolu_taskget",
|
||||||
|
is_error: true,
|
||||||
|
content: "The user doesn't want to proceed with this tool use.",
|
||||||
|
},
|
||||||
|
] as any,
|
||||||
|
"user",
|
||||||
|
"test-session",
|
||||||
|
toolUseCache,
|
||||||
|
mockClient,
|
||||||
|
mockLogger,
|
||||||
|
{
|
||||||
|
emittedToolCalls: new Set(["toolu_taskget"]),
|
||||||
|
toolResultMeta: [{ id: "toolu_taskget", non_execution_kind: "user-rejected" }],
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(notifications).toHaveLength(1);
|
||||||
|
expect(notifications[0].update).toMatchObject({
|
||||||
|
sessionUpdate: "tool_call_update",
|
||||||
|
toolCallId: "toolu_taskget",
|
||||||
|
status: "failed",
|
||||||
|
_meta: { claudeCode: { toolName: "TaskGet", nonExecutionKind: "user-rejected" } },
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe("structured tool_use_result rendering (Read/Bash/WebSearch)", () => {
|
describe("structured tool_use_result rendering (Read/Bash/WebSearch)", () => {
|
||||||
describe("Read", () => {
|
describe("Read", () => {
|
||||||
const readToolUse = {
|
const readToolUse = {
|
||||||
|
|||||||
Reference in New Issue
Block a user