Commit graph

192 commits

Author SHA1 Message Date
Nathan Flurry
4bf3a6f0ee feat: add VCS status, diff, and revert APIs 2026-02-05 11:41:56 -08:00
Topper Bowers
7378abee46
linux-arm64 support (#63)
docker on osx runs as linux-arm64 and there's no build for that. TBH, this is completely vibe coded but I did manually but I did look through this and seems right to me.
2026-02-04 23:36:23 -08:00
Nathan Flurry
8a31519786
chore: specs for unimplemented work (#70) 2026-02-04 13:45:31 -08:00
Nathan Flurry
ef3e811c94
feat: add opencode compatibility layer (#68) 2026-02-04 13:43:05 -08:00
Jordan Coeyman
cc5a9e0d73
docs: add Cloudflare Sandbox SDK deployment guide (#57)
* docs: add Cloudflare Sandbox SDK deployment guide

- Add docs/deploy/cloudflare.mdx with full deployment guide
- Add examples/cloudflare/ with working Worker code
- Update docs navigation to include Cloudflare option
- Update deploy index page with Cloudflare card

The example shows how to run sandbox-agent inside a Cloudflare Sandbox
with exposed ports for API access.

Co-authored-by: Shelley <shelley@exe.dev>

* fix: guard server startup to avoid port conflicts

Add health check before starting sandbox-agent to prevent 'address already
in use' errors on subsequent requests. The isServerRunning() function probes
the health endpoint to determine if setup should be skipped.

Co-authored-by: Shelley <shelley@exe.dev>

* fix: default cloudflare/sandbox:0.7.0 (latest does not exist)

* feat(cloudflare): add React frontend and improve deployment docs

- Add React + Vite frontend for Cloudflare example with sandbox-agent SDK
- Update ensureRunning to poll health endpoint instead of fixed wait
- Fix SDK fetch binding issue (globalThis.fetch.bind)
- Update docs with .dev.vars format warning and container caching tip
- Use containerFetch proxy pattern for reliable local dev

---------

Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Nathan Flurry <git@nathanflurry.com>
Co-authored-by: Nathan Flurry <developer@nathanflurry.com>
2026-02-03 02:15:34 -08:00
Nicholas Kissel
64582ef299
fix(site): use white SVG filter for diagram logos instead of color inversion (#60) 2026-02-02 21:15:50 -08:00
Nathan Flurry
02bb992b11
fix: fix bun install bug (#62)
* fix: fix bun install bug

* refactor: consolidate executable check into assertExecutable helper

- Add assertExecutable() to cli-shared that checks and attempts chmod
- Simplify CLI and SDK spawn code to use the shared helper
- Fix cli-shared package.json exports (.js not .mjs)
- Add global install instructions to SDK error message

* chore(release): update version to 0.1.6-rc.1

* fix: add cli-shared package to Dockerfiles

* chore(release): update version to 0.1.6-rc.1

* fix: add cli-shared publishing to release workflow

* chore(release): update version to 0.1.6-rc.1

* fix: handle already-exists error during crate publish

* chore(release): update version to 0.1.6-rc.1
2026-02-02 21:12:41 -08:00
Nathan Flurry
24de9e686c
i need to update the terminology of 'capabilities' to 'feature coverage' in the inspector ui and anywhere else its mentioned thats not in the actual api (#61) 2026-02-02 19:00:35 -08:00
Nicholas Kissel
cc37ed0458
chore: readme (#55) 2026-02-02 11:26:13 -08:00
Nicholas Kissel
46fec1dac5 chore: readme 2026-02-02 11:23:15 -08:00
Nicholas Kissel
0e1edef7c9
chore(site): diagram mobile and favicon (#49) 2026-02-02 00:53:32 -08:00
Nathan Flurry
553f249836
fix: add postinstall chmod for npm binary permissions (#43)
* fix: add postinstall chmod for npm binary permissions

* fix: report npm package version instead of compiled binary version

The --version flag now reports the version from package.json instead of the
version compiled into the Rust binary. This ensures the version matches what
was installed via npm, even when binaries are reused from previous releases.

* fix: bake version into binary at build time

Instead of hacking around the version in the Node.js wrapper script,
properly pass the version at build time via SANDBOX_AGENT_VERSION env var.

Changes:
- build.rs: Generate version.rs with VERSION constant from env var
- main.rs: Use generated version constant for clap --version
- Dockerfiles: Accept SANDBOX_AGENT_VERSION as build arg
- build.sh: Pass version as second argument to Docker builds
- release.yaml: Pass version to build script during CI
- Remove version hack from sdks/cli/bin/sandbox-agent wrapper

The version is now baked into the binary during the release build,
ensuring --version reports the correct npm package version.
2026-02-02 00:45:31 -08:00
Nathan Flurry
a442efe4bd
chore: update examples to use bypass permissions and remove inspect.sandboxagent.dev (#51)
* chore: update examples to use bypass permissions and remove inspect.sandboxagent.dev

* chore: simplify examples and print UI URL in runPrompt

- Remove logInspectorUrl calls from all examples
- Remove isMainModule checks from e2b, docker, vercel examples
- Simplify e2b, docker, vercel to match daytona's direct execution style
- Print UI URL at start of runPrompt in shared module
2026-02-01 23:25:43 -08:00
Maky
63cef16adf
adding vercel sandbox with examples and docs (#47) 2026-02-01 23:05:38 -08:00
Nathan Flurry
e3c030f66d
fix: correct inspector package name in Dockerfiles and add .dockerignore (#50)
* chore: remove inspect.sandboxagent.dev in favor of /ui/

* chore: add 404 page

* fix: correct inspector package name in Dockerfiles and add .dockerignore

- Change @anthropic-ai/sdk-inspector to @sandbox-agent/inspector in all Dockerfiles
- Add .dockerignore to exclude target/, node_modules/, etc from Docker context

The wrong package name caused pnpm install --filter to match nothing, so the
inspector frontend was never built, resulting in binaries without the /ui/ endpoint.

* chore: cargo fmt

* chore(release): update version to 0.1.4-rc.7
2026-02-01 23:03:51 -08:00
Nicholas Kissel
7a37c15929 chore(site): diagram mobile and favicon 2026-01-31 22:49:01 -08:00
Nicholas Kissel
cacb63ef17
chore: update readme (#41) 2026-01-30 00:42:11 -08:00
Nathan Flurry
8aab9e346d
feat: include inspector UI in release binaries (#34)
## Summary
- Add Node.js build stage to all release Dockerfiles to build the inspector frontend
- Copy pre-built inspector assets into Rust build stages so they get embedded in binaries
- Remove `SANDBOX_AGENT_SKIP_INSPECTOR=1` from all Dockerfiles and the release workflow

## Test plan
- [ ] Build linux-x86_64 locally: `docker/release/build.sh x86_64-unknown-linux-musl`
- [ ] Run the binary and verify inspector is embedded (should show "inspector ui available")
- [ ] Access the inspector UI at http://localhost:2468/ui/

🤖 Generated with [Claude Code](https://claude.ai/code)
2026-01-30 00:07:23 -08:00
Nathan Flurry
394945f319
fix: download binaries from R2 before npm publish (#40)
The npm CLI platform packages were being published without binaries
because publishNpmCli() wasn't downloading them from R2 first.

- Add downloadFromReleases() helper to utils.ts
- Update publishNpmCli() to download platform binaries before publish
- Add sdks/cli/platforms/*/bin/ to .gitignore
2026-01-30 00:05:24 -08:00
Nathan Flurry
cea02983b9
docs: simplify quickstart examples with --no-token default (#39) 2026-01-30 00:03:23 -08:00
Nathan Flurry
a25991b00e
feat: show help with docs link when no command provided (#38) 2026-01-30 00:01:24 -08:00
Nicholas Kissel
cd422c5d78 chore: update readme 2026-01-30 00:01:18 -08:00
Nathan Flurry
0ae99e97d5
docs: link to CORS docs in inspector connect screen (#37) 2026-01-29 23:59:23 -08:00
Nathan Flurry
fdad5fb30a
feat: add default root route with server info (#36) 2026-01-29 23:57:11 -08:00
Nicholas Kissel
2f9e677a19
chore: update diagram gif (#35) 2026-01-29 22:55:44 -08:00
Nicholas Kissel
f4820ce7a5 chore: update diagram gif 2026-01-29 22:52:09 -08:00
Nathan Flurry
ab210fa38a refactor: move example tests to tests/ directories 2026-01-29 10:05:24 -08:00
Nathan Flurry
136926b445 refactor: split daytona example into two variants
- daytona.ts (default): Installs sandbox-agent at runtime. Faster to
  start but installs on each run. Use for quick testing.
- daytona-with-snapshot.ts: Builds custom image with sandbox-agent
  pre-installed. Slow first run (~2-3 min) but fast subsequent runs.
  Use for repeated development.

Run with: pnpm start (default) or pnpm start:snapshot
2026-01-29 10:04:02 -08:00
Nathan Flurry
387ab0840d fix: update daytona example with correct install URL and timeout
- Fix install URL from latest to 0.1.3
- Add 180s timeout for sandbox creation
- Add autoStopInterval: 0 to prevent auto-stop
- Add log message explaining first run may be slow
2026-01-29 10:03:07 -08:00
Nathan Flurry
c0c3ef6c93 docs: merge universal schema and coverage matrix into session-transcript-schema 2026-01-29 09:08:35 -08:00
Nathan Flurry
8c90cb36df docs: clarify session event coverage page 2026-01-29 09:00:04 -08:00
Nathan Flurry
884ec6134c docs: mark OpenCode and Amp features as schema in progress 2026-01-29 08:58:39 -08:00
Nathan Flurry
7b1065f4f2 docs: remove README feature matrix reference from CLAUDE.md 2026-01-29 08:58:07 -08:00
Nathan Flurry
8707c5e4b5 docs: update feature matrix with accurate symbols 2026-01-29 08:52:36 -08:00
Nathan Flurry
812bfd8162 docs: fix table spacing for text legibility 2026-01-29 08:48:58 -08:00
Nathan Flurry
5ddb999476 docs: clarify universal schema support vs native agent capabilities 2026-01-29 08:43:58 -08:00
Nathan Flurry
325fa66223 docs: update README feature matrix for Claude HITL support 2026-01-29 08:34:41 -08:00
Nathan Flurry
7475760bee fix: add read_stderr stub to Windows AgentServerLogs 2026-01-29 07:51:11 -08:00
Nathan Flurry
0faa608822 fix: use sandbox-agent CLI for credential extraction in tests and add delay for permission approval 2026-01-29 07:39:07 -08:00
Nathan Flurry
bfd2a80bf1 fix: add StderrOutput to OpenAPI schema 2026-01-29 07:22:25 -08:00
Nathan Flurry
2ada366623
chore: improve sandbox test infrastructure (#32)
Enhance the sandbox testing script with better error handling
and reporting capabilities.
2026-01-29 07:19:23 -08:00
Nathan Flurry
bd8f6b9c97
refactor: consolidate example client code into shared package (#31)
Move common sandbox agent client code into examples/shared to reduce
duplication across example projects (daytona, docker, e2b).
2026-01-29 07:19:20 -08:00
Nathan Flurry
0ee60920c8
feat: add Claude adapter improvements for HITL support (#30)
* feat: add Claude adapter improvements for HITL support

- Add question and permission handling for Claude sessions
- Add Claude sender channel for interactive communication
- Add stream event and control request handling
- Update agent compatibility documentation

* fix: restore Claude HITL streaming input and permission handling

- Add streaming_input field to SpawnOptions for Claude stdin streaming
- Enable --input-format stream-json, --permission-prompt-tool stdio flags
- Pipe stdin for Claude (not just Codex) in spawn_streaming
- Update Claude capabilities: permissions, questions, tool_calls, tool_results, streaming_deltas
- Fix permission mode normalization to respect user's choice instead of forcing bypass
- Add acceptEdits permission mode support
- Add libc dependency for is_running_as_root check
2026-01-29 07:19:10 -08:00
Nathan Flurry
c7d6482fd4
feat: add structured stderr output for error diagnostics (#29)
Add StderrOutput schema with head/tail/truncated/total_lines fields to
provide better error diagnostics when agent processes fail.
2026-01-29 07:18:56 -08:00
Nathan Flurry
82ac0b3880
chore: update skill install command to use rivet-dev/skills (#20)
* chore: update skill install command to use rivet-dev/skills

* chore: improve skill structure per skill-creator guidelines

* chore: add bug report section and simplify description

* chore: add Discord link to bug report section
2026-01-29 06:04:07 -08:00
Nathan Flurry
43db33590d ci: use RIVET_GITHUB_PAT secret for skills repo sync 2026-01-29 05:26:17 -08:00
Nathan Flurry
27e93fcfa0 ci: add skill generator workflow and scripts 2026-01-29 05:25:14 -08:00
Nathan Flurry
58deb2c8ed
feat: add posthog analytics integration (#19) 2026-01-29 05:19:37 -08:00
Nicholas Kissel
828b0bddf4
chore(site): content changes (#18) 2026-01-28 22:34:06 -08:00
Nicholas Kissel
9ea2540363
chore(site): favicon change (#17) 2026-01-28 20:11:39 -08:00