SandboxInfo

What a sandbox adapter declares about itself: its provider name, whether it enforces egress, what its snapshots capture, browser and desktop support, which lost operations it can look up, and whether terminate can confirm a process is gone.

Fields

providerNamerequired

The provider's name: lowercase letters, digits and underscores (for example e2b, daytona, modal). Recovery and gc resolve a ledger row only with the adapter of the same provider.

egress"enforced" | "unenforced"required

"enforced": the sandbox can deny all outbound network. "unenforced": it can't, so the agent must opt in with egress "unenforced", and stub-mode forks and saved cases refuse it.

capture_classesreadonly SnapshotEvent.data.capture_class[]required

What a snapshot can capture: filesystem, filesystem_and_processes or full_vm. Recorded when the thread starts.

browser"none" | "headless"required

"headless" when the sandbox image can run a headless browser, "none" otherwise.

desktop"none" | "native" | "image"required

"native" or "image" when the sandbox has a desktop the computer tools can drive, "none" otherwise. The agent's computer option needs one of the first two.

lookup{ create: LookupCapability; snapshot: LookupCapability }required

Per operation: create (Sandbox.lookup) and snapshot (Sandbox.lookupSnapshot).

lookup.createLookupCapabilityrequired

Whether Sandbox.lookup can find a sandbox whose create or restore response was lost: none, nonfinal or final.

lookup.snapshotLookupCapabilityrequired

Whether Sandbox.lookupSnapshot can find a snapshot whose capture response was lost: none, nonfinal or final.

termination"confirmed" | "unconfirmed"required

Whether terminate can confirm a process group is gone. unconfirmed: every sandbox_local timeout or crash parks.

Edit on GitHub

On this page