Repository navigation
Publish Release
·
159 commits
to main
since this release
ACP (Agent Client Protocol) Overhaul
This release focuses on making sub-agent orchestration fluid, responsive, and robust.
Highlights
Event-Driven Completion
- Replaced 500ms polling in
waitAll()/waitTasks()with EventEmitter-based resolution for instant completion detection. - SubagentManager now emits typed lifecycle events:
task:queued,task:started,task:completed,task:failedandtask:chunk.
Live Streaming from Sub-Agents
- Sub-agent output is now streamed to the TUI in real-time with labeled, dimmed text blocks.
- Status indicators show start/complete/fail with duration for each sub-agent
Real-Time Progress Tracking
- StatusBar displays live orchestration progress (ACP [2/5 done, 1 running, 2 queued]) instead of a generic "thinking..." spinner
- Progress updates on every lifecycles transition including
task:started
Incremental Result Streaming
- Results are emitted to the user as each sub-agent finishes - no more waiting for all to complete.
- Synthesis LLM call is now conditional: only triggered when there are failures, eliminating unnecessary latency.
Abort & Cancellation
AgentLoopgainsabort()withAbortControllersupport, checked before each iteration and tool execution.- New
cancelTask()/cancelAll()methods onSubagentManagerwith proper guard against double-finalization. - Subagent tool exposes
cancelandcancel_allactions - News config option:
acpCancelOnFailure.
Optimized Spawning
spawnMany()now usesPromise.allfor parallel spawning- Session pre-warming pool eliminates synchronous DB writes from the spawn critical path.
- All event listeners are registered before spawning to prevent missed early events.