LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
  • Overview
  • Agent
  • Middleware
  • Backends
  • Sandboxes
  • Skills
  • Subagents
  • Configuration
  • Types
Modal
Daytona
Deno
Node VFS
Sandbox Standard Tests
  • Vitest
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

OverviewAgentMiddlewareBackendsSandboxesSkillsSubagentsConfigurationTypes
Modal
Daytona
Deno
Node VFS
Sandbox Standard Tests
Vitest
Language
Theme
JavaScriptdeepagentsindexBackendProtocolV1
Interfaceā—Since v1.8Deprecated

BackendProtocolV1

Copy
interface BackendProtocolV1

Methods

View source on GitHub
method
downloadFiles→ MaybePromise<FileDownloadResponse[]>

Download multiple files from the sandbox. Implementations must support partial success.

method
edit→ Promise<EditResult>

Edit a file by replacing string occurrences.

Uses downloadFiles() to read, performs string replacement in TypeScript, then uploadFiles() to write back. No runtime needed on the sandbox host.

Memory-conscious: releases intermediate references early so the GC can reclaim buffers before the next large allocation is made.

method
globInfo→ MaybePromise<FileInfo[]>

Structured glob matching returning FileInfo objects.

method
grepRaw→ MaybePromise<string | GrepMatch[]>

Search file contents for a literal text pattern.

Binary files (determined by MIME type) are skipped.

method
lsInfo→ MaybePromise<FileInfo[]>

Structured listing with file metadata.

Lists files and directories in the specified directory (non-recursive). Directories have a trailing / in their path and is_dir=true.

method
read→ Promise<ReadResult>

Read file content with line numbers.

Uses pure POSIX shell (awk) via execute() — only the requested slice is returned over the wire, making this efficient for large files. Works on any Linux including Alpine (no Python or Node.js needed).

method
readRaw→ Promise<ReadRawResult>

Read file content as raw FileData.

Uses downloadFiles() directly — no runtime needed on the sandbox host.

method
uploadFiles→ MaybePromise<FileUploadResponse[]>

Upload multiple files to the sandbox. Implementations must support partial success.

method
write→ Promise<WriteResult>

Create a new file with content.

Uses downloadFiles() to check existence and uploadFiles() to write. No runtime needed on the sandbox host.

Protocol for pluggable memory backends (single, unified).

Backends can store files in different locations (state, filesystem, database, etc.) and provide a uniform interface for file operations.

All file data is represented as objects with the FileData structure.

Methods can return either direct values or Promises, allowing both synchronous and asynchronous implementations.