feat(tui-go): idea board viewer

OverlayIdeas (opened with I, global/cross-session) lists the idea board in the
artifact-viewer shell: ↑↓ to move, x/d to remove (sends DiscardIdea, optimistic
drop), esc to close. Pull-based via ListIdeas -> idea.list.
This commit is contained in:
2026-06-14 14:36:13 +04:00
parent 04e931c860
commit 02e963d6cc
8 changed files with 250 additions and 1 deletions
+8 -1
View File
@@ -316,6 +316,12 @@ func (m *Model) applyServer(msg protocol.ServerMessage) {
m.stats = msg.Stats
m.statsFor = msg.SessionID
m.statsLoading = false
case protocol.TypeIdeaList:
m.ideas = msg.Ideas
m.ideasLoading = false
if m.ideasIndex >= len(m.ideas) {
m.ideasIndex = 0
}
case protocol.TypeConfigSnapshot:
m.configFields = msg.ConfigFields
m.configRestart = msg.ConfigRestartRequired
@@ -360,7 +366,8 @@ func sessionIDOf(msg protocol.ServerMessage) string {
protocol.TypeProtocolError, protocol.TypeProviderStatus,
protocol.TypeWorkflowList, protocol.TypeRouterResponse,
protocol.TypeModelChanged, protocol.TypeModelList, protocol.TypeResourceStatus,
protocol.TypeArtifactList, protocol.TypeConfigSnapshot, protocol.TypeSessionStats:
protocol.TypeArtifactList, protocol.TypeConfigSnapshot, protocol.TypeSessionStats,
protocol.TypeIdeaList:
return ""
default:
return msg.SessionID