Commit Graph

82 Commits

Author SHA1 Message Date
github-actions[bot] d4e81b58cc chore: version packages (#224)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-18 12:46:01 -08:00
Christian Bromann 199c86c013 fix(deepagents): update summarization behavior (#234)
* fix(deepagents): update summarization behavior

* actually use deepagent summarization middleware

* Update summarization behavior for deepagents

* make it work

* format

* fix pnpm-lock
2026-02-18 12:27:49 -08:00
Christian Bromann a827af7be8 feat(standard-tests): make test suite framework-agnostic and publish as public package (#237)
* feat(standard-tests): make test suite framework-agnostic and publish as public package

Move @langchain/sandbox-standard-tests from internal/ to libs/ for
publishing. The test suite no longer hard-depends on Vitest — test-runner
primitives (describe, it, expect, beforeAll, afterAll) are supplied via
a `runner` config property, letting consumers use any framework.

A convenience sub-export at @langchain/sandbox-standard-tests/vitest
pre-fills the runner with Vitest primitives for zero-config usage.

* format

* no underscore

* adding copies of license files

* adding changesets

* add build step

* fix test
2026-02-18 12:14:01 -08:00
Christian Bromann 357a092b31 feat(deepagents): add local shell backend (#236)
* feat(deepagents): add local shell backend

* format

* make it async

* update readme

* add integration tests

* format

* fix types
2026-02-18 11:09:17 -08:00
dependabot[bot] a34854e68c build(deps): bump the minor-deps-updates-main group with 4 updates (#233)
Bumps the minor-deps-updates-main group with 4 updates: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint), [dotenv](https://github.com/motdotla/dotenv), [@daytonaio/sdk](https://github.com/daytonaio/daytona) and @deno/sandbox.


Updates `typescript-eslint` from 8.55.0 to 8.56.0
- [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.56.0/packages/typescript-eslint)

Updates `dotenv` from 17.2.4 to 17.3.1
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.1)

Updates `@daytonaio/sdk` from 0.139.0 to 0.143.0
- [Release notes](https://github.com/daytonaio/daytona/releases)
- [Commits](https://github.com/daytonaio/daytona/compare/v0.139.0...v0.143.0)

Updates `@deno/sandbox` from 0.11.0 to 0.12.0

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
- dependency-name: dotenv
  dependency-version: 17.3.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
- dependency-name: "@daytonaio/sdk"
  dependency-version: 0.143.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
- dependency-name: "@deno/sandbox"
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-17 11:21:48 -08:00
Alexei Vedernikov a762b91e7a chore(deepagents): re-export createSummarizationMiddleware (#230) 2026-02-15 11:04:00 -08:00
Maahir Sachdev 065f7cb5ee Merge branch 'main' into fix-write-file 2026-02-12 09:23:36 -08:00
Maahir Sachdev c966259da6 fix 2026-02-12 09:22:43 -08:00
Maahir Sachdev 3e041b3bac update test 2026-02-12 09:14:09 -08:00
Maahir Sachdev bb2598b4fa fix(deepagents): prevent write_file crash when model omits content
Default the `content` parameter to an empty string so a missing argument
doesn't crash the entire agent run via Zod validation failure.
2026-02-12 09:11:01 -08:00
github-actions[bot] 310f6fcab9 chore: version packages (#220)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-11 21:32:18 -08:00
Christian Bromann 163c1357e8 fix(deepagents): unwrap responseFormat strategy types so structuredResponse is correctly typed (#222)
* fix(deepagents): unwrap responseFormat strategy types so structuredResponse is correctly typed

Previously, passing responseFormat to createDeepAgent would leak the
strategy wrapper type (e.g. ToolStrategy<{ city: string }>) into the
agent's structuredResponse property instead of the inner parsed type
({ city: string }). This adds an InferStructuredResponse utility type
that extracts T from ToolStrategy<T> / ProviderStrategy<T>, and resolves
to ResponseFormatUndefined when no responseFormat is provided.

Also adds integration tests covering toolStrategy, providerStrategy,
combined tools + responseFormat, nested schemas, and subagents with
structured output.

* format

* Create stale-planes-breathe.md

* improve tests

* update deps

* add type tests
2026-02-11 21:31:03 -08:00
Christian Bromann ae70fa400e fix(deepagents): pass on subagent name (#218)
* fix(deepagents): pass on subagent name

* Add changeset for deepagents patch

* update deps

* format
2026-02-10 23:04:54 -08:00
github-actions[bot] 4b2892bd5b chore: version packages (#219)
* 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-02-11 03:47:30 +00:00
Hunter Lovell adce96c7c7 fix(skills): improve skills middleware input validation and add annotations (#211)
* fix(skills): improve skills middleware input validation and add annotations

* cr

* cr

* cr
2026-02-10 19:37:56 -08:00
Christian Bromann eadf2a3856 chore(deepagents): verify we can run nested deepagents (#207) 2026-02-10 19:30:20 -08:00
Hunter Lovell 2eea576809 refactor(summarization): state rework, move to wrap pattern (#210)
* refactor(summarization): state rework, move to wrap pattern

* cr
2026-02-10 18:18:42 -08:00
github-actions[bot] 7f82473721 chore: version packages (#217)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-10 15:18:49 -08:00
Christian Bromann 786053fe42 feat(deno): better support for sandbox volumes (#216)
* feat(deno): better support for sandbox volumes

* format

* cr

* format
2026-02-10 15:17:41 -08:00
Anton Nak 4ea18587a3 fix(skills): use systemMessage.concat() instead of systemPrompt string (#208)
* fix(skills): use systemMessage.concat() instead of systemPrompt string

* style: fix Prettier formatting in skills.test.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(skills): update integration tests to use systemMessage API

The integration tests were using the old systemPrompt string API
but wrapModelCall now uses request.systemMessage.concat(). Updated
tests to pass SystemMessage objects and read from systemMessage.text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Anton Nakaliuzhnyi <anakaliuzhnyi@gipartners.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:38:52 -08:00
dependabot[bot] a65c294c7e build(deps): bump the minor-deps-updates-main group with 3 updates (#213)
Bumps the minor-deps-updates-main group with 3 updates: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint), [@daytonaio/sdk](https://github.com/daytonaio/daytona) and @deno/sandbox.


Updates `typescript-eslint` from 8.54.0 to 8.55.0
- [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.55.0/packages/typescript-eslint)

Updates `@daytonaio/sdk` from 0.135.0 to 0.139.0
- [Release notes](https://github.com/daytonaio/daytona/releases)
- [Commits](https://github.com/daytonaio/daytona/compare/v0.135.0...v0.139.0)

Updates `@deno/sandbox` from 0.2.2 to 0.11.0

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
- dependency-name: "@daytonaio/sdk"
  dependency-version: 0.139.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
- dependency-name: "@deno/sandbox"
  dependency-version: 0.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-deps-updates-main
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 12:59:44 -08:00
github-actions[bot] 809d79aff0 chore: version packages (#202)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-09 10:22:32 -08:00
Christian Bromann 3f30ba7e1d test(sandbox): enhance standard tests for sandboxes (#201)
* test(sandbox): enhance standard tests for sandboxes

* retrigger

* fix tests

* cr

* format

* fix deno

* cr

* format

* changeset

* cr

* cr

* don't need read/write overwrite anymore

* fix initial files

* format

* fix
2026-02-09 10:20:33 -08:00
Youngho Kim a837eacb81 fix: normalize path handling for cross-platform compatibility (#200)
* fix: normalize path handling for cross-platform compatibility

* add changesets

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2026-02-07 00:07:00 -08:00
github-actions[bot] 381e854d01 chore: version packages (#198)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-06 15:02:01 -08:00
Christian Bromann e4b5892b0e fix(deepagents): runtime agnostic sandbox operations (#197)
* fix(modal): add token to run in CI

* improve fs operations

* format

* changesets
2026-02-06 14:59:51 -08:00
github-actions[bot] 7cf506eee6 chore: version packages (#196)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-06 13:31:18 -08:00
Christian Bromann 731b01ed17 fix(deepagents): polish sandbox interfaces (#194)
* fix(deepagents): polish sandbox interfaces

* revert

* global ref

* format

* changesets

* tweak CI

* fix
2026-02-06 13:27:10 -08:00
Christian Bromann d31f6cbff5 test(sandbox): add standard tests for all provider (#195)
* test(sandbox): add standard tests for all provider

* cr

* fix: allow to clean all daytona sandboxes

* apply CI labels

* withRetry

* bump retry

* format

* cr

* cr

* tweak CI
2026-02-06 13:13:52 -08:00
github-actions[bot] e1a9a62d12 chore: version packages (#192)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-04 22:57:14 -08:00
Christian Bromann cf32056c32 fix: peerdep 2026-02-04 22:54:52 -08:00
Christian Bromann b7c32ee168 fix: add 0.0.1 changelog entries for provider packages 2026-02-04 22:40:27 -08:00
Christian Bromann a18575f9f7 fix: create empty changeset files 2026-02-04 22:28:14 -08:00
Christian Bromann 0d3aa48230 feat(daytona): adding sandbox integration (#188)
* feat: add support for Vercel sandbox

* format

* switch to deno

* cr

* format

* rename

* format

* auto bump peer dep

* format

* feat(daytona): adding sandbox integration

* format

* test fix

* format

* add support for

* add changesets

* feat: add modal sandbox (#190)

* feat: add modal sandbox

* chore: format

* cr

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-02-04 22:11:38 -08:00
Christian Bromann 988b44c129 feat: add SandboxProvider abstraction (#165)
* feat: add support for Vercel sandbox

* format

* switch to deno

* cr

* format

* feat: add support for Vercel sandbox

* feat: add VFS sandbox

* format

* rm vercel

* rename

* format

* rename

* feat: add support for Vercel sandbox

* format

* switch to deno

* cr

* feat: add support for Vercel sandbox

* feat: add VFS sandbox

* format

* rm vercel

* rename

* rename

* feat: add support for Vercel sandbox

* feat: support for sandbox provider

* not needed

* format

* add changeset

* missed file

* tweak

* format

* change changeset
2026-02-04 21:49:22 -08:00
Christian Bromann 2789ebd9d9 feat: add VFS sandbox (#163)
* feat: add support for Vercel sandbox

* format

* switch to deno

* cr

* format

* feat: add support for Vercel sandbox

* feat: add VFS sandbox

* format

* rm vercel

* rename

* format

* rename

* skip if on windows
2026-02-04 21:35:46 -08:00
Christian Bromann c0e676a1a5 feat: add support for Deno sandbox (#162)
* feat: add support for Vercel sandbox

* format

* switch to deno

* cr

* format

* rename

* format

* remove skip

* feedback

* Apply suggestion from @hntrl

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

* auto bump peer dep

* format

* fix lock file

* add jiti

* add support for initialFiles

* include provider integration tests

* use DENO_DEPLOY_TOKEN

* add changeset

---------

Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
2026-02-04 21:10:28 -08:00
Christian Bromann 07b91219e4 fix(summarization): resolve fraction trigger bug by using model profile for maxInputTokens (#189)
* fix(summarization): resolve fraction trigger bug by using model profile for maxInputTokens

The fraction-based trigger in createSummarizationMiddleware was always
ineffective because maxInputTokens was never passed to the internal
functions that needed it.

fixes #185

* fix type
2026-02-04 17:06:15 -08:00
Christian Bromann d7cc7f4d92 feat(deepagents): support skills in subagents (#187)
* feat(deepagents): support skills in subagents

* better check for runnable

* improve testing

* format
2026-02-04 17:01:52 -08:00
Christian Bromann 2380fc1317 fix(deepagents): grep should perform literal search instead of regex (#186) 2026-02-04 17:01:38 -08:00
Christian Bromann 9ce0db10e4 chore(deepagents): minor Readme tweaks 2026-02-04 14:41:02 -08:00
Youngho Kim 1a902db31f chore: migrate to use SystemMessage and add tests for filesystem middleware (#184)
* refactor: migrate filesystem middleware to use SystemMessage

Refactor `createFilesystemMiddleware` to use `systemMessage.concat()` instead of string concatenation with `systemPrompt`. This aligns with the pattern established in the memory middleware and provides better type safety.

Add comprehensive test coverage for `wrapModelCall` including:
- System prompt injection behavior
- Conditional execute tool registration based on backend support
- Custom system prompt handling

* test: add comprehensive wrapToolCall tests for filesystem middleware

Add test coverage for the wrapToolCall functionality in the filesystem middleware:
- Test pass-through behavior when eviction is disabled
- Test that tools in TOOLS_EXCLUDED_FROM_EVICTION are not evicted regardless of size
- Test that small tool results are not evicted
- Test eviction of large ToolMessage results to filesystem
- Test handling of Command objects with multiple ToolMessages
- Test graceful error handling when backend write fails during eviction
2026-02-04 11:04:26 -08:00
github-actions[bot] 72c3b18d09 chore: version packages (#182)
* 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-02-04 03:14:33 +00:00
Hunter Lovell 063436e0a0 feat: set default recursionLimit to 10k (#183)
* feat: set default recursionLimit to 10k

* chore: format

* chore: fixup bad test
2026-02-03 19:11:23 -08:00
Youngho Kim 9f77da4723 refactor: migrate memory middleware to use SystemMessage (#178)
* refactor(deepagents): migrate memory middleware to use SystemMessage

Update memory middleware to use SystemMessage class instead of string-based systemPrompt. This change aligns the middleware with the updated request interface and provides better type safety.

- Replace systemPrompt string with SystemMessage object in memory.ts
- Use SystemMessage.concat() method for combining memory section with existing system message
- Update all test cases to use SystemMessage constructor and .text property for assertions

* add changeset

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2026-02-03 16:18:50 -08:00
Maahir Sachdev 3cc53264db refactor: Add shared filesValue state primitive (#181)
* Add shared filesValue

* lint
2026-02-03 16:18:26 -08:00
github-actions[bot] 41f1e38f65 chore: version packages (#164)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 22:40:11 -08:00
Christian Bromann 90ade665a3 fix(deepagents): fix type issues (#174)
* fix(deepagents): fix type issues

* fix types

* minor tweak
2026-02-02 22:35:00 -08:00
Christian Bromann 7038d247a8 fix(deepagents): resolve dangling tool_call_id when rejecting parallel tool calls (#173)
* fix(deepagents): resolve dangling tool_call_id when rejecting parallel tool calls

* type improvements

* format
2026-02-02 21:41:32 -08:00
Christian Bromann dff8977d20 fix(deepagents): remove obsolete import 2026-02-02 21:15:52 -08:00