feat: redesign activity panel UX with grouped timeline and verb-based labels

Replace the flat, repetitive 'Agent used X' activity list with a
structured narrative timeline:

- Group consecutive same-tool calls into collapsible rows with context
  (e.g. 'Viewed 4 files' with file names listed below)
- Use verb-based labels with arguments: 'Viewed ChatPane.tsx:148-250',
  'Searched for tool-call', 'Edited runTimeline.ts'
- Promote report_intent events to phase dividers that segment the
  timeline into labeled stages of work
- Show latest intent text in the collapsed header summary
- Use category-specific icons (Eye, Search, Pencil, Terminal, etc.)
  instead of the universal wrench
- Render thinking steps as quoted blocks with 'N more' toggle for
  consecutive groups

All data was already available in RunTimelineEventRecord.toolArguments;
this change surfaces it prominently instead of hiding it behind
expandable detail panels.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Kaya
2026-04-08 09:51:34 +02:00
co-authored by Copilot
parent 6d698ca233
commit 3e71de98e8
8 changed files with 964 additions and 80 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ describe('run timeline formatting', () => {
kind: 'tool-call',
agentName: 'Writer',
toolName: 'file_search',
}))).toBe('Writer used file_search');
}))).toBe('Used file_search');
expect(formatEventLabel(createEvent({
kind: 'approval',
status: 'running',