- Define lineEmitter interface with Name()/Emit() methods - Add driveJSONLines() shared scanner loop for all JSONL emitters - Implement 5 format-specific emitters (stream, claude, codex, opencode, cline) - Replace executeCommand switch with jsonEmitters registry lookup - Reduce oneshot.go from 481 to 160 lines (-67%) - Add 20+ unit tests for emitters and driveJSONLines |
||
|---|---|---|
| .. | ||
| cli | ||
| mock | ||
| ollama | ||
| vllm | ||
| factory.go | ||
| factory_internal_test.go | ||
| factory_test.go | ||
| registry.go | ||
| registry_test.go | ||