Commit Graph

4 Commits

Author SHA1 Message Date
YeonGyu-Kim 7ea88db407 refactor(cli-run): remove redundant opencode bin path shim 2026-02-18 16:00:33 +09:00
YeonGyu-Kim b6094432b6 fix(cli-run): retry server start on port binding race condition
When port appears available but binding fails (race with another opencode
instance), retry on next available port (auto mode) or attach to existing
server (explicit port mode) instead of crashing with exit code 1.
2026-02-18 15:01:09 +09:00
YeonGyu-Kim 0ff159e150 fix: prefer a runnable opencode binary for cli run 2026-02-17 02:12:36 +09:00
YeonGyu-Kim d3cb805613 feat(cli): extend run command with port, attach, session-id, on-complete, and json options
Implement all 5 CLI extension options for external orchestration:

- --port <port>: Start server on port, or attach if port occupied
- --attach <url>: Connect to existing opencode server
- --session-id <id>: Resume existing session instead of creating new
- --on-complete <command>: Execute shell command with env vars on completion
- --json: Output structured RunResult JSON to stdout

Refactor runner.ts into focused modules:
- agent-resolver.ts: Agent resolution logic
- server-connection.ts: Server connection management
- session-resolver.ts: Session create/resume with retry
- json-output.ts: Stdout redirect + JSON emission
- on-complete-hook.ts: Shell command execution with env vars

Fixes #1586
2026-02-07 17:26:33 +09:00