Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

feat: polish desktop A2UI chat presentation

6 months ago

603d4cc
Authored
mweinbach4/18/2026, 1:12:02 AM
The live A2UI demo flow was functionally working but still felt raw in two places: interaction echoes leaked into the transcript as structured action text, and the embedded surface shell/components still read like generic debug cards. This changes the desktop renderer to present A2UI actions as compact UX events and tightens the surface/title/button/progress/table styling so the in-chat UI feels closer to a polished embedded app.

Constraint: Keep the model-facing A2UI action payload intact while improving only the desktop presentation layer
Rejected: Rewrite the A2UI action delivery protocol | unnecessary for a small UX pass and would risk behavior changes outside the renderer
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If A2UI interaction delivery changes later, keep a dedicated user-facing render path so structured action payloads do not leak back into the main chat transcript
Tested: bun test apps/desktop/test/chat-reasoning-ui.test.ts apps/desktop/test/a2ui-surface-card.test.tsx apps/desktop/test/a2ui-extended-catalog.test.tsx apps/desktop/test/a2ui-renderer-actions.test.tsx; bun run typecheck; bun test
Not-tested: Manual QA of every possible A2UI catalog combination beyond the live demo flow

Parent875e1f0

5 files changed
  • apps/desktop/src/ui/ChatView.tsx+81−1
  • apps/desktop/src/ui/chat/a2ui/A2uiRenderer.tsx+12−9
  • apps/desktop/src/ui/chat/a2ui/A2uiSurfaceCard.tsx+73−23
  • apps/desktop/test/a2ui-surface-card.test.tsx+16−0
  • apps/desktop/test/chat-reasoning-ui.test.ts+27−0