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.
- 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
OpenCode's embedded bun hangs indefinitely when trying to install the
@gitlab/opencode-gitlab-auth plugin with --force, blocking all SSE
event streaming. Skip OpenCode in http_events_snapshots,
sse_events_snapshots, and concurrency_snapshots tests until the
upstream issue is resolved.
The basic API endpoint tests (install, modes, sessions) still work
for OpenCode.
- Add test_permission_mode() helper to use "default" for OpenCode
(it only supports default, not bypass or plan modes)
- Fix OAuth health check to accept 403 "Missing scopes" as valid auth
(OAuth tokens may lack api.model.read scope but still work for agents)
- Skip OpenCode in approval_flow_snapshots (doesn't support plan mode)
- Make sessions_list_global snapshot agent-agnostic (just check count)
- Add new snapshots for Codex and OpenCode agents