Commit graph

182 commits

Author SHA1 Message Date
Nathan Flurry
7f07428621 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
2026-02-02 18:38:06 -08:00
Nathan Flurry
048dcc5693 fix: fix bun install bug 2026-02-02 18:25:51 -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
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
Nicholas Kissel
975bbd949c chore(site): favicon change 2026-01-28 19:17:05 -08:00
Nicholas Kissel
155a65cb20
chore(inspect): changed logo and removed text (#16) 2026-01-28 19:03:43 -08:00
Nicholas Kissel
f3964a4ca0 chore(inspect): changed logo and removed text 2026-01-28 19:02:42 -08:00
Nicholas Kissel
c9231654c8
chore(site): links and styling (#15) 2026-01-28 17:18:16 -08:00
Nicholas Kissel
f4184a3bbc chore(site): links and styling 2026-01-28 17:15:27 -08:00
Nicholas Kissel
0faca0290e
chore: update readme (#14) 2026-01-28 17:02:09 -08:00
Nicholas Kissel
9e68fd6c02 chore: update readme 2026-01-28 17:01:50 -08:00
Nicholas Kissel
fe2f3ae658
chore(site): updated graph and wording (#13) 2026-01-28 16:55:56 -08:00
Nicholas Kissel
65513f9086 chore(site): updated graph and wording 2026-01-28 16:54:05 -08:00
Nathan Flurry
f79019e786 docs: add post-release testing agent and fix install URL 2026-01-28 05:46:08 -08:00