feat(tui-go): session list / resume view (E)

R opens a navigable overlay of recent sessions (GET /sessions: short id, status,
workflow/stage, relative age); enter resumes via POST /sessions/{id}/resume, which
replays onto the existing global /stream (no WS re-dial). Fetch/resume errors surface
in the overlay, never panic. stdlib-only (ws.Client.HTTPBase derives the base URL).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 16:22:27 +00:00
parent 46a71ee84c
commit 1f7a5d96a7
7 changed files with 483 additions and 11 deletions
+9
View File
@@ -53,6 +53,7 @@ const (
OverlayConfig
OverlayStats
OverlayIdeas
OverlaySessions
)
// RouterEntry is one line in a session's conversation transcript.
@@ -259,6 +260,14 @@ type Model struct {
ideasIndex int
ideasLoading bool
// session browser (OverlaySessions) — recent sessions fetched over HTTP from
// GET /sessions, so prior runs are reachable after a server restart + TUI reopen
// (the WS stream only carries live sessions, not the historical roster).
sessionList []SessionSummary
sessionListIndex int
sessionListLoading bool
sessionListErr string
// command palette
paletteFilter string
paletteIndex int