Commit graph

215 commits

Author SHA1 Message Date
Nathan Flurry
dc2a2b1687
chore: update readme (#98) 2026-02-06 03:03:24 -08:00
Nathan Flurry
c0800e1a43
fix: consistent turn.completed signal and OpenCode session.idle timing (#97) 2026-02-06 03:01:24 -08:00
Nathan Flurry
b74539172b
feat: model list (#96) 2026-02-06 02:59:23 -08:00
Nathan Flurry
6a3345b954
fix: opencode compat tool call rendering and default to no-token (#95)
- Fix tool name lost on ToolResult events (persist via tool_name_by_call)
- Fix tool input lost on ToolResult events (persist via tool_args_by_call)
- Fix tool output in wrong field (error -> output)
- Fix text doubling in streaming (defer emit to ItemCompleted)
- Fix missing delta field in text streaming events
- Default server mode to no-token when --token not specified
- Add install-fast-sa and install-fast-gigacode justfile targets
2026-02-06 02:57:23 -08:00
Nathan Flurry
a02393436c
feat: gigacode (#92) 2026-02-06 02:55:57 -08:00
Nathan Flurry
0a73d1d8e8
feat: add anycode daemonized opencode CLI and docs (#90) 2026-02-06 02:49:13 -08:00
Nathan Flurry
5dbfde5424
feat: log session config on create (#93)
## Summary
- Adds a `session_created` telemetry event that fires when a new session is created
- Logs safe session config fields: agent, agent_mode, permission_mode, model, variant
- Does not include workdir or any sensitive paths
- Respects existing telemetry enabled/disabled flag (`--no-telemetry`)
- Sends asynchronously via spawned task to avoid blocking session creation

## Test plan
- [x] `cargo check` passes
- [ ] Verify event reaches telemetry endpoint with correct fields
- [ ] Verify no event is sent when `--no-telemetry` is set
2026-02-06 02:40:07 -08:00
Nathan Flurry
f09ed7cb9a
fix: default logging to stdout with configurable target (#91) 2026-02-05 23:07:40 -08:00
Nathan Flurry
375d73e4cb docs: improve OpenCode compatibility docs and fix website feature grid layout 2026-02-05 13:41:35 -08:00
Nathan Flurry
e87290ea73 docs: add rectangle-terminal icon to opencode page 2026-02-05 12:25:11 -08:00
Nathan Flurry
b4c44d6aea docs: move opencode-compatibility to getting started section 2026-02-05 12:24:23 -08:00
Nathan Flurry
02aa5db945 docs: keep opencode-compatibility filename with new title 2026-02-05 12:14:44 -08:00
Nathan Flurry
202d718da7 docs: add OpenCode SDK & UI Support documentation (experimental) 2026-02-05 12:14:01 -08:00
Nathan Flurry
5d856abe88 chore: keep fail-fast disabled in release workflow 2026-02-05 11:47:04 -08:00
Nathan Flurry
ec86b1654d chore: re-enable fail-fast in release workflow 2026-02-05 11:46:16 -08:00
Nathan Flurry
40be8ad797 fix: add Win32_Security feature and fix HANDLE usage for Windows build 2026-02-05 11:31:54 -08:00
Nathan Flurry
0cd97b9ad1 fix: disable fail-fast in release workflow for better error diagnosis 2026-02-05 11:27:33 -08:00
Nathan Flurry
8c7cfd12b3 fix: use native Alpine musl for arm64 binary builds 2026-02-05 11:19:27 -08:00
Nathan Flurry
bec0eaa1b1 fix: remove g++-multilib from arm64 dockerfile (not available on arm64) 2026-02-05 11:12:07 -08:00
Nathan Flurry
6c60196ade chore(release): update version to 0.1.6 2026-02-05 00:39:56 -08:00
Nathan Flurry
5ae61df99b fix: pin react types to v18 to fix lucide-react compatibility 2026-02-05 00:39:26 -08:00
Nathan Flurry
44be09371e chore: update lockfile 2026-02-05 00:38:19 -08:00
Nathan Flurry
886f93aaca chore: cargo fmt 2026-02-05 00:37:36 -08:00
Nathan Flurry
14f2743b9a fix: use absolute paths for file operations in release script 2026-02-05 00:08:20 -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