@cloudflare/sandbox 0.13.0-next.681.1 → 0.13.0-next.709.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/Dockerfile +6 -6
  2. package/README.md +49 -3
  3. package/dist/bridge/index.d.ts.map +1 -1
  4. package/dist/bridge/index.js +1364 -1072
  5. package/dist/bridge/index.js.map +1 -1
  6. package/dist/{contexts-DY1LHU1v.d.ts → contexts-1EsLHByO.d.ts} +156 -20
  7. package/dist/contexts-1EsLHByO.d.ts.map +1 -0
  8. package/dist/{dist-BStBkGIC.js → dist-Duor5GbS.js} +7 -56
  9. package/dist/dist-Duor5GbS.js.map +1 -0
  10. package/dist/errors/index.d.ts +4 -4
  11. package/dist/errors/index.js +3 -3
  12. package/dist/{errors-k3B8orjH.js → errors-CXR0xBpw.js} +42 -10
  13. package/dist/errors-CXR0xBpw.js.map +1 -0
  14. package/dist/{errors-ewgSNicb.js → errors-QYlSkVGz.js} +402 -250
  15. package/dist/errors-QYlSkVGz.js.map +1 -0
  16. package/dist/extensions/index.d.ts +4 -2
  17. package/dist/extensions/index.js +5 -3
  18. package/dist/extensions-CFB2xHqY.js +1023 -0
  19. package/dist/extensions-CFB2xHqY.js.map +1 -0
  20. package/dist/filesystem-BWAZCZER.d.ts +732 -0
  21. package/dist/filesystem-BWAZCZER.d.ts.map +1 -0
  22. package/dist/git/index.d.ts +8 -19
  23. package/dist/git/index.d.ts.map +1 -1
  24. package/dist/git/index.js +16 -23
  25. package/dist/git/index.js.map +1 -1
  26. package/dist/index-Bs4bqXDR.d.ts +438 -0
  27. package/dist/index-Bs4bqXDR.d.ts.map +1 -0
  28. package/dist/{index-Dy6u9r60.d.ts → index-HNYBk-az.d.ts} +233 -179
  29. package/dist/index-HNYBk-az.d.ts.map +1 -0
  30. package/dist/index.d.ts +480 -11
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +6 -6
  33. package/dist/interpreter/index.d.ts +3 -1
  34. package/dist/interpreter/index.d.ts.map +1 -1
  35. package/dist/interpreter/index.js +46 -18
  36. package/dist/interpreter/index.js.map +1 -1
  37. package/dist/openai/index.d.ts +5 -5
  38. package/dist/openai/index.d.ts.map +1 -1
  39. package/dist/openai/index.js +11 -6
  40. package/dist/openai/index.js.map +1 -1
  41. package/dist/opencode/index.d.ts +7 -11
  42. package/dist/opencode/index.d.ts.map +1 -1
  43. package/dist/opencode/index.js +56 -85
  44. package/dist/opencode/index.js.map +1 -1
  45. package/dist/process-types-GStiZ8f8.d.ts +73 -0
  46. package/dist/process-types-GStiZ8f8.d.ts.map +1 -0
  47. package/dist/{sandbox-boKWPIcd.js → sandbox-Auuwfnur.js} +4152 -3359
  48. package/dist/sandbox-Auuwfnur.js.map +1 -0
  49. package/dist/sandbox-BbAabq93.d.ts +42 -0
  50. package/dist/sandbox-BbAabq93.d.ts.map +1 -0
  51. package/dist/xterm/index.d.ts +5 -1
  52. package/dist/xterm/index.d.ts.map +1 -1
  53. package/dist/xterm/index.js +55 -12
  54. package/dist/xterm/index.js.map +1 -1
  55. package/package.json +3 -2
  56. package/dist/codes-y-U76vnQ.d.ts +0 -79
  57. package/dist/codes-y-U76vnQ.d.ts.map +0 -1
  58. package/dist/contexts-DY1LHU1v.d.ts.map +0 -1
  59. package/dist/dist-BStBkGIC.js.map +0 -1
  60. package/dist/errors-ewgSNicb.js.map +0 -1
  61. package/dist/errors-k3B8orjH.js.map +0 -1
  62. package/dist/extensions-CepYdzro.js +0 -191
  63. package/dist/extensions-CepYdzro.js.map +0 -1
  64. package/dist/index-B7QgIs0N.d.ts +0 -1841
  65. package/dist/index-B7QgIs0N.d.ts.map +0 -1
  66. package/dist/index-Dy6u9r60.d.ts.map +0 -1
  67. package/dist/sandbox-DHNO89IF.d.ts +0 -828
  68. package/dist/sandbox-DHNO89IF.d.ts.map +0 -1
  69. package/dist/sandbox-boKWPIcd.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-B7QgIs0N.d.ts","names":["PtyOptions","TerminalOptions","TerminalCreateOptions","TerminalConnectOptions","SandboxTerminal","Request","Response","Promise","PtyControlMessage","PtyStatusMessage","PtyOptions","Disposable","BaseExecOptions","Record","ExecOptions","ExecResult","Error","AbortSignal","WaitForLogResult","RegExpMatchArray","WaitForExitResult","WaitForPortOptions","PortCheckRequest","PortCheckResponse","PortWatchRequest","PortWatchEvent","ProcessQueryOptions","ProcessOptions","Process","ProcessStatus","isTerminalStatus","Date","Promise","RegExp","ExecEvent","LogEvent","StreamOptions","SandboxExecOptions","Uint8Array","ReadableStream","SandboxOutputMode","SandboxStderrMode","SandboxOutputEncoding","SandboxExecOutputBase","T","SandboxExecStringOutput","SandboxExecBufferOutput","ArrayBuffer","SandboxExecOutput","SandboxProcess","WritableStream","SandboxProcessPromise","SessionOptions","SandboxOptions","MkdirResult","WriteFileResult","FileEncoding","ReadFileResult","ReadFileStreamResult","DeleteFileResult","RenameFileResult","MoveFileResult","FileExistsResult","FileInfo","ListFilesOptions","ListFilesResult","FileStreamEvent","FileMetadata","FileChunk","WatchOptions","CheckChangesOptions","FileWatchEventType","WatchRequest","CheckChangesRequest","FileWatchSSEEvent","CheckChangesResult","ProcessStartResult","ProcessListResult","Array","ProcessInfoResult","ProcessKillResult","ProcessLogsResult","ProcessCleanupResult","SessionCreateResult","SessionDeleteResult","EnvSetResult","PortExposeResult","HealthCheckResult","ShutdownResult","ExecutionSession","Exclude","Omit","MountBucketOptions","BackupOptions","DirectoryBackup","RestoreBackupResult","Request","Response","BackupCompressionOptions","BucketProvider","BucketCredentials","RemoteMountBucketOptions","LocalMountBucketOptions","R2BindingMountBucketOptions","ISandbox","isExecResult","isProcess","isProcessStatus","BackupCompressionOptions","ExecuteRequest","Record","StartProcessRequest","ReadFileRequest","WriteFileRequest","DeleteFileRequest","RenameFileRequest","MoveFileRequest","MkdirRequest","FileExistsRequest","ListFilesRequest","SessionCreateRequest","SessionDeleteRequest","CreateBackupRequest","UploadPart","UploadPartsRequest","UploadedPart","UploadPartsResponse","CreateBackupResponse","RestoreBackupRequest","RestoreBackupResponse","TerminalCreateOptions","CreateBackupResponse","RestoreBackupResponse","UploadedPart","UploadPartsResponse","BackupCompressionOptions","CheckChangesRequest","CheckChangesResult","DeleteFileResult","FileEncoding","FileExistsResult","ListFilesOptions","ListFilesResult","MkdirResult","MoveFileResult","PortWatchRequest","ProcessCleanupResult","ProcessInfoResult","ProcessKillResult","ProcessListResult","ProcessLogsResult","ProcessStartResult","ReadFileResult","ReadFileStreamResult","RenameFileResult","WatchRequest","WriteFileResult","SandboxAPI","SandboxCommandsAPI","SandboxFilesAPI","SandboxProcessesAPI","SandboxPortsAPI","SandboxUtilsAPI","SandboxBackupAPI","SandboxWatchAPI","SandboxTunnelsAPI","SandboxTerminalsAPI","SandboxExtensionsAPI","CommandExecuteOptions","Record","Promise","FileSessionOptions","ReadFileStreamOptions","ReadFileBinaryOptions","ReadFileOptions","Exclude","WriteFileOptions","MkdirOptions","Uint8Array","ReadableStream","ProcessStartOptions","SessionCreateOptions","BackupCreateArchiveOptions","BackupRestoreArchiveOptions","Array","TunnelInfo","QuickTunnelInfo","NamedTunnelInfo","TunnelOptions","TunnelRunMode","TunnelRunIdentity","TunnelRunRef","EnsureQuickTunnelRunRequest","EnsureNamedTunnelRunRequest","EnsureTunnelRunRequest","QuickTunnelRunSnapshot","NamedTunnelRunSnapshot","TunnelRunSnapshot","EnsureTunnelRunResult","StopTunnelRunRequest","StopTunnelRunResult","TunnelRunExitEvent","ExtensionPackage","ExtensionRegistration","ExtensionHealth","ExtensionConnectRequest","EXTENSION_TARBALL_REQUIRED","SandboxControlCallback"],"sources":["../../shared/dist/pty-types.d.ts","../../shared/dist/types.d.ts","../../shared/dist/request-types.d.ts","../../shared/dist/rpc-types.d.ts","../src/extensions/index.ts"],"sourcesContent":["export interface PtyOptions {\n cols?: number;\n rows?: number;\n shell?: string;\n}\nexport interface TerminalOptions {\n id?: string;\n cwd?: string;\n shell?: string;\n}\nexport interface TerminalCreateOptions {\n id: string;\n cwd?: string;\n shell?: string;\n cols?: number;\n rows?: number;\n}\nexport interface TerminalConnectOptions {\n cols?: number;\n rows?: number;\n}\nexport interface SandboxTerminal {\n readonly id: string;\n connect(request: Request, options?: TerminalConnectOptions): Promise<Response>;\n destroy(): Promise<void>;\n}\nexport type PtyControlMessage = {\n type: 'resize';\n cols: number;\n rows: number;\n};\nexport type PtyStatusMessage = {\n type: 'ready';\n} | {\n type: 'exit';\n code: number;\n signal?: string;\n} | {\n type: 'error';\n message: string;\n};\n//# sourceMappingURL=pty-types.d.ts.map","import type { PtyOptions } from './pty-types';\n/**\n * Represents a disposable resource with a cleanup function.\n * Common pattern used by VS Code, xterm.js, RxJS, and others.\n */\nexport interface Disposable {\n dispose(): void;\n}\nexport interface BaseExecOptions {\n /**\n * Maximum execution time in milliseconds\n */\n timeout?: number;\n /**\n * Environment variables for this command invocation.\n * Values temporarily override session-level/container-level env for the\n * duration of the command but do not persist after it completes.\n * Undefined values are skipped (treated as \"not configured\").\n */\n env?: Record<string, string | undefined>;\n /**\n * Working directory for command execution\n */\n cwd?: string;\n /**\n * Text encoding for output (default: 'utf8')\n */\n encoding?: string;\n}\n/**\n * @deprecated Use `SandboxExecOptions` instead. Will be removed in a future\n * release once all callers migrate to `sandbox.exec(cmd, options)` returning\n * a `SandboxProcessPromise`. See `docs/EXEC_MIGRATION.md`.\n */\nexport interface ExecOptions extends BaseExecOptions {\n /**\n * Enable real-time output streaming via callbacks\n */\n stream?: boolean;\n /**\n * Callback for real-time output data\n */\n onOutput?: (stream: 'stdout' | 'stderr', data: string) => void;\n /**\n * Callback when command completes (only when stream: true)\n */\n onComplete?: (result: ExecResult) => void;\n /**\n * Callback for execution errors\n */\n onError?: (error: Error) => void;\n /**\n * AbortSignal for cancelling execution\n */\n signal?: AbortSignal;\n /**\n * Whether this command was initiated by the user or by internal\n * infrastructure (backup, bucket mount, env setup, etc.).\n * Defaults to 'user' when omitted.\n */\n origin?: 'user' | 'internal';\n}\n/**\n * @deprecated Use `SandboxExecOutput` (returned by\n * `SandboxProcess.output()`) instead. Will be removed alongside `ExecOptions`.\n */\nexport interface ExecResult {\n /**\n * Whether the command succeeded (exitCode === 0)\n */\n success: boolean;\n /**\n * Process exit code\n */\n exitCode: number;\n /**\n * Standard output content\n */\n stdout: string;\n /**\n * Standard error content\n */\n stderr: string;\n /**\n * Command that was executed\n */\n command: string;\n /**\n * Execution duration in milliseconds\n */\n duration: number;\n /**\n * ISO timestamp when command started\n */\n timestamp: string;\n /**\n * Session ID if provided\n */\n sessionId?: string;\n}\n/**\n * Result from waiting for a log pattern\n */\nexport interface WaitForLogResult {\n /** The log line that matched */\n line: string;\n /** Regex capture groups (if condition was a RegExp) */\n match?: RegExpMatchArray;\n}\n/**\n * Result from waiting for process exit\n */\nexport interface WaitForExitResult {\n /** Process exit code */\n exitCode: number;\n}\n/**\n * Options for waiting for a port to become ready\n */\nexport interface WaitForPortOptions {\n /**\n * Check mode\n * - 'http': Make an HTTP request and check for success status (default)\n * - 'tcp': Just check if TCP connection succeeds\n * @default 'http'\n */\n mode?: 'http' | 'tcp';\n /**\n * HTTP path to check (only used when mode is 'http')\n * @default '/'\n */\n path?: string;\n /**\n * Expected HTTP status code or range (only used when mode is 'http')\n * - Single number: exact match (e.g., 200)\n * - Object with min/max: range match (e.g., { min: 200, max: 399 })\n * @default { min: 200, max: 399 }\n */\n status?: number | {\n min: number;\n max: number;\n };\n /**\n * Maximum time to wait in milliseconds\n * @default no timeout\n */\n timeout?: number;\n /**\n * Interval between checks in milliseconds\n * @default 500\n */\n interval?: number;\n}\n/**\n * Request body for port readiness check endpoint\n */\nexport interface PortCheckRequest {\n port: number;\n mode: 'http' | 'tcp';\n path?: string;\n statusMin?: number;\n statusMax?: number;\n}\n/**\n * Response from port readiness check endpoint\n */\nexport interface PortCheckResponse {\n ready: boolean;\n /** HTTP status code received (only for http mode) */\n statusCode?: number;\n /** Error message if check failed */\n error?: string;\n}\n/**\n * Request body for streaming port watch endpoint\n */\nexport interface PortWatchRequest extends PortCheckRequest {\n /** Process ID to monitor - stream closes if process exits */\n processId?: string;\n /** Internal polling interval in ms (default: 500) */\n interval?: number;\n}\n/**\n * SSE event emitted by port watch stream\n */\nexport interface PortWatchEvent {\n type: 'watching' | 'ready' | 'process_exited' | 'error';\n port: number;\n /** HTTP status code (for 'ready' events with HTTP mode) */\n statusCode?: number;\n /** Process exit code (for 'process_exited' events) */\n exitCode?: number;\n /** Error message (for 'error' events) */\n error?: string;\n}\nexport interface ProcessQueryOptions {\n /**\n * Optional session ID used to bind returned process handles to an explicit session.\n */\n sessionId?: string;\n}\n/**\n * @deprecated Use `SandboxExecOptions` with `processId` set instead. The\n * unified `sandbox.exec()` returns the same `SandboxProcess` handle whether\n * the caller wants a foreground or background process.\n */\nexport interface ProcessOptions extends BaseExecOptions {\n /**\n * Optional session ID to run the background process in.\n *\n * When omitted, the sandbox's default execution policy applies.\n */\n sessionId?: string;\n /**\n * Custom process ID for later reference\n * If not provided, a UUID will be generated\n */\n processId?: string;\n /**\n * Automatically cleanup process record after exit (default: true)\n */\n autoCleanup?: boolean;\n /**\n * Callback when process exits\n */\n onExit?: (code: number | null) => void;\n /**\n * Callback for real-time output (background processes)\n */\n onOutput?: (stream: 'stdout' | 'stderr', data: string) => void;\n /**\n * Callback when process starts successfully\n */\n onStart?: (process: Process) => void;\n /**\n * Callback for process errors\n */\n onError?: (error: Error) => void;\n}\nexport type ProcessStatus = 'starting' | 'running' | 'completed' | 'failed' | 'killed' | 'error';\n/**\n * Check if a process status indicates the process has terminated\n */\nexport declare function isTerminalStatus(status: ProcessStatus): boolean;\n/**\n * @deprecated Use `SandboxProcess` instead. The unified handle has the same\n * `id`/`pid`/`command`/`status`/`startTime`/`sessionId` fields plus\n * `stdin`/`stdout`/`stderr` streams, an `exitCode` promise, `output()` and\n * `kill()` that mirror the `ctx.container.exec()` contract.\n */\nexport interface Process {\n /**\n * Unique process identifier\n */\n readonly id: string;\n /**\n * System process ID (if available and running)\n */\n readonly pid?: number;\n /**\n * Command that was executed\n */\n readonly command: string;\n /**\n * Current process status\n */\n readonly status: ProcessStatus;\n /**\n * When the process was started\n */\n readonly startTime: Date;\n /**\n * When the process ended (if completed)\n */\n readonly endTime?: Date;\n /**\n * Process exit code (if completed)\n */\n readonly exitCode?: number;\n /**\n * Session ID if provided\n */\n readonly sessionId?: string;\n /**\n * Kill the process\n */\n kill(signal?: string): Promise<void>;\n /**\n * Get current process status (refreshed)\n */\n getStatus(): Promise<ProcessStatus>;\n /**\n * Get accumulated logs\n */\n getLogs(): Promise<{\n stdout: string;\n stderr: string;\n }>;\n /**\n * Wait for a log pattern to appear in process output\n *\n * @example\n * const proc = await sandbox.startProcess(\"python train.py\");\n * await proc.waitForLog(\"Epoch 1 complete\");\n * await proc.waitForLog(/Epoch (\\d+) complete/);\n */\n waitForLog(pattern: string | RegExp, timeout?: number): Promise<WaitForLogResult>;\n /**\n * Wait for a port to become ready\n *\n * @example\n * // Wait for HTTP endpoint to return 200-399\n * const proc = await sandbox.startProcess(\"npm run dev\");\n * await proc.waitForPort(3000);\n *\n * @example\n * // Wait for specific health endpoint\n * await proc.waitForPort(3000, { path: '/health', status: 200 });\n *\n * @example\n * // TCP-only check (just verify port is accepting connections)\n * await proc.waitForPort(5432, { mode: 'tcp' });\n */\n waitForPort(port: number, options?: WaitForPortOptions): Promise<void>;\n /**\n * Wait for the process to exit\n *\n * Returns the exit code. Use getProcessLogs() or streamProcessLogs()\n * to retrieve output after the process exits.\n */\n waitForExit(timeout?: number): Promise<WaitForExitResult>;\n}\n/**\n * @deprecated Internal SSE frame type. Consumers should read\n * `SandboxProcess.stdout` / `.stderr` (raw byte streams) instead of parsing\n * SSE frames. Retained while the legacy `execStream` HTTP route exists.\n */\nexport interface ExecEvent {\n type: 'start' | 'stdout' | 'stderr' | 'complete' | 'error';\n timestamp: string;\n data?: string;\n command?: string;\n exitCode?: number;\n result?: ExecResult;\n error?: string;\n sessionId?: string;\n pid?: number;\n}\n/**\n * @deprecated Internal SSE frame type for `streamProcessLogs`. Consumers\n * should read `SandboxProcess.stdout` / `.stderr` instead.\n */\nexport interface LogEvent {\n type: 'stdout' | 'stderr' | 'exit' | 'error';\n timestamp: string;\n data: string;\n processId: string;\n sessionId?: string;\n exitCode?: number;\n}\n/**\n * @deprecated Use `SandboxExecOptions` with `stdout: 'pipe'` instead and\n * consume `SandboxProcess.stdout` directly.\n */\nexport interface StreamOptions extends BaseExecOptions {\n /**\n * Optional session ID to run the streaming command in.\n *\n * When omitted, the sandbox's default execution policy applies.\n */\n sessionId?: string;\n /**\n * Buffer size for streaming output\n */\n bufferSize?: number;\n /**\n * AbortSignal for cancelling stream\n */\n signal?: AbortSignal;\n}\n/**\n * Options for `sandbox.exec(cmd, options)`.\n *\n * Mirrors `ContainerExecOptions` from\n * `@cloudflare/workers-types/experimental` (`cwd`, `env`, `stdin`, `stdout`,\n * `stderr`) with sandbox-specific extensions for sessions, named process\n * ids, timeouts, and cancellation.\n *\n * Notable differences from the runtime contract:\n * - `env` values may be `undefined` (treated as \"not configured\"). The\n * container API requires `Record<string, string>`; the SDK strips\n * `undefined` entries before forwarding.\n * - `stdin` additionally accepts a plain `string` for convenience.\n * - `user` is not yet supported (no session-backend story).\n */\nexport interface SandboxExecOptions {\n /** Working directory for command execution. */\n cwd?: string;\n /**\n * Environment variables for this command invocation.\n *\n * Values temporarily override session-level/container-level env for the\n * duration of the command but do not persist after it completes.\n * Undefined values are skipped (treated as \"not configured\").\n */\n env?: Record<string, string | undefined>;\n /**\n * Standard input source.\n *\n * - `\"pipe\"` — `SandboxProcess.stdin` is a `WritableStream<Uint8Array>` the\n * caller can write to.\n * - `ReadableStream<Uint8Array>` — the stream is piped into the command.\n * - `string` — convenience: the string is utf-8 encoded and piped in.\n * - omitted — stdin is closed.\n */\n stdin?: ReadableStream<Uint8Array> | string | 'pipe';\n /**\n * Standard output disposition.\n *\n * - `\"pipe\"` (default) — `SandboxProcess.stdout` exposes a\n * `ReadableStream<Uint8Array>` of the output.\n * - `\"ignore\"` — output is discarded; `SandboxProcess.stdout` is `null`.\n */\n stdout?: 'pipe' | 'ignore';\n /**\n * Standard error disposition.\n *\n * - `\"pipe\"` (default) — `SandboxProcess.stderr` exposes a\n * `ReadableStream<Uint8Array>` of the error output.\n * - `\"ignore\"` — stderr is discarded; `SandboxProcess.stderr` is `null`.\n * - `\"combined\"` — stderr is merged into stdout; `SandboxProcess.stderr`\n * is `null`.\n */\n stderr?: 'pipe' | 'ignore' | 'combined';\n /**\n * Session ID providing working-directory and environment scope.\n *\n * When omitted, the sandbox's default execution policy applies (typically\n * the persistent default session).\n */\n sessionId?: string;\n /**\n * Client-chosen process id for later re-attach via\n * `sandbox.getProcess(id)`.\n *\n * When omitted, a UUID is generated.\n */\n processId?: string;\n /**\n * Whether to remove the process record on exit.\n *\n * Currently retained for compatibility with legacy process options. Process\n * records are kept so `output()`, `getLogs()`, and re-attach can read logs;\n * callers can use `cleanupCompletedProcesses()` to remove completed records.\n */\n autoCleanup?: boolean;\n /**\n * Wall-clock timeout in milliseconds. When the timeout fires the\n * implementation sends `SIGTERM`; `exitCode` resolves with the resulting\n * code (typically `143` / `-15`).\n */\n timeout?: number;\n /**\n * External cancellation signal. Aborting triggers `kill()` and propagates\n * to in-flight stream consumers.\n */\n signal?: AbortSignal;\n /**\n * Whether this command was initiated by the user or by internal\n * infrastructure (backup, bucket mount, env setup, etc.).\n *\n * Sandbox-only; not part of the containers contract. Defaults to\n * `'user'` when omitted.\n */\n origin?: 'user' | 'internal';\n}\n/**\n * Buffered output returned by `SandboxProcess.output()`.\n *\n * Mirrors `ExecOutput` from the containers contract (`stdout`, `stderr`,\n * `exitCode`) with sandbox-specific telemetry fields preserved from the\n * legacy `ExecResult` so existing callers can migrate without losing\n * information.\n *\n * `stdout` / `stderr` are `string` by default (utf-8) or `ArrayBuffer`\n * when `output({ encoding: 'buffer' })` is requested.\n */\nexport type SandboxOutputMode = 'pipe' | 'ignore';\nexport type SandboxStderrMode = 'pipe' | 'ignore' | 'combined';\nexport type SandboxOutputEncoding = 'utf8' | 'buffer';\nexport interface SandboxExecOutputBase<T> {\n /** Standard output content. */\n stdout: T;\n /** Standard error content. */\n stderr: T;\n /** Process exit code. */\n exitCode: number;\n /** True iff `exitCode === 0`. */\n success: boolean;\n /** Execution duration in milliseconds, measured by the SDK. */\n duration: number;\n /** Command that was executed (display form). */\n command: string;\n /** ISO timestamp when the command started. */\n timestamp: string;\n /** Session ID, if the command ran in a session. */\n sessionId?: string;\n}\nexport type SandboxExecStringOutput = SandboxExecOutputBase<string>;\nexport type SandboxExecBufferOutput = SandboxExecOutputBase<ArrayBuffer>;\nexport type SandboxExecOutput = SandboxExecStringOutput | SandboxExecBufferOutput;\n/**\n * Unified process handle returned (resolved) by `sandbox.exec()`.\n *\n * The first nine members are a superset of `ExecProcess` from the\n * containers runtime contract (`stdin`, `stdout`, `stderr`, `pid`,\n * `exitCode`, `output()`, `kill()`). The remaining members are\n * sandbox-specific extensions for log replay, named processes, and the\n * existing `waitFor*` helpers.\n *\n * On re-attach (via `sandbox.getProcess(id)`):\n * - `stdin` is `null` (the original writer owns the pipe).\n * - `stdout`/`stderr` are replay-then-tail streams sourced from the\n * per-process log file.\n */\nexport interface SandboxProcess {\n readonly stdin: WritableStream<Uint8Array> | null;\n readonly stdout: ReadableStream<Uint8Array> | null;\n readonly stderr: ReadableStream<Uint8Array> | null;\n readonly pid: number;\n readonly exitCode: Promise<number>;\n /**\n * Drain stdout/stderr and await exit. Mirrors `ExecProcess.output()`.\n *\n * Default encoding is utf-8 strings; pass `{ encoding: 'buffer' }` to get\n * `ArrayBuffer` instead (matches the containers contract).\n */\n output(options: {\n encoding: 'buffer';\n }): Promise<SandboxExecBufferOutput>;\n output(options?: {\n encoding?: 'utf8';\n }): Promise<SandboxExecStringOutput>;\n output(options?: {\n encoding?: SandboxOutputEncoding;\n }): Promise<SandboxExecOutput>;\n /** Sugar for `(await this.output({ encoding: 'utf8' })).stdout` as a string. */\n text(): Promise<string>;\n /** Sugar for `JSON.parse(await this.text())`. */\n json<T = unknown>(): Promise<T>;\n /**\n * Terminate the process.\n *\n * Defaults to `SIGTERM` (15).\n */\n kill(signal?: number | string): void;\n /** Stable sandbox process id (survives re-attach). */\n readonly id: string;\n /** Command that was executed (display form). */\n readonly command: string;\n /** Session ID, if the command was scoped to a session. */\n readonly sessionId?: string;\n /** When the process started. */\n readonly startTime: Date;\n /** Current status snapshot. Cheap; uses local state where possible. */\n status(): Promise<ProcessStatus>;\n /** Replay buffered logs (post-exit or mid-flight). */\n getLogs(): Promise<{\n stdout: string;\n stderr: string;\n }>;\n /** Wait for a log pattern to appear in stdout/stderr. */\n waitForLog(pattern: string | RegExp, timeoutMs?: number): Promise<WaitForLogResult>;\n /** Wait for a TCP port (or HTTP endpoint) to become ready. */\n waitForPort(port: number, options?: WaitForPortOptions): Promise<void>;\n /** Wait for the process to exit. */\n waitForExit(timeoutMs?: number): Promise<WaitForExitResult>;\n}\n/**\n * The thenable returned by `sandbox.exec(cmd, options)`.\n *\n * Resolves to a `SandboxProcess` (so `await sandbox.exec(cmd)` works as\n * expected) and additionally exposes the convenience members directly so\n * callers can write `await sandbox.exec(cmd).output()` / `.text()` /\n * `.json()` / `.kill()` without an extra `await`.\n *\n * Modeled on `Bun.spawn()` / `Deno.Command`.\n */\nexport interface SandboxProcessPromise extends Promise<SandboxProcess> {\n /** Equivalent to `(await this).output(options)`. */\n output(options: {\n encoding: 'buffer';\n }): Promise<SandboxExecBufferOutput>;\n output(options?: {\n encoding?: 'utf8';\n }): Promise<SandboxExecStringOutput>;\n output(options?: {\n encoding?: SandboxOutputEncoding;\n }): Promise<SandboxExecOutput>;\n /** Sugar for `(await this.output({ encoding: 'utf8' })).stdout` as a string. */\n text(): Promise<string>;\n /** Sugar for `JSON.parse(await this.text())`. */\n json<T = unknown>(): Promise<T>;\n /** Equivalent to `(await this).kill(signal)`. */\n kill(signal?: number | string): Promise<void>;\n}\nexport interface SessionOptions {\n /**\n * Optional session ID (auto-generated if not provided)\n */\n id?: string;\n /**\n * Session name for identification\n */\n name?: string;\n /**\n * Environment variables for this session.\n * Undefined values are skipped (treated as \"not configured\").\n */\n env?: Record<string, string | undefined>;\n /**\n * Working directory\n */\n cwd?: string;\n /**\n * Enable PID namespace isolation (requires CAP_SYS_ADMIN)\n */\n isolation?: boolean;\n /**\n * Maximum amount of time a command can run in milliseconds\n */\n commandTimeoutMs?: number;\n}\nexport interface SandboxOptions {\n /**\n * Duration after which the sandbox instance will sleep if no requests are received\n * Can be:\n * - A string like \"30s\", \"3m\", \"5m\", \"1h\" (seconds, minutes, or hours)\n * - A number representing seconds (e.g., 180 for 3 minutes)\n * Default: \"10m\" (10 minutes)\n *\n * Note: Ignored when keepAlive is true\n */\n sleepAfter?: string | number;\n /**\n * Keep the container alive indefinitely by preventing automatic shutdown\n * When true, the container will never auto-timeout and must be explicitly destroyed\n * - Any scenario where activity can't be automatically detected\n *\n * Important: You MUST call sandbox.destroy() when done to avoid resource leaks\n *\n * Default: false\n */\n keepAlive?: boolean;\n /**\n * When true (the default), implicit operations automatically create and reuse\n * a persistent default shell session. Set to false to run implicit top-level\n * operations sessionlessly, where each command spawns a fresh process with no\n * shared shell state. Explicit per-call session IDs continue to work normally\n * when this is false.\n *\n * Default: true\n */\n enableDefaultSession?: boolean;\n /**\n * Normalize sandbox ID to lowercase for preview URL compatibility\n *\n * Required for preview URLs because hostnames are case-insensitive (RFC 3986), which\n * would route requests to a different Durable Object instance with IDs containing uppercase letters.\n *\n * **Important:** Different normalizeId values create different Durable Object instances:\n * - `getSandbox(ns, \"MyProject\")` → DO key: \"MyProject\"\n * - `getSandbox(ns, \"MyProject\", {normalizeId: true})` → DO key: \"myproject\"\n *\n * **Future change:** In a future version, this will default to `true` (automatically lowercase all IDs).\n * IDs with uppercase letters will trigger a warning. To prepare, use lowercase IDs or explicitly\n * pass `normalizeId: true`.\n *\n * @example\n * getSandbox(ns, \"my-project\") // Works with preview URLs (lowercase)\n * getSandbox(ns, \"MyProject\", {normalizeId: true}) // Normalized to \"myproject\"\n *\n * @default false\n */\n normalizeId?: boolean;\n /**\n * Container startup timeout configuration\n *\n * Tune timeouts based on your container's characteristics. SDK defaults (30s instance, 90s ports)\n * work for most use cases. Adjust for heavy containers or fail-fast applications.\n *\n * Can also be configured via environment variables:\n * - SANDBOX_INSTANCE_TIMEOUT_MS\n * - SANDBOX_PORT_TIMEOUT_MS\n * - SANDBOX_POLL_INTERVAL_MS\n *\n * Precedence: options > env vars > SDK defaults\n *\n * @example\n * // Heavy containers (ML models, large apps)\n * getSandbox(ns, id, {\n * containerTimeouts: { portReadyTimeoutMS: 180_000 }\n * })\n *\n * @example\n * // Fail-fast for latency-sensitive apps\n * getSandbox(ns, id, {\n * containerTimeouts: {\n * instanceGetTimeoutMS: 15_000,\n * portReadyTimeoutMS: 30_000\n * }\n * })\n */\n containerTimeouts?: {\n /**\n * Time to wait for container instance provisioning\n * @default 30000 (30s) - or SANDBOX_INSTANCE_TIMEOUT_MS env var\n */\n instanceGetTimeoutMS?: number;\n /**\n * Time to wait for application startup and ports to be ready\n * @default 90000 (90s) - or SANDBOX_PORT_TIMEOUT_MS env var\n */\n portReadyTimeoutMS?: number;\n /**\n * How often to poll for container readiness\n * @default 300 (300ms) - or SANDBOX_POLL_INTERVAL_MS env var\n */\n waitIntervalMS?: number;\n };\n}\n/**\n * Execution session - isolated execution context within a sandbox\n * Returned by sandbox.createSession()\n * Provides the same API as ISandbox but bound to a specific session\n */\nexport interface MkdirResult {\n success: boolean;\n path: string;\n recursive: boolean;\n timestamp: string;\n exitCode?: number;\n}\nexport interface WriteFileResult {\n success: boolean;\n path: string;\n timestamp: string;\n exitCode?: number;\n}\n/**\n * Valid `encoding` values accepted by `readFile` / `writeFile` options.\n *\n * - `'utf-8'` / `'utf8'` — treat content as text.\n * - `'base64'` — treat content as base64-encoded binary.\n * - `'none'` — streaming variant of `readFile`, returns a\n * `ReadableStream<Uint8Array>` of raw bytes (see `ReadFileStreamResult`).\n */\nexport type FileEncoding = 'utf-8' | 'utf8' | 'base64' | 'none';\nexport interface ReadFileResult {\n success: boolean;\n path: string;\n content: string;\n timestamp: string;\n exitCode?: number;\n /**\n * Encoding used for content (utf-8 for text, base64 for binary)\n */\n encoding?: 'utf-8' | 'base64';\n /**\n * Whether the file is detected as binary\n */\n isBinary?: boolean;\n /**\n * MIME type of the file (e.g., 'image/png', 'text/plain')\n */\n mimeType?: string;\n /**\n * File size in bytes\n */\n size?: number;\n}\n/**\n * Result of `readFile()` with `encoding: 'none'`.\n *\n * `content` is a raw binary `ReadableStream<Uint8Array>` delivered directly\n * over the capnp channel — no base64 encoding, no SSE framing, no buffering.\n */\nexport interface ReadFileStreamResult {\n success: true;\n path: string;\n content: ReadableStream<Uint8Array>;\n size: number;\n mimeType: string;\n timestamp: string;\n}\nexport interface DeleteFileResult {\n success: boolean;\n path: string;\n timestamp: string;\n exitCode?: number;\n}\nexport interface RenameFileResult {\n success: boolean;\n path: string;\n newPath: string;\n timestamp: string;\n exitCode?: number;\n}\nexport interface MoveFileResult {\n success: boolean;\n path: string;\n newPath: string;\n timestamp: string;\n exitCode?: number;\n}\nexport interface FileExistsResult {\n success: boolean;\n path: string;\n exists: boolean;\n timestamp: string;\n}\nexport interface FileInfo {\n name: string;\n absolutePath: string;\n relativePath: string;\n type: 'file' | 'directory' | 'symlink' | 'other';\n size: number;\n modifiedAt: string;\n mode: string;\n permissions: {\n readable: boolean;\n writable: boolean;\n executable: boolean;\n };\n}\nexport interface ListFilesOptions {\n recursive?: boolean;\n includeHidden?: boolean;\n /**\n * Optional session ID used to resolve relative paths and execution context.\n *\n * When omitted, the sandbox's default execution policy applies.\n */\n sessionId?: string;\n}\nexport interface ListFilesResult {\n success: boolean;\n path: string;\n files: FileInfo[];\n count: number;\n timestamp: string;\n exitCode?: number;\n}\n/**\n * SSE events for file streaming\n */\nexport type FileStreamEvent = {\n type: 'metadata';\n mimeType: string;\n size: number;\n isBinary: boolean;\n encoding: 'utf-8' | 'base64';\n} | {\n type: 'chunk';\n data: string;\n} | {\n type: 'complete';\n bytesRead: number;\n} | {\n type: 'error';\n error: string;\n};\n/**\n * File metadata from streaming\n */\nexport interface FileMetadata {\n mimeType: string;\n size: number;\n isBinary: boolean;\n encoding: 'utf-8' | 'base64';\n}\n/**\n * File stream chunk - either string (text) or Uint8Array (binary, auto-decoded)\n */\nexport type FileChunk = string | Uint8Array;\n/**\n * Options for watching a directory.\n *\n * `watch()` resolves only after the watcher is established on the filesystem.\n * The returned SSE stream can be consumed with `parseSSEStream()`.\n */\nexport interface WatchOptions {\n /**\n * Watch subdirectories recursively\n * @default true\n */\n recursive?: boolean;\n /**\n * Glob patterns to include (e.g., '*.ts', '*.js').\n * If not specified, all files are included.\n * Cannot be used together with `exclude`.\n */\n include?: string[];\n /**\n * Glob patterns to exclude (e.g., 'node_modules', '.git').\n * Cannot be used together with `include`.\n * @default ['.git', 'node_modules', '.DS_Store']\n */\n exclude?: string[];\n /**\n * Session to run the watch in.\n * If omitted, the default session is used.\n */\n sessionId?: string;\n}\n/**\n * Options for checking whether a path changed while disconnected.\n *\n * Pass the `version` returned from a previous `checkChanges()` call to learn\n * whether the path is unchanged, changed, or needs a full resync because the\n * retained change state was reset. Change state lives only for the current\n * container lifetime and may expire while idle.\n */\nexport interface CheckChangesOptions extends WatchOptions {\n /**\n * Version returned by a previous `checkChanges()` call.\n */\n since?: string;\n}\n/**\n * @internal SSE event types for container communication\n */\nexport type FileWatchEventType = 'create' | 'modify' | 'delete' | 'move_from' | 'move_to' | 'attrib';\n/**\n * @internal Request body for starting a file watch\n */\nexport interface WatchRequest {\n path: string;\n recursive?: boolean;\n events?: FileWatchEventType[];\n include?: string[];\n exclude?: string[];\n sessionId?: string;\n}\n/**\n * @internal Request body for checking retained change state.\n */\nexport interface CheckChangesRequest extends WatchRequest {\n since?: string;\n}\n/**\n * SSE events emitted by `sandbox.watch()`.\n */\nexport type FileWatchSSEEvent = {\n type: 'watching';\n path: string;\n watchId: string;\n} | {\n type: 'event';\n eventType: FileWatchEventType;\n path: string;\n isDirectory: boolean;\n timestamp: string;\n} | {\n type: 'error';\n error: string;\n} | {\n type: 'stopped';\n reason: string;\n};\n/**\n * Result returned by `checkChanges()`.\n */\nexport type CheckChangesResult = {\n success: true;\n status: 'unchanged' | 'changed';\n version: string;\n timestamp: string;\n} | {\n success: true;\n status: 'resync';\n reason: 'expired' | 'restarted';\n version: string;\n timestamp: string;\n};\nexport interface ProcessStartResult {\n success: boolean;\n processId: string;\n pid?: number;\n command: string;\n timestamp: string;\n}\nexport interface ProcessListResult {\n success: boolean;\n processes: Array<{\n id: string;\n pid?: number;\n command: string;\n status: ProcessStatus;\n startTime: string;\n endTime?: string;\n exitCode?: number;\n stdout?: SandboxOutputMode;\n stderr?: SandboxStderrMode;\n }>;\n timestamp: string;\n}\nexport interface ProcessInfoResult {\n success: boolean;\n process: {\n id: string;\n pid?: number;\n command: string;\n status: ProcessStatus;\n startTime: string;\n endTime?: string;\n exitCode?: number;\n stdout?: SandboxOutputMode;\n stderr?: SandboxStderrMode;\n };\n timestamp: string;\n}\nexport interface ProcessKillResult {\n success: boolean;\n processId: string;\n signal?: string;\n timestamp: string;\n}\nexport interface ProcessLogsResult {\n success: boolean;\n processId: string;\n stdout: string;\n stderr: string;\n timestamp: string;\n}\nexport interface ProcessCleanupResult {\n success: boolean;\n message?: string;\n killedCount?: number;\n cleanedCount: number;\n timestamp: string;\n}\nexport interface SessionCreateResult {\n success: boolean;\n sessionId: string;\n name?: string;\n cwd?: string;\n timestamp: string;\n}\nexport interface SessionDeleteResult {\n success: boolean;\n sessionId: string;\n timestamp: string;\n}\nexport interface EnvSetResult {\n success: boolean;\n timestamp: string;\n}\nexport interface PortExposeResult {\n url: string;\n port: number;\n name?: string;\n}\nexport interface HealthCheckResult {\n success: boolean;\n status: 'healthy' | 'unhealthy';\n timestamp: string;\n}\nexport interface ShutdownResult {\n success: boolean;\n message: string;\n timestamp: string;\n}\nexport interface ExecutionSession {\n /** Unique session identifier */\n readonly id: string;\n /**\n * Session-scoped exec primitive. See `ISandbox.exec`.\n *\n * Caller-provided `options.sessionId` is ignored — this wrapper pins\n * execution to the session that produced it.\n */\n exec(command: string | string[], options?: SandboxExecOptions): SandboxProcessPromise;\n /** Session-scoped buffered execution helper. See `ISandbox.run`. */\n run(command: string, options?: ExecOptions): Promise<ExecResult>;\n getProcess(id: string): Promise<SandboxProcess | null>;\n listProcesses(): Promise<SandboxProcess[]>;\n killAllProcesses(): Promise<number>;\n cleanupCompletedProcesses(): Promise<number>;\n writeFile(path: string, content: string | ReadableStream<Uint8Array>, options?: {\n encoding?: string;\n }): Promise<WriteFileResult>;\n readFile(path: string, options: {\n encoding: 'none';\n }): Promise<ReadFileStreamResult>;\n readFile(path: string, options?: {\n encoding?: Exclude<FileEncoding, 'none'>;\n }): Promise<ReadFileResult>;\n readFileStream(path: string): Promise<ReadableStream<Uint8Array>>;\n watch(path: string, options?: Omit<WatchOptions, 'sessionId'>): Promise<ReadableStream<Uint8Array>>;\n checkChanges(path: string, options?: Omit<CheckChangesOptions, 'sessionId'>): Promise<CheckChangesResult>;\n mkdir(path: string, options?: {\n recursive?: boolean;\n }): Promise<MkdirResult>;\n deleteFile(path: string): Promise<DeleteFileResult>;\n renameFile(oldPath: string, newPath: string): Promise<RenameFileResult>;\n moveFile(sourcePath: string, destinationPath: string): Promise<MoveFileResult>;\n listFiles(path: string, options?: ListFilesOptions): Promise<ListFilesResult>;\n exists(path: string): Promise<FileExistsResult>;\n setEnvVars(envVars: Record<string, string | undefined>): Promise<void>;\n mountBucket(bucket: string, mountPath: string, options: MountBucketOptions): Promise<void>;\n unmountBucket(mountPath: string): Promise<void>;\n createBackup(options: BackupOptions): Promise<DirectoryBackup>;\n restoreBackup(backup: DirectoryBackup): Promise<RestoreBackupResult>;\n terminal(request: Request, options?: PtyOptions): Promise<Response>;\n}\n/**\n * Options for creating a directory backup\n */\nexport interface BackupCompressionOptions {\n format?: 'gzip' | 'lz4' | 'zstd';\n threads?: number;\n}\nexport interface BackupOptions {\n /** Directory to back up. Must be absolute and under `/workspace`, `/home`, `/tmp`, `/var/tmp`, or `/app`. */\n dir: string;\n /** Human-readable name for this backup. Optional. */\n name?: string;\n /** Seconds until automatic garbage collection. Default: 259200 (3 days). No upper limit. */\n ttl?: number;\n /**\n * Respect git ignore rules for the backup directory when it is inside a git repository.\n *\n * Default: false.\n * If the directory is not inside a git repository, no git-based exclusions are applied.\n * If git is not installed in the container, a warning is logged and gitignore rules are skipped.\n */\n gitignore?: boolean;\n /**\n * Glob patterns to exclude from the backup.\n * These are passed directly to mksquashfs as wildcard exclude patterns.\n *\n * @example ['node_modules', '*.log', '.cache']\n */\n excludes?: string[];\n /**\n * Use local R2 binding for backup storage instead of presigned URLs.\n * Required for local development where presigned URLs and FUSE are unavailable.\n * When true, the DO resolves BACKUP_BUCKET from its own env as an R2 binding.\n */\n localBucket?: boolean;\n compression?: BackupCompressionOptions;\n /**\n * Use parallel multipart upload to R2 for large archives.\n * Significantly speeds up uploads for archives over 10 MiB.\n * Default: true.\n */\n multipart?: boolean;\n}\n/**\n * Handle representing a stored directory backup.\n * Serializable metadata returned by createBackup().\n * Store it anywhere and later pass it to restoreBackup().\n */\nexport interface DirectoryBackup {\n /** Unique backup identifier */\n readonly id: string;\n /** Directory to restore into. Must be under `/workspace`, `/home`, `/tmp`, `/var/tmp`, or `/app`. */\n readonly dir: string;\n /** Whether this backup was created with local R2 binding mode. */\n readonly localBucket?: boolean;\n}\n/**\n * Result returned from a successful restoreBackup() call\n */\nexport interface RestoreBackupResult {\n success: boolean;\n /** The directory that was restored */\n dir: string;\n /** Backup ID that was restored */\n id: string;\n}\n/**\n * Supported S3-compatible storage providers\n */\nexport type BucketProvider = 'r2' | 's3' | 'gcs';\n/**\n * Credentials for S3-compatible storage\n */\nexport interface BucketCredentials {\n accessKeyId: string;\n secretAccessKey: string;\n}\n/**\n * Options for mounting an S3-compatible bucket via s3fs-FUSE (production)\n */\nexport interface RemoteMountBucketOptions {\n /**\n * S3-compatible endpoint URL\n *\n * Examples:\n * - R2: 'https://abc123.r2.cloudflarestorage.com'\n * - AWS S3: 'https://s3.us-west-2.amazonaws.com'\n * - GCS: 'https://storage.googleapis.com'\n */\n endpoint: string;\n /**\n * Optional provider hint for automatic s3fs flag configuration\n * If not specified, will attempt to detect from endpoint URL.\n *\n * Examples:\n * - 'r2' - Cloudflare R2 (adds nomixupload)\n * - 's3' - Amazon S3 (standard configuration)\n * - 'gcs' - Google Cloud Storage (no special flags needed)\n */\n provider?: BucketProvider;\n /**\n * Explicit credentials (overrides env var auto-detection)\n */\n credentials?: BucketCredentials;\n /**\n * Mount filesystem as read-only\n * Default: false\n */\n readOnly?: boolean;\n /**\n * Advanced: Override or extend s3fs options\n *\n * These will be merged with provider-specific defaults.\n * To override defaults completely, specify all options here.\n *\n * Common options:\n * - 'use_path_request_style' - Use path-style URLs (bucket/path vs bucket.host/path)\n * - 'nomixupload' - Disable mixed multipart uploads (needed for some providers)\n * - 'nomultipart' - Disable all multipart operations\n * - 'sigv2' - Use signature version 2 instead of v4\n * - 'no_check_certificate' - Skip SSL certificate validation (dev/testing only)\n */\n s3fsOptions?: string[];\n /**\n * Optional prefix/subdirectory within the bucket to mount.\n *\n * When specified, only the contents under this prefix are visible at the\n * mount point, scoping the mount to a subdirectory of the bucket.\n *\n * Must start with '/' (e.g., '/workspaces/project123' or '/data/uploads/')\n */\n prefix?: string;\n /**\n * Keep real credentials in the Durable Object; write dummy credentials into\n * the container-side s3fs password file. Outbound s3fs requests are\n * intercepted by the DO, signed with real credentials, and forwarded to the\n * configured endpoint.\n *\n * Default: false (real credentials are written into the container)\n */\n credentialProxy?: boolean;\n}\n/**\n * Options for mounting a local R2 binding via bidirectional sync (local dev)\n *\n * Used during local development with `wrangler dev`. The Durable Object\n * resolves the R2 binding from its own env using the `bucket` parameter\n * and syncs files via polling instead of s3fs-FUSE.\n */\nexport interface LocalMountBucketOptions {\n /**\n * Must be true to indicate local R2 binding mode.\n */\n localBucket: true;\n /**\n * Optional prefix/subdirectory within the bucket to sync.\n *\n * When specified, only the contents under this prefix will be visible\n * at the mount point.\n */\n prefix?: string;\n /**\n * Mount filesystem as read-only\n * Default: false\n */\n readOnly?: boolean;\n}\n/**\n * Options for mounting an R2 binding via credential-less egress interception.\n */\nexport interface R2BindingMountBucketOptions {\n /**\n * Must not be set — distinguishes this variant from RemoteMountBucketOptions.\n */\n endpoint?: never;\n /**\n * Optional prefix/subdirectory within the bucket to mount.\n *\n * When specified, only the contents under this prefix will be visible\n * at the mount point.\n */\n prefix?: string;\n /**\n * Mount filesystem as read-only\n * Default: false\n */\n readOnly?: boolean;\n /**\n * Advanced: Override or extend s3fs options.\n * Provider defaults for R2 are still applied automatically.\n */\n s3fsOptions?: string[];\n}\n/**\n * Options for mounting a bucket — remote (s3fs-FUSE), local (R2 binding sync),\n * or R2 egress (credential-less s3fs via egress interception).\n */\nexport type MountBucketOptions = RemoteMountBucketOptions | LocalMountBucketOptions | R2BindingMountBucketOptions;\nexport interface ISandbox {\n /**\n * Execute a command in the sandbox.\n *\n * Mirrors the `ctx.container.exec()` contract from the Cloudflare\n * Containers runtime, with sandbox-specific extensions for sessions,\n * named process ids, and re-attach.\n *\n * Returns a `SandboxProcessPromise` — a thenable that resolves to a\n * `SandboxProcess` (`stdin` / `stdout` / `stderr` / `exitCode` /\n * `kill()` / `output()` plus sandbox extensions) and exposes\n * `.output()` / `.text()` / `.json()` / `.kill()` directly for the\n * common \"run a command\" case:\n *\n * @example\n * // Buffered result\n * const { stdout } = await sandbox.exec(\"npm test\").output();\n *\n * @example\n * // Long-running, with re-attach by id\n * const dev = await sandbox.exec(\"npm run dev\", { processId: \"dev\" });\n * await dev.waitForPort(3000);\n *\n * @example\n * // Stream stdout straight to the client\n * const proc = await sandbox.exec([\"python\", \"train.py\"]);\n * return new Response(proc.stdout);\n */\n exec(command: string | string[], options?: SandboxExecOptions): SandboxProcessPromise;\n /**\n * Buffered, session-state-preserving execution helper.\n *\n * Uses the foreground session execution path, so shell state changes\n * (`cd`, aliases, functions, exports) persist across calls. Prefer\n * `exec()` for the containers-compatible process handle; use `run()`\n * when you explicitly want buffered session-shell semantics.\n */\n run(command: string, options?: ExecOptions & {\n sessionId?: string;\n }): Promise<ExecResult>;\n /**\n * Re-attach to an existing process by id.\n *\n * The returned `SandboxProcess`'s `stdin` is `null` and `stdout`/`stderr`\n * are replay-then-tail streams sourced from the per-process log file.\n * Mirrors `ExecProcess` ownership semantics where a non-owner has\n * nullable pipes.\n *\n * Returns `null` if no such process exists.\n */\n getProcess(id: string, options?: ProcessQueryOptions): Promise<SandboxProcess | null>;\n /**\n * Snapshot of all known processes.\n *\n * Snapshot entries have `stdin`/`stdout`/`stderr` set to `null`; call\n * `getProcess(id)` to acquire a re-attached handle with live streams.\n */\n listProcesses(options?: ProcessQueryOptions): Promise<SandboxProcess[]>;\n killAllProcesses(): Promise<number>;\n cleanupCompletedProcesses(): Promise<number>;\n writeFile(path: string, content: string | ReadableStream<Uint8Array>, options?: {\n encoding?: string;\n }): Promise<WriteFileResult>;\n readFile(path: string, options: {\n encoding: 'none';\n }): Promise<ReadFileStreamResult>;\n readFile(path: string, options?: {\n encoding?: Exclude<FileEncoding, 'none'>;\n }): Promise<ReadFileResult>;\n readFileStream(path: string): Promise<ReadableStream<Uint8Array>>;\n watch(path: string, options?: WatchOptions): Promise<ReadableStream<Uint8Array>>;\n checkChanges(path: string, options?: CheckChangesOptions): Promise<CheckChangesResult>;\n mkdir(path: string, options?: {\n recursive?: boolean;\n }): Promise<MkdirResult>;\n deleteFile(path: string): Promise<DeleteFileResult>;\n renameFile(oldPath: string, newPath: string): Promise<RenameFileResult>;\n moveFile(sourcePath: string, destinationPath: string): Promise<MoveFileResult>;\n listFiles(path: string, options?: ListFilesOptions): Promise<ListFilesResult>;\n exists(path: string, options?: {\n sessionId?: string;\n }): Promise<FileExistsResult>;\n setEnvVars(envVars: Record<string, string | undefined>): Promise<void>;\n mountBucket(bucket: string, mountPath: string, options: MountBucketOptions): Promise<void>;\n unmountBucket(mountPath: string): Promise<void>;\n createSession(options?: SessionOptions): Promise<ExecutionSession>;\n deleteSession(sessionId: string): Promise<SessionDeleteResult>;\n /**\n * Returns the Cloudflare placement ID observed during the most recent\n * session-create handshake with the container. `null` when the container\n * does not expose `CLOUDFLARE_PLACEMENT_ID` (local development). `undefined`\n * when no handshake has been observed yet on this sandbox.\n */\n getContainerPlacementId(): Promise<string | null | undefined>;\n createBackup(options: BackupOptions): Promise<DirectoryBackup>;\n restoreBackup(backup: DirectoryBackup): Promise<RestoreBackupResult>;\n wsConnect(request: Request, port: number): Promise<Response>;\n}\nexport declare function isExecResult(value: any): value is ExecResult;\nexport declare function isProcess(value: any): value is Process;\nexport declare function isProcessStatus(value: string): value is ProcessStatus;\n//# sourceMappingURL=types.d.ts.map","import type { BackupCompressionOptions } from './types.js';\n/**\n * Request types for API calls to the container\n * Single source of truth for the contract between SDK clients and container handlers\n */\n/**\n * Request to execute a command\n */\nexport interface ExecuteRequest {\n command: string;\n sessionId?: string;\n background?: boolean;\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n origin?: 'user' | 'internal';\n}\n/**\n * Request to start a background process\n * Uses flat structure consistent with other endpoints\n */\nexport interface StartProcessRequest {\n command: string;\n sessionId?: string;\n processId?: string;\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n encoding?: string;\n autoCleanup?: boolean;\n origin?: 'user' | 'internal';\n}\n/**\n * Request to read a file\n */\nexport interface ReadFileRequest {\n path: string;\n encoding?: string;\n sessionId?: string;\n}\n/**\n * Request to write a file\n */\nexport interface WriteFileRequest {\n path: string;\n content: string;\n encoding?: string;\n sessionId?: string;\n}\n/**\n * Request to delete a file\n */\nexport interface DeleteFileRequest {\n path: string;\n sessionId?: string;\n}\n/**\n * Request to rename a file\n */\nexport interface RenameFileRequest {\n oldPath: string;\n newPath: string;\n sessionId?: string;\n}\n/**\n * Request to move a file\n */\nexport interface MoveFileRequest {\n sourcePath: string;\n destinationPath: string;\n sessionId?: string;\n}\n/**\n * Request to create a directory\n */\nexport interface MkdirRequest {\n path: string;\n recursive?: boolean;\n sessionId?: string;\n}\n/**\n * Request to check if a file or directory exists\n */\nexport interface FileExistsRequest {\n path: string;\n sessionId?: string;\n}\n/**\n * Request to list files in a directory\n */\nexport interface ListFilesRequest {\n path: string;\n options?: {\n recursive?: boolean;\n includeHidden?: boolean;\n };\n sessionId?: string;\n}\n/**\n * Request to create a session\n */\nexport interface SessionCreateRequest {\n id?: string;\n name?: string;\n env?: Record<string, string | undefined>;\n cwd?: string;\n}\n/**\n * Request to delete a session\n */\nexport interface SessionDeleteRequest {\n sessionId: string;\n}\n/**\n * Request to create a backup archive from a directory.\n * The container creates a squashfs archive at archivePath.\n * The DO then reads it and uploads to R2.\n */\nexport interface CreateBackupRequest {\n /** Directory to back up */\n dir: string;\n /** Path where the container should write the archive */\n archivePath: string;\n /** Respect git ignore rules when the directory is inside a git repository */\n gitignore?: boolean;\n /** Glob patterns to exclude from the backup */\n excludes?: string[];\n compression?: BackupCompressionOptions;\n sessionId?: string;\n}\n/**\n * A single part to upload in a multipart upload.\n * The container reads the byte range from the local archive and PUTs it\n * to the presigned URL.\n */\nexport interface UploadPart {\n partNumber: number;\n /** Presigned PUT URL for this part */\n url: string;\n /** Byte offset within the archive file */\n offset: number;\n /** Number of bytes in this part */\n size: number;\n}\n/**\n * Request to upload parts of a backup archive directly from the container to R2.\n * Used for parallel multipart upload of large archives.\n */\nexport interface UploadPartsRequest {\n /** Path to the archive file in the container */\n archivePath: string;\n /** Parts to upload in parallel */\n parts: UploadPart[];\n sessionId?: string;\n}\n/**\n * Result for a single uploaded part (ETag returned by R2).\n */\nexport interface UploadedPart {\n partNumber: number;\n etag: string;\n}\n/**\n * Response after the container has uploaded all parts.\n */\nexport interface UploadPartsResponse {\n success: boolean;\n parts: UploadedPart[];\n}\n/**\n * Response from the container after creating a backup archive\n */\nexport interface CreateBackupResponse {\n success: boolean;\n /** Size of the archive in bytes */\n sizeBytes: number;\n /** Path to the archive file in the container */\n archivePath: string;\n}\n/**\n * Request to restore a backup from an archive file.\n * The DO writes the archive to archivePath first, then tells the container to extract it.\n */\nexport interface RestoreBackupRequest {\n /** Directory to restore into */\n dir: string;\n /** Path to the archive file in the container */\n archivePath: string;\n sessionId?: string;\n}\n/**\n * Response from the container after restoring a backup\n */\nexport interface RestoreBackupResponse {\n success: boolean;\n /** Directory that was restored */\n dir: string;\n}\n//# sourceMappingURL=request-types.d.ts.map","/**\n * Shared interface types for the container-control path.\n *\n * Defines the contract between the SDK control client and the container\n * control-plane API. The current wire implementation uses capnweb RPC.\n */\nimport type { TerminalCreateOptions } from './pty-types.js';\nimport type { CreateBackupResponse, RestoreBackupResponse, UploadedPart, UploadPartsResponse } from './request-types.js';\nimport type { BackupCompressionOptions, CheckChangesRequest, CheckChangesResult, DeleteFileResult, FileEncoding, FileExistsResult, ListFilesOptions, ListFilesResult, MkdirResult, MoveFileResult, PortWatchRequest, ProcessCleanupResult, ProcessInfoResult, ProcessKillResult, ProcessListResult, ProcessLogsResult, ProcessStartResult, ReadFileResult, ReadFileStreamResult, RenameFileResult, WatchRequest, WriteFileResult } from './types.js';\nexport interface SandboxAPI {\n commands: SandboxCommandsAPI;\n files: SandboxFilesAPI;\n processes: SandboxProcessesAPI;\n ports: SandboxPortsAPI;\n utils: SandboxUtilsAPI;\n backup: SandboxBackupAPI;\n watch: SandboxWatchAPI;\n tunnels: SandboxTunnelsAPI;\n terminals: SandboxTerminalsAPI;\n extensions: SandboxExtensionsAPI;\n}\nexport interface CommandExecuteOptions {\n sessionId?: string;\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n origin?: 'user' | 'internal';\n}\nexport interface SandboxCommandsAPI {\n execute(command: string, options?: CommandExecuteOptions): Promise<{\n success: boolean;\n exitCode: number;\n stdout: string;\n stderr: string;\n command: string;\n timestamp: string;\n }>;\n}\nexport interface FileSessionOptions {\n sessionId?: string;\n}\nexport interface ReadFileStreamOptions extends FileSessionOptions {\n}\nexport interface ReadFileBinaryOptions extends FileSessionOptions {\n encoding: 'none';\n}\nexport interface ReadFileOptions extends FileSessionOptions {\n encoding?: Exclude<FileEncoding, 'none'>;\n}\nexport interface WriteFileOptions extends FileSessionOptions {\n encoding?: string;\n permissions?: string;\n}\nexport interface MkdirOptions extends FileSessionOptions {\n recursive?: boolean;\n}\nexport interface SandboxFilesAPI {\n readFile(path: string, options: ReadFileBinaryOptions): Promise<ReadFileStreamResult>;\n readFile(path: string, options?: ReadFileOptions): Promise<ReadFileResult>;\n readFileStream(path: string, options?: ReadFileStreamOptions): Promise<ReadableStream<Uint8Array>>;\n writeFile(path: string, content: string, options?: WriteFileOptions): Promise<WriteFileResult>;\n writeFileStream(path: string, stream: ReadableStream<Uint8Array>, options?: FileSessionOptions): Promise<{\n success: boolean;\n path: string;\n bytesWritten: number;\n timestamp: string;\n }>;\n deleteFile(path: string, options?: FileSessionOptions): Promise<DeleteFileResult>;\n renameFile(oldPath: string, newPath: string, options?: FileSessionOptions): Promise<RenameFileResult>;\n moveFile(sourcePath: string, destinationPath: string, options?: FileSessionOptions): Promise<MoveFileResult>;\n mkdir(path: string, options?: MkdirOptions): Promise<MkdirResult>;\n listFiles(path: string, options?: ListFilesOptions): Promise<ListFilesResult>;\n exists(path: string, options?: FileSessionOptions): Promise<FileExistsResult>;\n}\nexport interface ProcessStartOptions {\n sessionId?: string;\n processId?: string;\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n encoding?: string;\n autoCleanup?: boolean;\n origin?: 'user' | 'internal';\n stdout?: 'pipe' | 'ignore';\n stderr?: 'pipe' | 'ignore' | 'combined';\n}\nexport interface SandboxProcessesAPI {\n startProcess(command: string, options?: ProcessStartOptions, stdin?: ReadableStream<Uint8Array>): Promise<ProcessStartResult>;\n listProcesses(): Promise<ProcessListResult>;\n getProcess(id: string): Promise<ProcessInfoResult>;\n killProcess(id: string, signal?: number): Promise<ProcessKillResult>;\n killAllProcesses(): Promise<ProcessCleanupResult>;\n getProcessLogs(id: string): Promise<ProcessLogsResult>;\n streamProcessLogs(id: string): Promise<ReadableStream<Uint8Array>>;\n}\nexport interface SandboxPortsAPI {\n watchPort(request: PortWatchRequest): Promise<ReadableStream<Uint8Array>>;\n}\nexport interface SessionCreateOptions {\n id: string;\n env?: Record<string, string | undefined>;\n cwd?: string;\n commandTimeoutMs?: number;\n}\nexport interface SandboxUtilsAPI {\n ping(): Promise<string>;\n getVersion(): Promise<string>;\n getCommands(): Promise<string[]>;\n createSession(options: SessionCreateOptions): Promise<{\n success: boolean;\n id: string;\n message: string;\n timestamp: string;\n containerPlacementId?: string | null;\n }>;\n deleteSession(sessionId: string): Promise<{\n success: boolean;\n sessionId: string;\n timestamp: string;\n }>;\n listSessions(): Promise<{\n sessions: string[];\n }>;\n}\nexport interface BackupCreateArchiveOptions {\n sessionId?: string;\n excludes?: string[];\n gitignore?: boolean;\n compression?: BackupCompressionOptions;\n}\nexport interface BackupRestoreArchiveOptions {\n sessionId?: string;\n}\nexport interface SandboxBackupAPI {\n createArchive(dir: string, archivePath: string, options?: BackupCreateArchiveOptions): Promise<CreateBackupResponse>;\n restoreArchive(dir: string, archivePath: string, options?: BackupRestoreArchiveOptions): Promise<RestoreBackupResponse>;\n uploadParts(request: {\n archivePath: string;\n parts: Array<{\n partNumber: number;\n url: string;\n offset: number;\n size: number;\n }>;\n sessionId?: string;\n }): Promise<UploadPartsResponse>;\n}\nexport type { UploadedPart, UploadPartsResponse };\nexport interface SandboxWatchAPI {\n watch(request: WatchRequest): Promise<ReadableStream<Uint8Array>>;\n checkChanges(request: CheckChangesRequest): Promise<CheckChangesResult>;\n}\n/**\n * Public-facing tunnel record. Discriminated on the presence of `name`:\n * quick tunnels (`*.trycloudflare.com`) omit it, named tunnels carry the\n * label that was passed to `get(port, { name })`.\n */\nexport type TunnelInfo = QuickTunnelInfo | NamedTunnelInfo;\nexport interface QuickTunnelInfo {\n id: string;\n port: number;\n /** `https://<random>.trycloudflare.com`. */\n url: string;\n /** Hostname portion of `url`. */\n hostname: string;\n createdAt: string;\n /** Absent on quick tunnels; narrows the union. */\n name?: never;\n}\nexport interface NamedTunnelInfo {\n /** Cloudflare tunnel UUID (8-4-4-4-12). */\n id: string;\n port: number;\n /** `https://<hostname>`. */\n url: string;\n /** Full hostname bound to the tunnel (without scheme). */\n hostname: string;\n createdAt: string;\n /** Label originally passed via `TunnelOptions.name`. */\n name: string;\n}\n/**\n * Options accepted by `sandbox.tunnels.get(port, options)`. Omitting\n * `name` (or omitting the options object) selects the zero-config quick\n * tunnel; setting `name` selects the named-tunnel flow.\n */\nexport interface TunnelOptions {\n /**\n * Single DNS label under the configured zone. The full hostname is\n * `<name>.<zone-name>`. See `validateTunnelName` for the format rules.\n */\n name?: string;\n}\nexport type TunnelRunMode = 'quick' | 'named';\nexport interface TunnelRunIdentity {\n tunnelId: string;\n runId: string;\n}\nexport type TunnelRunRef = TunnelRunIdentity;\nexport interface EnsureQuickTunnelRunRequest extends TunnelRunIdentity {\n mode: 'quick';\n port: number;\n readyTimeoutMs?: number;\n stopGraceMs?: number;\n}\nexport interface EnsureNamedTunnelRunRequest extends TunnelRunIdentity {\n mode: 'named';\n port: number;\n cloudflaredToken: string;\n readyTimeoutMs?: number;\n stopGraceMs?: number;\n}\nexport type EnsureTunnelRunRequest = EnsureQuickTunnelRunRequest | EnsureNamedTunnelRunRequest;\nexport interface QuickTunnelRunSnapshot extends TunnelRunIdentity {\n mode: 'quick';\n port: number;\n url: string;\n hostname: string;\n startedAt: string;\n}\nexport interface NamedTunnelRunSnapshot extends TunnelRunIdentity {\n mode: 'named';\n port: number;\n startedAt: string;\n}\nexport type TunnelRunSnapshot = QuickTunnelRunSnapshot | NamedTunnelRunSnapshot;\nexport interface EnsureTunnelRunResult {\n run: TunnelRunSnapshot;\n started: boolean;\n}\nexport type StopTunnelRunRequest = TunnelRunRef;\nexport interface StopTunnelRunResult {\n stopped: boolean;\n}\nexport interface TunnelRunExitEvent extends TunnelRunIdentity {\n mode: TunnelRunMode;\n port: number;\n exitCode: number | null;\n}\nexport interface SandboxTerminalsAPI {\n createTerminal(options: TerminalCreateOptions): Promise<{\n success: true;\n id: string;\n }>;\n destroyTerminal(id: string): Promise<{\n success: true;\n id: string;\n }>;\n}\nexport interface SandboxTunnelsAPI {\n /** Ensure a runtime-local cloudflared process for a DO-issued run id. */\n ensureTunnelRun(request: EnsureTunnelRunRequest): Promise<EnsureTunnelRunResult>;\n /** Stop the matching runtime-local cloudflared process. */\n stopTunnelRun(request: StopTunnelRunRequest): Promise<StopTunnelRunResult>;\n}\n/**\n * Author-facing description of a sidecar extension. An extension is an\n * npm-style package: an `.tgz` whose embedded `package.json` declares the\n * sidecar entrypoint (via `bin`) and any extension metadata (under the\n * `sandboxExtension` key).\n *\n * The SDK ships the tarball bytes; the container hashes them, provisions a\n * dedicated directory keyed by content hash, derives identity from the\n * embedded `package.json`, installs the package with `bun add`, and spawns\n * the declared bin under Bun.\n *\n * `ExtensionPackage` carries tarball bytes produced by an extension build.\n * The SDK sends those bytes only when the container has not provisioned the\n * package hash yet.\n */\nexport interface ExtensionPackage {\n /** Raw `.tgz` bytes. */\n tarball: Uint8Array;\n /**\n * Bin entry to run when the embedded `package.json` declares more than one.\n * Defaults to the value of `sandboxExtension.bin` in `package.json`, then\n * to the single bin entry if there is exactly one.\n */\n bin?: string;\n /**\n * Max time to wait for the sidecar to accept a capnweb connection on its\n * unix socket. Falls back to `sandboxExtension.readinessTimeoutMs` in\n * `package.json`, then to a host default.\n */\n readinessTimeoutMs?: number;\n /**\n * Run lifecycle scripts during `bun add`. Defaults to false — provisioning\n * happens before the sidecar is supervised, so install-time side effects\n * are deliberately opt-in.\n */\n allowInstallScripts?: boolean;\n}\n/**\n * Container-derived identity for a provisioned extension package. Not\n * authored — produced by the host after extracting the embedded\n * `package.json` from a tarball.\n */\nexport interface ExtensionRegistration {\n /** Slugified package name (e.g. `@acme/foo` → `acme-foo`). */\n id: string;\n packageName: string;\n version: string;\n /** Hex sha256 of the tarball bytes. */\n packageHash: string;\n /** Resolved bin entry the host spawns. */\n bin: string;\n readinessTimeoutMs: number;\n}\n/** Health snapshot for a provisioned extension. */\nexport interface ExtensionHealth {\n packageHash: string;\n id: string;\n version: string;\n /** Tarball is on disk and the package.json has been read. */\n provisioned: boolean;\n /** Sidecar process is currently running. */\n running: boolean;\n pid: number | null;\n /** Whether a `__ping__` round-tripped over capnweb. */\n responsive: boolean;\n}\n/**\n * Connect request payload. The SDK hashes the tarball locally and first sends\n * only the hash. If the current host process has not provisioned that hash,\n * it responds with an `ExtensionTarballRequired` error and the SDK retries\n * with `tarball` populated.\n */\nexport interface ExtensionConnectRequest {\n packageHash: string;\n /** Only sent when the host has not seen this hash yet. */\n tarball?: Uint8Array;\n bin?: string;\n readinessTimeoutMs?: number;\n allowInstallScripts?: boolean;\n}\n/**\n * Error name thrown by the host's `connect` when it has not yet provisioned\n * the requested hash and the request did not carry tarball bytes. The SDK\n * recognises this name via `Error.name` and retries the connect with the\n * bytes attached. Kept as a string constant so it survives capnweb\n * cross-realm error reconstruction.\n */\nexport declare const EXTENSION_TARBALL_REQUIRED = \"ExtensionTarballRequired\";\n/**\n * Control surface for container sidecar extensions.\n *\n * `connect` is the only entry point: it provisions on first use, supervises\n * lazily, and returns the sidecar's capnweb remote main as a stub. Calls on\n * the stub are proxied through the container's capnweb session to the\n * sidecar's capnweb session — callback parameters (including streaming\n * handlers) round-trip across both hops.\n */\nexport interface SandboxExtensionsAPI {\n /**\n * Provision the package (if new) and return the sidecar's typed remote\n * main. The result is a capnweb stub whose methods correspond to the\n * sidecar's `RpcTarget` surface.\n */\n connect(req: ExtensionConnectRequest): Promise<unknown>;\n /** Health snapshot, probing the sidecar with a `__ping__` when running. */\n health(packageHash: string): Promise<ExtensionHealth>;\n /** Stop a sidecar and release its capnweb session. */\n stop(packageHash: string): Promise<void>;\n}\n/**\n * RPC surface the Sandbox DO exposes to the container over the existing\n * capnweb session. The container reaches it via\n * `session.getRemoteMain<SandboxControlCallback>()` and invokes methods\n * to push control-plane events (today: tunnel exits) back to the DO.\n *\n * One stable target per sandbox; not per-tunnel. Reusable seam for\n * future container→DO events.\n */\nexport interface SandboxControlCallback {\n /** Called by the container when a runtime-local tunnel run exits. */\n onTunnelRunExit(event: TunnelRunExitEvent): Promise<void>;\n}\n//# sourceMappingURL=rpc-types.d.ts.map"],"mappings":";;;UAAiBA,UAAAA;;;EAAAA,KAAAA,CAAAA,EAAAA,MAAU;AAK3B;AAKiBE,UALAD,eAAAA,CAKqB;EAOrBE,EAAAA,CAAAA,EAAAA,MAAAA;EAIAC,GAAAA,CAAAA,EAAAA,MAAAA;EAEIC,KAAAA,CAAAA,EAAAA,MAAAA;;AAAoDC,UAbxDJ,qBAAAA,CAawDI;EAARC,EAAAA,EAAAA,MAAAA;EAClDA,GAAAA,CAAAA,EAAAA,MAAAA;EAAO,KAAA,CAAA,EAAA,MAAA;;;;AChBLK,UDSAT,sBAAAA,CCEPU;EAeOC,IAAAA,CAAAA,EAAAA,MAAAA;EAYSC,IAAAA,CAAAA,EAAAA,MAAAA;;AAQbE,UDjCIb,eAAAA,CCiCJa;EApBwBL,SAAAA,EAAAA,EAAAA,MAAAA;EAAe,OAAA,CAAA,OAAA,EDX/BP,OCW+B,EAAA,OAAA,CAAA,EDXZF,sBCWY,CAAA,EDXaI,OCWb,CDXqBD,QCWrB,CAAA;EAgCnCS,OAAAA,EAAAA,ED1CFR,OC0CY,CAAA,IAAA,CAAA;AAqC3B;;;ADhFqBF,UCfJO,eAAAA,CDeIP;EAAmBF;;;EACzBI,OAAAA,CAAAA,EAAAA,MAAAA;EAAO;;;;AChBtB;AA0BA;EAY0BQ,GAAAA,CAAAA,EA3BhBF,MA2BgBE,CAAAA,MAAAA,EAAAA,MAAAA,GAAAA,SAAAA,CAAAA;EAIJC;;;EAhB8B,GAAA,CAAA,EAAA,MAAA;EAgCnCD;AAqCjB;AASA;EAOiBM,QAAAA,CAAAA,EAAAA,MAAAA;AAqCjB;AAoBA;AAmBA;AAWA;;;AAAwCT,UA5KvBE,WAAAA,SAAoBF,eA4KGA,CAAAA;EAAe;AAiCvD;AAWA;EAgBqBiB,MAAAA,CAAAA,EAAAA,OAAAA;EAIGE;;;EAoBCF,QAAAA,CAAAA,EAAAA,CAAAA,MAAAA,EAAAA,QAAAA,GAAAA,QAAAA,EAAAA,IAAAA,EAAAA,MAAAA,EAAAA,GAAAA,IAAAA;EAARG;;;EAgBmDd,UAAAA,CAAAA,EAAAA,CAAAA,MAAAA,EApQ1CH,UAoQ0CG,EAAAA,GAAAA,IAAAA;EAARc;;;EAwBjBZ,OAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAxRrBJ,KAwRqBI,EAAAA,GAAAA,IAAAA;EAARY;;AAOnC;EAeiBG,MAAAA,CAAAA,EA1SJlB,WA0SY;EA2CRoB;;;;;EAuEO,MAAA,CAAA,EAAA,MAAA,GAAA,UAAA;AAqBxB;AACA;AACA;AACA;AAkBA;AACYS,UA3bK/B,UAAAA,CA2bL+B;EACAE;AAeZ;;EACoBE,OAAAA,EAAAA,OAAAA;EACgBZ;;;EACfC,QAAAA,EAAAA,MAAAA;EAEEP;;;EAYPa,MAAAA,EAAAA,MAAAA;EAARb;;;EAGAA,MAAAA,EAAAA,MAAAA;EAEIA;;;EAgBYD,OAAAA,EAAAA,MAAAA;EAEFF;;;EAOWI,QAAAA,EAAAA,MAAAA;EAAqCf;;;EAETc,SAAAA,EAAAA,MAAAA;EAEhBZ;;;EAY5B+B,SAAAA,CAAAA,EAAAA,MAAAA;;;;;AAOTnB,UA5eSd,gBAAAA,CA4eTc;EAEWU;EACHM,IAAAA,EAAAA,MAAAA;EAARhB;EAEIA,KAAAA,CAAAA,EA7eAb,gBA6eAa;;;;;AAZ0C,UA5drCZ,iBAAAA,CA4dqC;EAkBrCgC;EA2BAC,QAAAA,EAAAA,MAAAA;AAuGjB;AAOA;AAcA;AACA;AA6BiBK,UA5pBArC,kBAAAA,CA4pBoB;EAQpBsC;AAMjB;AAOA;AAOA;AAMA;AAcA;EAUiBM,IAAAA,CAAAA,EAAAA,MAAAA,GAAAA,KAAe;EAWpBC;AAmBZ;AASA;AAOA;EAgCiBI,IAAAA,CAAAA,EAAAA,MAAAA;EASLC;AAIZ;AAWA;AAMA;AAoBA;AAYA;EAOiBM,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA;IAMDhD,GAAAA,EAAAA,MAAAA;IAICW,GAAAA,EAAAA,MAAAA;EACAC,CAAAA;EATFqC;;AAaf;;EAUiBtC,OAAAA,CAAAA,EAAAA,MAAAA;EACAC;;AAIjB;AAMA;EAOiByC,QAAAA,CAAAA,EAAAA,MAAAA;AAcjB;AAwBA;;;AAWmCpE,UAh6BlBQ,gBAAAA,CAg6BkBR;EAAsBC,IAAAA,EAAAA,MAAAA;EAARiB,IAAAA,EAAAA,MAAAA,GAAAA,KAAAA;EACbiB,IAAAA,CAAAA,EAAAA,MAAAA;EAARjB,SAAAA,CAAAA,EAAAA,MAAAA;EACCiB,SAAAA,CAAAA,EAAAA,MAAAA;;;;;AAYaV,UA15BzBf,gBAAAA,SAAyBF,gBA05BAiB,CAAAA;EAARP;EACKqC,SAAAA,CAAAA,EAAAA,MAAAA;EAALsB;EAAyDrD,QAAAA,CAAAA,EAAAA,MAAAA;;AAQrD0B,UAh5BrBtC,mBAAAA,CAg5BqBsC;EAA2BC;;;EACvCjC,SAAAA,CAAAA,EAAAA,MAAAA;;;;;;;AAIwB8D,UA14BjCnE,cAAAA,SAAuBf,eA04BUkF,CAAAA;EAAR9D;;;;;EAEDtB,SAAAA,CAAAA,EAAAA,MAAAA;EAAqBuF;;;AAK9D;EAIiBJ,SAAAA,CAAAA,EAAAA,MAAa;EAyCbC;AAWjB;AAUA;EAIiBM,WAAAA,CAAAA,EAAAA,OAAiB;EAOjBC;AAqEjB;AAqBA;EA2BYT,MAAAA,CAAAA,EAAAA,CAAAA,IAAAA,EAAAA,MAAkB,GAAA,IAAA,EAAA,GAAA,IAAA;EAAGS;;;EAAgF,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,GAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAChGG;;;EAqCkB1F,OAAAA,CAAAA,EAAAA,CAAAA,OAAAA,EA9lCXc,OA8lCWd,EAAAA,GAAAA,IAAAA;EAEnBC;;;EAWmDkC,OAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAvmC7CjC,KAumC6CiC,EAAAA,GAAAA,IAAAA;;AAOvCvB,KA5mChBG,aAAAA,GA4mCgBH,UAAAA,GAAAA,SAAAA,GAAAA,WAAAA,GAAAA,QAAAA,GAAAA,QAAAA,GAAAA,OAAAA;;;;;;;AAUD8B,UA3mCV5B,OAAAA,CA2mCU4B;EAARkC;;;EAEsCpD,SAAAA,EAAAA,EAAAA,MAAAA;EAAfC;;;EAC8BD,SAAAA,GAAAA,CAAAA,EAAAA,MAAAA;EAAfC;;;EACcoC,SAAAA,OAAAA,EAAAA,MAAAA;EAAR3C;;;EAIzB2B,SAAAA,MAAAA,EAnmCjB9B,aAmmCiB8B;EAAR3B;;;EAEqC6B,SAAAA,SAAAA,EAjmC3C9B,IAimC2C8B;EAAR7B;;;EACFA,SAAAA,OAAAA,CAAAA,EA9lClCD,IA8lCkCC;EAGzC8B;;;EAC6C9B,SAAAA,QAAAA,CAAAA,EAAAA,MAAAA;EACD4D;;;EAEhCxC,SAAAA,SAAAA,CAAAA,EAAAA,MAAAA;EAAyBqC;;;EACfzD,IAAAA,CAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EA1lCXA,OA0lCWA,CAAAA,IAAAA,CAAAA;EAOPA;;;EACWA,SAAAA,EAAAA,EA9lCzBA,OA8lCyBA,CA9lCjBH,aA8lCiBG,CAAAA;EAChB8D;;;EACHE,OAAAA,EAAAA,EA5lCRhE,OA4lCQgE,CAAAA;IAAgCC,MAAAA,EAAAA,MAAAA;IAARjE,MAAAA,EAAAA,MAAAA;EAAO,CAAA,CAAA;EAE9ByE;AACxB;AACA;;;;ACxuCA;AAOA;EAOiBsB,UAAAA,CAAAA,OAAAA,EAAAA,MAAoB,GDsIJ9F,MCtII,EAAA,OAAA,CAAA,EAAA,MAAA,CAAA,EDsIuBD,OCtIvB,CDsI+Bd,gBCtI/B,CAAA;EAqBpB+G;;;;ACxLjB;;;;;;;;;;;;EAYiBuC,WAAAA,CAAAA,IAAAA,EAAAA,MAAqB,EAAA,OAGtB,CAHsB,EF8SEnJ,kBE3SxB,CAAA,EF2S6CW,OE3S7C,CAAA,IAAA,CAAA;EAIC8H;AAUjB;AAGA;AAEA;AAGA;;EACeiB,WAAAA,CAAAA,OAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EF2RoB/I,OE3RpB+I,CF2R4B3J,iBE3R5B2J,CAAAA;;;AAEf;AAIA;AAGA;;AACoEtB,UFwRnDvH,SAAAA,CExRmDuH;EAARiB,IAAAA,EAAAA,OAAAA,GAAAA,QAAAA,GAAAA,QAAAA,GAAAA,UAAAA,GAAAA,OAAAA;EACvBI,SAAAA,EAAAA,MAAAA;EAA0BtB,IAAAA,CAAAA,EAAAA,MAAAA;EAARkB,OAAAA,CAAAA,EAAAA,MAAAA;EACZE,QAAAA,CAAAA,EAAAA,MAAAA;EAA+CM,MAAAA,CAAAA,EF4R7EnK,UE5R6EmK;EAAfC,KAAAA,CAAAA,EAAAA,MAAAA;EAART,SAAAA,CAAAA,EAAAA,MAAAA;EACZM,GAAAA,CAAAA,EAAAA,MAAAA;;;;;;AAC8CN,UFmSpFvI,QAAAA,CEnSoFuI;EAM9DC,IAAAA,EAAAA,QAAAA,GAAAA,QAAAA,GAAAA,MAAAA,GAAAA,OAAAA;EAA6BjC,SAAAA,EAAAA,MAAAA;EAARgC,IAAAA,EAAAA,MAAAA;EACDC,SAAAA,EAAAA,MAAAA;EAA6BjB,SAAAA,CAAAA,EAAAA,MAAAA;EAARgB,QAAAA,CAAAA,EAAAA,MAAAA;;;;;;;;;;;;;;;AA2BhF;;AACiEQ,UF2ShD7I,kBAAAA,CE3SgD6I;EAAfC;EAART,GAAAA,CAAAA,EAAAA,MAAAA;EAAO;AAEjD;AAMA;;;;;EAIkDA,GAAAA,CAAAA,EFySxC7J,MEzSwC6J,CAAAA,MAAAA,EAAAA,MAAAA,GAAAA,SAAAA,CAAAA;EAOZA;;;AAStC;AAMA;AAGA;;;;EAE+Da,KAAAA,CAAAA,EFwRnDhJ,cExRmDgJ,CFwRpCjJ,UExRoCiJ,CAAAA,GAAAA,MAAAA,GAAAA,MAAAA;EAAsCnD;;;;;;AAarG;EACmBuB,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,QAAAA;EAAsCuB;;;;;;;AAQzD;AACA;EAWiBS,MAAAA,CAAAA,EAAAA,MAAAA,GAAe,QAAA,GAAA,UAAA;EAiBfC;AAOjB;AACA;AAIA;AACA;AAMA;EAOYM,SAAAA,CAAAA,EAAAA,MAAAA;EACKC;AAOjB;AAKA;AACA;AAIA;AACA;EAGiBM,SAAAA,CAAAA,EAAAA,MAAAA;EAKAnC;;;;;AAUjB;;EAE8DgC,WAAAA,CAAAA,EAAAA,OAAAA;EAAR5B;;;;;EAmBrCgC,OAAAA,CAAAA,EAAAA,MAAAA;EAuCAE;AAkBjB;AAyBA;;EAM2ClC,MAAAA,CAAAA,EF4G9BzJ,WE5G8ByJ;EAEFkC;;;;AAazC;;;;AClVA;AAMA;AAaA;;;;;;;;AAiDA;;AAKoD,KH2XxCpK,iBAAAA,GG3XwC,MAAA,GAAA,QAAA;AAO1B,KHqXdC,iBAAAA,GGrXc,MAAA,GAAA,QAAA,GAAA,UAAA;AAOZ,KH+WFC,qBAAAA,GG/WE,MAAA,GAAA,QAAA;AACT,UH+WYC,qBG/WZ,CAAA,CAAA,CAAA,CAAA;EAesB;EAKX,MAAA,EH6VJC,CG7VI;EAA8B;EAkBG,MAAA,EH6UrCA,CG7UqC;EAAR;EAQE,QAAA,EAAA,MAAA;EAAR;EASF,OAAA,EAAA,OAAA;EA3Ec;EAAS,QAAA,EAAA,MAAA;;;;;;;;KHqZ5CC,uBAAAA,GAA0BF;KAC1BG,uBAAAA,GAA0BH,sBAAsBI;KAChDC,iBAAAA,GAAoBH,0BAA0BC;;;;;;;;;;;;;;;UAezCG,cAAAA;kBACGC,eAAeZ;mBACdC,eAAeD;mBACfC,eAAeD;;qBAEbN;;;;;;;;;MASfA,QAAQc;;;MAGRd,QAAQa;;eAEGH;MACXV,QAAQgB;;UAEJhB;;uBAEaA,QAAQY;;;;;;;;;;;;;;sBAcTb;;YAEVC,QAAQH;;aAEPG;;;;;+BAKkBC,6BAA6BD,QAAQd;;sCAE9BG,qBAAqBW;;mCAExBA,QAAQZ;;;;;;;;;;;;UAY5B+B,qBAAAA,SAA8BnB,QAAQiB;;;;MAI/CjB,QAAQc;;;MAGRd,QAAQa;;eAEGH;MACXV,QAAQgB;;UAEJhB;;uBAEaA,QAAQY;;kCAEGZ;;UAEnBoB,cAAAA;;;;;;;;;;;;;QAaPvC;;;;;;;;;;;;;;UAcOwC,cAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuGAC,WAAAA;;;;;;;UAOAC,eAAAA;;;;;;;;;;;;;;KAcLC,YAAAA;UACKC,cAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6BAC,oBAAAA;;;WAGJnB,eAAeD;;;;;UAKXqB,gBAAAA;;;;;;UAMAC,gBAAAA;;;;;;;UAOAC,cAAAA;;;;;;;UAOAC,gBAAAA;;;;;;UAMAC,QAAAA;;;;;;;;;;;;;;UAcAC,gBAAAA;;;;;;;;;;UAUAC,eAAAA;;;SAGNF;;;;;;;;KAQCG,eAAAA;;;;;;;;;;;;;;;;;;;UAmBKC,YAAAA;;;;;;;;;KASLC,SAAAA,YAAqB9B;;;;;;;UAOhB+B,YAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgCAC,mBAAAA,SAA4BD;;;;;;;;;KASjCE,kBAAAA;;;;UAIKC,YAAAA;;;WAGJD;;;;;;;;UAQIE,mBAAAA,SAA4BD;;;;;;KAMjCE,iBAAAA;;;;;;aAMGH;;;;;;;;;;;;;;KAcHI,kBAAAA;;;;;;;;;;;;UAYKC,kBAAAA;;;;;;;UAOAC,iBAAAA;;aAEFC;;;;YAICjD;;;;aAICW;aACAC;;;;UAIAsC,iBAAAA;;;;;;YAMDlD;;;;aAICW;aACAC;;;;UAIAuC,iBAAAA;;;;;;UAMAC,iBAAAA;;;;;;;UAOAC,oBAAAA;;;;;;;UAcAE,mBAAAA;;;;;UAwBAK,gBAAAA;;;;;;;;;6CAS8BpD,qBAAqBc;;iCAEjCrC,cAAckB,QAAQjB;0BAC7BiB,QAAQiB;mBACfjB,QAAQiB;sBACLjB;+BACSA;4CACaO,eAAeD;;MAErDN,QAAQuB;;;MAGRvB,QAAQ0B;;eAEGgC,QAAQlC;MACnBxB,QAAQyB;gCACkBzB,QAAQO,eAAeD;gCACvBqD,KAAKtB,6BAA6BrC,QAAQO,eAAeD;uCAClDqD,KAAKrB,oCAAoCtC,QAAQ2C;;;MAGlF3C,QAAQsB;4BACctB,QAAQ2B;gDACY3B,QAAQ4B;yDACC5B,QAAQ6B;oCAC7BG,mBAAmBhC,QAAQiC;wBACvCjC,QAAQ8B;sBACVjD,qCAAqCmB;0DACD4D,qBAAqB5D;oCAC3CA;wBACZ6D,gBAAgB7D,QAAQ8D;wBACxBA,kBAAkB9D,QAAQ+D;oBAC9BC,mBAAmBtF,aAAasB,QAAQiE;;;;;UAK7CC,wBAAAA;;;;UAIAL,aAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA4BCK;;;;;;;;;;;;;UAaDJ,eAAAA;;;;;;;;;;;UAWAC,mBAAAA;;;;;;;;;;KAULI,cAAAA;;;;UAIKC,iBAAAA;;;;;;;UAOAC,wBAAAA;;;;;;;;;;;;;;;;;;;aAmBFF;;;;gBAIGC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA8CDE,uBAAAA;;;;;;;;;;;;;;;;;;;;;UAqBAC,2BAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BLX,kBAAAA,GAAqBS,2BAA2BC,0BAA0BC;UACrEC,QAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CA4B8BnE,qBAAqBc;;;;;;;;;iCASjCrC;;MAE3BkB,QAAQjB;;;;;;;;;;;mCAWqBW,sBAAsBM,QAAQiB;;;;;;;0BAOvCvB,sBAAsBM,QAAQiB;sBAClCjB;+BACSA;4CACaO,eAAeD;;MAErDN,QAAQuB;;;MAGRvB,QAAQ0B;;eAEGgC,QAAQlC;MACnBxB,QAAQyB;gCACkBzB,QAAQO,eAAeD;gCACvB+B,eAAerC,QAAQO,eAAeD;uCAC/BgC,sBAAsBtC,QAAQ2C;;;MAG/D3C,QAAQsB;4BACctB,QAAQ2B;gDACY3B,QAAQ4B;yDACC5B,QAAQ6B;oCAC7BG,mBAAmBhC,QAAQiC;;;MAGzDjC,QAAQ8B;sBACQjD,qCAAqCmB;0DACD4D,qBAAqB5D;oCAC3CA;0BACVoB,iBAAiBpB,QAAQyD;oCACfzD,QAAQoD;;;;;;;6BAOfpD;wBACL6D,gBAAgB7D,QAAQ8D;wBACxBA,kBAAkB9D,QAAQ+D;qBAC7BC,wBAAwBhE,QAAQiE;;iBAE/BQ,YAAAA,uBAAmC1F;iBACnC2F,SAAAA,uBAAgC9E;iBAChC+E,eAAAA,0BAAyC9E;;;;;;AA1UhBG,UC95BhC6F,YAAAA,CD85BgC7F;EACbiB,UAAAA,EAAAA,MAAAA;EAARjB,IAAAA,EAAAA,MAAAA;;;;;AAIiCM,UC55B5CwF,mBAAAA,CD45B4CxF;EAAfC,OAAAA,EAAAA,OAAAA;EAE9BgB,KAAAA,EC55BLsE,YD45BKtE,EAAAA;;;;;AAKGmC,UC55BFqC,oBAAAA,CD45BErC;EACHjC,OAAAA,EAAAA,OAAAA;EAARzB;EACiDM,SAAAA,EAAAA,MAAAA;EAAfC;EAARP,WAAAA,EAAAA,MAAAA;;;;;AAQiC6B,UCj5BlDoE,qBAAAA,CDi5BkDpE;EAAR7B,OAAAA,EAAAA,OAAAA;EACrBgC;EAA2BC,GAAAA,EAAAA,MAAAA;;;;AD5jCzB9D,UGdvB0J,UAAAA,CHcuB1J;EAAiCG,QAAAA,EGb3DwJ,kBHa2DxJ;EAARC,KAAAA,EGZtDwJ,eHYsDxJ;EAClDA,SAAAA,EGZAyJ,mBHYAzJ;EAAO,KAAA,EGXX0J,eHWW;SGVXC;UACCC;SACDC;EFRMxJ,OAAAA,EESJyJ,iBFTmB;EA0BfvJ,SAAAA,EEhBFwJ,mBFgBa;EAYFvJ,UAAAA,EE3BVwJ,oBF2BUxJ;;AAQbE,UEjCIuJ,qBAAAA,CFiCJvJ;EApBwBL,SAAAA,CAAAA,EAAAA,MAAAA;EAAe,SAAA,CAAA,EAAA,MAAA;EAgCnCG,GAAAA,CAAAA,EE1CP0J,MF0CO1J,CAAU,MAAA,EAAA,MAAA,GAAA,SAAA,CAAA;EAqCVG,GAAAA,CAAAA,EAAAA,MAAAA;EASAE,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,UAAiB;AAOlC;AAqCiBE,UEhIAwI,kBAAAA,CFgIgB;EAoBhBtI,OAAAA,CAAAA,OAAAA,EAAAA,MAAgB,EAAA,OAAyB,CAAhBF,EEnJHkJ,qBFmJmB,CAAA,EEnJKE,OFmJL,CAAA;IAmBzChJ,OAAAA,EAAAA,OAAAA;IAWAC,QAAAA,EAAAA,MAAc;IA2BPC,MAAAA,EAAAA,MAAAA;IAIFZ,MAAAA,EAAAA,MAAAA;IA/BkBJ,OAAAA,EAAAA,MAAAA;IAAe,SAAA,EAAA,MAAA;EAiC3CiB,CAAAA,CAAAA;AAWZ;AAgBqBA,UEpOJ8I,kBAAAA,CFoOI9I;EAIGE,SAAAA,CAAAA,EAAAA,MAAAA;;AAgBGC,UErPV4I,qBAAAA,SAA8BD,kBFqPpB3I,CAAAA;AAIVA,UEvPA6I,qBAAAA,SAA8BF,kBFuP9B3I,CAAAA;EAIFA,QAAAA,EAAAA,MAAAA;;AAYqDd,UEpQnD4J,eAAAA,SAAwBH,kBFoQ2BzJ,CAAAA;EAARc,QAAAA,CAAAA,EEnQ7C+I,OFmQ6C/I,CEnQrC2G,YFmQqC3G,EAAAA,MAAAA,CAAAA;;AAiBCA,UElR5CgJ,gBAAAA,SAAyBL,kBFkRmB3I,CAAAA;EAOlBZ,QAAAA,CAAAA,EAAAA,MAAAA;EAARY,WAAAA,CAAAA,EAAAA,MAAAA;;AAOlBE,UE5RA+I,YAAAA,SAAqBN,kBFkSf,CAAA;EASNxI,SAAAA,CAAAA,EAAQ,OAAA;AA2CzB;AAUUtB,UE7VOkJ,eAAAA,CF6VPlJ;EAUiByB,QAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,EEtWSuI,qBFsWTvI,CAAAA,EEtWiCoI,OFsWjCpI,CEtWyCmH,oBFsWzCnH,CAAAA;EAAfC,QAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EErWyBuI,eFqWzBvI,CAAAA,EErW2CmI,OFqW3CnI,CErWmDiH,cFqWnDjH,CAAAA;EAmDCtB,cAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EEvZ8B2J,qBFuZ9B3J,CAAAA,EEvZsDyJ,OFuZtDzJ,CEvZ8DkK,cFuZ9DlK,CEvZ6EiK,UFuZ7EjK,CAAAA,CAAAA;EAAW,SAAA,CAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EEtZ+B+J,gBFsZ/B,CAAA,EEtZkDN,OFsZlD,CEtZ0Dd,eFsZ1D,CAAA;EAqBZpH,eAAAA,CAAAA,IAAiB,EAAA,MAAA,EAAA,MAAA,EE1aa2I,cF0ab,CE1a4BD,UF0a5B,CAAA,EAAA,OAAA,CAAA,EE1amDP,kBF0anD,CAAA,EE1awED,OF0axE,CAAA;IACjBjI,OAAAA,EAAAA,OAAiB;IACjBC,IAAAA,EAAAA,MAAAA;IACKC,YAAAA,EAAAA,MAAqB;IAkB1BE,SAAAA,EAAAA,MAAAA;EACAC,CAAAA,CAAAA;EACAE,UAAAA,CAAAA,IAAAA,EAAAA,MAAiB,EAAA,OAAGH,CAAAA,EE3bO8H,kBF2bP9H,CAAAA,EE3b4B6H,OF2bF5H,CE3bU4F,gBF2bV5F,CAAAA;EAezCG,UAAAA,CAAAA,OAAc,EAAA,MAAAL,EAAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EEzc4B+H,kBFyc5B,CAAA,EEzciDD,OFycjD,CEzcyDhB,gBFyczD,CAAA;EACIpH,QAAAA,CAAAA,UAAAA,EAAAA,MAAAA,EAAAA,eAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EEzciCqI,kBFycjCrI,CAAAA,EEzcsDoI,OFyctDpI,CEzc8D0G,cFyc9D1G,CAAAA;EAAfY,KAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EExcc+H,YFwcd/H,CAAAA,EExc6BwH,OFwc7BxH,CExcqC6F,WFwcrC7F,CAAAA;EACgBZ,SAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EExcEuG,gBFwcFvG,CAAAA,EExcqBoI,OFwcrBpI,CExc6BwG,eFwc7BxG,CAAAA;EAAfC,MAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EEvccoI,kBFucdpI,CAAAA,EEvcmCmI,OFucnCnI,CEvc2CqG,gBFuc3CrG,CAAAA;;AACAA,UEtcJ6I,mBAAAA,CFscI7I;EAEEP,SAAAA,CAAAA,EAAAA,MAAAA;EASPc,SAAAA,CAAAA,EAAAA,MAAAA;EAARd,SAAAA,CAAAA,EAAAA,MAAAA;EAGQa,GAAAA,CAAAA,EEhdN4H,MFgdM5H,CAAAA,MAAAA,EAAAA,MAAAA,GAAAA,SAAAA,CAAAA;EAARb,GAAAA,CAAAA,EAAAA,MAAAA;EAEWU,QAAAA,CAAAA,EAAAA,MAAAA;EACHM,WAAAA,CAAAA,EAAAA,OAAAA;EAARhB,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,UAAAA;EAEIA,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,QAAAA;EAEqBY,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,QAAAA,GAAAA,UAAAA;;AAcTb,UE7dPiI,mBAAAA,CF6dOjI;EAEFF,YAAAA,CAAAA,OAAAA,EAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EE9dsBuJ,mBF8dtBvJ,EAAAA,KAAAA,CAAAA,EE9dmDsJ,cF8dnDtJ,CE9dkEqJ,UF8dlErJ,CAAAA,CAAAA,EE9dgF6I,OF8dhF7I,CE9dwF0H,kBF8dxF1H,CAAAA;EAARG,aAAAA,EAAAA,EE7dO0I,OF6dP1I,CE7deqH,iBF6dfrH,CAAAA;EAECA,UAAAA,CAAAA,EAAAA,EAAAA,MAAAA,CAAAA,EE9da0I,OF8db1I,CE9dqBmH,iBF8drBnH,CAAAA;EAKkBC,WAAAA,CAAAA,EAAAA,EAAAA,MAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EEleayI,OFkebzI,CEleqBmH,iBFkerBnH,CAAAA;EAAqCf,gBAAAA,EAAAA,EEje9CwJ,OFie8CxJ,CEjetCgI,oBFiesChI,CAAAA;EAARc,cAAAA,CAAAA,EAAAA,EAAAA,MAAAA,CAAAA,EEhe9B0I,OFge8B1I,CEhetBsH,iBFgesBtH,CAAAA;EAEtBX,iBAAAA,CAAAA,EAAAA,EAAAA,MAAAA,CAAAA,EEjeLqJ,OFieKrJ,CEjeG8J,cFieH9J,CEjekB6J,UFielB7J,CAAAA,CAAAA;;AAEKD,UEje5B6I,eAAAA,CFie4B7I;EAARY,SAAAA,CAAAA,OAAAA,EEhediH,gBFgecjH,CAAAA,EEheK0I,OFgeL1I,CEheamJ,cFgebnJ,CEhe4BkJ,UFge5BlJ,CAAAA,CAAAA;;AAYpBmB,UE1eAkI,oBAAAA,CF0eqBzI;EAAiBK,EAAAA,EAAAA,MAAAA;EAIvCH,GAAAA,CAAAA,EE5eN2H,MF4eM3H,CAAAA,MAAAA,EAAAA,MAAAA,GAAAA,SAAAA,CAAAA;EAARd,GAAAA,CAAAA,EAAAA,MAAAA;EAGQa,gBAAAA,CAAAA,EAAAA,MAAAA;;AAEGH,UE7eFwH,eAAAA,CF6eExH;EACHM,IAAAA,EAAAA,EE7eJ0H,OF6eI1H,CAAAA,MAAAA,CAAAA;EAARhB,UAAAA,EAAAA,EE5eU0I,OF4eV1I,CAAAA,MAAAA,CAAAA;EAEIA,WAAAA,EAAAA,EE7eO0I,OF6eP1I,CAAAA,MAAAA,EAAAA,CAAAA;EAEqBY,aAAAA,CAAAA,OAAAA,EE9eNyI,oBF8eMzI,CAAAA,EE9eiB8H,OF8ejB9H,CAAAA;IAARZ,OAAAA,EAAAA,OAAAA;IAEWA,EAAAA,EAAAA,MAAAA;IAhBWA,OAAAA,EAAAA,MAAAA;IAAO,SAAA,EAAA,MAAA;IAkBrCoB,oBAAc,CAAA,EAAA,MAarBvC,GAAAA,IAAM;EAcCwC,CAAAA,CAAAA;EAuGAC,aAAAA,CAAW,SAAA,EAAA,MAAA,CAAA,EE7mBUoH,OF6mBV,CAAA;IAOXnH,OAAAA,EAAAA,OAAe;IAcpBC,SAAAA,EAAY,MAAA;IACPC,SAAAA,EAAAA,MAAc;EA6BdC,CAAAA,CAAAA;EAQAC,YAAAA,EAAAA,EEnqBG+G,OFmqBa,CAAA;IAMhB9G,QAAAA,EAAAA,MAAgB,EAAA;EAOhBC,CAAAA,CAAAA;AAOjB;AAMiBE,UEzrBAuH,0BAAAA,CFyrBQ;EAcRtH,SAAAA,CAAAA,EAAAA,MAAAA;EAUAC,QAAAA,CAAAA,EAAAA,MAAAA,EAAe;EAWpBC,SAAAA,CAAAA,EAAAA,OAAe;EAmBVC,WAAAA,CAAAA,EE3uBCoE,wBF2uBW;AAS7B;AAOiBlE,UEzvBAkH,2BAAAA,CFyvBY;EAgCZjH,SAAAA,CAAAA,EAAAA,MAAAA;AASjB;AAIiBE,UEnyBA2F,gBAAAA,CFsyBJ5F;EAQIE,aAAAA,CAAAA,GAAAA,EAAAA,MAAmB,EAAA,WAASD,EAAAA,MAAAA,EAAY,OAAA,CAAA,EE7yBK8G,0BF6yBL,CAAA,EE7yBkCZ,OF6yBlC,CE7yB0CvC,oBF6yB1C,CAAA;EAM7CzD,cAAAA,CAAAA,GAAAA,EAAiB,MAAA,EAAA,WAMdH,EAAAA,MAAAA,EAAAA,OAAkB,CAAA,EExzB8BgH,2BFwzB9B,CAAA,EExzB4Db,OFwzB5D,CExzBoEtC,qBFwzBpE,CAAA;EAcrBzD,WAAAA,CAAAA,OAAAA,EAAkB;IAYbC,WAAAA,EAAAA,MAAkB;IAOlBC,KAAAA,EEt1BF2G,KFs1BE3G,CAAAA;MAMDhD,UAAAA,EAAAA,MAAAA;MAICW,GAAAA,EAAAA,MAAAA;MACAC,MAAAA,EAAAA,MAAAA;MATFqC,IAAAA,EAAAA,MAAAA;IAAK,CAAA,CAAA;IAaHC,SAAAA,CAAAA,EAAAA,MAAiB;EAMlBlD,CAAAA,CAAAA,EEp2BR6I,OFo2BQ7I,CEp2BAyG,mBFo2BAzG,CAAAA;;AAKkB,UEt2BjBuI,eAAAA,CFs2BiB;EAIjBpF,KAAAA,CAAAA,OAAAA,EEz2BE2E,YFy2Be,CAAA,EEz2BAe,OFy2BA,CEz2BQS,cFy2BR,CEz2BuBD,UFy2BvB,CAAA,CAAA;EAMjBjG,YAAAA,CAAAA,OAAiB,EE92BRuD,mBF82BQ,CAAA,EE92BckC,OF82Bd,CE92BsBjC,kBF82BtB,CAAA;AAOlC;AAcA;AAwBA;;;;AAWyD1H,KE/5B7C0K,UAAAA,GAAaC,eF+5BgC3K,GE/5Bd4K,eF+5Bc5K;AAARiB,UE95BhC0J,eAAAA,CF85BgC1J;EACbiB,EAAAA,EAAAA,MAAAA;EAARjB,IAAAA,EAAAA,MAAAA;EACCiB;EAARjB,GAAAA,EAAAA,MAAAA;EACGA;EACSA,QAAAA,EAAAA,MAAAA;EAC4BM,SAAAA,EAAAA,MAAAA;EAAfC;EAE9BgB,IAAAA,CAAAA,EAAAA,KAAAA;;AAGAG,UE75BCiI,eAAAA,CF65BDjI;EAAR1B;EAEmBwB,EAAAA,EAAAA,MAAAA;EAARkC,IAAAA,EAAAA,MAAAA;EACHjC;EAARzB,GAAAA,EAAAA,MAAAA;EACiDM;EAAfC,QAAAA,EAAAA,MAAAA;EAARP,SAAAA,EAAAA,MAAAA;EACKqC;EAALsB,IAAAA,EAAAA,MAAAA;;;;;;;AACgD3D,UEl5BjE4J,aAAAA,CFk5BiE5J;EAGlEsB;;;;EAE0CM,IAAAA,CAAAA,EAAAA,MAAAA;;AACSC,KEj5BvDgI,aAAAA,GFi5BuDhI,OAAAA,GAAAA,OAAAA;AAAR7B,UEh5B1C8J,iBAAAA,CFg5B0C9J;EACrBgC,QAAAA,EAAAA,MAAAA;EAA2BC,KAAAA,EAAAA,MAAAA;;AAC/BH,KE94BtBiI,YAAAA,GAAeD,iBF84BOhI;AAAR9B,UE74BTgK,2BAAAA,SAAoCF,iBF64B3B9J,CAAAA;EACFnB,IAAAA,EAAAA,OAAAA;EAAqCmB,IAAAA,EAAAA,MAAAA;EACD4D,cAAAA,CAAAA,EAAAA,MAAAA;EAAqB5D,WAAAA,CAAAA,EAAAA,MAAAA;;AAEvD6D,UE34BToG,2BAAAA,SAAoCH,iBF24B3BjG,CAAAA;EAAwBC,IAAAA,EAAAA,OAAAA;EAAR9D,IAAAA,EAAAA,MAAAA;EAChB8D,gBAAAA,EAAAA,MAAAA;EAA0BC,cAAAA,CAAAA,EAAAA,MAAAA;EAAR/D,WAAAA,CAAAA,EAAAA,MAAAA;;AACHtB,KEt4B7BwL,sBAAAA,GAAyBF,2BFs4BItL,GEt4B0BuL,2BFs4B1BvL;AAAqBuF,UEr4B7CkG,sBAAAA,SAA+BL,iBFq4Bc7F,CAAAA;EAARjE,IAAAA,EAAAA,OAAAA;EAAO,IAAA,EAAA,MAAA;EAK5CkE,GAAAA,EAAAA,MAAAA;EAIAL,QAAAA,EAAAA,MAAa;EAyCbC,SAAAA,EAAAA,MAAAA;AAWjB;AAUYK,UEr8BKiG,sBAAAA,SAA+BN,iBFq8BtB,CAAA;EAIT1F,IAAAA,EAAAA,OAAAA;EAOAC,IAAAA,EAAAA,MAAAA;EAqEAC,SAAAA,EAAAA,MAAAA;AAqBjB;AA2BYV,KEhkCAyG,iBAAAA,GAAoBF,sBFgkCF,GEhkC2BC,sBFgkC3B;AAAG/F,UE/jChBiG,qBAAAA,CF+jCgBjG;EAA2BC,GAAAA,EE9jCnD+F,iBF8jCmD/F;EAA0BC,OAAAA,EAAAA,OAAAA;;AACrEC,KE5jCL+F,oBAAAA,GAAuBR,YF4jCV;AA4BsB1J,UEvlC9BmK,mBAAAA,CFulC8BnK;EAAqBc,OAAAA,EAAAA,OAAAA;;AAWpDpC,UE/lCC0L,kBAAAA,SAA2BX,iBF+lC5B/K,CAAAA;EAARiB,IAAAA,EE9lCE6J,aF8lCF7J;EAW6BN,IAAAA,EAAAA,MAAAA;EAA8BuB,QAAAA,EAAAA,MAAAA,GAAAA,IAAAA;;AAOvCvB,UE5mCX4I,mBAAAA,CF4mCW5I;EAA8BuB,cAAAA,CAAAA,OAAAA,EE3mC9BiF,qBF2mC8BjF,CAAAA,EE3mCNyH,OF2mCMzH,CAAAA;IAARjB,OAAAA,EAAAA,IAAAA;IAC1BA,EAAAA,EAAAA,MAAAA;EACSA,CAAAA,CAAAA;EAC4BM,eAAAA,CAAAA,EAAAA,EAAAA,MAAAA,CAAAA,EE1mC5BoI,OF0mC4BpI,CAAAA;IAAfC,OAAAA,EAAAA,IAAAA;IAE9BgB,EAAAA,EAAAA,MAAAA;EAARvB,CAAAA,CAAAA;;AAGAA,UE1mCSqI,iBAAAA,CF0mCTrI;EAEmBwB;EAARkC,eAAAA,CAAAA,OAAAA,EE1mCUwG,sBF0mCVxG,CAAAA,EE1mCmCgF,OF0mCnChF,CE1mC2C4G,qBF0mC3C5G,CAAAA;EACHjC;EAARzB,aAAAA,CAAAA,OAAAA,EEzmCmBuK,oBFymCnBvK,CAAAA,EEzmC0C0I,OFymC1C1I,CEzmCkDwK,mBFymClDxK,CAAAA;;;;;;;;;;;;;;;;;AAS2D6B,UEjmClD6I,gBAAAA,CFimCkD7I;EAAR7B;EACrBgC,OAAAA,EEhmCzBkH,UFgmCyBlH;EAA2BC;;;;;EAIJjC,GAAAA,CAAAA,EAAAA,MAAAA;EACD4D;;;;;EAEf5D,kBAAAA,CAAAA,EAAAA,MAAAA;EACCoD;;;;;EAQJpD,mBAAAA,CAAAA,EAAAA,OAAAA;;;UE3kCzB4K,eAAAA;;EA5SA/C,EAAAA,EAAAA,MAAAA;EACHC,OAAAA,EAAAA,MAAAA;EACHC;EACIC,WAAAA,EAAAA,OAAAA;EACJC;EACAC,OAAAA,EAAAA,OAAAA;EACCC,GAAAA,EAAAA,MAAAA,GAAAA,IAAAA;EACDC;EACEC,UAAAA,EAAAA,OAAAA;;;;AAIb;AAOA;AAUA;AAGA;AAEiBQ,UA4RAgC,uBAAAA,CA5R8BlC;EAG9BG,WAAAA,EAAAA,MAAe;EACTnC;EAARoC,OAAAA,CAAAA,EA2RDG,UA3RCH;EAD0BJ,GAAAA,CAAAA,EAAAA,MAAAA;EAAkB,kBAAA,CAAA,EAAA,MAAA;EAG1CK,mBAAgB,CAAA,EAAA,OAAA;AAIjC;;;;;;;;;;AAQqGN,UAmSpFH,oBAAAA,CAnSoFG;EAM9DC;;;;;EACyCD,OAAAA,CAAAA,GAAAA,EAkS/DmC,uBAlS+DnC,CAAAA,EAkSrCA,OAlSqCA,CAAAA,OAAAA,CAAAA;EACZC;EAA6B3B,MAAAA,CAAAA,WAAAA,EAAAA,MAAAA,CAAAA,EAmShE0B,OAnSgE1B,CAmSxD4D,eAnSwD5D,CAAAA;EAAR0B;EACvDO,IAAAA,CAAAA,WAAAA,EAAAA,MAAAA,CAAAA,EAoSHP,OApSGO,CAAAA,IAAAA,CAAAA;;;;;;;;;;AAIlC;AAYiBjB,UA+RA+C,sBAAAA,CA/RmB;EACQ3B;EAA4CF,eAAAA,CAAAA,KAAAA,EAgS7DuB,kBAhS6DvB,CAAAA,EAgSxCR,OAhSwCQ,CAAAA,IAAAA,CAAAA;;;;AFrDpC,UGCnC,kBAAA,CHDmC;EAgCnCnK,KAAAA,EAAAA,MAAU;EAqCVG,QAAAA,CAAAA,EAAAA,MAAAA;EASAE,IAAAA,CAAAA,EAAAA,OAAAA,GAAAA,QAAiB;AAOlC;AAqCiBE,UGnHA,yBAAA,CHmHgB;EAoBhBE,KAAAA,EGtIR,MHsIQA,CAAAA,MAAgB,EGtIT,kBHsIkBF,CAAAA;AAmB1C;AAWA;;;;;AAiCA;AAWA;;;AAwBuBS,KG5NX,WAAA,GH4NWA;EAYIC,SAAAA,MAAAA,EGvOR,UHuOQA;EAIFH,SAAAA,IAAAA,CAAAA,EAAAA,CAAAA,OAAAA,EAAAA,MAAAA,GAAAA,MAAAA,EAAAA,EAAAA,OAAAA,CAAAA,EGxOX,kBHwOWA,EAAAA,GGvOlB,qBHuOkBA;EAARG,SAAAA,OAAAA,CAAAA,EGtOI,MHsOJA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAIFA,0BAAAA,CAAAA,EAAAA,CAAAA,MAAAA,EGxOH,yBHwOGA,EAAAA,GGvOR,OHuOQA,CAAAA,IAAAA,CAAAA;CAYkBC;;;;;;;;AA+BjC;AAeA;AA2CA;;;;;;AA4FA;AACA;AACA;AACA;AAkBA;AACA;AACA;AAeA;;;;;;;;;;;;;;;AAsBYD,uBG5bU,gBAAA,SAAyB,SAAA,CH4bnCA;EAEqBY,CAAAA,OAAAA;EAARZ,UAAAA,WAAAA,CAAAA,OAAAA,EGzbQ,WHybRA,EAAAA,GAAAA,CAAAA,EGzb2B,gBHyb3BA;EAcDD;EAEFF,cAAAA,MAAAA,CAAAA,CAAAA,EGlcI,UHkcJA;EAARG;EAECA,UAAAA,IAAAA,CAAAA,OAAAA,EAAAA,MAAAA,GAAAA,MAAAA,EAAAA,EAAAA,OAAAA,CAAAA,EG7bD,kBH6bCA,CAAAA,EG5bV,qBH4bUA;EAKkBC;;;;;EAIYb,cAAAA,OAAAA,CAAAA,CAAAA,EGtblB,MHsbkBA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAARY,cAAAA,mBAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,MAAAA,EGjbrB,yBHibqBA,EAAAA,GGjbS,OHibTA,CAAAA,IAAAA,CAAAA,CAAAA,GAAAA,SAAAA;EAAO;AAY5C;;;;;;;;;EAYYA,UAAAA,OAAAA,CAAAA,UAAAA,MAAAA,CAAAA,CAAAA,CAAAA,EGvb6B,OHub7BA,CGvbqC,CHubrCA,CAAAA;EAEqBY;EAARZ,UAAAA,aAAAA,CAAAA,CAAAA,EGjbU,OHibVA,CGjbkB,eHiblBA,CAAAA;EAEWA;;;AAEpC;EA2BiBqB,UAAAA,WAAc,CAAA,CAAA,EGvcE,OHucF,CAAA,IAAA,CAAA;AAuG/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Dy6u9r60.d.ts","names":[],"sources":["../src/errors/adapter.ts","../src/errors/classes.ts"],"sourcesContent":[],"mappings":"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"}