@cloudflare/sandbox 0.6.1 → 0.6.4
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/Dockerfile +24 -0
- package/dist/contexts-DeQQjsXq.d.ts +161 -0
- package/dist/contexts-DeQQjsXq.d.ts.map +1 -0
- package/dist/{dist-gVyG2H2h.js → dist-2SF6oOaz.js} +8 -2
- package/dist/{dist-gVyG2H2h.js.map → dist-2SF6oOaz.js.map} +1 -1
- package/dist/errors-BHN41iBd.js +124 -0
- package/dist/errors-BHN41iBd.js.map +1 -0
- package/dist/index.d.ts +55 -62
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +317 -137
- package/dist/index.js.map +1 -1
- package/dist/openai/index.d.ts +1 -1
- package/dist/openai/index.js +1 -1
- package/dist/opencode/index.d.ts +149 -0
- package/dist/opencode/index.d.ts.map +1 -0
- package/dist/opencode/index.js +297 -0
- package/dist/opencode/index.js.map +1 -0
- package/dist/{sandbox-HQazw9bn.d.ts → sandbox-C9WRqWBO.d.ts} +131 -4
- package/dist/sandbox-C9WRqWBO.d.ts.map +1 -0
- package/package.json +14 -4
- package/dist/sandbox-HQazw9bn.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { $ as ProcessInfoResult, A as RequestConfig, B as FileChunk, C as WriteFileRequest, D as ContainerStub, E as BaseApiResponse, F as BucketProvider, G as ListFilesOptions, H as FileStreamEvent, I as ExecEvent, J as PortCloseResult, K as LogEvent, L as ExecOptions, M as SessionRequest, N as BaseExecOptions, O as ErrorResponse, P as BucketCredentials, Q as ProcessCleanupResult, R as ExecResult, S as ReadFileRequest, T as ExecuteResponse, U as GitCheckoutResult, V as FileMetadata, W as ISandbox, X as PortListResult, Y as PortExposeResult, Z as Process, _ as GitCheckoutRequest, a as CreateSessionRequest, at as ProcessStatus, b as FileOperationRequest, c as DeleteSessionResponse, ct as StreamOptions, d as ProcessClient, dt as
|
|
1
|
+
import { $ as ProcessInfoResult, A as RequestConfig, B as FileChunk, C as WriteFileRequest, D as ContainerStub, E as BaseApiResponse, F as BucketProvider, G as ListFilesOptions, H as FileStreamEvent, I as ExecEvent, J as PortCloseResult, K as LogEvent, L as ExecOptions, M as SessionRequest, N as BaseExecOptions, O as ErrorResponse, P as BucketCredentials, Q as ProcessCleanupResult, R as ExecResult, S as ReadFileRequest, T as ExecuteResponse, U as GitCheckoutResult, V as FileMetadata, W as ISandbox, X as PortListResult, Y as PortExposeResult, Z as Process, _ as GitCheckoutRequest, _t as ExecutionResult, a as CreateSessionRequest, at as ProcessStatus, b as FileOperationRequest, c as DeleteSessionResponse, ct as StreamOptions, d as ProcessClient, dt as isExecResult, et as ProcessKillResult, f as ExposePortRequest, ft as isProcess, g as InterpreterClient, gt as Execution, h as ExecutionCallbacks, ht as CreateContextOptions, i as CommandsResponse, it as ProcessStartResult, j as ResponseHandler, k as HttpClientOptions, l as PingResponse, lt as WaitForLogResult, m as UnexposePortRequest, mt as CodeContext, n as getSandbox, nt as ProcessLogsResult, o as CreateSessionResponse, ot as SandboxOptions, p as PortClient, pt as isProcessStatus, q as MountBucketOptions, r as SandboxClient, rt as ProcessOptions, s as DeleteSessionRequest, st as SessionOptions, t as Sandbox, tt as ProcessListResult, u as UtilityClient, ut as WaitForPortOptions, v as GitClient, vt as RunCodeOptions, w as CommandClient, x as MkdirRequest, y as FileClient, z as ExecutionSession } from "./sandbox-C9WRqWBO.js";
|
|
2
|
+
import { a as OperationType, i as ErrorResponse$1, n as ProcessExitedBeforeReadyContext, o as ErrorCode, r as ProcessReadyTimeoutContext } from "./contexts-DeQQjsXq.js";
|
|
2
3
|
|
|
3
4
|
//#region ../shared/dist/request-types.d.ts
|
|
4
5
|
|
|
@@ -35,6 +36,55 @@ interface StartProcessRequest {
|
|
|
35
36
|
autoCleanup?: boolean;
|
|
36
37
|
}
|
|
37
38
|
//#endregion
|
|
39
|
+
//#region src/errors/classes.d.ts
|
|
40
|
+
/**
|
|
41
|
+
* Base SDK error that wraps ErrorResponse
|
|
42
|
+
* Preserves all error information from container
|
|
43
|
+
*/
|
|
44
|
+
declare class SandboxError<TContext = Record<string, unknown>> extends Error {
|
|
45
|
+
readonly errorResponse: ErrorResponse$1<TContext>;
|
|
46
|
+
constructor(errorResponse: ErrorResponse$1<TContext>);
|
|
47
|
+
get code(): ErrorCode;
|
|
48
|
+
get context(): TContext;
|
|
49
|
+
get httpStatus(): number;
|
|
50
|
+
get operation(): OperationType | undefined;
|
|
51
|
+
get suggestion(): string | undefined;
|
|
52
|
+
get timestamp(): string;
|
|
53
|
+
get documentation(): string | undefined;
|
|
54
|
+
toJSON(): {
|
|
55
|
+
name: string;
|
|
56
|
+
message: string;
|
|
57
|
+
code: ErrorCode;
|
|
58
|
+
context: TContext;
|
|
59
|
+
httpStatus: number;
|
|
60
|
+
operation: OperationType | undefined;
|
|
61
|
+
suggestion: string | undefined;
|
|
62
|
+
timestamp: string;
|
|
63
|
+
documentation: string | undefined;
|
|
64
|
+
stack: string | undefined;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Error thrown when a process does not become ready within the timeout period
|
|
69
|
+
*/
|
|
70
|
+
declare class ProcessReadyTimeoutError extends SandboxError<ProcessReadyTimeoutContext> {
|
|
71
|
+
constructor(errorResponse: ErrorResponse$1<ProcessReadyTimeoutContext>);
|
|
72
|
+
get processId(): string;
|
|
73
|
+
get command(): string;
|
|
74
|
+
get condition(): string;
|
|
75
|
+
get timeout(): number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Error thrown when a process exits before becoming ready
|
|
79
|
+
*/
|
|
80
|
+
declare class ProcessExitedBeforeReadyError extends SandboxError<ProcessExitedBeforeReadyContext> {
|
|
81
|
+
constructor(errorResponse: ErrorResponse$1<ProcessExitedBeforeReadyContext>);
|
|
82
|
+
get processId(): string;
|
|
83
|
+
get command(): string;
|
|
84
|
+
get condition(): string;
|
|
85
|
+
get exitCode(): number;
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
38
88
|
//#region src/file-stream.d.ts
|
|
39
89
|
/**
|
|
40
90
|
* Stream a file from the sandbox with automatic base64 decoding for binary files
|
|
@@ -105,8 +155,8 @@ declare class CodeInterpreter {
|
|
|
105
155
|
}
|
|
106
156
|
//#endregion
|
|
107
157
|
//#region src/request-handler.d.ts
|
|
108
|
-
interface SandboxEnv {
|
|
109
|
-
Sandbox: DurableObjectNamespace<
|
|
158
|
+
interface SandboxEnv<T extends Sandbox<any> = Sandbox<any>> {
|
|
159
|
+
Sandbox: DurableObjectNamespace<T>;
|
|
110
160
|
}
|
|
111
161
|
interface RouteInfo {
|
|
112
162
|
port: number;
|
|
@@ -114,7 +164,7 @@ interface RouteInfo {
|
|
|
114
164
|
path: string;
|
|
115
165
|
token: string;
|
|
116
166
|
}
|
|
117
|
-
declare function proxyToSandbox<E extends SandboxEnv
|
|
167
|
+
declare function proxyToSandbox<T extends Sandbox<any>, E extends SandboxEnv<T>>(request: Request, env: E): Promise<Response | null>;
|
|
118
168
|
//#endregion
|
|
119
169
|
//#region src/sse-parser.d.ts
|
|
120
170
|
/**
|
|
@@ -144,63 +194,6 @@ declare function asyncIterableToSSEStream<T>(events: AsyncIterable<T>, options?:
|
|
|
144
194
|
serialize?: (event: T) => string;
|
|
145
195
|
}): ReadableStream<Uint8Array>;
|
|
146
196
|
//#endregion
|
|
147
|
-
//#region ../shared/dist/errors/codes.d.ts
|
|
148
|
-
/**
|
|
149
|
-
* Centralized error code registry
|
|
150
|
-
* Each code maps to a specific error type with consistent semantics
|
|
151
|
-
*/
|
|
152
|
-
declare const ErrorCode: {
|
|
153
|
-
readonly FILE_NOT_FOUND: "FILE_NOT_FOUND";
|
|
154
|
-
readonly PERMISSION_DENIED: "PERMISSION_DENIED";
|
|
155
|
-
readonly FILE_EXISTS: "FILE_EXISTS";
|
|
156
|
-
readonly IS_DIRECTORY: "IS_DIRECTORY";
|
|
157
|
-
readonly NOT_DIRECTORY: "NOT_DIRECTORY";
|
|
158
|
-
readonly NO_SPACE: "NO_SPACE";
|
|
159
|
-
readonly TOO_MANY_FILES: "TOO_MANY_FILES";
|
|
160
|
-
readonly RESOURCE_BUSY: "RESOURCE_BUSY";
|
|
161
|
-
readonly READ_ONLY: "READ_ONLY";
|
|
162
|
-
readonly NAME_TOO_LONG: "NAME_TOO_LONG";
|
|
163
|
-
readonly TOO_MANY_LINKS: "TOO_MANY_LINKS";
|
|
164
|
-
readonly FILESYSTEM_ERROR: "FILESYSTEM_ERROR";
|
|
165
|
-
readonly COMMAND_NOT_FOUND: "COMMAND_NOT_FOUND";
|
|
166
|
-
readonly COMMAND_PERMISSION_DENIED: "COMMAND_PERMISSION_DENIED";
|
|
167
|
-
readonly INVALID_COMMAND: "INVALID_COMMAND";
|
|
168
|
-
readonly COMMAND_EXECUTION_ERROR: "COMMAND_EXECUTION_ERROR";
|
|
169
|
-
readonly STREAM_START_ERROR: "STREAM_START_ERROR";
|
|
170
|
-
readonly PROCESS_NOT_FOUND: "PROCESS_NOT_FOUND";
|
|
171
|
-
readonly PROCESS_PERMISSION_DENIED: "PROCESS_PERMISSION_DENIED";
|
|
172
|
-
readonly PROCESS_ERROR: "PROCESS_ERROR";
|
|
173
|
-
readonly PORT_ALREADY_EXPOSED: "PORT_ALREADY_EXPOSED";
|
|
174
|
-
readonly PORT_IN_USE: "PORT_IN_USE";
|
|
175
|
-
readonly PORT_NOT_EXPOSED: "PORT_NOT_EXPOSED";
|
|
176
|
-
readonly INVALID_PORT_NUMBER: "INVALID_PORT_NUMBER";
|
|
177
|
-
readonly INVALID_PORT: "INVALID_PORT";
|
|
178
|
-
readonly SERVICE_NOT_RESPONDING: "SERVICE_NOT_RESPONDING";
|
|
179
|
-
readonly PORT_OPERATION_ERROR: "PORT_OPERATION_ERROR";
|
|
180
|
-
readonly CUSTOM_DOMAIN_REQUIRED: "CUSTOM_DOMAIN_REQUIRED";
|
|
181
|
-
readonly GIT_REPOSITORY_NOT_FOUND: "GIT_REPOSITORY_NOT_FOUND";
|
|
182
|
-
readonly GIT_BRANCH_NOT_FOUND: "GIT_BRANCH_NOT_FOUND";
|
|
183
|
-
readonly GIT_AUTH_FAILED: "GIT_AUTH_FAILED";
|
|
184
|
-
readonly GIT_NETWORK_ERROR: "GIT_NETWORK_ERROR";
|
|
185
|
-
readonly INVALID_GIT_URL: "INVALID_GIT_URL";
|
|
186
|
-
readonly GIT_CLONE_FAILED: "GIT_CLONE_FAILED";
|
|
187
|
-
readonly GIT_CHECKOUT_FAILED: "GIT_CHECKOUT_FAILED";
|
|
188
|
-
readonly GIT_OPERATION_FAILED: "GIT_OPERATION_FAILED";
|
|
189
|
-
readonly BUCKET_MOUNT_ERROR: "BUCKET_MOUNT_ERROR";
|
|
190
|
-
readonly S3FS_MOUNT_ERROR: "S3FS_MOUNT_ERROR";
|
|
191
|
-
readonly MISSING_CREDENTIALS: "MISSING_CREDENTIALS";
|
|
192
|
-
readonly INVALID_MOUNT_CONFIG: "INVALID_MOUNT_CONFIG";
|
|
193
|
-
readonly INTERPRETER_NOT_READY: "INTERPRETER_NOT_READY";
|
|
194
|
-
readonly CONTEXT_NOT_FOUND: "CONTEXT_NOT_FOUND";
|
|
195
|
-
readonly CODE_EXECUTION_ERROR: "CODE_EXECUTION_ERROR";
|
|
196
|
-
readonly PYTHON_NOT_AVAILABLE: "PYTHON_NOT_AVAILABLE";
|
|
197
|
-
readonly VALIDATION_FAILED: "VALIDATION_FAILED";
|
|
198
|
-
readonly INVALID_JSON_RESPONSE: "INVALID_JSON_RESPONSE";
|
|
199
|
-
readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
|
|
200
|
-
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
201
|
-
};
|
|
202
|
-
type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
|
|
203
|
-
//#endregion
|
|
204
197
|
//#region src/storage-mount/errors.d.ts
|
|
205
198
|
/**
|
|
206
199
|
* Base error for bucket mounting operations
|
|
@@ -228,5 +221,5 @@ declare class InvalidMountConfigError extends BucketMountError {
|
|
|
228
221
|
constructor(message: string);
|
|
229
222
|
}
|
|
230
223
|
//#endregion
|
|
231
|
-
export { type BaseApiResponse, type BaseExecOptions, type BucketCredentials, BucketMountError, type BucketProvider, type CodeContext, CodeInterpreter, CommandClient, type ExecuteResponse as CommandExecuteResponse, type CommandsResponse, type ContainerStub, type CreateContextOptions, type CreateSessionRequest, type CreateSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ErrorResponse, type ExecEvent, type ExecOptions, type ExecResult, type ExecuteRequest, type ExecutionCallbacks, type ExecutionResult, type ExecutionSession, type ExposePortRequest, type FileChunk, FileClient, type FileMetadata, type FileOperationRequest, type FileStreamEvent, type GitCheckoutRequest, type GitCheckoutResult, GitClient, type ISandbox, type InterpreterClient, InvalidMountConfigError, type ListFilesOptions, type LogEvent, MissingCredentialsError, type MkdirRequest, type MountBucketOptions, type PingResponse, PortClient, type PortCloseResult, type PortExposeResult, type PortListResult, type Process, type ProcessCleanupResult, ProcessClient, type ProcessInfoResult, type ProcessKillResult, type ProcessListResult, type ProcessLogsResult, type ProcessOptions, type ProcessStartResult, type ProcessStatus, type ReadFileRequest, type RequestConfig, type ResponseHandler, type RouteInfo, type RunCodeOptions, S3FSMountError, Sandbox, SandboxClient, type HttpClientOptions as SandboxClientOptions, type SandboxEnv, type SandboxOptions, type SessionOptions, type SessionRequest, type StartProcessRequest, type StreamOptions, type UnexposePortRequest, UtilityClient, type WriteFileRequest, asyncIterableToSSEStream, collectFile, getSandbox, isExecResult, isProcess, isProcessStatus, parseSSEStream, proxyToSandbox, responseToAsyncIterable, streamFile };
|
|
224
|
+
export { type BaseApiResponse, type BaseExecOptions, type BucketCredentials, BucketMountError, type BucketProvider, type CodeContext, CodeInterpreter, CommandClient, type ExecuteResponse as CommandExecuteResponse, type CommandsResponse, type ContainerStub, type CreateContextOptions, type CreateSessionRequest, type CreateSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ErrorResponse, type ExecEvent, type ExecOptions, type ExecResult, type ExecuteRequest, type ExecutionCallbacks, type ExecutionResult, type ExecutionSession, type ExposePortRequest, type FileChunk, FileClient, type FileMetadata, type FileOperationRequest, type FileStreamEvent, type GitCheckoutRequest, type GitCheckoutResult, GitClient, type ISandbox, type InterpreterClient, InvalidMountConfigError, type ListFilesOptions, type LogEvent, MissingCredentialsError, type MkdirRequest, type MountBucketOptions, type PingResponse, PortClient, type PortCloseResult, type PortExposeResult, type PortListResult, type Process, type ProcessCleanupResult, ProcessClient, ProcessExitedBeforeReadyError, type ProcessInfoResult, type ProcessKillResult, type ProcessListResult, type ProcessLogsResult, type ProcessOptions, ProcessReadyTimeoutError, type ProcessStartResult, type ProcessStatus, type ReadFileRequest, type RequestConfig, type ResponseHandler, type RouteInfo, type RunCodeOptions, S3FSMountError, Sandbox, SandboxClient, type HttpClientOptions as SandboxClientOptions, type SandboxEnv, type SandboxOptions, type SessionOptions, type SessionRequest, type StartProcessRequest, type StreamOptions, type UnexposePortRequest, UtilityClient, type WaitForLogResult, type WaitForPortOptions, type WriteFileRequest, asyncIterableToSSEStream, collectFile, getSandbox, isExecResult, isProcess, isProcessStatus, parseSSEStream, proxyToSandbox, responseToAsyncIterable, streamFile };
|
|
232
225
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["ExecuteRequest","Record","StartProcessRequest","ReadFileRequest","WriteFileRequest","DeleteFileRequest","RenameFileRequest","MoveFileRequest","MkdirRequest","FileExistsRequest","ExposePortRequest","GitCheckoutRequest","SessionCreateRequest","SessionDeleteRequest"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["ExecuteRequest","Record","StartProcessRequest","ReadFileRequest","WriteFileRequest","DeleteFileRequest","RenameFileRequest","MoveFileRequest","MkdirRequest","FileExistsRequest","ExposePortRequest","GitCheckoutRequest","SessionCreateRequest","SessionDeleteRequest"],"sources":["../../shared/dist/request-types.d.ts","../src/errors/classes.ts","../src/file-stream.ts","../src/interpreter.ts","../src/request-handler.ts","../src/sse-parser.ts","../src/storage-mount/errors.ts"],"sourcesContent":["/**\n * Request types for API calls to the container\n * These types enforce the contract between the Durable Object client and container handlers\n *\n * IMPORTANT: These types must match the Zod schemas in:\n * @repo/sandbox-container/src/validation/schemas.ts\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>;\n cwd?: string;\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>;\n cwd?: string;\n encoding?: string;\n autoCleanup?: boolean;\n}\n/**\n * Request to read a file\n */\nexport interface ReadFileRequest {\n path: string;\n encoding?: string;\n sessionId?: string;\n}\n/**\n * Request to write a file\n */\nexport interface WriteFileRequest {\n path: string;\n content: string;\n encoding?: string;\n sessionId?: string;\n}\n/**\n * Request to delete a file\n */\nexport interface DeleteFileRequest {\n path: string;\n sessionId?: string;\n}\n/**\n * Request to rename a file\n */\nexport interface RenameFileRequest {\n oldPath: string;\n newPath: string;\n sessionId?: string;\n}\n/**\n * Request to move a file\n */\nexport interface MoveFileRequest {\n sourcePath: string;\n destinationPath: string;\n sessionId?: string;\n}\n/**\n * Request to create a directory\n */\nexport interface MkdirRequest {\n path: string;\n recursive?: boolean;\n sessionId?: string;\n}\n/**\n * Request to check if a file or directory exists\n */\nexport interface FileExistsRequest {\n path: string;\n sessionId?: string;\n}\n/**\n * Request to expose a port\n */\nexport interface ExposePortRequest {\n port: number;\n name?: 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}\n/**\n * Request to create a session\n */\nexport interface SessionCreateRequest {\n id?: string;\n name?: string;\n env?: Record<string, string>;\n cwd?: string;\n}\n/**\n * Request to delete a session\n */\nexport interface SessionDeleteRequest {\n sessionId: string;\n}\n//# sourceMappingURL=request-types.d.ts.map"],"mappings":"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"}
|