@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 +1 @@
1
- import{i as e}from"./mailbox-store-ZQO_Rv6E.js";import{n as t}from"./ui-store-DC3mkswy.js";var n=(()=>{try{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)}catch{return!1}})(),r=n?`⌘`:`Ctrl`,i=n?`⌥`:`Alt`,a=n?`⇧`:`Shift`;function o(e){switch(e){case`Ctrl`:return r;case`Alt`:return i;case`Shift`:return a;default:return e}}var s={chat:`chat`,agents:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skills:`skill`,design:`design-gallery`},c={chat:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skill:`skills`,"design-gallery":`design`},l={1:`chat`,2:`files`,3:`changes`,4:`mailbox`,5:`skills`,0:`design`},u=Object.entries(l).reduce((e,[t,n])=>(e[n]=`${r}+${t}`,e),{chat:``,agents:``,files:``,changes:``,mailbox:``,skills:``,design:``});function d(e){return s[e]??`chat`}function f(e){return u[e]??``}function p(e){let n=t.getState();n.currentView!==e&&n.setCurrentView(e)}function m(e){let n=t.getState();n.setSidebarOpen(!0),n.selectActivity(e),p(d(e))}function h(e){let n=t.getState();if(!n.sidebarOpen)n.setSidebarOpen(!0),n.selectActivity(e);else if(n.activeActivity===e){n.setSidebarOpen(!1);return}else n.activeActivity===`agents`&&n.setSidebarOpen(!0),n.selectActivity(e);p(d(e))}function g(e){let n=t.getState();if(n.currentView===e){m(`chat`);return}n.setSidebarOpen(!1),p(e)}function _(n){if(n===`intake`){e.getState().setActiveHubTab(`requirements`),g(`sddhub`);return}let r=c[n];if(r){m(r);return}t.getState().setSidebarOpen(!1),p(n)}export{f as a,h as i,_ as n,m as o,g as r,o as s,l as t};
1
+ import{i as e}from"./mailbox-store-DyOOYbni.js";import{n as t}from"./ui-store-DI0iusYZ.js";var n=(()=>{try{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)}catch{return!1}})(),r=n?`⌘`:`Ctrl`,i=n?`⌥`:`Alt`,a=n?`⇧`:`Shift`;function o(e){switch(e){case`Ctrl`:return r;case`Alt`:return i;case`Shift`:return a;default:return e}}var s={chat:`chat`,agents:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skills:`skill`,design:`design-gallery`},c={chat:`chat`,files:`files`,changes:`changes`,mailbox:`mailbox`,skill:`skills`,"design-gallery":`design`},l={1:`chat`,2:`files`,3:`changes`,4:`mailbox`,5:`skills`,0:`design`},u=Object.entries(l).reduce((e,[t,n])=>(e[n]=`${r}+${t}`,e),{chat:``,agents:``,files:``,changes:``,mailbox:``,skills:``,design:``});function d(e){return s[e]??`chat`}function f(e){return u[e]??``}function p(e){let n=t.getState();n.currentView!==e&&n.setCurrentView(e)}function m(e){let n=t.getState();n.setSidebarOpen(!0),n.selectActivity(e),p(d(e))}function h(e){let n=t.getState();if(!n.sidebarOpen)n.setSidebarOpen(!0),n.selectActivity(e);else if(n.activeActivity===e){n.setSidebarOpen(!1);return}else n.activeActivity===`agents`&&n.setSidebarOpen(!0),n.selectActivity(e);p(d(e))}function g(e){let n=t.getState();if(n.currentView===e){m(`chat`);return}n.setSidebarOpen(!1),p(e)}function _(n){if(n===`intake`){e.getState().setActiveHubTab(`requirements`),g(`sddhub`);return}let r=c[n];if(r){m(r);return}t.getState().setSidebarOpen(!1),p(n)}export{f as a,h as i,_ as n,m as o,g as r,o as s,l as t};
@@ -0,0 +1,2 @@
1
+ export declare function BrowserLivePane(): React.ReactElement;
2
+ //# sourceMappingURL=BrowserLivePane.d.ts.map
@@ -2,7 +2,9 @@
2
2
  * ChangesView — the main-pane diff surface for the Changes (source-control)
3
3
  * activity. The file list lives in the SidePanel (ChangesPanel); selecting a
4
4
  * row populates the git-changes store, and this view renders the resolved
5
- * before/after content through the shared DiffView.
5
+ * before/after content — as a unified diff that takes line review comments
6
+ * (ReviewDiff), or Monaco side-by-side in edit mode. The review tray sends
7
+ * the collected comments to the chat composer as one message.
6
8
  */
7
9
  export declare function ChangesView({ className }: {
8
10
  className?: string;
@@ -1,5 +1,5 @@
1
1
  import type { useFileReferenceStore } from '@/stores';
2
- import type { ImageAttachment } from './image-attachments.js';
2
+ import { type ImageAttachment } from './image-attachments.js';
3
3
  import type { PasteHintState } from './use-paste-drop.js';
4
4
  export declare function PasteHintBar({ pasteHint, onDismiss, t, }: {
5
5
  pasteHint: PasteHintState;
@@ -29,16 +29,26 @@ export interface ImageAttachment {
29
29
  }
30
30
  /** Max images per message — mirrors core's MAX_INCOMING_IMAGES. */
31
31
  export declare const MAX_ATTACHED_IMAGES = 8;
32
+ /** Max PDFs per message — mirrors core's MAX_INCOMING_DOCUMENTS. */
33
+ export declare const MAX_ATTACHED_PDFS = 4;
34
+ /** Per-PDF cap — mirrors core's MAX_INCOMING_DOCUMENT_BYTES. A PDF is sent
35
+ * as picked: there is nothing to downscale. */
36
+ export declare const MAX_ATTACHED_PDF_BYTES: number;
37
+ export declare const PDF_MEDIA_TYPE = "application/pdf";
38
+ export declare function isPdfFile(file: File): boolean;
39
+ export declare function isPdfAttachment(attachment: {
40
+ mediaType: string;
41
+ }): boolean;
32
42
  /** Hard per-image cap after processing. Mirrors nothing server-side exactly
33
43
  * (the server allows 8 MB) — the tighter client cap keeps multi-image
34
44
  * messages inside the WS payload budget. */
35
45
  export declare const MAX_PROCESSED_IMAGE_BYTES: number;
36
46
  export declare class ImageAttachmentError extends Error {
37
47
  /** i18n key the caller can surface; message is the English fallback. */
38
- readonly reason: 'decode_failed' | 'too_large';
48
+ readonly reason: 'decode_failed' | 'too_large' | 'pdf_too_large' | 'pdf_read_failed';
39
49
  constructor(message: string,
40
50
  /** i18n key the caller can surface; message is the English fallback. */
41
- reason: 'decode_failed' | 'too_large');
51
+ reason: 'decode_failed' | 'too_large' | 'pdf_too_large' | 'pdf_read_failed');
42
52
  }
43
53
  /**
44
54
  * Normalize one image file into a pending attachment: decode, downscale to
@@ -47,6 +57,13 @@ export declare class ImageAttachmentError extends Error {
47
57
  * can't be decoded or can't be squeezed under the size cap.
48
58
  */
49
59
  export declare function processImageFile(file: File): Promise<ImageAttachment>;
60
+ /**
61
+ * A PDF as a pending attachment. It rides the image list (one pipeline
62
+ * through queue, steer and resend) and the server tells it apart by media
63
+ * type; the model gets the file or its extracted text depending on whether it
64
+ * takes PDF input.
65
+ */
66
+ export declare function processPdfFile(file: File): Promise<ImageAttachment>;
50
67
  /** Wire shape sent inside the `user_message` payload (`images` field). */
51
68
  interface WireImage {
52
69
  data: string;
@@ -0,0 +1,10 @@
1
+ import type { WrongStackWebSocketClient } from '@/lib/ws-client';
2
+ export declare function useSkillMentionPicker(input: string, setInput: (text: string) => void, textarea: React.RefObject<HTMLTextAreaElement | null>, client: WrongStackWebSocketClient | null | undefined, sessionId: string | null | undefined): {
3
+ open: boolean;
4
+ popup: import("react").JSX.Element | null;
5
+ onKeyDown: (event: React.KeyboardEvent<HTMLTextAreaElement>) => boolean;
6
+ setCursor: import("react").Dispatch<import("react").SetStateAction<number>>;
7
+ listId: string;
8
+ activeId: string | undefined;
9
+ };
10
+ //# sourceMappingURL=skill-mention-picker.d.ts.map
@@ -16,6 +16,18 @@ type SlashRoutingClientMessage = Extract<WSClientMessage, {
16
16
  type: 'autonomy.switch';
17
17
  } | {
18
18
  type: 'goal.get';
19
+ } | {
20
+ type: 'goal-state.get';
21
+ } | {
22
+ type: 'goal-state.set';
23
+ } | {
24
+ type: 'goal-state.refine';
25
+ } | {
26
+ type: 'goal-state.pause';
27
+ } | {
28
+ type: 'goal-state.resume';
29
+ } | {
30
+ type: 'goal-state.clear';
19
31
  } | {
20
32
  type: 'mode.switch';
21
33
  } | {
@@ -34,6 +46,12 @@ type SlashRoutingClientMessage = Extract<WSClientMessage, {
34
46
  type: 'working_dir.set';
35
47
  } | {
36
48
  type: 'goal.start';
49
+ } | {
50
+ type: 'goal.load';
51
+ } | {
52
+ type: 'goal.save';
53
+ } | {
54
+ type: 'goal.list';
37
55
  } | {
38
56
  type: 'goal.pause';
39
57
  } | {
@@ -18,6 +18,9 @@ interface UsePasteDropOptions {
18
18
  tooManyImages: (max: number) => string;
19
19
  imageProcessFailed: (name: string) => string;
20
20
  imageTooLarge: (name: string) => string;
21
+ tooManyPdfs: (max: number) => string;
22
+ pdfTooLarge: (name: string, maxMb: number) => string;
23
+ pdfReadFailed: (name: string) => string;
21
24
  };
22
25
  }
23
26
  export declare function usePasteDrop({ input, textareaRef, setInput, errorText }: UsePasteDropOptions): {
@@ -0,0 +1,13 @@
1
+ import type { QueuedItem } from '@/stores/chat-store-types';
2
+ /**
3
+ * The queue as the chips and the queue panel show it: this lane's local items
4
+ * (btw notes, and everything on a server without a session queue) followed by
5
+ * the prompts the server holds for the session. Removing or clearing goes to
6
+ * whoever owns the item.
7
+ */
8
+ export declare function usePromptQueueView(): {
9
+ queue: QueuedItem[];
10
+ remove: (index: number) => void;
11
+ clear: () => void;
12
+ };
13
+ //# sourceMappingURL=use-prompt-queue-view.d.ts.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * BackgroundShellStrip — this tab's background shells, above the composer.
3
+ *
4
+ * `bash` with `background: true` (and `pwsh` with `run_in_background`) leaves
5
+ * a process running after the tool returns, and its output goes to a log file
6
+ * (tools background-log.ts). The strip shows one chip per such process, with
7
+ * how long it has run; a chip opens the last lines of its output, refreshed
8
+ * while open, and a Stop button. Subagents are not repeated here: AgentTabs
9
+ * above the transcript already lists them with live status.
10
+ *
11
+ * No steady polling: the list is asked for when the tab connects and after
12
+ * every shell tool call, and re-asked every few seconds only while a
13
+ * background shell is running.
14
+ */
15
+ export declare function BackgroundShellStrip(): React.ReactElement | null;
16
+ //# sourceMappingURL=BackgroundShellStrip.d.ts.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TerminalStrip — this browser's integrated terminals, above the composer,
3
+ * while the terminal dock is hidden (hiding it keeps them running). A chip
4
+ * shows a spinner while its terminal is printing; opening it shows the last
5
+ * lines, and "Open" brings the dock back on that terminal.
6
+ */
7
+ export declare function TerminalStrip(): React.ReactElement | null;
8
+ //# sourceMappingURL=TerminalStrip.d.ts.map
@@ -1,15 +1,3 @@
1
- /**
2
- * Code Atlas — persistent code tree, dependency canvas, and relation inspector.
3
- *
4
- * The explorer never disappears while the user moves package → file → symbol.
5
- * A graph click opens packages/files; the relation action focuses relationships.
6
- *
7
- * Performance notes:
8
- * - Activity store is subscribed via selectors (not the whole store).
9
- * - React Flow rebuilds are immediate for structural changes and throttled for
10
- * telemetry-only updates (see FLOW_ACTIVITY_THROTTLE_MS).
11
- * - SMART mode caps canvas nodes; MiniMap is gated by node count.
12
- */
13
1
  import '@xyflow/react/dist/style.css';
14
2
  export declare function CodeMap(): React.ReactElement;
15
3
  //# sourceMappingURL=CodeMap.d.ts.map
@@ -29,7 +29,6 @@ export interface ProjectAgentLearnStats {
29
29
  sharedLearnedExists?: boolean;
30
30
  sharedIdentityExists?: boolean;
31
31
  }
32
- export declare function setCustomRosterWS(ws: WebSocket | null): void;
33
32
  interface CustomRosterPanelProps {
34
33
  projectRoot?: string;
35
34
  }
@@ -1,7 +1,8 @@
1
1
  import type { GoalState } from '@/lib/goal';
2
2
  export interface GoalPanelProps {
3
3
  goal: GoalState | null;
4
+ refining?: boolean | undefined;
4
5
  className?: string | undefined;
5
6
  }
6
- export declare function GoalPanel({ goal, className }: GoalPanelProps): React.ReactElement | null;
7
+ export declare function GoalPanel({ goal, refining, className, }: GoalPanelProps): React.ReactElement | null;
7
8
  //# sourceMappingURL=GoalPanel.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A changed image in the Changes view: the version at HEAD next to the one in
3
+ * the working tree, or the two stacked with a slider that fades between them
4
+ * (onion skin). Each side says its pixel size and file size; an added or
5
+ * deleted image shows its one side.
6
+ */
7
+ import type { GitImageDiff } from '@/types/server-message';
8
+ export declare function ImageDiffView({ image, path }: {
9
+ image: GitImageDiff;
10
+ path: string;
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=ImageDiffView.d.ts.map
@@ -0,0 +1,64 @@
1
+ import type { TFunction } from 'i18next';
2
+ export declare function KanbanTaskExecution({ activeTab, board, nextManagedStage, t, currentManagedStage, transitionAction, setTransitionAction, transitionComment, setTransitionComment, transitionAttachmentUrl, setTransitionAttachmentUrl, advanceManagedTask, task, activityEvents, activityPresence, activitySessionId, sessionProvider, sessionModel, runLink, modelCandidates, sendRaw, routingMode, setRoutingMode, model, provider, setModel, setProvider, fallbackProfile, meta, setFallbackProfile, fallbackModels, setFallbackModels, role, setRole, skills, setSkills, tools, setTools, setShowAdvanced, showAdvanced, name, setName, retryPolicy, setRetryPolicy, maxAttempts, setMaxAttempts, costCeilingUsd, setCostCeilingUsd, allowedCapabilities, setAllowedCapabilities, assign, dispatch, boards, targetBoardId, setTargetBoardId, copyTask, transferTask, }: {
3
+ activeTab: import('./KanbanTaskInspectorChrome.js').TaskInspectorTab;
4
+ board: import('../../../kanban/dist/types.js').KanbanBoard | null;
5
+ nextManagedStage: 'backlog' | 'todo' | 'running' | 'review' | 'done' | undefined;
6
+ t: TFunction<'translation', undefined>;
7
+ currentManagedStage: import('../../../kanban/dist/types.js').KanbanLifecycleStage | undefined;
8
+ transitionAction: string;
9
+ setTransitionAction: React.Dispatch<React.SetStateAction<string>>;
10
+ transitionComment: string;
11
+ setTransitionComment: React.Dispatch<React.SetStateAction<string>>;
12
+ transitionAttachmentUrl: string;
13
+ setTransitionAttachmentUrl: React.Dispatch<React.SetStateAction<string>>;
14
+ advanceManagedTask: () => void;
15
+ task: import('../../../kanban/dist/types.js').KanbanTask;
16
+ activityEvents: import('../../../kanban/dist/types.js').KanbanEvent[];
17
+ activityPresence: import('../../../kanban/dist/types.js').KanbanBoardPresence[] | undefined;
18
+ activitySessionId: string | undefined;
19
+ sessionProvider: string | undefined;
20
+ sessionModel: string | undefined;
21
+ runLink: import('./KanbanRunControls.js').RunLink | null;
22
+ modelCandidates: import('../hooks/useProviderModels.js').ModelCandidate[];
23
+ sendRaw: (type: string, payload?: Record<string, unknown> | undefined) => void;
24
+ routingMode: import('../../../kanban/dist/supervision-types.js').KanbanModelRoutingMode;
25
+ setRoutingMode: React.Dispatch<React.SetStateAction<import('../../../kanban/dist/supervision-types.js').KanbanModelRoutingMode>>;
26
+ model: string;
27
+ provider: string;
28
+ setModel: React.Dispatch<React.SetStateAction<string>>;
29
+ setProvider: React.Dispatch<React.SetStateAction<string>>;
30
+ fallbackProfile: string;
31
+ meta: ReturnType<typeof import('../hooks/useKanbanMeta.js').useKanbanMeta>;
32
+ setFallbackProfile: React.Dispatch<React.SetStateAction<string>>;
33
+ fallbackModels: string[];
34
+ setFallbackModels: React.Dispatch<React.SetStateAction<string[]>>;
35
+ role: string;
36
+ setRole: React.Dispatch<React.SetStateAction<string>>;
37
+ skills: string[];
38
+ setSkills: React.Dispatch<React.SetStateAction<string[]>>;
39
+ tools: string[];
40
+ setTools: React.Dispatch<React.SetStateAction<string[]>>;
41
+ setShowAdvanced: React.Dispatch<React.SetStateAction<boolean>>;
42
+ showAdvanced: boolean;
43
+ name: string;
44
+ setName: React.Dispatch<React.SetStateAction<string>>;
45
+ retryPolicy: NonNullable<import('../../../kanban/dist/task-policy-types.js').KanbanRetryPolicy | undefined>;
46
+ setRetryPolicy: React.Dispatch<React.SetStateAction<NonNullable<import('../../../kanban/dist/task-policy-types.js').KanbanRetryPolicy | undefined>>>;
47
+ maxAttempts: string;
48
+ setMaxAttempts: React.Dispatch<React.SetStateAction<string>>;
49
+ costCeilingUsd: string;
50
+ setCostCeilingUsd: React.Dispatch<React.SetStateAction<string>>;
51
+ allowedCapabilities: string[];
52
+ setAllowedCapabilities: React.Dispatch<React.SetStateAction<string[]>>;
53
+ assign: () => void;
54
+ dispatch: () => void;
55
+ boards: {
56
+ id: string;
57
+ title: string;
58
+ }[];
59
+ targetBoardId: string;
60
+ setTargetBoardId: React.Dispatch<React.SetStateAction<string>>;
61
+ copyTask: () => void;
62
+ transferTask: () => void;
63
+ }): false | import("react").JSX.Element;
64
+ //# sourceMappingURL=KanbanTaskExecution.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type { KanbanBoard, KanbanBoardPresence, KanbanEvent, KanbanTask } from '@wrongstack/kanban';
2
- import { type RunLink } from './KanbanRunControls.js';
2
+ import type { RunLink } from './KanbanRunControls.js';
3
3
  export declare function KanbanTaskInspector({ boards, board, task, runLink, onClose, onSelectTask, sendKanban, sendRaw, activityEvents, activityPresence, activityLoading, activityError, activitySessionId, refreshActivity, }: {
4
4
  boards: Array<{
5
5
  id: string;
@@ -3,7 +3,7 @@ import type { ChatMessageAttachment } from '@/stores/types.js';
3
3
  * Thumbnail strip for images attached to a user message. Click toggles a
4
4
  * thumbnail between compact and full-size. Attachments rehydrated from
5
5
  * localStorage arrive without `dataUrl` (stripped to protect the quota) and
6
- * degrade to a name/size placeholder chip.
6
+ * degrade to a name/size placeholder chip. A PDF is always a name chip.
7
7
  */
8
8
  export declare function AttachmentGallery({ attachments, notRetainedLabel, }: {
9
9
  attachments: readonly ChatMessageAttachment[];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The pictures an `image_generate` call saved, shown on its tool card without
3
+ * opening it. The tool's result names the files; each one is loaded from the
4
+ * project (`files.image`). Click a picture to see it at full size.
5
+ */
6
+ export declare function GeneratedImagePreview({ result, messageId, }: {
7
+ result?: string;
8
+ messageId: string;
9
+ }): import("react").JSX.Element | null;
10
+ //# sourceMappingURL=GeneratedImagePreview.d.ts.map
@@ -1,10 +1,3 @@
1
- /**
2
- * OfficeMapCanvas — React Flow canvas with real-time office environment visualization.
3
- *
4
- * Displays all connected clients (WebUI, TUI, REPL, etc.) as nodes in an office floor plan.
5
- * Shows live status (mail read, mail sent, idle, active, error) with animated wire connections.
6
- * Uses viz store for real-time events and fleet store for agent status.
7
- */
8
1
  import '@xyflow/react/dist/style.css';
9
2
  export declare function OfficeMapCanvas(): import("react").JSX.Element;
10
3
  //# sourceMappingURL=OfficeMapCanvas.d.ts.map
@@ -14,24 +14,28 @@ export declare function slotAccent(slot: number): {
14
14
  readonly text: 'text-primary';
15
15
  readonly border: 'border-primary';
16
16
  readonly soft: 'bg-primary/10';
17
+ readonly activeBg: 'bg-primary/15';
17
18
  } | {
18
19
  readonly name: 'info';
19
20
  readonly dot: 'bg-info';
20
21
  readonly text: 'text-info';
21
22
  readonly border: 'border-info';
22
23
  readonly soft: 'bg-info/10';
24
+ readonly activeBg: 'bg-info/15';
23
25
  } | {
24
26
  readonly name: 'warning';
25
27
  readonly dot: 'bg-warning';
26
28
  readonly text: 'text-warning';
27
29
  readonly border: 'border-warning';
28
30
  readonly soft: 'bg-warning/10';
31
+ readonly activeBg: 'bg-warning/15';
29
32
  } | {
30
33
  readonly name: 'success';
31
34
  readonly dot: 'bg-success';
32
35
  readonly text: 'text-success';
33
36
  readonly border: 'border-success';
34
37
  readonly soft: 'bg-success/10';
38
+ readonly activeBg: 'bg-success/15';
35
39
  };
36
40
  /** Live summaries for every open slot, in slot order. */
37
41
  export declare function useTabSummaries(titles?: Map<string, string>): TabSummary[];
@@ -1,3 +1,3 @@
1
- import { type ReactElement } from 'react';
1
+ import type { ReactElement } from 'react';
2
2
  export declare function BrainSection(): ReactElement;
3
3
  //# sourceMappingURL=BrainSection.d.ts.map
@@ -0,0 +1,4 @@
1
+ export declare function JevSection({ syncPref, }?: {
2
+ syncPref?: (key: string, value: unknown) => void;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=JevSection.d.ts.map
@@ -0,0 +1,7 @@
1
+ interface LimitsSectionProps {
2
+ /** Writes the pref locally AND pushes it to the server (see SettingsPanel). */
3
+ syncPref: (key: string, value: unknown) => void;
4
+ }
5
+ export declare function LimitsSection({ syncPref }: LimitsSectionProps): React.ReactElement;
6
+ export {};
7
+ //# sourceMappingURL=LimitsSection.d.ts.map
@@ -1,41 +1,5 @@
1
1
  import { type ReactElement } from 'react';
2
- export interface MCPServer {
3
- name: string;
4
- transport: string;
5
- status: 'stopped' | 'connecting' | 'connected' | 'sleeping' | 'discovering' | 'error';
6
- enabled: boolean;
7
- description?: string;
8
- tools?: string[];
9
- error?: string;
10
- lastError?: string;
11
- pid?: number;
12
- lazy?: boolean;
13
- command?: string;
14
- args?: string[];
15
- env?: Record<string, string>;
16
- url?: string;
17
- health?: {
18
- healthState: 'disabled' | 'dormant' | 'connecting' | 'healthy' | 'degraded' | 'failed';
19
- consecutiveFailures: number;
20
- failures: {
21
- transport: number;
22
- protocol: number;
23
- tool: number;
24
- };
25
- reconnectCount: number;
26
- wakeCount: number;
27
- sleepCount: number;
28
- restartCount: number;
29
- inFlightCalls: number;
30
- peakInFlightCalls: number;
31
- callLatency: {
32
- count: number;
33
- lastMs?: number;
34
- p50Ms?: number;
35
- p95Ms?: number;
36
- };
37
- };
38
- }
2
+ export type { MCPServer } from './MCPServerCards.js';
39
3
  import type { MCPServerConfig } from './contracts.js';
40
4
  export type { MCPServerConfig };
41
5
  export declare function MCPSection(): ReactElement;
@@ -0,0 +1,67 @@
1
+ import type { OfficialServer } from './official-servers';
2
+ /** Non-secret OAuth state pushed by the server for an HTTP MCP endpoint. */
3
+ export type MCPAuthState = 'not_authorized' | 'pending' | 'authorized' | 'expired' | 'reauth_required' | 'failed';
4
+ export interface MCPServer {
5
+ name: string;
6
+ transport: string;
7
+ status: 'stopped' | 'connecting' | 'connected' | 'sleeping' | 'discovering' | 'error';
8
+ enabled: boolean;
9
+ description?: string;
10
+ tools?: string[];
11
+ error?: string;
12
+ lastError?: string;
13
+ pid?: number;
14
+ lazy?: boolean;
15
+ command?: string;
16
+ args?: string[];
17
+ env?: Record<string, string>;
18
+ url?: string;
19
+ health?: {
20
+ healthState: 'disabled' | 'dormant' | 'connecting' | 'healthy' | 'degraded' | 'failed';
21
+ consecutiveFailures: number;
22
+ failures: {
23
+ transport: number;
24
+ protocol: number;
25
+ tool: number;
26
+ };
27
+ reconnectCount: number;
28
+ wakeCount: number;
29
+ sleepCount: number;
30
+ restartCount: number;
31
+ inFlightCalls: number;
32
+ peakInFlightCalls: number;
33
+ callLatency: {
34
+ count: number;
35
+ lastMs?: number;
36
+ p50Ms?: number;
37
+ p95Ms?: number;
38
+ };
39
+ };
40
+ }
41
+ /** Map server status to a human-readable label and color */
42
+ export declare function statusInfo(status: MCPServer['status']): {
43
+ color: string;
44
+ };
45
+ /** Small colored dot for status indication */
46
+ export declare function StatusDot({ status }: {
47
+ status: MCPServer['status'];
48
+ }): import("react").JSX.Element;
49
+ /** Expandable server card */
50
+ export declare function ServerCard({ server, authState, onWake, onSleep, onDiscover, onEdit, onRemove, onAuthorize, onSignOut, }: {
51
+ server: MCPServer;
52
+ authState?: MCPAuthState | undefined;
53
+ onWake: () => void;
54
+ onSleep: () => void;
55
+ onDiscover: () => void;
56
+ onEdit: () => void;
57
+ onRemove: () => void;
58
+ onAuthorize: () => void;
59
+ onSignOut: () => void;
60
+ }): import("react").JSX.Element;
61
+ /** Official/recommended server card */
62
+ export declare function OfficialServerCard({ server, isAdded, onAdd, }: {
63
+ server: OfficialServer;
64
+ isAdded: boolean;
65
+ onAdd: () => void;
66
+ }): import("react").JSX.Element;
67
+ //# sourceMappingURL=MCPServerCards.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { MCPServerConfig } from './contracts.js';
2
+ import type { MCPServer } from './MCPServerCards.js';
3
+ /** Edit/Add Server Dialog */
4
+ export declare function ServerDialog({ open, onOpenChange, server, onSave, prefillConfig, }: {
5
+ open: boolean;
6
+ onOpenChange: (open: boolean) => void;
7
+ server?: MCPServer;
8
+ prefillConfig?: MCPServerConfig;
9
+ onSave: (config: MCPServerConfig) => void;
10
+ }): import("react").JSX.Element;
11
+ //# sourceMappingURL=MCPServerDialog.d.ts.map
@@ -2,6 +2,8 @@ import type { WrongStackWebSocketClient } from '@/lib/ws-client';
2
2
  /** A saved subscription provider profile as seen by the OAuth section. */
3
3
  interface SavedProfileInfo {
4
4
  id: string;
5
+ type?: string | undefined;
6
+ family?: string | undefined;
5
7
  hasActiveKey: boolean;
6
8
  }
7
9
  interface OAuthLoginSectionProps {
@@ -1,3 +1,11 @@
1
+ /** Runtime limits use zero for unlimited and accept any nonnegative integer. */
2
+ export declare function PreferenceLimit({ label, hint, value, onChange, unlimitedLabel, }: {
3
+ label: string;
4
+ hint: string;
5
+ value: number;
6
+ onChange: (value: number) => void;
7
+ unlimitedLabel: string;
8
+ }): import("react").JSX.Element;
1
9
  /** A labeled slider with current value display. */
2
10
  export declare function PreferenceSlider({ label, hint, value, min, max, step, onChange, unit, }: {
3
11
  label: string;
@@ -0,0 +1,50 @@
1
+ import type { TFunction } from 'i18next';
2
+ export declare function ProviderSavedProfiles({ t, savedProviders, savedProviderStats, setShowAddProviderForm, showAddProviderForm, newProviderId, handlePickLocalPreset, setNewProviderId, addProviderNav, newProviderFamily, setNewProviderFamily, newProviderBaseUrl, setNewProviderBaseUrl, newProviderApiKey, setNewProviderApiKey, newProviderModels, setNewProviderModels, handleAddProvider, saving, isLoadingSaved, save, onRemoveProvider, ws, onPickProviderModel, setShowAddKeyForm, showAddKeyForm, onSetActiveKey, onDeleteKey, newKeyLabel, setNewKeyLabel, addKeyNav, showNewKeyValue, newKeyValue, setNewKeyValue, setShowNewKeyValue, handleAddKey, }: {
3
+ t: TFunction<'translation', undefined>;
4
+ savedProviders: import('./provider-section-types.js').SavedProvider[];
5
+ savedProviderStats: {
6
+ keys: number;
7
+ activeKeys: number;
8
+ models: number;
9
+ };
10
+ setShowAddProviderForm: React.Dispatch<React.SetStateAction<boolean>>;
11
+ showAddProviderForm: boolean;
12
+ newProviderId: string;
13
+ handlePickLocalPreset: (preset: import('../../../../providers/dist/provider-definitions.js').LocalProviderPresetProjection) => void;
14
+ setNewProviderId: React.Dispatch<React.SetStateAction<string>>;
15
+ addProviderNav: {
16
+ setFieldRef: (index: number) => (el: HTMLElement | null) => void;
17
+ handleKeyDown: (e: React.KeyboardEvent<Element>, index: number, onEnter?: (() => void) | undefined) => void;
18
+ };
19
+ newProviderFamily: string;
20
+ setNewProviderFamily: React.Dispatch<React.SetStateAction<string>>;
21
+ newProviderBaseUrl: string;
22
+ setNewProviderBaseUrl: React.Dispatch<React.SetStateAction<string>>;
23
+ newProviderApiKey: string;
24
+ setNewProviderApiKey: React.Dispatch<React.SetStateAction<string>>;
25
+ newProviderModels: import('../SetupScreen/ModelEditor.js').ModelEntry[];
26
+ setNewProviderModels: React.Dispatch<React.SetStateAction<import('../SetupScreen/ModelEditor.js').ModelEntry[]>>;
27
+ handleAddProvider: () => void;
28
+ saving: boolean;
29
+ isLoadingSaved: boolean;
30
+ save: (action: () => void | Promise<boolean | void>, confirmed: () => void) => Promise<void>;
31
+ onRemoveProvider: (providerId: string) => void | Promise<boolean>;
32
+ ws: import('../../lib/ws-client.js').WrongStackWebSocketClient;
33
+ onPickProviderModel: (providerId: string, modelId: string) => void;
34
+ setShowAddKeyForm: React.Dispatch<React.SetStateAction<string | null>>;
35
+ showAddKeyForm: string | null;
36
+ onSetActiveKey: (providerId: string, label: string) => void | Promise<boolean>;
37
+ onDeleteKey: (providerId: string, label: string) => void | Promise<boolean>;
38
+ newKeyLabel: string;
39
+ setNewKeyLabel: React.Dispatch<React.SetStateAction<string>>;
40
+ addKeyNav: {
41
+ setFieldRef: (index: number) => (el: HTMLElement | null) => void;
42
+ handleKeyDown: (e: React.KeyboardEvent<Element>, index: number, onEnter?: (() => void) | undefined) => void;
43
+ };
44
+ showNewKeyValue: boolean;
45
+ newKeyValue: string;
46
+ setNewKeyValue: React.Dispatch<React.SetStateAction<string>>;
47
+ setShowNewKeyValue: React.Dispatch<React.SetStateAction<boolean>>;
48
+ handleAddKey: (providerId: string) => void;
49
+ }): import("react").JSX.Element;
50
+ //# sourceMappingURL=ProviderSavedProfiles.d.ts.map