@cloudflare/sandbox 0.12.11 → 0.12.12
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.
- package/dist/bridge/index.js +3 -3
- package/dist/{contexts-C186NnAB.d.ts → contexts-CxAJGHFf.d.ts} +6 -1
- package/dist/contexts-CxAJGHFf.d.ts.map +1 -0
- package/dist/{dist-C3AQh4A0.js → dist-CqPJfREN.js} +25 -4
- package/dist/{dist-C3AQh4A0.js.map → dist-CqPJfREN.js.map} +1 -1
- package/dist/{errors-CpkKPbWC.js → errors-CHhwDJNh.js} +11 -1
- package/dist/errors-CHhwDJNh.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/openai/index.d.ts +1 -1
- package/dist/openai/index.js +1 -1
- package/dist/opencode/index.d.ts +7 -3
- package/dist/opencode/index.d.ts.map +1 -1
- package/dist/opencode/index.js +32 -20
- package/dist/opencode/index.js.map +1 -1
- package/dist/{sandbox-DKbJiquI.js → sandbox-BYPanejK.js} +328 -124
- package/dist/sandbox-BYPanejK.js.map +1 -0
- package/dist/{sandbox-D-IV6AbV.d.ts → sandbox-mYLglwK1.d.ts} +42 -4
- package/dist/sandbox-mYLglwK1.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/contexts-C186NnAB.d.ts.map +0 -1
- package/dist/errors-CpkKPbWC.js.map +0 -1
- package/dist/sandbox-D-IV6AbV.d.ts.map +0 -1
- package/dist/sandbox-DKbJiquI.js.map +0 -1
|
@@ -1616,7 +1616,7 @@ interface SandboxFilesAPI {
|
|
|
1616
1616
|
}): Promise<ReadableStream<Uint8Array>>;
|
|
1617
1617
|
writeFile(path: string, content: string, sessionId: string, options?: {
|
|
1618
1618
|
encoding?: string;
|
|
1619
|
-
|
|
1619
|
+
ownerOnly?: boolean;
|
|
1620
1620
|
}): Promise<WriteFileResult>;
|
|
1621
1621
|
writeFileStream(path: string, stream: ReadableStream<Uint8Array>, sessionId: string): Promise<{
|
|
1622
1622
|
success: boolean;
|
|
@@ -2134,6 +2134,7 @@ interface WriteFileRequest extends SessionRequest {
|
|
|
2134
2134
|
path: string;
|
|
2135
2135
|
content: string;
|
|
2136
2136
|
encoding?: string;
|
|
2137
|
+
ownerOnly?: boolean;
|
|
2137
2138
|
}
|
|
2138
2139
|
/**
|
|
2139
2140
|
* Request interface for reading files
|
|
@@ -2167,10 +2168,11 @@ declare class FileClient extends BaseHttpClient implements SandboxFilesAPI {
|
|
|
2167
2168
|
* @param path - File path to write to
|
|
2168
2169
|
* @param content - Content to write
|
|
2169
2170
|
* @param sessionId - The session ID for this operation
|
|
2170
|
-
* @param options - Optional settings (encoding)
|
|
2171
|
+
* @param options - Optional settings (encoding, ownerOnly)
|
|
2171
2172
|
*/
|
|
2172
2173
|
writeFile(path: string, content: string, sessionId: string, options?: {
|
|
2173
2174
|
encoding?: string;
|
|
2175
|
+
ownerOnly?: boolean;
|
|
2174
2176
|
}): Promise<WriteFileResult>;
|
|
2175
2177
|
/**
|
|
2176
2178
|
* Read content from a file.
|
|
@@ -2842,6 +2844,7 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
2842
2844
|
private tunnelsHandler;
|
|
2843
2845
|
private tunnelExitHandler;
|
|
2844
2846
|
private destroyAllTunnels;
|
|
2847
|
+
private readonly tunnelPortLock;
|
|
2845
2848
|
private readonly controlCallback;
|
|
2846
2849
|
private normalizeId;
|
|
2847
2850
|
private defaultSession;
|
|
@@ -2851,6 +2854,8 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
2851
2854
|
private logger;
|
|
2852
2855
|
private keepAliveEnabled;
|
|
2853
2856
|
private activeMounts;
|
|
2857
|
+
private restoredMountRoutes;
|
|
2858
|
+
private staleMountRoutes;
|
|
2854
2859
|
private mountOperationQueue;
|
|
2855
2860
|
private currentRuntime;
|
|
2856
2861
|
private currentLifetime;
|
|
@@ -2982,10 +2987,21 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
2982
2987
|
* R2 binding. No S3 credentials are needed in the container or Worker env.
|
|
2983
2988
|
*/
|
|
2984
2989
|
private mountBucketR2Egress;
|
|
2990
|
+
/**
|
|
2991
|
+
* Undo a failed R2 binding mount: drop its reservation and support files,
|
|
2992
|
+
* then rebuild the `r2.internal` routes from the remaining mounts.
|
|
2993
|
+
*/
|
|
2994
|
+
private releaseFailedR2EgressMount;
|
|
2985
2995
|
/**
|
|
2986
2996
|
* Production mount: S3FS-FUSE inside the container
|
|
2987
2997
|
*/
|
|
2988
2998
|
private mountBucketFuse;
|
|
2999
|
+
/**
|
|
3000
|
+
* Undo a failed FUSE mount: unmount anything s3fs established, then drop
|
|
3001
|
+
* its support files, the directory if this mount created it, and its
|
|
3002
|
+
* reservation.
|
|
3003
|
+
*/
|
|
3004
|
+
private releaseFailedFuseMount;
|
|
2989
3005
|
/**
|
|
2990
3006
|
* Manually unmount a bucket filesystem
|
|
2991
3007
|
*
|
|
@@ -3012,7 +3028,6 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
3012
3028
|
private generateS3FSAdditionalHeaderFilePath;
|
|
3013
3029
|
/**
|
|
3014
3030
|
* Create s3fs ahbe_conf file that suppresses the Expect: 100-continue header.
|
|
3015
|
-
* Restricted to 0600 so s3fs will accept it (same requirement as passwd files).
|
|
3016
3031
|
*/
|
|
3017
3032
|
private createDisableExpectHeaderFile;
|
|
3018
3033
|
/**
|
|
@@ -3020,6 +3035,12 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
3020
3035
|
* Format: bucket:accessKeyId:secretAccessKey
|
|
3021
3036
|
*/
|
|
3022
3037
|
private createPasswordFile;
|
|
3038
|
+
/**
|
|
3039
|
+
* s3fs refuses support files that other users can read. Create them with
|
|
3040
|
+
* mode 0600 so the password file is never readable while it is being
|
|
3041
|
+
* written. The chmod covers container images that ignore `ownerOnly`.
|
|
3042
|
+
*/
|
|
3043
|
+
private writeOwnerOnlyFile;
|
|
3023
3044
|
/**
|
|
3024
3045
|
* Delete password file
|
|
3025
3046
|
*/
|
|
@@ -3088,6 +3109,13 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
3088
3109
|
/**
|
|
3089
3110
|
* Explicit container-start hook for the RPC transport.
|
|
3090
3111
|
*
|
|
3112
|
+
* The control connection calls this hook every time it connects, including
|
|
3113
|
+
* when it reconnects after an idle disconnect. A running, healthy container
|
|
3114
|
+
* is left alone, as in {@link containerFetch}: the base class runs
|
|
3115
|
+
* `onStart()` on every `startAndWaitForPorts()`, and `onStart()` treats the
|
|
3116
|
+
* container as new, recording a new runtime identity and dropping quick
|
|
3117
|
+
* tunnels from storage.
|
|
3118
|
+
*
|
|
3091
3119
|
* Runs `startAndWaitForPorts` under a short instance-get budget
|
|
3092
3120
|
* ({@link RPC_START_INSTANCE_GET_TIMEOUT_MS}) so a single attempt fails fast
|
|
3093
3121
|
* under capacity pressure — the base class throws the classifiable
|
|
@@ -3679,9 +3707,19 @@ declare class Sandbox<Env = unknown> extends Container<Env> implements ISandbox
|
|
|
3679
3707
|
* unsquashfs for extraction instead of squashfuse + fuse-overlayfs.
|
|
3680
3708
|
*/
|
|
3681
3709
|
private doRestoreBackupLocal;
|
|
3710
|
+
/**
|
|
3711
|
+
* Drop the routes restored for the mounts of a container that has stopped.
|
|
3712
|
+
*/
|
|
3713
|
+
private releaseRestoredMountRoutes;
|
|
3714
|
+
/**
|
|
3715
|
+
* Rewrite the routes that still carry a stopped container's restored
|
|
3716
|
+
* mounts so they cover only the mounts in activeMounts. A failed update
|
|
3717
|
+
* stays marked and is retried on the next container start or stop.
|
|
3718
|
+
*/
|
|
3719
|
+
private removeStaleMountRoutes;
|
|
3682
3720
|
private configureR2EgressOutbound;
|
|
3683
3721
|
private configureS3CredentialProxyOutbound;
|
|
3684
3722
|
}
|
|
3685
3723
|
//#endregion
|
|
3686
3724
|
export { FileStreamEvent as $, RequestConfig as A, CreateContextOptions as At, BackupOptions as B, CommandClient as C, WaitForPortOptions as Ct, ContainerStub as D, isProcessStatus as Dt, BaseApiResponse as E, isProcess as Et, SandboxInterpreterAPI as F, CheckChangesResult as G, BucketCredentials as H, TunnelInfo as I, ExecOptions as J, DirectoryBackup as K, TunnelOptions as L, SessionRequest as M, ExecutionResult as Mt, NamedTunnelInfo as N, RunCodeOptions as Nt, ErrorResponse as O, PtyOptions as Ot, QuickTunnelInfo as P, FileMetadata as Q, ExecuteRequest as R, WriteFileRequest as S, WaitForLogResult as St, BackupClient as T, isExecResult as Tt, BucketProvider as U, BaseExecOptions as V, CheckChangesOptions as W, ExecutionSession as X, ExecResult as Y, FileChunk as Z, GitClient as _, RestoreBackupResult as _t, CommandsResponse as a, LogEvent as at, MkdirRequest as b, SessionOptions as bt, DeleteSessionRequest as c, ProcessCleanupResult as ct, UtilityClient as d, ProcessListResult as dt, FileWatchSSEEvent as et, ProcessClient as f, ProcessLogsResult as ft, GitCheckoutRequest as g, RemoteMountBucketOptions as gt, InterpreterClient as h, ProcessStatus as ht, SandboxClient as i, LocalMountBucketOptions as it, ResponseHandler as j, Execution as jt, HttpClientOptions as k, CodeContext as kt, DeleteSessionResponse as l, ProcessInfoResult as lt, ExecutionCallbacks as m, ProcessStartResult as mt, Sandbox as n, ISandbox as nt, CreateSessionRequest as o, MountBucketOptions as ot, PortClient as p, ProcessOptions as pt, ExecEvent as q, getSandbox as r, ListFilesOptions as rt, CreateSessionResponse as s, Process as st, ContainerProxy$1 as t, GitCheckoutResult as tt, PingResponse as u, ProcessKillResult as ut, FileClient as v, SandboxOptions as vt, ExecuteResponse as w, WatchOptions as wt, ReadFileRequest as x, StreamOptions as xt, FileOperationRequest as y, SandboxTransport as yt, StartProcessRequest as z };
|
|
3687
|
-
//# sourceMappingURL=sandbox-
|
|
3725
|
+
//# sourceMappingURL=sandbox-mYLglwK1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-mYLglwK1.d.ts","names":["LogLevel","LogComponent","LogContext","Logger","Partial","Error","CreateContextOptions","Record","CodeContext","Date","RunCodeOptions","AbortSignal","OutputMessage","Promise","Result","ExecutionError","ChartData","ExecutionResult","Array","Execution","ResultImpl","PtyOptions","PtyControlMessage","PtyStatusMessage","CodeContext","CreateContextOptions","ExecutionResult","RunCodeOptions","PtyOptions","Disposable","BaseExecOptions","Record","ExecOptions","ExecResult","Error","AbortSignal","WaitForLogResult","RegExpMatchArray","WaitForExitResult","WaitForPortOptions","PortCheckRequest","PortCheckResponse","PortWatchRequest","PortWatchEvent","ProcessOptions","Process","ProcessStatus","isTerminalStatus","Date","Promise","RegExp","ExecEvent","LogEvent","StreamOptions","SessionOptions","SandboxTransport","SandboxOptions","MkdirResult","WriteFileResult","FileEncoding","ReadFileResult","ReadFileStreamResult","Uint8Array","ReadableStream","DeleteFileResult","RenameFileResult","MoveFileResult","FileExistsResult","FileInfo","ListFilesOptions","ListFilesResult","GitCheckoutResult","FileStreamEvent","FileMetadata","FileChunk","WatchOptions","CheckChangesOptions","FileWatchEventType","WatchRequest","CheckChangesRequest","FileWatchSSEEvent","CheckChangesResult","ProcessStartResult","ProcessListResult","Array","ProcessInfoResult","ProcessKillResult","ProcessLogsResult","ProcessCleanupResult","SessionCreateResult","SessionDeleteResult","EnvSetResult","PortExposeResult","InterpreterHealthResult","ContextCreateResult","ContextListResult","ContextDeleteResult","HealthCheckResult","ShutdownResult","ExecutionSession","Exclude","Omit","MountBucketOptions","BackupOptions","DirectoryBackup","RestoreBackupResult","Request","Response","BackupCompressionOptions","BucketProvider","BucketCredentials","RemoteMountBucketOptions","LocalMountBucketOptions","R2BindingMountBucketOptions","ISandbox","isExecResult","isProcess","isProcessStatus","ChartData","ExecutionError","OutputMessage","Result","Execution","ResultImpl","BackupCompressionOptions","ExecuteRequest","Record","StartProcessRequest","ReadFileRequest","WriteFileRequest","DeleteFileRequest","RenameFileRequest","MoveFileRequest","MkdirRequest","FileExistsRequest","GitCheckoutRequest","ListFilesRequest","SessionCreateRequest","SessionDeleteRequest","CreateBackupRequest","UploadPart","UploadPartsRequest","UploadedPart","UploadPartsResponse","CreateBackupResponse","RestoreBackupRequest","RestoreBackupResponse","CodeContext","CreateContextOptions","ExecutionError","OutputMessage","Result","CreateBackupResponse","RestoreBackupResponse","UploadedPart","UploadPartsResponse","BackupCompressionOptions","CheckChangesRequest","CheckChangesResult","DeleteFileResult","FileEncoding","FileExistsResult","GitCheckoutResult","ListFilesOptions","ListFilesResult","MkdirResult","MoveFileResult","PortWatchRequest","ProcessCleanupResult","ProcessInfoResult","ProcessKillResult","ProcessListResult","ProcessLogsResult","ProcessStartResult","ReadFileResult","ReadFileStreamResult","RenameFileResult","WatchRequest","WriteFileResult","SandboxAPI","SandboxCommandsAPI","SandboxFilesAPI","SandboxProcessesAPI","SandboxPortsAPI","SandboxGitAPI","SandboxInterpreterAPI","SandboxUtilsAPI","SandboxBackupAPI","SandboxWatchAPI","SandboxTunnelsAPI","Record","Promise","Uint8Array","ReadableStream","Exclude","Array","TunnelInfo","QuickTunnelInfo","NamedTunnelInfo","TunnelOptions","TunnelRunIdentity","TunnelRunMode","EnsureQuickTunnelRunRequest","EnsureNamedTunnelRunRequest","EnsureTunnelRunRequest","TunnelRunSnapshot","EnsureTunnelRunResult","StopTunnelRunRequest","StopTunnelRunResult","SandboxControlCallback"],"sources":["../../shared/dist/logger/types.d.ts","../../shared/dist/interpreter-types.d.ts","../../shared/dist/pty-types.d.ts","../../shared/dist/types.d.ts","../../shared/dist/request-types.d.ts","../../shared/dist/rpc-types.d.ts","../src/clients/types.ts","../src/clients/transport/types.ts","../src/clients/base-client.ts","../src/clients/backup-client.ts","../src/clients/command-client.ts","../src/clients/file-client.ts","../src/clients/git-client.ts","../src/clients/interpreter-client.ts","../src/clients/port-client.ts","../src/clients/process-client.ts","../src/clients/utility-client.ts","../src/clients/watch-client.ts","../src/clients/sandbox-client.ts","../src/container-control/connection.ts","../src/container-control/client.ts","../src/tunnels/tunnels-handler.ts","../src/sandbox.ts"],"sourcesContent":["/**\n * Logger types for Cloudflare Sandbox SDK\n *\n * Provides structured, trace-aware logging across Worker, Durable Object, and Container.\n */\n/**\n * Log levels (from most to least verbose)\n */\nexport declare enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARN = 2,\n ERROR = 3\n}\nexport type LogComponent = 'container' | 'sandbox-do' | 'executor';\n/**\n * Context metadata included in every log entry\n */\nexport interface LogContext {\n /**\n * Unique trace ID for request correlation across distributed components\n * Format: \"tr_\" + 16 hex chars (e.g., \"tr_7f3a9b2c4e5d6f1a\")\n */\n traceId: string;\n /**\n * Component that generated the log\n */\n component: LogComponent;\n /**\n * Sandbox identifier (which sandbox instance)\n */\n sandboxId?: string;\n /**\n * Session identifier (which session within sandbox)\n */\n sessionId?: string;\n /**\n * Process identifier (which background process)\n */\n processId?: string;\n /**\n * Command identifier (which command execution)\n */\n commandId?: string;\n /**\n * Duration in milliseconds\n */\n durationMs?: number;\n /**\n * Service version (from SANDBOX_VERSION env var)\n */\n serviceVersion?: string;\n /**\n * Instance identifier (hostname or container ID)\n */\n instanceId?: string;\n /**\n * Extensible for additional metadata\n */\n [key: string]: unknown;\n}\n/**\n * Logger interface for structured logging\n *\n * All methods accept optional context that gets merged with the logger's base context.\n */\nexport interface Logger {\n /**\n * Log debug-level message (most verbose, typically disabled in production)\n *\n * @param message Human-readable message\n * @param context Optional additional context\n */\n debug(message: string, context?: Partial<LogContext>): void;\n /**\n * Log info-level message (normal operational events)\n *\n * @param message Human-readable message\n * @param context Optional additional context\n */\n info(message: string, context?: Partial<LogContext>): void;\n /**\n * Log warning-level message (recoverable issues, degraded state)\n *\n * @param message Human-readable message\n * @param context Optional additional context\n */\n warn(message: string, context?: Partial<LogContext>): void;\n /**\n * Log error-level message (failures, exceptions)\n *\n * @param message Human-readable message\n * @param error Optional Error object to include\n * @param context Optional additional context\n */\n error(message: string, error?: Error, context?: Partial<LogContext>): void;\n /**\n * Create a child logger with additional context\n *\n * The child logger inherits all context from the parent and adds new context.\n * This is useful for adding request-specific context without passing through parameters.\n *\n * @param context Additional context to merge\n * @returns New logger instance with merged context\n *\n * @example\n * const logger = createLogger({ component: 'sandbox-do', traceId: 'tr_abc123' });\n * const execLogger = logger.child({ commandId: 'cmd-456' });\n * execLogger.info('Command started'); // Includes all context: component, traceId, commandId\n */\n child(context: Partial<LogContext>): Logger;\n}\n//# sourceMappingURL=types.d.ts.map","export interface CreateContextOptions {\n /**\n * Programming language for the context\n * @default 'python'\n */\n language?: 'python' | 'javascript' | 'typescript';\n /**\n * Working directory for the context\n * @default '/workspace'\n */\n cwd?: string;\n /**\n * Environment variables for the context.\n * Undefined values are skipped (treated as \"not configured\").\n */\n envVars?: Record<string, string | undefined>;\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\nexport interface CodeContext {\n /**\n * Unique identifier for the context\n */\n readonly id: string;\n /**\n * Programming language of the context\n */\n readonly language: string;\n /**\n * Current working directory\n */\n readonly cwd: string;\n /**\n * When the context was created\n */\n readonly createdAt: Date;\n /**\n * When the context was last used\n */\n readonly lastUsed: Date;\n}\nexport interface RunCodeOptions {\n /**\n * Context to run the code in. If not provided, uses default context for the language\n */\n context?: CodeContext;\n /**\n * Language to use if context is not provided\n * @default 'python'\n */\n language?: 'python' | 'javascript' | 'typescript';\n /**\n * Environment variables for this execution.\n * Undefined values are skipped (treated as \"not configured\").\n */\n envVars?: Record<string, string | undefined>;\n /**\n * Execution timeout in milliseconds\n * @default 60000\n */\n timeout?: number;\n /**\n * AbortSignal for cancelling execution\n */\n signal?: AbortSignal;\n /**\n * Callback for stdout output\n */\n onStdout?: (output: OutputMessage) => void | Promise<void>;\n /**\n * Callback for stderr output\n */\n onStderr?: (output: OutputMessage) => void | Promise<void>;\n /**\n * Callback for execution results (charts, tables, etc)\n */\n onResult?: (result: Result) => void | Promise<void>;\n /**\n * Callback for execution errors\n */\n onError?: (error: ExecutionError) => void | Promise<void>;\n}\nexport interface OutputMessage {\n /**\n * The output text\n */\n text: string;\n /**\n * Timestamp of the output\n */\n timestamp: number;\n}\nexport interface Result {\n /**\n * Plain text representation\n */\n text?: string;\n /**\n * HTML representation (tables, formatted output)\n */\n html?: string;\n /**\n * PNG image data (base64 encoded)\n */\n png?: string;\n /**\n * JPEG image data (base64 encoded)\n */\n jpeg?: string;\n /**\n * SVG image data\n */\n svg?: string;\n /**\n * LaTeX representation\n */\n latex?: string;\n /**\n * Markdown representation\n */\n markdown?: string;\n /**\n * JavaScript code to execute\n */\n javascript?: string;\n /**\n * JSON data\n */\n json?: any;\n /**\n * Chart data if the result is a visualization\n */\n chart?: ChartData;\n /**\n * Raw data object\n */\n data?: any;\n /**\n * Available output formats\n */\n formats(): string[];\n}\nexport interface ChartData {\n /**\n * Type of chart\n */\n type: 'line' | 'bar' | 'scatter' | 'pie' | 'histogram' | 'heatmap' | 'unknown';\n /**\n * Chart title\n */\n title?: string;\n /**\n * Chart data (format depends on library)\n */\n data: any;\n /**\n * Chart layout/configuration\n */\n layout?: any;\n /**\n * Additional configuration\n */\n config?: any;\n /**\n * Library that generated the chart\n */\n library?: 'matplotlib' | 'plotly' | 'altair' | 'seaborn' | 'unknown';\n /**\n * Base64 encoded image if available\n */\n image?: string;\n}\nexport interface ExecutionError {\n /**\n * Error name/type (e.g., 'NameError', 'SyntaxError')\n */\n name: string;\n /**\n * Error message\n */\n message: string;\n /**\n * Stack trace\n */\n traceback: string[];\n /**\n * Line number where error occurred\n */\n lineNumber?: number;\n}\nexport interface ExecutionResult {\n code: string;\n logs: {\n stdout: string[];\n stderr: string[];\n };\n error?: ExecutionError;\n executionCount?: number;\n results: Array<{\n text?: string;\n html?: string;\n png?: string;\n jpeg?: string;\n svg?: string;\n latex?: string;\n markdown?: string;\n javascript?: string;\n json?: any;\n chart?: ChartData;\n data?: any;\n }>;\n}\nexport declare class Execution {\n readonly code: string;\n readonly context: CodeContext;\n /**\n * All results from the execution\n */\n results: Result[];\n /**\n * Accumulated stdout and stderr\n */\n logs: {\n stdout: string[];\n stderr: string[];\n };\n /**\n * Execution error if any\n */\n error?: ExecutionError;\n /**\n * Execution count (for interpreter)\n */\n executionCount?: number;\n constructor(code: string, context: CodeContext);\n /**\n * Convert to a plain object for serialization\n */\n toJSON(): ExecutionResult;\n}\nexport declare class ResultImpl implements Result {\n text?: string;\n html?: string;\n png?: string;\n jpeg?: string;\n svg?: string;\n latex?: string;\n markdown?: string;\n javascript?: string;\n json?: any;\n chart?: ChartData;\n data?: any;\n constructor(raw: any);\n formats(): string[];\n}\n//# sourceMappingURL=interpreter-types.d.ts.map","export interface PtyOptions {\n cols?: number;\n rows?: number;\n shell?: string;\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 { CodeContext, CreateContextOptions, ExecutionResult, RunCodeOptions } from './interpreter-types';\nimport 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}\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}\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 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;\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}\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}\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}\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}\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 type SandboxTransport = 'http' | 'websocket' | 'rpc';\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 * Transport/control path for communication between the Sandbox DO and the\n * container runtime.\n *\n * - `\"http\"` (default): Route-based HTTP compatibility path.\n * - `\"websocket\"`: Route-based compatibility path multiplexed over a custom\n * WebSocket connection.\n * - `\"rpc\"`: Primary container-control path over capnweb RPC.\n *\n * When set via `getSandbox()` options, this overrides the `SANDBOX_TRANSPORT` env var.\n *\n * **Important:** Set this once at creation time and pass the same value on every\n * subsequent `getSandbox()` call for a given sandbox ID. Changing the transport after\n * the sandbox is in use disconnects the active client, which drops any in-flight\n * requests and resets WebSocket connections.\n *\n * @default \"http\"\n */\n transport?: SandboxTransport;\n /**\n * Key-value metadata labels attached to the underlying Cloudflare Container\n * for analytics and observability.\n *\n * Labels are applied when the container starts. Updating labels while a\n * container is already running only affects the next start/restart.\n *\n * @example\n * getSandbox(ns, id, {\n * labels: {\n * tenantId: 'tenant_123',\n * workload: 'code-workspace'\n * }\n * })\n */\n labels?: Record<string, string>;\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'` — RPC-only 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'` on the RPC transport.\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 * Only supported on the `rpc` transport; HTTP/WebSocket transports throw.\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}\nexport interface GitCheckoutResult {\n success: boolean;\n repoUrl: string;\n branch: string;\n targetDir: string;\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 }>;\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 };\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 InterpreterHealthResult {\n success: boolean;\n status: 'healthy' | 'unhealthy';\n timestamp: string;\n}\nexport interface ContextCreateResult {\n success: boolean;\n contextId: string;\n language: string;\n cwd?: string;\n timestamp: string;\n}\nexport interface ContextListResult {\n success: boolean;\n contexts: Array<{\n id: string;\n language: string;\n cwd?: string;\n }>;\n timestamp: string;\n}\nexport interface ContextDeleteResult {\n success: boolean;\n contextId: string;\n timestamp: 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 exec(command: string, options?: ExecOptions): Promise<ExecResult>;\n execStream(command: string, options?: StreamOptions): Promise<ReadableStream<Uint8Array>>;\n startProcess(command: string, options?: ProcessOptions): Promise<Process>;\n listProcesses(sessionId?: string): Promise<Process[]>;\n getProcess(id: string, sessionId?: string): Promise<Process | null>;\n killProcess(id: string, signal?: string): Promise<void>;\n killAllProcesses(): Promise<number>;\n cleanupCompletedProcesses(): Promise<number>;\n getProcessLogs(id: string): Promise<{\n stdout: string;\n stderr: string;\n processId: string;\n }>;\n streamProcessLogs(processId: string, options?: {\n signal?: AbortSignal;\n }): Promise<ReadableStream<Uint8Array>>;\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 gitCheckout(repoUrl: string, options?: {\n branch?: string;\n targetDir?: string;\n /** Clone depth for shallow clones (e.g., 1 for latest commit only) */\n depth?: number;\n /** Maximum wall-clock time for the git clone subprocess in milliseconds */\n cloneTimeoutMs?: number;\n }): Promise<GitCheckoutResult>;\n setEnvVars(envVars: Record<string, string | undefined>): Promise<void>;\n createCodeContext(options?: CreateContextOptions): Promise<CodeContext>;\n runCode(code: string, options?: RunCodeOptions): Promise<ExecutionResult>;\n runCodeStream(code: string, options?: RunCodeOptions): Promise<ReadableStream<Uint8Array>>;\n listCodeContexts(): Promise<CodeContext[]>;\n deleteCodeContext(contextId: string): 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 * A single-component pattern, such as `node_modules`, `dist/`, or `*.log`,\n * matches at any depth. A multi-component pattern, such as `build/output`,\n * matches only relative to `dir`. mksquashfs does not support `**`, so `**`\n * components are removed and do not make a multi-component pattern match at\n * any depth.\n *\n * @example ['node_modules', '*.log', '.cache', 'build/output']\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 exec(command: string, options?: ExecOptions): Promise<ExecResult>;\n startProcess(command: string, options?: ProcessOptions): Promise<Process>;\n listProcesses(sessionId?: string): Promise<Process[]>;\n getProcess(id: string, sessionId?: string): Promise<Process | null>;\n killProcess(id: string, signal?: string): Promise<void>;\n killAllProcesses(): Promise<number>;\n execStream(command: string, options?: StreamOptions): Promise<ReadableStream<Uint8Array>>;\n streamProcessLogs(processId: string, options?: {\n signal?: AbortSignal;\n }): Promise<ReadableStream<Uint8Array>>;\n cleanupCompletedProcesses(): Promise<number>;\n getProcessLogs(id: string): Promise<{\n stdout: string;\n stderr: string;\n processId: string;\n }>;\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, sessionId?: string): Promise<FileExistsResult>;\n gitCheckout(repoUrl: string, options?: {\n branch?: string;\n targetDir?: string;\n sessionId?: string;\n /** Clone depth for shallow clones (e.g., 1 for latest commit only) */\n depth?: number;\n /** Maximum wall-clock time for the git clone subprocess in milliseconds */\n cloneTimeoutMs?: number;\n }): Promise<GitCheckoutResult>;\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 createCodeContext(options?: CreateContextOptions): Promise<CodeContext>;\n runCode(code: string, options?: RunCodeOptions): Promise<ExecutionResult>;\n runCodeStream(code: string, options?: RunCodeOptions): Promise<ReadableStream>;\n listCodeContexts(): Promise<CodeContext[]>;\n deleteCodeContext(contextId: string): Promise<void>;\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;\nexport type { ChartData, CodeContext, CreateContextOptions, ExecutionError, ExecutionResult, OutputMessage, Result, RunCodeOptions } from './interpreter-types';\nexport { Execution, ResultImpl } from './interpreter-types';\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 * Create a new file readable only by its owner (mode 0600), and fail if the\n * path already exists. A container image without this option ignores it\n * and creates the file with the default mode, so a caller that needs mode\n * 0600 still chmods after writing.\n */\n ownerOnly?: boolean;\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 clone a Git repository\n */\nexport interface GitCheckoutRequest {\n repoUrl: string;\n branch?: string;\n targetDir?: string;\n sessionId?: string;\n /** Clone depth for shallow clones (e.g., 1 for latest commit only) */\n depth?: number;\n /** Maximum wall-clock time for the git clone subprocess in milliseconds */\n timeoutMs?: number;\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 { CodeContext, CreateContextOptions, ExecutionError, OutputMessage, Result } from './interpreter-types.js';\nimport type { CreateBackupResponse, RestoreBackupResponse, UploadedPart, UploadPartsResponse } from './request-types.js';\nimport type { BackupCompressionOptions, CheckChangesRequest, CheckChangesResult, DeleteFileResult, FileEncoding, FileExistsResult, GitCheckoutResult, 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 git: SandboxGitAPI;\n interpreter: SandboxInterpreterAPI;\n utils: SandboxUtilsAPI;\n backup: SandboxBackupAPI;\n watch: SandboxWatchAPI;\n tunnels: SandboxTunnelsAPI;\n}\nexport interface SandboxCommandsAPI {\n execute(command: string, sessionId: string, options?: {\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n origin?: 'user' | 'internal';\n }): Promise<{\n success: boolean;\n exitCode: number;\n stdout: string;\n stderr: string;\n command: string;\n timestamp: string;\n }>;\n executeStream(command: string, sessionId: string, options?: {\n timeoutMs?: number;\n env?: Record<string, string | undefined>;\n cwd?: string;\n origin?: 'user' | 'internal';\n }): Promise<ReadableStream<Uint8Array>>;\n}\nexport interface SandboxFilesAPI {\n readFile(path: string, sessionId: string, options: {\n encoding: 'none';\n }): Promise<ReadFileStreamResult>;\n readFile(path: string, sessionId: string, options?: {\n encoding?: Exclude<FileEncoding, 'none'>;\n }): Promise<ReadFileResult>;\n readFileStream(path: string, sessionId: string, options?: {\n encoding?: 'base64';\n }): Promise<ReadableStream<Uint8Array>>;\n writeFile(path: string, content: string, sessionId: string, options?: {\n encoding?: string;\n ownerOnly?: boolean;\n }): Promise<WriteFileResult>;\n writeFileStream(path: string, stream: ReadableStream<Uint8Array>, sessionId: string): Promise<{\n success: boolean;\n path: string;\n bytesWritten: number;\n timestamp: string;\n }>;\n deleteFile(path: string, sessionId: string): Promise<DeleteFileResult>;\n renameFile(oldPath: string, newPath: string, sessionId: string): Promise<RenameFileResult>;\n moveFile(sourcePath: string, destinationPath: string, sessionId: string): Promise<MoveFileResult>;\n mkdir(path: string, sessionId: string, options?: {\n recursive?: boolean;\n }): Promise<MkdirResult>;\n listFiles(path: string, sessionId: string, options?: ListFilesOptions): Promise<ListFilesResult>;\n exists(path: string, sessionId: string): Promise<FileExistsResult>;\n}\nexport interface SandboxProcessesAPI {\n startProcess(command: string, sessionId: string, options?: {\n processId?: string;\n timeoutMs?: number;\n }): Promise<ProcessStartResult>;\n listProcesses(): Promise<ProcessListResult>;\n getProcess(id: string): Promise<ProcessInfoResult>;\n killProcess(id: string): 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 SandboxGitAPI {\n checkout(repoUrl: string, sessionId: string, options?: {\n branch?: string;\n targetDir?: string;\n depth?: number;\n timeoutMs?: number;\n }): Promise<GitCheckoutResult>;\n}\nexport interface SandboxInterpreterAPI {\n createCodeContext(options?: CreateContextOptions): Promise<CodeContext>;\n streamCode(contextId: string, code: string, language?: string): Promise<ReadableStream<Uint8Array>>;\n runCodeStream(contextId: string | undefined, code: string, language: string | undefined, callbacks: {\n onStdout?: (output: OutputMessage) => void | Promise<void>;\n onStderr?: (output: OutputMessage) => void | Promise<void>;\n onResult?: (result: Result) => void | Promise<void>;\n onError?: (error: ExecutionError) => void | Promise<void>;\n }, timeoutMs?: number): Promise<void>;\n listCodeContexts(): Promise<CodeContext[]>;\n deleteCodeContext(contextId: string): Promise<void>;\n}\nexport interface SandboxUtilsAPI {\n ping(): Promise<string>;\n getVersion(): Promise<string>;\n getCommands(): Promise<string[]>;\n createSession(options: {\n id: string;\n env?: Record<string, string | undefined>;\n cwd?: string;\n }): 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 SandboxBackupAPI {\n createArchive(dir: string, archivePath: string, sessionId: string, options?: {\n excludes?: string[];\n gitignore?: boolean;\n compression?: BackupCompressionOptions;\n }): Promise<CreateBackupResponse>;\n restoreArchive(dir: string, archivePath: string, sessionId: string): 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}\n/**\n * Stable logical identity for a single cloudflared process run.\n * `tunnelId` is SDK-issued; `runId` is a per-run nonce minted by the SDK\n * to support idempotent admission and stale-callback fencing.\n */\nexport interface TunnelRunIdentity {\n tunnelId: string;\n runId: string;\n}\n/** Discriminator for quick vs. named cloudflared modes. */\nexport type TunnelRunMode = 'quick' | 'named';\n/** Request to start or replay a quick tunnel run. */\nexport interface EnsureQuickTunnelRunRequest {\n tunnelId: string;\n runId: string;\n mode: 'quick';\n port: number;\n}\n/**\n * Request to start or replay a named tunnel run.\n * `token` is named-mode only and must never be persisted or logged.\n */\nexport interface EnsureNamedTunnelRunRequest {\n tunnelId: string;\n runId: string;\n mode: 'named';\n port: number;\n /** Opaque Cloudflare tunnel token. Never logged or stored. */\n token: string;\n}\nexport type EnsureTunnelRunRequest = EnsureQuickTunnelRunRequest | EnsureNamedTunnelRunRequest;\n/**\n * Runtime-local snapshot of a running cloudflared process.\n * Quick tunnels carry `url` and `hostname`; named tunnels leave them absent\n * because the SDK owns the hostname via the Cloudflare API.\n */\nexport interface TunnelRunSnapshot {\n tunnelId: string;\n runId: string;\n mode: TunnelRunMode;\n port: number;\n /** Public URL for quick tunnels (absent on named). */\n url?: string;\n /** Hostname portion of `url` for quick tunnels (absent on named). */\n hostname?: string;\n startedAt: string;\n}\nexport interface EnsureTunnelRunResult {\n run: TunnelRunSnapshot;\n /** `true` when this call spawned the process; `false` on idempotent replay. */\n started: boolean;\n}\nexport type StopTunnelRunRequest = TunnelRunIdentity;\nexport interface StopTunnelRunResult {\n /** `true` when the exact run was found and stopped; `false` otherwise. */\n stopped: boolean;\n}\nexport interface SandboxTunnelsAPI {\n /** Spawn `cloudflared tunnel --url`. No credentials required. */\n runQuickTunnel(id: string, port: number): Promise<TunnelInfo>;\n /**\n * Spawn `cloudflared tunnel run --token <token> --url http://localhost:<port>`.\n *\n * The SDK is the source of truth for the hostname this tunnel binds to;\n * the container only sees the opaque token and the local port. The\n * returned `TunnelInfo` carries empty `url`/`hostname` fields — the SDK\n * enriches them with the values from the Cloudflare API before handing\n * the record to user code.\n *\n * The token must never be logged, persisted, or echoed back to callers.\n */\n runNamedTunnel(id: string, token: string, port: number): Promise<TunnelInfo>;\n /** Stop the cloudflared process for the given tunnel id. */\n destroyTunnel(id: string): Promise<{\n success: true;\n id: string;\n }>;\n /** List tunnels currently running inside the container. */\n listTunnels(): Promise<TunnelInfo[]>;\n /**\n * Start or replay a cloudflared process run identified by `(tunnelId, runId)`.\n * Same `runId` with same params is idempotent (`started: false`).\n * Same `runId` with different params, or a different active run on the\n * same port or tunnelId, returns a `TUNNEL_RUN_CONFLICT` error.\n */\n ensureTunnelRun(request: EnsureTunnelRunRequest): Promise<EnsureTunnelRunResult>;\n /**\n * Stop the cloudflared process identified by the exact `(tunnelId, runId)` pair.\n * Returns `{ stopped: true }` when the run was found and stopped;\n * `{ stopped: false }` when no matching run is active (service success).\n */\n stopTunnelRun(request: StopTunnelRunRequest): Promise<StopTunnelRunResult>;\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 /**\n * Called by the container when a `cloudflared` process exits for any\n * reason — SIGTERM from `destroyTunnel`, container-initiated SIGKILL,\n * network failure, segfault. `exitCode` is `null` if the process was\n * signalled rather than exited cleanly.\n */\n onTunnelExit(id: string, port: number, exitCode: number | null, runId?: string): Promise<void>;\n}\n//# sourceMappingURL=rpc-types.d.ts.map"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contexts-C186NnAB.d.ts","names":["ErrorCode","ErrorCode","Operation","OperationType","ErrorResponse","TContext","Record","ServiceError","ServiceResult","T","OperationType","FileNotFoundContext","FileExistsContext","FileTooLargeContext","FileSystemContext","CommandNotFoundContext","CommandErrorContext","ProcessNotFoundContext","ProcessErrorContext","SessionAlreadyExistsContext","SessionDestroyedContext","SessionTerminatedContext","ProcessReadyTimeoutContext","ProcessExitedBeforeReadyContext","PortAlreadyExposedContext","PortNotExposedContext","InvalidPortContext","PortErrorContext","GitRepositoryNotFoundContext","GitAuthFailedContext","GitBranchNotFoundContext","GitErrorContext","InterpreterNotReadyContext","ContextNotFoundContext","CodeExecutionContext","ValidationFailedContext","Array","BucketMountContext","MissingCredentialsContext","InvalidMountConfigContext","BackupCreateContext","BackupRestoreContext","BackupNotFoundContext","BackupExpiredContext","InvalidBackupConfigContext","OpencodeStartupContext","InternalErrorContext","ContainerUnavailableReason","ContainerUnavailableContext","RPCTransportErrorKind","RPCTransportContext","OperationInterruptedReason","OperationInterruptedContext"],"sources":["../../shared/dist/errors/codes.d.ts","../../shared/dist/errors/types.d.ts","../../shared/dist/errors/contexts.d.ts"],"sourcesContent":["/**\n * Centralized error code registry\n * Each code maps to a specific error type with consistent semantics\n */\nexport declare const ErrorCode: {\n readonly FILE_NOT_FOUND: \"FILE_NOT_FOUND\";\n readonly PERMISSION_DENIED: \"PERMISSION_DENIED\";\n readonly FILE_EXISTS: \"FILE_EXISTS\";\n readonly IS_DIRECTORY: \"IS_DIRECTORY\";\n readonly NOT_DIRECTORY: \"NOT_DIRECTORY\";\n readonly FILE_TOO_LARGE: \"FILE_TOO_LARGE\";\n readonly NO_SPACE: \"NO_SPACE\";\n readonly TOO_MANY_FILES: \"TOO_MANY_FILES\";\n readonly RESOURCE_BUSY: \"RESOURCE_BUSY\";\n readonly READ_ONLY: \"READ_ONLY\";\n readonly NAME_TOO_LONG: \"NAME_TOO_LONG\";\n readonly TOO_MANY_LINKS: \"TOO_MANY_LINKS\";\n readonly FILESYSTEM_ERROR: \"FILESYSTEM_ERROR\";\n readonly COMMAND_NOT_FOUND: \"COMMAND_NOT_FOUND\";\n readonly COMMAND_PERMISSION_DENIED: \"COMMAND_PERMISSION_DENIED\";\n readonly INVALID_COMMAND: \"INVALID_COMMAND\";\n readonly COMMAND_EXECUTION_ERROR: \"COMMAND_EXECUTION_ERROR\";\n readonly STREAM_START_ERROR: \"STREAM_START_ERROR\";\n readonly PROCESS_NOT_FOUND: \"PROCESS_NOT_FOUND\";\n readonly PROCESS_PERMISSION_DENIED: \"PROCESS_PERMISSION_DENIED\";\n readonly PROCESS_ERROR: \"PROCESS_ERROR\";\n readonly SESSION_ALREADY_EXISTS: \"SESSION_ALREADY_EXISTS\";\n readonly SESSION_DESTROYED: \"SESSION_DESTROYED\";\n readonly SESSION_TERMINATED: \"SESSION_TERMINATED\";\n readonly PORT_ALREADY_EXPOSED: \"PORT_ALREADY_EXPOSED\";\n readonly PORT_IN_USE: \"PORT_IN_USE\";\n readonly PORT_NOT_EXPOSED: \"PORT_NOT_EXPOSED\";\n readonly INVALID_PORT_NUMBER: \"INVALID_PORT_NUMBER\";\n readonly INVALID_PORT: \"INVALID_PORT\";\n readonly SERVICE_NOT_RESPONDING: \"SERVICE_NOT_RESPONDING\";\n readonly PORT_OPERATION_ERROR: \"PORT_OPERATION_ERROR\";\n readonly CUSTOM_DOMAIN_REQUIRED: \"CUSTOM_DOMAIN_REQUIRED\";\n readonly GIT_REPOSITORY_NOT_FOUND: \"GIT_REPOSITORY_NOT_FOUND\";\n readonly GIT_BRANCH_NOT_FOUND: \"GIT_BRANCH_NOT_FOUND\";\n readonly GIT_AUTH_FAILED: \"GIT_AUTH_FAILED\";\n readonly GIT_NETWORK_ERROR: \"GIT_NETWORK_ERROR\";\n readonly INVALID_GIT_URL: \"INVALID_GIT_URL\";\n readonly GIT_CLONE_FAILED: \"GIT_CLONE_FAILED\";\n readonly GIT_CHECKOUT_FAILED: \"GIT_CHECKOUT_FAILED\";\n readonly GIT_OPERATION_FAILED: \"GIT_OPERATION_FAILED\";\n readonly BUCKET_MOUNT_ERROR: \"BUCKET_MOUNT_ERROR\";\n readonly BUCKET_UNMOUNT_ERROR: \"BUCKET_UNMOUNT_ERROR\";\n readonly S3FS_MOUNT_ERROR: \"S3FS_MOUNT_ERROR\";\n readonly MISSING_CREDENTIALS: \"MISSING_CREDENTIALS\";\n readonly INVALID_MOUNT_CONFIG: \"INVALID_MOUNT_CONFIG\";\n readonly BACKUP_CREATE_FAILED: \"BACKUP_CREATE_FAILED\";\n readonly BACKUP_RESTORE_FAILED: \"BACKUP_RESTORE_FAILED\";\n readonly BACKUP_NOT_FOUND: \"BACKUP_NOT_FOUND\";\n readonly BACKUP_EXPIRED: \"BACKUP_EXPIRED\";\n readonly INVALID_BACKUP_CONFIG: \"INVALID_BACKUP_CONFIG\";\n readonly INTERPRETER_NOT_READY: \"INTERPRETER_NOT_READY\";\n readonly CONTEXT_NOT_FOUND: \"CONTEXT_NOT_FOUND\";\n readonly CODE_EXECUTION_ERROR: \"CODE_EXECUTION_ERROR\";\n readonly PYTHON_NOT_AVAILABLE: \"PYTHON_NOT_AVAILABLE\";\n readonly JAVASCRIPT_NOT_AVAILABLE: \"JAVASCRIPT_NOT_AVAILABLE\";\n readonly OPENCODE_STARTUP_FAILED: \"OPENCODE_STARTUP_FAILED\";\n readonly PROCESS_READY_TIMEOUT: \"PROCESS_READY_TIMEOUT\";\n readonly PROCESS_EXITED_BEFORE_READY: \"PROCESS_EXITED_BEFORE_READY\";\n readonly WATCH_NOT_FOUND: \"WATCH_NOT_FOUND\";\n readonly WATCH_START_ERROR: \"WATCH_START_ERROR\";\n readonly WATCH_STOP_ERROR: \"WATCH_STOP_ERROR\";\n readonly VALIDATION_FAILED: \"VALIDATION_FAILED\";\n readonly INVALID_JSON_RESPONSE: \"INVALID_JSON_RESPONSE\";\n readonly UNKNOWN_ERROR: \"UNKNOWN_ERROR\";\n readonly INTERNAL_ERROR: \"INTERNAL_ERROR\";\n readonly RPC_TRANSPORT_ERROR: \"RPC_TRANSPORT_ERROR\";\n readonly CONTAINER_UNAVAILABLE: \"CONTAINER_UNAVAILABLE\";\n readonly OPERATION_INTERRUPTED: \"OPERATION_INTERRUPTED\";\n};\nexport type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];\n//# sourceMappingURL=codes.d.ts.map","import type { ErrorCode } from './codes';\n/**\n * Standard operation types\n */\nexport declare const Operation: {\n readonly FILE_READ: \"file.read\";\n readonly FILE_WRITE: \"file.write\";\n readonly FILE_DELETE: \"file.delete\";\n readonly FILE_MOVE: \"file.move\";\n readonly FILE_RENAME: \"file.rename\";\n readonly FILE_STAT: \"file.stat\";\n readonly DIRECTORY_CREATE: \"directory.create\";\n readonly DIRECTORY_LIST: \"directory.list\";\n readonly COMMAND_EXECUTE: \"command.execute\";\n readonly COMMAND_STREAM: \"command.stream\";\n readonly PROCESS_START: \"process.start\";\n readonly PROCESS_KILL: \"process.kill\";\n readonly PROCESS_LIST: \"process.list\";\n readonly PROCESS_GET: \"process.get\";\n readonly PROCESS_LOGS: \"process.logs\";\n readonly GIT_CLONE: \"git.clone\";\n readonly GIT_CHECKOUT: \"git.checkout\";\n readonly GIT_OPERATION: \"git.operation\";\n readonly BACKUP_CREATE: \"backup.create\";\n readonly BACKUP_RESTORE: \"backup.restore\";\n readonly BACKUP_UNMOUNT: \"backup.unmount\";\n readonly CODE_EXECUTE: \"code.execute\";\n readonly CODE_CONTEXT_CREATE: \"code.context.create\";\n readonly CODE_CONTEXT_DELETE: \"code.context.delete\";\n};\nexport type OperationType = (typeof Operation)[keyof typeof Operation];\n/**\n * Standard error response format with generic context type\n * TContext allows type-safe access to error-specific context\n */\nexport interface ErrorResponse<TContext = Record<string, unknown>> {\n /**\n * Error type code (machine-readable)\n */\n code: ErrorCode;\n /**\n * Human-readable error message\n */\n message: string;\n /**\n * Operation that was attempted (useful for debugging and logging)\n */\n operation?: OperationType;\n /**\n * Structured error context with relevant details\n * Type varies based on error code\n */\n context: TContext;\n /**\n * HTTP status code (for client SDK)\n */\n httpStatus: number;\n /**\n * Timestamp when error occurred\n */\n timestamp: string;\n /**\n * Actionable suggestion for fixing the error\n */\n suggestion?: string;\n /**\n * Link to documentation\n */\n documentation?: string;\n}\n/**\n * Container ServiceError (lightweight, enriched by handlers)\n */\nexport interface ServiceError {\n message: string;\n code: ErrorCode;\n details?: Record<string, unknown>;\n}\n/**\n * ServiceResult type for container services\n */\nexport type ServiceResult<T> = {\n success: true;\n data: T;\n} | {\n success: false;\n error: ServiceError;\n};\n//# sourceMappingURL=types.d.ts.map","import type { OperationType } from './types';\n/**\n * File system error contexts\n */\nexport interface FileNotFoundContext {\n path: string;\n operation: OperationType;\n}\nexport interface FileExistsContext {\n path: string;\n operation: OperationType;\n}\nexport interface FileTooLargeContext {\n path: string;\n operation: OperationType;\n maxSize: number;\n actualSize: number;\n}\nexport interface FileSystemContext {\n path: string;\n operation: OperationType;\n stderr?: string;\n exitCode?: number;\n}\n/**\n * Command error contexts\n */\nexport interface CommandNotFoundContext {\n command: string;\n}\nexport interface CommandErrorContext {\n command: string;\n exitCode?: number;\n stdout?: string;\n stderr?: string;\n}\n/**\n * Process error contexts\n */\nexport interface ProcessNotFoundContext {\n processId: string;\n}\nexport interface ProcessErrorContext {\n processId: string;\n pid?: number;\n exitCode?: number;\n stderr?: string;\n}\nexport interface SessionAlreadyExistsContext {\n sessionId: string;\n /**\n * `CLOUDFLARE_PLACEMENT_ID` captured from the container at the moment the\n * duplicate create was detected. Included so a restarted DO can learn the\n * container's placement ID from an idempotent session-create. `null` when\n * the env var is not set (for example, in local development).\n */\n containerPlacementId?: string | null;\n}\nexport interface SessionDestroyedContext {\n sessionId: string;\n}\nexport interface SessionTerminatedContext {\n sessionId: string;\n exitCode: number | null;\n}\n/**\n * Process readiness error contexts\n */\nexport interface ProcessReadyTimeoutContext {\n processId: string;\n command: string;\n condition: string;\n timeout: number;\n}\nexport interface ProcessExitedBeforeReadyContext {\n processId: string;\n command: string;\n condition: string;\n exitCode: number;\n}\n/**\n * Port error contexts\n */\nexport interface PortAlreadyExposedContext {\n port: number;\n portName?: string;\n}\nexport interface PortNotExposedContext {\n port: number;\n}\nexport interface InvalidPortContext {\n port: number;\n reason: string;\n}\nexport interface PortErrorContext {\n port: number;\n portName?: string;\n stderr?: string;\n}\n/**\n * Git error contexts\n */\nexport interface GitRepositoryNotFoundContext {\n repository: string;\n}\nexport interface GitAuthFailedContext {\n repository: string;\n}\nexport interface GitBranchNotFoundContext {\n branch: string;\n repository?: string;\n}\nexport interface GitErrorContext {\n repository?: string;\n branch?: string;\n targetDir?: string;\n stderr?: string;\n exitCode?: number;\n}\n/**\n * Code interpreter error contexts\n */\nexport interface InterpreterNotReadyContext {\n retryAfter?: number;\n progress?: number;\n}\nexport interface ContextNotFoundContext {\n contextId: string;\n}\nexport interface CodeExecutionContext {\n contextId?: string;\n ename?: string;\n evalue?: string;\n traceback?: string[];\n}\n/**\n * Validation error contexts\n */\nexport interface ValidationFailedContext {\n validationErrors: Array<{\n field: string;\n message: string;\n code?: string;\n }>;\n}\n/**\n * Bucket mounting error contexts\n */\nexport interface BucketMountContext {\n bucket: string;\n mountPath: string;\n endpoint: string;\n stderr?: string;\n exitCode?: number;\n}\nexport interface MissingCredentialsContext {\n bucket: string;\n endpoint: string;\n}\nexport interface InvalidMountConfigContext {\n bucket?: string;\n mountPath?: string;\n endpoint?: string;\n reason?: string;\n}\n/**\n * Backup error contexts\n */\nexport interface BackupCreateContext {\n dir: string;\n backupId?: string;\n stderr?: string;\n exitCode?: number;\n}\nexport interface BackupRestoreContext {\n dir: string;\n backupId: string;\n stderr?: string;\n exitCode?: number;\n}\nexport interface BackupNotFoundContext {\n backupId: string;\n}\nexport interface BackupExpiredContext {\n backupId: string;\n expiredAt?: string;\n}\nexport interface InvalidBackupConfigContext {\n reason: string;\n}\n/**\n * OpenCode error contexts\n */\nexport interface OpencodeStartupContext {\n port: number;\n stderr?: string;\n command?: string;\n}\n/**\n * Generic error contexts\n */\nexport interface InternalErrorContext {\n originalError?: string;\n stack?: string;\n [key: string]: unknown;\n}\n/**\n * Reason the sandbox container could not accept the incoming RPC connection.\n * Callers may branch on this to distinguish container-startup unavailability\n * from account-level capacity limits. `retryable` is always true regardless\n * of reason.\n */\nexport type ContainerUnavailableReason = \n/** The container is still booting. */\n'container_starting'\n/** The container is temporarily unhealthy. */\n | 'container_unhealthy'\n/** The container was replaced while the connection attempt was in progress. */\n | 'container_replaced'\n/** The WebSocket upgrade retry budget was exhausted. */\n | 'rpc_upgrade_failed'\n/**\n * The Containers platform could not allocate an instance for the Durable\n * Object during connection startup (\"There is no container instance that\n * can be provided to this Durable Object, try again later\").\n */\n | 'no_container_instance_available'\n/**\n * The account reached its configured concurrent-instance ceiling\n * (\"Maximum number of running container instances exceeded. Try again\n * later, or try configuring a higher value for max_instances\").\n */\n | 'max_container_instances_exceeded'\n/**\n * The RPC connection was torn down before the container ever became\n * reachable, and the underlying platform cause was not captured (e.g. the\n * Durable Object was evicted mid-startup under capacity pressure). The\n * container was never admitted — this is unavailability, not a cold start\n * in progress.\n */\n | 'container_unreachable';\n/**\n * Container availability error context. Surfaced when the sandbox container\n * cannot accept the incoming RPC connection. The container may be starting\n * up, undergoing a runtime replacement, or temporarily unhealthy. The\n * caller should retry the same operation.\n */\nexport interface ContainerUnavailableContext {\n /**\n * Categorical reason distinguishing startup unavailability from runtime\n * replacement, exhausted upgrade retries, and account capacity limits.\n */\n reason: ContainerUnavailableReason;\n /**\n * Always true — this error represents a transient unavailability, not a\n * permanent failure. Callers should retry the same operation.\n */\n retryable: true;\n /** Suggested delay in milliseconds before the next retry attempt. */\n retryAfterMs?: number;\n /**\n * Original platform/transport error message, preserved verbatim when the\n * unavailability was detected from a lower-level error (e.g. the platform\n * container-allocation failure) rather than a structured response body.\n */\n originalMessage?: string;\n}\n/**\n * RPC transport error contexts. Surfaced when the capnweb WebSocket session\n * fails on the SDK side rather than the container reporting a structured\n * error. Always retryable — the next call will open a fresh connection.\n */\nexport type RPCTransportErrorKind = \n/** Server closed the WebSocket (container crash, DO eviction, network blip). */\n'peer_closed'\n/** Underlying socket fired the `error` event. */\n | 'connection_failed'\n/** WebSocket upgrade failed before the session was established. */\n | 'upgrade_failed'\n/** Peer sent a non-string frame; capnweb's wire format is JSON text only. */\n | 'invalid_frame'\n/** Peer sent a frame the wire-format parser rejected (capnweb readLoop SyntaxError). */\n | 'protocol_error'\n/** Session was disposed (locally or remotely) while a call was pending. */\n | 'session_disposed'\n/** Anything else that bubbled up from the transport with no recognisable shape. */\n | 'unknown';\nexport interface RPCTransportContext {\n /** Categorical bucket so callers can branch on `peer_closed` vs `upgrade_failed` etc. */\n kind: RPCTransportErrorKind;\n /** Original error message, verbatim from capnweb / our DeferredTransport. */\n originalMessage: string;\n /**\n * The underlying Error's `name` property. capnweb preserves this across\n * the wire for the standard built-ins (TypeError, SyntaxError, etc.), so\n * it's a more reliable hint than the message string for those cases.\n */\n errorName: string;\n /** WebSocket close code, when available (kind === 'peer_closed'). */\n closeCode?: number;\n /** WebSocket close reason, when available (kind === 'peer_closed'). */\n closeReason?: string;\n}\n/**\n * Reason a sandbox-owned operation was interrupted. Callers may branch on\n * this to decide whether to retry the full operation.\n */\nexport type OperationInterruptedReason = \n/** The container runtime was replaced while the operation was in progress. */\n'runtime_replaced'\n/** The RPC session was disposed mid-operation. */\n | 'transport_disposed'\n/** The sandbox lifetime changed (destroy() was called). Not retryable. */\n | 'sandbox_lifetime_changed'\n/** Internal recovery attempts were exhausted. Not retryable. */\n | 'recovery_exhausted';\n/**\n * Operation interruption context. Surfaced when a sandbox-owned operation\n * (such as backup restore) was interrupted by a runtime replacement or\n * sandbox lifetime change. Public-safe: does not include internal ids.\n */\nexport interface OperationInterruptedContext {\n /**\n * Categorical reason. Use `retryable` to decide whether to retry rather\n * than branching on the reason string.\n */\n reason: OperationInterruptedReason;\n /** Name of the operation that was interrupted (e.g. 'backup.restore'). */\n operation: string;\n /** Lifecycle phase at which the interruption was detected. */\n phase: string;\n /**\n * Whether the operation's container-local side effects reached the runtime.\n * `false` means the operation was interrupted before admission; `true`\n * means effects were committed; `'unknown'` means the operation may or may\n * not have committed.\n */\n admitted: boolean | 'unknown';\n /**\n * Whether the caller can safely retry the full operation from the beginning.\n * `sandbox_lifetime_changed` and `recovery_exhausted` set this to false.\n */\n retryable: boolean;\n /** Number of internal recovery attempts made before surfacing this error. */\n recoveryAttempts?: number;\n /** Maximum number of internal recovery attempts allowed. */\n maxRecoveryAttempts?: number;\n /**\n * Container process exit code reported by the platform when the runtime\n * stopped mid-operation (`reason === 'runtime_replaced'`). Preserved from\n * the base container `onStop` params so a trace distinguishes an OOM kill\n * (137) or signal (143) from a clean exit (0). Absent when the interruption\n * was not driven by a container stop.\n */\n containerExitCode?: number;\n /**\n * Container stop reason reported by the platform (`'exit'` for a process\n * exit, `'runtime_signal'` for a signalled shutdown/eviction). Preserved\n * from the base container `onStop` params. Absent when not driven by a\n * container stop.\n */\n stopReason?: string;\n}\n//# sourceMappingURL=contexts.d.ts.map"],"mappings":";;AAIA;AAsEA;;cAtEqBA;;ECAAE,SAAAA,iBAyBpB,EAAA,mBAAA;EACWC,SAAAA,WAAa,EAAA,aAAWD;EAKnBE,SAAAA,YAAa,EAAAC,cAAA;EAAYC,SAAAA,aAAAA,EAAAA,eAAAA;EAIhCL,SAAAA,cAAAA,EAAAA,gBAAAA;EAQME,SAAAA,QAAAA,EAAAA,UAAAA;EAKHE,SAAAA,cAAAA,EAAAA,gBAAAA;EAAQ,SAAA,aAAA,EAAA,eAAA;;;;ECSJgB,SAAAA,gBAAAA,EAAwB,kBAAA;EAOxBC,SAAAA,iBAAAA,EAAAA,mBAA0B;EAM1BC,SAAAA,yBAA+B,EAAA,2BAAA;EA8F/BiB,SAAAA,eAAmB,EAAA,iBAAA;EAMnBC,SAAAA,uBAAoB,EAAA,yBAAA;EAMpBC,SAAAA,kBAAqB,EAAA,oBAAA;EAGrBC,SAAAA,iBAAoB,EAAA,mBAAA;EAIpBC,SAAAA,yBAA0B,EAAA,2BAAA;EAM1BC,SAAAA,aAAAA,EAAAA,eAAsB;EAmB3BE,SAAAA,sBAA0B,EAAA,wBAAA;EAmCrBC,SAAAA,iBAAAA,EAAAA,mBAKLD;EAoBAE,SAAAA,kBAAqB,EAAA,oBAAA;EAehBC,SAAAA,oBAAmB,EAAA,sBAE1BD;EAkBEE,SAAAA,WAAAA,EAAAA,aAA0B;EAcrBC,SAAAA,gBAAAA,EAAAA,kBAKLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KF5PAnD,SAAAA,WAAoBA,wBAAwBA;;;AAtExD;AAsEA;;cCtEqBE;;EAAAA,SAAAA,UAyBpB,EAAA,YAAA;EACWC,SAAAA,WAAa,EAAA,aAAWD;EAKnBE,SAAAA,SAAa,EAAA,WAAAC;EAAYC,SAAAA,WAAAA,EAAAA,aAAAA;EAIhCL,SAAAA,SAAAA,EAAAA,WAAAA;EAQME,SAAAA,gBAAAA,EAAAA,kBAAAA;EAKHE,SAAAA,cAAAA,EAAAA,gBAAAA;EAAQ,SAAA,eAAA,EAAA,iBAAA;;;;ECSJgB,SAAAA,YAAAA,EAAAA,cAAwB;EAOxBC,SAAAA,WAAAA,EAAAA,aAA0B;EAM1BC,SAAAA,YAAAA,EAAAA,cAA+B;EA8F/BiB,SAAAA,SAAAA,EAAAA,WAAmB;EAMnBC,SAAAA,YAAAA,EAAoB,cAAA;EAMpBC,SAAAA,aAAAA,EAAqB,eAAA;EAGrBC,SAAAA,aAAAA,EAAoB,eAAA;EAIpBC,SAAAA,cAAAA,EAAAA,gBAA0B;EAM1BC,SAAAA,cAAAA,EAAsB,gBAAA;EAmB3BE,SAAAA,YAAAA,EAAAA,cAA0B;EAmCrBC,SAAAA,mBAAAA,EAA2B,qBAKhCD;EAoBAE,SAAAA,mBAAqB,EAAA,qBAAA;AAejC,CAAA;AAoBYE,KDrRAhD,aAAAA,GCqRAgD,CAAAA,ODrRwBjD,SCqRE,CAAA,CAAA,MAAA,ODrRsBA,SCqRtB,CAAA;AActC;;;;UD9RiBE,yBAAyBE;;;;QAIhCL;;;;;;;;cAQME;;;;;WAKHE;;;;;;;;;;;;;;;;;;;;;UCSIgB,wBAAAA;;;;;;;UAOAC,0BAAAA;;;;;;UAMAC,+BAAAA;;;;;;;;;UA8FAiB,mBAAAA;;;;;;UAMAC,oBAAAA;;;;;;UAMAC,qBAAAA;;;UAGAC,oBAAAA;;;;UAIAC,0BAAAA;;;;;;UAMAC,sBAAAA;;;;;;;;;;;KAmBLE,0BAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmCKC,2BAAAA;;;;;UAKLD;;;;;;;;;;;;;;;;;;;;KAoBAE,qBAAAA;;;;;;;;UAeKC,mBAAAA;;QAEPD;;;;;;;;;;;;;;;;;;KAkBEE,0BAAAA;;;;;;;;;;UAcKC,2BAAAA;;;;;UAKLD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors-CpkKPbWC.js","names":[],"sources":["../../shared/dist/errors/codes.js","../../shared/dist/errors/status-map.js","../../shared/dist/errors/suggestions.js"],"sourcesContent":["/**\n * Centralized error code registry\n * Each code maps to a specific error type with consistent semantics\n */\nexport const ErrorCode = {\n // File System Errors (404)\n FILE_NOT_FOUND: 'FILE_NOT_FOUND',\n // Permission Errors (403)\n PERMISSION_DENIED: 'PERMISSION_DENIED',\n // File System Errors (409)\n FILE_EXISTS: 'FILE_EXISTS',\n // File System Errors (400)\n IS_DIRECTORY: 'IS_DIRECTORY',\n NOT_DIRECTORY: 'NOT_DIRECTORY',\n // File Too Large Errors (413)\n FILE_TOO_LARGE: 'FILE_TOO_LARGE',\n // File System Errors (500)\n NO_SPACE: 'NO_SPACE',\n TOO_MANY_FILES: 'TOO_MANY_FILES',\n RESOURCE_BUSY: 'RESOURCE_BUSY',\n READ_ONLY: 'READ_ONLY',\n NAME_TOO_LONG: 'NAME_TOO_LONG',\n TOO_MANY_LINKS: 'TOO_MANY_LINKS',\n FILESYSTEM_ERROR: 'FILESYSTEM_ERROR',\n // Command Errors (404)\n COMMAND_NOT_FOUND: 'COMMAND_NOT_FOUND',\n // Command Errors (403/400)\n COMMAND_PERMISSION_DENIED: 'COMMAND_PERMISSION_DENIED',\n INVALID_COMMAND: 'INVALID_COMMAND',\n // Command Errors (500)\n COMMAND_EXECUTION_ERROR: 'COMMAND_EXECUTION_ERROR',\n STREAM_START_ERROR: 'STREAM_START_ERROR',\n // Process Errors (404)\n PROCESS_NOT_FOUND: 'PROCESS_NOT_FOUND',\n // Process Errors (403/500)\n PROCESS_PERMISSION_DENIED: 'PROCESS_PERMISSION_DENIED',\n PROCESS_ERROR: 'PROCESS_ERROR',\n // Session Errors (409)\n SESSION_ALREADY_EXISTS: 'SESSION_ALREADY_EXISTS',\n // Session Errors (410)\n SESSION_DESTROYED: 'SESSION_DESTROYED',\n SESSION_TERMINATED: 'SESSION_TERMINATED',\n // Port Errors (409)\n PORT_ALREADY_EXPOSED: 'PORT_ALREADY_EXPOSED',\n PORT_IN_USE: 'PORT_IN_USE',\n // Port Errors (404)\n PORT_NOT_EXPOSED: 'PORT_NOT_EXPOSED',\n // Port Errors (400)\n INVALID_PORT_NUMBER: 'INVALID_PORT_NUMBER',\n INVALID_PORT: 'INVALID_PORT',\n // Port Errors (502/500)\n SERVICE_NOT_RESPONDING: 'SERVICE_NOT_RESPONDING',\n PORT_OPERATION_ERROR: 'PORT_OPERATION_ERROR',\n // Port Errors (400)\n CUSTOM_DOMAIN_REQUIRED: 'CUSTOM_DOMAIN_REQUIRED',\n // Git Errors (404)\n GIT_REPOSITORY_NOT_FOUND: 'GIT_REPOSITORY_NOT_FOUND',\n GIT_BRANCH_NOT_FOUND: 'GIT_BRANCH_NOT_FOUND',\n // Git Errors (401)\n GIT_AUTH_FAILED: 'GIT_AUTH_FAILED',\n // Git Errors (502)\n GIT_NETWORK_ERROR: 'GIT_NETWORK_ERROR',\n // Git Errors (400)\n INVALID_GIT_URL: 'INVALID_GIT_URL',\n // Git Errors (500)\n GIT_CLONE_FAILED: 'GIT_CLONE_FAILED',\n GIT_CHECKOUT_FAILED: 'GIT_CHECKOUT_FAILED',\n GIT_OPERATION_FAILED: 'GIT_OPERATION_FAILED',\n // Bucket mounting errors\n BUCKET_MOUNT_ERROR: 'BUCKET_MOUNT_ERROR',\n BUCKET_UNMOUNT_ERROR: 'BUCKET_UNMOUNT_ERROR',\n S3FS_MOUNT_ERROR: 'S3FS_MOUNT_ERROR',\n MISSING_CREDENTIALS: 'MISSING_CREDENTIALS',\n INVALID_MOUNT_CONFIG: 'INVALID_MOUNT_CONFIG',\n // Backup Errors (500)\n BACKUP_CREATE_FAILED: 'BACKUP_CREATE_FAILED',\n BACKUP_RESTORE_FAILED: 'BACKUP_RESTORE_FAILED',\n // Backup Errors (404)\n BACKUP_NOT_FOUND: 'BACKUP_NOT_FOUND',\n // Backup Errors (400)\n BACKUP_EXPIRED: 'BACKUP_EXPIRED',\n INVALID_BACKUP_CONFIG: 'INVALID_BACKUP_CONFIG',\n // Code Interpreter Errors (503)\n INTERPRETER_NOT_READY: 'INTERPRETER_NOT_READY',\n // Code Interpreter Errors (404)\n CONTEXT_NOT_FOUND: 'CONTEXT_NOT_FOUND',\n // Code Interpreter Errors (500)\n CODE_EXECUTION_ERROR: 'CODE_EXECUTION_ERROR',\n // Code Interpreter Errors (501) - Feature not available in image variant\n PYTHON_NOT_AVAILABLE: 'PYTHON_NOT_AVAILABLE',\n JAVASCRIPT_NOT_AVAILABLE: 'JAVASCRIPT_NOT_AVAILABLE',\n // OpenCode Errors (503)\n OPENCODE_STARTUP_FAILED: 'OPENCODE_STARTUP_FAILED',\n // Process Readiness Errors (408/500)\n PROCESS_READY_TIMEOUT: 'PROCESS_READY_TIMEOUT',\n PROCESS_EXITED_BEFORE_READY: 'PROCESS_EXITED_BEFORE_READY',\n // File Watch Errors (404)\n WATCH_NOT_FOUND: 'WATCH_NOT_FOUND',\n // File Watch Errors (500)\n WATCH_START_ERROR: 'WATCH_START_ERROR',\n WATCH_STOP_ERROR: 'WATCH_STOP_ERROR',\n // Validation Errors (400)\n VALIDATION_FAILED: 'VALIDATION_FAILED',\n // Generic Errors (400/500)\n INVALID_JSON_RESPONSE: 'INVALID_JSON_RESPONSE',\n UNKNOWN_ERROR: 'UNKNOWN_ERROR',\n INTERNAL_ERROR: 'INTERNAL_ERROR',\n // RPC Transport Errors (503) — capnweb WebSocket session-level failures\n // raised on the SDK side, not by the container. The container went away\n // mid-call (peer close), the WebSocket failed before/after upgrade, the\n // peer sent a frame the transport cannot handle, or the session was\n // disposed while a call was in flight.\n RPC_TRANSPORT_ERROR: 'RPC_TRANSPORT_ERROR',\n // Container Availability Errors (503) — raised when the sandbox container\n // is not yet ready to accept requests or was replaced while a connection\n // attempt was in progress. Always retryable from the caller's perspective.\n CONTAINER_UNAVAILABLE: 'CONTAINER_UNAVAILABLE',\n // Operation Lifecycle Errors (409) — raised when a sandbox-owned operation\n // (e.g. backup restore) was interrupted by a runtime replacement or sandbox\n // lifetime change after the operation had already been admitted. The caller\n // should retry the full operation from the beginning.\n OPERATION_INTERRUPTED: 'OPERATION_INTERRUPTED'\n};\n","import { ErrorCode } from './codes';\n/**\n * Maps error codes to HTTP status codes\n * Centralized mapping ensures consistency across SDK\n */\nexport const ERROR_STATUS_MAP = {\n // 404 Not Found\n [ErrorCode.FILE_NOT_FOUND]: 404,\n [ErrorCode.COMMAND_NOT_FOUND]: 404,\n [ErrorCode.PROCESS_NOT_FOUND]: 404,\n [ErrorCode.PORT_NOT_EXPOSED]: 404,\n [ErrorCode.GIT_REPOSITORY_NOT_FOUND]: 404,\n [ErrorCode.GIT_BRANCH_NOT_FOUND]: 404,\n [ErrorCode.CONTEXT_NOT_FOUND]: 404,\n [ErrorCode.WATCH_NOT_FOUND]: 404,\n // 400 Bad Request\n [ErrorCode.IS_DIRECTORY]: 400,\n [ErrorCode.NOT_DIRECTORY]: 400,\n [ErrorCode.INVALID_COMMAND]: 400,\n [ErrorCode.INVALID_PORT_NUMBER]: 400,\n [ErrorCode.INVALID_PORT]: 400,\n [ErrorCode.INVALID_GIT_URL]: 400,\n [ErrorCode.CUSTOM_DOMAIN_REQUIRED]: 400,\n [ErrorCode.INVALID_JSON_RESPONSE]: 400,\n [ErrorCode.NAME_TOO_LONG]: 400,\n [ErrorCode.VALIDATION_FAILED]: 400,\n [ErrorCode.MISSING_CREDENTIALS]: 400,\n [ErrorCode.INVALID_MOUNT_CONFIG]: 400,\n // 401 Unauthorized\n [ErrorCode.GIT_AUTH_FAILED]: 401,\n // 403 Forbidden\n [ErrorCode.PERMISSION_DENIED]: 403,\n [ErrorCode.COMMAND_PERMISSION_DENIED]: 403,\n [ErrorCode.PROCESS_PERMISSION_DENIED]: 403,\n [ErrorCode.READ_ONLY]: 403,\n // 409 Conflict\n [ErrorCode.FILE_EXISTS]: 409,\n [ErrorCode.PORT_ALREADY_EXPOSED]: 409,\n [ErrorCode.PORT_IN_USE]: 409,\n [ErrorCode.RESOURCE_BUSY]: 409,\n [ErrorCode.SESSION_ALREADY_EXISTS]: 409,\n [ErrorCode.OPERATION_INTERRUPTED]: 409,\n // 410 Gone\n [ErrorCode.SESSION_DESTROYED]: 410,\n [ErrorCode.SESSION_TERMINATED]: 410,\n // 413 Content Too Large\n [ErrorCode.FILE_TOO_LARGE]: 413,\n // 502 Bad Gateway\n [ErrorCode.SERVICE_NOT_RESPONDING]: 502,\n [ErrorCode.GIT_NETWORK_ERROR]: 502,\n // Backup errors\n [ErrorCode.BACKUP_NOT_FOUND]: 404,\n [ErrorCode.BACKUP_EXPIRED]: 400,\n [ErrorCode.INVALID_BACKUP_CONFIG]: 400,\n [ErrorCode.BACKUP_CREATE_FAILED]: 500,\n [ErrorCode.BACKUP_RESTORE_FAILED]: 500,\n // 501 Not Implemented (feature not available in image variant)\n [ErrorCode.PYTHON_NOT_AVAILABLE]: 501,\n [ErrorCode.JAVASCRIPT_NOT_AVAILABLE]: 501,\n // 503 Service Unavailable\n [ErrorCode.INTERPRETER_NOT_READY]: 503,\n [ErrorCode.OPENCODE_STARTUP_FAILED]: 503,\n [ErrorCode.RPC_TRANSPORT_ERROR]: 503,\n [ErrorCode.CONTAINER_UNAVAILABLE]: 503,\n // 408 Request Timeout\n [ErrorCode.PROCESS_READY_TIMEOUT]: 408,\n // 500 Internal Server Error\n [ErrorCode.PROCESS_EXITED_BEFORE_READY]: 500,\n [ErrorCode.NO_SPACE]: 500,\n [ErrorCode.TOO_MANY_FILES]: 500,\n [ErrorCode.TOO_MANY_LINKS]: 500,\n [ErrorCode.FILESYSTEM_ERROR]: 500,\n [ErrorCode.COMMAND_EXECUTION_ERROR]: 500,\n [ErrorCode.STREAM_START_ERROR]: 500,\n [ErrorCode.PROCESS_ERROR]: 500,\n [ErrorCode.PORT_OPERATION_ERROR]: 500,\n [ErrorCode.GIT_CLONE_FAILED]: 500,\n [ErrorCode.GIT_CHECKOUT_FAILED]: 500,\n [ErrorCode.GIT_OPERATION_FAILED]: 500,\n [ErrorCode.CODE_EXECUTION_ERROR]: 500,\n [ErrorCode.BUCKET_MOUNT_ERROR]: 500,\n [ErrorCode.BUCKET_UNMOUNT_ERROR]: 500,\n [ErrorCode.S3FS_MOUNT_ERROR]: 500,\n [ErrorCode.WATCH_START_ERROR]: 500,\n [ErrorCode.WATCH_STOP_ERROR]: 500,\n [ErrorCode.UNKNOWN_ERROR]: 500,\n [ErrorCode.INTERNAL_ERROR]: 500\n};\n/**\n * Get HTTP status code for an error code\n * Falls back to 500 for unknown errors\n */\nexport function getHttpStatus(code) {\n return ERROR_STATUS_MAP[code] || 500;\n}\n","import { ErrorCode } from './codes';\n/**\n * Get actionable suggestion for an error code\n * Used by handlers when enriching ServiceError → ErrorResponse\n */\nexport function getSuggestion(code, context) {\n switch (code) {\n case ErrorCode.FILE_NOT_FOUND:\n return `Ensure the file exists at ${context.path} before attempting to access it`;\n case ErrorCode.FILE_EXISTS:\n return `File already exists at ${context.path}. Use a different path or delete the existing file first`;\n case ErrorCode.COMMAND_NOT_FOUND:\n return `Check that \"${context.command}\" is installed and available in the system PATH`;\n case ErrorCode.PROCESS_NOT_FOUND:\n return 'Verify the process ID is correct and the process has not already exited';\n case ErrorCode.PORT_NOT_EXPOSED:\n return `Port ${context.port} is not currently available for this operation`;\n case ErrorCode.PORT_ALREADY_EXPOSED:\n return `Port ${context.port} already has preview URL authorization or activation state`;\n case ErrorCode.PORT_IN_USE:\n return `Port ${context.port} is already in use by another service. Choose a different port`;\n case ErrorCode.SESSION_ALREADY_EXISTS:\n return `Session \"${context.sessionId}\" already exists. Use a different session ID or reuse the existing session`;\n case ErrorCode.SESSION_DESTROYED:\n return `Session \"${context.sessionId}\" was destroyed. Create a new session to continue executing commands`;\n case ErrorCode.SESSION_TERMINATED:\n return `Session \"${context.sessionId}\" ended because its shell exited (exit code: ${context.exitCode ?? 'unknown'}). Session-local state (env vars, cwd, shell functions) has been lost. Retry the call to start a fresh session, or call createSession() with the same id to recreate it explicitly`;\n case ErrorCode.INVALID_PORT:\n return `Port must be between 1 and 65535. Port ${context.port} is ${context.reason}`;\n case ErrorCode.GIT_REPOSITORY_NOT_FOUND:\n return 'Verify the repository URL is correct and accessible';\n case ErrorCode.GIT_AUTH_FAILED:\n return 'Check authentication credentials or use a public repository';\n case ErrorCode.GIT_BRANCH_NOT_FOUND:\n return `Branch \"${context.branch}\" does not exist in the repository. Check the branch name or use the default branch`;\n case ErrorCode.INTERPRETER_NOT_READY:\n return context.retryAfter\n ? `Code interpreter is starting up. Retry after ${context.retryAfter} seconds`\n : 'Code interpreter is not ready. Please wait a moment and try again';\n case ErrorCode.CONTEXT_NOT_FOUND:\n return `Context \"${context.contextId}\" does not exist. Create a context first using createContext()`;\n case ErrorCode.VALIDATION_FAILED:\n return 'Check the request parameters and ensure they match the required format';\n case ErrorCode.NO_SPACE:\n return 'Not enough disk space available. Consider cleaning up temporary files or increasing storage';\n case ErrorCode.PERMISSION_DENIED:\n return 'Operation not permitted. Check file/directory permissions';\n case ErrorCode.IS_DIRECTORY:\n return `Cannot perform this operation on a directory. Path ${context.path} is a directory`;\n case ErrorCode.NOT_DIRECTORY:\n return `Expected a directory but found a file at ${context.path}`;\n case ErrorCode.RESOURCE_BUSY:\n return 'Resource is currently in use. Wait for the current operation to complete';\n case ErrorCode.READ_ONLY:\n return 'Cannot modify a read-only resource';\n case ErrorCode.SERVICE_NOT_RESPONDING:\n return 'Service is not responding. Check if the service is running and accessible';\n case ErrorCode.BACKUP_NOT_FOUND:\n return `Backup \"${context.backupId}\" does not exist. Verify the backup ID is correct`;\n case ErrorCode.BACKUP_EXPIRED:\n return `Backup \"${context.backupId}\" has expired. Create a new backup`;\n case ErrorCode.INVALID_BACKUP_CONFIG:\n return `Invalid backup configuration: ${context.reason}`;\n case ErrorCode.BACKUP_CREATE_FAILED:\n return 'Backup creation failed. Check that the directory exists and you have sufficient disk space';\n case ErrorCode.BACKUP_RESTORE_FAILED:\n return 'Backup restoration failed. The archive may be corrupted or the target directory may be in use';\n case ErrorCode.CONTAINER_UNAVAILABLE:\n return 'The sandbox container is temporarily unavailable. Retry the same operation — it will succeed once the container is ready.';\n case ErrorCode.OPERATION_INTERRUPTED:\n return 'The sandbox operation was interrupted by a runtime change. Retry only if the operation is idempotent, or verify sandbox state before retrying.';\n case ErrorCode.RPC_TRANSPORT_ERROR: {\n const kind = context.kind;\n switch (kind) {\n case 'peer_closed':\n return 'The container closed the WebSocket mid-call (likely a container restart, eviction, or crash). Retry the call — the SDK will open a fresh connection.';\n case 'connection_failed':\n return 'The WebSocket connection failed. Retry the call; if the failure persists, check container health and network connectivity.';\n case 'upgrade_failed':\n return 'The WebSocket upgrade was rejected by the container. Verify the container is running and reachable on the configured port.';\n case 'invalid_frame':\n return 'The container sent a frame the RPC transport cannot handle. This usually indicates a version mismatch between the SDK and the container image.';\n case 'protocol_error':\n return 'The peer sent a malformed RPC message (could not parse the wire format). This usually indicates a version mismatch between the SDK and the container image.';\n case 'session_disposed':\n return 'The RPC session was disposed while a call was in flight. Avoid reusing stubs after disconnect(); the next method call will reconnect automatically.';\n default:\n return 'The RPC transport raised an error. Retry the call — the SDK will open a fresh connection.';\n }\n }\n // Generic fallback for other errors\n default:\n return undefined;\n }\n}\n"],"mappings":"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"}
|