Commit Graph

426 Commits

Author SHA1 Message Date
github-actions[bot] 287776254f chore: version packages (alpha) (#429)
* chore: version packages (alpha)

* cr

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
Co-authored-by: Hunter Lovell <hunter@hntrl.io>
@langchain/daytona@0.2.0-alpha.0 @langchain/deno@0.2.2-alpha.0 @langchain/modal@0.1.4-alpha.0 @langchain/node-vfs@0.1.4-alpha.0 @langchain/quickjs@0.2.5-alpha.0 deepagents-acp@0.1.8-alpha.0 deepagents@1.9.0-alpha.1
2026-04-06 11:31:46 -07:00
Hunter Lovell 6830c24981 chore: patch package versions (#430) 2026-04-05 22:30:34 -07:00
Hunter Lovell fa80a3602a chore: fix changeset (#428) 2026-04-05 22:16:07 -07:00
John Kennedy 37a12fa57e fix(deps): patch all open Dependabot security vulnerabilities via pnpm overrides (#425)
Adds/updates pnpm overrides to resolve 11 open Dependabot alerts:
- lodash <= 4.17.23 → 4.18.1 (prototype pollution)
- picomatch < 2.3.2 → 2.3.2 and >= 4.0.0 < 4.0.4 → 4.0.4 (ReDoS)
- fast-xml-parser >= 4.0.0-beta.3 <= 5.5.6 → 5.5.10 (multiple vulns)
- flatted < 3.4.2 → 3.4.2 (prototype pollution)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:10:24 -07:00
Youngho Kim dc030a5238 fix: add default value to grep tool glob schema for strict mode compatibility (#422)
* fix: add default value to grep tool glob schema for strict mode compatibility

The grep tool's `glob` field was defined with `.optional().nullable()` but
without `.default()`, causing it to be excluded from the JSON schema
`required` array. This violates OpenAI's strict mode requirement that all
properties must be listed in `required`.

Fixes #401

* Fix grep tool glob schema for strict mode

Added a default value to the grep tool glob schema to ensure compatibility with strict mode.

* Update .changeset/lucky-candles-reply.md

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2026-04-03 20:22:33 -07:00
Maahir Sachdev a0fb3e1f6f Merge pull request #423 from langchain-ai/add-quick-test
fix(deepagents): add integration test for subagent responseFormat
2026-04-02 16:44:51 -07:00
Maahir Sachdev 39dd5faabc lint 2026-04-02 11:57:08 -07:00
Maahir Sachdev 95e0ea88f2 add in quick test 2026-04-02 10:58:17 -07:00
dependabot[bot] 137914554d build(deps): bump the patch-deps-updates-main group across 1 directory with 10 updates (#421)
Bumps the patch-deps-updates-main group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.1.33` | `1.1.38` |
| [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) | `1.2.3` | `1.2.6` |
| [@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.7` |
| [@langchain/langgraph-sdk](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/sdk) | `1.8.0` | `1.8.4` |
| [langchain](https://github.com/langchain-ai/langchainjs) | `1.2.36` | `1.2.39` |
| [yaml](https://github.com/eemeli/yaml) | `2.8.2` | `2.8.3` |
| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.3.23` | `1.3.26` |
| [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.16` |



Updates `@langchain/core` from 1.1.33 to 1.1.38
- [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.38)

Updates `@langchain/langgraph` from 1.2.3 to 1.2.6
- [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.6/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.7
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.21.4...v0.21.7)

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

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

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.23 to 1.3.26
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/anthropic@1.3.23...@langchain/anthropic@1.3.26)

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.16
- [Release notes](https://github.com/langchain-ai/langsmith-sdk/releases)
- [Commits](https://github.com/langchain-ai/langsmith-sdk/commits)

---
updated-dependencies:
- dependency-name: "@langchain/core"
  dependency-version: 1.1.38
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph"
  dependency-version: 1.2.6
  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.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: "@langchain/langgraph-sdk"
  dependency-version: 1.8.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates-main
- dependency-name: langchain
  dependency-version: 1.2.39
  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.26
  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.16
  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-04-02 00:35:40 -07:00
dependabot[bot] 8d68b63f00 build(deps): bump vitest from 4.0.18 to 4.1.2 (#413)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.0.18 to 4.1.2.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.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-04-02 00:26:41 -07:00
dependabot[bot] 8a43ed6a4e build(deps-dev): bump @types/node from 25.3.3 to 25.5.0 (#411)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.3.3 to 25.5.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.5.0
  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-04-02 00:19:13 -07:00
Colin Francis 815bc0fac4 fix: deprecate backend factories (#419)
* add zero-arg constructor to StateBackend

* add zero-arg constructor to StoreBackend

* updates tests, examples, docstrings

* tests

* changeset

* lint

* lockfile

* clean up
2026-04-02 00:14:05 -07:00
Hunter Lovell 1f2ca049d7 chore: fix lockfile (#420) 2026-04-02 07:05:02 +00:00
dependabot[bot] 0c7da26b5d build(deps-dev): bump @vitest/ui from 4.0.18 to 4.1.2 (#410)
Bumps [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) from 4.0.18 to 4.1.2.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/ui)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-version: 4.1.2
  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-04-01 21:37:17 -07:00
dependabot[bot] 1617d8db15 build(deps-dev): bump vite from 6.4.1 to 8.0.3 (#414)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 8.0.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.0.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.3
  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:36:02 -07:00
dependabot[bot] 1e70a02a74 build(deps): bump softprops/action-gh-release from 2.0.9 to 2.6.1 (#407)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.0.9 to 2.6.1.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8...153bb8e04406b158c6c84fc1615b65b24149a1fe)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.6.1
  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-04-01 21:29:47 -07:00
dependabot[bot] af5a3cf1b2 build(deps): bump actions/setup-node from 6.1.0 to 6.3.0 (#406)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.1.0 to 6.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/395ad3262231945c25e8478fd5baf05154b1d79f...53b83947a5a98c8d113130e565377fae1a50d02f)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.3.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-04-01 21:29:36 -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
dependabot[bot] 68037d6563 build(deps): bump dotenv from 17.3.1 to 17.4.0 (#415)
Bumps [dotenv](https://github.com/motdotla/dotenv) from 17.3.1 to 17.4.0.
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-version: 17.4.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-04-01 21:28:28 -07:00
dependabot[bot] 0955c2fef7 build(deps): bump yaml from 2.8.2 to 2.8.3 (#405)
Bumps [yaml](https://github.com/eemeli/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)

---
updated-dependencies:
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 21:28:16 -07:00
dependabot[bot] 587ae70c8d build(deps): bump @agentclientprotocol/sdk from 0.17.1 to 0.18.0 (#416)
Bumps [@agentclientprotocol/sdk](https://github.com/agentclientprotocol/typescript-sdk) from 0.17.1 to 0.18.0.
- [Release notes](https://github.com/agentclientprotocol/typescript-sdk/releases)
- [Changelog](https://github.com/agentclientprotocol/typescript-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/agentclientprotocol/typescript-sdk/compare/v0.17.1...v0.18.0)

---
updated-dependencies:
- dependency-name: "@agentclientprotocol/sdk"
  dependency-version: 0.18.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-04-01 21:27:54 -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>
@langchain/quickjs@0.2.4 deepagents-acp@0.1.7 deepagents@1.8.8
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>
@langchain/daytona@0.2.0 @langchain/quickjs@0.2.3 deepagents-acp@0.1.6 deepagents@1.8.7
2026-03-30 13:13:32 -07:00
Christian Bromann 08f20a74b3 fix: update changelog 2026-03-30 13:09:17 -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
Christian Bromann 2de4302003 fix(deepagents): evict large HumanMessages to filesystem (#357)
* feat(sdk): evict large HumanMessages to filesystem

Port of python PR #2183 to JS. Adds a beforeAgent hook to the
FilesystemMiddleware that checks the most recent message. If it is a
HumanMessage whose text content exceeds toolTokenLimitBeforeEvict, the
full content is written to the backend and the message is replaced with
a truncated preview pointing to the file.

Changes:
- Add TOO_LARGE_HUMAN_MSG template for evicted human messages
- Add extractTextFromMessage() to extract text from any message type
- Add buildEvictedHumanContent() to preserve non-text blocks (images)
- Add beforeAgent hook to createFilesystemMiddleware
- Add comprehensive tests for HumanMessage eviction

Co-authored-by: Christian Bromann <christian-bromann@users.noreply.github.com>

* format

* Create angry-jobs-film.md

* refactor: align with final Python PR - tag-based eviction architecture

Rework the HumanMessage eviction to match the final shipped Python PR:

Architecture change:
- beforeAgent: writes large content to backend and TAGS the message
  with lc_evicted_to in additional_kwargs (preserving original content
  in state for checkpoint persistence)
- wrapModelCall: truncates all tagged messages before sending to model
  (model sees preview, state keeps full content)

Key differences from initial port:
- Separate humanMessageTokenLimitBeforeEvict option (default: 50000)
- Original content preserved in state (not replaced)
- Messages tagged with lc_evicted_to for multi-turn truncation
- Path changed from /large_messages/ to /conversation_history/
- Added buildTruncatedHumanMessage helper for model-view truncation
- wrapModelCall now handles truncation of all tagged messages

Tests updated:
- beforeAgent tests verify tagging behavior (original content preserved)
- New wrapModelCall test suite for truncation of tagged messages
- Test for skip already-tagged messages
- Test for mixed tagged/untagged message lists
- Test for non-text block preservation during truncation

Co-authored-by: Christian Bromann <christian-bromann@users.noreply.github.com>

* format

* fix: update beforeAgent to use resolveBackend after main merge

The merge from main replaced getBackend/StateAndStore with
resolveBackend/BackendRuntime. Update the beforeAgent hook to use the
new API.

Co-authored-by: Christian Bromann <christian-bromann@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Christian Bromann <christian-bromann@users.noreply.github.com>
2026-03-29 13:59:00 -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>
@langchain/deno@0.2.2 @langchain/quickjs@0.2.2 deepagents-acp@0.1.5 deepagents@1.8.6
2026-03-26 14:05:51 -07:00
Christian Bromann 8e6a28316b fix(deepagents): support ttl for LS sandbox (#381)
* fix(deepagents): support ttl for LS sandbox

* format

* Add support for ttl in LS sandbox
2026-03-26 14:04:59 -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] 1e8f296e7a build(deps): bump vitest from 4.0.18 to 4.1.1 (#371)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.0.18 to 4.1.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.1/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.1
  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:09:46 -07:00
dependabot[bot] ef6dd602c6 build(deps-dev): bump @types/node from 25.3.3 to 25.5.0 (#375)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.3.3 to 25.5.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.5.0
  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-25 18:03:40 -07:00
John Kennedy b350ffc012 Merge pull request #369 from langchain-ai/dependabot/npm_and_yarn/vitest/coverage-v8-4.1.1
build(deps-dev): bump @vitest/coverage-v8 from 4.0.18 to 4.1.1
2026-03-25 12:07:44 -07:00
dependabot[bot] 4656177252 build(deps-dev): bump @vitest/coverage-v8 from 4.0.18 to 4.1.1
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.0.18 to 4.1.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.1/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 18:58:44 +00:00
dependabot[bot] 0d7acf6e04 build(deps-dev): bump eslint from 10.0.0 to 10.1.0 (#377)
Bumps [eslint](https://github.com/eslint/eslint) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.0.0...v10.1.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.1.0
  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-25 11:57:19 -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
dependabot[bot] f79dfc184d build(deps): bump @agentclientprotocol/sdk from 0.16.1 to 0.17.0 (#368)
Bumps [@agentclientprotocol/sdk](https://github.com/agentclientprotocol/typescript-sdk) from 0.16.1 to 0.17.0.
- [Release notes](https://github.com/agentclientprotocol/typescript-sdk/releases)
- [Changelog](https://github.com/agentclientprotocol/typescript-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/agentclientprotocol/typescript-sdk/compare/v0.16.1...v0.17.0)

---
updated-dependencies:
- dependency-name: "@agentclientprotocol/sdk"
  dependency-version: 0.17.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 11:44:08 -07:00
dependabot[bot] 45b031317d build(deps): bump @langchain/openai from 1.2.7 to 1.3.1 (#373)
Bumps [@langchain/openai](https://github.com/langchain-ai/langchainjs) from 1.2.7 to 1.3.1.
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/openai@1.2.7...@langchain/openai@1.3.1)

---
updated-dependencies:
- dependency-name: "@langchain/openai"
  dependency-version: 1.3.1
  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 11:43:32 -07:00
dependabot[bot] 18def024a5 build(deps-dev): bump @changesets/changelog-github from 0.5.2 to 0.6.0 (#374)
Bumps [@changesets/changelog-github](https://github.com/changesets/changesets) from 0.5.2 to 0.6.0.
- [Release notes](https://github.com/changesets/changesets/releases)
- [Commits](https://github.com/changesets/changesets/compare/@changesets/read@0.5.2...@changesets/changelog-github@0.6.0)

---
updated-dependencies:
- dependency-name: "@changesets/changelog-github"
  dependency-version: 0.6.0
  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-25 11:43:15 -07:00
dependabot[bot] 45d4cc6d3b build(deps-dev): bump @vitest/ui from 4.0.18 to 4.1.1 (#376)
Bumps [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) from 4.0.18 to 4.1.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.1/packages/ui)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-version: 4.1.1
  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-25 11:42:40 -07:00
dependabot[bot] 5595bde1bc build(deps-dev): bump typescript-eslint from 8.56.0 to 8.57.2 (#372)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.56.0 to 8.57.2.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.57.2
  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-25 11:26:13 -07:00
John Kennedy 68f815795c Merge pull request #365 from langchain-ai/ci/pin-workflow-action-versions
ci: pin workflow action versions to specific commits
2026-03-25 11:20:06 -07:00
John Kennedy 55c20fd611 Merge pull request #364 from langchain-ai/chore/fix-dependabot-schedule
chore: update dependabot schedule to monthly
2026-03-25 11:18:48 -07:00
DeepAgents 5d06a21e91 ci: pin workflow action versions to specific commits
- Pin all actions in cli-release.yml to specific commit SHAs
- Change pr_lint.yml permissions from pull-requests: read to contents: read to avoid unnecessary secret exposure on pull_request triggers
- Ensures reproducible CI and reduces attack surface
2026-03-25 11:07:06 -07:00
DeepAgents 15ce86779e chore: update dependabot schedule to monthly 2026-03-25 11:05:46 -07:00
github-actions[bot] 63260d45be chore: version packages (#321)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@langchain/node-vfs@0.1.3 @langchain/quickjs@0.2.1 deepagents-acp@0.1.4 deepagents@1.8.5
2026-03-23 21:56:56 -07:00
Christian Bromann cb352a0412 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
2026-03-23 21:40:31 -07:00