Commit graph

113 commits

Author SHA1 Message Date
Franklin
8b068eb1ae Merge remote-tracking branch 'origin/main' into feat/support-pi 2026-02-06 23:22:50 -05:00
Franklin
e37bde0103 adding pi for gigacode 2026-02-06 23:20:50 -05:00
financialvice
a5a6492165
fix: support Claude OAuth token for model listing (#109) 2026-02-06 20:17:01 -08:00
Franklin
bd030904bc pi tests 2026-02-06 19:16:53 -05:00
Franklin
e2e7f11b9a pi working 2026-02-06 18:18:43 -05:00
Franklin
9a26604001 wip: pi working with variatns 2026-02-06 17:17:00 -05:00
Franklin
bef2e84d0c wip: pi working 2026-02-06 16:54:53 -05:00
Franklin
a6064e7027 wip: pi working 2026-02-06 16:54:43 -05:00
Nathan Flurry
96ae6bed96 fix: update Windows API calls for windows crate v0.52 2026-02-06 03:50:50 -08:00
Nathan Flurry
60e1ce7e2d fix: add Win32_System_Threading feature for Windows build 2026-02-06 03:44:08 -08:00
Nathan Flurry
2a00a03eca chore: cargo fmt 2026-02-06 03:27:32 -08:00
Nathan Flurry
b824a2c839
feat: customize opencode branding (#103) 2026-02-06 03:05:23 -08:00
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
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
Franklin
e8ac963be4 fix: handle Pi in opencode agent display names 2026-02-05 17:10:53 -05:00
Franklin
a744a8086a Merge remote-tracking branch 'origin/main' into feat/support-pi
# Conflicts:
#	server/packages/sandbox-agent/src/lib.rs
#	server/packages/sandbox-agent/src/router.rs
2026-02-05 17:09:51 -05:00
Franklin
843498e9db support pi 2026-02-05 17:06:53 -05: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
886f93aaca chore: cargo fmt 2026-02-05 00:37:36 -08:00
Nathan Flurry
ef3e811c94
feat: add opencode compatibility layer (#68) 2026-02-04 13:43:05 -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
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
Nathan Flurry
a25991b00e
feat: show help with docs link when no command provided (#38) 2026-01-30 00:01:24 -08:00
Nathan Flurry
fdad5fb30a
feat: add default root route with server info (#36) 2026-01-29 23:57:11 -08:00
Greg Ceccarelli
c4b033a5c0 fix(agent-management): pass env vars to agent in spawn_streaming
The spawn_streaming() function was not passing environment variables
from SpawnOptions.env to the spawned process. This caused agents like
Claude to not receive ANTHROPIC_API_KEY, resulting in silent
authentication failures.

The non-streaming spawn() method correctly passes env vars (lines 298-300),
but spawn_streaming() was missing this code path.

This fix adds the same env var loop to spawn_streaming(), ensuring that
credentials extracted from the host environment are properly passed to
spawned agents.
2026-01-29 17:05:24 -05:00
Nathan Flurry
7475760bee fix: add read_stderr stub to Windows AgentServerLogs 2026-01-29 07:51:11 -08:00
Nathan Flurry
bfd2a80bf1 fix: add StderrOutput to OpenAPI schema 2026-01-29 07:22:25 -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
8acb2bb078 feat: enable inspector CORS by default
- Enable CORS for https://inspect.sandboxagent.dev by default
- Add --no-inspector-cors flag to opt out
- Additional --cors-allow-origin flags are now cumulative with inspector
- Inspector now tries current origin first before localhost:2468 fallback
2026-01-28 05:12:16 -08:00
Nathan Flurry
cbd36eeca8 fix: detect musl/glibc at runtime for correct Claude binary download
Previously used cfg!(target_env = "musl") which checks compile-time,
causing musl-compiled sandbox-agent to always download musl binaries
even on glibc systems like Debian/E2B.

Now checks for /lib/ld-musl-*.so.1 at runtime to detect the actual
system libc and download the correct Claude binary variant.
2026-01-28 04:19:35 -08:00
Nathan Flurry
8a91b8e9aa feat: move api cli commands under api subcommand 2026-01-28 01:11:57 -08:00
Nathan Flurry
6d6f6d0272 refactor: split examples into separate packages and update Claude plan mode
- Restructure examples into individual packages per provider (daytona, docker, e2b, vercel) with shared utilities in @sandbox-agent/example-shared
- Make Claude plan mode prompt-only (no longer requires permissionMode=plan)
- Claude now defaults to bypass permission mode
- Add agent_file_edit_flow test for file editing capabilities
- Fix Daytona file permission setting to use executeCommand
2026-01-27 22:50:31 -08:00
Nathan Flurry
50b5289e47 feat: show mock agent hint bubble in empty state 2026-01-27 21:32:56 -08:00
Nathan Flurry
53a06becb1 fix: separate claude turns by item 2026-01-27 21:01:51 -08:00
Nathan Flurry
d30ddc24f2 fix: remove copy icon, reduce padding, reposition badges in dropdown 2026-01-27 20:42:45 -08:00
Nathan Flurry
6f6a5ba04d fix: make agent badges subtle, position next to name, widen dropdown 2026-01-27 20:40:02 -08:00
Nathan Flurry
f452b46b94 fix: add description and repository fields to all crate Cargo.toml files 2026-01-27 20:32:09 -08:00
Nathan Flurry
f2c060903f feat: add copy button to events tab to copy all events as JSON 2026-01-27 20:31:38 -08:00
Nathan Flurry
665ace5e16 fix: make Docker image validation optional in release validation 2026-01-27 20:16:25 -08:00
Nathan Flurry
308d7f279c test: update snapshots and test gating 2026-01-27 19:49:03 -08:00
Nathan Flurry
b49776145b fix: add docker-setup action, runtime Dockerfile, and align release workflow
- Add .github/actions/docker-setup composite action (from rivet)
- Add docker/runtime/Dockerfile for Docker image builds
- Update release.yaml to match rivet patterns:
  - Use corepack enable instead of pnpm/action-setup
  - Add reuse_engine_version input
  - Add Docker job with Depot runners
  - Use --no-frozen-lockfile for pnpm install
  - Add id-token permission for setup job
2026-01-27 19:29:54 -08:00
Nathan Flurry
f67b6fc4b1 wip inspector 2026-01-27 19:26:13 -08:00
Nathan Flurry
7a5bb2b8b0 fix: add agent_server_logs module import to lib.rs 2026-01-27 17:24:42 -08:00
Nathan Flurry
be7aecb362 fix: add missing agent_server_logs module 2026-01-27 17:21:27 -08:00