-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Part of epic: #1007
Problem
When the orchestrator spawns a subagent, all events from that subagent are emitted flat alongside top-level agent events. IDEs cannot distinguish or nest subagent output.
Solution
Add parent_tool_use_id: Option<String> to LoopbackEvent variants and propagate it through to session_update._meta.claudeCode.parentToolUseId as per the Zed reference pattern.
Protocol shape (from Zed claude-agent-acp):
{
"type": "agent_message_chunk",
"_meta": {
"claudeCode": {
"parentToolUseId": "<uuid-or-null>"
}
}
}Tasks
- Add
parent_tool_use_id: Option<String>to all content-bearingLoopbackEventvariants incrates/zeph-acp/src/agent.rs - Add
parent_tool_use_idfield toAgentContext(or newSubagentContextwrapper) incrates/zeph-core/src/agent/ - Inject parent id in orchestrator when spawning subagent loop
- In
prompt()handler: read parent id from event, serialize into_meta.claudeCode.parentToolUseId - Unit tests: verify field is
nullfor top-level events and<uuid>for subagent events
Files
crates/zeph-acp/src/agent.rs— LoopbackEvent enum + prompt() handlercrates/zeph-core/src/agent/— AgentContext + orchestrator dispatch
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request