Commit Graph

30 Commits

Author SHA1 Message Date
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
Hunter Lovell 3394e22016 chore: bump langchain version (#319)
* chore: bump langchain version

* cr

* cr
2026-03-17 17:05:57 -07: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
Christian Bromann db3ad2c506 feat(server): add ACP support (#191)
* feat(server): add ACP support

* improvements

* rename to deepagents-acp

* format

* add missing props

* linting

* lint

* more docs

* Create orange-scissors-tell.md

* more features

* format

* format

* fix tests

* format
2026-02-24 21:00:54 -08:00
Christian Bromann a553936c53 docs(deepagents): add streaming examples (#227)
* docs(deepagents): add streaming examples

* format

* Create clean-pumpkins-stare.md
2026-02-23 14:04:44 -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 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
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 eadf2a3856 chore(deepagents): verify we can run nested deepagents (#207) 2026-02-10 19:30:20 -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 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
sunwenzhe-git f87e080611 feat: add file-organizer skills example (#134)
* feat: add file-organizer skills example

* feat: 🎸 update file-organizer skill based on feedback
2026-01-23 15:53:01 -08:00
Christian Bromann 67018b2443 fix(deepagents): port backend agnostic skills (#124)
* fix(deepagents): port backend agnostic skills

* update test
2026-01-16 10:58:05 -08:00
Christian Bromann c648cd67b5 feat(deepagents): add MemoryMiddleware for AGENTS.md support (#123)
* feat(deepagents): add MemoryMiddleware for AGENTS.md support

Port of langchain-ai/deepagents#646 to TypeScript.

Adds MemoryMiddleware that loads persistent context from AGENTS.md files
following the agents.md specification. Unlike skills (which are on-demand),
memory is always loaded at agent startup and injected into the system prompt.

Changes:
- Add createMemoryMiddleware in middleware/memory.ts
- Add `memory` parameter to createDeepAgent for automatic middleware setup
- Export MemoryMiddleware from package index
- Add unit tests for memory loading and prompt injection

Usage:
const agent = createDeepAgent({
  memory: [
    "~/.deepagents/AGENTS.md",
    "./.deepagents/AGENTS.md",
  ],
});

* add example
2026-01-16 10:53:39 -08:00
dependabot[bot] 8740987427 build(deps-dev): bump the major-deps-updates-main group with 2 updates (#117)
Bumps the major-deps-updates-main group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid).


Updates `@types/node` from 22.19.3 to 25.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/uuid` from 10.0.0 to 11.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.7
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: major-deps-updates-main
- dependency-name: "@types/uuid"
  dependency-version: 11.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: major-deps-updates-main
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-14 14:13:18 -08:00
Christian Bromann 321ecf3193 chore: migrate to libs (#98)
* internal: migrate to libs

* format

* update

* format

* codespell

* release process

* format

* update deps

* no need of npm tokens

* fix lock file

* type strictness

* no need for withLangGraph

* format

* fix

* remove withLanggraph

* add changeset
2026-01-09 15:10:42 -08:00
Christian Bromann b999955b01 ci: secure workflows, add dependabot auto-update (#87)
* fix(examples): make it its own workspace

* skip integration tests for dependabot
2026-01-08 18:38:47 -08:00
Christian Bromann 5b911d9c8b refactor: colocate tests with implementations and add mode-based test runner (#90)
* feat: catch up with Python

* add example

* feat: add SDK Skills + Memory System

Port SDK Skills and Agent Memory features from Python PR 646.

* add example

* refactor: colocate tests with implementations and add mode-based test runner

* run integration tests in CI

* fix prettier issues in Windows

* fix globbing

* fix linting

* add dependabot file

* merge unit test workflow into ci

* pin and update CI

* increase timeout
2026-01-08 18:21:44 -08:00
Christian Bromann 8dec003748 feat: add SDK Skills + Memory System (#89)
* feat: catch up with Python

* feat: add SDK Skills + Memory System

Port SDK Skills and Agent Memory features from Python PR 646.

* prettier

* fix unit test for Windows

* add example

* format
2026-01-08 17:48:53 -08:00
Christian Bromann c53d7d7004 feat: add sandbox execution support for feature parity with Python deepagents (#88)
* feat: catch up with Python

* add unit tests

* add example

* format

* Potential fix for code scanning alert no. 7: Unsafe shell command constructed from library input

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* format

* make sure it is truly boolean

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-08 17:44:58 -08:00
Tat Dat Duong 73445c2b83 feat: add readRaw method to filesystem backend protocol 2025-11-24 23:45:43 +01:00
David Duong 605e311a0a feat: rewrite deep agents on top of createAgent (#42)
* feat: migrate to createAgent API and middleware architecture

BREAKING CHANGE: Major refactor from custom LangGraph implementation to new langchain createAgent API

**Architecture Migration:**
- Replace createReactAgent with createAgent API from langchain package
- Migrate from custom state management to middleware-based architecture
- Remove custom DeepAgentState and model configuration in favor of built-in patterns

**Package Updates:**
- Upgrade to @langchain/anthropic@alpha, @langchain/langgraph@next
- Add langchain package as main dependency with createAgent support
- Update @langchain/core to local development version

**Code Reorganization:**
- Move tools from src/tools.ts to modular middleware pattern (src/middleware/)
- Simplify type definitions in src/types.ts with Zod schema validation
- Refactor src/subAgent.ts to use createAgent with middleware integration
- Update src/graph.ts and src/index.ts for new API patterns

**Removed Files:**
- src/state.ts: Custom state management no longer needed
- src/model.ts: Default model configuration handled by createAgent
- src/interrupt.ts: Interrupt handling integrated into middleware

**New Middleware System:**
- src/middleware/fs.ts: File system operations middleware
- src/middleware/todo.ts: Todo management middleware
- src/middleware/index.ts: Middleware exports and configuration

**Configuration:**
- Fix tsconfig.json extends path for @tsconfig/recommended
- Update examples/research/research-agent.ts for new API
- Upgrade TypeScript ESLint and other dev dependencies

This migration provides a more maintainable architecture with better separation of concerns
and aligns with the latest LangChain patterns for agent development.

* consolidate imports

* progress

* push remaining update

* fix ci

* cr

* fix

* add anthropicPromptCachingMiddleware

* prettier

* prettier

* allow sub agents to have middleware

* prettier

* Merge pull request #37 from wuchangming/cb/createAgent-migration

feat: Add a name property value to ToolMessage

* fix types

* First stab at porting deepagents

* Cleanup

* wip: middleware review

* Fix to work on LSD

* Use Zod 4

* Revert "Use Zod 4"

This reverts commit 2292cd27ae.

* fix: use store from runnable config

* Exclude `jumpTo` from subgraph state

* Auto-infer filesystem middleware

* Include `strict` in tests

* Further cleanup of test files

* Remove any, remove only

* Fix invalid types for filesystem

* Fix invalid condition

* Fix file system tests, make those concurrent

* Replace _getType with type

* Remove Annotation

* Cleanup rest of test files

* Bump to 1.0.0

* Use PNPM

* Fix scripts

* Build using tsdown

* Bump to 1.0.0-beta.1

* Update CI

* Update again

* Fix formatting

* Add stub prettierrc for VSCode

* Add pluggable filesystem

* linting

* Full test coverage

* Add coerce option

* Bump to 1.0.0-beta.2

* Bump to 1.0.0-beta.3

* Add windows to matrix

* Address comments

* Add examples

* tweak prompt

* Linting

* Remove checkpointer=False

* Add missing env files

* Update README

* add missing dev deps

* add lockfile

* Fix broken test

* Normalize paths for linux

* Fix tests to be OS agnostic

* Normalize for glob search

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
Co-authored-by: Wu Changming <wuchangmingnice@163.com>
Co-authored-by: Nick Huang <nick@langchain.dev>
Co-authored-by: Hunter Lovell <hunter@hntrl.io>
2025-11-05 11:52:40 -08:00
Palash Shah f94ce27f3f fix: remove unneeded examples 2025-08-14 13:39:33 -04:00
Palash Shah 06c425ecdc fix: update subagents 2025-08-13 17:59:04 -04:00
bracesproul 9fbdfa752f fix tavily and readme 2025-08-05 13:22:24 -07:00
bracesproul 2ee230c75d cr 2025-08-05 13:12:26 -07:00
bracesproul f32c79036f chore: Fixes before release 2025-08-05 11:47:34 -07:00
Palash Shah 4f05d03514 update: fix the examples 2025-08-05 12:53:54 -04:00
Palash Shah 414a4e406e update: examples folder 2025-08-05 12:42:36 -04:00