Commit 255d60b
Replace TypeScript sidecar with direct Claude CLI adapter
Major simplification: remove the entire TypeScript sidecar and per-adapter
packages. The Claude Code adapter now invokes `claude -p --output-format json`
directly, parsing the structured JSON result.
Deleted:
- sidecar/claude/ (package.json, tsconfig.json, src/index.ts)
- internal/adapter/claude/ (Go wrapper for sidecar)
- internal/adapter/codex/ (per-adapter package)
- internal/adapter/opencode/ (per-adapter package)
Created:
- internal/adapter/claude_cli.go — exec-and-parse adapter using `claude` CLI
- Runs: claude -p --output-format json --permission-mode bypassPermissions
- Parses: stop_reason, usage, cost, session_id from JSON output
- CWD set to workspace directory
- Inherits full parent environment (ANTHROPIC_API_KEY, GITHUB_TOKEN, etc.)
- Uses locally-authenticated claude CLI credentials (~/.claude)
Simplified:
- ClaudeConfig: removed AdapterMode, SDKLanguage, SidecarCommand fields
- Factory: claude_code creates ClaudeCLI, opencode/codex use generic subprocess
- Doctor: checks for `claude` binary instead of tsx/node
- Dockerfile: debian:bookworm-slim runtime (no Node.js dependency)
This eliminates the Node.js/tsx runtime dependency entirely.
127 tests passing, all CI jobs expected green.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 6b7ff49 commit 255d60b
19 files changed
Lines changed: 286 additions & 1113 deletions
File tree
- cmd/symphony
- internal
- adapter
- claude
- codex
- opencode
- config
- sidecar/claude
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
11 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | | - | |
15 | | - | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | | - | |
19 | | - | |
| 18 | + | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | 176 | | |
195 | 177 | | |
196 | 178 | | |
| |||
201 | 183 | | |
202 | 184 | | |
203 | 185 | | |
204 | | - | |
205 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
206 | 194 | | |
207 | 195 | | |
208 | 196 | | |
| |||
395 | 383 | | |
396 | 384 | | |
397 | 385 | | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
416 | 390 | | |
417 | 391 | | |
418 | | - | |
| 392 | + | |
419 | 393 | | |
420 | 394 | | |
421 | 395 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
This file was deleted.
0 commit comments