@wrongstack/webui 0.284.1 → 0.286.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts +2 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/assets/{AnalyticsDashboard-BBoAzpgL.js → AnalyticsDashboard-BDpQqHtX.js} +1 -1
- package/dist/assets/AutoPhaseView-BL_RSAcj.js +1 -0
- package/dist/assets/{ChangesView-4X9cQM4r.js → ChangesView-Dqfa8YFA.js} +1 -1
- package/dist/assets/{CodeEditor-C8hiA7LI.js → CodeEditor-De8voGEi.js} +1 -1
- package/dist/assets/DebugDashboard-D0C8_NWJ.js +1 -0
- package/dist/assets/{DesignGalleryView-CzF24Ppi.js → DesignGalleryView-Dwn2JYAL.js} +1 -1
- package/dist/assets/KanbanView-BUugea4e.js +1 -0
- package/dist/assets/MailboxDetailView-DCjSrQNI.js +1 -0
- package/dist/assets/OfficeMapPanel-Bqqys7xo.js +4 -0
- package/dist/assets/{ProcessMonitor-pm8Ih7-q.js → ProcessMonitor-CS1LSf39.js} +1 -1
- package/dist/assets/{QueuePanel-Lv54tvvk.js → QueuePanel-Cs7k3M-4.js} +1 -1
- package/dist/assets/{RefreshDebugView-0VzJJqhZ.js → RefreshDebugView-Di0lyXKv.js} +1 -1
- package/dist/assets/SddBoardView-Dv9R7tBM.js +2 -0
- package/dist/assets/SddFlowGraph-BGPIWq7W.js +1 -0
- package/dist/assets/SddWizard-BWaJb5ZH.js +1 -0
- package/dist/assets/SessionsDashboard-B1u7rjTK.js +1 -0
- package/dist/assets/SetupScreen-nZMY7jM6.js +1 -0
- package/dist/assets/SkillDetailView-CQevybc9.js +3 -0
- package/dist/assets/SpecsView-Xw9k8Llw.js +1 -0
- package/dist/assets/TerminalPanel-CPuqFiXC.js +1 -0
- package/dist/assets/{activity-CcEdxJjx.js → activity-Bt5JliZ2.js} +2 -2
- package/dist/assets/activity-DVbfo6OS.js +5 -0
- package/dist/assets/activity-DkmpcH1_.js +5 -0
- package/dist/assets/{activity-T9kySYDT.js → activity-HUfcj2wp.js} +3 -3
- package/dist/assets/activity-lQ47COGt.js +5 -0
- package/dist/assets/activity-mgahm8RV.js +5 -0
- package/dist/assets/activity-naMKylQi.js +5 -0
- package/dist/assets/chat-BNf8yQ-i.js +1 -0
- package/dist/assets/chat-BwmYDkLr.js +1 -0
- package/dist/assets/chat-C_9_T_Py.js +1 -0
- package/dist/assets/chat-CmZiF8Sm.js +1 -0
- package/dist/assets/chat-DW62ursN.js +1 -0
- package/dist/assets/chat-DfjGjYKF.js +1 -0
- package/dist/assets/chat-eXJFi4bY.js +1 -0
- package/dist/assets/chat-store-Dy1m3oen.js +5 -0
- package/dist/assets/commandPalette-BcMV6x3_.js +1 -0
- package/dist/assets/commandPalette-C4o2rUOp.js +1 -0
- package/dist/assets/commandPalette-C5U6qfth.js +1 -0
- package/dist/assets/commandPalette-CBJfByB7.js +1 -0
- package/dist/assets/commandPalette-CrYfIhnW.js +1 -0
- package/dist/assets/commandPalette-Dgd8HfNm.js +1 -0
- package/dist/assets/common-D8_r1x8x.js +1 -0
- package/dist/assets/common-suUxW9sA.js +1 -0
- package/dist/assets/{i18n-CkkVJCs9.js → i18n-ClFSbktB.js} +2 -2
- package/dist/assets/index-DGwt4pL3.js +157 -0
- package/dist/assets/index-pw_NYdQ9.css +1 -0
- package/dist/assets/local-prefs-DUm4LFyu.js +1 -0
- package/dist/assets/markdown-BRAejDWd.js +44 -0
- package/dist/assets/{monaco-XnLmrAXJ.js → monaco-MjnRih9i.js} +1 -1
- package/dist/assets/{monaco-theme-Lsd14tM-.js → monaco-theme-DhdHiZEb.js} +1 -1
- package/dist/assets/{session-store-P-JnaPPK.js → session-store-BOmBeF9r.js} +1 -1
- package/dist/assets/settings-BehzuKKh.js +1 -0
- package/dist/assets/settings-CO8sA1-8.js +1 -0
- package/dist/assets/settings-CSb_3QO0.js +1 -0
- package/dist/assets/settings-CVkZ15Hv.js +1 -0
- package/dist/assets/settings-DRDu_6WL.js +1 -0
- package/dist/assets/settings-Dj8eonZG.js +1 -0
- package/dist/assets/settings-DkZAyCk6.js +1 -0
- package/dist/assets/ui-store-LCpXBvQT.js +1 -0
- package/dist/assets/utils-Bl7Yr7Bw.js +1 -0
- package/dist/assets/{vendor-CyLvG8N0.js → vendor-C9iFsXuW.js} +28 -28
- package/dist/assets/ws-client-WVS5hdJj.js +1 -0
- package/dist/assets/{xyflow-oYDGUYW6.js → xyflow-YzHYNDhB.js} +3 -3
- package/dist/components/AgentTranscript.d.ts +13 -0
- package/dist/components/AgentTranscript.d.ts.map +1 -0
- package/dist/components/AgentsMonitor.d.ts +26 -0
- package/dist/components/AgentsMonitor.d.ts.map +1 -0
- package/dist/components/AgentsPage/format.d.ts +23 -0
- package/dist/components/AgentsPage/format.d.ts.map +1 -0
- package/dist/components/AgentsPage.d.ts +49 -0
- package/dist/components/AgentsPage.d.ts.map +1 -0
- package/dist/components/AnalyticsDashboard.d.ts +2 -0
- package/dist/components/AnalyticsDashboard.d.ts.map +1 -0
- package/dist/components/AutoPhaseView.d.ts +15 -0
- package/dist/components/AutoPhaseView.d.ts.map +1 -0
- package/dist/components/AutonomyPicker.d.ts +21 -0
- package/dist/components/AutonomyPicker.d.ts.map +1 -0
- package/dist/components/BoardView.d.ts +14 -0
- package/dist/components/BoardView.d.ts.map +1 -0
- package/dist/components/ChangesView.d.ts +10 -0
- package/dist/components/ChangesView.d.ts.map +1 -0
- package/dist/components/ChatInput/code-detect.d.ts +20 -0
- package/dist/components/ChatInput/code-detect.d.ts.map +1 -0
- package/dist/components/ChatInput/file-mention-picker.d.ts +15 -0
- package/dist/components/ChatInput/file-mention-picker.d.ts.map +1 -0
- package/dist/components/ChatInput/image-attachments.d.ts +58 -0
- package/dist/components/ChatInput/image-attachments.d.ts.map +1 -0
- package/dist/components/ChatInput/queued-messages.d.ts +9 -0
- package/dist/components/ChatInput/queued-messages.d.ts.map +1 -0
- package/dist/components/ChatInput/slash-commands.d.ts +17 -0
- package/dist/components/ChatInput/slash-commands.d.ts.map +1 -0
- package/dist/components/ChatInput/slash-routing.d.ts +87 -0
- package/dist/components/ChatInput/slash-routing.d.ts.map +1 -0
- package/dist/components/ChatInput/use-paste-drop.d.ts +39 -0
- package/dist/components/ChatInput/use-paste-drop.d.ts.map +1 -0
- package/dist/components/ChatInput.d.ts +5 -0
- package/dist/components/ChatInput.d.ts.map +1 -0
- package/dist/components/ChatView/ThinkingBubble.d.ts +8 -0
- package/dist/components/ChatView/ThinkingBubble.d.ts.map +1 -0
- package/dist/components/ChatView/index.d.ts +2 -0
- package/dist/components/ChatView/index.d.ts.map +1 -0
- package/dist/components/ChatView/utils.d.ts +44 -0
- package/dist/components/ChatView/utils.d.ts.map +1 -0
- package/dist/components/ChatView.d.ts +2 -0
- package/dist/components/ChatView.d.ts.map +1 -0
- package/dist/components/CheckpointTimeline.d.ts +7 -0
- package/dist/components/CheckpointTimeline.d.ts.map +1 -0
- package/dist/components/CodeEditor.d.ts +3 -0
- package/dist/components/CodeEditor.d.ts.map +1 -0
- package/dist/components/CollabPanel.d.ts +28 -0
- package/dist/components/CollabPanel.d.ts.map +1 -0
- package/dist/components/CommandPalette/export-utils.d.ts +10 -0
- package/dist/components/CommandPalette/export-utils.d.ts.map +1 -0
- package/dist/components/CommandPalette/index.d.ts +2 -0
- package/dist/components/CommandPalette/index.d.ts.map +1 -0
- package/dist/components/CommandPalette.d.ts +3 -0
- package/dist/components/CommandPalette.d.ts.map +1 -0
- package/dist/components/ConfirmDialog.d.ts +2 -0
- package/dist/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmModal.d.ts +59 -0
- package/dist/components/ConfirmModal.d.ts.map +1 -0
- package/dist/components/ConnectionBanner.d.ts +13 -0
- package/dist/components/ConnectionBanner.d.ts.map +1 -0
- package/dist/components/ContextBar.d.ts +35 -0
- package/dist/components/ContextBar.d.ts.map +1 -0
- package/dist/components/ContextBreakdownModal.d.ts +7 -0
- package/dist/components/ContextBreakdownModal.d.ts.map +1 -0
- package/dist/components/ContextModePicker.d.ts +2 -0
- package/dist/components/ContextModePicker.d.ts.map +1 -0
- package/dist/components/CostChip.d.ts +12 -0
- package/dist/components/CostChip.d.ts.map +1 -0
- package/dist/components/DebugDashboard.d.ts +2 -0
- package/dist/components/DebugDashboard.d.ts.map +1 -0
- package/dist/components/DependencyGraph.d.ts +13 -0
- package/dist/components/DependencyGraph.d.ts.map +1 -0
- package/dist/components/DesignGalleryView.d.ts +14 -0
- package/dist/components/DesignGalleryView.d.ts.map +1 -0
- package/dist/components/DiffView.d.ts +33 -0
- package/dist/components/DiffView.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +40 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/FallbackEditor.d.ts +15 -0
- package/dist/components/FallbackEditor.d.ts.map +1 -0
- package/dist/components/FileExplorer.d.ts +2 -0
- package/dist/components/FileExplorer.d.ts.map +1 -0
- package/dist/components/FilePicker.d.ts +16 -0
- package/dist/components/FilePicker.d.ts.map +1 -0
- package/dist/components/FileReferenceChip.d.ts +8 -0
- package/dist/components/FileReferenceChip.d.ts.map +1 -0
- package/dist/components/FleetMonitor.d.ts +27 -0
- package/dist/components/FleetMonitor.d.ts.map +1 -0
- package/dist/components/FleetPanel.d.ts +17 -0
- package/dist/components/FleetPanel.d.ts.map +1 -0
- package/dist/components/GoalPanel.d.ts +7 -0
- package/dist/components/GoalPanel.d.ts.map +1 -0
- package/dist/components/InspectorPanel.d.ts +14 -0
- package/dist/components/InspectorPanel.d.ts.map +1 -0
- package/dist/components/KanbanView.d.ts +4 -0
- package/dist/components/KanbanView.d.ts.map +1 -0
- package/dist/components/MailboxDetailView.d.ts +8 -0
- package/dist/components/MailboxDetailView.d.ts.map +1 -0
- package/dist/components/MailboxPanel.d.ts +4 -0
- package/dist/components/MailboxPanel.d.ts.map +1 -0
- package/dist/components/MessageBubble/AttachmentGallery.d.ts +12 -0
- package/dist/components/MessageBubble/AttachmentGallery.d.ts.map +1 -0
- package/dist/components/MessageBubble/CopyButton.d.ts +6 -0
- package/dist/components/MessageBubble/CopyButton.d.ts.map +1 -0
- package/dist/components/MessageBubble/ErrorBody.d.ts +4 -0
- package/dist/components/MessageBubble/ErrorBody.d.ts.map +1 -0
- package/dist/components/MessageBubble/LazyMarkdown.d.ts +27 -0
- package/dist/components/MessageBubble/LazyMarkdown.d.ts.map +1 -0
- package/dist/components/MessageBubble/StreamingMarkdown.d.ts +24 -0
- package/dist/components/MessageBubble/StreamingMarkdown.d.ts.map +1 -0
- package/dist/components/MessageBubble/ToolInputView.d.ts +4 -0
- package/dist/components/MessageBubble/ToolInputView.d.ts.map +1 -0
- package/dist/components/MessageBubble/index.d.ts +9 -0
- package/dist/components/MessageBubble/index.d.ts.map +1 -0
- package/dist/components/MessageBubble/utils.d.ts +17 -0
- package/dist/components/MessageBubble/utils.d.ts.map +1 -0
- package/dist/components/MessageBubble.d.ts +2 -0
- package/dist/components/MessageBubble.d.ts.map +1 -0
- package/dist/components/ModePicker.d.ts +9 -0
- package/dist/components/ModePicker.d.ts.map +1 -0
- package/dist/components/ModelPickDialog.d.ts +22 -0
- package/dist/components/ModelPickDialog.d.ts.map +1 -0
- package/dist/components/ModelPicker.d.ts +18 -0
- package/dist/components/ModelPicker.d.ts.map +1 -0
- package/dist/components/MonacoDiffView.d.ts +13 -0
- package/dist/components/MonacoDiffView.d.ts.map +1 -0
- package/dist/components/NextStepsBar.d.ts +39 -0
- package/dist/components/NextStepsBar.d.ts.map +1 -0
- package/dist/components/OfficeMapCanvas/resolve.d.ts +48 -0
- package/dist/components/OfficeMapCanvas/resolve.d.ts.map +1 -0
- package/dist/components/OfficeMapCanvas/utils.d.ts +57 -0
- package/dist/components/OfficeMapCanvas/utils.d.ts.map +1 -0
- package/dist/components/OfficeMapCanvas.d.ts +10 -0
- package/dist/components/OfficeMapCanvas.d.ts.map +1 -0
- package/dist/components/OfficeMapPanel.d.ts +6 -0
- package/dist/components/OfficeMapPanel.d.ts.map +1 -0
- package/dist/components/OfficeMapSettingsPanel.d.ts +10 -0
- package/dist/components/OfficeMapSettingsPanel.d.ts.map +1 -0
- package/dist/components/PhasePanel.d.ts +42 -0
- package/dist/components/PhasePanel.d.ts.map +1 -0
- package/dist/components/PlanPanel.d.ts +14 -0
- package/dist/components/PlanPanel.d.ts.map +1 -0
- package/dist/components/ProcessMonitor.d.ts +7 -0
- package/dist/components/ProcessMonitor.d.ts.map +1 -0
- package/dist/components/PromptLibraryModal.d.ts +7 -0
- package/dist/components/PromptLibraryModal.d.ts.map +1 -0
- package/dist/components/QueuePanel.d.ts +11 -0
- package/dist/components/QueuePanel.d.ts.map +1 -0
- package/dist/components/QuickModelSwitcher.d.ts +10 -0
- package/dist/components/QuickModelSwitcher.d.ts.map +1 -0
- package/dist/components/QuickModelSwitcher.filter.d.ts +33 -0
- package/dist/components/QuickModelSwitcher.filter.d.ts.map +1 -0
- package/dist/components/RefinePanel.d.ts +24 -0
- package/dist/components/RefinePanel.d.ts.map +1 -0
- package/dist/components/RefreshDebugView.d.ts +32 -0
- package/dist/components/RefreshDebugView.d.ts.map +1 -0
- package/dist/components/SddActivityFeed.d.ts +11 -0
- package/dist/components/SddActivityFeed.d.ts.map +1 -0
- package/dist/components/SddBoardView.d.ts +9 -0
- package/dist/components/SddBoardView.d.ts.map +1 -0
- package/dist/components/SddDestroyDialog.d.ts +16 -0
- package/dist/components/SddDestroyDialog.d.ts.map +1 -0
- package/dist/components/SddFlowGraph.d.ts +23 -0
- package/dist/components/SddFlowGraph.d.ts.map +1 -0
- package/dist/components/SddKanbanView.d.ts +12 -0
- package/dist/components/SddKanbanView.d.ts.map +1 -0
- package/dist/components/SddTaskDrawer.d.ts +28 -0
- package/dist/components/SddTaskDrawer.d.ts.map +1 -0
- package/dist/components/SddWizard.d.ts +10 -0
- package/dist/components/SddWizard.d.ts.map +1 -0
- package/dist/components/SearchOverlay.d.ts +12 -0
- package/dist/components/SearchOverlay.d.ts.map +1 -0
- package/dist/components/SendButton.d.ts +2 -0
- package/dist/components/SendButton.d.ts.map +1 -0
- package/dist/components/SessionWatchPanel.d.ts +17 -0
- package/dist/components/SessionWatchPanel.d.ts.map +1 -0
- package/dist/components/SessionsDashboard.d.ts +3 -0
- package/dist/components/SessionsDashboard.d.ts.map +1 -0
- package/dist/components/SettingsPanel/BrainSection.d.ts +3 -0
- package/dist/components/SettingsPanel/BrainSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ClearAllowlistDialog.d.ts +19 -0
- package/dist/components/SettingsPanel/ClearAllowlistDialog.d.ts.map +1 -0
- package/dist/components/SettingsPanel/MCPSection.d.ts +48 -0
- package/dist/components/SettingsPanel/MCPSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ModelSection.d.ts +31 -0
- package/dist/components/SettingsPanel/ModelSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +14 -0
- package/dist/components/SettingsPanel/OAuthLoginSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/PreferenceControls.d.ts +23 -0
- package/dist/components/SettingsPanel/PreferenceControls.d.ts.map +1 -0
- package/dist/components/SettingsPanel/PreferenceToggle.d.ts +25 -0
- package/dist/components/SettingsPanel/PreferenceToggle.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts +46 -0
- package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ProviderModelsPanel.filter.d.ts +110 -0
- package/dist/components/SettingsPanel/ProviderModelsPanel.filter.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ProviderSection.d.ts +63 -0
- package/dist/components/SettingsPanel/ProviderSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/RoutingSection.d.ts +6 -0
- package/dist/components/SettingsPanel/RoutingSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ShadowSection.d.ts +3 -0
- package/dist/components/SettingsPanel/ShadowSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/ToolsSection.d.ts +12 -0
- package/dist/components/SettingsPanel/ToolsSection.d.ts.map +1 -0
- package/dist/components/SettingsPanel/index.d.ts +2 -0
- package/dist/components/SettingsPanel/index.d.ts.map +1 -0
- package/dist/components/SettingsPanel/local-presets.d.ts +31 -0
- package/dist/components/SettingsPanel/local-presets.d.ts.map +1 -0
- package/dist/components/SettingsPanel/official-servers.d.ts +30 -0
- package/dist/components/SettingsPanel/official-servers.d.ts.map +1 -0
- package/dist/components/SettingsPanel/settings-panel-reducers.d.ts +40 -0
- package/dist/components/SettingsPanel/settings-panel-reducers.d.ts.map +1 -0
- package/dist/components/SettingsPanel/undo-send-decision.d.ts +42 -0
- package/dist/components/SettingsPanel/undo-send-decision.d.ts.map +1 -0
- package/dist/components/SettingsPanel.d.ts +3 -0
- package/dist/components/SettingsPanel.d.ts.map +1 -0
- package/dist/components/SetupScreen.d.ts +2 -0
- package/dist/components/SetupScreen.d.ts.map +1 -0
- package/dist/components/ShortcutsOverlay.d.ts +2 -0
- package/dist/components/ShortcutsOverlay.d.ts.map +1 -0
- package/dist/components/SideEffectTimeline.d.ts +11 -0
- package/dist/components/SideEffectTimeline.d.ts.map +1 -0
- package/dist/components/SidePanel/AgentsPanel.d.ts +8 -0
- package/dist/components/SidePanel/AgentsPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/ChangesPanel.d.ts +8 -0
- package/dist/components/SidePanel/ChangesPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/DesignStudioPanel.d.ts +12 -0
- package/dist/components/SidePanel/DesignStudioPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/HistoryPanel.d.ts +7 -0
- package/dist/components/SidePanel/HistoryPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/SessionList.d.ts +24 -0
- package/dist/components/SidePanel/SessionList.d.ts.map +1 -0
- package/dist/components/SidePanel/SessionPanel.d.ts +10 -0
- package/dist/components/SidePanel/SessionPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/SkillsList.d.ts +8 -0
- package/dist/components/SidePanel/SkillsList.d.ts.map +1 -0
- package/dist/components/SidePanel/WorktreesPanel.d.ts +8 -0
- package/dist/components/SidePanel/WorktreesPanel.d.ts.map +1 -0
- package/dist/components/SidePanel/index.d.ts +11 -0
- package/dist/components/SidePanel/index.d.ts.map +1 -0
- package/dist/components/SkillDetailView.d.ts +8 -0
- package/dist/components/SkillDetailView.d.ts.map +1 -0
- package/dist/components/SpecsView.d.ts +9 -0
- package/dist/components/SpecsView.d.ts.map +1 -0
- package/dist/components/TaskBoard.d.ts +20 -0
- package/dist/components/TaskBoard.d.ts.map +1 -0
- package/dist/components/TaskCard.d.ts +43 -0
- package/dist/components/TaskCard.d.ts.map +1 -0
- package/dist/components/TasksPanel.d.ts +14 -0
- package/dist/components/TasksPanel.d.ts.map +1 -0
- package/dist/components/TerminalPanel.d.ts +12 -0
- package/dist/components/TerminalPanel.d.ts.map +1 -0
- package/dist/components/ThemeProvider.d.ts +15 -0
- package/dist/components/ThemeProvider.d.ts.map +1 -0
- package/dist/components/Toaster.d.ts +33 -0
- package/dist/components/Toaster.d.ts.map +1 -0
- package/dist/components/TodosPanel.d.ts +14 -0
- package/dist/components/TodosPanel.d.ts.map +1 -0
- package/dist/components/ToolGroup.d.ts +18 -0
- package/dist/components/ToolGroup.d.ts.map +1 -0
- package/dist/components/ToolResult.d.ts +33 -0
- package/dist/components/ToolResult.d.ts.map +1 -0
- package/dist/components/WatchMessageBubble.d.ts +30 -0
- package/dist/components/WatchMessageBubble.d.ts.map +1 -0
- package/dist/components/WelcomeScreen.d.ts +9 -0
- package/dist/components/WelcomeScreen.d.ts.map +1 -0
- package/dist/components/WorkDashboard.d.ts +11 -0
- package/dist/components/WorkDashboard.d.ts.map +1 -0
- package/dist/components/WorkspaceDock.d.ts +16 -0
- package/dist/components/WorkspaceDock.d.ts.map +1 -0
- package/dist/components/WorktreeGraph.d.ts +21 -0
- package/dist/components/WorktreeGraph.d.ts.map +1 -0
- package/dist/components/WorktreeLanes.d.ts +11 -0
- package/dist/components/WorktreeLanes.d.ts.map +1 -0
- package/dist/components/WorktreeOrphans.d.ts +9 -0
- package/dist/components/WorktreeOrphans.d.ts.map +1 -0
- package/dist/components/activity-bar/index.d.ts +14 -0
- package/dist/components/activity-bar/index.d.ts.map +1 -0
- package/dist/components/activity-bar/nav.d.ts +17 -0
- package/dist/components/activity-bar/nav.d.ts.map +1 -0
- package/dist/components/dashboard-primitives.d.ts +22 -0
- package/dist/components/dashboard-primitives.d.ts.map +1 -0
- package/dist/components/index.d.ts +32 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/monaco-theme.d.ts +6 -0
- package/dist/components/monaco-theme.d.ts.map +1 -0
- package/dist/components/toaster-helpers.d.ts +34 -0
- package/dist/components/toaster-helpers.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/concurrency-gauge.d.ts +18 -0
- package/dist/components/ui/concurrency-gauge.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +29 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/event-timeline.d.ts +15 -0
- package/dist/components/ui/event-timeline.d.ts.map +1 -0
- package/dist/components/ui/index.d.ts +11 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +32 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sparkline.d.ts +16 -0
- package/dist/components/ui/sparkline.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/use-ws-handlers.d.ts +24 -0
- package/dist/hooks/use-ws-handlers.d.ts.map +1 -0
- package/dist/hooks/useGitInfo.d.ts +4 -0
- package/dist/hooks/useGitInfo.d.ts.map +1 -0
- package/dist/hooks/useProviderModels.d.ts +15 -0
- package/dist/hooks/useProviderModels.d.ts.map +1 -0
- package/dist/hooks/useWebSocket.d.ts +85 -0
- package/dist/hooks/useWebSocket.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/chat-handlers.d.ts +21 -0
- package/dist/hooks/ws-handlers/chat-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/coordinator-handlers.d.ts +3 -0
- package/dist/hooks/ws-handlers/coordinator-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +17 -0
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/fleet-handlers.d.ts +13 -0
- package/dist/hooks/ws-handlers/fleet-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/misc-handlers.d.ts +21 -0
- package/dist/hooks/ws-handlers/misc-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers/session-handlers.d.ts +34 -0
- package/dist/hooks/ws-handlers/session-handlers.d.ts.map +1 -0
- package/dist/hooks/ws-handlers.d.ts +24 -0
- package/dist/hooks/ws-handlers.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +12 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/languages.d.ts +40 -0
- package/dist/i18n/languages.d.ts.map +1 -0
- package/dist/index.css +2 -2
- package/dist/index.css.map +7 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.html +16 -16
- package/dist/index.js +21624 -19624
- package/dist/index.js.map +7 -1
- package/dist/lib/accent-colors.d.ts +136 -0
- package/dist/lib/accent-colors.d.ts.map +1 -0
- package/dist/lib/agent-status.d.ts +41 -0
- package/dist/lib/agent-status.d.ts.map +1 -0
- package/dist/lib/analytics.d.ts +38 -0
- package/dist/lib/analytics.d.ts.map +1 -0
- package/dist/lib/chime.d.ts +20 -0
- package/dist/lib/chime.d.ts.map +1 -0
- package/dist/lib/color.d.ts +15 -0
- package/dist/lib/color.d.ts.map +1 -0
- package/dist/lib/completion.d.ts +27 -0
- package/dist/lib/completion.d.ts.map +1 -0
- package/dist/lib/core-browser-shim.d.ts +22 -0
- package/dist/lib/core-browser-shim.d.ts.map +1 -0
- package/dist/lib/default-prompt-pools.d.ts +27 -0
- package/dist/lib/default-prompt-pools.d.ts.map +1 -0
- package/dist/lib/desktop-host.d.ts +24 -0
- package/dist/lib/desktop-host.d.ts.map +1 -0
- package/dist/lib/desktop-shell.d.ts +3 -0
- package/dist/lib/desktop-shell.d.ts.map +1 -0
- package/dist/lib/favicon.d.ts +21 -0
- package/dist/lib/favicon.d.ts.map +1 -0
- package/dist/lib/file-icons.d.ts +10 -0
- package/dist/lib/file-icons.d.ts.map +1 -0
- package/dist/lib/goal.d.ts +32 -0
- package/dist/lib/goal.d.ts.map +1 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/model-matrix-routes.d.ts +203 -0
- package/dist/lib/model-matrix-routes.d.ts.map +1 -0
- package/dist/lib/notify.d.ts +15 -0
- package/dist/lib/notify.d.ts.map +1 -0
- package/dist/lib/sdd-theme.d.ts +52 -0
- package/dist/lib/sdd-theme.d.ts.map +1 -0
- package/dist/lib/stream-coalescer.d.ts +46 -0
- package/dist/lib/stream-coalescer.d.ts.map +1 -0
- package/dist/lib/terminal-dock.d.ts +6 -0
- package/dist/lib/terminal-dock.d.ts.map +1 -0
- package/dist/lib/tool-icon.d.ts +19 -0
- package/dist/lib/tool-icon.d.ts.map +1 -0
- package/dist/lib/tool-summary.d.ts +2 -0
- package/dist/lib/tool-summary.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +10 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/view-navigation.d.ts +15 -0
- package/dist/lib/view-navigation.d.ts.map +1 -0
- package/dist/lib/ws-client-helpers.d.ts +46 -0
- package/dist/lib/ws-client-helpers.d.ts.map +1 -0
- package/dist/lib/ws-client-utils.d.ts +87 -0
- package/dist/lib/ws-client-utils.d.ts.map +1 -0
- package/dist/lib/ws-client.d.ts +239 -0
- package/dist/lib/ws-client.d.ts.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/stores/auto-submit-streak.d.ts +40 -0
- package/dist/stores/auto-submit-streak.d.ts.map +1 -0
- package/dist/stores/autophase-store.d.ts +50 -0
- package/dist/stores/autophase-store.d.ts.map +1 -0
- package/dist/stores/chat-store.d.ts +137 -0
- package/dist/stores/chat-store.d.ts.map +1 -0
- package/dist/stores/config-store.d.ts +67 -0
- package/dist/stores/config-store.d.ts.map +1 -0
- package/dist/stores/coordinator-monitor-store.d.ts +133 -0
- package/dist/stores/coordinator-monitor-store.d.ts.map +1 -0
- package/dist/stores/file-reference-store.d.ts +36 -0
- package/dist/stores/file-reference-store.d.ts.map +1 -0
- package/dist/stores/file-store.d.ts +40 -0
- package/dist/stores/file-store.d.ts.map +1 -0
- package/dist/stores/fleet-store.d.ts +29 -0
- package/dist/stores/fleet-store.d.ts.map +1 -0
- package/dist/stores/git-changes-store.d.ts +38 -0
- package/dist/stores/git-changes-store.d.ts.map +1 -0
- package/dist/stores/git-info-store.d.ts +18 -0
- package/dist/stores/git-info-store.d.ts.map +1 -0
- package/dist/stores/goal-store.d.ts +12 -0
- package/dist/stores/goal-store.d.ts.map +1 -0
- package/dist/stores/history-store.d.ts +15 -0
- package/dist/stores/history-store.d.ts.map +1 -0
- package/dist/stores/index.d.ts +36 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/kanban-store.d.ts +22 -0
- package/dist/stores/kanban-store.d.ts.map +1 -0
- package/dist/stores/local-prefs.d.ts +135 -0
- package/dist/stores/local-prefs.d.ts.map +1 -0
- package/dist/stores/mailbox-store.d.ts +63 -0
- package/dist/stores/mailbox-store.d.ts.map +1 -0
- package/dist/stores/monitor-store.d.ts +116 -0
- package/dist/stores/monitor-store.d.ts.map +1 -0
- package/dist/stores/office-map-store.d.ts +47 -0
- package/dist/stores/office-map-store.d.ts.map +1 -0
- package/dist/stores/sdd-board-store.d.ts +88 -0
- package/dist/stores/sdd-board-store.d.ts.map +1 -0
- package/dist/stores/sdd-wizard-store.d.ts +64 -0
- package/dist/stores/sdd-wizard-store.d.ts.map +1 -0
- package/dist/stores/session-store.d.ts +125 -0
- package/dist/stores/session-store.d.ts.map +1 -0
- package/dist/stores/side-effect-store.d.ts +18 -0
- package/dist/stores/side-effect-store.d.ts.map +1 -0
- package/dist/stores/specs-store.d.ts +67 -0
- package/dist/stores/specs-store.d.ts.map +1 -0
- package/dist/stores/types.d.ts +254 -0
- package/dist/stores/types.d.ts.map +1 -0
- package/dist/stores/ui-store.d.ts +307 -0
- package/dist/stores/ui-store.d.ts.map +1 -0
- package/dist/stores/viz-store.d.ts +126 -0
- package/dist/stores/viz-store.d.ts.map +1 -0
- package/dist/stores/worktree-store.d.ts +47 -0
- package/dist/stores/worktree-store.d.ts.map +1 -0
- package/dist/types.d.ts +321 -119
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -1
- package/dist/types.js.map +7 -1
- package/package.json +13 -14
- package/dist/assets/AutoPhaseView-D053zOhN.js +0 -1
- package/dist/assets/DebugDashboard-DBPKvghW.js +0 -1
- package/dist/assets/KanbanView-DWBGErwm.js +0 -1
- package/dist/assets/MailboxDetailView-CCtq-c8u.js +0 -1
- package/dist/assets/OfficeMapPanel-BBKsytG0.js +0 -4
- package/dist/assets/SddBoardView-Q-k1UjLv.js +0 -2
- package/dist/assets/SddFlowGraph-BaWwH9Zc.js +0 -1
- package/dist/assets/SddWizard-C4wdyhYe.js +0 -1
- package/dist/assets/SessionsDashboard-CveBdrQJ.js +0 -1
- package/dist/assets/SkillDetailView-B4U0AtHj.js +0 -2
- package/dist/assets/SpecsView-QssXs9kF.js +0 -1
- package/dist/assets/TerminalPanel-CSDEzJNZ.js +0 -1
- package/dist/assets/activity-3lpGdUIy.js +0 -5
- package/dist/assets/activity-Bi6wI_Cg.js +0 -5
- package/dist/assets/activity-CSPSX--m.js +0 -5
- package/dist/assets/activity-Cv0CmTyM.js +0 -5
- package/dist/assets/activity-Doy5Yots.js +0 -5
- package/dist/assets/chat--Zry3Atx.js +0 -1
- package/dist/assets/chat-0DeGMNFQ.js +0 -1
- package/dist/assets/chat-BErfSQjE.js +0 -1
- package/dist/assets/chat-CX5cjaC-.js +0 -1
- package/dist/assets/chat-CibJIps5.js +0 -1
- package/dist/assets/chat-Dr5SJikx.js +0 -1
- package/dist/assets/chat-Siz8aWTB.js +0 -1
- package/dist/assets/chat-store-De7J1E26.js +0 -5
- package/dist/assets/commandPalette-2M1hYRuH.js +0 -1
- package/dist/assets/commandPalette-BE_ljQwl.js +0 -1
- package/dist/assets/commandPalette-BYf22WAi.js +0 -1
- package/dist/assets/commandPalette-BZhacjvy.js +0 -1
- package/dist/assets/commandPalette-CTE9ITWg.js +0 -1
- package/dist/assets/commandPalette-RxWSjQIg.js +0 -1
- package/dist/assets/common-B28qhvZh.js +0 -1
- package/dist/assets/common-CeTsF3jX.js +0 -1
- package/dist/assets/index-BqAVsSCe.js +0 -154
- package/dist/assets/index-DTFjO9oF.css +0 -1
- package/dist/assets/local-prefs-C1YdbI5g.js +0 -1
- package/dist/assets/markdown-D0X23O-i.js +0 -44
- package/dist/assets/settings-BVvx94WK.js +0 -1
- package/dist/assets/settings-CQ4x-iFD.js +0 -1
- package/dist/assets/settings-CmHCQRVI.js +0 -1
- package/dist/assets/settings-DgGu17XI.js +0 -1
- package/dist/assets/settings-Os0ifjjB.js +0 -1
- package/dist/assets/settings-TqprB9wO.js +0 -1
- package/dist/assets/settings-UGa_oSYC.js +0 -1
- package/dist/assets/ui-store-FTgDlcX2.js +0 -1
- package/dist/assets/utils-CU_o9ioU.js +0 -1
- package/dist/assets/ws-client-lDxBz-7w.js +0 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import type { WSClientMessage, WSCompletionRequest, WSServerMessage, WSUserMessageImage } from '../types';
|
|
2
|
+
import { type EventHandler, type WsStatus } from './ws-client-utils';
|
|
3
|
+
export type { WsStatus };
|
|
4
|
+
export declare class WrongStackWebSocketClient {
|
|
5
|
+
private ws;
|
|
6
|
+
private url;
|
|
7
|
+
private handlers;
|
|
8
|
+
private reconnectAttempts;
|
|
9
|
+
private maxReconnectAttempts;
|
|
10
|
+
private reconnectDelay;
|
|
11
|
+
private shouldReconnect;
|
|
12
|
+
private reconnectTimer;
|
|
13
|
+
private connectPromise;
|
|
14
|
+
/** Monotonic generation counter. Each openSocket() call increments it;
|
|
15
|
+
* event handlers capture the generation at creation time and ignore
|
|
16
|
+
* events from older sockets (e.g. a timed-out socket that fires onopen
|
|
17
|
+
* late). */
|
|
18
|
+
private socketGeneration;
|
|
19
|
+
private messageQueue;
|
|
20
|
+
private static readonly MAX_QUEUED_MESSAGES;
|
|
21
|
+
private pendingConfirms;
|
|
22
|
+
private sessionId;
|
|
23
|
+
/** Stored last close reason / error message so the UI can show "what
|
|
24
|
+
* went wrong" while reconnecting instead of a generic spinner. */
|
|
25
|
+
private lastErrorText;
|
|
26
|
+
private statusListeners;
|
|
27
|
+
private currentStatus;
|
|
28
|
+
onStatus(fn: (s: WsStatus) => void): () => void;
|
|
29
|
+
get status(): WsStatus;
|
|
30
|
+
private setStatus;
|
|
31
|
+
constructor(url?: string);
|
|
32
|
+
private withSession;
|
|
33
|
+
/**
|
|
34
|
+
* Exchange a stored token for an HttpOnly auth cookie via `/ws-auth`.
|
|
35
|
+
* Called once before the first connect so subsequent reconnections can
|
|
36
|
+
* drop the `?token=` from the WS URL (C-2 fix — token-in-URL closes
|
|
37
|
+
* the C-598 query-string exposure class). No-op when the cookie is
|
|
38
|
+
* already set, when the server is on a loopback bind (no token
|
|
39
|
+
* required), or when no token is available yet.
|
|
40
|
+
*
|
|
41
|
+
* Failure is non-fatal only for local loopback or explicit public-WS URL
|
|
42
|
+
* flows. Normal remote browser clients need the cookie path so the token does
|
|
43
|
+
* not remain in the WebSocket URL.
|
|
44
|
+
*/
|
|
45
|
+
ensureAuthCookie(): Promise<void>;
|
|
46
|
+
connect(): Promise<void>;
|
|
47
|
+
private openSocket;
|
|
48
|
+
private attemptReconnect;
|
|
49
|
+
/** Force an immediate reconnect attempt, bypassing the backoff timer. */
|
|
50
|
+
retryNow(): void;
|
|
51
|
+
private flushMessageQueue;
|
|
52
|
+
private handleMessage;
|
|
53
|
+
private emit;
|
|
54
|
+
send(message: WSClientMessage): void;
|
|
55
|
+
/**
|
|
56
|
+
* Register a handler for a server message type. Two overloads:
|
|
57
|
+
* - `on('text_delta', (msg) => …)` — msg is narrowed to the matching union
|
|
58
|
+
* member, so `msg.payload` is statically typed. No cast needed.
|
|
59
|
+
* - `on(someString, handler)` — for runtime-computed type names; the
|
|
60
|
+
* handler receives the wider `WSServerMessage`. Backwards compatible.
|
|
61
|
+
*/
|
|
62
|
+
on<K extends WSServerMessage['type']>(eventType: K, handler: (msg: Extract<WSServerMessage, {
|
|
63
|
+
type: K;
|
|
64
|
+
}>) => void): () => void;
|
|
65
|
+
on(eventType: string, handler: EventHandler): () => void;
|
|
66
|
+
off<K extends WSServerMessage['type']>(eventType: K, handler: (msg: Extract<WSServerMessage, {
|
|
67
|
+
type: K;
|
|
68
|
+
}>) => void): void;
|
|
69
|
+
off(eventType: string, handler: EventHandler): void;
|
|
70
|
+
sendMessage(content: string, images?: WSUserMessageImage[]): string;
|
|
71
|
+
sendAbort(): void;
|
|
72
|
+
getGitInfo(): void;
|
|
73
|
+
/** Request the working-tree change set (file list for the Changes panel). */
|
|
74
|
+
getGitChanges(): void;
|
|
75
|
+
/** Request the before/after content for one changed file. */
|
|
76
|
+
getGitDiff(path: string): void;
|
|
77
|
+
sendConfirm(id: string, decision: 'yes' | 'no' | 'always' | 'deny'): void;
|
|
78
|
+
switchModel(provider: string, model: string): void;
|
|
79
|
+
newSession(): void;
|
|
80
|
+
listProviders(): void;
|
|
81
|
+
listProviderModels(providerId: string): void;
|
|
82
|
+
listSavedProviders(): void;
|
|
83
|
+
addKey(providerId: string, label: string, apiKey: string): void;
|
|
84
|
+
updateKey(providerId: string, label: string, apiKey: string): void;
|
|
85
|
+
deleteKey(providerId: string, label: string): void;
|
|
86
|
+
setActiveKey(providerId: string, label: string): void;
|
|
87
|
+
addProvider(id: string, family: string, baseUrl?: string | undefined, apiKey?: string): void;
|
|
88
|
+
removeProvider(providerId: string): void;
|
|
89
|
+
/** Begin a subscription sign-in; progress arrives as `auth.oauth.status`. */
|
|
90
|
+
startOAuth(kind: 'chatgpt' | 'claude' | 'copilot'): void;
|
|
91
|
+
/** Manual-paste fallback for loopback flows (port busy / remote browser). */
|
|
92
|
+
submitOAuthCode(kind: 'chatgpt' | 'claude' | 'copilot', input: string): void;
|
|
93
|
+
/** Cancel an in-flight subscription sign-in. */
|
|
94
|
+
cancelOAuth(kind: 'chatgpt' | 'claude' | 'copilot'): void;
|
|
95
|
+
/** Run a health probe against a saved provider's `/v1/models`. */
|
|
96
|
+
probeProvider(providerId: string, timeoutMs?: number): void;
|
|
97
|
+
/** Remove the saved model allowlist for a provider. */
|
|
98
|
+
clearProviderModels(providerId: string): void;
|
|
99
|
+
/** Restore a previously-cleared model allowlist (pairs with clear). */
|
|
100
|
+
undoProviderClear(providerId: string, previousModels: string[]): void;
|
|
101
|
+
/** Update a saved provider's wire config (family / baseUrl / envVars / models). */
|
|
102
|
+
updateProvider(payload: {
|
|
103
|
+
id: string;
|
|
104
|
+
family?: string | undefined;
|
|
105
|
+
baseUrl?: string | undefined;
|
|
106
|
+
envVars?: string[] | undefined;
|
|
107
|
+
models?: string[] | undefined;
|
|
108
|
+
}): void;
|
|
109
|
+
clearContext(): void;
|
|
110
|
+
compactContext(aggressive?: boolean): void;
|
|
111
|
+
repairContext(): void;
|
|
112
|
+
debugContext(): void;
|
|
113
|
+
listContextModes(): void;
|
|
114
|
+
switchContextMode(id: string): void;
|
|
115
|
+
createContextMode(mode: {
|
|
116
|
+
id: string;
|
|
117
|
+
name: string;
|
|
118
|
+
description: string;
|
|
119
|
+
thresholds: {
|
|
120
|
+
warn: number;
|
|
121
|
+
soft: number;
|
|
122
|
+
hard: number;
|
|
123
|
+
};
|
|
124
|
+
preserveK: number;
|
|
125
|
+
eliseThreshold: number;
|
|
126
|
+
}): void;
|
|
127
|
+
updateContextMode(id: string, patch: {
|
|
128
|
+
name?: string | undefined;
|
|
129
|
+
description?: string | undefined;
|
|
130
|
+
thresholds?: {
|
|
131
|
+
warn?: number | undefined;
|
|
132
|
+
soft?: number | undefined;
|
|
133
|
+
hard?: number | undefined;
|
|
134
|
+
} | undefined;
|
|
135
|
+
preserveK?: number | undefined;
|
|
136
|
+
eliseThreshold?: number | undefined;
|
|
137
|
+
}): void;
|
|
138
|
+
deleteContextMode(id: string): void;
|
|
139
|
+
switchAutonomy(mode: string): void;
|
|
140
|
+
updatePrefs(prefs: Record<string, unknown>): void;
|
|
141
|
+
getPrefs(): void;
|
|
142
|
+
listTools(): void;
|
|
143
|
+
listMemory(): void;
|
|
144
|
+
remember(text: string, scope?: 'project-agents' | 'project-memory' | 'user-memory'): void;
|
|
145
|
+
forget(text: string, scope?: 'project-agents' | 'project-memory' | 'user-memory'): void;
|
|
146
|
+
listMcpServers(): void;
|
|
147
|
+
addMcpServer(config: {
|
|
148
|
+
name: string;
|
|
149
|
+
transport: string;
|
|
150
|
+
description?: string;
|
|
151
|
+
enabled?: boolean;
|
|
152
|
+
command?: string;
|
|
153
|
+
args?: string[];
|
|
154
|
+
env?: Record<string, string>;
|
|
155
|
+
allowedTools?: string[];
|
|
156
|
+
url?: string;
|
|
157
|
+
headers?: Record<string, string>;
|
|
158
|
+
lazy?: boolean;
|
|
159
|
+
}): void;
|
|
160
|
+
removeMcpServer(name: string): void;
|
|
161
|
+
updateMcpServer(config: {
|
|
162
|
+
name: string;
|
|
163
|
+
transport?: string;
|
|
164
|
+
description?: string;
|
|
165
|
+
enabled?: boolean;
|
|
166
|
+
command?: string;
|
|
167
|
+
args?: string[];
|
|
168
|
+
env?: Record<string, string>;
|
|
169
|
+
allowedTools?: string[];
|
|
170
|
+
url?: string;
|
|
171
|
+
headers?: Record<string, string>;
|
|
172
|
+
lazy?: boolean;
|
|
173
|
+
}): void;
|
|
174
|
+
wakeMcpServer(name: string): void;
|
|
175
|
+
sleepMcpServer(name: string): void;
|
|
176
|
+
discoverMcpServer(name: string): void;
|
|
177
|
+
listMcpResources(name: string, refresh?: boolean): void;
|
|
178
|
+
listMcpPrompts(name: string, refresh?: boolean): void;
|
|
179
|
+
readMcpResource(name: string, uri: string): void;
|
|
180
|
+
getMcpPrompt(name: string, prompt: string, args?: Record<string, string>): void;
|
|
181
|
+
enableMcpServer(name: string): void;
|
|
182
|
+
disableMcpServer(name: string): void;
|
|
183
|
+
restartMcpServer(name: string): void;
|
|
184
|
+
listSkills(): void;
|
|
185
|
+
getSkillContent(name: string, source: string): void;
|
|
186
|
+
installSkill(ref: string, global?: boolean): void;
|
|
187
|
+
uninstallSkill(name: string, global?: boolean): void;
|
|
188
|
+
checkForUpdates(name?: string, global?: boolean): void;
|
|
189
|
+
createSkill(name: string, description: string, scope: 'project' | 'global'): void;
|
|
190
|
+
editSkill(name: string, body: string): void;
|
|
191
|
+
exportAllSkills(): void;
|
|
192
|
+
getDiag(): void;
|
|
193
|
+
getStats(): void;
|
|
194
|
+
saveSession(): void;
|
|
195
|
+
resumeSessionById(id: string): void;
|
|
196
|
+
listModes(): void;
|
|
197
|
+
switchMode(id: string): void;
|
|
198
|
+
listFiles(query?: string, limit?: number, path?: string): void;
|
|
199
|
+
requestCompletion(payload: WSCompletionRequest['payload']): void;
|
|
200
|
+
getTodos(): void;
|
|
201
|
+
clearTodos(): void;
|
|
202
|
+
removeTodo(idOrIndex: string | number): void;
|
|
203
|
+
updateTodoStatus(id: string, status: 'pending' | 'in_progress' | 'completed'): void;
|
|
204
|
+
getTasks(): void;
|
|
205
|
+
updateTaskStatus(id: string, status: string): void;
|
|
206
|
+
getPlan(): void;
|
|
207
|
+
updatePlanItem(target: string, status: 'open' | 'in_progress' | 'done'): void;
|
|
208
|
+
listSessions(limit?: number): void;
|
|
209
|
+
deleteSession(id: string): void;
|
|
210
|
+
renameSession(id: string, name: string): void;
|
|
211
|
+
setWorkingDir(path: string): void;
|
|
212
|
+
resumeSession(sessionId: string): void;
|
|
213
|
+
ping(): void;
|
|
214
|
+
refineModel(text: string): void;
|
|
215
|
+
disconnect(): void;
|
|
216
|
+
get isConnected(): boolean;
|
|
217
|
+
get currentSessionId(): string | null;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Default WS URL derived from the page's host.
|
|
221
|
+
*
|
|
222
|
+
* Subtle gotcha on Windows: when the page is loaded from `http://localhost:3456`,
|
|
223
|
+
* the browser resolves `localhost` *itself* and on Windows it tries IPv6 `[::1]`
|
|
224
|
+
* before IPv4 `127.0.0.1`. If the backend listens only on `127.0.0.1`, every
|
|
225
|
+
* connection attempt to `ws://localhost:3457` first hits the IPv6 socket
|
|
226
|
+
* (refused) and then either gives up or flaps — symptom: "ws disconnect hep".
|
|
227
|
+
*
|
|
228
|
+
* Fix: when the page is on a loopback host (`localhost` / `127.0.0.1` / `::1`),
|
|
229
|
+
* force the WS URL to use the literal IPv4 loopback address. That bypasses the
|
|
230
|
+
* DNS dance entirely. For any other hostname (LAN IP, custom WS_HOST override)
|
|
231
|
+
* we keep the page's hostname so things still "just work".
|
|
232
|
+
*
|
|
233
|
+
* The WS port is NOT hardcoded: the HTTP server stamps the live port into the
|
|
234
|
+
* served HTML as `<meta name="wrongstack-ws-port">` (see http-server.ts), so
|
|
235
|
+
* several WebUI instances can run on different PORT/WS_PORT pairs at once. We
|
|
236
|
+
* fall back to 3457 only when the tag is absent (e.g. the vite dev server).
|
|
237
|
+
*/
|
|
238
|
+
export declare function getWSClient(url?: string): WrongStackWebSocketClient;
|
|
239
|
+
//# sourceMappingURL=ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/lib/ws-client.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import '@fontsource-variable/ibm-plex-sans';
|
|
2
|
+
import '@fontsource/ibm-plex-mono/400.css';
|
|
3
|
+
import '@fontsource/ibm-plex-mono/500.css';
|
|
4
|
+
import '@fontsource/ibm-plex-mono/600.css';
|
|
5
|
+
import './i18n';
|
|
6
|
+
import './index.css';
|
|
7
|
+
import './syntax-highlight.css';
|
|
8
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AAMA,OAAO,oCAAoC,CAAC;AAC5C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,QAAQ,CAAC;AAEhB,OAAO,aAAa,CAAC;AACrB,OAAO,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-submit streak tracking for YOLO+auto mode.
|
|
3
|
+
*
|
|
4
|
+
* Tracks how many consecutive automatic next-step submissions have occurred
|
|
5
|
+
* since the last manual user input. When the streak hits autoProceedMaxIterations,
|
|
6
|
+
* auto-submit pauses and a warning is shown — the autonomy mode stays on; only
|
|
7
|
+
* the automatic submission is paused until the user types something.
|
|
8
|
+
*
|
|
9
|
+
* Reset on:
|
|
10
|
+
* - Manual user input (any submit via ChatInput)
|
|
11
|
+
* - Autonomy mode change
|
|
12
|
+
*
|
|
13
|
+
* Increment on:
|
|
14
|
+
* - Every successful auto-submit (countdown fires and suggestion is sent)
|
|
15
|
+
*/
|
|
16
|
+
interface UseAutoSubmitStreak {
|
|
17
|
+
/** Current streak count */
|
|
18
|
+
streak: number;
|
|
19
|
+
/** Whether the cap warning has been shown */
|
|
20
|
+
capWarned: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if auto-submit is allowed right now (streak < cap).
|
|
23
|
+
* Call this BEFORE showing the countdown — returns false when the cap
|
|
24
|
+
* is already at the limit, so the countdown should not start.
|
|
25
|
+
*/
|
|
26
|
+
canAutoSubmit: () => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Record a successful auto-submit. Increments the streak.
|
|
29
|
+
* Returns true if submitted, false if capped (caller should show warning).
|
|
30
|
+
*/
|
|
31
|
+
recordAutoSubmit: () => boolean;
|
|
32
|
+
/** Reset the streak to 0 — call on every manual user submit */
|
|
33
|
+
reset: () => void;
|
|
34
|
+
/** Reset the cap-warning flag — call when autonomy mode changes */
|
|
35
|
+
resetCapWarned: () => void;
|
|
36
|
+
}
|
|
37
|
+
/** Module-level streak — reset when the page hard-reloads (acceptable tradeoff) */
|
|
38
|
+
export declare function useAutoSubmitStreak(): UseAutoSubmitStreak;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=auto-submit-streak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-submit-streak.d.ts","sourceRoot":"","sources":["../../src/stores/auto-submit-streak.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,mBAAmB;IAC3B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,mEAAmE;IACnE,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAOD,mFAAmF;AACnF,wBAAgB,mBAAmB,IAAI,mBAAmB,CAmEzD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { PhaseItem } from '@/components/PhasePanel';
|
|
2
|
+
export type AutoPhaseStatus = 'idle' | 'running' | 'paused' | 'completed' | 'failed' | 'stopped';
|
|
3
|
+
/** A persisted kanban board (one AutoPhase graph JSON per board on disk). */
|
|
4
|
+
export interface AutoPhaseBoardSummary {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
updatedAt: number;
|
|
8
|
+
status: string;
|
|
9
|
+
}
|
|
10
|
+
interface AutoPhaseState {
|
|
11
|
+
phases: PhaseItem[];
|
|
12
|
+
activePhaseId: string | null;
|
|
13
|
+
overallPercent: number;
|
|
14
|
+
autonomous: boolean;
|
|
15
|
+
title: string | null;
|
|
16
|
+
/** Full operator prompt that started the run (title is only a short heading). */
|
|
17
|
+
goal: string | null;
|
|
18
|
+
status: AutoPhaseStatus;
|
|
19
|
+
lastEvent: string | null;
|
|
20
|
+
lastError: string | null;
|
|
21
|
+
/** All persisted boards for this project (from autophase.list). */
|
|
22
|
+
graphs: AutoPhaseBoardSummary[];
|
|
23
|
+
progress: {
|
|
24
|
+
totalPhases: number;
|
|
25
|
+
completed: number;
|
|
26
|
+
failed: number;
|
|
27
|
+
totalTasks: number;
|
|
28
|
+
completedTasks: number;
|
|
29
|
+
failedTasks: number;
|
|
30
|
+
} | null;
|
|
31
|
+
setState: (s: {
|
|
32
|
+
phases?: PhaseItem[] | undefined;
|
|
33
|
+
activePhaseId?: string | null | undefined;
|
|
34
|
+
overallPercent?: number | undefined;
|
|
35
|
+
autonomous?: boolean | undefined;
|
|
36
|
+
title?: string | null | undefined;
|
|
37
|
+
goal?: string | null | undefined;
|
|
38
|
+
status?: AutoPhaseStatus | undefined;
|
|
39
|
+
lastEvent?: string | null | undefined;
|
|
40
|
+
lastError?: string | null | undefined;
|
|
41
|
+
graphs?: AutoPhaseBoardSummary[] | undefined;
|
|
42
|
+
progress?: AutoPhaseState['progress'] | undefined;
|
|
43
|
+
}) => void;
|
|
44
|
+
clear: () => void;
|
|
45
|
+
/** Request state from server on mount. */
|
|
46
|
+
hydrateFromServer: (send: (msg: unknown) => void) => void;
|
|
47
|
+
}
|
|
48
|
+
export declare const useAutoPhaseStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AutoPhaseState>>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=autophase-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autophase-store.d.ts","sourceRoot":"","sources":["../../src/stores/autophase-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjG,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iFAAiF;IACjF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mEAAmE;IACnE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI,CAAC;IAET,QAAQ,EAAE,CAAC,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QAC1C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QACjC,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;QACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QACtC,MAAM,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;KACnD,KAAK,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,0CAA0C;IAC1C,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,iBAAiB,6EAiD3B,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { ChatMessage } from './types.js';
|
|
2
|
+
/** Submit mode for a queued/typed message. Drives whether the message
|
|
3
|
+
* interrupts the running agent (`steer`), rides alongside without
|
|
4
|
+
* interrupting (`btw`), or is held for after the run completes (`queue`). */
|
|
5
|
+
export type QueueMode = 'btw' | 'steer' | 'queue';
|
|
6
|
+
/** One entry in the message queue — the text plus how it was added.
|
|
7
|
+
* `addedAt` powers the optional sort-by-newest toggle. */
|
|
8
|
+
export interface QueuedItem {
|
|
9
|
+
text: string;
|
|
10
|
+
mode: QueueMode;
|
|
11
|
+
addedAt: number;
|
|
12
|
+
/** Image attachments riding with the queued message. Kept as full data
|
|
13
|
+
* URLs so the drain path can rebuild the wire payload + local bubble. */
|
|
14
|
+
images?: Array<{
|
|
15
|
+
id: string;
|
|
16
|
+
dataUrl: string;
|
|
17
|
+
mediaType: string;
|
|
18
|
+
bytes: number;
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
}> | undefined;
|
|
21
|
+
}
|
|
22
|
+
interface ChatState {
|
|
23
|
+
messages: ChatMessage[];
|
|
24
|
+
currentAssistantMessageId: string | null;
|
|
25
|
+
currentToolId: string | null;
|
|
26
|
+
isLoading: boolean;
|
|
27
|
+
abortController: AbortController | null;
|
|
28
|
+
executions: Map<string, ToolExecution>;
|
|
29
|
+
toolMessageIdsByUseId: Map<string, string>;
|
|
30
|
+
/** Messages typed while the agent was running. Drained one-at-a-time
|
|
31
|
+
* after run.result lands so the user can stack up follow-ups without
|
|
32
|
+
* waiting for each turn to finish. Each item carries the submit mode
|
|
33
|
+
* so the queue panel can render the appropriate label. */
|
|
34
|
+
queue: QueuedItem[];
|
|
35
|
+
/** Snapshot taken at the start of the current run (first iteration.started
|
|
36
|
+
* after idle). Used by run.result to compute the per-turn summary —
|
|
37
|
+
* duration is now-at minus this `at`, cost delta is the difference
|
|
38
|
+
* between the session's current cost and the cost captured here. Null
|
|
39
|
+
* while idle. */
|
|
40
|
+
runStart: {
|
|
41
|
+
at: number;
|
|
42
|
+
cost: number;
|
|
43
|
+
} | null;
|
|
44
|
+
/** Transient extended-thinking buffer. Populated by provider.thinking_delta
|
|
45
|
+
* events and shown as a soft, ephemeral bubble below the chat tail while
|
|
46
|
+
* the model is reasoning. Cleared the moment the model produces user-
|
|
47
|
+
* facing output (text_delta) or starts a tool — and at provider.response /
|
|
48
|
+
* run.result. The archive buffer below is what eventually lands in
|
|
49
|
+
* `messages`; this live buffer is only for the temporary bubble. */
|
|
50
|
+
thinkingBuffer: string;
|
|
51
|
+
/** Wall-clock ms when the current thinking burst started, for the chip's
|
|
52
|
+
* elapsed timer. Reset alongside `thinkingBuffer`. */
|
|
53
|
+
thinkingStartedAt: number | null;
|
|
54
|
+
/** Full thinking text accumulated for the current iteration. Unlike the
|
|
55
|
+
* live chip buffer, this survives text/tool events until iteration end. */
|
|
56
|
+
thinkingLogBuffer: string;
|
|
57
|
+
/** Wall-clock ms when the archived thinking text for this iteration began. */
|
|
58
|
+
thinkingLogStartedAt: number | null;
|
|
59
|
+
/** Id of the session whose transcript is currently in `messages`. The
|
|
60
|
+
* verifier view compares this to the server-reported active session id
|
|
61
|
+
* on every `session.start` — a mismatch means the user switched sessions
|
|
62
|
+
* without an explicit clear, and we drop the local transcript rather
|
|
63
|
+
* than render it. Persisted alongside `messages` so the cross-session
|
|
64
|
+
* bleed check survives F5. */
|
|
65
|
+
boundSessionId: string | null;
|
|
66
|
+
addMessage: (msg: Omit<ChatMessage, 'id' | 'timestamp'> & {
|
|
67
|
+
timestamp?: number;
|
|
68
|
+
}) => string;
|
|
69
|
+
setMessages: (messages: ChatMessage[]) => void;
|
|
70
|
+
updateMessage: (id: string, updates: Partial<ChatMessage>) => void;
|
|
71
|
+
appendToMessage: (id: string, text: string) => void;
|
|
72
|
+
finalizeMessage: (id: string) => void;
|
|
73
|
+
setToolResult: (id: string, result: string, ok: boolean) => void;
|
|
74
|
+
appendToolProgress: (id: string, line: string) => void;
|
|
75
|
+
appendToolProgressLines: (id: string, lines: string[]) => void;
|
|
76
|
+
getToolMessageId: (toolUseId: string) => string | undefined;
|
|
77
|
+
setToolResultByUseId: (toolUseId: string, result: string, ok: boolean) => void;
|
|
78
|
+
appendToolProgressLinesByUseId: (toolUseId: string, lines: string[]) => void;
|
|
79
|
+
setLoading: (loading: boolean) => void;
|
|
80
|
+
setAbortController: (ctrl: AbortController | null) => void;
|
|
81
|
+
clearMessages: () => void;
|
|
82
|
+
/** Bind the current transcript to a session id. See boundSessionId above
|
|
83
|
+
* for why this is a separate action. */
|
|
84
|
+
setBoundSessionId: (id: string | null) => void;
|
|
85
|
+
setCurrentAssistantMessage: (id: string | null) => void;
|
|
86
|
+
setCurrentToolId: (id: string | null) => void;
|
|
87
|
+
truncateAfter: (id: string) => void;
|
|
88
|
+
addExecution: (exec: ToolExecution) => void;
|
|
89
|
+
updateExecution: (id: string, updates: Partial<ToolExecution>) => void;
|
|
90
|
+
enqueue: (text: string, mode?: QueueMode, images?: QueuedItem['images']) => void;
|
|
91
|
+
dequeue: () => QueuedItem | null;
|
|
92
|
+
removeQueued: (idx: number) => void;
|
|
93
|
+
clearQueue: () => void;
|
|
94
|
+
setRunStart: (s: {
|
|
95
|
+
at: number;
|
|
96
|
+
cost: number;
|
|
97
|
+
} | null) => void;
|
|
98
|
+
appendThinking: (text: string) => void;
|
|
99
|
+
clearThinking: () => void;
|
|
100
|
+
flushThinkingLog: (iteration: number) => void;
|
|
101
|
+
clearThinkingLog: () => void;
|
|
102
|
+
}
|
|
103
|
+
interface ToolExecution {
|
|
104
|
+
id: string;
|
|
105
|
+
name: string;
|
|
106
|
+
input?: unknown | undefined;
|
|
107
|
+
output?: string | undefined;
|
|
108
|
+
durationMs?: number | undefined;
|
|
109
|
+
ok: boolean;
|
|
110
|
+
startedAt: number;
|
|
111
|
+
completedAt?: number | undefined;
|
|
112
|
+
}
|
|
113
|
+
export declare const useChatStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<ChatState>, "persist" | "setState"> & {
|
|
114
|
+
setState(partial: ChatState | Partial<ChatState> | ((state: ChatState) => ChatState | Partial<ChatState>), replace?: false | undefined): unknown;
|
|
115
|
+
setState(state: ChatState | ((state: ChatState) => ChatState), replace: true): unknown;
|
|
116
|
+
persist: {
|
|
117
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<ChatState, {
|
|
118
|
+
messages: ChatState['messages'];
|
|
119
|
+
queue: ChatState['queue'];
|
|
120
|
+
boundSessionId: string | null;
|
|
121
|
+
thinkingLogBuffer: string;
|
|
122
|
+
}, unknown>>) => void;
|
|
123
|
+
clearStorage: () => void;
|
|
124
|
+
rehydrate: () => Promise<void> | void;
|
|
125
|
+
hasHydrated: () => boolean;
|
|
126
|
+
onHydrate: (fn: (state: ChatState) => void) => () => void;
|
|
127
|
+
onFinishHydration: (fn: (state: ChatState) => void) => () => void;
|
|
128
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<ChatState, {
|
|
129
|
+
messages: ChatState['messages'];
|
|
130
|
+
queue: ChatState['queue'];
|
|
131
|
+
boundSessionId: string | null;
|
|
132
|
+
thinkingLogBuffer: string;
|
|
133
|
+
}, unknown>>;
|
|
134
|
+
};
|
|
135
|
+
}>;
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=chat-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-store.d.ts","sourceRoot":"","sources":["../../src/stores/chat-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export interface ConfigState {
|
|
2
|
+
provider: string;
|
|
3
|
+
model: string;
|
|
4
|
+
baseUrl?: string | undefined;
|
|
5
|
+
apiKey?: string | undefined;
|
|
6
|
+
wsUrl: string;
|
|
7
|
+
wsConnected: boolean;
|
|
8
|
+
/** Fine-grained connection state from the WS client. Drives the topbar's
|
|
9
|
+
* reconnect indicator. */
|
|
10
|
+
wsStatus: {
|
|
11
|
+
state: 'connecting';
|
|
12
|
+
} | {
|
|
13
|
+
state: 'open';
|
|
14
|
+
} | {
|
|
15
|
+
state: 'closed';
|
|
16
|
+
error?: string | undefined;
|
|
17
|
+
} | {
|
|
18
|
+
state: 'reconnecting';
|
|
19
|
+
attempt: number;
|
|
20
|
+
nextRetryAt: number;
|
|
21
|
+
lastError?: string | undefined;
|
|
22
|
+
};
|
|
23
|
+
theme: 'light' | 'dark' | 'system';
|
|
24
|
+
autoConnect: boolean;
|
|
25
|
+
/** Play a soft synthesized chime when run.result lands with status=done.
|
|
26
|
+
* Off by default — opt-in via the Command Palette. Persisted so the
|
|
27
|
+
* preference survives reloads. Actual playback only fires after the
|
|
28
|
+
* user has interacted with the page (Web Audio autoplay policy). */
|
|
29
|
+
soundOnComplete: boolean;
|
|
30
|
+
setProvider: (provider: string) => void;
|
|
31
|
+
setModel: (model: string) => void;
|
|
32
|
+
setConfig: (config: Partial<Omit<ConfigState, 'setProvider' | 'setModel' | 'setConfig' | 'setTheme'>>) => void;
|
|
33
|
+
setTheme: (theme: 'light' | 'dark' | 'system') => void;
|
|
34
|
+
setWsConnected: (connected: boolean) => void;
|
|
35
|
+
setWsStatus: (s: ConfigState['wsStatus']) => void;
|
|
36
|
+
setSoundOnComplete: (on: boolean) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare const useConfigStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<ConfigState>, "persist" | "setState"> & {
|
|
39
|
+
setState(partial: ConfigState | Partial<ConfigState> | ((state: ConfigState) => ConfigState | Partial<ConfigState>), replace?: false | undefined): unknown;
|
|
40
|
+
setState(state: ConfigState | ((state: ConfigState) => ConfigState), replace: true): unknown;
|
|
41
|
+
persist: {
|
|
42
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<ConfigState, {
|
|
43
|
+
provider: string;
|
|
44
|
+
model: string;
|
|
45
|
+
baseUrl: string | undefined;
|
|
46
|
+
apiKey: string | undefined;
|
|
47
|
+
theme: "dark" | "light" | "system";
|
|
48
|
+
autoConnect: boolean;
|
|
49
|
+
soundOnComplete: boolean;
|
|
50
|
+
}, unknown>>) => void;
|
|
51
|
+
clearStorage: () => void;
|
|
52
|
+
rehydrate: () => Promise<void> | void;
|
|
53
|
+
hasHydrated: () => boolean;
|
|
54
|
+
onHydrate: (fn: (state: ConfigState) => void) => () => void;
|
|
55
|
+
onFinishHydration: (fn: (state: ConfigState) => void) => () => void;
|
|
56
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<ConfigState, {
|
|
57
|
+
provider: string;
|
|
58
|
+
model: string;
|
|
59
|
+
baseUrl: string | undefined;
|
|
60
|
+
apiKey: string | undefined;
|
|
61
|
+
theme: "dark" | "light" | "system";
|
|
62
|
+
autoConnect: boolean;
|
|
63
|
+
soundOnComplete: boolean;
|
|
64
|
+
}, unknown>>;
|
|
65
|
+
};
|
|
66
|
+
}>;
|
|
67
|
+
//# sourceMappingURL=config-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/stores/config-store.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB;+BAC2B;IAC3B,QAAQ,EACJ;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,GACvB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACjB;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAC/C;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACpG,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB;;;yEAGqE;IACrE,eAAe,EAAE,OAAO,CAAC;IAEzB,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,CACT,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,KACtF,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAClD,kBAAkB,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1B,CAAC"}
|