@wrongstack/webui 1.0.19 → 1.0.26

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 (259) hide show
  1. package/dist/assets/AgentRosterView-udJ14GYq.js +12 -0
  2. package/dist/assets/{AnalyticsDashboard-DmQd0E0V.js → AnalyticsDashboard-DwF-0cUA.js} +1 -1
  3. package/dist/assets/AudienceMemoryPanel-DpBGeZv_.js +3 -0
  4. package/dist/assets/ChangesView-BfM0T_aS.js +3 -0
  5. package/dist/assets/ChimeraReviewsView-Q_5C4DU1.js +1 -0
  6. package/dist/assets/ChronicleDashboard-D6LnZzhy.js +1 -0
  7. package/dist/assets/CodeEditor-DonrWH9u.js +2 -0
  8. package/dist/assets/CodeMap-Dxtc378S.js +1 -0
  9. package/dist/assets/{CronJobsPanel-TcZy_W2t.js → CronJobsPanel-Cn2PQO_p.js} +1 -1
  10. package/dist/assets/{DeadCodeScanPanel-BOD2JEyf.js → DeadCodeScanPanel-Mc5py-kJ.js} +1 -1
  11. package/dist/assets/{DebugDashboard-DFPNPzQ_.js → DebugDashboard-D0LRcT4J.js} +1 -1
  12. package/dist/assets/{DesignGalleryView-BXABwAji.js → DesignGalleryView-DAD-wRUc.js} +1 -1
  13. package/dist/assets/GoalView-CqeSw0tK.js +1 -0
  14. package/dist/assets/KanbanView-V-bkFftp.js +3 -0
  15. package/dist/assets/{MailboxDetailView-QyNmt1Gv.js → MailboxDetailView-CTEjap3r.js} +1 -1
  16. package/dist/assets/{MemoryDrawer-BZsyD1dh.js → MemoryDrawer-RCduY0FV.js} +1 -1
  17. package/dist/assets/MemoryManager-B-p6-Bic.js +1 -0
  18. package/dist/assets/{ProcessMonitor-Bz0jZvHJ.js → ProcessMonitor-B9tpPo4r.js} +1 -1
  19. package/dist/assets/PromptJournalView-DVNqlac9.js +1 -0
  20. package/dist/assets/ProviderTestView-mmfpnAbZ.js +1 -0
  21. package/dist/assets/QueuePanel-BB9qozjm.js +1 -0
  22. package/dist/assets/{RefreshDebugView-_XPrBDq3.js → RefreshDebugView-CCCWzq29.js} +1 -1
  23. package/dist/assets/{RepositoryHistoryView-Wlnvi5r1.js → RepositoryHistoryView-RQVRkkUU.js} +2 -2
  24. package/dist/assets/RequirementIntakeView-D_JRhgzW.js +1 -0
  25. package/dist/assets/{SageTabs-qrBn3VQr.js → SageTabs--k2hQTvl.js} +2 -2
  26. package/dist/assets/SddFlowGraph-DKrrRXKy.js +1 -0
  27. package/dist/assets/SddHub-B5XO56oY.js +2 -0
  28. package/dist/assets/{SessionInspectView-CuRk2DS0.js → SessionInspectView-j3VJwXNi.js} +1 -1
  29. package/dist/assets/SessionList-CCVHBseu.js +1 -0
  30. package/dist/assets/{SessionsDashboard-CSkm28Bx.js → SessionsDashboard-DsM7sXQw.js} +1 -1
  31. package/dist/assets/SetupScreen-DeuR8Y8S.js +1 -0
  32. package/dist/assets/SkillDetailView-BeZyGIpW.js +3 -0
  33. package/dist/assets/TechStackView-CpSMRQE0.js +2 -0
  34. package/dist/assets/TerminalPanel-BVJ5w-5R.js +1 -0
  35. package/dist/assets/activity-BS2aW_NN.js +10 -0
  36. package/dist/assets/activity-CR2KFruY.js +10 -0
  37. package/dist/assets/activity-Cd0qM2Hx.js +10 -0
  38. package/dist/assets/activity-DyXRoY2s.js +10 -0
  39. package/dist/assets/activity-bBAOetvE.js +10 -0
  40. package/dist/assets/activity-fI3Jy_jD.js +10 -0
  41. package/dist/assets/activity-t6fUmVjo.js +10 -0
  42. package/dist/assets/{button-BbeB5Qm8.js → button-UuKTnoM-.js} +1 -1
  43. package/dist/assets/chat-9GLubejR.js +1 -0
  44. package/dist/assets/chat-B50ssTLh.js +1 -0
  45. package/dist/assets/chat-CDioiM1L.js +1 -0
  46. package/dist/assets/chat-Cll_3gXD.js +1 -0
  47. package/dist/assets/chat-Cqhc6jQa.js +1 -0
  48. package/dist/assets/chat-DN1MggWt.js +1 -0
  49. package/dist/assets/chat-fyvZyUZM.js +1 -0
  50. package/dist/assets/chat-store-uzGtJfDz.js +1 -0
  51. package/dist/assets/{codemap-activity-store-Ha7XbGgq.js → codemap-activity-store-WjfEZe4_.js} +1 -1
  52. package/dist/assets/common-Bjl7V12m.js +1 -0
  53. package/dist/assets/common-BtyQBZBN.js +1 -0
  54. package/dist/assets/common-D0QL7rwb.js +1 -0
  55. package/dist/assets/common-DJRPtYAt.js +1 -0
  56. package/dist/assets/common-DPPTV3yw.js +1 -0
  57. package/dist/assets/common-DvjdaRhB.js +1 -0
  58. package/dist/assets/common-opV6EoLd.js +1 -0
  59. package/dist/assets/config-store-P5_updTQ.js +21 -0
  60. package/dist/assets/{dialog-b-Ai37sa.js → dialog-BDUaV5gY.js} +1 -1
  61. package/dist/assets/{empty-state-pfuS5znr.js → empty-state-BzoEa04Q.js} +1 -1
  62. package/dist/assets/{fonts-DRGbd-AM.js → fonts-C303yVU_.js} +2 -2
  63. package/dist/assets/i18n-t7rIS4DB.js +3 -0
  64. package/dist/assets/index-B4ELbNoz.js +181 -0
  65. package/dist/assets/index-qdrakcnP.css +1 -0
  66. package/dist/assets/{input-BA6D2L3K.js → input-DMnC2O7-.js} +1 -1
  67. package/dist/assets/{mailbox-store-ZQO_Rv6E.js → mailbox-store-DyOOYbni.js} +1 -1
  68. package/dist/assets/roster-ws-szSqUkqP.js +1 -0
  69. package/dist/assets/settings-BMHZcBqe.js +1 -0
  70. package/dist/assets/settings-BQ5J8WXE.js +1 -0
  71. package/dist/assets/settings-BfNJfO4z.js +1 -0
  72. package/dist/assets/settings-ClDQ01ie.js +1 -0
  73. package/dist/assets/settings-DD31lC4f.js +1 -0
  74. package/dist/assets/settings-Da3EIcna.js +1 -0
  75. package/dist/assets/settings-Dl_QM2QZ.js +1 -0
  76. package/dist/assets/{shared-BFJvAYzX.js → shared-CLNEiW00.js} +1 -1
  77. package/dist/assets/stores-Cx52UOxM.js +7 -0
  78. package/dist/assets/toasts-3tM1krOo.js +1 -0
  79. package/dist/assets/toasts-BrHW33qA.js +1 -0
  80. package/dist/assets/toasts-Buww129h.js +1 -0
  81. package/dist/assets/toasts-CSN9Fy47.js +1 -0
  82. package/dist/assets/toasts-DOoYxbHd.js +1 -0
  83. package/dist/assets/toasts-DkDnbhs_.js +1 -0
  84. package/dist/assets/toasts-Jo4VH13n.js +1 -0
  85. package/dist/assets/ui-store-DI0iusYZ.js +1 -0
  86. package/dist/assets/{utils-CKsqCaP8.js → utils-B21Devim.js} +1 -1
  87. package/dist/assets/{vector-memory-panel-YWv6xcza.js → vector-memory-panel-DnX-ODHC.js} +1 -1
  88. package/dist/assets/{vendor-V3ydTHqN.js → vendor-BfBvt432.js} +28 -28
  89. package/dist/assets/{view-navigation-DTs4cSQ6.js → view-navigation-Cvrp_uJm.js} +1 -1
  90. package/dist/components/BrowserLivePane.d.ts +2 -0
  91. package/dist/components/ChangesView.d.ts +3 -1
  92. package/dist/components/ChatInput/chat-input-bars.d.ts +1 -1
  93. package/dist/components/ChatInput/image-attachments.d.ts +19 -2
  94. package/dist/components/ChatInput/skill-mention-picker.d.ts +10 -0
  95. package/dist/components/ChatInput/slash-routing.d.ts +18 -0
  96. package/dist/components/ChatInput/use-paste-drop.d.ts +3 -0
  97. package/dist/components/ChatInput/use-prompt-queue-view.d.ts +13 -0
  98. package/dist/components/ChatView/BackgroundShellStrip.d.ts +16 -0
  99. package/dist/components/ChatView/TerminalStrip.d.ts +8 -0
  100. package/dist/components/CodeMap.d.ts +0 -12
  101. package/dist/components/CustomRosterPanel.d.ts +0 -1
  102. package/dist/components/GoalPanel.d.ts +2 -1
  103. package/dist/components/ImageDiffView.d.ts +12 -0
  104. package/dist/components/KanbanTaskExecution.d.ts +64 -0
  105. package/dist/components/KanbanTaskInspector.d.ts +1 -1
  106. package/dist/components/MessageBubble/AttachmentGallery.d.ts +1 -1
  107. package/dist/components/MessageBubble/GeneratedImagePreview.d.ts +10 -0
  108. package/dist/components/OfficeMapCanvas.d.ts +0 -7
  109. package/dist/components/SessionTabBar/summaries.d.ts +4 -0
  110. package/dist/components/SettingsPanel/BrainSection.d.ts +1 -1
  111. package/dist/components/SettingsPanel/JevSection.d.ts +4 -0
  112. package/dist/components/SettingsPanel/LimitsSection.d.ts +7 -0
  113. package/dist/components/SettingsPanel/MCPSection.d.ts +1 -37
  114. package/dist/components/SettingsPanel/MCPServerCards.d.ts +67 -0
  115. package/dist/components/SettingsPanel/MCPServerDialog.d.ts +11 -0
  116. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +2 -0
  117. package/dist/components/SettingsPanel/PreferenceControls.d.ts +8 -0
  118. package/dist/components/SettingsPanel/ProviderSavedProfiles.d.ts +50 -0
  119. package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -79
  120. package/dist/components/SettingsPanel/SettingsNavigation.d.ts +12 -0
  121. package/dist/components/SettingsPanel/brain-section-options.d.ts +2 -3
  122. package/dist/components/SettingsPanel/contracts.d.ts +1 -0
  123. package/dist/components/SettingsPanel/official-servers.d.ts +1 -0
  124. package/dist/components/SettingsPanel/provider-section-types.d.ts +79 -0
  125. package/dist/components/SettingsPanel/use-brain-section.d.ts +28 -0
  126. package/dist/components/SidePanel/SessionList.d.ts +1 -34
  127. package/dist/components/SidePanel/session-history.d.ts +61 -0
  128. package/dist/components/SkillDetailView.d.ts +1 -1
  129. package/dist/components/SystemPromptPresetEditor.d.ts +9 -0
  130. package/dist/components/TerminalPanel.d.ts +8 -1
  131. package/dist/components/WorkspaceDock.d.ts +2 -2
  132. package/dist/components/chronicle-event-detail.d.ts +51 -0
  133. package/dist/components/context-dashboard-sections.d.ts +79 -0
  134. package/dist/components/review/ReviewDiff.d.ts +21 -0
  135. package/dist/components/review/ReviewTray.d.ts +15 -0
  136. package/dist/components/review/review-diff-model.d.ts +31 -0
  137. package/dist/components/use-code-map-flow.d.ts +25 -0
  138. package/dist/components/use-office-map-canvas.d.ts +42 -0
  139. package/dist/components/use-office-map-topology.d.ts +31 -0
  140. package/dist/components/use-skill-detail.d.ts +177 -0
  141. package/dist/components/vector-memory-panel/model.d.ts +9 -0
  142. package/dist/hooks/use-live-browser.d.ts +7 -0
  143. package/dist/hooks/useProviderModels.d.ts +2 -0
  144. package/dist/hooks/useWebSocket.d.ts +4 -5
  145. package/dist/hooks/ws-handlers/brain-handlers.d.ts +18 -0
  146. package/dist/hooks/ws-handlers/goal-handlers.d.ts +9 -0
  147. package/dist/hooks/ws-handlers/misc-handlers.d.ts +2 -21
  148. package/dist/hooks/ws-handlers/prompt-queue-handlers.d.ts +18 -0
  149. package/dist/index.css +3013 -3013
  150. package/dist/index.html +19 -19
  151. package/dist/index.js +98758 -91674
  152. package/dist/lib/auth-operation.d.ts +5 -0
  153. package/dist/lib/compact-file-tree.d.ts +30 -0
  154. package/dist/lib/project-image.d.ts +26 -0
  155. package/dist/lib/provider-warm.d.ts +3 -0
  156. package/dist/lib/sdd-theme.d.ts +2 -2
  157. package/dist/lib/ws-client-actions.d.ts +2 -0
  158. package/dist/lib/ws-client-domain-methods.d.ts +1 -1
  159. package/dist/lib/ws-client-session-methods.d.ts +3 -1
  160. package/dist/lib/ws-client.d.ts +3 -3
  161. package/dist/stores/chat-lane-data.d.ts +153 -0
  162. package/dist/stores/chat-lanes.d.ts +3 -174
  163. package/dist/stores/chat-queue-helpers.d.ts +9 -0
  164. package/dist/stores/chat-store-types.d.ts +3 -0
  165. package/dist/stores/chat-store.d.ts +1 -1
  166. package/dist/stores/context-editor-store.d.ts +1 -1
  167. package/dist/stores/council-log-store.d.ts +4 -0
  168. package/dist/stores/fleet-transcript.d.ts +14 -0
  169. package/dist/stores/git-changes-store.d.ts +3 -0
  170. package/dist/stores/goal-run-store.d.ts +8 -0
  171. package/dist/stores/goal-state-store.d.ts +3 -0
  172. package/dist/stores/goal-store.d.ts +9 -11
  173. package/dist/stores/local-prefs-defaults.d.ts +340 -0
  174. package/dist/stores/local-prefs.d.ts +2 -318
  175. package/dist/stores/notification-store.d.ts +9 -0
  176. package/dist/stores/review-store.d.ts +54 -0
  177. package/dist/stores/session-activity.d.ts +33 -0
  178. package/dist/stores/session-tab-store.d.ts +1 -46
  179. package/dist/stores/terminal-strip-store.d.ts +26 -0
  180. package/dist/stores/ui-store-chrome.d.ts +1 -1
  181. package/dist/stores/ui-store-persist.d.ts +2 -2
  182. package/dist/stores/ui-store-types.d.ts +4 -4
  183. package/dist/stores/ui-store.d.ts +5 -5
  184. package/dist/types/brain.d.ts +4 -2
  185. package/dist/types/client-message.d.ts +132 -11
  186. package/dist/types/jev.d.ts +62 -0
  187. package/dist/types/prompt-queue.d.ts +55 -0
  188. package/dist/types/protocol-core.d.ts +4 -216
  189. package/dist/types/runtime.d.ts +6 -39
  190. package/dist/types/server-message-files.d.ts +22 -0
  191. package/dist/types/server-message-mcp.d.ts +30 -0
  192. package/dist/types/server-message-system.d.ts +114 -0
  193. package/dist/types/server-message.d.ts +4 -3
  194. package/dist/types/system.d.ts +4 -24
  195. package/package.json +11 -10
  196. package/dist/assets/AgentRosterView-D4TuVXe8.js +0 -12
  197. package/dist/assets/AudienceMemoryPanel-DHJM4rf1.js +0 -3
  198. package/dist/assets/ChangesView-CZ-nCe26.js +0 -1
  199. package/dist/assets/ChimeraReviewsView-CNeRLesP.js +0 -1
  200. package/dist/assets/ChronicleDashboard-CYELq7EO.js +0 -1
  201. package/dist/assets/CodeEditor-CLscjkIR.js +0 -2
  202. package/dist/assets/CodeMap-CdVy9Q7V.js +0 -1
  203. package/dist/assets/GoalView-Cepqrg9l.js +0 -1
  204. package/dist/assets/KanbanView-FSePkLch.js +0 -3
  205. package/dist/assets/MemoryManager-IHmhWn4P.js +0 -1
  206. package/dist/assets/PromptJournalView-Ct8cLcGU.js +0 -1
  207. package/dist/assets/ProviderTestView-Dy3k2bVu.js +0 -1
  208. package/dist/assets/QueuePanel-oVkTB68Q.js +0 -1
  209. package/dist/assets/RequirementIntakeView-Cj5arGFF.js +0 -1
  210. package/dist/assets/SddFlowGraph-DS8R2zEj.js +0 -1
  211. package/dist/assets/SddHub-C8pHQYSM.js +0 -2
  212. package/dist/assets/SessionList-BgRb1Mp4.js +0 -1
  213. package/dist/assets/SetupScreen-CNcJ_9O9.js +0 -1
  214. package/dist/assets/SkillDetailView-Bc9owpaX.js +0 -3
  215. package/dist/assets/TechStackView-BHiGCRBT.js +0 -2
  216. package/dist/assets/TerminalPanel-7VeXK8LB.js +0 -1
  217. package/dist/assets/activity-1wlPY6yi.js +0 -10
  218. package/dist/assets/activity-BVbAv0x7.js +0 -10
  219. package/dist/assets/activity-BmJTU8kX.js +0 -10
  220. package/dist/assets/activity-By_aWEsY.js +0 -10
  221. package/dist/assets/activity-Cps_29WN.js +0 -10
  222. package/dist/assets/activity-Du_fOnvF.js +0 -10
  223. package/dist/assets/activity-p_2o4eC6.js +0 -10
  224. package/dist/assets/chat-6dE2AJNN.js +0 -1
  225. package/dist/assets/chat-B3AJmhGD.js +0 -1
  226. package/dist/assets/chat-BHsbpaVt.js +0 -1
  227. package/dist/assets/chat-BITJe8-v.js +0 -1
  228. package/dist/assets/chat-U-Jjb8_k.js +0 -1
  229. package/dist/assets/chat-_Xp5fDnj.js +0 -1
  230. package/dist/assets/chat-mSbSzPl5.js +0 -1
  231. package/dist/assets/chat-store-C-PKlsCR.js +0 -1
  232. package/dist/assets/common-BXosnbIt.js +0 -1
  233. package/dist/assets/common-CzfPgMjC.js +0 -1
  234. package/dist/assets/common-DDDPz7Dv.js +0 -1
  235. package/dist/assets/common-DYx9oSoC.js +0 -1
  236. package/dist/assets/common-DZ-05t4z.js +0 -1
  237. package/dist/assets/common-MjX8fcng.js +0 -1
  238. package/dist/assets/common-ipsuLC3n.js +0 -1
  239. package/dist/assets/config-store-xSv1mChc.js +0 -21
  240. package/dist/assets/i18n--QdD6NCn.js +0 -3
  241. package/dist/assets/index-DiX5j910.css +0 -1
  242. package/dist/assets/index-FWwLmwjx.js +0 -177
  243. package/dist/assets/roster-ws-CxKDc-ET.js +0 -1
  244. package/dist/assets/settings-B5Jy-ObI.js +0 -1
  245. package/dist/assets/settings-BXTJJ4n-.js +0 -1
  246. package/dist/assets/settings-BcXAVecM.js +0 -1
  247. package/dist/assets/settings-ByPfZHGm.js +0 -1
  248. package/dist/assets/settings-CCe4iHcn.js +0 -1
  249. package/dist/assets/settings-D2GLiaDO.js +0 -1
  250. package/dist/assets/settings-gB9nKL3f.js +0 -1
  251. package/dist/assets/stores-2kakt8j9.js +0 -7
  252. package/dist/assets/toasts-BsmyGP95.js +0 -1
  253. package/dist/assets/toasts-CgXHu8ZB.js +0 -1
  254. package/dist/assets/toasts-DZ6HdKgG.js +0 -1
  255. package/dist/assets/toasts-DizCJjAR.js +0 -1
  256. package/dist/assets/toasts-NC2MT4uN.js +0 -1
  257. package/dist/assets/toasts-bPl097de.js +0 -1
  258. package/dist/assets/toasts-tCVo15mP.js +0 -1
  259. package/dist/assets/ui-store-DC3mkswy.js +0 -1
@@ -1,6 +1,7 @@
1
1
  import type { BrainConfigPatchWire } from './brain.js';
2
2
  import type { ChronicleFacet, ChronicleMetricsView, ChronicleQuery } from './chronicle.js';
3
3
  import type { WSCollabAnnotate, WSCollabGrantControl, WSCollabInjectTool, WSCollabJoin, WSCollabLeave, WSCollabRequestPause, WSCollabResolve, WSCollabResume } from './collab.js';
4
+ import type { WSPromptQueueClientMessage } from './prompt-queue.js';
4
5
  import type { SessionScopedPayload, WSUserMessage } from './protocol-core.js';
5
6
  import type { ContextEditorMessage, ContextEditorRemoval, WSModelSwitch, WSToolConfirmResult, WSUserInputSubmit } from './runtime.js';
6
7
  import type { SageAnchor, SageScope, SageStatus, WSMemorySageForFileRequest } from './sage.js';
@@ -25,7 +26,12 @@ export interface ProviderCustomModelWire {
25
26
  */
26
27
  modelsDev?: Record<string, unknown> | undefined;
27
28
  }
28
- export type WSClientMessageCore = WSUserMessage | {
29
+ export type WSClientMessageCore = WSUserMessage | WSPromptQueueClientMessage
30
+ /** The user is typing; open the provider connection (`session.provider-warm`). */
31
+ | {
32
+ type: 'composer.warm';
33
+ payload: SessionScopedPayload;
34
+ } | {
29
35
  type: 'topic.advice';
30
36
  payload: SessionScopedPayload & {
31
37
  requestId: string;
@@ -100,7 +106,9 @@ export type WSClientMessageCore = WSUserMessage | {
100
106
  payload: Record<string, never>;
101
107
  } | {
102
108
  type: 'goal.resume';
103
- payload: Record<string, never>;
109
+ payload: {
110
+ graphId?: string | undefined;
111
+ };
104
112
  } | {
105
113
  type: 'goal.stop';
106
114
  payload: Record<string, never>;
@@ -113,9 +121,6 @@ export type WSClientMessageCore = WSUserMessage | {
113
121
  } | {
114
122
  type: 'goal.status';
115
123
  payload?: Record<string, never>;
116
- } | {
117
- type: 'goal.state';
118
- payload?: Record<string, never>;
119
124
  } | {
120
125
  type: 'goal.save';
121
126
  payload?: Record<string, never>;
@@ -125,12 +130,9 @@ export type WSClientMessageCore = WSUserMessage | {
125
130
  } | {
126
131
  type: 'goal.load';
127
132
  payload: {
128
- graphId: string;
129
- };
130
- } | {
131
- type: 'goal.toggleAutonomous';
132
- payload: {
133
- autonomous?: boolean | undefined;
133
+ graphId?: string | undefined;
134
+ query?: string | undefined;
135
+ resume?: boolean | undefined;
134
136
  };
135
137
  } | {
136
138
  type: 'goal.selectPhase';
@@ -444,6 +446,13 @@ export type WSClientMessageCore = WSUserMessage | {
444
446
  * what a live lane already has.
445
447
  */
446
448
  replayFor?: string[];
449
+ /**
450
+ * Reconnect catch-up: the last numbered frame (`seq`) this page applied
451
+ * per tab, valid for the server process that issued `eventEpoch`. The
452
+ * server sends back the frames after it, then `session.frames_resumed`.
453
+ */
454
+ cursors?: Record<string, number>;
455
+ eventEpoch?: string;
447
456
  } & SessionScopedPayload;
448
457
  } | {
449
458
  type: 'context.clear';
@@ -584,6 +593,7 @@ export type WSClientMessageCore = WSUserMessage | {
584
593
  type: 'provider.add';
585
594
  payload: {
586
595
  id: string;
596
+ type?: string | undefined;
587
597
  family: string;
588
598
  baseUrl?: string | undefined;
589
599
  apiKey?: string | undefined;
@@ -938,6 +948,11 @@ export type WSClientMessageCore = WSUserMessage | {
938
948
  payload: {
939
949
  filePath: string;
940
950
  } & SessionScopedPayload;
951
+ } | {
952
+ type: 'files.image';
953
+ payload: {
954
+ filePath: string;
955
+ } & SessionScopedPayload;
941
956
  } | {
942
957
  type: 'files.skeleton';
943
958
  payload: {
@@ -1021,6 +1036,23 @@ export type WSClientMessageCore = WSUserMessage | {
1021
1036
  } | {
1022
1037
  type: 'process.list';
1023
1038
  payload?: SessionScopedPayload;
1039
+ } | {
1040
+ type: 'process.output';
1041
+ payload: {
1042
+ pid: number;
1043
+ lines?: number;
1044
+ } & SessionScopedPayload;
1045
+ } | {
1046
+ type: 'browser.live.list';
1047
+ payload?: SessionScopedPayload;
1048
+ } | {
1049
+ type: 'browser.live.watch';
1050
+ payload: {
1051
+ id: string;
1052
+ } & SessionScopedPayload;
1053
+ } | {
1054
+ type: 'browser.live.unwatch';
1055
+ payload?: SessionScopedPayload;
1024
1056
  } | {
1025
1057
  type: 'process.kill';
1026
1058
  payload: {
@@ -1085,6 +1117,23 @@ export type WSClientMessageCore = WSUserMessage | {
1085
1117
  type: 'goal.get';
1086
1118
  } | {
1087
1119
  type: 'goal-state.get';
1120
+ } | {
1121
+ type: 'goal-state.set';
1122
+ payload: {
1123
+ goal: string;
1124
+ } & SessionScopedPayload;
1125
+ } | {
1126
+ type: 'goal-state.refine';
1127
+ payload?: SessionScopedPayload;
1128
+ } | {
1129
+ type: 'goal-state.pause';
1130
+ payload?: Record<string, never>;
1131
+ } | {
1132
+ type: 'goal-state.resume';
1133
+ payload?: Record<string, never>;
1134
+ } | {
1135
+ type: 'goal-state.clear';
1136
+ payload?: Record<string, never>;
1088
1137
  } | {
1089
1138
  type: 'autonomy.switch';
1090
1139
  payload: {
@@ -1099,6 +1148,49 @@ export type WSClientMessageCore = WSUserMessage | {
1099
1148
  } | {
1100
1149
  type: 'system_prompt.get';
1101
1150
  payload?: SessionScopedPayload;
1151
+ } | {
1152
+ type: 'system_prompt.presets.get';
1153
+ payload?: SessionScopedPayload;
1154
+ } | {
1155
+ type: 'system_prompt.presets.create';
1156
+ payload: {
1157
+ name: string;
1158
+ baseVariant: 'lite' | 'default' | 'pro';
1159
+ };
1160
+ } | {
1161
+ type: 'system_prompt.presets.save';
1162
+ payload: {
1163
+ id: string;
1164
+ revision: number;
1165
+ name: string;
1166
+ text: string;
1167
+ reviewedCurrentSource?: boolean;
1168
+ };
1169
+ } | {
1170
+ type: 'system_prompt.presets.activate';
1171
+ payload: {
1172
+ baseVariant: 'lite' | 'default' | 'pro';
1173
+ id?: string;
1174
+ sessionId?: string;
1175
+ scope: 'profile' | 'project';
1176
+ };
1177
+ } | {
1178
+ type: 'system_prompt.presets.delete';
1179
+ payload: {
1180
+ id: string;
1181
+ };
1182
+ } | {
1183
+ type: 'system_prompt.presets.validate';
1184
+ payload: {
1185
+ text: string;
1186
+ };
1187
+ } | {
1188
+ type: 'system_prompt.presets.preview';
1189
+ payload: {
1190
+ text: string;
1191
+ sessionId?: string;
1192
+ requestId: number;
1193
+ };
1102
1194
  } | {
1103
1195
  type: 'projects.list';
1104
1196
  } | {
@@ -1175,7 +1267,19 @@ export type WSClientMessageCore = WSUserMessage | {
1175
1267
  type: 'brain.ask';
1176
1268
  payload: {
1177
1269
  question: string;
1270
+ requestId?: string;
1178
1271
  } & SessionScopedPayload;
1272
+ } | {
1273
+ type: 'jev.get' | 'jev.test' | 'jev.check';
1274
+ payload?: {
1275
+ requestId: string;
1276
+ };
1277
+ } | {
1278
+ type: 'jev.set';
1279
+ payload: {
1280
+ requestId: string;
1281
+ patch: Record<string, unknown>;
1282
+ };
1179
1283
  } | {
1180
1284
  type: 'brain.config.get';
1181
1285
  } | {
@@ -1379,6 +1483,23 @@ export type WSClientMessageCore = WSUserMessage | {
1379
1483
  prompt: string;
1380
1484
  arguments?: Record<string, string>;
1381
1485
  };
1486
+ } | {
1487
+ type: 'mcp.auth.status';
1488
+ payload: {
1489
+ name: string;
1490
+ };
1491
+ } | {
1492
+ type: 'mcp.auth.login';
1493
+ payload: {
1494
+ name: string;
1495
+ clientId?: string;
1496
+ scopes?: string[];
1497
+ };
1498
+ } | {
1499
+ type: 'mcp.auth.logout';
1500
+ payload: {
1501
+ name: string;
1502
+ };
1382
1503
  } | {
1383
1504
  type: 'terminal.create';
1384
1505
  payload: {
@@ -0,0 +1,62 @@
1
+ export interface JevSettings {
2
+ status: string;
3
+ reason?: string;
4
+ route: string;
5
+ endpoint: string;
6
+ model: string;
7
+ requestTimeoutMs: number;
8
+ keySource: string;
9
+ features: Record<string, boolean>;
10
+ contextStrategy?: 'hybrid' | 'intelligent' | 'selective';
11
+ recallTurnContext?: boolean;
12
+ readiness?: Record<string, {
13
+ state: 'disabled' | 'account-required' | 'blocked' | 'conditional';
14
+ reason: string;
15
+ }>;
16
+ }
17
+ export interface JevState {
18
+ requestId?: string;
19
+ settings?: JevSettings;
20
+ message?: string;
21
+ error?: string;
22
+ checks?: {
23
+ running: boolean;
24
+ report?: {
25
+ at: number;
26
+ route: string;
27
+ model: string;
28
+ passed: number;
29
+ total: number;
30
+ cases: Array<{
31
+ feature: string;
32
+ name: string;
33
+ expected: string;
34
+ actual: string;
35
+ ok: boolean;
36
+ ms: number;
37
+ note?: string;
38
+ }>;
39
+ };
40
+ };
41
+ activity?: {
42
+ scope: 'process';
43
+ path?: string;
44
+ writeError?: string;
45
+ entries: Array<{
46
+ id: string;
47
+ at: number;
48
+ feature: string;
49
+ purpose?: 'runtime' | 'self-test';
50
+ project: string;
51
+ route: string;
52
+ model: string;
53
+ durationMs: number;
54
+ outcome: 'answered' | 'incomplete' | 'fallback';
55
+ reason?: string;
56
+ inputTokens?: number;
57
+ outputTokens?: number;
58
+ answers?: Record<string, string | number>;
59
+ }>;
60
+ };
61
+ }
62
+ //# sourceMappingURL=jev.d.ts.map
@@ -0,0 +1,55 @@
1
+ import type { SessionScopedPayload, WSUserMessageImage } from './protocol-core.js';
2
+ /**
3
+ * The host-owned prompt queue (`session.prompt-queue` capability): prompts
4
+ * queued for a session live on the server, which runs them one after another
5
+ * as the session's turns end — whether or not this page is still open.
6
+ */
7
+ /** One queued prompt as the server lists it (image bytes stay on the server). */
8
+ export interface WSQueuedPromptView {
9
+ id: string;
10
+ text: string;
11
+ addedAt: number;
12
+ imageCount: number;
13
+ }
14
+ export type WSPromptQueueClientMessage = {
15
+ type: 'queue.add';
16
+ payload: SessionScopedPayload & {
17
+ text: string;
18
+ images?: WSUserMessageImage[] | undefined;
19
+ };
20
+ } | {
21
+ type: 'queue.remove';
22
+ payload: SessionScopedPayload & {
23
+ id: string;
24
+ };
25
+ } | {
26
+ type: 'queue.clear';
27
+ payload?: SessionScopedPayload;
28
+ } | {
29
+ type: 'queue.get';
30
+ payload?: SessionScopedPayload;
31
+ };
32
+ /** The session's whole queue, after every change. */
33
+ export interface WSQueueState {
34
+ type: 'queue.state';
35
+ payload: SessionScopedPayload & {
36
+ items: WSQueuedPromptView[];
37
+ };
38
+ }
39
+ /** A queued prompt just started its turn: render it as the user's message. */
40
+ export interface WSQueueDrained {
41
+ type: 'queue.drained';
42
+ payload: SessionScopedPayload & {
43
+ item: {
44
+ id: string;
45
+ text: string;
46
+ addedAt: number;
47
+ images?: Array<{
48
+ data: string;
49
+ mediaType?: string | undefined;
50
+ name?: string | undefined;
51
+ }>;
52
+ };
53
+ };
54
+ }
55
+ //# sourceMappingURL=prompt-queue.d.ts.map
@@ -1,155 +1,7 @@
1
- import type { SessionMarker, SessionToolMeta, Usage } from '@wrongstack/core/types';
2
- export interface WSSessionStart {
3
- type: 'session.start';
4
- payload: {
5
- sessionId: string;
6
- /** Original session start timestamp; resume must not reset uptime. */
7
- startedAt?: string | undefined;
8
- model: string;
9
- provider: string;
10
- maxContext?: number | undefined;
11
- projectName?: string | undefined;
12
- cwd?: string | undefined;
13
- mode?: string | undefined;
14
- contextMode?: string | undefined;
15
- inputCost?: number | undefined;
16
- outputCost?: number | undefined;
17
- cacheReadCost?: number | undefined;
18
- reset?: boolean | undefined;
19
- replayMessages?: Array<{
20
- role: string | undefined;
21
- content: unknown;
22
- ts?: string | undefined;
23
- }>;
24
- /** Audit markers (compaction, mode/skill switches, subagent lifecycle,
25
- * provider retries, truncation) projected server-side. Replayed alongside
26
- * the conversation so a reconnect shows what the live stream showed. */
27
- replayMarkers?: SessionMarker[] | undefined;
28
- /** Per-tool timing/output metadata projected from `tool_call_end`, so a
29
- * replayed tool card shows the same duration and size chips it showed
30
- * live. */
31
- replayToolMeta?: SessionToolMeta[] | undefined;
32
- replayUsage?: Usage | undefined;
33
- /** True when no provider+model is configured yet — show the setup screen. */
34
- needsSetup?: boolean | undefined;
35
- /** Feature negotiation prevents a newer WebUI from sending messages to an older backend. */
36
- protocolCapabilities?: string[] | undefined;
37
- /** Effort levels the ACTIVE model advertises (models.dev reasoningConfig).
38
- * Absent when the model has no explicit effort list — the UI then shows
39
- * the full canonical set, matching the resolver's conservative gate. */
40
- reasoningEffortLevels?: string[] | undefined;
41
- };
42
- }
43
- export interface WSSessionEnd {
44
- type: 'session.end';
45
- payload: {
46
- sessionId: string;
47
- usage: Usage;
48
- totalCost: number;
49
- };
50
- }
51
- export interface SessionScopedPayload {
52
- sessionId?: string | undefined;
53
- }
54
- /** One image attached to a user message. `data` is bare base64 (no data-URL
55
- * prefix); `mediaType` travels separately. */
56
- export interface WSUserMessageImage {
57
- data: string;
58
- mediaType: string;
59
- /** Original filename when the image came from a picker or drop. */
60
- name?: string;
61
- }
62
- export interface WSUserMessage {
63
- type: 'user_message';
64
- payload: SessionScopedPayload & {
65
- id: string;
66
- content: string;
67
- timestamp: number;
68
- /** Atomically replace only the provider-bound conversation before this run. */
69
- freshContext?: boolean | undefined;
70
- /** Images attached in the composer (paste / drop / file picker). The
71
- * server converts these to canonical ImageBlocks ahead of the text. */
72
- images?: WSUserMessageImage[];
73
- /** @deprecated Legacy single-image field (a full data-URL). Servers
74
- * still accept it; new clients send `images` instead. */
75
- imageBase64?: string;
76
- };
77
- }
78
- export interface WSTextDelta {
79
- type: 'provider.text_delta';
80
- payload: SessionScopedPayload & {
81
- text: string;
82
- messageId: string;
83
- };
84
- }
85
- export interface WSThinkingDelta {
86
- type: 'provider.thinking_delta';
87
- payload: SessionScopedPayload & {
88
- text: string;
89
- };
90
- }
91
- export interface WSCodeMapFileTarget {
92
- filePath: string;
93
- operation: 'read' | 'write' | 'edit' | 'delete' | 'search';
94
- line?: number | undefined;
95
- endLine?: number | undefined;
96
- }
97
- export interface WSToolUseStart {
98
- type: 'tool.started';
99
- payload: SessionScopedPayload & {
100
- id: string;
101
- name: string;
102
- traceId?: string | undefined;
103
- agentId?: string | undefined;
104
- agentName?: string | undefined;
105
- input?: unknown | undefined;
106
- fileTargets?: WSCodeMapFileTarget[] | undefined;
107
- messageId: string;
108
- };
109
- }
110
- export interface WSToolProgress {
111
- type: 'tool.progress';
112
- payload: SessionScopedPayload & {
113
- name: string;
114
- id: string;
115
- traceId?: string | undefined;
116
- agentId?: string | undefined;
117
- agentName?: string | undefined;
118
- event: {
119
- type: 'log' | 'warning' | 'metric' | 'file_changed' | 'partial_output';
120
- text?: string | undefined;
121
- data?: Record<string, unknown>;
122
- path?: string | undefined;
123
- operation?: 'write' | 'edit' | 'delete' | 'rename' | undefined;
124
- line?: number | undefined;
125
- endLine?: number | undefined;
126
- };
127
- };
128
- }
129
- export interface WSToolExecuted {
130
- type: 'tool.executed';
131
- payload: SessionScopedPayload & {
132
- id: string;
133
- name: string;
134
- traceId?: string | undefined;
135
- agentId?: string | undefined;
136
- agentName?: string | undefined;
137
- durationMs: number;
138
- ok: boolean;
139
- input?: unknown | undefined;
140
- fileTargets?: WSCodeMapFileTarget[] | undefined;
141
- output?: string | undefined;
142
- /**
143
- * SAGE Memory Injector block (`--- SAGE: … ---` header first, then one line
144
- * per memory) split off `output` by the backend before its preview cap.
145
- * Rendered as a memory card — never appended back onto the tool body.
146
- */
147
- sage?: string[] | undefined;
148
- outputBytes?: number | undefined;
149
- outputTokens?: number | undefined;
150
- outputLines?: number | undefined;
151
- };
152
- }
1
+ import type { Usage } from '@wrongstack/core/types';
2
+ import type { SessionScopedPayload, WSCodeMapFileTarget } from '@wrongstack/webui-protocol';
3
+ /** Moved to webui-protocol (conversation-core.ts), the single source the SDK shares. */
4
+ export type { SessionScopedPayload, WSCodeMapFileTarget, WSIterationCompleted, WSIterationStarted, WSProviderError, WSProviderRetry, WSRunResult, WSSessionEnd, WSSessionFramesResumed, WSSessionRunState, WSSessionStart, WSTextDelta, WSThinkingDelta, WSToolExecuted, WSToolProgress, WSToolUseStart, WSUserMessage, WSUserMessageImage, } from '@wrongstack/webui-protocol';
153
5
  /** Subagent tool lifecycle dedicated to CodeMap; intentionally does not create chat bubbles. */
154
6
  export interface WSCodeMapToolStarted {
155
7
  type: 'codemap.tool_started';
@@ -183,20 +35,6 @@ export interface WSCodeMapToolExecuted {
183
35
  fileTargets?: WSCodeMapFileTarget[] | undefined;
184
36
  };
185
37
  }
186
- export interface WSIterationStarted {
187
- type: 'iteration.started';
188
- payload: SessionScopedPayload & {
189
- index: number;
190
- maxIterations?: number | undefined;
191
- };
192
- }
193
- export interface WSIterationCompleted {
194
- type: 'iteration.completed';
195
- payload: SessionScopedPayload & {
196
- index: number;
197
- totalIterations: number;
198
- };
199
- }
200
38
  export interface WSIterationLimitReached {
201
39
  type: 'iteration.limit_reached';
202
40
  payload: SessionScopedPayload & {
@@ -213,25 +51,6 @@ export interface WSProviderResponse {
213
51
  messageId: string;
214
52
  };
215
53
  }
216
- export interface WSProviderRetry {
217
- type: 'provider.retry';
218
- payload: SessionScopedPayload & {
219
- providerId: string;
220
- attempt: number;
221
- delayMs: number;
222
- status: number;
223
- description: string;
224
- };
225
- }
226
- export interface WSProviderError {
227
- type: 'provider.error';
228
- payload: SessionScopedPayload & {
229
- providerId: string;
230
- status: number;
231
- description: string;
232
- retryable: boolean;
233
- };
234
- }
235
54
  export interface WSProviderFallback {
236
55
  type: 'provider.fallback';
237
56
  payload: SessionScopedPayload & {
@@ -344,21 +163,6 @@ export interface WSProviderStreamError {
344
163
  message: string;
345
164
  };
346
165
  }
347
- /**
348
- * Whether one session's run is live, answered per declared tab.
349
- *
350
- * A reconnect is the hole this closes. `run.result` is what clears a lane's
351
- * spinner, and it is broadcast once — a tab whose run finished while the
352
- * socket was down never hears it, so it spins forever, counts as busy, refuses
353
- * to be recycled and asks to abort a run that ended long ago. Only the tab in
354
- * front gets a `session.start` on reconnect; this answers for all four.
355
- */
356
- export interface WSSessionRunState {
357
- type: 'session.run_state';
358
- payload: SessionScopedPayload & {
359
- isRunning: boolean;
360
- };
361
- }
362
166
  export interface WSSessionResumeProgress {
363
167
  type: 'session.resume_progress';
364
168
  payload: SessionScopedPayload & {
@@ -367,20 +171,4 @@ export interface WSSessionResumeProgress {
367
171
  totalBytes: number;
368
172
  };
369
173
  }
370
- export interface WSRunResult {
371
- type: 'run.result';
372
- payload: SessionScopedPayload & {
373
- /** Id of the user_message that initiated this run. */
374
- requestId?: string | undefined;
375
- status: 'done' | 'failed' | 'max_iterations' | 'aborted';
376
- iterations: number;
377
- finalText?: string | undefined;
378
- error?: {
379
- code: string;
380
- message: string;
381
- recoverable: boolean;
382
- };
383
- };
384
- }
385
- export {};
386
174
  //# sourceMappingURL=protocol-core.d.ts.map
@@ -1,5 +1,7 @@
1
1
  import type { UserInputRequest, UserInputResponse } from '@wrongstack/core/types';
2
2
  import type { SessionScopedPayload } from './protocol-core.js';
3
+ /** Moved to webui-protocol (conversation-core.ts), the single source the SDK shares. */
4
+ export type { WSError, WSToolConfirmNeeded, WSToolConfirmResolved, WSToolConfirmResult, } from '@wrongstack/webui-protocol';
3
5
  export interface WSUserInputRequested {
4
6
  type: 'user.input_requested';
5
7
  payload: SessionScopedPayload & {
@@ -11,7 +13,7 @@ export interface WSUserInputResolved {
11
13
  payload: SessionScopedPayload & {
12
14
  requestId: string;
13
15
  response: UserInputResponse;
14
- source: 'user' | 'abort';
16
+ source: 'user' | 'abort' | 'unattended';
15
17
  };
16
18
  }
17
19
  export interface WSUserInputSubmit {
@@ -31,48 +33,13 @@ export interface WSSessionStats {
31
33
  duration: number;
32
34
  };
33
35
  }
34
- export interface WSError {
35
- type: 'error';
36
- payload: SessionScopedPayload & {
37
- phase: string;
38
- message: string;
39
- };
40
- }
41
- export interface WSToolConfirmNeeded {
42
- type: 'tool.confirm_needed';
43
- payload: SessionScopedPayload & {
44
- id: string;
45
- toolName: string;
46
- input: unknown;
47
- suggestedPattern: string;
48
- decisionSource?: string | undefined;
49
- riskTier?: 'safe' | 'standard' | 'destructive' | undefined;
50
- boundaryReason?: string | undefined;
51
- deadlineAt?: number | undefined;
52
- };
53
- }
54
- export interface WSToolConfirmResolved {
55
- type: 'tool.confirm_resolved';
56
- payload: SessionScopedPayload & {
57
- id: string;
58
- toolName: string;
59
- decision: 'yes' | 'no' | 'always' | 'deny' | 'abort';
60
- source: 'brain_timeout' | 'abort';
61
- rationale?: string | undefined;
62
- };
63
- }
64
- export interface WSToolConfirmResult {
65
- type: 'tool.confirm_result';
66
- payload: SessionScopedPayload & {
67
- id: string;
68
- decision: 'yes' | 'no' | 'always' | 'deny';
69
- };
70
- }
71
36
  export interface WSTrustPersisted {
72
37
  type: 'trust.persisted';
73
38
  payload: SessionScopedPayload & {
74
39
  tool: string;
75
40
  pattern: string;
41
+ displayPattern?: string;
42
+ scope?: 'exact' | 'command' | 'tool';
76
43
  decision: 'always' | 'deny';
77
44
  };
78
45
  }
@@ -352,7 +319,7 @@ export interface WSTopicAdviceResult {
352
319
  confidence: number;
353
320
  reason: string;
354
321
  nextTopic?: string | undefined;
355
- source: 'explicit' | 'model' | 'cache' | 'local';
322
+ source: 'explicit' | 'model' | 'system-one' | 'cache' | 'local';
356
323
  };
357
324
  }
358
325
  export interface WSContextMaxContext {