@wrongstack/webui 0.313.1 → 0.316.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/dist/assets/AgentRosterView-CESYPVXA.js +9 -0
  2. package/dist/assets/AnalyticsDashboard-zDBIqTxO.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-BnNJ0EhQ.js +3 -0
  4. package/dist/assets/ChangesView-CGwCocSR.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-CFxZwJBI.js +1 -0
  6. package/dist/assets/ChronicleDashboard-DKiMK5nl.js +1 -0
  7. package/dist/assets/CodeEditor-CZcMPNTH.js +2 -0
  8. package/dist/assets/CodeMap-zPUlmh5G.js +1 -0
  9. package/dist/assets/ConfirmModal-CUGk-0lT.js +1 -0
  10. package/dist/assets/{CronJobsPanel-BzH_InFe.js → CronJobsPanel-C_wutCVP.js} +1 -1
  11. package/dist/assets/{DeadCodeScanPanel-Dj-5SAEE.js → DeadCodeScanPanel-DCCjg17Q.js} +2 -2
  12. package/dist/assets/{DebugDashboard-C-lpnxsJ.js → DebugDashboard-D-ogYAbO.js} +1 -1
  13. package/dist/assets/DesignGalleryView-CtlHZWOn.js +1 -0
  14. package/dist/assets/GoalView-Czksj2nD.js +1 -0
  15. package/dist/assets/KanbanView-C5_GD0qk.js +3 -0
  16. package/dist/assets/MailboxDetailView-2rWp3cTv.js +1 -0
  17. package/dist/assets/MemoryDrawer-D9Chtt6v.js +1 -0
  18. package/dist/assets/MemoryManager-Bj41s3KW.js +1 -0
  19. package/dist/assets/ModelPicker-vwrqLOL4.js +1 -0
  20. package/dist/assets/OfficeMapPanel-BfuePIGH.js +4 -0
  21. package/dist/assets/ProcessMonitor-CHPTCtyu.js +1 -0
  22. package/dist/assets/PromptJournalView-tOTjKpi8.js +1 -0
  23. package/dist/assets/QueuePanel-BIwoG-tG.js +1 -0
  24. package/dist/assets/RefreshDebugView-DesPEAAq.js +1 -0
  25. package/dist/assets/RequirementIntakeView-BonXC1a5.js +1 -0
  26. package/dist/assets/SageTabs-82lpgRh-.js +2 -0
  27. package/dist/assets/SddFlowGraph-CMedulJi.js +1 -0
  28. package/dist/assets/SddHub-D3Gm4Io2.js +2 -0
  29. package/dist/assets/SessionInspectView-BUs2B4mF.js +1 -0
  30. package/dist/assets/SessionList-DxQgJqgl.js +1 -0
  31. package/dist/assets/SessionsDashboard-JtwQf-N5.js +1 -0
  32. package/dist/assets/SetupScreen-XFBFjPbd.js +1 -0
  33. package/dist/assets/SkillDetailView-C_P_-783.js +3 -0
  34. package/dist/assets/{SpecsView-B9Aj1qpe.js → SpecsView-D6GqoZ2L.js} +1 -1
  35. package/dist/assets/TechStackView-BE4tdEYZ.js +2 -0
  36. package/dist/assets/TerminalPanel-BcizpYrZ.js +1 -0
  37. package/dist/assets/activity-B2_Vr2oD.js +10 -0
  38. package/dist/assets/activity-BF1idM4Y.js +10 -0
  39. package/dist/assets/activity-C-kOJZXC.js +10 -0
  40. package/dist/assets/activity-DPpMW8BU.js +10 -0
  41. package/dist/assets/activity-DYMBKGt0.js +10 -0
  42. package/dist/assets/activity-IxgYWPDt.js +10 -0
  43. package/dist/assets/activity-q85HXQNv.js +10 -0
  44. package/dist/assets/{button-Dhmop_yM.js → button-C_EYpeP-.js} +1 -1
  45. package/dist/assets/{chat-CR2B97dj.js → chat-B5a3cvps.js} +1 -1
  46. package/dist/assets/{chat-DResBrkV.js → chat-B60h8Cji.js} +1 -1
  47. package/dist/assets/{chat-BnkVCZ3Q.js → chat-BNWqeV-N.js} +1 -1
  48. package/dist/assets/chat-BlllxfpP.js +1 -0
  49. package/dist/assets/{chat-BfQBSiII.js → chat-BvKkSd09.js} +1 -1
  50. package/dist/assets/{chat-BPuAsrkF.js → chat-DTI7lNDx.js} +1 -1
  51. package/dist/assets/{chat-Di8o0wDz.js → chat-DlhXGxxi.js} +1 -1
  52. package/dist/assets/chat-store-x5w4ss_D.js +1 -0
  53. package/dist/assets/{codemap-activity-store-BWt_a7Gs.js → codemap-activity-store-ZCXcHlwd.js} +1 -1
  54. package/dist/assets/codemap-index-store-Cb5mn74P.js +1 -0
  55. package/dist/assets/{dialog-DPl7DolS.js → dialog-9eW9sG90.js} +1 -1
  56. package/dist/assets/{empty-state-IT10GzRA.js → empty-state-DJb_tw7Q.js} +1 -1
  57. package/dist/assets/i18n-DkMSw3tI.js +2 -0
  58. package/dist/assets/index-BSpLtv9S.css +1 -0
  59. package/dist/assets/index-CTyM4bm8.js +137 -0
  60. package/dist/assets/{input-C3rIQ26u.js → input-CsEvo8Oo.js} +1 -1
  61. package/dist/assets/{mailbox-store-DhAVkVJQ.js → mailbox-store-KHcrg_Fm.js} +1 -1
  62. package/dist/assets/{roster-ws-Ch6O90eT.js → roster-ws-CXnrEaEu.js} +1 -1
  63. package/dist/assets/settings-1o1gooaL.js +1 -0
  64. package/dist/assets/settings-BGvRM3vJ.js +1 -0
  65. package/dist/assets/{settings-BV1_j8_-.js → settings-BV8EFmpH.js} +1 -1
  66. package/dist/assets/settings-Ci_RMpCQ.js +1 -0
  67. package/dist/assets/settings-Cy_xp4Jt.js +1 -0
  68. package/dist/assets/settings-D-LlBmzO.js +1 -0
  69. package/dist/assets/settings-nWMBX3xS.js +1 -0
  70. package/dist/assets/{shared-BUXBOqyO.js → shared-sYlGVRJI.js} +1 -1
  71. package/dist/assets/stores-5ynEAenb.js +7 -0
  72. package/dist/assets/toasts-BsmyGP95.js +1 -0
  73. package/dist/assets/toasts-CgXHu8ZB.js +1 -0
  74. package/dist/assets/toasts-DZ6HdKgG.js +1 -0
  75. package/dist/assets/toasts-DizCJjAR.js +1 -0
  76. package/dist/assets/toasts-NC2MT4uN.js +1 -0
  77. package/dist/assets/toasts-bPl097de.js +1 -0
  78. package/dist/assets/toasts-tCVo15mP.js +1 -0
  79. package/dist/assets/ui-store-9b7zzi3V.js +1 -0
  80. package/dist/assets/useWebSocket-1kxFH7f8.js +27 -0
  81. package/dist/assets/utils-DIo8iytt.js +1 -0
  82. package/dist/assets/{vector-memory-panel-CBA4CK6N.js → vector-memory-panel-Dd3jXXYA.js} +1 -1
  83. package/dist/assets/{vendor-DZ9_OO6N.js → vendor-UFryhfbN.js} +30 -30
  84. package/dist/assets/view-navigation-ICwpL9qw.js +1 -0
  85. package/dist/assets/ws-client-Ccf_VLRQ.js +22 -0
  86. package/dist/components/AgentOfficeView/model.d.ts +4 -3
  87. package/dist/components/AgentRosterView.d.ts +8 -1
  88. package/dist/components/ChatInput/composer-button-bar.d.ts +6 -2
  89. package/dist/components/ChatInput/image-attachments.d.ts +2 -1
  90. package/dist/components/ChatInput/next-steps-helpers.d.ts +0 -16
  91. package/dist/components/ChatInput/refine-panel-host.d.ts +2 -2
  92. package/dist/components/ChatInput/session-effort-select.d.ts +16 -0
  93. package/dist/components/ChatInput/slash-commands.d.ts +2 -1
  94. package/dist/components/ChatInput/slash-routing.d.ts +8 -0
  95. package/dist/components/ChatInput/use-chat-input-mcp.d.ts +2 -1
  96. package/dist/components/ChatInput/use-paste-drop.d.ts +2 -1
  97. package/dist/components/ChatInput/use-refine-timeout.d.ts +2 -1
  98. package/dist/components/ChatInput/use-speech-recognition.d.ts +9 -0
  99. package/dist/components/ChatView/AgentTabs.d.ts +1 -1
  100. package/dist/components/ChatView/BrainDecisionCard.d.ts +9 -0
  101. package/dist/components/ChatView/ChatHeader.d.ts +3 -3
  102. package/dist/components/ChatView/ChatRowView.d.ts +3 -1
  103. package/dist/components/ChatView/ChimeraReportCard.d.ts +22 -0
  104. package/dist/components/ChatView/CouncilDecisionCard.d.ts +9 -0
  105. package/dist/components/ChatView/auto-collapse.d.ts +2 -1
  106. package/dist/components/ChatView/useChatViewState.d.ts +14 -28
  107. package/dist/components/ChatView/utils.d.ts +2 -1
  108. package/dist/components/ChimeraReviewsView.d.ts +2 -0
  109. package/dist/components/CodeMapActivityStreamPanel.d.ts +2 -1
  110. package/dist/components/CodeMapDirectoryTree.d.ts +2 -1
  111. package/dist/components/CodeMapLiveOverlay.d.ts +0 -3
  112. package/dist/components/CodeMapSelectedNodeSummary.d.ts +2 -1
  113. package/dist/components/CollabPanel.d.ts +2 -7
  114. package/dist/components/ConfirmModal.d.ts +6 -13
  115. package/dist/components/CronJobsPanel.d.ts +2 -1
  116. package/dist/components/CustomRosterPanel.d.ts +0 -1
  117. package/dist/components/DependencyGraph.d.ts +2 -1
  118. package/dist/components/FileActivityDrawer.d.ts +2 -2
  119. package/dist/components/FileExplorer/FileExplorerModals.d.ts +11 -6
  120. package/dist/components/FileExplorer/TreeRow.d.ts +2 -6
  121. package/dist/components/FileExplorer/tree-helpers.d.ts +7 -0
  122. package/dist/components/FleetPanel.d.ts +4 -13
  123. package/dist/components/InspectorPanel.d.ts +6 -1
  124. package/dist/components/KanbanBoardSidebar.d.ts +2 -1
  125. package/dist/components/KanbanBoardState.d.ts +1 -1
  126. package/dist/components/KanbanContractGraphView.d.ts +3 -2
  127. package/dist/components/KanbanQueueHealthBar.d.ts +2 -1
  128. package/dist/components/KanbanTaskActivityRecorder.d.ts +2 -1
  129. package/dist/components/MemoryManager/MemoryDetail.d.ts +2 -1
  130. package/dist/components/MemoryManager/MemoryEditor.d.ts +2 -1
  131. package/dist/components/MemoryManager/MemoryFilters.d.ts +2 -1
  132. package/dist/components/MemoryManager/MemoryList.d.ts +2 -1
  133. package/dist/components/MemoryManager/MemorySearchBreakdown.d.ts +2 -1
  134. package/dist/components/MemoryManager/ReviewQueue.d.ts +2 -1
  135. package/dist/components/MemoryManager/SageTabs.d.ts +2 -1
  136. package/dist/components/MemoryManager/shared.d.ts +0 -1
  137. package/dist/components/MessageBubble/FailedRunContinue.d.ts +12 -0
  138. package/dist/components/MessageBubble/utils.d.ts +6 -0
  139. package/dist/components/ModelPickDialog.d.ts +1 -1
  140. package/dist/components/ModelSelectDialog.d.ts +4 -3
  141. package/dist/components/NextStepsBar.d.ts +1 -6
  142. package/dist/components/NotificationMenu.d.ts +6 -0
  143. package/dist/components/OfficeMapCanvas/edges.d.ts +0 -6
  144. package/dist/components/OfficeMapCanvas/nodes.d.ts +0 -32
  145. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts +2 -1
  146. package/dist/components/OfficeMapCanvas/utils.d.ts +4 -10
  147. package/dist/components/ProcessMonitor.d.ts +2 -1
  148. package/dist/components/ProviderWaitingRoom.d.ts +8 -0
  149. package/dist/components/QueuePanel.d.ts +1 -1
  150. package/dist/components/QuickModelSwitcher.filter.d.ts +23 -7
  151. package/dist/components/RestoreTabsModal.d.ts +20 -0
  152. package/dist/components/SddFlowGraph.d.ts +3 -2
  153. package/dist/components/SessionTabBar/TabMap.d.ts +19 -0
  154. package/dist/components/SessionTabBar/summaries.d.ts +39 -0
  155. package/dist/components/SessionTabBar.d.ts +14 -0
  156. package/dist/components/SettingsPanel/ClearAllowlistDialog.d.ts +2 -1
  157. package/dist/components/SettingsPanel/ModelCatalogPicker.d.ts +2 -14
  158. package/dist/components/SettingsPanel/ModelEffortSelect.d.ts +12 -0
  159. package/dist/components/SettingsPanel/ModelListEditor.d.ts +2 -1
  160. package/dist/components/SettingsPanel/ModelSchemaEditor.d.ts +2 -1
  161. package/dist/components/SettingsPanel/ModelSection.d.ts +3 -1
  162. package/dist/components/SettingsPanel/ModelTiersSection.d.ts +7 -0
  163. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +2 -2
  164. package/dist/components/SettingsPanel/PluginToggleList.d.ts +3 -1
  165. package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts +2 -1
  166. package/dist/components/SettingsPanel/ProviderModelsPanel.filter.d.ts +2 -1
  167. package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -2
  168. package/dist/components/SettingsPanel/ToolsSection.d.ts +0 -10
  169. package/dist/components/SettingsPanel/brain-section-options.d.ts +3 -10
  170. package/dist/components/SettingsPanel/contracts.d.ts +5 -3
  171. package/dist/components/SettingsPanel/sync-settings-preference.d.ts +8 -0
  172. package/dist/components/SettingsPanel/undo-send-decision.d.ts +2 -1
  173. package/dist/components/SidePanel/ChangesPanel.d.ts +0 -6
  174. package/dist/components/SidePanel/DesignStudioPanel.d.ts +7 -0
  175. package/dist/components/SidePanel/SessionList.d.ts +6 -6
  176. package/dist/components/SystemPromptDialog.d.ts +18 -0
  177. package/dist/components/TaskActivityTimeline.d.ts +3 -3
  178. package/dist/components/TaskBoard.d.ts +1 -1
  179. package/dist/components/TaskCard.d.ts +2 -7
  180. package/dist/components/TaskExecutionAttempts.d.ts +2 -1
  181. package/dist/components/TaskIntelligencePanel.d.ts +1 -1
  182. package/dist/components/TaskRiskPanel.d.ts +4 -3
  183. package/dist/components/TechStackView/DependencyDetail.d.ts +2 -1
  184. package/dist/components/TechStackView/DependencyTable.d.ts +2 -1
  185. package/dist/components/TechStackView/FindingsPanel.d.ts +2 -1
  186. package/dist/components/TechStackView/TechStackToolbar.d.ts +2 -1
  187. package/dist/components/TechStackView/shared.d.ts +5 -5
  188. package/dist/components/Toaster.d.ts +3 -31
  189. package/dist/components/ToolStatsModal.d.ts +15 -0
  190. package/dist/components/UpdateBanner.d.ts +6 -4
  191. package/dist/components/WorkbenchTopbar.d.ts +1 -3
  192. package/dist/components/agent-roster-data.d.ts +1 -1
  193. package/dist/components/agents/AgentDetailSection.d.ts +2 -1
  194. package/dist/components/agents/AgentRosterCard.d.ts +2 -1
  195. package/dist/components/agents/FleetSummaryBar.d.ts +6 -3
  196. package/dist/components/codemap-model.d.ts +3 -2
  197. package/dist/components/ui/PickerCardList.d.ts +3 -2
  198. package/dist/components/ui/badge.d.ts +2 -2
  199. package/dist/components/ui/button.d.ts +2 -2
  200. package/dist/components/ui/concurrency-gauge.d.ts +2 -1
  201. package/dist/components/ui/dialog.d.ts +5 -5
  202. package/dist/components/ui/dropdown-menu.d.ts +8 -8
  203. package/dist/components/ui/event-timeline.d.ts +2 -1
  204. package/dist/components/ui/fleet-agent-row.d.ts +2 -7
  205. package/dist/components/ui/scroll-area.d.ts +2 -2
  206. package/dist/components/ui/sheet.d.ts +2 -2
  207. package/dist/components/ui/sparkline.d.ts +2 -1
  208. package/dist/components/vector-memory-panel/model.d.ts +2 -7
  209. package/dist/hooks/index.d.ts +1 -0
  210. package/dist/hooks/useDesktopBridge.d.ts +2 -1
  211. package/dist/hooks/useF5Resilience.d.ts +0 -14
  212. package/dist/hooks/useFleetPolling.d.ts +2 -1
  213. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts +4 -1
  214. package/dist/hooks/useIntegrationStatus.d.ts +10 -0
  215. package/dist/hooks/useKanbanMeta.d.ts +4 -3
  216. package/dist/hooks/useLiveContextDebug.d.ts +4 -3
  217. package/dist/hooks/useMemoryForFile.d.ts +3 -2
  218. package/dist/hooks/usePagination.d.ts +2 -1
  219. package/dist/hooks/useProviderModels.d.ts +1 -0
  220. package/dist/hooks/useSessionSubscription.d.ts +15 -0
  221. package/dist/hooks/useViewport.d.ts +2 -3
  222. package/dist/hooks/useWebSocket.d.ts +6 -1
  223. package/dist/hooks/ws-handlers/chat-handlers.d.ts +22 -10
  224. package/dist/hooks/ws-handlers/coordinator-handlers.d.ts +7 -0
  225. package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +1 -3
  226. package/dist/hooks/ws-handlers/misc-handlers.d.ts +22 -0
  227. package/dist/hooks/ws-handlers/session-context-handlers.d.ts +24 -2
  228. package/dist/hooks/ws-handlers/session-execution-handlers.d.ts +12 -0
  229. package/dist/hooks/ws-handlers/session-handlers.d.ts +3 -3
  230. package/dist/hooks/ws-handlers/session-replay-handlers.d.ts +31 -2
  231. package/dist/hooks/ws-handlers/techstack-handlers.d.ts +0 -3
  232. package/dist/index.html +30 -26
  233. package/dist/index.js +77572 -66789
  234. package/dist/lib/agent-office.d.ts +3 -3
  235. package/dist/lib/agent-session.d.ts +19 -0
  236. package/dist/lib/agent-status.d.ts +5 -4
  237. package/dist/lib/completion.d.ts +3 -2
  238. package/dist/lib/delegate-format.d.ts +33 -0
  239. package/dist/lib/favicon.d.ts +2 -1
  240. package/dist/lib/kanban-verification.d.ts +3 -2
  241. package/dist/lib/model-matrix-routes.d.ts +3 -3
  242. package/dist/lib/plugin-enablement.d.ts +1 -1
  243. package/dist/lib/reasoning-effort.d.ts +76 -0
  244. package/dist/lib/sdd-theme.d.ts +4 -3
  245. package/dist/lib/task-brief-preview.d.ts +5 -0
  246. package/dist/lib/terminal-dock.d.ts +0 -1
  247. package/dist/lib/view-navigation.d.ts +2 -2
  248. package/dist/lib/ws-client-actions.d.ts +1 -0
  249. package/dist/lib/ws-client-domain-methods.d.ts +45 -5
  250. package/dist/lib/ws-client-utils.d.ts +33 -0
  251. package/dist/lib/ws-client.d.ts +135 -6
  252. package/dist/manifest.json +17 -0
  253. package/dist/protocol-compatibility.d.ts +0 -10
  254. package/dist/stores/auto-submit-streak.d.ts +3 -1
  255. package/dist/stores/chat-lanes.d.ts +279 -0
  256. package/dist/stores/chat-retention.d.ts +2 -4
  257. package/dist/stores/chat-store-types.d.ts +1 -0
  258. package/dist/stores/chat-store.d.ts +46 -25
  259. package/dist/stores/chimera-hub-store.d.ts +140 -0
  260. package/dist/stores/chimera-reports-store.d.ts +45 -0
  261. package/dist/stores/codemap-activity-store.d.ts +4 -4
  262. package/dist/stores/context-editor-store.d.ts +4 -5
  263. package/dist/stores/coordinator-monitor-store.d.ts +3 -2
  264. package/dist/stores/council-log-store.d.ts +6 -20
  265. package/dist/stores/file-store.d.ts +32 -13
  266. package/dist/stores/fleet-store.d.ts +49 -5
  267. package/dist/stores/git-changes-store.d.ts +25 -1
  268. package/dist/stores/goal-run-store.d.ts +2 -2
  269. package/dist/stores/history-store.d.ts +11 -0
  270. package/dist/stores/index.d.ts +17 -9
  271. package/dist/stores/local-prefs.d.ts +87 -0
  272. package/dist/stores/mailbox-store.d.ts +2 -2
  273. package/dist/stores/memory-injector-store.d.ts +2 -2
  274. package/dist/stores/memory-lifecycle-store.d.ts +6 -2
  275. package/dist/stores/monitor-store.d.ts +3 -2
  276. package/dist/stores/notification-store.d.ts +141 -0
  277. package/dist/stores/provider-status-store.d.ts +19 -0
  278. package/dist/stores/restore-tabs-store.d.ts +29 -0
  279. package/dist/stores/resume-progress-store.d.ts +58 -0
  280. package/dist/stores/session-inspect-store.d.ts +1 -1
  281. package/dist/stores/session-lanes.d.ts +242 -0
  282. package/dist/stores/session-scoped-store.d.ts +56 -0
  283. package/dist/stores/session-store.d.ts +97 -154
  284. package/dist/stores/session-tab-store.d.ts +197 -0
  285. package/dist/stores/side-effect-store.d.ts +9 -1
  286. package/dist/stores/system-prompt-store.d.ts +48 -0
  287. package/dist/stores/tool-stats-store.d.ts +52 -0
  288. package/dist/stores/types.d.ts +81 -4
  289. package/dist/stores/ui-store.d.ts +113 -11
  290. package/dist/types/brain.d.ts +17 -16
  291. package/dist/types/chronicle.d.ts +3 -2
  292. package/dist/types/client-message.d.ts +139 -23
  293. package/dist/types/collab.d.ts +0 -2
  294. package/dist/types/protocol-core.d.ts +62 -6
  295. package/dist/types/server-message.d.ts +204 -3
  296. package/dist/types/skills-design.d.ts +2 -1
  297. package/package.json +9 -9
  298. package/dist/assets/AgentRosterView-p5iiedCA.js +0 -9
  299. package/dist/assets/AnalyticsDashboard-B0sbSAxw.js +0 -1
  300. package/dist/assets/AudienceMemoryPanel-DcDONq7t.js +0 -3
  301. package/dist/assets/ChangesView-CD3JR3qY.js +0 -1
  302. package/dist/assets/ChronicleDashboard-3tJUiU7K.js +0 -1
  303. package/dist/assets/CodeEditor-0RJa9mSq.js +0 -2
  304. package/dist/assets/CodeMap-BvqQN6MG.js +0 -1
  305. package/dist/assets/ConfirmModal-CRSE2t_c.js +0 -1
  306. package/dist/assets/DesignGalleryView-BKl6Ce71.js +0 -1
  307. package/dist/assets/GoalView-Db55m-Nq.js +0 -1
  308. package/dist/assets/KanbanView-BQ7duNsz.js +0 -3
  309. package/dist/assets/MailboxDetailView-CgHzqllF.js +0 -1
  310. package/dist/assets/MemoryDrawer-BNTsi4jl.js +0 -1
  311. package/dist/assets/MemoryManager-B4NAvfYx.js +0 -1
  312. package/dist/assets/ModelPicker-BtK3pwfC.js +0 -1
  313. package/dist/assets/OfficeMapPanel-Bk9q12hP.js +0 -4
  314. package/dist/assets/ProcessMonitor-BTndLGIV.js +0 -1
  315. package/dist/assets/PromptJournalView-DbwN6AWe.js +0 -1
  316. package/dist/assets/QueuePanel-Cb1mIIuO.js +0 -1
  317. package/dist/assets/RefreshDebugView-CzGncYqB.js +0 -1
  318. package/dist/assets/RequirementIntakeView-BgKJbUlD.js +0 -1
  319. package/dist/assets/SageTabs-mB6lxkdD.js +0 -2
  320. package/dist/assets/SddFlowGraph-C484p5L9.js +0 -1
  321. package/dist/assets/SddHub-DsD8ORZo.js +0 -2
  322. package/dist/assets/SessionInspectView-DtM6MBbL.js +0 -1
  323. package/dist/assets/SessionList-CCaEa3iW.js +0 -1
  324. package/dist/assets/SessionsDashboard-CxatSEv6.js +0 -1
  325. package/dist/assets/SetupScreen-CBkuOnoN.js +0 -1
  326. package/dist/assets/SkillDetailView-DKVIAnwb.js +0 -3
  327. package/dist/assets/TechStackView-B6WDU-tt.js +0 -2
  328. package/dist/assets/TerminalPanel-Dfkt3xtA.js +0 -1
  329. package/dist/assets/Toaster-CcgCyzaU.js +0 -1
  330. package/dist/assets/activity-BA8C9ueU.js +0 -9
  331. package/dist/assets/activity-BYnOci5N.js +0 -9
  332. package/dist/assets/activity-COQ9xSFu.js +0 -9
  333. package/dist/assets/activity-CuJqhGz7.js +0 -9
  334. package/dist/assets/activity-D3ZccGOh.js +0 -9
  335. package/dist/assets/activity-YMES6OPI.js +0 -9
  336. package/dist/assets/activity-zlMMaNE1.js +0 -9
  337. package/dist/assets/chat-CzaGXz_W.js +0 -1
  338. package/dist/assets/chat-store-BiEXyguk.js +0 -17
  339. package/dist/assets/codemap-index-store-CDhApwWQ.js +0 -1
  340. package/dist/assets/i18n-BeHaHx3x.js +0 -2
  341. package/dist/assets/index-B8J_xxU5.css +0 -1
  342. package/dist/assets/index-BLI23QVE.js +0 -134
  343. package/dist/assets/session-store-CKpAwNIm.js +0 -1
  344. package/dist/assets/settings-BNbqEBSr.js +0 -1
  345. package/dist/assets/settings-BsZgLIo2.js +0 -1
  346. package/dist/assets/settings-C3OnmFrY.js +0 -1
  347. package/dist/assets/settings-C3bNf1Bx.js +0 -1
  348. package/dist/assets/settings-C9FOpDBt.js +0 -1
  349. package/dist/assets/settings-oeXlO4HA.js +0 -1
  350. package/dist/assets/stores-BskP1BVl.js +0 -7
  351. package/dist/assets/toasts-BCDGDcyq.js +0 -1
  352. package/dist/assets/toasts-BwQJwYLe.js +0 -1
  353. package/dist/assets/toasts-CFzweRH5.js +0 -1
  354. package/dist/assets/toasts-DDYQsJV8.js +0 -1
  355. package/dist/assets/toasts-DOfXc7Rt.js +0 -1
  356. package/dist/assets/toasts-Dm12Nq8t.js +0 -1
  357. package/dist/assets/toasts-frBt6fvE.js +0 -1
  358. package/dist/assets/ui-store-3HoYrTu5.js +0 -1
  359. package/dist/assets/useWebSocket-6jp275vG.js +0 -29
  360. package/dist/assets/utils-BecmXwgG.js +0 -1
  361. package/dist/assets/view-navigation-C1UDTk5R.js +0 -1
  362. package/dist/assets/ws-client-C6jAU4nL.js +0 -1
@@ -0,0 +1,140 @@
1
+ export interface ChimeraReportSummaryItem {
2
+ reportId: string;
3
+ sessionId: string;
4
+ agentId?: string | undefined;
5
+ reviewedAt: string;
6
+ reviewerModel?: string | undefined;
7
+ source?: string | undefined;
8
+ reviewStatus?: 'success' | 'failed' | undefined;
9
+ lifecycleStatus: string;
10
+ counts?: {
11
+ critical: number;
12
+ high: number;
13
+ medium: number;
14
+ low: number;
15
+ } | undefined;
16
+ totalFindings: number;
17
+ fileCount?: number | undefined;
18
+ durationSeconds?: number | undefined;
19
+ cascadeDepth?: number | undefined;
20
+ evidenceStatus?: string | undefined;
21
+ hasActionableFindings?: boolean | undefined;
22
+ }
23
+ export interface FindingDetailItem {
24
+ finding: {
25
+ id: string;
26
+ fingerprint: string;
27
+ severity: 'critical' | 'high' | 'medium' | 'low';
28
+ source: string;
29
+ location?: {
30
+ file: string;
31
+ line?: number | undefined;
32
+ } | undefined;
33
+ category?: string | undefined;
34
+ confidence?: string | undefined;
35
+ verification?: {
36
+ status: string;
37
+ reason: string;
38
+ evidence?: string | undefined;
39
+ } | undefined;
40
+ title: string;
41
+ description: string;
42
+ suggestedFix?: string | undefined;
43
+ createdAt: string;
44
+ status: string;
45
+ resolution?: {
46
+ outcome: string;
47
+ resolvedAt: string;
48
+ resolvedBy: string;
49
+ commitSha?: string | undefined;
50
+ notes?: string | undefined;
51
+ } | undefined;
52
+ originReport: {
53
+ reportId: string;
54
+ sessionId: string;
55
+ agentId: string;
56
+ reviewerModel: string;
57
+ };
58
+ };
59
+ events: Array<{
60
+ id: string;
61
+ findingId: string;
62
+ eventType: string;
63
+ fromStatus: string | null;
64
+ toStatus: string;
65
+ actorId: string;
66
+ actorKind: string;
67
+ timestamp: string;
68
+ reason?: string | undefined;
69
+ }>;
70
+ }
71
+ export interface ChimeraReportFullDetail {
72
+ report: {
73
+ id: string;
74
+ reviewedAt: string;
75
+ sessionId: string;
76
+ agentId: string;
77
+ reviewerModel: string;
78
+ source: string;
79
+ reviewStatus: 'success' | 'failed';
80
+ lifecycle: string;
81
+ files: Array<{
82
+ path: string;
83
+ status: string;
84
+ }>;
85
+ counts: {
86
+ critical: number;
87
+ high: number;
88
+ medium: number;
89
+ low: number;
90
+ };
91
+ totalFindings: number;
92
+ unparseableCount: number;
93
+ durationSeconds?: number | undefined;
94
+ rawText: string;
95
+ cascadeDepth?: number | undefined;
96
+ evidenceStatus?: string | undefined;
97
+ evidenceChecks?: Array<{
98
+ name: string;
99
+ command: string;
100
+ ok: boolean;
101
+ claimedExitCode?: number | null;
102
+ actualExitCode?: number | null;
103
+ }> | undefined;
104
+ } | null;
105
+ findings: FindingDetailItem[];
106
+ events: Array<{
107
+ id: string;
108
+ reportId: string;
109
+ eventType: string;
110
+ fromLifecycle: string | null;
111
+ toLifecycle: string;
112
+ actorId: string;
113
+ actorKind: string;
114
+ timestamp: string;
115
+ reason?: string | undefined;
116
+ }>;
117
+ }
118
+ interface ChimeraHubState {
119
+ reports: ChimeraReportSummaryItem[];
120
+ selectedReportId: string | null;
121
+ detail: ChimeraReportFullDetail | null;
122
+ loading: boolean;
123
+ detailLoading: boolean;
124
+ error: string | null;
125
+ filterSessionId: string;
126
+ filterLifecycle: string;
127
+ searchQuery: string;
128
+ fetchReports: () => void;
129
+ selectReport: (reportId: string | null) => void;
130
+ setFilterSessionId: (sessionId: string) => void;
131
+ setFilterLifecycle: (lifecycle: string) => void;
132
+ setSearchQuery: (query: string) => void;
133
+ transitionReport: (reportId: string, to: string, reason?: string) => void;
134
+ addReportNote: (reportId: string, note: string) => void;
135
+ transitionFinding: (findingId: string, to: string, outcome?: string, reason?: string) => void;
136
+ }
137
+ export declare function ensureChimeraHubHandlersInstalled(): void;
138
+ export declare const useChimeraHubStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ChimeraHubState>>;
139
+ export {};
140
+ //# sourceMappingURL=chimera-hub-store.d.ts.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * chimera-reports-store.ts — Per-session registry of Chimera review reports.
3
+ *
4
+ * ONE LIST PER TAB. A Chimera report names the session it reviewed, so it
5
+ * belongs to that session's tab and to no other — the same positive-routing
6
+ * rule the chat lanes follow. This store is the identity/bookkeeping layer:
7
+ * the transcript card is the visible surface, while this store dedupes by
8
+ * reportId so a live `chimera.report_available` event and a `chimera.reports`
9
+ * hydration response never produce two cards for one report, and it remembers
10
+ * which reports the user already actioned.
11
+ *
12
+ * Why a store at all (and not just lane messages): a report can arrive while
13
+ * its session's lane does not exist yet or all four lane slots are taken;
14
+ * the registry keeps it addressable so the next tab activation can
15
+ * re-materialize the card from the server's persisted list.
16
+ */
17
+ /** One surfacable Chimera review report for a session tab. */
18
+ export interface ChimeraReportNotice {
19
+ /** Review run id — the dedupe key within a session. */
20
+ reportId: string;
21
+ sessionId: string;
22
+ /** Human-readable summary from the live event (generic text when hydrated). */
23
+ message: string;
24
+ findingCount: number;
25
+ fileCount: number;
26
+ hasActionableFindings: boolean;
27
+ /** ms epoch — arrival time (event) or review completion time (hydration). */
28
+ receivedAt: number;
29
+ /** When this tab's one-click prompt was sent to the leader; null until then. */
30
+ actionedAt: number | null;
31
+ /** Where the notice came from: the live event or a server list hydration. */
32
+ source: 'event' | 'hydrate';
33
+ }
34
+ interface ChimeraReportsState {
35
+ bySession: Record<string, ChimeraReportNotice[]>;
36
+ /** Record a report. Returns false when the reportId is already known. */
37
+ recordReport: (notice: ChimeraReportNotice) => boolean;
38
+ markActioned: (sessionId: string, reportId: string, at: number) => void;
39
+ /** Merge server-hydrated reports; unknown reportIds only, never clobbers actionedAt. */
40
+ hydrateReports: (sessionId: string, notices: ChimeraReportNotice[]) => void;
41
+ forgetSession: (sessionId: string) => void;
42
+ }
43
+ export declare const useChimeraReportsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ChimeraReportsState>>;
44
+ export {};
45
+ //# sourceMappingURL=chimera-reports-store.d.ts.map
@@ -1,14 +1,14 @@
1
1
  import type { WSServerMessage } from '../types';
2
2
  export type ActivityType = 'read' | 'write' | 'edit' | 'delete' | 'search' | 'memory' | 'index' | 'execute';
3
- export type ActivityStatus = 'active' | 'completed' | 'failed' | 'observed';
4
- export type ActivitySource = 'tool' | 'editor' | 'deterministic' | 'watcher' | 'external' | 'legacy';
5
- export interface ActivitySymbol {
3
+ type ActivityStatus = 'active' | 'completed' | 'failed' | 'observed';
4
+ type ActivitySource = 'tool' | 'editor' | 'deterministic' | 'watcher' | 'external' | 'legacy';
5
+ interface ActivitySymbol {
6
6
  id: string;
7
7
  name: string;
8
8
  kind?: string | undefined;
9
9
  line?: number | undefined;
10
10
  }
11
- export interface ActivityChange {
11
+ interface ActivityChange {
12
12
  added: number;
13
13
  removed: number;
14
14
  before?: string | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { ContextEditorMessage, ContextEditorMetrics, ContextEditorRemoval, ContextEditorRepairPreview, ContextEditorValidationError, ContextEditorWarning, ContextEditorConflict, ContextEditorDiagnostics } from '@/types/runtime';
2
- export type ContextEditorPhase = 'closed' | 'loading_snapshot' | 'clean_snapshot' | 'dirty' | 'validating' | 'validated' | 'invalid' | 'conflicted' | 'applying' | 'applied_success' | 'apply_failed';
2
+ type ContextEditorPhase = 'closed' | 'loading_snapshot' | 'clean_snapshot' | 'dirty' | 'validating' | 'validated' | 'invalid' | 'conflicted' | 'applying' | 'applied_success' | 'apply_failed';
3
3
  interface ReadonlyContext {
4
4
  systemPromptTokens: number;
5
5
  toolSchemaTokens: number;
@@ -37,7 +37,7 @@ interface AppliedResult {
37
37
  };
38
38
  warnings: ContextEditorWarning[];
39
39
  }
40
- export interface ContextEditorState {
40
+ interface ContextEditorState {
41
41
  phase: ContextEditorPhase;
42
42
  revision: string | null;
43
43
  messages: ContextEditorMessage[];
@@ -52,7 +52,7 @@ export interface ContextEditorState {
52
52
  appliedResult: AppliedResult | null;
53
53
  errorMessage: string | null;
54
54
  }
55
- export interface ContextEditorActions {
55
+ interface ContextEditorActions {
56
56
  open: () => void;
57
57
  close: () => void;
58
58
  loadSnapshot: (payload: {
@@ -74,8 +74,7 @@ export interface ContextEditorActions {
74
74
  /** Derive the proposed messages from snapshot minus removals. */
75
75
  getProposedMessages: () => ContextEditorMessage[];
76
76
  }
77
- export type ContextEditorStore = ContextEditorState & ContextEditorActions;
78
- export declare function findPairedAssistantIndices(messages: readonly ContextEditorMessage[], userIndex: number): number[];
77
+ type ContextEditorStore = ContextEditorState & ContextEditorActions;
79
78
  export declare const useContextEditorStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ContextEditorStore>>;
80
79
  export {};
81
80
  //# sourceMappingURL=context-editor-store.d.ts.map
@@ -81,7 +81,7 @@ export interface BudgetAlert {
81
81
  decision?: 'extend' | 'deny';
82
82
  newLimit?: number;
83
83
  }
84
- export interface CoordinatorMonitorState {
84
+ interface CoordinatorMonitorState {
85
85
  coordinatorStatus: CoordinatorStatus;
86
86
  coordinatorMode?: string;
87
87
  subagents: Map<string, SubagentEntry>;
@@ -129,5 +129,6 @@ export interface CoordinatorMonitorState {
129
129
  recordBudgetExtended: (subagentId: string, kind: string, extendedTo?: number) => void;
130
130
  clear: () => void;
131
131
  }
132
- export declare const useCoordinatorMonitorStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CoordinatorMonitorState>>;
132
+ export declare const useCoordinatorMonitorStore: import("./session-scoped-store").SessionScopedStore<CoordinatorMonitorState>;
133
+ export {};
133
134
  //# sourceMappingURL=coordinator-monitor-store.d.ts.map
@@ -1,22 +1,4 @@
1
- export type CouncilVoteStatus = 'valid' | 'invalid' | 'failed' | 'cancelled';
2
- /** One seat's observable vote. No hidden chain-of-thought is retained. */
3
- export interface CouncilSeatVote {
4
- seatId: string;
5
- persona: string;
6
- status: CouncilVoteStatus | string;
7
- /** The option this seat voted for, on an option-bearing question. */
8
- optionId?: string | undefined;
9
- /** Free-text stance / rationale — only present when trace content is 'full'. */
10
- stance?: string | undefined;
11
- rationale?: string | undefined;
12
- providerId?: string | undefined;
13
- model?: string | undefined;
14
- veto?: boolean | undefined;
15
- weight?: number | undefined;
16
- durationMs?: number | undefined;
17
- error?: string | undefined;
18
- at: number;
19
- }
1
+ import type { CouncilSeatVote } from './types';
20
2
  export interface CouncilPanelEntry {
21
3
  requestId: string;
22
4
  /** `voting` until the resolution lands; a failed council can stay here. */
@@ -62,6 +44,10 @@ export declare function toCouncilSeatVote(payload: Record<string, unknown>, now:
62
44
  export declare function summarizeCouncilPanel(entry: CouncilPanelEntry): string;
63
45
  /** True when the panel resolved to a refusal, denial or non-verdict. */
64
46
  export declare function isCouncilPanelAdverse(entry: CouncilPanelEntry): boolean;
65
- export declare const useCouncilLogStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CouncilLogState>>;
47
+ /**
48
+ * One log per conversation: a council convened for tab 3's decision is tab 3's
49
+ * record, and must not appear in — or be lost because of — tab 1's panel.
50
+ */
51
+ export declare const useCouncilLogStore: import("./session-scoped-store").SessionScopedStore<CouncilLogState>;
66
52
  export {};
67
53
  //# sourceMappingURL=council-log-store.d.ts.map
@@ -16,6 +16,17 @@ export interface OpenFile {
16
16
  /** The content last known to be on disk — used for dirty detection. */
17
17
  savedContent: string;
18
18
  }
19
+ interface FileSessionState {
20
+ projectRoot: string;
21
+ tree: TreeNode[];
22
+ openFiles: OpenFile[];
23
+ activeFilePath: string | null;
24
+ treeLoading: boolean;
25
+ error: string | null;
26
+ targetLine: FileStoreState['targetLine'];
27
+ projectIdentity: string;
28
+ hydratingPaths: ReadonlySet<string>;
29
+ }
19
30
  export interface FileStoreState {
20
31
  /** The project root path as reported by the server. */
21
32
  projectRoot: string;
@@ -34,19 +45,19 @@ export interface FileStoreState {
34
45
  line: number;
35
46
  col?: number | undefined;
36
47
  } | null;
37
- setTree: (root: string, tree: TreeNode[]) => void;
38
- openFile: (filePath: string, content: string) => void;
39
- closeFile: (filePath: string) => void;
40
- setActiveFile: (filePath: string | null) => void;
41
- jumpToLine: (line: number, col?: number) => void;
48
+ setTree: (root: string, tree: TreeNode[], sessionId?: string | null | undefined) => void;
49
+ openFile: (filePath: string, content: string, sessionId?: string | null | undefined) => void;
50
+ closeFile: (filePath: string, sessionId?: string | null | undefined) => void;
51
+ setActiveFile: (filePath: string | null, sessionId?: string | null | undefined) => void;
52
+ jumpToLine: (line: number, col?: number, sessionId?: string | null | undefined) => void;
42
53
  clearTargetLine: () => void;
43
54
  updateContent: (filePath: string, content: string) => void;
44
55
  /** Mark a file as saved (synced with disk). */
45
- markSaved: (filePath: string) => void;
46
- setTreeLoading: (loading: boolean) => void;
47
- setError: (error: string | null) => void;
56
+ markSaved: (filePath: string, sessionId?: string | null | undefined) => void;
57
+ setTreeLoading: (loading: boolean, sessionId?: string | null | undefined) => void;
58
+ setError: (error: string | null, sessionId?: string | null | undefined) => void;
48
59
  /** Drop all open tabs (used when the server switches to a different project). */
49
- clearOpenTabs: () => void;
60
+ clearOpenTabs: (sessionId?: string | null | undefined) => void;
50
61
  /**
51
62
  * Canonical absolute project root as reported by the server environment
52
63
  * (working_dir.changed / session env). Distinct from `projectRoot`, which
@@ -56,16 +67,23 @@ export interface FileStoreState {
56
67
  */
57
68
  projectIdentity: string;
58
69
  /** Record the canonical absolute project root (env events only). */
59
- setProjectIdentity: (root: string) => void;
70
+ setProjectIdentity: (root: string, sessionId?: string | null | undefined) => void;
60
71
  /** Paths whose rehydrated stub content is currently being fetched. */
61
72
  hydratingPaths: ReadonlySet<string>;
73
+ setHydratingPaths: (paths: Iterable<string>, sessionId?: string | null | undefined) => void;
74
+ /** Which session the file editor projection currently describes. */
75
+ fileSessionId: string | null;
76
+ /** Per-session open editor tabs and jump targets. */
77
+ filesBySession: Record<string, FileSessionState>;
78
+ bindSessionFiles: (sessionId: string | null) => void;
79
+ forgetSessionFiles: (sessionId: string) => void;
62
80
  /**
63
81
  * Apply fetched content to a rehydrated stub tab. Only applies while the
64
82
  * path is still hydrating AND the tab is still a pristine stub — never
65
83
  * overwrites content the user has started editing, never steals focus.
66
84
  * Returns true when the content was applied.
67
85
  */
68
- hydrateFileContent: (filePath: string, content: string) => boolean;
86
+ hydrateFileContent: (filePath: string, content: string, sessionId?: string | null | undefined) => boolean;
69
87
  /**
70
88
  * Handle a failed hydration read (file deleted or renamed on disk while
71
89
  * the page was closed). Removes the path from hydration tracking and
@@ -73,10 +91,10 @@ export interface FileStoreState {
73
91
  * let the next save resurrect a deleted file. A tab the user has started
74
92
  * editing is kept; its save recreates the file intentionally.
75
93
  */
76
- hydrateFileFailed: (filePath: string) => void;
94
+ hydrateFileFailed: (filePath: string, sessionId?: string | null | undefined) => void;
77
95
  }
78
96
  /** Shape written to localStorage — tabs are paths only, never content. */
79
- export interface PersistedFileStoreState {
97
+ interface PersistedFileStoreState {
80
98
  openFilePaths: string[];
81
99
  activeFilePath: string | null;
82
100
  /** Canonical absolute project root (env identity), not the display label. */
@@ -106,4 +124,5 @@ export declare const useFileStore: import("zustand").UseBoundStore<Omit<import("
106
124
  getOptions: () => Partial<import("zustand/middleware").PersistOptions<FileStoreState, PersistedFileStoreState, unknown>>;
107
125
  };
108
126
  }>;
127
+ export {};
109
128
  //# sourceMappingURL=file-store.d.ts.map
@@ -1,8 +1,12 @@
1
1
  import type { AgentTranscriptEntry, FleetTimelineEvent, SubagentEvent, SubagentView } from './types.js';
2
2
  export declare const EMPTY_AGENT_TRANSCRIPT: AgentTranscriptEntry[];
3
- interface FleetState {
3
+ export interface FleetState {
4
4
  agents: Map<string, SubagentView>;
5
- /** Current leader agent ID (set via leader_updated event). */
5
+ /**
6
+ * Process-wide LAST-ANNOUNCED leader (set via leader_updated). Tab-scoped
7
+ * consumers must use `selectSessionLeaderId` / `useSessionLeaderId`, which
8
+ * resolve the leader of ONE session from the roster's isLeader flag.
9
+ */
6
10
  leaderId: string | undefined;
7
11
  /** Fleet-wide aggregated tokens (sum of all agent tokens). */
8
12
  fleetTokensIn: number;
@@ -30,8 +34,18 @@ interface FleetState {
30
34
  getAgentsBySession: (sessionId: string) => SubagentView[];
31
35
  /** Return one agent's full ordered transcript. */
32
36
  getAgentTranscript: (subagentId: string) => AgentTranscriptEntry[];
33
- /** Remove all non-running agents (completed, failed, timeout, stopped) from the roster. */
34
- clearFinishedAgents: () => void;
37
+ /** Hydrate subagent virtual sessions and historical transcripts (from session.start replay). */
38
+ hydrateAgentSessions: (sessions: Array<{
39
+ subagentId: string;
40
+ agentName?: string | undefined;
41
+ status?: string | undefined;
42
+ task?: string | undefined;
43
+ transcript?: AgentTranscriptEntry[] | undefined;
44
+ }>, sessionId?: string | undefined) => void;
45
+ /** Remove non-running agents (completed, failed, timeout, stopped) from the
46
+ * roster. Scoped: only agents belonging to `sessionId` are removed, so a
47
+ * panel in one tab never drops another tab's finished agents. */
48
+ clearFinishedAgents: (sessionId: string | null) => void;
35
49
  }
36
50
  export declare const useFleetStore: import("zustand").UseBoundStore<import("zustand").StoreApi<FleetState>>;
37
51
  /** Pre-computed fleet-wide summary statistics. */
@@ -66,9 +80,39 @@ export declare const selectFleetSummary: (state: FleetState) => FleetSummary;
66
80
  /** Selector: return agents sorted leader-first → running-first → by start time.
67
81
  * Creates a new array on every call; wrap with `useShallow` when subscribing
68
82
  * through useFleetStore.
83
+ *
84
+ * Leader-first ordering honors EVERY session's leader (`isLeader` flag),
85
+ * not the process-wide `leaderId` pointer: that pointer is last-writer-wins
86
+ * across four tabs, so sorting by it crowned only the most recently
87
+ * announced tab's leader and demoted the other three on every announce.
69
88
  */
70
89
  export declare const selectSortedAgentList: (state: FleetState) => SubagentView[];
71
90
  /** Selector: O(1) lookup of the leader agent's name via the agents Map. */
72
91
  export declare const selectLeaderName: (state: FleetState) => string | undefined;
73
- export {};
92
+ export interface SessionFleetTotals {
93
+ /** The leader of THIS session, or undefined when it has none. */
94
+ leaderId: string | undefined;
95
+ tokensIn: number;
96
+ tokensOut: number;
97
+ totalCost: number;
98
+ running: number;
99
+ completed: number;
100
+ failed: number;
101
+ total: number;
102
+ }
103
+ /** Fleet totals for ONE session. Never mutate the result — it is cached. */
104
+ export declare const selectSessionFleetTotals: (state: FleetState, sessionId: string | undefined) => SessionFleetTotals;
105
+ /**
106
+ * The leader of ONE session.
107
+ *
108
+ * Falls back to the process-wide `leaderId` only when that agent actually
109
+ * belongs to the session asked about — a leader that belongs to another tab
110
+ * must never be reported here, which is exactly the crown-on-the-wrong-card
111
+ * bug this replaces.
112
+ */
113
+ export declare const selectSessionLeaderId: (state: FleetState, sessionId: string | undefined) => string | undefined;
114
+ /** Hook: the leader of the tab in front (or of `sessionId` when given). */
115
+ export declare function useSessionLeaderId(sessionId?: string | undefined): string | undefined;
116
+ /** Hook: fleet totals for the tab in front (or for `sessionId` when given). */
117
+ export declare function useSessionFleetTotals(sessionId?: string | undefined): SessionFleetTotals;
74
118
  //# sourceMappingURL=fleet-store.d.ts.map
@@ -16,21 +16,45 @@ export interface GitDiffContent {
16
16
  tooLarge?: boolean;
17
17
  error?: string;
18
18
  }
19
+ interface GitChangesSessionState {
20
+ selectedPath: string | null;
21
+ diff: GitDiffContent | null;
22
+ loadingDiff: boolean;
23
+ }
19
24
  interface GitChangesState {
20
25
  files: GitChangedFile[];
21
26
  /** Set when the last `git.changes` reply carried an error (e.g. not a repo). */
22
27
  error: string | null;
28
+ /**
29
+ * Repo→project path prefix ('' when the project root is the repo root),
30
+ * server-computed via repoRelativePrefix. Git paths are repo-root-
31
+ * relative while FileExplorer tree paths are project-root-relative;
32
+ * prepend this to a tree path to build its git lookup key.
33
+ */
34
+ repoPrefix: string;
35
+ /**
36
+ * Server-computed aggregate status per directory (repo-relative keys) —
37
+ * the highest-ranked child status (U > D > M > R/C > A > ?), shipped in
38
+ * git.changes. Replaces the old client-side prefix-scan heuristic.
39
+ */
40
+ dirs: Record<string, string>;
23
41
  loadingList: boolean;
24
42
  /** Repo-relative path of the file whose diff is shown in the main pane. */
25
43
  selectedPath: string | null;
26
44
  /** Diff body for `selectedPath` (null while loading or before selection). */
27
45
  diff: GitDiffContent | null;
28
46
  loadingDiff: boolean;
29
- setFiles: (files: GitChangedFile[], error: string | null) => void;
47
+ /** Which session the selected diff projection currently describes. */
48
+ gitChangesSessionId: string | null;
49
+ /** Per-session selected diff state. The changed-file list itself is project-global. */
50
+ gitChangesBySession: Record<string, GitChangesSessionState>;
51
+ setFiles: (files: GitChangedFile[], error: string | null, repoPrefix?: string, dirs?: Record<string, string>) => void;
30
52
  setListLoading: (loading: boolean) => void;
31
53
  select: (path: string | null) => void;
32
54
  setDiff: (diff: GitDiffContent | null) => void;
33
55
  setDiffLoading: (loading: boolean) => void;
56
+ bindSessionGitChanges: (sessionId: string | null) => void;
57
+ forgetSessionGitChanges: (sessionId: string) => void;
34
58
  clear: () => void;
35
59
  }
36
60
  export declare const useGitChangesStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GitChangesState>>;
@@ -1,7 +1,7 @@
1
1
  import type { PhaseItem } from '@/components/PhasePanel';
2
- export type GoalRunStatus = 'idle' | 'running' | 'paused' | 'completed' | 'failed' | 'stopped';
2
+ type GoalRunStatus = 'idle' | 'running' | 'paused' | 'completed' | 'failed' | 'stopped';
3
3
  /** A persisted kanban board (one Goal graph JSON per board on disk). */
4
- export interface GoalRunBoardSummary {
4
+ interface GoalRunBoardSummary {
5
5
  id: string;
6
6
  title: string;
7
7
  updatedAt: number;
@@ -8,6 +8,17 @@ interface HistoryState {
8
8
  removeEntry: (id: string) => void;
9
9
  /** Optimistically patch an entry's name (cleared when `name` is empty). */
10
10
  updateEntryName: (id: string, name: string) => void;
11
+ /**
12
+ * Re-point the `isCurrent` flag at the tab now in front.
13
+ *
14
+ * The list itself is project-wide, but `isCurrent` is not: it disables the
15
+ * resume button, drives the "active" filter, and spares a row from the
16
+ * empty-session sweep. The server can only answer one session per frame,
17
+ * and `session.new` BROADCASTS a list to every socket — so the flag is
18
+ * settled here, where the foreground session is known, instead of trusting
19
+ * whichever session the last frame happened to be about.
20
+ */
21
+ rebindCurrent: (sessionId: string | null) => void;
11
22
  clearHistory: () => void;
12
23
  }
13
24
  export declare const useHistoryStore: import("zustand").UseBoundStore<import("zustand").StoreApi<HistoryState>>;
@@ -1,18 +1,24 @@
1
1
  export { useChatStore } from './chat-store.js';
2
+ export type { ChimeraReportNotice } from './chimera-reports-store.js';
3
+ export { useChimeraReportsStore } from './chimera-reports-store.js';
2
4
  export type { ActivityType, FileActivity } from './codemap-activity-store.js';
3
5
  export { extractActivitiesFromMessage, useCodemapActivityStore, } from './codemap-activity-store.js';
4
6
  export type { ConfigState } from './config-store.js';
5
7
  export { useConfigStore } from './config-store.js';
6
8
  export type { BudgetAlert, BudgetKind, ConsensusResult, ConsensusVote, CoordinatorStatus, FleetEvent, SubagentEntry, TaskEntry, VoteValue, } from './coordinator-monitor-store.js';
7
9
  export { useCoordinatorMonitorStore } from './coordinator-monitor-store.js';
10
+ export type { CouncilPanelEntry } from './council-log-store.js';
11
+ export { isCouncilPanelAdverse, MAX_COUNCIL_PANELS, summarizeCouncilPanel, toCouncilSeatVote, useCouncilLogStore, } from './council-log-store.js';
8
12
  export type { CronJobView, CronSnapshot } from './cron-store.js';
9
13
  export { useCronStore } from './cron-store.js';
14
+ export type { FallbackCandidate, FallbackPendingState } from './fallback-store.js';
15
+ export { useFallbackStore } from './fallback-store.js';
10
16
  export type { FileReference, FileReferenceInput } from './file-reference-store.js';
11
17
  export { refLabel, refsToMarkdown, useFileReferenceStore, } from './file-reference-store.js';
12
18
  export type { OpenFile, TreeNode } from './file-store.js';
13
19
  export { useFileStore } from './file-store.js';
14
- export { EMPTY_AGENT_TRANSCRIPT, selectFleetSummary, selectLeaderName, selectSortedAgentList, shallow, useFleetStore } from './fleet-store.js';
15
- export type { FleetSummary } from './fleet-store.js';
20
+ export type { FleetSummary, SessionFleetTotals } from './fleet-store.js';
21
+ export { EMPTY_AGENT_TRANSCRIPT, selectFleetSummary, selectLeaderName, selectSessionFleetTotals, selectSessionLeaderId, selectSortedAgentList, shallow, useFleetStore, useSessionFleetTotals, useSessionLeaderId, } from './fleet-store.js';
16
22
  export type { GitChangedFile, GitDiffContent } from './git-changes-store.js';
17
23
  export { useGitChangesStore } from './git-changes-store.js';
18
24
  export type { GitInfo } from './git-info-store.js';
@@ -27,21 +33,23 @@ export type { MailboxAgent, MailboxMessage } from './mailbox-store.js';
27
33
  export { selectUnreadCount, useMailboxStore } from './mailbox-store.js';
28
34
  export type { ClientCounts, CurrentSessionStats, MailActivity } from './monitor-store.js';
29
35
  export { useMonitorStore } from './monitor-store.js';
36
+ export type { AppNotification, NotificationAction, NotificationStoreState, NotificationVariant, } from './notification-store.js';
37
+ export { toast, useNotificationStore, useToastStore, } from './notification-store.js';
30
38
  export { type BackgroundStyle, DEFAULT_WAIT_THRESHOLD_MS, useOfficeMapStore, WAIT_THRESHOLD_PRESETS, } from './office-map-store.js';
31
- export { type ProviderHealthEntry, type ProviderHealthState, useProviderStatusStore, } from './provider-status-store.js';
32
- export { useFallbackStore } from './fallback-store.js';
33
- export type { FallbackCandidate, FallbackPendingState } from './fallback-store.js';
39
+ export { type ProviderAuditEntry, type ProviderHealthEntry, type ProviderHealthState, useProviderStatusStore, } from './provider-status-store.js';
34
40
  export { type SddBoardFeedEntry, type SddBoardSnapshotUI, type SddBoardStatus, type SddBoardSummary, type SddLifecycleResultUI, useSddBoardStore, } from './sdd-board-store.js';
35
41
  export { type SddWizardPhase, type SddWizardSnapshot, useSddWizardStore, } from './sdd-wizard-store.js';
36
- export { useSessionStore } from './session-store.js';
42
+ /** The lane pointer the single answer to "which tab is in front". */
43
+ export { activeSessionLaneId, useActiveSessionId } from './session-lanes.js';
44
+ export { memorySessionSnapshots, useSessionStore } from './session-store.js';
45
+ export { isTabBusy, MAX_OPEN_TABS, slotOf, summarizeTab, type TabSummary, useSessionTabStore } from './session-tab-store.js';
37
46
  export { type SideEffectEntry, useSideEffectStore } from './side-effect-store.js';
38
47
  export { type BoardTaskItem, type BoardTaskStatus, type SpecColumn, type SpecDetail, type SpecListItem, useSpecsStore, } from './specs-store.js';
39
48
  export { type TechStackCoverage, type TechStackDependency, type TechStackEvidence, type TechStackFinding, type TechStackFindingAction, type TechStackFindingSeverity, type TechStackFindingType, type TechStackJobKind, type TechStackJobStatus, type TechStackJobView, type TechStackProgress, type TechStackSnapshot, type TechStackWorkspace, useTechStackStore, } from './techstack-store.js';
40
- export type { AgentTranscriptEntry, AgentTranscriptKind, ChatMessage, FleetTimelineEvent, MessageContent, SessionHistoryEntry, SessionInfo, SubagentEvent, SubagentView, ToolExecution, } from './types.js';
49
+ export { bucketSuccessRatio, LEADER_AGENT_KEY, sessionInFlight, type ToolStatsBucket, type ToolStatsDelegation, type ToolStatsSession, useToolStatsStore, } from './tool-stats-store.js';
50
+ export type { AgentTranscriptEntry, AgentTranscriptKind, BrainDecisionData, ChatMessage, ChatMessageAttachment, CouncilDecisionData, CouncilSeatVote, FleetTimelineEvent, SessionHistoryEntry, SessionInfo, SubagentEvent, SubagentView, ToolExecution } from './types.js';
41
51
  export type { Activity, DockSection, InspectorTab, WorkDashboardTab } from './ui-store.js';
42
52
  export { coerceActivity, resetUiNavigationToHome, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_WIDTH, useUIStore, } from './ui-store.js';
43
- export type { CouncilPanelEntry, CouncilSeatVote } from './council-log-store.js';
44
- export { isCouncilPanelAdverse, MAX_COUNCIL_PANELS, summarizeCouncilPanel, toCouncilSeatVote, useCouncilLogStore, } from './council-log-store.js';
45
53
  export type { VizEdge, VizEvent, VizNode } from './viz-store.js';
46
54
  export { useVizStore } from './viz-store.js';
47
55
  export { useWorktreeStore } from './worktree-store.js';