Commit graph

296 commits

Author SHA1 Message Date
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
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
375d73e4cb docs: improve OpenCode compatibility docs and fix website feature grid layout 2026-02-05 13:41:35 -08:00
Nathan Flurry
e87290ea73 docs: add rectangle-terminal icon to opencode page 2026-02-05 12:25:11 -08:00
Nathan Flurry
b4c44d6aea docs: move opencode-compatibility to getting started section 2026-02-05 12:24:23 -08:00
Nathan Flurry
02aa5db945 docs: keep opencode-compatibility filename with new title 2026-02-05 12:14:44 -08:00
Nathan Flurry
202d718da7 docs: add OpenCode SDK & UI Support documentation (experimental) 2026-02-05 12:14:01 -08:00
Nathan Flurry
5d856abe88 chore: keep fail-fast disabled in release workflow 2026-02-05 11:47:04 -08:00
Nathan Flurry
ec86b1654d chore: re-enable fail-fast in release workflow 2026-02-05 11:46:16 -08: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
0cd97b9ad1 fix: disable fail-fast in release workflow for better error diagnosis 2026-02-05 11:27:33 -08:00
Nathan Flurry
8c7cfd12b3 fix: use native Alpine musl for arm64 binary builds 2026-02-05 11:19:27 -08:00
Nathan Flurry
bec0eaa1b1 fix: remove g++-multilib from arm64 dockerfile (not available on arm64) 2026-02-05 11:12:07 -08:00
Nathan Flurry
6c60196ade chore(release): update version to 0.1.6 2026-02-05 00:39:56 -08:00