Commit Graph

378 Commits

Author SHA1 Message Date
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
Christian Bromann 2b76272e9c 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
2026-03-23 21:20:32 -07:00
Maahir Sachdev 140e9ef517 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>
2026-03-23 21:20:02 -07:00
pawel-twardziak 3254f71708 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>
2026-03-23 21:04:36 -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 367e43a5ed revert: "feat(sdk): add async subagent middleware for remote LangGraph servers (#323)" (#351)
* Revert "feat(sdk): add async subagent middleware for remote LangGraph servers  (#323)"

This reverts commit 2bebf306f5.

* regen lock
2026-03-23 14:22:33 -07:00
dependabot[bot] 384b93c61a build(deps-dev): bump @vitest/ui from 4.0.18 to 4.1.0 (#340)
Bumps [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) from 4.0.18 to 4.1.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/ui)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-version: 4.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-23 13:47:15 -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
Colin Francis 96dc34ccb6 Revert "chore(sdk): unify sync subagents and async subagents into a single pr…" (#348)
This reverts commit ab85866549.
2026-03-23 13:45:42 -07:00
dependabot[bot] 6517b7789e build(deps-dev): bump typescript-eslint from 8.56.0 to 8.57.1 (#339)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.56.0 to 8.57.1.
- [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.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.57.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-23 13:32:35 -07:00
dependabot[bot] 4b39283cd8 build(deps-dev): bump @vitest/coverage-v8 from 4.0.18 to 4.1.0 (#341)
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.0.18 to 4.1.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.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-23 13:32:03 -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] c824dc521f build(deps): bump vitest from 4.0.18 to 4.1.0 (#345)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.0.18 to 4.1.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.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-23 13:03:06 -07:00
dependabot[bot] 50a2c8da96 build(deps): bump @langchain/langgraph-sdk from 1.7.3 to 1.8.0 (#344)
Bumps [@langchain/langgraph-sdk](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/sdk) from 1.7.3 to 1.8.0.
- [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.0/libs/sdk)

---
updated-dependencies:
- dependency-name: "@langchain/langgraph-sdk"
  dependency-version: 1.8.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-23 13:01:37 -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
Christian Bromann 68b52d0e55 fix: broken pnpm-lock 2026-03-23 09:31:15 -07:00
dependabot[bot] 94962f2c0d build(deps-dev): bump @changesets/cli from 2.29.8 to 2.30.0 (#346)
Bumps [@changesets/cli](https://github.com/changesets/changesets) from 2.29.8 to 2.30.0.
- [Release notes](https://github.com/changesets/changesets/releases)
- [Commits](https://github.com/changesets/changesets/commits/@changesets/cli@2.30.0)

---
updated-dependencies:
- dependency-name: "@changesets/cli"
  dependency-version: 2.30.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-23 09:28:32 -07:00
dependabot[bot] db27487af2 build(deps): bump @agentclientprotocol/sdk from 0.14.1 to 0.16.1 (#347)
Bumps [@agentclientprotocol/sdk](https://github.com/agentclientprotocol/typescript-sdk) from 0.14.1 to 0.16.1.
- [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.14.1...v0.16.1)

---
updated-dependencies:
- dependency-name: "@agentclientprotocol/sdk"
  dependency-version: 0.16.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-23 09:28:10 -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
dependabot[bot] 77b9226564 build(deps): bump pnpm/action-setup from 4 to 5 (#337)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '5'
  dependency-type: direct:production
  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-03-23 09:26:46 -07:00
Colin Francis ab85866549 chore(sdk): unify sync subagents and async subagents into a single property (#326)
* launch tool, check tool

* update tool and cancel tool

* update and cancel tool tests

* list async subagent jobs tool

* list subagent jobs tool and create middleware

* wire in async subagents

* create and use state schema, update message to messages

* tests

* AsyncSubagent -> AsyncSubAgent

* fix import

* bug fixes

* fix exports

* refactor for sync and async subagents as a single entry point

* fix tool names

* restore processed subagent var name

* fix bug

* adjust tool names and tests

* add createdAt, updatedAt, and checkAt fields

* add a changeset

* job->task

* SubAgent->subagent in docstrings

* update tool names

* use tool runtime

* update naming to match async task naming convention

* remove extra custom middleware added during merge conflicts

* launch_async_task->start_async_task

* buildLaunchTool->buildStartTool
2026-03-20 14:45:07 -07:00
Colin Francis 2bebf306f5 feat(sdk): add async subagent middleware for remote LangGraph servers (#323)
* add langgraph sdk dep

* launch tool, check tool

* update tool and cancel tool

* update and cancel tool tests

* list async subagent jobs tool

* list subagent jobs tool and create middleware

* wire in async subagents

* create and use state schema, update message to messages

* tests

* AsyncSubagent -> AsyncSubAgent

* regen lock

* fix import

* bug fixes

* fix exports

* fix tool names

* fix check result bug

* adjust tool names and tests

* add createdAt, updatedAt, and checkAt fields

* changeset

* job->task

* SubAgent->subagent in docstrings

* update tool names

* use tool runtime

* update naming to match async task naming convention

* remove extra custom middleware added during merge conflicts

* launch_async_task->start_async_task

* buildLaunchTool->buildStartTool
2026-03-20 14:31:01 -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
Maahir Sachdev 3ff382e2ba fix(deepagents): isSandboxBackend returns false for empty string id (#332)
* fix sandbox id bug

* Improve condition for checking sandbox backends

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-03-20 11:39:08 -07:00
Hunter Lovell 759fe19a77 fix(deepagents): reorder middleware so prompt caching and memory run last (#331)
* fix(deepagents): reorder middleware so prompt caching and memory run last

Move anthropicPromptCachingMiddleware and memoryMiddleware after all static
and user-supplied middleware so that updates to memory contents do not
invalidate Anthropic prompt caches.

Port of langchain-ai/deepagents#2070.

* cr
2026-03-20 11:36:56 -07:00
Hunter Lovell 01f57ffd81 feat(evals): add OOLONG eval suite (#315)
* feat(evals): add oolong evals

* cr
2026-03-20 11:35:36 -07:00
dependabot[bot] d398e518d0 build(deps): bump @langchain/langgraph from 1.1.4 to 1.2.0 (#268)
Bumps [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) from 1.1.4 to 1.2.0.
- [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.0/libs/langgraph-core)

---
updated-dependencies:
- dependency-name: "@langchain/langgraph"
  dependency-version: 1.2.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-17 20:26:48 -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
Colin Francis aab678ad66 feat(deepagents): support multimodal files for backends (#298)
* 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

* fix integ test

* 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

* regen lock
2026-03-17 19:06:04 -07:00
github-actions[bot] a649a896fd chore: version packages (#310)
* 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-03-17 17:23:15 -07:00
Hunter Lovell 3394e22016 chore: bump langchain version (#319)
* chore: bump langchain version

* cr

* cr
2026-03-17 17:05:57 -07:00
Hunter Lovell 01da08863a fix(deepagents, quickjs): read store from runtime/config.store instead of config.configurable (#317) 2026-03-17 15:15:57 -07:00
Hunter Lovell b30cdf9064 feat: add eval harness and initial eval suites (#309)
* Squashed '.agents/skills/langsmith-skills/' content from commit aec5e8f

git-subtree-dir: .agents/skills/langsmith-skills
git-subtree-split: aec5e8f059ff50b1cde655e50b27a25da7981e60

* feat: add eval harness and initial eval suites

* cr

* cr

* cr

* cr

* cr

* cr

* cr
2026-03-17 10:06:55 -07:00
dependabot[bot] 12fa5aafba build(deps): bump actions/download-artifact (#311)
Bumps the patch-deps-updates group with 1 update: [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v8...v8.0.1)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-deps-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-16 12:31:09 -07:00
Alexei Vedernikov 5a4df6c050 fix(deepagents): move uuid from devDependencies to dependencies (#289)
* fix(deepagents): move uuid from devDependencies to dependencies

* Move uuid to dependencies from devDependencies

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2026-03-13 14:25:57 -07:00
Maahir Sachdev ab4a515f37 feat: Add static structured output to subagent response (#290)
* just static structured output

* fix

* Create curvy-planes-sparkle.md

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-03-13 14:22:24 -07:00
github-actions[bot] 4ebb53375f chore: version packages (#307)
* 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>
deepagents-acp@0.1.2 deepagents@1.8.3
2026-03-13 20:26:22 +00:00
Tanushree 7ffb0b6375 feat(sdk): Add LangSmith integration metadata to deepagentsjs (#305)
* add metadata

* Create itchy-shirts-provide.md

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-03-12 18:28:14 -07:00
Christian Bromann cb7f55f0a9 fix(cli): remove (#301) 2026-03-11 14:11:36 -07:00
Hunter Lovell b805b3e49c fix(modal): prevent sandbox timeout in integration tests (#300) 2026-03-11 12:44:33 -07:00
Maahir Sachdev eeaca6d828 fix: update various issues in QuickJS REPL (#293)
* fix 3 bugs

* fix bugs

* remove state hint

* update

* cr

---------

Co-authored-by: Hunter Lovell <hunter@hntrl.io>
2026-03-11 09:24:00 -07:00
github-actions[bot] 1a503b23df chore: version packages (#282)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-10 15:42:33 -07:00
Christian Bromann 2195638ae8 feat(acp): add authMethods to InitializeResponse for ACP registry compliance (#291)
* feat(acp): add authMethods to InitializeResponse for ACP registry compliance

The ACP registry CI verifies that agents advertise authentication
methods during initialization. Add configurable `authMethods` to
`DeepAgentsServerOptions` with sensible defaults (Anthropic/OpenAI
env_var methods + agent-type fallback), and expose typed interfaces
for all three ACP auth method types (agent, env_var, terminal).

* Create weak-singers-wash.md

* format

* remove description prop
2026-03-10 15:38:30 -07:00
Colin Francis 5af9514ac4 fix(deepagents): prompt caching with anthropic models results in higher than expected cache miss rates (#285)
* improve caching performance

* add changeset

* add check for anthropic models

* use content blocks

* test isAnthropicModel

* update logic to ensure all stable content BEFORE the memory block is cached - not just the system prompt

* fix type check error

* add cache breakpoint after subagent middleware for default and general purpose
2026-03-09 14:05:21 -07:00
Youngho Kim 5f499ed5af fix: delegate CompositeBackend.id to default sandbox backend (#286)
* fix: delegate CompositeBackend.id to default sandbox backend

CompositeBackend failed isSandboxBackend check because it lacked the
required id property from SandboxBackendProtocol. Added a get id()
getter that delegates to the default backend's id when it is a sandbox,
or returns an empty string otherwise. This preserves the real sandbox
ID (e.g. from Daytona/Deno/Modal) for external lifecycle operations
like provider.delete({ sandboxId: sandbox.id }).

Fixes #275

* Fix delegation of CompositeBackend.id to sandbox backend
2026-03-09 09:23:54 -07:00
Youngho Kim 1b8bde902f fix: add truncation to grep/glob/ls tool results (#281)
* fix: add truncation to grep/glob/ls tool results

Fixes #272

grep, glob, and ls tools can return hundreds of KB of results, which
can exceed context limits and cause model retries or blank responses.
This adds truncation at the TOOL_RESULT_TOKEN_LIMIT (20K tokens ~80KB)
threshold, consistent with read_file's existing behavior.

Changes:
- Import truncateIfTooLong utility in fs.ts middleware
- Apply truncation to ls, glob, and grep tool results
- Truncate arrays before joining to preserve complete lines
- Add guidance message when results are truncated

The truncation happens in the middleware layer (matching Python's
architecture), not in the backend, so backends return full results
and middleware applies the limit.

* test: add documentation for truncation test coverage

Add note explaining that ls/grep/glob truncation is covered by
existing truncateIfTooLong tests in utils.test.ts (lines 290-314).
Full integration tests would require complex LangGraph context setup.

* test: add integration tests for ls/grep/glob truncation

Add proper integration tests that verify truncation works through the
entire middleware → tool → backend → formatting → truncation pipeline.

- Mock getCurrentTaskInput to enable tool invocation without LangGraph
- Test ls, glob, and grep tools with large result sets (truncated)
- Test ls, glob, and grep tools with small result sets (not truncated)
- Remove unnecessary comments for cleaner test code

These tests verify that the truncation logic added in commit 6e4a2b8
works correctly through the full middleware integration.

* Implement truncation in tool results

Add truncation feature to grep, glob, and ls tool results.

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2026-03-06 09:42:59 -08:00
Hunter Lovell 454fa26804 feat: add quickjs middleware (#261)
* feat(quickjs): add @langchain/quickjs — sandboxed JS/TS REPL with PTC, env isolation, and RLM support

* chore: split changesets into quickjs minor + deepagents patch

* refactor(quickjs): remove env/secrets, lazy runtime, buffered writes, fix thread_id propagation

- Remove entire env/secrets system (EnvVarConfig, EnvConfig, secretRef, injectEnv, blockEnvLeaks, checkEnvAccess, generateEnvPrompt)
- Lazy-load QuickJS WASM runtime on first eval via ensureStarted()
- Buffer file writes in pendingWrites[], flush after eval via flushWrites(backend)
- Make ReplSession.getOrCreate() synchronous (runtime init deferred)
- Add toJSON()/fromJSON() for session serialization
- Fix thread_id propagation: move session creation from wrapModelCall (which lacks configurable) to tool handler (which has config.configurable.thread_id)
- Remove dead starting map from ReplSession
- Add integration test verifying REPL state persists across js_eval calls
- Add thread_id propagation unit tests
- Remove secret-env-agent example
- 68 unit tests + 1 integration test passing, types clean

* cr

* cr

* docs(quickjs): add README and LICENSE, fix lint errors

* cr

* cr
2026-03-06 08:49:17 +00:00
dependabot[bot] c860bbefa7 build(deps-dev): bump globals from 17.3.0 to 17.4.0 (#266)
Bumps [globals](https://github.com/sindresorhus/globals) from 17.3.0 to 17.4.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.4.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-02 13:12:57 -08:00
dependabot[bot] 50a4e6d794 build(deps): bump actions/upload-artifact from 6 to 7 (#264)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  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-03-02 13:12:44 -08:00