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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/Dockerfile +12 -17
  2. package/README.md +48 -2
  3. package/dist/bridge/index.d.ts.map +1 -1
  4. package/dist/bridge/index.js +1365 -1054
  5. package/dist/bridge/index.js.map +1 -1
  6. package/dist/{contexts-BS0Bs6IU.d.ts → contexts-1EsLHByO.d.ts} +240 -15
  7. package/dist/contexts-1EsLHByO.d.ts.map +1 -0
  8. package/dist/{dist-DF8sudAg.js → dist-Duor5GbS.js} +38 -147
  9. package/dist/dist-Duor5GbS.js.map +1 -0
  10. package/dist/errors/index.d.ts +4 -0
  11. package/dist/errors/index.js +4 -0
  12. package/dist/{errors-BG6NZiPD.js → errors-CXR0xBpw.js} +82 -13
  13. package/dist/errors-CXR0xBpw.js.map +1 -0
  14. package/dist/errors-QYlSkVGz.js +893 -0
  15. package/dist/errors-QYlSkVGz.js.map +1 -0
  16. package/dist/extensions/index.d.ts +4 -74
  17. package/dist/extensions/index.js +5 -152
  18. package/dist/extensions-CFB2xHqY.js +1023 -0
  19. package/dist/extensions-CFB2xHqY.js.map +1 -0
  20. package/dist/filesystem-BWAZCZER.d.ts +732 -0
  21. package/dist/filesystem-BWAZCZER.d.ts.map +1 -0
  22. package/dist/git/index.d.ts +63 -0
  23. package/dist/git/index.d.ts.map +1 -0
  24. package/dist/git/index.js +338 -0
  25. package/dist/git/index.js.map +1 -0
  26. package/dist/index-Bs4bqXDR.d.ts +438 -0
  27. package/dist/index-Bs4bqXDR.d.ts.map +1 -0
  28. package/dist/index-HNYBk-az.d.ts +444 -0
  29. package/dist/index-HNYBk-az.d.ts.map +1 -0
  30. package/dist/index.d.ts +487 -181
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +12 -43
  33. package/dist/index.js.map +1 -1
  34. package/dist/interpreter/index.d.ts +311 -0
  35. package/dist/interpreter/index.d.ts.map +1 -0
  36. package/dist/interpreter/index.js +292 -0
  37. package/dist/interpreter/index.js.map +1 -0
  38. package/dist/openai/index.d.ts +5 -4
  39. package/dist/openai/index.d.ts.map +1 -1
  40. package/dist/openai/index.js +11 -6
  41. package/dist/openai/index.js.map +1 -1
  42. package/dist/opencode/index.d.ts +133 -161
  43. package/dist/opencode/index.d.ts.map +1 -1
  44. package/dist/opencode/index.js +284 -203
  45. package/dist/opencode/index.js.map +1 -1
  46. package/dist/process-types-GStiZ8f8.d.ts +73 -0
  47. package/dist/process-types-GStiZ8f8.d.ts.map +1 -0
  48. package/dist/sandbox-Auuwfnur.js +10010 -0
  49. package/dist/sandbox-Auuwfnur.js.map +1 -0
  50. package/dist/sandbox-BbAabq93.d.ts +42 -0
  51. package/dist/sandbox-BbAabq93.d.ts.map +1 -0
  52. package/dist/xterm/index.d.ts +11 -7
  53. package/dist/xterm/index.d.ts.map +1 -1
  54. package/dist/xterm/index.js +61 -18
  55. package/dist/xterm/index.js.map +1 -1
  56. package/package.json +28 -4
  57. package/dist/contexts-BS0Bs6IU.d.ts.map +0 -1
  58. package/dist/dist-DF8sudAg.js.map +0 -1
  59. package/dist/errors-BG6NZiPD.js.map +0 -1
  60. package/dist/extensions/index.d.ts.map +0 -1
  61. package/dist/extensions/index.js.map +0 -1
  62. package/dist/rpc-types-PBUY-xXM.d.ts +0 -1679
  63. package/dist/rpc-types-PBUY-xXM.d.ts.map +0 -1
  64. package/dist/sandbox-BgwMBQ7S.js +0 -8273
  65. package/dist/sandbox-BgwMBQ7S.js.map +0 -1
  66. package/dist/sandbox-D_MMqExx.d.ts +0 -1077
  67. package/dist/sandbox-D_MMqExx.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/errors/classes.ts","../src/file-stream.ts","../src/interpreter.ts","../src/pty/proxy.ts","../src/request-handler.ts","../src/sse-parser.ts","../src/storage-mount/errors.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/file-stream.ts","../src/platform-errors.ts","../src/pty/rpc-types.ts","../src/pty/proxy.ts","../src/backup/restore-fault-injection.ts","../src/storage-mount/errors.ts","../src/storage-mount/outbound/container-proxy.ts","../src/tunnels/tunnel-service.ts","../src/sandbox.ts","../src/request-handler.ts","../src/sse-parser.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
- import { l as TraceContext, n as isProcess, r as isProcessStatus, s as createLogger, t as isExecResult } from "./dist-DF8sudAg.js";
2
- import "./errors-BG6NZiPD.js";
3
- import { A as InvalidBackupConfigError, C as collectFile, D as BackupNotFoundError, E as BackupExpiredError, M as ProcessReadyTimeoutError, N as RPCTransportError, O as BackupRestoreError, P as SessionTerminatedError, T as BackupCreateError, _ as proxyTerminal, a as BucketUnmountError, b as sanitizeSandboxId, c as S3FSMountError, d as responseToAsyncIterable, f as PREVIEW_PROXY_HEADER, g as PREVIEW_PROXY_TOKEN_HEADER, h as PREVIEW_PROXY_SANDBOX_ID_HEADER, i as BucketMountError, j as ProcessExitedBeforeReadyError, k as ContainerUnavailableError, l as asyncIterableToSSEStream, m as PREVIEW_PROXY_PORT_HEADER, n as Sandbox, o as InvalidMountConfigError, p as PREVIEW_PROXY_HEADERS, r as getSandbox, s as MissingCredentialsError, t as ContainerProxy, u as parseSSEStream, v as CodeInterpreter, w as streamFile, x as validatePort } from "./sandbox-BgwMBQ7S.js";
1
+ import "./errors-CXR0xBpw.js";
2
+ import { $ as TerminalControlError, G as BackupRestoreError, H as BackupCreateError, J as InvalidTerminalCursorError, K as ContainerUnavailableError, Q as StaleTerminalHandleError, U as BackupExpiredError, W as BackupNotFoundError, X as OperationInterruptedError, Y as InvalidTerminalCwdError, Z as RPCTransportError, _ as StaleProcessHandleError, c as InvalidProcessEnvironmentError, d as ProcessExitedBeforeLogError, et as TerminalNotFoundError, f as ProcessExitedBeforeReadyError, g as ProcessWaitTimeoutError, h as ProcessSpawnFailedError, l as ProcessAbortedError, m as ProcessReadyTimeoutError, n as RuntimeIdentityInactiveError, o as InvalidProcessCursorError, p as ProcessNotFoundError, q as InvalidBackupConfigError, r as RuntimeControlProtocolError, s as InvalidProcessCwdError, u as ProcessError } from "./errors-QYlSkVGz.js";
3
+ import { a as TraceContext, r as createLogger } from "./dist-Duor5GbS.js";
4
+ import { _ as proxyTerminal, a as responseToAsyncIterable, b as collectFile, c as BucketUnmountError, d as S3FSMountError, f as parsePreviewRoute, i as parseSSEStream, l as InvalidMountConfigError, n as getSandbox, o as ContainerProxy, p as withPreviewProxyMetadata, r as asyncIterableToSSEStream, s as BucketMountError, t as Sandbox, u as MissingCredentialsError, v as isDurableObjectCodeUpdateReset, x as streamFile, y as isPlatformTransientError } from "./sandbox-Auuwfnur.js";
5
+ import "./extensions-CFB2xHqY.js";
4
6
 
5
7
  //#region src/request-handler.ts
6
8
  function createProxyLogger(request) {
@@ -12,53 +14,20 @@ function createProxyLogger(request) {
12
14
  }
13
15
  async function proxyToSandbox(request, env) {
14
16
  try {
15
- const routeInfo = extractSandboxRoute(new URL(request.url));
17
+ const routeInfo = parsePreviewRoute(new URL(request.url));
16
18
  if (!routeInfo) return null;
17
19
  const { sandboxId, port, token } = routeInfo;
18
- const sandbox = getSandbox(env.Sandbox, sandboxId, { normalizeId: true });
19
- const headers = new Headers(request.headers);
20
- for (const header of PREVIEW_PROXY_HEADERS) headers.delete(header);
21
- headers.set(PREVIEW_PROXY_HEADER, "1");
22
- headers.set(PREVIEW_PROXY_PORT_HEADER, port.toString());
23
- headers.set(PREVIEW_PROXY_TOKEN_HEADER, token);
24
- headers.set(PREVIEW_PROXY_SANDBOX_ID_HEADER, sandboxId);
25
- const previewRequest = new Request(request, { headers });
26
- return await sandbox.fetch(previewRequest);
20
+ return await getSandbox(env.Sandbox, sandboxId, { normalizeId: true }).fetch(withPreviewProxyMetadata(request, {
21
+ port,
22
+ token,
23
+ sandboxId
24
+ }));
27
25
  } catch (error) {
28
26
  createProxyLogger(request).error("Proxy routing error", error instanceof Error ? error : new Error(String(error)));
29
27
  return new Response("Proxy routing error", { status: 500 });
30
28
  }
31
29
  }
32
- function extractSandboxRoute(url) {
33
- const dotIndex = url.hostname.indexOf(".");
34
- if (dotIndex === -1) return null;
35
- const subdomain = url.hostname.slice(0, dotIndex);
36
- const firstHyphen = subdomain.indexOf("-");
37
- if (firstHyphen === -1) return null;
38
- const portStr = subdomain.slice(0, firstHyphen);
39
- if (!/^\d{4,5}$/.test(portStr)) return null;
40
- const port = parseInt(portStr, 10);
41
- if (!validatePort(port)) return null;
42
- const rest = subdomain.slice(firstHyphen + 1);
43
- const lastHyphen = rest.lastIndexOf("-");
44
- if (lastHyphen === -1) return null;
45
- const sandboxId = rest.slice(0, lastHyphen);
46
- const token = rest.slice(lastHyphen + 1);
47
- if (!/^[a-z0-9_]+$/.test(token) || token.length === 0 || token.length > 63) return null;
48
- if (sandboxId.length === 0 || sandboxId.length > 63) return null;
49
- let sanitizedSandboxId;
50
- try {
51
- sanitizedSandboxId = sanitizeSandboxId(sandboxId);
52
- } catch {
53
- return null;
54
- }
55
- return {
56
- port,
57
- sandboxId: sanitizedSandboxId,
58
- token
59
- };
60
- }
61
30
 
62
31
  //#endregion
63
- export { BackupCreateError, BackupExpiredError, BackupNotFoundError, BackupRestoreError, BucketMountError, BucketUnmountError, CodeInterpreter, ContainerProxy, ContainerUnavailableError, InvalidBackupConfigError, InvalidMountConfigError, MissingCredentialsError, ProcessExitedBeforeReadyError, ProcessReadyTimeoutError, RPCTransportError, S3FSMountError, Sandbox, SessionTerminatedError, asyncIterableToSSEStream, collectFile, getSandbox, isExecResult, isProcess, isProcessStatus, parseSSEStream, proxyTerminal, proxyToSandbox, responseToAsyncIterable, streamFile };
32
+ export { BackupCreateError, BackupExpiredError, BackupNotFoundError, BackupRestoreError, BucketMountError, BucketUnmountError, ContainerProxy, ContainerUnavailableError, InvalidBackupConfigError, InvalidMountConfigError, InvalidProcessCursorError, InvalidProcessCwdError, InvalidProcessEnvironmentError, InvalidTerminalCursorError, InvalidTerminalCwdError, MissingCredentialsError, OperationInterruptedError, ProcessAbortedError, ProcessError, ProcessExitedBeforeLogError, ProcessExitedBeforeReadyError, ProcessNotFoundError, ProcessReadyTimeoutError, ProcessSpawnFailedError, ProcessWaitTimeoutError, RPCTransportError, RuntimeControlProtocolError, RuntimeIdentityInactiveError, S3FSMountError, Sandbox, StaleProcessHandleError, StaleTerminalHandleError, TerminalControlError, TerminalNotFoundError, asyncIterableToSSEStream, collectFile, getSandbox, isDurableObjectCodeUpdateReset, isPlatformTransientError, parseSSEStream, proxyTerminal, proxyToSandbox, responseToAsyncIterable, streamFile };
64
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["sanitizedSandboxId: string"],"sources":["../src/request-handler.ts"],"sourcesContent":["import { createLogger, TraceContext } from '@repo/shared';\nimport {\n PREVIEW_PROXY_HEADER,\n PREVIEW_PROXY_HEADERS,\n PREVIEW_PROXY_PORT_HEADER,\n PREVIEW_PROXY_SANDBOX_ID_HEADER,\n PREVIEW_PROXY_TOKEN_HEADER\n} from './preview-proxy-protocol';\nimport { getSandbox, type Sandbox } from './sandbox';\nimport { sanitizeSandboxId, validatePort } from './security';\n\nexport interface SandboxEnv<T extends Sandbox<any> = Sandbox<any>> {\n Sandbox: DurableObjectNamespace<T>;\n}\n\ninterface RouteInfo {\n port: number;\n sandboxId: string;\n token: string;\n}\n\nfunction createProxyLogger(request: Request) {\n const traceId =\n TraceContext.fromHeaders(request.headers) || TraceContext.generate();\n return createLogger({\n component: 'sandbox-do',\n traceId,\n operation: 'proxy'\n });\n}\n\nexport async function proxyToSandbox<\n T extends Sandbox<any>,\n E extends SandboxEnv<T>\n>(request: Request, env: E): Promise<Response | null> {\n try {\n const url = new URL(request.url);\n const routeInfo = extractSandboxRoute(url);\n\n if (!routeInfo) {\n return null; // Not a request to an exposed container port\n }\n\n const { sandboxId, port, token } = routeInfo;\n // Preview URLs always use normalized (lowercase) IDs\n const sandbox = getSandbox(env.Sandbox, sandboxId, { normalizeId: true });\n\n const headers = new Headers(request.headers);\n for (const header of PREVIEW_PROXY_HEADERS) {\n headers.delete(header);\n }\n headers.set(PREVIEW_PROXY_HEADER, '1');\n headers.set(PREVIEW_PROXY_PORT_HEADER, port.toString());\n headers.set(PREVIEW_PROXY_TOKEN_HEADER, token);\n headers.set(PREVIEW_PROXY_SANDBOX_ID_HEADER, sandboxId);\n\n const previewRequest = new Request(request, { headers });\n return await sandbox.fetch(previewRequest);\n } catch (error) {\n const logger = createProxyLogger(request);\n logger.error(\n 'Proxy routing error',\n error instanceof Error ? error : new Error(String(error))\n );\n return new Response('Proxy routing error', { status: 500 });\n }\n}\n\nfunction extractSandboxRoute(url: URL): RouteInfo | null {\n // URL format: {port}-{sandboxId}-{token}.{domain}\n // Tokens are [a-z0-9_]+, so we split at the last hyphen to handle sandboxIds with hyphens (UUIDs)\n const dotIndex = url.hostname.indexOf('.');\n if (dotIndex === -1) {\n return null;\n }\n\n const subdomain = url.hostname.slice(0, dotIndex);\n\n // Extract port (digits at start followed by hyphen)\n const firstHyphen = subdomain.indexOf('-');\n if (firstHyphen === -1) {\n return null;\n }\n\n const portStr = subdomain.slice(0, firstHyphen);\n if (!/^\\d{4,5}$/.test(portStr)) {\n return null;\n }\n\n const port = parseInt(portStr, 10);\n if (!validatePort(port)) {\n return null;\n }\n\n // Extract token (last hyphen-delimited segment) and sandboxId (everything between port and token)\n const rest = subdomain.slice(firstHyphen + 1);\n const lastHyphen = rest.lastIndexOf('-');\n if (lastHyphen === -1) {\n return null;\n }\n\n const sandboxId = rest.slice(0, lastHyphen);\n const token = rest.slice(lastHyphen + 1);\n\n // No hyphens in tokens: URL is {port}-{sandboxId}-{token}.{domain}\n // We split at the LAST hyphen, so hyphens in tokens would be ambiguous.\n // The SDK issues tokens up to 16 chars; 63 is the DNS label component limit.\n if (!/^[a-z0-9_]+$/.test(token) || token.length === 0 || token.length > 63) {\n return null;\n }\n\n // Validate and sanitize sandboxId\n if (sandboxId.length === 0 || sandboxId.length > 63) {\n return null;\n }\n\n let sanitizedSandboxId: string;\n try {\n sanitizedSandboxId = sanitizeSandboxId(sandboxId);\n } catch {\n return null;\n }\n\n return {\n port,\n sandboxId: sanitizedSandboxId,\n token\n };\n}\n"],"mappings":";;;;;AAqBA,SAAS,kBAAkB,SAAkB;AAG3C,QAAO,aAAa;EAClB,WAAW;EACX,SAHA,aAAa,YAAY,QAAQ,QAAQ,IAAI,aAAa,UAAU;EAIpE,WAAW;EACZ,CAAC;;AAGJ,eAAsB,eAGpB,SAAkB,KAAkC;AACpD,KAAI;EAEF,MAAM,YAAY,oBADN,IAAI,IAAI,QAAQ,IAAI,CACU;AAE1C,MAAI,CAAC,UACH,QAAO;EAGT,MAAM,EAAE,WAAW,MAAM,UAAU;EAEnC,MAAM,UAAU,WAAW,IAAI,SAAS,WAAW,EAAE,aAAa,MAAM,CAAC;EAEzE,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAC5C,OAAK,MAAM,UAAU,sBACnB,SAAQ,OAAO,OAAO;AAExB,UAAQ,IAAI,sBAAsB,IAAI;AACtC,UAAQ,IAAI,2BAA2B,KAAK,UAAU,CAAC;AACvD,UAAQ,IAAI,4BAA4B,MAAM;AAC9C,UAAQ,IAAI,iCAAiC,UAAU;EAEvD,MAAM,iBAAiB,IAAI,QAAQ,SAAS,EAAE,SAAS,CAAC;AACxD,SAAO,MAAM,QAAQ,MAAM,eAAe;UACnC,OAAO;AAEd,EADe,kBAAkB,QAAQ,CAClC,MACL,uBACA,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC,CAC1D;AACD,SAAO,IAAI,SAAS,uBAAuB,EAAE,QAAQ,KAAK,CAAC;;;AAI/D,SAAS,oBAAoB,KAA4B;CAGvD,MAAM,WAAW,IAAI,SAAS,QAAQ,IAAI;AAC1C,KAAI,aAAa,GACf,QAAO;CAGT,MAAM,YAAY,IAAI,SAAS,MAAM,GAAG,SAAS;CAGjD,MAAM,cAAc,UAAU,QAAQ,IAAI;AAC1C,KAAI,gBAAgB,GAClB,QAAO;CAGT,MAAM,UAAU,UAAU,MAAM,GAAG,YAAY;AAC/C,KAAI,CAAC,YAAY,KAAK,QAAQ,CAC5B,QAAO;CAGT,MAAM,OAAO,SAAS,SAAS,GAAG;AAClC,KAAI,CAAC,aAAa,KAAK,CACrB,QAAO;CAIT,MAAM,OAAO,UAAU,MAAM,cAAc,EAAE;CAC7C,MAAM,aAAa,KAAK,YAAY,IAAI;AACxC,KAAI,eAAe,GACjB,QAAO;CAGT,MAAM,YAAY,KAAK,MAAM,GAAG,WAAW;CAC3C,MAAM,QAAQ,KAAK,MAAM,aAAa,EAAE;AAKxC,KAAI,CAAC,eAAe,KAAK,MAAM,IAAI,MAAM,WAAW,KAAK,MAAM,SAAS,GACtE,QAAO;AAIT,KAAI,UAAU,WAAW,KAAK,UAAU,SAAS,GAC/C,QAAO;CAGT,IAAIA;AACJ,KAAI;AACF,uBAAqB,kBAAkB,UAAU;SAC3C;AACN,SAAO;;AAGT,QAAO;EACL;EACA,WAAW;EACX;EACD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/request-handler.ts"],"sourcesContent":["import { createLogger, TraceContext } from '@repo/shared';\nimport { withPreviewProxyMetadata } from './preview/protocol';\nimport { parsePreviewRoute } from './preview/route';\nimport { getSandbox, type Sandbox } from './sandbox';\n\nexport interface SandboxEnv<T extends Sandbox<any> = Sandbox<any>> {\n Sandbox: DurableObjectNamespace<T>;\n}\n\nfunction createProxyLogger(request: Request) {\n const traceId =\n TraceContext.fromHeaders(request.headers) || TraceContext.generate();\n return createLogger({\n component: 'sandbox-do',\n traceId,\n operation: 'proxy'\n });\n}\n\nexport async function proxyToSandbox<\n T extends Sandbox<any>,\n E extends SandboxEnv<T>\n>(request: Request, env: E): Promise<Response | null> {\n try {\n const url = new URL(request.url);\n const routeInfo = parsePreviewRoute(url);\n\n if (!routeInfo) {\n return null; // Not a request to an exposed container port\n }\n\n const { sandboxId, port, token } = routeInfo;\n // Preview URLs always use normalized (lowercase) IDs\n const sandbox = getSandbox(env.Sandbox, sandboxId, { normalizeId: true });\n\n return await sandbox.fetch(\n withPreviewProxyMetadata(request, { port, token, sandboxId })\n );\n } catch (error) {\n const logger = createProxyLogger(request);\n logger.error(\n 'Proxy routing error',\n error instanceof Error ? error : new Error(String(error))\n );\n return new Response('Proxy routing error', { status: 500 });\n }\n}\n"],"mappings":";;;;;;;AASA,SAAS,kBAAkB,SAAkB;AAG3C,QAAO,aAAa;EAClB,WAAW;EACX,SAHA,aAAa,YAAY,QAAQ,QAAQ,IAAI,aAAa,UAAU;EAIpE,WAAW;EACZ,CAAC;;AAGJ,eAAsB,eAGpB,SAAkB,KAAkC;AACpD,KAAI;EAEF,MAAM,YAAY,kBADN,IAAI,IAAI,QAAQ,IAAI,CACQ;AAExC,MAAI,CAAC,UACH,QAAO;EAGT,MAAM,EAAE,WAAW,MAAM,UAAU;AAInC,SAAO,MAFS,WAAW,IAAI,SAAS,WAAW,EAAE,aAAa,MAAM,CAAC,CAEpD,MACnB,yBAAyB,SAAS;GAAE;GAAM;GAAO;GAAW,CAAC,CAC9D;UACM,OAAO;AAEd,EADe,kBAAkB,QAAQ,CAClC,MACL,uBACA,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC,CAC1D;AACD,SAAO,IAAI,SAAS,uBAAuB,EAAE,QAAQ,KAAK,CAAC"}
@@ -0,0 +1,311 @@
1
+ import "../process-types-GStiZ8f8.js";
2
+ import "../filesystem-BWAZCZER.js";
3
+ import { c as SandboxExtension, l as SandboxLike } from "../index-Bs4bqXDR.js";
4
+
5
+ //#region ../../extensions/interpreter/src/types.d.ts
6
+
7
+ /**
8
+ * Public, user-facing types for the code interpreter extension.
9
+ *
10
+ * These were previously part of `@repo/shared` and the core SDK surface. They
11
+ * now live entirely inside the `@cloudflare/sandbox/interpreter` extension so
12
+ * the core SDK carries no interpreter-specific types.
13
+ */
14
+ interface CreateContextOptions {
15
+ /**
16
+ * Programming language for the context
17
+ * @default 'python'
18
+ */
19
+ language?: 'python' | 'javascript' | 'typescript';
20
+ /**
21
+ * Working directory for the context
22
+ * @default '/workspace'
23
+ */
24
+ cwd?: string;
25
+ /**
26
+ * Environment variables for the context.
27
+ * Undefined values are skipped (treated as "not configured").
28
+ */
29
+ envVars?: Record<string, string | undefined>;
30
+ /**
31
+ * Request timeout in milliseconds
32
+ * @default 30000
33
+ */
34
+ timeout?: number;
35
+ }
36
+ interface CodeContext {
37
+ /**
38
+ * Unique identifier for the context
39
+ */
40
+ readonly id: string;
41
+ /**
42
+ * Programming language of the context
43
+ */
44
+ readonly language: string;
45
+ /**
46
+ * Current working directory
47
+ */
48
+ readonly cwd: string;
49
+ /**
50
+ * When the context was created
51
+ */
52
+ readonly createdAt: Date;
53
+ /**
54
+ * When the context was last used
55
+ */
56
+ readonly lastUsed: Date;
57
+ }
58
+ interface RunCodeOptions {
59
+ /**
60
+ * Context to run the code in. If not provided, uses default context for the language
61
+ */
62
+ context?: CodeContext;
63
+ /**
64
+ * Language to use if context is not provided
65
+ * @default 'python'
66
+ */
67
+ language?: 'python' | 'javascript' | 'typescript';
68
+ /**
69
+ * Environment variables for this execution.
70
+ * Undefined values are skipped (treated as "not configured").
71
+ */
72
+ envVars?: Record<string, string | undefined>;
73
+ /**
74
+ * Execution timeout in milliseconds
75
+ * @default 60000
76
+ */
77
+ timeout?: number;
78
+ /**
79
+ * AbortSignal for cancelling execution
80
+ */
81
+ signal?: AbortSignal;
82
+ /**
83
+ * Callback for stdout output
84
+ */
85
+ onStdout?: (output: OutputMessage) => void | Promise<void>;
86
+ /**
87
+ * Callback for stderr output
88
+ */
89
+ onStderr?: (output: OutputMessage) => void | Promise<void>;
90
+ /**
91
+ * Callback for execution results (charts, tables, etc).
92
+ * Receives plain `ResultData` so it stays serializable when the callback
93
+ * crosses the Worker/DO boundary.
94
+ */
95
+ onResult?: (result: ResultData) => void | Promise<void>;
96
+ /**
97
+ * Callback for execution errors
98
+ */
99
+ onError?: (error: ExecutionError) => void | Promise<void>;
100
+ }
101
+ interface OutputMessage {
102
+ /**
103
+ * The output text
104
+ */
105
+ text: string;
106
+ /**
107
+ * Timestamp of the output
108
+ */
109
+ timestamp: number;
110
+ }
111
+ interface ResultData {
112
+ /**
113
+ * Plain text representation
114
+ */
115
+ text?: string;
116
+ /**
117
+ * HTML representation (tables, formatted output)
118
+ */
119
+ html?: string;
120
+ /**
121
+ * PNG image data (base64 encoded)
122
+ */
123
+ png?: string;
124
+ /**
125
+ * JPEG image data (base64 encoded)
126
+ */
127
+ jpeg?: string;
128
+ /**
129
+ * SVG image data
130
+ */
131
+ svg?: string;
132
+ /**
133
+ * LaTeX representation
134
+ */
135
+ latex?: string;
136
+ /**
137
+ * Markdown representation
138
+ */
139
+ markdown?: string;
140
+ /**
141
+ * JavaScript code to execute
142
+ */
143
+ javascript?: string;
144
+ /**
145
+ * JSON data
146
+ */
147
+ json?: any;
148
+ /**
149
+ * Chart data if the result is a visualization
150
+ */
151
+ chart?: ChartData;
152
+ /**
153
+ * Raw data object
154
+ */
155
+ data?: any;
156
+ }
157
+ interface Result extends ResultData {
158
+ /**
159
+ * Available output formats
160
+ */
161
+ formats(): string[];
162
+ }
163
+ interface ChartData {
164
+ /**
165
+ * Type of chart
166
+ */
167
+ type: 'line' | 'bar' | 'scatter' | 'pie' | 'histogram' | 'heatmap' | 'unknown';
168
+ /**
169
+ * Chart title
170
+ */
171
+ title?: string;
172
+ /**
173
+ * Chart data (format depends on library)
174
+ */
175
+ data: any;
176
+ /**
177
+ * Chart layout/configuration
178
+ */
179
+ layout?: any;
180
+ /**
181
+ * Additional configuration
182
+ */
183
+ config?: any;
184
+ /**
185
+ * Library that generated the chart
186
+ */
187
+ library?: 'matplotlib' | 'plotly' | 'altair' | 'seaborn' | 'unknown';
188
+ /**
189
+ * Base64 encoded image if available
190
+ */
191
+ image?: string;
192
+ }
193
+ interface ExecutionError {
194
+ /**
195
+ * Error name/type (e.g., 'NameError', 'SyntaxError')
196
+ */
197
+ name: string;
198
+ /**
199
+ * Error message
200
+ */
201
+ message: string;
202
+ /**
203
+ * Stack trace
204
+ */
205
+ traceback: string[];
206
+ /**
207
+ * Line number where error occurred
208
+ */
209
+ lineNumber?: number;
210
+ }
211
+ interface ExecutionResult {
212
+ code: string;
213
+ logs: {
214
+ stdout: string[];
215
+ stderr: string[];
216
+ };
217
+ error?: ExecutionError;
218
+ executionCount?: number;
219
+ results: ResultData[];
220
+ }
221
+ declare class Execution {
222
+ readonly code: string;
223
+ readonly context: CodeContext;
224
+ /**
225
+ * All results from the execution
226
+ */
227
+ results: Result[];
228
+ /**
229
+ * Accumulated stdout and stderr
230
+ */
231
+ logs: {
232
+ stdout: string[];
233
+ stderr: string[];
234
+ };
235
+ /**
236
+ * Execution error if any
237
+ */
238
+ error?: ExecutionError;
239
+ /**
240
+ * Execution count (for interpreter)
241
+ */
242
+ executionCount?: number;
243
+ constructor(code: string, context: CodeContext);
244
+ /**
245
+ * Convert to a plain object for serialization
246
+ */
247
+ toJSON(): ExecutionResult;
248
+ }
249
+ declare class ResultImpl implements Result {
250
+ text?: string;
251
+ html?: string;
252
+ png?: string;
253
+ jpeg?: string;
254
+ svg?: string;
255
+ latex?: string;
256
+ markdown?: string;
257
+ javascript?: string;
258
+ json?: any;
259
+ chart?: ChartData;
260
+ data?: any;
261
+ constructor(raw: any);
262
+ formats(): string[];
263
+ }
264
+ /**
265
+ * Wire-level execution event emitted by the sidecar over the bridge as a
266
+ * streaming `evt` frame, mirrored from the container interpreter service.
267
+ */
268
+ type InterpreterExecutionEvent = {
269
+ type: 'stdout';
270
+ text: string;
271
+ } | {
272
+ type: 'stderr';
273
+ text: string;
274
+ } | {
275
+ type: 'result';
276
+ metadata: Record<string, unknown>;
277
+ [key: string]: unknown;
278
+ } | {
279
+ type: 'execution_complete';
280
+ execution_count: number;
281
+ } | {
282
+ type: 'error';
283
+ ename: string;
284
+ evalue: string;
285
+ traceback: string[];
286
+ };
287
+ //#endregion
288
+ //#region ../../extensions/interpreter/src/index.d.ts
289
+ /**
290
+ * The interpreter extension. Bridges to the sidecar over the extension host;
291
+ * reconstructs streamed execution events into serializable execution results.
292
+ */
293
+ declare class Interpreter extends SandboxExtension {
294
+ #private;
295
+ constructor(sandbox: SandboxLike);
296
+ /** Create a new code execution context. */
297
+ createCodeContext(options?: CreateContextOptions): Promise<CodeContext>;
298
+ /** Run code with optional context, collecting results into serializable data. */
299
+ runCode(code: string, options?: RunCodeOptions): Promise<ExecutionResult>;
300
+ /** Run code and surface raw execution events as an SSE byte stream. */
301
+ runCodeStream(code: string, options?: RunCodeOptions): Promise<ReadableStream<Uint8Array>>;
302
+ /** List all code contexts (refreshes the local cache). */
303
+ listCodeContexts(): Promise<CodeContext[]>;
304
+ /** Delete a code context. */
305
+ deleteCodeContext(contextId: string): Promise<void>;
306
+ }
307
+ /** Factory — the consumer-facing API. */
308
+ declare function withInterpreter(sandbox: SandboxLike): Interpreter;
309
+ //#endregion
310
+ export { type ChartData, type CodeContext, type CreateContextOptions, Execution, type ExecutionError, type ExecutionResult, Interpreter, type InterpreterExecutionEvent, type OutputMessage, type Result, type ResultData, ResultImpl, type RunCodeOptions, withInterpreter };
311
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../extensions/interpreter/src/types.ts","../../../../extensions/interpreter/src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AASA;AA0BA;AA4BiB,UAtDA,oBAAA,CAsDc;EAInB;;;;EA4BmC,QAAA,CAAA,EAAA,QAAA,GAAA,YAAA,GAAA,YAAA;EAKzB;;;;EAYF,GAAA,CAAA,EAAA,MAAA;EAA0B;;AAI9C;AAaA;EA0DiB,OAAA,CAAA,EAjKL,MAiKY,CAAA,MAAQ,EAAA,MAAA,GAAU,SAAA,CAAA;EAQzB;AA6CjB;AAuBA;AAYA;EA0B6B,OAAA,CAAA,EAAA,MAAA;;AATZ,UAjQA,WAAA,CAiQA;EASY;;;EAmChB,SAAA,EAAA,EAAW,MAAA;EA+CZ;;;;EC/RC;;;EAUA,SAAA,GAAA,EAAA,MAAA;EAAR;;;EAoBA,SAAA,SAAA,EDxEiB,ICwEjB;EAqBQ;;;EACR,SAAA,QAAA,EDzFgB,ICyFhB;;AAmDuB,UDxIX,cAAA,CCwIW;EAakB;;;EAgE9B,OAAA,CAAA,EDjNJ,WCiNmB;;;;;;;;;;YDrMnB;;;;;;;;;WAWD;;;;sBAKW,yBAAyB;;;;sBAKzB,yBAAyB;;;;;;sBAOzB,sBAAsB;;;;oBAKxB,0BAA0B;;UAI7B,aAAA;;;;;;;;;;UAaA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiDP;;;;;;UASO,MAAA,SAAe;;;;;;UAQf,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6CA,cAAA;;;;;;;;;;;;;;;;;;UAuBA,eAAA;;;;;;UAMP;;WAEC;;cAIE,SAAA;;oBA0BgB;;;;WAtBX;;;;;;;;;;;UAaD;;;;;qCASY;;;;YAMjB;;cA6BC,UAAA,YAAsB;;;;;;;;;;UAUzB;;;;;;;;;KAqCE,yBAAA;;;;;;;;YAKI;;;;;;;;;;;;;;;;;AAjFJ,cCnNC,WAAA,SAAoB,gBAAA,CDmNrB;EAAe,CAAA,OAAA;EA6Bd,WAAA,CAAA,OAAW,EC7OD,WDuPb;EAqCE;8BCtRC,uBACR,QAAQ;;kCAmBA,iBACR,QAAQ;EA9BA;EAGU,aAAA,CAAA,IAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAgDV,cAhDU,CAAA,EAiDlB,OAjDkB,CAiDV,cAjDU,CAiDK,UAjDL,CAAA,CAAA;EAMV;EACA,gBAAA,CAAA,CAAA,EA6Fe,OA7Ff,CA6FuB,WA7FvB,EAAA,CAAA;EAAR;EAmBQ,iBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAuFiC,OAvFjC,CAAA,IAAA,CAAA;;;AAsBA,iBAiIG,eAAA,CAjIH,OAAA,EAiI4B,WAjI5B,CAAA,EAiI0C,WAjI1C"}