Extracted from #39. Forward ACP tool_call / tool_call_update as TOOL_CALL_START and sparse TOOL_CALL_UPDATE messages (merged by toolCallId), with an extension-side helper that flattens tool content into short preview lines. Render via ToolCallCard: status pill (Pending/Running/Completed/Failed), inline input preview, expandable Input / Result preview / Output sections.
Cleanup while porting: the ToolCallStatus union is written out three times in #39; dedupe into one shared type.
Size: M | Depends on: #61 (content model); independent of #65 | Tier: 2
Extracted from #39. Forward ACP
tool_call/tool_call_updateas TOOL_CALL_START and sparse TOOL_CALL_UPDATE messages (merged by toolCallId), with an extension-side helper that flattens tool content into short preview lines. Render via ToolCallCard: status pill (Pending/Running/Completed/Failed), inline input preview, expandable Input / Result preview / Output sections.Cleanup while porting: the ToolCallStatus union is written out three times in #39; dedupe into one shared type.
Size: M | Depends on: #61 (content model); independent of #65 | Tier: 2