chore(release): update version to 0.3.0

This commit is contained in:
Nathan Flurry 2026-03-07 18:02:44 -08:00
parent cd29dd57c4
commit 3d9476ed0b
32 changed files with 93 additions and 57 deletions

View file

@ -43,7 +43,7 @@ Manually verify the install script works in a fresh environment:
```bash ```bash
docker run --rm alpine:latest sh -c " docker run --rm alpine:latest sh -c "
apk add --no-cache curl ca-certificates libstdc++ libgcc bash && apk add --no-cache curl ca-certificates libstdc++ libgcc bash &&
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh && curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh &&
sandbox-agent --version sandbox-agent --version
" "
``` ```

View file

@ -80,11 +80,11 @@ Import the SDK directly into your Node or browser application. Full type safety
**Install** **Install**
```bash ```bash
npm install sandbox-agent@0.2.x npm install sandbox-agent@0.3.x
``` ```
```bash ```bash
bun add sandbox-agent@0.2.x bun add sandbox-agent@0.3.x
# Optional: allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()). # Optional: allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64 bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
``` ```
@ -138,7 +138,7 @@ Run as an HTTP server and connect from any language. Deploy to E2B, Daytona, Ver
```bash ```bash
# Install it # Install it
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
# Run it # Run it
sandbox-agent server --token "$SANDBOX_TOKEN" --host 127.0.0.1 --port 2468 sandbox-agent server --token "$SANDBOX_TOKEN" --host 127.0.0.1 --port 2468
``` ```
@ -165,12 +165,12 @@ sandbox-agent server --no-token --host 127.0.0.1 --port 2468
Install the CLI wrapper (optional but convenient): Install the CLI wrapper (optional but convenient):
```bash ```bash
npm install -g @sandbox-agent/cli@0.2.x npm install -g @sandbox-agent/cli@0.3.x
``` ```
```bash ```bash
# Allow Bun to run postinstall scripts for native binaries. # Allow Bun to run postinstall scripts for native binaries.
bun add -g @sandbox-agent/cli@0.2.x bun add -g @sandbox-agent/cli@0.3.x
bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64 bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
``` ```
@ -185,11 +185,11 @@ sandbox-agent api sessions send-message-stream my-session --message "Hello" --en
You can also use npx like: You can also use npx like:
```bash ```bash
npx @sandbox-agent/cli@0.2.x --help npx @sandbox-agent/cli@0.3.x --help
``` ```
```bash ```bash
bunx @sandbox-agent/cli@0.2.x --help bunx @sandbox-agent/cli@0.3.x --help
``` ```
[CLI documentation](https://sandboxagent.dev/docs/cli) [CLI documentation](https://sandboxagent.dev/docs/cli)

View file

@ -11,6 +11,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -21,13 +22,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -11,6 +11,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -21,13 +22,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -11,6 +11,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -21,13 +22,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -11,6 +11,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -21,13 +22,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -11,6 +11,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -21,13 +22,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -13,6 +13,7 @@ COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
COPY sdks/typescript/package.json ./sdks/typescript/ COPY sdks/typescript/package.json ./sdks/typescript/
# Install dependencies # Install dependencies
@ -23,13 +24,15 @@ COPY docs/openapi.json ./docs/
COPY sdks/cli-shared ./sdks/cli-shared COPY sdks/cli-shared ./sdks/cli-shared
COPY sdks/acp-http-client ./sdks/acp-http-client COPY sdks/acp-http-client ./sdks/acp-http-client
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
COPY sdks/react ./sdks/react
COPY sdks/typescript ./sdks/typescript COPY sdks/typescript ./sdks/typescript
# Build cli-shared, acp-http-client, SDK, then persist-indexeddb (depends on SDK) # Build cli-shared, acp-http-client, SDK, then persist-indexeddb and react (depends on SDK)
RUN cd sdks/cli-shared && pnpm exec tsup RUN cd sdks/cli-shared && pnpm exec tsup
RUN cd sdks/acp-http-client && pnpm exec tsup RUN cd sdks/acp-http-client && pnpm exec tsup
RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup RUN cd sdks/typescript && SKIP_OPENAPI_GEN=1 pnpm exec tsup
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source and build # Copy inspector source and build
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -20,7 +20,7 @@ that BoxLite can load directly (BoxLite has its own image store separate from Do
```dockerfile ```dockerfile
FROM node:22-bookworm-slim FROM node:22-bookworm-slim
RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
RUN sandbox-agent install-agent claude RUN sandbox-agent install-agent claude
RUN sandbox-agent install-agent codex RUN sandbox-agent install-agent codex
``` ```

View file

@ -25,7 +25,7 @@ cd my-sandbox
```dockerfile ```dockerfile
FROM cloudflare/sandbox:0.7.0 FROM cloudflare/sandbox:0.7.0
RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
RUN sandbox-agent install-agent claude && sandbox-agent install-agent codex RUN sandbox-agent install-agent claude && sandbox-agent install-agent codex
EXPOSE 8000 EXPOSE 8000

View file

@ -28,7 +28,7 @@ if (process.env.OPENAI_API_KEY) envVars.OPENAI_API_KEY = process.env.OPENAI_API_
const sandbox = await daytona.create({ envVars }); const sandbox = await daytona.create({ envVars });
await sandbox.process.executeCommand( await sandbox.process.executeCommand(
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh" "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh"
); );
await sandbox.process.executeCommand("sandbox-agent install-agent claude"); await sandbox.process.executeCommand("sandbox-agent install-agent claude");
@ -64,7 +64,7 @@ if (!hasSnapshot) {
name: SNAPSHOT, name: SNAPSHOT,
image: Image.base("ubuntu:22.04").runCommands( image: Image.base("ubuntu:22.04").runCommands(
"apt-get update && apt-get install -y curl ca-certificates", "apt-get update && apt-get install -y curl ca-certificates",
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
"sandbox-agent install-agent claude", "sandbox-agent install-agent claude",
"sandbox-agent install-agent codex", "sandbox-agent install-agent codex",
), ),

View file

@ -17,7 +17,7 @@ docker run --rm -p 3000:3000 \
-e OPENAI_API_KEY="$OPENAI_API_KEY" \ -e OPENAI_API_KEY="$OPENAI_API_KEY" \
alpine:latest sh -c "\ alpine:latest sh -c "\
apk add --no-cache curl ca-certificates libstdc++ libgcc bash nodejs npm && \ apk add --no-cache curl ca-certificates libstdc++ libgcc bash nodejs npm && \
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh && \ curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh && \
sandbox-agent server --no-token --host 0.0.0.0 --port 3000" sandbox-agent server --no-token --host 0.0.0.0 --port 3000"
``` ```
@ -36,7 +36,7 @@ const container = await docker.createContainer({
"apt-get update", "apt-get update",
"DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates bash libstdc++6", "DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates bash libstdc++6",
"rm -rf /var/lib/apt/lists/*", "rm -rf /var/lib/apt/lists/*",
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
`sandbox-agent server --no-token --host 0.0.0.0 --port ${PORT}`, `sandbox-agent server --no-token --host 0.0.0.0 --port ${PORT}`,
].join(" && ")], ].join(" && ")],
Env: [ Env: [

View file

@ -21,7 +21,7 @@ if (process.env.OPENAI_API_KEY) envs.OPENAI_API_KEY = process.env.OPENAI_API_KEY
const sandbox = await Sandbox.create({ allowInternetAccess: true, envs }); const sandbox = await Sandbox.create({ allowInternetAccess: true, envs });
await sandbox.commands.run( await sandbox.commands.run(
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh" "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh"
); );
await sandbox.commands.run("sandbox-agent install-agent claude"); await sandbox.commands.run("sandbox-agent install-agent claude");

View file

@ -9,7 +9,7 @@ For local development, run Sandbox Agent directly on your machine.
```bash ```bash
# Install # Install
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
# Run # Run
sandbox-agent server --no-token --host 127.0.0.1 --port 2468 sandbox-agent server --no-token --host 127.0.0.1 --port 2468
@ -20,12 +20,12 @@ Or with npm/Bun:
<Tabs> <Tabs>
<Tab title="npx"> <Tab title="npx">
```bash ```bash
npx @sandbox-agent/cli@0.2.x server --no-token --host 127.0.0.1 --port 2468 npx @sandbox-agent/cli@0.3.x server --no-token --host 127.0.0.1 --port 2468
``` ```
</Tab> </Tab>
<Tab title="bunx"> <Tab title="bunx">
```bash ```bash
bunx @sandbox-agent/cli@0.2.x server --no-token --host 127.0.0.1 --port 2468 bunx @sandbox-agent/cli@0.3.x server --no-token --host 127.0.0.1 --port 2468
``` ```
</Tab> </Tab>
</Tabs> </Tabs>

View file

@ -30,7 +30,7 @@ const run = async (cmd: string, args: string[] = []) => {
} }
}; };
await run("sh", ["-c", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh"]); await run("sh", ["-c", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh"]);
await run("sandbox-agent", ["install-agent", "claude"]); await run("sandbox-agent", ["install-agent", "claude"]);
await run("sandbox-agent", ["install-agent", "codex"]); await run("sandbox-agent", ["install-agent", "codex"]);

View file

@ -84,7 +84,7 @@ icon: "rocket"
Install and run the binary directly. Install and run the binary directly.
```bash ```bash
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
sandbox-agent server --no-token --host 0.0.0.0 --port 2468 sandbox-agent server --no-token --host 0.0.0.0 --port 2468
``` ```
</Tab> </Tab>
@ -93,7 +93,7 @@ icon: "rocket"
Run without installing globally. Run without installing globally.
```bash ```bash
npx @sandbox-agent/cli@0.2.x server --no-token --host 0.0.0.0 --port 2468 npx @sandbox-agent/cli@0.3.x server --no-token --host 0.0.0.0 --port 2468
``` ```
</Tab> </Tab>
@ -101,7 +101,7 @@ icon: "rocket"
Run without installing globally. Run without installing globally.
```bash ```bash
bunx @sandbox-agent/cli@0.2.x server --no-token --host 0.0.0.0 --port 2468 bunx @sandbox-agent/cli@0.3.x server --no-token --host 0.0.0.0 --port 2468
``` ```
</Tab> </Tab>
@ -109,7 +109,7 @@ icon: "rocket"
Install globally, then run. Install globally, then run.
```bash ```bash
npm install -g @sandbox-agent/cli@0.2.x npm install -g @sandbox-agent/cli@0.3.x
sandbox-agent server --no-token --host 0.0.0.0 --port 2468 sandbox-agent server --no-token --host 0.0.0.0 --port 2468
``` ```
</Tab> </Tab>
@ -118,7 +118,7 @@ icon: "rocket"
Install globally, then run. Install globally, then run.
```bash ```bash
bun add -g @sandbox-agent/cli@0.2.x bun add -g @sandbox-agent/cli@0.3.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()). # Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64 bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
sandbox-agent server --no-token --host 0.0.0.0 --port 2468 sandbox-agent server --no-token --host 0.0.0.0 --port 2468
@ -129,7 +129,7 @@ icon: "rocket"
For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess. For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.
```bash ```bash
npm install sandbox-agent@0.2.x npm install sandbox-agent@0.3.x
``` ```
```typescript ```typescript
@ -143,7 +143,7 @@ icon: "rocket"
For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess. For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.
```bash ```bash
bun add sandbox-agent@0.2.x bun add sandbox-agent@0.3.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()). # Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64 bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
``` ```

View file

@ -9,7 +9,7 @@ icon: "react"
## Install ## Install
```bash ```bash
npm install @sandbox-agent/react@0.2.x npm install @sandbox-agent/react@0.3.x
``` ```
## Full example ## Full example

View file

@ -11,12 +11,12 @@ The TypeScript SDK is centered on `sandbox-agent` and its `SandboxAgent` class.
<Tabs> <Tabs>
<Tab title="npm"> <Tab title="npm">
```bash ```bash
npm install sandbox-agent@0.2.x npm install sandbox-agent@0.3.x
``` ```
</Tab> </Tab>
<Tab title="bun"> <Tab title="bun">
```bash ```bash
bun add sandbox-agent@0.2.x bun add sandbox-agent@0.3.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()). # Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64 bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
``` ```
@ -26,13 +26,13 @@ The TypeScript SDK is centered on `sandbox-agent` and its `SandboxAgent` class.
## Optional persistence drivers ## Optional persistence drivers
```bash ```bash
npm install @sandbox-agent/persist-indexeddb@0.2.x @sandbox-agent/persist-sqlite@0.2.x @sandbox-agent/persist-postgres@0.2.x npm install @sandbox-agent/persist-indexeddb@0.3.x @sandbox-agent/persist-sqlite@0.3.x @sandbox-agent/persist-postgres@0.3.x
``` ```
## Optional React components ## Optional React components
```bash ```bash
npm install @sandbox-agent/react@0.2.x npm install @sandbox-agent/react@0.3.x
``` ```
## Create a client ## Create a client

View file

@ -38,7 +38,7 @@ const sdk = await SandboxAgent.connect({
Recommended for sandbox orchestration with actor state. Recommended for sandbox orchestration with actor state.
```bash ```bash
npm install @sandbox-agent/persist-rivet@0.2.x npm install @sandbox-agent/persist-rivet@0.3.x
``` ```
```ts ```ts
@ -90,7 +90,7 @@ export default actor({
Best for browser apps that should survive reloads. Best for browser apps that should survive reloads.
```bash ```bash
npm install @sandbox-agent/persist-indexeddb@0.2.x npm install @sandbox-agent/persist-indexeddb@0.3.x
``` ```
```ts ```ts
@ -112,7 +112,7 @@ const sdk = await SandboxAgent.connect({
Best for local/server Node apps that need durable storage without a DB server. Best for local/server Node apps that need durable storage without a DB server.
```bash ```bash
npm install @sandbox-agent/persist-sqlite@0.2.x npm install @sandbox-agent/persist-sqlite@0.3.x
``` ```
```ts ```ts
@ -134,7 +134,7 @@ const sdk = await SandboxAgent.connect({
Use when you already run Postgres and want shared relational storage. Use when you already run Postgres and want shared relational storage.
```bash ```bash
npm install @sandbox-agent/persist-postgres@0.2.x npm install @sandbox-agent/persist-postgres@0.3.x
``` ```
```ts ```ts

View file

@ -1,5 +1,5 @@
FROM node:22-bookworm-slim FROM node:22-bookworm-slim
RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
RUN sandbox-agent install-agent claude RUN sandbox-agent install-agent claude
RUN sandbox-agent install-agent codex RUN sandbox-agent install-agent codex

View file

@ -1,5 +1,5 @@
FROM node:22-bookworm-slim FROM node:22-bookworm-slim
RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
RUN sandbox-agent install-agent claude RUN sandbox-agent install-agent claude
RUN sandbox-agent install-agent codex RUN sandbox-agent install-agent codex

View file

@ -1,7 +1,7 @@
FROM cloudflare/sandbox:0.7.0 FROM cloudflare/sandbox:0.7.0
# Install sandbox-agent # Install sandbox-agent
RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh
# Pre-install agents # Pre-install agents
RUN sandbox-agent install-agent claude && \ RUN sandbox-agent install-agent claude && \

View file

@ -13,7 +13,7 @@ if (process.env.OPENAI_API_KEY)
// Build a custom image with sandbox-agent pre-installed (slower first run, faster subsequent runs) // Build a custom image with sandbox-agent pre-installed (slower first run, faster subsequent runs)
const image = Image.base("ubuntu:22.04").runCommands( const image = Image.base("ubuntu:22.04").runCommands(
"apt-get update && apt-get install -y curl ca-certificates", "apt-get update && apt-get install -y curl ca-certificates",
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
); );
console.log("Creating Daytona sandbox (first run builds the base image and may take a few minutes, subsequent runs are fast)..."); console.log("Creating Daytona sandbox (first run builds the base image and may take a few minutes, subsequent runs are fast)...");

View file

@ -17,7 +17,7 @@ const sandbox = await daytona.create({ envVars, autoStopInterval: 0 });
// Install sandbox-agent and start server // Install sandbox-agent and start server
console.log("Installing sandbox-agent..."); console.log("Installing sandbox-agent...");
await sandbox.process.executeCommand( await sandbox.process.executeCommand(
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
); );
console.log("Installing agents..."); console.log("Installing agents...");

View file

@ -34,7 +34,7 @@ const container = await docker.createContainer({
"apt-get update", "apt-get update",
"DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates bash libstdc++6", "DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates bash libstdc++6",
"rm -rf /var/lib/apt/lists/*", "rm -rf /var/lib/apt/lists/*",
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
`sandbox-agent server --no-token --host 0.0.0.0 --port ${PORT}`, `sandbox-agent server --no-token --host 0.0.0.0 --port ${PORT}`,
].join(" && ")], ].join(" && ")],
Env: [ Env: [

View file

@ -16,7 +16,7 @@ const run = async (cmd: string) => {
}; };
console.log("Installing sandbox-agent..."); console.log("Installing sandbox-agent...");
await run("curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh"); await run("curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh");
console.log("Installing agents..."); console.log("Installing agents...");
await run("sandbox-agent install-agent claude"); await run("sandbox-agent install-agent claude");

View file

@ -11,6 +11,7 @@ COPY sdks/typescript/ sdks/typescript/
COPY sdks/acp-http-client/ sdks/acp-http-client/ COPY sdks/acp-http-client/ sdks/acp-http-client/
COPY sdks/cli-shared/ sdks/cli-shared/ COPY sdks/cli-shared/ sdks/cli-shared/
COPY sdks/persist-indexeddb/ sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/ sdks/persist-indexeddb/
COPY sdks/react/ sdks/react/
COPY frontend/packages/inspector/ frontend/packages/inspector/ COPY frontend/packages/inspector/ frontend/packages/inspector/
COPY docs/openapi.json docs/ COPY docs/openapi.json docs/

View file

@ -22,7 +22,7 @@ const run = async (cmd: string, args: string[] = []) => {
}; };
console.log("Installing sandbox-agent..."); console.log("Installing sandbox-agent...");
await run("sh", ["-c", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh"]); await run("sh", ["-c", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh"]);
console.log("Installing agents..."); console.log("Installing agents...");
await run("sandbox-agent", ["install-agent", "claude"]); await run("sandbox-agent", ["install-agent", "claude"]);

View file

@ -9,6 +9,7 @@ COPY sdks/typescript/package.json ./sdks/typescript/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/ COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/ COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/ COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
# Install dependencies # Install dependencies
RUN pnpm install --filter @sandbox-agent/inspector... RUN pnpm install --filter @sandbox-agent/inspector...
@ -29,6 +30,10 @@ RUN cd sdks/typescript && pnpm exec tsup
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
RUN cd sdks/persist-indexeddb && pnpm exec tsup RUN cd sdks/persist-indexeddb && pnpm exec tsup
# Copy react and build (depends on SDK)
COPY sdks/react ./sdks/react
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source # Copy inspector source
COPY frontend/packages/inspector ./frontend/packages/inspector COPY frontend/packages/inspector ./frontend/packages/inspector

View file

@ -87,7 +87,7 @@ function SdkCodeHighlighted() {
); );
} }
const sandboxCommand = `curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh`; const sandboxCommand = `curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh`;
const sourceCommands = `git clone https://github.com/rivet-dev/sandbox-agent const sourceCommands = `git clone https://github.com/rivet-dev/sandbox-agent
cd sandbox-agent cd sandbox-agent
@ -180,7 +180,7 @@ export function GetStarted() {
<span className="text-zinc-300">curl -fsSL \</span> <span className="text-zinc-300">curl -fsSL \</span>
{"\n"} {"\n"}
<span className="text-zinc-300">{" "}</span> <span className="text-zinc-300">{" "}</span>
<span className="text-green-400">https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh</span> <span className="text-green-400">https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh</span>
<span className="text-zinc-300"> | </span> <span className="text-zinc-300"> | </span>
<span className="text-blue-400">sh</span> <span className="text-blue-400">sh</span>
</code> </code>

View file

@ -302,8 +302,16 @@ export async function publishNpmLibraries(opts: ReleaseOpts) {
} }
console.log(`==> Publishing to NPM: ${pkg.name}@${opts.version}`); console.log(`==> Publishing to NPM: ${pkg.name}@${opts.version}`);
await $({ stdio: "inherit", cwd: pkg.dir })`pnpm publish --access public --tag ${tag} --no-git-checks`; try {
console.log(`✅ Published ${pkg.name}@${opts.version}`); await $({ stdio: "inherit", cwd: pkg.dir })`pnpm publish --access public --tag ${tag} --no-git-checks`;
console.log(`✅ Published ${pkg.name}@${opts.version}`);
} catch (err: any) {
if (err.stderr?.includes("You cannot publish over the previously published versions") || err.stderr?.includes("403")) {
console.log(`⚠️ ${pkg.name}@${opts.version} already published (npm registry). Skipping.`);
} else {
throw err;
}
}
} }
console.log("✅ All library packages published"); console.log("✅ All library packages published");
@ -384,9 +392,13 @@ export async function publishNpmCli(opts: ReleaseOpts) {
cwd: pkg.dir, cwd: pkg.dir,
})`pnpm publish --access public --tag ${tag} --no-git-checks`; })`pnpm publish --access public --tag ${tag} --no-git-checks`;
console.log(`✅ Published ${pkg.name}@${opts.version}`); console.log(`✅ Published ${pkg.name}@${opts.version}`);
} catch (err) { } catch (err: any) {
console.error(`❌ Failed to publish ${pkg.name}`); if (err.stderr?.includes("You cannot publish over the previously published versions") || err.stderr?.includes("403")) {
throw err; console.log(`⚠️ ${pkg.name}@${opts.version} already published (npm registry). Skipping.`);
} else {
console.error(`❌ Failed to publish ${pkg.name}`);
throw err;
}
} }
} }

View file

@ -322,7 +322,7 @@ async function installSandboxAgent(sandbox: Sandbox, binaryPath: string): Promis
if (binaryPath === "RELEASE") { if (binaryPath === "RELEASE") {
log.info("Installing from releases.rivet.dev..."); log.info("Installing from releases.rivet.dev...");
const result = await sandbox.exec( const result = await sandbox.exec(
"curl -fsSL https://releases.rivet.dev/sandbox-agent/0.2.x/install.sh | sh", "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.3.x/install.sh | sh",
); );
log.debug(`Install output: ${result.stdout}`); log.debug(`Install output: ${result.stdout}`);
if (result.exitCode !== 0) { if (result.exitCode !== 0) {