You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
claudbg/.beans/claudbg-9c8r--tui-sub-agent...

45 lines
1.8 KiB
Markdown

---
# claudbg-9c8r
title: 'TUI: sub-agents panel in transcript view'
status: in-progress
type: feature
priority: normal
created_at: 2026-03-30T04:47:15Z
updated_at: 2026-03-30T16:59:55Z
parent: claudbg-i6l2
blocked_by:
- claudbg-rudq
---
Add a sub-agents panel to the right side of the transcript screen, showing all sub-agent runs for the current session.
## Layout
```
┌── Transcript ──────────────────────┬─── Sub-agents ──┐
│ [user]: … │ a8e741de agent │
│ [assistant]: … │ > c3f920aa agent │◄ selected
│ [tool: Bash] … │ │
│ [tool_result]: … │ │
└────────────────────────────────────┴──────────────────┘
```
The panel is ~25% of the frame width (or a fixed ~30 chars).
## Implementation
- Use `ratatui::layout::Layout` with `Constraint::Min` for the chat area and `Constraint::Length(30)` for the panel.
- Panel shows: short agent ID + agent type. If the session has no sub-agents, the panel can be hidden or show "No sub-agents".
- Panel is focusable via Tab (Tab cycles: chat log → sub-agents panel → chat log).
- When panel is focused, j/k moves selection. Enter navigates to that sub-agent's transcript (sets `screen` to `SubagentTranscript`).
- Highlight the focused pane's border (e.g. with a colored `Block` border).
## Data source
`AppState.subagents: Vec<AgentRef>` populated via `discover_agents_for_session` when entering transcript screen.
## Blocked by
- transcript screen (claudbg-rudq)
- agent discovery fix (claudbg-33n0)