Commit graph

98 commits

Author SHA1 Message Date
Nathan Flurry
be32cf04a2 fix: address review issues and add processes documentation
- Fix unstable onExit callback in ProcessesTab (useCallback)
- Fix SSE follow stream race condition (subscribe before history read)
- Update inspector.mdx with new process management features
- Change observability icon to avoid conflict with processes
- Add docs/processes.mdx covering the full process management API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:44:20 -08:00
Nathan Flurry
6dbc871db9 feat: improve inspector UI for processes and fix PTY terminal
- Simplify ProcessRunTab layout: compact form with collapsible Advanced section for timeout/maxOutputBytes
- Rewrite ProcessesTab: collapsible create form, lightweight list items with status dots, clean detail panel with tabs
- Extract error details: use problem.detail instead of generic "Stream Error" title for better error messages
- Fix GhosttyTerminal binary frame parsing: handle server's binary ArrayBuffer control frames (ready/exit/error)
- Enable WebSocket proxying in Vite dev server with ws: true
- Set TERM=xterm-256color default for TTY processes so tools like tmux, vim, htop work out of the box
- Remove orange gradient background from terminal container for cleaner look
- Remove orange left border from selected process list items
- Update inspector CSS with new process/terminal styles

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-06 00:14:55 -08:00
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
WellDunDun
9c7a08a165 fix: OpenCode event streaming + bypass permission mode
Three independent fixes for the OpenCode agent adapter:

1. Wrong API endpoints: /event/subscribe → /event, /session/{id}/prompt → /session/{id}/message
2. Untagged enum mis-dispatch: replace serde_json::from_value with manual type-field dispatch
3. Wire permissionMode "bypass" for OpenCode: allow in normalize_permission_mode() and pass
   --dangerously-skip-permissions to CLI (both spawn and spawn_streaming)

Tested with OpenCode 1.1.48 + Kimi K2.5.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 22:13:17 -08:00
Nathan Flurry
87a4e81d31
Merge pull request #153 from soilSpoon/feature/ampcode
feature(ampcode): Enhances ampcode schema with new message types and fields
2026-02-10 22:12:08 -08:00
Nathan Flurry
4322cb1d8e
Merge pull request #148 from bobbythelobster/add-cursor-agent-support
Add cursor-agent support
2026-02-10 22:11:57 -08:00
Nathan Flurry
edf5c5d299
Merge pull request #59 from gregce/fix/spawn-streaming-env-vars
fix(agent-management): pass env vars to agent in spawn_streaming
2026-02-10 22:11:45 -08:00
이대희
9486343f4c feature(ampcode): Enhances ampcode schema with new message types and fields
Adds support for system, user, assistant, and result message types to the AMP schema, along with associated fields like subtype, session_id, tools, and duration metrics. Updates the schema validation and adds corresponding test cases. Also improves the command-line argument handling in the agent management package to accommodate the new message types and streamlined permission flags.

The changes enhance the schema's flexibility for different interaction patterns and provide better tracking of agent operations.
2026-02-10 22:20:51 +09:00
Nathan Flurry
ee61645498 chore(release): update version to 0.1.11 2026-02-09 02:20:00 -08:00
NathanFlurry
4c8d93e077
docs: add mcp and skill session config (#106) 2026-02-09 10:13:25 +00:00
Bobby The Lobster
2cb2c07c6f Add cursor-agent support (#118)
- Add Cursor to AgentId enum
- Implement install_cursor() function for binary installation
- Add Cursor spawn logic with JSON format support
- Update README to mention Cursor support in all relevant sections

Cursor-agent runs on localhost:32123 and uses OpenCode-compatible format.
Based on opencode-cursor-auth pattern for Cursor Pro integration.

Resolves #118
2026-02-09 00:01:10 +00: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
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
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
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
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
2a00a03eca chore: cargo fmt 2026-02-06 03:27:32 -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