feat(activity): correlate capa sh traces to provider conversations - #173
feat(activity): correlate capa sh traces to provider conversations#173Minitour wants to merge 5 commits into
Conversation
Pair capa shell spans with provider afterShell hooks using parsed capa sh commands and time windows (output fingerprint as fallback), keep MCP inheritance for direct tool calls, hide uncorrelated capa rows from the UI, and add iOS-style sticky conversation headers with a fixed load-more footer. Co-authored-by: Cursor <cursoragent@cursor.com>
PR Summary by QodoCorrelate
AI Description
Diagram
High-Level Assessment
Files changed (21)
|
Satisfy ToolCallRecord after the new column so tsc --noEmit passes in CI. Co-authored-by: Cursor <cursoragent@cursor.com>
Code Review by Qodo
1.
|
Rely on capa sh command + time matching only; uncorrelated capa shell traces stay hidden from the feed. Co-authored-by: Cursor <cursoragent@cursor.com>
Skip hidden capa pages when listing activity history, and stop capa sh argv parsing on 2>/dev/null-style redirections. Co-authored-by: Cursor <cursoragent@cursor.com>
Use top-level await in the CLI entrypoint so Bun does not exit while Bun.stdin.text() is pending, emit gate JSON before ingest, and bound stdin reads so Cursor hooks cannot hang.
Summary
capa shMCP traces to providerafterShellhooks by parsing the shell command (kebab-case ↔ qualified tool names) and time window.capa shshell traces to avoid wrong chat grouping.Test plan
npm test— activity correlate, capa-sh command, feed visibility, tool-call-tracercapa shtools — capa spans appear under the same conversation as the promptMade with Cursor