* 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
* 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.
* 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
* 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
## 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)
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
- 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
- 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
* 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