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