Execution runtime

Durable sandboxes without provider lock-in.

Sandbox turns Vercel, Daytona, Sprites, and future providers into a domain surface: create an environment, stream commands, write files, expose ports, and reconnect by durable ids.

/sandbox

Sandbox surface

@ekairos/sandbox@beta

schema

sandbox_sandboxes

Durable sandbox records with provider, runtime, purpose, external id, and status.

sandbox_processes

Command/process runs linked to a sandbox and optional stream output.

actions

createSandbox

Creates a provider-backed sandbox and persists the durable sandbox id.

runCommand

Runs a command in an existing sandbox and returns the immediate result.

runCommandProcess

Runs a command as a durable process with linked stream output.

writeFiles / readFile

Moves file payloads through the sandbox boundary.

Showcase-first surface

The route exists before registry publication so the public surface can be shaped against the real domain contract.

From simple to complex

The same idea, three depths.

01

in one sentence

A safe computer your agent can use.

Run commands, edit files, open ports — all inside an isolated environment that can't touch anything else.

02

how it works

Create an environment once, then keep coming back to it by id.

You create a sandbox with a provider and runtime, and get back a durable id. From then on the agent runs commands, writes files, and previews running apps through that id — and can reconnect to the same environment later, even across restarts.

03

under the hood

Provider-agnostic records for sandboxes and their processes.

sandbox_sandboxes stores provider, runtime, purpose, and status while sandbox_processes tracks each command run with its stream output. Actions like createSandbox, runCommandProcess, writeFiles, createCheckpoint, and getPortUrl keep Vercel, Daytona, and Sprites behind one domain surface.

Runtime shape

Package behavior. Registry presentation.

Sandbox UI should expose environment lifecycle, command streams, files, checkpoints, and preview ports as reusable primitives.

package

@ekairos/sandbox@beta

aggregate

sandbox_sandboxes

durable

sandbox_processes

ui

component surface reserved