Commit Graph

82 Commits

Author SHA1 Message Date
github-actions[bot] 750d69c024 chore: version packages (#568)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @langchain/node-vfs@0.2.0

### Minor Changes

- [#575](https://github.com/langchain-ai/deepagentsjs/pull/575)
[`5d266a2`](https://github.com/langchain-ai/deepagentsjs/commit/5d266a213d8d3d15c2281e2e00ab71ee30ca3ffe)
Thanks [@hntrl](https://github.com/hntrl)! - BREAKING: remove shell
execution from the VFS provider

`VfsBackend` now operates as a filesystem-only `BackendProtocolV2`
implementation and no longer exposes command execution.

The provider now implements `read`, `ls`, `grep`, and `glob` directly
against the in-memory VFS, path resolution is confined to the virtual
workspace root, and legacy `VfsSandbox` / `createVfsSandboxFactory*`
aliases are removed.
## @langchain/quickjs@0.5.0

### Minor Changes

- [#590](https://github.com/langchain-ai/deepagentsjs/pull/590)
[`7ee3feb`](https://github.com/langchain-ai/deepagentsjs/commit/7ee3feb674c361305b2a031db9132253e3d0543b)
Thanks [@colifran](https://github.com/colifran)! - chore(quickjs):
remove skills backend and associated plumbing

- [#592](https://github.com/langchain-ai/deepagentsjs/pull/592)
[`72cfb0c`](https://github.com/langchain-ai/deepagentsjs/commit/72cfb0c0384b30059b5e8028139a2e167c1be882)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs):
implement default subagent primitive in code interpreter for
programmatic subagent calling

### Patch Changes

- [#594](https://github.com/langchain-ai/deepagentsjs/pull/594)
[`61db938`](https://github.com/langchain-ai/deepagentsjs/commit/61db9381494f61b4548cd80b715e5af72fdde381)
Thanks [@colifran](https://github.com/colifran)! - chore(quickjs):
remove configurable concurrency and add subagents option with true
default

- [#546](https://github.com/langchain-ai/deepagentsjs/pull/546)
[`b7a5f26`](https://github.com/langchain-ai/deepagentsjs/commit/b7a5f26fd9cba992b11e1a4cf18607d64533503b)
Thanks [@open-swe](https://github.com/apps/open-swe)! - fix(quickjs):
scope `CodeInterpreterMiddleware` REPL prompt sandbox bullet to the
runtime
## deepagents-acp@0.1.14

### Patch Changes

- Updated dependencies
[[`18557db`](https://github.com/langchain-ai/deepagentsjs/commit/18557db7bbdf92052ed5f994512fb70e11989e69),
[`773cac5`](https://github.com/langchain-ai/deepagentsjs/commit/773cac5dc7efc7843dd882642d91f7d64d6fde81),
[`1ca6dc9`](https://github.com/langchain-ai/deepagentsjs/commit/1ca6dc92fd40a6d845d24b95ba14b8f2643db394),
[`03df237`](https://github.com/langchain-ai/deepagentsjs/commit/03df237385fbdfefd862076c5588eb39cb6e43c3),
[`84f3c0c`](https://github.com/langchain-ai/deepagentsjs/commit/84f3c0c2f1cad271191bcc138b84ba5b9c9205c9),
[`72cfb0c`](https://github.com/langchain-ai/deepagentsjs/commit/72cfb0c0384b30059b5e8028139a2e167c1be882),
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4),
[`18fbb48`](https://github.com/langchain-ai/deepagentsjs/commit/18fbb4839050e98ae3cfd36ec69b11f0725ad6d6),
[`e3d4b53`](https://github.com/langchain-ai/deepagentsjs/commit/e3d4b5367b1825df56c919b483ec4a3e117d631f)]:
  - deepagents@1.10.4
## deepagents@1.10.4

### Patch Changes

- [#551](https://github.com/langchain-ai/deepagentsjs/pull/551)
[`18557db`](https://github.com/langchain-ai/deepagentsjs/commit/18557db7bbdf92052ed5f994512fb70e11989e69)
Thanks [@antonnak](https://github.com/antonnak)! - fix(deepagents): gate
cache_control writes on per-call request.model

`createCacheBreakpointMiddleware` and `createMemoryMiddleware` were
gating
the Anthropic-specific `cache_control` write at agent-creation time
only.
When `modelFallbackMiddleware` swapped `request.model` to a
non-Anthropic
  provider mid-flight (e.g. on Anthropic 5xx), the marker leaked through
  and the fallback provider rejected the request with
  `400 Unknown parameter: 'cache_control'`. Both middlewares now also
check `isAnthropicModel(request.model)` inside `wrapModelCall`. Fixes
[#550](https://github.com/langchain-ai/deepagentsjs/issues/550).

- [#591](https://github.com/langchain-ai/deepagentsjs/pull/591)
[`773cac5`](https://github.com/langchain-ai/deepagentsjs/commit/773cac5dc7efc7843dd882642d91f7d64d6fde81)
Thanks [@colifran](https://github.com/colifran)! - chore(deepagents):
expose createSubAgent

- [#541](https://github.com/langchain-ai/deepagentsjs/pull/541)
[`1ca6dc9`](https://github.com/langchain-ai/deepagentsjs/commit/1ca6dc92fd40a6d845d24b95ba14b8f2643db394)
Thanks [@ixchio](https://github.com/ixchio)! - fix getMimeType to return
application/octet-stream for unknown file extensions instead of
text/plain

- [#572](https://github.com/langchain-ai/deepagentsjs/pull/572)
[`03df237`](https://github.com/langchain-ai/deepagentsjs/commit/03df237385fbdfefd862076c5588eb39cb6e43c3)
Thanks [@hntrl](https://github.com/hntrl)! - fix: scope CompositeBackend
grep/glob route fanout by search path

CompositeBackend now limits fallback route fanout to routes mounted
under the requested search path, instead of querying all routed backends
unconditionally.

This avoids unrelated routed backend calls (and side-effect errors) for
scoped searches like `path="/workspace"`, while preserving full fanout
behavior at root (`path="/"`).

- [#574](https://github.com/langchain-ai/deepagentsjs/pull/574)
[`84f3c0c`](https://github.com/langchain-ai/deepagentsjs/commit/84f3c0c2f1cad271191bcc138b84ba5b9c9205c9)
Thanks [@hntrl](https://github.com/hntrl)! - fix(deepagents): add
explicit browser and node entrypoints
  - add `deepagents/browser` and `deepagents/node` subpath exports
- route browser bundlers to the browser-safe bundle via the root
`browser` export condition
- avoid named Node builtin imports in backend utils that can break
browser builds
  - document browser guidance to import from `deepagents/browser`

- [#592](https://github.com/langchain-ai/deepagentsjs/pull/592)
[`72cfb0c`](https://github.com/langchain-ai/deepagentsjs/commit/72cfb0c0384b30059b5e8028139a2e167c1be882)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs):
implement default subagent primitive in code interpreter for
programmatic subagent calling

- [#566](https://github.com/langchain-ai/deepagentsjs/pull/566)
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4)
Thanks [@hntrl](https://github.com/hntrl)! - fix(deepagents): propagate
subagent `lc_agent_name` during task delegation
- Ensure `task` tool subagent invocations override
`metadata.lc_agent_name` with the selected `subagent_type`.
- Add regression coverage for both compiled subagents (`runnable`) and
standard subagent specs to verify tool-time metadata reflects the active
subagent.
- Update the `langsmith` peer dependency range in `deepagents` to
`^0.7.1`.

- [#595](https://github.com/langchain-ai/deepagentsjs/pull/595)
[`18fbb48`](https://github.com/langchain-ai/deepagentsjs/commit/18fbb4839050e98ae3cfd36ec69b11f0725ad6d6)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(deepagents): count tokens once per model call in summarization
middleware

`createSummarizationMiddleware` counted tokens twice on every model
call—once
inside `truncateArgs` and again for the should-summarize check—even when
nothing was truncated or summarized. Count once and pass the total into
`truncateArgs`; recount only when truncation actually modifies messages.

- [#242](https://github.com/langchain-ai/deepagentsjs/pull/242)
[`e3d4b53`](https://github.com/langchain-ai/deepagentsjs/commit/e3d4b5367b1825df56c919b483ec4a3e117d631f)
Thanks [@alvedder](https://github.com/alvedder)! - feat(deepagents):
support direct skill paths as sources in createSkillsMiddleware
## @deepagents/evals@0.0.13

### Patch Changes

- Updated dependencies
[[`18557db`](https://github.com/langchain-ai/deepagentsjs/commit/18557db7bbdf92052ed5f994512fb70e11989e69),
[`773cac5`](https://github.com/langchain-ai/deepagentsjs/commit/773cac5dc7efc7843dd882642d91f7d64d6fde81),
[`1ca6dc9`](https://github.com/langchain-ai/deepagentsjs/commit/1ca6dc92fd40a6d845d24b95ba14b8f2643db394),
[`03df237`](https://github.com/langchain-ai/deepagentsjs/commit/03df237385fbdfefd862076c5588eb39cb6e43c3),
[`84f3c0c`](https://github.com/langchain-ai/deepagentsjs/commit/84f3c0c2f1cad271191bcc138b84ba5b9c9205c9),
[`72cfb0c`](https://github.com/langchain-ai/deepagentsjs/commit/72cfb0c0384b30059b5e8028139a2e167c1be882),
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4),
[`18fbb48`](https://github.com/langchain-ai/deepagentsjs/commit/18fbb4839050e98ae3cfd36ec69b11f0725ad6d6),
[`e3d4b53`](https://github.com/langchain-ai/deepagentsjs/commit/e3d4b5367b1825df56c919b483ec4a3e117d631f)]:
  - deepagents@1.10.4

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-17 15:05:26 -07:00
Colin Francis 61db938149 chore(quickjs): remove configurable concurrency and add subagents option with true default (#594)
### Summary

This PR remove the configurable concurrency option from code interpreter
middleware options and adds a subagents option that is true by default
2026-06-11 16:10:15 -07:00
Colin Francis 72cfb0c038 feat(quickjs): implement default task primitive in code interpreter for programmatic subagent calling (#592)
### Summary

This PR adds a default task primitive to the code interpreter that
allows the agent to natively write code to programmatically dispatch
subagents. The task primitive supports passing response schemas for
dynamic structured output that helps with more complex orchestration
patterns.

This PR also removes the swarm task tool in favor of the task primitive.

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-06-11 15:36:01 -07:00
Colin Francis 7ee3feb674 chore(quickjs): remove skills backend and associated plumbing (#590)
### Summary

Removes skills backend and associated plumbing from code interpreter
middleware and options
2026-06-10 11:53:13 -07:00
dependabot[bot] 7c47e66601 build(deps): bump the minor-deps-updates-main group across 1 directory with 19 updates (#581)
Bumps the minor-deps-updates-main group with 19 updates in the /
directory:

| Package | From | To |
| --- | --- | --- |
|
[@changesets/changelog-github](https://github.com/changesets/changesets)
| `0.6.0` | `0.7.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.5.0` |
`17.6.0` |
| [jiti](https://github.com/unjs/jiti) | `2.6.1` | `2.7.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) |
`0.47.0` | `0.53.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) |
`1.62.0` | `1.68.0` |
| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |
|
[@agentclientprotocol/sdk](https://github.com/agentclientprotocol/typescript-sdk)
| `0.18.2` | `0.24.0` |
|
[@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core)
| `1.2.9` | `1.3.4` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `25.6.0` | `25.9.1` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.21.10` | `0.22.1` |
|
[@langchain/langgraph-sdk](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/sdk)
| `1.8.10` | `1.9.15` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.3.5` |
`1.4.4` |
| [yaml](https://github.com/eemeli/yaml) | `2.8.3` | `2.9.0` |
| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) |
`1.3.28` | `1.4.0` |
| [@daytonaio/sdk](https://github.com/daytonaio/daytona) | `0.155.0` |
`0.184.0` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.6.1` |
`0.7.4` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) |
`8.20.0` | `8.21.0` |
|
[@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)
| `4.2.4` | `4.3.0` |
|
[tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)
| `4.2.4` | `4.3.0` |


Updates `@changesets/changelog-github` from 0.6.0 to 0.7.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/changesets/changesets/releases">@​changesets/changelog-github's
releases</a>.</em></p>
<blockquote>
<h2><code>@​changesets/changelog-github</code><a
href="https://github.com/0"><code>@​0</code></a>.7.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/changesets/changesets/pull/1255">#1255</a>
<a
href="https://github.com/changesets/changesets/commit/94578cf164aa7abcb12b97dd3a55d12a324f4fe8"><code>94578cf</code></a>
Thanks <a href="https://github.com/Kauhsa"><code>@​Kauhsa</code></a>! -
Added <code>disableThanks</code> option</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/changesets/changesets/commit/d1ef2d8cc11f86042a82f0cf7b125021e24dafc4"><code>d1ef2d8</code></a>
Version Packages (<a
href="https://redirect.github.com/changesets/changesets/issues/1950">#1950</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/7af587636b8e793cc43fc6a52d32598193fcb68e"><code>7af5876</code></a>
Restrict <code>publish</code> job to the <code>npm</code> env (<a
href="https://redirect.github.com/changesets/changesets/issues/1972">#1972</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/ff767d2da25173bcab643826702b2af74cbf08cf"><code>ff767d2</code></a>
Sync config-file-options documentation with schema.json and source code
(<a
href="https://redirect.github.com/changesets/changesets/issues/1683">#1683</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/951094babb7c356536c243e9cca0faa3ec86360a"><code>951094b</code></a>
fix: pin 2 unpinned action(s) (<a
href="https://redirect.github.com/changesets/changesets/issues/1915">#1915</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/94578cf164aa7abcb12b97dd3a55d12a324f4fe8"><code>94578cf</code></a>
Added <code>disableThanks</code> option (<a
href="https://redirect.github.com/changesets/changesets/issues/1255">#1255</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/d87334df92a36788e778b21e2bc603beb754f0d5"><code>d87334d</code></a>
Support dark mode banner in readme (<a
href="https://redirect.github.com/changesets/changesets/issues/1943">#1943</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/87472a757062402ca121bd168d693a1be866cf45"><code>87472a7</code></a>
Update .vscode/settings.json (<a
href="https://redirect.github.com/changesets/changesets/issues/1944">#1944</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/317a373aef2639e4ca2804f20aeb4af5338c41ca"><code>317a373</code></a>
Disable <code>publish_pr</code> job</li>
<li><a
href="https://github.com/changesets/changesets/commit/9cce6db18ddecbf7f9cded45254b9905b19a7516"><code>9cce6db</code></a>
Version Packages (<a
href="https://redirect.github.com/changesets/changesets/issues/1897">#1897</a>)</li>
<li><a
href="https://github.com/changesets/changesets/commit/d2121dc3d86b55f76de6022ccfcde843ed4b884a"><code>d2121dc</code></a>
Fix npm auth for path-based registries during publish by preserving
configure...</li>
<li>Additional commits viewable in <a
href="https://github.com/changesets/changesets/compare/@changesets/changelog-github@0.6.0...@changesets/changelog-github@0.7.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.5.0 to 17.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.6.0</h2>
<ul>
<li>Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)
00a4dd9</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0">https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc"><code>6b15870</code></a>
17.6.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d"><code>00a4dd9</code></a>
Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jiti` from 2.6.1 to 2.7.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/unjs/jiti/releases">jiti's
releases</a>.</em></p>
<blockquote>
<h2>v2.7.0</h2>
<p><a
href="https://github.com/unjs/jiti/compare/v2.6.1...v2.7.0">compare
changes</a></p>
<h3>🚀 Enhancements</h3>
<ul>
<li>Add explicit resource management (<code>using</code>/<code>await
using</code>) support (<a
href="https://redirect.github.com/unjs/jiti/pull/422">#422</a>)</li>
<li>Support opt-in <code>tsconfigPaths</code> (<a
href="https://redirect.github.com/unjs/jiti/pull/427">#427</a>)</li>
<li>Support virtual modules (<a
href="https://redirect.github.com/unjs/jiti/pull/428">#428</a>)</li>
<li>Add <code>jiti/static</code> subpath (<a
href="https://redirect.github.com/unjs/jiti/pull/430">#430</a>)</li>
</ul>
<h3>🔥 Performance</h3>
<ul>
<li><strong>interopDefault:</strong> Add caching to reduce proxy
overhead by ~2x (<a
href="https://redirect.github.com/unjs/jiti/pull/421">#421</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>require:</strong> Passthrough resolve options (<a
href="https://redirect.github.com/unjs/jiti/pull/412">#412</a>)</li>
<li><strong>require:</strong> Fallback to transpilation when
<code>tryNative</code> fails (<a
href="https://redirect.github.com/unjs/jiti/pull/413">#413</a>)</li>
<li>Fallback for <code>ENAMETOOLONG</code> when evaluating esm (<a
href="https://redirect.github.com/unjs/jiti/pull/429">#429</a>)</li>
</ul>
<h3>📦 Build</h3>
<ul>
<li>Upgrade rspack to v2 (<a
href="https://github.com/unjs/jiti/commit/55194fb">55194fb</a>)</li>
<li>Experimental rolldown config (<a
href="https://github.com/unjs/jiti/commit/8c0243f">8c0243f</a>)</li>
</ul>
<h3> Tests</h3>
<ul>
<li>Ignore jsx test for bun/cjs (<a
href="https://github.com/unjs/jiti/commit/3a744ca">3a744ca</a>)</li>
</ul>
<h3>❤️ Contributors</h3>
<ul>
<li>Pooya Parsa (<a
href="https://github.com/pi0"><code>@​pi0</code></a>)</li>
<li>Kricsleo (<a
href="https://github.com/kricsleo"><code>@​kricsleo</code></a>)</li>
<li>Espen Hovlandsdal (<a
href="https://github.com/rexxars"><code>@​rexxars</code></a>)</li>
<li>Rintaro Itokawa (<a
href="https://github.com/re-taro"><code>@​re-taro</code></a>)</li>
<li>Matteo Collina (<a
href="https://github.com/mcollina"><code>@​mcollina</code></a>)</li>
<li>Mario Zechner (<a
href="https://github.com/badlogic"><code>@​badlogic</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/unjs/jiti/blob/main/CHANGELOG.md">jiti's
changelog</a>.</em></p>
<blockquote>
<h2>v2.7.0</h2>
<p><a
href="https://github.com/unjs/jiti/compare/v2.6.1...v2.7.0">compare
changes</a></p>
<h3>🚀 Enhancements</h3>
<ul>
<li>Add explicit resource management (using/await using) support (<a
href="https://redirect.github.com/unjs/jiti/pull/422">#422</a>)</li>
<li>Support opt-in <code>tsconfigPaths</code> (<a
href="https://redirect.github.com/unjs/jiti/pull/427">#427</a>)</li>
<li>Support virtual modules option (<a
href="https://redirect.github.com/unjs/jiti/pull/428">#428</a>)</li>
<li>Add <code>jiti/static</code> export (<a
href="https://redirect.github.com/unjs/jiti/pull/430">#430</a>)</li>
</ul>
<h3>🔥 Performance</h3>
<ul>
<li><strong>interopDefault:</strong> Add caching to reduce proxy
overhead by ~2x (<a
href="https://redirect.github.com/unjs/jiti/pull/421">#421</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>require:</strong> Passthrough resolve options (<a
href="https://redirect.github.com/unjs/jiti/pull/412">#412</a>)</li>
<li><strong>ci:</strong> Skip <code>--coverage</code> flag for node 18
(<a href="https://github.com/unjs/jiti/commit/fe264b4">fe264b4</a>)</li>
<li><strong>require:</strong> Fallback to transpilation when
<code>tryNative</code> fails (<a
href="https://redirect.github.com/unjs/jiti/pull/413">#413</a>)</li>
<li>Fallback for <code>ENAMETOOLONG</code> when evaluating esm (<a
href="https://redirect.github.com/unjs/jiti/pull/429">#429</a>)</li>
</ul>
<h3>📦 Build</h3>
<ul>
<li>Upgrade rspack (<a
href="https://github.com/unjs/jiti/commit/55194fb">55194fb</a>)</li>
<li>Experimental rolldown config (<a
href="https://github.com/unjs/jiti/commit/8c0243f">8c0243f</a>)</li>
</ul>
<h3>🏡 Chore</h3>
<ul>
<li>Fix lint issues (<a
href="https://github.com/unjs/jiti/commit/4045c7a">4045c7a</a>)</li>
<li>Update deps (<a
href="https://github.com/unjs/jiti/commit/e88ac44">e88ac44</a>)</li>
<li>Update deps (<a
href="https://github.com/unjs/jiti/commit/498e8d7">498e8d7</a>)</li>
<li>Add missing prettier dep (<a
href="https://github.com/unjs/jiti/commit/650bc48">650bc48</a>)</li>
<li>Lint (<a
href="https://github.com/unjs/jiti/commit/058d91a">058d91a</a>)</li>
<li>Init agents.md (<a
href="https://github.com/unjs/jiti/commit/c49c54e">c49c54e</a>)</li>
<li>Update agents.md (<a
href="https://github.com/unjs/jiti/commit/4deba16">4deba16</a>)</li>
<li>Update deps (<a
href="https://github.com/unjs/jiti/commit/08fc868">08fc868</a>)</li>
<li>Update tsconfig (<a
href="https://github.com/unjs/jiti/commit/8c7822e">8c7822e</a>)</li>
<li>Update release script (<a
href="https://github.com/unjs/jiti/commit/27fe3f2">27fe3f2</a>)</li>
</ul>
<h3> Tests</h3>
<ul>
<li>Ignore jsx test for bun/cjs (<a
href="https://github.com/unjs/jiti/commit/3a744ca">3a744ca</a>)</li>
<li>Update (<a
href="https://github.com/unjs/jiti/commit/9ee314f">9ee314f</a>)</li>
</ul>
<h3>🤖 CI</h3>
<ul>
<li>Update node test matrix (<a
href="https://github.com/unjs/jiti/commit/0abda72">0abda72</a>)</li>
</ul>
<h3>❤️ Contributors</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/unjs/jiti/commit/fd3bb289b75ed207edfb686d671ed50144f7e90f"><code>fd3bb28</code></a>
chore(release): v2.7.0</li>
<li><a
href="https://github.com/unjs/jiti/commit/27fe3f2a496b712674061c767f21ceaf34d39d83"><code>27fe3f2</code></a>
chore: update release script</li>
<li><a
href="https://github.com/unjs/jiti/commit/4fcd2f23aa31d2e1ece4b307350b8c1d72a26870"><code>4fcd2f2</code></a>
fix: fallback for <code>ENAMETOOLONG</code> when evaluating esm (<a
href="https://redirect.github.com/unjs/jiti/issues/429">#429</a>)</li>
<li><a
href="https://github.com/unjs/jiti/commit/8c0243f14e65193fceb023b81aed5c9a820ee2cb"><code>8c0243f</code></a>
build: experimental rolldown config</li>
<li><a
href="https://github.com/unjs/jiti/commit/55194fbb97b56af50ae1c19735ee3b06110b3903"><code>55194fb</code></a>
build: upgrade rspack</li>
<li><a
href="https://github.com/unjs/jiti/commit/0abda72c11fa31654ae17f255f9a854e4b706018"><code>0abda72</code></a>
ci: update node test matrix</li>
<li><a
href="https://github.com/unjs/jiti/commit/8c7822ef2ff03669c31de2fedfcf6676970f5b2a"><code>8c7822e</code></a>
chore: update tsconfig</li>
<li><a
href="https://github.com/unjs/jiti/commit/08fc868c928d65fb615800e51b0ec1ac78f83a69"><code>08fc868</code></a>
chore: update deps</li>
<li><a
href="https://github.com/unjs/jiti/commit/5d552e3bebf9ffcd3fb9f176364fce7b4e35134d"><code>5d552e3</code></a>
feat: add <code>jiti/static</code> export (<a
href="https://redirect.github.com/unjs/jiti/issues/430">#430</a>)</li>
<li><a
href="https://github.com/unjs/jiti/commit/ae790b0214512857e40e8b3078b63a7d65f7f2c9"><code>ae790b0</code></a>
feat: support virtual modules option (<a
href="https://redirect.github.com/unjs/jiti/issues/428">#428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/unjs/jiti/compare/v2.6.1...v2.7.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `oxfmt` from 0.47.0 to 0.53.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/oxc-project/oxc/commit/964a7580840f394d67c149ea083e35a1e74c128f"><code>964a758</code></a>
release(apps): oxlint v1.68.0 &amp;&amp; oxfmt v0.53.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22883">#22883</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/68b455d84f0b18bd6646cfe4f9babb12ec4fc448"><code>68b455d</code></a>
release(apps): oxlint v1.67.0 &amp;&amp; oxfmt v0.52.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22735">#22735</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/16b8058cd6fd55472cb3a225852ca22db24bb461"><code>16b8058</code></a>
feat(oxfmt): Support <code>vite-plus/resolveConfig</code> for
vite.config.ts (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22454">#22454</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/557020642e27b948e46f73754b82bee452a82f32"><code>5570206</code></a>
release(apps): oxlint v1.66.0 &amp;&amp; oxfmt v0.51.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22528">#22528</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/25e5cbc76f887cf5c0c2bdfbef8d4a74fd1ce87d"><code>25e5cbc</code></a>
release(apps): oxlint v1.65.0 &amp;&amp; oxfmt v0.50.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22458">#22458</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/43b997847b76bfbc35e83738296330a9a33de4e4"><code>43b9978</code></a>
fix(formatter/sort_imports): Treat subpath imports as internal (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22440">#22440</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/d652a556196178515a3c1ea6d25a832c74961d02"><code>d652a55</code></a>
release(apps): oxlint v1.64.0 &amp;&amp; oxfmt v0.49.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22318">#22318</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/6e8e8185c0a3d653bb90dff051ec7d4558793752"><code>6e8e818</code></a>
feat(oxfmt): Experimental .svelte support (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/21700">#21700</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/330fe31f826b7d4ae11ae49ba50e2b2ab2bdc6f1"><code>330fe31</code></a>
refactor(config): Update doc comment for <code>GlobSet</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22197">#22197</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/fb3067ca2bafbbf7d75b058788202dc16d994f3e"><code>fb3067c</code></a>
refactor(oxfmt): use shared GlobSet for overrides (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22147">#22147</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/oxc-project/oxc/commits/oxfmt_v0.53.0/npm/oxfmt">compare
view</a></li>
</ul>
</details>
<br />

Updates `oxlint` from 1.62.0 to 1.68.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/oxc-project/oxc/releases">oxlint's
releases</a>.</em></p>
<blockquote>
<h2>oxlint v1.27.0 &amp;&amp; oxfmt v0.12.0</h2>
<h1>Oxlint v1.27.0</h1>
<h3>🚀 Features</h3>
<ul>
<li>222a8f0 linter/plugins: Implement
<code>SourceCode#isSpaceBetween</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15498">#15498</a>)
(overlookmotel)</li>
<li>2f9735d linter/plugins: Implement
<code>context.languageOptions</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15486">#15486</a>)
(overlookmotel)</li>
<li>bc731ff linter/plugins: Stub out all <code>Context</code> APIs (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15479">#15479</a>)
(overlookmotel)</li>
<li>5822cb4 linter/plugins: Add <code>extend</code> method to
<code>FILE_CONTEXT</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15477">#15477</a>)
(overlookmotel)</li>
<li>7b1e6f3 apps: Add pure rust binaries and release to github (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15469">#15469</a>)
(Boshen)</li>
<li>2a89b43 linter: Introduce debug assertions after fixes to assert
validity (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15389">#15389</a>)
(camc314)</li>
<li>ad3c45a editor: Add <code>oxc.path.node</code> option (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15040">#15040</a>)
(Sysix)</li>
</ul>
<h3>🐛 Bug Fixes</h3>
<ul>
<li>6f3cd77 linter/no-var: Incorrect warning for blocks (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15504">#15504</a>)
(Hamir Mahal)</li>
<li>6957fb9 linter/plugins: Do not allow access to
<code>Context#id</code> in <code>createOnce</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15489">#15489</a>)
(overlookmotel)</li>
<li>7409630 linter/plugins: Allow access to <code>cwd</code> in
<code>createOnce</code> in ESLint interop mode (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15488">#15488</a>)
(overlookmotel)</li>
<li>732205e parser: Reject <code>using</code> / <code>await using</code>
in a switch <code>case</code> / <code>default</code> clause (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15225">#15225</a>)
(sapphi-red)</li>
<li>a17ca32 linter/plugins: Replace <code>Context</code> class (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15448">#15448</a>)
(overlookmotel)</li>
<li>ecf2f7b language_server: Fail gracefully when tsgolint executable
not found (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15436">#15436</a>)
(camc314)</li>
<li>3c8d3a7 lang-server: Improve logging in failure case for tsgolint
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15299">#15299</a>)
(camc314)</li>
<li>ef71410 linter: Use jsx if source type is JS in fix debug assertion
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15434">#15434</a>)
(camc314)</li>
<li>e32bbf6 linter/no-var: Handle TypeScript declare keyword in fixer
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15426">#15426</a>)
(camc314)</li>
<li>6565dbe linter/switch-case-braces: Skip comments when searching for
<code>:</code> token (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15425">#15425</a>)
(camc314)</li>
<li>85bd19a linter/prefer-class-fields: Insert value after type
annotation in fixer (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15423">#15423</a>)
(camc314)</li>
<li>fde753e linter/plugins: Block access to
<code>context.settings</code> in <code>createOnce</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15394">#15394</a>)
(overlookmotel)</li>
<li>ddd9f9f linter/forward-ref-uses-ref: Dont suggest removing wrapper
in invalid positions (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15388">#15388</a>)
(camc314)</li>
<li>dac2a9c linter/no-template-curly-in-string: Remove fixer (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15387">#15387</a>)
(camc314)</li>
<li>989b8e3 linter/no-var: Only fix to <code>const</code> if the var has
an initializer (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15385">#15385</a>)
(camc314)</li>
<li>cc403f5 linter/plugins: Return empty object for unimplemented
parserServices (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15364">#15364</a>)
(magic-akari)</li>
</ul>
<h3> Performance</h3>
<ul>
<li>25d577e language_server: Start tools in parallel (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15500">#15500</a>)
(Sysix)</li>
<li>3c57291 linter/plugins: Optimize loops (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15449">#15449</a>)
(overlookmotel)</li>
<li>3166233 linter/plugins: Remove <code>Arc</code>s (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15431">#15431</a>)
(overlookmotel)</li>
<li>9de1322 linter/plugins: Lazily deserialize settings JSON (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15395">#15395</a>)
(overlookmotel)</li>
<li>3049ec2 linter/plugins: Optimize <code>deepFreezeSettings</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15392">#15392</a>)
(overlookmotel)</li>
<li>444ebfd linter/plugins: Use single object for
<code>parserServices</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15378">#15378</a>)
(overlookmotel)</li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>97d2104 linter: Update comment in lint.rs about default value for
tsconfig path (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15530">#15530</a>)
(Connor Shea)</li>
<li>2c6bd9e linter: Always refer as &quot;ES2015&quot; instead of
&quot;ES6&quot; (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15411">#15411</a>)
(sapphi-red)</li>
<li>a0c5203 linter/import/named: Update &quot;ES7&quot; comment in
examples (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15410">#15410</a>)
(sapphi-red)</li>
<li>3dc24b5 linter,minifier: Always refer as &quot;ES Modules&quot;
instead of &quot;ES6 Modules&quot; (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15409">#15409</a>)
(sapphi-red)</li>
<li>2ad77fb linter/no-this-before-super: Correct &quot;Why is this
bad?&quot; section (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15408">#15408</a>)
(sapphi-red)</li>
<li>57f0ce1 linter: Add backquotes where appropriate (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15407">#15407</a>)
(sapphi-red)</li>
</ul>
<h1>Oxfmt v0.12.0</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md">oxlint's
changelog</a>.</em></p>
<blockquote>
<h2>[1.68.0] - 2026-06-01</h2>
<h3>🚀 Features</h3>
<ul>
<li>e4b1f46 linter/typescript: Implement
<code>method-signature-style</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22679">#22679</a>)
(Mikhail Baev)</li>
<li>bc462ca linter/vue: Implement no-reserved-component-names rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22741">#22741</a>)
(bab)</li>
<li>ef9e751 linter/vue: Implement component-definition-name-casing rule
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22818">#22818</a>)
(bab)</li>
<li>d67f51a linter/vue: Implement require-prop-type-constructor rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22708">#22708</a>)
(bab)</li>
<li>8422e8b linter/jsdoc: Implement
<code>require-yields-description</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22805">#22805</a>)
(Mikhail Baev)</li>
<li>fe93f97 linter/eslint: Implement
<code>prefer-named-capture-group</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22759">#22759</a>)
(Sebastian Poxhofer)</li>
</ul>
<h2>[1.67.0] - 2026-05-26</h2>
<h3>🚀 Features</h3>
<ul>
<li>b84941e linter/vue: Implement no-expose-after-await rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675">#22675</a>)
(bab)</li>
<li>98b98c1 linter/vue: Implement no-computed-properties-in-data rule
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22674">#22674</a>)
(bab)</li>
<li>2d4c919 oxlint: Support <code>vite-plus/resolveConfig</code> for
vite.config.ts (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22456">#22456</a>)
(leaysgur)</li>
<li>2a60012 linter/vue: Implement require-render-return rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22613">#22613</a>)
(bab)</li>
<li>9f227fd linter/vue: Implement no-deprecated-props-default-this rule
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21892">#21892</a>)
(bab)</li>
<li>87f065e linter/vue: Implement return-in-emits-validator rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21935">#21935</a>)
(bab)</li>
<li>ea0380c linter/unicorn: Implement <code>import-style</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22173">#22173</a>)
(Hao Chen)</li>
<li>dde40fe linter/vue: Implement no-watch-after-await rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22006">#22006</a>)
(bab)</li>
<li>a735eb0 linter/vue: Implement valid-next-tick rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22531">#22531</a>)
(bab)</li>
<li>6dc615d linter/vue: Implement no-shared-component-data rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21842">#21842</a>)
(bab)</li>
<li>a656418 linter/vue: Implement valid-define-options rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22107">#22107</a>)
(bab)</li>
<li>bb6f1b2 linter/vue: Implement require-slots-as-functions rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22244">#22244</a>)
(bab)</li>
<li>5fa4774 linter/n: Implement <code>callback-return</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22470">#22470</a>)
(Mikhail Baev)</li>
</ul>
<h2>[1.66.0] - 2026-05-18</h2>
<h3>🚀 Features</h3>
<ul>
<li>0440b0f linter/eslint: Implement <code>id-match</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22379">#22379</a>)
(Vladislav Sayapin)</li>
<li>65bf119 linter: Implement react no-object-type-as-default-prop (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22481">#22481</a>)
(uhyo)</li>
<li>2a6ddce linter/eslint: Implement <code>no-implied-eval</code> rule
(<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22391">#22391</a>)
(Vladislav Sayapin)</li>
<li>625758a linter/vitest: Implement padding-around-after-all-blocks
rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21788">#21788</a>)
(kapobajza)</li>
<li>37680b0 linter: Implement react no-unstable-nested-components (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22248">#22248</a>)
(Jovi De Croock)</li>
<li>d8d9c74 linter: Implement import/newline-after-import rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/19142">#19142</a>)
(Ryuya Yanagi)</li>
</ul>
<h2>[1.65.0] - 2026-05-15</h2>
<h3>🚀 Features</h3>
<ul>
<li>5478fb5 linter/jsdoc: Implement
<code>require-throws-description</code> rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22386">#22386</a>)
(Mikhail Baev)</li>
<li>c73225e linter/eslint: Implement <code>prefer-arrow-callback</code>
rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22312">#22312</a>)
(박천(Cheon Park))</li>
<li>de82b59 linter: Add support for
<code>eslint-plugin-jsx-a11y-x</code> (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22356">#22356</a>)
(mehm8128)</li>
<li>f44b6c8 linter: Fill schemas <code>DummyRuleMap</code> with built-in
rules (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22288">#22288</a>)
(Sysix)</li>
</ul>
<h2>[1.64.0] - 2026-05-11</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/oxc-project/oxc/commit/964a7580840f394d67c149ea083e35a1e74c128f"><code>964a758</code></a>
release(apps): oxlint v1.68.0 &amp;&amp; oxfmt v0.53.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22883">#22883</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/3f05c5e1267c25daa1c90babd84427f59acf96be"><code>3f05c5e</code></a>
feat(linter): expose <code>override::exclude_files</code> option (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22884">#22884</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/e4b1f46bec95da661af72f513e769d729ff605c6"><code>e4b1f46</code></a>
feat(linter/typescript): implement <code>method-signature-style</code>
rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22679">#22679</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/bc462ca5a778c246d6185d9b8d2cbdf3919ed527"><code>bc462ca</code></a>
feat(linter/vue): implement no-reserved-component-names rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22741">#22741</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/ef9e75170dca39091e4aa8360f7d59dc5aa206eb"><code>ef9e751</code></a>
feat(linter/vue): implement component-definition-name-casing rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22818">#22818</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/d67f51aba16939ce33b21c7504e177a9ff1c6887"><code>d67f51a</code></a>
feat(linter/vue): implement require-prop-type-constructor rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22708">#22708</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/8422e8bc44db47033ce516f9375867624e265823"><code>8422e8b</code></a>
feat(linter/jsdoc): implement <code>require-yields-description</code>
rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22805">#22805</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/fe93f9718ac09bab79286eb6dbc90ad14f8270bd"><code>fe93f97</code></a>
feat(linter/eslint): implement <code>prefer-named-capture-group</code>
rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22759">#22759</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/68b455d84f0b18bd6646cfe4f9babb12ec4fc448"><code>68b455d</code></a>
release(apps): oxlint v1.67.0 &amp;&amp; oxfmt v0.52.0 (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22735">#22735</a>)</li>
<li><a
href="https://github.com/oxc-project/oxc/commit/b84941e69e2e630e998fe6b1e90b0506608f7caa"><code>b84941e</code></a>
feat(linter/vue): implement no-expose-after-await rule (<a
href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675">#22675</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/oxc-project/oxc/commits/oxlint_v1.68.0/npm/oxlint">compare
view</a></li>
</ul>
</details>
<br />

Updates `tsx` from 4.21.0 to 4.22.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/privatenumber/tsx/releases">tsx's
releases</a>.</em></p>
<blockquote>
<h2>v4.22.4</h2>
<h2><a
href="https://github.com/privatenumber/tsx/compare/v4.22.3...v4.22.4">4.22.4</a>
(2026-05-31)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>resolve CommonJS directory requires inside dependencies (<a
href="https://redirect.github.com/privatenumber/tsx/issues/803">#803</a>)
(<a
href="https://github.com/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97">1ce8463</a>)</li>
</ul>
<hr />
<p>This release is also available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/tsx/v/4.22.4"><code>npm
package (@​latest dist-tag)</code></a></li>
</ul>
<h2>v4.22.3</h2>
<h2><a
href="https://github.com/privatenumber/tsx/compare/v4.22.2...v4.22.3">4.22.3</a>
(2026-05-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>decode typed loader source (<a
href="https://github.com/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f">dce02fc</a>)</li>
<li>preserve entrypoint with TypeScript preload hooks (<a
href="https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2">68f72f3</a>)</li>
</ul>
<hr />
<p>This release is also available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/tsx/v/4.22.3"><code>npm
package (@​latest dist-tag)</code></a></li>
</ul>
<h2>v4.22.2</h2>
<h2><a
href="https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.2">4.22.2</a>
(2026-05-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>preserve CJS JSON require in ESM hooks (<a
href="https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60">35b700b</a>)</li>
<li>preserve named exports from CommonJS TypeScript (<a
href="https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089">11de737</a>)</li>
<li>support module.exports require(esm) interop (<a
href="https://github.com/privatenumber/tsx/commit/cf8f19918e4e0a0dc5ee5c52d8cc15e5e22d7c49">cf8f199</a>)</li>
</ul>
<hr />
<p>This release is also available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/tsx/v/4.22.2"><code>npm
package (@​latest dist-tag)</code></a></li>
</ul>
<h2>v4.22.1</h2>
<h2><a
href="https://github.com/privatenumber/tsx/compare/v4.22.0...v4.22.1">4.22.1</a>
(2026-05-17)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>resolve tsconfig path aliases containing a colon (<a
href="https://redirect.github.com/privatenumber/tsx/issues/780">#780</a>)
(<a
href="https://github.com/privatenumber/tsx/commit/6979f28810829dc79ec9baf406e162a18b65ab4b">6979f28</a>)</li>
</ul>
<hr />
<p>This release is also available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/tsx/v/4.22.1"><code>npm
package (@​latest dist-tag)</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97"><code>1ce8463</code></a>
fix: resolve CommonJS directory requires inside dependencies (<a
href="https://redirect.github.com/privatenumber/tsx/issues/803">#803</a>)</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f"><code>dce02fc</code></a>
fix: decode typed loader source</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2"><code>68f72f3</code></a>
fix: preserve entrypoint with TypeScript preload hooks</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/69455cfefbfe71100a3c58d3ce7cea42445d9113"><code>69455cf</code></a>
test: cover package exports for ambiguous ESM reexports</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60"><code>35b700b</code></a>
fix: preserve CJS JSON require in ESM hooks</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/ef807dba6832260fb4cafd78d81f5469a733966b"><code>ef807db</code></a>
chore: update testing dependencies</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/3917090d4f61863ea6ea16e4a9a3722a112cc3f7"><code>3917090</code></a>
test: document compatibility test taxonomy</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/de8113ffa8edbcd4e05fa218324c3e8c2a4afdbe"><code>de8113f</code></a>
refactor: centralize Node capability facts</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/c1f62db45ada60b24ceb3dfdf7f64173d9a15396"><code>c1f62db</code></a>
test: consolidate tsconfig path edge coverage</li>
<li><a
href="https://github.com/privatenumber/tsx/commit/4e08174ec10276ac71c9a69eb28426ad702d0c76"><code>4e08174</code></a>
test: consolidate loader hook coverage</li>
<li>Additional commits viewable in <a
href="https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.4">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for tsx since your current version.</p>
</details>
<br />

Updates `@agentclientprotocol/sdk` from 0.18.2 to 0.24.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agentclientprotocol/typescript-sdk/releases">@​agentclientprotocol/sdk's
releases</a>.</em></p>
<blockquote>
<h2>v0.24.0</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.23.0...v0.24.0">0.24.0</a>
(2026-06-02)</h2>
<h3>Features</h3>
<ul>
<li>Add resilient schema deserialization (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/167">#167</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/5864e7306e0feb0852cef9aee2a5ba53a0a7f627">5864e73</a>)</li>
<li><strong>schema:</strong> Stabilize addl dirs and remove unstable
model selectors (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/165">#165</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/fa6e30280874ccd702cc4ab7577d402d2864f619">fa6e302</a>)</li>
</ul>
<h2>v0.23.0</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.22.1...v0.23.0">0.23.0</a>
(2026-06-01)</h2>
<h3>Features</h3>
<ul>
<li><strong>schema:</strong> Stabilize logout and update schema to
v0.13.4 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/163">#163</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/cfd900a981eb00dbcdee52db2b2b38847a957328">cfd900a</a>)</li>
</ul>
<h2>v0.22.1</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.22.0...v0.22.1">0.22.1</a>
(2026-05-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Event ordering (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/153">#153</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/7b632266f009865d0e8e64def5cd55367363845b">7b63226</a>)</li>
</ul>
<h2>v0.22.0</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.21.1...v0.22.0">0.22.0</a>
(2026-05-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>unstable:</strong> Add session delete handling (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/152">#152</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/f9384f59008298b44fd1e22e5dde3f2e922fc7ec">f9384f5</a>)</li>
<li>Update schema to v0.13.2 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/150">#150</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/b15960b74667f9a582470d58c18ebb9054e5acfd">b15960b</a>)</li>
</ul>
<h2>v0.21.1</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.21.0...v0.21.1">0.21.1</a>
(2026-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>emit .js extensions in generated schema barrel for nodenext
consumers (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/146">#146</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/63b96db49d4826c02fe4afc62a7754db1f9f9ef7">63b96db</a>)</li>
</ul>
<h2>v0.21.0</h2>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.20.0...v0.21.0">0.21.0</a>
(2026-04-28)</h2>
<h3>Features</h3>
<ul>
<li><strong>unstable:</strong> Add <code>providers/*</code> support (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/138">#138</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/e234c213d362d2cd170f8215fa0758a62a59d54e">e234c21</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agentclientprotocol/typescript-sdk/blob/main/CHANGELOG.md">@​agentclientprotocol/sdk's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.23.0...v0.24.0">0.24.0</a>
(2026-06-02)</h2>
<h3>Features</h3>
<ul>
<li>Add resilient schema deserialization (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/167">#167</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/5864e7306e0feb0852cef9aee2a5ba53a0a7f627">5864e73</a>)</li>
<li><strong>schema:</strong> Stabilize addl dirs and remove unstable
model selectors (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/165">#165</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/fa6e30280874ccd702cc4ab7577d402d2864f619">fa6e302</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.22.1...v0.23.0">0.23.0</a>
(2026-06-01)</h2>
<h3>Features</h3>
<ul>
<li><strong>schema:</strong> Stabilize logout and update schema to
v0.13.4 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/163">#163</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/cfd900a981eb00dbcdee52db2b2b38847a957328">cfd900a</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.22.0...v0.22.1">0.22.1</a>
(2026-05-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Event ordering (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/153">#153</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/7b632266f009865d0e8e64def5cd55367363845b">7b63226</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.21.1...v0.22.0">0.22.0</a>
(2026-05-18)</h2>
<h3>Features</h3>
<ul>
<li><strong>unstable:</strong> Add session delete handling (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/152">#152</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/f9384f59008298b44fd1e22e5dde3f2e922fc7ec">f9384f5</a>)</li>
<li>Update schema to v0.13.2 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/150">#150</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/b15960b74667f9a582470d58c18ebb9054e5acfd">b15960b</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.21.0...v0.21.1">0.21.1</a>
(2026-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>emit .js extensions in generated schema barrel for nodenext
consumers (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/146">#146</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/63b96db49d4826c02fe4afc62a7754db1f9f9ef7">63b96db</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.20.0...v0.21.0">0.21.0</a>
(2026-04-28)</h2>
<h3>Features</h3>
<ul>
<li><strong>unstable:</strong> Add <code>providers/*</code> support (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/138">#138</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/e234c213d362d2cd170f8215fa0758a62a59d54e">e234c21</a>)</li>
</ul>
<h2><a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.19.2...v0.20.0">0.20.0</a>
(2026-04-23)</h2>
<h3>Features</h3>
<ul>
<li>Stabilize <code>closeSession</code> and <code>resumeSession</code>
(<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/132">#132</a>)
(<a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/806d307ba92e824e859075f3f72fe1e9b35b8f0b">806d307</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/8966c11c6e88da3a4adfd16f1789ff71c723c530"><code>8966c11</code></a>
chore(main): release 0.24.0 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/166">#166</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/5864e7306e0feb0852cef9aee2a5ba53a0a7f627"><code>5864e73</code></a>
feat: Add resilient schema deserialization (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/167">#167</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/fa6e30280874ccd702cc4ab7577d402d2864f619"><code>fa6e302</code></a>
feat(schema): Stabilize addl dirs and remove unstable model selectors
(<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/165">#165</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/0c2e622a11d49da21b8abdd76ce4cd659ba8c74f"><code>0c2e622</code></a>
chore(main): release 0.23.0 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/164">#164</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/cfd900a981eb00dbcdee52db2b2b38847a957328"><code>cfd900a</code></a>
feat(schema): Stabilize logout and update schema to v0.13.4 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/163">#163</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/171a253ae61a243469f4cee547e447d7a7f3ddbf"><code>171a253</code></a>
chore(deps-dev): bump concurrently from 9.2.1 to 10.0.0 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/162">#162</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/0ecf00184fa194f2006e19d364befb0551fb7d58"><code>0ecf001</code></a>
chore(deps): bump the minor group with 19 updates (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/161">#161</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/ca74103730cf1c68bdcf89301847aadca8cfb797"><code>ca74103</code></a>
chore(deps): bump crate-ci/typos from 1.46.2 to 1.47.0 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/160">#160</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/c6a9c9487d64e884536a6c74d1190f5243796746"><code>c6a9c94</code></a>
chore(deps): bump crate-ci/typos from 1.46.1 to 1.46.2 (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/158">#158</a>)</li>
<li><a
href="https://github.com/agentclientprotocol/typescript-sdk/commit/c7256e7c5d7c8ff8ee888f447210829996a4da78"><code>c7256e7</code></a>
chore(deps): bump the minor group with 43 updates (<a
href="https://redirect.github.com/agentclientprotocol/typescript-sdk/issues/159">#159</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/agentclientprotocol/typescript-sdk/compare/v0.18.2...v0.24.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@langchain/langgraph` from 1.2.9 to 1.3.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langgraphjs/releases">@​langchain/langgraph's
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/langgraph</code><a
href="https://github.com/1"><code>@​1</code></a>.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2035">#2035</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/7c3a98b23af29fee0d9f064942abb71044ed0e51"><code>7c3a98b</code></a>
Thanks <a
href="https://github.com/JadenKim-dev"><code>@​JadenKim-dev</code></a>!
- fix(core): prevent Zod schema defaults from overwriting checkpoint
state in Command.update</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/04915347128e40fc9617647cadba6b472a357d36"><code>0491534</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.12</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/langgraph</code><a
href="https://github.com/1"><code>@​1</code></a>.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2037">#2037</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/9eb478ffeeda2ad9c3bff2cd0f0ac602b0a79f4f"><code>9eb478f</code></a>
Thanks <a
href="https://github.com/pawel-twardziak"><code>@​pawel-twardziak</code></a>!
- Decouple <code>ContextType</code> generic from
<code>configurable</code> in <code>PregelOptions</code> so that
providing a custom context type no longer incorrectly narrows the
configurable parameter.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2457">#2457</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/91a54947155b3fad3234001e63e20099a63ed999"><code>91a5494</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- fix(langgraph): pass context with stateful RemoteGraph runs</p>
<p>Pop <code>thread_id</code> from run <code>config.configurable</code>
and forward <code>context</code> to the SDK so checkpointed remote runs
accept user context without a 400 from ambiguous parameters. Closes <a
href="https://redirect.github.com/langchain-ai/langgraphjs/issues/1922">#1922</a>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/1988">#1988</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/6d4bf927e5cf3744034205528bcd09964949d6d7"><code>6d4bf92</code></a>
Thanks <a href="https://github.com/Axadali"><code>@​Axadali</code></a>!
- Fix race condition in IterableReadableWritableStream.push() that
caused ERR_INVALID_STATE errors when streaming with multiple parallel
nodes and aborting the stream.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2409">#2409</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a>
Thanks <a
href="https://github.com/pragnyanramtha"><code>@​pragnyanramtha</code></a>!
- Preserve non-plain objects passed through <code>Send</code> and
<code>Command</code> argument deserialization.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2344">#2344</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>
Thanks <a
href="https://github.com/apps/dependabot"><code>@​dependabot</code></a>!
- chore(deps): bump uuid to 14.0.0 and keep checkpoint ID ordering
stable</p>
<p>Bump <code>uuid</code> from 10.x/13.x to 14.0.0 across packages.
Starting with uuid 11, <code>v6({ clockseq })</code> no longer advances
the sub-millisecond time counter when an explicit <code>clockseq</code>
is passed, so checkpoint IDs created within the same millisecond were
ordered only by <code>clockseq</code>. Since checkpoint IDs are sorted
lexicographically, this broke ordering — most visibly for the negative
<code>clockseq</code> used by the first (&quot;input&quot;) checkpoint,
which sorted as the newest.</p>
<p><code>uuid6()</code> now maintains its own monotonic <code>(msecs,
nsecs)</code> clock (mirroring uuid 10's internal v1 behavior) so the
time component is always strictly increasing and checkpoint ordering no
longer depends on the <code>clockseq</code> value.
<code>emptyCheckpoint()</code> also uses a non-negative
<code>clockseq</code>.</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/863b555346de02c2c0be290e877b7d260a3f8856"><code>863b555</code></a>,
<a
href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.11</li>
<li><code>@​langchain/langgraph-checkpoint</code><a
href="https://github.com/1"><code>@​1</code></a>.0.4</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/langgraph-checkpoint-mongodb</code><a
href="https://github.com/1"><code>@​1</code></a>.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2260">#2260</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/4d03dcbc28bbfdf4c0f0ac065b9853652836d2f9"><code>4d03dcb</code></a>
Thanks <a
href="https://github.com/venkat22022202"><code>@​venkat22022202</code></a>!
- fix(mongodb): include pendingWrites in list() results</li>
</ul>
<h2><code>@​langchain/langgraph</code><a
href="https://github.com/1"><code>@​1</code></a>.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2415">#2415</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- Move <code>@langchain/core</code> from a runtime dependency back to a
required peer dependency so installing the SDK alone no longer pulls in
<code>@langchain/core</code> (and <code>js-tiktoken</code>, etc.).
Consumers that use streaming or message coercion must install
<code>@langchain/core</code> explicitly or via
<code>@langchain/langgraph</code>.</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.4</li>
</ul>
</li>
</ul>
<h2><code>@​langchain/langgraph-checkpoint-mongodb</code><a
href="https://github.com/1"><code>@​1</code></a>.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2186">#2186</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/26c2e325f435a2c061d6b78a7bd6af089cb1e0e6"><code>26c2e32</code></a>
Thanks <a
href="https://github.com/jackjin1997"><code>@​jackjin1997</code></a>! -
fix: metadata filter in list() now works by querying a plain JSON shadow
copy instead of the serialized binary blob</li>
</ul>
<h2><code>@​langchain/langgraph</code><a
href="https://github.com/1"><code>@​1</code></a>.3.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph-core/CHANGELOG.md">@​langchain/langgraph's
changelog</a>.</em></p>
<blockquote>
<h2>1.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2035">#2035</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/7c3a98b23af29fee0d9f064942abb71044ed0e51"><code>7c3a98b</code></a>
Thanks <a
href="https://github.com/JadenKim-dev"><code>@​JadenKim-dev</code></a>!
- fix(core): prevent Zod schema defaults from overwriting checkpoint
state in Command.update</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/04915347128e40fc9617647cadba6b472a357d36"><code>0491534</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.12</li>
</ul>
</li>
</ul>
<h2>1.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2037">#2037</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/9eb478ffeeda2ad9c3bff2cd0f0ac602b0a79f4f"><code>9eb478f</code></a>
Thanks <a
href="https://github.com/pawel-twardziak"><code>@​pawel-twardziak</code></a>!
- Decouple <code>ContextType</code> generic from
<code>configurable</code> in <code>PregelOptions</code> so that
providing a custom context type no longer incorrectly narrows the
configurable parameter.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2457">#2457</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/91a54947155b3fad3234001e63e20099a63ed999"><code>91a5494</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- fix(langgraph): pass context with stateful RemoteGraph runs</p>
<p>Pop <code>thread_id</code> from run <code>config.configurable</code>
and forward <code>context</code> to the SDK so checkpointed remote runs
accept user context without a 400 from ambiguous parameters. Closes <a
href="https://redirect.github.com/langchain-ai/langgraphjs/issues/1922">#1922</a>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/1988">#1988</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/6d4bf927e5cf3744034205528bcd09964949d6d7"><code>6d4bf92</code></a>
Thanks <a href="https://github.com/Axadali"><code>@​Axadali</code></a>!
- Fix race condition in IterableReadableWritableStream.push() that
caused ERR_INVALID_STATE errors when streaming with multiple parallel
nodes and aborting the stream.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2409">#2409</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a>
Thanks <a
href="https://github.com/pragnyanramtha"><code>@​pragnyanramtha</code></a>!
- Preserve non-plain objects passed through <code>Send</code> and
<code>Command</code> argument deserialization.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2344">#2344</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>
Thanks <a
href="https://github.com/apps/dependabot"><code>@​dependabot</code></a>!
- chore(deps): bump uuid to 14.0.0 and keep checkpoint ID ordering
stable</p>
<p>Bump <code>uuid</code> from 10.x/13.x to 14.0.0 across packages.
Starting with uuid 11, <code>v6({ clockseq })</code> no longer advances
the sub-millisecond time counter when an explicit <code>clockseq</code>
is passed, so checkpoint IDs created within the same millisecond were
ordered only by <code>clockseq</code>. Since checkpoint IDs are sorted
lexicographically, this broke ordering — most visibly for the negative
<code>clockseq</code> used by the first (&quot;input&quot;) checkpoint,
which sorted as the newest.</p>
<p><code>uuid6()</code> now maintains its own monotonic <code>(msecs,
nsecs)</code> clock (mirroring uuid 10's internal v1 behavior) so the
time component is always strictly increasing and checkpoint ordering no
longer depends on the <code>clockseq</code> value.
<code>emptyCheckpoint()</code> also uses a non-negative
<code>clockseq</code>.</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/863b555346de02c2c0be290e877b7d260a3f8856"><code>863b555</code></a>,
<a
href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.11</li>
<li><code>@​langchain/langgraph-checkpoint</code><a
href="https://github.com/1"><code>@​1</code></a>.0.4</li>
</ul>
</li>
</ul>
<h2>1.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2415">#2415</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- Move <code>@langchain/core</code> from a runtime dependency back to a
required peer dependency so installing the SDK alone no longer pulls in
<code>@langchain/core</code> (and <code>js-tiktoken</code>, etc.).
Consumers that use streaming or message coercion must install
<code>@langchain/core</code> explicitly or via
<code>@langchain/langgraph</code>.</p>
</li>
<li>
<p>Updated dependencies [<a
href="https://github.com/langchain-ai/langgraphjs/commit/9d3c9dd3182059f9eca9fd9b14d8f7466b4338c4"><code>9d3c9dd</code></a>]:</p>
<ul>
<li><code>@​langchain/langgraph-sdk</code><a
href="https://github.com/1"><code>@​1</code></a>.9.4</li>
</ul>
</li>
</ul>
<h2>1.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2339">#2339</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/2b88da497b2c6f8fbf8f4d901578a198824eb32f"><code>2b88da4</code></a>
Thanks <a
href="https://github.com/vigneshpatel14"><code>@​vigneshpatel14</code></a>!
- fix(langgraph): surface structuredResponse parse failures in
createReactAgent</p>
</li>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2406">#2406</a>
<a
href="https://github.com/langchain-ai/langgraphjs/commit/e54ae901e119ccf81653b90d5a0db2485027a5a9"><code>e54ae90</code></a>
Thanks <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>!
- fix(langgraph-core): keep tool results out of v3 message streams</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/c6b29fb040963e3dcedb7e98ee3a3e3a728e5f82"><code>c6b29fb</code></a>
chore: version packages (<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2465">#2465</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/7c3a98b23af29fee0d9f064942abb71044ed0e51"><code>7c3a98b</code></a>
fix(core): prevent Zod schema defaults from overwriting checkpoint state
in C...</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/d2ca90f8e2cfbba547a9645d81e7c5340d1e7ebf"><code>d2ca90f</code></a>
chore: version packages (<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2453">#2453</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/101b70aa8d7ec26ec1654ef814689b832f1e17f3"><code>101b70a</code></a>
fix: preserve non-plain Send args (<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2409">#2409</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/0125920a2c4a87dc1d66aaf541ea16146f8cf842"><code>0125920</code></a>
chore(deps): bump uuid from 10.0.0 to 14.0.0 (<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2344">#2344</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/91a54947155b3fad3234001e63e20099a63ed999"><code>91a5494</code></a>
fix(langgraph): pass context with stateful RemoteGraph runs (<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2457">#2457</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/6d4bf927e5cf3744034205528bcd09964949d6d7"><code>6d4bf92</code></a>
fix(langgraph): StreamMessagesHandler throws &quot;Controller is already
closed&quot; e...</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/c5dcbd176dba4d7b76b8e2c27b4bc0ed0a9109ac"><code>c5dcbd1</code></a>
fix(langgraph): handle null thread checkpoint in RemoteGraph.getState
(<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2331">#2331</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/9eb478ffeeda2ad9c3bff2cd0f0ac602b0a79f4f"><code>9eb478f</code></a>
fix(langgraph): decouple ContextType from configurable in PregelOptions
(<a
href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2037">#2037</a>)</li>
<li><a
href="https://github.com/langchain-ai/langgraphjs/commit/4d12fe0233aa1283c1d7aa1790a7015df9856f66"><code>4d12fe0</code></a>
docs: more readme cleanups</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph@1.3.4/libs/langgraph-core">co...

_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: John Kennedy <65985482+jkennedyvz@users.noreply.github.com>
2026-06-08 14:41:48 -07:00
Hunter Lovell 5d266a213d refactor(node-vfs): make VfsSandbox filesystem-only (#575)
## Summary

This PR removes command-execution semantics from `@langchain/node-vfs`
and aligns `VfsSandbox` with `BackendProtocolV2` as a filesystem-only
backend.

The provider no longer uses sandbox execution abstractions and now
performs core file operations directly against the in-memory VFS.

## Changes

### Protocol alignment

- `VfsSandbox` now implements `BackendProtocolV2` directly instead of
extending sandbox/base-execution abstractions.
- Removed command execution from the provider surface (`execute` is no
longer part of this backend implementation).
- Removed `timeout` from `VfsSandboxOptions` and corresponding docs.

### Runtime behavior

- Added native backend implementations for:
  - `read`
  - `readRaw`
  - `write`
  - `edit`
  - `ls`
  - `grep`
  - `glob`
- Kept upload/download support and added path confinement handling for
invalid traversal paths.
- Continued in-memory VFS-only operation (no temp-dir shell sync path).

### Tests and docs

- Updated unit and integration tests to remove execute-focused
assertions and validate filesystem behavior.
- Updated package docs to describe `BackendProtocolV2` usage and removed
execute/timeout references.
- Added changeset for `@langchain/node-vfs`.
2026-06-02 19:47:14 +00:00
open-swe[bot] b7a5f26fd9 fix(quickjs): scope REPL prompt sandbox bullet to the runtime (#546)
Ports langchain-ai/deepagents#3528 to deepagentsjs.

The base `CodeInterpreterMiddleware` REPL prompt asserted "no
filesystem, no stdlib, no network, no real clock, no `fetch`, no
`require`". When `ptc` is configured, the same system prompt also
exposes a `tools.*` namespace whose members can include things like web
fetch, file I/O, or shell access — directly contradicting the sandbox
bullet.

A model reading both sections sees "no network" *and* `await
tools.webFetch({...})` in the same prompt. With PTC disabled it's even
worse: exposed tools are still reachable through the normal tool-calling
path *outside* `eval`, and the model could interpret the bullet as a
statement about the agent's capabilities rather than the REPL's.

This rewords the bullet to scope it to the QuickJS runtime, and notes
that external side effects from inside the REPL flow through `tools.*`
when it's exposed (otherwise the REPL is pure computation).
`@langchain/quickjs` middleware unit tests, lint, and format all pass
locally.

_Opened collaboratively by Mason Daugherty and open-swe._

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Co-authored-by: Mason Daugherty <61371264+mdrxy@users.noreply.github.com>
2026-06-02 10:41:20 -07:00
github-actions[bot] c524561ad0 chore: version packages (#538)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## deepagents-acp@0.1.13

### Patch Changes

- Updated dependencies
\[[`bfb6eec`](https://github.com/langchain-ai/deepagentsjs/commit/bfb6eecdfe617645b3bdebf9a60d4b08e575cef7),
[`9c666ba`](https://github.com/langchain-ai/deepagentsjs/commit/9c666ba44adc1f8b428546c2191ea71d88b03998),
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4),
[`9221c8a`](https://github.com/langchain-ai/deepagentsjs/commit/9221c8a2b5236954f674e30f3ef0e2962f54fb56),
[`f6d3f13`](https://github.com/langchain-ai/deepagentsjs/commit/f6d3f13559bd2d9dfad63e379b59ad7577e828be)]:
    -   deepagents@1.10.3

## deepagents@1.10.3

### Patch Changes

- [#500](https://github.com/langchain-ai/deepagentsjs/pull/500)
[`bfb6eec`](https://github.com/langchain-ai/deepagentsjs/commit/bfb6eecdfe617645b3bdebf9a60d4b08e575cef7)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs): add
swarm task tool

- [#288](https://github.com/langchain-ai/deepagentsjs/pull/288)
[`9c666ba`](https://github.com/langchain-ai/deepagentsjs/commit/9c666ba44adc1f8b428546c2191ea71d88b03998)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(deepagents): handle non-string content blocks in tool result
sizechecking

- [#566](https://github.com/langchain-ai/deepagentsjs/pull/566)
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4)
Thanks [@hntrl](https://github.com/hntrl)! - fix(deepagents): propagate
subagent `lc_agent_name` during task delegation
- Ensure `task` tool subagent invocations override
`metadata.lc_agent_name` with the selected `subagent_type`.
- Add regression coverage for both compiled subagents (`runnable`) and
standard subagent specs to verify tool-time metadata reflects the active
subagent.
- Update the `langsmith` peer dependency range in `deepagents` to
`^0.7.1`.

- [#549](https://github.com/langchain-ai/deepagentsjs/pull/549)
[`9221c8a`](https://github.com/langchain-ai/deepagentsjs/commit/9221c8a2b5236954f674e30f3ef0e2962f54fb56)
Thanks [@colifran](https://github.com/colifran)! - chore(deepagents):
move required ptc tools to metadata

- [#537](https://github.com/langchain-ai/deepagentsjs/pull/537)
[`f6d3f13`](https://github.com/langchain-ai/deepagentsjs/commit/f6d3f13559bd2d9dfad63e379b59ad7577e828be)
Thanks [@hntrl](https://github.com/hntrl)! - bump langsmith sdk version

## @langchain/quickjs@0.4.1

### Patch Changes

- [#545](https://github.com/langchain-ai/deepagentsjs/pull/545)
[`b3f0d6e`](https://github.com/langchain-ai/deepagentsjs/commit/b3f0d6e8fa2980652123e0053c116fc9945720ac)
Thanks [@colifran](https://github.com/colifran)! - chore(quickjs):
update swarm task tool to use withStructuredOutput

- [#500](https://github.com/langchain-ai/deepagentsjs/pull/500)
[`bfb6eec`](https://github.com/langchain-ai/deepagentsjs/commit/bfb6eecdfe617645b3bdebf9a60d4b08e575cef7)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs): add
swarm task tool

- [#549](https://github.com/langchain-ai/deepagentsjs/pull/549)
[`9221c8a`](https://github.com/langchain-ai/deepagentsjs/commit/9221c8a2b5236954f674e30f3ef0e2962f54fb56)
Thanks [@colifran](https://github.com/colifran)! - chore(deepagents):
move required ptc tools to metadata

## @deepagents/evals@0.0.12

### Patch Changes

- Updated dependencies
\[[`bfb6eec`](https://github.com/langchain-ai/deepagentsjs/commit/bfb6eecdfe617645b3bdebf9a60d4b08e575cef7),
[`9c666ba`](https://github.com/langchain-ai/deepagentsjs/commit/9c666ba44adc1f8b428546c2191ea71d88b03998),
[`04cc3fc`](https://github.com/langchain-ai/deepagentsjs/commit/04cc3fc26001ee566ed94de44c2dda2cf6adecc4),
[`9221c8a`](https://github.com/langchain-ai/deepagentsjs/commit/9221c8a2b5236954f674e30f3ef0e2962f54fb56),
[`f6d3f13`](https://github.com/langchain-ai/deepagentsjs/commit/f6d3f13559bd2d9dfad63e379b59ad7577e828be)]:
    -   deepagents@1.10.3

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Colin Francis <colin.francis@langchain.dev>
2026-06-01 14:09:00 -07:00
Hunter Lovell 70521d2e30 fix(deno): stabilize reconnect integration test (#567)
## Summary

Stabilizes a flaky Deno provider integration test that intermittently
failed in CI when reconnecting to an existing sandbox immediately after
closing the original connection. The reconnect path can briefly return a
transient `404 DEPLOYMENT_NOT_FOUND`, causing otherwise healthy runs to
fail. This change adds bounded retry/backoff during reconnect and
ensures the reconnected sandbox handle is explicitly closed.

## Changes

### `@langchain/deno`

- Updated reconnect integration test in
`libs/providers/deno/src/sandbox.int.test.ts` to retry
`DenoSandbox.fromId(sandboxId)` with `withRetry` (`5` attempts, `1s`
delay).
- Added a short comment documenting the transient reconnect window after
WebSocket close.
- Added explicit cleanup for the reconnected sandbox to avoid leaking
extra connections during the test run.
2026-06-01 12:54:30 -07:00
Colin Francis 9221c8a2b5 chore(deepagents): move required ptc tools to metadata (#549)
This PR aligns SkillMetadata with the agent skills spec by removing the
top level required ptc tools field and keeps it contained within
metadata
2026-05-22 16:36:51 -07:00
Colin Francis b3f0d6e8fa chore(quickjs): update swarm task tool to use withStructuredOutput (#545)
### Summary

Switch JS swarm task tool to use withStructuredOutput instead of
hand-rolled bindTools + tool_calls extraction.

### Tests

- All 202 unit tests pass
- Removed normalizeSchema tests and bindTools-specific tests, replaced
with withStructuredOutput test using FakeToolCallingModel
2026-05-21 15:38:18 -07:00
Colin Francis bfb6eecdfe feat(quickjs): add swarm task tool (#500)
### Summary

Adds the swarm task tool to @langchain/quickjs and fixes skill module
loading for the agentskills.io spec, enabling parallel subagent dispatch
from inside the QuickJS code interpreter.

Swarm task tool (tools/swarm-task.ts) is a PTC-only tool that bridges
the code interpreter to the host runtime for subagent dispatch. It
supports two modes:
1. Direct model calls with structured output (invoke mode) for
classification/extraction tasks
2. Full agentic loops with tools (agent mode) for multi-step reasoning.
It handles schema normalization, model variant caching with TTL-based
sweeping, and structured output binding.

Spec-compliant entrypoint resolution — loadSkill() now resolves the
entrypoint from metadata.entrypoint (the agentskills.io extension point)
first, falling back to the legacy top-level module field. This lets
skills use spec-compliant frontmatter without a top-level module key.

Subdirectory entrypoint support — the QuickJS module normalizer now uses
the entrypoint's directory (not the skill root) when resolving relative
imports from a bare specifier. This fixes import { ... } from
"./sibling.js" when the entrypoint lives in a subdirectory like
scripts/index.ts.

Supporting changes include wiring skills metadata through the middleware
and session layers, extending the transform pipeline to strip import
type/export type declarations, adding requiredPtcTools validation, and
session improvements (extractToolText, stripLineNumbers, __sessionId__).

The swarm skill itself (table management, batching, filtering,
interpolation) is distributed separately and not included here.

### Tests
- 41 tests for the swarm task tool covering both dispatch modes, schema
normalization, variant caching and TTL sweeping, error handling, and
edge cases around model binding
- 3 new tests for entrypoint resolution (metadata.entrypoint preferred
over module, subdirectory relative imports)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 11:43:04 -07:00
github-actions[bot] c231aed3ee chore: version packages (#525)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @langchain/quickjs@0.4.0

### Minor Changes

- [#531](https://github.com/langchain-ai/deepagentsjs/pull/531)
[`a76b7df`](https://github.com/langchain-ai/deepagentsjs/commit/a76b7df62310e7f2dd49bb1ea5f1b3ee6c8590b6)
Thanks [@colifran](https://github.com/colifran)! - chore(quickjs):
update `REPLMiddleware` to be named `CodeInterpreterMiddleware`

### Patch Changes

- [#524](https://github.com/langchain-ai/deepagentsjs/pull/524)
[`2cbd524`](https://github.com/langchain-ai/deepagentsjs/commit/2cbd5245a43fb1ba97fa532c1942a8903e090cfa)
Thanks [@colifran](https://github.com/colifran)! - fix(quickjs):
individual repl sessions use individual wasm module causing inefficient
memory usage

## deepagents-acp@0.1.11

### Patch Changes

- Updated dependencies
\[[`f164f99`](https://github.com/langchain-ai/deepagentsjs/commit/f164f992e06a157573612fb2640232f44d9daa18)]:
    -   deepagents@1.10.1

## deepagents@1.10.1

### Patch Changes

- [#479](https://github.com/langchain-ai/deepagentsjs/pull/479)
[`f164f99`](https://github.com/langchain-ai/deepagentsjs/commit/f164f992e06a157573612fb2640232f44d9daa18)
Thanks [@ramon-langchain](https://github.com/ramon-langchain)! -
feat(deepagents): add snapshot/start/stop lifecycle to LangSmithSandbox

## @deepagents/evals@0.0.10

### Patch Changes

- Updated dependencies
\[[`f164f99`](https://github.com/langchain-ai/deepagentsjs/commit/f164f992e06a157573612fb2640232f44d9daa18)]:
    -   deepagents@1.10.1

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Colin Francis <colin.francis@langchain.dev>
2026-05-11 14:32:28 -07:00
Colin Francis a76b7df623 chore(quickjs): update REPLMiddleware to be named CodeInterpreterMiddleware (#531)
### Summary

This PR updates `REPLMiddleware` to `CodeInterpreterMiddleware`
2026-05-11 13:02:54 -07:00
Colin Francis 2cbd5245a4 fix(quickjs): individual repl sessions use individual wasm module causing inefficient memory usage (#524)
### Summary

This PR optimizes memory usage by allowing us to use a single WASM
module. To do this we needed to fix two failure modes that occur when
multiple sessions share a single WASM module. Both are caused by the
async module loader creating asyncify suspensions (unwind/rewind cycles
on a module-global stack buffer) during import resolution.

__Failure 1__: Concurrent eval crash. The asyncify variant allows only
one async operation per module at a time. If two sessions eval
simultaneously and both hit an import, the second eval tries to suspend
asyncify while the first is already suspended. This crashes with
QuickJSAsyncifySuspended: Already suspended.
Fix: AsyncEvalQueue queues evalCodeAsync calls so only one runs at a
time.

__Failure 2__: Silent disposal corruption. When a session imports a
multi-file skill (e.g. an entry point that imports greet.js and
shout.js), each import causes an asyncify unwind/rewind cycle. The eval
succeeds. But when the session's runtime is disposed, the disposal does
not fully reset the module's asyncify stack buffer and the unwind/rewind
cycles left residual state (saved stack frames, rewind pointers) that
emscripten manages at the module level, not the runtime level. The next
session creates a fresh runtime on the same module, but the corrupted
asyncify state causes module loader callbacks to silently never fire.
Fix: synchronous module loader. Skill files are preloaded into a Map
before eval starts. The loader callback does a plain map.get(). No
await, no asyncify suspension, no residual state on disposal.

Note: The eval queue alone does not fix failure 2. The corruption
happens at runtime disposal, which runs outside the queue. Both fixes
are required.

#### What This PR Adds
- Replaces per-session WASM module instantiation with a process-global
singleton shared by all sessions. Each session still gets its own
runtime and context (full isolation); only the underlying WASM module is
shared. Reduces WASM memory from ~16 MB per session to ~16 MB total.
- Adds AsyncEvalQueue to serialize evalCodeAsync calls across sessions,
enforcing the asyncify one-concurrent-async-call-per-module constraint.
- Makes the module loader synchronous by preloading skill files into an
in-memory cache before eval (preloadReferencedSkills). Why is this
needed? An async module loader causes asyncify suspensions on each
import. Disposing a runtime after multi-file skill imports corrupts the
shared module's asyncify state and silently breaks the loader for all
subsequent sessions. The sync loader eliminates asyncify suspensions
from imports entirely.

#### Synchronous Module Loading

As stated above, synchronous module loading is a necessary change due to
async module loading causing asyncify suspensions on each import which
corrupts the singleton WASM module's asyncify state which silently
breaks the loader for all subsequent sessions. The following
demonstrates the before and after regarding this change:

__Before__:
User code: `import { run } from "@/skills/demo"`

1. eval() is called
2. evalCodeAsync() runs the code
3. QuickJS hits the import, calls the module loader callback
4. The callback is async: await ensureSkillLoaded("demo")
   → fetches /skills/demo/index.js from the backend (network I/O)
   → this await causes the first asyncify suspension in the WASM module
5. index.js has: import { greet } from "./greet.js"
6. QuickJS calls the loader again for greet.js
   → await ensureSkillLoaded() → network fetch
   → The second asyncify suspension in the WASM module is hit
7. index.js has: import { shout } from "./shout.js"
8. QuickJS calls the loader again for shout.js
   → await ensureSkillLoaded() → network fetch
   → third asyncify suspension in the WASM module is hit
9. eval completes, runtime is disposed
10. runtime.dispose() is called to clean up the session
11. The runtime disposal does NOT fully reset the module's asyncify
stack buffer. The 3 unwind/rewind cycles left residual state (saved
stack frames, rewind pointers, etc.) that the dispose path doesn't know
to clean up, because asyncify bookkeeping is managed by emscripten at
the module level, not by QuickJS at the runtime level.
12. Next session creates a fresh runtime on the same module, but the
module's asyncify machinery is corrupted. When QuickJS tries to call the
new session's module loader, the stale asyncify state causes the
callback to silently not fire. No crash, no error. Imports just resolve
to nothing.

__After__:
User code: `import { run } from "@/skills/demo"`

1. eval() is called
2. preloadReferencedSkills() runs BEFORE evalCodeAsync():
   → scans source code for "@/skills/*" specifiers
   → finds "demo"
   → fetches all 3 files from the backend into a Map:
     "@/skills/demo"          → source code
     "@/skills/demo/greet.js" → source code
     "@/skills/demo/shout.js" → source code
   → (this is async but happens OUTSIDE the WASM module so no asyncify)
3. evalCodeAsync() runs the code
4. QuickJS hits the import, calls the module loader callback
5. The callback is sync: map.get("@/skills/demo") → returns source
immediately
   → NO asyncify suspension
6. QuickJS resolves greet.js → map.get("@/skills/demo/greet.js") →
immediate
   → NO asyncify suspension
7. QuickJS resolves shout.js → map.get("@/skills/demo/shout.js") →
immediate
   → NO asyncify suspension
8. eval completes, runtime is disposed
9. Zero asyncify suspensions occurred → no residual state → module is
clean
10. Next session works perfectly

### Tests

- 4 new AsyncEvalQueue unit tests: serialization (no interleaving of
concurrent ops), return values, error isolation (rejected op doesn't
break queue), insertion order preservation
- All 160 existing tests pass (session, skills, middleware, transform,
utils, eval queue)

### Memory Benchmarking

#### Per-session module (before)

| Sessions | RSS Delta (MB) | Per-Session RSS (MB) | WASM Memory (MB) |
Module Init (ms) | Setup (ms) |

|----------|----------------|----------------------|------------------|------------------|------------|
| 1 | 0.53 | 0.53 | 16 | 11.4 | 15.9 |
| 5 | 2.13 | 0.43 | 80 | 30.2 | 37.9 |
| 10 | 5.28 | 0.53 | 160 | 31.1 | 42.8 |
| 15 | 5.53 | 0.37 | 240 | 57.4 | 72.1 |
| 20 | 6.80 | 0.34 | 320 | 73.6 | 91.1 |

---

#### Singleton (after)

| Sessions | RSS Delta (MB) | Per-Session RSS (MB) | WASM Memory (MB) |
Module Init (ms) | Setup (ms) |

|----------|----------------|----------------------|------------------|------------------|------------|
| 1 | 0.61 | 0.61 | 16 | 6.7 | 9.1 |
| 5 | 0.59 | 0.12 | 16 | 12.5 | 28.5 |
| 10 | 0.91 | 0.09 | 16 | 12.2 | 37.0 |
| 15 | 1.81 | 0.12 | 16 | 12.0 | 45.1 |
| 20 | 1.70 | 0.09 | 16 | 10.4 | 50.4 |

---

#### Comparison at 20 sessions (realistic workload)

| Metric                 | Before  | After  | Improvement     |
|------------------------|---------|--------|-----------------|
| WASM virtual memory    | 320 MB  | 16 MB  | 20x reduction   |
| RSS delta              | 6.80 MB | 1.70 MB| 4x reduction    |
| Module instantiation   | 73.6 ms | 10.4 ms| 7x reduction    |
| Setup time             | 91.1 ms | 50.4 ms| 1.8x reduction  |
2026-05-06 15:43:23 -07:00
github-actions[bot] 6da7007e52 chore: version packages (#521)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## deepagents@1.10.0

### Minor Changes

- [#458](https://github.com/langchain-ai/deepagentsjs/pull/458)
[`b1e1b7b`](https://github.com/langchain-ai/deepagentsjs/commit/b1e1b7bd3bcc3bd5b03dd461e72559ed69c77e22)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
feat(deepagents): new events streaming

## @langchain/quickjs@0.3.0

### Minor Changes

- [#520](https://github.com/langchain-ai/deepagentsjs/pull/520)
[`2548954`](https://github.com/langchain-ai/deepagentsjs/commit/254895457fce2de7df4547ebcf825d60868bacce)
Thanks [@colifran](https://github.com/colifran)! - chore(quickjs):
rename to REPLMiddleware and adjust defaults

## deepagents-acp@0.1.10

### Patch Changes

- Updated dependencies
\[[`b1e1b7b`](https://github.com/langchain-ai/deepagentsjs/commit/b1e1b7bd3bcc3bd5b03dd461e72559ed69c77e22)]:
    -   deepagents@1.10.0

## @deepagents/evals@0.0.9

### Patch Changes

- Updated dependencies
\[[`b1e1b7b`](https://github.com/langchain-ai/deepagentsjs/commit/b1e1b7bd3bcc3bd5b03dd461e72559ed69c77e22)]:
    -   deepagents@1.10.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-05 16:00:39 -07:00
Colin Francis 254895457f chore(quickjs): rename to REPLMiddleware and adjust defaults (#520)
### Summary

- Rename `createQuickJSMiddleware` → `createREPLMiddleware` and
`QuickJSMiddlewareOptions` → `REPLMiddlewareOptions` to match the Python
`REPLMiddleware` naming
- Rename middleware registration from `"QuickJSMiddleware"` →
`"REPLMiddleware"`
- Rename default tool name from `"js_eval"` → `"eval"`, now configurable
via `toolName` option
- Add `captureConsole` option (default `true`) to toggle console output
capture
- Align default memory limit to 64 MiB (was 50 MiB) and timeout to 5s
(was 30s) to match Python

### Tests

- All 156 existing unit tests pass with updated references
- Updated `middleware.test.ts`, `middleware.int.test.ts`, and example
files to use new names

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-05-04 15:33:17 -07:00
github-actions[bot] 9a8ff1941a chore: version packages (#444)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## deepagents-acp@0.1.9

### Patch Changes

- [#501](https://github.com/langchain-ai/deepagentsjs/pull/501)
[`5b0eaea`](https://github.com/langchain-ai/deepagentsjs/commit/5b0eaea7b20461414983b71ba08d26d078b49214)
Thanks [@sukhmanghotraa](https://github.com/sukhmanghotraa)! - fix: bump
@langchain/core to ^1.1.42 across all workspace packages

- Updated dependencies
\[[`5b0eaea`](https://github.com/langchain-ai/deepagentsjs/commit/5b0eaea7b20461414983b71ba08d26d078b49214),
[`e90171a`](https://github.com/langchain-ai/deepagentsjs/commit/e90171abe4bcc76767246be470a7b17b94692f41),
[`8fd575f`](https://github.com/langchain-ai/deepagentsjs/commit/8fd575f06ca27cb0bef1a649aa34124a2c04ddd3),
[`3657941`](https://github.com/langchain-ai/deepagentsjs/commit/3657941ea36b21b9b512c1eb68a250ae79124383),
[`998d772`](https://github.com/langchain-ai/deepagentsjs/commit/998d772a07acc76fcc0d419e65b3c74a64d9ac52),
[`55f3bd8`](https://github.com/langchain-ai/deepagentsjs/commit/55f3bd8d74cac22d124fd6d1b11538dc2c2c2aec),
[`79e20e1`](https://github.com/langchain-ai/deepagentsjs/commit/79e20e18082a19b65094b953cd857908a7525801),
[`2442d7d`](https://github.com/langchain-ai/deepagentsjs/commit/2442d7d080c8a1008197eda526de52400303dd72),
[`43cd121`](https://github.com/langchain-ai/deepagentsjs/commit/43cd121133562abf0dee76c6db01f2bde0eb3fd3),
[`2994444`](https://github.com/langchain-ai/deepagentsjs/commit/2994444f32a6c0503defa6157652e742361abb00)]:
    -   deepagents@1.9.1

## deepagents@1.9.1

### Patch Changes

- [#501](https://github.com/langchain-ai/deepagentsjs/pull/501)
[`5b0eaea`](https://github.com/langchain-ai/deepagentsjs/commit/5b0eaea7b20461414983b71ba08d26d078b49214)
Thanks [@sukhmanghotraa](https://github.com/sukhmanghotraa)! - fix: bump
@langchain/core to ^1.1.42 across all workspace packages

- [#442](https://github.com/langchain-ai/deepagentsjs/pull/442)
[`e90171a`](https://github.com/langchain-ai/deepagentsjs/commit/e90171abe4bcc76767246be470a7b17b94692f41)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(deepagents): closer align store backend with Python

- [#496](https://github.com/langchain-ai/deepagentsjs/pull/496)
[`8fd575f`](https://github.com/langchain-ai/deepagentsjs/commit/8fd575f06ca27cb0bef1a649aa34124a2c04ddd3)
Thanks [@colifran](https://github.com/colifran)! - feat(deepagents):
implement functional skills for quickjs middleware

- [#448](https://github.com/langchain-ai/deepagentsjs/pull/448)
[`3657941`](https://github.com/langchain-ai/deepagentsjs/commit/3657941ea36b21b9b512c1eb68a250ae79124383)
Thanks [@ItayCoCo](https://github.com/ItayCoCo)! - fix: follow symlinks
in sandbox find commands by adding -L flag to find invocations in
buildLsCommand, buildFindCommand, and buildGrepCommand

- [#486](https://github.com/langchain-ai/deepagentsjs/pull/486)
[`998d772`](https://github.com/langchain-ai/deepagentsjs/commit/998d772a07acc76fcc0d419e65b3c74a64d9ac52)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs): remove
built-in VFS globals, add PTC instance injection and StateBackend
read-your-writes

- [#470](https://github.com/langchain-ai/deepagentsjs/pull/470)
[`55f3bd8`](https://github.com/langchain-ai/deepagentsjs/commit/55f3bd8d74cac22d124fd6d1b11538dc2c2c2aec)
Thanks [@jacoblee93](https://github.com/jacoblee93)! - Adds agent type
metadata prop to configurable

- [#451](https://github.com/langchain-ai/deepagentsjs/pull/451)
[`79e20e1`](https://github.com/langchain-ai/deepagentsjs/commit/79e20e18082a19b65094b953cd857908a7525801)
Thanks [@JadenKim-dev](https://github.com/JadenKim-dev)! - remove
unconditional @langchain/anthropic import

- [#465](https://github.com/langchain-ai/deepagentsjs/pull/465)
[`2442d7d`](https://github.com/langchain-ai/deepagentsjs/commit/2442d7d080c8a1008197eda526de52400303dd72)
Thanks [@hntrl](https://github.com/hntrl)! - fix(deepagents): route
summarization through active request model

- [#492](https://github.com/langchain-ai/deepagentsjs/pull/492)
[`43cd121`](https://github.com/langchain-ai/deepagentsjs/commit/43cd121133562abf0dee76c6db01f2bde0eb3fd3)
Thanks [@colifran](https://github.com/colifran)! - implement file system
permissions for fs middleware tools

- [#459](https://github.com/langchain-ai/deepagentsjs/pull/459)
[`2994444`](https://github.com/langchain-ai/deepagentsjs/commit/2994444f32a6c0503defa6157652e742361abb00)
Thanks [@open-swe](https://github.com/apps/open-swe)! - fix(deepagents):
skill loading should default to 1000 lines

## @langchain/quickjs@0.2.6

### Patch Changes

- [#501](https://github.com/langchain-ai/deepagentsjs/pull/501)
[`5b0eaea`](https://github.com/langchain-ai/deepagentsjs/commit/5b0eaea7b20461414983b71ba08d26d078b49214)
Thanks [@sukhmanghotraa](https://github.com/sukhmanghotraa)! - fix: bump
@langchain/core to ^1.1.42 across all workspace packages

- [#496](https://github.com/langchain-ai/deepagentsjs/pull/496)
[`8fd575f`](https://github.com/langchain-ai/deepagentsjs/commit/8fd575f06ca27cb0bef1a649aa34124a2c04ddd3)
Thanks [@colifran](https://github.com/colifran)! - feat(deepagents):
implement functional skills for quickjs middleware

- [#486](https://github.com/langchain-ai/deepagentsjs/pull/486)
[`998d772`](https://github.com/langchain-ai/deepagentsjs/commit/998d772a07acc76fcc0d419e65b3c74a64d9ac52)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs): remove
built-in VFS globals, add PTC instance injection and StateBackend
read-your-writes

- [#498](https://github.com/langchain-ai/deepagentsjs/pull/498)
[`192bbd7`](https://github.com/langchain-ai/deepagentsjs/commit/192bbd7109817a826aa6bd982e16b54b5a5c8cb5)
Thanks [@colifran](https://github.com/colifran)! - fix(quickjs): bound
console buffering at capture time

- [#497](https://github.com/langchain-ai/deepagentsjs/pull/497)
[`79dcf9a`](https://github.com/langchain-ai/deepagentsjs/commit/79dcf9ae4567fcce71ea7e529f332baf6a3d6dcd)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs): add
maxPtcCallsbudget for ptc calls

- [#492](https://github.com/langchain-ai/deepagentsjs/pull/492)
[`43cd121`](https://github.com/langchain-ai/deepagentsjs/commit/43cd121133562abf0dee76c6db01f2bde0eb3fd3)
Thanks [@colifran](https://github.com/colifran)! - implement file system
permissions for fs middleware tools

- [#494](https://github.com/langchain-ai/deepagentsjs/pull/494)
[`e64c7e3`](https://github.com/langchain-ai/deepagentsjs/commit/e64c7e31a7e62929d5d2a9048ad7df3315a546cd)
Thanks [@colifran](https://github.com/colifran)! - feat(quickjs):
implement delete session in after agent hook to clean up completed repl
sessions

- [#499](https://github.com/langchain-ai/deepagentsjs/pull/499)
[`352e487`](https://github.com/langchain-ai/deepagentsjs/commit/352e4876679fb708d9690ffeab82363ba02677dc)
Thanks [@hntrl](https://github.com/hntrl)! - fix(quickjs): add
ls_code_input_language metadata to js_eval tool

## @deepagents/evals@0.0.8

### Patch Changes

- Updated dependencies
\[[`5b0eaea`](https://github.com/langchain-ai/deepagentsjs/commit/5b0eaea7b20461414983b71ba08d26d078b49214),
[`e90171a`](https://github.com/langchain-ai/deepagentsjs/commit/e90171abe4bcc76767246be470a7b17b94692f41),
[`8fd575f`](https://github.com/langchain-ai/deepagentsjs/commit/8fd575f06ca27cb0bef1a649aa34124a2c04ddd3),
[`3657941`](https://github.com/langchain-ai/deepagentsjs/commit/3657941ea36b21b9b512c1eb68a250ae79124383),
[`998d772`](https://github.com/langchain-ai/deepagentsjs/commit/998d772a07acc76fcc0d419e65b3c74a64d9ac52),
[`55f3bd8`](https://github.com/langchain-ai/deepagentsjs/commit/55f3bd8d74cac22d124fd6d1b11538dc2c2c2aec),
[`79e20e1`](https://github.com/langchain-ai/deepagentsjs/commit/79e20e18082a19b65094b953cd857908a7525801),
[`2442d7d`](https://github.com/langchain-ai/deepagentsjs/commit/2442d7d080c8a1008197eda526de52400303dd72),
[`43cd121`](https://github.com/langchain-ai/deepagentsjs/commit/43cd121133562abf0dee76c6db01f2bde0eb3fd3),
[`2994444`](https://github.com/langchain-ai/deepagentsjs/commit/2994444f32a6c0503defa6157652e742361abb00)]:
    -   deepagents@1.9.1

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hunter Lovell <hunter@hntrl.io>
2026-05-04 09:43:36 -07:00
sukh 5b0eaea7b2 fix: bump @langchain/core to ^1.1.42 across all workspace packages (#501)
## Problem

When using `@langchain/google` as a model provider in the examples
workspace, the server crashes immediately with:

1. Runtime crash on startup:

    ```bash
    ERR_PACKAGE_PATH_NOT_EXPORTED: Package subpath './utils/uuid' is not
    defined by "exports" in @langchain/core/package.json
    ```

`@langchain/google` imports `@langchain/core/utils/uuid`, a subpath
added in `@langchain/core@1.1.42`. Both the examples workspace and
`libs/deepagents` were pinned to `^1.1.40` which does not export this
path.

 2. TypeScript type error after fixing the runtime crash:
 
    ```bash
Type 'ChatGoogle' is not assignable to type 'BaseLanguageModel<any,
BaseLanguageModelCallOptions>'
    ```
Even after bumping `@langchain/core` in `examples/` only, pnpm kept two
separate copies in its store - `1.1.40` for `deepagents` and `1.1.42`
for `@langchain/google`. TypeScript treats them as structurally
incompatible types because the type import paths differ.

## Fix

- Bump `@langchain/core` from `^1.1.40` → `^1.1.42` in all
`../package.json` files

## Testing

```bash
cd examples/research
pnpm dlx @langchain/langgraph-cli dev
# -> No ERR_PACKAGE_PATH_NOT_EXPORTED and agent starts correctly

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-05-01 15:41:53 -07:00
Hunter Lovell 352e487667 fix(quickjs): add ls_code_input_language metadata to js_eval tool (#499)
## Summary

Adds LangSmith code-language metadata to the QuickJS REPL evaluation
tool so tool inputs are correctly interpreted as JavaScript in traces.

## Changes

### @langchain/quickjs

- Added `metadata: { ls_code_input_language: "javascript" }` to the
`js_eval` tool definition in `createQuickJSMiddleware`.
- Extended middleware tool-registration tests to assert that `js_eval`
exposes `ls_code_input_language` metadata.
- Verified behavior with quickjs unit tests (`src/middleware.test.ts`).
2026-05-01 00:24:41 +00:00
Colin Francis 192bbd7109 fix(quickjs): bound console buffering at capture time (#498)
Port of https://github.com/langchain-ai/deepagents/pull/2999
2026-04-30 15:56:59 -07:00
Colin Francis 79dcf9ae45 feat(quickjs): add maxPtcCallsbudget for ptc calls (#497)
Port of https://github.com/langchain-ai/deepagents/pull/2994
2026-04-30 15:24:20 -07:00
Colin Francis 8fd575f06c feat(deepagents): implement functional skills for quickjs middleware (#496)
### Summary

Adds functional skill modules to the QuickJS REPL. Skills can now ship
JS/TS entrypoints via a module: frontmatter key on SKILL.md, which the
model dynamically imports at eval time with await
import("@/skills/<name>").

When skillsBackend is passed to createQuickJSMiddleware, the middleware
reads skillsMetadata from the current task state before each eval, scans
the source for skill references, and pushes the metadata + backend into
the session. The session wires a QuickJS module loader that lazily
fetches skill files from the backend, strips TypeScript syntax, and
caches the result for the lifetime of the session. Skills that are
referenced but not available on the agent short-circuit with a clear
error before evaluation starts.

On the deepagents side, SkillMetadata gains an optional module field
(validated and normalized from frontmatter), and formatSkillsList now
advertises importable skills in the system prompt with an await
import(...) hint.

```ts
const backend = new FilesystemBackend({ rootDir: "/project", virtualMode: true });

const agent = createDeepAgent({
  model: "claude-sonnet-4-6",
  backend,
  skills: ["/skills/"],
  middleware: [
    createQuickJSMiddleware({ skillsBackend: backend }),
  ],
});
```

### Tests

- Unit tests cover module path validation, TS syntax stripping, skill
loading (single/multi-file, error cases, bundle size cap), skill
reference scanning, module loader resolution and caching, and system
prompt formatting
- Ran an E2E eval that exercised the full pipeline from SKILL.md parse
through dynamic import and function call in the REPL, with a LangSmith
trace

### Benchmarks

#### memory: console_log concurrent
- Total time: 15820ms

| name | hz | min | max | mean | p75 | p99 | p995 | p999 | rme | samples
|

|--------------------------|---------|--------|--------|--------|--------|--------|--------|--------|--------|---------|
| 1 concurrent sessions | 145.91 | 1.8263 | 27.7702| 6.8536 | 9.1753 |
21.1492| 25.0420| 27.7702| ±5.30% | 730 |
| 8 concurrent sessions | 39.1773 | 15.5854| 61.5015| 25.5250| 27.8461|
49.0536| 61.5015| 61.5015| ±3.58% | 196 |
| 32 concurrent sessions | 13.9753 | 48.5504| 110.40 | 71.5547| 76.6394|
110.40 | 110.40 | 110.40 | ±3.72% | 70 |

---

#### memory: ptc_tools concurrent
- Total time: 16755ms

| name | hz | min | max | mean | p75 | p99 | p995 | p999 | rme | samples
|

|--------------------------|---------|--------|--------|--------|--------|--------|--------|--------|--------|---------|
| 1 concurrent sessions | 86.9205 | 4.1809 | 32.1833| 11.5048| 15.3222|
25.2676| 28.2697| 32.1833| ±4.76% | 435 |
| 8 concurrent sessions | 21.8310 | 33.5598| 69.0041| 45.8065| 50.8740|
60.2001| 69.0041| 69.0041| ±2.77% | 110 |
| 32 concurrent sessions | 7.0269 | 137.88 | 148.90 | 142.31 | 144.05 |
148.90 | 148.90 | 148.90 | ±0.70% | 36 |

---

#### throughput: single thread many iterations
- Total time: 31656ms

| name | hz | min | max | mean | p75 | p99 | p995 | p999 | rme | samples
|

|-------------------------------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------|---------|
| 200 sequential evals (ptc + console.log) | 3.5897 | 240.92 | 347.19 |
278.58 | 289.81 | 341.02 | 347.19 | 347.19 | ±1.44% | 108 |
2026-04-30 13:13:40 -07:00
Colin Francis e64c7e31a7 feat(quickjs): implement delete session in after agent hook to clean up completed repl sessions (#494)
### Summary

ReplSession uses a static map to preserve QuickJS WASM runtime state
across js_eval calls within a run. Previously sessions were never
cleaned up, causing unbounded memory growth as each thread_id
accumulated a live WASM runtime for the lifetime of the process.

- Added ReplSession.deleteSession(key) to dispose of the QuickJS runtime
and removes the entry from the session map
- Added an afterAgent hook in createQuickJSMiddleware that calls
deleteSession for the current thread's session key at the end of each
agent run

Sessions still persist across all js_eval calls within a single run. The
map remains for correct concurrent thread isolation. Without it,
simultaneous runs from different threads would share a runtime.

### Tests

Unit tests covering the following scenarios:
- ReplSession.deleteSession disposes and removes an existing session
- ReplSession.deleteSession is a no-op for a key that does not exist
- afterAgent disposes the session for the finished thread
- afterAgent on a thread with no session does not throw
- afterAgent only removes the session for the finished thread, leaving
other active threads intact
2026-04-28 16:34:34 -07:00
Colin Francis 998d772a07 feat(quickjs): remove built-in VFS globals, add PTC instance injection and StateBackend read-your-writes (#486)
### Summary
- Removed built-in readFile/writeFile globals from the QuickJS REPL.
File I/O is now exclusively through PTC tools, keeping the REPL a pure
JS sandbox with no implicit side effects
- ptc now accepts StructuredToolInterface instances directly alongside
tool name strings. Custom tools can be injected into the REPL without
being registered on the agent
- StateBackend now provides read-your-writes semantics within a single
js_eval superstep by reading via __pregel_read with fresh=true. Pregel
already tracks pending sends in task.writes; asking for a fresh read
applies them through the reducer, removing the need for a manual write
buffer
- Removed ptc: boolean shorthand from QuickJSMiddlewareOptions; use the
array or object forms instead

### Tests
- Added 12 unit tests to state.test.ts covering write-then-read, chained
edits, ls/grep/glob/readRaw visibility, upload/download, duplicate write
error, edit-nonexistent, and superstep boundary behavior
(commitSends/clearPending)
- Expanded middleware.test.ts with PTC instance injection coverage
- Verified end-to-end with createDeepAgent + createQuickJSMiddleware
across 7 scenarios (write-read, write-edit-read, write-ls, write-grep,
write-glob, cross-eval, upload-download); traces confirmed in LangSmith

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-04-28 14:23:08 -07:00
Colin Francis 43cd121133 feat(deepagents): implement file system permissions for fs middleware tools (#492)
### Summary

- Adds a FilesystemPermission class and a permissions parameter to
createDeepAgent and SubAgent that controls which filesystem operations
each agent is allowed to perform
- Rules are evaluated first-match-wins with a permissive default; mode:
"deny" blocks the operation before any backend call
- Permissions are closed over at tool-creation time — no runtime config
threading, no ToolPolicy in langchain-core
- ls, glob, and grep enforce permissions in two passes: the base path
check throws early; results are post-filtered to strip entries the
caller can't read
- Subagents receive the parent agent's permissions by default; setting
permissions on a SubAgent is a full replacement, not a merge
- FilesystemPermission, FilesystemPermissionOptions,
FilesystemOperation, and PermissionMode are exported from the top-level
package entry point

### Tests

- permissions/types.test.ts — FilesystemPermission construction,
validation (rejects relative paths, .., ~), defaults
- permissions/enforce.test.ts — validatePath, globMatch (wildcards,
brace expansion, dotfiles), decidePathAccess (first-match-wins,
operation mismatch, multiple ops/paths)
- middleware/fs.permissions.test.ts — each fs tool (read, write, edit,
ls, glob, grep) with allow/deny rules and mock backends; verifies
backend is never called on a denied path; verifies execute is unaffected
- permissions/agent.permissions.test.ts —
CreateDeepAgentParams.permissions type and default; wiring to
createFilesystemMiddleware
- middleware/subagents.permissions.test.ts — SubAgent.permissions type;
?? resolution (inherit vs override vs own deny);
createFilesystemMiddleware behavior for each resolved-permissions case

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-04-28 14:13:00 -07:00
sukh 883581cda6 fix(deepagents): handle Windows absolute paths in tsdown external filter (#489)
## Fix: `ERR_MODULE_NOT_FOUND` on Windows when building `deepagents`

### Problem

Building `libs/deepagents` on Windows produces a `dist/index.js` that
imports
local modules with `.ts` extensions instead of bundling them:

```js
import { createDeepAgent } from "./agent.ts";
import { ConfigurationError } from "./errors.ts";
```

This causes an immediate crash at runtime for any consumer of the
library:

```
Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  'C:\...\deepagentsjs\libs\deepagents\dist\agent.ts'
  imported from C:\...\deepagentsjs\libs\deepagents\dist\index.js
  ```

  **Root Cause**
The `external` filter in `libs/deepagents/tsdown.config.ts:` used a regex intended to match
only npm package names (which don't start with `.` or `/`):

```js
const external = [/^[^./]/];
```
On Unix absolute paths start with `/` so the regex correctly excludes them. On Windows absolute paths start with a drive letter (e.g. C:\...), which also doesn't start with `.` or `/` - so rolldown matches them as external, excludes them from the bundle, and leaves raw `.ts` references in the output.

**Fix**
Replace the regex with a function that explicitly excludes Windows-style
absolute paths:
```js
const external = (id: string) =>
!id.startsWith(".") && !id.startsWith("/") &&
!/^[A-Za-z]:[\\/]/.test(id);
```

After this change `pnpm -w run build` in `libs/deepagents` produces a fully
bundled `[dist/index.js]` with no `.ts` imports and examples run correctly on Windows.

Notes

- `deps.neverBundle` (the tsdown-recommended replacement for `[external]` is not yet functional in tsdown 0.21.7 / rolldown 1.0.0-rc.12 and causes a build error. This fix is the correct workaround until that API stabilises.

---------

Co-authored-by: Hunter Lovell <hunter@hntrl.io>
2026-04-27 13:57:05 -07:00
Jacob Lee 55f3bd8d74 feat(deepagents): Adds agent type metadata prop to configurable (#470)
Will be useful for trace display features

Python: https://github.com/langchain-ai/deepagents/pull/2788

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-04-17 22:03:59 -07:00
github-actions[bot] 02c1c7fa38 chore: version packages (#433)
* chore: version packages

* cr

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hunter Lovell <hunter@hntrl.io>
2026-04-07 08:48:53 -07:00
Hunter Lovell 89ee206ba6 chore: upgrade langgraph + langchain (#434) 2026-04-07 08:41:32 -07:00
Hunter Lovell 6830c24981 chore: patch package versions (#430) 2026-04-05 22:30:34 -07:00
dependabot[bot] 67d7423c82 build(deps-dev): bump typescript from 5.9.3 to 6.0.2 (#409)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3 to 6.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 6.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 21:29:10 -07:00
Hunter Lovell ca5cc0acfb chore: merge alpha into main (#404)
* Revert "revert: "feat(deepagents): support multimodal files for backends (#298)" (#352)" (#353)

This reverts commit 03ea1c9729.

* revert: "revert: "feat(sdk): add async subagent middleware for remote LangGraph servers  (#323)" (#351)" (#354)

* Revert "revert: "feat(sdk): add async subagent middleware for remote LangGraph servers  (#323)" (#351)"

This reverts commit 367e43a5ed.

* use any backend protocol

* Reapply "chore(deepagents): refactor backend method names - `lsInfo` -> `ls`, …" (#349) (#356)

This reverts commit 573479d743.

* Reapply "chore(sdk): unify sync subagents and async subagents into a single pr…" (#348) (#355)

This reverts commit 96dc34ccb6.

* chore: align alpha with main (#358)

* fix(deepagents): remove orphaned ToolMessages for Gemini compatibility (#335)

* fix(deepagents): remove orphaned ToolMessages for Gemini compatibility

* Fix ToolMessages for Gemini compatibility

---------

Co-authored-by: Christian Bromann <git@bromann.dev>

* fix(deepagents): throw on built-in tool collision (#330)

* add error

* Create big-horses-fail.md

* add config error class

* cr

---------

Co-authored-by: Christian Bromann <git@bromann.dev>

* fix(deepagents): use `crypto.randomUUID()` instead of uuid (#336)

* fix(deepagents): use crypto.randomUUID() instead of uuid

* update pnpm-lock

* Create grumpy-weeks-wave.md

* Update libs/deepagents/src/middleware/fs.int.test.ts

* feat(deepagent): add LangSmithSandbox (#324)

* feat(deepagent): add LangSmithSandbox

* Change deepagents version from patch to minor

* format

* fix tests

* format

* make it a patch

* cr

* cr

* fix

* cr

* chore: version packages (#321)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* regen lockfile

* fix langsmith tests so that they use backend protocol v2 methods

* format

---------

Co-authored-by: pawel-twardziak <pawel.twardziak.dev@gmail.com>
Co-authored-by: Christian Bromann <git@bromann.dev>
Co-authored-by: Maahir Sachdev <maahir.sachdev@langchain.dev>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(deepagents): add completion notifier middleware for async subagents (#334)

Port of langchain-ai/deepagents#2119 to TypeScript. Adds a
createCompletionNotifierMiddleware that async subagents can use to
proactively notify their supervisor when they complete or error,
closing the gap where the supervisor only learns about completion
when someone calls check_async_task.

- New createCompletionNotifierMiddleware with afterAgent and
  wrapModelCall hooks
- Uses @langchain/langgraph-sdk Client to send runs.create() to the
  supervisor's thread
- Reads parent_thread_id from subagent state (injected by
  start_async_task)
- Derives task_id from runtime.configurable.thread_id
- Silently no-ops if parent context is missing
- Guards against duplicate notifications
- 22 unit tests covering all hooks, edge cases, and error paths

fix(deepagents): make url required in completion notifier (no ASGI in JS)

JS does not have ASGI transport like Python, so the url parameter
must be provided explicitly. Removed all ASGI references from docs
and the localhost fallback default.

fix(deepagents): throw on built-in tool collision (#330)

* add error

* Create big-horses-fail.md

* add config error class

* cr

---------

Co-authored-by: Christian Bromann <git@bromann.dev>

fix(deepagents): use `crypto.randomUUID()` instead of uuid (#336)

* fix(deepagents): use crypto.randomUUID() instead of uuid

* update pnpm-lock

* Create grumpy-weeks-wave.md

* Update libs/deepagents/src/middleware/fs.int.test.ts

feat(deepagent): add LangSmithSandbox (#324)

* feat(deepagent): add LangSmithSandbox

* Change deepagents version from patch to minor

* format

* fix tests

* format

* make it a patch

* cr

* cr

* fix

* cr

regen lockfile

linting

linting

add missing url property

chore: version packages (#321)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

changeset

regen lockfil

* chore: enter alpha pre-release

* chore: target alpha for releases

* chore: version packages (alpha) (#359)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore(deepagents): extend supported backend file types (#363)

* extend supported file types

* Create strong-tigers-share.md

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>

* chore(deepagents): implement async subagents + use stream example (#360)

* async subagents + use stream example

* fix lockfile

* format

* linting

* readme and linting

* format

* proactively send responses when subagents complete

* better examples

* feat(deepagents): rename completion notifier to completion callback and align with Python (#361)

* feat(deepagents): rename completion notifier to completion callback and align with Python PR

- Rename completion_notifier.ts -> completion_callback.ts to match Python's
  completion_callback.py naming
- Rename exports: createCompletionNotifierMiddleware -> createCompletionCallbackMiddleware,
  CompletionNotifierOptions -> CompletionCallbackOptions
- Rename state key: parent_thread_id -> callbackThreadId, option: parentGraphId -> callbackGraphId
- Make url optional (Python allows omitting for ASGI transport)
- Match Python's strict error behavior: throw on empty messages, non-AIMessage types,
  and missing callbackThreadId
- Add truncation suffix with task_id hint for long messages
- Use generic error message in wrapModelCall (don't leak error details)
- Remove duplicate notification guard (Python notifies on every error)
- Add extractCallbackContext to async_subagents.ts: injects callbackThreadId
  into subagent input state when launching via start_async_task
- Add tests for extractCallbackContext and callback context injection

* cr

* Rename completion notifier to completion callback

Renamed completion notifier to completion callback for consistency with Python.

* fix(sdk): `AsyncTask` `updatedAt` field doesn't update on task status changes (#400)

* update updatedAt field to change on any task update

* added changeset

* chore: set up self hosted async subagent example (#399)

* self hosted async subagent example

* with postgres

* formatting

* eslint disable no console

* fix dockerfile and readme

* Update examples/async-subagent-server/server.ts

Co-authored-by: Christian Bromann <git@bromann.dev>

---------

Co-authored-by: Christian Bromann <git@bromann.dev>

* chore(sdk): update async subagent middleware for agent protocol (#394)

* update async subagent middleware for agent protocol

* add changeset

* Update libs/deepagents/src/middleware/async_subagents.ts

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>

* Update libs/deepagents/src/middleware/async_subagents.ts

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>

* Update libs/deepagents/src/middleware/async_subagents.ts

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>

* differentiate agent protocol

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>

* chore(repo): migrate linting and formatting to oxc tooling (#391)

* chore(repo): migrate linting and formatting to oxc tooling

* cr

* cr

* chore(lint): clean up console disables for oxlint

* cr

* Apply suggestions from code review

Co-authored-by: Christian Bromann <git@bromann.dev>

---------

Co-authored-by: Christian Bromann <git@bromann.dev>

* refactor(deepagents): clean up createDeepAgent middleware wiring (#392)

* refactor(deepagents): clean up createDeepAgent middleware wiring

* fix(deepagents): avoid duplicate HITL middleware on subagents

* add comments, remove iife

* Create ten-masks-flow.md

* fix(deepagents): align prompt templates with runtime behavior (#393)

* fix(deepagents): align prompt templates with runtime behavior

* chore: add changeset for prompt alignment fixes

* cr

* cr

* fix store backend and tests

* lint

* fix rests and resolveBackend

* lint

* fix failing tests

* revert adapt resolve backend

* fix resolve backend

* better variable name

* fix backend factory to return a maybe promise

* mark resolve backend as internal

* format

---------

Co-authored-by: Colin Francis <131073567+colifran@users.noreply.github.com>
Co-authored-by: pawel-twardziak <pawel.twardziak.dev@gmail.com>
Co-authored-by: Christian Bromann <git@bromann.dev>
Co-authored-by: Maahir Sachdev <maahir.sachdev@langchain.dev>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Colin Francis <colin.francis@langchain.dev>
2026-04-01 17:10:16 -07:00
github-actions[bot] a7c503bb97 chore: version packages (#396)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-30 21:38:24 -07:00
Christian Bromann 92b26577b8 fix(deepagents): bump langchain deps (#395)
* fix(deepagents): bump langchain deps

* formay

* Update changeset by removing deprecated packages

Removed several packages from the changeset.

* fix build
2026-03-30 21:24:30 -07:00
github-actions[bot] 02321d6fb1 chore: version packages (#388)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-30 13:13:32 -07:00
Christian Bromann 9301a9efcc fix(deepagents): update langchain packages (#390)
* fix(deepagents): update langchain packages

* Create warm-parents-prove.md

* format
2026-03-30 12:59:24 -07:00
Elliot Hesp ba5aafd761 feat(daytona): support autoArchiveInterval & autoDeleteInterval (#382)
* feat(daytona): support autoArchiveInterval &  autoDeleteInterval

* chore: add changset
2026-03-29 13:20:20 -07:00
github-actions[bot] 48f21c3c6f chore: version packages (#379)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-26 14:05:51 -07:00
dependabot[bot] d94803d549 build(deps): bump @daytonaio/sdk from 0.148.0 to 0.155.0 (#370)
Bumps [@daytonaio/sdk](https://github.com/daytonaio/daytona) from 0.148.0 to 0.155.0.
- [Release notes](https://github.com/daytonaio/daytona/releases)
- [Commits](https://github.com/daytonaio/daytona/compare/v0.148.0...v0.155.0)

---
updated-dependencies:
- dependency-name: "@daytonaio/sdk"
  dependency-version: 0.155.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-25 18:15:22 -07:00
dependabot[bot] 36c8459c09 build(deps): bump the patch-deps-updates-main group with 10 updates (#367)
Bumps the patch-deps-updates-main group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `3.3.3` | `3.3.5` |
| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.1.33` | `1.1.36` |
| [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) | `1.2.3` | `1.2.5` |
| [@langchain/langgraph-checkpoint](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/checkpoint) | `1.0.0` | `1.0.1` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.21.4` | `0.21.5` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.2.34` | `1.2.37` |
| [yaml](https://github.com/eemeli/yaml) | `2.8.2` | `2.8.3` |
| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.3.18` | `1.3.25` |
| [modal](https://github.com/modal-labs/modal-client) | `0.7.1` | `0.7.3` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.5.7` | `0.5.13` |


Updates `@eslint/eslintrc` from 3.3.3 to 3.3.5
- [Release notes](https://github.com/eslint/eslintrc/releases)
- [Changelog](https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.5)

Updates `@langchain/core` from 1.1.33 to 1.1.36
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/core@1.1.33...@langchain/core@1.1.36)

Updates `@langchain/langgraph` from 1.2.3 to 1.2.5
- [Release notes](https://github.com/langchain-ai/langgraphjs/releases)
- [Changelog](https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph-core/CHANGELOG.md)
- [Commits](https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph@1.2.5/libs/langgraph-core)

Updates `@langchain/langgraph-checkpoint` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/langchain-ai/langgraphjs/releases)
- [Changelog](https://github.com/langchain-ai/langgraphjs/blob/main/libs/checkpoint/CHANGELOG.md)
- [Commits](https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph-checkpoint@1.0.1/libs/checkpoint)

Updates `tsdown` from 0.21.4 to 0.21.5
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.21.4...v0.21.5)

Updates `langchain` from 1.2.34 to 1.2.37
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/langchain@1.2.34...langchain@1.2.37)

Updates `yaml` from 2.8.2 to 2.8.3
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

Updates `@langchain/anthropic` from 1.3.18 to 1.3.25
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/anthropic@1.3.18...@langchain/anthropic@1.3.25)

Updates `modal` from 0.7.1 to 0.7.3
- [Changelog](https://github.com/modal-labs/modal-client/blob/main/CHANGELOG_GO_JS.md)
- [Commits](https://github.com/modal-labs/modal-client/commits/go/v0.7.3)

Updates `langsmith` from 0.5.7 to 0.5.13
- [Release notes](https://github.com/langchain-ai/langsmith-sdk/releases)
- [Commits](https://github.com/langchain-ai/langsmith-sdk/commits)

---
updated-dependencies:
- dependency-name: "@eslint/eslintrc"
  dependency-version: 3.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/core"
  dependency-version: 1.1.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph"
  dependency-version: 1.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph-checkpoint"
  dependency-version: 1.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: tsdown
  dependency-version: 0.21.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: langchain
  dependency-version: 1.2.37
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/anthropic"
  dependency-version: 1.3.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: modal
  dependency-version: 0.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: langsmith
  dependency-version: 0.5.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-25 11:57:00 -07:00
Christian Bromann 028f2f818f fix(deepagents): extend BackendFactory and make it async (#362)
* fix(deepagents): extend BackendFactory and make it async

* revert changes in old store

* Create funny-pears-clap.md

* cr

* cr

* cr
2026-03-25 11:45:20 -07:00
github-actions[bot] 63260d45be chore: version packages (#321)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-23 21:56:56 -07:00
Colin Francis 03ea1c9729 revert: "feat(deepagents): support multimodal files for backends (#298)" (#352)
* Revert "feat(deepagents): support multimodal files for backends (#298)"

This reverts commit aab678ad66.

* regen lock file

* fix empty string id check for sandbox protocols
2026-03-23 14:48:00 -07:00
Colin Francis 573479d743 Revert "chore(deepagents): refactor backend method names - lsInfo -> ls, …" (#349)
This reverts commit a5ba74eac2.
2026-03-23 13:46:06 -07:00
dependabot[bot] c73ab6b0c4 build(deps): bump @deno/sandbox from 0.12.0 to 0.13.2 (#342)
Bumps @deno/sandbox from 0.12.0 to 0.13.2.

---
updated-dependencies:
- dependency-name: "@deno/sandbox"
  dependency-version: 0.13.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 13:31:49 -07:00
dependabot[bot] 0bc3efec28 build(deps-dev): bump tsdown from 0.20.3 to 0.21.4 (#343)
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.20.3 to 0.21.4.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.20.3...v0.21.4)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.21.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 13:01:21 -07:00
dependabot[bot] 75b3e71263 build(deps): bump the patch-deps-updates-main group with 9 updates (#338)
Bumps the patch-deps-updates-main group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `3.3.3` | `3.3.5` |
| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.1.33` | `1.1.35` |
| [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) | `1.2.3` | `1.2.5` |
| [@langchain/langgraph-checkpoint](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/checkpoint) | `1.0.0` | `1.0.1` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.2.34` | `1.2.36` |
| [yaml](https://github.com/eemeli/yaml) | `2.8.2` | `2.8.3` |
| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.3.18` | `1.3.25` |
| [modal](https://github.com/modal-labs/modal-client) | `0.7.1` | `0.7.3` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.5.7` | `0.5.12` |


Updates `@eslint/eslintrc` from 3.3.3 to 3.3.5
- [Release notes](https://github.com/eslint/eslintrc/releases)
- [Changelog](https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.5)

Updates `@langchain/core` from 1.1.33 to 1.1.35
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/core@1.1.33...@langchain/core@1.1.35)

Updates `@langchain/langgraph` from 1.2.3 to 1.2.5
- [Release notes](https://github.com/langchain-ai/langgraphjs/releases)
- [Changelog](https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph-core/CHANGELOG.md)
- [Commits](https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph@1.2.5/libs/langgraph-core)

Updates `@langchain/langgraph-checkpoint` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/langchain-ai/langgraphjs/releases)
- [Changelog](https://github.com/langchain-ai/langgraphjs/blob/main/libs/checkpoint/CHANGELOG.md)
- [Commits](https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph-checkpoint@1.0.1/libs/checkpoint)

Updates `langchain` from 1.2.34 to 1.2.36
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/langchain@1.2.34...langchain@1.2.36)

Updates `yaml` from 2.8.2 to 2.8.3
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

Updates `@langchain/anthropic` from 1.3.18 to 1.3.25
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/anthropic@1.3.18...@langchain/anthropic@1.3.25)

Updates `modal` from 0.7.1 to 0.7.3
- [Changelog](https://github.com/modal-labs/modal-client/blob/main/CHANGELOG_GO_JS.md)
- [Commits](https://github.com/modal-labs/modal-client/commits/go/v0.7.3)

Updates `langsmith` from 0.5.7 to 0.5.12
- [Release notes](https://github.com/langchain-ai/langsmith-sdk/releases)
- [Commits](https://github.com/langchain-ai/langsmith-sdk/commits)

---
updated-dependencies:
- dependency-name: "@eslint/eslintrc"
  dependency-version: 3.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/core"
  dependency-version: 1.1.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph"
  dependency-version: 1.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph-checkpoint"
  dependency-version: 1.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: langchain
  dependency-version: 1.2.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/anthropic"
  dependency-version: 1.3.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: modal
  dependency-version: 0.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: langsmith
  dependency-version: 0.5.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 09:27:11 -07:00
jzsp 8dc4e9ca29 feat(node-vfs): enhance VfsSandbox to support absolute paths execute (#322)
* feat(node-vfs): enhance VfsSandbox to support absolute paths in commands and add related integration tests

- Implemented a method to rewrite absolute paths in commands referencing VFS entries to point to the temporary directory.
- Added integration tests for executing multi-file Node.js projects with both absolute and relative paths.
- Updated existing tests to clarify path usage in commands.

* fix(node-vfs): add changeset for rewriting absolute VFS paths in execute() commands

* fix: ci

---------

Co-authored-by: wangjiangjian.0224 <wangjiangjian.0224@bytedance.com>
2026-03-20 13:44:12 -07:00
Colin Francis a5ba74eac2 chore(deepagents): refactor backend method names - lsInfo -> ls, grepRaw -> grep, globInfo -> glob (#318)
* update backend protocol interface, types, and utils

* refactor state backend

* refactor store backend

* clean up

* unit tests

* refactor filesystem

* unit tests

* skip binary files in literal search for filesystem backend

* refactor base sandbox

* base sandbox unit tests

* refactor local shell backend

* refactor composite backend

* composite and local shell backend changes

* refactor fs middleware

* unit tests and fixed issue where createFileData was removed - this would be breaking

* refactor acp filesystem backend

* backend protocol v2

* simplify createFileData

* docstrings

* adapt backend protocol tests

* sandbox protocol v2

* format

* standard tests

* fix tests

* fix tests

* fix tests

* fix node vfs

* lint fix

* empty commit

* fix download files to handle binary

* any backend protocol

* lint

* make backend protocol v2 extend backend protocol

* make backend unknown type for is sandbox backend check

* add changeset

* add max binary file size

* add svg

* separate v1 and v2

* format

* lint

* format

* update glob, ls, read raw return types

* unit test fixes

* fix tests

* restore standard-tests package

* fix integ tests - make standard-tests backward compatible

* remove deleted sandbox adapter

* standard-test refactor for backwards compat

* linting

* fix tests

* type guards and improved guard checks

* store mime type with v2 file data

* make explicit v1 types

* fix locall shell int types

* fix bug

* edge case

* update providers

* lint

* fix repl

* read raw tests

* support string or unint8arrays

* clean comments, docstrings, and fix issue where we were throwing a string

* don't re-wrap uint8arrays

* clean up test names

* fix quickjs

* poison pill and uint8array issues

* add back video and audio support

* bump langgraph-checkpoint version for json plus serializer changes

* fix lock after merge with main

* remove explicit cast

* use instance of Uint8Array for FileDataV2 schema

* update changeset

* update backend protocol interface, types, and utils

* refactor state backend

* refactor store backend

* clean up

* unit tests

* refactor filesystem

* unit tests

* skip binary files in literal search for filesystem backend

* refactor base sandbox

* base sandbox unit tests

* refactor local shell backend

* refactor composite backend

* composite and local shell backend changes

* refactor fs middleware

* unit tests and fixed issue where createFileData was removed - this would be breaking

* refactor acp filesystem backend

* backend protocol v2

* simplify createFileData

* docstrings

* adapt backend protocol tests

* sandbox protocol v2

* format

* standard tests

* fix tests

* fix tests

* fix tests

* fix node vfs

* lint fix

* empty commit

* fix download files to handle binary

* any backend protocol

* lint

* make backend protocol v2 extend backend protocol

* make backend unknown type for is sandbox backend check

* add changeset

* add max binary file size

* add svg

* separate v1 and v2

* format

* lint

* format

* update glob, ls, read raw return types

* unit test fixes

* fix tests

* restore standard-tests package

* fix integ tests - make standard-tests backward compatible

* remove deleted sandbox adapter

* standard-test refactor for backwards compat

* linting

* fix tests

* type guards and improved guard checks

* store mime type with v2 file data

* make explicit v1 types

* fix locall shell int types

* fix bug

* edge case

* update providers

* lint

* fix repl

* read raw tests

* support string or unint8arrays

* clean comments, docstrings, and fix issue where we were throwing a string

* don't re-wrap uint8arrays

* clean up test names

* fix quickjs

* poison pill and uint8array issues

* add back video and audio support

* bump langgraph-checkpoint version for json plus serializer changes

* fix lock after merge with main

* remove explicit cast

* use instance of Uint8Array for FileDataV2 schema

* refactor backend methods

* add changeset

* changesets

* regen lock
2026-03-17 19:17:35 -07:00