@wrongstack/webui 0.319.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/assets/AgentRosterView-BXURTwLP.js +12 -0
  2. package/dist/assets/AnalyticsDashboard-yAGcObTd.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-BwtB_jYJ.js +3 -0
  4. package/dist/assets/ChangesView-BgC27G9n.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-BZ3kmsEA.js +1 -0
  6. package/dist/assets/ChronicleDashboard-DVor6J-y.js +1 -0
  7. package/dist/assets/CodeEditor-Dk2WJQks.js +2 -0
  8. package/dist/assets/CodeMap-CjWRQ37U.js +1 -0
  9. package/dist/assets/ConfirmModal-C_KAUjBK.js +1 -0
  10. package/dist/assets/CronJobsPanel-CGq8lhRJ.js +1 -0
  11. package/dist/assets/{DeadCodeScanPanel-DooqnEMF.js → DeadCodeScanPanel-CcPRcYm0.js} +1 -1
  12. package/dist/assets/DebugDashboard-B-aDaDrO.js +1 -0
  13. package/dist/assets/DesignGalleryView-Ex3zW5ci.js +1 -0
  14. package/dist/assets/GoalView-CBDc5nCD.js +1 -0
  15. package/dist/assets/KanbanView-azjPGLmM.js +3 -0
  16. package/dist/assets/MailboxDetailView-BXW9zqle.js +1 -0
  17. package/dist/assets/MemoryDrawer-CyN_6CRo.js +1 -0
  18. package/dist/assets/MemoryManager-BLu0rLEm.js +1 -0
  19. package/dist/assets/ModelPicker-CXQR8UbH.js +1 -0
  20. package/dist/assets/ProcessMonitor-CBIQkbLx.js +1 -0
  21. package/dist/assets/PromptJournalView-C6O40uTv.js +1 -0
  22. package/dist/assets/QueuePanel-CutrvgTH.js +1 -0
  23. package/dist/assets/RefreshDebugView-DDFD26EI.js +1 -0
  24. package/dist/assets/RequirementIntakeView-BpFyFOlB.js +1 -0
  25. package/dist/assets/SageTabs-Cx299O-q.js +2 -0
  26. package/dist/assets/SddFlowGraph-CJjawf9r.js +1 -0
  27. package/dist/assets/SddHub-CmSlkvkM.js +2 -0
  28. package/dist/assets/SessionInspectView-CtrlRlJu.js +1 -0
  29. package/dist/assets/SessionList-BWoK6Ro5.js +1 -0
  30. package/dist/assets/SessionsDashboard-7C6Fj9pK.js +1 -0
  31. package/dist/assets/SetupScreen-IzaqHJ_O.js +1 -0
  32. package/dist/assets/SkillDetailView-C5nOcysX.js +3 -0
  33. package/dist/assets/TechStackView-DkNjeYPK.js +2 -0
  34. package/dist/assets/TerminalPanel-CTr-KAnH.js +1 -0
  35. package/dist/assets/{activity-C7dkJqBU.js → activity-87Kr1xrI.js} +2 -2
  36. package/dist/assets/{activity-D1rp3dH9.js → activity-CCW2-qSA.js} +2 -2
  37. package/dist/assets/activity-CXLMCm4J.js +10 -0
  38. package/dist/assets/{activity-BU6MNvBJ.js → activity-CmzV075e.js} +2 -2
  39. package/dist/assets/{activity-C_18AaRY.js → activity-D2D6_ljD.js} +2 -2
  40. package/dist/assets/{activity-CpnSsE22.js → activity-Dt348P4m.js} +2 -2
  41. package/dist/assets/{activity-hTPcI4q1.js → activity-FxWZooaS.js} +2 -2
  42. package/dist/assets/button-rqi3MczV.js +1 -0
  43. package/dist/assets/chat-store-BbBGSliF.js +1 -0
  44. package/dist/assets/{codemap-activity-store-Br4b57a0.js → codemap-activity-store-CWi-Yd9Z.js} +1 -1
  45. package/dist/assets/codemap-index-store-3M7F08K_.js +1 -0
  46. package/dist/assets/dialog-xJxaQi60.js +1 -0
  47. package/dist/assets/empty-state-BxilAuC3.js +1 -0
  48. package/dist/assets/i18n-tRUjoMoU.js +2 -0
  49. package/dist/assets/index-BnpuNJ9u.js +144 -0
  50. package/dist/assets/input-ClZR-odw.js +1 -0
  51. package/dist/assets/{mailbox-store-B9DIvRgo.js → mailbox-store-yydAVjyj.js} +1 -1
  52. package/dist/assets/{markdown-Kp5uSgOw.js → markdown-BP6Z3HKc.js} +24 -24
  53. package/dist/assets/{monaco-BCqJp2xW.js → monaco-_kWjHrlo.js} +204 -204
  54. package/dist/assets/{monaco-theme-CR1QvFi2.js → monaco-theme-Dmx6JuoU.js} +1 -1
  55. package/dist/assets/react-core-BNmTiJ-I.js +9 -0
  56. package/dist/assets/{roster-ws-BQUI8QuW.js → roster-ws-B4xVrXos.js} +1 -1
  57. package/dist/assets/{settings-BGvRM3vJ.js → settings-B1vpPbTt.js} +1 -1
  58. package/dist/assets/{settings-D-LlBmzO.js → settings-BZnHCnGT.js} +1 -1
  59. package/dist/assets/{settings-1o1gooaL.js → settings-BcB2BIE2.js} +1 -1
  60. package/dist/assets/{settings-Cy_xp4Jt.js → settings-D9AQ5wLT2.js} +1 -1
  61. package/dist/assets/{settings-BV8EFmpH.js → settings-DiVpBZQ2.js} +1 -1
  62. package/dist/assets/{settings-nWMBX3xS.js → settings-DwbEJvxt.js} +1 -1
  63. package/dist/assets/settings-WuyKla3E.js +1 -0
  64. package/dist/assets/setup-B-xPcuTH.js +1 -0
  65. package/dist/assets/setup-B9oerXTs.js +1 -0
  66. package/dist/assets/setup-BWlr07i_.js +1 -0
  67. package/dist/assets/setup-CQ4-lz5u.js +1 -0
  68. package/dist/assets/setup-Cmq_aIjv.js +1 -0
  69. package/dist/assets/setup-DK5JTuqw.js +1 -0
  70. package/dist/assets/setup-qooXjj4V.js +1 -0
  71. package/dist/assets/shared-D8dubdNH.js +1 -0
  72. package/dist/assets/stores-B7GcARdp.js +7 -0
  73. package/dist/assets/ui-store-CLXDcLPI.js +1 -0
  74. package/dist/assets/useWebSocket-L5s7ggJm.js +27 -0
  75. package/dist/assets/{utils-DQ9Exx8j.js → utils-BpBOwXlT.js} +1 -1
  76. package/dist/assets/vector-memory-panel-BwPPCCbh.js +1 -0
  77. package/dist/assets/{vendor-BMdWcCR4.css → vendor-BShi5_Dg.css} +1 -1
  78. package/dist/assets/vendor-BshlG0z-.js +125 -0
  79. package/dist/assets/view-navigation-CvWJeGMc.js +1 -0
  80. package/dist/assets/vite-preload-Czpn1I53.js +1 -0
  81. package/dist/assets/ws-client-BR51gfnV.js +22 -0
  82. package/dist/assets/xyflow-BNn76cbK.js +7 -0
  83. package/dist/assets/xyflow-DLioOiRN.css +1 -0
  84. package/dist/components/AgentOfficeView/AgentLane.d.ts +10 -0
  85. package/dist/components/AgentOfficeView/BreakRoom.d.ts +10 -0
  86. package/dist/components/AgentOfficeView/ClientOfficeHeader.d.ts +6 -0
  87. package/dist/components/AgentOfficeView/OfficeBriefing.d.ts +8 -0
  88. package/dist/components/AgentOfficeView/parcels.d.ts +27 -0
  89. package/dist/components/AgentOfficeView.d.ts +2 -10
  90. package/dist/components/ChatInput/chat-input-bars.d.ts +30 -0
  91. package/dist/components/ChatInput/session-draft.d.ts +46 -0
  92. package/dist/components/ChatInput/use-chat-keydown.d.ts +21 -0
  93. package/dist/components/ChatInput/use-chat-submit.d.ts +40 -0
  94. package/dist/components/ChatInput/use-paste-drop.d.ts +1 -1
  95. package/dist/components/ChatInput.d.ts +3 -3
  96. package/dist/components/FileActivityDrawer/ContextTab.d.ts +21 -0
  97. package/dist/components/FileActivityDrawer/LogsTab.d.ts +13 -0
  98. package/dist/components/FileActivityDrawer/OverviewTab.d.ts +14 -0
  99. package/dist/components/FileActivityDrawer/SkeletonTab.d.ts +5 -0
  100. package/dist/components/FileActivityDrawer/types.d.ts +58 -0
  101. package/dist/components/FileActivityDrawer.d.ts +1 -40
  102. package/dist/components/MainViewSlot.d.ts +16 -0
  103. package/dist/components/MemoryManager/DeleteMemoryDialog.d.ts +3 -2
  104. package/dist/components/SettingsPanel/brain-section-options.d.ts +6 -0
  105. package/dist/components/ViewRouter.d.ts +12 -4
  106. package/dist/components/view-registry.d.ts +73 -0
  107. package/dist/hooks/useServerMessage.d.ts +71 -0
  108. package/dist/hooks/ws-handlers/session-context-handlers.d.ts +20 -0
  109. package/dist/index.css +788 -788
  110. package/dist/index.html +25 -25
  111. package/dist/index.js +81203 -80204
  112. package/dist/lib/platform.d.ts +40 -0
  113. package/dist/lib/view-navigation.d.ts +27 -2
  114. package/dist/lib/ws-client-auth.d.ts +17 -0
  115. package/dist/lib/ws-client-connection.d.ts +26 -0
  116. package/dist/lib/ws-client-contracts.d.ts +10 -0
  117. package/dist/lib/ws-client-echo.d.ts +46 -0
  118. package/dist/lib/ws-client-queue.d.ts +18 -0
  119. package/dist/lib/ws-client-session-methods.d.ts +54 -0
  120. package/dist/lib/ws-client-swap.d.ts +53 -0
  121. package/dist/lib/ws-client.d.ts +40 -71
  122. package/dist/stores/context-editor-store.d.ts +1 -1
  123. package/dist/stores/council-log-store.d.ts +6 -0
  124. package/dist/stores/session-tab-store.d.ts +8 -0
  125. package/dist/stores/types.d.ts +10 -1
  126. package/dist/stores/ui-store-chrome.d.ts +12 -0
  127. package/dist/stores/ui-store-persist.d.ts +4 -0
  128. package/dist/stores/ui-store-types.d.ts +379 -0
  129. package/dist/stores/ui-store.d.ts +7 -467
  130. package/dist/stores/viz-graph-helpers.d.ts +18 -0
  131. package/dist/stores/viz-pipeline.d.ts +7 -0
  132. package/dist/stores/viz-store.d.ts +3 -123
  133. package/dist/stores/viz-types.d.ts +124 -0
  134. package/dist/types/brain.d.ts +3 -0
  135. package/dist/types/client-message.d.ts +8 -0
  136. package/dist/types/runtime.d.ts +7 -0
  137. package/dist/types/sage.d.ts +7 -0
  138. package/dist/types/server-message-chimera.d.ts +161 -0
  139. package/dist/types/server-message-files.d.ts +195 -0
  140. package/dist/types/server-message-fleet.d.ts +148 -0
  141. package/dist/types/server-message-mcp.d.ts +199 -0
  142. package/dist/types/server-message-system.d.ts +399 -0
  143. package/dist/types/server-message.d.ts +12 -1098
  144. package/dist/types/skills-design.d.ts +7 -0
  145. package/dist/types/system.d.ts +16 -0
  146. package/package.json +9 -9
  147. package/dist/assets/AgentRosterView-VIctzKMy.js +0 -9
  148. package/dist/assets/AnalyticsDashboard-Dr67MeEY.js +0 -1
  149. package/dist/assets/AudienceMemoryPanel-DoaZfrjf.js +0 -3
  150. package/dist/assets/ChangesView-s7Mn7iE2.js +0 -1
  151. package/dist/assets/ChimeraReviewsView-Cverzv0b.js +0 -1
  152. package/dist/assets/ChronicleDashboard-CzqPfaPc.js +0 -1
  153. package/dist/assets/CodeEditor-DXQoTSH5.js +0 -2
  154. package/dist/assets/CodeMap-D34FOPgR.js +0 -1
  155. package/dist/assets/ConfirmModal-B6BGiiN8.js +0 -1
  156. package/dist/assets/CronJobsPanel-CenxuaN9.js +0 -1
  157. package/dist/assets/DebugDashboard-DWaUg6e1.js +0 -1
  158. package/dist/assets/DesignGalleryView-BKtjn4px.js +0 -1
  159. package/dist/assets/GoalView-BZ62_vF-.js +0 -1
  160. package/dist/assets/KanbanView-DsWnTpxr.js +0 -3
  161. package/dist/assets/MailboxDetailView-DS1P9DRT.js +0 -1
  162. package/dist/assets/MemoryDrawer-BJEY1v4P.js +0 -1
  163. package/dist/assets/MemoryManager-D-kuyTQe.js +0 -1
  164. package/dist/assets/ModelPicker-CLs0qQgg.js +0 -1
  165. package/dist/assets/OfficeMapPanel-BqoCcniD.js +0 -4
  166. package/dist/assets/ProcessMonitor-CHNNqCk9.js +0 -1
  167. package/dist/assets/PromptJournalView-Biu4DknM.js +0 -1
  168. package/dist/assets/QueuePanel-CzTXq6j4.js +0 -1
  169. package/dist/assets/RefreshDebugView-d9iU3sFX.js +0 -1
  170. package/dist/assets/RequirementIntakeView-BVyF2zXR.js +0 -1
  171. package/dist/assets/SageTabs-YASyEFo6.js +0 -2
  172. package/dist/assets/SddFlowGraph-Bj_Aqq5B.js +0 -1
  173. package/dist/assets/SddHub-rmGGEYZe.js +0 -2
  174. package/dist/assets/SessionInspectView-iaKkGAAM.js +0 -1
  175. package/dist/assets/SessionList-vmAS2Fg5.js +0 -1
  176. package/dist/assets/SessionsDashboard-x3iyhrGl.js +0 -1
  177. package/dist/assets/SetupScreen-huPJT0Bv.js +0 -1
  178. package/dist/assets/SkillDetailView-BcD9z7zG.js +0 -3
  179. package/dist/assets/SpecsView-ok8HZ8ws.js +0 -1
  180. package/dist/assets/TechStackView-DmMtwb4l.js +0 -2
  181. package/dist/assets/TerminalPanel-cbM6oQWQ.js +0 -1
  182. package/dist/assets/activity-CtTKsSX6.js +0 -10
  183. package/dist/assets/button-DNyYztcH.js +0 -1
  184. package/dist/assets/chat-store-oW_-zcJP.js +0 -1
  185. package/dist/assets/codemap-index-store-tSmlp7Uz.js +0 -1
  186. package/dist/assets/dialog-BTHxOi5z.js +0 -1
  187. package/dist/assets/empty-state-DBQN80mK.js +0 -1
  188. package/dist/assets/i18n-D06uU1PM.js +0 -2
  189. package/dist/assets/index-BQ7PJ-sA.js +0 -144
  190. package/dist/assets/input-CTGeYzNe.js +0 -1
  191. package/dist/assets/settings-Ci_RMpCQ.js +0 -1
  192. package/dist/assets/setup-B0D9CK3-.js +0 -1
  193. package/dist/assets/setup-B58YVaGU.js +0 -1
  194. package/dist/assets/setup-C2H9Uv0Q.js +0 -1
  195. package/dist/assets/setup-CzM4dkkU.js +0 -1
  196. package/dist/assets/setup-Di56FlHP.js +0 -1
  197. package/dist/assets/setup-Dwt58Mpz.js +0 -1
  198. package/dist/assets/setup-DznVdlJy.js +0 -1
  199. package/dist/assets/shared-CLfD85oZ.js +0 -1
  200. package/dist/assets/stores-C7Vvce-6.js +0 -7
  201. package/dist/assets/ui-store-Dm7ujR9u.js +0 -1
  202. package/dist/assets/useWebSocket-9lfOsI_r.js +0 -27
  203. package/dist/assets/vector-memory-panel-B4bQhdHe.js +0 -1
  204. package/dist/assets/vendor-enc0q-Va.js +0 -139
  205. package/dist/assets/view-navigation-wOKaM_Rf.js +0 -1
  206. package/dist/assets/ws-client-DtTZLD8e.js +0 -22
  207. /package/dist/assets/{OfficeMapPanel-Ce7myLNH.css → AgentRosterView-Ce7myLNH.css} +0 -0
@@ -0,0 +1,124 @@
1
+ /** Categories the cinematic renderer understands. */
2
+ export type VizEventKind = 'provider:call' | 'provider:delta' | 'provider:response' | 'agent:spawned' | 'agent:tool' | 'agent:status' | 'agent:ctx' | 'agent:text' | 'tool:started' | 'tool:executed' | 'tool:progress' | 'mailbox:send' | 'mailbox:deliver' | 'collab:event' | 'memory:event' | 'brain:council_vote' | 'session:start' | 'session:end' | 'iteration:start' | 'iteration:end' | 'eternal:iteration' | 'error' | 'context:compacted' | 'context:repaired' | 'budget:warning' | 'budget:extended' | 'cost:update' | 'fleet:snapshot';
3
+ export interface VizEvent {
4
+ id: string;
5
+ kind: VizEventKind;
6
+ timestamp: number;
7
+ /** Source node id (e.g. provider id, agent id, tool name) */
8
+ source: string;
9
+ /** Target node id (optional — e.g. provider for tool calls) */
10
+ target?: string | undefined;
11
+ /** Display label */
12
+ label: string;
13
+ /** Numeric magnitude (tokens, cost, duration) for size/color mapping */
14
+ magnitude?: number | undefined;
15
+ /** Extra structured payload for the renderer */
16
+ data?: Record<string, unknown> | undefined;
17
+ /** The raw WS payload for drill-down in detail panels */
18
+ raw?: unknown;
19
+ /** Grouping key for the flow (e.g. 'iteration:3', 'agent:leader') */
20
+ flowGroup?: string | undefined;
21
+ /** Color hint for the renderer */
22
+ color?: string | undefined;
23
+ }
24
+ /** Active connection between two nodes in the flow graph. */
25
+ export interface VizEdge {
26
+ id: string;
27
+ source: string;
28
+ target: string;
29
+ kind: VizEventKind;
30
+ label: string;
31
+ /** Flow intensity 0–1 for animation speed/opacity */
32
+ intensity: number;
33
+ /** Color for the edge */
34
+ color: string;
35
+ /** When this edge was last active */
36
+ lastActiveAt: number;
37
+ /** Cumulative magnitude (tokens, calls, etc.) */
38
+ totalMagnitude: number;
39
+ }
40
+ /** Node in the flow graph — represents a live entity. */
41
+ export interface VizNode {
42
+ id: string;
43
+ kind: 'provider' | 'agent' | 'tool' | 'mailbox' | 'session' | 'system' | 'error' | 'coordinator';
44
+ label: string;
45
+ sublabel?: string | undefined;
46
+ status: 'idle' | 'active' | 'streaming' | 'completed' | 'error';
47
+ /** 0–1 activity level for glow/pulse */
48
+ activity: number;
49
+ /** Color theme */
50
+ color: string;
51
+ /** Provider/model info */
52
+ provider?: string | undefined;
53
+ model?: string | undefined;
54
+ /** For agents: stats */
55
+ iterations?: number | undefined;
56
+ toolCalls?: number | undefined;
57
+ costUsd?: number | undefined;
58
+ ctxPct?: number | undefined;
59
+ ctxTokens?: number | undefined;
60
+ maxContext?: number | undefined;
61
+ /** For agents: current tool name */
62
+ currentTool?: string | undefined;
63
+ /** For agents: session id */
64
+ sessionId?: string | undefined;
65
+ /** Magnitude for sizing */
66
+ magnitude?: number | undefined;
67
+ /** When this node was last updated */
68
+ lastSeenAt: number;
69
+ /** Position hints for the layout engine */
70
+ positionHint?: {
71
+ zone: 'left' | 'center' | 'right' | 'top' | 'bottom';
72
+ order: number;
73
+ } | undefined;
74
+ }
75
+ export interface VizState {
76
+ /** Ring buffer of recent events — newest first. */
77
+ events: VizEvent[];
78
+ /**
79
+ * Tool-only archive for slower UI surfaces such as Agent Office.
80
+ * Keeping it separate prevents chat/provider traffic from evicting a
81
+ * read/write action before a person has had time to see it.
82
+ */
83
+ toolEvents: VizEvent[];
84
+ /** Live nodes in the flow graph. */
85
+ nodes: Map<string, VizNode>;
86
+ /** Active edges between nodes. */
87
+ edges: Map<string, VizEdge>;
88
+ /** Whether the visualization is actively running. */
89
+ isActive: boolean;
90
+ /** Max events to keep in the ring buffer. */
91
+ maxEvents: number;
92
+ /** Counters for the HUD */
93
+ counters: {
94
+ totalTokens: number;
95
+ totalCost: number;
96
+ totalToolCalls: number;
97
+ activeAgents: number;
98
+ completedTasks: number;
99
+ errors: number;
100
+ mailboxMessages: number;
101
+ };
102
+ pushEvent: (event: VizEvent) => void;
103
+ upsertNode: (node: Partial<VizNode> & {
104
+ id: string;
105
+ kind: VizNode['kind'];
106
+ label: string;
107
+ }) => void;
108
+ removeNode: (id: string) => void;
109
+ upsertEdge: (edge: Partial<VizEdge> & {
110
+ id: string;
111
+ source: string;
112
+ target: string;
113
+ kind: VizEdge['kind'];
114
+ label: string;
115
+ }) => void;
116
+ removeEdge: (id: string) => void;
117
+ clear: () => void;
118
+ setActive: (active: boolean) => void;
119
+ decayActivity: () => void;
120
+ prunesStale: (olderThan: number) => void;
121
+ }
122
+ export declare const NODE_COLORS: Record<string, string>;
123
+ export declare const EDGE_COLORS: Record<string, string>;
124
+ //# sourceMappingURL=viz-types.d.ts.map
@@ -166,6 +166,8 @@ export interface BrainConfigWire {
166
166
  distinctness: 'none' | 'model' | 'provider';
167
167
  voterMaxTokens?: number | undefined;
168
168
  judgeMaxTokens?: number | undefined;
169
+ /** Voting rounds; undefined = the product default (2). 1 disables it. */
170
+ deliberationRounds?: number | undefined;
169
171
  seats: BrainCouncilSeatWire[];
170
172
  };
171
173
  /**
@@ -234,6 +236,7 @@ export interface BrainConfigPatchWire {
234
236
  distinctness?: 'none' | 'model' | 'provider' | null | undefined;
235
237
  voterMaxTokens?: number | null | undefined;
236
238
  judgeMaxTokens?: number | null | undefined;
239
+ deliberationRounds?: number | null | undefined;
237
240
  seats?: BrainCouncilSeatWire[] | null | undefined;
238
241
  } | null | undefined;
239
242
  ledger?: {
@@ -389,8 +389,16 @@ export type WSClientMessageCore = WSUserMessage | {
389
389
  };
390
390
  } | {
391
391
  type: 'session.new';
392
+ /**
393
+ * `replaceSessionId` is the explicit "retire this session as part of
394
+ * the same operation" target — deliberately a DIFFERENT key from
395
+ * `sessionId`, which only says which session the request originated
396
+ * from. Omit it to open an ADDITIONAL session (a new tab) that touches
397
+ * nothing; send it to close that session and land its replacement.
398
+ */
392
399
  payload?: ({
393
400
  systemPromptVariant?: string;
401
+ replaceSessionId?: string;
394
402
  } & SessionScopedPayload) | SessionScopedPayload;
395
403
  } | {
396
404
  type: 'session.checkpoints';
@@ -352,6 +352,13 @@ export interface WSContextModeChanged {
352
352
  export interface WSToolsList {
353
353
  type: 'tools.list';
354
354
  payload: {
355
+ /**
356
+ * Echoed back from the request when the caller minted one
357
+ * (`withRequestId` on the server). `consumeSuppressedChatEcho` correlates
358
+ * on it to drop the chat echo for exactly the request that asked to be
359
+ * suppressed.
360
+ */
361
+ requestId?: string | undefined;
355
362
  tools: Array<{
356
363
  name: string;
357
364
  owner: string;
@@ -55,6 +55,13 @@ export interface SageGraphEdge {
55
55
  export interface WSMemorySageList {
56
56
  type: 'memory.sage.list';
57
57
  payload: {
58
+ /**
59
+ * Echoed back from the request when the caller minted one
60
+ * (`withRequestId` on the server). `consumeSuppressedChatEcho` correlates
61
+ * on it to drop the chat echo for exactly the request that asked to be
62
+ * suppressed.
63
+ */
64
+ requestId?: string | undefined;
58
65
  memories?: SageEntry[] | undefined;
59
66
  stats?: SageStats | undefined;
60
67
  error?: string | undefined;
@@ -0,0 +1,161 @@
1
+ export type WSChimeraServerMessage = {
2
+ type: 'chimera.report_available';
3
+ payload: {
4
+ reportId: string;
5
+ sessionId: string;
6
+ message: string;
7
+ fileCount: number;
8
+ findingCount: number;
9
+ hasActionableFindings: boolean;
10
+ messageId?: string | undefined;
11
+ };
12
+ } | {
13
+ type: 'chimera.reports';
14
+ payload: {
15
+ sessionId: string;
16
+ isQuery?: boolean | undefined;
17
+ reports: Array<{
18
+ reportId: string;
19
+ sessionId?: string | undefined;
20
+ agentId?: string | undefined;
21
+ reviewedAt: string;
22
+ reviewerModel?: string | undefined;
23
+ source?: string | undefined;
24
+ reviewStatus?: 'success' | 'failed' | undefined;
25
+ lifecycleStatus: string;
26
+ counts?: {
27
+ critical: number;
28
+ high: number;
29
+ medium: number;
30
+ low: number;
31
+ } | undefined;
32
+ totalFindings: number;
33
+ fileCount?: number | undefined;
34
+ durationSeconds?: number | undefined;
35
+ cascadeDepth?: number | undefined;
36
+ evidenceStatus?: string | undefined;
37
+ hasActionableFindings?: boolean | undefined;
38
+ }>;
39
+ };
40
+ } | {
41
+ type: 'chimera.report.detail';
42
+ payload: {
43
+ report: {
44
+ id: string;
45
+ reviewedAt: string;
46
+ sessionId: string;
47
+ agentId: string;
48
+ reviewerModel: string;
49
+ source: string;
50
+ reviewStatus: 'success' | 'failed';
51
+ lifecycle: string;
52
+ files: Array<{
53
+ path: string;
54
+ status: string;
55
+ }>;
56
+ counts: {
57
+ critical: number;
58
+ high: number;
59
+ medium: number;
60
+ low: number;
61
+ };
62
+ totalFindings: number;
63
+ unparseableCount: number;
64
+ durationSeconds?: number | undefined;
65
+ rawText: string;
66
+ cascadeDepth?: number | undefined;
67
+ evidenceStatus?: string | undefined;
68
+ evidenceChecks?: Array<{
69
+ name: string;
70
+ command: string;
71
+ ok: boolean;
72
+ claimedExitCode?: number | null;
73
+ actualExitCode?: number | null;
74
+ }> | undefined;
75
+ } | null;
76
+ findings: Array<{
77
+ finding: {
78
+ id: string;
79
+ fingerprint: string;
80
+ severity: 'critical' | 'high' | 'medium' | 'low';
81
+ source: string;
82
+ location?: {
83
+ file: string;
84
+ line?: number | undefined;
85
+ } | undefined;
86
+ category?: string | undefined;
87
+ confidence?: string | undefined;
88
+ verification?: {
89
+ status: string;
90
+ reason: string;
91
+ evidence?: string | undefined;
92
+ } | undefined;
93
+ title: string;
94
+ description: string;
95
+ suggestedFix?: string | undefined;
96
+ createdAt: string;
97
+ status: string;
98
+ resolution?: {
99
+ outcome: string;
100
+ resolvedAt: string;
101
+ resolvedBy: string;
102
+ commitSha?: string | undefined;
103
+ notes?: string | undefined;
104
+ } | undefined;
105
+ originReport: {
106
+ reportId: string;
107
+ sessionId: string;
108
+ agentId: string;
109
+ reviewerModel: string;
110
+ };
111
+ };
112
+ events: Array<{
113
+ id: string;
114
+ findingId: string;
115
+ eventType: string;
116
+ fromStatus: string | null;
117
+ toStatus: string;
118
+ actorId: string;
119
+ actorKind: string;
120
+ timestamp: string;
121
+ reason?: string | undefined;
122
+ }>;
123
+ }>;
124
+ events: Array<{
125
+ id: string;
126
+ reportId: string;
127
+ eventType: string;
128
+ fromLifecycle: string | null;
129
+ toLifecycle: string;
130
+ actorId: string;
131
+ actorKind: string;
132
+ timestamp: string;
133
+ reason?: string | undefined;
134
+ }>;
135
+ error?: string | undefined;
136
+ };
137
+ } | {
138
+ type: 'chimera.report.updated';
139
+ payload: {
140
+ reportId: string;
141
+ lifecycle?: string | undefined;
142
+ success: boolean;
143
+ error?: string | undefined;
144
+ };
145
+ } | {
146
+ type: 'chimera.report.note_added';
147
+ payload: {
148
+ reportId: string;
149
+ success: boolean;
150
+ error?: string | undefined;
151
+ };
152
+ } | {
153
+ type: 'chimera.finding.updated';
154
+ payload: {
155
+ findingId: string;
156
+ status?: string | undefined;
157
+ success: boolean;
158
+ error?: string | undefined;
159
+ };
160
+ };
161
+ //# sourceMappingURL=server-message-chimera.d.ts.map
@@ -0,0 +1,195 @@
1
+ import type { SessionScopedPayload } from './protocol-core.js';
2
+ export type WSFilesGitServerMessage = {
3
+ type: 'codebase.index.server.shutdown_result';
4
+ payload: {
5
+ requestId?: string | undefined;
6
+ stopped: boolean;
7
+ pid?: number | undefined;
8
+ reason?: string | undefined;
9
+ };
10
+ } | {
11
+ type: 'files.tree';
12
+ payload: {
13
+ root: string;
14
+ tree: unknown[];
15
+ error?: string | undefined;
16
+ sessionId?: string | undefined;
17
+ };
18
+ } | {
19
+ type: 'files.read';
20
+ payload: {
21
+ filePath: string;
22
+ content: string;
23
+ /** Server refused content: NUL byte detected (see handleFilesRead). */
24
+ binary?: boolean | undefined;
25
+ /** Server refused content: file exceeds the 2 MB display cap. */
26
+ tooLarge?: boolean | undefined;
27
+ error?: string | undefined;
28
+ sessionId?: string | undefined;
29
+ };
30
+ } | {
31
+ type: 'files.skeleton_result';
32
+ payload: {
33
+ filePath: string;
34
+ lang?: string | undefined;
35
+ skeleton: string;
36
+ stats?: {
37
+ originalLines: number;
38
+ skeletonLines: number;
39
+ tokenSavingsPercent: number;
40
+ symbolCount: number;
41
+ } | undefined;
42
+ error?: string | undefined;
43
+ };
44
+ } | {
45
+ type: 'files.written';
46
+ payload: {
47
+ filePath: string;
48
+ success: boolean;
49
+ error?: string | undefined;
50
+ sessionId?: string | undefined;
51
+ };
52
+ } | {
53
+ type: 'files.created';
54
+ payload: {
55
+ filePath: string;
56
+ success: boolean;
57
+ error?: string | undefined;
58
+ sessionId?: string | undefined;
59
+ };
60
+ } | {
61
+ type: 'files.deleted';
62
+ payload: {
63
+ filePath: string;
64
+ success: boolean;
65
+ error?: string | undefined;
66
+ sessionId?: string | undefined;
67
+ };
68
+ } | {
69
+ type: 'files.renamed';
70
+ payload: {
71
+ oldPath: string;
72
+ newPath: string;
73
+ success: boolean;
74
+ error?: string | undefined;
75
+ sessionId?: string | undefined;
76
+ };
77
+ } | {
78
+ type: 'files.moved';
79
+ payload: {
80
+ srcPath: string;
81
+ destPath: string;
82
+ success: boolean;
83
+ error?: string | undefined;
84
+ sessionId?: string | undefined;
85
+ };
86
+ } | {
87
+ type: 'git.info';
88
+ payload: {
89
+ branch: string;
90
+ added: number;
91
+ deleted: number;
92
+ untracked: number;
93
+ behind: number;
94
+ ahead: number;
95
+ };
96
+ } | {
97
+ type: 'git.action_result';
98
+ payload: {
99
+ action: 'stage' | 'unstage' | 'discard' | 'commit';
100
+ ok: boolean;
101
+ paths?: string[] | undefined;
102
+ message?: string | undefined;
103
+ error?: string | undefined;
104
+ };
105
+ } | {
106
+ type: 'git.changes';
107
+ payload: {
108
+ files: Array<{
109
+ path: string;
110
+ status: string;
111
+ added: number;
112
+ deleted: number;
113
+ staged: boolean;
114
+ }>;
115
+ /**
116
+ * Aggregate status per directory (repo-relative keys): the
117
+ * highest-ranked child status, computed server-side — replaces the
118
+ * old client-side prefix-scan heuristic in FileExplorer.
119
+ */
120
+ dirs?: Record<string, string> | undefined;
121
+ /** Repo→project path prefix ('' when equal) — see repoRelativePrefix. */
122
+ repoPrefix?: string | undefined;
123
+ error?: string | undefined;
124
+ };
125
+ } | {
126
+ type: 'git.diff';
127
+ payload: {
128
+ path: string;
129
+ oldText?: string | undefined;
130
+ newText?: string | undefined;
131
+ binary?: boolean | undefined;
132
+ tooLarge?: boolean | undefined;
133
+ error?: string | undefined;
134
+ };
135
+ } | {
136
+ type: 'projects.list';
137
+ payload: {
138
+ projects: Array<{
139
+ name: string;
140
+ root: string;
141
+ slug: string;
142
+ lastSeen?: string | undefined;
143
+ }>;
144
+ };
145
+ } | {
146
+ type: 'projects.added';
147
+ payload: {
148
+ name: string;
149
+ root: string;
150
+ slug: string;
151
+ message: string;
152
+ };
153
+ } | {
154
+ type: 'projects.selected';
155
+ payload: {
156
+ root: string;
157
+ name: string;
158
+ message: string;
159
+ };
160
+ } | {
161
+ type: 'working_dir.changed';
162
+ payload: {
163
+ cwd: string;
164
+ projectRoot: string;
165
+ };
166
+ } | {
167
+ type: 'file.saved';
168
+ payload: SessionScopedPayload & {
169
+ filePath: string;
170
+ };
171
+ } | {
172
+ type: 'codemap.file_event';
173
+ payload: SessionScopedPayload & {
174
+ filePath: string;
175
+ operation: 'read' | 'write' | 'edit' | 'delete' | 'rename';
176
+ phase: 'started' | 'completed' | 'changed';
177
+ source: 'tool' | 'editor' | 'deterministic' | 'watcher' | 'external';
178
+ at: number;
179
+ traceId?: string | undefined;
180
+ agentId?: string | undefined;
181
+ agentName?: string | undefined;
182
+ toolUseId?: string | undefined;
183
+ toolName?: string | undefined;
184
+ line?: number | undefined;
185
+ endLine?: number | undefined;
186
+ };
187
+ } | {
188
+ type: 'codemap.index_updated';
189
+ payload: {
190
+ at: number;
191
+ ready: boolean;
192
+ reason: 'index_complete';
193
+ };
194
+ };
195
+ //# sourceMappingURL=server-message-files.d.ts.map
@@ -0,0 +1,148 @@
1
+ import type { SessionScopedPayload } from './protocol-core.js';
2
+ export type WSFleetServerMessage = {
3
+ type: 'subagent.event';
4
+ payload: SessionScopedPayload & Record<string, unknown> & {
5
+ kind: string;
6
+ };
7
+ } | {
8
+ type: 'coordinator.status';
9
+ payload: {
10
+ status: 'idle' | 'running' | 'draining' | 'stopped';
11
+ mode?: string;
12
+ subagentCount?: number;
13
+ taskQueue?: {
14
+ pending: number;
15
+ running: number;
16
+ completed: number;
17
+ failed: number;
18
+ };
19
+ };
20
+ } | {
21
+ type: 'coordinator.stats';
22
+ payload: SessionScopedPayload & {
23
+ total: number;
24
+ running: number;
25
+ idle: number;
26
+ stopped: number;
27
+ inFlight: number;
28
+ pending: number;
29
+ completed: number;
30
+ subagentStatuses?: Array<{
31
+ id: string;
32
+ name: string;
33
+ status: string;
34
+ currentTask?: string;
35
+ }>;
36
+ };
37
+ } | {
38
+ type: 'fleet.concurrency_update';
39
+ payload: SessionScopedPayload & {
40
+ fleetConcurrency: number;
41
+ fleetConcurrencyMax: number;
42
+ maxSpawns?: number;
43
+ usedSpawns?: number;
44
+ remainingSpawns?: number;
45
+ maxSpawnsSource?: string;
46
+ maxConcurrentSource?: string;
47
+ effectiveSource?: string;
48
+ checkpointMaxSpawns?: number;
49
+ ceilingMismatch?: boolean;
50
+ };
51
+ } | {
52
+ type: 'budget.threshold_reached';
53
+ payload: SessionScopedPayload & {
54
+ subagentId: string;
55
+ taskId?: string;
56
+ ts: number;
57
+ kind: string;
58
+ used: number;
59
+ limit: number;
60
+ timeoutMs: number;
61
+ };
62
+ } | {
63
+ type: 'budget.decision';
64
+ payload: {
65
+ subagentId: string;
66
+ kind: string;
67
+ decision: 'extend' | 'deny';
68
+ extended?: {
69
+ timeoutMs?: number;
70
+ maxIterations?: number;
71
+ maxToolCalls?: number;
72
+ };
73
+ };
74
+ } | {
75
+ type: 'subagent.budget_extended';
76
+ payload: {
77
+ subagentId: string;
78
+ kind: string;
79
+ extendedMs?: number;
80
+ extendedTo?: number;
81
+ };
82
+ } | {
83
+ type: 'consensus.vote_initiated';
84
+ payload: {
85
+ changeId: string;
86
+ title: string;
87
+ eligible: Array<{
88
+ agentId: string;
89
+ agentName: string;
90
+ }>;
91
+ };
92
+ } | {
93
+ type: 'consensus.vote_cast';
94
+ payload: {
95
+ changeId: string;
96
+ voterId: string;
97
+ value: 'approve' | 'reject' | 'abstain';
98
+ };
99
+ } | {
100
+ type: 'consensus.vote_resolved';
101
+ payload: {
102
+ changeId: string;
103
+ result: 'approved' | 'rejected' | 'vetoed' | 'quorum_not_met';
104
+ approveCount: number;
105
+ rejectCount: number;
106
+ };
107
+ } | {
108
+ type: 'task.pending';
109
+ payload: {
110
+ taskId: string;
111
+ description: string;
112
+ priority?: number;
113
+ };
114
+ } | {
115
+ type: 'task.started';
116
+ payload: {
117
+ taskId: string;
118
+ subagentId: string;
119
+ };
120
+ } | {
121
+ type: 'task.completed';
122
+ payload: {
123
+ taskId: string;
124
+ subagentId: string;
125
+ status: string;
126
+ durationMs: number;
127
+ };
128
+ } | {
129
+ type: 'task.failed';
130
+ payload: {
131
+ taskId: string;
132
+ subagentId: string;
133
+ error: string;
134
+ };
135
+ } | {
136
+ type: 'tool.disabled';
137
+ payload: {
138
+ name: string;
139
+ ok: boolean;
140
+ };
141
+ } | {
142
+ type: 'tool.enabled';
143
+ payload: {
144
+ name: string;
145
+ ok: boolean;
146
+ };
147
+ };
148
+ //# sourceMappingURL=server-message-fleet.d.ts.map