@wrongstack/webui 0.296.3 → 0.297.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.map +1 -1
- package/dist/assets/{AgentRosterView-Bnfjs7SR.js → AgentRosterView-Cje2NBtU.js} +4 -4
- package/dist/assets/AnalyticsDashboard-CkceglT6.js +1 -0
- package/dist/assets/{AudienceMemoryPanel-BCXl0qMA.js → AudienceMemoryPanel-DB-8ISNP.js} +2 -2
- package/dist/assets/{ChangesView-CngAYbT4.js → ChangesView-DouwIaDk.js} +1 -1
- package/dist/assets/ChronicleDashboard-B4Khm6hu.js +1 -0
- package/dist/assets/CodeEditor-CrKbA5s8.js +1 -0
- package/dist/assets/CodeMap-Dz8yNlUe.js +1 -0
- package/dist/assets/{CronJobsPanel-CUjKpoEA.js → CronJobsPanel-CAImDL8t.js} +1 -1
- package/dist/assets/{DeadCodeScanPanel-DHsw8Nn4.js → DeadCodeScanPanel-C5ehBTQF.js} +1 -1
- package/dist/assets/DebugDashboard-DLNPZIEI.js +1 -0
- package/dist/assets/{DesignGalleryView-DDOG2RxE.js → DesignGalleryView-D0azMq2e.js} +1 -1
- package/dist/assets/GoalView-gtQRK78W.js +1 -0
- package/dist/assets/KanbanView-BXKe19EI.js +3 -0
- package/dist/assets/{LazyMarkdown-CaNUh8CL.js → LazyMarkdown-BGwFjYKr.js} +3 -3
- package/dist/assets/MailboxDetailView-D4fXipos.js +1 -0
- package/dist/assets/MemoryManager-D_rquas9.js +1 -0
- package/dist/assets/{ModelPicker-D5XBxW8U.js → ModelPicker-CN-UD3lc.js} +1 -1
- package/dist/assets/OfficeMapPanel-CJFrTNmg.js +4 -0
- package/dist/assets/{ProcessMonitor-DJaaQP3Q.js → ProcessMonitor-ButM8C0T.js} +1 -1
- package/dist/assets/{QueuePanel-DBQkV_Ka.js → QueuePanel-C5oihwYM.js} +1 -1
- package/dist/assets/{RefreshDebugView-BL9PikWZ.js → RefreshDebugView-DVvWsh9A.js} +1 -1
- package/dist/assets/{SageTabs-CPyvLW73.js → SageTabs-C9vAgvCD.js} +2 -2
- package/dist/assets/SddHub-D_nsWjuM.js +2 -0
- package/dist/assets/SessionsDashboard-DdwU3Ma5.js +1 -0
- package/dist/assets/SetupScreen-CQCfLdPI.js +1 -0
- package/dist/assets/SkillDetailView-mVxi-9jo.js +3 -0
- package/dist/assets/{SpecsView-T1qjfodF.js → SpecsView-BJs_okSx.js} +1 -1
- package/dist/assets/TechStackView-BZ4M7TYc.js +1 -0
- package/dist/assets/{TerminalPanel-yTWOVqll.js → TerminalPanel-W2V0X7b9.js} +1 -1
- package/dist/assets/{Toaster-D5WTIK_V.js → Toaster-CbcX_Cou.js} +1 -1
- package/dist/assets/{button-Bmh1yFe5.js → button-uGqXvobk.js} +1 -1
- package/dist/assets/chat-store-CM1dMeuY.js +17 -0
- package/dist/assets/{codemap-activity-store-CkJTt5go.js → codemap-activity-store-DP3mCZu1.js} +1 -1
- package/dist/assets/codemap-index-store-DyAe3ZYJ.js +1 -0
- package/dist/assets/{dialog-BLr7olIX.js → dialog-CT1PTjzK.js} +1 -1
- package/dist/assets/{empty-state-DoEewhfx.js → empty-state-CdyXy96A.js} +1 -1
- package/dist/assets/{i18n-D-JnOQZX.js → i18n-1BkaqMgr.js} +2 -2
- package/dist/assets/index-BPfIz78e.js +131 -0
- package/dist/assets/index-BlceaIyu.css +1 -0
- package/dist/assets/{input-BRS2rHSR.js → input-B-VCX2sG.js} +1 -1
- package/dist/assets/{mailbox-store-BN2cGkN_.js → mailbox-store-DVoNbOZr.js} +1 -1
- package/dist/assets/{progress-ring-DZ7API6e.js → progress-ring-CFOvGxw7.js} +1 -1
- package/dist/assets/{roster-ws-CVCrt_ih.js → roster-ws-DXm0krqH.js} +1 -1
- package/dist/assets/session-store-BsNYnfOc.js +1 -0
- package/dist/assets/settings-C5F2tQ7C.js +1 -0
- package/dist/assets/settings-Cdk8i_p6.js +1 -0
- package/dist/assets/settings-D6wFOw5n.js +1 -0
- package/dist/assets/settings-DCEOkxYE.js +1 -0
- package/dist/assets/settings-DEmKlLmn.js +1 -0
- package/dist/assets/settings-DsflqNn0.js +1 -0
- package/dist/assets/settings-skShEZ2B.js +1 -0
- package/dist/assets/{shared-DYL4K3aB.js → shared-jvJxtKc5.js} +1 -1
- package/dist/assets/{stores-hEu6z1qz.js → stores-mpa0202y.js} +1 -1
- package/dist/assets/{ui-store-BI3LH2q8.js → ui-store-CS-njcmT.js} +1 -1
- package/dist/assets/useWebSocket-Dh3aAFDE.js +28 -0
- package/dist/assets/{utils-DzRQUvln.js → utils-CN2sfDVP.js} +1 -1
- package/dist/assets/{vendor-9hC4n4Me.js → vendor-2VBBgNb5.js} +27 -27
- package/dist/assets/{view-navigation-BSA3_knE.js → view-navigation-Cgy5xh9q.js} +1 -1
- package/dist/assets/ws-client-WVGn8ORh.js +1 -0
- package/dist/components/AgentOfficeDetails.d.ts.map +1 -1
- package/dist/components/AgentOfficeView.d.ts.map +1 -1
- package/dist/components/AgentRosterView.d.ts.map +1 -1
- package/dist/components/AnalyticsDashboard.d.ts.map +1 -1
- package/dist/components/CodeMap.d.ts.map +1 -1
- package/dist/components/DeadCodeScanPanel/DeadCodeScanPanel.d.ts.map +1 -1
- package/dist/components/DebugDashboard.d.ts.map +1 -1
- package/dist/components/OfficeMapCanvas/CanvasPanels.d.ts.map +1 -1
- package/dist/components/OfficeMapCanvas.d.ts.map +1 -1
- package/dist/components/SetupScreen/ProviderKeyCard.d.ts.map +1 -1
- package/dist/components/SetupScreen.d.ts.map +1 -1
- package/dist/components/UpdateBanner.d.ts +8 -0
- package/dist/components/UpdateBanner.d.ts.map +1 -0
- package/dist/components/context-editor/ContextWindowEditor.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/chat-handlers.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +2 -1
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/session-handlers.d.ts.map +1 -1
- package/dist/index.html +22 -22
- package/dist/index.js +9253 -8915
- package/dist/index.js.map +4 -4
- package/dist/lib/ws-client.d.ts.map +1 -1
- package/dist/stores/chat-store.d.ts +17 -1
- package/dist/stores/chat-store.d.ts.map +1 -1
- package/dist/stores/session-store.d.ts +11 -0
- package/dist/stores/session-store.d.ts.map +1 -1
- package/dist/types/server-message.d.ts +9 -0
- package/dist/types/server-message.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/assets/AnalyticsDashboard-Df_4y-Kx.js +0 -1
- package/dist/assets/ChronicleDashboard-BTnRluuW.js +0 -1
- package/dist/assets/CodeEditor-Bb8Oyrho.js +0 -1
- package/dist/assets/CodeMap-BOhBy8OQ.js +0 -1
- package/dist/assets/DebugDashboard-CF9tnDg7.js +0 -1
- package/dist/assets/GoalView-CAckYUC5.js +0 -1
- package/dist/assets/KanbanView-BMzDV1-z.js +0 -3
- package/dist/assets/MailboxDetailView-DQUJsig8.js +0 -1
- package/dist/assets/MemoryManager-JTZWsb0i.js +0 -1
- package/dist/assets/OfficeMapPanel-C6S89GWN.js +0 -4
- package/dist/assets/SddHub-CLFzMwKX.js +0 -2
- package/dist/assets/SessionsDashboard-B1lpqE1X.js +0 -1
- package/dist/assets/SetupScreen-M95bQ1A6.js +0 -1
- package/dist/assets/SkillDetailView-CeA6lnQh.js +0 -3
- package/dist/assets/TechStackView-ByuNsOIe.js +0 -1
- package/dist/assets/chat-store-DaSs2P3S.js +0 -13
- package/dist/assets/codemap-index-store-8v-MK2XF.js +0 -1
- package/dist/assets/index-B_lRId11.css +0 -1
- package/dist/assets/index-WvJRbCoi.js +0 -131
- package/dist/assets/session-store-w5G2euPs.js +0 -1
- package/dist/assets/settings-BHVrMeiB.js +0 -1
- package/dist/assets/settings-BNkUdI3D.js +0 -1
- package/dist/assets/settings-ByapDpso.js +0 -1
- package/dist/assets/settings-DDjoc06u.js +0 -1
- package/dist/assets/settings-DgZ3cEL3.js +0 -1
- package/dist/assets/settings-iiGjrvpU.js +0 -1
- package/dist/assets/settings-oGMBWYjV.js +0 -1
- package/dist/assets/useWebSocket-DAm5zYOB.js +0 -28
- package/dist/assets/ws-client-eyEv8wbm.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ha as e,ma as t}from"./vendor-9hC4n4Me.js";var n=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],r=[{code:`en`,name:`English`},{code:`tr`,name:`Türkçe`},{code:`de`,name:`Deutsch`},{code:`fr`,name:`Français`},{code:`it`,name:`Italiano`},{code:`es`,name:`Español`},{code:`pt-BR`,name:`Português (Brasil)`}],i=new Set(n);function a(){return typeof navigator>`u`||!navigator.language?`en`:s(navigator.language)}function o(e){return!e||typeof e!=`string`?a():s(e)}function s(e){let t=e.trim().toLowerCase();if(!t)return`en`;if(i.has(t))return t;let n=t.split(`-`)[0];return n&&i.has(n)?n:n===`pt`?`pt-BR`:`en`}var c={autonomy:`auto`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!0,maxIterations:500,chime:!1,confirmExit:!0,fleetChatVerbosity:`off`,nextPrediction:!1,fallbackModels:[],fallbackProfiles:{},favoriteModels:[],favoriteModelsOnly:!1,modelMatrix:{},fallbackAuto:!0,modelAvailabilitySchedule:[],featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceCountdownMs:3e3,enhanceLanguage:`original`,refinerProvider:``,refinerModel:``,refinerFallbackProfile:``,thinkingWord:`thinking`,statuslineMode:`detailed`,animationStyle:`rainbow`,showThinkingLogs:!0,groupToolCalls:!0,showModelReasoning:!0,showAgentSwarmPanel:!1,allowOutsideProjectRoot:!0,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,breakerEnabled:!1,breakerAutoKillResetMs:6e4,fsAccess:`unrestricted`,debugStream:!1,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4,uiLocale:a(),chimeraAutoFix:`off`,chimeraEnabled:!0,chimeraProvider:``,chimeraModel:``,chimeraMaxFiles:15,autoReviewEnabled:!1,autoReviewProvider:``,autoReviewModel:``,autoReviewFallbackProfile:``,autoReviewFallbackModels:[],autoReviewDebounceMs:15e3,autoReviewMaxFilesPerBatch:15,autoReviewMaxConcurrentReviews:2,autoReviewCascadeOn:`off`,pluginsEnabled:{}},l=e()(t(e=>({...c,set:t=>e(t),reset:()=>e(c)}),{name:`wrongstack-local-prefs`,version:12,migrate:(e,t)=>{let n=e??{};return t<12&&n.autoReviewDebounceMs===5e3&&(n.autoReviewDebounceMs=15e3),typeof n.fleetChatVerbosity!=`string`&&(n.streamFleet===!0?n.fleetChatVerbosity=`full`:(n.streamFleet,n.fleetChatVerbosity=`off`),delete n.streamFleet),n.fleetChatVerbosity!==`off`&&n.fleetChatVerbosity!==`full`&&(n.fleetChatVerbosity=`off`),[`hybrid`,`intelligent`,`selective`].includes(n.contextStrategy)||(n.contextStrategy=`hybrid`),n.auditLevel===`verbose`&&(n.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(n.auditLevel)||(n.auditLevel=`standard`),typeof n.autoProceedMaxIterations!=`number`&&(n.autoProceedMaxIterations=50),(!n.fallbackProfiles||typeof n.fallbackProfiles!=`object`||Array.isArray(n.fallbackProfiles))&&(n.fallbackProfiles={}),Array.isArray(n.favoriteModels)||(n.favoriteModels=[]),typeof n.favoriteModelsOnly!=`boolean`&&(n.favoriteModelsOnly=!1),Array.isArray(n.modelAvailabilitySchedule)||(n.modelAvailabilitySchedule=[]),(!n.modelMatrix||typeof n.modelMatrix!=`object`||Array.isArray(n.modelMatrix))&&(n.modelMatrix={}),(typeof n.uiLocale!=`string`||!n.uiLocale)&&(n.uiLocale=a()),typeof n.breakerEnabled!=`boolean`&&(n.breakerEnabled=!1),typeof n.breakerAutoKillResetMs!=`number`&&(n.breakerAutoKillResetMs=6e4),n.fsAccess!==`unrestricted`&&n.fsAccess!==`project`&&(n.fsAccess=`unrestricted`),typeof n.debugStream!=`boolean`&&(n.debugStream=!1),typeof n.chimeraEnabled!=`boolean`&&(n.chimeraEnabled=!0),typeof n.chimeraProvider!=`string`&&(n.chimeraProvider=``),typeof n.chimeraModel!=`string`&&(n.chimeraModel=``),n.chimeraAutoFix!==`off`&&n.chimeraAutoFix!==`ask`&&n.chimeraAutoFix!==`auto`&&(n.chimeraAutoFix=`off`),(typeof n.chimeraMaxFiles!=`number`||!Number.isFinite(n.chimeraMaxFiles)||n.chimeraMaxFiles<1)&&(n.chimeraMaxFiles=15),typeof n.autoReviewEnabled!=`boolean`&&(n.autoReviewEnabled=!1),typeof n.autoReviewProvider!=`string`&&(n.autoReviewProvider=``),typeof n.autoReviewModel!=`string`&&(n.autoReviewModel=``),typeof n.autoReviewFallbackProfile!=`string`&&(n.autoReviewFallbackProfile=``),Array.isArray(n.autoReviewFallbackModels)||(n.autoReviewFallbackModels=[]),(typeof n.autoReviewDebounceMs!=`number`||!Number.isFinite(n.autoReviewDebounceMs)||n.autoReviewDebounceMs<0)&&(n.autoReviewDebounceMs=15e3),(typeof n.autoReviewMaxFilesPerBatch!=`number`||!Number.isFinite(n.autoReviewMaxFilesPerBatch)||n.autoReviewMaxFilesPerBatch<1)&&(n.autoReviewMaxFilesPerBatch=15),(typeof n.autoReviewMaxConcurrentReviews!=`number`||!Number.isFinite(n.autoReviewMaxConcurrentReviews)||n.autoReviewMaxConcurrentReviews<1)&&(n.autoReviewMaxConcurrentReviews=2),n.autoReviewCascadeOn!==`off`&&n.autoReviewCascadeOn!==`critical`&&n.autoReviewCascadeOn!==`high`&&(n.autoReviewCascadeOn=`off`),typeof n.showModelReasoning!=`boolean`&&(n.showModelReasoning=!0),typeof n.showAgentSwarmPanel!=`boolean`&&(n.showAgentSwarmPanel=!1),typeof n.allowOutsideProjectRoot!=`boolean`&&(n.allowOutsideProjectRoot=!0),n}})),u=[`chat`,`agents`,`files`,`changes`,`mailbox`,`skills`,`design`,`worktrees`,`officemap`];function d(e){return u.includes(e)?e:e===`context`||e===`history`||e===`sessions`||e===`projects`?`chat`:e===`officemap`?`officemap`:`chat`}var f=[`chat`,`settings`,`memory`,`roster`,`context`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`officemap`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`,`codemap`,`techstack`,`deadcode`,`chronicle`];function p(e){return f.includes(e)?e:`chat`}var m=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function h(e){return e==null||!m.includes(e)?null:e}var g=[`general`,`provider`,`connection`,`agent`,`execution`,`fallbacks`,`routing`,`fleet`,`integrations`,`chimera`,`context`,`logs`,`security`];function _(e){return g.includes(e)?e:`general`}function v(){if(typeof window>`u`)return!1;if(window.wrongstackDesktopHost)return!0;try{return new URLSearchParams(window.location.search).get(`shell`)===`desktop`}catch{return!1}}function y(e={}){return{currentView:`chat`,activeActivity:`chat`,sidebarOpen:e.sidebarOpen??!1,dockSection:null,dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,sideContextBreakdownOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,terminalOpen:!1,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,modelSwitcherOpen:!1,promptLibraryOpen:!1,selectedMailMessage:null,refinePanel:null}}var b=e()(t(e=>({sidebarOpen:!0,activeActivity:`chat`,settingsOpen:!1,currentView:`chat`,showConfirmDialog:!1,confirmInfo:null,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,scrollTarget:null,promptHistory:[],sidebarWidth:304,pinnedIds:[],compactMode:!1,modelSwitcherOpen:!1,favoriteSessionIds:[],sessionNicknames:{},fileExplorerWidth:220,refineEnabled:!0,refinePanel:null,promptLibraryOpen:!1,promptInsertRequest:null,dockSection:null,workDashboardTab:`todos`,hiddenChips:[],dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,terminalOpen:!1,terminalCreateNonce:0,settingsActiveTab:`general`,scrollPositions:{},draftInput:``,sideContextBreakdownOpen:!1,selectedMailMessage:null,skillsState:{selectedSkill:null,navHistory:[],historyIndex:-1,detailOpen:!1,knownRefs:{},updateAvailableCount:0},selectActivity:t=>e({activeActivity:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),setSettingsOpen:t=>e({settingsOpen:t}),setCurrentView:t=>e({currentView:p(t)}),showConfirm:t=>e({showConfirmDialog:!0,confirmInfo:t}),hideConfirm:()=>e({showConfirmDialog:!1,confirmInfo:null}),setPaletteOpen:t=>e({paletteOpen:t}),setShortcutsOpen:t=>e({shortcutsOpen:t}),setSearchOpen:t=>e({searchOpen:t,searchQuery:``,searchActiveMessageId:null}),setSearchQuery:t=>e({searchQuery:t}),setSearchActiveMessageId:t=>e({searchActiveMessageId:t}),requestScrollToMessage:t=>e(e=>({scrollTarget:{id:t,nonce:(e.scrollTarget?.nonce??0)+1}})),pushPrompt:t=>e(e=>{let n=t.trim();return n?{promptHistory:[n,...e.promptHistory.filter(e=>e!==n)].slice(0,50)}:e}),setSidebarWidth:t=>e({sidebarWidth:Math.max(240,Math.min(560,Math.round(t)))}),togglePin:t=>e(e=>({pinnedIds:e.pinnedIds.includes(t)?e.pinnedIds.filter(e=>e!==t):[...e.pinnedIds,t]})),unpinAll:()=>e({pinnedIds:[]}),toggleCompactMode:()=>e(e=>({compactMode:!e.compactMode})),setModelSwitcherOpen:t=>e({modelSwitcherOpen:t}),toggleFavoriteSession:t=>e(e=>({favoriteSessionIds:e.favoriteSessionIds.includes(t)?e.favoriteSessionIds.filter(e=>e!==t):[...e.favoriteSessionIds,t]})),setSessionNickname:(t,n)=>e(e=>{let r=n.trim(),i={...e.sessionNicknames};return r?i[t]=r:delete i[t],{sessionNicknames:i}}),setFileExplorerWidth:t=>e({fileExplorerWidth:Math.max(160,Math.min(400,Math.round(t)))}),toggleRefineEnabled:()=>e(e=>({refineEnabled:!e.refineEnabled})),setRefinePanel:t=>e({refinePanel:t}),setPromptLibraryOpen:t=>e({promptLibraryOpen:t}),requestPromptInsert:t=>e({promptInsertRequest:t,promptLibraryOpen:!1}),clearPromptInsert:()=>e({promptInsertRequest:null}),setDockSection:t=>e({dockSection:t,...t?{inspectorOpen:!1}:{}}),setWorkDashboardTab:t=>e({workDashboardTab:t}),toggleDockSection:t=>e(e=>{let n=e.dockSection===t?null:t;return{dockSection:n,...n?{inspectorOpen:!1}:{}}}),toggleChipHidden:t=>e(e=>{let n=e.hiddenChips.includes(t);return{hiddenChips:n?e.hiddenChips.filter(e=>e!==t):[...e.hiddenChips,t],dockSection:!n&&e.dockSection===t?null:e.dockSection}}),showDockChip:t=>e(e=>({hiddenChips:e.hiddenChips.filter(e=>e!==t)})),setDockCustomizeOpen:t=>e({dockCustomizeOpen:t}),setFleetMonitorOpen:t=>e(e=>({fleetMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`fleet`&&e.inspectorOpen,inspectorTab:t?`fleet`:e.inspectorTab,...t?{dockSection:null}:{}})),setAgentsMonitorOpen:t=>e(e=>({agentsMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`agents`&&e.inspectorOpen,inspectorTab:t?`agents`:e.inspectorTab,...t?{dockSection:null}:{}})),setInspectorOpen:t=>e({inspectorOpen:t,...t?{dockSection:null}:{}}),setInspectorTab:t=>e({inspectorTab:t}),setInspectorFocusedAgentId:t=>e({inspectorFocusedAgentId:t}),toggleInspector:()=>e(e=>({inspectorOpen:!e.inspectorOpen,...e.inspectorOpen?{}:{dockSection:null}})),setProcessMonitorOpen:t=>e({processMonitorOpen:t}),setQueuePanelOpen:t=>e({queuePanelOpen:t}),setCronJobsOpen:t=>e({cronJobsOpen:t}),setTerminalOpen:t=>e({terminalOpen:t}),toggleTerminal:()=>e(e=>({terminalOpen:!e.terminalOpen})),requestTerminalCreate:()=>e(e=>({terminalCreateNonce:e.terminalCreateNonce+1})),setSettingsActiveTab:t=>e({settingsActiveTab:_(t)}),setScrollPosition:(t,n)=>e(e=>({scrollPositions:{...e.scrollPositions,[t]:n}})),setDraftInput:t=>e({draftInput:t}),setSideContextBreakdownOpen:t=>e({sideContextBreakdownOpen:t}),setSkillsState:t=>e({skillsState:t}),setSelectedMailMessage:t=>e({selectedMailMessage:t})}),{name:`wrongstack-ui`,version:5,migrate:(e,t)=>{let n=e??{};return n.activeActivity=d(n.activeActivity),typeof n.sidebarWidth==`number`&&(n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth))),t<2&&(delete n.fleetDrawerOpen,delete n.agentsDrawerOpen),`currentView`in n&&(n.currentView=p(n.currentView)),`dockSection`in n&&(n.dockSection=h(n.dockSection)),`settingsActiveTab`in n&&(n.settingsActiveTab=_(n.settingsActiveTab)),n},merge:(e,t)=>{let n={...t,...e??{}};return n.activeActivity=d(n.activeActivity),n.currentView=p(n.currentView),n.dockSection=h(n.dockSection),n.settingsActiveTab=_(n.settingsActiveTab),n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth)),v()?{...n,...y({sidebarOpen:!1})}:n},partialize:e=>({sidebarOpen:e.sidebarOpen,activeActivity:e.activeActivity,sidebarWidth:e.sidebarWidth,promptHistory:e.promptHistory,pinnedIds:e.pinnedIds,compactMode:e.compactMode,favoriteSessionIds:e.favoriteSessionIds,sessionNicknames:e.sessionNicknames,fileExplorerWidth:e.fileExplorerWidth,refineEnabled:e.refineEnabled,hiddenChips:e.hiddenChips,workDashboardTab:e.workDashboardTab,inspectorOpen:e.inspectorOpen,inspectorTab:e.inspectorTab,skillsState:e.skillsState,currentView:e.currentView,dockSection:e.dockSection,settingsActiveTab:e.settingsActiveTab,scrollPositions:e.scrollPositions,draftInput:e.draftInput})}));function x(e={}){b.setState(y(e))}export{n as a,r as i,b as n,o,l as r,x as t};
|
|
1
|
+
import{ga as e,ha as t}from"./vendor-2VBBgNb5.js";var n=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],r=[{code:`en`,name:`English`},{code:`tr`,name:`Türkçe`},{code:`de`,name:`Deutsch`},{code:`fr`,name:`Français`},{code:`it`,name:`Italiano`},{code:`es`,name:`Español`},{code:`pt-BR`,name:`Português (Brasil)`}],i=new Set(n);function a(){return typeof navigator>`u`||!navigator.language?`en`:s(navigator.language)}function o(e){return!e||typeof e!=`string`?a():s(e)}function s(e){let t=e.trim().toLowerCase();if(!t)return`en`;if(i.has(t))return t;let n=t.split(`-`)[0];return n&&i.has(n)?n:n===`pt`?`pt-BR`:`en`}var c={autonomy:`auto`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!0,maxIterations:500,chime:!1,confirmExit:!0,fleetChatVerbosity:`off`,nextPrediction:!1,fallbackModels:[],fallbackProfiles:{},favoriteModels:[],favoriteModelsOnly:!1,modelMatrix:{},fallbackAuto:!0,modelAvailabilitySchedule:[],featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceCountdownMs:3e3,enhanceLanguage:`original`,refinerProvider:``,refinerModel:``,refinerFallbackProfile:``,thinkingWord:`thinking`,statuslineMode:`detailed`,animationStyle:`rainbow`,showThinkingLogs:!0,groupToolCalls:!0,showModelReasoning:!0,showAgentSwarmPanel:!1,allowOutsideProjectRoot:!0,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,breakerEnabled:!1,breakerAutoKillResetMs:6e4,fsAccess:`unrestricted`,debugStream:!1,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4,uiLocale:a(),chimeraAutoFix:`off`,chimeraEnabled:!0,chimeraProvider:``,chimeraModel:``,chimeraMaxFiles:15,autoReviewEnabled:!1,autoReviewProvider:``,autoReviewModel:``,autoReviewFallbackProfile:``,autoReviewFallbackModels:[],autoReviewDebounceMs:15e3,autoReviewMaxFilesPerBatch:15,autoReviewMaxConcurrentReviews:2,autoReviewCascadeOn:`off`,pluginsEnabled:{}},l=e()(t(e=>({...c,set:t=>e(t),reset:()=>e(c)}),{name:`wrongstack-local-prefs`,version:12,migrate:(e,t)=>{let n=e??{};return t<12&&n.autoReviewDebounceMs===5e3&&(n.autoReviewDebounceMs=15e3),typeof n.fleetChatVerbosity!=`string`&&(n.streamFleet===!0?n.fleetChatVerbosity=`full`:(n.streamFleet,n.fleetChatVerbosity=`off`),delete n.streamFleet),n.fleetChatVerbosity!==`off`&&n.fleetChatVerbosity!==`full`&&(n.fleetChatVerbosity=`off`),[`hybrid`,`intelligent`,`selective`].includes(n.contextStrategy)||(n.contextStrategy=`hybrid`),n.auditLevel===`verbose`&&(n.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(n.auditLevel)||(n.auditLevel=`standard`),typeof n.autoProceedMaxIterations!=`number`&&(n.autoProceedMaxIterations=50),(!n.fallbackProfiles||typeof n.fallbackProfiles!=`object`||Array.isArray(n.fallbackProfiles))&&(n.fallbackProfiles={}),Array.isArray(n.favoriteModels)||(n.favoriteModels=[]),typeof n.favoriteModelsOnly!=`boolean`&&(n.favoriteModelsOnly=!1),Array.isArray(n.modelAvailabilitySchedule)||(n.modelAvailabilitySchedule=[]),(!n.modelMatrix||typeof n.modelMatrix!=`object`||Array.isArray(n.modelMatrix))&&(n.modelMatrix={}),(typeof n.uiLocale!=`string`||!n.uiLocale)&&(n.uiLocale=a()),typeof n.breakerEnabled!=`boolean`&&(n.breakerEnabled=!1),typeof n.breakerAutoKillResetMs!=`number`&&(n.breakerAutoKillResetMs=6e4),n.fsAccess!==`unrestricted`&&n.fsAccess!==`project`&&(n.fsAccess=`unrestricted`),typeof n.debugStream!=`boolean`&&(n.debugStream=!1),typeof n.chimeraEnabled!=`boolean`&&(n.chimeraEnabled=!0),typeof n.chimeraProvider!=`string`&&(n.chimeraProvider=``),typeof n.chimeraModel!=`string`&&(n.chimeraModel=``),n.chimeraAutoFix!==`off`&&n.chimeraAutoFix!==`ask`&&n.chimeraAutoFix!==`auto`&&(n.chimeraAutoFix=`off`),(typeof n.chimeraMaxFiles!=`number`||!Number.isFinite(n.chimeraMaxFiles)||n.chimeraMaxFiles<1)&&(n.chimeraMaxFiles=15),typeof n.autoReviewEnabled!=`boolean`&&(n.autoReviewEnabled=!1),typeof n.autoReviewProvider!=`string`&&(n.autoReviewProvider=``),typeof n.autoReviewModel!=`string`&&(n.autoReviewModel=``),typeof n.autoReviewFallbackProfile!=`string`&&(n.autoReviewFallbackProfile=``),Array.isArray(n.autoReviewFallbackModels)||(n.autoReviewFallbackModels=[]),(typeof n.autoReviewDebounceMs!=`number`||!Number.isFinite(n.autoReviewDebounceMs)||n.autoReviewDebounceMs<0)&&(n.autoReviewDebounceMs=15e3),(typeof n.autoReviewMaxFilesPerBatch!=`number`||!Number.isFinite(n.autoReviewMaxFilesPerBatch)||n.autoReviewMaxFilesPerBatch<1)&&(n.autoReviewMaxFilesPerBatch=15),(typeof n.autoReviewMaxConcurrentReviews!=`number`||!Number.isFinite(n.autoReviewMaxConcurrentReviews)||n.autoReviewMaxConcurrentReviews<1)&&(n.autoReviewMaxConcurrentReviews=2),n.autoReviewCascadeOn!==`off`&&n.autoReviewCascadeOn!==`critical`&&n.autoReviewCascadeOn!==`high`&&(n.autoReviewCascadeOn=`off`),typeof n.showModelReasoning!=`boolean`&&(n.showModelReasoning=!0),typeof n.showAgentSwarmPanel!=`boolean`&&(n.showAgentSwarmPanel=!1),typeof n.allowOutsideProjectRoot!=`boolean`&&(n.allowOutsideProjectRoot=!0),n}})),u=[`chat`,`agents`,`files`,`changes`,`mailbox`,`skills`,`design`,`worktrees`,`officemap`];function d(e){return u.includes(e)?e:e===`context`||e===`history`||e===`sessions`||e===`projects`?`chat`:e===`officemap`?`officemap`:`chat`}var f=[`chat`,`settings`,`memory`,`roster`,`context`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`officemap`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`,`codemap`,`techstack`,`deadcode`,`chronicle`];function p(e){return f.includes(e)?e:`chat`}var m=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function h(e){return e==null||!m.includes(e)?null:e}var g=[`general`,`provider`,`connection`,`agent`,`execution`,`fallbacks`,`routing`,`fleet`,`integrations`,`chimera`,`context`,`logs`,`security`];function _(e){return g.includes(e)?e:`general`}function v(){if(typeof window>`u`)return!1;if(window.wrongstackDesktopHost)return!0;try{return new URLSearchParams(window.location.search).get(`shell`)===`desktop`}catch{return!1}}function y(e={}){return{currentView:`chat`,activeActivity:`chat`,sidebarOpen:e.sidebarOpen??!1,dockSection:null,dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,sideContextBreakdownOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,terminalOpen:!1,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,modelSwitcherOpen:!1,promptLibraryOpen:!1,selectedMailMessage:null,refinePanel:null}}var b=e()(t(e=>({sidebarOpen:!0,activeActivity:`chat`,settingsOpen:!1,currentView:`chat`,showConfirmDialog:!1,confirmInfo:null,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,scrollTarget:null,promptHistory:[],sidebarWidth:304,pinnedIds:[],compactMode:!1,modelSwitcherOpen:!1,favoriteSessionIds:[],sessionNicknames:{},fileExplorerWidth:220,refineEnabled:!0,refinePanel:null,promptLibraryOpen:!1,promptInsertRequest:null,dockSection:null,workDashboardTab:`todos`,hiddenChips:[],dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,terminalOpen:!1,terminalCreateNonce:0,settingsActiveTab:`general`,scrollPositions:{},draftInput:``,sideContextBreakdownOpen:!1,selectedMailMessage:null,skillsState:{selectedSkill:null,navHistory:[],historyIndex:-1,detailOpen:!1,knownRefs:{},updateAvailableCount:0},selectActivity:t=>e({activeActivity:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),setSettingsOpen:t=>e({settingsOpen:t}),setCurrentView:t=>e({currentView:p(t)}),showConfirm:t=>e({showConfirmDialog:!0,confirmInfo:t}),hideConfirm:()=>e({showConfirmDialog:!1,confirmInfo:null}),setPaletteOpen:t=>e({paletteOpen:t}),setShortcutsOpen:t=>e({shortcutsOpen:t}),setSearchOpen:t=>e({searchOpen:t,searchQuery:``,searchActiveMessageId:null}),setSearchQuery:t=>e({searchQuery:t}),setSearchActiveMessageId:t=>e({searchActiveMessageId:t}),requestScrollToMessage:t=>e(e=>({scrollTarget:{id:t,nonce:(e.scrollTarget?.nonce??0)+1}})),pushPrompt:t=>e(e=>{let n=t.trim();return n?{promptHistory:[n,...e.promptHistory.filter(e=>e!==n)].slice(0,50)}:e}),setSidebarWidth:t=>e({sidebarWidth:Math.max(240,Math.min(560,Math.round(t)))}),togglePin:t=>e(e=>({pinnedIds:e.pinnedIds.includes(t)?e.pinnedIds.filter(e=>e!==t):[...e.pinnedIds,t]})),unpinAll:()=>e({pinnedIds:[]}),toggleCompactMode:()=>e(e=>({compactMode:!e.compactMode})),setModelSwitcherOpen:t=>e({modelSwitcherOpen:t}),toggleFavoriteSession:t=>e(e=>({favoriteSessionIds:e.favoriteSessionIds.includes(t)?e.favoriteSessionIds.filter(e=>e!==t):[...e.favoriteSessionIds,t]})),setSessionNickname:(t,n)=>e(e=>{let r=n.trim(),i={...e.sessionNicknames};return r?i[t]=r:delete i[t],{sessionNicknames:i}}),setFileExplorerWidth:t=>e({fileExplorerWidth:Math.max(160,Math.min(400,Math.round(t)))}),toggleRefineEnabled:()=>e(e=>({refineEnabled:!e.refineEnabled})),setRefinePanel:t=>e({refinePanel:t}),setPromptLibraryOpen:t=>e({promptLibraryOpen:t}),requestPromptInsert:t=>e({promptInsertRequest:t,promptLibraryOpen:!1}),clearPromptInsert:()=>e({promptInsertRequest:null}),setDockSection:t=>e({dockSection:t,...t?{inspectorOpen:!1}:{}}),setWorkDashboardTab:t=>e({workDashboardTab:t}),toggleDockSection:t=>e(e=>{let n=e.dockSection===t?null:t;return{dockSection:n,...n?{inspectorOpen:!1}:{}}}),toggleChipHidden:t=>e(e=>{let n=e.hiddenChips.includes(t);return{hiddenChips:n?e.hiddenChips.filter(e=>e!==t):[...e.hiddenChips,t],dockSection:!n&&e.dockSection===t?null:e.dockSection}}),showDockChip:t=>e(e=>({hiddenChips:e.hiddenChips.filter(e=>e!==t)})),setDockCustomizeOpen:t=>e({dockCustomizeOpen:t}),setFleetMonitorOpen:t=>e(e=>({fleetMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`fleet`&&e.inspectorOpen,inspectorTab:t?`fleet`:e.inspectorTab,...t?{dockSection:null}:{}})),setAgentsMonitorOpen:t=>e(e=>({agentsMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`agents`&&e.inspectorOpen,inspectorTab:t?`agents`:e.inspectorTab,...t?{dockSection:null}:{}})),setInspectorOpen:t=>e({inspectorOpen:t,...t?{dockSection:null}:{}}),setInspectorTab:t=>e({inspectorTab:t}),setInspectorFocusedAgentId:t=>e({inspectorFocusedAgentId:t}),toggleInspector:()=>e(e=>({inspectorOpen:!e.inspectorOpen,...e.inspectorOpen?{}:{dockSection:null}})),setProcessMonitorOpen:t=>e({processMonitorOpen:t}),setQueuePanelOpen:t=>e({queuePanelOpen:t}),setCronJobsOpen:t=>e({cronJobsOpen:t}),setTerminalOpen:t=>e({terminalOpen:t}),toggleTerminal:()=>e(e=>({terminalOpen:!e.terminalOpen})),requestTerminalCreate:()=>e(e=>({terminalCreateNonce:e.terminalCreateNonce+1})),setSettingsActiveTab:t=>e({settingsActiveTab:_(t)}),setScrollPosition:(t,n)=>e(e=>({scrollPositions:{...e.scrollPositions,[t]:n}})),setDraftInput:t=>e({draftInput:t}),setSideContextBreakdownOpen:t=>e({sideContextBreakdownOpen:t}),setSkillsState:t=>e({skillsState:t}),setSelectedMailMessage:t=>e({selectedMailMessage:t})}),{name:`wrongstack-ui`,version:5,migrate:(e,t)=>{let n=e??{};return n.activeActivity=d(n.activeActivity),typeof n.sidebarWidth==`number`&&(n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth))),t<2&&(delete n.fleetDrawerOpen,delete n.agentsDrawerOpen),`currentView`in n&&(n.currentView=p(n.currentView)),`dockSection`in n&&(n.dockSection=h(n.dockSection)),`settingsActiveTab`in n&&(n.settingsActiveTab=_(n.settingsActiveTab)),n},merge:(e,t)=>{let n={...t,...e??{}};return n.activeActivity=d(n.activeActivity),n.currentView=p(n.currentView),n.dockSection=h(n.dockSection),n.settingsActiveTab=_(n.settingsActiveTab),n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth)),v()?{...n,...y({sidebarOpen:!1})}:n},partialize:e=>({sidebarOpen:e.sidebarOpen,activeActivity:e.activeActivity,sidebarWidth:e.sidebarWidth,promptHistory:e.promptHistory,pinnedIds:e.pinnedIds,compactMode:e.compactMode,favoriteSessionIds:e.favoriteSessionIds,sessionNicknames:e.sessionNicknames,fileExplorerWidth:e.fileExplorerWidth,refineEnabled:e.refineEnabled,hiddenChips:e.hiddenChips,workDashboardTab:e.workDashboardTab,inspectorOpen:e.inspectorOpen,inspectorTab:e.inspectorTab,skillsState:e.skillsState,currentView:e.currentView,dockSection:e.dockSection,settingsActiveTab:e.settingsActiveTab,scrollPositions:e.scrollPositions,draftInput:e.draftInput})}));function x(e={}){b.setState(y(e))}export{n as a,r as i,b as n,o,l as r,x as t};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,n,r,t as i}from"./chat-store-CM1dMeuY.js";import{Sa as a,ba as o,ga as s}from"./vendor-2VBBgNb5.js";import"./i18n-1BkaqMgr.js";import{n as c,r as l,t as u}from"./ui-store-CS-njcmT.js";import{a as d,c as f,i as p,l as m,o as h,s as g,t as _}from"./ws-client-WVGn8ORh.js";import{t as v}from"./session-store-BsNYnfOc.js";import{i as y,n as b}from"./codemap-activity-store-DP3mCZu1.js";import{A as ee,D as x,M as S,a as C,d as te,f as ne,g as w,h as re,i as ie,j as T,l as ae,m as oe,n as E,o as D,p as O,r as se,s as k,t as A,u as ce,x as j}from"./stores-mpa0202y.js";import{r as M}from"./mailbox-store-DVoNbOZr.js";import{n as le,o as ue}from"./view-navigation-Cgy5xh9q.js";import{t as de}from"./codemap-index-store-DyAe3ZYJ.js";import{n as N}from"./Toaster-CbcX_Cou.js";var P=e(a(),1);function fe(e,t){if(t)return!0;try{return new URLSearchParams(e).get(`shell`)===`desktop`}catch{return!1}}function F(){return typeof window>`u`?!1:fe(window.location.search,!!window.wrongstackDesktopHost)}function I(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function L(e,t=``){return typeof e==`string`?e:t}function R(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function pe(e){let t=I(e.payload);if(!t)return null;switch(e.type){case`provider.thinking_delta`:{let e=L(t.text);return e?{kind:`thinking-delta`,text:e}:null}case`provider.text_delta`:{let e=L(t.text);return e?{kind:`text-delta`,text:e,messageId:L(t.messageId)}:null}case`provider.response`:return{kind:`response`,content:t.content,stopReason:L(t.stopReason)};case`run.result`:return{kind:`run-result`,status:L(t.status),iterations:R(t.iterations,1),...typeof t.finalText==`string`?{finalText:t.finalText}:{}};case`error`:return{kind:`error`,message:L(t.message,`Run failed`)};default:return null}}function z(e){let t=I(e.payload);if(!t)return null;if(e.type===`tool.started`){let e=L(t.name,`tool`);return{kind:`started`,id:L(t.id,e),name:e,input:t.input,messageId:L(t.messageId)}}if(e.type===`tool.progress`){let e=I(t.event);return{kind:`progress`,id:L(t.id),name:L(t.name,`tool`),eventType:L(e?.type),text:L(e?.text).trim()}}return e.type===`tool.executed`?{kind:`executed`,id:L(t.id),name:L(t.name),ok:t.ok!==!1,durationMs:R(t.durationMs),...typeof t.output==`string`?{output:t.output}:{},...Array.isArray(t.sage)?{sage:t.sage.filter(e=>typeof e==`string`)}:{}}:null}function me(e){let t=I(e.payload);if(!t)return null;switch(e.type){case`fleet.concurrency_update`:return{kind:`concurrency`,active:R(t.fleetConcurrency),maximum:R(t.fleetConcurrencyMax)};case`client.status_update`:return{kind:`client-status`,status:t};case`sessions.status_update`:return{kind:`sessions`,sessions:Array.isArray(t.sessions)?t.sessions:[]};case`coordinator.stats`:return{kind:`coordinator`,agents:Array.isArray(t.subagentStatuses)?t.subagentStatuses.filter(e=>I(e)!==null):[]};default:return null}}function he(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
2
|
+
<rect width="64" height="64" fill="#121210" />
|
|
3
|
+
<path fill="#FD9F02" d="M5 27h10v10H5zM27 27h10v10H27zM38 27h10v10H38zM49 27h10v10H49z" />
|
|
4
|
+
<path fill="#FE2E5F" d="M16 32h10v10H16z" />
|
|
5
|
+
${e===`ready`?`<circle cx="50" cy="14" r="14" fill="#22c55e" stroke="#fff" stroke-width="3" />`:e===`error`?`<circle cx="50" cy="14" r="14" fill="#ef4444" stroke="#fff" stroke-width="3" />`:e===`running`?`<circle cx="50" cy="14" r="14" fill="#f59e0b" stroke="#fff" stroke-width="3" />`:e===`attention`?`<circle cx="50" cy="14" r="14" fill="#eab308" stroke="#fff" stroke-width="3"><animate attributeName="opacity" values="1;0.3;1" dur="1s" repeatCount="indefinite"/></circle>`:``}
|
|
6
|
+
</svg>`}function ge(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function _e(){if(typeof document>`u`)return null;let e=document.querySelector(`link[rel="icon"]`);return e||(e=document.createElement(`link`),e.rel=`icon`,e.type=`image/svg+xml`,document.head.appendChild(e)),e}var B=`idle`;function V(e){B=e;let t=_e();t&&(t.href=ge(he(e)))}var ve=!1;function ye(){ve||typeof document>`u`||(ve=!0,document.addEventListener(`visibilitychange`,()=>{!document.hidden&&(B===`ready`||B===`error`||B===`attention`)&&V(`idle`)}))}var be=2048,xe=2*1024*1024,Se=new Set([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),H=class extends Error{reason;constructor(e,t){super(e),this.reason=t,this.name=`ImageAttachmentError`}};function Ce(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}function we(e){let t=e.indexOf(`,`),n=t>=0?e.length-t-1:e.length;return Math.floor(n*3/4)}function Te(e){return/^data:([^;,]+)/.exec(e)?.[1]??`image/png`}async function Ee(e){try{return await createImageBitmap(e)}catch{let t=URL.createObjectURL(e);try{return await new Promise((e,n)=>{let r=new Image;r.onload=()=>e(r),r.onerror=()=>n(Error(`image decode failed`)),r.src=t})}finally{URL.revokeObjectURL(t)}}}function De(e,t,n,r,i){let a=document.createElement(`canvas`);a.width=t,a.height=n;let o=a.getContext(`2d`);if(!o)throw new H(`canvas 2d context unavailable`,`decode_failed`);o.drawImage(e,0,0,t,n);let s=a.toDataURL(`image/webp`,i);return s.startsWith(`data:image/webp`)?s:r?a.toDataURL(`image/png`):a.toDataURL(`image/jpeg`,i)}var Oe=0;function ke(){return Oe+=1,`img_${Date.now()}_${Oe}`}async function Ae(e){let t=Se.has(e.type),n;try{n=await Ee(e)}catch{throw new H(`Could not decode image "${e.name}"`,`decode_failed`)}let r=n.width,i=n.height,a=Math.max(r,i);if(!(!t||a>be||e.size>xe)){let t=await Ce(e);return{id:ke(),dataUrl:t,mediaType:e.type,bytes:we(t),name:e.name||void 0,width:r,height:i}}let o=e.type!==`image/jpeg`,s=Math.min(1,be/a),c=.85,l=De(n,Math.max(1,Math.round(r*s)),Math.max(1,Math.round(i*s)),o,c);we(l)>4194304&&(s=Math.min(s,1280/a),c=.7,l=De(n,Math.max(1,Math.round(r*s)),Math.max(1,Math.round(i*s)),o,c)),`close`in n&&n.close();let u=we(l);if(u>4194304)throw new H(`Image "${e.name}" is too large after compression`,`too_large`);return{id:ke(),dataUrl:l,mediaType:Te(l),bytes:u,name:e.name||void 0,width:Math.max(1,Math.round(r*s)),height:Math.max(1,Math.round(i*s))}}function je(e){return e.map(e=>{let t=e.dataUrl.indexOf(`,`);return{data:t>=0?e.dataUrl.slice(t+1):e.dataUrl,mediaType:e.mediaType,...e.name?{name:e.name}:{}}})}var U=null;function Me(){if(typeof window>`u`)return null;if(U)return U;let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{U=new e}catch{return null}return U}function W(e,t,n){let r=Me();if(!r)return;let i=r.currentTime+t,a=r.createOscillator(),o=r.createGain();a.type=`sine`,a.frequency.value=e,o.gain.setValueAtTime(0,i),o.gain.linearRampToValueAtTime(.18,i+.01),o.gain.exponentialRampToValueAtTime(1e-4,i+n),a.connect(o).connect(r.destination),a.start(i),a.stop(i+n+.02)}function Ne(){W(659.25,0,.18),W(880,.12,.24)}function Pe(){W(523.25,0,.15),W(659.25,.1,.15),W(783.99,.2,.25)}var G=`default`;G=typeof window<`u`&&`Notification`in window?Notification.permission:`unsupported`;async function Fe(){if(G===`unsupported`||G===`granted`||G===`denied`)return G;try{let e=await Notification.requestPermission();return G=e,e}catch{return`denied`}}function Ie(e,t,n){if(!(typeof document>`u`||!document.hidden)&&G===`granted`)try{let r=new Notification(e,{body:t,icon:`/wrongstack.svg`,tag:n??`wrongstack-run`,requireInteraction:n===`wrongstack-confirm`});r.onclick=()=>{window.focus(),r.close()}}catch{}}var Le={"iteration.started":Re,"provider.text_delta":ze,"provider.thinking_delta":Be,"tool.started":Ve,"tool.progress":He,"tool.executed":Ue,"tool.confirm_needed":We,"run.result":Ge};function Re(e){if(!p(e))return;d(e);let t=e.payload;v.getState().setIteration({index:t.index,max:t.maxIterations??0}),i.getState().setLoading(!0),typeof document<`u`&&document.hidden&&V(`running`),i.getState().runStart===null&&i.getState().setRunStart({at:Date.now(),cost:v.getState().cost}),i.getState().setCurrentAssistantMessage(null)}function ze(e){if(!p(e))return;let t=pe(e);if(t?.kind!==`text-delta`)return;m.flush(`__thinking__`),i.getState().clearThinking();let n=i.getState().currentAssistantMessageId;n||(n=i.getState().addMessage({role:`assistant`,content:``,streaming:!0}),i.getState().setCurrentAssistantMessage(n)),m.push(n,t.text,(e,t)=>i.getState().appendToMessage(e,t))}function Be(e){if(!p(e))return;let t=pe(e);t?.kind===`thinking-delta`&&m.push(`__thinking__`,t.text,(e,t)=>i.getState().appendThinking(t))}function Ve(e){if(!p(e))return;d(e);let t=z(e);if(t?.kind!==`started`)return;let n=i.getState().getToolMessageId(t.id);if(n){i.getState().setCurrentToolId(n);return}m.flushAll(),i.getState().clearThinking();let r=i.getState().currentAssistantMessageId;r&&i.getState().finalizeMessage(r,{final:!1}),i.getState().setCurrentAssistantMessage(null);let a=i.getState().addMessage({role:`tool`,content:``,toolName:t.name,toolInput:t.input,toolUseId:t.id});i.getState().setCurrentToolId(a),i.getState().addExecution({id:t.id,name:t.name,input:t.input,ok:!0,startedAt:Date.now()})}function He(e){if(!p(e))return;let t=z(e);if(t?.kind!==`progress`)return;let n=t.text;if(!n)return;let r=i.getState().getToolMessageId(t.id);if(!r)return;let a=t.eventType===`warning`?`⚠ `:``;m.push(r,`${a}${n}\n`,(e,n)=>i.getState().appendToolProgressLinesByUseId(t.id,n.split(`
|
|
7
|
+
`).filter(e=>e.length>0)))}function Ue(e){if(!p(e))return;d(e);let t=z(e);if(t?.kind!==`executed`)return;let{currentToolId:n}=i.getState(),r=t.id?i.getState().getToolMessageId(t.id):n;r&&(m.drop(r),t.id?i.getState().setToolResultByUseId(t.id,t.output??``,t.ok):i.getState().setToolResult(r,t.output??``,t.ok),i.getState().updateMessage(r,{toolDurationMs:t.durationMs,...t.sage&&t.sage.length>0?{sageLines:t.sage}:{}})),t.id&&i.getState().updateExecution(t.id,{completedAt:Date.now(),durationMs:t.durationMs,output:t.output,ok:t.ok}),n&&r===n&&i.getState().setCurrentToolId(null)}function We(e){if(!p(e))return;let t=e.payload;if(l.getState().yolo===!0&&!t.boundaryReason){_(S.getState().wsUrl).sendConfirm(t.id,`yes`),c.getState().hideConfirm();return}c.getState().showConfirm({id:t.id,toolName:t.toolName,input:t.input,suggestedPattern:t.suggestedPattern,decisionSource:t.decisionSource,riskTier:t.riskTier,boundaryReason:t.boundaryReason});try{Pe()}catch{}Fe(),Ie(`${v.getState().projectName||`Agent`} needs approval`,`Tool "${t.toolName}" is waiting for your decision.`,`agent-confirm`),typeof document<`u`&&document.hidden&&V(`attention`)}function Ge(e){if(!p(e))return;let n=h(e,{status:`string`},{iterations:`number`,finalText:`string`,error:`object`});if(!n)return;let a=n.iterations??1;m.flushAll(),i.getState().flushThinkingLog(Math.max(1,a)),v.getState().setIteration(null),i.getState().setLoading(!1);let o=i.getState().currentAssistantMessageId,s=n.status===`done`?n.finalText?.trim():void 0;if(o){let e=i.getState().messages.find(e=>e.id===o);i.getState().updateMessage(o,{content:e?.content?.trim()?e.content:s??e?.content??``}),i.getState().finalizeMessage(o,{final:!0})}else if(s){let e=i.getState().runStart,t=r(s).stripped.trim(),n=i.getState().messages,a;for(let t=n.length-1;t>=0;t--){let r=n[t];if(r?.role===`assistant`&&(!e||r.timestamp>=e.at)){a=r;break}}let o=a?.content.trim();if(!(o!==void 0&&(o===s||o===t))){let e=i.getState().addMessage({role:`assistant`,content:s});i.getState().finalizeMessage(e,{final:!0})}}i.getState().setCurrentAssistantMessage(null),i.getState().clearThinking();let c=i.getState().runStart;if(c&&n.status===`done`){let e=i.getState().messages,n=-1,r=0;for(let i=e.length-1;i>=0;i--){let a=t(e[i]);if(a.role===`assistant`&&n===-1&&a.content&&(n=i),a.role===`tool`&&a.timestamp>=c.at&&(r+=1),a.role===`user`&&a.timestamp<=c.at)break}if(n!==-1){let t=v.getState().cost;i.getState().updateMessage(e[n]?.id,{runSummary:{iterations:a,tools:r,durationMs:Date.now()-c.at,costDelta:Math.max(0,t-c.cost)}})}}if(i.getState().setRunStart(null),n.status!==`done`&&n.error)i.getState().addMessage({role:`assistant`,content:`Error: ${n.error.message}`,isError:!0}),N.error(`Run ended: ${n.error.message}`),Ie(`${v.getState().projectName||`Agent`} run failed`,n.error.message),typeof document<`u`&&document.hidden&&V(`error`);else if(n.status===`done`){if(typeof document<`u`&&document.hidden&&(N.success(`Run completed in ${a} iteration${a===1?``:`s`}`),Ie(`${v.getState().projectName||`Agent`} run finished`,`Completed in ${a} iteration${a===1?``:`s`}.`),V(`ready`)),Fe(),S.getState().soundOnComplete)try{Ne()}catch{}typeof document<`u`&&document.dispatchEvent(new CustomEvent(`chat:next-step-countdown`))}let l=i.getState().dequeue();if(!l)return;let u=_(S.getState().wsUrl),d=l.images??[];if(i.getState().addMessage({role:`user`,content:l.text,...d.length>0?{attachments:d.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}}),l.mode===`btw`){u.sendMailboxMessage({type:`btw`,to:`leader`,subject:`btw from WebUI`,body:l.text,priority:`normal`,audience:`all`});return}i.getState().setLoading(!0),u.sendMessage(l.text,d.length>0?je(d):void 0)}var Ke={"coordinator.status":e=>{let t=e.payload;T.getState().setCoordinatorStatus(t.status,t.mode),t.taskQueue&&T.getState().updateCoordinatorStats({total:t.subagentCount??0,running:0,idle:0,stopped:0,inFlight:t.taskQueue.running,pending:t.taskQueue.pending,completed:t.taskQueue.completed})},"coordinator.stats":e=>{let t=e.payload;T.getState().updateCoordinatorStats(t)},"budget.threshold_reached":e=>{let t=e.payload;T.getState().pushEvent(`budget.threshold_reached`,t,t.ts??Date.now(),t.subagentId,t.taskId),t.limit>0&&t.used/t.limit*100>=85&&T.getState().recordBudgetAlert(t.subagentId,t.kind,t.used,t.limit),T.getState().updateSubagentBudget(t.subagentId,{budgetUsage:{iterations:0,toolCalls:0,tokens:0,costUsd:0,elapsedMs:t.used??0}})},"budget.decision":e=>{let t=e.payload,n=t.extended?.timeoutMs??t.extended?.maxIterations??t.extended?.maxToolCalls;T.getState().recordBudgetDecision(t.subagentId,t.kind,t.decision,n),T.getState().pushEvent(`budget.decision`,{subagentId:t.subagentId,kind:t.kind,decision:t.decision,newLimit:n},Date.now(),t.subagentId)},"subagent.budget_extended":e=>{let t=e.payload;T.getState().recordBudgetExtended(t.subagentId,t.kind,t.extendedTo),T.getState().pushEvent(`subagent.budget_extended`,t,Date.now(),t.subagentId)},"consensus.vote_initiated":e=>{let t=e.payload;T.getState().pushConsensusVote(t.changeId,t.title,t.eligible),T.getState().pushEvent(`consensus.vote_initiated`,t,Date.now()),N.info(`Vote started: `+t.title)},"consensus.vote_cast":e=>{let t=e.payload,n=T.getState().consensusVotes.get(t.changeId)?.eligible.find(e=>e.agentId===t.voterId);T.getState().recordConsensusVote(t.changeId,t.voterId,n?.agentName??t.voterId,t.value),T.getState().pushEvent(`consensus.vote_cast`,t,Date.now(),t.voterId)},"consensus.vote_resolved":e=>{let t=e.payload;T.getState().resolveConsensusVote(t.changeId,t.result,t.approveCount,t.rejectCount),T.getState().pushEvent(`consensus.vote_resolved`,t,Date.now()),N.info(`Vote resolved: `+t.result+` (y`+t.approveCount+` n`+t.rejectCount+`)`)},"task.pending":e=>{let t=e.payload;T.getState().pushTaskPending(t.taskId,t.description,t.priority),T.getState().pushEvent(`task.pending`,t,Date.now())},"task.started":e=>{let t=e.payload;T.getState().startTask(t.taskId,t.subagentId),T.getState().pushEvent(`task.started`,t,Date.now(),t.subagentId)},"task.completed":e=>{let t=e.payload;T.getState().completeTask(t.taskId,t.status,t.durationMs),T.getState().pushEvent(`task.completed`,t,Date.now(),t.subagentId)},"task.failed":e=>{let t=e.payload;T.getState().failTask(t.taskId,t.error),T.getState().pushEvent(`task.failed`,{taskId:t.taskId,subagentId:t.subagentId,error:String(t.error).slice(0,120)},Date.now(),t.subagentId),N.error(`Task failed: `+String(t.error).slice(0,80))}};function K(){let e=_();e?.send?.({type:`mailbox.messages`,payload:{limit:30,incompleteOnly:!0}}),e?.send?.({type:`mailbox.agents`,payload:{}})}var q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,K()},300)}function qe(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().setTree(t.root,t.tree)}function Je(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().openFile(t.filePath,t.content)}function Ye(e){let t=e.payload;t.success?x.getState().markSaved(t.filePath):t.error&&x.getState().setError(`Save failed: ${t.error}`)}function Xe(e){let t=f(`mailbox.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function Ze(e){let t=e.payload;t?.messages&&M.getState().setMessages(t.messages)}function Qe(e){let t=e.payload;t?.agents&&M.getState().setAgents(t.agents)}function $e(e){let t=f(`mailbox.received`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function et(e){J()}function tt(e){M.getState().setMessages([]),K()}function nt(e){J()}function rt(e){let t=e.payload;t&&typeof t.totalRemoved==`number`&&M.getState().setLastCompaction({readByAllRemoved:t.readByAllRemoved??0,expiredRemoved:t.expiredRemoved??0,stalePurged:t.stalePurged??0,totalRemoved:t.totalRemoved,remaining:t.remaining??0}),J()}function it(e){let t=e.payload;if(t?.success){J();return}N.error(`Mailbox action failed: ${t?.error??`unknown error`}`)}var at={"files.tree":qe,"files.read":Je,"files.written":Ye,"mailbox.event":Xe,"mailbox.messages":Ze,"mailbox.agents":Qe,"mailbox.received":$e,"mailbox.agent_registered":et,"mailbox.cleared":tt,"mailbox.purged":nt,"mailbox.compacted":rt,"mailbox.action_result":it};function ot(e){let t=e.payload;A.getState().setSnapshot(t.worktrees??[],t.baseBranch??``)}function st(e){let t=e.payload;A.getState().pushEvent(t)}function ct(e){let t=e.payload;A.getState().setOrphans(t.orphans??[],t.canClean??!1,t.reason)}function lt(e){let t=e.payload;A.getState().setCleanResult({...t,at:Date.now()})}function ut(e){let t=e.payload;A.getState().setMergeResult({...t,at:Date.now()})}function dt(e){let t=e.payload;A.getState().setDiff(t.dir,t.summary)}function ft(e){j.getState().applyEvent(e.payload);let t=f(`subagent.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0))}function pt(e){let t=me(e);t?.kind===`concurrency`&&j.setState({fleetConcurrency:t.active,fleetConcurrencyMax:t.maximum})}function mt(e){let t=me(e);if(t?.kind!==`client-status`)return;let n=t.status;ae.getState().setCurrentSession({clientType:n.clientType,clientId:n.clientId,agentCount:n.agentCount,model:n.model,mode:n.mode,toolCalls:n.toolCalls,inputTokens:n.inputTokens,outputTokens:n.outputTokens,cacheTokens:n.cacheTokens,costUsd:n.costUsd,timestamp:n.timestamp})}function ht(e){let t=me(e);if(t?.kind!==`sessions`)return;ae.getState().setLiveSessions(t.sessions);let n=Date.now();if(n-_t>=5e3&&(_t=n,K()),n-gt<1e3)return;gt=n;let r=f(`sessions.status_update`,e.payload);r&&(g.getState().pushEvent(r),g.getState().setActive(!0))}var gt=0,_t=0,vt={"worktree.state":ot,"worktree.event":st,"worktree.orphans":ct,"worktree.cleanup_result":lt,"worktree.merge_result":ut,"worktree.diff_result":dt,"subagent.event":ft,"fleet.concurrency_update":pt,"client.status_update":mt,"sessions.status_update":ht};function yt(e,t){let n=e=>e.trim().replace(/\s+/g,` `).toLowerCase();return n(e)===n(t)}var bt=50,xt=200;function St(e){return e.length<=300?e:`${e.slice(0,299)}…`}function Ct(e){return{...e,text:St(e.text)}}function wt(e){let t=[];for(let n of Object.values(e))n.state===`exited`&&t.push(n);if(t.length<=xt)return e;t.sort((e,t)=>(t.exitedAt??t.lastSeenAt).localeCompare(e.exitedAt??e.lastSeenAt));let n={...e};for(let e of t.slice(xt))delete n[e.id];return n}var Y=s()(e=>({traces:[],contextMemories:{},transitions:[],pushTrace:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=t.injected.map(Ct),a=t.activated.map(Ct);for(let e of i){let i=n[e.id];n[e.id]={...e,state:i?.state===`active`?`active`:`injected`,trigger:t.trigger,enteredAt:i?.enteredAt??t.at,lastSeenAt:t.at};let a=`${t.at}_injected_${e.id}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e.id,action:`injected`,reason:`${t.trigger} · score ${e.score.toFixed(2)}`})}return{traces:[{...t,activated:a,injected:i},...e.traces.filter(e=>e.runId!==t.runId)].slice(0,bt),contextMemories:wt(n),transitions:r.slice(0,100)}}),applyContextSnapshot:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=new Set(t.activeMemoryIds);for(let e of t.activeMemoryIds){let r=n[e];n[e]=r?{...r,state:`active`,lastSeenAt:t.at,exitedAt:void 0}:Tt(e,t.at,`active`)}for(let e of t.enteredMemoryIds){let n=`${t.at}_entered_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`entered`,reason:`present in provider request`})}for(let e of t.exitedMemoryIds){let i=n[e];i&&(n[e]={...i,state:`exited`,exitedAt:t.at});let a=`${t.at}_exited_${e}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e,action:`exited`,reason:`absent from provider request`})}for(let[e,a]of Object.entries(n))if((a.state===`injected`||a.state===`active`)&&!i.has(e)&&(n[e]={...a,state:`exited`,exitedAt:t.at},!t.exitedMemoryIds.includes(e))){let n=`${t.at}_exited_before_provider_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`exited`,reason:a.state===`injected`?`removed before provider request`:`absent from provider context snapshot`})}return{contextMemories:wt(n),transitions:r.slice(0,100)}}),resetContext:()=>e({contextMemories:{},transitions:[]}),clear:()=>e({traces:[],contextMemories:{},transitions:[]})}));function Tt(e,t,n){return{id:e,kind:`unknown`,text:`Memory details were not present in this UI process.`,score:0,relationStrength:0,anchors:[],tags:[],activationReasons:[],importance:0,confidence:0,freshness:0,persistence:`unknown`,state:n,trigger:`context snapshot`,enteredAt:t,lastSeenAt:t,isPlaceholder:!0}}var Et=100,Dt=new Set([`exited`,`superseded`,`archived`,`staled`,`contradicted`]);function Ot(e,t=new Date){let n=e.event,r=X(e.memoryId),i=X(e.at)??t.toISOString(),a={id:`${n}_${t.getTime()}_${Math.random().toString(36).slice(2,7)}`,at:i,event:n};if(n===`memory.accepted`&&r)return{...a,action:`entered`,memoryId:r,label:`${r} entered memory`,detail:At(e)};if(n===`memory.merged`&&r){let t=Array.isArray(e.mergedIds)?e.mergedIds.length:0;return{...a,action:`merged`,memoryId:r,label:`${r} merged`,detail:t>0?`${t} records folded in`:void 0}}if(n===`memory.recovered`&&r)return{...a,action:`recovered`,memoryId:r,label:`${r} recovered`,detail:X(e.reason)};if(n===`memory.deleted`&&r)return{...a,action:`exited`,memoryId:r,label:`${r} exited memory`,detail:jt(e)};if(n===`memory.updated`&&r){let t=X(e.status)??`updated`;return{...a,action:t===`deleted`?`exited`:`updated`,memoryId:r,label:t===`deleted`?`${r} exited memory`:`${r} updated → ${t}`,detail:At(e)}}if(n===`memory.graph_edge_added`){let t=X(e.from),n=X(e.to);if(!t?.startsWith(`mem:`)||!n?.startsWith(`mem:`))return null;let r=X(e.relation)??`related_to`,i=Z(e.weight),o=Array.isArray(e.evidence)?e.evidence.filter(e=>typeof e==`string`):[];return{...a,action:`related`,memoryId:t.startsWith(`mem:`)?t.slice(4):void 0,label:`${Mt(t)} ↔ ${Mt(n)}`,detail:[r,i===void 0?void 0:`weight ${i.toFixed(2)}`,o.length>0?`why: ${o.join(`, `)}`:void 0].filter(Boolean).join(` · `)}}return n===`memory.relationships_rebuilt`?{...a,action:`related`,label:`Memory relationships rebuilt`,detail:`${Z(e.added)??0} added / ${Z(e.proposed)??0} proposed`}:n===`memory.superseded`&&r?{...a,action:`superseded`,memoryId:r,label:`${r} → superseded`,detail:X(e.reason)??At(e)}:n===`memory.archived`&&r?{...a,action:`archived`,memoryId:r,label:`${r} → archived`,detail:X(e.reason)}:n===`memory.staled`&&r?{...a,action:`staled`,memoryId:r,label:`${r} → staled`,detail:X(e.reason)??`anchor drift detected`}:n===`memory.contradicted`&&r?{...a,action:`contradicted`,memoryId:r,label:`${r} → contradicted`,detail:X(e.reason)??`conflicting evidence`}:null}var kt=s()(e=>({items:[],pushEvent:t=>e(e=>{let n=Ot(t);return n?{items:[n,...Dt.has(n.action)?e.items.filter(e=>!(Dt.has(e.action)&&e.memoryId===n.memoryId)):e.items].slice(0,Et)}:e}),clear:()=>e({items:[]})}));function X(e){return typeof e==`string`&&e.length>0?e:void 0}function Z(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function At(e){let t=[X(e.kind),X(e.persistence)],n=Z(e.confidence),r=Z(e.freshness);return n!==void 0&&t.push(`confidence ${n.toFixed(2)}`),r!==void 0&&t.push(`freshness ${r.toFixed(2)}`),t.filter(Boolean).join(` · `)||void 0}function jt(e){let t=X(e.reason),n=Z(e.removedEdges);return[t,n===void 0?void 0:`${n} edges removed`].filter(Boolean).join(` · `)||void 0}function Mt(e){let t=e.replace(/^mem:/,``);return t.length>26?`${t.slice(0,23)}…`:t}function Nt(e){if(!e||e.length===0)return;let t=e.map(e=>e.status);return t.some(e=>e===`failed`)?`failed`:t.every(e=>e===`completed`||e===`skipped`)?`completed`:t.some(e=>e===`paused`)?`paused`:`running`}function Pt(e){let t=e.payload,n=Array.isArray(t.phases)?t.phases:void 0,r=Nt(n);O.getState().setState({phases:n,activePhaseId:typeof t.activePhaseId==`string`?t.activePhaseId:void 0,overallPercent:typeof t.overallPercent==`number`?t.overallPercent:void 0,autonomous:typeof t.autonomous==`boolean`?t.autonomous:void 0,title:typeof t.title==`string`?t.title:void 0,goal:typeof t.goal==`string`?t.goal:void 0,status:r,multiBoard:t.multiBoard===!0,lastError:r===`failed`?O.getState().lastError:null})}function Ft(e){let t=e.payload,n={totalPhases:typeof t.totalPhases==`number`?t.totalPhases:0,completed:typeof t.completed==`number`?t.completed:0,failed:typeof t.failed==`number`?t.failed:0,totalTasks:typeof t.totalTasks==`number`?t.totalTasks:0,completedTasks:typeof t.completedTasks==`number`?t.completedTasks:0,failedTasks:typeof t.failedTasks==`number`?t.failedTasks:0};O.getState().setState({progress:n,overallPercent:typeof t.percentComplete==`number`?Math.round(t.percentComplete):void 0,status:n.failed>0||n.failedTasks>0?`failed`:`running`,lastEvent:`progress`})}function Q(e){let t=e.payload,n=typeof t.title==`string`&&t.title?t.title:`Goal`,r=typeof t.error==`string`&&t.error?t.error:void 0;if(e.type===`goal.paused`){O.getState().setState({status:`paused`,autonomous:!1,lastEvent:`paused`}),N.info(`Goal paused`);return}if(e.type===`goal.resumed`){O.getState().setState({status:`running`,autonomous:!0,lastEvent:`resumed`}),N.info(`Goal resumed`);return}if(e.type===`goal.stopped`){O.getState().setState({status:`stopped`,autonomous:!1,lastEvent:`stopped`}),N.warn(`Goal stopped`);return}if(e.type===`goal.cleared`){O.getState().clear();return}if(e.type===`goal.reverted`){let e=t.ok===!0,n=typeof t.reverted==`number`?t.reverted:0,r=typeof t.reason==`string`?t.reason:void 0;e?N.success(n>0?`Reverted ${n} commit${n===1?``:`s`}`:`Nothing to revert`):N.error(`Revert failed: ${r??`unknown error`}`),O.getState().setState({lastEvent:`reverted`});return}if(e.type===`goal.saved`){O.getState().setState({lastEvent:`saved`}),N.success(`Goal graph saved`);return}if(e.type===`goal.completed`){O.getState().setState({status:`completed`,autonomous:!1,overallPercent:100,lastEvent:`completed`,lastError:null}),N.success(`${n} completed`);return}if(e.type===`goal.failed`||e.type===`goal.error`){let e=r??(typeof t.message==`string`?t.message:`${n} failed`);O.getState().setState({status:`failed`,autonomous:!1,lastEvent:`failed`,lastError:e}),N.error(e)}}function It(e){let t=e.payload;O.getState().setState({lastEvent:`list`,graphs:Array.isArray(t.graphs)?t.graphs:[]})}function Lt(e){let t=e.payload;ne.getState().setGoal(t)}function Rt(e){let t=e.payload;l.getState().set(t),t.yolo===!0&&c.getState().confirmInfo&&c.getState().hideConfirm()}function zt(e){if(!p(e))return;let t=e.payload,n;if(t.decision.type===`answer`){let e=t.decision.rationale&&t.decision.rationale!==t.decision.text?`\n\n_${t.decision.rationale}_`:``;n=`🧠 ${t.decision.text??``}${e}`}else n=t.decision.type===`deny`?`🧠 Denied: ${t.decision.reason??``}`:`🧠 The Brain escalated this question back to you — it needs human judgement.`;i.getState().addMessage({role:`assistant`,content:n})}function Bt(e){if(!p(e))return;let t=e.payload;if(t.event===`brain.intervention`){let e=t.decision?.rationale??t.decision?.text??``,n=t.intervened?`🧠 **Brain intervention** — corrective guidance was sent to the agent.`:`🧠 **Brain check** — a distress signal was reviewed; no action needed.`;i.getState().addMessage({role:`assistant`,content:[n,t.request?.question??``,e?`_${e}_`:``].filter(Boolean).join(`
|
|
8
|
+
|
|
9
|
+
`)}),t.intervened&&N.info(`Brain intervened: agent steered`)}else t.event===`brain.decision_denied`&&N.warn(`Brain denied: ${t.decision?.reason??t.request?.question??`request`}`)}function Vt(e){if(!p(e))return;let t=e.payload;g.getState().pushEvent({id:`memory_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,kind:`memory:event`,timestamp:Date.now(),source:`sage`,target:`leader`,label:t.event.replace(/^memory\./,``),data:t,color:`#a78bfa`,flowGroup:`memory`}),t.event===`memory.injector_run`&&Y.getState().pushTrace(t),t.event===`memory.context_snapshot`&&Y.getState().applyContextSnapshot(t),kt.getState().pushEvent(t),t.event===`memory.staled`?N.warn(`Memory became stale: ${String(t.memoryId??``)}`):t.event===`memory.contradicted`?N.warn(`Memory contradicted: ${String(t.memoryId??``)}`):t.event===`memory.hygiene_completed`&&N.info(`SAGE hygiene completed`)}function Ht(e){let t=e.payload,n=typeof t.kind==`string`?t.kind:typeof t.event==`string`?t.event:`collab.event`;g.getState().pushEvent({id:`collab_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,kind:`collab:event`,timestamp:Date.now(),source:`collab`,target:typeof t.sessionId==`string`?t.sessionId:`session`,label:n,magnitude:1,data:t,raw:e.payload,color:`hsl(200, 70%, 55%)`,flowGroup:`collab`}),g.getState().setActive(!0)}function Ut(e){Ht(e);let t=e.payload;t?.phase===`consumed`?N.success(`Tool injection applied${t.toolName?` to ${t.toolName}`:``}`):N.info(`Collab tool injection queued`)}function Wt(e){let t=e.payload?.entry;if(!t)return;let n=typeof t.iteration==`number`?t.iteration:0,r=typeof t.task==`string`?t.task:void 0,i=typeof t.status==`string`?t.status:void 0,a=typeof t.at==`string`?t.at:new Date().toISOString();ne.getState().appendJournalEntry({iteration:n,task:r,status:i,timestamp:a}),g.getState().pushEvent({id:`eternal_${Date.now()}_${n}`,kind:`eternal:iteration`,timestamp:Date.now(),source:`eternal`,target:`goal`,label:r?`L${n}: ${r}`:`Eternal iteration ${n}`,magnitude:typeof t.costUsd==`number`?t.costUsd:1,data:t,raw:e.payload,color:i===`failure`?`hsl(0, 80%, 55%)`:`hsl(220, 80%, 60%)`,flowGroup:`eternal`}),g.getState().setActive(!0)}function Gt(e){let t=e.payload;v.getState().setEnv({cwd:t.cwd,projectRoot:t.projectRoot,projectName:t.projectRoot.split(/[/\\]/).pop()||t.projectRoot}),x.getState().setTreeLoading(!0),_().send({type:`files.tree`,payload:{path:t.cwd}})}function Kt(e){let t=e.payload,n=c.getState().refinePanel,r=i.getState().pendingRefinement;if(!n&&r){i.getState().setRefining(!1);let e=r.text,n=r.images?.length?r.images.map((e,t)=>({id:`pr_${Date.now()}_${t}`,dataUrl:`data:${e.mime};base64,${e.data}`,mediaType:e.mime,bytes:Math.round(e.data.length*3/4)})):void 0;if(t.error){i.getState().setPendingRefinement(null),i.getState().enqueue(e,`queue`,n);return}let a=t.refined??``;if(!a||yt(a,e)){i.getState().setPendingRefinement(null),i.getState().enqueue(e,`queue`,n);return}i.getState().setPendingRefinement(null),c.getState().setRefinePanel({original:e,refined:a,english:t.english||a,status:`ready`,...t.refinedWith?{provider:t.refinedWith.provider,model:t.refinedWith.model}:{},error:void 0,errorKind:void 0,resolve:()=>{}});return}if(!n)return;if(t.error){if(t.errorKind===`timeout`&&!n.retried&&t.retryTimeoutMs){c.getState().setRefinePanel({...n,status:`refining`,retried:!0}),_().refineModel(n.original,{timeoutMs:t.retryTimeoutMs});return}c.getState().setRefinePanel({...n,status:`failed`,error:t.error,errorKind:t.errorKind,fallbackRef:t.fallbackRef});return}let a=n.original;if(yt(t.refined,a)){c.getState().setRefinePanel(null),i.getState().addMessage({role:`user`,content:a}),i.getState().setLoading(!0),_().sendMessage(a);return}c.getState().setRefinePanel({...n,status:`ready`,refined:t.refined,english:t.english,...t.refinedWith?{provider:t.refinedWith.provider,model:t.refinedWith.model}:{},error:void 0,errorKind:void 0})}function qt(e){let t=e.payload;re.getState().setInfo({...t,fetchedAt:Date.now()})}function Jt(e){let t=e.payload;w.getState().setFiles(t.files??[],t.error??null)}function Yt(e){let t=e.payload;w.getState().selectedPath===t.path&&w.getState().setDiff({path:t.path,oldText:t.oldText??``,newText:t.newText??``,binary:t.binary,tooLarge:t.tooLarge,error:t.error})}function Xt(e){let t=e.payload;ee.getState().setSnapshot({count:t.count,maxConcurrent:t.maxConcurrent,jobs:t.jobs??[]})}function Zt(e){let t=e.payload;ee.getState().recordFired(t.name,t.ts)}var Qt={"goal-state.updated":Lt,"prefs.updated":Rt,"goal.state":Pt,"goal.progress":Ft,"goal.paused":Q,"goal.resumed":Q,"goal.stopped":Q,"goal.cleared":Q,"goal.reverted":Q,"goal.saved":Q,"goal.completed":Q,"goal.failed":Q,"goal.error":Q,"goal.list":It,"brain.answer":zt,"brain.event":Bt,"memory.event":Vt,"collab.event":Ht,"collab.injection.granted":Ut,"eternal.iteration":Wt,"working_dir.changed":Gt,"model.refine_result":Kt,"git.info":qt,"git.changes":Jt,"git.diff":Yt,"cron.snapshot":Xt,"cron.job_fired":Zt};function $t(e){let t=e.payload;!t.jobId||!t.kind||E.getState().jobStarted(t.jobId,t.kind)}function en(e){let t=e.payload;!t.jobId||!t.phase||!Number.isFinite(t.completed)||!Number.isFinite(t.total)||E.getState().jobProgress(t.jobId,{phase:t.phase,completed:t.completed??0,total:t.total??0})}function tn(e){let t=e.payload;t.workspaceId&&E.getState().workspaceCompleted(t.workspaceId)}function nn(e){let t=e.payload;t.snapshot&&E.getState().setSnapshot(t.snapshot,t.stale??!1)}function rn(e){let t=e.payload;t.reportId&&E.getState().reportReady(t.reportId)}function an(e){let t=e.payload;t.jobId&&E.getState().jobFailed(t.jobId,t.error??`TechStack job failed`)}function on(e){let t=e.payload;t.jobId&&E.getState().jobCancelled(t.jobId)}var sn={"techstack.job.started":$t,"techstack.job.progress":en,"techstack.workspace.completed":tn,"techstack.snapshot.updated":nn,"techstack.report.ready":rn,"techstack.job.failed":an,"techstack.job.cancelled":on};function cn(e){if(typeof e!=`string`)return Date.now();let t=Date.parse(e);return Number.isFinite(t)?t:Date.now()}function ln(e){return`replay_${Date.now()}_${e}`}function un(){return typeof window>`u`?!1:window.location.pathname===`/debug`||window.location.pathname===`/analytics`||window.location.pathname===`/refresh-debug`}function dn(e){return typeof e==`string`?e:JSON.stringify(e)}function fn(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>!!e&&typeof e==`object`&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
10
|
+
`):``}function pn(e){if(typeof e==`string`)return e.trim();if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e;for(let e of[`id`,`name`,`type`]){let n=t[e];if(typeof n==`string`&&n.trim())return n.trim()}return``}function mn(e,t=[]){let n=[],r=new Map,i=0,a=0,o=(e,t,r)=>{t&&n.push({id:ln(n.length),role:e,content:t,timestamp:r})},s=e=>{n.push({id:ln(n.length),role:`system`,content:e.text,timestamp:cn(e.ts),isError:e.level===`error`||void 0})},c=e=>{if(typeof e==`string`)for(;a<t.length&&t[a].ts<e;)s(t[a]),a+=1},l=(e,t)=>{let r=e.trim();r&&(i+=1,n.push({id:ln(n.length),role:`system`,content:``,timestamp:t,thinkingLog:{iteration:i,text:r,startedAt:t,durationMs:0,replayed:!0}}))};for(let t of e){if(c(t.ts),t.role!==`user`&&t.role!==`assistant`&&t.role!==`system`)continue;let e=t.role,i=cn(t.ts);if(typeof t.content==`string`){o(e,t.content,i);continue}if(!Array.isArray(t.content))continue;let a=``,s=[];for(let c of t.content){if(c.type===`thinking`&&typeof c.thinking==`string`){s.push(c.thinking);continue}if(c.type===`text`&&typeof c.text==`string`){a+=(a?`
|
|
11
|
+
`:``)+c.text;continue}if(c.type===`tool_use`){o(e,a,i),a=``;let t=String(c.id??``),s={id:ln(n.length),role:`tool`,content:``,toolName:String(c.name??`tool`),toolInput:c.input,toolUseId:t,timestamp:i};n.push(s),t&&r.set(t,s);continue}if(c.type===`tool_result`){let e=String(c.tool_use_id??``),t=r.get(e);t&&(t.toolResult=dn(c.content),t.isError=!!c.is_error)}}o(e,a,i),e===`assistant`&&s.length>0&&l(s.join(`
|
|
12
|
+
|
|
13
|
+
`),i)}for(;a<t.length;)s(t[a]),a+=1;return n}var hn=new Set;function gn(e,t=140){return e.length>t?`${e.slice(0,t-1)}…`:e}function _n(){m.flush(`__thinking__`);let e=v.getState().iteration;i.getState().flushThinkingLog(Math.max(1,e?.index??1)),i.getState().clearThinking()}function vn(e){let t=f(`session.start`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0));let n=e.payload,r=pn(n.provider),a=pn(n.model),o=v.getState().session?.id,s=!o||o!==n.sessionId||n.reset;if((n.appVersion||n.latestVersion)&&v.getState().setUpdateInfo({appVersion:String(n.appVersion??``),latestVersion:String(n.latestVersion??``),updateAvailable:!!n.updateAvailable}),Array.isArray(n.providerStatuses)&&k.getState().hydrate(n.providerStatuses.map(e=>({providerId:e.providerId,model:e.model,state:e.state,reason:e.lastErrorKind??e.state,updatedAt:e.lastFailureAt??Date.now(),stateExpiresAt:e.stateExpiresAt??void 0}))),n.needsSetup&&le(`setup`),s?(Y.getState().clear(),v.getState().startSession({id:n.sessionId,startedAt:Date.now(),model:a,provider:r})):v.getState().setSession({id:n.sessionId,startedAt:v.getState().session?.startedAt??Date.now(),model:a,provider:r}),v.getState().setEnv({maxContext:n.maxContext,projectRoot:n.projectRoot??``,projectName:n.projectName,cwd:n.cwd,mode:n.mode,contextMode:n.contextMode,inputCost:n.inputCost,outputCost:n.outputCost,cacheReadCost:n.cacheReadCost}),S.getState().setConfig({provider:r,model:a}),s){!n.needsSetup&&F()&&!un()&&u({sidebarOpen:!1}),m.dropAll(),i.getState().clearMessages(),i.getState().setBoundSessionId(n.sessionId),c.getState().setSearchActiveMessageId(null),i.getState().setLoading(!1),v.setState({todos:[]}),V(`ready`);let e=j.getState();if(n.clearedSessionId){let t=new Map;for(let[r,i]of e.agents)i.sessionId!==n.clearedSessionId&&t.set(r,i);j.setState({agents:t})}else e.clear();x.getState().setTreeLoading(!0),_().send({type:`files.tree`,payload:{path:v.getState().cwd}})}let l=n.replayMessages,d=n.replayMarkers??[];if(l&&l.length>0){let e=i.getState();(s||e.messages.length===0||e.boundSessionId!==n.sessionId||e.isLoading)&&(e.setMessages(mn(l,d)),e.setBoundSessionId(n.sessionId))}if(l){let e=n.replayUsage;if(e){let t=v.getState(),n=e.input??0,r=e.output??0,i=e.cacheRead??0,a=e.cacheWrite??0;v.setState({totalTokens:{input:n,output:r,cacheRead:i,cacheWrite:a},cost:(n*t.inputCost+r*t.outputCost+i*t.cacheReadCost)/1e6})}let t=n.lastInputTokens;typeof t==`number`&&t>0&&v.setState({lastInputTokens:t}),s&&!n.needsSetup&&(un()||(F()?u({sidebarOpen:!1}):c.getState().currentView!==`chat`&&ue(`chat`))),typeof window<`u`&&window.matchMedia?.(`(max-width: 768px)`).matches&&c.getState().setSidebarOpen(!1)}}function yn(e){if(!p(e))return;let t=e.payload,n=e=>e.toLocaleString(),r=[...t.tools.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8),a=[...t.messages.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8);i.getState().addMessage({role:`assistant`,content:[`📊 **Context breakdown** (heuristic — 4 chars/token)`,``,`**Total estimate:** ${n(t.total)} tokens`,`• System prompt: ${n(t.systemPrompt)}`,`• Tool schemas: ${n(t.tools.total)} (${t.tools.count} tools)`,`• Messages: ${n(t.messages.total)} (${t.messages.count} messages)`,``,`**Top tool schemas:**`,...r.map(e=>` · ${e.name}: ${n(e.tokens)}`),``,`**Top messages:**`,...a.map(e=>` · #${e.index} ${e.role}: ${n(e.tokens)} — ${e.preview||`(empty)`}`)].join(`
|
|
14
|
+
`)})}function bn(e){let t=e.payload;t.success?N.success(t.message):N.error(t.message),_(S.getState().wsUrl).listSavedProviders()}function xn(e){let t=e.payload;if(!t.success||!t.provider||!t.model)return;S.getState().setProvider(t.provider),S.getState().setModel(t.model);let n=t.previousProvider&&t.previousModel?`${t.previousProvider} / ${t.previousModel}`:o.t(`settings:toast.previousModel`),r=`${t.provider} / ${t.model}`;i.getState().addMessage({role:`system`,content:o.t(t.runActive?`settings:toast.modelSwitchedRunActive`:`settings:toast.modelSwitchedNextRequest`,{from:n,to:r})})}function Sn(e){if(!p(e))return;d(e);let t=e.payload,n=t.reductions.length?t.reductions.map(e=>`${e.phase}: ${e.saved}`).join(`, `):`no-op`;t.repaired&&(n+=`; repaired ${t.repaired.removedToolUses?.length??0} tool_use, ${t.repaired.removedToolResults?.length??0} tool_result, ${t.repaired.removedMessages} empty messages`),i.getState().addMessage({role:`system`,content:`🗜️ Context compacted: ${t.before} → ${t.after} tokens (saved ~${t.saved}). ${n}`}),v.setState({lastInputTokens:t.after})}function Cn(e){if(!p(e))return;d(e);let t=e.payload,n,r;t.budget&&t.budget.availableInputTokens>0?(n=Math.min(100,Math.max(0,Math.round(t.budget.load*100))),r=`input budget`):(n=t.maxContext>0?Math.min(100,Math.max(0,Math.round(t.tokens/t.maxContext*100))):0,r=`context`),i.getState().addMessage({role:`assistant`,content:`Compaction failed at ${t.level} (${n}% ${r}): ${t.message}`,isError:t.fatal}),N.error(`Compaction failed: ${t.message}`)}function wn(e){if(!p(e))return;d(e);let t=e.payload,r=fn(t.content),a=t.usage,o=(a.input??0)+(a.cacheWrite??0)-(a.cacheRead??0);o>0&&v.setState({lastInputTokens:o}),v.getState().updateUsage(t.usage);let{inputCost:s,outputCost:c,cacheReadCost:l}=v.getState(),u=(t.usage.input*s+t.usage.output*c+(t.usage.cacheRead??0)*l)/1e6;u>0&&v.getState().addCost(u);let f=n(t.stopReason);f&&i.getState().setLoading(!1);let h=i.getState().currentAssistantMessageId;if(h){m.flush(h);let e=i.getState().messages.find(e=>e.id===h)?.content??``;r.trim()&&(e.trim()?r.startsWith(e)&&r.length>e.length&&i.getState().updateMessage(h,{content:r}):i.getState().updateMessage(h,{content:r})),i.getState().finalizeMessage(h,{final:f}),t.usage.output>0&&i.getState().updateMessage(h,{usage:t.usage})}else if(r.trim()){let e=i.getState().addMessage({role:`assistant`,content:r,usage:t.usage.output>0?t.usage:void 0});i.getState().finalizeMessage(e,{final:f})}i.getState().setCurrentAssistantMessage(null),m.flush(`__thinking__`),i.getState().clearThinking()}function Tn(e){if(!p(e))return;d(e);let t=e.payload;m.flush(`__thinking__`),i.getState().flushThinkingLog(t.index),i.getState().clearThinking();let n=v.getState().iteration;n&&v.getState().setIteration({index:t.index,max:n.max})}function En(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Iteration limit reached: ${t.currentIterations}/${t.currentLimit}.`,isError:!0}),N.warn(`Iteration limit reached (${t.currentIterations}/${t.currentLimit})`)}function Dn(e){if(!p(e))return;let t=e.payload,n=Math.max(0,Math.round(t.delayMs/100)/10);N.warn(`${t.providerId} retry ${t.attempt} after ${n}s (${t.status})`)}function On(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`Provider error from \`${t.providerId}\` (${t.status}).`,t.description,t.retryable?`_Retryable; WrongStack may recover automatically._`:``].filter(Boolean).join(`
|
|
15
|
+
|
|
16
|
+
`),isError:!0}),N.error(`${t.providerId} provider error (${t.status})`)}function kn(e){if(!p(e))return;let t=e.payload,n=`${t.from.providerId}/${t.from.model}`,r=`${t.to.providerId}/${t.to.model}`;i.getState().addMessage({role:`assistant`,content:`Provider fallback: \`${n}\` returned ${t.status}; switching to \`${r}\`${t.providerSwitched?` with provider change`:``}.`}),N.warn(`Fallback to ${r}`)}function An(e){let t=e.payload;k.getState().update({providerId:t.providerId,model:t.model,state:t.newState,reason:t.reason,updatedAt:t.timestamp,stateExpiresAt:t.stateExpiresAt});let n=`${t.providerId}/${t.model}`;t.newState===`blocked`&&t.oldState!==`blocked`?N.warn(`${n} entered the limit-reset waiting room`):t.newState===`healthy`&&t.oldState!==`healthy`&&N.success(`${n} recovered and rejoined model routing`)}function jn(e){let t=e.payload;if(t&&typeof t==`object`&&`error`in t){k.getState().setError(`Provider status tracking not available`);return}k.getState().applySnapshot(t)}function Mn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Waiting room skipped \`${t.providerId}/${t.model}\`. ${t.lastError}`})}function Nn(e){if(!p(e))return;d(e);let t=e.payload;N.warn(`Provider stream event skipped: ${t.eventType}`),i.getState().addMessage({role:`assistant`,content:`Provider stream warning (${t.eventType}): ${t.message}`,isError:!0})}function Pn(e){if(!p(e))return;d(e);let t=e.payload,n=t.tools||t.kind||`assistant response`;if(t.action===`steer`){N.info(`Possible repetition noticed for ${n}; changing approach.`);return}i.getState().addMessage({role:`assistant`,content:`Loop guard stopped the turn: ${n} made no progress ${t.repeatCount} time(s) (iteration ${t.iteration+1}).`,isError:!0}),N.warn(`Loop guard stopped the turn`)}function Fn(e){if(!p(e))return;d(e);let t=e.payload,n=gn(t.task,180);i.getState().addMessage({role:`assistant`,content:`Delegating to \`${t.target}\`: ${n}`}),j.getState().pushAgentTimelineEntry({subagentId:t.target,agentName:t.target,content:n,kind:`status`,iteration:0,ts:new Date().toISOString(),status:`delegating`})}function In(e){if(!p(e))return;d(e);let t=e.payload,n=Math.max(0,Math.round(t.durationMs/100)/10),r=typeof t.costUsd==`number`&&t.costUsd>0?` · $${t.costUsd.toFixed(4)}`:``,a=`${t.iterations} iteration(s), ${t.toolCalls} tool call(s), ${n}s${r}`;i.getState().addMessage({role:`assistant`,content:[`Delegate ${t.ok?`completed`:`failed`} for \`${t.target}\`${t.status?` (${t.status})`:``}.`,t.summary,a].join(`
|
|
17
|
+
`),isError:!t.ok}),j.getState().pushAgentTimelineEntry({subagentId:t.subagentId??t.target,agentName:t.target,content:t.summary,kind:t.ok?`status`:`error`,iteration:t.iterations,ts:new Date().toISOString(),status:t.status??(t.ok?`completed`:`failed`)}),t.ok||N.warn(`Delegate failed: ${t.target}`)}function Ln(e){if(!p(e))return;let t=e.payload,n=`${t.tool}: ${t.pattern}`;t.decision===`always`?N.success(`Always allowed ${n}`):N.warn(`Denied ${n}`)}function Rn(e){if(!p(e))return;d(e);let t=e.payload,n=t.removedToolUses.length+t.removedToolResults.length+t.removedMessages,r=t.beforeMessages!==void 0&&t.afterMessages!==void 0?` Messages: ${t.beforeMessages} -> ${t.afterMessages}.`:``;i.getState().addMessage({role:`assistant`,content:`Context repaired: removed ${n} orphan protocol item(s).${r} tool_use ${t.removedToolUses.length}, tool_result ${t.removedToolResults.length}.`})}function zn(e){if(!p(e))return;d(e);let t=e.payload;v.getState().setContextUsage(t.tokens,t.maxContext)}function Bn(e){if(!p(e))return;let t=e.payload;v.getState().setEnv({maxContext:t.maxContext})}function Vn(e){if(!p(e))return;let t=e.payload;v.getState().setContextUsage(t.used,t.limit);let n=t.limit>0?Math.round(t.used/t.limit*100):0;N.warn(`Token threshold reached (${n}%)`)}function Hn(e){if(!p(e))return;let t=e.payload.model||`<unknown>`;hn.has(t)||(hn.add(t),N.warn(`Cost estimate unavailable for ${t}`))}function Un(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Session ${t.sessionId} is damaged: ${t.detail}`,isError:!0}),N.error(`Session damage detected`)}function Wn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Session rewound to prompt #${t.toPromptIndex}. Removed ${t.removedEvents} event(s); reverted ${t.revertedFiles.length} file(s).`}),N.info(`Session rewound`)}function Gn(e){if(!p(e))return;let t=e.payload;N.success(`Checkpoint #${t.promptIndex} written (${t.fileCount} file(s))`)}function Kn(e){if(!p(e))return;let t=e.payload;g.getState().pushEvent({id:`inflight_${Date.now()}`,kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:`In-flight: ${t.context}`,magnitude:1,data:t,raw:e.payload,flowGroup:`session`})}function qn(e){p(e)&&e.payload.reason===`recovered`&&N.info(`Recovered previous in-flight operation`)}function Jn(){S.getState().setWsConnected(!1),typeof document<`u`&&document.dispatchEvent(new CustomEvent(`chat:session-end`))}function Yn(e){if(!p(e))return;let t=e.payload;v.getState().setContextModes(t.modes.map(e=>({id:e.id,name:e.name,description:e.description,thresholds:e.thresholds,preserveK:e.preserveK,eliseThreshold:e.eliseThreshold,custom:e.custom}))),v.getState().setEnv({contextMode:t.activeId})}function Xn(e){if(!p(e))return;let t=e.payload;v.getState().setEnv({contextMode:t.id})}function Zn(e){let t=e.payload;te.getState().setEntries(t.sessions??[],t.error??null)}function Qn(e){if(!p(e))return;let t=e.payload;_n(),i.getState().addMessage({role:`assistant`,content:`[${t.phase}] ${t.message}`,isError:!0}),i.getState().setLoading(!1)}var $n={"context.debug":yn,"key.operation_result":bn,"model.switch_result":xn,"context.compacted":Sn,"compaction.failed":Cn,"provider.response":wn,"iteration.completed":Tn,"iteration.limit_reached":En,"provider.retry":Dn,"provider.error":On,"provider.fallback":kn,"provider.status_changed":An,"provider.active_blocked":Mn,"provider.stream_error":Nn,"tool.loop_detected":Pn,"delegate.started":Fn,"delegate.completed":In,"trust.persisted":Ln,"context.repaired":Rn,"ctx.pct":zn,"ctx.max_context":Bn,"token.threshold":Vn,"token.cost_estimate_unavailable":Hn,"session.end":Jn,"session.damaged":Un,"session.rewound":Wn,"checkpoint.written":Gn,"in_flight.started":Kn,"in_flight.ended":qn,"context.modes.list":Yn,"context.mode.changed":Xn,"sessions.list":Zn,"provider.status.snapshot":jn,error:Qn};function er(e){let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`🛠️ **Registered tools** (${t.tools.length})`,``,...t.tools.map(e=>`• \`${e.name}\`${e.params.length?` (${e.params.join(`, `)})`:``} — ${e.description||`_no description_`}`)].join(`
|
|
18
|
+
`)})}function tr(e){let t=e.payload,n=t.text?.trim();i.getState().addMessage({role:`assistant`,content:t.error?`Memory read failed: ${t.error}`:n?`🧠 **Memory** \n\n${n}`:`🧠 **Memory**
|
|
19
|
+
|
|
20
|
+
_empty — nothing remembered yet_`})}function nr(e){let t=e.payload,n=i.getState();if(!t.success){n.addMessage({role:`assistant`,content:`❌ **Config Doctor failed**\n\n${t.error??`Unknown config error.`}`,isError:!0});return}if(!t.changed){n.addMessage({role:`assistant`,content:`✅ **Config Doctor** — active profile config is healthy.\n\n\`${t.configPath}\``});return}let r=t.changes.slice(0,40),a=[t.applied?`✅ **Config Doctor** — repaired ${t.changes.length} field(s).`:`🩺 **Config Doctor** — found ${t.changes.length} repairable field(s).`,``,...r.map(e=>`- \`${e.path}\` — ${e.action===`added`?`missing default`:`invalid shape; default required`}`)];t.changes.length>r.length&&a.push(`- _…and ${t.changes.length-r.length} more_`),a.push(``,`Config: \`${t.configPath}\``),t.applied&&t.backupPath&&a.push(`Backup: \`${t.backupPath}\``),t.applied||a.push(``,"Run `/doctor fix` to apply these repairs."),n.addMessage({role:`assistant`,content:a.join(`
|
|
21
|
+
`)})}function rr(e){let t=e.payload;if(t.error){i.getState().addMessage({role:`assistant`,content:`❌ ${t.error}`});return}let n=t.memories??[],r=t.stats,a=[`## 🧠 SAGE`];if(r){let e=r.byStatus.active??0,t=r.byStatus.stale??0,n=r.byStatus.archived??0;a.push(`**Total:** ${r.total} · Active: ${e} · Stale: ${t} · Archived: ${n} · Graph edges: ${r.edges}`);let i=Object.entries(r.byKind).filter(([,e])=>e>0).map(([e,t])=>`${e}=${t}`).join(`, `);i&&a.push(`**Kinds:** ${i}`),a.push(``)}if(n.length===0)a.push(`_No entries to display._`);else{for(let e of n.slice(0,20)){let t=e.text.length>80?`${e.text.slice(0,78)}…`:e.text,n=e.tags.length>0?e.tags.map(e=>`\`${e}\``).join(` `):``,r=e.createdAt.slice(0,10);a.push(`- \`${e.id.slice(0,12)}…\` [${e.kind}|${e.status}] ${r} — ${t}${n?` ${n}`:``}`)}n.length>20&&a.push(`_…and ${n.length-20} more_`)}a.push(``),a.push("*Use `/memory` in the TUI or build a Memory Manager panel for full editing.*"),i.getState().addMessage({role:`assistant`,content:a.join(`
|
|
22
|
+
`)})}function ir(e){let t=e.payload;if(t.error){i.getState().addMessage({role:`assistant`,content:`❌ ${t.error}`});return}if(!t.memory){i.getState().addMessage({role:`assistant`,content:`❌ Memory not found.`});return}let n=t.memory,r=n.tags.length>0?n.tags.map(e=>`\`${e}\``).join(` `):`—`,a=n.anchors.length>0?n.anchors.map(e=>e.path??e.type).join(`, `):`—`,o=[`## 🧠 Memory: \`${n.id}\``,``,`**Text:** ${n.text}`,`**Kind:** \`${n.kind}\` · **Status:** \`${n.status}\``,`**Created:** ${n.createdAt.slice(0,10)} · **Updated:** ${n.updatedAt.slice(0,10)}`,`**Importance:** ${n.importance} · **Confidence:** ${n.confidence}`,`**Tags:** ${r}`,`**Anchors:** ${a}`];i.getState().addMessage({role:`assistant`,content:o.join(`
|
|
23
|
+
`)})}function ar(e){let t=e.payload;if(t.error){i.getState().addMessage({role:`assistant`,content:`❌ Update failed: ${t.error}`});return}if(t.memory){let e=String(t.memory.id??``);i.getState().addMessage({role:`assistant`,content:`✅ Memory \`${e}\` updated.`})}}function or(e){let t=e.payload;if(t.error){i.getState().addMessage({role:`assistant`,content:`❌ Failed to create memory: ${t.error}`});return}if(t.memory){let e=String(t.memory.id??``);i.getState().addMessage({role:`assistant`,content:`✅ Memory \`${e}\` created.`})}}function sr(e){let t=e.payload,n=i.getState();if(t.error){n.addMessage({role:`assistant`,content:`❌ Recover failed: ${t.error}`});return}if(!t.memory)return;let r=String(t.memory.id??``);if(t.noop){let e=t.activeId??r;n.addMessage({role:`assistant`,content:`ℹ️ Nothing to recover — \`${e}\` is already the active version.`});return}n.addMessage({role:`assistant`,content:`✅ Memory \`${r}\` recovered.`})}function cr(e){let t=e.payload,n=i.getState();if(t.error){n.addMessage({role:`assistant`,content:`❌ Candidate resolve failed: ${t.error}`});return}if(!t.candidate)return;let r=t.resolvedAction===`reject`?`rejected`:`accepted`;n.addMessage({role:`assistant`,content:`✅ Candidate \`${t.candidate.id}\` ${r}.`})}function lr(e){let t=e.payload,n=i.getState();if(t.error){n.addMessage({role:`assistant`,content:`❌ Backfill failed: ${t.error}`});return}let r=`examined ${t.examined??0} · recoverable ${t.recoverable??0} · recovered ${t.recovered??0}`;n.addMessage({role:`assistant`,content:t.dryRun?`ℹ️ Backfill preview (dry-run) — ${r}. Re-run with apply to write.`:`✅ Backfill applied — ${r}.`})}function ur(e){let t=e.payload;if(!t.enabled){i.getState().addMessage({role:`assistant`,content:`🎯 **Skills**
|
|
24
|
+
|
|
25
|
+
_disabled (config.features.skills = false)_`});return}let n=[`🎯 **Skills** (${t.skills.length})`,``,...t.skills.length===0?[`_none registered_`]:t.skills.map(e=>`• \`${e.name}\`${e.version?` v${e.version}`:``} _(${e.source})_ — ${e.description||e.trigger||`_no description_`}`)];t.error&&n.push(``,`⚠ ${t.error}`),i.getState().addMessage({role:`assistant`,content:n.join(`
|
|
26
|
+
`)})}function dr(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`🩺 **Runtime diagnostics**`,``,`**Provider:** \`${t.provider}\` / \`${t.model}\``,`**Mode:** \`${t.mode}\``,`**Session:** \`${t.sessionId}\``,`**CWD:** \`${t.cwd}\``,``,`**Tools:** ${t.tools.count}`,`**Messages:** ${t.messages} · **Todos:** ${t.todos}`,`**Usage:** ${t.usage.input.toLocaleString()} in · ${t.usage.output.toLocaleString()} out${t.usage.cacheRead?` · ${t.usage.cacheRead.toLocaleString()} cache`:``}`,``,`**Features:** memory=${t.features.memory?`✓`:`✗`} · skills=${t.features.skills?`✓`:`✗`} · modelsRegistry=${t.features.modelsRegistry?`✓`:`✗`}`].join(`
|
|
27
|
+
`)})}function fr(e){if(!p(e))return;let t=e.payload,n=Math.floor(t.elapsedMs/1e3),r=n<60?`${n}s`:n<3600?`${Math.floor(n/60)}m ${n%60}s`:`${Math.floor(n/3600)}h ${Math.floor(n%3600/60)}m`;i.getState().addMessage({role:`assistant`,content:[`📈 **Session stats**`,``,`**Session:** \`${t.sessionId}\``,`**Provider/Model:** \`${t.provider}\` / \`${t.model}\``,`**Elapsed:** ${r}`,``,`**Usage:** ${t.usage.input.toLocaleString()} in · ${t.usage.output.toLocaleString()} out`,...t.cache&&t.cache.readTokens>0?[`**Cache:** ${t.cache.readTokens.toLocaleString()} read · ${t.cache.writeTokens.toLocaleString()} write · hit ratio ${(t.cache.hitRatio*100).toFixed(1)}%`]:[],`**Cost:** ${t.cost.toFixed(4)}`,``,`**Messages:** ${t.messages} · **Files read:** ${t.readFiles} · **Tools available:** ${t.tools}`,...t.sideEffectCount?[`**Side effects:** ⚠ ${t.sideEffectCount}`]:[]].join(`
|
|
28
|
+
`)})}function pr(e){if(!p(e))return;let t=e.payload;v.getState().setTodos(t.todos??[])}function mr(e){let t=e.payload;v.getState().setModes(t.modes.map(e=>({id:e.id,name:e.name,description:e.description}))),v.getState().setEnv({mode:t.activeId})}function $(e){ce.getState().handleResult(e.type,e.payload)}var hr={...Le,...$n,...vt,...at,...Qt,...Ke,...sn,"config.doctor.result":nr,"session.start":e=>{vn(e),K()},"specs.list":e=>{let t=e.payload;se.getState().setSpecs(t.specs??[])},"specs.detail":e=>{se.getState().setDetail(e.payload)},"sdd.board.snapshot":e=>{D.getState().setSnapshot(e.payload)},"sdd.board.list":e=>{let t=e.payload;D.getState().setBoards(t.boards??[])},"sdd.board.lifecycle_result":e=>{let t=e.payload,n=D.getState();n.setLifecycleResult({...t,at:Date.now()}),n.setDestroying(!1),t.op===`destroy`&&t.ok&&C.getState().reset()},"sdd.spec.snapshot":e=>{C.getState().setSnapshot(e.payload)},"sdd.spec.agent_text":e=>{C.getState().setAgentText(e.payload.text??``)},"sdd.spec.error":e=>{C.getState().setError(e.payload.message??`Error`)},"sdd.run.started":e=>{C.getState().setStartedRunId(e.payload.runId??null)},"goal.assess.result":e=>{let t=e.payload;oe.getState().setResult({realistic:t.realistic,durationClaimed:t.durationClaimed,explanation:t.explanation,recommendedDuration:t.recommendedDuration,concerns:t.concerns,parseFailed:t.parseFailed,parseError:t.parseError,reqSeq:t.reqSeq??0})},"kanban.list":$,"kanban.get":$,"kanban.health":$,"kanban.create":$,"kanban.duplicate":$,"kanban.update":$,"kanban.delete":$,"kanban.generate":$,"kanban.snapshot":$,"kanban.taskgraph.export":$,"kanban.taskgraph.sync":$,"kanban.task.ready":$,"kanban.task.add":$,"kanban.task.split":$,"kanban.task.merge":$,"kanban.task.update":$,"kanban.task.move":$,"kanban.task.copy":$,"kanban.task.transfer":$,"kanban.task.transition":$,"kanban.task.chain":$,"kanban.task.chain.get":$,"kanban.task.claim":$,"kanban.task.release":$,"kanban.task.metric.add":$,"kanban.task.metric.update":$,"kanban.task.check.add":$,"kanban.task.check.update":$,"kanban.task.note.add":$,"kanban.task.assign":$,"kanban.task.dispatch":$,"kanban.task.remove":$,"kanban.task.get":$,"kanban.column.add":$,"kanban.column.remove":$,"kanban.run.start":$,"kanban.supervisor.status":$,"kanban.supervisor.audit":$,"kanban.task.verify":$,"kanban.task.verification_started":$,"kanban.task.verification_completed":$,"kanban.decomposition.approve":$,"kanban.decomposition.reject":$,"kanban.decomposition.resolved":$,"kanban.decomposition.applied":$,"tools.list":er,"memory.list":tr,"memory.sage.list":rr,"memory.sage.get":ir,"memory.sage.update":ar,"memory.sage.remember":or,"memory.sage.recover":sr,"memory.sage.candidateResolve":cr,"memory.sage.backfillRecoverable":lr,"skills.list":ur,"diag.get":dr,"stats.get":fr,side_effects:e=>{if(!p(e))return;let t=e.payload;ie.getState().setSideEffects(t.sideEffects??[])},"todos.updated":pr,"todos.cleared":e=>{p(e)&&v.getState().setTodos([])},"agent.timeline.message":e=>{if(!p(e))return;let t=e.payload;j.getState().pushAgentTimelineEntry({subagentId:t.subagentId,agentName:t.agentName,content:t.content,kind:t.kind,iteration:t.iteration,ts:t.ts,toolName:t.toolName,toolOk:t.toolOk,costUsd:t.costUsd})},"agent.status_changed":e=>{if(!p(e))return;let t=e.payload;j.getState().pushAgentTimelineEntry({subagentId:t.subagentId,agentName:t.agentName,content:t.summary??t.status,kind:`status`,iteration:0,ts:t.ts,status:t.status})},"tasks.updated":e=>{},"plan.updated":e=>{},"modes.list":mr,"session.checkpoints":e=>{},"process.list":e=>{},"projects.list":e=>{},"projects.added":e=>{},"projects.selected":e=>{},"tool.disabled":e=>{},"tool.enabled":e=>{},"provider.response":e=>{wn(e)},"tool.progress":e=>{He(e);let t=b(e),n=y.getState();for(let e of t)n.recordFileEvent(e)},"tool.started":e=>{Ve(e);let t=b(e);t.length>0&&y.getState().startActivities(t)},"tool.executed":e=>{Ue(e);let t=e.payload;t.id&&y.getState().finishTool(t.id,{durationMs:t.durationMs,ok:t.ok!==!1})},"codemap.tool_started":e=>{d(e);let t=b(e);t.length>0&&y.getState().startActivities(t)},"codemap.tool_executed":e=>{d(e);let t=e.payload;t.id&&y.getState().finishTool(t.id,{durationMs:t.durationMs,ok:t.ok!==!1})},"codemap.file_event":e=>{let t=b(e),n=y.getState();for(let e of t)n.recordFileEvent(e)},"codemap.index_updated":e=>{let t=e.payload;de.getState().notifyIndexUpdated(t?.at)},"file.saved":e=>{let t=b(e);if(t.length>0){let e=y.getState();for(let n of t)e.recordFileEvent(n)}},"memory.event":e=>{Vt(e);let t=b(e);if(t.length>0){let e=y.getState();for(let n of t)e.recordActivity(n)}}};function gr(e){let t=[];for(let[n,r]of Object.entries(hr))r&&t.push(e.on(n,t=>{e.consumeSuppressedChatEcho(n)||r(t)}));return()=>{for(let e of t)e()}}function _r(){let{autoConnect:e,wsUrl:t}=S(),n=S(e=>e.setWsStatus);(0,P.useEffect)(()=>{if(!e)return;ye();let r=_(t),i=!1,a=r.onStatus(e=>{i||n(e)});r.connect().then(()=>{i||r.getPrefs()}).catch(e=>{i||console.warn(JSON.stringify({level:`warn`,event:`webui.ws_connection_failed`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))});let o=gr(r);return()=>{i=!0,o(),a()}},[e,t,n])}function vr(){let{wsUrl:e}=S(),t=_(e),n=(0,P.useCallback)((e,n)=>t.isConnected?t.sendMessage(e,n):null,[t]),r=(0,P.useCallback)(()=>t.sendAbort(),[t]),{hideConfirm:i}=c(),a=(0,P.useCallback)((e,n)=>{t.sendConfirm(e,n),i()},[t,i]),o=(0,P.useCallback)((e,n)=>t.switchModel(e,n),[t]),s=(0,P.useCallback)(()=>t.listProviders(),[t]),l=(0,P.useCallback)(e=>t.listProviderModels(e),[t]),u=(0,P.useCallback)(()=>t.listSavedProviders(),[t]),d=(0,P.useCallback)((e,n,r)=>t.addKey(e,n,r),[t]),f=(0,P.useCallback)((e,n,r)=>t.updateKey(e,n,r),[t]),p=(0,P.useCallback)((e,n)=>t.deleteKey(e,n),[t]),m=(0,P.useCallback)((e,n)=>t.setActiveKey(e,n),[t]),h=(0,P.useCallback)((e,n,r,i,a,o)=>t.addProvider(e,n,r,i,a,o),[t]),g=(0,P.useCallback)(e=>t.removeProvider(e),[t]),v=(0,P.useCallback)(e=>{te.getState().setLoading(!0),t.listSessions(e)},[t]),y=(0,P.useCallback)(e=>t.deleteSession(e),[t]),b=(0,P.useCallback)((e,n)=>{te.getState().updateEntryName(e,n),t.renameSession(e,n)},[t]),ee=(0,P.useCallback)(e=>t.resumeSessionById(e),[t]),x=(0,P.useCallback)(()=>t.saveSession(),[t]),C=(0,P.useCallback)(e=>t.listTools(e),[t]),ne=(0,P.useCallback)(e=>t.listMemory(e),[t]),w=(0,P.useCallback)(e=>t.listSageMemories(e),[t]),re=(0,P.useCallback)((e,n)=>t.listSageMemoriesPage(e,n),[t]),ie=(0,P.useCallback)((e,n)=>t.getSage(e,n),[t]),T=(0,P.useCallback)((e,n,r)=>t.getSageGraph(e,n,r),[t]),ae=(0,P.useCallback)((e,n,r)=>t.updateSage(e,n,r),[t]),oe=(0,P.useCallback)((e,n)=>t.deleteSage(e,n),[t]),E=(0,P.useCallback)((e,n)=>t.rememberSage(e,n),[t]),D=(0,P.useCallback)((e,n)=>t.findMemoriesForFile(e,n),[t]),O=(0,P.useCallback)((e,n)=>t.recoverSage(e,n),[t]),se=(0,P.useCallback)((e,n)=>t.resolveMemoryCandidate(e,n),[t]),k=(0,P.useCallback)((e,n)=>t.backfillRecoverable(e,n),[t]),A=(0,P.useCallback)(e=>t.listSkills(e),[t]),ce=(0,P.useCallback)(e=>t.getDiag(e),[t]),j=(0,P.useCallback)(e=>t.getStats(e),[t]),M=(0,P.useCallback)(()=>t.getPlan(),[t]),le=(0,P.useCallback)(()=>t.listModes(),[t]),ue=(0,P.useCallback)(e=>t.switchMode(e),[t]),de=(0,P.useCallback)(()=>t.listContextModes(),[t]),N=(0,P.useCallback)(e=>t.switchContextMode(e),[t]),fe=(0,P.useCallback)(e=>t.createContextMode(e),[t]),F=(0,P.useCallback)((e,n)=>t.updateContextMode(e,n),[t]),I=(0,P.useCallback)(e=>t.deleteContextMode(e),[t]),L=(0,P.useCallback)(()=>t.repairContext(),[t]),R=(0,P.useCallback)((e,n)=>t.refineModel(e,n),[t]),pe=(0,P.useCallback)(e=>t.switchAutonomy(e),[t]),z=(0,P.useCallback)(e=>t.updatePrefs(e),[t]);return{client:t,sendMessage:n,sendAbort:r,sendConfirm:a,switchModel:o,listProviders:s,listProviderModels:l,listSavedProviders:u,addKey:d,updateKey:f,deleteKey:p,setActiveKey:m,addProvider:h,removeProvider:g,listSessions:v,deleteSession:y,renameSession:b,resumeSession:ee,saveSession:x,listTools:C,listMemory:ne,listSageMemories:w,listSageMemoriesPage:re,getSage:ie,getSageGraph:T,updateSage:ae,deleteSage:oe,rememberSage:E,findMemoriesForFile:D,recoverSage:O,resolveMemoryCandidate:se,backfillRecoverable:k,listSkills:A,getDiag:ce,getStats:j,getPlan:M,listModes:le,switchMode:ue,listContextModes:de,switchContextMode:N,createContextMode:fe,updateContextMode:F,deleteContextMode:I,repairContext:L,toggleGoalAutonomous:(0,P.useCallback)(e=>{t.send({type:`goal.toggleAutonomous`,payload:{autonomous:e}})},[t]),startGoal:(0,P.useCallback)((e,n,r=!0)=>{t.send({type:`goal.start`,payload:{title:e,phases:n,autonomous:r}})},[t]),pauseGoal:(0,P.useCallback)(()=>{t.send({type:`goal.pause`,payload:{}})},[t]),resumeGoal:(0,P.useCallback)(()=>{t.send({type:`goal.resume`,payload:{}})},[t]),stopGoal:(0,P.useCallback)(()=>{t.send({type:`goal.stop`,payload:{}})},[t]),selectGoal:(0,P.useCallback)(e=>{t.send({type:`goal.selectPhase`,payload:{phaseId:e}})},[t]),switchAutonomy:pe,updatePrefs:z,refineModel:R}}export{Ne as a,je as c,Y as i,F as l,_r as n,H as o,kt as r,Ae as s,vr as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{nt as e,tt as t}from"./vendor-
|
|
1
|
+
import{nt as e,tt as t}from"./vendor-2VBBgNb5.js";function n(...n){return t(e(n))}function r(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}export{r as n,n as t};
|