feat(tui): token metrics aggregation, plan overlay, tool reasoning, clar dismissal

#295 — include narration_llm tokens in changes-panel aggregate count
#296 — execution plan overlay (Ctrl+P in-session)
#298 — surface reasoning/CoT on tool-call turns in output view
#265 — dismiss clarification modal when answered externally (session.resumed)
This commit is contained in:
kami
2026-07-21 11:52:00 +04:00
parent d69cb12ce9
commit d6155691c8
6 changed files with 115 additions and 6 deletions
+10 -4
View File
@@ -66,14 +66,16 @@ const (
OverlayHelp
OverlayProjectProfile
OverlayOperatorProfile
OverlayPlan
)
// RouterEntry is one line in a session's conversation transcript.
type RouterEntry struct {
Role string // user | router | tool | narration | narration_llm | action
Content string
Icon string // action role only: the gutter glyph (✓ ✎ ✗ ⌘ ✕ ⊞ ⊟)
Metrics *TurnMetrics
Role string // user | router | tool | narration | narration_llm | action
Content string
Icon string // action role only: the gutter glyph (✓ ✎ ✗ ⌘ ✕ ⊞ ⊟)
Metrics *TurnMetrics
Reasoning string // model reasoning/CoT that preceded this entry (tool/artifact turns)
}
// TurnMetrics carries optional latency + token cost for a ROUTER chat turn.
@@ -440,6 +442,10 @@ type Model struct {
// (0 = tail-follow the newest output). PgUp/PgDn + ctrl+u/d move it; esc snaps back.
outputScroll int
// lastReasoning holds the model's reasoning/CoT trace from the most recent
// inference.completed, surfaced on the following tool-call and artifact rows.
lastReasoning string
// event-inspector filter (OverlayEventInspector): narrows the event list by a substring
// of type/detail. eventFilterTyping is true while the operator is editing the query after /.
eventFilter string