@wrongstack/webui 0.293.0 → 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 (207) 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-ByJqIjCv.js → CronJobsPanel-CT6XRgmQ.js} +1 -1
  11. package/dist/assets/{DebugDashboard-B0pikasm.js → DebugDashboard-DZy3VUpn.js} +1 -1
  12. package/dist/assets/DesignGalleryView-CQkuFsfj.js +1 -0
  13. package/dist/assets/{GoalView-DXO9txQs.js → GoalView-CTqdYc-z.js} +1 -1
  14. package/dist/assets/KanbanView-DryFcAzY.js +3 -0
  15. package/dist/assets/{LazyMarkdown-BHoUIDge.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-CEZN673P.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-DMXksqFS.js → QueuePanel-BGSxmdqf.js} +1 -1
  23. package/dist/assets/{RefreshDebugView-D08bCHA4.js → RefreshDebugView-B_wCBpFb.js} +1 -1
  24. package/dist/assets/SddHub-BryXNdFd.js +2 -0
  25. package/dist/assets/{SessionsDashboard-BY77vax1.js → SessionsDashboard-DLOhC9JZ.js} +1 -1
  26. package/dist/assets/SetupScreen-DsXgzxA1.js +1 -0
  27. package/dist/assets/SkillDetailView-ChyQLtrl.js +3 -0
  28. package/dist/assets/{SpecsView-CZg7e2ml.js → SpecsView-Dh9YG8Id.js} +1 -1
  29. package/dist/assets/TechStackView-RJGVF44_.js +1 -0
  30. package/dist/assets/{TerminalPanel-SnRvUh6N.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-Dy0bAtEY.js → button-GVbauxIJ.js} +1 -1
  40. package/dist/assets/{chat-store-CUODHW6c.js → chat-store-BEcTB7SD.js} +7 -7
  41. package/dist/assets/{codemap-activity-store-CgtLR4PV.js → codemap-activity-store-DrrI6G7M.js} +1 -1
  42. package/dist/assets/{dialog-CBgO-uqz.js → dialog-BjPQYovj.js} +1 -1
  43. package/dist/assets/empty-state-DJc37Wg1.js +1 -0
  44. package/dist/assets/{i18n-Dk35g-uV.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-B6FY_vtB.js → input-BVi5hYQz.js} +1 -1
  48. package/dist/assets/{mailbox-store-BY2SVw-s.js → mailbox-store-DSvN5ZEo.js} +1 -1
  49. package/dist/assets/roster-ws-BD-ATeja.js +1 -0
  50. package/dist/assets/{session-store-Coiik-Ib.js → session-store-K_ozfq0o.js} +1 -1
  51. package/dist/assets/{settings-C65WW7Jn.js → settings-24NUQrlz.js} +1 -1
  52. package/dist/assets/{settings-Dp5NIt-h.js → settings-BcyGqyX3.js} +1 -1
  53. package/dist/assets/{settings-B9dVH8oJ.js → settings-BhEHLxqK.js} +1 -1
  54. package/dist/assets/{settings-BBR9xBqW.js → settings-C67tfoiy.js} +1 -1
  55. package/dist/assets/{settings-BaZcBGA7.js → settings-CvkIXOQE.js} +1 -1
  56. package/dist/assets/{settings-BXWyZpz5.js → settings-DGTQ4aKo.js} +1 -1
  57. package/dist/assets/{settings-BK1-R1dO.js → settings-i7lxRYZu.js} +1 -1
  58. package/dist/assets/shared-BQ9yQXDx.js +1 -0
  59. package/dist/assets/{stores-CUp_ut8r.js → stores-DVhvmaer.js} +2 -2
  60. package/dist/assets/ui-store-DxFtiYFb.js +1 -0
  61. package/dist/assets/useWebSocket-kb2VPjLc.js +28 -0
  62. package/dist/assets/{utils-DEzFewqr.js → utils-DvgvNCoT.js} +1 -1
  63. package/dist/assets/{vendor-DffL_bim.js → vendor-BmsAdDhb.js} +30 -30
  64. package/dist/assets/{view-navigation-BjlXpDXc.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/CustomRosterPanel.d.ts +38 -0
  83. package/dist/components/CustomRosterPanel.d.ts.map +1 -0
  84. package/dist/components/DesignGalleryView.d.ts.map +1 -1
  85. package/dist/components/KanbanView.d.ts.map +1 -1
  86. package/dist/components/MailboxDetailView.d.ts.map +1 -1
  87. package/dist/components/MailboxPanel.d.ts.map +1 -1
  88. package/dist/components/MemoryManager/MemoryDetail.d.ts +4 -4
  89. package/dist/components/MemoryManager/MemoryDetail.d.ts.map +1 -1
  90. package/dist/components/MemoryManager/MemoryEditor.d.ts.map +1 -1
  91. package/dist/components/MemoryManager/MemoryFilters.d.ts +4 -4
  92. package/dist/components/MemoryManager/MemoryFilters.d.ts.map +1 -1
  93. package/dist/components/MemoryManager/MemoryGraph.d.ts +4 -4
  94. package/dist/components/MemoryManager/MemoryGraph.d.ts.map +1 -1
  95. package/dist/components/MemoryManager/MemoryList.d.ts +3 -3
  96. package/dist/components/MemoryManager/MemoryList.d.ts.map +1 -1
  97. package/dist/components/MemoryManager/index.d.ts.map +1 -1
  98. package/dist/components/MemoryManager/shared.d.ts +15 -15
  99. package/dist/components/MemoryManager/shared.d.ts.map +1 -1
  100. package/dist/components/MessageBubble/index.d.ts.map +1 -1
  101. package/dist/components/OfficeMapCanvas/resolve.d.ts +17 -1
  102. package/dist/components/OfficeMapCanvas/resolve.d.ts.map +1 -1
  103. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts +21 -0
  104. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts.map +1 -0
  105. package/dist/components/OfficeMapCanvas.d.ts.map +1 -1
  106. package/dist/components/ProcessMonitor.d.ts.map +1 -1
  107. package/dist/components/SettingsPanel/BrainSection.d.ts.map +1 -1
  108. package/dist/components/SettingsPanel/MCPSection.d.ts +4 -0
  109. package/dist/components/SettingsPanel/MCPSection.d.ts.map +1 -1
  110. package/dist/components/SettingsPanel/PluginToggleList.d.ts.map +1 -1
  111. package/dist/components/SettingsPanel/PreferenceControls.d.ts +3 -1
  112. package/dist/components/SettingsPanel/PreferenceControls.d.ts.map +1 -1
  113. package/dist/components/SettingsPanel/PreferenceToggle.d.ts +3 -1
  114. package/dist/components/SettingsPanel/PreferenceToggle.d.ts.map +1 -1
  115. package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts.map +1 -1
  116. package/dist/components/SettingsPanel/ProviderSection.d.ts.map +1 -1
  117. package/dist/components/SettingsPanel/local-presets.d.ts +2 -29
  118. package/dist/components/SettingsPanel/local-presets.d.ts.map +1 -1
  119. package/dist/components/SetupScreen.d.ts.map +1 -1
  120. package/dist/components/ShortcutsOverlay.d.ts.map +1 -1
  121. package/dist/components/SidePanel/SkillsList.d.ts.map +1 -1
  122. package/dist/components/SkillDetailView.d.ts.map +1 -1
  123. package/dist/components/TechStackView/index.d.ts.map +1 -1
  124. package/dist/components/VerificationReportPanel.d.ts +15 -0
  125. package/dist/components/VerificationReportPanel.d.ts.map +1 -0
  126. package/dist/components/activity-bar/index.d.ts.map +1 -1
  127. package/dist/components/ui/api-key-display.d.ts +14 -0
  128. package/dist/components/ui/api-key-display.d.ts.map +1 -0
  129. package/dist/components/ui/empty-state.d.ts +29 -0
  130. package/dist/components/ui/empty-state.d.ts.map +1 -0
  131. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts +1 -1
  132. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts.map +1 -1
  133. package/dist/hooks/useWebSocket.d.ts +13 -13
  134. package/dist/hooks/useWebSocket.d.ts.map +1 -1
  135. package/dist/hooks/ws-handlers/chat-handlers.d.ts.map +1 -1
  136. package/dist/hooks/ws-handlers/fleet-handlers.d.ts.map +1 -1
  137. package/dist/hooks/ws-handlers/session-handlers.d.ts.map +1 -1
  138. package/dist/hooks/ws-handlers.d.ts +8 -7
  139. package/dist/hooks/ws-handlers.d.ts.map +1 -1
  140. package/dist/index.css +251 -0
  141. package/dist/index.css.map +2 -2
  142. package/dist/index.html +23 -23
  143. package/dist/index.js +11542 -7712
  144. package/dist/index.js.map +4 -4
  145. package/dist/lib/agent-office.d.ts +22 -0
  146. package/dist/lib/agent-office.d.ts.map +1 -1
  147. package/dist/lib/model-calendar.d.ts +1 -1
  148. package/dist/lib/model-calendar.d.ts.map +1 -1
  149. package/dist/lib/model-matrix-routes.d.ts +2 -191
  150. package/dist/lib/model-matrix-routes.d.ts.map +1 -1
  151. package/dist/lib/plugin-enablement.d.ts +1 -1
  152. package/dist/lib/plugin-enablement.d.ts.map +1 -1
  153. package/dist/lib/roster-ws.d.ts +48 -0
  154. package/dist/lib/roster-ws.d.ts.map +1 -0
  155. package/dist/lib/view-navigation.d.ts +1 -1
  156. package/dist/lib/view-navigation.d.ts.map +1 -1
  157. package/dist/lib/ws-client-utils.d.ts +1 -2
  158. package/dist/lib/ws-client-utils.d.ts.map +1 -1
  159. package/dist/lib/ws-client.d.ts +30 -22
  160. package/dist/lib/ws-client.d.ts.map +1 -1
  161. package/dist/protocol-compatibility.d.ts +12 -0
  162. package/dist/protocol-compatibility.d.ts.map +1 -0
  163. package/dist/providers.json +105 -85
  164. package/dist/stores/local-prefs.d.ts +2 -2
  165. package/dist/stores/local-prefs.d.ts.map +1 -1
  166. package/dist/stores/mailbox-store.d.ts +2 -0
  167. package/dist/stores/mailbox-store.d.ts.map +1 -1
  168. package/dist/stores/session-store.d.ts +1 -1
  169. package/dist/stores/session-store.d.ts.map +1 -1
  170. package/dist/stores/types.d.ts +1 -1
  171. package/dist/stores/types.d.ts.map +1 -1
  172. package/dist/stores/ui-store.d.ts +3 -3
  173. package/dist/stores/ui-store.d.ts.map +1 -1
  174. package/dist/stores/viz-store.d.ts.map +1 -1
  175. package/dist/types.d.ts +363 -68
  176. package/dist/types.d.ts.map +1 -1
  177. package/package.json +7 -6
  178. package/dist/assets/AnalyticsDashboard--x-f8QI-.js +0 -1
  179. package/dist/assets/AudienceMemoryPanel-j9I0RvhP.js +0 -3
  180. package/dist/assets/ChangesView-Bb5LXWiI.js +0 -1
  181. package/dist/assets/ChronicleDashboard-D34oKMQ_.js +0 -1
  182. package/dist/assets/CodeEditor-BkIIR8EU.js +0 -1
  183. package/dist/assets/CodeMap-Ej4UNFUm.js +0 -1
  184. package/dist/assets/ConfirmModal-4l0Tyazp.js +0 -1
  185. package/dist/assets/DesignGalleryView-CgLsdzTx.js +0 -1
  186. package/dist/assets/KanbanView--bFrj9Xa.js +0 -2
  187. package/dist/assets/MailboxDetailView-C-Vf3h1d.js +0 -1
  188. package/dist/assets/MemoryManager-DoHNBnKd.js +0 -1
  189. package/dist/assets/OfficeMapPanel-BMf4PTWo.js +0 -4
  190. package/dist/assets/ProcessMonitor-BtfARuHq.js +0 -1
  191. package/dist/assets/SddHub-QgMFn_rC.js +0 -2
  192. package/dist/assets/SetupScreen-CU7Mq-5T.js +0 -1
  193. package/dist/assets/SkillDetailView-6ZIVx1BG.js +0 -3
  194. package/dist/assets/TechStackView-9hfnNKx-.js +0 -1
  195. package/dist/assets/Toaster-BNdKxZ1U.js +0 -1
  196. package/dist/assets/activity-AfUMXtSI.js +0 -5
  197. package/dist/assets/activity-Bd_pRifE.js +0 -5
  198. package/dist/assets/activity-Ct_QOdtL.js +0 -5
  199. package/dist/assets/activity-Dyikq8Zm.js +0 -5
  200. package/dist/assets/activity-Ukyu3lON.js +0 -5
  201. package/dist/assets/activity-gaWDc806.js +0 -5
  202. package/dist/assets/index-DGX8tPCe.css +0 -1
  203. package/dist/assets/index-OmSX-BAb.js +0 -124
  204. package/dist/assets/shared-CpXz-tzA.js +0 -1
  205. package/dist/assets/ui-store-CwOvhFZG.js +0 -1
  206. package/dist/assets/useWebSocket-BJorYmOi.js +0 -27
  207. package/dist/assets/ws-client-Fnmzo7vN.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';
@@ -1939,9 +2136,12 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1939
2136
  } | {
1940
2137
  type: 'memory.list';
1941
2138
  } | {
1942
- type: 'memory.super.list';
2139
+ type: `agent-roster.${string}`;
2140
+ payload?: Record<string, unknown> | undefined;
1943
2141
  } | {
1944
- type: 'memory.super.listPage';
2142
+ type: 'memory.sage.list';
2143
+ } | {
2144
+ type: 'memory.sage.listPage';
1945
2145
  payload: {
1946
2146
  statuses?: string[] | undefined;
1947
2147
  kind?: string | undefined;
@@ -1950,29 +2150,29 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1950
2150
  cursor?: string | undefined;
1951
2151
  };
1952
2152
  } | {
1953
- type: 'memory.super.get';
2153
+ type: 'memory.sage.get';
1954
2154
  payload: {
1955
2155
  id: string;
1956
2156
  };
1957
2157
  } | {
1958
- type: 'memory.super.graph';
2158
+ type: 'memory.sage.graph';
1959
2159
  payload: {
1960
2160
  query: string;
1961
2161
  maxDepth?: number;
1962
2162
  limit?: number;
1963
2163
  };
1964
2164
  } | {
1965
- type: 'memory.super.update';
2165
+ type: 'memory.sage.update';
1966
2166
  payload: {
1967
2167
  id: string;
1968
2168
  text?: string | undefined;
1969
2169
  tags?: string[] | undefined;
1970
2170
  kind?: string | undefined;
1971
- status?: SuperMemoryStatus | undefined;
2171
+ status?: SageStatus | undefined;
1972
2172
  importance?: number | undefined;
1973
2173
  confidence?: number | undefined;
1974
2174
  freshness?: number | undefined;
1975
- anchors?: SuperMemoryAnchor[] | undefined;
2175
+ anchors?: SageAnchor[] | undefined;
1976
2176
  audience?: {
1977
2177
  roles?: string[];
1978
2178
  taskTypes?: string[];
@@ -1982,27 +2182,27 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
1982
2182
  contradicts?: string[] | undefined;
1983
2183
  };
1984
2184
  } | {
1985
- type: 'memory.super.delete';
2185
+ type: 'memory.sage.delete';
1986
2186
  payload: {
1987
2187
  id: string;
1988
2188
  reason?: string | undefined;
1989
2189
  neverInject?: boolean | undefined;
1990
2190
  };
1991
2191
  } | {
1992
- type: 'memory.super.recover';
2192
+ type: 'memory.sage.recover';
1993
2193
  payload: {
1994
2194
  id: string;
1995
2195
  reason?: string | undefined;
1996
2196
  };
1997
2197
  } | {
1998
- type: 'memory.super.candidateResolve';
2198
+ type: 'memory.sage.candidateResolve';
1999
2199
  payload: {
2000
2200
  candidateId: string;
2001
2201
  action: 'accept' | 'reject';
2002
2202
  reason?: string | undefined;
2003
2203
  };
2004
2204
  } | {
2005
- type: 'memory.super.backfillRecoverable';
2205
+ type: 'memory.sage.backfillRecoverable';
2006
2206
  payload: {
2007
2207
  apply: boolean;
2008
2208
  kinds?: string[] | undefined;
@@ -2011,19 +2211,19 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2011
2211
  updatedBefore?: string | undefined;
2012
2212
  };
2013
2213
  } | {
2014
- type: 'memory.super.forFile';
2015
- payload: WSMemorySuperForFileRequest;
2214
+ type: 'memory.sage.forFile';
2215
+ payload: WSMemorySageForFileRequest;
2016
2216
  } | {
2017
- type: 'memory.super.remember';
2217
+ type: 'memory.sage.remember';
2018
2218
  payload: {
2019
2219
  text: string;
2020
2220
  kind?: string | undefined;
2021
- scope?: SuperMemoryScope | undefined;
2221
+ scope?: SageScope | undefined;
2022
2222
  tags?: string[] | undefined;
2023
2223
  importance?: number | undefined;
2024
2224
  confidence?: number | undefined;
2025
2225
  freshness?: number | undefined;
2026
- anchors?: SuperMemoryAnchor[] | undefined;
2226
+ anchors?: SageAnchor[] | undefined;
2027
2227
  audience?: {
2028
2228
  roles?: string[];
2029
2229
  taskTypes?: string[];
@@ -2100,6 +2300,13 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2100
2300
  query?: ChronicleQuery | undefined;
2101
2301
  limit?: number | undefined;
2102
2302
  };
2303
+ } | {
2304
+ type: 'chronicle.facets';
2305
+ payload: {
2306
+ fields: ChronicleFacet[];
2307
+ query?: ChronicleQuery | undefined;
2308
+ limit?: number | undefined;
2309
+ };
2103
2310
  } | {
2104
2311
  type: 'chronicle.graph';
2105
2312
  payload: {
@@ -2253,6 +2460,18 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2253
2460
  target: 'terminal' | 'file-manager';
2254
2461
  };
2255
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
+ } | {
2256
2475
  type: 'mailbox.messages';
2257
2476
  payload: {
2258
2477
  limit?: number | undefined;
@@ -2370,6 +2589,22 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2370
2589
  payload: {
2371
2590
  overrides: Record<string, string>;
2372
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
+ };
2373
2608
  } | {
2374
2609
  type: 'design.materialize';
2375
2610
  payload?: {
@@ -2378,6 +2613,11 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2378
2613
  } | undefined;
2379
2614
  } | {
2380
2615
  type: 'design.verify';
2616
+ } | {
2617
+ type: 'config.doctor';
2618
+ payload?: {
2619
+ apply?: boolean;
2620
+ } | undefined;
2381
2621
  } | {
2382
2622
  type: 'mcp.list';
2383
2623
  } | {
@@ -2391,6 +2631,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2391
2631
  args?: string[];
2392
2632
  env?: Record<string, string>;
2393
2633
  allowedTools?: string[];
2634
+ url?: string;
2635
+ headers?: Record<string, string>;
2636
+ lazy?: boolean;
2394
2637
  };
2395
2638
  } | {
2396
2639
  type: 'mcp.remove';
@@ -2408,6 +2651,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2408
2651
  args?: string[];
2409
2652
  env?: Record<string, string>;
2410
2653
  allowedTools?: string[];
2654
+ url?: string;
2655
+ headers?: Record<string, string>;
2656
+ lazy?: boolean;
2411
2657
  };
2412
2658
  } | {
2413
2659
  type: 'mcp.wake';
@@ -2513,7 +2759,7 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
2513
2759
  type: 'webui.shutdown';
2514
2760
  };
2515
2761
  export type WSClientMessage = WSClientMessageCore;
2516
- 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 | {
2517
2763
  type: 'chronicle.query_result';
2518
2764
  payload: ChronicleQueryResult;
2519
2765
  } | {
@@ -2526,6 +2772,15 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2526
2772
  invalidLines: number;
2527
2773
  };
2528
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
+ };
2529
2784
  } | {
2530
2785
  type: 'chronicle.graph_result';
2531
2786
  payload: ChronicleGraphResult;
@@ -2716,6 +2971,16 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2716
2971
  agents: Array<Record<string, unknown>>;
2717
2972
  error?: string | undefined;
2718
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
+ };
2719
2984
  } | {
2720
2985
  type: 'pong';
2721
2986
  payload?: Record<string, unknown> | undefined;
@@ -2729,6 +2994,7 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
2729
2994
  startedAt: number;
2730
2995
  status: 'running' | 'exited' | 'killed';
2731
2996
  protected?: boolean | undefined;
2997
+ background?: boolean | undefined;
2732
2998
  }>;
2733
2999
  };
2734
3000
  } | WSSideEffects | {
@@ -3044,6 +3310,20 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3044
3310
  name: string;
3045
3311
  ok: boolean;
3046
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
+ };
3047
3327
  } | {
3048
3328
  type: 'mcp.list';
3049
3329
  payload: {
@@ -3056,6 +3336,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3056
3336
  tools?: string[];
3057
3337
  error?: string;
3058
3338
  pid?: number;
3339
+ lazy?: boolean;
3340
+ command?: string;
3341
+ args?: string[];
3342
+ env?: Record<string, string>;
3343
+ url?: string;
3059
3344
  health?: {
3060
3345
  healthState: 'disabled' | 'dormant' | 'connecting' | 'healthy' | 'degraded' | 'failed';
3061
3346
  consecutiveFailures: number;
@@ -3089,6 +3374,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3089
3374
  enabled: boolean;
3090
3375
  description?: string;
3091
3376
  tools?: string[];
3377
+ lazy?: boolean;
3378
+ command?: string;
3379
+ args?: string[];
3380
+ env?: Record<string, string>;
3381
+ url?: string;
3092
3382
  };
3093
3383
  };
3094
3384
  } | {
@@ -3106,6 +3396,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
3106
3396
  enabled: boolean;
3107
3397
  description?: string;
3108
3398
  tools?: string[];
3399
+ lazy?: boolean;
3400
+ command?: string;
3401
+ args?: string[];
3402
+ env?: Record<string, string>;
3403
+ url?: string;
3109
3404
  };
3110
3405
  };
3111
3406
  } | {