inngest 4.19.0 → 4.20.0

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 (48) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/components/realtime/types.d.cts +3 -3
  3. package/components/realtime/types.d.cts.map +1 -1
  4. package/components/realtime/types.d.ts +3 -3
  5. package/components/realtime/types.d.ts.map +1 -1
  6. package/components/sandbox/client.cjs +243 -29
  7. package/components/sandbox/client.cjs.map +1 -1
  8. package/components/sandbox/client.js +239 -31
  9. package/components/sandbox/client.js.map +1 -1
  10. package/components/sandbox/durable.cjs +158 -1
  11. package/components/sandbox/durable.cjs.map +1 -1
  12. package/components/sandbox/durable.js +160 -3
  13. package/components/sandbox/durable.js.map +1 -1
  14. package/components/sandbox/middleware.cjs +1 -0
  15. package/components/sandbox/middleware.cjs.map +1 -1
  16. package/components/sandbox/middleware.d.cts.map +1 -1
  17. package/components/sandbox/middleware.d.ts.map +1 -1
  18. package/components/sandbox/middleware.js +1 -0
  19. package/components/sandbox/middleware.js.map +1 -1
  20. package/components/sandbox/protocol.cjs +100 -4
  21. package/components/sandbox/protocol.cjs.map +1 -1
  22. package/components/sandbox/protocol.js +101 -5
  23. package/components/sandbox/protocol.js.map +1 -1
  24. package/components/sandbox/types.cjs +2 -0
  25. package/components/sandbox/types.cjs.map +1 -1
  26. package/components/sandbox/types.d.cts +100 -15
  27. package/components/sandbox/types.d.cts.map +1 -1
  28. package/components/sandbox/types.d.ts +100 -15
  29. package/components/sandbox/types.d.ts.map +1 -1
  30. package/components/sandbox/types.js +2 -0
  31. package/components/sandbox/types.js.map +1 -1
  32. package/components/sandbox/validation.cjs +75 -3
  33. package/components/sandbox/validation.cjs.map +1 -1
  34. package/components/sandbox/validation.js +71 -4
  35. package/components/sandbox/validation.js.map +1 -1
  36. package/experimental.d.cts +2 -2
  37. package/experimental.d.ts +2 -2
  38. package/package.json +1 -1
  39. package/react.d.cts +1 -1
  40. package/react.d.ts +1 -1
  41. package/types.d.cts +8 -8
  42. package/types.d.ts +8 -8
  43. package/version.cjs +1 -1
  44. package/version.cjs.map +1 -1
  45. package/version.d.cts +1 -1
  46. package/version.d.ts +1 -1
  47. package/version.js +1 -1
  48. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","names":[],"sources":["../../../src/components/sandbox/protocol.ts"],"sourcesContent":["import { z } from \"zod/v3\";\n\nimport type { StepOptionsOrId } from \"../../types.ts\";\nimport {\n type SandboxAction,\n type SandboxErrorDetail,\n type SandboxErrorOptions,\n SandboxValidationError,\n sandboxProtocolVersion,\n} from \"./types.ts\";\nimport {\n canonicalUuidSchema,\n normalizeSandboxCreateOptions,\n normalizeSandboxProcessStartOptions,\n parseWithSchema,\n sandboxNameSchema,\n sandboxProcessRefSchema,\n sandboxRefSchema,\n wireOutputChunkSchema,\n} from \"./validation.ts\";\n\nconst sandboxTargetSchema = z.object({ sandbox: sandboxRefSchema }).strict();\nconst processIdTargetSchema = sandboxTargetSchema\n .extend({ processId: canonicalUuidSchema })\n .strict();\nconst processTargetSchema = sandboxTargetSchema\n .extend({ process: sandboxProcessRefSchema })\n .strict()\n .superRefine((target, ctx) => {\n if (target.process.sandboxId !== target.sandbox.id) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"sandbox process reference belongs to another sandbox\",\n });\n }\n });\n\nconst createInputSchema = z\n .object({\n name: sandboxNameSchema,\n vcpu: z.number().int().positive().max(0xffffffff),\n memoryMb: z.number().int().positive().max(0xffffffff),\n environment: z.record(z.string()).optional(),\n runningTimeoutMs: z\n .union([z.number().int().positive().max(300_000), z.literal(false)])\n .optional(),\n })\n .strict()\n .superRefine((value, ctx) => {\n try {\n const { runningTimeoutMs, ...options } = value;\n normalizeSandboxCreateOptions({\n ...options,\n ...(runningTimeoutMs !== undefined && {\n runningTimeout: runningTimeoutMs,\n }),\n });\n } catch (error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n error instanceof Error ? error.message : \"invalid create options\",\n });\n }\n });\nconst listInputSchema = z\n .object({\n cursor: z.string().min(1).optional(),\n limit: z.number().int().min(1).max(250),\n })\n .strict();\nconst getInputSchema = z.object({ sandboxId: canonicalUuidSchema }).strict();\nconst processSpecShape = {\n command: z.array(z.string()).min(1).max(128),\n environment: z.record(z.string()).optional(),\n cwd: z.string().optional(),\n};\nconst validateProcessSpec = (\n value: {\n command: string[];\n environment?: Record<string, string>;\n cwd?: string;\n },\n ctx: z.RefinementCtx,\n): void => {\n try {\n const { command, environment, cwd } = value;\n normalizeSandboxProcessStartOptions({\n command,\n ...(environment !== undefined && { environment }),\n ...(cwd !== undefined && { cwd }),\n });\n } catch (error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: error instanceof Error ? error.message : \"invalid process spec\",\n });\n }\n};\nconst processSpecInputSchema = z\n .object(processSpecShape)\n .strict()\n .superRefine(validateProcessSpec);\nconst execInputSchema = z\n .object({\n ...processSpecShape,\n timeoutMs: z.number().int().positive().max(300_000),\n })\n .strict()\n .superRefine(validateProcessSpec);\nconst signalInputSchema = z\n .object({\n signal: z.number().int().min(1).max(64),\n includeChildren: z.boolean(),\n })\n .strict();\nconst waitInputSchema = z\n .object({ timeoutMs: z.number().int().positive().max(300_000) })\n .strict();\nconst outputInputSchema = z\n .object({\n tailBytes: z\n .number()\n .int()\n .min(0)\n .max(512 * 1_024),\n })\n .strict();\n\nexport const maxDurableSandboxExecOutputBytes = 2 << 20;\n\nconst operationBase = {\n protocolVersion: z.literal(sandboxProtocolVersion),\n};\n\nexport const sandboxOperationSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n ...operationBase,\n action: z.literal(\"create\"),\n input: z.tuple([createInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"list\"),\n input: z.tuple([listInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"get\"),\n input: z.tuple([getInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"waitUntilRunning\"),\n target: sandboxTargetSchema,\n input: z.tuple([waitInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"exec\"),\n target: sandboxTargetSchema,\n input: z.tuple([execInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"destroy\"),\n target: sandboxTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.start\"),\n target: sandboxTargetSchema,\n input: z.tuple([processSpecInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.list\"),\n target: sandboxTargetSchema,\n input: z.tuple([listInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.get\"),\n target: processIdTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.signal\"),\n target: processTargetSchema,\n input: z.tuple([signalInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.wait\"),\n target: processTargetSchema,\n input: z.tuple([waitInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.output\"),\n target: processTargetSchema,\n input: z.tuple([outputInputSchema]),\n })\n .strict(),\n]);\n\nconst pageSchema = z\n .object({\n cursor: z.string().min(1).optional(),\n hasMore: z.boolean(),\n limit: z.number().int().min(1).max(250),\n })\n .strict();\n\nconst commandOutputByteCountsSchema = z\n .object({\n stdout: z.number().int().nonnegative().safe(),\n stderr: z.number().int().nonnegative().safe(),\n })\n .strict();\n\nconst commandOutputMetadataSchema = z.discriminatedUnion(\"truncated\", [\n z.object({ truncated: z.literal(false) }).strict(),\n z\n .object({\n truncated: z.literal(true),\n strategy: z.literal(\"tail\"),\n originalBytes: commandOutputByteCountsSchema,\n retainedBytes: commandOutputByteCountsSchema,\n })\n .strict(),\n]);\n\nconst wireCommandResultSchema = z\n .object({\n stdout: z.string(),\n stderr: z.string(),\n encoding: z.literal(\"base64\"),\n exitCode: z.number().int().min(-0x80000000).max(0x7fffffff),\n output: commandOutputMetadataSchema,\n })\n .strict()\n .superRefine((result, ctx) => {\n if (!result.output.truncated) {\n return;\n }\n const { originalBytes, retainedBytes } = result.output;\n if (\n retainedBytes.stdout > originalBytes.stdout ||\n retainedBytes.stderr > originalBytes.stderr\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"retained output bytes cannot exceed original output bytes\",\n path: [\"output\", \"retainedBytes\"],\n });\n }\n const originalTotal = originalBytes.stdout + originalBytes.stderr;\n const retainedTotal = retainedBytes.stdout + retainedBytes.stderr;\n if (retainedTotal >= originalTotal) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"truncated output must retain fewer bytes than the original\",\n path: [\"output\"],\n });\n }\n if (retainedTotal > maxDurableSandboxExecOutputBytes) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"retained output exceeds the durable sandbox exec limit\",\n path: [\"output\", \"retainedBytes\"],\n });\n }\n });\n\nconst wireDestroyResultSchema = z.discriminatedUnion(\"status\", [\n z\n .object({\n status: z.literal(\"TERMINATING\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"TERMINATING\",\n \"destroyed sandbox must be TERMINATING\",\n ),\n })\n .strict(),\n z\n .object({\n status: z.literal(\"TERMINATED\"),\n sandbox: z.null(),\n })\n .strict(),\n]);\n\nconst wireWaitProcessSchema = z\n .object({\n kind: z.literal(\"inngest/sandbox.process\"),\n version: z.literal(1),\n sandboxId: canonicalUuidSchema,\n id: canonicalUuidSchema,\n state: z.enum([\"EXITED\", \"KILLED\", \"FAILED\", \"LOST\"]),\n exitCode: z.number().int().optional(),\n terminationSignal: z.number().int().min(1).max(64).optional(),\n })\n .strict()\n .superRefine((process, ctx) => {\n if ((process.state === \"EXITED\") !== (process.exitCode !== undefined)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"exitCode must be present only for EXITED processes\",\n });\n }\n if (\n (process.state === \"KILLED\") !==\n (process.terminationSignal !== undefined)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"terminationSignal must be present only for KILLED processes\",\n });\n }\n });\n\nexport const sandboxOperationResultSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n ...operationBase,\n action: z.literal(\"create\"),\n sandbox: sandboxRefSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"list\"),\n sandboxes: z.array(sandboxRefSchema),\n page: pageSchema,\n fetchedAt: z.string().min(1),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"get\"),\n sandbox: sandboxRefSchema.nullable(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"waitUntilRunning\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"RUNNING\",\n \"waitUntilRunning sandbox must be RUNNING\",\n ),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"exec\"),\n result: wireCommandResultSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"destroy\"),\n result: wireDestroyResultSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.start\"),\n process: sandboxProcessRefSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.list\"),\n processes: z.array(sandboxProcessRefSchema),\n page: pageSchema,\n fetchedAt: z.string().min(1),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.get\"),\n process: sandboxProcessRefSchema.nullable(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.signal\"),\n result: z.null(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.wait\"),\n process: wireWaitProcessSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.output\"),\n result: z.object({ chunks: z.array(wireOutputChunkSchema) }).strict(),\n })\n .strict(),\n]);\n\nconst sandboxErrorPayloadSchema = z\n .object({\n protocolVersion: z.literal(sandboxProtocolVersion),\n action: z.enum([\n \"create\",\n \"list\",\n \"get\",\n \"waitUntilRunning\",\n \"exec\",\n \"destroy\",\n \"process.start\",\n \"process.list\",\n \"process.get\",\n \"process.signal\",\n \"process.wait\",\n \"process.output\",\n ]),\n code: z.string().min(1),\n message: z.string().min(1),\n status: z.number().int().min(100).max(599).optional(),\n sandboxId: canonicalUuidSchema.optional(),\n processId: canonicalUuidSchema.optional(),\n ambiguous: z.boolean(),\n retryable: z.boolean(),\n requestId: z.string().min(1).optional(),\n details: z.array(z.record(z.unknown())).default([]),\n })\n // Serialized errors also contain standard `name`, `stack`, and marker\n // fields. Accept those while validating the complete sandbox payload.\n .passthrough();\n\nconst sandboxValidationErrorPayloadSchema = z\n .object({\n protocolVersion: z.literal(sandboxProtocolVersion),\n type: z.literal(\"sandbox_validation_error\"),\n message: z.string().min(1),\n })\n .passthrough();\n\nexport type SandboxOperationV1 = z.infer<typeof sandboxOperationSchema>;\nexport type SandboxOperationResultV1 = z.infer<\n typeof sandboxOperationResultSchema\n>;\nexport type DurableSandboxAction = SandboxOperationV1[\"action\"];\nexport type SandboxRawTool = (\n idOrOptions: StepOptionsOrId,\n operation: SandboxOperationV1,\n) => Promise<unknown>;\nexport type SandboxRawToolResolver = () =>\n | SandboxRawTool\n | Promise<SandboxRawTool>;\n\nexport type SandboxOperationForAction<A extends SandboxAction> = Extract<\n SandboxOperationV1,\n { action: A }\n>;\nexport type SandboxResultForAction<A extends SandboxAction> = Extract<\n SandboxOperationResultV1,\n { action: A }\n>;\n\nexport const parseSandboxOperation = (value: unknown): SandboxOperationV1 =>\n parseWithSchema(sandboxOperationSchema, value, \"sandbox operation\");\n\nexport const parseSandboxOperationForAction = <A extends SandboxAction>(\n action: A,\n value: unknown,\n): SandboxOperationForAction<A> => {\n const operation = parseSandboxOperation(value);\n if (operation.action !== action) {\n throw new SandboxValidationError(\n `Expected sandbox ${action} operation, received ${operation.action}`,\n );\n }\n return operation as SandboxOperationForAction<A>;\n};\n\nexport const findSandboxErrorOptions = (\n error: unknown,\n): SandboxErrorOptions | undefined => {\n let current = error;\n for (let depth = 0; depth < 6 && current; depth++) {\n const parsed = sandboxErrorPayloadSchema.safeParse(current);\n if (parsed.success) {\n return {\n ...parsed.data,\n code: parsed.data.code,\n details: parsed.data.details as SandboxErrorDetail[],\n cause: error,\n };\n }\n if (typeof current !== \"object\" || !(\"cause\" in current)) {\n return;\n }\n current = (current as { cause?: unknown }).cause;\n }\n return;\n};\n\nexport const findSandboxValidationError = (\n error: unknown,\n): { message: string } | undefined => {\n let current = error;\n for (let depth = 0; depth < 6 && current; depth++) {\n const parsed = sandboxValidationErrorPayloadSchema.safeParse(current);\n if (parsed.success) {\n return { message: parsed.data.message };\n }\n if (typeof current !== \"object\" || !(\"cause\" in current)) {\n return;\n }\n current = (current as { cause?: unknown }).cause;\n }\n return;\n};\n\nconst operationSandboxId = (\n operation: SandboxOperationV1,\n): string | undefined => {\n if (operation.action === \"get\") {\n return operation.input[0].sandboxId;\n }\n if (\"target\" in operation) {\n return operation.target.sandbox.id;\n }\n return;\n};\n\nconst operationProcessId = (\n operation: SandboxOperationV1,\n): string | undefined =>\n \"target\" in operation\n ? \"processId\" in operation.target\n ? operation.target.processId\n : \"process\" in operation.target\n ? operation.target.process.id\n : undefined\n : undefined;\n\nexport const validateSandboxResult = <A extends SandboxAction>(\n operation: SandboxOperationForAction<A>,\n rawResult: unknown,\n): SandboxResultForAction<A> => {\n const result = parseWithSchema(\n sandboxOperationResultSchema,\n rawResult,\n \"sandbox operation result\",\n );\n if (result.action !== operation.action) {\n throw new SandboxValidationError(\n `Sandbox operation returned ${result.action} for ${operation.action}`,\n );\n }\n const sandboxId = operationSandboxId(operation);\n const processId = operationProcessId(operation);\n if (\n sandboxId &&\n \"sandbox\" in result &&\n result.sandbox &&\n result.sandbox.id !== sandboxId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned an unrelated sandbox\",\n );\n }\n if (\n sandboxId &&\n \"process\" in result &&\n result.process &&\n \"sandboxId\" in result.process &&\n result.process.sandboxId !== sandboxId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned a process from an unrelated sandbox\",\n );\n }\n if (\n processId &&\n \"process\" in result &&\n result.process &&\n \"id\" in result.process &&\n result.process.id !== processId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned an unrelated process\",\n );\n }\n return result as SandboxResultForAction<A>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","names":[],"sources":["../../../src/components/sandbox/protocol.ts"],"sourcesContent":["import { z } from \"zod/v3\";\n\nimport type { StepOptionsOrId } from \"../../types.ts\";\nimport {\n type SandboxAction,\n type SandboxErrorDetail,\n type SandboxErrorOptions,\n SandboxValidationError,\n sandboxProtocolVersion,\n} from \"./types.ts\";\nimport {\n canonicalUuidSchema,\n normalizeSandboxCreateOptions,\n normalizeSandboxProcessStartOptions,\n parseWithSchema,\n sandboxNameSchema,\n sandboxProcessRefSchema,\n sandboxRefSchema,\n sandboxSnapshotRefSchema,\n wireOutputChunkSchema,\n} from \"./validation.ts\";\n\nconst sandboxTargetSchema = z.object({ sandbox: sandboxRefSchema }).strict();\nconst processIdTargetSchema = sandboxTargetSchema\n .extend({ processId: canonicalUuidSchema })\n .strict();\nconst processTargetSchema = sandboxTargetSchema\n .extend({ process: sandboxProcessRefSchema })\n .strict()\n .superRefine((target, ctx) => {\n if (target.process.sandboxId !== target.sandbox.id) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"sandbox process reference belongs to another sandbox\",\n });\n }\n });\nconst snapshotIdTargetSchema = z\n .object({ snapshotId: canonicalUuidSchema })\n .strict();\nconst snapshotTargetSchema = z\n .object({ snapshot: sandboxSnapshotRefSchema })\n .strict();\n\nconst createInputSchema = z\n .union([\n z\n .object({\n name: sandboxNameSchema,\n vcpu: z.number().int().positive().max(0xffffffff),\n memoryMb: z.number().int().positive().max(0xffffffff),\n environment: z.record(z.string()).optional(),\n runningTimeoutMs: z\n .union([z.number().int().positive().max(300_000), z.literal(false)])\n .optional(),\n })\n .strict(),\n z\n .object({\n name: sandboxNameSchema,\n snapshotId: canonicalUuidSchema,\n runningTimeoutMs: z\n .union([z.number().int().positive().max(300_000), z.literal(false)])\n .optional(),\n })\n .strict(),\n ])\n .superRefine((value, ctx) => {\n try {\n const { runningTimeoutMs, ...options } = value;\n normalizeSandboxCreateOptions({\n ...options,\n ...(runningTimeoutMs !== undefined && {\n runningTimeout: runningTimeoutMs,\n }),\n });\n } catch (error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n error instanceof Error ? error.message : \"invalid create options\",\n });\n }\n });\nconst listInputSchema = z\n .object({\n cursor: z.string().min(1).optional(),\n limit: z.number().int().min(1).max(250),\n })\n .strict();\nconst getInputSchema = z.object({ sandboxId: canonicalUuidSchema }).strict();\nconst processSpecShape = {\n command: z.array(z.string()).min(1).max(128),\n environment: z.record(z.string()).optional(),\n cwd: z.string().optional(),\n};\nconst validateProcessSpec = (\n value: {\n command: string[];\n environment?: Record<string, string>;\n cwd?: string;\n },\n ctx: z.RefinementCtx,\n): void => {\n try {\n const { command, environment, cwd } = value;\n normalizeSandboxProcessStartOptions({\n command,\n ...(environment !== undefined && { environment }),\n ...(cwd !== undefined && { cwd }),\n });\n } catch (error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: error instanceof Error ? error.message : \"invalid process spec\",\n });\n }\n};\nconst processSpecInputSchema = z\n .object(processSpecShape)\n .strict()\n .superRefine(validateProcessSpec);\nconst execInputSchema = z\n .object({\n ...processSpecShape,\n timeoutMs: z.number().int().positive().max(300_000),\n })\n .strict()\n .superRefine(validateProcessSpec);\nconst signalInputSchema = z\n .object({\n signal: z.number().int().min(1).max(64),\n includeChildren: z.boolean(),\n })\n .strict();\nconst waitInputSchema = z\n .object({ timeoutMs: z.number().int().positive().max(300_000) })\n .strict();\nconst lifecycleInputSchema = waitInputSchema;\nconst outputInputSchema = z\n .object({\n tailBytes: z\n .number()\n .int()\n .min(0)\n .max(512 * 1_024),\n })\n .strict();\n\nexport const maxDurableSandboxExecOutputBytes = 2 << 20;\n\nconst operationBase = {\n protocolVersion: z.literal(sandboxProtocolVersion),\n};\n\nexport const sandboxOperationSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n ...operationBase,\n action: z.literal(\"create\"),\n input: z.tuple([createInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"list\"),\n input: z.tuple([listInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"get\"),\n input: z.tuple([getInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"waitUntilRunning\"),\n target: sandboxTargetSchema,\n input: z.tuple([waitInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"exec\"),\n target: sandboxTargetSchema,\n input: z.tuple([execInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"destroy\"),\n target: sandboxTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"pause\"),\n target: sandboxTargetSchema,\n input: z.tuple([lifecycleInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"resume\"),\n target: sandboxTargetSchema,\n input: z.tuple([lifecycleInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.start\"),\n target: sandboxTargetSchema,\n input: z.tuple([processSpecInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.list\"),\n target: sandboxTargetSchema,\n input: z.tuple([listInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.get\"),\n target: processIdTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.signal\"),\n target: processTargetSchema,\n input: z.tuple([signalInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.wait\"),\n target: processTargetSchema,\n input: z.tuple([waitInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.output\"),\n target: processTargetSchema,\n input: z.tuple([outputInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.create\"),\n target: sandboxTargetSchema,\n input: z.tuple([z.object({}).strict()]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.list\"),\n input: z.tuple([listInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.get\"),\n target: snapshotIdTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.waitUntilReady\"),\n target: snapshotTargetSchema,\n input: z.tuple([waitInputSchema]),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.delete\"),\n target: snapshotTargetSchema,\n input: z.tuple([]),\n })\n .strict(),\n]);\n\nconst pageSchema = z\n .object({\n cursor: z.string().min(1).optional(),\n hasMore: z.boolean(),\n limit: z.number().int().min(1).max(250),\n })\n .strict();\n\nconst commandOutputByteCountsSchema = z\n .object({\n stdout: z.number().int().nonnegative().safe(),\n stderr: z.number().int().nonnegative().safe(),\n })\n .strict();\n\nconst commandOutputMetadataSchema = z.discriminatedUnion(\"truncated\", [\n z.object({ truncated: z.literal(false) }).strict(),\n z\n .object({\n truncated: z.literal(true),\n strategy: z.literal(\"tail\"),\n originalBytes: commandOutputByteCountsSchema,\n retainedBytes: commandOutputByteCountsSchema,\n })\n .strict(),\n]);\n\nconst wireCommandResultSchema = z\n .object({\n stdout: z.string(),\n stderr: z.string(),\n encoding: z.literal(\"base64\"),\n exitCode: z.number().int().min(-0x80000000).max(0x7fffffff),\n output: commandOutputMetadataSchema,\n })\n .strict()\n .superRefine((result, ctx) => {\n if (!result.output.truncated) {\n return;\n }\n const { originalBytes, retainedBytes } = result.output;\n if (\n retainedBytes.stdout > originalBytes.stdout ||\n retainedBytes.stderr > originalBytes.stderr\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"retained output bytes cannot exceed original output bytes\",\n path: [\"output\", \"retainedBytes\"],\n });\n }\n const originalTotal = originalBytes.stdout + originalBytes.stderr;\n const retainedTotal = retainedBytes.stdout + retainedBytes.stderr;\n if (retainedTotal >= originalTotal) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"truncated output must retain fewer bytes than the original\",\n path: [\"output\"],\n });\n }\n if (retainedTotal > maxDurableSandboxExecOutputBytes) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"retained output exceeds the durable sandbox exec limit\",\n path: [\"output\", \"retainedBytes\"],\n });\n }\n });\n\nconst wireDestroyResultSchema = z.discriminatedUnion(\"status\", [\n z\n .object({\n status: z.literal(\"TERMINATING\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"TERMINATING\",\n \"destroyed sandbox must be TERMINATING\",\n ),\n })\n .strict(),\n z\n .object({\n status: z.literal(\"TERMINATED\"),\n sandbox: z.null(),\n })\n .strict(),\n]);\n\nconst wireWaitProcessSchema = z\n .object({\n kind: z.literal(\"inngest/sandbox.process\"),\n version: z.literal(1),\n sandboxId: canonicalUuidSchema,\n id: canonicalUuidSchema,\n state: z.enum([\"EXITED\", \"KILLED\", \"FAILED\", \"LOST\"]),\n exitCode: z.number().int().optional(),\n terminationSignal: z.number().int().min(1).max(64).optional(),\n })\n .strict()\n .superRefine((process, ctx) => {\n if ((process.state === \"EXITED\") !== (process.exitCode !== undefined)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"exitCode must be present only for EXITED processes\",\n });\n }\n if (\n (process.state === \"KILLED\") !==\n (process.terminationSignal !== undefined)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"terminationSignal must be present only for KILLED processes\",\n });\n }\n });\n\nexport const sandboxOperationResultSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n ...operationBase,\n action: z.literal(\"create\"),\n sandbox: sandboxRefSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"list\"),\n sandboxes: z.array(sandboxRefSchema),\n page: pageSchema,\n fetchedAt: z.string().min(1),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"get\"),\n sandbox: sandboxRefSchema.nullable(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"waitUntilRunning\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"RUNNING\",\n \"waitUntilRunning sandbox must be RUNNING\",\n ),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"exec\"),\n result: wireCommandResultSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"destroy\"),\n result: wireDestroyResultSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"pause\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"PAUSED\",\n \"paused sandbox must be PAUSED\",\n ),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"resume\"),\n sandbox: sandboxRefSchema.refine(\n (sandbox) => sandbox.status === \"RUNNING\",\n \"resumed sandbox must be RUNNING\",\n ),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.start\"),\n process: sandboxProcessRefSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.list\"),\n processes: z.array(sandboxProcessRefSchema),\n page: pageSchema,\n fetchedAt: z.string().min(1),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.get\"),\n process: sandboxProcessRefSchema.nullable(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.signal\"),\n result: z.null(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.wait\"),\n process: wireWaitProcessSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"process.output\"),\n result: z.object({ chunks: z.array(wireOutputChunkSchema) }).strict(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.create\"),\n snapshot: sandboxSnapshotRefSchema,\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.list\"),\n snapshots: z.array(sandboxSnapshotRefSchema),\n page: pageSchema,\n fetchedAt: z.string().min(1),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.get\"),\n snapshot: sandboxSnapshotRefSchema.nullable(),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.waitUntilReady\"),\n snapshot: sandboxSnapshotRefSchema.refine(\n (snapshot) => snapshot.status === \"READY\",\n \"waitUntilReady snapshot must be READY\",\n ),\n })\n .strict(),\n z\n .object({\n ...operationBase,\n action: z.literal(\"snapshot.delete\"),\n result: z.null(),\n })\n .strict(),\n]);\n\nconst sandboxErrorPayloadSchema = z\n .object({\n protocolVersion: z.literal(sandboxProtocolVersion),\n action: z.enum([\n \"create\",\n \"list\",\n \"get\",\n \"waitUntilRunning\",\n \"exec\",\n \"destroy\",\n \"pause\",\n \"resume\",\n \"process.start\",\n \"process.list\",\n \"process.get\",\n \"process.signal\",\n \"process.wait\",\n \"process.output\",\n \"snapshot.create\",\n \"snapshot.list\",\n \"snapshot.get\",\n \"snapshot.waitUntilReady\",\n \"snapshot.delete\",\n ]),\n code: z.string().min(1),\n message: z.string().min(1),\n status: z.number().int().min(100).max(599).optional(),\n sandboxId: canonicalUuidSchema.optional(),\n processId: canonicalUuidSchema.optional(),\n snapshotId: canonicalUuidSchema.optional(),\n ambiguous: z.boolean(),\n retryable: z.boolean(),\n requestId: z.string().min(1).optional(),\n details: z.array(z.record(z.unknown())).default([]),\n })\n // Serialized errors also contain standard `name`, `stack`, and marker\n // fields. Accept those while validating the complete sandbox payload.\n .passthrough();\n\nconst sandboxValidationErrorPayloadSchema = z\n .object({\n protocolVersion: z.literal(sandboxProtocolVersion),\n type: z.literal(\"sandbox_validation_error\"),\n message: z.string().min(1),\n })\n .passthrough();\n\nexport type SandboxOperationV1 = z.infer<typeof sandboxOperationSchema>;\nexport type SandboxOperationResultV1 = z.infer<\n typeof sandboxOperationResultSchema\n>;\nexport type DurableSandboxAction = SandboxOperationV1[\"action\"];\nexport type SandboxRawTool = (\n idOrOptions: StepOptionsOrId,\n operation: SandboxOperationV1,\n) => Promise<unknown>;\nexport type SandboxRawToolResolver = () =>\n | SandboxRawTool\n | Promise<SandboxRawTool>;\n\nexport type SandboxOperationForAction<A extends SandboxAction> = Extract<\n SandboxOperationV1,\n { action: A }\n>;\nexport type SandboxResultForAction<A extends SandboxAction> = Extract<\n SandboxOperationResultV1,\n { action: A }\n>;\n\nexport const parseSandboxOperation = (value: unknown): SandboxOperationV1 =>\n parseWithSchema(sandboxOperationSchema, value, \"sandbox operation\");\n\nexport const parseSandboxOperationForAction = <A extends SandboxAction>(\n action: A,\n value: unknown,\n): SandboxOperationForAction<A> => {\n const operation = parseSandboxOperation(value);\n if (operation.action !== action) {\n throw new SandboxValidationError(\n `Expected sandbox ${action} operation, received ${operation.action}`,\n );\n }\n return operation as SandboxOperationForAction<A>;\n};\n\nexport const findSandboxErrorOptions = (\n error: unknown,\n): SandboxErrorOptions | undefined => {\n let current = error;\n for (let depth = 0; depth < 6 && current; depth++) {\n const parsed = sandboxErrorPayloadSchema.safeParse(current);\n if (parsed.success) {\n return {\n ...parsed.data,\n code: parsed.data.code,\n details: parsed.data.details as SandboxErrorDetail[],\n cause: error,\n };\n }\n if (typeof current !== \"object\" || !(\"cause\" in current)) {\n return;\n }\n current = (current as { cause?: unknown }).cause;\n }\n return;\n};\n\nexport const findSandboxValidationError = (\n error: unknown,\n): { message: string } | undefined => {\n let current = error;\n for (let depth = 0; depth < 6 && current; depth++) {\n const parsed = sandboxValidationErrorPayloadSchema.safeParse(current);\n if (parsed.success) {\n return { message: parsed.data.message };\n }\n if (typeof current !== \"object\" || !(\"cause\" in current)) {\n return;\n }\n current = (current as { cause?: unknown }).cause;\n }\n return;\n};\n\nconst operationSandboxId = (\n operation: SandboxOperationV1,\n): string | undefined => {\n if (operation.action === \"get\") {\n return operation.input[0].sandboxId;\n }\n if (\"target\" in operation && \"sandbox\" in operation.target) {\n return operation.target.sandbox.id;\n }\n return;\n};\n\nconst operationProcessId = (\n operation: SandboxOperationV1,\n): string | undefined =>\n \"target\" in operation\n ? \"processId\" in operation.target\n ? operation.target.processId\n : \"process\" in operation.target\n ? operation.target.process.id\n : undefined\n : undefined;\n\nconst operationSnapshotId = (\n operation: SandboxOperationV1,\n): string | undefined =>\n \"target\" in operation\n ? \"snapshotId\" in operation.target\n ? operation.target.snapshotId\n : \"snapshot\" in operation.target\n ? operation.target.snapshot.id\n : undefined\n : undefined;\n\nexport const validateSandboxResult = <A extends SandboxAction>(\n operation: SandboxOperationForAction<A>,\n rawResult: unknown,\n): SandboxResultForAction<A> => {\n const result = parseWithSchema(\n sandboxOperationResultSchema,\n rawResult,\n \"sandbox operation result\",\n );\n if (result.action !== operation.action) {\n throw new SandboxValidationError(\n `Sandbox operation returned ${result.action} for ${operation.action}`,\n );\n }\n const sandboxId = operationSandboxId(operation);\n const processId = operationProcessId(operation);\n const snapshotId = operationSnapshotId(operation);\n if (\n sandboxId &&\n \"sandbox\" in result &&\n result.sandbox &&\n result.sandbox.id !== sandboxId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned an unrelated sandbox\",\n );\n }\n if (\n snapshotId &&\n \"snapshot\" in result &&\n result.snapshot &&\n result.snapshot.id !== snapshotId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned an unrelated snapshot\",\n );\n }\n if (\n sandboxId &&\n \"process\" in result &&\n result.process &&\n \"sandboxId\" in result.process &&\n result.process.sandboxId !== sandboxId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned a process from an unrelated sandbox\",\n );\n }\n if (\n processId &&\n \"process\" in result &&\n result.process &&\n \"id\" in result.process &&\n result.process.id !== processId\n ) {\n throw new SandboxValidationError(\n \"Sandbox operation returned an unrelated process\",\n );\n }\n return result as SandboxResultForAction<A>;\n};\n"],"mappings":"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"}
@@ -16,6 +16,7 @@ var SandboxError = class extends Error {
16
16
  status;
17
17
  sandboxId;
18
18
  processId;
19
+ snapshotId;
19
20
  ambiguous;
20
21
  retryable;
21
22
  requestId;
@@ -29,6 +30,7 @@ var SandboxError = class extends Error {
29
30
  this.status = options.status;
30
31
  this.sandboxId = options.sandboxId;
31
32
  this.processId = options.processId;
33
+ this.snapshotId = options.snapshotId;
32
34
  this.ambiguous = options.ambiguous ?? options.code === "operation_ambiguous";
33
35
  this.retryable = options.retryable ?? false;
34
36
  this.requestId = options.requestId;
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":[],"sources":["../../../src/components/sandbox/types.ts"],"sourcesContent":["import type { DurationLike } from \"../../helpers/temporal.ts\";\nimport type { StepOptionsOrId } from \"../../types.ts\";\n\nexport const sandboxProtocolVersion = 1 as const;\n\nexport type SandboxDuration = number | string | DurationLike;\n\nexport type SandboxStatus =\n | \"PENDING\"\n | \"STARTING\"\n | \"RUNNING\"\n | \"PAUSED\"\n | \"TERMINATING\"\n | \"TERMINATED\"\n | \"FAILED\";\n\nexport interface SandboxResources {\n readonly vcpu: number;\n readonly memoryMb: number;\n}\n\nexport interface SandboxResource {\n id: string;\n name: string;\n status: SandboxStatus;\n vpcId: string;\n imageRef: string;\n resources: SandboxResources;\n createdAt: string;\n startedAt?: string;\n endedAt?: string;\n error?: string;\n}\n\nexport interface SandboxRef extends SandboxResource {\n kind: \"inngest/sandbox\";\n version: 1;\n}\n\nexport interface SandboxCreateOptions {\n /**\n * Stable identity for an active sandbox. Creating the same name again with\n * the same configuration returns the existing sandbox. Names are\n * case-sensitive and may contain up to 255 characters.\n */\n name: string;\n vcpu: number;\n memoryMb: number;\n\n /**\n * Environment inherited by commands and managed processes. Values are\n * persisted as literal sandbox configuration; this is not a secrets\n * mechanism, so do not use this field for secrets. Guest defaults are\n * retained, and operation-specific values override matching keys.\n */\n environment?: Record<string, string>;\n\n /**\n * How long to wait for the sandbox to reach RUNNING after Create succeeds.\n *\n * Defaults to 120 seconds. Set this to `false` to return as soon as Create is\n * accepted, with either STARTING or RUNNING status.\n *\n * @example\n * ```ts\n * const sandbox = await inngest.sandboxes.create({\n * ...options,\n * runningTimeout: \"30s\",\n * });\n * ```\n *\n * @example Return immediately without waiting\n * ```ts\n * const sandbox = await inngest.sandboxes.create({\n * ...options,\n * runningTimeout: false,\n * });\n * ```\n */\n runningTimeout?: SandboxDuration | false;\n}\n\nexport interface SandboxWaitUntilRunningOptions {\n timeout: SandboxDuration;\n}\n\nexport interface SandboxListOptions {\n cursor?: string;\n limit?: number;\n}\n\nexport interface SandboxPageInfo {\n cursor?: string;\n hasMore: boolean;\n limit: number;\n}\n\nexport interface SandboxListResult<TSandbox = SandboxRef> {\n items: TSandbox[];\n page: SandboxPageInfo;\n fetchedAt: string;\n}\n\n/**\n * A shell command string or an argv array for direct execution.\n *\n * Strings run as `[\"/bin/sh\", \"-c\", command]`. They are passed to the shell\n * unchanged, so normal shell quoting, variables, pipes, redirects, and\n * chaining apply. Arrays bypass the shell and must begin with an absolute\n * executable path.\n */\nexport type SandboxCommand = string | readonly string[];\n\nexport interface SandboxCommandOptions {\n /**\n * Overrides matching sandbox environment values for this command.\n * Omitted or empty inherits the sandbox environment unchanged.\n */\n environment?: Record<string, string>;\n cwd?: string;\n timeout?: SandboxDuration;\n}\n\nexport type SandboxCommandOutputMetadata =\n | {\n truncated: false;\n }\n | {\n truncated: true;\n strategy: \"tail\";\n originalBytes: {\n stdout: number;\n stderr: number;\n };\n retainedBytes: {\n stdout: number;\n stderr: number;\n };\n };\n\nexport interface SandboxCommandResult {\n /**\n * Captured stdout decoded as UTF-8. Invalid or truncated byte sequences are\n * represented by the Unicode replacement character.\n */\n stdout: string;\n /**\n * Captured stderr decoded as UTF-8. Invalid or truncated byte sequences are\n * represented by the Unicode replacement character.\n */\n stderr: string;\n exitCode: number;\n output: SandboxCommandOutputMetadata;\n}\n\nexport type SandboxDestroyResult =\n | {\n status: \"TERMINATING\";\n sandbox: SandboxRef;\n }\n | {\n status: \"TERMINATED\";\n sandbox: null;\n };\n\nexport type SandboxProcessState =\n | \"STARTING\"\n | \"RUNNING\"\n | \"EXITED\"\n | \"KILLED\"\n | \"FAILED\"\n | \"LOST\";\n\nexport interface SandboxProcessResource {\n id: string;\n command: readonly string[];\n pid?: number;\n state: SandboxProcessState;\n exitCode?: number;\n terminationSignal?: number;\n startedAt?: string;\n endedAt?: string;\n}\n\nexport interface SandboxProcessRef extends SandboxProcessResource {\n kind: \"inngest/sandbox.process\";\n version: 1;\n sandboxId: string;\n}\n\nexport interface SandboxProcessStartOptions {\n command: SandboxCommand;\n\n /**\n * Overrides matching sandbox environment values for this process.\n * Omitted or empty inherits the sandbox environment unchanged.\n */\n environment?: Record<string, string>;\n cwd?: string;\n}\n\nexport interface SandboxProcessSignalOptions {\n signal: number;\n /**\n * Also signal the process's descendants. Defaults to `true` so shell-backed\n * commands do not leave their child processes running.\n */\n includeChildren?: boolean;\n}\n\nexport interface SandboxProcessWaitOptions {\n timeout?: SandboxDuration;\n}\n\nexport interface SandboxProcessOutputOptions {\n tailBytes?: number;\n}\n\nexport type SandboxProcessListOptions = SandboxListOptions;\nexport type SandboxProcessListResult<TProcess = SandboxProcessRef> =\n SandboxListResult<TProcess>;\n\nexport interface SandboxOutputChunk {\n stream: \"STDOUT\" | \"STDERR\";\n data: Uint8Array;\n at?: string;\n}\n\nexport interface SandboxProcessOutput {\n chunks: SandboxOutputChunk[];\n}\n\nexport interface SandboxLogStreamOptions {\n follow?: boolean;\n}\n\nexport interface SandboxFileUploadOptions {\n path: string;\n data: BodyInit;\n mode?: number;\n}\n\nexport interface SandboxFileUploadResult {\n path: string;\n bytesWritten: number;\n}\n\nexport interface SandboxFileDownloadOptions {\n path: string;\n}\n\nexport type SandboxAction =\n | \"create\"\n | \"list\"\n | \"get\"\n | \"waitUntilRunning\"\n | \"exec\"\n | \"destroy\"\n | \"process.start\"\n | \"process.list\"\n | \"process.get\"\n | \"process.signal\"\n | \"process.wait\"\n | \"process.output\"\n | \"process.stream\"\n | \"logs.stream\"\n | \"file.upload\"\n | \"file.download\";\n\nexport type SandboxErrorCode =\n | \"access_denied\"\n | \"compute_unavailable\"\n | \"internal_error\"\n | \"invalid_field_format\"\n | \"invalid_request\"\n | \"missing_field\"\n | \"operation_ambiguous\"\n | \"rate_limited\"\n | \"sandbox_exec_output_too_large\"\n | \"sandbox_exec_timed_out\"\n | \"sandbox_name_taken\"\n | \"sandbox_not_found\"\n | \"sandbox_start_failed\"\n | \"sandbox_start_timed_out\"\n | \"sandbox_process_not_found\"\n | \"sandbox_process_output_not_retained\"\n | \"sandbox_process_wait_timed_out\"\n | (string & {});\n\nexport type SandboxErrorDetail = Record<string, unknown>;\n\nexport interface SandboxErrorOptions {\n action: SandboxAction;\n code: SandboxErrorCode;\n message: string;\n status?: number;\n sandboxId?: string;\n processId?: string;\n ambiguous?: boolean;\n retryable?: boolean;\n requestId?: string;\n details?: readonly SandboxErrorDetail[];\n cause?: unknown;\n}\n\nexport class SandboxValidationError extends Error {\n public override readonly cause?: unknown;\n\n constructor(message: string, options?: { cause?: unknown }) {\n super(message);\n this.name = \"SandboxValidationError\";\n this.cause = options?.cause;\n }\n}\n\nexport class SandboxError extends Error {\n public readonly protocolVersion = sandboxProtocolVersion;\n public readonly action: SandboxAction;\n public readonly code: SandboxErrorCode;\n public readonly status?: number;\n public readonly sandboxId?: string;\n public readonly processId?: string;\n public readonly ambiguous: boolean;\n public readonly retryable: boolean;\n public readonly requestId?: string;\n public readonly details: readonly SandboxErrorDetail[];\n public override readonly cause?: unknown;\n\n constructor(options: SandboxErrorOptions) {\n super(options.message);\n this.name = \"SandboxError\";\n this.action = options.action;\n this.code = options.code;\n this.status = options.status;\n this.sandboxId = options.sandboxId;\n this.processId = options.processId;\n this.ambiguous =\n options.ambiguous ?? options.code === \"operation_ambiguous\";\n this.retryable = options.retryable ?? false;\n this.requestId = options.requestId;\n this.details = options.details ?? [];\n this.cause = options.cause;\n }\n}\n\nexport interface Sandbox {\n readonly kind: \"inngest/sandbox\";\n readonly version: 1;\n readonly id: string;\n readonly name: string;\n readonly status: SandboxStatus;\n readonly vpcId: string;\n readonly imageRef: string;\n readonly resources: SandboxResources;\n readonly createdAt: string;\n readonly startedAt?: string;\n readonly endedAt?: string;\n readonly error?: string;\n readonly commands: {\n run(\n command: SandboxCommand,\n options?: SandboxCommandOptions,\n ): Promise<SandboxCommandResult>;\n };\n readonly logs: {\n stream(\n options?: SandboxLogStreamOptions,\n ): Promise<ReadableStream<SandboxOutputChunk>>;\n };\n readonly files: {\n upload(options: SandboxFileUploadOptions): Promise<SandboxFileUploadResult>;\n download(options: SandboxFileDownloadOptions): Promise<Response>;\n };\n readonly processes: {\n start(options: SandboxProcessStartOptions): Promise<SandboxProcess>;\n list(\n options?: SandboxProcessListOptions,\n ): Promise<SandboxProcessListResult<SandboxProcess>>;\n get(processId: string): Promise<SandboxProcess | null>;\n };\n waitUntilRunning(options: SandboxWaitUntilRunningOptions): Promise<Sandbox>;\n destroy(): Promise<SandboxDestroyResult>;\n}\n\nexport interface SandboxProcess {\n readonly kind: \"inngest/sandbox.process\";\n readonly version: 1;\n readonly sandboxId: string;\n readonly id: string;\n readonly command: readonly string[];\n readonly pid?: number;\n readonly state: SandboxProcessState;\n readonly exitCode?: number;\n readonly terminationSignal?: number;\n readonly startedAt?: string;\n readonly endedAt?: string;\n signal(options: SandboxProcessSignalOptions): Promise<void>;\n wait(options?: SandboxProcessWaitOptions): Promise<SandboxProcess>;\n getOutput(\n options?: SandboxProcessOutputOptions,\n ): Promise<SandboxProcessOutput>;\n streamOutput(\n options?: SandboxProcessOutputOptions,\n ): Promise<ReadableStream<SandboxOutputChunk>>;\n}\n\nexport interface SandboxClient {\n create(options: SandboxCreateOptions): Promise<Sandbox>;\n list(options?: SandboxListOptions): Promise<SandboxListResult<Sandbox>>;\n get(sandboxId: string): Promise<Sandbox | null>;\n}\n\nexport interface DurableSandbox {\n readonly kind: \"inngest/sandbox\";\n readonly version: 1;\n readonly id: string;\n readonly name: string;\n readonly status: SandboxStatus;\n readonly vpcId: string;\n readonly imageRef: string;\n readonly resources: SandboxResources;\n readonly createdAt: string;\n readonly startedAt?: string;\n readonly endedAt?: string;\n readonly error?: string;\n readonly commands: {\n run(\n idOrOptions: StepOptionsOrId,\n command: SandboxCommand,\n options?: SandboxCommandOptions,\n ): Promise<SandboxCommandResult>;\n };\n readonly processes: {\n start(\n idOrOptions: StepOptionsOrId,\n options: SandboxProcessStartOptions,\n ): Promise<DurableSandboxProcess>;\n list(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessListOptions,\n ): Promise<SandboxProcessListResult<DurableSandboxProcess>>;\n get(\n idOrOptions: StepOptionsOrId,\n processId: string,\n ): Promise<DurableSandboxProcess | null>;\n };\n waitUntilRunning(\n idOrOptions: StepOptionsOrId,\n options: SandboxWaitUntilRunningOptions,\n ): Promise<DurableSandbox>;\n destroy(idOrOptions: StepOptionsOrId): Promise<SandboxDestroyResult>;\n}\n\nexport interface DurableSandboxProcess {\n readonly kind: \"inngest/sandbox.process\";\n readonly version: 1;\n readonly sandboxId: string;\n readonly id: string;\n readonly command: readonly string[];\n readonly pid?: number;\n readonly state: SandboxProcessState;\n readonly exitCode?: number;\n readonly terminationSignal?: number;\n readonly startedAt?: string;\n readonly endedAt?: string;\n signal(\n idOrOptions: StepOptionsOrId,\n options: SandboxProcessSignalOptions,\n ): Promise<void>;\n wait(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessWaitOptions,\n ): Promise<DurableSandboxProcess>;\n getOutput(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessOutputOptions,\n ): Promise<SandboxProcessOutput>;\n}\n\nexport interface DurableSandboxTools {\n create(\n idOrOptions: StepOptionsOrId,\n options: SandboxCreateOptions,\n ): Promise<DurableSandbox>;\n list(\n idOrOptions: StepOptionsOrId,\n options?: SandboxListOptions,\n ): Promise<SandboxListResult<DurableSandbox>>;\n get(\n idOrOptions: StepOptionsOrId,\n sandboxId: string,\n ): Promise<DurableSandbox | null>;\n}\n"],"mappings":";;AAGA,MAAa,yBAAyB;AA8StC,IAAa,yBAAb,cAA4C,MAAM;CAChD,AAAyB;CAEzB,YAAY,SAAiB,SAA+B;AAC1D,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,QAAQ,SAAS;;;AAI1B,IAAa,eAAb,cAAkC,MAAM;CACtC,AAAgB,kBAAkB;CAClC,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAyB;CAEzB,YAAY,SAA8B;AACxC,QAAM,QAAQ,QAAQ;AACtB,OAAK,OAAO;AACZ,OAAK,SAAS,QAAQ;AACtB,OAAK,OAAO,QAAQ;AACpB,OAAK,SAAS,QAAQ;AACtB,OAAK,YAAY,QAAQ;AACzB,OAAK,YAAY,QAAQ;AACzB,OAAK,YACH,QAAQ,aAAa,QAAQ,SAAS;AACxC,OAAK,YAAY,QAAQ,aAAa;AACtC,OAAK,YAAY,QAAQ;AACzB,OAAK,UAAU,QAAQ,WAAW,EAAE;AACpC,OAAK,QAAQ,QAAQ"}
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../../src/components/sandbox/types.ts"],"sourcesContent":["import type { DurationLike } from \"../../helpers/temporal.ts\";\nimport type { StepOptionsOrId } from \"../../types.ts\";\n\nexport const sandboxProtocolVersion = 1 as const;\n\nexport type SandboxDuration = number | string | DurationLike;\n\nexport type SandboxStatus =\n | \"PENDING\"\n | \"STARTING\"\n | \"PAUSING\"\n | \"RUNNING\"\n | \"PAUSED\"\n | \"RESUMING\"\n | \"TERMINATING\"\n | \"TERMINATED\"\n | \"FAILED\";\n\nexport interface SandboxResources {\n readonly vcpu: number;\n readonly memoryMb: number;\n}\n\nexport interface SandboxResource {\n id: string;\n name: string;\n status: SandboxStatus;\n vpcId: string;\n imageRef: string;\n resources: SandboxResources;\n createdAt: string;\n startedAt?: string;\n endedAt?: string;\n error?: string;\n}\n\nexport interface SandboxRef extends SandboxResource {\n kind: \"inngest/sandbox\";\n version: 1;\n}\n\ninterface SandboxCreateBaseOptions {\n /**\n * Stable identity for an active sandbox. Creating the same name again with\n * the same configuration returns the existing sandbox. Names are\n * case-sensitive and may contain up to 255 characters.\n */\n name: string;\n\n /**\n * How long to wait for the sandbox to reach RUNNING after Create succeeds.\n *\n * Defaults to 120 seconds. Set this to `false` to return as soon as Create is\n * accepted, with either STARTING or RUNNING status.\n *\n * @example\n * ```ts\n * const sandbox = await inngest.sandboxes.create({\n * ...options,\n * runningTimeout: \"30s\",\n * });\n * ```\n *\n * @example Return immediately without waiting\n * ```ts\n * const sandbox = await inngest.sandboxes.create({\n * ...options,\n * runningTimeout: false,\n * });\n * ```\n */\n runningTimeout?: SandboxDuration | false;\n}\n\nexport interface SandboxCreateFreshOptions extends SandboxCreateBaseOptions {\n vcpu: number;\n memoryMb: number;\n\n /**\n * Environment inherited by commands and managed processes. Values are\n * persisted as literal sandbox configuration; this is not a secrets\n * mechanism, so do not use this field for secrets. Guest defaults are\n * retained, and operation-specific values override matching keys.\n */\n environment?: Record<string, string>;\n\n snapshotId?: never;\n}\n\nexport interface SandboxCreateFromSnapshotOptions\n extends SandboxCreateBaseOptions {\n snapshotId: string;\n vcpu?: never;\n memoryMb?: never;\n environment?: never;\n}\n\nexport type SandboxCreateOptions =\n | SandboxCreateFreshOptions\n | SandboxCreateFromSnapshotOptions;\n\nexport interface SandboxWaitUntilRunningOptions {\n timeout: SandboxDuration;\n}\n\nexport interface SandboxListOptions {\n cursor?: string;\n limit?: number;\n}\n\nexport interface SandboxPageInfo {\n cursor?: string;\n hasMore: boolean;\n limit: number;\n}\n\nexport interface SandboxListResult<TSandbox = SandboxRef> {\n items: TSandbox[];\n page: SandboxPageInfo;\n fetchedAt: string;\n}\n\n/**\n * A shell command string or an argv array for direct execution.\n *\n * Strings run as `[\"/bin/sh\", \"-c\", command]`. They are passed to the shell\n * unchanged, so normal shell quoting, variables, pipes, redirects, and\n * chaining apply. Arrays bypass the shell and must begin with an absolute\n * executable path.\n */\nexport type SandboxCommand = string | readonly string[];\n\nexport interface SandboxCommandOptions {\n /**\n * Overrides matching sandbox environment values for this command.\n * Omitted or empty inherits the sandbox environment unchanged.\n */\n environment?: Record<string, string>;\n cwd?: string;\n timeout?: SandboxDuration;\n}\n\nexport type SandboxCommandOutputMetadata =\n | {\n truncated: false;\n }\n | {\n truncated: true;\n strategy: \"tail\";\n originalBytes: {\n stdout: number;\n stderr: number;\n };\n retainedBytes: {\n stdout: number;\n stderr: number;\n };\n };\n\nexport interface SandboxCommandResult {\n /**\n * Captured stdout decoded as UTF-8. Invalid or truncated byte sequences are\n * represented by the Unicode replacement character.\n */\n stdout: string;\n /**\n * Captured stderr decoded as UTF-8. Invalid or truncated byte sequences are\n * represented by the Unicode replacement character.\n */\n stderr: string;\n exitCode: number;\n output: SandboxCommandOutputMetadata;\n}\n\nexport type SandboxDestroyResult =\n | {\n status: \"TERMINATING\";\n sandbox: SandboxRef;\n }\n | {\n status: \"TERMINATED\";\n sandbox: null;\n };\n\nexport type SandboxProcessState =\n | \"STARTING\"\n | \"RUNNING\"\n | \"EXITED\"\n | \"KILLED\"\n | \"FAILED\"\n | \"LOST\";\n\nexport interface SandboxProcessResource {\n id: string;\n command: readonly string[];\n pid?: number;\n state: SandboxProcessState;\n exitCode?: number;\n terminationSignal?: number;\n startedAt?: string;\n endedAt?: string;\n}\n\nexport interface SandboxProcessRef extends SandboxProcessResource {\n kind: \"inngest/sandbox.process\";\n version: 1;\n sandboxId: string;\n}\n\nexport interface SandboxProcessStartOptions {\n command: SandboxCommand;\n\n /**\n * Overrides matching sandbox environment values for this process.\n * Omitted or empty inherits the sandbox environment unchanged.\n */\n environment?: Record<string, string>;\n cwd?: string;\n}\n\nexport interface SandboxProcessSignalOptions {\n signal: number;\n /**\n * Also signal the process's descendants. Defaults to `true` so shell-backed\n * commands do not leave their child processes running.\n */\n includeChildren?: boolean;\n}\n\nexport interface SandboxProcessWaitOptions {\n timeout?: SandboxDuration;\n}\n\nexport interface SandboxProcessOutputOptions {\n tailBytes?: number;\n}\n\nexport type SandboxProcessListOptions = SandboxListOptions;\nexport type SandboxProcessListResult<TProcess = SandboxProcessRef> =\n SandboxListResult<TProcess>;\n\nexport interface SandboxOutputChunk {\n stream: \"STDOUT\" | \"STDERR\";\n data: Uint8Array;\n at?: string;\n}\n\nexport interface SandboxProcessOutput {\n chunks: SandboxOutputChunk[];\n}\n\nexport interface SandboxLogStreamOptions {\n follow?: boolean;\n}\n\nexport interface SandboxFileUploadOptions {\n path: string;\n data: BodyInit;\n mode?: number;\n}\n\nexport interface SandboxFileUploadResult {\n path: string;\n bytesWritten: number;\n}\n\nexport interface SandboxFileDownloadOptions {\n path: string;\n}\n\nexport type SandboxSnapshotStatus =\n | \"CREATING\"\n | \"READY\"\n | \"DELETING\"\n | \"DELETED\"\n | \"FAILED\"\n | \"LOST\";\n\nexport interface SandboxSnapshotResource {\n id: string;\n sourceImageId: string;\n status: SandboxSnapshotStatus;\n compatibilityId?: string;\n resources: SandboxResources;\n memoryPackCount: number;\n diskPackCount: number;\n storedBytes: number;\n createdAt: string;\n updatedAt: string;\n expiresAt: string;\n error?: string;\n}\n\nexport interface SandboxSnapshotRef extends SandboxSnapshotResource {\n kind: \"inngest/sandbox.snapshot\";\n version: 1;\n}\n\nexport interface SandboxSnapshotWaitOptions {\n timeout: SandboxDuration;\n}\n\nexport interface SandboxLifecycleOptions {\n timeout?: SandboxDuration;\n signal?: AbortSignal;\n}\n\nexport type SandboxSnapshotCreateOptions = Record<string, never>;\nexport interface SandboxSnapshotCloneOptions {\n name: string;\n runningTimeout?: SandboxDuration;\n}\n\nexport type SandboxSnapshotListOptions = SandboxListOptions;\nexport type SandboxSnapshotListResult<TSnapshot = SandboxSnapshotRef> =\n SandboxListResult<TSnapshot>;\n\nexport type SandboxAction =\n | \"create\"\n | \"list\"\n | \"get\"\n | \"waitUntilRunning\"\n | \"exec\"\n | \"destroy\"\n | \"pause\"\n | \"resume\"\n | \"process.start\"\n | \"process.list\"\n | \"process.get\"\n | \"process.signal\"\n | \"process.wait\"\n | \"process.output\"\n | \"process.stream\"\n | \"logs.stream\"\n | \"file.upload\"\n | \"file.download\"\n | \"snapshot.create\"\n | \"snapshot.list\"\n | \"snapshot.get\"\n | \"snapshot.waitUntilReady\"\n | \"snapshot.delete\";\n\nexport type SandboxErrorCode =\n | \"access_denied\"\n | \"compute_unavailable\"\n | \"internal_error\"\n | \"invalid_field_format\"\n | \"invalid_request\"\n | \"missing_field\"\n | \"operation_ambiguous\"\n | \"rate_limited\"\n | \"sandbox_exec_output_too_large\"\n | \"sandbox_exec_timed_out\"\n | \"sandbox_name_taken\"\n | \"sandbox_not_found\"\n | \"sandbox_start_failed\"\n | \"sandbox_start_timed_out\"\n | \"sandbox_process_not_found\"\n | \"sandbox_process_output_not_retained\"\n | \"sandbox_process_wait_timed_out\"\n | \"sandbox_snapshot_limit_exceeded\"\n | \"sandbox_snapshot_not_found\"\n | \"sandbox_snapshot_not_ready\"\n | \"sandbox_snapshot_wait_timed_out\"\n | (string & {});\n\nexport type SandboxErrorDetail = Record<string, unknown>;\n\nexport interface SandboxErrorOptions {\n action: SandboxAction;\n code: SandboxErrorCode;\n message: string;\n status?: number;\n sandboxId?: string;\n processId?: string;\n snapshotId?: string;\n ambiguous?: boolean;\n retryable?: boolean;\n requestId?: string;\n details?: readonly SandboxErrorDetail[];\n cause?: unknown;\n}\n\nexport class SandboxValidationError extends Error {\n public override readonly cause?: unknown;\n\n constructor(message: string, options?: { cause?: unknown }) {\n super(message);\n this.name = \"SandboxValidationError\";\n this.cause = options?.cause;\n }\n}\n\nexport class SandboxError extends Error {\n public readonly protocolVersion = sandboxProtocolVersion;\n public readonly action: SandboxAction;\n public readonly code: SandboxErrorCode;\n public readonly status?: number;\n public readonly sandboxId?: string;\n public readonly processId?: string;\n public readonly snapshotId?: string;\n public readonly ambiguous: boolean;\n public readonly retryable: boolean;\n public readonly requestId?: string;\n public readonly details: readonly SandboxErrorDetail[];\n public override readonly cause?: unknown;\n\n constructor(options: SandboxErrorOptions) {\n super(options.message);\n this.name = \"SandboxError\";\n this.action = options.action;\n this.code = options.code;\n this.status = options.status;\n this.sandboxId = options.sandboxId;\n this.processId = options.processId;\n this.snapshotId = options.snapshotId;\n this.ambiguous =\n options.ambiguous ?? options.code === \"operation_ambiguous\";\n this.retryable = options.retryable ?? false;\n this.requestId = options.requestId;\n this.details = options.details ?? [];\n this.cause = options.cause;\n }\n}\n\nexport interface Sandbox {\n readonly kind: \"inngest/sandbox\";\n readonly version: 1;\n readonly id: string;\n readonly name: string;\n readonly status: SandboxStatus;\n readonly vpcId: string;\n readonly imageRef: string;\n readonly resources: SandboxResources;\n readonly createdAt: string;\n readonly startedAt?: string;\n readonly endedAt?: string;\n readonly error?: string;\n readonly commands: {\n run(\n command: SandboxCommand,\n options?: SandboxCommandOptions,\n ): Promise<SandboxCommandResult>;\n };\n readonly logs: {\n stream(\n options?: SandboxLogStreamOptions,\n ): Promise<ReadableStream<SandboxOutputChunk>>;\n };\n readonly files: {\n upload(options: SandboxFileUploadOptions): Promise<SandboxFileUploadResult>;\n download(options: SandboxFileDownloadOptions): Promise<Response>;\n };\n readonly processes: {\n start(options: SandboxProcessStartOptions): Promise<SandboxProcess>;\n list(\n options?: SandboxProcessListOptions,\n ): Promise<SandboxProcessListResult<SandboxProcess>>;\n get(processId: string): Promise<SandboxProcess | null>;\n };\n waitUntilRunning(options: SandboxWaitUntilRunningOptions): Promise<Sandbox>;\n pause(options?: SandboxLifecycleOptions): Promise<Sandbox>;\n resume(options?: SandboxLifecycleOptions): Promise<Sandbox>;\n snapshot(\n options?: SandboxSnapshotCreateOptions,\n waitOptions?: SandboxLifecycleOptions,\n ): Promise<SandboxSnapshot>;\n destroy(): Promise<SandboxDestroyResult>;\n}\n\nexport interface SandboxProcess {\n readonly kind: \"inngest/sandbox.process\";\n readonly version: 1;\n readonly sandboxId: string;\n readonly id: string;\n readonly command: readonly string[];\n readonly pid?: number;\n readonly state: SandboxProcessState;\n readonly exitCode?: number;\n readonly terminationSignal?: number;\n readonly startedAt?: string;\n readonly endedAt?: string;\n signal(options: SandboxProcessSignalOptions): Promise<void>;\n wait(options?: SandboxProcessWaitOptions): Promise<SandboxProcess>;\n getOutput(\n options?: SandboxProcessOutputOptions,\n ): Promise<SandboxProcessOutput>;\n streamOutput(\n options?: SandboxProcessOutputOptions,\n ): Promise<ReadableStream<SandboxOutputChunk>>;\n}\n\nexport interface SandboxSnapshot extends Readonly<SandboxSnapshotRef> {\n clone(\n options: SandboxSnapshotCloneOptions,\n waitOptions?: SandboxLifecycleOptions,\n ): Promise<Sandbox>;\n delete(): Promise<void>;\n}\n\nexport interface SandboxClient {\n create(options: SandboxCreateFreshOptions): Promise<Sandbox>;\n list(options?: SandboxListOptions): Promise<SandboxListResult<Sandbox>>;\n get(sandboxId: string): Promise<Sandbox | null>;\n readonly snapshots: {\n list(\n options?: SandboxSnapshotListOptions,\n ): Promise<SandboxSnapshotListResult<SandboxSnapshot>>;\n get(snapshotId: string): Promise<SandboxSnapshot | null>;\n };\n}\n\nexport interface DurableSandbox {\n readonly kind: \"inngest/sandbox\";\n readonly version: 1;\n readonly id: string;\n readonly name: string;\n readonly status: SandboxStatus;\n readonly vpcId: string;\n readonly imageRef: string;\n readonly resources: SandboxResources;\n readonly createdAt: string;\n readonly startedAt?: string;\n readonly endedAt?: string;\n readonly error?: string;\n readonly commands: {\n run(\n idOrOptions: StepOptionsOrId,\n command: SandboxCommand,\n options?: SandboxCommandOptions,\n ): Promise<SandboxCommandResult>;\n };\n readonly processes: {\n start(\n idOrOptions: StepOptionsOrId,\n options: SandboxProcessStartOptions,\n ): Promise<DurableSandboxProcess>;\n list(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessListOptions,\n ): Promise<SandboxProcessListResult<DurableSandboxProcess>>;\n get(\n idOrOptions: StepOptionsOrId,\n processId: string,\n ): Promise<DurableSandboxProcess | null>;\n };\n readonly snapshots: {\n create(\n idOrOptions: StepOptionsOrId,\n options?: SandboxSnapshotCreateOptions,\n waitOptions?: SandboxLifecycleOptions,\n ): Promise<DurableSandboxSnapshot>;\n };\n snapshot(\n idOrOptions: StepOptionsOrId,\n options?: SandboxSnapshotCreateOptions,\n waitOptions?: SandboxLifecycleOptions,\n ): Promise<DurableSandboxSnapshot>;\n pause(\n idOrOptions: StepOptionsOrId,\n options?: SandboxLifecycleOptions,\n ): Promise<DurableSandbox>;\n resume(\n idOrOptions: StepOptionsOrId,\n options?: SandboxLifecycleOptions,\n ): Promise<DurableSandbox>;\n waitUntilRunning(\n idOrOptions: StepOptionsOrId,\n options: SandboxWaitUntilRunningOptions,\n ): Promise<DurableSandbox>;\n destroy(idOrOptions: StepOptionsOrId): Promise<SandboxDestroyResult>;\n}\n\nexport interface DurableSandboxSnapshot {\n readonly kind: \"inngest/sandbox.snapshot\";\n readonly version: 1;\n readonly id: string;\n readonly sourceImageId: string;\n readonly status: SandboxSnapshotStatus;\n readonly compatibilityId?: string;\n readonly resources: SandboxResources;\n readonly memoryPackCount: number;\n readonly diskPackCount: number;\n readonly storedBytes: number;\n readonly createdAt: string;\n readonly updatedAt: string;\n readonly expiresAt: string;\n readonly error?: string;\n waitUntilReady(\n idOrOptions: StepOptionsOrId,\n options: SandboxSnapshotWaitOptions,\n ): Promise<DurableSandboxSnapshot>;\n delete(idOrOptions: StepOptionsOrId): Promise<void>;\n clone(\n idOrOptions: StepOptionsOrId,\n options: SandboxSnapshotCloneOptions,\n waitOptions?: SandboxLifecycleOptions,\n ): Promise<DurableSandbox>;\n}\n\nexport interface DurableSandboxProcess {\n readonly kind: \"inngest/sandbox.process\";\n readonly version: 1;\n readonly sandboxId: string;\n readonly id: string;\n readonly command: readonly string[];\n readonly pid?: number;\n readonly state: SandboxProcessState;\n readonly exitCode?: number;\n readonly terminationSignal?: number;\n readonly startedAt?: string;\n readonly endedAt?: string;\n signal(\n idOrOptions: StepOptionsOrId,\n options: SandboxProcessSignalOptions,\n ): Promise<void>;\n wait(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessWaitOptions,\n ): Promise<DurableSandboxProcess>;\n getOutput(\n idOrOptions: StepOptionsOrId,\n options?: SandboxProcessOutputOptions,\n ): Promise<SandboxProcessOutput>;\n}\n\nexport interface DurableSandboxTools {\n create(\n idOrOptions: StepOptionsOrId,\n options: SandboxCreateOptions,\n ): Promise<DurableSandbox>;\n list(\n idOrOptions: StepOptionsOrId,\n options?: SandboxListOptions,\n ): Promise<SandboxListResult<DurableSandbox>>;\n get(\n idOrOptions: StepOptionsOrId,\n sandboxId: string,\n ): Promise<DurableSandbox | null>;\n readonly snapshots: {\n list(\n idOrOptions: StepOptionsOrId,\n options?: SandboxSnapshotListOptions,\n ): Promise<SandboxSnapshotListResult<DurableSandboxSnapshot>>;\n get(\n idOrOptions: StepOptionsOrId,\n snapshotId: string,\n ): Promise<DurableSandboxSnapshot | null>;\n };\n}\n"],"mappings":";;AAGA,MAAa,yBAAyB;AA4XtC,IAAa,yBAAb,cAA4C,MAAM;CAChD,AAAyB;CAEzB,YAAY,SAAiB,SAA+B;AAC1D,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,QAAQ,SAAS;;;AAI1B,IAAa,eAAb,cAAkC,MAAM;CACtC,AAAgB,kBAAkB;CAClC,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAgB;CAChB,AAAyB;CAEzB,YAAY,SAA8B;AACxC,QAAM,QAAQ,QAAQ;AACtB,OAAK,OAAO;AACZ,OAAK,SAAS,QAAQ;AACtB,OAAK,OAAO,QAAQ;AACpB,OAAK,SAAS,QAAQ;AACtB,OAAK,YAAY,QAAQ;AACzB,OAAK,YAAY,QAAQ;AACzB,OAAK,aAAa,QAAQ;AAC1B,OAAK,YACH,QAAQ,aAAa,QAAQ,SAAS;AACxC,OAAK,YAAY,QAAQ,aAAa;AACtC,OAAK,YAAY,QAAQ;AACzB,OAAK,UAAU,QAAQ,WAAW,EAAE;AACpC,OAAK,QAAQ,QAAQ"}
@@ -3,7 +3,7 @@ import { StepOptionsOrId } from "../../types.cjs";
3
3
 
4
4
  //#region src/components/sandbox/types.d.ts
5
5
  type SandboxDuration = number | string | DurationLike;
6
- type SandboxStatus = "PENDING" | "STARTING" | "RUNNING" | "PAUSED" | "TERMINATING" | "TERMINATED" | "FAILED";
6
+ type SandboxStatus = "PENDING" | "STARTING" | "PAUSING" | "RUNNING" | "PAUSED" | "RESUMING" | "TERMINATING" | "TERMINATED" | "FAILED";
7
7
  interface SandboxResources {
8
8
  readonly vcpu: number;
9
9
  readonly memoryMb: number;
@@ -24,22 +24,13 @@ interface SandboxRef extends SandboxResource {
24
24
  kind: "inngest/sandbox";
25
25
  version: 1;
26
26
  }
27
- interface SandboxCreateOptions {
27
+ interface SandboxCreateBaseOptions {
28
28
  /**
29
29
  * Stable identity for an active sandbox. Creating the same name again with
30
30
  * the same configuration returns the existing sandbox. Names are
31
31
  * case-sensitive and may contain up to 255 characters.
32
32
  */
33
33
  name: string;
34
- vcpu: number;
35
- memoryMb: number;
36
- /**
37
- * Environment inherited by commands and managed processes. Values are
38
- * persisted as literal sandbox configuration; this is not a secrets
39
- * mechanism, so do not use this field for secrets. Guest defaults are
40
- * retained, and operation-specific values override matching keys.
41
- */
42
- environment?: Record<string, string>;
43
34
  /**
44
35
  * How long to wait for the sandbox to reach RUNNING after Create succeeds.
45
36
  *
@@ -64,6 +55,25 @@ interface SandboxCreateOptions {
64
55
  */
65
56
  runningTimeout?: SandboxDuration | false;
66
57
  }
58
+ interface SandboxCreateFreshOptions extends SandboxCreateBaseOptions {
59
+ vcpu: number;
60
+ memoryMb: number;
61
+ /**
62
+ * Environment inherited by commands and managed processes. Values are
63
+ * persisted as literal sandbox configuration; this is not a secrets
64
+ * mechanism, so do not use this field for secrets. Guest defaults are
65
+ * retained, and operation-specific values override matching keys.
66
+ */
67
+ environment?: Record<string, string>;
68
+ snapshotId?: never;
69
+ }
70
+ interface SandboxCreateFromSnapshotOptions extends SandboxCreateBaseOptions {
71
+ snapshotId: string;
72
+ vcpu?: never;
73
+ memoryMb?: never;
74
+ environment?: never;
75
+ }
76
+ type SandboxCreateOptions = SandboxCreateFreshOptions | SandboxCreateFromSnapshotOptions;
67
77
  interface SandboxWaitUntilRunningOptions {
68
78
  timeout: SandboxDuration;
69
79
  }
@@ -198,8 +208,41 @@ interface SandboxFileUploadResult {
198
208
  interface SandboxFileDownloadOptions {
199
209
  path: string;
200
210
  }
201
- type SandboxAction = "create" | "list" | "get" | "waitUntilRunning" | "exec" | "destroy" | "process.start" | "process.list" | "process.get" | "process.signal" | "process.wait" | "process.output" | "process.stream" | "logs.stream" | "file.upload" | "file.download";
202
- type SandboxErrorCode = "access_denied" | "compute_unavailable" | "internal_error" | "invalid_field_format" | "invalid_request" | "missing_field" | "operation_ambiguous" | "rate_limited" | "sandbox_exec_output_too_large" | "sandbox_exec_timed_out" | "sandbox_name_taken" | "sandbox_not_found" | "sandbox_start_failed" | "sandbox_start_timed_out" | "sandbox_process_not_found" | "sandbox_process_output_not_retained" | "sandbox_process_wait_timed_out" | (string & {});
211
+ type SandboxSnapshotStatus = "CREATING" | "READY" | "DELETING" | "DELETED" | "FAILED" | "LOST";
212
+ interface SandboxSnapshotResource {
213
+ id: string;
214
+ sourceImageId: string;
215
+ status: SandboxSnapshotStatus;
216
+ compatibilityId?: string;
217
+ resources: SandboxResources;
218
+ memoryPackCount: number;
219
+ diskPackCount: number;
220
+ storedBytes: number;
221
+ createdAt: string;
222
+ updatedAt: string;
223
+ expiresAt: string;
224
+ error?: string;
225
+ }
226
+ interface SandboxSnapshotRef extends SandboxSnapshotResource {
227
+ kind: "inngest/sandbox.snapshot";
228
+ version: 1;
229
+ }
230
+ interface SandboxSnapshotWaitOptions {
231
+ timeout: SandboxDuration;
232
+ }
233
+ interface SandboxLifecycleOptions {
234
+ timeout?: SandboxDuration;
235
+ signal?: AbortSignal;
236
+ }
237
+ type SandboxSnapshotCreateOptions = Record<string, never>;
238
+ interface SandboxSnapshotCloneOptions {
239
+ name: string;
240
+ runningTimeout?: SandboxDuration;
241
+ }
242
+ type SandboxSnapshotListOptions = SandboxListOptions;
243
+ type SandboxSnapshotListResult<TSnapshot = SandboxSnapshotRef> = SandboxListResult<TSnapshot>;
244
+ type SandboxAction = "create" | "list" | "get" | "waitUntilRunning" | "exec" | "destroy" | "pause" | "resume" | "process.start" | "process.list" | "process.get" | "process.signal" | "process.wait" | "process.output" | "process.stream" | "logs.stream" | "file.upload" | "file.download" | "snapshot.create" | "snapshot.list" | "snapshot.get" | "snapshot.waitUntilReady" | "snapshot.delete";
245
+ type SandboxErrorCode = "access_denied" | "compute_unavailable" | "internal_error" | "invalid_field_format" | "invalid_request" | "missing_field" | "operation_ambiguous" | "rate_limited" | "sandbox_exec_output_too_large" | "sandbox_exec_timed_out" | "sandbox_name_taken" | "sandbox_not_found" | "sandbox_start_failed" | "sandbox_start_timed_out" | "sandbox_process_not_found" | "sandbox_process_output_not_retained" | "sandbox_process_wait_timed_out" | "sandbox_snapshot_limit_exceeded" | "sandbox_snapshot_not_found" | "sandbox_snapshot_not_ready" | "sandbox_snapshot_wait_timed_out" | (string & {});
203
246
  type SandboxErrorDetail = Record<string, unknown>;
204
247
  interface SandboxErrorOptions {
205
248
  action: SandboxAction;
@@ -208,6 +251,7 @@ interface SandboxErrorOptions {
208
251
  status?: number;
209
252
  sandboxId?: string;
210
253
  processId?: string;
254
+ snapshotId?: string;
211
255
  ambiguous?: boolean;
212
256
  retryable?: boolean;
213
257
  requestId?: string;
@@ -227,6 +271,7 @@ declare class SandboxError extends Error {
227
271
  readonly status?: number;
228
272
  readonly sandboxId?: string;
229
273
  readonly processId?: string;
274
+ readonly snapshotId?: string;
230
275
  readonly ambiguous: boolean;
231
276
  readonly retryable: boolean;
232
277
  readonly requestId?: string;
@@ -263,6 +308,9 @@ interface Sandbox {
263
308
  get(processId: string): Promise<SandboxProcess | null>;
264
309
  };
265
310
  waitUntilRunning(options: SandboxWaitUntilRunningOptions): Promise<Sandbox>;
311
+ pause(options?: SandboxLifecycleOptions): Promise<Sandbox>;
312
+ resume(options?: SandboxLifecycleOptions): Promise<Sandbox>;
313
+ snapshot(options?: SandboxSnapshotCreateOptions, waitOptions?: SandboxLifecycleOptions): Promise<SandboxSnapshot>;
266
314
  destroy(): Promise<SandboxDestroyResult>;
267
315
  }
268
316
  interface SandboxProcess {
@@ -282,10 +330,18 @@ interface SandboxProcess {
282
330
  getOutput(options?: SandboxProcessOutputOptions): Promise<SandboxProcessOutput>;
283
331
  streamOutput(options?: SandboxProcessOutputOptions): Promise<ReadableStream<SandboxOutputChunk>>;
284
332
  }
333
+ interface SandboxSnapshot extends Readonly<SandboxSnapshotRef> {
334
+ clone(options: SandboxSnapshotCloneOptions, waitOptions?: SandboxLifecycleOptions): Promise<Sandbox>;
335
+ delete(): Promise<void>;
336
+ }
285
337
  interface SandboxClient {
286
- create(options: SandboxCreateOptions): Promise<Sandbox>;
338
+ create(options: SandboxCreateFreshOptions): Promise<Sandbox>;
287
339
  list(options?: SandboxListOptions): Promise<SandboxListResult<Sandbox>>;
288
340
  get(sandboxId: string): Promise<Sandbox | null>;
341
+ readonly snapshots: {
342
+ list(options?: SandboxSnapshotListOptions): Promise<SandboxSnapshotListResult<SandboxSnapshot>>;
343
+ get(snapshotId: string): Promise<SandboxSnapshot | null>;
344
+ };
289
345
  }
290
346
  interface DurableSandbox {
291
347
  readonly kind: "inngest/sandbox";
@@ -308,9 +364,34 @@ interface DurableSandbox {
308
364
  list(idOrOptions: StepOptionsOrId, options?: SandboxProcessListOptions): Promise<SandboxProcessListResult<DurableSandboxProcess>>;
309
365
  get(idOrOptions: StepOptionsOrId, processId: string): Promise<DurableSandboxProcess | null>;
310
366
  };
367
+ readonly snapshots: {
368
+ create(idOrOptions: StepOptionsOrId, options?: SandboxSnapshotCreateOptions, waitOptions?: SandboxLifecycleOptions): Promise<DurableSandboxSnapshot>;
369
+ };
370
+ snapshot(idOrOptions: StepOptionsOrId, options?: SandboxSnapshotCreateOptions, waitOptions?: SandboxLifecycleOptions): Promise<DurableSandboxSnapshot>;
371
+ pause(idOrOptions: StepOptionsOrId, options?: SandboxLifecycleOptions): Promise<DurableSandbox>;
372
+ resume(idOrOptions: StepOptionsOrId, options?: SandboxLifecycleOptions): Promise<DurableSandbox>;
311
373
  waitUntilRunning(idOrOptions: StepOptionsOrId, options: SandboxWaitUntilRunningOptions): Promise<DurableSandbox>;
312
374
  destroy(idOrOptions: StepOptionsOrId): Promise<SandboxDestroyResult>;
313
375
  }
376
+ interface DurableSandboxSnapshot {
377
+ readonly kind: "inngest/sandbox.snapshot";
378
+ readonly version: 1;
379
+ readonly id: string;
380
+ readonly sourceImageId: string;
381
+ readonly status: SandboxSnapshotStatus;
382
+ readonly compatibilityId?: string;
383
+ readonly resources: SandboxResources;
384
+ readonly memoryPackCount: number;
385
+ readonly diskPackCount: number;
386
+ readonly storedBytes: number;
387
+ readonly createdAt: string;
388
+ readonly updatedAt: string;
389
+ readonly expiresAt: string;
390
+ readonly error?: string;
391
+ waitUntilReady(idOrOptions: StepOptionsOrId, options: SandboxSnapshotWaitOptions): Promise<DurableSandboxSnapshot>;
392
+ delete(idOrOptions: StepOptionsOrId): Promise<void>;
393
+ clone(idOrOptions: StepOptionsOrId, options: SandboxSnapshotCloneOptions, waitOptions?: SandboxLifecycleOptions): Promise<DurableSandbox>;
394
+ }
314
395
  interface DurableSandboxProcess {
315
396
  readonly kind: "inngest/sandbox.process";
316
397
  readonly version: 1;
@@ -331,7 +412,11 @@ interface DurableSandboxTools {
331
412
  create(idOrOptions: StepOptionsOrId, options: SandboxCreateOptions): Promise<DurableSandbox>;
332
413
  list(idOrOptions: StepOptionsOrId, options?: SandboxListOptions): Promise<SandboxListResult<DurableSandbox>>;
333
414
  get(idOrOptions: StepOptionsOrId, sandboxId: string): Promise<DurableSandbox | null>;
415
+ readonly snapshots: {
416
+ list(idOrOptions: StepOptionsOrId, options?: SandboxSnapshotListOptions): Promise<SandboxSnapshotListResult<DurableSandboxSnapshot>>;
417
+ get(idOrOptions: StepOptionsOrId, snapshotId: string): Promise<DurableSandboxSnapshot | null>;
418
+ };
334
419
  }
335
420
  //#endregion
336
- export { DurableSandbox, DurableSandboxProcess, DurableSandboxTools, Sandbox, SandboxAction, SandboxClient, SandboxCommand, SandboxCommandOptions, SandboxCommandOutputMetadata, SandboxCommandResult, SandboxCreateOptions, SandboxDestroyResult, SandboxDuration, SandboxError, SandboxErrorCode, SandboxErrorDetail, SandboxFileDownloadOptions, SandboxFileUploadOptions, SandboxFileUploadResult, SandboxListOptions, SandboxListResult, SandboxLogStreamOptions, SandboxOutputChunk, SandboxPageInfo, SandboxProcess, SandboxProcessListOptions, SandboxProcessListResult, SandboxProcessOutput, SandboxProcessOutputOptions, SandboxProcessRef, SandboxProcessResource, SandboxProcessSignalOptions, SandboxProcessStartOptions, SandboxProcessState, SandboxProcessWaitOptions, SandboxRef, SandboxResource, SandboxResources, SandboxStatus, SandboxValidationError, SandboxWaitUntilRunningOptions };
421
+ export { DurableSandbox, DurableSandboxProcess, DurableSandboxSnapshot, DurableSandboxTools, Sandbox, SandboxAction, SandboxClient, SandboxCommand, SandboxCommandOptions, SandboxCommandOutputMetadata, SandboxCommandResult, SandboxCreateFreshOptions, SandboxCreateFromSnapshotOptions, SandboxCreateOptions, SandboxDestroyResult, SandboxDuration, SandboxError, SandboxErrorCode, SandboxErrorDetail, SandboxFileDownloadOptions, SandboxFileUploadOptions, SandboxFileUploadResult, SandboxLifecycleOptions, SandboxListOptions, SandboxListResult, SandboxLogStreamOptions, SandboxOutputChunk, SandboxPageInfo, SandboxProcess, SandboxProcessListOptions, SandboxProcessListResult, SandboxProcessOutput, SandboxProcessOutputOptions, SandboxProcessRef, SandboxProcessResource, SandboxProcessSignalOptions, SandboxProcessStartOptions, SandboxProcessState, SandboxProcessWaitOptions, SandboxRef, SandboxResource, SandboxResources, SandboxSnapshot, SandboxSnapshotCloneOptions, SandboxSnapshotCreateOptions, SandboxSnapshotListOptions, SandboxSnapshotListResult, SandboxSnapshotRef, SandboxSnapshotResource, SandboxSnapshotStatus, SandboxSnapshotWaitOptions, SandboxStatus, SandboxValidationError, SandboxWaitUntilRunningOptions };
337
422
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/sandbox/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/sandbox/types.ts"],"sourcesContent":[],"mappings":"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"}