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:
@@ -804,6 +804,15 @@ export type ToolUpdateMeta = {
|
||||
Agent/Task call that spawned the subagent. Mirrors the SDK's
|
||||
`parent_tool_use_id` on streamed subagent messages. */
|
||||
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_info?: {
|
||||
@@ -2686,9 +2695,9 @@ export class ClaudeAcpAgent {
|
||||
// Push the full slash-command list after a mid-session change
|
||||
// (e.g. skills discovered dynamically as the agent works in a
|
||||
// subdirectory). The client should REPLACE its cached command
|
||||
// list with this payload: supportedCommands() is captured once
|
||||
// at initialize and never reflects mid-session changes, so we
|
||||
// forward message.commands directly rather than re-querying.
|
||||
// list with this payload. Forward message.commands directly —
|
||||
// it's authoritative, and re-querying supportedCommands()
|
||||
// would just return the same list with an extra round-trip.
|
||||
await sendUpdate({
|
||||
sessionId: message.session_id,
|
||||
update: {
|
||||
@@ -3682,6 +3691,12 @@ export class ClaudeAcpAgent {
|
||||
emittedToolCalls: session.emittedToolCalls,
|
||||
messageId: messageIdForGrouping(message),
|
||||
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
|
||||
@@ -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).
|
||||
* 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
|
||||
// text (which ends in a model-directed agentId/usage trailer).
|
||||
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[] {
|
||||
const taskState = options?.taskState ?? new Map();
|
||||
@@ -6846,6 +6895,10 @@ export function toAcpNotifications(
|
||||
? options.toolUseResult
|
||||
: 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 = [];
|
||||
// Only handle the first chunk for streaming; extend as needed for batching
|
||||
for (const chunk of content) {
|
||||
@@ -6996,6 +7049,12 @@ export function toAcpNotifications(
|
||||
case "mcp_tool_result": {
|
||||
const wasEmitted = options?.emittedToolCalls?.has(chunk.tool_use_id) === true;
|
||||
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];
|
||||
if (!toolUse) {
|
||||
// The permission flow may have surfaced this tool_call even though
|
||||
@@ -7039,6 +7098,7 @@ export function toAcpNotifications(
|
||||
_meta: {
|
||||
claudeCode: {
|
||||
toolName: toolUse.name,
|
||||
...(nonExecution ?? {}),
|
||||
...(options?.parentToolUseId ? { parentToolUseId: options.parentToolUseId } : {}),
|
||||
},
|
||||
} satisfies ToolUpdateMeta,
|
||||
@@ -7110,6 +7170,7 @@ export function toAcpNotifications(
|
||||
_meta: {
|
||||
claudeCode: {
|
||||
toolName: toolUse.name,
|
||||
...(nonExecution ?? {}),
|
||||
},
|
||||
...(toolMeta?.terminal_exit ? { terminal_exit: toolMeta.terminal_exit } : {}),
|
||||
} satisfies ToolUpdateMeta,
|
||||
|
||||
Reference in New Issue
Block a user