## Summary
This PR removes command-execution semantics from `@langchain/node-vfs`
and aligns `VfsSandbox` with `BackendProtocolV2` as a filesystem-only
backend.
The provider no longer uses sandbox execution abstractions and now
performs core file operations directly against the in-memory VFS.
## Changes
### Protocol alignment
- `VfsSandbox` now implements `BackendProtocolV2` directly instead of
extending sandbox/base-execution abstractions.
- Removed command execution from the provider surface (`execute` is no
longer part of this backend implementation).
- Removed `timeout` from `VfsSandboxOptions` and corresponding docs.
### Runtime behavior
- Added native backend implementations for:
- `read`
- `readRaw`
- `write`
- `edit`
- `ls`
- `grep`
- `glob`
- Kept upload/download support and added path confinement handling for
invalid traversal paths.
- Continued in-memory VFS-only operation (no temp-dir shell sync path).
### Tests and docs
- Updated unit and integration tests to remove execute-focused
assertions and validate filesystem behavior.
- Updated package docs to describe `BackendProtocolV2` usage and removed
execute/timeout references.
- Added changeset for `@langchain/node-vfs`.
## Summary
Expose the new LangSmith sandbox snapshot and lifecycle APIs (landed in
`langsmith@0.5.20`) through the `LangSmithSandbox` wrapper.
- New methods on `LangSmithSandbox`: `start()`, `stop()`,
`captureSnapshot()`
- `LangSmithSandbox.create()` now accepts `snapshotId` (preferred) or
`templateName` (deprecated); throws if neither is provided
- Re-export upstream types as `LangSmithSnapshot`,
`LangSmithCaptureSnapshotOptions`, `LangSmithStartSandboxOptions`
- Bump `langsmith` peer dep to `>=0.5.20`
- Update the example to boot from `LANGSMITH_SANDBOX_SNAPSHOT_ID`
## Test plan
- [x] Unit tests: added coverage for `start()`, `stop()`,
`captureSnapshot()`; 41/41 pass
- [x] Type-check clean
- [x] Dev smoke test against `dev.api.smith.langchain.com` — create from
snapshot, execute, stop, start, execute after restart all working
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Co-authored-by: Ramon Nogueira <270434257+ramon-langchain@users.noreply.github.com>
Co-authored-by: Hunter Lovell <40191806+hntrl@users.noreply.github.com>
* feat(deepagent): add LangSmithSandbox
* Change deepagents version from patch to minor
* format
* fix tests
* format
* make it a patch
* cr
* cr
* fix
* cr
* 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>
* 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
* 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>
* 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>