[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-rivet-sandbox-agent":3,"mdc-wun2w0-key":43,"related-repo-rivet-sandbox-agent":3936,"related-org-rivet-sandbox-agent":4059},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":32,"repoUrl":33,"updatedAt":34,"license":35,"forks":36,"topics":37,"repo":38,"sourceUrl":41,"mdContent":42},"sandbox-agent","orchestrate AI coding agents in sandboxes","Deploy, configure, and integrate Sandbox Agent - a universal API for orchestrating AI coding agents (Claude Code, Codex, OpenCode, Amp) in sandboxed environments. Use when setting up sandbox-agent server locally or in cloud sandboxes (E2B, Daytona, Docker), creating and managing agent sessions via SDK or API, streaming agent events and handling human-in-the-loop interactions, building chat UIs for coding agents, or understanding the universal schema for agent responses.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"rivet","Rivet","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Frivet.png","rivet-dev",[13,17,20,23,26,29],{"name":14,"slug":15,"type":16},"Claude Code","claude-code","tag",{"name":18,"slug":19,"type":16},"Sandboxing","sandboxing",{"name":21,"slug":22,"type":16},"Codex","codex",{"name":24,"slug":25,"type":16},"Agents","agents",{"name":27,"slug":28,"type":16},"Engineering","engineering",{"name":30,"slug":31,"type":16},"API Development","api-development",17,"https:\u002F\u002Fgithub.com\u002Frivet-dev\u002Fskills","2026-04-19T06:45:25.378",null,7,[],{"repoUrl":33,"stars":32,"forks":36,"topics":39,"description":40},[],"Generated skill files for Rivet AI integrations","https:\u002F\u002Fgithub.com\u002Frivet-dev\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fsandbox-agent","---\nname: \"sandbox-agent\"\ndescription: \"Deploy, configure, and integrate Sandbox Agent - a universal API for orchestrating AI coding agents (Claude Code, Codex, OpenCode, Amp) in sandboxed environments. Use when setting up sandbox-agent server locally or in cloud sandboxes (E2B, Daytona, Docker), creating and managing agent sessions via SDK or API, streaming agent events and handling human-in-the-loop interactions, building chat UIs for coding agents, or understanding the universal schema for agent responses.\"\n---\n\n# Sandbox Agent\n\nSandbox Agent provides a universal API for orchestrating AI coding agents in sandboxed environments.\n\n## What To Do If You Get Stuck\n\nIf something is not working as intended or you are stuck, prompt the user to join the [Rivet Discord](https:\u002F\u002Frivet.dev\u002Fdiscord) or file an issue on [GitHub](https:\u002F\u002Fgithub.com\u002Frivet-dev\u002Fsandbox-agent\u002Fissues) to report an issue and get help.\n\nProvide the user with a pre-generated report with:\n\n- Symptoms\n\t- If this is happening in local dev, deployed, or both\n\t- The error you're seeing\n\t- Relevant source code related to this\n- What you've tried to solve it\n- Environment\n\t- Sandbox Agent version\n\t- SDK in use (TypeScript, Python, or HTTP)\n\t- Agent in use (Claude Code, Codex, OpenCode, Amp, Mock)\n\t- Sandbox provider (E2B, Daytona, Docker, local)\n\n## Quickstart\n\n### Install skill (optional)\n\n#### npx\n\n```bash\nnpx skills add rivet-dev\u002Fskills -s sandbox-agent\n```\n\n#### bunx\n\n```bash\nbunx skills add rivet-dev\u002Fskills -s sandbox-agent\n```\n\n### Set environment variables\n\nEach coding agent requires API keys to connect to their respective LLM providers.\n\n#### Local shell\n\n```bash\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"\nexport OPENAI_API_KEY=\"sk-...\"\n```\n\n#### E2B\n\n```typescript\nimport { Sandbox } from \"@e2b\u002Fcode-interpreter\";\n\nconst envs: Record\u003Cstring, string> = {};\nif (process.env.ANTHROPIC_API_KEY) envs.ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;\nif (process.env.OPENAI_API_KEY) envs.OPENAI_API_KEY = process.env.OPENAI_API_KEY;\n\nconst sandbox = await Sandbox.create({ envs });\n```\n\n#### Daytona\n\n```typescript\nimport { Daytona } from \"@daytonaio\u002Fsdk\";\n\nconst envVars: Record\u003Cstring, string> = {};\nif (process.env.ANTHROPIC_API_KEY) envVars.ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;\nif (process.env.OPENAI_API_KEY) envVars.OPENAI_API_KEY = process.env.OPENAI_API_KEY;\n\nconst daytona = new Daytona();\nconst sandbox = await daytona.create({\n  snapshot: \"sandbox-agent-ready\",\n  envVars,\n});\n```\n\n#### Docker\n\n```bash\ndocker run -p 2468:2468 \\\n  -e ANTHROPIC_API_KEY=\"sk-ant-...\" \\\n  -e OPENAI_API_KEY=\"sk-...\" \\\n  rivetdev\u002Fsandbox-agent:0.4.2-full \\\n  server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### Extracting API keys from current machine\n\nUse `sandbox-agent credentials extract-env --export` to extract your existing API keys (Anthropic, OpenAI, etc.) from local Claude Code or Codex config files.\n\n#### Testing without API keys\n\nUse the `mock` agent for SDK and integration testing without provider credentials.\n\n#### Multi-tenant and per-user billing\n\nFor per-tenant token tracking, budget enforcement, or usage-based billing, see [LLM Credentials](\u002Fllm-credentials) for gateway options like OpenRouter, LiteLLM, and Portkey.\n\n### Run the server\n\n#### curl\n\nInstall and run the binary directly.\n\n```bash\ncurl -fsSL https:\u002F\u002Freleases.rivet.dev\u002Fsandbox-agent\u002F0.4.x\u002Finstall.sh | sh\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### npx\n\nRun without installing globally.\n\n```bash\nnpx @sandbox-agent\u002Fcli@0.4.x server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### bunx\n\nRun without installing globally.\n\n```bash\nbunx @sandbox-agent\u002Fcli@0.4.x server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### npm i -g\n\nInstall globally, then run.\n\n```bash\nnpm install -g @sandbox-agent\u002Fcli@0.4.x\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### bun add -g\n\nInstall globally, then run.\n\n```bash\nbun add -g @sandbox-agent\u002Fcli@0.4.x\n# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).\nbun pm -g trust @sandbox-agent\u002Fcli-linux-x64 @sandbox-agent\u002Fcli-linux-arm64 @sandbox-agent\u002Fcli-darwin-arm64 @sandbox-agent\u002Fcli-darwin-x64 @sandbox-agent\u002Fcli-win32-x64\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n```\n\n#### Node.js (local)\n\nFor local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.\n\n```bash\nnpm install sandbox-agent@0.4.x\n```\n\n```typescript\nimport { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.start();\n```\n\n#### Bun (local)\n\nFor local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.\n\n```bash\nbun add sandbox-agent@0.4.x\n# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).\nbun pm trust @sandbox-agent\u002Fcli-linux-x64 @sandbox-agent\u002Fcli-linux-arm64 @sandbox-agent\u002Fcli-darwin-arm64 @sandbox-agent\u002Fcli-darwin-x64 @sandbox-agent\u002Fcli-win32-x64\n```\n\n```typescript\nimport { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.start();\n```\n\n#### Build from source\n\nIf you're running from source instead of the installed CLI.\n\n```bash\ncargo run -p sandbox-agent -- server --no-token --host 0.0.0.0 --port 2468\n```\n\nBinding to `0.0.0.0` allows the server to accept connections from any network interface, which is required when running inside a sandbox where clients connect remotely.\n\n#### Configuring token\n\nTokens are usually not required. Most sandbox providers (E2B, Daytona, etc.) already secure networking at the infrastructure layer.\n\nIf you expose the server publicly, use `--token \"$SANDBOX_TOKEN\"` to require authentication:\n\n```bash\nsandbox-agent server --token \"$SANDBOX_TOKEN\" --host 0.0.0.0 --port 2468\n```\n\nThen pass the token when connecting:\n\n#### TypeScript\n\n```typescript\nimport { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.connect({\n  baseUrl: \"http:\u002F\u002Fyour-server:2468\",\n  token: process.env.SANDBOX_TOKEN,\n});\n```\n\n#### curl\n\n```bash\ncurl \"http:\u002F\u002Fyour-server:2468\u002Fv1\u002Fhealth\" \\\n  -H \"Authorization: Bearer $SANDBOX_TOKEN\"\n```\n\n#### CLI\n\n```bash\nsandbox-agent --token \"$SANDBOX_TOKEN\" api agents list \\\n  --endpoint http:\u002F\u002Fyour-server:2468\n```\n\n#### CORS\n\nIf you're calling the server from a browser, see the [CORS configuration guide](\u002Fcors).\n\n### Install agents (optional)\n\nTo preinstall agents:\n\n```bash\nsandbox-agent install-agent --all\n```\n\nIf agents are not installed up front, they are lazily installed when creating a session.\n\n### Install desktop dependencies (optional, Linux only)\n\nIf you want to use `\u002Fv1\u002Fdesktop\u002F*`, install the desktop runtime packages first:\n\n```bash\nsandbox-agent install desktop --yes\n```\n\nThen use `GET \u002Fv1\u002Fdesktop\u002Fstatus` or `sdk.getDesktopStatus()` to verify the runtime is ready before calling desktop screenshot or input APIs.\n\n### Create a session\n\n```typescript\nimport { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.connect({\n  baseUrl: \"http:\u002F\u002F127.0.0.1:2468\",\n});\n\nconst session = await sdk.createSession({\n  agent: \"claude\",\n  sessionInit: {\n    cwd: \"\u002F\",\n    mcpServers: [],\n  },\n});\n\nconsole.log(session.id);\n```\n\n### Send a message\n\n```typescript\nconst result = await session.prompt([\n  { type: \"text\", text: \"Summarize the repository and suggest next steps.\" },\n]);\n\nconsole.log(result.stopReason);\n```\n\n### Read events\n\n```typescript\nconst off = session.onEvent((event) => {\n  console.log(event.sender, event.payload);\n});\n\nconst page = await sdk.getEvents({\n  sessionId: session.id,\n  limit: 50,\n});\n\nconsole.log(page.items.length);\noff();\n```\n\n### Test with Inspector\n\nOpen the Inspector UI at `\u002Fui\u002F` on your server (for example, `http:\u002F\u002Flocalhost:2468\u002Fui\u002F`) to inspect sessions and events in a GUI.\n\n![Sandbox Agent Inspector](https:\u002F\u002Fsandboxagent.dev\u002Fdocs\u002Fimages\u002Finspector.png)\n\n## Next steps\n\n- [Session Persistence](\u002Fsession-persistence) — Configure in-memory, Rivet Actor state, IndexedDB, SQLite, and Postgres persistence.\n\n- [Deploy to a Sandbox](\u002Fdeploy\u002Flocal) — Deploy your agent to E2B, Daytona, Docker, Vercel, or Cloudflare.\n\n- [SDK Overview](\u002Fsdk-overview) — Use the latest TypeScript SDK API.\n\n## Reference Map\n\n### Agents\n\n- [Amp](references\u002Fagents\u002Famp.md)\n- [Claude](references\u002Fagents\u002Fclaude.md)\n- [Codex](references\u002Fagents\u002Fcodex.md)\n- [Cursor](references\u002Fagents\u002Fcursor.md)\n- [OpenCode](references\u002Fagents\u002Fopencode.md)\n- [Pi](references\u002Fagents\u002Fpi.md)\n\n### AI\n\n- [llms.txt](references\u002Fai\u002Fllms-txt.md)\n- [skill.md](references\u002Fai\u002Fskill.md)\n\n### Deploy\n\n- [Agent Computer](references\u002Fdeploy\u002Fagentcomputer.md)\n- [BoxLite](references\u002Fdeploy\u002Fboxlite.md)\n- [Cloudflare](references\u002Fdeploy\u002Fcloudflare.md)\n- [ComputeSDK](references\u002Fdeploy\u002Fcomputesdk.md)\n- [Daytona](references\u002Fdeploy\u002Fdaytona.md)\n- [Docker](references\u002Fdeploy\u002Fdocker.md)\n- [E2B](references\u002Fdeploy\u002Fe2b.md)\n- [Local](references\u002Fdeploy\u002Flocal.md)\n- [Modal](references\u002Fdeploy\u002Fmodal.md)\n- [Vercel](references\u002Fdeploy\u002Fvercel.md)\n\n### General\n\n- [Agent Sessions](references\u002Fagent-sessions.md)\n- [Architecture](references\u002Farchitecture.md)\n- [Attachments](references\u002Fattachments.md)\n- [CLI Reference](references\u002Fcli.md)\n- [Common Software](references\u002Fcommon-software.md)\n- [Computer Use](references\u002Fcomputer-use.md)\n- [CORS Configuration](references\u002Fcors.md)\n- [Custom Tools](references\u002Fcustom-tools.md)\n- [Daemon](references\u002Fdaemon.md)\n- [File System](references\u002Ffile-system.md)\n- [Inspector](references\u002Finspector.md)\n- [LLM Credentials](references\u002Fllm-credentials.md)\n- [Manage Sessions](references\u002Fmanage-sessions.md)\n- [MCP](references\u002Fmcp-config.md)\n- [Multiplayer](references\u002Fmultiplayer.md)\n- [Observability](references\u002Fobservability.md)\n- [OpenCode Compatibility](references\u002Fopencode-compatibility.md)\n- [Orchestration Architecture](references\u002Forchestration-architecture.md)\n- [Persisting Sessions](references\u002Fsession-persistence.md)\n- [Processes](references\u002Fprocesses.md)\n- [Quickstart](references\u002Fquickstart.md)\n- [React Components](references\u002Freact-components.md)\n- [SDK Overview](references\u002Fsdk-overview.md)\n- [Security](references\u002Fsecurity.md)\n- [Session Restoration](references\u002Fsession-restoration.md)\n- [Skills](references\u002Fskills-config.md)\n- [Telemetry](references\u002Ftelemetry.md)\n- [Troubleshooting](references\u002Ftroubleshooting.md)\n",{"data":44,"body":45},{"name":4,"description":6},{"type":46,"children":47},"root",[48,56,62,69,94,99,160,166,173,179,228,233,267,273,278,284,357,363,699,705,1080,1086,1223,1229,1242,1248,1261,1267,1280,1286,1291,1296,1362,1367,1372,1415,1420,1424,1466,1472,1477,1538,1544,1548,1661,1667,1680,1703,1798,1804,1814,1878,1969,1975,1980,2037,2050,2056,2061,2074,2126,2131,2136,2310,2315,2371,2377,2439,2445,2457,2463,2468,2492,2497,2503,2516,2544,2565,2571,2920,2926,3084,3090,3405,3411,3432,3441,3447,3483,3489,3493,3549,3555,3576,3582,3672,3678,3930],{"type":49,"tag":50,"props":51,"children":52},"element","h1",{"id":4},[53],{"type":54,"value":55},"text","Sandbox Agent",{"type":49,"tag":57,"props":58,"children":59},"p",{},[60],{"type":54,"value":61},"Sandbox Agent provides a universal API for orchestrating AI coding agents in sandboxed environments.",{"type":49,"tag":63,"props":64,"children":66},"h2",{"id":65},"what-to-do-if-you-get-stuck",[67],{"type":54,"value":68},"What To Do If You Get Stuck",{"type":49,"tag":57,"props":70,"children":71},{},[72,74,83,85,92],{"type":54,"value":73},"If something is not working as intended or you are stuck, prompt the user to join the ",{"type":49,"tag":75,"props":76,"children":80},"a",{"href":77,"rel":78},"https:\u002F\u002Frivet.dev\u002Fdiscord",[79],"nofollow",[81],{"type":54,"value":82},"Rivet Discord",{"type":54,"value":84}," or file an issue on ",{"type":49,"tag":75,"props":86,"children":89},{"href":87,"rel":88},"https:\u002F\u002Fgithub.com\u002Frivet-dev\u002Fsandbox-agent\u002Fissues",[79],[90],{"type":54,"value":91},"GitHub",{"type":54,"value":93}," to report an issue and get help.",{"type":49,"tag":57,"props":95,"children":96},{},[97],{"type":54,"value":98},"Provide the user with a pre-generated report with:",{"type":49,"tag":100,"props":101,"children":102},"ul",{},[103,127,132],{"type":49,"tag":104,"props":105,"children":106},"li",{},[107,109],{"type":54,"value":108},"Symptoms\n",{"type":49,"tag":100,"props":110,"children":111},{},[112,117,122],{"type":49,"tag":104,"props":113,"children":114},{},[115],{"type":54,"value":116},"If this is happening in local dev, deployed, or both",{"type":49,"tag":104,"props":118,"children":119},{},[120],{"type":54,"value":121},"The error you're seeing",{"type":49,"tag":104,"props":123,"children":124},{},[125],{"type":54,"value":126},"Relevant source code related to this",{"type":49,"tag":104,"props":128,"children":129},{},[130],{"type":54,"value":131},"What you've tried to solve it",{"type":49,"tag":104,"props":133,"children":134},{},[135,137],{"type":54,"value":136},"Environment\n",{"type":49,"tag":100,"props":138,"children":139},{},[140,145,150,155],{"type":49,"tag":104,"props":141,"children":142},{},[143],{"type":54,"value":144},"Sandbox Agent version",{"type":49,"tag":104,"props":146,"children":147},{},[148],{"type":54,"value":149},"SDK in use (TypeScript, Python, or HTTP)",{"type":49,"tag":104,"props":151,"children":152},{},[153],{"type":54,"value":154},"Agent in use (Claude Code, Codex, OpenCode, Amp, Mock)",{"type":49,"tag":104,"props":156,"children":157},{},[158],{"type":54,"value":159},"Sandbox provider (E2B, Daytona, Docker, local)",{"type":49,"tag":63,"props":161,"children":163},{"id":162},"quickstart",[164],{"type":54,"value":165},"Quickstart",{"type":49,"tag":167,"props":168,"children":170},"h3",{"id":169},"install-skill-optional",[171],{"type":54,"value":172},"Install skill (optional)",{"type":49,"tag":174,"props":175,"children":177},"h4",{"id":176},"npx",[178],{"type":54,"value":176},{"type":49,"tag":180,"props":181,"children":186},"pre",{"className":182,"code":183,"language":184,"meta":185,"style":185},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add rivet-dev\u002Fskills -s sandbox-agent\n","bash","",[187],{"type":49,"tag":188,"props":189,"children":190},"code",{"__ignoreMap":185},[191],{"type":49,"tag":192,"props":193,"children":196},"span",{"class":194,"line":195},"line",1,[197,202,208,213,218,223],{"type":49,"tag":192,"props":198,"children":200},{"style":199},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[201],{"type":54,"value":176},{"type":49,"tag":192,"props":203,"children":205},{"style":204},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[206],{"type":54,"value":207}," skills",{"type":49,"tag":192,"props":209,"children":210},{"style":204},[211],{"type":54,"value":212}," add",{"type":49,"tag":192,"props":214,"children":215},{"style":204},[216],{"type":54,"value":217}," rivet-dev\u002Fskills",{"type":49,"tag":192,"props":219,"children":220},{"style":204},[221],{"type":54,"value":222}," -s",{"type":49,"tag":192,"props":224,"children":225},{"style":204},[226],{"type":54,"value":227}," sandbox-agent\n",{"type":49,"tag":174,"props":229,"children":231},{"id":230},"bunx",[232],{"type":54,"value":230},{"type":49,"tag":180,"props":234,"children":236},{"className":182,"code":235,"language":184,"meta":185,"style":185},"bunx skills add rivet-dev\u002Fskills -s sandbox-agent\n",[237],{"type":49,"tag":188,"props":238,"children":239},{"__ignoreMap":185},[240],{"type":49,"tag":192,"props":241,"children":242},{"class":194,"line":195},[243,247,251,255,259,263],{"type":49,"tag":192,"props":244,"children":245},{"style":199},[246],{"type":54,"value":230},{"type":49,"tag":192,"props":248,"children":249},{"style":204},[250],{"type":54,"value":207},{"type":49,"tag":192,"props":252,"children":253},{"style":204},[254],{"type":54,"value":212},{"type":49,"tag":192,"props":256,"children":257},{"style":204},[258],{"type":54,"value":217},{"type":49,"tag":192,"props":260,"children":261},{"style":204},[262],{"type":54,"value":222},{"type":49,"tag":192,"props":264,"children":265},{"style":204},[266],{"type":54,"value":227},{"type":49,"tag":167,"props":268,"children":270},{"id":269},"set-environment-variables",[271],{"type":54,"value":272},"Set environment variables",{"type":49,"tag":57,"props":274,"children":275},{},[276],{"type":54,"value":277},"Each coding agent requires API keys to connect to their respective LLM providers.",{"type":49,"tag":174,"props":279,"children":281},{"id":280},"local-shell",[282],{"type":54,"value":283},"Local shell",{"type":49,"tag":180,"props":285,"children":287},{"className":182,"code":286,"language":184,"meta":185,"style":185},"export ANTHROPIC_API_KEY=\"sk-ant-...\"\nexport OPENAI_API_KEY=\"sk-...\"\n",[288],{"type":49,"tag":188,"props":289,"children":290},{"__ignoreMap":185},[291,327],{"type":49,"tag":192,"props":292,"children":293},{"class":194,"line":195},[294,300,306,312,317,322],{"type":49,"tag":192,"props":295,"children":297},{"style":296},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[298],{"type":54,"value":299},"export",{"type":49,"tag":192,"props":301,"children":303},{"style":302},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[304],{"type":54,"value":305}," ANTHROPIC_API_KEY",{"type":49,"tag":192,"props":307,"children":309},{"style":308},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[310],{"type":54,"value":311},"=",{"type":49,"tag":192,"props":313,"children":314},{"style":308},[315],{"type":54,"value":316},"\"",{"type":49,"tag":192,"props":318,"children":319},{"style":204},[320],{"type":54,"value":321},"sk-ant-...",{"type":49,"tag":192,"props":323,"children":324},{"style":308},[325],{"type":54,"value":326},"\"\n",{"type":49,"tag":192,"props":328,"children":330},{"class":194,"line":329},2,[331,335,340,344,348,353],{"type":49,"tag":192,"props":332,"children":333},{"style":296},[334],{"type":54,"value":299},{"type":49,"tag":192,"props":336,"children":337},{"style":302},[338],{"type":54,"value":339}," OPENAI_API_KEY",{"type":49,"tag":192,"props":341,"children":342},{"style":308},[343],{"type":54,"value":311},{"type":49,"tag":192,"props":345,"children":346},{"style":308},[347],{"type":54,"value":316},{"type":49,"tag":192,"props":349,"children":350},{"style":204},[351],{"type":54,"value":352},"sk-...",{"type":49,"tag":192,"props":354,"children":355},{"style":308},[356],{"type":54,"value":326},{"type":49,"tag":174,"props":358,"children":360},{"id":359},"e2b",[361],{"type":54,"value":362},"E2B",{"type":49,"tag":180,"props":364,"children":368},{"className":365,"code":366,"language":367,"meta":185,"style":185},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Sandbox } from \"@e2b\u002Fcode-interpreter\";\n\nconst envs: Record\u003Cstring, string> = {};\nif (process.env.ANTHROPIC_API_KEY) envs.ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;\nif (process.env.OPENAI_API_KEY) envs.OPENAI_API_KEY = process.env.OPENAI_API_KEY;\n\nconst sandbox = await Sandbox.create({ envs });\n","typescript",[369],{"type":49,"tag":188,"props":370,"children":371},{"__ignoreMap":185},[372,420,429,488,560,627,635],{"type":49,"tag":192,"props":373,"children":374},{"class":194,"line":195},[375,381,386,391,396,401,406,411,415],{"type":49,"tag":192,"props":376,"children":378},{"style":377},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[379],{"type":54,"value":380},"import",{"type":49,"tag":192,"props":382,"children":383},{"style":308},[384],{"type":54,"value":385}," {",{"type":49,"tag":192,"props":387,"children":388},{"style":302},[389],{"type":54,"value":390}," Sandbox",{"type":49,"tag":192,"props":392,"children":393},{"style":308},[394],{"type":54,"value":395}," }",{"type":49,"tag":192,"props":397,"children":398},{"style":377},[399],{"type":54,"value":400}," from",{"type":49,"tag":192,"props":402,"children":403},{"style":308},[404],{"type":54,"value":405}," \"",{"type":49,"tag":192,"props":407,"children":408},{"style":204},[409],{"type":54,"value":410},"@e2b\u002Fcode-interpreter",{"type":49,"tag":192,"props":412,"children":413},{"style":308},[414],{"type":54,"value":316},{"type":49,"tag":192,"props":416,"children":417},{"style":308},[418],{"type":54,"value":419},";\n",{"type":49,"tag":192,"props":421,"children":422},{"class":194,"line":329},[423],{"type":49,"tag":192,"props":424,"children":426},{"emptyLinePlaceholder":425},true,[427],{"type":54,"value":428},"\n",{"type":49,"tag":192,"props":430,"children":432},{"class":194,"line":431},3,[433,438,443,448,453,458,463,468,473,478,483],{"type":49,"tag":192,"props":434,"children":435},{"style":296},[436],{"type":54,"value":437},"const",{"type":49,"tag":192,"props":439,"children":440},{"style":302},[441],{"type":54,"value":442}," envs",{"type":49,"tag":192,"props":444,"children":445},{"style":308},[446],{"type":54,"value":447},":",{"type":49,"tag":192,"props":449,"children":450},{"style":199},[451],{"type":54,"value":452}," Record",{"type":49,"tag":192,"props":454,"children":455},{"style":308},[456],{"type":54,"value":457},"\u003C",{"type":49,"tag":192,"props":459,"children":460},{"style":199},[461],{"type":54,"value":462},"string",{"type":49,"tag":192,"props":464,"children":465},{"style":308},[466],{"type":54,"value":467},",",{"type":49,"tag":192,"props":469,"children":470},{"style":199},[471],{"type":54,"value":472}," string",{"type":49,"tag":192,"props":474,"children":475},{"style":308},[476],{"type":54,"value":477},">",{"type":49,"tag":192,"props":479,"children":480},{"style":308},[481],{"type":54,"value":482}," =",{"type":49,"tag":192,"props":484,"children":485},{"style":308},[486],{"type":54,"value":487}," {};\n",{"type":49,"tag":192,"props":489,"children":491},{"class":194,"line":490},4,[492,497,502,507,512,516,521,525,530,534,539,543,547,551,556],{"type":49,"tag":192,"props":493,"children":494},{"style":377},[495],{"type":54,"value":496},"if",{"type":49,"tag":192,"props":498,"children":499},{"style":302},[500],{"type":54,"value":501}," (process",{"type":49,"tag":192,"props":503,"children":504},{"style":308},[505],{"type":54,"value":506},".",{"type":49,"tag":192,"props":508,"children":509},{"style":302},[510],{"type":54,"value":511},"env",{"type":49,"tag":192,"props":513,"children":514},{"style":308},[515],{"type":54,"value":506},{"type":49,"tag":192,"props":517,"children":518},{"style":302},[519],{"type":54,"value":520},"ANTHROPIC_API_KEY) envs",{"type":49,"tag":192,"props":522,"children":523},{"style":308},[524],{"type":54,"value":506},{"type":49,"tag":192,"props":526,"children":527},{"style":302},[528],{"type":54,"value":529},"ANTHROPIC_API_KEY ",{"type":49,"tag":192,"props":531,"children":532},{"style":308},[533],{"type":54,"value":311},{"type":49,"tag":192,"props":535,"children":536},{"style":302},[537],{"type":54,"value":538}," process",{"type":49,"tag":192,"props":540,"children":541},{"style":308},[542],{"type":54,"value":506},{"type":49,"tag":192,"props":544,"children":545},{"style":302},[546],{"type":54,"value":511},{"type":49,"tag":192,"props":548,"children":549},{"style":308},[550],{"type":54,"value":506},{"type":49,"tag":192,"props":552,"children":553},{"style":302},[554],{"type":54,"value":555},"ANTHROPIC_API_KEY",{"type":49,"tag":192,"props":557,"children":558},{"style":308},[559],{"type":54,"value":419},{"type":49,"tag":192,"props":561,"children":563},{"class":194,"line":562},5,[564,568,572,576,580,584,589,593,598,602,606,610,614,618,623],{"type":49,"tag":192,"props":565,"children":566},{"style":377},[567],{"type":54,"value":496},{"type":49,"tag":192,"props":569,"children":570},{"style":302},[571],{"type":54,"value":501},{"type":49,"tag":192,"props":573,"children":574},{"style":308},[575],{"type":54,"value":506},{"type":49,"tag":192,"props":577,"children":578},{"style":302},[579],{"type":54,"value":511},{"type":49,"tag":192,"props":581,"children":582},{"style":308},[583],{"type":54,"value":506},{"type":49,"tag":192,"props":585,"children":586},{"style":302},[587],{"type":54,"value":588},"OPENAI_API_KEY) envs",{"type":49,"tag":192,"props":590,"children":591},{"style":308},[592],{"type":54,"value":506},{"type":49,"tag":192,"props":594,"children":595},{"style":302},[596],{"type":54,"value":597},"OPENAI_API_KEY ",{"type":49,"tag":192,"props":599,"children":600},{"style":308},[601],{"type":54,"value":311},{"type":49,"tag":192,"props":603,"children":604},{"style":302},[605],{"type":54,"value":538},{"type":49,"tag":192,"props":607,"children":608},{"style":308},[609],{"type":54,"value":506},{"type":49,"tag":192,"props":611,"children":612},{"style":302},[613],{"type":54,"value":511},{"type":49,"tag":192,"props":615,"children":616},{"style":308},[617],{"type":54,"value":506},{"type":49,"tag":192,"props":619,"children":620},{"style":302},[621],{"type":54,"value":622},"OPENAI_API_KEY",{"type":49,"tag":192,"props":624,"children":625},{"style":308},[626],{"type":54,"value":419},{"type":49,"tag":192,"props":628,"children":630},{"class":194,"line":629},6,[631],{"type":49,"tag":192,"props":632,"children":633},{"emptyLinePlaceholder":425},[634],{"type":54,"value":428},{"type":49,"tag":192,"props":636,"children":637},{"class":194,"line":36},[638,642,647,651,656,660,664,670,675,680,685,690,695],{"type":49,"tag":192,"props":639,"children":640},{"style":296},[641],{"type":54,"value":437},{"type":49,"tag":192,"props":643,"children":644},{"style":302},[645],{"type":54,"value":646}," sandbox ",{"type":49,"tag":192,"props":648,"children":649},{"style":308},[650],{"type":54,"value":311},{"type":49,"tag":192,"props":652,"children":653},{"style":377},[654],{"type":54,"value":655}," await",{"type":49,"tag":192,"props":657,"children":658},{"style":302},[659],{"type":54,"value":390},{"type":49,"tag":192,"props":661,"children":662},{"style":308},[663],{"type":54,"value":506},{"type":49,"tag":192,"props":665,"children":667},{"style":666},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[668],{"type":54,"value":669},"create",{"type":49,"tag":192,"props":671,"children":672},{"style":302},[673],{"type":54,"value":674},"(",{"type":49,"tag":192,"props":676,"children":677},{"style":308},[678],{"type":54,"value":679},"{",{"type":49,"tag":192,"props":681,"children":682},{"style":302},[683],{"type":54,"value":684}," envs ",{"type":49,"tag":192,"props":686,"children":687},{"style":308},[688],{"type":54,"value":689},"}",{"type":49,"tag":192,"props":691,"children":692},{"style":302},[693],{"type":54,"value":694},")",{"type":49,"tag":192,"props":696,"children":697},{"style":308},[698],{"type":54,"value":419},{"type":49,"tag":174,"props":700,"children":702},{"id":701},"daytona",[703],{"type":54,"value":704},"Daytona",{"type":49,"tag":180,"props":706,"children":708},{"className":365,"code":707,"language":367,"meta":185,"style":185},"import { Daytona } from \"@daytonaio\u002Fsdk\";\n\nconst envVars: Record\u003Cstring, string> = {};\nif (process.env.ANTHROPIC_API_KEY) envVars.ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;\nif (process.env.OPENAI_API_KEY) envVars.OPENAI_API_KEY = process.env.OPENAI_API_KEY;\n\nconst daytona = new Daytona();\nconst sandbox = await daytona.create({\n  snapshot: \"sandbox-agent-ready\",\n  envVars,\n});\n",[709],{"type":49,"tag":188,"props":710,"children":711},{"__ignoreMap":185},[712,753,760,808,872,936,943,977,1019,1051,1064],{"type":49,"tag":192,"props":713,"children":714},{"class":194,"line":195},[715,719,723,728,732,736,740,745,749],{"type":49,"tag":192,"props":716,"children":717},{"style":377},[718],{"type":54,"value":380},{"type":49,"tag":192,"props":720,"children":721},{"style":308},[722],{"type":54,"value":385},{"type":49,"tag":192,"props":724,"children":725},{"style":302},[726],{"type":54,"value":727}," Daytona",{"type":49,"tag":192,"props":729,"children":730},{"style":308},[731],{"type":54,"value":395},{"type":49,"tag":192,"props":733,"children":734},{"style":377},[735],{"type":54,"value":400},{"type":49,"tag":192,"props":737,"children":738},{"style":308},[739],{"type":54,"value":405},{"type":49,"tag":192,"props":741,"children":742},{"style":204},[743],{"type":54,"value":744},"@daytonaio\u002Fsdk",{"type":49,"tag":192,"props":746,"children":747},{"style":308},[748],{"type":54,"value":316},{"type":49,"tag":192,"props":750,"children":751},{"style":308},[752],{"type":54,"value":419},{"type":49,"tag":192,"props":754,"children":755},{"class":194,"line":329},[756],{"type":49,"tag":192,"props":757,"children":758},{"emptyLinePlaceholder":425},[759],{"type":54,"value":428},{"type":49,"tag":192,"props":761,"children":762},{"class":194,"line":431},[763,767,772,776,780,784,788,792,796,800,804],{"type":49,"tag":192,"props":764,"children":765},{"style":296},[766],{"type":54,"value":437},{"type":49,"tag":192,"props":768,"children":769},{"style":302},[770],{"type":54,"value":771}," envVars",{"type":49,"tag":192,"props":773,"children":774},{"style":308},[775],{"type":54,"value":447},{"type":49,"tag":192,"props":777,"children":778},{"style":199},[779],{"type":54,"value":452},{"type":49,"tag":192,"props":781,"children":782},{"style":308},[783],{"type":54,"value":457},{"type":49,"tag":192,"props":785,"children":786},{"style":199},[787],{"type":54,"value":462},{"type":49,"tag":192,"props":789,"children":790},{"style":308},[791],{"type":54,"value":467},{"type":49,"tag":192,"props":793,"children":794},{"style":199},[795],{"type":54,"value":472},{"type":49,"tag":192,"props":797,"children":798},{"style":308},[799],{"type":54,"value":477},{"type":49,"tag":192,"props":801,"children":802},{"style":308},[803],{"type":54,"value":482},{"type":49,"tag":192,"props":805,"children":806},{"style":308},[807],{"type":54,"value":487},{"type":49,"tag":192,"props":809,"children":810},{"class":194,"line":490},[811,815,819,823,827,831,836,840,844,848,852,856,860,864,868],{"type":49,"tag":192,"props":812,"children":813},{"style":377},[814],{"type":54,"value":496},{"type":49,"tag":192,"props":816,"children":817},{"style":302},[818],{"type":54,"value":501},{"type":49,"tag":192,"props":820,"children":821},{"style":308},[822],{"type":54,"value":506},{"type":49,"tag":192,"props":824,"children":825},{"style":302},[826],{"type":54,"value":511},{"type":49,"tag":192,"props":828,"children":829},{"style":308},[830],{"type":54,"value":506},{"type":49,"tag":192,"props":832,"children":833},{"style":302},[834],{"type":54,"value":835},"ANTHROPIC_API_KEY) envVars",{"type":49,"tag":192,"props":837,"children":838},{"style":308},[839],{"type":54,"value":506},{"type":49,"tag":192,"props":841,"children":842},{"style":302},[843],{"type":54,"value":529},{"type":49,"tag":192,"props":845,"children":846},{"style":308},[847],{"type":54,"value":311},{"type":49,"tag":192,"props":849,"children":850},{"style":302},[851],{"type":54,"value":538},{"type":49,"tag":192,"props":853,"children":854},{"style":308},[855],{"type":54,"value":506},{"type":49,"tag":192,"props":857,"children":858},{"style":302},[859],{"type":54,"value":511},{"type":49,"tag":192,"props":861,"children":862},{"style":308},[863],{"type":54,"value":506},{"type":49,"tag":192,"props":865,"children":866},{"style":302},[867],{"type":54,"value":555},{"type":49,"tag":192,"props":869,"children":870},{"style":308},[871],{"type":54,"value":419},{"type":49,"tag":192,"props":873,"children":874},{"class":194,"line":562},[875,879,883,887,891,895,900,904,908,912,916,920,924,928,932],{"type":49,"tag":192,"props":876,"children":877},{"style":377},[878],{"type":54,"value":496},{"type":49,"tag":192,"props":880,"children":881},{"style":302},[882],{"type":54,"value":501},{"type":49,"tag":192,"props":884,"children":885},{"style":308},[886],{"type":54,"value":506},{"type":49,"tag":192,"props":888,"children":889},{"style":302},[890],{"type":54,"value":511},{"type":49,"tag":192,"props":892,"children":893},{"style":308},[894],{"type":54,"value":506},{"type":49,"tag":192,"props":896,"children":897},{"style":302},[898],{"type":54,"value":899},"OPENAI_API_KEY) envVars",{"type":49,"tag":192,"props":901,"children":902},{"style":308},[903],{"type":54,"value":506},{"type":49,"tag":192,"props":905,"children":906},{"style":302},[907],{"type":54,"value":597},{"type":49,"tag":192,"props":909,"children":910},{"style":308},[911],{"type":54,"value":311},{"type":49,"tag":192,"props":913,"children":914},{"style":302},[915],{"type":54,"value":538},{"type":49,"tag":192,"props":917,"children":918},{"style":308},[919],{"type":54,"value":506},{"type":49,"tag":192,"props":921,"children":922},{"style":302},[923],{"type":54,"value":511},{"type":49,"tag":192,"props":925,"children":926},{"style":308},[927],{"type":54,"value":506},{"type":49,"tag":192,"props":929,"children":930},{"style":302},[931],{"type":54,"value":622},{"type":49,"tag":192,"props":933,"children":934},{"style":308},[935],{"type":54,"value":419},{"type":49,"tag":192,"props":937,"children":938},{"class":194,"line":629},[939],{"type":49,"tag":192,"props":940,"children":941},{"emptyLinePlaceholder":425},[942],{"type":54,"value":428},{"type":49,"tag":192,"props":944,"children":945},{"class":194,"line":36},[946,950,955,959,964,968,973],{"type":49,"tag":192,"props":947,"children":948},{"style":296},[949],{"type":54,"value":437},{"type":49,"tag":192,"props":951,"children":952},{"style":302},[953],{"type":54,"value":954}," daytona ",{"type":49,"tag":192,"props":956,"children":957},{"style":308},[958],{"type":54,"value":311},{"type":49,"tag":192,"props":960,"children":961},{"style":308},[962],{"type":54,"value":963}," new",{"type":49,"tag":192,"props":965,"children":966},{"style":666},[967],{"type":54,"value":727},{"type":49,"tag":192,"props":969,"children":970},{"style":302},[971],{"type":54,"value":972},"()",{"type":49,"tag":192,"props":974,"children":975},{"style":308},[976],{"type":54,"value":419},{"type":49,"tag":192,"props":978,"children":980},{"class":194,"line":979},8,[981,985,989,993,997,1002,1006,1010,1014],{"type":49,"tag":192,"props":982,"children":983},{"style":296},[984],{"type":54,"value":437},{"type":49,"tag":192,"props":986,"children":987},{"style":302},[988],{"type":54,"value":646},{"type":49,"tag":192,"props":990,"children":991},{"style":308},[992],{"type":54,"value":311},{"type":49,"tag":192,"props":994,"children":995},{"style":377},[996],{"type":54,"value":655},{"type":49,"tag":192,"props":998,"children":999},{"style":302},[1000],{"type":54,"value":1001}," daytona",{"type":49,"tag":192,"props":1003,"children":1004},{"style":308},[1005],{"type":54,"value":506},{"type":49,"tag":192,"props":1007,"children":1008},{"style":666},[1009],{"type":54,"value":669},{"type":49,"tag":192,"props":1011,"children":1012},{"style":302},[1013],{"type":54,"value":674},{"type":49,"tag":192,"props":1015,"children":1016},{"style":308},[1017],{"type":54,"value":1018},"{\n",{"type":49,"tag":192,"props":1020,"children":1022},{"class":194,"line":1021},9,[1023,1029,1033,1037,1042,1046],{"type":49,"tag":192,"props":1024,"children":1026},{"style":1025},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1027],{"type":54,"value":1028},"  snapshot",{"type":49,"tag":192,"props":1030,"children":1031},{"style":308},[1032],{"type":54,"value":447},{"type":49,"tag":192,"props":1034,"children":1035},{"style":308},[1036],{"type":54,"value":405},{"type":49,"tag":192,"props":1038,"children":1039},{"style":204},[1040],{"type":54,"value":1041},"sandbox-agent-ready",{"type":49,"tag":192,"props":1043,"children":1044},{"style":308},[1045],{"type":54,"value":316},{"type":49,"tag":192,"props":1047,"children":1048},{"style":308},[1049],{"type":54,"value":1050},",\n",{"type":49,"tag":192,"props":1052,"children":1054},{"class":194,"line":1053},10,[1055,1060],{"type":49,"tag":192,"props":1056,"children":1057},{"style":302},[1058],{"type":54,"value":1059},"  envVars",{"type":49,"tag":192,"props":1061,"children":1062},{"style":308},[1063],{"type":54,"value":1050},{"type":49,"tag":192,"props":1065,"children":1067},{"class":194,"line":1066},11,[1068,1072,1076],{"type":49,"tag":192,"props":1069,"children":1070},{"style":308},[1071],{"type":54,"value":689},{"type":49,"tag":192,"props":1073,"children":1074},{"style":302},[1075],{"type":54,"value":694},{"type":49,"tag":192,"props":1077,"children":1078},{"style":308},[1079],{"type":54,"value":419},{"type":49,"tag":174,"props":1081,"children":1083},{"id":1082},"docker",[1084],{"type":54,"value":1085},"Docker",{"type":49,"tag":180,"props":1087,"children":1089},{"className":182,"code":1088,"language":184,"meta":185,"style":185},"docker run -p 2468:2468 \\\n  -e ANTHROPIC_API_KEY=\"sk-ant-...\" \\\n  -e OPENAI_API_KEY=\"sk-...\" \\\n  rivetdev\u002Fsandbox-agent:0.4.2-full \\\n  server --no-token --host 0.0.0.0 --port 2468\n",[1090],{"type":49,"tag":188,"props":1091,"children":1092},{"__ignoreMap":185},[1093,1120,1149,1177,1189],{"type":49,"tag":192,"props":1094,"children":1095},{"class":194,"line":195},[1096,1100,1105,1110,1115],{"type":49,"tag":192,"props":1097,"children":1098},{"style":199},[1099],{"type":54,"value":1082},{"type":49,"tag":192,"props":1101,"children":1102},{"style":204},[1103],{"type":54,"value":1104}," run",{"type":49,"tag":192,"props":1106,"children":1107},{"style":204},[1108],{"type":54,"value":1109}," -p",{"type":49,"tag":192,"props":1111,"children":1112},{"style":204},[1113],{"type":54,"value":1114}," 2468:2468",{"type":49,"tag":192,"props":1116,"children":1117},{"style":302},[1118],{"type":54,"value":1119}," \\\n",{"type":49,"tag":192,"props":1121,"children":1122},{"class":194,"line":329},[1123,1128,1133,1137,1141,1145],{"type":49,"tag":192,"props":1124,"children":1125},{"style":204},[1126],{"type":54,"value":1127},"  -e",{"type":49,"tag":192,"props":1129,"children":1130},{"style":204},[1131],{"type":54,"value":1132}," ANTHROPIC_API_KEY=",{"type":49,"tag":192,"props":1134,"children":1135},{"style":308},[1136],{"type":54,"value":316},{"type":49,"tag":192,"props":1138,"children":1139},{"style":204},[1140],{"type":54,"value":321},{"type":49,"tag":192,"props":1142,"children":1143},{"style":308},[1144],{"type":54,"value":316},{"type":49,"tag":192,"props":1146,"children":1147},{"style":302},[1148],{"type":54,"value":1119},{"type":49,"tag":192,"props":1150,"children":1151},{"class":194,"line":431},[1152,1156,1161,1165,1169,1173],{"type":49,"tag":192,"props":1153,"children":1154},{"style":204},[1155],{"type":54,"value":1127},{"type":49,"tag":192,"props":1157,"children":1158},{"style":204},[1159],{"type":54,"value":1160}," OPENAI_API_KEY=",{"type":49,"tag":192,"props":1162,"children":1163},{"style":308},[1164],{"type":54,"value":316},{"type":49,"tag":192,"props":1166,"children":1167},{"style":204},[1168],{"type":54,"value":352},{"type":49,"tag":192,"props":1170,"children":1171},{"style":308},[1172],{"type":54,"value":316},{"type":49,"tag":192,"props":1174,"children":1175},{"style":302},[1176],{"type":54,"value":1119},{"type":49,"tag":192,"props":1178,"children":1179},{"class":194,"line":490},[1180,1185],{"type":49,"tag":192,"props":1181,"children":1182},{"style":204},[1183],{"type":54,"value":1184},"  rivetdev\u002Fsandbox-agent:0.4.2-full",{"type":49,"tag":192,"props":1186,"children":1187},{"style":302},[1188],{"type":54,"value":1119},{"type":49,"tag":192,"props":1190,"children":1191},{"class":194,"line":562},[1192,1197,1202,1207,1213,1218],{"type":49,"tag":192,"props":1193,"children":1194},{"style":204},[1195],{"type":54,"value":1196},"  server",{"type":49,"tag":192,"props":1198,"children":1199},{"style":204},[1200],{"type":54,"value":1201}," --no-token",{"type":49,"tag":192,"props":1203,"children":1204},{"style":204},[1205],{"type":54,"value":1206}," --host",{"type":49,"tag":192,"props":1208,"children":1210},{"style":1209},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1211],{"type":54,"value":1212}," 0.0.0.0",{"type":49,"tag":192,"props":1214,"children":1215},{"style":204},[1216],{"type":54,"value":1217}," --port",{"type":49,"tag":192,"props":1219,"children":1220},{"style":1209},[1221],{"type":54,"value":1222}," 2468\n",{"type":49,"tag":174,"props":1224,"children":1226},{"id":1225},"extracting-api-keys-from-current-machine",[1227],{"type":54,"value":1228},"Extracting API keys from current machine",{"type":49,"tag":57,"props":1230,"children":1231},{},[1232,1234,1240],{"type":54,"value":1233},"Use ",{"type":49,"tag":188,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":54,"value":1239},"sandbox-agent credentials extract-env --export",{"type":54,"value":1241}," to extract your existing API keys (Anthropic, OpenAI, etc.) from local Claude Code or Codex config files.",{"type":49,"tag":174,"props":1243,"children":1245},{"id":1244},"testing-without-api-keys",[1246],{"type":54,"value":1247},"Testing without API keys",{"type":49,"tag":57,"props":1249,"children":1250},{},[1251,1253,1259],{"type":54,"value":1252},"Use the ",{"type":49,"tag":188,"props":1254,"children":1256},{"className":1255},[],[1257],{"type":54,"value":1258},"mock",{"type":54,"value":1260}," agent for SDK and integration testing without provider credentials.",{"type":49,"tag":174,"props":1262,"children":1264},{"id":1263},"multi-tenant-and-per-user-billing",[1265],{"type":54,"value":1266},"Multi-tenant and per-user billing",{"type":49,"tag":57,"props":1268,"children":1269},{},[1270,1272,1278],{"type":54,"value":1271},"For per-tenant token tracking, budget enforcement, or usage-based billing, see ",{"type":49,"tag":75,"props":1273,"children":1275},{"href":1274},"\u002Fllm-credentials",[1276],{"type":54,"value":1277},"LLM Credentials",{"type":54,"value":1279}," for gateway options like OpenRouter, LiteLLM, and Portkey.",{"type":49,"tag":167,"props":1281,"children":1283},{"id":1282},"run-the-server",[1284],{"type":54,"value":1285},"Run the server",{"type":49,"tag":174,"props":1287,"children":1289},{"id":1288},"curl",[1290],{"type":54,"value":1288},{"type":49,"tag":57,"props":1292,"children":1293},{},[1294],{"type":54,"value":1295},"Install and run the binary directly.",{"type":49,"tag":180,"props":1297,"children":1299},{"className":182,"code":1298,"language":184,"meta":185,"style":185},"curl -fsSL https:\u002F\u002Freleases.rivet.dev\u002Fsandbox-agent\u002F0.4.x\u002Finstall.sh | sh\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n",[1300],{"type":49,"tag":188,"props":1301,"children":1302},{"__ignoreMap":185},[1303,1330],{"type":49,"tag":192,"props":1304,"children":1305},{"class":194,"line":195},[1306,1310,1315,1320,1325],{"type":49,"tag":192,"props":1307,"children":1308},{"style":199},[1309],{"type":54,"value":1288},{"type":49,"tag":192,"props":1311,"children":1312},{"style":204},[1313],{"type":54,"value":1314}," -fsSL",{"type":49,"tag":192,"props":1316,"children":1317},{"style":204},[1318],{"type":54,"value":1319}," https:\u002F\u002Freleases.rivet.dev\u002Fsandbox-agent\u002F0.4.x\u002Finstall.sh",{"type":49,"tag":192,"props":1321,"children":1322},{"style":308},[1323],{"type":54,"value":1324}," |",{"type":49,"tag":192,"props":1326,"children":1327},{"style":199},[1328],{"type":54,"value":1329}," sh\n",{"type":49,"tag":192,"props":1331,"children":1332},{"class":194,"line":329},[1333,1337,1342,1346,1350,1354,1358],{"type":49,"tag":192,"props":1334,"children":1335},{"style":199},[1336],{"type":54,"value":4},{"type":49,"tag":192,"props":1338,"children":1339},{"style":204},[1340],{"type":54,"value":1341}," server",{"type":49,"tag":192,"props":1343,"children":1344},{"style":204},[1345],{"type":54,"value":1201},{"type":49,"tag":192,"props":1347,"children":1348},{"style":204},[1349],{"type":54,"value":1206},{"type":49,"tag":192,"props":1351,"children":1352},{"style":1209},[1353],{"type":54,"value":1212},{"type":49,"tag":192,"props":1355,"children":1356},{"style":204},[1357],{"type":54,"value":1217},{"type":49,"tag":192,"props":1359,"children":1360},{"style":1209},[1361],{"type":54,"value":1222},{"type":49,"tag":174,"props":1363,"children":1365},{"id":1364},"npx-1",[1366],{"type":54,"value":176},{"type":49,"tag":57,"props":1368,"children":1369},{},[1370],{"type":54,"value":1371},"Run without installing globally.",{"type":49,"tag":180,"props":1373,"children":1375},{"className":182,"code":1374,"language":184,"meta":185,"style":185},"npx @sandbox-agent\u002Fcli@0.4.x server --no-token --host 0.0.0.0 --port 2468\n",[1376],{"type":49,"tag":188,"props":1377,"children":1378},{"__ignoreMap":185},[1379],{"type":49,"tag":192,"props":1380,"children":1381},{"class":194,"line":195},[1382,1386,1391,1395,1399,1403,1407,1411],{"type":49,"tag":192,"props":1383,"children":1384},{"style":199},[1385],{"type":54,"value":176},{"type":49,"tag":192,"props":1387,"children":1388},{"style":204},[1389],{"type":54,"value":1390}," @sandbox-agent\u002Fcli@0.4.x",{"type":49,"tag":192,"props":1392,"children":1393},{"style":204},[1394],{"type":54,"value":1341},{"type":49,"tag":192,"props":1396,"children":1397},{"style":204},[1398],{"type":54,"value":1201},{"type":49,"tag":192,"props":1400,"children":1401},{"style":204},[1402],{"type":54,"value":1206},{"type":49,"tag":192,"props":1404,"children":1405},{"style":1209},[1406],{"type":54,"value":1212},{"type":49,"tag":192,"props":1408,"children":1409},{"style":204},[1410],{"type":54,"value":1217},{"type":49,"tag":192,"props":1412,"children":1413},{"style":1209},[1414],{"type":54,"value":1222},{"type":49,"tag":174,"props":1416,"children":1418},{"id":1417},"bunx-1",[1419],{"type":54,"value":230},{"type":49,"tag":57,"props":1421,"children":1422},{},[1423],{"type":54,"value":1371},{"type":49,"tag":180,"props":1425,"children":1427},{"className":182,"code":1426,"language":184,"meta":185,"style":185},"bunx @sandbox-agent\u002Fcli@0.4.x server --no-token --host 0.0.0.0 --port 2468\n",[1428],{"type":49,"tag":188,"props":1429,"children":1430},{"__ignoreMap":185},[1431],{"type":49,"tag":192,"props":1432,"children":1433},{"class":194,"line":195},[1434,1438,1442,1446,1450,1454,1458,1462],{"type":49,"tag":192,"props":1435,"children":1436},{"style":199},[1437],{"type":54,"value":230},{"type":49,"tag":192,"props":1439,"children":1440},{"style":204},[1441],{"type":54,"value":1390},{"type":49,"tag":192,"props":1443,"children":1444},{"style":204},[1445],{"type":54,"value":1341},{"type":49,"tag":192,"props":1447,"children":1448},{"style":204},[1449],{"type":54,"value":1201},{"type":49,"tag":192,"props":1451,"children":1452},{"style":204},[1453],{"type":54,"value":1206},{"type":49,"tag":192,"props":1455,"children":1456},{"style":1209},[1457],{"type":54,"value":1212},{"type":49,"tag":192,"props":1459,"children":1460},{"style":204},[1461],{"type":54,"value":1217},{"type":49,"tag":192,"props":1463,"children":1464},{"style":1209},[1465],{"type":54,"value":1222},{"type":49,"tag":174,"props":1467,"children":1469},{"id":1468},"npm-i-g",[1470],{"type":54,"value":1471},"npm i -g",{"type":49,"tag":57,"props":1473,"children":1474},{},[1475],{"type":54,"value":1476},"Install globally, then run.",{"type":49,"tag":180,"props":1478,"children":1480},{"className":182,"code":1479,"language":184,"meta":185,"style":185},"npm install -g @sandbox-agent\u002Fcli@0.4.x\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n",[1481],{"type":49,"tag":188,"props":1482,"children":1483},{"__ignoreMap":185},[1484,1507],{"type":49,"tag":192,"props":1485,"children":1486},{"class":194,"line":195},[1487,1492,1497,1502],{"type":49,"tag":192,"props":1488,"children":1489},{"style":199},[1490],{"type":54,"value":1491},"npm",{"type":49,"tag":192,"props":1493,"children":1494},{"style":204},[1495],{"type":54,"value":1496}," install",{"type":49,"tag":192,"props":1498,"children":1499},{"style":204},[1500],{"type":54,"value":1501}," -g",{"type":49,"tag":192,"props":1503,"children":1504},{"style":204},[1505],{"type":54,"value":1506}," @sandbox-agent\u002Fcli@0.4.x\n",{"type":49,"tag":192,"props":1508,"children":1509},{"class":194,"line":329},[1510,1514,1518,1522,1526,1530,1534],{"type":49,"tag":192,"props":1511,"children":1512},{"style":199},[1513],{"type":54,"value":4},{"type":49,"tag":192,"props":1515,"children":1516},{"style":204},[1517],{"type":54,"value":1341},{"type":49,"tag":192,"props":1519,"children":1520},{"style":204},[1521],{"type":54,"value":1201},{"type":49,"tag":192,"props":1523,"children":1524},{"style":204},[1525],{"type":54,"value":1206},{"type":49,"tag":192,"props":1527,"children":1528},{"style":1209},[1529],{"type":54,"value":1212},{"type":49,"tag":192,"props":1531,"children":1532},{"style":204},[1533],{"type":54,"value":1217},{"type":49,"tag":192,"props":1535,"children":1536},{"style":1209},[1537],{"type":54,"value":1222},{"type":49,"tag":174,"props":1539,"children":1541},{"id":1540},"bun-add-g",[1542],{"type":54,"value":1543},"bun add -g",{"type":49,"tag":57,"props":1545,"children":1546},{},[1547],{"type":54,"value":1476},{"type":49,"tag":180,"props":1549,"children":1551},{"className":182,"code":1550,"language":184,"meta":185,"style":185},"bun add -g @sandbox-agent\u002Fcli@0.4.x\n# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).\nbun pm -g trust @sandbox-agent\u002Fcli-linux-x64 @sandbox-agent\u002Fcli-linux-arm64 @sandbox-agent\u002Fcli-darwin-arm64 @sandbox-agent\u002Fcli-darwin-x64 @sandbox-agent\u002Fcli-win32-x64\nsandbox-agent server --no-token --host 0.0.0.0 --port 2468\n",[1552],{"type":49,"tag":188,"props":1553,"children":1554},{"__ignoreMap":185},[1555,1575,1584,1630],{"type":49,"tag":192,"props":1556,"children":1557},{"class":194,"line":195},[1558,1563,1567,1571],{"type":49,"tag":192,"props":1559,"children":1560},{"style":199},[1561],{"type":54,"value":1562},"bun",{"type":49,"tag":192,"props":1564,"children":1565},{"style":204},[1566],{"type":54,"value":212},{"type":49,"tag":192,"props":1568,"children":1569},{"style":204},[1570],{"type":54,"value":1501},{"type":49,"tag":192,"props":1572,"children":1573},{"style":204},[1574],{"type":54,"value":1506},{"type":49,"tag":192,"props":1576,"children":1577},{"class":194,"line":329},[1578],{"type":49,"tag":192,"props":1579,"children":1581},{"style":1580},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1582],{"type":54,"value":1583},"# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).\n",{"type":49,"tag":192,"props":1585,"children":1586},{"class":194,"line":431},[1587,1591,1596,1600,1605,1610,1615,1620,1625],{"type":49,"tag":192,"props":1588,"children":1589},{"style":199},[1590],{"type":54,"value":1562},{"type":49,"tag":192,"props":1592,"children":1593},{"style":204},[1594],{"type":54,"value":1595}," pm",{"type":49,"tag":192,"props":1597,"children":1598},{"style":204},[1599],{"type":54,"value":1501},{"type":49,"tag":192,"props":1601,"children":1602},{"style":204},[1603],{"type":54,"value":1604}," trust",{"type":49,"tag":192,"props":1606,"children":1607},{"style":204},[1608],{"type":54,"value":1609}," @sandbox-agent\u002Fcli-linux-x64",{"type":49,"tag":192,"props":1611,"children":1612},{"style":204},[1613],{"type":54,"value":1614}," @sandbox-agent\u002Fcli-linux-arm64",{"type":49,"tag":192,"props":1616,"children":1617},{"style":204},[1618],{"type":54,"value":1619}," @sandbox-agent\u002Fcli-darwin-arm64",{"type":49,"tag":192,"props":1621,"children":1622},{"style":204},[1623],{"type":54,"value":1624}," @sandbox-agent\u002Fcli-darwin-x64",{"type":49,"tag":192,"props":1626,"children":1627},{"style":204},[1628],{"type":54,"value":1629}," @sandbox-agent\u002Fcli-win32-x64\n",{"type":49,"tag":192,"props":1631,"children":1632},{"class":194,"line":490},[1633,1637,1641,1645,1649,1653,1657],{"type":49,"tag":192,"props":1634,"children":1635},{"style":199},[1636],{"type":54,"value":4},{"type":49,"tag":192,"props":1638,"children":1639},{"style":204},[1640],{"type":54,"value":1341},{"type":49,"tag":192,"props":1642,"children":1643},{"style":204},[1644],{"type":54,"value":1201},{"type":49,"tag":192,"props":1646,"children":1647},{"style":204},[1648],{"type":54,"value":1206},{"type":49,"tag":192,"props":1650,"children":1651},{"style":1209},[1652],{"type":54,"value":1212},{"type":49,"tag":192,"props":1654,"children":1655},{"style":204},[1656],{"type":54,"value":1217},{"type":49,"tag":192,"props":1658,"children":1659},{"style":1209},[1660],{"type":54,"value":1222},{"type":49,"tag":174,"props":1662,"children":1664},{"id":1663},"nodejs-local",[1665],{"type":54,"value":1666},"Node.js (local)",{"type":49,"tag":57,"props":1668,"children":1669},{},[1670,1672,1678],{"type":54,"value":1671},"For local development, use ",{"type":49,"tag":188,"props":1673,"children":1675},{"className":1674},[],[1676],{"type":54,"value":1677},"SandboxAgent.start()",{"type":54,"value":1679}," to spawn and manage the server as a subprocess.",{"type":49,"tag":180,"props":1681,"children":1683},{"className":182,"code":1682,"language":184,"meta":185,"style":185},"npm install sandbox-agent@0.4.x\n",[1684],{"type":49,"tag":188,"props":1685,"children":1686},{"__ignoreMap":185},[1687],{"type":49,"tag":192,"props":1688,"children":1689},{"class":194,"line":195},[1690,1694,1698],{"type":49,"tag":192,"props":1691,"children":1692},{"style":199},[1693],{"type":54,"value":1491},{"type":49,"tag":192,"props":1695,"children":1696},{"style":204},[1697],{"type":54,"value":1496},{"type":49,"tag":192,"props":1699,"children":1700},{"style":204},[1701],{"type":54,"value":1702}," sandbox-agent@0.4.x\n",{"type":49,"tag":180,"props":1704,"children":1706},{"className":365,"code":1705,"language":367,"meta":185,"style":185},"import { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.start();\n",[1707],{"type":49,"tag":188,"props":1708,"children":1709},{"__ignoreMap":185},[1710,1750,1757],{"type":49,"tag":192,"props":1711,"children":1712},{"class":194,"line":195},[1713,1717,1721,1726,1730,1734,1738,1742,1746],{"type":49,"tag":192,"props":1714,"children":1715},{"style":377},[1716],{"type":54,"value":380},{"type":49,"tag":192,"props":1718,"children":1719},{"style":308},[1720],{"type":54,"value":385},{"type":49,"tag":192,"props":1722,"children":1723},{"style":302},[1724],{"type":54,"value":1725}," SandboxAgent",{"type":49,"tag":192,"props":1727,"children":1728},{"style":308},[1729],{"type":54,"value":395},{"type":49,"tag":192,"props":1731,"children":1732},{"style":377},[1733],{"type":54,"value":400},{"type":49,"tag":192,"props":1735,"children":1736},{"style":308},[1737],{"type":54,"value":405},{"type":49,"tag":192,"props":1739,"children":1740},{"style":204},[1741],{"type":54,"value":4},{"type":49,"tag":192,"props":1743,"children":1744},{"style":308},[1745],{"type":54,"value":316},{"type":49,"tag":192,"props":1747,"children":1748},{"style":308},[1749],{"type":54,"value":419},{"type":49,"tag":192,"props":1751,"children":1752},{"class":194,"line":329},[1753],{"type":49,"tag":192,"props":1754,"children":1755},{"emptyLinePlaceholder":425},[1756],{"type":54,"value":428},{"type":49,"tag":192,"props":1758,"children":1759},{"class":194,"line":431},[1760,1764,1769,1773,1777,1781,1785,1790,1794],{"type":49,"tag":192,"props":1761,"children":1762},{"style":296},[1763],{"type":54,"value":437},{"type":49,"tag":192,"props":1765,"children":1766},{"style":302},[1767],{"type":54,"value":1768}," sdk ",{"type":49,"tag":192,"props":1770,"children":1771},{"style":308},[1772],{"type":54,"value":311},{"type":49,"tag":192,"props":1774,"children":1775},{"style":377},[1776],{"type":54,"value":655},{"type":49,"tag":192,"props":1778,"children":1779},{"style":302},[1780],{"type":54,"value":1725},{"type":49,"tag":192,"props":1782,"children":1783},{"style":308},[1784],{"type":54,"value":506},{"type":49,"tag":192,"props":1786,"children":1787},{"style":666},[1788],{"type":54,"value":1789},"start",{"type":49,"tag":192,"props":1791,"children":1792},{"style":302},[1793],{"type":54,"value":972},{"type":49,"tag":192,"props":1795,"children":1796},{"style":308},[1797],{"type":54,"value":419},{"type":49,"tag":174,"props":1799,"children":1801},{"id":1800},"bun-local",[1802],{"type":54,"value":1803},"Bun (local)",{"type":49,"tag":57,"props":1805,"children":1806},{},[1807,1808,1813],{"type":54,"value":1671},{"type":49,"tag":188,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":54,"value":1677},{"type":54,"value":1679},{"type":49,"tag":180,"props":1815,"children":1817},{"className":182,"code":1816,"language":184,"meta":185,"style":185},"bun add sandbox-agent@0.4.x\n# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).\nbun pm trust @sandbox-agent\u002Fcli-linux-x64 @sandbox-agent\u002Fcli-linux-arm64 @sandbox-agent\u002Fcli-darwin-arm64 @sandbox-agent\u002Fcli-darwin-x64 @sandbox-agent\u002Fcli-win32-x64\n",[1818],{"type":49,"tag":188,"props":1819,"children":1820},{"__ignoreMap":185},[1821,1836,1843],{"type":49,"tag":192,"props":1822,"children":1823},{"class":194,"line":195},[1824,1828,1832],{"type":49,"tag":192,"props":1825,"children":1826},{"style":199},[1827],{"type":54,"value":1562},{"type":49,"tag":192,"props":1829,"children":1830},{"style":204},[1831],{"type":54,"value":212},{"type":49,"tag":192,"props":1833,"children":1834},{"style":204},[1835],{"type":54,"value":1702},{"type":49,"tag":192,"props":1837,"children":1838},{"class":194,"line":329},[1839],{"type":49,"tag":192,"props":1840,"children":1841},{"style":1580},[1842],{"type":54,"value":1583},{"type":49,"tag":192,"props":1844,"children":1845},{"class":194,"line":431},[1846,1850,1854,1858,1862,1866,1870,1874],{"type":49,"tag":192,"props":1847,"children":1848},{"style":199},[1849],{"type":54,"value":1562},{"type":49,"tag":192,"props":1851,"children":1852},{"style":204},[1853],{"type":54,"value":1595},{"type":49,"tag":192,"props":1855,"children":1856},{"style":204},[1857],{"type":54,"value":1604},{"type":49,"tag":192,"props":1859,"children":1860},{"style":204},[1861],{"type":54,"value":1609},{"type":49,"tag":192,"props":1863,"children":1864},{"style":204},[1865],{"type":54,"value":1614},{"type":49,"tag":192,"props":1867,"children":1868},{"style":204},[1869],{"type":54,"value":1619},{"type":49,"tag":192,"props":1871,"children":1872},{"style":204},[1873],{"type":54,"value":1624},{"type":49,"tag":192,"props":1875,"children":1876},{"style":204},[1877],{"type":54,"value":1629},{"type":49,"tag":180,"props":1879,"children":1880},{"className":365,"code":1705,"language":367,"meta":185,"style":185},[1881],{"type":49,"tag":188,"props":1882,"children":1883},{"__ignoreMap":185},[1884,1923,1930],{"type":49,"tag":192,"props":1885,"children":1886},{"class":194,"line":195},[1887,1891,1895,1899,1903,1907,1911,1915,1919],{"type":49,"tag":192,"props":1888,"children":1889},{"style":377},[1890],{"type":54,"value":380},{"type":49,"tag":192,"props":1892,"children":1893},{"style":308},[1894],{"type":54,"value":385},{"type":49,"tag":192,"props":1896,"children":1897},{"style":302},[1898],{"type":54,"value":1725},{"type":49,"tag":192,"props":1900,"children":1901},{"style":308},[1902],{"type":54,"value":395},{"type":49,"tag":192,"props":1904,"children":1905},{"style":377},[1906],{"type":54,"value":400},{"type":49,"tag":192,"props":1908,"children":1909},{"style":308},[1910],{"type":54,"value":405},{"type":49,"tag":192,"props":1912,"children":1913},{"style":204},[1914],{"type":54,"value":4},{"type":49,"tag":192,"props":1916,"children":1917},{"style":308},[1918],{"type":54,"value":316},{"type":49,"tag":192,"props":1920,"children":1921},{"style":308},[1922],{"type":54,"value":419},{"type":49,"tag":192,"props":1924,"children":1925},{"class":194,"line":329},[1926],{"type":49,"tag":192,"props":1927,"children":1928},{"emptyLinePlaceholder":425},[1929],{"type":54,"value":428},{"type":49,"tag":192,"props":1931,"children":1932},{"class":194,"line":431},[1933,1937,1941,1945,1949,1953,1957,1961,1965],{"type":49,"tag":192,"props":1934,"children":1935},{"style":296},[1936],{"type":54,"value":437},{"type":49,"tag":192,"props":1938,"children":1939},{"style":302},[1940],{"type":54,"value":1768},{"type":49,"tag":192,"props":1942,"children":1943},{"style":308},[1944],{"type":54,"value":311},{"type":49,"tag":192,"props":1946,"children":1947},{"style":377},[1948],{"type":54,"value":655},{"type":49,"tag":192,"props":1950,"children":1951},{"style":302},[1952],{"type":54,"value":1725},{"type":49,"tag":192,"props":1954,"children":1955},{"style":308},[1956],{"type":54,"value":506},{"type":49,"tag":192,"props":1958,"children":1959},{"style":666},[1960],{"type":54,"value":1789},{"type":49,"tag":192,"props":1962,"children":1963},{"style":302},[1964],{"type":54,"value":972},{"type":49,"tag":192,"props":1966,"children":1967},{"style":308},[1968],{"type":54,"value":419},{"type":49,"tag":174,"props":1970,"children":1972},{"id":1971},"build-from-source",[1973],{"type":54,"value":1974},"Build from source",{"type":49,"tag":57,"props":1976,"children":1977},{},[1978],{"type":54,"value":1979},"If you're running from source instead of the installed CLI.",{"type":49,"tag":180,"props":1981,"children":1983},{"className":182,"code":1982,"language":184,"meta":185,"style":185},"cargo run -p sandbox-agent -- server --no-token --host 0.0.0.0 --port 2468\n",[1984],{"type":49,"tag":188,"props":1985,"children":1986},{"__ignoreMap":185},[1987],{"type":49,"tag":192,"props":1988,"children":1989},{"class":194,"line":195},[1990,1995,1999,2003,2008,2013,2017,2021,2025,2029,2033],{"type":49,"tag":192,"props":1991,"children":1992},{"style":199},[1993],{"type":54,"value":1994},"cargo",{"type":49,"tag":192,"props":1996,"children":1997},{"style":204},[1998],{"type":54,"value":1104},{"type":49,"tag":192,"props":2000,"children":2001},{"style":204},[2002],{"type":54,"value":1109},{"type":49,"tag":192,"props":2004,"children":2005},{"style":204},[2006],{"type":54,"value":2007}," sandbox-agent",{"type":49,"tag":192,"props":2009,"children":2010},{"style":204},[2011],{"type":54,"value":2012}," --",{"type":49,"tag":192,"props":2014,"children":2015},{"style":204},[2016],{"type":54,"value":1341},{"type":49,"tag":192,"props":2018,"children":2019},{"style":204},[2020],{"type":54,"value":1201},{"type":49,"tag":192,"props":2022,"children":2023},{"style":204},[2024],{"type":54,"value":1206},{"type":49,"tag":192,"props":2026,"children":2027},{"style":1209},[2028],{"type":54,"value":1212},{"type":49,"tag":192,"props":2030,"children":2031},{"style":204},[2032],{"type":54,"value":1217},{"type":49,"tag":192,"props":2034,"children":2035},{"style":1209},[2036],{"type":54,"value":1222},{"type":49,"tag":57,"props":2038,"children":2039},{},[2040,2042,2048],{"type":54,"value":2041},"Binding to ",{"type":49,"tag":188,"props":2043,"children":2045},{"className":2044},[],[2046],{"type":54,"value":2047},"0.0.0.0",{"type":54,"value":2049}," allows the server to accept connections from any network interface, which is required when running inside a sandbox where clients connect remotely.",{"type":49,"tag":174,"props":2051,"children":2053},{"id":2052},"configuring-token",[2054],{"type":54,"value":2055},"Configuring token",{"type":49,"tag":57,"props":2057,"children":2058},{},[2059],{"type":54,"value":2060},"Tokens are usually not required. Most sandbox providers (E2B, Daytona, etc.) already secure networking at the infrastructure layer.",{"type":49,"tag":57,"props":2062,"children":2063},{},[2064,2066,2072],{"type":54,"value":2065},"If you expose the server publicly, use ",{"type":49,"tag":188,"props":2067,"children":2069},{"className":2068},[],[2070],{"type":54,"value":2071},"--token \"$SANDBOX_TOKEN\"",{"type":54,"value":2073}," to require authentication:",{"type":49,"tag":180,"props":2075,"children":2077},{"className":182,"code":2076,"language":184,"meta":185,"style":185},"sandbox-agent server --token \"$SANDBOX_TOKEN\" --host 0.0.0.0 --port 2468\n",[2078],{"type":49,"tag":188,"props":2079,"children":2080},{"__ignoreMap":185},[2081],{"type":49,"tag":192,"props":2082,"children":2083},{"class":194,"line":195},[2084,2088,2092,2097,2101,2106,2110,2114,2118,2122],{"type":49,"tag":192,"props":2085,"children":2086},{"style":199},[2087],{"type":54,"value":4},{"type":49,"tag":192,"props":2089,"children":2090},{"style":204},[2091],{"type":54,"value":1341},{"type":49,"tag":192,"props":2093,"children":2094},{"style":204},[2095],{"type":54,"value":2096}," --token",{"type":49,"tag":192,"props":2098,"children":2099},{"style":308},[2100],{"type":54,"value":405},{"type":49,"tag":192,"props":2102,"children":2103},{"style":302},[2104],{"type":54,"value":2105},"$SANDBOX_TOKEN",{"type":49,"tag":192,"props":2107,"children":2108},{"style":308},[2109],{"type":54,"value":316},{"type":49,"tag":192,"props":2111,"children":2112},{"style":204},[2113],{"type":54,"value":1206},{"type":49,"tag":192,"props":2115,"children":2116},{"style":1209},[2117],{"type":54,"value":1212},{"type":49,"tag":192,"props":2119,"children":2120},{"style":204},[2121],{"type":54,"value":1217},{"type":49,"tag":192,"props":2123,"children":2124},{"style":1209},[2125],{"type":54,"value":1222},{"type":49,"tag":57,"props":2127,"children":2128},{},[2129],{"type":54,"value":2130},"Then pass the token when connecting:",{"type":49,"tag":174,"props":2132,"children":2133},{"id":367},[2134],{"type":54,"value":2135},"TypeScript",{"type":49,"tag":180,"props":2137,"children":2139},{"className":365,"code":2138,"language":367,"meta":185,"style":185},"import { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.connect({\n  baseUrl: \"http:\u002F\u002Fyour-server:2468\",\n  token: process.env.SANDBOX_TOKEN,\n});\n",[2140],{"type":49,"tag":188,"props":2141,"children":2142},{"__ignoreMap":185},[2143,2182,2189,2229,2258,2295],{"type":49,"tag":192,"props":2144,"children":2145},{"class":194,"line":195},[2146,2150,2154,2158,2162,2166,2170,2174,2178],{"type":49,"tag":192,"props":2147,"children":2148},{"style":377},[2149],{"type":54,"value":380},{"type":49,"tag":192,"props":2151,"children":2152},{"style":308},[2153],{"type":54,"value":385},{"type":49,"tag":192,"props":2155,"children":2156},{"style":302},[2157],{"type":54,"value":1725},{"type":49,"tag":192,"props":2159,"children":2160},{"style":308},[2161],{"type":54,"value":395},{"type":49,"tag":192,"props":2163,"children":2164},{"style":377},[2165],{"type":54,"value":400},{"type":49,"tag":192,"props":2167,"children":2168},{"style":308},[2169],{"type":54,"value":405},{"type":49,"tag":192,"props":2171,"children":2172},{"style":204},[2173],{"type":54,"value":4},{"type":49,"tag":192,"props":2175,"children":2176},{"style":308},[2177],{"type":54,"value":316},{"type":49,"tag":192,"props":2179,"children":2180},{"style":308},[2181],{"type":54,"value":419},{"type":49,"tag":192,"props":2183,"children":2184},{"class":194,"line":329},[2185],{"type":49,"tag":192,"props":2186,"children":2187},{"emptyLinePlaceholder":425},[2188],{"type":54,"value":428},{"type":49,"tag":192,"props":2190,"children":2191},{"class":194,"line":431},[2192,2196,2200,2204,2208,2212,2216,2221,2225],{"type":49,"tag":192,"props":2193,"children":2194},{"style":296},[2195],{"type":54,"value":437},{"type":49,"tag":192,"props":2197,"children":2198},{"style":302},[2199],{"type":54,"value":1768},{"type":49,"tag":192,"props":2201,"children":2202},{"style":308},[2203],{"type":54,"value":311},{"type":49,"tag":192,"props":2205,"children":2206},{"style":377},[2207],{"type":54,"value":655},{"type":49,"tag":192,"props":2209,"children":2210},{"style":302},[2211],{"type":54,"value":1725},{"type":49,"tag":192,"props":2213,"children":2214},{"style":308},[2215],{"type":54,"value":506},{"type":49,"tag":192,"props":2217,"children":2218},{"style":666},[2219],{"type":54,"value":2220},"connect",{"type":49,"tag":192,"props":2222,"children":2223},{"style":302},[2224],{"type":54,"value":674},{"type":49,"tag":192,"props":2226,"children":2227},{"style":308},[2228],{"type":54,"value":1018},{"type":49,"tag":192,"props":2230,"children":2231},{"class":194,"line":490},[2232,2237,2241,2245,2250,2254],{"type":49,"tag":192,"props":2233,"children":2234},{"style":1025},[2235],{"type":54,"value":2236},"  baseUrl",{"type":49,"tag":192,"props":2238,"children":2239},{"style":308},[2240],{"type":54,"value":447},{"type":49,"tag":192,"props":2242,"children":2243},{"style":308},[2244],{"type":54,"value":405},{"type":49,"tag":192,"props":2246,"children":2247},{"style":204},[2248],{"type":54,"value":2249},"http:\u002F\u002Fyour-server:2468",{"type":49,"tag":192,"props":2251,"children":2252},{"style":308},[2253],{"type":54,"value":316},{"type":49,"tag":192,"props":2255,"children":2256},{"style":308},[2257],{"type":54,"value":1050},{"type":49,"tag":192,"props":2259,"children":2260},{"class":194,"line":562},[2261,2266,2270,2274,2278,2282,2286,2291],{"type":49,"tag":192,"props":2262,"children":2263},{"style":1025},[2264],{"type":54,"value":2265},"  token",{"type":49,"tag":192,"props":2267,"children":2268},{"style":308},[2269],{"type":54,"value":447},{"type":49,"tag":192,"props":2271,"children":2272},{"style":302},[2273],{"type":54,"value":538},{"type":49,"tag":192,"props":2275,"children":2276},{"style":308},[2277],{"type":54,"value":506},{"type":49,"tag":192,"props":2279,"children":2280},{"style":302},[2281],{"type":54,"value":511},{"type":49,"tag":192,"props":2283,"children":2284},{"style":308},[2285],{"type":54,"value":506},{"type":49,"tag":192,"props":2287,"children":2288},{"style":302},[2289],{"type":54,"value":2290},"SANDBOX_TOKEN",{"type":49,"tag":192,"props":2292,"children":2293},{"style":308},[2294],{"type":54,"value":1050},{"type":49,"tag":192,"props":2296,"children":2297},{"class":194,"line":629},[2298,2302,2306],{"type":49,"tag":192,"props":2299,"children":2300},{"style":308},[2301],{"type":54,"value":689},{"type":49,"tag":192,"props":2303,"children":2304},{"style":302},[2305],{"type":54,"value":694},{"type":49,"tag":192,"props":2307,"children":2308},{"style":308},[2309],{"type":54,"value":419},{"type":49,"tag":174,"props":2311,"children":2313},{"id":2312},"curl-1",[2314],{"type":54,"value":1288},{"type":49,"tag":180,"props":2316,"children":2318},{"className":182,"code":2317,"language":184,"meta":185,"style":185},"curl \"http:\u002F\u002Fyour-server:2468\u002Fv1\u002Fhealth\" \\\n  -H \"Authorization: Bearer $SANDBOX_TOKEN\"\n",[2319],{"type":49,"tag":188,"props":2320,"children":2321},{"__ignoreMap":185},[2322,2346],{"type":49,"tag":192,"props":2323,"children":2324},{"class":194,"line":195},[2325,2329,2333,2338,2342],{"type":49,"tag":192,"props":2326,"children":2327},{"style":199},[2328],{"type":54,"value":1288},{"type":49,"tag":192,"props":2330,"children":2331},{"style":308},[2332],{"type":54,"value":405},{"type":49,"tag":192,"props":2334,"children":2335},{"style":204},[2336],{"type":54,"value":2337},"http:\u002F\u002Fyour-server:2468\u002Fv1\u002Fhealth",{"type":49,"tag":192,"props":2339,"children":2340},{"style":308},[2341],{"type":54,"value":316},{"type":49,"tag":192,"props":2343,"children":2344},{"style":302},[2345],{"type":54,"value":1119},{"type":49,"tag":192,"props":2347,"children":2348},{"class":194,"line":329},[2349,2354,2358,2363,2367],{"type":49,"tag":192,"props":2350,"children":2351},{"style":204},[2352],{"type":54,"value":2353},"  -H",{"type":49,"tag":192,"props":2355,"children":2356},{"style":308},[2357],{"type":54,"value":405},{"type":49,"tag":192,"props":2359,"children":2360},{"style":204},[2361],{"type":54,"value":2362},"Authorization: Bearer ",{"type":49,"tag":192,"props":2364,"children":2365},{"style":302},[2366],{"type":54,"value":2105},{"type":49,"tag":192,"props":2368,"children":2369},{"style":308},[2370],{"type":54,"value":326},{"type":49,"tag":174,"props":2372,"children":2374},{"id":2373},"cli",[2375],{"type":54,"value":2376},"CLI",{"type":49,"tag":180,"props":2378,"children":2380},{"className":182,"code":2379,"language":184,"meta":185,"style":185},"sandbox-agent --token \"$SANDBOX_TOKEN\" api agents list \\\n  --endpoint http:\u002F\u002Fyour-server:2468\n",[2381],{"type":49,"tag":188,"props":2382,"children":2383},{"__ignoreMap":185},[2384,2426],{"type":49,"tag":192,"props":2385,"children":2386},{"class":194,"line":195},[2387,2391,2395,2399,2403,2407,2412,2417,2422],{"type":49,"tag":192,"props":2388,"children":2389},{"style":199},[2390],{"type":54,"value":4},{"type":49,"tag":192,"props":2392,"children":2393},{"style":204},[2394],{"type":54,"value":2096},{"type":49,"tag":192,"props":2396,"children":2397},{"style":308},[2398],{"type":54,"value":405},{"type":49,"tag":192,"props":2400,"children":2401},{"style":302},[2402],{"type":54,"value":2105},{"type":49,"tag":192,"props":2404,"children":2405},{"style":308},[2406],{"type":54,"value":316},{"type":49,"tag":192,"props":2408,"children":2409},{"style":204},[2410],{"type":54,"value":2411}," api",{"type":49,"tag":192,"props":2413,"children":2414},{"style":204},[2415],{"type":54,"value":2416}," agents",{"type":49,"tag":192,"props":2418,"children":2419},{"style":204},[2420],{"type":54,"value":2421}," list",{"type":49,"tag":192,"props":2423,"children":2424},{"style":302},[2425],{"type":54,"value":1119},{"type":49,"tag":192,"props":2427,"children":2428},{"class":194,"line":329},[2429,2434],{"type":49,"tag":192,"props":2430,"children":2431},{"style":204},[2432],{"type":54,"value":2433},"  --endpoint",{"type":49,"tag":192,"props":2435,"children":2436},{"style":204},[2437],{"type":54,"value":2438}," http:\u002F\u002Fyour-server:2468\n",{"type":49,"tag":174,"props":2440,"children":2442},{"id":2441},"cors",[2443],{"type":54,"value":2444},"CORS",{"type":49,"tag":57,"props":2446,"children":2447},{},[2448,2450,2456],{"type":54,"value":2449},"If you're calling the server from a browser, see the ",{"type":49,"tag":75,"props":2451,"children":2453},{"href":2452},"\u002Fcors",[2454],{"type":54,"value":2455},"CORS configuration guide",{"type":54,"value":506},{"type":49,"tag":167,"props":2458,"children":2460},{"id":2459},"install-agents-optional",[2461],{"type":54,"value":2462},"Install agents (optional)",{"type":49,"tag":57,"props":2464,"children":2465},{},[2466],{"type":54,"value":2467},"To preinstall agents:",{"type":49,"tag":180,"props":2469,"children":2471},{"className":182,"code":2470,"language":184,"meta":185,"style":185},"sandbox-agent install-agent --all\n",[2472],{"type":49,"tag":188,"props":2473,"children":2474},{"__ignoreMap":185},[2475],{"type":49,"tag":192,"props":2476,"children":2477},{"class":194,"line":195},[2478,2482,2487],{"type":49,"tag":192,"props":2479,"children":2480},{"style":199},[2481],{"type":54,"value":4},{"type":49,"tag":192,"props":2483,"children":2484},{"style":204},[2485],{"type":54,"value":2486}," install-agent",{"type":49,"tag":192,"props":2488,"children":2489},{"style":204},[2490],{"type":54,"value":2491}," --all\n",{"type":49,"tag":57,"props":2493,"children":2494},{},[2495],{"type":54,"value":2496},"If agents are not installed up front, they are lazily installed when creating a session.",{"type":49,"tag":167,"props":2498,"children":2500},{"id":2499},"install-desktop-dependencies-optional-linux-only",[2501],{"type":54,"value":2502},"Install desktop dependencies (optional, Linux only)",{"type":49,"tag":57,"props":2504,"children":2505},{},[2506,2508,2514],{"type":54,"value":2507},"If you want to use ",{"type":49,"tag":188,"props":2509,"children":2511},{"className":2510},[],[2512],{"type":54,"value":2513},"\u002Fv1\u002Fdesktop\u002F*",{"type":54,"value":2515},", install the desktop runtime packages first:",{"type":49,"tag":180,"props":2517,"children":2519},{"className":182,"code":2518,"language":184,"meta":185,"style":185},"sandbox-agent install desktop --yes\n",[2520],{"type":49,"tag":188,"props":2521,"children":2522},{"__ignoreMap":185},[2523],{"type":49,"tag":192,"props":2524,"children":2525},{"class":194,"line":195},[2526,2530,2534,2539],{"type":49,"tag":192,"props":2527,"children":2528},{"style":199},[2529],{"type":54,"value":4},{"type":49,"tag":192,"props":2531,"children":2532},{"style":204},[2533],{"type":54,"value":1496},{"type":49,"tag":192,"props":2535,"children":2536},{"style":204},[2537],{"type":54,"value":2538}," desktop",{"type":49,"tag":192,"props":2540,"children":2541},{"style":204},[2542],{"type":54,"value":2543}," --yes\n",{"type":49,"tag":57,"props":2545,"children":2546},{},[2547,2549,2555,2557,2563],{"type":54,"value":2548},"Then use ",{"type":49,"tag":188,"props":2550,"children":2552},{"className":2551},[],[2553],{"type":54,"value":2554},"GET \u002Fv1\u002Fdesktop\u002Fstatus",{"type":54,"value":2556}," or ",{"type":49,"tag":188,"props":2558,"children":2560},{"className":2559},[],[2561],{"type":54,"value":2562},"sdk.getDesktopStatus()",{"type":54,"value":2564}," to verify the runtime is ready before calling desktop screenshot or input APIs.",{"type":49,"tag":167,"props":2566,"children":2568},{"id":2567},"create-a-session",[2569],{"type":54,"value":2570},"Create a session",{"type":49,"tag":180,"props":2572,"children":2574},{"className":365,"code":2573,"language":367,"meta":185,"style":185},"import { SandboxAgent } from \"sandbox-agent\";\n\nconst sdk = await SandboxAgent.connect({\n  baseUrl: \"http:\u002F\u002F127.0.0.1:2468\",\n});\n\nconst session = await sdk.createSession({\n  agent: \"claude\",\n  sessionInit: {\n    cwd: \"\u002F\",\n    mcpServers: [],\n  },\n});\n\nconsole.log(session.id);\n",[2575],{"type":49,"tag":188,"props":2576,"children":2577},{"__ignoreMap":185},[2578,2617,2624,2663,2691,2706,2713,2755,2784,2801,2830,2851,2860,2876,2884],{"type":49,"tag":192,"props":2579,"children":2580},{"class":194,"line":195},[2581,2585,2589,2593,2597,2601,2605,2609,2613],{"type":49,"tag":192,"props":2582,"children":2583},{"style":377},[2584],{"type":54,"value":380},{"type":49,"tag":192,"props":2586,"children":2587},{"style":308},[2588],{"type":54,"value":385},{"type":49,"tag":192,"props":2590,"children":2591},{"style":302},[2592],{"type":54,"value":1725},{"type":49,"tag":192,"props":2594,"children":2595},{"style":308},[2596],{"type":54,"value":395},{"type":49,"tag":192,"props":2598,"children":2599},{"style":377},[2600],{"type":54,"value":400},{"type":49,"tag":192,"props":2602,"children":2603},{"style":308},[2604],{"type":54,"value":405},{"type":49,"tag":192,"props":2606,"children":2607},{"style":204},[2608],{"type":54,"value":4},{"type":49,"tag":192,"props":2610,"children":2611},{"style":308},[2612],{"type":54,"value":316},{"type":49,"tag":192,"props":2614,"children":2615},{"style":308},[2616],{"type":54,"value":419},{"type":49,"tag":192,"props":2618,"children":2619},{"class":194,"line":329},[2620],{"type":49,"tag":192,"props":2621,"children":2622},{"emptyLinePlaceholder":425},[2623],{"type":54,"value":428},{"type":49,"tag":192,"props":2625,"children":2626},{"class":194,"line":431},[2627,2631,2635,2639,2643,2647,2651,2655,2659],{"type":49,"tag":192,"props":2628,"children":2629},{"style":296},[2630],{"type":54,"value":437},{"type":49,"tag":192,"props":2632,"children":2633},{"style":302},[2634],{"type":54,"value":1768},{"type":49,"tag":192,"props":2636,"children":2637},{"style":308},[2638],{"type":54,"value":311},{"type":49,"tag":192,"props":2640,"children":2641},{"style":377},[2642],{"type":54,"value":655},{"type":49,"tag":192,"props":2644,"children":2645},{"style":302},[2646],{"type":54,"value":1725},{"type":49,"tag":192,"props":2648,"children":2649},{"style":308},[2650],{"type":54,"value":506},{"type":49,"tag":192,"props":2652,"children":2653},{"style":666},[2654],{"type":54,"value":2220},{"type":49,"tag":192,"props":2656,"children":2657},{"style":302},[2658],{"type":54,"value":674},{"type":49,"tag":192,"props":2660,"children":2661},{"style":308},[2662],{"type":54,"value":1018},{"type":49,"tag":192,"props":2664,"children":2665},{"class":194,"line":490},[2666,2670,2674,2678,2683,2687],{"type":49,"tag":192,"props":2667,"children":2668},{"style":1025},[2669],{"type":54,"value":2236},{"type":49,"tag":192,"props":2671,"children":2672},{"style":308},[2673],{"type":54,"value":447},{"type":49,"tag":192,"props":2675,"children":2676},{"style":308},[2677],{"type":54,"value":405},{"type":49,"tag":192,"props":2679,"children":2680},{"style":204},[2681],{"type":54,"value":2682},"http:\u002F\u002F127.0.0.1:2468",{"type":49,"tag":192,"props":2684,"children":2685},{"style":308},[2686],{"type":54,"value":316},{"type":49,"tag":192,"props":2688,"children":2689},{"style":308},[2690],{"type":54,"value":1050},{"type":49,"tag":192,"props":2692,"children":2693},{"class":194,"line":562},[2694,2698,2702],{"type":49,"tag":192,"props":2695,"children":2696},{"style":308},[2697],{"type":54,"value":689},{"type":49,"tag":192,"props":2699,"children":2700},{"style":302},[2701],{"type":54,"value":694},{"type":49,"tag":192,"props":2703,"children":2704},{"style":308},[2705],{"type":54,"value":419},{"type":49,"tag":192,"props":2707,"children":2708},{"class":194,"line":629},[2709],{"type":49,"tag":192,"props":2710,"children":2711},{"emptyLinePlaceholder":425},[2712],{"type":54,"value":428},{"type":49,"tag":192,"props":2714,"children":2715},{"class":194,"line":36},[2716,2720,2725,2729,2733,2738,2742,2747,2751],{"type":49,"tag":192,"props":2717,"children":2718},{"style":296},[2719],{"type":54,"value":437},{"type":49,"tag":192,"props":2721,"children":2722},{"style":302},[2723],{"type":54,"value":2724}," session ",{"type":49,"tag":192,"props":2726,"children":2727},{"style":308},[2728],{"type":54,"value":311},{"type":49,"tag":192,"props":2730,"children":2731},{"style":377},[2732],{"type":54,"value":655},{"type":49,"tag":192,"props":2734,"children":2735},{"style":302},[2736],{"type":54,"value":2737}," sdk",{"type":49,"tag":192,"props":2739,"children":2740},{"style":308},[2741],{"type":54,"value":506},{"type":49,"tag":192,"props":2743,"children":2744},{"style":666},[2745],{"type":54,"value":2746},"createSession",{"type":49,"tag":192,"props":2748,"children":2749},{"style":302},[2750],{"type":54,"value":674},{"type":49,"tag":192,"props":2752,"children":2753},{"style":308},[2754],{"type":54,"value":1018},{"type":49,"tag":192,"props":2756,"children":2757},{"class":194,"line":979},[2758,2763,2767,2771,2776,2780],{"type":49,"tag":192,"props":2759,"children":2760},{"style":1025},[2761],{"type":54,"value":2762},"  agent",{"type":49,"tag":192,"props":2764,"children":2765},{"style":308},[2766],{"type":54,"value":447},{"type":49,"tag":192,"props":2768,"children":2769},{"style":308},[2770],{"type":54,"value":405},{"type":49,"tag":192,"props":2772,"children":2773},{"style":204},[2774],{"type":54,"value":2775},"claude",{"type":49,"tag":192,"props":2777,"children":2778},{"style":308},[2779],{"type":54,"value":316},{"type":49,"tag":192,"props":2781,"children":2782},{"style":308},[2783],{"type":54,"value":1050},{"type":49,"tag":192,"props":2785,"children":2786},{"class":194,"line":1021},[2787,2792,2796],{"type":49,"tag":192,"props":2788,"children":2789},{"style":1025},[2790],{"type":54,"value":2791},"  sessionInit",{"type":49,"tag":192,"props":2793,"children":2794},{"style":308},[2795],{"type":54,"value":447},{"type":49,"tag":192,"props":2797,"children":2798},{"style":308},[2799],{"type":54,"value":2800}," {\n",{"type":49,"tag":192,"props":2802,"children":2803},{"class":194,"line":1053},[2804,2809,2813,2817,2822,2826],{"type":49,"tag":192,"props":2805,"children":2806},{"style":1025},[2807],{"type":54,"value":2808},"    cwd",{"type":49,"tag":192,"props":2810,"children":2811},{"style":308},[2812],{"type":54,"value":447},{"type":49,"tag":192,"props":2814,"children":2815},{"style":308},[2816],{"type":54,"value":405},{"type":49,"tag":192,"props":2818,"children":2819},{"style":204},[2820],{"type":54,"value":2821},"\u002F",{"type":49,"tag":192,"props":2823,"children":2824},{"style":308},[2825],{"type":54,"value":316},{"type":49,"tag":192,"props":2827,"children":2828},{"style":308},[2829],{"type":54,"value":1050},{"type":49,"tag":192,"props":2831,"children":2832},{"class":194,"line":1066},[2833,2838,2842,2847],{"type":49,"tag":192,"props":2834,"children":2835},{"style":1025},[2836],{"type":54,"value":2837},"    mcpServers",{"type":49,"tag":192,"props":2839,"children":2840},{"style":308},[2841],{"type":54,"value":447},{"type":49,"tag":192,"props":2843,"children":2844},{"style":302},[2845],{"type":54,"value":2846}," []",{"type":49,"tag":192,"props":2848,"children":2849},{"style":308},[2850],{"type":54,"value":1050},{"type":49,"tag":192,"props":2852,"children":2854},{"class":194,"line":2853},12,[2855],{"type":49,"tag":192,"props":2856,"children":2857},{"style":308},[2858],{"type":54,"value":2859},"  },\n",{"type":49,"tag":192,"props":2861,"children":2863},{"class":194,"line":2862},13,[2864,2868,2872],{"type":49,"tag":192,"props":2865,"children":2866},{"style":308},[2867],{"type":54,"value":689},{"type":49,"tag":192,"props":2869,"children":2870},{"style":302},[2871],{"type":54,"value":694},{"type":49,"tag":192,"props":2873,"children":2874},{"style":308},[2875],{"type":54,"value":419},{"type":49,"tag":192,"props":2877,"children":2879},{"class":194,"line":2878},14,[2880],{"type":49,"tag":192,"props":2881,"children":2882},{"emptyLinePlaceholder":425},[2883],{"type":54,"value":428},{"type":49,"tag":192,"props":2885,"children":2887},{"class":194,"line":2886},15,[2888,2893,2897,2902,2907,2911,2916],{"type":49,"tag":192,"props":2889,"children":2890},{"style":302},[2891],{"type":54,"value":2892},"console",{"type":49,"tag":192,"props":2894,"children":2895},{"style":308},[2896],{"type":54,"value":506},{"type":49,"tag":192,"props":2898,"children":2899},{"style":666},[2900],{"type":54,"value":2901},"log",{"type":49,"tag":192,"props":2903,"children":2904},{"style":302},[2905],{"type":54,"value":2906},"(session",{"type":49,"tag":192,"props":2908,"children":2909},{"style":308},[2910],{"type":54,"value":506},{"type":49,"tag":192,"props":2912,"children":2913},{"style":302},[2914],{"type":54,"value":2915},"id)",{"type":49,"tag":192,"props":2917,"children":2918},{"style":308},[2919],{"type":54,"value":419},{"type":49,"tag":167,"props":2921,"children":2923},{"id":2922},"send-a-message",[2924],{"type":54,"value":2925},"Send a message",{"type":49,"tag":180,"props":2927,"children":2929},{"className":365,"code":2928,"language":367,"meta":185,"style":185},"const result = await session.prompt([\n  { type: \"text\", text: \"Summarize the repository and suggest next steps.\" },\n]);\n\nconsole.log(result.stopReason);\n",[2930],{"type":49,"tag":188,"props":2931,"children":2932},{"__ignoreMap":185},[2933,2972,3032,3044,3051],{"type":49,"tag":192,"props":2934,"children":2935},{"class":194,"line":195},[2936,2940,2945,2949,2953,2958,2962,2967],{"type":49,"tag":192,"props":2937,"children":2938},{"style":296},[2939],{"type":54,"value":437},{"type":49,"tag":192,"props":2941,"children":2942},{"style":302},[2943],{"type":54,"value":2944}," result ",{"type":49,"tag":192,"props":2946,"children":2947},{"style":308},[2948],{"type":54,"value":311},{"type":49,"tag":192,"props":2950,"children":2951},{"style":377},[2952],{"type":54,"value":655},{"type":49,"tag":192,"props":2954,"children":2955},{"style":302},[2956],{"type":54,"value":2957}," session",{"type":49,"tag":192,"props":2959,"children":2960},{"style":308},[2961],{"type":54,"value":506},{"type":49,"tag":192,"props":2963,"children":2964},{"style":666},[2965],{"type":54,"value":2966},"prompt",{"type":49,"tag":192,"props":2968,"children":2969},{"style":302},[2970],{"type":54,"value":2971},"([\n",{"type":49,"tag":192,"props":2973,"children":2974},{"class":194,"line":329},[2975,2980,2985,2989,2993,2997,3001,3005,3010,3014,3018,3023,3027],{"type":49,"tag":192,"props":2976,"children":2977},{"style":308},[2978],{"type":54,"value":2979},"  {",{"type":49,"tag":192,"props":2981,"children":2982},{"style":1025},[2983],{"type":54,"value":2984}," type",{"type":49,"tag":192,"props":2986,"children":2987},{"style":308},[2988],{"type":54,"value":447},{"type":49,"tag":192,"props":2990,"children":2991},{"style":308},[2992],{"type":54,"value":405},{"type":49,"tag":192,"props":2994,"children":2995},{"style":204},[2996],{"type":54,"value":54},{"type":49,"tag":192,"props":2998,"children":2999},{"style":308},[3000],{"type":54,"value":316},{"type":49,"tag":192,"props":3002,"children":3003},{"style":308},[3004],{"type":54,"value":467},{"type":49,"tag":192,"props":3006,"children":3007},{"style":1025},[3008],{"type":54,"value":3009}," text",{"type":49,"tag":192,"props":3011,"children":3012},{"style":308},[3013],{"type":54,"value":447},{"type":49,"tag":192,"props":3015,"children":3016},{"style":308},[3017],{"type":54,"value":405},{"type":49,"tag":192,"props":3019,"children":3020},{"style":204},[3021],{"type":54,"value":3022},"Summarize the repository and suggest next steps.",{"type":49,"tag":192,"props":3024,"children":3025},{"style":308},[3026],{"type":54,"value":316},{"type":49,"tag":192,"props":3028,"children":3029},{"style":308},[3030],{"type":54,"value":3031}," },\n",{"type":49,"tag":192,"props":3033,"children":3034},{"class":194,"line":431},[3035,3040],{"type":49,"tag":192,"props":3036,"children":3037},{"style":302},[3038],{"type":54,"value":3039},"])",{"type":49,"tag":192,"props":3041,"children":3042},{"style":308},[3043],{"type":54,"value":419},{"type":49,"tag":192,"props":3045,"children":3046},{"class":194,"line":490},[3047],{"type":49,"tag":192,"props":3048,"children":3049},{"emptyLinePlaceholder":425},[3050],{"type":54,"value":428},{"type":49,"tag":192,"props":3052,"children":3053},{"class":194,"line":562},[3054,3058,3062,3066,3071,3075,3080],{"type":49,"tag":192,"props":3055,"children":3056},{"style":302},[3057],{"type":54,"value":2892},{"type":49,"tag":192,"props":3059,"children":3060},{"style":308},[3061],{"type":54,"value":506},{"type":49,"tag":192,"props":3063,"children":3064},{"style":666},[3065],{"type":54,"value":2901},{"type":49,"tag":192,"props":3067,"children":3068},{"style":302},[3069],{"type":54,"value":3070},"(result",{"type":49,"tag":192,"props":3072,"children":3073},{"style":308},[3074],{"type":54,"value":506},{"type":49,"tag":192,"props":3076,"children":3077},{"style":302},[3078],{"type":54,"value":3079},"stopReason)",{"type":49,"tag":192,"props":3081,"children":3082},{"style":308},[3083],{"type":54,"value":419},{"type":49,"tag":167,"props":3085,"children":3087},{"id":3086},"read-events",[3088],{"type":54,"value":3089},"Read events",{"type":49,"tag":180,"props":3091,"children":3093},{"className":365,"code":3092,"language":367,"meta":185,"style":185},"const off = session.onEvent((event) => {\n  console.log(event.sender, event.payload);\n});\n\nconst page = await sdk.getEvents({\n  sessionId: session.id,\n  limit: 50,\n});\n\nconsole.log(page.items.length);\noff();\n",[3094],{"type":49,"tag":188,"props":3095,"children":3096},{"__ignoreMap":185},[3097,3153,3212,3227,3234,3275,3304,3325,3340,3347,3389],{"type":49,"tag":192,"props":3098,"children":3099},{"class":194,"line":195},[3100,3104,3109,3113,3117,3121,3126,3130,3134,3140,3144,3149],{"type":49,"tag":192,"props":3101,"children":3102},{"style":296},[3103],{"type":54,"value":437},{"type":49,"tag":192,"props":3105,"children":3106},{"style":302},[3107],{"type":54,"value":3108}," off ",{"type":49,"tag":192,"props":3110,"children":3111},{"style":308},[3112],{"type":54,"value":311},{"type":49,"tag":192,"props":3114,"children":3115},{"style":302},[3116],{"type":54,"value":2957},{"type":49,"tag":192,"props":3118,"children":3119},{"style":308},[3120],{"type":54,"value":506},{"type":49,"tag":192,"props":3122,"children":3123},{"style":666},[3124],{"type":54,"value":3125},"onEvent",{"type":49,"tag":192,"props":3127,"children":3128},{"style":302},[3129],{"type":54,"value":674},{"type":49,"tag":192,"props":3131,"children":3132},{"style":308},[3133],{"type":54,"value":674},{"type":49,"tag":192,"props":3135,"children":3137},{"style":3136},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3138],{"type":54,"value":3139},"event",{"type":49,"tag":192,"props":3141,"children":3142},{"style":308},[3143],{"type":54,"value":694},{"type":49,"tag":192,"props":3145,"children":3146},{"style":296},[3147],{"type":54,"value":3148}," =>",{"type":49,"tag":192,"props":3150,"children":3151},{"style":308},[3152],{"type":54,"value":2800},{"type":49,"tag":192,"props":3154,"children":3155},{"class":194,"line":329},[3156,3161,3165,3169,3173,3177,3181,3186,3190,3195,3199,3204,3208],{"type":49,"tag":192,"props":3157,"children":3158},{"style":302},[3159],{"type":54,"value":3160},"  console",{"type":49,"tag":192,"props":3162,"children":3163},{"style":308},[3164],{"type":54,"value":506},{"type":49,"tag":192,"props":3166,"children":3167},{"style":666},[3168],{"type":54,"value":2901},{"type":49,"tag":192,"props":3170,"children":3171},{"style":1025},[3172],{"type":54,"value":674},{"type":49,"tag":192,"props":3174,"children":3175},{"style":302},[3176],{"type":54,"value":3139},{"type":49,"tag":192,"props":3178,"children":3179},{"style":308},[3180],{"type":54,"value":506},{"type":49,"tag":192,"props":3182,"children":3183},{"style":302},[3184],{"type":54,"value":3185},"sender",{"type":49,"tag":192,"props":3187,"children":3188},{"style":308},[3189],{"type":54,"value":467},{"type":49,"tag":192,"props":3191,"children":3192},{"style":302},[3193],{"type":54,"value":3194}," event",{"type":49,"tag":192,"props":3196,"children":3197},{"style":308},[3198],{"type":54,"value":506},{"type":49,"tag":192,"props":3200,"children":3201},{"style":302},[3202],{"type":54,"value":3203},"payload",{"type":49,"tag":192,"props":3205,"children":3206},{"style":1025},[3207],{"type":54,"value":694},{"type":49,"tag":192,"props":3209,"children":3210},{"style":308},[3211],{"type":54,"value":419},{"type":49,"tag":192,"props":3213,"children":3214},{"class":194,"line":431},[3215,3219,3223],{"type":49,"tag":192,"props":3216,"children":3217},{"style":308},[3218],{"type":54,"value":689},{"type":49,"tag":192,"props":3220,"children":3221},{"style":302},[3222],{"type":54,"value":694},{"type":49,"tag":192,"props":3224,"children":3225},{"style":308},[3226],{"type":54,"value":419},{"type":49,"tag":192,"props":3228,"children":3229},{"class":194,"line":490},[3230],{"type":49,"tag":192,"props":3231,"children":3232},{"emptyLinePlaceholder":425},[3233],{"type":54,"value":428},{"type":49,"tag":192,"props":3235,"children":3236},{"class":194,"line":562},[3237,3241,3246,3250,3254,3258,3262,3267,3271],{"type":49,"tag":192,"props":3238,"children":3239},{"style":296},[3240],{"type":54,"value":437},{"type":49,"tag":192,"props":3242,"children":3243},{"style":302},[3244],{"type":54,"value":3245}," page ",{"type":49,"tag":192,"props":3247,"children":3248},{"style":308},[3249],{"type":54,"value":311},{"type":49,"tag":192,"props":3251,"children":3252},{"style":377},[3253],{"type":54,"value":655},{"type":49,"tag":192,"props":3255,"children":3256},{"style":302},[3257],{"type":54,"value":2737},{"type":49,"tag":192,"props":3259,"children":3260},{"style":308},[3261],{"type":54,"value":506},{"type":49,"tag":192,"props":3263,"children":3264},{"style":666},[3265],{"type":54,"value":3266},"getEvents",{"type":49,"tag":192,"props":3268,"children":3269},{"style":302},[3270],{"type":54,"value":674},{"type":49,"tag":192,"props":3272,"children":3273},{"style":308},[3274],{"type":54,"value":1018},{"type":49,"tag":192,"props":3276,"children":3277},{"class":194,"line":629},[3278,3283,3287,3291,3295,3300],{"type":49,"tag":192,"props":3279,"children":3280},{"style":1025},[3281],{"type":54,"value":3282},"  sessionId",{"type":49,"tag":192,"props":3284,"children":3285},{"style":308},[3286],{"type":54,"value":447},{"type":49,"tag":192,"props":3288,"children":3289},{"style":302},[3290],{"type":54,"value":2957},{"type":49,"tag":192,"props":3292,"children":3293},{"style":308},[3294],{"type":54,"value":506},{"type":49,"tag":192,"props":3296,"children":3297},{"style":302},[3298],{"type":54,"value":3299},"id",{"type":49,"tag":192,"props":3301,"children":3302},{"style":308},[3303],{"type":54,"value":1050},{"type":49,"tag":192,"props":3305,"children":3306},{"class":194,"line":36},[3307,3312,3316,3321],{"type":49,"tag":192,"props":3308,"children":3309},{"style":1025},[3310],{"type":54,"value":3311},"  limit",{"type":49,"tag":192,"props":3313,"children":3314},{"style":308},[3315],{"type":54,"value":447},{"type":49,"tag":192,"props":3317,"children":3318},{"style":1209},[3319],{"type":54,"value":3320}," 50",{"type":49,"tag":192,"props":3322,"children":3323},{"style":308},[3324],{"type":54,"value":1050},{"type":49,"tag":192,"props":3326,"children":3327},{"class":194,"line":979},[3328,3332,3336],{"type":49,"tag":192,"props":3329,"children":3330},{"style":308},[3331],{"type":54,"value":689},{"type":49,"tag":192,"props":3333,"children":3334},{"style":302},[3335],{"type":54,"value":694},{"type":49,"tag":192,"props":3337,"children":3338},{"style":308},[3339],{"type":54,"value":419},{"type":49,"tag":192,"props":3341,"children":3342},{"class":194,"line":1021},[3343],{"type":49,"tag":192,"props":3344,"children":3345},{"emptyLinePlaceholder":425},[3346],{"type":54,"value":428},{"type":49,"tag":192,"props":3348,"children":3349},{"class":194,"line":1053},[3350,3354,3358,3362,3367,3371,3376,3380,3385],{"type":49,"tag":192,"props":3351,"children":3352},{"style":302},[3353],{"type":54,"value":2892},{"type":49,"tag":192,"props":3355,"children":3356},{"style":308},[3357],{"type":54,"value":506},{"type":49,"tag":192,"props":3359,"children":3360},{"style":666},[3361],{"type":54,"value":2901},{"type":49,"tag":192,"props":3363,"children":3364},{"style":302},[3365],{"type":54,"value":3366},"(page",{"type":49,"tag":192,"props":3368,"children":3369},{"style":308},[3370],{"type":54,"value":506},{"type":49,"tag":192,"props":3372,"children":3373},{"style":302},[3374],{"type":54,"value":3375},"items",{"type":49,"tag":192,"props":3377,"children":3378},{"style":308},[3379],{"type":54,"value":506},{"type":49,"tag":192,"props":3381,"children":3382},{"style":302},[3383],{"type":54,"value":3384},"length)",{"type":49,"tag":192,"props":3386,"children":3387},{"style":308},[3388],{"type":54,"value":419},{"type":49,"tag":192,"props":3390,"children":3391},{"class":194,"line":1066},[3392,3397,3401],{"type":49,"tag":192,"props":3393,"children":3394},{"style":666},[3395],{"type":54,"value":3396},"off",{"type":49,"tag":192,"props":3398,"children":3399},{"style":302},[3400],{"type":54,"value":972},{"type":49,"tag":192,"props":3402,"children":3403},{"style":308},[3404],{"type":54,"value":419},{"type":49,"tag":167,"props":3406,"children":3408},{"id":3407},"test-with-inspector",[3409],{"type":54,"value":3410},"Test with Inspector",{"type":49,"tag":57,"props":3412,"children":3413},{},[3414,3416,3422,3424,3430],{"type":54,"value":3415},"Open the Inspector UI at ",{"type":49,"tag":188,"props":3417,"children":3419},{"className":3418},[],[3420],{"type":54,"value":3421},"\u002Fui\u002F",{"type":54,"value":3423}," on your server (for example, ",{"type":49,"tag":188,"props":3425,"children":3427},{"className":3426},[],[3428],{"type":54,"value":3429},"http:\u002F\u002Flocalhost:2468\u002Fui\u002F",{"type":54,"value":3431},") to inspect sessions and events in a GUI.",{"type":49,"tag":57,"props":3433,"children":3434},{},[3435],{"type":49,"tag":3436,"props":3437,"children":3440},"img",{"alt":3438,"src":3439},"Sandbox Agent Inspector","https:\u002F\u002Fsandboxagent.dev\u002Fdocs\u002Fimages\u002Finspector.png",[],{"type":49,"tag":63,"props":3442,"children":3444},{"id":3443},"next-steps",[3445],{"type":54,"value":3446},"Next steps",{"type":49,"tag":100,"props":3448,"children":3449},{},[3450,3461,3472],{"type":49,"tag":104,"props":3451,"children":3452},{},[3453,3459],{"type":49,"tag":75,"props":3454,"children":3456},{"href":3455},"\u002Fsession-persistence",[3457],{"type":54,"value":3458},"Session Persistence",{"type":54,"value":3460}," — Configure in-memory, Rivet Actor state, IndexedDB, SQLite, and Postgres persistence.",{"type":49,"tag":104,"props":3462,"children":3463},{},[3464,3470],{"type":49,"tag":75,"props":3465,"children":3467},{"href":3466},"\u002Fdeploy\u002Flocal",[3468],{"type":54,"value":3469},"Deploy to a Sandbox",{"type":54,"value":3471}," — Deploy your agent to E2B, Daytona, Docker, Vercel, or Cloudflare.",{"type":49,"tag":104,"props":3473,"children":3474},{},[3475,3481],{"type":49,"tag":75,"props":3476,"children":3478},{"href":3477},"\u002Fsdk-overview",[3479],{"type":54,"value":3480},"SDK Overview",{"type":54,"value":3482}," — Use the latest TypeScript SDK API.",{"type":49,"tag":63,"props":3484,"children":3486},{"id":3485},"reference-map",[3487],{"type":54,"value":3488},"Reference Map",{"type":49,"tag":167,"props":3490,"children":3491},{"id":25},[3492],{"type":54,"value":24},{"type":49,"tag":100,"props":3494,"children":3495},{},[3496,3505,3514,3522,3531,3540],{"type":49,"tag":104,"props":3497,"children":3498},{},[3499],{"type":49,"tag":75,"props":3500,"children":3502},{"href":3501},"references\u002Fagents\u002Famp.md",[3503],{"type":54,"value":3504},"Amp",{"type":49,"tag":104,"props":3506,"children":3507},{},[3508],{"type":49,"tag":75,"props":3509,"children":3511},{"href":3510},"references\u002Fagents\u002Fclaude.md",[3512],{"type":54,"value":3513},"Claude",{"type":49,"tag":104,"props":3515,"children":3516},{},[3517],{"type":49,"tag":75,"props":3518,"children":3520},{"href":3519},"references\u002Fagents\u002Fcodex.md",[3521],{"type":54,"value":21},{"type":49,"tag":104,"props":3523,"children":3524},{},[3525],{"type":49,"tag":75,"props":3526,"children":3528},{"href":3527},"references\u002Fagents\u002Fcursor.md",[3529],{"type":54,"value":3530},"Cursor",{"type":49,"tag":104,"props":3532,"children":3533},{},[3534],{"type":49,"tag":75,"props":3535,"children":3537},{"href":3536},"references\u002Fagents\u002Fopencode.md",[3538],{"type":54,"value":3539},"OpenCode",{"type":49,"tag":104,"props":3541,"children":3542},{},[3543],{"type":49,"tag":75,"props":3544,"children":3546},{"href":3545},"references\u002Fagents\u002Fpi.md",[3547],{"type":54,"value":3548},"Pi",{"type":49,"tag":167,"props":3550,"children":3552},{"id":3551},"ai",[3553],{"type":54,"value":3554},"AI",{"type":49,"tag":100,"props":3556,"children":3557},{},[3558,3567],{"type":49,"tag":104,"props":3559,"children":3560},{},[3561],{"type":49,"tag":75,"props":3562,"children":3564},{"href":3563},"references\u002Fai\u002Fllms-txt.md",[3565],{"type":54,"value":3566},"llms.txt",{"type":49,"tag":104,"props":3568,"children":3569},{},[3570],{"type":49,"tag":75,"props":3571,"children":3573},{"href":3572},"references\u002Fai\u002Fskill.md",[3574],{"type":54,"value":3575},"skill.md",{"type":49,"tag":167,"props":3577,"children":3579},{"id":3578},"deploy",[3580],{"type":54,"value":3581},"Deploy",{"type":49,"tag":100,"props":3583,"children":3584},{},[3585,3594,3603,3612,3621,3629,3637,3645,3654,3663],{"type":49,"tag":104,"props":3586,"children":3587},{},[3588],{"type":49,"tag":75,"props":3589,"children":3591},{"href":3590},"references\u002Fdeploy\u002Fagentcomputer.md",[3592],{"type":54,"value":3593},"Agent Computer",{"type":49,"tag":104,"props":3595,"children":3596},{},[3597],{"type":49,"tag":75,"props":3598,"children":3600},{"href":3599},"references\u002Fdeploy\u002Fboxlite.md",[3601],{"type":54,"value":3602},"BoxLite",{"type":49,"tag":104,"props":3604,"children":3605},{},[3606],{"type":49,"tag":75,"props":3607,"children":3609},{"href":3608},"references\u002Fdeploy\u002Fcloudflare.md",[3610],{"type":54,"value":3611},"Cloudflare",{"type":49,"tag":104,"props":3613,"children":3614},{},[3615],{"type":49,"tag":75,"props":3616,"children":3618},{"href":3617},"references\u002Fdeploy\u002Fcomputesdk.md",[3619],{"type":54,"value":3620},"ComputeSDK",{"type":49,"tag":104,"props":3622,"children":3623},{},[3624],{"type":49,"tag":75,"props":3625,"children":3627},{"href":3626},"references\u002Fdeploy\u002Fdaytona.md",[3628],{"type":54,"value":704},{"type":49,"tag":104,"props":3630,"children":3631},{},[3632],{"type":49,"tag":75,"props":3633,"children":3635},{"href":3634},"references\u002Fdeploy\u002Fdocker.md",[3636],{"type":54,"value":1085},{"type":49,"tag":104,"props":3638,"children":3639},{},[3640],{"type":49,"tag":75,"props":3641,"children":3643},{"href":3642},"references\u002Fdeploy\u002Fe2b.md",[3644],{"type":54,"value":362},{"type":49,"tag":104,"props":3646,"children":3647},{},[3648],{"type":49,"tag":75,"props":3649,"children":3651},{"href":3650},"references\u002Fdeploy\u002Flocal.md",[3652],{"type":54,"value":3653},"Local",{"type":49,"tag":104,"props":3655,"children":3656},{},[3657],{"type":49,"tag":75,"props":3658,"children":3660},{"href":3659},"references\u002Fdeploy\u002Fmodal.md",[3661],{"type":54,"value":3662},"Modal",{"type":49,"tag":104,"props":3664,"children":3665},{},[3666],{"type":49,"tag":75,"props":3667,"children":3669},{"href":3668},"references\u002Fdeploy\u002Fvercel.md",[3670],{"type":54,"value":3671},"Vercel",{"type":49,"tag":167,"props":3673,"children":3675},{"id":3674},"general",[3676],{"type":54,"value":3677},"General",{"type":49,"tag":100,"props":3679,"children":3680},{},[3681,3690,3699,3708,3717,3726,3735,3744,3753,3762,3771,3780,3788,3797,3806,3815,3824,3833,3842,3851,3860,3868,3877,3885,3894,3903,3912,3921],{"type":49,"tag":104,"props":3682,"children":3683},{},[3684],{"type":49,"tag":75,"props":3685,"children":3687},{"href":3686},"references\u002Fagent-sessions.md",[3688],{"type":54,"value":3689},"Agent Sessions",{"type":49,"tag":104,"props":3691,"children":3692},{},[3693],{"type":49,"tag":75,"props":3694,"children":3696},{"href":3695},"references\u002Farchitecture.md",[3697],{"type":54,"value":3698},"Architecture",{"type":49,"tag":104,"props":3700,"children":3701},{},[3702],{"type":49,"tag":75,"props":3703,"children":3705},{"href":3704},"references\u002Fattachments.md",[3706],{"type":54,"value":3707},"Attachments",{"type":49,"tag":104,"props":3709,"children":3710},{},[3711],{"type":49,"tag":75,"props":3712,"children":3714},{"href":3713},"references\u002Fcli.md",[3715],{"type":54,"value":3716},"CLI Reference",{"type":49,"tag":104,"props":3718,"children":3719},{},[3720],{"type":49,"tag":75,"props":3721,"children":3723},{"href":3722},"references\u002Fcommon-software.md",[3724],{"type":54,"value":3725},"Common Software",{"type":49,"tag":104,"props":3727,"children":3728},{},[3729],{"type":49,"tag":75,"props":3730,"children":3732},{"href":3731},"references\u002Fcomputer-use.md",[3733],{"type":54,"value":3734},"Computer Use",{"type":49,"tag":104,"props":3736,"children":3737},{},[3738],{"type":49,"tag":75,"props":3739,"children":3741},{"href":3740},"references\u002Fcors.md",[3742],{"type":54,"value":3743},"CORS Configuration",{"type":49,"tag":104,"props":3745,"children":3746},{},[3747],{"type":49,"tag":75,"props":3748,"children":3750},{"href":3749},"references\u002Fcustom-tools.md",[3751],{"type":54,"value":3752},"Custom Tools",{"type":49,"tag":104,"props":3754,"children":3755},{},[3756],{"type":49,"tag":75,"props":3757,"children":3759},{"href":3758},"references\u002Fdaemon.md",[3760],{"type":54,"value":3761},"Daemon",{"type":49,"tag":104,"props":3763,"children":3764},{},[3765],{"type":49,"tag":75,"props":3766,"children":3768},{"href":3767},"references\u002Ffile-system.md",[3769],{"type":54,"value":3770},"File System",{"type":49,"tag":104,"props":3772,"children":3773},{},[3774],{"type":49,"tag":75,"props":3775,"children":3777},{"href":3776},"references\u002Finspector.md",[3778],{"type":54,"value":3779},"Inspector",{"type":49,"tag":104,"props":3781,"children":3782},{},[3783],{"type":49,"tag":75,"props":3784,"children":3786},{"href":3785},"references\u002Fllm-credentials.md",[3787],{"type":54,"value":1277},{"type":49,"tag":104,"props":3789,"children":3790},{},[3791],{"type":49,"tag":75,"props":3792,"children":3794},{"href":3793},"references\u002Fmanage-sessions.md",[3795],{"type":54,"value":3796},"Manage Sessions",{"type":49,"tag":104,"props":3798,"children":3799},{},[3800],{"type":49,"tag":75,"props":3801,"children":3803},{"href":3802},"references\u002Fmcp-config.md",[3804],{"type":54,"value":3805},"MCP",{"type":49,"tag":104,"props":3807,"children":3808},{},[3809],{"type":49,"tag":75,"props":3810,"children":3812},{"href":3811},"references\u002Fmultiplayer.md",[3813],{"type":54,"value":3814},"Multiplayer",{"type":49,"tag":104,"props":3816,"children":3817},{},[3818],{"type":49,"tag":75,"props":3819,"children":3821},{"href":3820},"references\u002Fobservability.md",[3822],{"type":54,"value":3823},"Observability",{"type":49,"tag":104,"props":3825,"children":3826},{},[3827],{"type":49,"tag":75,"props":3828,"children":3830},{"href":3829},"references\u002Fopencode-compatibility.md",[3831],{"type":54,"value":3832},"OpenCode Compatibility",{"type":49,"tag":104,"props":3834,"children":3835},{},[3836],{"type":49,"tag":75,"props":3837,"children":3839},{"href":3838},"references\u002Forchestration-architecture.md",[3840],{"type":54,"value":3841},"Orchestration Architecture",{"type":49,"tag":104,"props":3843,"children":3844},{},[3845],{"type":49,"tag":75,"props":3846,"children":3848},{"href":3847},"references\u002Fsession-persistence.md",[3849],{"type":54,"value":3850},"Persisting Sessions",{"type":49,"tag":104,"props":3852,"children":3853},{},[3854],{"type":49,"tag":75,"props":3855,"children":3857},{"href":3856},"references\u002Fprocesses.md",[3858],{"type":54,"value":3859},"Processes",{"type":49,"tag":104,"props":3861,"children":3862},{},[3863],{"type":49,"tag":75,"props":3864,"children":3866},{"href":3865},"references\u002Fquickstart.md",[3867],{"type":54,"value":165},{"type":49,"tag":104,"props":3869,"children":3870},{},[3871],{"type":49,"tag":75,"props":3872,"children":3874},{"href":3873},"references\u002Freact-components.md",[3875],{"type":54,"value":3876},"React Components",{"type":49,"tag":104,"props":3878,"children":3879},{},[3880],{"type":49,"tag":75,"props":3881,"children":3883},{"href":3882},"references\u002Fsdk-overview.md",[3884],{"type":54,"value":3480},{"type":49,"tag":104,"props":3886,"children":3887},{},[3888],{"type":49,"tag":75,"props":3889,"children":3891},{"href":3890},"references\u002Fsecurity.md",[3892],{"type":54,"value":3893},"Security",{"type":49,"tag":104,"props":3895,"children":3896},{},[3897],{"type":49,"tag":75,"props":3898,"children":3900},{"href":3899},"references\u002Fsession-restoration.md",[3901],{"type":54,"value":3902},"Session Restoration",{"type":49,"tag":104,"props":3904,"children":3905},{},[3906],{"type":49,"tag":75,"props":3907,"children":3909},{"href":3908},"references\u002Fskills-config.md",[3910],{"type":54,"value":3911},"Skills",{"type":49,"tag":104,"props":3913,"children":3914},{},[3915],{"type":49,"tag":75,"props":3916,"children":3918},{"href":3917},"references\u002Ftelemetry.md",[3919],{"type":54,"value":3920},"Telemetry",{"type":49,"tag":104,"props":3922,"children":3923},{},[3924],{"type":49,"tag":75,"props":3925,"children":3927},{"href":3926},"references\u002Ftroubleshooting.md",[3928],{"type":54,"value":3929},"Troubleshooting",{"type":49,"tag":3931,"props":3932,"children":3933},"style",{},[3934],{"type":54,"value":3935},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3937,"total":4058},[3938,3959,3975,3994,4010,4026,4043],{"slug":3939,"name":3939,"fn":3940,"description":3941,"org":3942,"tags":3943,"stars":32,"repoUrl":33,"updatedAt":3958},"ai-agent","build AI agent backends with Rivet","Build an AI agent backend with persistent memory: one Rivet Actor per conversation, queued message handling, and streaming LLM responses as realtime events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3944,3945,3948,3951,3954,3957],{"name":24,"slug":25,"type":16},{"name":3946,"slug":3947,"type":16},"Backend","backend",{"name":3949,"slug":3950,"type":16},"LLM","llm",{"name":3952,"slug":3953,"type":16},"Memory","memory",{"name":3955,"slug":3956,"type":16},"Real-time","real-time",{"name":9,"slug":8,"type":16},"2026-07-21T05:37:45.411803",{"slug":3960,"name":3960,"fn":3961,"description":3962,"org":3963,"tags":3964,"stars":32,"repoUrl":33,"updatedAt":3974},"ai-agent-workspace","create persistent workspaces for AI agents","Give every AI agent its own computer: a persistent workspace with a filesystem, processes, shells, networking, and agent sessions on a lightweight in-process OS.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3965,3966,3969,3972,3973],{"name":24,"slug":25,"type":16},{"name":3967,"slug":3968,"type":16},"File Storage","file-storage",{"name":3970,"slug":3971,"type":16},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":16},{"name":18,"slug":19,"type":16},"2026-06-14T08:06:57.274844",{"slug":3976,"name":3976,"fn":3977,"description":3978,"org":3979,"tags":3980,"stars":32,"repoUrl":33,"updatedAt":3993},"chat-room","build realtime chat rooms with Rivet","Build a realtime chat room backend with Rivet Actors: one actor per room, SQLite-backed message history, and WebSocket broadcast to every connected client.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3981,3982,3985,3986,3987,3990],{"name":3946,"slug":3947,"type":16},{"name":3983,"slug":3984,"type":16},"Messaging","messaging",{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"name":3988,"slug":3989,"type":16},"SQL","sql",{"name":3991,"slug":3992,"type":16},"WebSockets","websockets","2026-07-21T05:37:48.403494",{"slug":3995,"name":3995,"fn":3996,"description":3997,"org":3998,"tags":3999,"stars":32,"repoUrl":33,"updatedAt":4009},"collaborative-text-editor","build collaborative text editors with Rivet","Build a collaborative text editor backend with Yjs CRDTs and Rivet Actors: per-document actors relay sync and awareness updates and persist snapshots.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4000,4001,4004,4007,4008],{"name":3946,"slug":3947,"type":16},{"name":4002,"slug":4003,"type":16},"Collaboration","collaboration",{"name":4005,"slug":4006,"type":16},"Documents","documents",{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},"2026-07-21T05:37:49.412829",{"slug":4011,"name":4011,"fn":4012,"description":4013,"org":4014,"tags":4015,"stars":32,"repoUrl":33,"updatedAt":4025},"cron-jobs","schedule durable cron jobs with Rivet","Patterns for durable one-shot, calendar, and fixed-interval work on Rivet Actors.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4016,4019,4020,4021,4022],{"name":4017,"slug":4018,"type":16},"Automation","automation",{"name":3946,"slug":3947,"type":16},{"name":3970,"slug":3971,"type":16},{"name":9,"slug":8,"type":16},{"name":4023,"slug":4024,"type":16},"Scheduling","scheduling","2026-07-21T05:37:43.395911",{"slug":4027,"name":4027,"fn":4028,"description":4029,"org":4030,"tags":4031,"stars":32,"repoUrl":33,"updatedAt":4042},"live-cursors","implement live cursors and multiplayer presence","Live cursors and multiplayer presence with Rivet Actors: per-connection cursor state, realtime updates over events or raw WebSockets, and throttling.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4032,4033,4036,4037,4038,4041],{"name":4002,"slug":4003,"type":16},{"name":4034,"slug":4035,"type":16},"Frontend","frontend",{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"name":4039,"slug":4040,"type":16},"UX Design","ux-design",{"name":3991,"slug":3992,"type":16},"2026-07-21T05:37:47.391088",{"slug":4044,"name":4044,"fn":4045,"description":4046,"org":4047,"tags":4048,"stars":32,"repoUrl":33,"updatedAt":4057},"multiplayer-game","build multiplayer games with Rivet","Pragmatic patterns for building multiplayer games: matchmaking, tick loops, realtime state, interest management, and validation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4049,4051,4052,4055,4056],{"name":3698,"slug":4050,"type":16},"architecture",{"name":27,"slug":28,"type":16},{"name":4053,"slug":4054,"type":16},"Game Development","game-development",{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},"2026-07-21T05:37:44.627991",16,{"items":4060,"total":32},[4061,4070,4078,4087,4095,4103,4112,4120,4138,4154,4170,4186],{"slug":3939,"name":3939,"fn":3940,"description":3941,"org":4062,"tags":4063,"stars":32,"repoUrl":33,"updatedAt":3958},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4064,4065,4066,4067,4068,4069],{"name":24,"slug":25,"type":16},{"name":3946,"slug":3947,"type":16},{"name":3949,"slug":3950,"type":16},{"name":3952,"slug":3953,"type":16},{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"slug":3960,"name":3960,"fn":3961,"description":3962,"org":4071,"tags":4072,"stars":32,"repoUrl":33,"updatedAt":3974},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4073,4074,4075,4076,4077],{"name":24,"slug":25,"type":16},{"name":3967,"slug":3968,"type":16},{"name":3970,"slug":3971,"type":16},{"name":9,"slug":8,"type":16},{"name":18,"slug":19,"type":16},{"slug":3976,"name":3976,"fn":3977,"description":3978,"org":4079,"tags":4080,"stars":32,"repoUrl":33,"updatedAt":3993},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4081,4082,4083,4084,4085,4086],{"name":3946,"slug":3947,"type":16},{"name":3983,"slug":3984,"type":16},{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"name":3988,"slug":3989,"type":16},{"name":3991,"slug":3992,"type":16},{"slug":3995,"name":3995,"fn":3996,"description":3997,"org":4088,"tags":4089,"stars":32,"repoUrl":33,"updatedAt":4009},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4090,4091,4092,4093,4094],{"name":3946,"slug":3947,"type":16},{"name":4002,"slug":4003,"type":16},{"name":4005,"slug":4006,"type":16},{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"slug":4011,"name":4011,"fn":4012,"description":4013,"org":4096,"tags":4097,"stars":32,"repoUrl":33,"updatedAt":4025},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4098,4099,4100,4101,4102],{"name":4017,"slug":4018,"type":16},{"name":3946,"slug":3947,"type":16},{"name":3970,"slug":3971,"type":16},{"name":9,"slug":8,"type":16},{"name":4023,"slug":4024,"type":16},{"slug":4027,"name":4027,"fn":4028,"description":4029,"org":4104,"tags":4105,"stars":32,"repoUrl":33,"updatedAt":4042},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4106,4107,4108,4109,4110,4111],{"name":4002,"slug":4003,"type":16},{"name":4034,"slug":4035,"type":16},{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"name":4039,"slug":4040,"type":16},{"name":3991,"slug":3992,"type":16},{"slug":4044,"name":4044,"fn":4045,"description":4046,"org":4113,"tags":4114,"stars":32,"repoUrl":33,"updatedAt":4057},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4115,4116,4117,4118,4119],{"name":3698,"slug":4050,"type":16},{"name":27,"slug":28,"type":16},{"name":4053,"slug":4054,"type":16},{"name":3955,"slug":3956,"type":16},{"name":9,"slug":8,"type":16},{"slug":4121,"name":4121,"fn":4122,"description":4123,"org":4124,"tags":4125,"stars":32,"repoUrl":33,"updatedAt":4137},"per-tenant-database","implement multi-tenant data isolation with Rivet","Multi-tenant data isolation with one Rivet Actor per tenant: the actor key is the tenant id, so each tenant gets its own isolated dataset and migrations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4126,4127,4130,4133,4136],{"name":3698,"slug":4050,"type":16},{"name":4128,"slug":4129,"type":16},"Database","database",{"name":4131,"slug":4132,"type":16},"Migration","migration",{"name":4134,"slug":4135,"type":16},"Multi-Tenant","multi-tenant",{"name":9,"slug":8,"type":16},"2026-07-21T05:37:46.414425",{"slug":4139,"name":4139,"fn":4140,"description":4141,"org":4142,"tags":4143,"stars":32,"repoUrl":33,"updatedAt":4153},"rivetkit","build and debug Rivet Actors","RivetKit backend and Rivet Actor runtime guidance. Use for building, modifying, debugging, or testing Rivet Actors, registries, serverless\u002Frunner modes, deployment, or actor-based workflows.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4144,4145,4146,4149,4152],{"name":24,"slug":25,"type":16},{"name":3946,"slug":3947,"type":16},{"name":4147,"slug":4148,"type":16},"Debugging","debugging",{"name":4150,"slug":4151,"type":16},"Deployment","deployment",{"name":9,"slug":8,"type":16},"2026-07-24T05:38:58.10133",{"slug":4155,"name":4155,"fn":4156,"description":4157,"org":4158,"tags":4159,"stars":32,"repoUrl":33,"updatedAt":4169},"rivetkit-client-javascript","use RivetKit JavaScript client","RivetKit JavaScript client guidance. Use for browser, Node.js, or Bun clients that connect to Rivet Actors with rivetkit\u002Fclient, create clients, call actions, or manage connections.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4160,4161,4162,4165,4166],{"name":3946,"slug":3947,"type":16},{"name":4034,"slug":4035,"type":16},{"name":4163,"slug":4164,"type":16},"JavaScript","javascript",{"name":9,"slug":8,"type":16},{"name":4167,"slug":4168,"type":16},"SDK","sdk","2026-07-30T05:31:37.725576",{"slug":4171,"name":4171,"fn":4172,"description":4173,"org":4174,"tags":4175,"stars":32,"repoUrl":33,"updatedAt":4185},"rivetkit-client-react","use RivetKit React client","RivetKit React client guidance. Use for React apps that connect to Rivet Actors with @rivetkit\u002Freact, create hooks with createRivetKit, or manage realtime state with useActor.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4176,4177,4180,4181,4182],{"name":4034,"slug":4035,"type":16},{"name":4178,"slug":4179,"type":16},"React","react",{"name":9,"slug":8,"type":16},{"name":4167,"slug":4168,"type":16},{"name":4183,"slug":4184,"type":16},"State Management","state-management","2026-07-30T05:31:36.618873",{"slug":4187,"name":4187,"fn":4188,"description":4189,"org":4190,"tags":4191,"stars":32,"repoUrl":33,"updatedAt":4197},"rivetkit-client-rust","build RivetKit Rust clients","RivetKit Rust client guidance. Use for Rust clients and backends that connect to Rivet Actors with rivetkit::client, create typed actor handles, call actions, or manage connections.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[4192,4193,4194],{"name":30,"slug":31,"type":16},{"name":3946,"slug":3947,"type":16},{"name":4195,"slug":4196,"type":16},"Rust","rust","2026-07-24T05:39:02.105888"]