feat(tui): Task 3.5 — decode + render router.narration as bright narration_llm lines

Add TypeRouterNarration constant, mark it event-bearing, decode golden test,
applyServer case appending RouterEntry{Role:"narration_llm"} with metrics, and
routerRows render branch showing bright ◆ prefix with FgStrong content + metrics suffix.
This commit is contained in:
2026-06-03 19:09:28 +04:00
parent da1aca411a
commit 2bef4b96a5
4 changed files with 33 additions and 1 deletions
+3 -1
View File
@@ -44,6 +44,7 @@ const (
TypeModelChanged = "model.changed"
TypeModelList = "model.list"
TypeResourceStatus = "resource.status"
TypeRouterNarration = "router.narration"
)
// ServerMessage is a flat decode of every server->client variant. Field names
@@ -186,7 +187,8 @@ func (m ServerMessage) IsEventBearing() bool {
TypeInferenceStarted, TypeInferenceDone, TypeInferenceTimeout,
TypeToolStarted, TypeToolCompleted, TypeToolFailed, TypeToolRejected,
TypeToolAssessed,
TypeApprovalRequired, TypeApprovalResolved, TypeWorkspaceBound, TypeArtifactCreated:
TypeApprovalRequired, TypeApprovalResolved, TypeWorkspaceBound, TypeArtifactCreated,
TypeRouterNarration:
return true
default:
return false