Commit graph

78 commits

Author SHA1 Message Date
Nathan Flurry
b4c8564cb2 feat: acp http adapter 2026-02-11 06:43:52 -08:00
Nathan Flurry
2ba630c180 acp spec 2026-02-11 06:43:36 -08:00
Nathan Flurry
4c6c5983c0 Merge branch 'main' into feat/support-pi 2026-02-10 22:27:03 -08:00
Nathan Flurry
6fc97cc76d fix: fix UI Docker builds for pnpm v10 and missing cli-shared dep 2026-02-09 16:33:04 -08:00
NathanFlurry
4c8d93e077
docs: add mcp and skill session config (#106) 2026-02-09 10:13:25 +00:00
Nathan Flurry
91cac052b8 fix: add native turn lifecycle and stabilize opencode session flow 2026-02-07 20:24:21 -08:00
NathanFlurry
c54f83e1a6
fix: credential detection and provider auth status (#120)
## Summary

Fix credential detection bugs and add credential availability status to the API. Consolidate Claude fallback models and add `sonnet` alias.

Builds on #109 (OAuth token support).

Related issues:
- Fixes #117 (Claude, Codex not showing up in gigacode)
- Related to #113 (Default agent should be Claude Code)

## Changes

### Credential detection fixes
- **`agent-credentials/src/lib.rs`**: Fix `?` operator bug in `extract_claude_credentials` - now continues to next config path if one is missing instead of returning early

### API credential status
- **`sandbox-agent/src/router.rs`**: Add `credentialsAvailable` field to `AgentInfo` struct
- **`/v1/agents`** endpoint now reports whether each agent has valid credentials

### OpenCode provider improvements
- **`sandbox-agent/src/opencode_compat.rs`**: Build `connected` array based on actual credential availability, not just model presence
- Check provider-specific credentials for OpenCode groups (e.g., `opencode:anthropic` only connected if Anthropic creds available)
- Add logging when credential extraction fails in model cache building

### Fallback model consolidation
- Renamed `claude_oauth_fallback_models()` → `claude_fallback_models()` (used for all fallback cases, not just OAuth)
- Added `sonnet` to fallback models (confirmed working via headless CLI test)
- Added `codex_fallback_models()` for Codex when credentials missing
- Added comment explaining aliases work for both API and OAuth users

### Documentation
- **`docs/credentials.mdx`**: New reference doc covering credential sources, extraction behavior, and error handling
- Documents that extraction failures are silent (not errors)
- Documents that agents spawn without credential pre-validation

### Inspector UI
- **`AgentsTab.tsx`**: Added credential status pill showing "Authenticated" or "No Credentials"

## Error Handling Philosophy

- **Extraction failures are silent**: Missing/malformed config files don't error, just continue to next source
- **Agents spawn without credential validation**: No pre-flight auth check; agent's native error surfaces if credentials are missing
- **Fallback models for UI**: When credentials missing, show alias-based models so users can still configure sessions

## Validation

- Tested Claude Code model aliases via headless CLI:
  - `claude --model default --print "say hi"` ✓
  - `claude --model sonnet --print "say hi"` ✓
  - `claude --model haiku --print "say hi"` ✓
- Build passes
- TypeScript types regenerated with `credentialsAvailable` field
2026-02-07 07:56:06 +00:00
Franklin
a6064e7027 wip: pi working 2026-02-06 16:54:43 -05:00
Nathan Flurry
f0191579c0
chore: rename gigacode to @sandbox-agent/gigacode (#105) 2026-02-06 03:09:23 -08:00
Nathan Flurry
b74539172b
feat: model list (#96) 2026-02-06 02:59:23 -08:00
Nathan Flurry
a02393436c
feat: gigacode (#92) 2026-02-06 02:55:57 -08: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
375d73e4cb docs: improve OpenCode compatibility docs and fix website feature grid layout 2026-02-05 13:41:35 -08:00
Nathan Flurry
202d718da7 docs: add OpenCode SDK & UI Support documentation (experimental) 2026-02-05 12:14:01 -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
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
0e1edef7c9
chore(site): diagram mobile and favicon (#49) 2026-02-02 00:53:32 -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
Nathan Flurry
0ae99e97d5
docs: link to CORS docs in inspector connect screen (#37) 2026-01-29 23:59:23 -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
Nicholas Kissel
828b0bddf4
chore(site): content changes (#18) 2026-01-28 22:34:06 -08:00
Nicholas Kissel
975bbd949c chore(site): favicon change 2026-01-28 19:17:05 -08:00
Nicholas Kissel
f3964a4ca0 chore(inspect): changed logo and removed text 2026-01-28 19:02:42 -08:00
Nicholas Kissel
f4184a3bbc chore(site): links and styling 2026-01-28 17:15:27 -08:00
Nicholas Kissel
65513f9086 chore(site): updated graph and wording 2026-01-28 16:54:05 -08:00
Nathan Flurry
fc0a8fce15
feat(website): add inspector section with debugger screenshot (#11) 2026-01-28 05:14:30 -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
08d299a3ef
docs: documentation overhaul and universal schema reference (#10)
* remove website .astro

* fix default origin

* docs: comprehensive documentation overhaul

- Add quickstart with multi-platform examples (E2B, Daytona, Docker, local)
- Add environment variables setup with platform-specific tabs
- Add Python SDK page (coming soon)
- Add local deployment guide
- Update E2B/Daytona/Docker guides with TypeScript examples
- Configure OpenAPI auto-generation for API reference
- Add CORS configuration guide
- Update manage-sessions with Rivet Actors examples
- Fix SDK method names and URLs throughout
- Add icons to main documentation pages
- Remove outdated universal-api and http-api pages

* docs: add universal schema and agent compatibility docs

- Create universal-schema.mdx with full event/item schema reference
- Create agent-compatibility.mdx mirroring README feature matrix
- Rename glossary.md to universal-schema.mdx
- Update CLAUDE.md with sync requirements for new docs
- Add links in README to building-chat-ui, manage-sessions, universal-schema
- Fix CLI docs link (rivet.dev -> sandboxagent.dev)

* docs: add inspector page and daytona network limits warning
2026-01-28 05:07:15 -08:00
Nathan Flurry
0bbe92b344 wip examples and content 2026-01-28 02:56:22 -08:00
Nicholas Kissel
f53945ef87 chore(site): links and image updates 2026-01-28 02:16:37 -08:00
Nathan Flurry
745c64149e chore: website 2026-01-28 01:44:19 -08:00
Nathan Flurry
d1cbd20b83 feat(inspector): add local network access support for HTTPS to HTTP connections 2026-01-28 01:37:56 -08:00
Nathan Flurry
6aa591bd91 chore: sync workspace changes 2026-01-28 01:13:50 -08:00
Nathan Flurry
0ef3b998bb fix: default inspector endpoint to localhost:2468 2026-01-27 23:28:31 -08:00
Nathan Flurry
eee56bada5 fix: serve inspector assets under /ui/ path 2026-01-27 23:17:36 -08:00
Nathan Flurry
30c4ad6b39 chore: update landing and inspector content 2026-01-27 22:29:35 -08:00
Nathan Flurry
50b5289e47 feat: show mock agent hint bubble in empty state 2026-01-27 21:32:56 -08:00
Nathan Flurry
02c9201bda fix: add dropdown spacing, use friendly agent names in session list 2026-01-27 21:09:23 -08:00
Nathan Flurry
e00b6f5d5f feat: add thinking indicator for in-progress items 2026-01-27 21:04:30 -08:00
Nathan Flurry
962512a0db feat: add end session button to chat header 2026-01-27 21:03:33 -08:00
Nathan Flurry
307ee0c57b fix: align sidebar dropdown to extend right instead of left 2026-01-27 20:56:01 -08:00
Nathan Flurry
c595cb43dd fix: add fallback copy method for non-secure contexts 2026-01-27 20:51:39 -08:00
Nathan Flurry
5b2660cd6e fix: prevent dropdown clipping in empty state 2026-01-27 20:50:24 -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
c498aeba28 feat: show installed badge and version in agent dropdown menus 2026-01-27 20:34:10 -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
7950c93f06 fix: stop SSE/polling streams when switching sessions 2026-01-27 20:14:35 -08:00