-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
a2aA2A protocol integrationA2A protocol integrationcorefeatureNew functionalityNew functionalitypriority/highHigh priorityHigh prioritysize/M
Description
Parent
Part of #581
Summary
Add LoopbackChannel implementing Channel trait for headless (non-interactive) agent communication. This channel bridges the A2A TaskProcessor with the agent loop via tokio mpsc channels.
Scope
Files: crates/zeph-core/src/channel.rs, crates/zeph-core/src/lib.rs
LoopbackEventenum:Chunk(String),Flush,FullMessage(String),Status(String),ToolOutput{...}LoopbackHandle(caller side):input_tx: Sender<ChannelMessage>,output_rx: Receiver<LoopbackEvent>LoopbackChannel(agent side):input_rx: Receiver<ChannelMessage>,output_tx: Sender<LoopbackEvent>- Constructor:
LoopbackChannel::pair(buffer: usize) -> (LoopbackChannel, LoopbackHandle) impl Channel for LoopbackChannel:recv()→ blocks oninput_rxsend(text)→LoopbackEvent::FullMessagesend_chunk(chunk)→LoopbackEvent::Chunkflush_chunks()→LoopbackEvent::Flushsend_status(text)→LoopbackEvent::Statusconfirm()→ auto-approve (headless, no interactive prompts)
Acceptance Criteria
-
LoopbackChannel::pair()returns working channel + handle pair - All
Channeltrait methods implemented - Unit tests for send/recv round-trip and confirm auto-approve
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
a2aA2A protocol integrationA2A protocol integrationcorefeatureNew functionalityNew functionalitypriority/highHigh priorityHigh prioritysize/M