Expand description
The ACP client transport (ADR-0007 §2).
A thin shell around crate::protocol::Translator, which holds all the protocol
logic and none of the I/O. This file owns only the parts that cannot be tested without
a process: spawning the agent, three threads, and the channel back into the app.
Follows ADR-0005’s worker template rather than deviating from it — blocking calls on a
dedicated thread, results delivered as AppMessage. One subprocess with two pipes is
not a concurrency problem that needs a reactor, which is why tokio is still not in
the tree.
stdout reader ──┐
├─► worker (owns Translator + stdin) ──► sink ──► AppMessage::Agent
AgentRequest ───┘
stderr drain ─────► log (drained, never blocked — see `spawn`)Structs§
- AcpAgent
- A running ACP agent subprocess.