Commit graph

46 commits

Author SHA1 Message Date
Nathan Flurry
94353f7696 chore: fix bad merge 2026-02-11 07:57:02 -08:00
Nathan Flurry
b9efe971ff chore: fix bad merge 2026-02-11 07:33:19 -08:00
NathanFlurry
e72eb9f611
acp spec (#155) 2026-02-11 14:47:41 +00: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
b74539172b
feat: model list (#96) 2026-02-06 02:59:23 -08:00
Franklin
843498e9db support pi 2026-02-05 17:06:53 -05: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
Nathan Flurry
0ae99e97d5
docs: link to CORS docs in inspector connect screen (#37) 2026-01-29 23:59:23 -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
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
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
Nathan Flurry
9a249de840 fix: add missing sharedProcess property to emptyCapabilities 2026-01-27 19:54:42 -08:00
Nathan Flurry
19f561de52 refactor: move agent version from setup row to session header 2026-01-27 19:53:37 -08:00
Nathan Flurry
308d7f279c test: update snapshots and test gating 2026-01-27 19:49:03 -08:00
Nathan Flurry
f05389307a fix: use tsup instead of tsc for SDK build in inspector Dockerfile 2026-01-27 19:29:15 -08:00
Nathan Flurry
f67b6fc4b1 wip inspector 2026-01-27 19:26:13 -08:00
Nathan Flurry
34d4f3693e feat: add turn streaming and inspector updates 2026-01-27 06:18:43 -08:00
Nathan Flurry
bf58891edf chore: sync workspace changes 2026-01-27 05:06:33 -08:00
Nathan Flurry
d24f983e2c feat: add mock server mode for UI testing 2026-01-27 03:42:41 -08:00
Nathan Flurry
f5d1a6383d feat: sync universal schema and sdk updates 2026-01-27 02:52:25 -08:00
Nathan Flurry
4083baa1c1 chore: sync workspace changes 2026-01-26 22:29:10 -08:00
Nathan Flurry
011ca27287 feat: expand api snapshots and schema tooling 2026-01-26 00:13:17 -08:00
Nathan Flurry
016024c04b feat: add release pipeline for crates.io and npm publishing
- Add --check, --publish-crates, --publish-npm-sdk, --publish-npm-cli flags to release script
- Create CI workflow with pre-release checks (cargo fmt, clippy, test, tsc)
- Update release workflow to run checks, build binaries, and publish packages
- Add @sandbox-agent/cli npm package with platform-specific binaries (esbuild pattern)
- Configure TypeScript SDK for npm publishing (exports, files, types)
- Add crates.io metadata to Cargo.toml (repository, description)
- Rename @sandbox-agent/web to @sandbox-agent/inspector
2026-01-25 14:11:39 -08:00