Commit graph

312 commits

Author SHA1 Message Date
Anirudh
3e40145ffa
fix: use actual opencode url (#147)
* fix: use actual opencode url

* docs(opencode): install the packages first
2026-02-08 13:13:43 -08:00
Nathan Flurry
762506e578 chore(release): update version to 0.1.10 2026-02-08 12:52:53 -08:00
Nathan Flurry
48749ef3bf fix: stop precreating opencode session and harden session lookup 2026-02-08 12:49:58 -08:00
Nathan Flurry
fc7abd13f0 fix: simplify opencode turn lifecycle handling 2026-02-08 11:59:43 -08:00
Nathan Flurry
3ba4c54c0c chore: commit remaining workspace updates 2026-02-08 11:51:47 -08:00
Nathan Flurry
98964f80ff refactor: use codex model list as source of truth 2026-02-08 11:48:47 -08:00
Nathan Flurry
a97b15e19a fix: stabilize codex model handling and initialization 2026-02-08 11:47:16 -08:00
Nathan Flurry
91cac052b8 fix: add native turn lifecycle and stabilize opencode session flow 2026-02-07 20:24:21 -08:00
Nathan Flurry
2b0507c3f5 feat: add session metadata (timestamps, directory, title) and use v1 SessionManager for OpenCode compat 2026-02-07 14:47:14 -08:00
Nathan Flurry
35ae25177b chore(release): update version to 0.1.9 2026-02-07 12:58:30 -08:00
Nathan Flurry
783e2d6692 feat(opencode): add SSE event replay with Last-Event-ID support 2026-02-07 12:58:20 -08:00
Nathan Flurry
52f5d07185 fix(ui): return helpful message at /ui when inspector frontend is not embedded 2026-02-07 12:43:55 -08:00
Nathan Flurry
37247587c4 fix(daemon): find and stop orphaned daemons on macOS when PID file is missing 2026-02-07 12:03:15 -08:00
Nathan Flurry
80c9364c4c chore(release): update version to 0.1.8 2026-02-07 03:09:47 -08:00
Nathan Flurry
63625ee48f fix: wire gigacode --yolo through opencode session permissionMode 2026-02-07 03:08:07 -08:00
NathanFlurry
4bdd2416d1
fix(opencode-compat): preserve chronological part ordering across interleaved tool and text streams (#133) 2026-02-07 09:09:49 +00:00
NathanFlurry
479c8468e8
fix: delay idle event until turn finishes (#132) 2026-02-07 09:09:49 +00:00
NathanFlurry
54d537fb23
refactor: improve build ID generation with consistent timestamp format (#130)
refactor: improve build ID generation with consistent timestamp format

fix: lazy-start native opencode and simplify binary resolution
2026-02-07 07:56:07 +00:00
NathanFlurry
77f741ff62
feat: add native OpenCode proxy for TUI/config endpoints (#129) 2026-02-07 07:56:06 +00: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
NathanFlurry
915d484845
fix: end opencode turn on errors to avoid hangs (#126) 2026-02-07 06:52:28 +00:00
NathanFlurry
2f1e30f85a
fix: stop cargo build cache invalidation (#128) 2026-02-07 06:46:06 +00:00
NathanFlurry
bdf9b7cadd
fix: route Claude AskUserQuestion answers via permission control response (#127) 2026-02-07 06:43:45 +00:00
Nathan Flurry
c8fd3aa382
fix: improve skill-generator auth with gh CLI credential helper (#122) 2026-02-06 20:42:21 -08:00
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
a7b3881099 chore(release): update version to 0.1.7 2026-02-06 04:31:24 -08:00
Nathan Flurry
7e6f7ac3c0 fix: correct gigacode crate path for crates.io publishing 2026-02-06 04:02:35 -08: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
05fc8fc2c4 fix: remove circular dist symlink 2026-02-06 03:36:25 -08:00
Nathan Flurry
4320e5d1e7 chore(release): update version to 0.1.7-rc.1 2026-02-06 03:29:14 -08:00
Nathan Flurry
5f93611f53 fix: remove circular .turbo symlink 2026-02-06 03:28:33 -08:00
Nathan Flurry
2a00a03eca chore: cargo fmt 2026-02-06 03:27:32 -08:00
Nathan Flurry
f0191579c0
chore: rename gigacode to @sandbox-agent/gigacode (#105) 2026-02-06 03:09:23 -08:00
Nathan Flurry
beacbbfdba
chore: update gigacode published packages (#104) 2026-02-06 03:07:24 -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
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