The labels Record was annotated Record<CompactToolKind, ...> but only
spreads generic + developerToolLabels(), which excludes the buzz kind.
buzz is handled by an early return in compactToolLabel, so it never
indexes this map. Narrow the annotation to Exclude<CompactToolKind,
"buzz"> so tsc accepts it, and drop the redundant labelsMap re-cast.
No runtime behavior change.
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Remove the compact layout prop from AgentSessionTranscriptList,
ManagedAgentSessionPanel, and AgentSessionThreadPanel; always render the
tighter transcript density
- Revert consecutive tool-call grouping (tool_group segments, ToolCallGroup,
segment spacing helpers) and render each tool as a normal transcript row
- Add symmetric per-type row spacing: my-2.5 for messages, my-1 for tools,
my-2 for other items
- Simplify ToolItem wrapper padding now that grouped/compact props are gone
- Update desktop/src/features/agents/ui/agentSessionTranscriptGrouping.ts to group consecutive tool calls into transcript tool groups and suppress setup/context-only turn noise when no user prompt bubble exists
- Update desktop/src/features/agents/ui/AgentSessionTranscriptList.tsx and AgentSessionToolItem.tsx to render grouped tool rows with tighter activity-feed spacing
- Expand desktop/src/features/agents/ui/agentSessionToolSummary.ts so Buzz and generic tools use the compact summary presentation with useful previews
- Adjust desktop/src/shared/ui/toggle.tsx to support the ghost prompt-context toggle styling used by the transcript footer
- Add focused unit coverage for grouped tools, Buzz tool summaries, promptless turns, and setup/context-only turns
- Remove row-level Live badges and active highlight styling from assistant transcript messages, thought rows, and tool rows
- Stop passing transcript active item state through AgentSessionTranscriptList once row-level activity styling is no longer rendered
- Preserve the panel header Live indicator as the single source of current agent activity state
- Update desktop/src/features/agents/ui/agentSessionTranscriptGrouping.ts so turn setup lifecycle events are consumed before display even when a parsed user prompt is missing
- Preserve prompt context and real turn activity while dropping empty setup-only turn groups from the activity transcript
- Update desktop/src/features/agents/ui/agentSessionTranscriptGrouping.test.mjs to cover promptless turns and setup-only turns so Turn started / Session ready rows do not regress
- Align prompt and standalone user transcript rows to the right edge of the activity panel.
- Anchor non-agent avatars on the right using flex ordering while keeping assistant messages left-aligned.
- Update related Tailwind shorthand classes surfaced during the targeted component check.
- Add thumbnailSrc to compact developer tool summaries for http(s) and data:image sources
- Render a tiny inline thumbnail in Viewed image rows instead of a truncated URL
- Show a larger preview when the tool accordion expands and open a lightbox on click
- Route relay media URLs through rewriteRelayUrl and fall back to basename text for local paths
- Add unit tests for thumbnail extraction and local path fallback
- Add agentSessionToolSummary helper to classify buzz-dev-mcp tools and build status-aware labels with parameter previews
- Extend AgentSessionToolItem to use the muted compact row for shell, read_file, view_image, str_replace, todo, and hook tools while preserving Buzz relay tool UI
- Add unit tests for developer tool detection, previews, and running/failed labels
- Remove the sticky Now summary card from AgentSessionTranscriptList so transcript rows no longer scroll under a pinned status element
- Drop summary-only helpers, Shimmer usage, and icon imports that only supported the removed card
- Remove the showInterventionHint prop plumbing from ManagedAgentSessionPanel and AgentSessionThreadPanel after the summary hint was deleted
- Update the channel activity E2E expectation to assert the removed summary no longer renders
- Update AgentSessionToolItem to render shell command tools as a muted inline summary with a semibold status label
- Parse the shell command from tool parameters and show a truncated preview before the duration and caret
- Reuse tool duration formatting with result payload fallbacks for command tools that report duration_ms or elapsed_ms
- Apply canonical Tailwind class names flagged by diagnostics in the touched file
- Add an xs size variant to the shared Toggle component for compact pill-style controls.
- Update the outline toggle variant so pressed state uses the muted visual treatment instead of the primary fill.
- Simplify the agent transcript context toggle to use size="xs" and remove the visible context section count.
- Update channel activity candidate resolution to treat ChannelMember.isAgent the same as bot role membership.
- Keep agent typing classification and Activity panel scoping aligned so agent typing does not fall through to the generic human typing row.
- Add regression coverage for isAgent channel members being created as activity candidates and retained in channel scope.
- Replace arbitrary text-[7px]–text-[11px] sizes with Tailwind text-xs across the agent activity/session surface
- AgentSessionTranscriptList, AgentSessionThreadPanel, AgentSessionToolItem, RawEventRail, and BotActivityBar
- UserAvatar xs/sm size tokens now use text-xs so transcript and activity-bar avatars need no per-call font overrides
- Add managed agent avatar URLs to the Tauri summary and frontend ManagedAgent mapping so configured persona photos are available in channel activity views.
- Carry agent pubkey and avatar data through channel session candidates, ManagedAgentSessionPanel, and AgentSessionTranscriptList.
- Replace the assistant transcript bot glyph with UserAvatar, using synced profile photos first and managed-agent avatar URLs as fallback.
- Include known agent pubkeys in channel profile lookups and preserve managed-agent avatars when merging agent names into profile data.
- Update the E2E mock bridge managed-agent shape so seeded and created mock agents retain avatar URLs.
- Polish the assistant activity row with slightly wider spacing and text-xs/font-semibold labels for the agent name and metadata.
- Add turnId/sessionId to transcript items and a presentation-only grouping helper
- Render each turn as user prompt first, with setup status and context integrated inline
- Show turn setup as a CheckCheck tooltip; expose prompt context via a footer toggle
- Expand context sections inside the message bubble; drop the outer grouping border
- Add unit tests for turn metadata attachment and grouped display ordering
- Add a Raw switch to the agent activity panel header so users can swap between the formatted transcript and raw ACP JSON-RPC payloads.
- Update the activity title to reflect raw mode and render the raw feed as the full panel content instead of a nested dark card.
- Keep the existing transcript view unchanged by default and scope the raw-mode reset to agent/channel changes.
- Stamp each transcript item with its observer/ACP wire source during build
- Show amber dev-only badges in the activity transcript for local debugging
- Add unit tests covering agent_message_chunk vs agent_thought_chunk tagging
- Add transcript presentation model with Now summary, activity state, and live item highlighting
- Support compact channel activity panel mode with intervention hint wiring
- Refine tool, thought, metadata, and lifecycle row hierarchy for at-a-glance scanning
- Share activity headline derivation with composer bot activity chip
- Extend channel activity E2E coverage for Now summary and stop affordance
- Add a relay ownership endpoint backed by agent_owner_pubkey and is_agent_owner so desktop activity visibility uses the same source of truth as observer telemetry authorization.
- Add a Tauri ownership command, frontend API wrapper, and useCanViewAgentActivity hook with local managed-agent optimism only while relay ownership is loading.
- Replace profile popover, profile panel, and members sidebar activity gates so owned agents can open activity across different builds and worktrees without relying on local managed-agent lists.
- Refactor channel agent session candidate resolution so owned agents can keep an activity panel open when channel metadata is stale, while preserving local-only lifecycle controls.
- Add focused desktop unit coverage for the ownership predicate and stale-metadata session resolution path, plus E2E bridge support for ownership mocks.