@wrongstack/webui 0.292.1 → 0.295.0

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 (220) hide show
  1. package/dist/App.d.ts.map +1 -1
  2. package/dist/assets/AgentRosterView-y-MCHghy.js +7 -0
  3. package/dist/assets/AnalyticsDashboard-tGlXeqV5.js +1 -0
  4. package/dist/assets/AudienceMemoryPanel-D45M-Fr6.js +3 -0
  5. package/dist/assets/ChangesView-Otr6kwYr.js +1 -0
  6. package/dist/assets/ChronicleDashboard-BvsfI25e.js +1 -0
  7. package/dist/assets/CodeEditor-DtD0-wwy.js +1 -0
  8. package/dist/assets/CodeMap-CVmu16Ec.js +1 -0
  9. package/dist/assets/ConfirmModal-C7H16wDN.js +1 -0
  10. package/dist/assets/{CronJobsPanel-CVXW2Y-n.js → CronJobsPanel-CT6XRgmQ.js} +1 -1
  11. package/dist/assets/{DebugDashboard-BldwPA32.js → DebugDashboard-DZy3VUpn.js} +1 -1
  12. package/dist/assets/DesignGalleryView-CQkuFsfj.js +1 -0
  13. package/dist/assets/{GoalView-p7f1544B.js → GoalView-CTqdYc-z.js} +1 -1
  14. package/dist/assets/KanbanView-DryFcAzY.js +3 -0
  15. package/dist/assets/{LazyMarkdown-C1a0wbAZ.js → LazyMarkdown-DWlQpo_8.js} +3 -3
  16. package/dist/assets/MailboxDetailView-CsI_6HsE.js +1 -0
  17. package/dist/assets/MemoryManager-D_bjR09v.js +1 -0
  18. package/dist/assets/{ModelPicker-Cwa4UKNc.js → ModelPicker-fGNsJUXK.js} +1 -1
  19. package/dist/assets/{OfficeMapPanel-B0j4e2O1.css → OfficeMapPanel-BFIF-EMt.css} +1 -1
  20. package/dist/assets/OfficeMapPanel-KRrwpmvi.js +4 -0
  21. package/dist/assets/ProcessMonitor-BtgVvQgx.js +1 -0
  22. package/dist/assets/{QueuePanel-lUChp6xi.js → QueuePanel-BGSxmdqf.js} +1 -1
  23. package/dist/assets/{RefreshDebugView-BNa6ehdH.js → RefreshDebugView-B_wCBpFb.js} +1 -1
  24. package/dist/assets/SddHub-BryXNdFd.js +2 -0
  25. package/dist/assets/SessionsDashboard-DLOhC9JZ.js +1 -0
  26. package/dist/assets/SetupScreen-DsXgzxA1.js +1 -0
  27. package/dist/assets/SkillDetailView-ChyQLtrl.js +3 -0
  28. package/dist/assets/{SpecsView-CNqNOKqo.js → SpecsView-Dh9YG8Id.js} +1 -1
  29. package/dist/assets/TechStackView-RJGVF44_.js +1 -0
  30. package/dist/assets/{TerminalPanel-KysALyRz.js → TerminalPanel-3rZfmUfb.js} +1 -1
  31. package/dist/assets/Toaster-BzC_AdG5.js +1 -0
  32. package/dist/assets/activity-7VmgGy-T.js +5 -0
  33. package/dist/assets/activity-BzwApar4.js +5 -0
  34. package/dist/assets/activity-CCUWlVKh.js +5 -0
  35. package/dist/assets/activity-DAHFiOfU.js +5 -0
  36. package/dist/assets/activity-DkkpH2Tf.js +5 -0
  37. package/dist/assets/activity-DqsX-GMs.js +5 -0
  38. package/dist/assets/{activity-Cyx4UukM.js → activity-t0PmZ94i.js} +3 -3
  39. package/dist/assets/{button-99L74zdE.js → button-GVbauxIJ.js} +1 -1
  40. package/dist/assets/{chat-store-Cunk1nDr.js → chat-store-BEcTB7SD.js} +7 -7
  41. package/dist/assets/{codemap-activity-store-BIW6YPvC.js → codemap-activity-store-DrrI6G7M.js} +1 -1
  42. package/dist/assets/{dialog-CNwwBFw3.js → dialog-BjPQYovj.js} +1 -1
  43. package/dist/assets/empty-state-DJc37Wg1.js +1 -0
  44. package/dist/assets/{i18n-DaR2GB_4.js → i18n-c37VNlP9.js} +2 -2
  45. package/dist/assets/index-196U0qsu.js +125 -0
  46. package/dist/assets/index-n_-BWskP.css +1 -0
  47. package/dist/assets/{input-DXjUO_X9.js → input-BVi5hYQz.js} +1 -1
  48. package/dist/assets/{mailbox-store-Dq1wxCRt.js → mailbox-store-DSvN5ZEo.js} +1 -1
  49. package/dist/assets/roster-ws-BD-ATeja.js +1 -0
  50. package/dist/assets/{session-store-B8icONBU.js → session-store-K_ozfq0o.js} +1 -1
  51. package/dist/assets/{settings-llUXRsji.js → settings-24NUQrlz.js} +1 -1
  52. package/dist/assets/settings-BcyGqyX3.js +1 -0
  53. package/dist/assets/settings-BhEHLxqK.js +1 -0
  54. package/dist/assets/settings-C67tfoiy.js +1 -0
  55. package/dist/assets/settings-CvkIXOQE.js +1 -0
  56. package/dist/assets/{settings-CyzkAhwD.js → settings-DGTQ4aKo.js} +1 -1
  57. package/dist/assets/settings-i7lxRYZu.js +1 -0
  58. package/dist/assets/shared-BQ9yQXDx.js +1 -0
  59. package/dist/assets/{stores-JSLvWOQY.js → stores-DVhvmaer.js} +1 -1
  60. package/dist/assets/ui-store-DxFtiYFb.js +1 -0
  61. package/dist/assets/useWebSocket-kb2VPjLc.js +28 -0
  62. package/dist/assets/{utils-C4qVQ63O.js → utils-DvgvNCoT.js} +1 -1
  63. package/dist/assets/{vendor-Di1mdAi5.js → vendor-BmsAdDhb.js} +27 -27
  64. package/dist/assets/{view-navigation-BbHlzAQz.js → view-navigation-D8lN47bJ.js} +1 -1
  65. package/dist/assets/ws-client-BydCS6yi.js +1 -0
  66. package/dist/components/AgentOfficeView.d.ts.map +1 -1
  67. package/dist/components/AgentRosterView.d.ts +16 -0
  68. package/dist/components/AgentRosterView.d.ts.map +1 -0
  69. package/dist/components/AgentRuntimePolicyEditor.d.ts +8 -0
  70. package/dist/components/AgentRuntimePolicyEditor.d.ts.map +1 -0
  71. package/dist/components/AvailabilityCalendarEditor.d.ts +1 -1
  72. package/dist/components/AvailabilityCalendarEditor.d.ts.map +1 -1
  73. package/dist/components/ChangesView.d.ts.map +1 -1
  74. package/dist/components/ChatInput/slash-commands.d.ts.map +1 -1
  75. package/dist/components/ChatInput/slash-routing.d.ts +2 -0
  76. package/dist/components/ChatInput/slash-routing.d.ts.map +1 -1
  77. package/dist/components/ChatInput.d.ts.map +1 -1
  78. package/dist/components/ChatView/index.d.ts.map +1 -1
  79. package/dist/components/ChronicleDashboard.d.ts.map +1 -1
  80. package/dist/components/CodeEditor.d.ts.map +1 -1
  81. package/dist/components/CodeMap.d.ts.map +1 -1
  82. package/dist/components/ContextBreakdownModal.d.ts.map +1 -1
  83. package/dist/components/ContextDashboard.d.ts.map +1 -1
  84. package/dist/components/CustomRosterPanel.d.ts +38 -0
  85. package/dist/components/CustomRosterPanel.d.ts.map +1 -0
  86. package/dist/components/DesignGalleryView.d.ts.map +1 -1
  87. package/dist/components/InspectorPanel.d.ts.map +1 -1
  88. package/dist/components/KanbanView.d.ts.map +1 -1
  89. package/dist/components/MailboxDetailView.d.ts.map +1 -1
  90. package/dist/components/MailboxPanel.d.ts.map +1 -1
  91. package/dist/components/MemoryManager/MemoryDetail.d.ts +4 -4
  92. package/dist/components/MemoryManager/MemoryDetail.d.ts.map +1 -1
  93. package/dist/components/MemoryManager/MemoryEditor.d.ts.map +1 -1
  94. package/dist/components/MemoryManager/MemoryFilters.d.ts +4 -4
  95. package/dist/components/MemoryManager/MemoryFilters.d.ts.map +1 -1
  96. package/dist/components/MemoryManager/MemoryGraph.d.ts +4 -4
  97. package/dist/components/MemoryManager/MemoryGraph.d.ts.map +1 -1
  98. package/dist/components/MemoryManager/MemoryList.d.ts +3 -3
  99. package/dist/components/MemoryManager/MemoryList.d.ts.map +1 -1
  100. package/dist/components/MemoryManager/index.d.ts.map +1 -1
  101. package/dist/components/MemoryManager/shared.d.ts +15 -15
  102. package/dist/components/MemoryManager/shared.d.ts.map +1 -1
  103. package/dist/components/MessageBubble/index.d.ts +1 -1
  104. package/dist/components/MessageBubble/index.d.ts.map +1 -1
  105. package/dist/components/OfficeMapCanvas/resolve.d.ts +17 -1
  106. package/dist/components/OfficeMapCanvas/resolve.d.ts.map +1 -1
  107. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts +21 -0
  108. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts.map +1 -0
  109. package/dist/components/OfficeMapCanvas.d.ts.map +1 -1
  110. package/dist/components/ProcessMonitor.d.ts.map +1 -1
  111. package/dist/components/SettingsPanel/BrainSection.d.ts.map +1 -1
  112. package/dist/components/SettingsPanel/MCPSection.d.ts +4 -0
  113. package/dist/components/SettingsPanel/MCPSection.d.ts.map +1 -1
  114. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +13 -7
  115. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts.map +1 -1
  116. package/dist/components/SettingsPanel/PluginToggleList.d.ts.map +1 -1
  117. package/dist/components/SettingsPanel/PreferenceControls.d.ts +3 -1
  118. package/dist/components/SettingsPanel/PreferenceControls.d.ts.map +1 -1
  119. package/dist/components/SettingsPanel/PreferenceToggle.d.ts +3 -1
  120. package/dist/components/SettingsPanel/PreferenceToggle.d.ts.map +1 -1
  121. package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts.map +1 -1
  122. package/dist/components/SettingsPanel/ProviderSection.d.ts.map +1 -1
  123. package/dist/components/SettingsPanel/local-presets.d.ts +2 -29
  124. package/dist/components/SettingsPanel/local-presets.d.ts.map +1 -1
  125. package/dist/components/SetupScreen.d.ts.map +1 -1
  126. package/dist/components/ShortcutsOverlay.d.ts.map +1 -1
  127. package/dist/components/SidePanel/SkillsList.d.ts.map +1 -1
  128. package/dist/components/SkillDetailView.d.ts.map +1 -1
  129. package/dist/components/TechStackView/index.d.ts.map +1 -1
  130. package/dist/components/VerificationReportPanel.d.ts +15 -0
  131. package/dist/components/VerificationReportPanel.d.ts.map +1 -0
  132. package/dist/components/activity-bar/index.d.ts.map +1 -1
  133. package/dist/components/ui/api-key-display.d.ts +14 -0
  134. package/dist/components/ui/api-key-display.d.ts.map +1 -0
  135. package/dist/components/ui/empty-state.d.ts +29 -0
  136. package/dist/components/ui/empty-state.d.ts.map +1 -0
  137. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts +1 -1
  138. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts.map +1 -1
  139. package/dist/hooks/useWebSocket.d.ts +13 -13
  140. package/dist/hooks/useWebSocket.d.ts.map +1 -1
  141. package/dist/hooks/ws-handlers/chat-handlers.d.ts.map +1 -1
  142. package/dist/hooks/ws-handlers/fleet-handlers.d.ts.map +1 -1
  143. package/dist/hooks/ws-handlers/session-handlers.d.ts.map +1 -1
  144. package/dist/hooks/ws-handlers.d.ts +8 -7
  145. package/dist/hooks/ws-handlers.d.ts.map +1 -1
  146. package/dist/index.css +251 -0
  147. package/dist/index.css.map +2 -2
  148. package/dist/index.html +23 -24
  149. package/dist/index.js +13647 -9142
  150. package/dist/index.js.map +4 -4
  151. package/dist/lib/agent-office.d.ts +22 -0
  152. package/dist/lib/agent-office.d.ts.map +1 -1
  153. package/dist/lib/model-calendar.d.ts +1 -1
  154. package/dist/lib/model-calendar.d.ts.map +1 -1
  155. package/dist/lib/model-matrix-routes.d.ts +2 -191
  156. package/dist/lib/model-matrix-routes.d.ts.map +1 -1
  157. package/dist/lib/plugin-enablement.d.ts +1 -1
  158. package/dist/lib/plugin-enablement.d.ts.map +1 -1
  159. package/dist/lib/roster-ws.d.ts +48 -0
  160. package/dist/lib/roster-ws.d.ts.map +1 -0
  161. package/dist/lib/view-navigation.d.ts +1 -1
  162. package/dist/lib/view-navigation.d.ts.map +1 -1
  163. package/dist/lib/ws-client-utils.d.ts +1 -2
  164. package/dist/lib/ws-client-utils.d.ts.map +1 -1
  165. package/dist/lib/ws-client.d.ts +31 -23
  166. package/dist/lib/ws-client.d.ts.map +1 -1
  167. package/dist/protocol-compatibility.d.ts +12 -0
  168. package/dist/protocol-compatibility.d.ts.map +1 -0
  169. package/dist/providers.json +107 -77
  170. package/dist/stores/local-prefs.d.ts +4 -3
  171. package/dist/stores/local-prefs.d.ts.map +1 -1
  172. package/dist/stores/mailbox-store.d.ts +2 -0
  173. package/dist/stores/mailbox-store.d.ts.map +1 -1
  174. package/dist/stores/session-store.d.ts +1 -1
  175. package/dist/stores/session-store.d.ts.map +1 -1
  176. package/dist/stores/types.d.ts +1 -1
  177. package/dist/stores/types.d.ts.map +1 -1
  178. package/dist/stores/ui-store.d.ts +3 -3
  179. package/dist/stores/ui-store.d.ts.map +1 -1
  180. package/dist/stores/viz-store.d.ts.map +1 -1
  181. package/dist/types.d.ts +364 -68
  182. package/dist/types.d.ts.map +1 -1
  183. package/package.json +7 -6
  184. package/dist/assets/AnalyticsDashboard-DM8YmJuy.js +0 -1
  185. package/dist/assets/AudienceMemoryPanel-BN1qR1rz.js +0 -3
  186. package/dist/assets/ChangesView-PgFw9vKk.js +0 -1
  187. package/dist/assets/ChronicleDashboard-CtOiFCYV.js +0 -1
  188. package/dist/assets/CodeEditor-B_KwrAhN.js +0 -1
  189. package/dist/assets/CodeMap-T1dsXVRH.js +0 -1
  190. package/dist/assets/ConfirmModal-Bm9f2Pg9.js +0 -1
  191. package/dist/assets/DesignGalleryView-CUi5RBHH.js +0 -1
  192. package/dist/assets/KanbanView-CD_x5YND.js +0 -2
  193. package/dist/assets/MailboxDetailView-DQpxIh_A.js +0 -1
  194. package/dist/assets/MemoryManager-BrCVqIJK.js +0 -1
  195. package/dist/assets/OfficeMapPanel-D01rqjLt.js +0 -4
  196. package/dist/assets/ProcessMonitor-DjO7eNsN.js +0 -1
  197. package/dist/assets/SddHub-DLVIXlN6.js +0 -2
  198. package/dist/assets/SessionsDashboard-DsAc_Sx2.js +0 -1
  199. package/dist/assets/SetupScreen-KqV61-Ir.js +0 -1
  200. package/dist/assets/SkillDetailView-CK7MB8Uo.js +0 -3
  201. package/dist/assets/TechStackView-nVNj4kWJ.js +0 -1
  202. package/dist/assets/Toaster-B1idXZ-O.js +0 -1
  203. package/dist/assets/activity-AfUMXtSI.js +0 -5
  204. package/dist/assets/activity-Bd_pRifE.js +0 -5
  205. package/dist/assets/activity-Ct_QOdtL.js +0 -5
  206. package/dist/assets/activity-Dyikq8Zm.js +0 -5
  207. package/dist/assets/activity-Ukyu3lON.js +0 -5
  208. package/dist/assets/activity-gaWDc806.js +0 -5
  209. package/dist/assets/index-BwEOo8R-.css +0 -1
  210. package/dist/assets/index-Du90vd1u.js +0 -119
  211. package/dist/assets/pagination-Ktuov5iD.js +0 -1
  212. package/dist/assets/settings-4BR882HN.js +0 -1
  213. package/dist/assets/settings-B5P4V9M6.js +0 -1
  214. package/dist/assets/settings-Cjxo5UVP.js +0 -1
  215. package/dist/assets/settings-CnViO4_M.js +0 -1
  216. package/dist/assets/settings-jrfJX8W2.js +0 -1
  217. package/dist/assets/shared-aSCYBzAV.js +0 -1
  218. package/dist/assets/ui-store-BepZz9CZ.js +0 -1
  219. package/dist/assets/useWebSocket-CRYUFxmO.js +0 -27
  220. package/dist/assets/ws-client-BWO_PH_X.js +0 -1
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Usage } from '@wrongstack/core';
1
+ import type { Usage } from '@wrongstack/core/types';
2
2
  import type { KanbanBoard, KanbanBoardPresence, KanbanBoardSummary, KanbanEvent, KanbanTask } from '@wrongstack/kanban';
3
3
  export interface WSMessage {
4
4
  type: string;
@@ -441,6 +441,8 @@ export interface WSToolLoopDetected {
441
441
  repeatCount: number;
442
442
  iteration: number;
443
443
  kind?: 'tool' | 'message' | 'mixed' | undefined;
444
+ action?: 'steer' | 'cut' | undefined;
445
+ scope?: 'iteration' | 'call' | undefined;
444
446
  };
445
447
  }
446
448
  export interface WSDelegateStarted {
@@ -617,22 +619,23 @@ export interface WSMemoryList {
617
619
  error?: string | undefined;
618
620
  };
619
621
  }
620
- export type SuperMemoryScope = 'project' | 'user' | 'session' | 'file' | 'symbol';
621
- export type SuperMemoryStatus = 'active' | 'stale' | 'superseded' | 'contradicted' | 'archived' | 'deleted';
622
- export interface SuperMemoryAnchor {
623
- type: 'file' | 'directory' | 'symbol' | 'package' | 'command' | 'test' | 'git';
622
+ export type SageScope = 'project' | 'user' | 'session' | 'file' | 'symbol';
623
+ export type SageStatus = 'active' | 'stale' | 'superseded' | 'contradicted' | 'archived' | 'deleted';
624
+ export interface SageAnchor {
625
+ type: 'file' | 'directory' | 'symbol' | 'package' | 'command' | 'test' | 'git' | 'agent';
624
626
  path?: string | undefined;
625
627
  symbol?: string | undefined;
626
628
  command?: string | undefined;
629
+ role?: string | undefined;
627
630
  lineStart?: number | undefined;
628
631
  lineEnd?: number | undefined;
629
632
  }
630
- export interface SuperMemoryEntry {
633
+ export interface SageEntry {
631
634
  id: string;
632
635
  revision: number;
633
- scope: SuperMemoryScope;
636
+ scope: SageScope;
634
637
  kind: string;
635
- status: SuperMemoryStatus;
638
+ status: SageStatus;
636
639
  contextPolicy?: 'eligible' | 'never' | undefined;
637
640
  text: string;
638
641
  summary?: string | undefined;
@@ -640,7 +643,7 @@ export interface SuperMemoryEntry {
640
643
  confidence: number;
641
644
  freshness: number;
642
645
  tags: string[];
643
- anchors: SuperMemoryAnchor[];
646
+ anchors: SageAnchor[];
644
647
  audience?: {
645
648
  roles?: string[];
646
649
  taskTypes?: string[];
@@ -655,13 +658,13 @@ export interface SuperMemoryEntry {
655
658
  lastVerifiedAt?: string | undefined;
656
659
  expiresAt?: string | undefined;
657
660
  }
658
- export interface SuperMemoryStats {
661
+ export interface SageStats {
659
662
  total: number;
660
663
  byStatus: Record<string, number>;
661
664
  byKind: Record<string, number>;
662
665
  edges: number;
663
666
  }
664
- export interface SuperMemoryGraphEdge {
667
+ export interface SageGraphEdge {
665
668
  id: string;
666
669
  from: string;
667
670
  to: string;
@@ -670,57 +673,57 @@ export interface SuperMemoryGraphEdge {
670
673
  evidence?: string[] | undefined;
671
674
  createdAt: string;
672
675
  }
673
- export interface WSMemorySuperList {
674
- type: 'memory.super.list';
676
+ export interface WSMemorySageList {
677
+ type: 'memory.sage.list';
675
678
  payload: {
676
- memories?: SuperMemoryEntry[] | undefined;
677
- stats?: SuperMemoryStats | undefined;
679
+ memories?: SageEntry[] | undefined;
680
+ stats?: SageStats | undefined;
678
681
  error?: string | undefined;
679
682
  };
680
683
  }
681
- export interface WSMemorySuperListPage {
682
- type: 'memory.super.listPage';
684
+ export interface WSMemorySageListPage {
685
+ type: 'memory.sage.listPage';
683
686
  payload: {
684
- memories?: SuperMemoryEntry[] | undefined;
687
+ memories?: SageEntry[] | undefined;
685
688
  nextCursor?: string | null | undefined;
686
689
  total?: number | undefined;
687
690
  statusCounts?: Record<string, number> | undefined;
688
- stats?: SuperMemoryStats | undefined;
691
+ stats?: SageStats | undefined;
689
692
  error?: string | undefined;
690
693
  };
691
694
  }
692
- export interface WSMemorySuperGet {
693
- type: 'memory.super.get';
695
+ export interface WSMemorySageGet {
696
+ type: 'memory.sage.get';
694
697
  payload: {
695
- memory?: SuperMemoryEntry | undefined;
698
+ memory?: SageEntry | undefined;
696
699
  error?: string | undefined;
697
700
  };
698
701
  }
699
- export interface WSMemorySuperGraph {
700
- type: 'memory.super.graph';
702
+ export interface WSMemorySageGraph {
703
+ type: 'memory.sage.graph';
701
704
  payload: {
702
705
  query: string;
703
- edges?: SuperMemoryGraphEdge[] | undefined;
704
- memories?: SuperMemoryEntry[] | undefined;
706
+ edges?: SageGraphEdge[] | undefined;
707
+ memories?: SageEntry[] | undefined;
705
708
  error?: string | undefined;
706
709
  };
707
710
  }
708
- export interface WSMemorySuperUpdate {
709
- type: 'memory.super.update';
711
+ export interface WSMemorySageUpdate {
712
+ type: 'memory.sage.update';
710
713
  payload: {
711
- memory?: SuperMemoryEntry | undefined;
714
+ memory?: SageEntry | undefined;
712
715
  error?: string | undefined;
713
716
  };
714
717
  }
715
- export interface WSMemorySuperRemember {
716
- type: 'memory.super.remember';
718
+ export interface WSMemorySageRemember {
719
+ type: 'memory.sage.remember';
717
720
  payload: {
718
- memory?: SuperMemoryEntry | undefined;
721
+ memory?: SageEntry | undefined;
719
722
  error?: string | undefined;
720
723
  };
721
724
  }
722
- export interface WSMemorySuperDelete {
723
- type: 'memory.super.delete';
725
+ export interface WSMemorySageDelete {
726
+ type: 'memory.sage.delete';
724
727
  payload: {
725
728
  success: boolean;
726
729
  message: string;
@@ -728,9 +731,9 @@ export interface WSMemorySuperDelete {
728
731
  }
729
732
  /**
730
733
  * Why a memory matched the file/drawer query. Mirrors
731
- * `MemoryMatchVia` from `@wrongstack/super-memory` (see PR #4 backend).
734
+ * `MemoryMatchVia` from `@wrongstack/sage` (see PR #4 backend).
732
735
  * Kept as a local re-declaration so the webui types module doesn't have to
733
- * import from super-memory directly.
736
+ * import from sage directly.
734
737
  */
735
738
  export type MemoryMatchVia = 'scope_file' | 'scope_symbol' | 'anchor_file' | 'anchor_symbol' | 'anchor_directory' | 'mention';
736
739
  export interface MemoryPendingReview {
@@ -741,7 +744,7 @@ export interface MemoryPendingReview {
741
744
  }
742
745
  /** Web-side mirror of `MemoryForFileMatch` — superset kept local for layering. */
743
746
  export interface MemoryForFileMatch {
744
- memory: SuperMemoryEntry;
747
+ memory: SageEntry;
745
748
  matchedVia: MemoryMatchVia;
746
749
  /** 0..1; higher = stronger match signal. */
747
750
  matchStrength: number;
@@ -761,11 +764,11 @@ export interface MemoryForFileResponse {
761
764
  reviewPendingCount: number;
762
765
  }
763
766
  /**
764
- * Request payload for `memory.super.forFile`. Cursor fields are optional —
767
+ * Request payload for `memory.sage.forFile`. Cursor fields are optional —
765
768
  * when both are provided, symbol-anchored memories overlapping the cursor
766
769
  * range surface first (cursor-aware boost).
767
770
  */
768
- export interface WSMemorySuperForFileRequest {
771
+ export interface WSMemorySageForFileRequest {
769
772
  /** Project-relative file path. */
770
773
  filePath: string;
771
774
  /** Optional caret line (1-indexed). */
@@ -779,18 +782,18 @@ export interface WSMemorySuperForFileRequest {
779
782
  /** Default false. Show recoverable deleted memories for one-click recovery. */
780
783
  showDeleted?: boolean;
781
784
  }
782
- export interface WSMemorySuperForFile {
783
- type: 'memory.super.forFile';
785
+ export interface WSMemorySageForFile {
786
+ type: 'memory.sage.forFile';
784
787
  payload: {
785
788
  response?: MemoryForFileResponse | undefined;
786
789
  error?: string | undefined;
787
790
  };
788
791
  }
789
- export interface WSMemorySuperRecover {
790
- type: 'memory.super.recover';
792
+ export interface WSMemorySageRecover {
793
+ type: 'memory.sage.recover';
791
794
  payload: {
792
795
  /** The restored memory (active status). */
793
- memory?: SuperMemoryEntry | undefined;
796
+ memory?: SageEntry | undefined;
794
797
  /** True when the requested id was already active/superseded (no-op write). */
795
798
  noop?: boolean | undefined;
796
799
  /** Head-of-chain id when the requested id was superseded. */
@@ -798,8 +801,8 @@ export interface WSMemorySuperRecover {
798
801
  error?: string | undefined;
799
802
  };
800
803
  }
801
- export interface WSMemorySuperCandidateResolve {
802
- type: 'memory.super.candidateResolve';
804
+ export interface WSMemorySageCandidateResolve {
805
+ type: 'memory.sage.candidateResolve';
803
806
  payload: {
804
807
  /** The resolved candidate (with updated status). */
805
808
  candidate?: MemoryCandidateEntry | undefined;
@@ -808,7 +811,7 @@ export interface WSMemorySuperCandidateResolve {
808
811
  error?: string | undefined;
809
812
  };
810
813
  }
811
- /** Local mirror of super-memory's `MemoryCandidate`. */
814
+ /** Local mirror of sage's `MemoryCandidate`. */
812
815
  export interface MemoryCandidateEntry {
813
816
  schemaVersion: 1;
814
817
  id: string;
@@ -818,7 +821,7 @@ export interface MemoryCandidateEntry {
818
821
  confidence: number;
819
822
  importance: number;
820
823
  tags: string[];
821
- anchors: SuperMemoryAnchor[];
824
+ anchors: SageAnchor[];
822
825
  sources: Array<{
823
826
  type: 'user' | 'session' | 'tool_result' | 'project_instruction' | 'file' | 'test' | 'command' | 'legacy_memory';
824
827
  sessionId?: string;
@@ -830,8 +833,8 @@ export interface MemoryCandidateEntry {
830
833
  createdAt: string;
831
834
  updatedAt: string;
832
835
  }
833
- export interface WSMemorySuperBackfillRecoverable {
834
- type: 'memory.super.backfillRecoverable';
836
+ export interface WSMemorySageBackfillRecoverable {
837
+ type: 'memory.sage.backfillRecoverable';
835
838
  payload: {
836
839
  /** Records that were backfilled into a fresh active version (dryRun=false). */
837
840
  recoveredRecords?: Array<{
@@ -934,6 +937,31 @@ export interface WSDesignSet {
934
937
  error?: string | undefined;
935
938
  };
936
939
  }
940
+ export interface WSDesignTune {
941
+ type: 'design.tune';
942
+ payload: {
943
+ ok: boolean;
944
+ /** The concrete token overrides the knobs resolved to. */
945
+ resolved?: Record<string, string> | undefined;
946
+ overrides?: Record<string, string> | undefined;
947
+ error?: string | undefined;
948
+ };
949
+ }
950
+ export interface WSDesignSwap {
951
+ type: 'design.swap';
952
+ payload: {
953
+ ok: boolean;
954
+ kit?: string | undefined;
955
+ name?: string | undefined;
956
+ aesthetic?: string | undefined;
957
+ stack?: string | undefined;
958
+ body?: string | undefined;
959
+ overrides?: Record<string, string> | undefined;
960
+ light?: Record<string, string> | undefined;
961
+ dark?: Record<string, string> | undefined;
962
+ error?: string | undefined;
963
+ };
964
+ }
937
965
  export interface WSDesignMaterialize {
938
966
  type: 'design.materialize';
939
967
  payload: {
@@ -1464,6 +1492,134 @@ export interface BrainCouncilVoterWire extends BrainModelEntryWire {
1464
1492
  weight?: number | undefined;
1465
1493
  veto?: boolean | undefined;
1466
1494
  }
1495
+ /** Predicate half of a deterministic Brain rule on the wire (mirrors BrainRuleMatch). */
1496
+ export interface BrainRuleMatchWire {
1497
+ source?: string | string[] | undefined;
1498
+ risk?: string | string[] | undefined;
1499
+ minRisk?: string | undefined;
1500
+ maxRisk?: string | undefined;
1501
+ fallback?: string | string[] | undefined;
1502
+ hasOptions?: boolean | undefined;
1503
+ offersOption?: string | undefined;
1504
+ question?: string | undefined;
1505
+ context?: string | undefined;
1506
+ notQuestion?: string | undefined;
1507
+ notContext?: string | undefined;
1508
+ }
1509
+ /** Action half of a deterministic Brain rule on the wire (mirrors BrainRuleAction). */
1510
+ export type BrainRuleActionWire = {
1511
+ action: 'answer';
1512
+ optionId?: string | undefined;
1513
+ text?: string | undefined;
1514
+ rationale?: string | undefined;
1515
+ } | {
1516
+ action: 'deny';
1517
+ reason?: string | undefined;
1518
+ } | {
1519
+ action: 'escalate';
1520
+ prompt?: string | undefined;
1521
+ } | {
1522
+ action: 'defer';
1523
+ };
1524
+ /** One deterministic Brain rule on the wire (mirrors core's BrainRule). */
1525
+ export interface BrainRuleWire {
1526
+ id: string;
1527
+ enabled?: boolean | undefined;
1528
+ description?: string | undefined;
1529
+ when: BrainRuleMatchWire;
1530
+ then: BrainRuleActionWire;
1531
+ }
1532
+ /** Built-in pattern-heuristic toggles on the wire (mirrors BrainHeuristicsConfig). */
1533
+ export interface BrainHeuristicsWire {
1534
+ lowRiskAutoAnswer: boolean;
1535
+ blockedResolved: boolean;
1536
+ deadlockSkip: boolean;
1537
+ retryExhausted: boolean;
1538
+ continuePing: boolean;
1539
+ blockedResolvedMarkers?: string[] | undefined;
1540
+ }
1541
+ /** Writable form of the heuristic toggles (every field optional, `null` clears the block). */
1542
+ export interface BrainHeuristicsPatchWire {
1543
+ lowRiskAutoAnswer?: boolean | undefined;
1544
+ blockedResolved?: boolean | undefined;
1545
+ deadlockSkip?: boolean | undefined;
1546
+ retryExhausted?: boolean | undefined;
1547
+ continuePing?: boolean | undefined;
1548
+ blockedResolvedMarkers?: string[] | undefined;
1549
+ }
1550
+ /** Effective single-LLM tier quality gate. */
1551
+ export interface BrainLlmWire {
1552
+ maxTokens: number;
1553
+ rejectUncertain: boolean;
1554
+ minConfidence: number;
1555
+ denyIsTerminal: 'never' | 'when-decided' | 'always';
1556
+ }
1557
+ /** Writable single-LLM tier quality gate. */
1558
+ export interface BrainLlmPatchWire {
1559
+ maxTokens?: number | undefined;
1560
+ rejectUncertain?: boolean | undefined;
1561
+ minConfidence?: number | undefined;
1562
+ denyIsTerminal?: 'never' | 'when-decided' | 'always' | undefined;
1563
+ circuitBreaker?: {
1564
+ failureThreshold?: number | undefined;
1565
+ cooldownMs?: number | undefined;
1566
+ } | undefined;
1567
+ }
1568
+ /** Effective replay-trace settings. */
1569
+ export interface BrainTraceWire {
1570
+ enabled: boolean;
1571
+ content: 'none' | 'redacted' | 'full';
1572
+ path?: string | undefined;
1573
+ }
1574
+ /** Writable replay-trace settings. */
1575
+ export interface BrainTracePatchWire {
1576
+ enabled?: boolean | undefined;
1577
+ content?: 'none' | 'redacted' | 'full' | undefined;
1578
+ path?: string | undefined;
1579
+ maxOpenRecords?: number | undefined;
1580
+ }
1581
+ /** BrainMonitor distress-signal settings (same shape read + written). */
1582
+ export interface BrainMonitorWire {
1583
+ enabled?: boolean | undefined;
1584
+ policy?: 'llm' | 'steer' | 'observe' | undefined;
1585
+ signals?: {
1586
+ toolFailureStreak?: boolean | undefined;
1587
+ errorStorm?: boolean | undefined;
1588
+ agentStall?: boolean | undefined;
1589
+ fileChurn?: boolean | undefined;
1590
+ } | undefined;
1591
+ toolFailureStreak?: number | undefined;
1592
+ errorStormCount?: number | undefined;
1593
+ errorStormWindowMs?: number | undefined;
1594
+ stallMs?: number | undefined;
1595
+ stallCheckIntervalMs?: number | undefined;
1596
+ fileChurnThreshold?: number | undefined;
1597
+ fileChurnWindowMs?: number | undefined;
1598
+ fileEditTools?: string[] | undefined;
1599
+ cooldownMs?: number | undefined;
1600
+ }
1601
+ /** Effective decision-cache settings plus live counters (`hits`/`misses`/`size` are read-only). */
1602
+ export interface BrainCacheWire {
1603
+ enabled: boolean;
1604
+ ttlMs: number;
1605
+ maxEntries: number;
1606
+ hits: number;
1607
+ misses: number;
1608
+ size: number;
1609
+ }
1610
+ /** Writable decision-cache settings. */
1611
+ export interface BrainCachePatchWire {
1612
+ enabled?: boolean | undefined;
1613
+ ttlMs?: number | undefined;
1614
+ maxEntries?: number | undefined;
1615
+ }
1616
+ /** One council seat template on the wire. */
1617
+ export interface BrainCouncilSeatWire {
1618
+ persona: string;
1619
+ veto?: boolean | undefined;
1620
+ }
1621
+ /** Headless escalation variant. */
1622
+ export type BrainTerminalPolicyWire = 'conservative' | 'deny-all' | 'continue-on-recommended';
1467
1623
  /** JSON-safe snapshot of the live Brain config (mirrors core's BrainConfigSnapshot). */
1468
1624
  export interface BrainConfigWire {
1469
1625
  mode: 'headless' | 'interactive';
@@ -1481,12 +1637,36 @@ export interface BrainConfigWire {
1481
1637
  quorum?: number | undefined;
1482
1638
  approval?: number | undefined;
1483
1639
  judge?: BrainModelEntryWire | undefined;
1640
+ perCallTimeoutMs?: number | undefined;
1641
+ maxConcurrency?: number | undefined;
1642
+ distinctness: 'none' | 'model' | 'provider';
1643
+ judgeMaxTokens?: number | undefined;
1644
+ seats: BrainCouncilSeatWire[];
1484
1645
  };
1485
1646
  ledger: {
1486
1647
  enabled: boolean;
1487
1648
  autoDenyAfterFailures?: number | undefined;
1488
1649
  path?: string | undefined;
1489
- };
1650
+ /** Writable via the patch; core's snapshot does not echo these back yet. */
1651
+ maxMemoryEntries?: number | undefined;
1652
+ interventionRetryWindowMs?: number | undefined;
1653
+ };
1654
+ /** Configured deterministic rules, in evaluation order (read-only here). */
1655
+ rules: BrainRuleWire[];
1656
+ /** Compile diagnostics from the last assembly — one per dropped rule. */
1657
+ ruleErrors: string[];
1658
+ heuristics: BrainHeuristicsWire;
1659
+ llm: BrainLlmWire;
1660
+ trace: BrainTraceWire;
1661
+ monitor: BrainMonitorWire;
1662
+ terminalPolicy: BrainTerminalPolicyWire;
1663
+ decisionLogMaxEntries: number;
1664
+ /** Live LLM circuit-breaker state, when a breaker is wired (read-only). */
1665
+ circuit?: {
1666
+ state: string;
1667
+ consecutiveFailures: number;
1668
+ } | undefined;
1669
+ cache: BrainCacheWire;
1490
1670
  poolLabels: string[];
1491
1671
  councilLabels: string[];
1492
1672
  usingSessionModel: boolean;
@@ -1506,11 +1686,28 @@ export interface BrainConfigPatchWire {
1506
1686
  quorum?: number | null | undefined;
1507
1687
  approval?: number | null | undefined;
1508
1688
  judge?: string | BrainModelEntryWire | null | undefined;
1689
+ perCallTimeoutMs?: number | null | undefined;
1690
+ maxConcurrency?: number | null | undefined;
1691
+ distinctness?: 'none' | 'model' | 'provider' | null | undefined;
1692
+ judgeMaxTokens?: number | null | undefined;
1693
+ seats?: BrainCouncilSeatWire[] | null | undefined;
1509
1694
  } | null | undefined;
1510
1695
  ledger?: {
1511
1696
  enabled?: boolean | undefined;
1512
1697
  autoDenyAfterFailures?: number | null | undefined;
1698
+ maxMemoryEntries?: number | null | undefined;
1699
+ interventionRetryWindowMs?: number | null | undefined;
1513
1700
  } | null | undefined;
1701
+ /** Replaces the whole rule table; `null` clears it. */
1702
+ rules?: BrainRuleWire[] | null | undefined;
1703
+ /** Merged field-by-field; `null` clears the block back to all-defaults. */
1704
+ heuristics?: BrainHeuristicsPatchWire | null | undefined;
1705
+ llm?: BrainLlmPatchWire | null | undefined;
1706
+ trace?: BrainTracePatchWire | null | undefined;
1707
+ monitor?: BrainMonitorWire | null | undefined;
1708
+ terminalPolicy?: BrainTerminalPolicyWire | null | undefined;
1709
+ decisionLogMaxEntries?: number | null | undefined;
1710
+ cache?: BrainCachePatchWire | null | undefined;
1514
1711
  }
1515
1712
  export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1516
1713
  type: 'side_effects.list';
@@ -1921,6 +2118,7 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1921
2118
  type: 'auth.oauth.start';
1922
2119
  payload: {
1923
2120
  kind: OAuthKind;
2121
+ providerId?: string | undefined;
1924
2122
  };
1925
2123
  } | {
1926
2124
  type: 'auth.oauth.code';
@@ -1938,9 +2136,12 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1938
2136
  } | {
1939
2137
  type: 'memory.list';
1940
2138
  } | {
1941
- type: 'memory.super.list';
2139
+ type: `agent-roster.${string}`;
2140
+ payload?: Record<string, unknown> | undefined;
2141
+ } | {
2142
+ type: 'memory.sage.list';
1942
2143
  } | {
1943
- type: 'memory.super.listPage';
2144
+ type: 'memory.sage.listPage';
1944
2145
  payload: {
1945
2146
  statuses?: string[] | undefined;
1946
2147
  kind?: string | undefined;
@@ -1949,29 +2150,29 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1949
2150
  cursor?: string | undefined;
1950
2151
  };
1951
2152
  } | {
1952
- type: 'memory.super.get';
2153
+ type: 'memory.sage.get';
1953
2154
  payload: {
1954
2155
  id: string;
1955
2156
  };
1956
2157
  } | {
1957
- type: 'memory.super.graph';
2158
+ type: 'memory.sage.graph';
1958
2159
  payload: {
1959
2160
  query: string;
1960
2161
  maxDepth?: number;
1961
2162
  limit?: number;
1962
2163
  };
1963
2164
  } | {
1964
- type: 'memory.super.update';
2165
+ type: 'memory.sage.update';
1965
2166
  payload: {
1966
2167
  id: string;
1967
2168
  text?: string | undefined;
1968
2169
  tags?: string[] | undefined;
1969
2170
  kind?: string | undefined;
1970
- status?: SuperMemoryStatus | undefined;
2171
+ status?: SageStatus | undefined;
1971
2172
  importance?: number | undefined;
1972
2173
  confidence?: number | undefined;
1973
2174
  freshness?: number | undefined;
1974
- anchors?: SuperMemoryAnchor[] | undefined;
2175
+ anchors?: SageAnchor[] | undefined;
1975
2176
  audience?: {
1976
2177
  roles?: string[];
1977
2178
  taskTypes?: string[];
@@ -1981,27 +2182,27 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1981
2182
  contradicts?: string[] | undefined;
1982
2183
  };
1983
2184
  } | {
1984
- type: 'memory.super.delete';
2185
+ type: 'memory.sage.delete';
1985
2186
  payload: {
1986
2187
  id: string;
1987
2188
  reason?: string | undefined;
1988
2189
  neverInject?: boolean | undefined;
1989
2190
  };
1990
2191
  } | {
1991
- type: 'memory.super.recover';
2192
+ type: 'memory.sage.recover';
1992
2193
  payload: {
1993
2194
  id: string;
1994
2195
  reason?: string | undefined;
1995
2196
  };
1996
2197
  } | {
1997
- type: 'memory.super.candidateResolve';
2198
+ type: 'memory.sage.candidateResolve';
1998
2199
  payload: {
1999
2200
  candidateId: string;
2000
2201
  action: 'accept' | 'reject';
2001
2202
  reason?: string | undefined;
2002
2203
  };
2003
2204
  } | {
2004
- type: 'memory.super.backfillRecoverable';
2205
+ type: 'memory.sage.backfillRecoverable';
2005
2206
  payload: {
2006
2207
  apply: boolean;
2007
2208
  kinds?: string[] | undefined;
@@ -2010,19 +2211,19 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2010
2211
  updatedBefore?: string | undefined;
2011
2212
  };
2012
2213
  } | {
2013
- type: 'memory.super.forFile';
2014
- payload: WSMemorySuperForFileRequest;
2214
+ type: 'memory.sage.forFile';
2215
+ payload: WSMemorySageForFileRequest;
2015
2216
  } | {
2016
- type: 'memory.super.remember';
2217
+ type: 'memory.sage.remember';
2017
2218
  payload: {
2018
2219
  text: string;
2019
2220
  kind?: string | undefined;
2020
- scope?: SuperMemoryScope | undefined;
2221
+ scope?: SageScope | undefined;
2021
2222
  tags?: string[] | undefined;
2022
2223
  importance?: number | undefined;
2023
2224
  confidence?: number | undefined;
2024
2225
  freshness?: number | undefined;
2025
- anchors?: SuperMemoryAnchor[] | undefined;
2226
+ anchors?: SageAnchor[] | undefined;
2026
2227
  audience?: {
2027
2228
  roles?: string[];
2028
2229
  taskTypes?: string[];
@@ -2099,6 +2300,13 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2099
2300
  query?: ChronicleQuery | undefined;
2100
2301
  limit?: number | undefined;
2101
2302
  };
2303
+ } | {
2304
+ type: 'chronicle.facets';
2305
+ payload: {
2306
+ fields: ChronicleFacet[];
2307
+ query?: ChronicleQuery | undefined;
2308
+ limit?: number | undefined;
2309
+ };
2102
2310
  } | {
2103
2311
  type: 'chronicle.graph';
2104
2312
  payload: {
@@ -2252,6 +2460,18 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2252
2460
  target: 'terminal' | 'file-manager';
2253
2461
  };
2254
2462
  } | WSCollabJoin | WSCollabLeave | WSCollabAnnotate | WSCollabResolve | WSCollabRequestPause | WSCollabResume | WSCollabGrantControl | WSCollabInjectTool | {
2463
+ type: 'mailbox.send';
2464
+ payload: {
2465
+ requestId: string;
2466
+ to: string;
2467
+ type: 'note' | 'ask' | 'assign' | 'steer' | 'btw' | 'broadcast' | 'status' | 'result' | 'review';
2468
+ audience: 'all' | 'leaders';
2469
+ subject: string;
2470
+ body: string;
2471
+ priority: 'low' | 'normal' | 'high';
2472
+ replyTo?: string | undefined;
2473
+ };
2474
+ } | {
2255
2475
  type: 'mailbox.messages';
2256
2476
  payload: {
2257
2477
  limit?: number | undefined;
@@ -2369,6 +2589,22 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2369
2589
  payload: {
2370
2590
  overrides: Record<string, string>;
2371
2591
  };
2592
+ } | {
2593
+ type: 'design.tune';
2594
+ payload: {
2595
+ tune: {
2596
+ radius?: string | undefined;
2597
+ density?: string | undefined;
2598
+ font?: string | undefined;
2599
+ motion?: string | undefined;
2600
+ };
2601
+ };
2602
+ } | {
2603
+ type: 'design.swap';
2604
+ payload: {
2605
+ kit: string;
2606
+ stack?: string | undefined;
2607
+ };
2372
2608
  } | {
2373
2609
  type: 'design.materialize';
2374
2610
  payload?: {
@@ -2377,6 +2613,11 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2377
2613
  } | undefined;
2378
2614
  } | {
2379
2615
  type: 'design.verify';
2616
+ } | {
2617
+ type: 'config.doctor';
2618
+ payload?: {
2619
+ apply?: boolean;
2620
+ } | undefined;
2380
2621
  } | {
2381
2622
  type: 'mcp.list';
2382
2623
  } | {
@@ -2390,6 +2631,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2390
2631
  args?: string[];
2391
2632
  env?: Record<string, string>;
2392
2633
  allowedTools?: string[];
2634
+ url?: string;
2635
+ headers?: Record<string, string>;
2636
+ lazy?: boolean;
2393
2637
  };
2394
2638
  } | {
2395
2639
  type: 'mcp.remove';
@@ -2407,6 +2651,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2407
2651
  args?: string[];
2408
2652
  env?: Record<string, string>;
2409
2653
  allowedTools?: string[];
2654
+ url?: string;
2655
+ headers?: Record<string, string>;
2656
+ lazy?: boolean;
2410
2657
  };
2411
2658
  } | {
2412
2659
  type: 'mcp.wake';
@@ -2512,7 +2759,7 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2512
2759
  type: 'webui.shutdown';
2513
2760
  };
2514
2761
  export type WSClientMessage = WSClientMessageCore;
2515
- export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSCodeMapToolStarted | WSCodeMapToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStatusChanged | WSProviderActiveBlocked | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList | WSMemorySuperList | WSMemorySuperListPage | WSMemorySuperGet | WSMemorySuperGraph | WSMemorySuperUpdate | WSMemorySuperRemember | WSMemorySuperDelete | WSMemorySuperRecover | WSMemorySuperCandidateResolve | WSMemorySuperBackfillRecoverable | WSMemorySuperForFile | WSSkillsList | WSSkillContent | WSDesignList | WSDesignUse | WSDesignState | WSDesignSet | WSDesignMaterialize | WSDesignVerify | WSSkillsInstalled | WSSkillsUninstalled | WSSkillsUpdated | WSSkillsCreated | WSSkillsEdited | WSSkillsExported | WSDiagGet | WSStatsGet | {
2762
+ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSCodeMapToolStarted | WSCodeMapToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStatusChanged | WSProviderActiveBlocked | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList | WSMemorySageList | WSMemorySageListPage | WSMemorySageGet | WSMemorySageGraph | WSMemorySageUpdate | WSMemorySageRemember | WSMemorySageDelete | WSMemorySageRecover | WSMemorySageCandidateResolve | WSMemorySageBackfillRecoverable | WSMemorySageForFile | WSSkillsList | WSSkillContent | WSDesignList | WSDesignUse | WSDesignState | WSDesignSet | WSDesignTune | WSDesignSwap | WSDesignMaterialize | WSDesignVerify | WSSkillsInstalled | WSSkillsUninstalled | WSSkillsUpdated | WSSkillsCreated | WSSkillsEdited | WSSkillsExported | WSDiagGet | WSStatsGet | {
2516
2763
  type: 'chronicle.query_result';
2517
2764
  payload: ChronicleQueryResult;
2518
2765
  } | {
@@ -2525,6 +2772,15 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2525
2772
  invalidLines: number;
2526
2773
  };
2527
2774
  };
2775
+ } | {
2776
+ type: 'chronicle.facets_result';
2777
+ payload: {
2778
+ values: Partial<Record<ChronicleFacet, ChronicleFacetValue[]>>;
2779
+ diagnostics: {
2780
+ sourceFiles: number;
2781
+ invalidLines: number;
2782
+ };
2783
+ };
2528
2784
  } | {
2529
2785
  type: 'chronicle.graph_result';
2530
2786
  payload: ChronicleGraphResult;
@@ -2715,6 +2971,16 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2715
2971
  agents: Array<Record<string, unknown>>;
2716
2972
  error?: string | undefined;
2717
2973
  };
2974
+ } | {
2975
+ type: 'mailbox.sent';
2976
+ payload: {
2977
+ requestId: string;
2978
+ success: boolean;
2979
+ messageId?: string | undefined;
2980
+ to?: string | undefined;
2981
+ audience?: 'all' | 'leaders' | undefined;
2982
+ error?: string | undefined;
2983
+ };
2718
2984
  } | {
2719
2985
  type: 'pong';
2720
2986
  payload?: Record<string, unknown> | undefined;
@@ -2728,6 +2994,7 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2728
2994
  startedAt: number;
2729
2995
  status: 'running' | 'exited' | 'killed';
2730
2996
  protected?: boolean | undefined;
2997
+ background?: boolean | undefined;
2731
2998
  }>;
2732
2999
  };
2733
3000
  } | WSSideEffects | {
@@ -3043,6 +3310,20 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3043
3310
  name: string;
3044
3311
  ok: boolean;
3045
3312
  };
3313
+ } | {
3314
+ type: 'config.doctor.result';
3315
+ payload: {
3316
+ success: boolean;
3317
+ applied: boolean;
3318
+ changed: boolean;
3319
+ changes: Array<{
3320
+ path: string;
3321
+ action: 'added' | 'replaced';
3322
+ }>;
3323
+ configPath: string;
3324
+ backupPath?: string;
3325
+ error?: string;
3326
+ };
3046
3327
  } | {
3047
3328
  type: 'mcp.list';
3048
3329
  payload: {
@@ -3055,6 +3336,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3055
3336
  tools?: string[];
3056
3337
  error?: string;
3057
3338
  pid?: number;
3339
+ lazy?: boolean;
3340
+ command?: string;
3341
+ args?: string[];
3342
+ env?: Record<string, string>;
3343
+ url?: string;
3058
3344
  health?: {
3059
3345
  healthState: 'disabled' | 'dormant' | 'connecting' | 'healthy' | 'degraded' | 'failed';
3060
3346
  consecutiveFailures: number;
@@ -3088,6 +3374,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3088
3374
  enabled: boolean;
3089
3375
  description?: string;
3090
3376
  tools?: string[];
3377
+ lazy?: boolean;
3378
+ command?: string;
3379
+ args?: string[];
3380
+ env?: Record<string, string>;
3381
+ url?: string;
3091
3382
  };
3092
3383
  };
3093
3384
  } | {
@@ -3105,6 +3396,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3105
3396
  enabled: boolean;
3106
3397
  description?: string;
3107
3398
  tools?: string[];
3399
+ lazy?: boolean;
3400
+ command?: string;
3401
+ args?: string[];
3402
+ env?: Record<string, string>;
3403
+ url?: string;
3108
3404
  };
3109
3405
  };
3110
3406
  } | {