@wrongstack/webui 0.313.1 → 0.316.2

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 +11 -11
  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
@@ -1,6 +1,6 @@
1
1
  import type { VizEvent } from '@/stores/viz-store';
2
2
  export type OfficeToolKind = 'read' | 'write' | 'edit' | 'terminal' | 'web' | 'search' | 'memory' | 'other';
3
- export interface OfficeFileTarget {
3
+ interface OfficeFileTarget {
4
4
  filePath: string;
5
5
  operation?: string | undefined;
6
6
  line?: number | undefined;
@@ -28,7 +28,7 @@ export interface OfficeToolCall {
28
28
  fileTargets: OfficeFileTarget[];
29
29
  raw?: unknown;
30
30
  }
31
- export interface OfficeMailboxMessage {
31
+ interface OfficeMailboxMessage {
32
32
  id: string;
33
33
  from: string;
34
34
  to: string;
@@ -79,7 +79,7 @@ interface SnapshotMailReceipt {
79
79
  export declare function buildSnapshotToolCalls(receipts: SnapshotToolReceipt[] | undefined, agentId: string, sessionId?: string): OfficeToolCall[];
80
80
  /** Convert bounded registry receipts to mail parcels when the mailbox cache is behind. */
81
81
  export declare function buildSnapshotMailActivities(receipts: SnapshotMailReceipt[] | undefined): OfficeMailActivity[];
82
- export interface OfficeMailRoute {
82
+ interface OfficeMailRoute {
83
83
  /** Mail id — also used to suppress the duplicate per-lane flyby. */
84
84
  id: string;
85
85
  mail: OfficeMailActivity;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Which tab does a fleet agent belong to?
3
+ *
4
+ * Fail-CLOSED, deliberately: an agent must NAME a session to be listed under
5
+ * it. Every roster in the app used to spell this as
6
+ *
7
+ * !a.sessionId || !currentSessionId || a.sessionId === currentSessionId
8
+ *
9
+ * which lists an untagged agent in all four tabs at once — the roster half of
10
+ * the cross-tab bleed. The server stamps every `subagent.event` through
11
+ * `sessionPayload()`, so an untagged agent is a bug upstream, not a normal
12
+ * case to be generous about; showing it four times hides that bug instead of
13
+ * surfacing it.
14
+ *
15
+ * Before a session exists, only the equally session-less agents match, which
16
+ * keeps the pre-session roster non-empty without ever crossing a tab.
17
+ */
18
+ export declare function agentBelongsToSession(agentSessionId: string | null | undefined, sessionId: string | null | undefined): boolean;
19
+ //# sourceMappingURL=agent-session.d.ts.map
@@ -12,7 +12,7 @@
12
12
  * and only owns canonical short labels plus activity sorting/counting.
13
13
  */
14
14
  import type { SubagentView } from '@/stores';
15
- export type AgentStatus = SubagentView['status'];
15
+ type AgentStatus = SubagentView['status'];
16
16
  /** Canonical short label per status (shared by the Fleet surfaces). */
17
17
  export declare const AGENT_STATUS_LABEL: Record<AgentStatus, string>;
18
18
  /** A subagent is "active" only while running. */
@@ -27,7 +27,7 @@ export declare function compareAgentsByActivity<T extends {
27
27
  status: string;
28
28
  startedAt: number;
29
29
  }>(a: T, b: T): number;
30
- export interface AgentTally {
30
+ interface AgentTally {
31
31
  running: number;
32
32
  completed: number;
33
33
  /** failed + timeout — the two terminal-error states the Fleet UIs group. */
@@ -39,7 +39,7 @@ export declare function tallyAgents<T extends {
39
39
  status: string;
40
40
  }>(list: readonly T[]): AgentTally;
41
41
  /** Context-fill severity band. */
42
- export type CtxSeverity = 'low' | 'medium' | 'high';
42
+ type CtxSeverity = 'low' | 'medium' | 'high';
43
43
  /** Clamp a context percentage [0, 100] and return its severity band. */
44
44
  export declare function classifyCtxPct(pct: number): {
45
45
  clamped: number;
@@ -74,7 +74,7 @@ export declare function fmtDuration(ms: number | undefined | null): string;
74
74
  * Pre-computed display values for an agent card or row.
75
75
  * All fields are derived from the SubagentView and ready to render.
76
76
  */
77
- export interface AgentDisplayStats {
77
+ interface AgentDisplayStats {
78
78
  /** Context percentage [0..100], clamped. */
79
79
  ctxClamped: number;
80
80
  /** Severity band for the context bar colour. */
@@ -99,4 +99,5 @@ export interface AgentDisplayStats {
99
99
  * Defaults to `Date.now()`. Pass a frozen timestamp in tests.
100
100
  */
101
101
  export declare function computeAgentStats(agent: SubagentView, now?: number): AgentDisplayStats;
102
+ export {};
102
103
  //# sourceMappingURL=agent-status.d.ts.map
@@ -5,11 +5,11 @@ export declare const COMPLETION_SUFFIX_CHARS = 4000;
5
5
  export declare const COMPLETION_TIMEOUT_MS = 5000;
6
6
  export declare const COMPLETION_CACHE_TTL_MS = 10000;
7
7
  export declare const COMPLETION_DOCUMENT_CHARS = 500000;
8
- export interface CompletionTriggerInfo {
8
+ interface CompletionTriggerInfo {
9
9
  triggerCharacter?: string;
10
10
  triggerKind?: number;
11
11
  }
12
- export interface CompletionCacheKeyInput {
12
+ interface CompletionCacheKeyInput {
13
13
  filePath: string;
14
14
  language: string;
15
15
  lineNumber: number;
@@ -24,4 +24,5 @@ export declare function currentToken(linePrefix: string): string;
24
24
  export declare function shouldAskCompletionServer(trigger: CompletionTriggerInfo, tokenText: string): boolean;
25
25
  export declare function shouldAllowCompletionLlm(trigger: CompletionTriggerInfo, tokenText: string): boolean;
26
26
  export declare function buildCompletionCacheKey(input: CompletionCacheKeyInput): string;
27
+ export {};
27
28
  //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1,33 @@
1
+ import type { SessionMarkerDetail } from '@wrongstack/core/types';
2
+ /**
3
+ * The chat text of a delegation, for the live handler AND for replay.
4
+ *
5
+ * Two callers build these lines: `session-execution-handlers` when the
6
+ * `delegate.started` / `delegate.completed` frames arrive, and
7
+ * `session-replay-handlers` when the same delegation comes back from the
8
+ * journal as a marker. They must produce the same bubble, or a resumed session
9
+ * shows a delegation that reads differently from the one that was on screen —
10
+ * so the wording lives here rather than in either caller.
11
+ */
12
+ /** Trim a single-line preview, matching the live handler's 180-char budget. */
13
+ export declare function truncateDelegateTask(text: string, max?: number): string;
14
+ export declare function delegateStartedText(target: string, task: string): string;
15
+ export declare function delegateCompletedText(input: {
16
+ target: string;
17
+ ok: boolean;
18
+ status?: string | undefined;
19
+ summary: string;
20
+ durationMs: number;
21
+ iterations: number;
22
+ toolCalls: number;
23
+ costUsd?: number | undefined;
24
+ }): string;
25
+ /**
26
+ * Render a replayed delegate marker as the chat bubble it was live, or `null`
27
+ * when the marker is not a delegation.
28
+ */
29
+ export declare function delegateMarkerText(detail: SessionMarkerDetail | undefined): {
30
+ content: string;
31
+ isError?: boolean | undefined;
32
+ } | null;
33
+ //# sourceMappingURL=delegate-format.d.ts.map
@@ -12,10 +12,11 @@
12
12
  * The status auto-resets to 'idle' on the next visibilitychange where the
13
13
  * tab becomes visible — so the badge only persists while the user is away.
14
14
  */
15
- export type FaviconStatus = 'idle' | 'running' | 'ready' | 'error' | 'attention';
15
+ type FaviconStatus = 'idle' | 'running' | 'ready' | 'error' | 'attention';
16
16
  export declare function setFaviconStatus(status: FaviconStatus): void;
17
17
  /** Install the visibilitychange listener once. When the user comes back to
18
18
  * the tab we clear any "ready/error" badge so they don't see a stale
19
19
  * notification dot after they've already returned. */
20
20
  export declare function installFaviconVisibilityReset(): void;
21
+ export {};
21
22
  //# sourceMappingURL=favicon.d.ts.map
@@ -11,7 +11,7 @@ export type TaskVerificationState = 'unverified' | 'running' | 'passed' | 'faile
11
11
  export declare function verificationStateOf(task: KanbanTask, activity?: {
12
12
  startedAt: number;
13
13
  } | undefined): TaskVerificationState;
14
- export interface VerificationSummary {
14
+ interface VerificationSummary {
15
15
  totalTasks: number;
16
16
  /** Only tasks in a terminal-ish state are graded (completed/review/failed). */
17
17
  gradedTasks: number;
@@ -36,7 +36,7 @@ export interface VerificationSummary {
36
36
  pendingProposals: KanbanTask[];
37
37
  }
38
38
  export declare function selectVerificationSummary(board: KanbanBoard): VerificationSummary;
39
- export interface TaskTreeNode {
39
+ interface TaskTreeNode {
40
40
  task: KanbanTask;
41
41
  children: TaskTreeNode[];
42
42
  depth: number;
@@ -49,4 +49,5 @@ export interface TaskTreeNode {
49
49
  export declare function buildTaskTree(board: KanbanBoard): TaskTreeNode[];
50
50
  /** Flatten a tree into rows for simple list rendering. */
51
51
  export declare function flattenTaskTree(nodes: TaskTreeNode[]): TaskTreeNode[];
52
+ export {};
52
53
  //# sourceMappingURL=kanban-verification.d.ts.map
@@ -1,8 +1,8 @@
1
- export interface ModelMatrixRouteRole {
1
+ interface ModelMatrixRouteRole {
2
2
  role: string;
3
3
  name: string;
4
4
  }
5
- export interface ModelMatrixRouteGroup {
5
+ interface ModelMatrixRouteGroup {
6
6
  phase: string;
7
7
  label: string;
8
8
  roles: readonly ModelMatrixRouteRole[];
@@ -10,8 +10,8 @@ export interface ModelMatrixRouteGroup {
10
10
  export declare const MODEL_MATRIX_DEFAULT_ROUTE = "*";
11
11
  export declare const MODEL_MATRIX_ROUTE_GROUPS: readonly ModelMatrixRouteGroup[];
12
12
  export declare const MODEL_MATRIX_PHASE_ROUTES: string[];
13
- export declare const MODEL_MATRIX_ROUTE_ROLES: readonly ModelMatrixRouteRole[];
14
13
  export declare const MODEL_MATRIX_ROLE_ROUTES: string[];
15
14
  export declare const MODEL_MATRIX_KNOWN_ROUTES: string[];
16
15
  export declare function formatModelMatrixRouteLabel(route: string): string;
16
+ export {};
17
17
  //# sourceMappingURL=model-matrix-routes.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { PluginConfig } from '@wrongstack/core/types';
2
2
  type PluginEntry = string | PluginConfig;
3
- export interface ResolvedPluginState {
3
+ interface ResolvedPluginState {
4
4
  /** Plugin name as it appears in `Config.plugins`. */
5
5
  readonly name: string;
6
6
  /** True iff the canonical config says this plugin is enabled. */
@@ -0,0 +1,76 @@
1
+ import type { ReasoningEffort } from '@wrongstack/core/types';
2
+ /**
3
+ * Canonical effort levels. `satisfies` pins this copy to core's
4
+ * `ReasoningEffort` union — adding a level in core without updating this list
5
+ * (or vice versa) becomes a compile error instead of silently dropping the
6
+ * model's newest level from every dropdown.
7
+ */
8
+ export declare const ALL_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
9
+ export type Effort = (typeof ALL_EFFORTS)[number];
10
+ /**
11
+ * Sentinel for "follow the general (project-wide) setting". Never a wire
12
+ * value: the runtime resolver treats a conversation meta of `auto` as "no
13
+ * conversation-level override", so the global
14
+ * `Config.modelRuntime.reasoning.effort` applies (core's
15
+ * `withConversationReasoning` skips it, and the server never persists it as
16
+ * a concrete effort).
17
+ */
18
+ export declare const AUTO_EFFORT = "auto";
19
+ /** Every value an effort dropdown may offer. */
20
+ export type EffortOption = typeof AUTO_EFFORT | Effort;
21
+ /** Guard for server-supplied lists — anything outside the canonical enum
22
+ * would render a raw key as its label; filter it instead. */
23
+ export declare function isEffort(value: string): value is Effort;
24
+ /**
25
+ * i18n keys for every canonical level. Typed against core's full union (not
26
+ * the local `Effort` alias) so the drift guard works in BOTH directions:
27
+ * `satisfies` on ALL_EFFORTS rejects a value core doesn't know, and this
28
+ * Record requires a label key for every value core DOES know — adding a level
29
+ * in core without a label here is a compile error, never a silently-missing
30
+ * dropdown entry.
31
+ */
32
+ export declare const EFFORT_LABEL_KEYS: Record<ReasoningEffort, string>;
33
+ /**
34
+ * Kept OUT of EFFORT_LABEL_KEYS so that Record stays pinned to core's union
35
+ * — `auto` is a WebUI-only sentinel, not a provider vocabulary level.
36
+ */
37
+ export declare const AUTO_EFFORT_LABEL_KEY = "settings:agent.reasoningEffortAuto";
38
+ /** Label key for any option value an effort select renders (auto included). */
39
+ export declare function effortLabelKey(value: EffortOption): string;
40
+ /**
41
+ * The effort options to offer for the ACTIVE model.
42
+ *
43
+ * `auto` always leads: it means "this tab follows the general setting"
44
+ * (`Config.modelRuntime.reasoning.effort`), whatever that currently is.
45
+ *
46
+ * `levels` is `session.reasoningEffortLevels` — the vocabulary the active
47
+ * model documents (models.dev reasoningConfig, sent only when the catalog
48
+ * lists explicit levels). Undefined/empty means the vocabulary is
49
+ * undocumented, and the full canonical set applies — matching the runtime
50
+ * resolver's conservative gate, which forwards the value whenever
51
+ * `effortSupported !== false` and drops it with a warning otherwise.
52
+ *
53
+ * A persisted effort the model no longer advertises (set on another model)
54
+ * is appended so the user sees what is actually configured and can change it
55
+ * deliberately; the runtime resolver independently omits unsupported values.
56
+ */
57
+ export declare function resolveEffortOptions(levels: readonly string[] | undefined, current: string): EffortOption[];
58
+ /**
59
+ * True when the persisted effort is KNOWN to be unsupported by the active
60
+ * model — i.e. the model documents an explicit level list and the current
61
+ * value is not in it. Absent levels mean "vocabulary undocumented", which is
62
+ * not evidence of support or its absence; the resolver forwards the value and
63
+ * the UI must not claim it is wrong. `auto` is never "not advertised" — it is
64
+ * not a level at all, it defers to the general setting.
65
+ */
66
+ export declare function effortNotAdvertised(levels: readonly string[] | undefined, current: string): boolean;
67
+ /**
68
+ * Tri-state visibility gate, mirroring the resolver's: hide the control only
69
+ * when the model DOCUMENTS that it has no effort control
70
+ * (`reasoningConfig.effortSupported === false`). `undefined` means the
71
+ * vocabulary is undocumented — the resolver forwards the value, so the UI
72
+ * shows the full canonical set rather than claiming support is absent.
73
+ * Boolean-coercing this tri-state is a bug: `undefined` is not `false`.
74
+ */
75
+ export declare function effortControlHidden(effortSupported: boolean | undefined): boolean;
76
+ //# sourceMappingURL=reasoning-effort.d.ts.map
@@ -6,8 +6,8 @@
6
6
  * apart as the views evolve.
7
7
  */
8
8
  import { type LucideIcon } from 'lucide-react';
9
- export type SddStatus = 'pending' | 'queued' | 'in_progress' | 'blocked' | 'review' | 'failed' | 'completed' | 'cancelled';
10
- export interface SddStatusStyle {
9
+ type SddStatus = 'pending' | 'queued' | 'in_progress' | 'blocked' | 'review' | 'failed' | 'completed' | 'cancelled';
10
+ interface SddStatusStyle {
11
11
  /** Short label, e.g. "Running". */
12
12
  label: string;
13
13
  /** Lucide icon for the status. */
@@ -25,7 +25,7 @@ export interface SddStatusStyle {
25
25
  }
26
26
  export declare const SDD_STATUS: Record<SddStatus, SddStatusStyle>;
27
27
  export declare function statusStyle(s: string): SddStatusStyle;
28
- export type SddPriority = 'critical' | 'high' | 'medium' | 'low';
28
+ type SddPriority = 'critical' | 'high' | 'medium' | 'low';
29
29
  export declare const SDD_PRIORITY: Record<SddPriority, {
30
30
  text: string;
31
31
  chip: string;
@@ -49,4 +49,5 @@ export declare function agentInitials(name: string): string;
49
49
  export declare function fmtDuration(ms: number): string;
50
50
  /** Compact relative age, e.g. "5s" / "3m" / "2h". */
51
51
  export declare function fmtAgo(ts: number, now: number): string;
52
+ export {};
52
53
  //# sourceMappingURL=sdd-theme.d.ts.map
@@ -0,0 +1,5 @@
1
+ /** One-line preview length — chimera briefs are multi-KB and must not enter chrome. */
2
+ export declare const TASK_PREVIEW_CHARS = 140;
3
+ /** Collapse whitespace and clip so pinned chrome never lays out the full brief. */
4
+ export declare function taskBriefPreview(description: string, maxChars?: number): string;
5
+ //# sourceMappingURL=task-brief-preview.d.ts.map
@@ -1,6 +1,5 @@
1
1
  export declare const TERMINAL_HEIGHT_STORAGE_KEY = "wrongstack.terminalDockHeight";
2
2
  export declare const MIN_TERMINAL_HEIGHT = 140;
3
3
  export declare const MAX_TERMINAL_HEIGHT = 640;
4
- export declare const MIN_MAIN_AREA_WHEN_TERMINAL_OPEN = 260;
5
4
  export declare function clampTerminalHeight(height: number): number;
6
5
  //# sourceMappingURL=terminal-dock.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { type Activity } from '@/stores/ui-store';
2
- export type PanelMainView = 'chat' | 'files' | 'skill' | 'officemap' | 'changes' | 'mailbox' | 'design-gallery';
3
- export type MainView = 'goal' | 'kanban' | 'sddhub' | 'settings' | 'memory' | 'roster' | 'codemap' | 'techstack' | 'chronicle' | 'intake' | 'prompts';
2
+ export type PanelMainView = 'chat' | 'files' | 'skill' | 'changes' | 'mailbox' | 'design-gallery';
3
+ export type MainView = 'goal' | 'kanban' | 'sddhub' | 'settings' | 'memory' | 'roster' | 'codemap' | 'techstack' | 'chronicle' | 'intake' | 'prompts' | 'chimera';
4
4
  export type AppView = PanelMainView | MainView | 'sessions' | 'session-inspect' | 'setup' | 'debug' | 'refresh-debug' | 'analytics';
5
5
  export declare const PANEL_VIEW_BY_ACTIVITY: Record<Activity, PanelMainView>;
6
6
  export declare const VIEW_ACTIVITY: Partial<Record<AppView, Activity>>;
@@ -102,6 +102,7 @@ export interface WsClientActionMethods {
102
102
  getStats(options?: WSSendOptions): void;
103
103
  saveSession(): void;
104
104
  resumeSessionById(id: string): void;
105
+ focusSessionById(id: string): void;
105
106
  listModes(): void;
106
107
  switchMode(id: string): void;
107
108
  listFiles(query?: string, limit?: number, path?: string): void;
@@ -2,20 +2,52 @@ import type { WSClientMessage } from '../types';
2
2
  import type { ProviderCustomModelWire } from '../types/client-message';
3
3
  import type { ContextEditorMessage, ContextEditorRemoval } from '../types/runtime';
4
4
  import type { WSSendOptions } from './ws-client-contracts';
5
- export interface WsClientDomainHost {
5
+ interface WsClientDomainHost {
6
6
  send(message: WSClientMessage, options?: WSSendOptions): boolean;
7
- withSession<T extends Record<string, unknown>>(payload: T): T & {
7
+ withSession<T extends Record<string, unknown>>(payload: T, sessionId?: string | undefined): T & {
8
8
  sessionId?: string;
9
9
  };
10
10
  }
11
- export declare const domainMethods: {
11
+ declare const domainMethods: {
12
12
  getGitInfo(this: WsClientDomainHost): void;
13
13
  getGitChanges(this: WsClientDomainHost): void;
14
14
  getGitDiff(this: WsClientDomainHost, path: string): void;
15
+ stageGit(this: WsClientDomainHost, paths: string | string[]): void;
16
+ unstageGit(this: WsClientDomainHost, paths: string | string[]): void;
17
+ discardGit(this: WsClientDomainHost, paths: string | string[]): void;
18
+ commitGit(this: WsClientDomainHost, message: string): void;
15
19
  getProviderStatus(this: WsClientDomainHost): void;
20
+ getProviderAuditHistory(this: WsClientDomainHost, count?: number | undefined): void;
16
21
  retryProviderModel(this: WsClientDomainHost, providerId: string, model: string): void;
17
22
  clearProviderStatus(this: WsClientDomainHost, providerId: string, model: string): void;
18
- newSession(this: WsClientDomainHost): void;
23
+ /**
24
+ * Open an ADDITIONAL session (a new WebUI tab).
25
+ *
26
+ * Deliberately does NOT go through `withSession()`: stamping the live
27
+ * session id made the server read it as "the session being replaced", so
28
+ * it aborted that session's in-flight run and closed its journal writer.
29
+ * Retiring a session alongside the new one is opt-in via `replaceSessionId`.
30
+ *
31
+ * session-stamping: deliberately-unstamped
32
+ */
33
+ newSession(this: WsClientDomainHost, payload?: {
34
+ systemPromptVariant?: string;
35
+ replaceSessionId?: string;
36
+ }): void;
37
+ /**
38
+ * Ask for the identity-prompt catalogue (variants, token estimates, current).
39
+ *
40
+ * Stamped with the asking tab: the catalogue is shared but `current` is that
41
+ * session's own variant, and the reply comes back stamped so it lands on the
42
+ * right tab instead of overwriting whichever one asked last.
43
+ */
44
+ getSystemPrompt(this: WsClientDomainHost): void;
45
+ /**
46
+ * Switch the identity-prompt size. Rides `prefs.update` because the variant is
47
+ * an ordinary persisted preference on the server; the server answers with a
48
+ * fresh `system_prompt.info` broadcast once the live prompt is rebuilt.
49
+ */
50
+ setSystemPromptVariant(this: WsClientDomainHost, variant: 'lite' | 'default' | 'pro'): void;
19
51
  listProviders(this: WsClientDomainHost): void;
20
52
  listProviderModels(this: WsClientDomainHost, providerId: string): void;
21
53
  listSavedProviders(this: WsClientDomainHost): void;
@@ -77,10 +109,18 @@ export declare const domainMethods: {
77
109
  deleteContextMode(this: WsClientDomainHost, id: string): void;
78
110
  switchAutonomy(this: WsClientDomainHost, mode: string): void;
79
111
  updatePrefs(this: WsClientDomainHost, prefs: Record<string, unknown>): void;
80
- getPrefs(this: WsClientDomainHost): void;
112
+ /**
113
+ * Re-read preferences for ONE tab. Called on connect and on every tab
114
+ * switch: the session-scoped half of the snapshot belongs to whichever
115
+ * session asked, so an untagged `prefs.get` answers about whatever session
116
+ * the runtime happens to be on — a different tab from the asking one as
117
+ * often as not once four are open.
118
+ */
119
+ getPrefs(this: WsClientDomainHost, sessionId?: string): void;
81
120
  };
82
121
  export declare function installWsClientDomainMethods(ctor: {
83
122
  prototype: any;
84
123
  }): void;
85
124
  export type WsClientDomainMethods = typeof domainMethods;
125
+ export {};
86
126
  //# sourceMappingURL=ws-client-domain-methods.d.ts.map
@@ -1,3 +1,5 @@
1
+ import { type ChatLaneActions } from '../stores/chat-lanes';
2
+ import { type SessionLaneActions } from '../stores/session-lanes';
1
3
  import type { WSServerMessage } from '../types';
2
4
  /**
3
5
  * Generic event handler. When the consumer knows the literal message type K,
@@ -9,6 +11,23 @@ import type { WSServerMessage } from '../types';
9
11
  export type EventHandler<K extends WSServerMessage['type'] = WSServerMessage['type']> = (msg: Extract<WSServerMessage, {
10
12
  type: K;
11
13
  }>) => void;
14
+ /**
15
+ * The session the user is looking at, or `null` when none is bound yet.
16
+ *
17
+ * There is exactly ONE answer to "which tab is in front": the lane pointer.
18
+ * Every other candidate drifts from it —
19
+ *
20
+ * - `useSessionStore().session?.id` is the lane's SessionInfo record, which
21
+ * is null from the moment a tab is opened until its `session.start` lands,
22
+ * and again after `endSession`;
23
+ * - the WS client's own `sessionId` is whichever session announced last on
24
+ * the socket, which in a four-tab window is routinely a BACKGROUND tab.
25
+ *
26
+ * Both were used as stand-ins for the pointer on the send path, which is how
27
+ * a message typed in tab 2 started a run in tab 1's session. Read the pointer
28
+ * here and let the callers share it.
29
+ */
30
+ export declare function foregroundSessionId(): string | null;
12
31
  /**
13
32
  * Returns true when a server message is intended for the currently-active
14
33
  * session. The server tags session-scoped messages with `payload.sessionId`.
@@ -21,6 +40,20 @@ export type EventHandler<K extends WSServerMessage['type'] = WSServerMessage['ty
21
40
  * boot-time and project-wide broadcasts are not dropped.
22
41
  */
23
42
  export declare function isActiveSessionMessage(msg: WSServerMessage): boolean;
43
+ /**
44
+ * Read the session a message belongs to, or `null` when it names none.
45
+ * Empty-string counts as "none": the server stamps `sessionId: ''` when its
46
+ * context has no session, and that must never widen into "every session".
47
+ */
48
+ export declare function messageSessionId(msg: WSServerMessage): string | null;
49
+ export declare function chatFor(msg: WSServerMessage): ChatLaneActions | null;
50
+ /**
51
+ * Resolve the SESSION-ACCOUNTING lane a message belongs to — tokens, cost,
52
+ * iteration, todos, context ceiling. Same positive-routing contract as
53
+ * `chatFor`: a background run's numbers land on the background tab's counters,
54
+ * never on the tab in front.
55
+ */
56
+ export declare function sessionFor(msg: WSServerMessage): SessionLaneActions | null;
24
57
  /**
25
58
  * Convert a server message into a VizEvent and push it to the viz store,
26
59
  * activating the viz surface. No-op when the message isn't a viz source.