@wrongstack/webui 1.0.24 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AgentRosterView-BJ-1SQOm.js +12 -0
- package/dist/assets/{AnalyticsDashboard-DgqJODVI.js → AnalyticsDashboard-FYrD8BFQ.js} +1 -1
- package/dist/assets/AudienceMemoryPanel-BghMZicW.js +3 -0
- package/dist/assets/ChangesView-B3uQtZGR.js +3 -0
- package/dist/assets/ChimeraReviewsView-CBRbTHGM.js +1 -0
- package/dist/assets/ChronicleDashboard-B1E-_u64.js +1 -0
- package/dist/assets/CodeEditor-CbcWuMGV.js +2 -0
- package/dist/assets/CodeMap-WOfveRTG.js +1 -0
- package/dist/assets/{CronJobsPanel-GTK038V9.js → CronJobsPanel-DOFA5WVq.js} +1 -1
- package/dist/assets/{DeadCodeScanPanel-DX4OEuyp.js → DeadCodeScanPanel-4ToPZX7e.js} +1 -1
- package/dist/assets/{DebugDashboard-CKp3sa_k.js → DebugDashboard-DAsNHSpG.js} +1 -1
- package/dist/assets/{DesignGalleryView-DVUTYaP6.js → DesignGalleryView-Dd5YnKhs.js} +1 -1
- package/dist/assets/GoalView-BaDGAXuQ.js +1 -0
- package/dist/assets/KanbanView-CG8bVhpR.js +3 -0
- package/dist/assets/{MailboxDetailView-CylnzTVc.js → MailboxDetailView-COxz-eEJ.js} +1 -1
- package/dist/assets/{MemoryDrawer-DJ0Y98Z8.js → MemoryDrawer-4lDXuHCi.js} +1 -1
- package/dist/assets/MemoryManager-DQlnpch1.js +1 -0
- package/dist/assets/{ProcessMonitor-BnQ3vJtn.js → ProcessMonitor-BUjfYqG3.js} +1 -1
- package/dist/assets/PromptJournalView-o2dmPrwg.js +1 -0
- package/dist/assets/ProviderTestView-5wNbI46L.js +1 -0
- package/dist/assets/QueuePanel-DP9D99DX.js +1 -0
- package/dist/assets/{RefreshDebugView-s6MyGpPq.js → RefreshDebugView-CB7_a_TI.js} +1 -1
- package/dist/assets/{RepositoryHistoryView-CWi_Zo3F.js → RepositoryHistoryView-C_zpYLY6.js} +2 -2
- package/dist/assets/RequirementIntakeView-CahKEHJn.js +1 -0
- package/dist/assets/{SageTabs-D6eTg3ix.js → SageTabs-5Z2PR11S.js} +2 -2
- package/dist/assets/{SddFlowGraph-B-ptkFX6.js → SddFlowGraph-DSoWnlIt.js} +1 -1
- package/dist/assets/SddHub-0q2EpwYz.js +2 -0
- package/dist/assets/{SessionInspectView-NSpj5WEN.js → SessionInspectView-CbDFR_tP.js} +1 -1
- package/dist/assets/SessionList-DhQK7JnP.js +1 -0
- package/dist/assets/{SessionsDashboard-mF4PzdKY.js → SessionsDashboard-DNLDczSd.js} +1 -1
- package/dist/assets/SetupScreen-C-hpHQQ9.js +1 -0
- package/dist/assets/{SkillDetailView-B9BFyB1i.js → SkillDetailView-Bir-Kdm4.js} +3 -3
- package/dist/assets/TechStackView-CJ3Abnwg.js +2 -0
- package/dist/assets/TerminalPanel-8WHNTeQK.js +1 -0
- package/dist/assets/activity-B9WjS_Cz.js +10 -0
- package/dist/assets/activity-BB7AHL0U.js +10 -0
- package/dist/assets/activity-Bd0XmdqX.js +10 -0
- package/dist/assets/activity-BvmJte2K.js +10 -0
- package/dist/assets/activity-DOEbDWqw.js +10 -0
- package/dist/assets/activity-beTxIN7V.js +10 -0
- package/dist/assets/activity-t-0KDhv5.js +10 -0
- package/dist/assets/{button-BbeB5Qm8.js → button-UuKTnoM-.js} +1 -1
- package/dist/assets/chat-9GLubejR.js +1 -0
- package/dist/assets/chat-B50ssTLh.js +1 -0
- package/dist/assets/chat-CDioiM1L.js +1 -0
- package/dist/assets/chat-Cll_3gXD.js +1 -0
- package/dist/assets/chat-Cqhc6jQa.js +1 -0
- package/dist/assets/chat-DN1MggWt.js +1 -0
- package/dist/assets/chat-fyvZyUZM.js +1 -0
- package/dist/assets/chat-store-BMwP_sS0.js +1 -0
- package/dist/assets/{codemap-activity-store-Ha7XbGgq.js → codemap-activity-store-WjfEZe4_.js} +1 -1
- package/dist/assets/{common-DvjdaRhB.js → common-2kj0c3pG.js} +1 -1
- package/dist/assets/{common-D0QL7rwb.js → common-BAvh8XBp.js} +1 -1
- package/dist/assets/{common-opV6EoLd.js → common-CKwGvEQD.js} +1 -1
- package/dist/assets/{common-DJRPtYAt.js → common-CUd7l34J.js} +1 -1
- package/dist/assets/{common-BtyQBZBN.js → common-DmS4Wp1i.js} +1 -1
- package/dist/assets/common-PC103akE.js +1 -0
- package/dist/assets/{common-Bjl7V12m.js → common-zatZ4s-Z.js} +1 -1
- package/dist/assets/config-store-Cb4iyhGv.js +21 -0
- package/dist/assets/{dialog-b-Ai37sa.js → dialog-BDUaV5gY.js} +1 -1
- package/dist/assets/{empty-state-pfuS5znr.js → empty-state-BzoEa04Q.js} +1 -1
- package/dist/assets/{fonts-DRGbd-AM.js → fonts-C303yVU_.js} +2 -2
- package/dist/assets/i18n-CzTjKT4L.js +3 -0
- package/dist/assets/index-Ci22AODp.js +182 -0
- package/dist/assets/index-DfU9PQg8.css +1 -0
- package/dist/assets/{input-BA6D2L3K.js → input-DMnC2O7-.js} +1 -1
- package/dist/assets/{mailbox-store-ZQO_Rv6E.js → mailbox-store-DyOOYbni.js} +1 -1
- package/dist/assets/{roster-ws-Cv_PHlEV.js → roster-ws-D-DCMdrg.js} +1 -1
- package/dist/assets/settings-7W0ofid0.js +1 -0
- package/dist/assets/settings-BAArGYGW.js +1 -0
- package/dist/assets/settings-Btyr_M2v.js +1 -0
- package/dist/assets/settings-BwL_DVmc.js +1 -0
- package/dist/assets/settings-C7ybAkyi.js +1 -0
- package/dist/assets/settings-CgtL8eYb.js +1 -0
- package/dist/assets/settings-D57Fd8Z8.js +1 -0
- package/dist/assets/{shared-BFJvAYzX.js → shared-CLNEiW00.js} +1 -1
- package/dist/assets/stores-Svlibwo5.js +7 -0
- package/dist/assets/toasts-3tM1krOo.js +1 -0
- package/dist/assets/toasts-BrHW33qA.js +1 -0
- package/dist/assets/toasts-Buww129h.js +1 -0
- package/dist/assets/toasts-CSN9Fy47.js +1 -0
- package/dist/assets/toasts-DOoYxbHd.js +1 -0
- package/dist/assets/toasts-DkDnbhs_.js +1 -0
- package/dist/assets/toasts-Jo4VH13n.js +1 -0
- package/dist/assets/ui-store-DI0iusYZ.js +1 -0
- package/dist/assets/{utils-CKsqCaP8.js → utils-B21Devim.js} +1 -1
- package/dist/assets/{vector-memory-panel-YWv6xcza.js → vector-memory-panel-DnX-ODHC.js} +1 -1
- package/dist/assets/{vendor-V3ydTHqN.js → vendor-BfBvt432.js} +28 -28
- package/dist/assets/{view-navigation-CpIPxhZp.js → view-navigation-Cvrp_uJm.js} +1 -1
- package/dist/components/BrowserLivePane.d.ts +2 -0
- package/dist/components/ChangesView.d.ts +3 -1
- package/dist/components/ChatInput/chat-input-bars.d.ts +1 -1
- package/dist/components/ChatInput/image-attachments.d.ts +19 -2
- package/dist/components/ChatInput/slash-routing.d.ts +18 -0
- package/dist/components/ChatInput/use-paste-drop.d.ts +3 -0
- package/dist/components/ChatInput/use-prompt-queue-view.d.ts +13 -0
- package/dist/components/ChatView/BackgroundShellStrip.d.ts +16 -0
- package/dist/components/ChatView/TerminalStrip.d.ts +8 -0
- package/dist/components/CodeMap.d.ts +0 -12
- package/dist/components/GoalPanel.d.ts +2 -1
- package/dist/components/ImageDiffView.d.ts +12 -0
- package/dist/components/KanbanTaskExecution.d.ts +64 -0
- package/dist/components/KanbanTaskInspector.d.ts +1 -1
- package/dist/components/MessageBubble/AttachmentGallery.d.ts +1 -1
- package/dist/components/MessageBubble/FailedRunContinue.d.ts +7 -3
- package/dist/components/MessageBubble/GeneratedImagePreview.d.ts +10 -0
- package/dist/components/SessionTabBar/summaries.d.ts +4 -0
- package/dist/components/SettingsPanel/LimitsSection.d.ts +7 -0
- package/dist/components/SettingsPanel/MCPSection.d.ts +1 -37
- package/dist/components/SettingsPanel/MCPServerCards.d.ts +67 -0
- package/dist/components/SettingsPanel/MCPServerDialog.d.ts +11 -0
- package/dist/components/SettingsPanel/PreferenceControls.d.ts +8 -0
- package/dist/components/SettingsPanel/ProviderSavedProfiles.d.ts +50 -0
- package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -79
- package/dist/components/SettingsPanel/SettingsNavigation.d.ts +12 -0
- package/dist/components/SettingsPanel/brain-section-options.d.ts +1 -2
- package/dist/components/SettingsPanel/provider-section-types.d.ts +79 -0
- package/dist/components/SidePanel/SessionList.d.ts +1 -34
- package/dist/components/SidePanel/session-history.d.ts +61 -0
- package/dist/components/SystemPromptPresetEditor.d.ts +9 -0
- package/dist/components/TechStackView/AnalyzeControls.d.ts +25 -0
- package/dist/components/TechStackView/RemediationTab.d.ts +20 -0
- package/dist/components/TechStackView/TrendsTab.d.ts +17 -0
- package/dist/components/TerminalPanel.d.ts +8 -1
- package/dist/components/WorkspaceDock.d.ts +2 -2
- package/dist/components/review/ReviewDiff.d.ts +21 -0
- package/dist/components/review/ReviewTray.d.ts +15 -0
- package/dist/components/review/review-diff-model.d.ts +31 -0
- package/dist/components/use-code-map-flow.d.ts +25 -0
- package/dist/components/use-office-map-canvas.d.ts +1 -1
- package/dist/components/use-office-map-topology.d.ts +31 -0
- package/dist/hooks/use-live-browser.d.ts +7 -0
- package/dist/hooks/useWebSocket.d.ts +1 -2
- package/dist/hooks/ws-handlers/chat-handlers.d.ts +12 -0
- package/dist/hooks/ws-handlers/goal-handlers.d.ts +2 -0
- package/dist/hooks/ws-handlers/mcp-status-handlers.d.ts +6 -0
- package/dist/hooks/ws-handlers/prompt-queue-handlers.d.ts +18 -0
- package/dist/hooks/ws-handlers/techstack-handlers.d.ts +7 -0
- package/dist/index.css +3013 -3013
- package/dist/index.html +19 -19
- package/dist/index.js +53010 -47407
- package/dist/lib/compact-file-tree.d.ts +30 -0
- package/dist/lib/project-image.d.ts +26 -0
- package/dist/lib/provider-warm.d.ts +3 -0
- package/dist/lib/ws-client-session-methods.d.ts +2 -0
- package/dist/lib/ws-client.d.ts +3 -0
- package/dist/stores/chat-lane-data.d.ts +153 -0
- package/dist/stores/chat-lanes.d.ts +3 -174
- package/dist/stores/chat-queue-helpers.d.ts +9 -0
- package/dist/stores/chat-store-types.d.ts +3 -0
- package/dist/stores/chat-store.d.ts +1 -1
- package/dist/stores/context-editor-store.d.ts +1 -1
- package/dist/stores/fleet-transcript.d.ts +14 -0
- package/dist/stores/git-changes-store.d.ts +3 -0
- package/dist/stores/goal-run-store.d.ts +8 -0
- package/dist/stores/goal-state-store.d.ts +3 -0
- package/dist/stores/goal-store.d.ts +9 -11
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/local-prefs-defaults.d.ts +341 -0
- package/dist/stores/local-prefs.d.ts +2 -318
- package/dist/stores/notification-store.d.ts +9 -0
- package/dist/stores/provider-quota-store.d.ts +5 -0
- package/dist/stores/review-store.d.ts +54 -0
- package/dist/stores/session-activity.d.ts +33 -0
- package/dist/stores/session-tab-store.d.ts +1 -46
- package/dist/stores/techstack-store.d.ts +140 -1
- package/dist/stores/terminal-strip-store.d.ts +26 -0
- package/dist/stores/types.d.ts +5 -0
- package/dist/stores/ui-store-chrome.d.ts +1 -1
- package/dist/stores/ui-store-persist.d.ts +2 -2
- package/dist/stores/ui-store-types.d.ts +3 -3
- package/dist/stores/ui-store.d.ts +5 -5
- package/dist/types/brain.d.ts +4 -2
- package/dist/types/client-message.d.ts +122 -14
- package/dist/types/jev.d.ts +2 -0
- package/dist/types/prompt-queue.d.ts +55 -0
- package/dist/types/protocol-core.d.ts +4 -216
- package/dist/types/runtime.d.ts +3 -38
- package/dist/types/server-message-files.d.ts +22 -0
- package/dist/types/server-message-mcp.d.ts +32 -0
- package/dist/types/server-message-system.d.ts +121 -0
- package/dist/types/server-message.d.ts +4 -3
- package/dist/types/system.d.ts +2 -24
- package/package.json +11 -9
- package/dist/assets/AgentRosterView-Dq8Xa0WK.js +0 -12
- package/dist/assets/AudienceMemoryPanel-BVGdDVTT.js +0 -3
- package/dist/assets/ChangesView-BVyLENBb.js +0 -1
- package/dist/assets/ChimeraReviewsView-CTuxzgTC.js +0 -1
- package/dist/assets/ChronicleDashboard-BRP7D6RZ.js +0 -1
- package/dist/assets/CodeEditor-k3z3M0NG.js +0 -2
- package/dist/assets/CodeMap-CvHNQZEF.js +0 -1
- package/dist/assets/GoalView-D8G8e8YG.js +0 -1
- package/dist/assets/KanbanView-BMXGDqGo.js +0 -3
- package/dist/assets/MemoryManager-DfcsYPUB.js +0 -1
- package/dist/assets/PromptJournalView-D7k8Yh5a.js +0 -1
- package/dist/assets/ProviderTestView-DSd6kkWT.js +0 -1
- package/dist/assets/QueuePanel-79KiyZWD.js +0 -1
- package/dist/assets/RequirementIntakeView-D_Ea20fx.js +0 -1
- package/dist/assets/SddHub-CSVfLGpr.js +0 -2
- package/dist/assets/SessionList-BYRCs1AK.js +0 -1
- package/dist/assets/SetupScreen-BUZeJSZi.js +0 -1
- package/dist/assets/TechStackView-CXJilX0M.js +0 -2
- package/dist/assets/TerminalPanel-CAXevSAa.js +0 -1
- package/dist/assets/activity-B3wutYIE.js +0 -10
- package/dist/assets/activity-Be03cc7g.js +0 -10
- package/dist/assets/activity-CiYZ3y4e.js +0 -10
- package/dist/assets/activity-CmIA2MhR.js +0 -10
- package/dist/assets/activity-Cp5GhldB.js +0 -10
- package/dist/assets/activity-DFCf7l5d.js +0 -10
- package/dist/assets/activity-EbNUY7Ci.js +0 -10
- package/dist/assets/chat-6dE2AJNN.js +0 -1
- package/dist/assets/chat-B3AJmhGD.js +0 -1
- package/dist/assets/chat-BHsbpaVt.js +0 -1
- package/dist/assets/chat-BITJe8-v.js +0 -1
- package/dist/assets/chat-U-Jjb8_k.js +0 -1
- package/dist/assets/chat-_Xp5fDnj.js +0 -1
- package/dist/assets/chat-mSbSzPl5.js +0 -1
- package/dist/assets/chat-store-C7InoWAO.js +0 -1
- package/dist/assets/common-DPPTV3yw.js +0 -1
- package/dist/assets/config-store-BbL0WxLE.js +0 -21
- package/dist/assets/i18n-Dv97urcO.js +0 -3
- package/dist/assets/index-CON0Nbm4.css +0 -1
- package/dist/assets/index-DX6tHUzs.js +0 -177
- package/dist/assets/settings-BCvuzOJ6.js +0 -1
- package/dist/assets/settings-DMPKd-4K.js +0 -1
- package/dist/assets/settings-DxQ2452f.js +0 -1
- package/dist/assets/settings-Dz3StaVx.js +0 -1
- package/dist/assets/settings-EBW1mlXc.js +0 -1
- package/dist/assets/settings-Er2LHp9d.js +0 -1
- package/dist/assets/settings-EzznCDaX.js +0 -1
- package/dist/assets/stores-DXn5tdr7.js +0 -7
- package/dist/assets/toasts-BsmyGP95.js +0 -1
- package/dist/assets/toasts-CgXHu8ZB.js +0 -1
- package/dist/assets/toasts-DZ6HdKgG.js +0 -1
- package/dist/assets/toasts-DizCJjAR.js +0 -1
- package/dist/assets/toasts-NC2MT4uN.js +0 -1
- package/dist/assets/toasts-bPl097de.js +0 -1
- package/dist/assets/toasts-tCVo15mP.js +0 -1
- package/dist/assets/ui-store-DxDwFHNK.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={ok:`OK`,cancel:`Cancelar`,create:`Criar`,save:`Salvar`,saved:`Salvo`,dismiss:`Dismiss`,close:`Fechar`,yes:`Sim`,no:`Não`,delete:`Excluir`,remove:`Remover`,discard:`Descartar`,add:`Adicionar`,edit:`Editar`,rename:`Renomear`,retry:`Tentar novamente`,reset:`Redefinir`,apply:`Aplicar`,confirm:`Confirmar`,back:`Voltar`,next:`Avançar`,done:`Concluído`,refresh:`Atualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Falha ao copiar — acesso à área de transferência bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Parar`,pause:`Pausar`,resume:`Retomar`,continue:`Continuar`,clear:`Limpar`,search:`Buscar`,loading:`Carregando…`,saving:`Salvando…`,searchPlaceholder:`Buscar…`,always:`Sempre`,deny:`Negar`,undo:`Desfazer`,all:`Todos`},t={approvalScope:`Lembrar aprovação para`,scopeExact:`Esta entrada e estes argumentos exatos`,scopeCommand:`Este executável com quaisquer argumentos`,scopeTool:`{{tool}} — qualquer entrada`,scopeHint:`Sempre salva este escopo para o projeto. Permissões amplas ainda exigem aprovação para operações destrutivas.`,title:`Aprovação necessária: {{tool}}`,descriptionEdit:`O agente deseja modificar um arquivo. Revise a solicitação abaixo e decida se deseja prosseguir.`,descriptionTool:`O agente deseja executar esta ferramenta. Revise a solicitação abaixo e decida se deseja prosseguir.`,fileModification:`Modificação de arquivo`,toolExecution:`Execução de ferramenta`,riskSuffix:`risco {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugestão de padrão de confiança`,trustSuggestionHint:`Escolher Sempre vai permitir chamadas correspondentes para este projeto.`,yoloDestructiveNote:`YOLO está ativado. Esta confirmação ainda é exibida porque a solicitação foi classificada como destrutiva.`,brainCountdown:`Aguardando sua aprovação · Brain assume em {{time}}`,brainDeciding:`Tempo esgotado · Brain está decidindo…`,skipApprovalsTitle:`Pular aprovações futuras`,skipApprovalsHint:`Ative o modo YOLO e o agente executará sem perguntar. Operações destrutivas ainda exigem confirmação.`,enableYoloTitle:`Ativar modo YOLO (aprovar automaticamente esta e futuras chamadas não destrutivas)`,enableYoloBtn:`Ativar YOLO`,denyAlways:`Negar sempre`,denyAlwaysTitle:`Rejeitar esta e todas as futuras chamadas correspondentes ao padrão (d)`,noTitle:`Rejeitar esta única chamada (Esc / n)`,alwaysTitle:`Aprovar e lembrar o padrão para o projeto (a)`,yesTitle:`Aprovar esta única chamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sem conexão com o servidor — tente novamente após reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Pronto`,error:`Erro`,offline:`Offline`,online:`Online`,live:`Ao vivo`,budgetWarning:`alerta de orçamento`,running:`Em execução`,inProgress:`Em progresso`,working:`trabalhando`},r={justNow:`agora mesmo`,secondsAgo_one:`há {{count}} segundo`,secondsAgo_other:`há {{count}} segundos`,minutesAgo_one:`há {{count}} minuto`,minutesAgo_other:`há {{count}} minutos`,hoursAgo_one:`há {{count}} hora`,hoursAgo_other:`há {{count}} horas`,daysAgo_one:`há {{count}} dia`,daysAgo_other:`há {{count}} dias`,compactSecondsAgo:`há {{count}} s`,compactMinutesAgo:`há {{count}} min`,compactHoursAgo:`há {{count}} h`},i={title:`Algo deu errado`,body:`Ocorreu um erro de renderização. Sua sessão ainda está ativa no servidor — recarregar continuará de onde você parou.`,reload:`Recarregar página`,tryAgain:`Tentar novamente`,panelTitle:`{{name}} encontrou um erro`},a={noActivity:`Sem atividade`,noActivityYet:`Sem atividade ainda`,activityMax:`Sparkline de atividade: máx {{count}} eventos`,activityPeak:`Sparkline de atividade — pico {{count}} eventos/intervalo`},o=`Carregando {{name}}…`,
|
|
1
|
+
var e={ok:`OK`,cancel:`Cancelar`,create:`Criar`,save:`Salvar`,saved:`Salvo`,dismiss:`Dismiss`,close:`Fechar`,yes:`Sim`,no:`Não`,delete:`Excluir`,remove:`Remover`,discard:`Descartar`,add:`Adicionar`,edit:`Editar`,rename:`Renomear`,retry:`Tentar novamente`,reset:`Redefinir`,apply:`Aplicar`,confirm:`Confirmar`,back:`Voltar`,next:`Avançar`,done:`Concluído`,refresh:`Atualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Falha ao copiar — acesso à área de transferência bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Parar`,pause:`Pausar`,resume:`Retomar`,continue:`Continuar`,clear:`Limpar`,search:`Buscar`,loading:`Carregando…`,saving:`Salvando…`,searchPlaceholder:`Buscar…`,always:`Sempre`,deny:`Negar`,undo:`Desfazer`,all:`Todos`},t={approvalScope:`Lembrar aprovação para`,scopeExact:`Esta entrada e estes argumentos exatos`,scopeCommand:`Este executável com quaisquer argumentos`,scopeTool:`{{tool}} — qualquer entrada`,scopeHint:`Sempre salva este escopo para o projeto. Permissões amplas ainda exigem aprovação para operações destrutivas.`,title:`Aprovação necessária: {{tool}}`,descriptionEdit:`O agente deseja modificar um arquivo. Revise a solicitação abaixo e decida se deseja prosseguir.`,descriptionTool:`O agente deseja executar esta ferramenta. Revise a solicitação abaixo e decida se deseja prosseguir.`,fileModification:`Modificação de arquivo`,toolExecution:`Execução de ferramenta`,riskSuffix:`risco {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugestão de padrão de confiança`,trustSuggestionHint:`Escolher Sempre vai permitir chamadas correspondentes para este projeto.`,yoloDestructiveNote:`YOLO está ativado. Esta confirmação ainda é exibida porque a solicitação foi classificada como destrutiva.`,brainCountdown:`Aguardando sua aprovação · Brain assume em {{time}}`,brainDeciding:`Tempo esgotado · Brain está decidindo…`,skipApprovalsTitle:`Pular aprovações futuras`,skipApprovalsHint:`Ative o modo YOLO e o agente executará sem perguntar. Operações destrutivas ainda exigem confirmação.`,enableYoloTitle:`Ativar modo YOLO (aprovar automaticamente esta e futuras chamadas não destrutivas)`,enableYoloBtn:`Ativar YOLO`,denyAlways:`Negar sempre`,denyAlwaysTitle:`Rejeitar esta e todas as futuras chamadas correspondentes ao padrão (d)`,noTitle:`Rejeitar esta única chamada (Esc / n)`,alwaysTitle:`Aprovar e lembrar o padrão para o projeto (a)`,yesTitle:`Aprovar esta única chamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sem conexão com o servidor — tente novamente após reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Pronto`,error:`Erro`,offline:`Offline`,online:`Online`,live:`Ao vivo`,budgetWarning:`alerta de orçamento`,running:`Em execução`,inProgress:`Em progresso`,working:`trabalhando`},r={justNow:`agora mesmo`,secondsAgo_one:`há {{count}} segundo`,secondsAgo_other:`há {{count}} segundos`,minutesAgo_one:`há {{count}} minuto`,minutesAgo_other:`há {{count}} minutos`,hoursAgo_one:`há {{count}} hora`,hoursAgo_other:`há {{count}} horas`,daysAgo_one:`há {{count}} dia`,daysAgo_other:`há {{count}} dias`,compactSecondsAgo:`há {{count}} s`,compactMinutesAgo:`há {{count}} min`,compactHoursAgo:`há {{count}} h`},i={title:`Algo deu errado`,body:`Ocorreu um erro de renderização. Sua sessão ainda está ativa no servidor — recarregar continuará de onde você parou.`,reload:`Recarregar página`,tryAgain:`Tentar novamente`,panelTitle:`{{name}} encontrou um erro`},a={noActivity:`Sem atividade`,noActivityYet:`Sem atividade ainda`,activityMax:`Sparkline de atividade: máx {{count}} eventos`,activityPeak:`Sparkline de atividade — pico {{count}} eventos/intervalo`},o={title:`Restaurar suas abas anteriores?`,body:`Esta WebUI começou do zero. {{count}} sessão(ões) estavam abertas antes neste navegador — elas continuam no disco. Escolha as que quer reabrir ou comece do zero.`,limit:`No máximo mais {{room}} podem ser reabertas ({{max}} abas no total). O restante fica no Histórico.`,fresh:`Começar do zero`,confirm:`Reabrir {{count}}`},s={down:`O servidor MCP "{{name}}" não está conectado ({{reason}}); suas ferramentas estão indisponíveis. Tente novamente com /mcp restart {{name}}.`,up:`O servidor MCP "{{name}}" está conectado novamente.`},c=`Carregando {{name}}…`,l={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,restoreTabs:o,mcpStatus:s,loadingNamed:c};export{e as action,t as confirm,l as default,i as error,c as loadingNamed,s as mcpStatus,o as restoreTabs,a as sparkline,n as status,r as time};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={ok:`OK`,cancel:`Cancelar`,create:`Crear`,save:`Guardar`,saved:`Guardado`,dismiss:`Dismiss`,close:`Cerrar`,yes:`Sí`,no:`No`,delete:`Eliminar`,remove:`Quitar`,discard:`Descartar`,add:`Añadir`,edit:`Editar`,rename:`Renombrar`,retry:`Reintentar`,reset:`Restablecer`,apply:`Aplicar`,confirm:`Confirmar`,back:`Atrás`,next:`Siguiente`,done:`Hecho`,refresh:`Actualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Error al copiar: acceso al portapapeles bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Detener`,pause:`Pausar`,resume:`Reanudar`,continue:`Continuar`,clear:`Limpiar`,search:`Buscar`,loading:`Cargando…`,saving:`Guardando…`,searchPlaceholder:`Buscar…`,always:`Siempre`,deny:`Denegar`,undo:`Deshacer`,all:`Todos`},t={approvalScope:`Recordar aprobación para`,scopeExact:`Esta entrada y estos argumentos exactos`,scopeCommand:`Este ejecutable con cualquier argumento`,scopeTool:`{{tool}} — cualquier entrada`,scopeHint:`Siempre guarda este alcance para el proyecto. Las autorizaciones amplias siguen pidiendo aprobación para operaciones destructivas.`,title:`Aprobación requerida: {{tool}}`,descriptionEdit:`El agente quiere modificar un archivo. Revisa la solicitud a continuación y decide si deseas continuar.`,descriptionTool:`El agente quiere ejecutar esta herramienta. Revisa la solicitud a continuación y decide si deseas continuar.`,fileModification:`Modificación de archivo`,toolExecution:`Ejecución de herramienta`,riskSuffix:`riesgo {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugerencia de patrón de confianza`,trustSuggestionHint:`Elegir Siempre añadirá a la lista de permitidas las llamadas coincidentes para este proyecto.`,yoloDestructiveNote:`YOLO está activado. Este aviso se sigue mostrando porque la solicitud se clasificó como destructiva.`,brainCountdown:`Esperando tu aprobación · Brain tomará el control en {{time}}`,brainDeciding:`Tiempo agotado · Brain está decidiendo…`,skipApprovalsTitle:`Omitir aprobaciones futuras`,skipApprovalsHint:`Activa el modo YOLO y el agente ejecuta sin preguntar. Las operaciones destructivas siguen solicitando confirmación.`,enableYoloTitle:`Activar modo YOLO (aprobar automáticamente esta y futuras llamadas no destructivas)`,enableYoloBtn:`Activar YOLO`,denyAlways:`Denegar siempre`,denyAlwaysTitle:`Rechazar esta y todas las futuras llamadas que coincidan con el patrón (d)`,noTitle:`Rechazar solo esta llamada (Esc / n)`,alwaysTitle:`Aprobar y recordar el patrón para el proyecto (a)`,yesTitle:`Aprobar solo esta llamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sin conexión con el servidor: inténtalo de nuevo al reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Listo`,error:`Error`,offline:`Sin conexión`,online:`En línea`,live:`En vivo`,budgetWarning:`alerta de presupuesto`,running:`En ejecución`,inProgress:`En progreso`,working:`trabajando`},r={justNow:`justo ahora`,secondsAgo_one:`hace {{count}} segundo`,secondsAgo_other:`hace {{count}} segundos`,minutesAgo_one:`hace {{count}} minuto`,minutesAgo_other:`hace {{count}} minutos`,hoursAgo_one:`hace {{count}} hora`,hoursAgo_other:`hace {{count}} horas`,daysAgo_one:`hace {{count}} día`,daysAgo_other:`hace {{count}} días`,compactSecondsAgo:`hace {{count}} s`,compactMinutesAgo:`hace {{count}} min`,compactHoursAgo:`hace {{count}} h`},i={title:`Algo salió mal`,body:`Ocurrió un error de renderizado. Tu sesión sigue activa en el servidor — recargar continuará donde lo dejaste.`,reload:`Recargar página`,tryAgain:`Reintentar`,panelTitle:`{{name}} encontró un error`},a={noActivity:`Sin actividad`,noActivityYet:`Aún sin actividad`,activityMax:`Sparkline de actividad: máx {{count}} eventos`,activityPeak:`Sparkline de actividad — pico {{count}} eventos/intervalo`},o=`Cargando {{name}}…`,
|
|
1
|
+
var e={ok:`OK`,cancel:`Cancelar`,create:`Crear`,save:`Guardar`,saved:`Guardado`,dismiss:`Dismiss`,close:`Cerrar`,yes:`Sí`,no:`No`,delete:`Eliminar`,remove:`Quitar`,discard:`Descartar`,add:`Añadir`,edit:`Editar`,rename:`Renombrar`,retry:`Reintentar`,reset:`Restablecer`,apply:`Aplicar`,confirm:`Confirmar`,back:`Atrás`,next:`Siguiente`,done:`Hecho`,refresh:`Actualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Error al copiar: acceso al portapapeles bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Detener`,pause:`Pausar`,resume:`Reanudar`,continue:`Continuar`,clear:`Limpiar`,search:`Buscar`,loading:`Cargando…`,saving:`Guardando…`,searchPlaceholder:`Buscar…`,always:`Siempre`,deny:`Denegar`,undo:`Deshacer`,all:`Todos`},t={approvalScope:`Recordar aprobación para`,scopeExact:`Esta entrada y estos argumentos exactos`,scopeCommand:`Este ejecutable con cualquier argumento`,scopeTool:`{{tool}} — cualquier entrada`,scopeHint:`Siempre guarda este alcance para el proyecto. Las autorizaciones amplias siguen pidiendo aprobación para operaciones destructivas.`,title:`Aprobación requerida: {{tool}}`,descriptionEdit:`El agente quiere modificar un archivo. Revisa la solicitud a continuación y decide si deseas continuar.`,descriptionTool:`El agente quiere ejecutar esta herramienta. Revisa la solicitud a continuación y decide si deseas continuar.`,fileModification:`Modificación de archivo`,toolExecution:`Ejecución de herramienta`,riskSuffix:`riesgo {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugerencia de patrón de confianza`,trustSuggestionHint:`Elegir Siempre añadirá a la lista de permitidas las llamadas coincidentes para este proyecto.`,yoloDestructiveNote:`YOLO está activado. Este aviso se sigue mostrando porque la solicitud se clasificó como destructiva.`,brainCountdown:`Esperando tu aprobación · Brain tomará el control en {{time}}`,brainDeciding:`Tiempo agotado · Brain está decidiendo…`,skipApprovalsTitle:`Omitir aprobaciones futuras`,skipApprovalsHint:`Activa el modo YOLO y el agente ejecuta sin preguntar. Las operaciones destructivas siguen solicitando confirmación.`,enableYoloTitle:`Activar modo YOLO (aprobar automáticamente esta y futuras llamadas no destructivas)`,enableYoloBtn:`Activar YOLO`,denyAlways:`Denegar siempre`,denyAlwaysTitle:`Rechazar esta y todas las futuras llamadas que coincidan con el patrón (d)`,noTitle:`Rechazar solo esta llamada (Esc / n)`,alwaysTitle:`Aprobar y recordar el patrón para el proyecto (a)`,yesTitle:`Aprobar solo esta llamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sin conexión con el servidor: inténtalo de nuevo al reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Listo`,error:`Error`,offline:`Sin conexión`,online:`En línea`,live:`En vivo`,budgetWarning:`alerta de presupuesto`,running:`En ejecución`,inProgress:`En progreso`,working:`trabajando`},r={justNow:`justo ahora`,secondsAgo_one:`hace {{count}} segundo`,secondsAgo_other:`hace {{count}} segundos`,minutesAgo_one:`hace {{count}} minuto`,minutesAgo_other:`hace {{count}} minutos`,hoursAgo_one:`hace {{count}} hora`,hoursAgo_other:`hace {{count}} horas`,daysAgo_one:`hace {{count}} día`,daysAgo_other:`hace {{count}} días`,compactSecondsAgo:`hace {{count}} s`,compactMinutesAgo:`hace {{count}} min`,compactHoursAgo:`hace {{count}} h`},i={title:`Algo salió mal`,body:`Ocurrió un error de renderizado. Tu sesión sigue activa en el servidor — recargar continuará donde lo dejaste.`,reload:`Recargar página`,tryAgain:`Reintentar`,panelTitle:`{{name}} encontró un error`},a={noActivity:`Sin actividad`,noActivityYet:`Aún sin actividad`,activityMax:`Sparkline de actividad: máx {{count}} eventos`,activityPeak:`Sparkline de actividad — pico {{count}} eventos/intervalo`},o={title:`¿Restaurar tus pestañas anteriores?`,body:`Esta WebUI se inició desde cero. {{count}} sesión(es) estaban abiertas antes en este navegador — siguen en el disco. Elige las que quieres volver a abrir o empieza de nuevo.`,limit:`Se pueden volver a abrir como máximo {{room}} más ({{max}} pestañas en total). El resto se queda en el Historial.`,fresh:`Empezar de nuevo`,confirm:`Volver a abrir {{count}}`},s={down:`El servidor MCP "{{name}}" no está conectado ({{reason}}); sus herramientas no están disponibles. Reinténtalo con /mcp restart {{name}}.`,up:`El servidor MCP "{{name}}" vuelve a estar conectado.`},c=`Cargando {{name}}…`,l={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,restoreTabs:o,mcpStatus:s,loadingNamed:c};export{e as action,t as confirm,l as default,i as error,c as loadingNamed,s as mcpStatus,o as restoreTabs,a as sparkline,n as status,r as time};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={ok:`OK`,cancel:`Annulla`,create:`Crea`,save:`Salva`,saved:`Salvato`,dismiss:`Dismiss`,close:`Chiudi`,yes:`Sì`,no:`No`,delete:`Elimina`,remove:`Rimuovi`,discard:`Scarta`,add:`Aggiungi`,edit:`Modifica`,rename:`Rinomina`,retry:`Riprova`,reset:`Ripristina`,apply:`Applica`,confirm:`Conferma`,back:`Indietro`,next:`Avanti`,done:`Fatto`,refresh:`Aggiorna`,copy:`Copia`,copied:`Copiato`,copyFailed:`Copia non riuscita — accesso agli appunti bloccato.`,open:`Apri`,start:`Avvia`,stop:`Ferma`,pause:`Sospendi`,resume:`Riprendi`,continue:`Continua`,clear:`Cancella`,search:`Cerca`,loading:`Caricamento…`,saving:`Salvataggio…`,searchPlaceholder:`Cerca…`,always:`Sempre`,deny:`Nega`,undo:`Annulla`,all:`Tutti`},t={approvalScope:`Ricorda autorizzazione per`,scopeExact:`Questi esatti dati e argomenti`,scopeCommand:`Questo eseguibile con qualsiasi argomento`,scopeTool:`{{tool}} — qualsiasi input`,scopeHint:`Sempre salva questo ambito per il progetto. Le autorizzazioni ampie richiedono comunque conferma per operazioni distruttive.`,title:`Approvazione richiesta: {{tool}}`,descriptionEdit:`L'agente vuole modificare un file. Rivedi la richiesta qui sotto e decidi se procedere.`,descriptionTool:`L'agente vuole eseguire questo strumento. Rivedi la richiesta qui sotto e decidi se procedere.`,fileModification:`Modifica file`,toolExecution:`Esecuzione strumento`,riskSuffix:`Rischio {{risk}}`,command:`Comando`,inputLabel:`Input:`,trustSuggestionTitle:`Suggerimento pattern attendibile`,trustSuggestionHint:`Scegliendo Sempre le chiamate corrispondenti verranno aggiunte all'allowlist per questo progetto.`,yoloDestructiveNote:`YOLO è attivo. Questo prompt viene comunque mostrato perché la richiesta è stata classificata come distruttiva.`,brainCountdown:`In attesa della tua approvazione · Brain subentrerà tra {{time}}`,brainDeciding:`Tempo scaduto · Brain sta decidendo…`,skipApprovalsTitle:`Salta le approvazioni future`,skipApprovalsHint:`Abilita la modalità YOLO e l'agente procede senza chiedere. Le operazioni distruttive richiedono comunque conferma.`,enableYoloTitle:`Abilita la modalità YOLO (approva automaticamente questa e le future chiamate non distruttive)`,enableYoloBtn:`Abilita YOLO`,denyAlways:`Nega sempre`,denyAlwaysTitle:`Rifiuta questa e tutte le future chiamate corrispondenti al pattern (d)`,noTitle:`Rifiuta questa singola chiamata (Esc / n)`,alwaysTitle:`Approva e ricorda il pattern per il progetto (a)`,yesTitle:`Approva questa singola chiamata (y)`},n={connected:`Connesso`,disconnected:`Disconnesso`,notConnectedRetry:`Non connesso al server — riprova dopo la riconnessione.`,connecting:`Connessione…`,reconnecting:`Riconnessione…`,ready:`Pronto`,error:`Errore`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`avviso budget`,running:`In corso`,inProgress:`In corso`,working:`lavora`},r={justNow:`adesso`,secondsAgo_one:`{{count}} secondo fa`,secondsAgo_other:`{{count}} secondi fa`,minutesAgo_one:`{{count}} minuto fa`,minutesAgo_other:`{{count}} minuti fa`,hoursAgo_one:`{{count}} ora fa`,hoursAgo_other:`{{count}} ore fa`,daysAgo_one:`{{count}} giorno fa`,daysAgo_other:`{{count}} giorni fa`,compactSecondsAgo:`{{count}} s fa`,compactMinutesAgo:`{{count}} min fa`,compactHoursAgo:`{{count}} h fa`},i={title:`Qualcosa è andato storto`,body:`Si è verificato un errore di rendering. La tua sessione è ancora attiva sul server — ricaricare riprenderà da dove eri rimasto.`,reload:`Ricarica pagina`,tryAgain:`Riprova`,panelTitle:`{{name}} ha riscontrato un errore`},a={noActivity:`Nessuna attività`,noActivityYet:`Nessuna attività ancora`,activityMax:`Sparkline attività: max {{count}} eventi`,activityPeak:`Sparkline attività — picco {{count}} eventi/intervallo`},o=`Caricamento di {{name}}…`,
|
|
1
|
+
var e={ok:`OK`,cancel:`Annulla`,create:`Crea`,save:`Salva`,saved:`Salvato`,dismiss:`Dismiss`,close:`Chiudi`,yes:`Sì`,no:`No`,delete:`Elimina`,remove:`Rimuovi`,discard:`Scarta`,add:`Aggiungi`,edit:`Modifica`,rename:`Rinomina`,retry:`Riprova`,reset:`Ripristina`,apply:`Applica`,confirm:`Conferma`,back:`Indietro`,next:`Avanti`,done:`Fatto`,refresh:`Aggiorna`,copy:`Copia`,copied:`Copiato`,copyFailed:`Copia non riuscita — accesso agli appunti bloccato.`,open:`Apri`,start:`Avvia`,stop:`Ferma`,pause:`Sospendi`,resume:`Riprendi`,continue:`Continua`,clear:`Cancella`,search:`Cerca`,loading:`Caricamento…`,saving:`Salvataggio…`,searchPlaceholder:`Cerca…`,always:`Sempre`,deny:`Nega`,undo:`Annulla`,all:`Tutti`},t={approvalScope:`Ricorda autorizzazione per`,scopeExact:`Questi esatti dati e argomenti`,scopeCommand:`Questo eseguibile con qualsiasi argomento`,scopeTool:`{{tool}} — qualsiasi input`,scopeHint:`Sempre salva questo ambito per il progetto. Le autorizzazioni ampie richiedono comunque conferma per operazioni distruttive.`,title:`Approvazione richiesta: {{tool}}`,descriptionEdit:`L'agente vuole modificare un file. Rivedi la richiesta qui sotto e decidi se procedere.`,descriptionTool:`L'agente vuole eseguire questo strumento. Rivedi la richiesta qui sotto e decidi se procedere.`,fileModification:`Modifica file`,toolExecution:`Esecuzione strumento`,riskSuffix:`Rischio {{risk}}`,command:`Comando`,inputLabel:`Input:`,trustSuggestionTitle:`Suggerimento pattern attendibile`,trustSuggestionHint:`Scegliendo Sempre le chiamate corrispondenti verranno aggiunte all'allowlist per questo progetto.`,yoloDestructiveNote:`YOLO è attivo. Questo prompt viene comunque mostrato perché la richiesta è stata classificata come distruttiva.`,brainCountdown:`In attesa della tua approvazione · Brain subentrerà tra {{time}}`,brainDeciding:`Tempo scaduto · Brain sta decidendo…`,skipApprovalsTitle:`Salta le approvazioni future`,skipApprovalsHint:`Abilita la modalità YOLO e l'agente procede senza chiedere. Le operazioni distruttive richiedono comunque conferma.`,enableYoloTitle:`Abilita la modalità YOLO (approva automaticamente questa e le future chiamate non distruttive)`,enableYoloBtn:`Abilita YOLO`,denyAlways:`Nega sempre`,denyAlwaysTitle:`Rifiuta questa e tutte le future chiamate corrispondenti al pattern (d)`,noTitle:`Rifiuta questa singola chiamata (Esc / n)`,alwaysTitle:`Approva e ricorda il pattern per il progetto (a)`,yesTitle:`Approva questa singola chiamata (y)`},n={connected:`Connesso`,disconnected:`Disconnesso`,notConnectedRetry:`Non connesso al server — riprova dopo la riconnessione.`,connecting:`Connessione…`,reconnecting:`Riconnessione…`,ready:`Pronto`,error:`Errore`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`avviso budget`,running:`In corso`,inProgress:`In corso`,working:`lavora`},r={justNow:`adesso`,secondsAgo_one:`{{count}} secondo fa`,secondsAgo_other:`{{count}} secondi fa`,minutesAgo_one:`{{count}} minuto fa`,minutesAgo_other:`{{count}} minuti fa`,hoursAgo_one:`{{count}} ora fa`,hoursAgo_other:`{{count}} ore fa`,daysAgo_one:`{{count}} giorno fa`,daysAgo_other:`{{count}} giorni fa`,compactSecondsAgo:`{{count}} s fa`,compactMinutesAgo:`{{count}} min fa`,compactHoursAgo:`{{count}} h fa`},i={title:`Qualcosa è andato storto`,body:`Si è verificato un errore di rendering. La tua sessione è ancora attiva sul server — ricaricare riprenderà da dove eri rimasto.`,reload:`Ricarica pagina`,tryAgain:`Riprova`,panelTitle:`{{name}} ha riscontrato un errore`},a={noActivity:`Nessuna attività`,noActivityYet:`Nessuna attività ancora`,activityMax:`Sparkline attività: max {{count}} eventi`,activityPeak:`Sparkline attività — picco {{count}} eventi/intervallo`},o={title:`Ripristinare le schede precedenti?`,body:`Questa WebUI è ripartita da zero. {{count}} sessione/i erano aperte prima in questo browser — sono ancora su disco. Scegli quelle da riaprire oppure ricomincia da capo.`,limit:`Se ne possono riaprire al massimo altre {{room}} ({{max}} schede in totale). Le altre restano nella Cronologia.`,fresh:`Ricomincia da capo`,confirm:`Riapri {{count}}`},s={down:`Il server MCP "{{name}}" non è connesso ({{reason}}); i suoi strumenti non sono disponibili. Riprova con /mcp restart {{name}}.`,up:`Il server MCP "{{name}}" è di nuovo connesso.`},c=`Caricamento di {{name}}…`,l={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,restoreTabs:o,mcpStatus:s,loadingNamed:c};export{e as action,t as confirm,l as default,i as error,c as loadingNamed,s as mcpStatus,o as restoreTabs,a as sparkline,n as status,r as time};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";var t=e({action:()=>n,confirm:()=>r,default:()=>d,error:()=>o,loadingNamed:()=>u,mcpStatus:()=>l,restoreTabs:()=>c,sparkline:()=>s,status:()=>i,time:()=>a}),n={ok:`OK`,cancel:`Cancel`,create:`Create`,save:`Save`,saved:`Saved`,close:`Close`,dismiss:`Dismiss`,yes:`Yes`,no:`No`,delete:`Delete`,remove:`Remove`,discard:`Discard`,add:`Add`,edit:`Edit`,rename:`Rename`,retry:`Retry`,reset:`Reset`,apply:`Apply`,confirm:`Confirm`,back:`Back`,next:`Next`,done:`Done`,refresh:`Refresh`,copy:`Copy`,copied:`Copied`,copyFailed:`Copy failed — clipboard access was blocked.`,open:`Open`,start:`Start`,stop:`Stop`,pause:`Pause`,resume:`Resume`,continue:`Continue`,clear:`Clear`,search:`Search`,loading:`Loading…`,saving:`Saving…`,searchPlaceholder:`Search…`,always:`Always`,deny:`Deny`,undo:`Undo`,all:`All`},r={approvalScope:`Remember approval for`,scopeExact:`This exact input and arguments`,scopeCommand:`This executable with any arguments`,scopeTool:`{{tool}} — any input`,scopeHint:`Used by Always for this project. Broad grants still require approval for destructive calls.`,title:`Approval required: {{tool}}`,descriptionEdit:`The agent wants to modify a file. Review the request below and decide whether to proceed.`,descriptionTool:`The agent wants to run this tool. Review the request below and decide whether to proceed.`,fileModification:`File modification`,toolExecution:`Tool execution`,riskSuffix:`{{risk}} risk`,command:`Command`,inputLabel:`Input:`,trustSuggestionTitle:`Trust pattern suggestion`,trustSuggestionHint:`Picking Always will whitelist matching calls for this project.`,yoloDestructiveNote:`YOLO is on. This prompt is still shown because the request was classified as destructive.`,brainCountdown:`Waiting for your approval · Brain takes over in {{time}}`,brainDeciding:`Time expired · Brain is deciding…`,skipApprovalsTitle:`Skip future approvals`,skipApprovalsHint:`Enable YOLO mode and the agent runs without asking. Destructive operations still ask for confirmation.`,enableYoloTitle:`Enable YOLO mode (auto-approve this and future non-destructive calls)`,enableYoloBtn:`Enable YOLO`,denyAlways:`Deny always`,denyAlwaysTitle:`Reject this and all future calls matching the pattern (d)`,noTitle:`Reject this single call (Esc / n)`,alwaysTitle:`Approve and remember the pattern for the project (a)`,yesTitle:`Approve this single call (y)`},i={connected:`Connected`,disconnected:`Disconnected`,notConnectedRetry:`Not connected to the server — try again once reconnected.`,connecting:`Connecting…`,reconnecting:`Reconnecting…`,ready:`Ready`,error:`Error`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`budget warning`,running:`Running`,inProgress:`In Progress`,working:`working`},a={justNow:`just now`,secondsAgo_one:`{{count}} second ago`,secondsAgo_other:`{{count}} seconds ago`,minutesAgo_one:`{{count}} minute ago`,minutesAgo_other:`{{count}} minutes ago`,hoursAgo_one:`{{count}} hour ago`,hoursAgo_other:`{{count}} hours ago`,daysAgo_one:`{{count}} day ago`,daysAgo_other:`{{count}} days ago`,compactSecondsAgo:`{{count}}s ago`,compactMinutesAgo:`{{count}}m ago`,compactHoursAgo:`{{count}}h ago`},o={title:`Something went wrong`,body:`A rendering error occurred. Your session is still active on the server — reloading will pick up where you left off.`,reload:`Reload page`,tryAgain:`Try again`,panelTitle:`{{name}} hit an error`},s={noActivity:`No activity`,noActivityYet:`No activity yet`,activityMax:`Activity sparkline: max {{count}} events`,activityPeak:`Activity sparkline — peak {{count}} events/bucket`},c={title:`Restore your previous tabs?`,body:`This WebUI started fresh. {{count}} session(s) were open in this browser before — they are still on disk. Pick the ones to reopen, or start clean.`,limit:`At most {{room}} more can be reopened ({{max}} tabs total). The rest stay in History.`,fresh:`Start fresh`,confirm:`Reopen {{count}}`},l={down:`MCP server "{{name}}" is not connected ({{reason}}); its tools are unavailable. Retry with /mcp restart {{name}}.`,up:`MCP server "{{name}}" is connected again.`},u=`Loading {{name}}…`,d={action:n,confirm:r,status:i,time:a,error:o,sparkline:s,restoreTabs:c,mcpStatus:l,loadingNamed:u};export{t as n,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={ok:`OK`,cancel:`Abbrechen`,create:`Erstellen`,save:`Speichern`,saved:`Gespeichert`,dismiss:`Dismiss`,close:`Schließen`,yes:`Ja`,no:`Nein`,delete:`Löschen`,remove:`Entfernen`,discard:`Verwerfen`,add:`Hinzufügen`,edit:`Bearbeiten`,rename:`Umbenennen`,retry:`Erneut versuchen`,reset:`Zurücksetzen`,apply:`Anwenden`,confirm:`Bestätigen`,back:`Zurück`,next:`Weiter`,done:`Fertig`,refresh:`Aktualisieren`,copy:`Kopieren`,copied:`Kopiert`,copyFailed:`Kopieren fehlgeschlagen — Zugriff auf die Zwischenablage blockiert.`,open:`Öffnen`,start:`Starten`,stop:`Stopp`,pause:`Pausieren`,resume:`Fortsetzen`,continue:`Weiter`,clear:`Leeren`,search:`Suchen`,loading:`Lädt…`,saving:`Wird gespeichert…`,searchPlaceholder:`Suchen…`,always:`Immer`,deny:`Ablehnen`,undo:`Rückgängig`,all:`Alle`},t={approvalScope:`Freigabe merken für`,scopeExact:`Genau diese Eingabe und Argumente`,scopeCommand:`Dieses Programm mit beliebigen Argumenten`,scopeTool:`{{tool}} — beliebige Eingaben`,scopeHint:`Immer speichert diesen Umfang für das Projekt. Destruktive Aufrufe erfordern bei breiten Freigaben weiterhin eine Bestätigung.`,title:`Freigabe erforderlich: {{tool}}`,descriptionEdit:`Der Agent möchte eine Datei ändern. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,descriptionTool:`Der Agent möchte dieses Tool ausführen. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,fileModification:`Dateiänderung`,toolExecution:`Tool-Ausführung`,riskSuffix:`{{risk}} Risiko`,command:`Befehl`,inputLabel:`Eingabe:`,trustSuggestionTitle:`Vorschlag für Vertrauensmuster`,trustSuggestionHint:`Wenn du Immer wählst, werden übereinstimmende Aufrufe für dieses Projekt auf die Whitelist gesetzt.`,yoloDestructiveNote:`YOLO ist aktiv. Diese Abfrage wird trotzdem angezeigt, da die Anfrage als destruktiv eingestuft wurde.`,brainCountdown:`Warte auf deine Bestätigung · Brain übernimmt in {{time}}`,brainDeciding:`Zeit abgelaufen · Brain entscheidet…`,skipApprovalsTitle:`Zukünftige Freigaben überspringen`,skipApprovalsHint:`Aktiviere den YOLO-Modus und der Agent läuft ohne Nachfrage. Destruktive Vorgänge fragen weiterhin nach.`,enableYoloTitle:`YOLO-Modus aktivieren (diesen und zukünftige nicht-destruktive Aufrufe automatisch freigeben)`,enableYoloBtn:`YOLO aktivieren`,denyAlways:`Immer ablehnen`,denyAlwaysTitle:`Diesen und alle zukünftigen, zum Muster passenden Aufrufe ablehnen (d)`,noTitle:`Diesen einzelnen Aufruf ablehnen (Esc / n)`,alwaysTitle:`Freigeben und das Muster für das Projekt speichern (a)`,yesTitle:`Diesen einzelnen Aufruf freigeben (y)`},n={connected:`Verbunden`,disconnected:`Getrennt`,notConnectedRetry:`Keine Verbindung zum Server — nach dem Wiederverbinden erneut versuchen.`,connecting:`Verbindung wird hergestellt…`,reconnecting:`Verbindung wird wiederhergestellt…`,ready:`Bereit`,error:`Fehler`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`Budget-Warnung`,running:`Läuft`,inProgress:`In Arbeit`,working:`arbeitet`},r={justNow:`gerade eben`,secondsAgo_one:`vor {{count}} Sekunde`,secondsAgo_other:`vor {{count}} Sekunden`,minutesAgo_one:`vor {{count}} Minute`,minutesAgo_other:`vor {{count}} Minuten`,hoursAgo_one:`vor {{count}} Stunde`,hoursAgo_other:`vor {{count}} Stunden`,daysAgo_one:`vor {{count}} Tag`,daysAgo_other:`vor {{count}} Tagen`,compactSecondsAgo:`vor {{count}} s`,compactMinutesAgo:`vor {{count}} min`,compactHoursAgo:`vor {{count}} Std.`},i={title:`Etwas ist schiefgelaufen`,body:`Ein Render-Fehler ist aufgetreten. Deine Sitzung ist auf dem Server noch aktiv — Neuladen setzt dort fort, wo du aufgehört hast.`,reload:`Seite neu laden`,tryAgain:`Erneut versuchen`,panelTitle:`{{name}} ist auf einen Fehler gestoßen`},a={noActivity:`Keine Aktivität`,noActivityYet:`Noch keine Aktivität`,activityMax:`Aktivitäts-Sparkline: max. {{count}} Ereignisse`,activityPeak:`Aktivitäts-Sparkline — Spitze {{count}} Ereignisse/Intervall`},o=`{{name}} wird geladen…`,
|
|
1
|
+
var e={ok:`OK`,cancel:`Abbrechen`,create:`Erstellen`,save:`Speichern`,saved:`Gespeichert`,dismiss:`Dismiss`,close:`Schließen`,yes:`Ja`,no:`Nein`,delete:`Löschen`,remove:`Entfernen`,discard:`Verwerfen`,add:`Hinzufügen`,edit:`Bearbeiten`,rename:`Umbenennen`,retry:`Erneut versuchen`,reset:`Zurücksetzen`,apply:`Anwenden`,confirm:`Bestätigen`,back:`Zurück`,next:`Weiter`,done:`Fertig`,refresh:`Aktualisieren`,copy:`Kopieren`,copied:`Kopiert`,copyFailed:`Kopieren fehlgeschlagen — Zugriff auf die Zwischenablage blockiert.`,open:`Öffnen`,start:`Starten`,stop:`Stopp`,pause:`Pausieren`,resume:`Fortsetzen`,continue:`Weiter`,clear:`Leeren`,search:`Suchen`,loading:`Lädt…`,saving:`Wird gespeichert…`,searchPlaceholder:`Suchen…`,always:`Immer`,deny:`Ablehnen`,undo:`Rückgängig`,all:`Alle`},t={approvalScope:`Freigabe merken für`,scopeExact:`Genau diese Eingabe und Argumente`,scopeCommand:`Dieses Programm mit beliebigen Argumenten`,scopeTool:`{{tool}} — beliebige Eingaben`,scopeHint:`Immer speichert diesen Umfang für das Projekt. Destruktive Aufrufe erfordern bei breiten Freigaben weiterhin eine Bestätigung.`,title:`Freigabe erforderlich: {{tool}}`,descriptionEdit:`Der Agent möchte eine Datei ändern. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,descriptionTool:`Der Agent möchte dieses Tool ausführen. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,fileModification:`Dateiänderung`,toolExecution:`Tool-Ausführung`,riskSuffix:`{{risk}} Risiko`,command:`Befehl`,inputLabel:`Eingabe:`,trustSuggestionTitle:`Vorschlag für Vertrauensmuster`,trustSuggestionHint:`Wenn du Immer wählst, werden übereinstimmende Aufrufe für dieses Projekt auf die Whitelist gesetzt.`,yoloDestructiveNote:`YOLO ist aktiv. Diese Abfrage wird trotzdem angezeigt, da die Anfrage als destruktiv eingestuft wurde.`,brainCountdown:`Warte auf deine Bestätigung · Brain übernimmt in {{time}}`,brainDeciding:`Zeit abgelaufen · Brain entscheidet…`,skipApprovalsTitle:`Zukünftige Freigaben überspringen`,skipApprovalsHint:`Aktiviere den YOLO-Modus und der Agent läuft ohne Nachfrage. Destruktive Vorgänge fragen weiterhin nach.`,enableYoloTitle:`YOLO-Modus aktivieren (diesen und zukünftige nicht-destruktive Aufrufe automatisch freigeben)`,enableYoloBtn:`YOLO aktivieren`,denyAlways:`Immer ablehnen`,denyAlwaysTitle:`Diesen und alle zukünftigen, zum Muster passenden Aufrufe ablehnen (d)`,noTitle:`Diesen einzelnen Aufruf ablehnen (Esc / n)`,alwaysTitle:`Freigeben und das Muster für das Projekt speichern (a)`,yesTitle:`Diesen einzelnen Aufruf freigeben (y)`},n={connected:`Verbunden`,disconnected:`Getrennt`,notConnectedRetry:`Keine Verbindung zum Server — nach dem Wiederverbinden erneut versuchen.`,connecting:`Verbindung wird hergestellt…`,reconnecting:`Verbindung wird wiederhergestellt…`,ready:`Bereit`,error:`Fehler`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`Budget-Warnung`,running:`Läuft`,inProgress:`In Arbeit`,working:`arbeitet`},r={justNow:`gerade eben`,secondsAgo_one:`vor {{count}} Sekunde`,secondsAgo_other:`vor {{count}} Sekunden`,minutesAgo_one:`vor {{count}} Minute`,minutesAgo_other:`vor {{count}} Minuten`,hoursAgo_one:`vor {{count}} Stunde`,hoursAgo_other:`vor {{count}} Stunden`,daysAgo_one:`vor {{count}} Tag`,daysAgo_other:`vor {{count}} Tagen`,compactSecondsAgo:`vor {{count}} s`,compactMinutesAgo:`vor {{count}} min`,compactHoursAgo:`vor {{count}} Std.`},i={title:`Etwas ist schiefgelaufen`,body:`Ein Render-Fehler ist aufgetreten. Deine Sitzung ist auf dem Server noch aktiv — Neuladen setzt dort fort, wo du aufgehört hast.`,reload:`Seite neu laden`,tryAgain:`Erneut versuchen`,panelTitle:`{{name}} ist auf einen Fehler gestoßen`},a={noActivity:`Keine Aktivität`,noActivityYet:`Noch keine Aktivität`,activityMax:`Aktivitäts-Sparkline: max. {{count}} Ereignisse`,activityPeak:`Aktivitäts-Sparkline — Spitze {{count}} Ereignisse/Intervall`},o={title:`Vorherige Tabs wiederherstellen?`,body:`Diese WebUI wurde neu gestartet. {{count}} Sitzung(en) waren zuvor in diesem Browser geöffnet — sie liegen weiterhin auf der Festplatte. Wähle die aus, die du wieder öffnen möchtest, oder starte neu.`,limit:`Höchstens {{room}} weitere können wieder geöffnet werden ({{max}} Tabs insgesamt). Der Rest bleibt im Verlauf.`,fresh:`Neu starten`,confirm:`{{count}} wieder öffnen`},s={down:`MCP-Server „{{name}}“ ist nicht verbunden ({{reason}}); seine Tools sind nicht verfügbar. Mit /mcp restart {{name}} erneut versuchen.`,up:`MCP-Server „{{name}}“ ist wieder verbunden.`},c=`{{name}} wird geladen…`,l={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,restoreTabs:o,mcpStatus:s,loadingNamed:c};export{e as action,t as confirm,l as default,i as error,c as loadingNamed,s as mcpStatus,o as restoreTabs,a as sparkline,n as status,r as time};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n,t as r}from"./react-core-wiHys0m2.js";import{Do as i,Mt as a,Oa as o,So as s,Yt as c,Zr as l,bo as u,wo as d,xo as f,ya as p}from"./vendor-BfBvt432.js";import{i as m,n as h}from"./i18n-CzTjKT4L.js";import{n as g,t as ee}from"./utils-B21Devim.js";import{n as _}from"./ui-store-DI0iusYZ.js";import{r as te,y as ne}from"./fonts-C303yVU_.js";function re(e,t){if(e==null){let e=Error(t?`Expected ${t} to be defined`:`Expected value to be defined`);throw e.name=`ExpectDefinedError`,e}return e}function ie(){return{messages:[],currentAssistantMessageId:null,currentToolId:null,isLoading:!1,abortController:null,executions:new Map,toolMessageIdsByUseId:new Map,queue:[],serverQueue:[],runStart:null,refining:!1,pendingRefinement:null,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,pendingConfirm:null,pendingFallback:null}}function ae(e){if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e.steps;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`||Array.isArray(e))continue;let t=e.text;if(typeof t!=`string`||!t.trim())continue;let r=n.length===0&&e.auto===!0;if(n.push(r?{index:n.length+1,text:t,auto:!0}:{index:n.length+1,text:t}),n.length>=4)break}return n}function oe(e){return e!==`tool_use`&&e!==`tool_call`}function se(e){let t=[],n=e.split(`
|
|
2
|
+
`),r=0,i=null;for(let e of n){let n=r;r+=e.length+1;let a=e.trim(),o=/^(`{3,}|~{3,})/.exec(a)?.[1];if(o!==void 0){if(i===null){i={markerChar:o[0],markerLength:o.length,start:n};continue}o[0]===i.markerChar&&o.length>=i.markerLength&&a===o&&(t.push([i.start,r]),i=null)}}return i!==null&&t.push([i.start,e.length]),{spans:t,open:i}}function ce(e){return se(e).spans}function le(e,t,n,r){let i=n;for(;;){let n=e.indexOf(t,i);if(n===-1)return-1;if(!r.some(([e,t])=>n>=e&&n<t))return n;i=n+1}}var ue=/^(?:(\d+)[.)]\s*|[-*•]\s*)(.+?)(\s+auto="true")?$/,de=6;function fe(e){if(!e.startsWith(`<!--ws:nextstep-json-->`))return e;try{let t=JSON.parse(e.slice(23));return typeof t==`string`&&t.trim()?t:void 0}catch{return}}function pe(e,t=!0){return t?_e(e):ge(e)}function me(e,t,n,r){e.push(r?{index:t,text:n,auto:!0}:{index:t,text:n})}function he(e,t){let n=ce(e),r=[],i=new Set,a=0;for(let o of e.split(`
|
|
3
|
+
`)){let e=a;if(a+=o.length+1,n.some(([t,n])=>e>=t&&e<n)){if(t)break;continue}let s=o.trim();if(!s)continue;let c=ue.exec(s);if(!c){if(t)break;continue}let l=fe(c[2].trim());if(l===void 0)continue;let u=c[1]===void 0?r.length+1:Number.parseInt(c[1],10);if(!i.has(u)&&(i.add(u),me(r,u,l,!!c[3]&&r.length===0&&u===1),r.length>=de))break}return r}function ge(e){let t=he(e,!1);return{steps:t,texts:t.map(e=>e.text),stripped:e,autoTexts:t.filter(e=>e.auto).map(e=>e.text)}}function _e(e){let t={steps:[],texts:[],stripped:e,autoTexts:[]},n=ce(e),r=[...e.matchAll(/<nextsteps\b[^<>]*>\s*\n+/gi)].filter(e=>!e[0].trimEnd().endsWith(`/>`)&&!n.some(([t,n])=>e.index>=t&&e.index<n));for(let[t,i]of r.entries()){let a=i.index+i[0].length,o=le(e,`</nextsteps>`,a,n);if(o===-1||o>=(r[t+1]?.index??1/0))continue;let s=he(e.slice(a,o),!0);if(s.length===0)continue;let c=o+12;e[c]===`
|
|
4
|
+
`&&c++;let l=(e.slice(0,i.index)+e.slice(c)).replace(/\n{3,}/g,`
|
|
5
|
+
|
|
6
|
+
`).trim();return{steps:s,texts:s.map(e=>e.text),stripped:l,autoTexts:s.filter(e=>e.auto).map(e=>e.text)}}return t}function ve(e){let t=ce(e),n=e=>!t.some(([t,n])=>e>=t&&e<n),r=``,i=0,a=/<next_?steps\b[^>]*>/gi;for(let t=a.exec(e);t!==null;t=a.exec(e)){if(!n(t.index))continue;let o;if(t[0].endsWith(`/>`))o=t[0].length;else{let r=/<\/next_?steps\s*>/gi;r.lastIndex=t.index+t[0].length,o=-1;for(let i=r.exec(e);i!==null;i=r.exec(e))if(n(i.index)){o=i.index+i[0].length-t.index;break}o===-1&&(o=t[0].length)}r+=e.slice(i,t.index),i=t.index+o,a.lastIndex=i}return r+=e.slice(i),r.replace(/\n{3,}/g,`
|
|
7
|
+
|
|
8
|
+
`).trim()}var ye=`[AUTO-WAKE]`;function be(e){return e.trimStart().startsWith(ye)}function xe(e,t){let n=e.length,r=n>0?` (${e.join(`, `)})`:``,i=typeof t==`number`&&t>0?` \u2014 woken turn ${t} without your input`:``;return`Auto-wake: ${n===1?`a background delegation result`:`background delegation results`} arrived${r}; the leader started a new turn${i}.`}function Se(e,t){let n=e.length>0?` (${e.join(`, `)})`:``;return t===1?`Background delegation result ready${n}.`:`${t} background delegation results ready${n}.`}function Ce(e){return`Auto-wake paused: ${e} background result${e===1?``:`s`} held after too many consecutive woken turns \u2014 send a message to continue.`}function we(e){if(!be(e))return;let t=/arrived:\s*([^\n]*?)\.\s*Review and continue/i.exec(e);return xe(t?.[1]?t[1].split(`,`).map(e=>e.trim()).filter(e=>e.length>0):[])}var v={maxReconnectAttempts:10,initialBackoffMs:1e3,maxBackoffMs:3e4,backoffMultiplier:2,jitterRatio:0,queueLimit:1e3,heartbeatIntervalMs:0,heartbeatTimeoutMs:0};function Te(){return{phase:`idle`,reconnectAttempt:0,lastActivityAt:null,stopped:!1}}function Ee(e){return e.stopped?e:{...e,phase:`connecting`}}function De(e,t=Date.now()){return e.stopped?e:{...e,phase:`open`,reconnectAttempt:0,lastActivityAt:t,stopped:!1}}function Oe(e,t=Date.now()){return{...e,lastActivityAt:t}}function ke(e){return{...e,phase:`closed`,stopped:!0}}function Ae(e){return{...e,phase:`idle`,reconnectAttempt:0,stopped:!1}}function je(e,t,n=Date.now(),r=Math.random){let i=t.maxReconnectAttempts===1/0?1/0:Pe(t.maxReconnectAttempts,v.maxReconnectAttempts);if(e.stopped||e.reconnectAttempt>=i)return{state:{...e,phase:`closed`},plan:null};let a=e.reconnectAttempt+1,o=Me(t.initialBackoffMs,v.initialBackoffMs),s=Me(t.maxBackoffMs,v.maxBackoffMs),c=Ne(t.backoffMultiplier,v.backoffMultiplier),l=Math.min(1,Me(t.jitterRatio,v.jitterRatio)),u=Math.min(o*c**(a-1),s),d=r(),f=((Number.isFinite(d)?Math.min(1,Math.max(0,d)):.5)*2-1)*l,p=Math.max(0,Math.round(u*(1+f)));return{state:{...e,phase:`reconnecting`,reconnectAttempt:a},plan:{attempt:a,delayMs:p,retryAt:n+p}}}function Me(e,t){return Number.isFinite(e)&&e>=0?e:t}function Ne(e,t){return Number.isFinite(e)&&e>0?e:t}function Pe(e,t){return Number.isSafeInteger(e)&&e>=0?Math.floor(e):t}var Fe=`abort,ping,user_message,composer.warm,queue.add,queue.clear,queue.get,queue.remove,tool.confirm_result,user.input_submit,topic.advice,completion.request,model.switch,model.refine,model.fallback_choice,autonomy.switch,context.clear,context.compact,context.debug,context.editor.open,context.editor.validate,context.editor.apply,context.mode.create,context.mode.delete,context.mode.switch,context.mode.update,context.modes.list,context.repair,mode.switch,modes.list,session.checkpoints,session.delete,session.focus,session.inspect,session.new,session.rename,session.resume,session.rewind,session.save,session.subscribe,sessions.list,side_effects.list,stats.get,todo.update,todos.clear,todos.get,todos.remove`.split(`,`),Ie=[`collab.join`,`collab.leave`,`collab.annotate`,`collab.resolve`,`collab.request_pause`,`collab.resume`,`collab.grant_control`,`collab.inject_tool`,`mailbox.action`,`mailbox.agents`,`mailbox.clear`,`mailbox.compact`,`mailbox.messages`,`mailbox.purge`,`mailbox.send`],Le=`brain.ask,jev.get,jev.set,jev.test,jev.check,brain.config.get,brain.config.set,brain.risk,brain.status,chronicle.facet,chronicle.facets,chronicle.graph,chronicle.metrics,chronicle.query,chronicle.status,config.doctor,design.list,design.materialize,design.set,design.state,design.swap,design.tune,design.use,design.verify,memory.list,memory.sage.backfillRecoverable,memory.sage.candidateResolve,memory.sage.delete,memory.sage.forFile,memory.sage.get,memory.sage.graph,memory.sage.list,memory.sage.listCandidates,memory.sage.listPage,memory.sage.recover,memory.sage.remember,memory.sage.searchBreakdown,memory.sage.update`.split(`,`),Re=`auth.oauth.cancel,auth.oauth.code,auth.oauth.list,auth.oauth.start,chimera.finding.transition,chimera.report.add_note,chimera.report.get,chimera.report.transition,chimera.reports.list,chimera.reports.query,mcp.add,mcp.auth.login,mcp.auth.logout,mcp.auth.status,mcp.disable,mcp.discover,mcp.enable,mcp.list,mcp.prompt.get,mcp.prompts,mcp.remove,mcp.resource.read,mcp.resources,mcp.restart,mcp.sleep,mcp.update,mcp.wake,provider.audit.get,prompts.content,prompts.create,prompts.favorite,prompts.journal,prompts.list,prompts.recent,prompts.search,prompts.used,skills.content,skills.create,skills.edit,skills.export,skills.install,skills.list,skills.uninstall,skills.update`.split(`,`),ze=`goal-state.get,goal-state.set,goal-state.refine,goal-state.pause,goal-state.resume,goal-state.clear,goal.addTask,goal.assess,goal.assignTask,goal.clear,goal.get,goal.list,goal.load,goal.moveTask,goal.pause,goal.resume,goal.retryTask,goal.revert,goal.runTask,goal.save,goal.selectPhase,goal.start,goal.status,goal.stop,goal.taskStatus,plan.get,plan.item.update,plan.template_use,task.update,tasks.get`.split(`,`),Be=`sdd.board.cancel_task,sdd.board.cleanup_worktrees,sdd.board.delete_task,sdd.board.destroy,sdd.board.get,sdd.board.list,sdd.board.pause,sdd.board.reassign,sdd.board.resume,sdd.board.retry,sdd.board.retry_all_failed,sdd.board.rollback,sdd.board.set_task_fallbacks,sdd.board.set_task_model,sdd.board.set_task_verification,sdd.board.split_task,sdd.board.stop,sdd.run.from_graph,sdd.run.from_spec,sdd.run.start,sdd.spec.approve,sdd.spec.discard,sdd.spec.get,sdd.spec.message,sdd.spec.rewind,sdd.spec.start,specs.get,specs.list,specs.taskStatus`.split(`,`),Ve=`files.create,files.delete,files.list,files.move,files.image,files.read,files.rename,files.skeleton,files.tree,files.write,git.changes,git.commit,git.diff,git.discard,git.info,git.history,git.commit_detail,git.commit_file_diff,git.stage,git.unstage,projects.add,projects.list,projects.select,working_dir.set,worktree.cleanup,worktree.diff,worktree.merge,worktree.remove,worktree.scan,shell.open,process.kill,process.killAll,process.list,process.output,browser.live.list,browser.live.watch,browser.live.unwatch,terminal.close,terminal.create,terminal.input,terminal.resize`.split(`,`),He=`codebase.index.server.shutdown,connections.health,connections.service_action,diag.get,key.add,key.delete,key.set_active,key.update,prefs.get,prefs.update,provider.add,provider.clear_models,provider.custom_models.remove,provider.custom_models.set,provider.models,provider.models.search,provider.probe,provider.quota.get,provider.remove,provider.status.clear,provider.status.get,provider.status.retry,provider.test.cancel,provider.test.run,provider.undo_clear,provider.update,providers.list,providers.saved,system_prompt.get,system_prompt.presets.get,system_prompt.presets.create,system_prompt.presets.save,system_prompt.presets.activate,system_prompt.presets.delete,system_prompt.presets.validate,system_prompt.presets.preview,tool.disable,tool.enable,tools.list,webui.shutdown`.split(`,`),Ue=`error,log,pong,side_effects,agent.status_changed,agent.timeline.message,client.status_update,chimera.report_available,compaction.failed,completion.result,context.compacted,context.debug,context.editor.snapshot,context.editor.validation,context.editor.applied,context.mode.changed,context.modes.list,context.repaired,ctx.max_context,ctx.pct,delegate.completed,delegate.started,delegation.auto_wake_started,delegation.auto_wake_suppressed,delegation.delivery_pending,iteration.completed,iteration.limit_reached,iteration.started,model.refine_result,modes.list,provider.active_blocked,provider.error,provider.fallback,provider.fallback_pending,provider.model_switched,provider.response,provider.retry,provider.status_changed,provider.stream_error,provider.text_delta,provider.thinking_delta,queue.drained,queue.state,run.result,session.checkpoints,session.damaged,session.end,session.frames_resumed,session.inspect,session.rewound,session.resume_progress,session.run_state,session.start,session.stats,sessions.list,sessions.status_update,stats.get,token.cost_estimate_unavailable,token.threshold,tool.confirm_needed,tool.confirm_resolved,tool.disabled,tool.enabled,tool.executed,tool.loop_detected,tool.progress,tool.started,user.input_requested,user.input_resolved,topic.advice_result,tools.list,trust.persisted`.split(`,`),We=[`collab.annotation.added`,`collab.annotation.resolved`,`collab.event`,`collab.injection.granted`,`collab.participant.joined`,`collab.participant.left`,`collab.pause.granted`,`collab.pause.released`,`collab.state`,`mailbox.action_result`,`mailbox.agent_registered`,`mailbox.agent_deregistered`,`mailbox.agents`,`mailbox.cleared`,`mailbox.compacted`,`mailbox.event`,`mailbox.messages`,`mailbox.sent`,`mailbox.purged`,`mailbox.received`,`subagent.budget_extended`,`subagent.event`],Ge=`brain.answer,jev.state,brain.config,brain.event,brain.status,chronicle.error,chronicle.facet_result,chronicle.facets_result,chronicle.graph_result,chronicle.metrics_result,chronicle.query_result,chronicle.status_result,config.doctor.result,design.list,design.materialize,design.set,design.state,design.swap,design.tune,design.use,design.verify,memory.event,memory.list,memory.sage.backfillRecoverable,memory.sage.candidateResolve,memory.sage.delete,memory.sage.forFile,memory.sage.get,memory.sage.graph,memory.sage.list,memory.sage.listCandidates,memory.sage.listPage,memory.sage.recover,memory.sage.remember,memory.sage.searchBreakdown,memory.sage.update`.split(`,`),Ke=`chimera.finding.updated,chimera.report.detail,chimera.report.note_added,chimera.report.updated,chimera.reports,mcp.auth.pending,mcp.auth.status,mcp.content.error,mcp.content.selected,mcp.list,mcp.operation_result,mcp.prompts,mcp.resources,mcp.server.added,mcp.server.auth_state,mcp.server.connected,mcp.server.disconnected,mcp.server.discovered,mcp.server.error,mcp.server.reconnected,mcp.server.removed,mcp.server.sleeping,mcp.server.updated,mcp.server.waking,provider.audit.history,prompts.content,prompts.created,prompts.favorite,prompts.journal,prompts.list,prompts.recent,prompts.search,prompts.used,skills.content,skills.created,skills.edited,skills.exported,skills.installed,skills.list,skills.uninstalled,skills.updated,techstack.research.partial`.split(`,`),qe=`budget.decision,budget.threshold_reached,coordinator.stats,coordinator.status,eternal.iteration,fleet.concurrency_update,goal-state.updated,goal-state.refining,goal-state.error,goal.assess.result,goal.list,goal.paused,goal.resumed,goal.saved,goal.error,goal.stopped,goal.failed,goal.completed,goal.cleared,goal.reverted,goal.progress,goal.state,in_flight.ended,in_flight.started,plan.updated,task.completed,task.failed,task.pending,task.started,tasks.updated,todos.cleared,todos.updated`.split(`,`),Je=[`kanban.task.activity`,`sdd.board.lifecycle_result`,`sdd.board.list`,`sdd.board.snapshot`,`sdd.run.started`,`sdd.spec.agent_text`,`sdd.spec.error`,`sdd.spec.snapshot`,`specs.detail`,`specs.list`],Ye=[`consensus.vote_cast`,`consensus.vote_initiated`,`consensus.vote_resolved`,`cron.job_fired`,`cron.snapshot`,`techstack.job.cancelled`,`techstack.job.failed`,`techstack.job.progress`,`techstack.job.started`,`techstack.report.delivered`,`techstack.report.ready`,`techstack.snapshot.updated`,`techstack.workspace.completed`],Xe=`checkpoint.written,codemap.file_event,codemap.index_updated,codemap.tool_executed,codemap.tool_started,file.saved,files.created,files.deleted,files.list,files.moved,files.image,files.read,files.renamed,files.skeleton_result,files.tree,files.tree.changed,files.written,git.action_result,git.changes,git.diff,git.info,git.history,git.commit_detail,git.commit_file_diff,process.list,process.output,browser.live.list,browser.live.frame,browser.live.details,projects.added,projects.list,projects.selected,terminal.exit,terminal.output,working_dir.changed,worktree.cleanup_result,worktree.diff_result,worktree.event,worktree.merge_result,worktree.orphans,worktree.state`.split(`,`),Ze=[`auth.oauth.status`,`auth.oauth.providers`,`codebase.index.server.shutdown_result`,`connections.auto_heal_status`,`connections.health_error`,`connections.health_result`,`connections.service_action_result`,`diag.get`,`key.operation_result`,`model.switch_result`,`prefs.updated`,`provider.catalog`,`provider.models`,`provider.models.search_result`,`provider.probe`,`provider.quota`,`provider.status.snapshot`,`provider.test.complete`,`provider.test.result`,`provider.test.started`,`providers.saved`,`system_prompt.info`,`system_prompt.presets`,`system_prompt.preset_validation`,`system_prompt.preset_preview`],Qe=[...Fe,...Ie,...Ve,...He,...ze,...Be,...Le,...Re],$e=[...Ue,...We,...Xe,...Ze,...qe,...Je,...Ye,...Ge,...Ke],et=new Set(Qe),tt=new Set($e);function nt(e,t){return(t===`client`?et:tt).has(e)||e.startsWith(`kanban.`)&&e.length>7||e.startsWith(`agent-roster.`)&&e.length>13}var rt=new Set([`__proto__`,`constructor`,`prototype`]),it=32;function at(e,t){if(t>it)return{code:`too_deep`,message:`Protocol payload exceeds the nesting limit`,path:``};if(typeof e!=`object`||!e)return null;for(let n of Object.keys(e)){if(rt.has(n))return{code:`unsafe_key`,message:`Unsafe protocol key: ${n}`,path:`.${n}`};let r=at(e[n],t+1);if(r)return{...r,path:`.${n}${r.path}`}}return null}function ot(e,t){try{if(typeof e!=`object`||!e||Array.isArray(e))return{ok:!1,issue:{code:`invalid_envelope`,message:`Protocol message must be an object`}};let n=e;if(typeof n.type!=`string`||n.type.length===0)return{ok:!1,issue:{code:`invalid_type`,message:`Protocol message type must be a non-empty string`}};if(!nt(n.type,t))return{ok:!1,issue:{code:`unknown_type`,message:`Unknown ${t} message: ${n.type}`}};if(t===`server`&&!Object.hasOwn(n,`payload`))return{ok:!1,issue:{code:`invalid_envelope`,message:`Server protocol messages require a payload`}};let r=at(n,0);return r?{ok:!1,issue:{...r,path:`$${r.path}`}}:{ok:!0,message:e}}catch{return{ok:!1,issue:{code:`invalid_envelope`,message:`Protocol message contains unreadable values`}}}}function st(e,t){try{return ot(JSON.parse(e),t)}catch{return{ok:!1,issue:{code:`invalid_envelope`,message:`Protocol frame is not valid JSON`}}}}function ct(e){let t=e.seq;if(typeof t!=`number`||!Number.isInteger(t))return null;let n=e.payload,r=typeof e.stream==`string`?e.stream:n&&typeof n==`object`?n.sessionId:void 0;return typeof r==`string`&&r?{sessionId:r,seq:t}:null}var lt=class{epoch;applied=new Map;held=new Map;resuming=new Set;adoptEpoch(e){if(e===this.epoch)return[];let t=this.releaseAll();return this.applied.clear(),this.epoch=e,t}cursors(e){if(!this.epoch)return null;let t={};for(let n of e){let e=this.applied.get(n);e!==void 0&&(t[n]=e)}return Object.keys(t).length>0?{eventEpoch:this.epoch,cursors:t}:null}beginResume(e){for(let t of e)this.resuming.add(t)}isResuming(e){return this.resuming.has(e)}accept(e){let t=ct(e);if(!t)return[e];let n=this.applied.get(t.sessionId);if(n!==void 0&&t.seq<=n)return[];if(this.resuming.has(t.sessionId)&&n!==void 0&&t.seq>n+1){let n=this.held.get(t.sessionId);return n||(n=new Map,this.held.set(t.sessionId,n)),n.set(t.seq,e),[]}return this.applied.set(t.sessionId,t.seq),[e,...this.drainContiguous(t.sessionId,t.seq)]}finishResume(e){return this.resuming.delete(e)?this.release(e):[]}releaseAll(){let e=[];for(let t of[...this.resuming])e.push(...this.finishResume(t));return this.resuming.clear(),e}drainContiguous(e,t){let n=this.held.get(e);if(!n)return[];let r=[];for(;;){let e=n.get(t+1);if(!e)break;n.delete(t+1),r.push(e),t+=1}return this.applied.set(e,t),n.size===0&&this.held.delete(e),r}release(e){let t=this.held.get(e);return this.held.delete(e),t?(this.applied.set(e,Math.max(...t.keys())),[...t.entries()].sort(([e],[t])=>e-t).map(([,e])=>e)):[]}},ut=globalThis,dt=5e3,ft=[`replayMessages`,`replayMarkers`,`replayToolMeta`,`replayUsage`],pt=class{constructor(e,t=dt){this.apply=e,this.timeoutMs=t}apply;timeoutMs;gate=new lt;timer=null;requested=[];request(e){let t=this.gate.cursors(e);if(!t)return null;let n=Object.keys(t.cursors);return this.requested=[...new Set([...this.requested,...n])],this.gate.beginResume(n),this.timer&&ut.clearTimeout(this.timer),this.timer=ut.setTimeout(()=>{this.timer=null,this.requested=[],this.apply(this.gate.releaseAll())},this.timeoutMs),t}onSessionStart(e){let t=e.payload;typeof t.eventEpoch==`string`&&this.apply(this.gate.adoptEpoch(t.eventEpoch));let n=t.sessionId;if(typeof n!=`string`||!this.gate.isResuming(n))return e;let r={...t};for(let e of ft)delete r[e];return{...e,payload:r}}onFramesResumed(e){let t=e.payload.sessionId;typeof t==`string`&&this.apply(this.gate.finishResume(t)),this.timer&&!this.requested.some(e=>this.gate.isResuming(e))&&(ut.clearTimeout(this.timer),this.timer=null,this.requested=[])}};function mt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function y(e,t=``){return typeof e==`string`?e:t}function ht(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function gt(e){let t=mt(e.payload);if(!t)return null;switch(e.type){case`provider.thinking_delta`:{let e=y(t.text);return e?{kind:`thinking-delta`,text:e}:null}case`provider.text_delta`:{let e=y(t.text);return e?{kind:`text-delta`,text:e,messageId:y(t.messageId)}:null}case`provider.response`:return{kind:`response`,content:t.content,stopReason:y(t.stopReason)};case`run.result`:return{kind:`run-result`,status:y(t.status),iterations:ht(t.iterations,1),...typeof t.finalText==`string`?{finalText:t.finalText}:{}};case`error`:return{kind:`error`,message:y(t.message,`Run failed`)};default:return null}}function _t(e){let t=mt(e.payload);if(!t)return null;if(e.type===`tool.started`){let e=y(t.name,`tool`);return{kind:`started`,id:y(t.id,e),name:e,input:t.input,messageId:y(t.messageId)}}if(e.type===`tool.progress`){let e=mt(t.event);return{kind:`progress`,id:y(t.id),name:y(t.name,`tool`),eventType:y(e?.type),text:y(e?.text).trim()}}return e.type===`tool.executed`?{kind:`executed`,id:y(t.id),name:y(t.name),ok:t.ok!==!1,durationMs:ht(t.durationMs),...typeof t.output==`string`?{output:t.output}:{},...b(t.outputBytes)===void 0?{}:{outputBytes:b(t.outputBytes)},...b(t.outputTokens)===void 0?{}:{outputTokens:b(t.outputTokens)},...b(t.outputLines)===void 0?{}:{outputLines:b(t.outputLines)},...Array.isArray(t.sage)?{sage:t.sage.filter(e=>typeof e==`string`)}:{}}:null}function b(e){if(typeof e==`number`&&Number.isFinite(e))return e}function vt(e){return typeof e==`string`&&e.length>0?e:void 0}function yt(e){let t=mt(e.payload);if(!t)return null;switch(e.type){case`fleet.concurrency_update`:return{kind:`concurrency`,active:ht(t.fleetConcurrency),maximum:ht(t.fleetConcurrencyMax),maxSpawns:b(t.maxSpawns),usedSpawns:b(t.usedSpawns),remainingSpawns:b(t.remainingSpawns),maxSpawnsSource:vt(t.maxSpawnsSource),maxConcurrentSource:vt(t.maxConcurrentSource),effectiveSource:vt(t.effectiveSource),checkpointMaxSpawns:b(t.checkpointMaxSpawns),ceilingMismatch:t.ceilingMismatch===!0||void 0};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=>mt(e)!==null):[]};default:return null}}var bt=[`protocol.directional-decoder`,`protocol.recursive-key-safety`,`chronicle.query`,`chronicle.facet`,`chronicle.facets`,`chronicle.graph`,`chronicle.metrics`,`chronicle.status`,`connections.health`,`context.topic-boundary`,`sdd.interview.continuity`,`sdd.run.from_graph`,`session.prompt-queue`,`session.provider-warm`,`session.frame-resume`];function xt(e){let t=e.protocolVersion,n=t===void 0,r=n?1:Math.min(t,1),i=n||Number.isInteger(t)&&t>=1,a=new Set(e.protocolCapabilities??[]);return{compatible:i,legacyPeer:n,version:r,capabilities:bt.filter(e=>a.has(e))}}var St=new Map;function x(e){let t=St.get(e);t!==void 0&&(clearTimeout(t),St.delete(e))}var Ct=0;function wt(e){Ct=e}function Tt(){return Ct+=1,Ct}function Et(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.text!=`string`||t.mode!==`btw`&&t.mode!==`steer`&&t.mode!==`queue`||typeof t.addedAt!=`number`||!Number.isFinite(t.addedAt))return null;let n=typeof t.itemId==`number`&&Number.isSafeInteger(t.itemId)&&t.itemId>0?t.itemId:Tt();return Ct=Math.max(Ct,n),{text:t.text,mode:t.mode,addedAt:t.addedAt,itemId:n,...t.images?{images:t.images}:{}}}var Dt=1800,Ot=null;function kt(e){Ot=e}function At(){return Ot}function jt(e){if(!e)return e;let t=e.split(/\n{2,}/),n=[];for(let e of t)n.length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.map(e=>{let t=e.split(`
|
|
9
|
+
`),n=[];for(let e of t)n.length>0&&e.trim().length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.join(`
|
|
10
|
+
`)}).join(`
|
|
11
|
+
|
|
12
|
+
`)}var Mt=2097152;function S(e,t=Mt){if(e.length<=t)return e;if(t<=55){let n=Math.ceil(t/2);return e.slice(0,n)+e.slice(e.length-(t-n))}let n=t-55,r=Math.ceil(n/2);return e.slice(0,r)+`
|
|
13
|
+
|
|
14
|
+
… [older streamed text omitted to protect memory] …
|
|
15
|
+
|
|
16
|
+
`+e.slice(e.length-(n-r))}var Nt=new WeakMap;function Pt(e){if(e===void 0)return 0;let t=typeof e==`object`&&!!e;if(t){let t=Nt.get(e);if(t!==void 0)return t}let n;try{n=JSON.stringify(e).length*2}catch{n=Mt*2}return t&&Nt.set(e,n),n}function Ft(e,t){let n=S(e.content,t),r=e.toolResult===void 0?void 0:S(e.toolResult,t),i=e.thinkingLog?{...e.thinkingLog,text:S(e.thinkingLog.text,t)}:void 0,a=Pt(e.toolInput)>t*2?`[tool input omitted from live transcript to protect memory]`:e.toolInput;return n===e.content&&r===e.toolResult&&i?.text===e.thinkingLog?.text&&a===e.toolInput?e:{...e,content:n,...r===void 0?{}:{toolResult:r},...i?{thinkingLog:i}:{},...a===void 0?{}:{toolInput:a}}}function It(e){let t=384+e.content.length*2+(e.toolResult?.length??0)*2+(e.thinkingLog?.text.length??0)*2+Pt(e.toolInput);for(let n of e.attachments??[])t+=(n.dataUrl?.length??0)*2+192;for(let n of e.sageLines??[])t+=n.length*2;for(let n of e.progressLines??[])t+=n.length*2;return t}function Lt(e,t={}){let n=Math.max(1,Math.floor(t.maxMessages??1e3)),r=Math.max(1,Math.floor(t.maxBytes??50331648)),i=Math.max(1,Math.floor(t.maxFieldChars??2097152)),a=[],o=0;for(let t=e.length-1;t>=0&&a.length<n;--t){let n=Ft(e[t],i),s=It(n);if(s>r&&n.attachments?.some(e=>e.dataUrl)&&(n={...n,attachments:n.attachments.map(e=>({...e,dataUrl:void 0}))},s=It(n)),a.length>0&&o+s>r)break;a.push(n),o+=s}return a.reverse(),a}function Rt(e){let t=new Map;for(let n of e)n.role===`tool`&&n.toolUseId&&t.set(n.toolUseId,n.id);return t}function zt(e){let t=new Map;for(let n of e)n.role===`tool`&&n.toolUseId&&t.set(n.toolUseId,{id:n.toolUseId,name:n.toolName??`tool`,input:n.toolInput,output:n.toolResult,durationMs:n.toolDurationMs,ok:n.isError!==!0,startedAt:n.timestamp,...n.toolResult===void 0?{}:{completedAt:n.timestamp}});return t}var C=4,w=`__unbound__`,Bt=ie(),T=f()(u(()=>({lanes:{},activeSessionId:w}),{name:`wrongstack-chat-lanes`,version:2,partialize:e=>({lanes:Object.fromEntries(Object.entries(e.lanes).slice(0,C).map(([e,t])=>[e,{messages:t.messages.slice(-200).map(e=>e.attachments?.some(e=>e.dataUrl)?{...e,attachments:e.attachments.map(e=>({...e,dataUrl:void 0}))}:e),queue:t.queue.filter(e=>e.alreadyDispatched!==!0).map(e=>e.images?{...e,images:void 0}:e),thinkingLogBuffer:t.thinkingLogBuffer}]))}),merge:(e,t)=>{let n=e??{},r={};for(let[e,t]of Object.entries(n.lanes??{}).slice(0,C)){let n=ie();n.messages=Lt(Array.isArray(t.messages)?t.messages:[]),n.executions=zt(n.messages),n.toolMessageIdsByUseId=Rt(n.messages),n.queue=(Array.isArray(t.queue)?t.queue:[]).flatMap(e=>{let t=Et(e);return t?(wt(Math.max(t.itemId,0)),[t]):[]}),n.thinkingLogBuffer=typeof t.thinkingLogBuffer==`string`?t.thinkingLogBuffer:``,r[e]=n}return{...t,lanes:r,activeSessionId:w}},onRehydrateStorage:()=>(e,t)=>{t||typeof window<`u`&&(window.__wrongstackChatRehydrated=!0)}}));function E(e){return e?T.getState().lanes[e]??Bt:Bt}function Vt(e){return e?e in T.getState().lanes:!1}function Ht(){return Object.keys(T.getState().lanes)}function Ut(e){return e?(T.getState().lanes[e]||T.setState(t=>({lanes:{...t.lanes,[e]:ie()}})),e):w}var Wt=new Set;function Gt(e){return Wt.add(e),()=>{Wt.delete(e)}}function Kt(e){let t=T.getState().lanes[e];if(t){for(let e of t.queue)e.itemId!==void 0&&x(e.itemId);T.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}})}Yt.delete(e);for(let t of Wt)try{t(e)}catch{}}function qt(e){if(!e||e===`__unbound__`)return;let t=T.getState(),n=t.lanes[w];if(!n)return;let r=t.lanes[e],i=!r||r.messages.length===0&&r.queue.length===0,a=n.messages.length===0&&n.queue.length===0;Yt.delete(w),T.setState(t=>{let r={...t.lanes};return delete r[w],i&&!a?r[e]=n:r[e]||(r[e]=ie()),{lanes:r}})}function D(e){let t=e||`__unbound__`,n=T.getState();n.activeSessionId===t&&n.lanes[t]||(Ut(t),T.setState({activeSessionId:t}))}function Jt(){return T.getState().activeSessionId}function O(e,t){T.setState(n=>{let r=n.lanes[e]??ie(),i=t(r);return i?{lanes:{...n.lanes,[e]:{...r,...i}}}:n.lanes[e]?{}:{lanes:{...n.lanes,[e]:r}}})}var Yt=new Map;function Xt(e){let{lanes:t}=T.getState();for(let[n,r]of Object.entries(t))r.pendingConfirm?.id===e&&O(n,()=>({pendingConfirm:null}))}function Zt(e){let{lanes:t}=T.getState();for(let[n,r]of Object.entries(t))r.pendingFallback?.requestId===e&&O(n,()=>({pendingFallback:null}))}function k(e){let t=e||`__unbound__`,n=Yt.get(t);if(n)return n;let r=()=>T.getState().lanes[t]??Bt,i={sessionId:t,get messages(){return r().messages},get currentAssistantMessageId(){return r().currentAssistantMessageId},get currentToolId(){return r().currentToolId},get isLoading(){return r().isLoading},get abortController(){return r().abortController},get executions(){return r().executions},get toolMessageIdsByUseId(){return r().toolMessageIdsByUseId},get queue(){return r().queue},get serverQueue(){return r().serverQueue},get runStart(){return r().runStart},get refining(){return r().refining},get pendingRefinement(){return r().pendingRefinement},get thinkingBuffer(){return r().thinkingBuffer},get thinkingStartedAt(){return r().thinkingStartedAt},get thinkingLogBuffer(){return r().thinkingLogBuffer},get thinkingLogStartedAt(){return r().thinkingLogStartedAt},get pendingConfirm(){return r().pendingConfirm},patch:e=>O(t,()=>e),addMessage:e=>{let n=e.id??`msg_${Date.now()}_${g().slice(0,8)}`,r={...e,id:n,timestamp:e.timestamp??Date.now()};return O(t,t=>{let i=Lt([...t.messages,r]),a=Rt(i),o=t.executions;if(o.size>0){let e=new Map,t=!1;for(let[n,r]of o)a.has(n)?e.set(n,r):t=!0;t&&(o=e)}if(r.role===`tool`&&r.toolUseId){let e=new Map(a);e.set(r.toolUseId,n),a=e}return{messages:i,toolMessageIdsByUseId:a,...o===t.executions?{}:{executions:o},currentAssistantMessageId:e.role===`assistant`?n:t.currentAssistantMessageId}}),n},setMessages:e=>{let n=Lt(e);O(t,()=>({messages:n,currentAssistantMessageId:null,currentToolId:null,executions:zt(n),toolMessageIdsByUseId:Rt(n),thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null}))},updateMessage:(e,n)=>O(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,...n}:t)})),appendToMessage:(e,n)=>O(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,content:S(t.content+n)}:t)})),finalizeMessage:(e,n)=>{let r=n?.final!==!1;O(t,t=>({messages:t.messages.map(t=>{if(t.id!==e)return t;if(t.role!==`assistant`)return{...t,content:jt(t.content),streaming:!1};let n=pe(t.content),i=r&&n.steps.length>0?{steps:n.steps}:void 0;return{...t,content:jt(n.stripped),streaming:!1,...i?{nextSteps:i}:{}}})}))},setToolResult:(e,n,r)=>O(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,toolResult:S(n),isError:!r,progressLines:void 0}:t)})),appendToolProgress:(e,t)=>{i.appendToolProgressLines(e,[t])},appendToolProgressLines:(e,n)=>{n.length!==0&&O(t,t=>({messages:t.messages.map(t=>{if(t.id!==e)return t;let r=t.progressLines??[];return r.push(...n),r.length>30&&r.splice(0,r.length-30),{...t,progressLines:r}})}))},getToolMessageId:e=>r().toolMessageIdsByUseId.get(e),setToolResultByUseId:(e,t,n)=>{let a=r().toolMessageIdsByUseId.get(e);a&&i.setToolResult(a,t,n)},appendToolProgressLinesByUseId:(e,t)=>{let n=r().toolMessageIdsByUseId.get(e);n&&i.appendToolProgressLines(n,t)},setLoading:e=>O(t,()=>({isLoading:e})),setAbortController:e=>O(t,()=>({abortController:e})),clearMessages:()=>O(t,()=>({messages:[],currentAssistantMessageId:null,currentToolId:null,executions:new Map,toolMessageIdsByUseId:new Map,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,pendingConfirm:null})),setCurrentAssistantMessage:e=>O(t,()=>({currentAssistantMessageId:e})),setCurrentToolId:e=>O(t,()=>({currentToolId:e})),truncateAfter:e=>O(t,t=>{let n=t.messages.findIndex(t=>t.id===e);if(n===-1)return;let r=t.messages.slice(0,n+1),i=new Set(r.map(e=>e.id)),a=new Map([...t.executions].filter(([,e])=>i.has(e.id)));return{messages:r,currentAssistantMessageId:null,currentToolId:null,toolMessageIdsByUseId:Rt(r),executions:a}}),addExecution:e=>O(t,t=>{let n=new Map(t.executions);return n.set(e.id,e),{executions:n}}),updateExecution:(e,n)=>O(t,t=>{let r=new Map(t.executions),i=r.get(e);if(i)return r.set(e,{...i,...n}),{executions:r}}),setRefining:e=>O(t,()=>({refining:e})),setPendingConfirm:e=>O(t,()=>({pendingConfirm:e})),setPendingFallback:e=>O(t,()=>({pendingFallback:e})),setPendingRefinement:(e,n,r=`queue`)=>O(t,()=>({pendingRefinement:e===null?null:{text:e,images:n??[],mode:r}})),enqueue:(e,n=`queue`,r,a)=>{if(n===`queue`&&!a&&t!==`__unbound__`&&At()?.(t,e,r))return;let o=Date.now(),s=Tt();if(O(t,t=>({queue:[...t.queue,{text:e,mode:n,addedAt:o,itemId:s,...r?.length?{images:r}:{},...a?{alreadyDispatched:!0}:{}}]})),!a)return;let c=setTimeout(()=>{St.delete(s);let e=null;O(t,t=>{let n=t.queue.find(e=>e.itemId===s&&e.alreadyDispatched===!0);if(n&&n.bubbleAdded!==!0){let t=n.images??[];e={role:`user`,content:n.text,...t.length>0?{attachments:t.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}}}return{queue:t.queue.filter(e=>e.itemId!==s||e.alreadyDispatched!==!0)}}),e&&i.addMessage(e)},Dt);St.set(s,c)},dequeue:()=>{let e=r().queue;if(e.length===0)return null;let[n,...i]=e;return n?.itemId!==void 0&&x(n.itemId),O(t,()=>({queue:i})),re(n)},dequeueDrainable:()=>{let e=[],n={popped:null},r=t=>{let n=t.images??[];e.push({role:`user`,content:t.text,...n.length>0?{attachments:n.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}})};O(t,t=>{let i=t.queue.findIndex(e=>e.alreadyDispatched!==!0);if(i===-1){for(let e of t.queue)e.alreadyDispatched===!0&&e.bubbleAdded!==!0&&r(e);return e.length===0?void 0:{queue:t.queue.filter(e=>e.alreadyDispatched!==!0||e.bubbleAdded===!0)}}for(let e=0;e<i;e+=1){let n=t.queue[e];n.bubbleAdded!==!0&&r(n)}n.popped=t.queue[i];let a=t.queue.map((e,t)=>t<i&&e.bubbleAdded!==!0&&e.alreadyDispatched===!0?{...e,bubbleAdded:!0}:e);return{queue:[...a.slice(0,i),...a.slice(i+1)]}});for(let t of e)i.addMessage(t);let a=n.popped;return a?.itemId!==void 0&&x(a.itemId),a},removeQueued:e=>O(t,t=>{let n=t.queue[e];return n?.itemId!==void 0&&x(n.itemId),{queue:t.queue.filter((t,n)=>n!==e)}}),clearQueue:()=>O(t,e=>{for(let t of e.queue)t.itemId!==void 0&&x(t.itemId);return{queue:[]}}),removeMessage:e=>O(t,t=>{let n=t.messages.filter(t=>t.id!==e);return{messages:n,toolMessageIdsByUseId:Rt(n)}}),updateLastUserMessage:e=>O(t,t=>{for(let n=t.messages.length-1;n>=0;n--)if(t.messages[n].role===`user`){let r=[...t.messages];return r[n]={...r[n],content:e},{messages:r}}}),setRunStart:e=>O(t,()=>({runStart:e})),appendThinking:e=>O(t,t=>({thinkingBuffer:S(t.thinkingBuffer+e),thinkingStartedAt:t.thinkingStartedAt??Date.now(),thinkingLogBuffer:S(t.thinkingLogBuffer+e),thinkingLogStartedAt:t.thinkingLogStartedAt??Date.now()})),clearThinking:()=>O(t,()=>({thinkingBuffer:``,thinkingStartedAt:null})),flushThinkingLog:e=>{let t=r(),n=t.thinkingLogBuffer.trim();if(!n)return;let a=t.thinkingLogStartedAt??Date.now();i.addMessage({role:`system`,content:``,thinkingLog:{iteration:e,text:n,startedAt:a,durationMs:Math.max(0,Date.now()-a)}}),i.clearThinkingLog()},clearThinkingLog:()=>O(t,()=>({thinkingLogBuffer:``,thinkingLogStartedAt:null}))};return Yt.set(t,i),i}function Qt(e,t){let n=k(e);for(let[e,r]of Object.entries(t))typeof r==`function`&&(n[e]=r)}function $t(){return k(T.getState().activeSessionId)}var en=f()((e,t)=>({bySession:{},recordReport:n=>!n.reportId||t().bySession[n.sessionId]?.some(e=>e.reportId===n.reportId)?!1:(e(e=>({bySession:{...e.bySession,[n.sessionId]:[...e.bySession[n.sessionId]??[],n]}})),!0),markActioned:(t,n,r)=>{e(e=>{let i=e.bySession[t];return i?.some(e=>e.reportId===n)?{bySession:{...e.bySession,[t]:i.map(e=>e.reportId===n?{...e,actionedAt:e.actionedAt??r}:e)}}:e})},hydrateReports:(t,n)=>{n.length!==0&&e(e=>{let r=new Set((e.bySession[t]??[]).map(e=>e.reportId)),i=n.filter(e=>e.reportId&&!r.has(e.reportId));return i.length===0?e:{bySession:{...e.bySession,[t]:[...e.bySession[t]??[],...i]}}})},forgetSession:t=>{e(e=>{if(!(t in e.bySession))return e;let n={...e.bySession};return delete n[t],{bySession:n}})}})),tn=`signal`,nn=`wrongstack-palette`,rn=[{id:`signal`,labelKey:`settings:general.paletteSignal`,swatch:`hsl(345.9 99% 58.8%)`,swatchSecondary:`hsl(37.5 98.4% 50%)`},{id:`emerald-gold`,labelKey:`settings:general.paletteEmeraldGold`,swatch:`hsl(152 66% 48%)`,swatchSecondary:`hsl(42 96% 54%)`},{id:`blue-navy`,labelKey:`settings:general.paletteBlueNavy`,swatch:`hsl(213 90% 60%)`,swatchSecondary:`hsl(36 96% 54%)`},{id:`purple-pink`,labelKey:`settings:general.palettePurplePink`,swatch:`hsl(263 82% 66%)`,swatchSecondary:`hsl(332 94% 62%)`},{id:`cyan-teal`,labelKey:`settings:general.paletteCyanTeal`,swatch:`hsl(180 76% 46%)`,swatchSecondary:`hsl(36 96% 54%)`},{id:`rose-copper`,labelKey:`settings:general.paletteRoseCopper`,swatch:`hsl(14 82% 56%)`,swatchSecondary:`hsl(34 96% 54%)`},{id:`indigo-amber`,labelKey:`settings:general.paletteIndigoAmber`,swatch:`hsl(233 74% 58%)`,swatchSecondary:`hsl(38 96% 54%)`},{id:`sage-sand`,labelKey:`settings:general.paletteSageSand`,swatch:`hsl(130 28% 55%)`,swatchSecondary:`hsl(36 55% 72%)`},{id:`slate-violet`,labelKey:`settings:general.paletteSlateViolet`,swatch:`hsl(248 50% 55%)`,swatchSecondary:`hsl(285 52% 62%)`},{id:`coral-mint`,labelKey:`settings:general.paletteCoralMint`,swatch:`hsl(12 85% 62%)`,swatchSecondary:`hsl(162 55% 55%)`},{id:`arctic-ember`,labelKey:`settings:general.paletteArcticEmber`,swatch:`hsl(195 85% 58%)`,swatchSecondary:`hsl(14 85% 55%)`},{id:`moss-rust`,labelKey:`settings:general.paletteMossRust`,swatch:`hsl(100 45% 38%)`,swatchSecondary:`hsl(18 70% 48%)`}];function an(e){return typeof e==`string`&&rn.some(t=>t.id===e)}function on(e){return rn.find(t=>t.id===e)??rn[0]}function sn(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return an(n)?n:t}catch{return t}}function cn(e,t){t===`signal`?e.removeAttribute(`data-palette`):e.setAttribute(`data-palette`,t)}function ln(){return{session:null,totalTokens:{input:0,output:0,cacheRead:0,cacheWrite:0},lastInputTokens:0,cost:0,startTime:null,maxContext:0,contextLimitWarning:null,cacheStats:null,inputCost:0,outputCost:0,cacheReadCost:0,reasoningEffortLevels:void 0,effortSupported:void 0,projectReasoningEffort:void 0,mode:`default`,contextMode:`balanced`,iteration:null,todos:[],droppedTools:0,lastVisitedAt:0}}var un=ln(),A=`__unbound__`,j=f()(u(()=>({lanes:{},activeSessionId:A,projectName:``,projectRoot:``,cwd:``,modes:[],contextModes:[],appVersion:``,latestVersion:``,updateAvailable:!1}),{name:`wrongstack-session-lanes`,version:2,partialize:e=>({projectName:e.projectName,projectRoot:e.projectRoot,cwd:e.cwd,lanes:Object.fromEntries(Object.entries(e.lanes).slice(0,C).map(([e,t])=>[e,{session:t.session,mode:t.mode,contextMode:t.contextMode,lastInputTokens:t.lastInputTokens,lastVisitedAt:t.lastVisitedAt}]))}),merge:(e,t)=>{let n=e??{},r={};for(let[e,t]of Object.entries(n.lanes??{}).slice(0,C)){let n=ln(),i=t;i.session&&typeof i.session==`object`&&(n.session=i.session),typeof i.mode==`string`&&(n.mode=i.mode),typeof i.contextMode==`string`&&(n.contextMode=i.contextMode),typeof i.lastInputTokens==`number`&&(n.lastInputTokens=i.lastInputTokens),typeof i.lastVisitedAt==`number`&&(n.lastVisitedAt=i.lastVisitedAt),r[e]=n}return{...t,lanes:r,activeSessionId:A,projectName:typeof n.projectName==`string`?n.projectName:``,projectRoot:typeof n.projectRoot==`string`?n.projectRoot:``,cwd:typeof n.cwd==`string`?n.cwd:``}},onRehydrateStorage:()=>(e,t)=>{t||typeof window<`u`&&(window.__wrongstackSessionRehydrated=!0)}}));function M(e){return e?j.getState().lanes[e]??un:un}function dn(e){return e?e in j.getState().lanes:!1}function fn(){return Object.keys(j.getState().lanes)}function N(e){return e?(j.getState().lanes[e]||j.setState(t=>({lanes:{...t.lanes,[e]:ln()}})),e):A}function pn(e){j.getState().lanes[e]&&(gn.delete(e),j.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}}))}function mn(e){e&&e!==`__unbound__`&&j.getState().lanes.__unbound__&&(gn.delete(A),j.setState(t=>{let n={...t.lanes};return delete n[A],n[e]||(n[e]=ln()),{lanes:n}}))}function P(e){let t=e||`__unbound__`;D(t);let n=j.getState();n.activeSessionId===t&&n.lanes[t]||(N(t),j.setState({activeSessionId:t}),L(t).touch())}function F(){return j.getState().activeSessionId}function hn(){let e=j(e=>e.activeSessionId);return e&&e!==`__unbound__`?e:null}function I(e,t){j.setState(n=>{let r=n.lanes[e]??ln(),i=t(r);return i?{lanes:{...n.lanes,[e]:{...r,...i}}}:n.lanes[e]?{}:{lanes:{...n.lanes,[e]:r}}})}var gn=new Map;function L(e){let t=e||`__unbound__`,n=gn.get(t);if(n)return n;let r=()=>j.getState().lanes[t]??un,i={sessionId:t,get data(){return r()},patch:e=>I(t,()=>e),touch:()=>I(t,()=>({lastVisitedAt:Date.now()})),setSession:e=>I(t,t=>{let n=t.session?.id!==e?.id||t.session?.provider!==e?.provider||t.session?.model!==e?.model;return{session:e,lastVisitedAt:Date.now(),...n?{contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0}:{}}}),startSession:e=>I(t,()=>({session:e,startTime:Date.now(),iteration:null,todos:[],lastInputTokens:0,totalTokens:{input:0,output:0,cacheRead:0,cacheWrite:0},cost:0,lastVisitedAt:Date.now(),droppedTools:0,contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0})),endSession:()=>I(t,()=>({session:null,startTime:null,iteration:null,droppedTools:0,contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0})),updateUsage:(e,n)=>I(t,t=>{let r=e.input+(e.cacheRead??0)+(e.cacheWrite??0),i=e.cacheRead??0,a=e.cacheWrite??0,o=t.totalTokens.input+e.input,s=(t.totalTokens.cacheRead??0)+i,c=(t.totalTokens.cacheWrite??0)+a,l=n??t.session?.provider??`unknown`,u=[...t.cacheStats?.providers??[]],d=u.findIndex(e=>e.provider===l),f=d>=0?u[d]:{provider:l,input:0,cacheRead:0,cacheWrite:0,hitRatio:0},p=f.input+e.input,m=f.cacheRead+i,h=f.cacheWrite+a,g=p+m+h,ee={provider:l,input:p,cacheRead:m,cacheWrite:h,hitRatio:g>0?Math.min(1,Math.max(0,m/g)):0};d>=0?u[d]=ee:u.push(ee),u.sort((e,t)=>t.cacheRead-e.cacheRead);let _=o+s+c;return{totalTokens:{input:o,output:t.totalTokens.output+e.output,cacheRead:s,cacheWrite:c},lastInputTokens:r||t.lastInputTokens,cacheStats:{readTokens:s,writeTokens:c,hitRatio:_>0?Math.min(1,Math.max(0,s/_)):0,coverageTokens:i,providers:u}}}),addCost:e=>I(t,t=>({cost:t.cost+e})),setEnvRates:e=>I(t,t=>({maxContext:e.maxContext??t.maxContext,mode:e.mode??t.mode,contextMode:e.contextMode??t.contextMode,inputCost:e.inputCost??t.inputCost,outputCost:e.outputCost??t.outputCost,cacheReadCost:e.cacheReadCost??t.cacheReadCost,reasoningEffortLevels:e.hasReasoningEffortKey?e.reasoningEffortLevels:t.reasoningEffortLevels,effortSupported:e.hasEffortSupportedKey?e.effortSupported:t.effortSupported,projectReasoningEffort:e.hasProjectEffortKey?e.projectReasoningEffort:t.projectReasoningEffort})),setIteration:e=>I(t,()=>({iteration:e})),setContextUsage:(e,n)=>I(t,t=>({lastInputTokens:e,maxContext:n??t.maxContext})),setContextLimitWarning:e=>I(t,()=>({contextLimitWarning:e})),setCacheStats:e=>I(t,()=>({cacheStats:e})),setTodos:e=>I(t,()=>({todos:e})),setDroppedTools:e=>I(t,()=>({droppedTools:e}))};return gn.set(t,i),i}function _n(){return L(j.getState().activeSessionId)}function R(e){j.setState(e)}function vn(){return{projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,targetLine:null,projectIdentity:``,hydratingPaths:new Set}}function yn(e){return{projectRoot:e.projectRoot,tree:e.tree,openFiles:e.openFiles,activeFilePath:e.activeFilePath,treeLoading:e.treeLoading,error:e.error,targetLine:e.targetLine,projectIdentity:e.projectIdentity,hydratingPaths:e.hydratingPaths}}function bn(e){return{projectRoot:e.projectRoot,tree:e.tree,openFiles:e.openFiles,activeFilePath:e.activeFilePath,treeLoading:e.treeLoading,error:e.error,targetLine:e.targetLine,projectIdentity:e.projectIdentity,hydratingPaths:e.hydratingPaths}}function z(e,t,n){if(t&&e.fileSessionId!==t){let r=e.filesBySession[t]??vn();return{filesBySession:{...e.filesBySession,[t]:n(r)}}}let r=n(yn(e)),i=e.fileSessionId?{filesBySession:{...e.filesBySession,[e.fileSessionId]:r}}:{};return{...bn(r),...i}}function xn(e,t){return e.fileSessionId?{filesBySession:{...e.filesBySession,[e.fileSessionId]:{...yn(e),...t}}}:{}}function Sn(e,t){let n=e??{},r=Array.isArray(n.openFilePaths)?n.openFilePaths.filter(e=>typeof e==`string`&&e.length>0):[],i=r.map(e=>({path:e,content:``,dirty:!1,savedContent:``})),a=typeof n.activeFilePath==`string`&&r.includes(n.activeFilePath)?n.activeFilePath:r[0]??null;return{...t,projectIdentity:typeof n.projectIdentity==`string`?n.projectIdentity:t.projectIdentity,openFiles:i,activeFilePath:a}}var Cn=f()(u((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,targetLine:null,projectIdentity:``,hydratingPaths:new Set,fileSessionId:null,filesBySession:{},bindSessionFiles:t=>e(e=>{if(e.fileSessionId===t)return{};let n={...e.filesBySession};return e.fileSessionId&&(n[e.fileSessionId]=yn(e)),{fileSessionId:t,filesBySession:n,...bn((t?n[t]:void 0)??vn())}}),forgetSessionFiles:t=>e(e=>{let n={...e.filesBySession};return delete n[t],e.fileSessionId===t?{filesBySession:n,fileSessionId:null,...vn()}:{filesBySession:n}}),jumpToLine:(t,n,r)=>e(e=>{let i={line:t,col:n};return z(e,r,e=>({...e,targetLine:i}))}),clearTargetLine:()=>e(e=>({targetLine:null,...xn(e,{targetLine:null})})),setTree:(t,n,r)=>e(e=>z(e,r,e=>({...e,projectRoot:t,tree:n,treeLoading:!1,error:null}))),openFile:(t,n,r)=>e(e=>z(e,r,e=>{if(e.openFiles.find(e=>e.path===t)){let r=e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:!1,savedContent:n}:e);return{...e,openFiles:r,activeFilePath:t}}let r=[...e.openFiles,{path:t,content:n,dirty:!1,savedContent:n}];return{...e,openFiles:r,activeFilePath:t}})),closeFile:(t,n)=>e(e=>z(e,n,e=>{let n=e.openFiles.findIndex(e=>e.path===t);if(n===-1)return e;let r=[...e.openFiles];r.splice(n,1);let i=e.activeFilePath;return e.activeFilePath===t&&(i=r.length===0?null:n<r.length?r[n].path:r[r.length-1].path),{...e,openFiles:r,activeFilePath:i}})),setActiveFile:(t,n)=>e(e=>z(e,n,e=>({...e,activeFilePath:t}))),updateContent:(t,n)=>{e(e=>{let r=e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e);return{openFiles:r,...xn(e,{openFiles:r})}})},markSaved:(t,n)=>e(e=>z(e,n,e=>({...e,openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))),setTreeLoading:(t,n)=>e(e=>z(e,n,e=>({...e,treeLoading:t}))),setError:(t,n)=>e(e=>z(e,n,e=>({...e,error:t}))),clearOpenTabs:t=>e(e=>z(e,t,e=>({...e,openFiles:[],activeFilePath:null}))),setProjectIdentity:(t,n)=>e(e=>z(e,n,e=>({...e,projectIdentity:t}))),setHydratingPaths:(t,n)=>e(e=>z(e,n,e=>({...e,hydratingPaths:new Set(t)}))),hydrateFileContent:(n,r,i)=>{let a=t(),o=!1;return e(z(a,i,e=>{if(!e.hydratingPaths.has(n))return e;let t=new Set(e.hydratingPaths);t.delete(n);let i=e.openFiles.find(e=>e.path===n);if(!i||i.dirty||i.content!==``||i.savedContent!==``)return{...e,hydratingPaths:t};o=!0;let a=e.openFiles.map(e=>e.path===n?{...e,content:r,savedContent:r,dirty:!1}:e);return{...e,hydratingPaths:t,openFiles:a}})),o},hydrateFileFailed:(t,n)=>e(e=>z(e,n,e=>{if(!e.hydratingPaths.has(t))return e;let n=new Set(e.hydratingPaths);n.delete(t);let r=e.openFiles.find(e=>e.path===t),i=(!r||r.content===``&&!r.dirty&&r.savedContent===``)&&r?e.openFiles.filter(e=>e.path!==t):e.openFiles,a=e.activeFilePath===t?i[0]?.path??null:e.activeFilePath;return{...e,hydratingPaths:n,openFiles:i,activeFilePath:a}}))}),{name:`wrongstack-file-store`,version:2,partialize:e=>({openFilePaths:e.openFiles.map(e=>e.path),activeFilePath:e.activeFilePath,projectIdentity:e.projectIdentity}),migrate:()=>({openFilePaths:[],activeFilePath:null,projectIdentity:``}),merge:(e,t)=>Sn(e,t)}));function wn(){return{selectedPath:null,diff:null,loadingDiff:!1}}function Tn(e){return{selectedPath:e.selectedPath,diff:e.diff,loadingDiff:e.loadingDiff}}function En(e,t){return e.gitChangesSessionId?{gitChangesBySession:{...e.gitChangesBySession,[e.gitChangesSessionId]:{...Tn(e),...t}}}:{}}var Dn=f()(e=>({files:[],error:null,repoPrefix:``,dirs:{},loadingList:!1,selectedPath:null,diff:null,loadingDiff:!1,gitChangesSessionId:null,gitChangesBySession:{},setFiles:(t,n,r=``,i={})=>e({files:t,error:n,repoPrefix:r,dirs:i,loadingList:!1}),setListLoading:t=>e({loadingList:t}),select:t=>e(e=>({selectedPath:t,diff:null,loadingDiff:!!t,...En(e,{selectedPath:t,diff:null,loadingDiff:!!t})})),setDiff:t=>e(e=>({diff:t,loadingDiff:!1,...En(e,{diff:t,loadingDiff:!1})})),setDiffLoading:t=>e(e=>({loadingDiff:t,...En(e,{loadingDiff:t})})),bindSessionGitChanges:t=>e(e=>{if(e.gitChangesSessionId===t)return{};let n={...e.gitChangesBySession};e.gitChangesSessionId&&(n[e.gitChangesSessionId]=Tn(e));let r=(t?n[t]:void 0)??wn();return{gitChangesSessionId:t,gitChangesBySession:n,selectedPath:r.selectedPath,diff:r.diff,loadingDiff:r.loadingDiff}}),forgetSessionGitChanges:t=>e(e=>{let n={...e.gitChangesBySession};return delete n[t],e.gitChangesSessionId===t?{gitChangesBySession:n,gitChangesSessionId:null,...wn()}:{gitChangesBySession:n}}),clear:()=>e(e=>({files:[],error:null,repoPrefix:``,dirs:{},selectedPath:null,diff:null,loadingDiff:!1,...En(e,{selectedPath:null,diff:null,loadingDiff:!1})}))})),On=new WeakMap,kn=new Set([`projectName`,`projectRoot`,`cwd`,`modes`,`contextModes`,`appVersion`,`latestVersion`,`updateAvailable`]);function An(e){let t=On.get(e);if(t)return t;let n=e.activeSessionId,r=e.lanes[n]??un,i=L(n),a={session:r.session,totalTokens:r.totalTokens,lastInputTokens:r.lastInputTokens,cost:r.cost,startTime:r.startTime,maxContext:r.maxContext,contextLimitWarning:r.contextLimitWarning,cacheStats:r.cacheStats,inputCost:r.inputCost,outputCost:r.outputCost,cacheReadCost:r.cacheReadCost,reasoningEffortLevels:r.reasoningEffortLevels,effortSupported:r.effortSupported,projectReasoningEffort:r.projectReasoningEffort,mode:r.mode,contextMode:r.contextMode,iteration:r.iteration,todos:r.todos,droppedTools:r.droppedTools,lastVisitedAt:r.lastVisitedAt,projectName:e.projectName,projectRoot:e.projectRoot,cwd:e.cwd,modes:e.modes,contextModes:e.contextModes,appVersion:e.appVersion,latestVersion:e.latestVersion,updateAvailable:e.updateAvailable,setSession:Nn,updateUsage:i.updateUsage,addCost:i.addCost,startSession:Pn,endSession:i.endSession,setEnv:Fn,setIteration:i.setIteration,setContextUsage:i.setContextUsage,setContextLimitWarning:i.setContextLimitWarning,setCacheStats:i.setCacheStats,setModes:In,setContextModes:Ln,setTodos:i.setTodos,setUpdateInfo:Rn,setDroppedTools:i.setDroppedTools,switchSession:zn};return On.set(e,a),a}function jn(e){Cn.getState().bindSessionFiles(e),Dn.getState().bindSessionGitChanges(e)}function Mn(e){h.getState().bindSession(e??null),_.getState().bindSessionChrome(e??null),jn(e??null);let t=e||`__unbound__`;F()!==t&&(F()===`__unbound__`&&t!==`__unbound__`&&qt(t),P(t),D(t))}function Nn(e){Mn(e?.id??null),_n().setSession(e)}function Pn(e){Mn(e.id),_n().startSession(e)}function Fn(e){let t={};e.projectRoot!==void 0&&(t.projectRoot=e.projectRoot),e.projectName!==void 0&&(t.projectName=e.projectName),e.cwd!==void 0&&(t.cwd=e.cwd),Object.keys(t).length>0&&R(t),_n().setEnvRates({maxContext:e.maxContext,mode:e.mode,contextMode:e.contextMode,inputCost:e.inputCost,outputCost:e.outputCost,cacheReadCost:e.cacheReadCost,reasoningEffortLevels:e.reasoningEffortLevels,hasReasoningEffortKey:`reasoningEffortLevels`in e,effortSupported:e.effortSupported,hasEffortSupportedKey:`effortSupported`in e,projectReasoningEffort:e.projectReasoningEffort,hasProjectEffortKey:`projectReasoningEffort`in e})}function In(e){R({modes:e})}function Ln(e){R({contextModes:e})}function Rn(e){R(e)}function zn(e){h.getState().bindSession(e),jn(e),P(e);let t=j.getState().lanes[e],n=t?.session?.provider,r=t?.session?.model;n&&r?Ua.getState().setConfig({provider:n,model:r}):n&&Ua.getState().setConfig({provider:n})}function Bn(){return An(j.getState())}function Vn(e){let t=typeof e==`function`?e(Bn()):e;if(!t)return;if(`session`in t){let e=t.session;Mn(e?.id??null)}let n={},r={};for(let[e,i]of Object.entries(t))typeof i!=`function`&&(kn.has(e)?n[e]=i:r[e]=i);Object.keys(n).length>0&&R(n),Object.keys(r).length>0&&_n().patch(r)}function Hn(e){return j.subscribe((t,n)=>e(An(t),An(n)))}var Un=Object.assign(function(e){return s(j,t=>e(An(t)))},{getState:Bn,getInitialState:Bn,setState:Vn,subscribe:Hn,persist:j.persist}),Wn={has(e){return e in j.getState().lanes},get(e){let t=j.getState().lanes[e];if(t)return{session:t.session,provider:t.session?.provider,model:t.session?.model,mode:t.mode,contextMode:t.contextMode,totalTokens:t.totalTokens,lastInputTokens:t.lastInputTokens,cost:t.cost,startTime:t.startTime,maxContext:t.maxContext,reasoningEffortLevels:t.reasoningEffortLevels,cacheStats:t.cacheStats,iteration:t.iteration,todos:t.todos}},set(e,t){let n={};t.session!==void 0&&(n.session=t.session),t.mode!==void 0&&(n.mode=t.mode),t.contextMode!==void 0&&(n.contextMode=t.contextMode),t.totalTokens!==void 0&&(n.totalTokens=t.totalTokens),t.lastInputTokens!==void 0&&(n.lastInputTokens=t.lastInputTokens),t.cost!==void 0&&(n.cost=t.cost),t.startTime!==void 0&&(n.startTime=t.startTime),t.maxContext!==void 0&&(n.maxContext=t.maxContext),t.reasoningEffortLevels!==void 0&&(n.reasoningEffortLevels=t.reasoningEffortLevels),t.cacheStats!==void 0&&(n.cacheStats=t.cacheStats),t.iteration!==void 0&&(n.iteration=t.iteration),t.todos!==void 0&&(n.todos=t.todos),L(e).patch(n)},delete(e){j.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}})},clear(){j.setState({lanes:{},activeSessionId:A})}};function Gn(e,t){return t===`all`?!0:t===`important`?e.variant===`error`||e.variant===`warn`:e.variant===t}var Kn=8e3;function qn(){return`toast_${g()}`}var B=f()(u(e=>({notifications:[],toasts:[],filter:`important`,setFilter:t=>e({filter:t}),push:t=>{let n=qn(),r=t.ttl??3500,i=Date.now(),a={id:n,message:t.message,variant:t.variant,timestamp:i,read:!1,ttl:r,action:t.action},o={id:n,message:t.message,variant:t.variant,ttl:r,action:t.action};return e(e=>({toasts:[...e.toasts,o],notifications:[a,...e.notifications].slice(0,100)})),n},dismissToast:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)})),markAsRead:t=>e(e=>({notifications:e.notifications.map(e=>e.id===t?{...e,read:!0}:e)})),markAllAsRead:()=>e(e=>({notifications:e.notifications.map(e=>e.read?e:{...e,read:!0})})),removeNotification:t=>e(e=>({notifications:e.notifications.filter(e=>e.id!==t),toasts:e.toasts.filter(e=>e.id!==t)})),clearAll:()=>e(()=>({notifications:[]}))}),{name:`wrongstack-notifications-history`,partialize:e=>({filter:e.filter,notifications:e.notifications.map(({action:e,...t})=>({...t,...e?{action:{label:e.label,onClick:()=>{}}}:{}}))})})),Jn={success:(e,t=3500)=>B.getState().push({message:e,variant:`success`,ttl:t}),error:(e,t=6e3)=>B.getState().push({message:e,variant:`error`,ttl:t}),warn:(e,t=4500)=>B.getState().push({message:e,variant:`warn`,ttl:t}),info:(e,t=3500)=>B.getState().push({message:e,variant:`info`,ttl:t}),undoable:(e,t,n=i.t(`common:action.undo`),r=Kn)=>B.getState().push({message:e,variant:`info`,ttl:r,action:{label:n,onClick:t}}),dismiss:e=>B.getState().dismissToast(e)},V=t(n(),1),H=r();function Yn({variant:e}){return e===`success`?(0,H.jsx)(o,{className:`h-4 w-4 text-success`}):e===`error`?(0,H.jsx)(p,{className:`h-4 w-4 text-destructive`}):e===`warn`?(0,H.jsx)(c,{className:`h-4 w-4 text-warning`}):(0,H.jsx)(l,{className:`h-4 w-4 text-info`})}function Xn({entry:e}){let{t}=d(),n=B(e=>e.dismissToast);return(0,V.useEffect)(()=>{let t=setTimeout(()=>n(e.id),e.ttl);return()=>clearTimeout(t)},[e.id,e.ttl,n]),(0,H.jsxs)(`div`,{className:ee(`flex items-start gap-2 rounded-lg border bg-popover shadow-lg px-3 py-2 text-sm max-w-sm`,`animate-message`,e.variant===`error`&&`border-destructive/40`,e.variant===`warn`&&`border-warning/40`,e.variant===`success`&&`border-success/40`),children:[(0,H.jsx)(Yn,{variant:e.variant}),(0,H.jsx)(`div`,{className:`flex-1 min-w-0 whitespace-pre-wrap break-words leading-snug`,children:e.message}),e.action&&(0,H.jsx)(`button`,{type:`button`,onClick:()=>{e.action?.onClick(),n(e.id)},className:`shrink-0 font-medium text-primary hover:underline`,children:e.action.label}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>n(e.id),className:`text-muted-foreground hover:text-foreground`,title:t(`activity:toast.dismiss`),"aria-label":t(`activity:toast.dismiss`),children:(0,H.jsx)(a,{className:`h-3.5 w-3.5`})})]})}function Zn(){let{t:e}=d(),t=B(e=>e.toasts);return t.length===0?null:(0,H.jsx)(`section`,{className:`fixed bottom-4 right-4 z-[60] flex flex-col gap-2 pointer-events-auto`,"aria-label":e(`activity:toaster.notifications`),"aria-live":`polite`,children:t.map(e=>(0,H.jsx)(Xn,{entry:e},e.id))})}function Qn(e,t=140){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t).trimEnd()}…`}function $n(e,t){return t?e===t:!e}function er(e){return e===`running`}function tr(e,t){let n=+!er(e.status),r=+!er(t.status);return n===r?e.startedAt-t.startedAt:n-r}function nr(e){let t=0,n=0,r=0;for(let i of e)i.status===`running`?t++:i.status===`completed`?n++:(i.status===`failed`||i.status===`timeout`)&&r++;return{running:t,completed:n,failed:r,total:e.length}}var rr=85,ir=70;function ar(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0;return{clamped:t,severity:t>=rr?`high`:t>=ir?`medium`:`low`}}function or(e){return e==null||!Number.isFinite(e)||e<0?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function sr(e){if(e==null||!Number.isFinite(e)||e<=0)return`$0`;if(e<.01){let t=e.toFixed(5);return t===`0.00000`?`$0`:`$`+t.replace(/(\d)0+$/,`$1`).replace(/\.$/,``)}return`$`+e.toFixed(3)}function cr(e){if(e==null||!Number.isFinite(e)||e<0)return`—`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m ${t%60}s`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d`}function lr(e,t=Date.now()){let{clamped:n,severity:r}=ar(e.ctxPct);return{ctxClamped:n,ctxSeverity:r,elapsed:!Number.isFinite(e.startedAt)||e.startedAt<=0?`—`:cr(e.status===`running`?t-e.startedAt:(e.completedAt??t)-e.startedAt),cost:sr(e.costUsd),iterationCount:e.iteration,toolCount:e.toolCalls,tokensIn:or(e.tokensIn),tokensOut:or(e.tokensOut)}}var ur=1e3;function dr(e,t,n){return{id:e,name:t?.trim()||e,sessionId:n,status:`running`,iteration:0,toolCalls:0,costUsd:0,ctxPct:0,ctxTokens:0,maxContext:0,extensions:0,startedAt:Date.now(),toolLog:[],sparklineBins:Array(12).fill(0)}}function U(e,t){return[t,...e].slice(0,20)}function fr(e,t){return e.subagentId!==t.subagentId||e.kind!==t.kind||e.iteration!==t.iteration||e.toolName!==t.toolName||e.toolOk!==t.toolOk?!1:e.kind===`text`||e.kind===`thinking`}function W(e,t){let n=e[e.length-1];return n&&fr(n,t)?[...e.slice(0,-1),{...n,content:`${n.content}${t.content}`,ts:t.ts}].slice(-1e3):[...e,t].slice(-1e3)}function pr(e){return[(e[0]??0)+1,...e.slice(0,11)]}function mr(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}var hr=500,gr=200,_r=[],vr=0;function G(){return`tl_${Date.now()}_${++vr}`}function yr(e){switch(e){case`text`:case`thinking`:case`tool_use`:case`tool_result`:case`error`:case`status`:case`system`:return e;default:return`status`}}var K=f()((e,t)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,fleetMaxSpawns:void 0,fleetUsedSpawns:void 0,fleetRemainingSpawns:void 0,fleetBudgetSource:void 0,fleetCheckpointMaxSpawns:void 0,fleetCeilingMismatch:!1,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map,pushAgentTimelineEntry:t=>e(e=>{let n={id:`agent_tl_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,...t,kind:yr(t.kind)},r=new Map(e.agents);n.subagentId&&n.subagentId!==`leader`&&!r.has(n.subagentId)&&r.set(n.subagentId,dr(n.subagentId,n.agentName,n.sessionId));let i=new Map(e.agentTranscripts);return i.set(n.subagentId,W(i.get(n.subagentId)??[],n)),{agents:r,agentTimeline:[n,...e.agentTimeline].slice(0,hr),agentTranscripts:i}}),hydrateAgentSessions:(t,n)=>e(e=>{if(!Array.isArray(t)||t.length===0)return e;let r=new Map(e.agents),i=new Map(e.agentTranscripts);for(let e of t){if(!e?.subagentId||e.subagentId===`leader`)continue;let t=e.subagentId,a=e.agentName?.trim()||t,o=r.get(t);if(o)e.task&&!o.description&&(o.description=e.task,r.set(t,o));else{let i=dr(t,a,n);e.status&&(i.status=e.status),e.task&&(i.description=e.task),r.set(t,i)}if(Array.isArray(e.transcript)&&e.transcript.length>0){let n=i.get(t)??[];if(n.length===0)i.set(t,e.transcript.slice(-ur));else{let r=[...n];for(let t of e.transcript)r.some(e=>e.id===t.id||e.ts===t.ts&&e.content===t.content&&e.kind===t.kind)||(r=W(r,t));i.set(t,r.slice(-ur))}}}return{agents:r,agentTranscripts:i}}),clear:()=>e({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,fleetMaxSpawns:void 0,fleetUsedSpawns:void 0,fleetRemainingSpawns:void 0,fleetBudgetSource:void 0,fleetCheckpointMaxSpawns:void 0,fleetCeilingMismatch:!1,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map}),getAgentsBySession:e=>{let n=[];for(let r of t().agents.values())r.sessionId===e&&n.push(r);return n},getAgentTranscript:e=>t().agentTranscripts.get(e)??_r,clearFinishedAgents:t=>e(e=>{let n=new Map(e.agents),r=new Set,i=0,a=0;for(let[e,o]of n)o.status!==`running`&&$n(o.sessionId,t)&&(n.delete(e),r.add(e),i+=o.tokensIn??0,a+=o.tokensOut??0);let o=new Map(e.agentTranscripts);for(let e of r)o.delete(e);return{agents:n,agentTranscripts:o,agentTimeline:e.agentTimeline.filter(e=>!r.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!r.has(e.agentId)),leaderId:e.leaderId&&r.has(e.leaderId)?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-i),fleetTokensOut:Math.max(0,e.fleetTokensOut-a)}}),removeAgent:t=>e(e=>{let n=e.agents.get(t);if(!n)return e;let r=new Map(e.agents);r.delete(t);let i=new Map(e.agentTranscripts);return i.delete(t),{agents:r,agentTranscripts:i,agentTimeline:e.agentTimeline.filter(e=>e.subagentId!==t),eventTimeline:e.eventTimeline.filter(e=>e.agentId!==t),leaderId:e.leaderId===t?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-(n.tokensIn??0)),fleetTokensOut:Math.max(0,e.fleetTokensOut-(n.tokensOut??0))}}),applyEvent:t=>e(e=>{let n=new Map(e.agents),r=new Map(e.agentTranscripts),i=e.eventTimeline,a=e.leaderId,o=e.fleetTokensIn,s=e.fleetTokensOut;if(t.kind===`session_stopped`&&t.sessionId){let i=new Set,a=0,o=0;for(let[e,s]of n)s.sessionId===t.sessionId&&(n.delete(e),r.delete(e),i.add(e),a+=s.tokensIn??0,o+=s.tokensOut??0);return{agents:n,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>!i.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!i.has(e.agentId)),leaderId:e.leaderId&&i.has(e.leaderId)?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-a),fleetTokensOut:Math.max(0,e.fleetTokensOut-o)}}if(t.kind===`removed`&&t.subagentId){let i=n.get(t.subagentId);return n.delete(t.subagentId),r.delete(t.subagentId),{agents:n,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>e.subagentId!==t.subagentId),eventTimeline:e.eventTimeline.filter(e=>e.agentId!==t.subagentId),leaderId:e.leaderId===t.subagentId?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-(i?.tokensIn??0)),fleetTokensOut:Math.max(0,e.fleetTokensOut-(i?.tokensOut??0))}}if(t.kind===`leader_updated`&&t.subagentId){let e=n.get(t.subagentId)??dr(t.subagentId,t.name,t.sessionId),r=t.sessionId||e.sessionId;for(let[e,i]of n)e!==t.subagentId&&i.isLeader&&(r&&i.sessionId&&i.sessionId!==r||n.set(e,{...i,isLeader:!1}));let o=t.name?.trim()||e.name;return a=t.subagentId,n.set(t.subagentId,{...e,isLeader:!0,name:o}),(!e.isLeader||o!==e.name)&&(i=U(i,{id:G(),kind:`leader_updated`,agentId:t.subagentId,agentName:o,timestamp:Date.now(),message:`${o} became leader`})),{agents:n,leaderId:a,eventTimeline:i}}if(!t.subagentId)return e;let c=n.get(t.subagentId)??dr(t.subagentId,t.name,t.sessionId),l={...c},u=Date.now(),d=t.subagentId===`leader`||c.isLeader,f=!1;switch(t.kind){case`spawned`:if(l.name=t.name?.trim()||l.name,l.provider=t.provider??l.provider,l.model=t.model??l.model,l.description=t.description??l.description,l.taskId=t.taskId??l.taskId,l.sessionId=t.sessionId??l.sessionId,l.status=`running`,l.sparklineBins=Array(12).fill(0),i=U(i,{id:G(),kind:`spawned`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} spawned`}),!d&&t.description){let e=r.get(t.subagentId)??[];e.length===0&&(r.set(t.subagentId,W(e,{id:`agent_tl_${u}_spawn`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`🎯 Spawned: ${t.description}`,kind:`system`,iteration:0,ts:new Date(u).toISOString()})),f=!0)}break;case`task_started`:if(l.description=t.description??l.description,l.taskId=t.taskId??l.taskId,l.status=`running`,i=U(i,{id:G(),kind:`task_started`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} started: ${t.description??`new task`}`}),!d&&(t.description||t.taskId)){let e=t.description||t.taskId,n=r.get(t.subagentId)??[];n[n.length-1]?.content.includes(e)||(r.set(t.subagentId,W(n,{id:`agent_tl_${u}_task`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`🎯 Task: ${e}`,kind:`status`,iteration:0,ts:new Date(u).toISOString()})),f=!0)}break;case`tool_executed`:{let e=typeof t.ok!=`boolean`||t.ok,n=typeof t.durationMs==`number`?t.durationMs:0;if(l.lastTool=t.toolName??l.lastTool,l.toolCalls+=1,l.toolLog=[{name:t.toolName??`unknown`,ok:e,durationMs:n,at:u},...l.toolLog].slice(0,50),l.sparklineBins=pr(l.sparklineBins),i=U(i,{id:G(),kind:`tool_executed`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ${e?`✓`:`✗`} ${t.toolName??`tool`}`,value:n}),!d){let i=n>0?`Completed in ${n}ms`:e?`Success`:`Failed`,a=r.get(t.subagentId)??[];r.set(t.subagentId,W(a,{id:`agent_tl_${u}_tool_${Math.random().toString(36).slice(2,6)}`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:i,kind:`tool_result`,toolName:t.toolName,toolOk:e,iteration:l.iteration,ts:new Date(u).toISOString()})),f=!0}break}case`iteration_summary`:if(l.iteration=t.iteration??l.iteration,typeof t.toolCalls==`number`&&(l.toolCalls=t.toolCalls),typeof t.costUsd==`number`&&(l.costUsd=t.costUsd),l.currentTool=t.currentTool??l.currentTool,typeof t.partialText==`string`&&t.partialText&&(l.partialText=t.partialText),l.sparklineBins=pr(l.sparklineBins),i=U(i,{id:G(),kind:`iteration_summary`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} iter ${t.iteration??l.iteration} · ${t.currentTool?`${t.currentTool}`:``}`,value:t.costUsd}),!d&&typeof t.partialText==`string`&&t.partialText){let e=r.get(t.subagentId)??[];r.set(t.subagentId,W(e,{id:`agent_tl_${u}_iter_${t.iteration??0}`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:t.partialText,kind:`text`,iteration:t.iteration??l.iteration,costUsd:t.costUsd,ts:new Date(u).toISOString()})),f=!0}break;case`budget_warning`:{let e=t.budgetKind??`budget`,n=typeof t.used==`number`?t.used:0,r=typeof t.limit==`number`?t.limit:0;l.budgetWarning={kind:e,used:n,limit:r},i=U(i,{id:G(),kind:`budget_warning`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} hit ${e} budget ${n}/${r}`,value:n});break}case`budget_extended`:l.extensions=t.totalExtensions??l.extensions+1,l.budgetWarning=void 0,i=U(i,{id:G(),kind:`budget_extended`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} extended budget ⚡×${l.extensions}`});break;case`ctx_pct`:l.ctxPct=mr(Math.round(Math.max(0,t.load??0)*100)),l.ctxTokens=t.tokens??l.ctxTokens,l.maxContext=t.maxContext??l.maxContext,l.ctxPct>=80&&!l.budgetWarning&&(l.budgetWarning=l.ctxPct>=100?{kind:`hard`,used:l.ctxPct,limit:100}:{kind:`soft`,used:l.ctxPct,limit:100}),typeof t.costUsd==`number`&&(l.costUsd=t.costUsd),typeof t.tokensIn==`number`&&(l.tokensIn=t.tokensIn,o=o-(c.tokensIn??0)+t.tokensIn),typeof t.tokensOut==`number`&&(l.tokensOut=t.tokensOut,s=s-(c.tokensOut??0)+t.tokensOut),i=U(i,{id:G(),kind:`ctx_pct`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ctx ${l.ctxPct}%`,value:l.ctxPct});break;case`task_completed`:{l.status=t.status===`success`?`completed`:t.status??`completed`,typeof t.iterations==`number`&&(l.iteration=t.iterations),typeof t.toolCalls==`number`&&(l.toolCalls=t.toolCalls),l.error=t.error,l.currentTool=void 0,l.completedAt=u,l.failureReason=t.failureReason??l.failureReason,typeof t.finalText==`string`&&t.finalText&&(l.finalText=ve(t.finalText));let e=t.status===`success`?`✓ completed`:t.status===`failed`?`✗ failed${t.failureReason?` (${t.failureReason})`:``}`:t.status===`timeout`?`⏱ timeout${t.failureReason?` (${t.failureReason})`:``}`:`stopped`;if(i=U(i,{id:G(),kind:`task_completed`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ${e}`,value:l.costUsd}),!d){let e=r.get(t.subagentId)??[];if(typeof t.finalText==`string`&&t.finalText){let n=ve(t.finalText);e.some(e=>e.kind===`text`&&e.content.includes(n))||(r.set(t.subagentId,W(e,{id:`agent_tl_${u}_done_text`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:n,kind:`text`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0)}if(t.status===`failed`||t.status===`timeout`){let e=t.error?.message??(t.failureReason?`Failed: ${t.failureReason}`:`Agent ${t.status}`);r.set(t.subagentId,W(r.get(t.subagentId)??[],{id:`agent_tl_${u}_err`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:e,kind:`error`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0}else t.finalText||(r.set(t.subagentId,W(r.get(t.subagentId)??[],{id:`agent_tl_${u}_done_status`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`Task completed successfully`,kind:`status`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0)}break}}n.set(t.subagentId,l);let p=!1;if(n.size>gr)for(let[e,i]of n){if(n.size<=gr)break;i.status!==`running`&&e!==t.subagentId&&(n.delete(e),r.delete(e),p=!0,o=Math.max(0,o-(i.tokensIn??0)),s=Math.max(0,s-(i.tokensOut??0)),a===e&&(a=void 0))}return{agents:n,agentTranscripts:f||p?r:e.agentTranscripts,leaderId:a,fleetTokensIn:o,fleetTokensOut:s,eventTimeline:i}})})),br=e=>{let t=Array.from(e.agents.values());return t.sort((e,t)=>e===t||e.id===t.id?0:e.isLeader===t.isLeader?tr(e,t):e.isLeader?-1:1),t},xr=Object.freeze({leaderId:void 0,tokensIn:0,tokensOut:0,totalCost:0,running:0,completed:0,failed:0,total:0}),Sr=`\0unattributed`,Cr=new WeakMap;function wr(e){let t=Cr.get(e);if(t)return t;let n=new Map;for(let t of e.values()){let e=t.sessionId||Sr,r=n.get(e);r||(r={...xr},n.set(e,r)),r.total++,t.status===`running`?r.running++:t.status===`completed`?r.completed++:(t.status===`failed`||t.status===`timeout`)&&r.failed++,Number.isFinite(t.costUsd)&&t.costUsd>0&&(r.totalCost+=t.costUsd),r.tokensIn+=t.tokensIn??0,r.tokensOut+=t.tokensOut??0,t.isLeader&&(r.leaderId=t.id)}return Cr.set(e,n),n}var Tr=(e,t)=>t?wr(e.agents).get(t)??xr:xr,Er=(e,t)=>{if(!t){if(!e.leaderId)return;let t=e.agents.get(e.leaderId);return t&&!t.sessionId?e.leaderId:void 0}let n=wr(e.agents).get(t)?.leaderId;if(n)return n;let r=e.leaderId;if(!r)return;let i=e.agents.get(r);return i&&i.sessionId===t?r:void 0};function Dr(e){let t=hn(),n=e??(t||void 0);return K(e=>Er(e,n))}function Or(e){let t=hn(),n=e??(t||void 0);return K(e=>Tr(e,n))}function kr(e){if(E(e).isLoading)return!0;for(let t of K.getState().agents.values())if(t.sessionId===e&&t.status===`running`)return!0;return!1}function Ar(e){let t=E(e),n=t.isLoading,r=[],a=0;for(let t of K.getState().agents.values())t.sessionId===e&&(t.status===`running`?r.push({id:t.id,name:t.name??t.id,brief:t.description?Qn(t.description,120):``}):a+=1);let o=t.queue.length,s=[];n&&s.push(i.t(`activity:sessions.warnLeaderRunning`,{defaultValue:`Leader run in progress`}));for(let e of r)s.push(i.t(`activity:sessions.warnSubagentLine`,{defaultValue:`{{name}} — running{{suffix}}`,name:e.name,suffix:e.brief?`: ${e.brief}`:``}));a>0&&s.push(i.t(`activity:sessions.warnFinishedAgents`,{defaultValue:`{{count}} finished subagent(s) on record`,count:a})),o>0&&s.push(i.t(`activity:sessions.warnQueuedMessages`,{defaultValue:`{{count}} queued message(s)`,count:o}));let c=!n&&r.length===0&&a===0&&o===0&&t.messages.length===0;return{sessionId:e,isBusy:n||r.length>0,isEmpty:c,leaderRunning:n,runningAgents:r,finishedAgents:a,queuedMessages:o,lines:s}}function jr(e){if(!kr(e))return;let t=Ar(e);if(t.lines.length===0)return;let n=M(e).session?.title??e.slice(0,8);Jn.warn(i.t(`activity:sessions.stillRunningToast`,{defaultValue:`"{{title}}" keeps running in background:
|
|
17
|
+
{{lines}}`,title:n,lines:t.lines.join(`
|
|
18
|
+
`)}),7e3)}function Mr(e){typeof requestAnimationFrame==`function`?requestAnimationFrame(e):queueMicrotask(e)}var Nr=new class{pending=new Map;scheduled=!1;push(e,t,n){if(!t)return;let r=this.pending.get(e);r?(r.buffer+=t,r.flush=n):this.pending.set(e,{buffer:t,flush:n}),this.schedule()}schedule(){this.scheduled||(this.scheduled=!0,Mr(()=>{this.scheduled=!1,this.drain()}))}drain(){if(this.pending.size===0)return;let e=Array.from(this.pending.entries());this.pending.clear();for(let[t,n]of e)n.buffer&&n.flush(t,n.buffer)}drop(e){this.pending.delete(e)}dropAll(){this.pending.clear()}flush(e){let t=this.pending.get(e);t&&(this.pending.delete(e),t.buffer&&t.flush(e,t.buffer))}flushAll(){this.drain()}},Pr={listTools(e){this.send({type:`tools.list`},e)},listMemory(e){this.send({type:`memory.list`},e)},listSageMemories(e){this.send({type:`memory.sage.list`},e)},listSageMemoriesPage(e,t){this.send({type:`memory.sage.listPage`,payload:{...e}},t)},listMemoryCandidates(e,t){this.send({type:`memory.sage.listCandidates`,payload:{...e}},t)},searchSageBreakdown(e,t){this.send({type:`memory.sage.searchBreakdown`,payload:{query:e.query,...e.limit===void 0?{}:{limit:e.limit},...e.includeStale===void 0?{}:{includeStale:e.includeStale}}},t)},getSage(e,t){this.send({type:`memory.sage.get`,payload:{id:e}},t)},getSageGraph(e,t,n){this.send({type:`memory.sage.graph`,payload:{query:e,...t}},n)},updateSage(e,t,n){this.send({type:`memory.sage.update`,payload:{id:e,...t}},n)},deleteSage(e,t){this.send({type:`memory.sage.delete`,payload:{id:e,force:!0,...t===void 0?{}:{reason:t}}})},rememberSage(e,t){this.send({type:`memory.sage.remember`,payload:e},t)},findMemoriesForFile(e,t){this.send({type:`memory.sage.forFile`,payload:e},t)},recoverSage(e,t){this.send({type:`memory.sage.recover`,payload:e},t)},resolveMemoryCandidate(e,t){this.send({type:`memory.sage.candidateResolve`,payload:e},t)},backfillRecoverable(e,t){this.send({type:`memory.sage.backfillRecoverable`,payload:e},t)},listMcpServers(){this.send({type:`mcp.list`})},addMcpServer(e){this.send({type:`mcp.add`,payload:e})},removeMcpServer(e){this.send({type:`mcp.remove`,payload:{name:e}})},updateMcpServer(e){this.send({type:`mcp.update`,payload:e})},wakeMcpServer(e){this.send({type:`mcp.wake`,payload:{name:e}})},sleepMcpServer(e){this.send({type:`mcp.sleep`,payload:{name:e}})},discoverMcpServer(e){this.send({type:`mcp.discover`,payload:{name:e}})},listMcpResources(e,t=!1){this.send({type:`mcp.resources`,payload:{name:e,refresh:t}})},listMcpPrompts(e,t=!1){this.send({type:`mcp.prompts`,payload:{name:e,refresh:t}})},readMcpResource(e,t){this.send({type:`mcp.resource.read`,payload:{name:e,uri:t}})},getMcpPrompt(e,t,n){this.send({type:`mcp.prompt.get`,payload:{name:e,prompt:t,...n===void 0?{}:{arguments:n}}})},enableMcpServer(e){this.send({type:`mcp.enable`,payload:{name:e}})},disableMcpServer(e){this.send({type:`mcp.disable`,payload:{name:e}})},restartMcpServer(e){this.send({type:`mcp.restart`,payload:{name:e}})},listSkills(e){this.send({type:`skills.list`},e)},getSkillContent(e,t){this.send({type:`skills.content`,payload:{name:e,source:t}})},installSkill(e,t){this.send({type:`skills.install`,payload:{ref:e,global:t}})},uninstallSkill(e,t){this.send({type:`skills.uninstall`,payload:{name:e,global:t}})},checkForUpdates(e,t){this.send({type:`skills.update`,payload:{name:e,global:t}})},createSkill(e,t,n){this.send({type:`skills.create`,payload:{name:e,description:t,scope:n}})},editSkill(e,t){this.send({type:`skills.edit`,payload:{name:e,body:t}})},exportAllSkills(){this.send({type:`skills.export`})},getDiag(e){this.send({type:`diag.get`,payload:this.withSession({})},e)},getStats(e){this.send({type:`stats.get`,payload:this.withSession({})},e)},saveSession(){this.send({type:`session.save`,payload:this.withSession({})})},resumeSessionById(e){this.send({type:`session.resume`,payload:this.withSession({id:e})})},focusSessionById(e){this.send({type:`session.focus`,payload:this.withSession({id:e})})},listModes(){this.send({type:`modes.list`})},switchMode(e){this.send({type:`mode.switch`,payload:this.withSession({id:e})})},listFiles(e,t,n){this.send({type:`files.list`,payload:{query:e,limit:t,path:n}})},requestCompletion(e){this.send({type:`completion.request`,payload:e})},getTodos(){this.send({type:`todos.get`,payload:this.withSession({})})},clearTodos(){this.send({type:`todos.clear`,payload:this.withSession({})})},removeTodo(e){let t=typeof e==`number`?{index:e}:{id:e};this.send({type:`todos.remove`,payload:this.withSession(t)})},updateTodoStatus(e,t){this.send({type:`todo.update`,payload:this.withSession({id:e,status:t})})},getTasks(){this.send({type:`tasks.get`,payload:this.withSession({})})},updateTaskStatus(e,t){this.send({type:`task.update`,payload:this.withSession({id:e,status:t})})},getPlan(){this.send({type:`plan.get`,payload:this.withSession({})})},updatePlanItem(e,t){this.send({type:`plan.item.update`,payload:this.withSession({target:e,status:t})})},listSessions(e=50){this.send({type:`sessions.list`,payload:this.withSession({limit:e})})},deleteSession(e){this.send({type:`session.delete`,payload:this.withSession({id:e})})},renameSession(e,t){this.send({type:`session.rename`,payload:{id:e,name:t}})},inspectSession(e){this.send({type:`session.inspect`,payload:{id:e}})},setWorkingDir(e){this.send({type:`working_dir.set`,payload:{path:e}})},resumeSession(e){this.send({type:`session.resume`,payload:this.withSession({id:e})})},ping(){this.send({type:`ping`})},refineModel(e,t){this.send({type:`model.refine`,payload:this.withSession({text:e,...t?.timeoutMs===void 0?{}:{timeoutMs:t.timeoutMs},...t?.provider===void 0?{}:{provider:t.provider},...t?.model===void 0?{}:{model:t.model},...t?.previousRefined===void 0?{}:{previousRefined:t.previousRefined},...t?.previousEnglish===void 0?{}:{previousEnglish:t.previousEnglish},...t?.retryFeedback===void 0?{}:{retryFeedback:t.retryFeedback}})})}};function Fr(e){Object.assign(e.prototype,Pr)}function Ir(e){try{let t=new URL(e),n=new URL(Ha());return t.hostname===n.hostname}catch{return!0}}async function Lr(e){if(typeof window>`u`)return e;if(document.cookie.split(`;`).some(e=>e.trim().startsWith(`ws_token=`))){let t=e;return Ir(e)&&(t=Ra(e)),za(),t}let t=Ia(e)??La();if(!t)return e;let n=Ha()+`/ws-auth?token=${encodeURIComponent(t)}`;try{let t=await fetch(n,{method:`GET`,credentials:`same-origin`,cache:`no-store`});if(!t.ok)console.warn(JSON.stringify({level:`warn`,event:`ws_client.ws_auth_failed`,status:t.status,timestamp:new Date().toISOString()}));else{let t=e;return Ir(e)&&(t=Ra(e)),za(),t}}catch(e){console.warn(JSON.stringify({level:`warn`,event:`ws_client.ws_auth_error`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))}return e}function Rr(e,t,n=3e4){let r=!1,i=setTimeout(()=>{try{e.close()}catch{}t.onTimeout()},n);return e.onopen=()=>{t.isCurrentGeneration()&&(clearTimeout(i),r=!0,t.onOpen())},e.onmessage=e=>{if(!t.isCurrentGeneration())return;let n=st(String(e.data),`server`);n.ok?t.onMessage(n.message):console.error(JSON.stringify({level:`error`,event:`ws_client.message_rejected`,code:n.issue.code,message:n.issue.message,timestamp:new Date().toISOString()}))},e.onerror=e=>{t.isCurrentGeneration()&&(console.error(JSON.stringify({level:`error`,event:`ws_client.error`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()})),r||(clearTimeout(i),t.onError(`Connection error (see browser devtools)`)))},e.onclose=e=>{if(!t.isCurrentGeneration())return;if(!r){clearTimeout(i);let n=e.reason||`Closed with code ${e.code}`;t.onClose(n,!0);return}let n;e.reason?n=`${e.reason} (code ${e.code})`:e.code!==1e3&&(n=`Closed with code ${e.code}`),t.onClose(n,!1)},{cancelTimeout:()=>clearTimeout(i)}}function zr(e,t,n){let r=je(e,{...v,maxReconnectAttempts:t,queueLimit:n});return{state:r.state,plan:r.plan}}function Br(e,t,n,r){if(e===`open`)return{reconnectTimer:t,connectionState:n};t&&clearTimeout(t);let i=Ae(n);return r().catch(e=>console.warn(JSON.stringify({level:`warn`,event:`ws_client.reconnect_failed`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))),{reconnectTimer:null,connectionState:i}}function Vr(e){return{type:`provider.clear_models`,payload:{providerId:e}}}function Hr(e,t){return{type:`provider.undo_clear`,payload:{providerId:e,previousModels:[...t]}}}function Ur(e){return{type:`provider.update`,payload:e}}var Wr={getGitInfo(){this.send({type:`git.info`})},getGitChanges(){this.send({type:`git.changes`})},getGitHistory(e){this.send({type:`git.history`,payload:e})},getGitCommitDetail(e){this.send({type:`git.commit_detail`,payload:{hash:e}})},getGitCommitFileDiff(e,t,n){this.send({type:`git.commit_file_diff`,payload:{hash:e,path:t,...n?{previousPath:n}:{}}})},getGitDiff(e){this.send({type:`git.diff`,payload:{path:e}})},stageGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.stage`,payload:{paths:t}})},unstageGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.unstage`,payload:{paths:t}})},discardGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.discard`,payload:{paths:t}})},commitGit(e){this.send({type:`git.commit`,payload:{message:e}})},getProviderQuota(){this.send({type:`provider.quota.get`})},getProviderStatus(){this.send({type:`provider.status.get`})},getProviderAuditHistory(e){this.send({type:`provider.audit.get`,payload:{count:e}})},retryProviderModel(e,t){this.send({type:`provider.status.retry`,payload:{providerId:e,model:t}})},clearProviderStatus(e,t){this.send({type:`provider.status.clear`,payload:{providerId:e,model:t}})},newSession(e){this.send({type:`session.new`,payload:{...e??{}}})},getSystemPrompt(){this.send({type:`system_prompt.get`,payload:this.withSession({})})},setSystemPromptVariant(e){this.send({type:`prefs.update`,payload:this.withSession({systemPromptVariant:e})})},listProviders(){this.send({type:`providers.list`})},listProviderModels(e){this.send({type:`provider.models`,payload:{providerId:e}})},listSavedProviders(){this.send({type:`providers.saved`})},searchProviderModels(e,t){this.send({type:`provider.models.search`,payload:{query:e,...t===void 0?{}:{limit:t}}})},addKey(e,t,n){this.send({type:`key.add`,payload:{providerId:e,label:t,apiKey:n}})},updateKey(e,t,n){this.send({type:`key.update`,payload:{providerId:e,label:t,apiKey:n}})},deleteKey(e,t){this.send({type:`key.delete`,payload:{providerId:e,label:t}})},setActiveKey(e,t){this.send({type:`key.set_active`,payload:{providerId:e,label:t}})},addProvider(e,t,n,r,i,a,o){this.send({type:`provider.add`,payload:{id:e,...o?{type:o}:{},family:t,baseUrl:n,apiKey:r,...i?{models:i}:{},...a?{customModels:a}:{}}})},removeProvider(e){this.send({type:`provider.remove`,payload:{providerId:e}})},listOAuthProviders(){this.send({type:`auth.oauth.list`})},startOAuth(e,t){this.send({type:`auth.oauth.start`,payload:t?{kind:e,providerId:t}:{kind:e}})},submitOAuthCode(e,t){this.send({type:`auth.oauth.code`,payload:{kind:e,input:t}})},cancelOAuth(e){this.send({type:`auth.oauth.cancel`,payload:{kind:e}})},probeProvider(e,t){this.send({type:`provider.probe`,payload:t===void 0?{providerId:e}:{providerId:e,timeoutMs:t}})},clearProviderModels(e){this.send(Vr(e))},undoProviderClear(e,t){this.send(Hr(e,t))},setCustomModel(e,t,n){this.send({type:`provider.custom_models.set`,payload:{providerId:e,modelId:t,customModel:n}})},removeCustomModel(e,t){this.send({type:`provider.custom_models.remove`,payload:{providerId:e,modelId:t}})},updateProvider(e){this.send(Ur(e))},clearContext(){this.send({type:`context.clear`,payload:this.withSession({})})},compactContext(e=!1){this.send({type:`context.compact`,payload:this.withSession({aggressive:e})})},repairContext(){this.send({type:`context.repair`,payload:this.withSession({})})},openContextEditor(){this.send({type:`context.editor.open`,payload:this.withSession({})})},validateContextEditor(e,t,n,r){this.send({type:`context.editor.validate`,payload:this.withSession({baseRevision:e,messages:t,removals:n,allowRepair:r})})},applyContextEditor(e,t,n,r){this.send({type:`context.editor.apply`,payload:this.withSession({baseRevision:e,messages:t,removals:n,allowRepair:r})})},debugContext(e){this.send({type:`context.debug`,payload:this.withSession({})},e)},listContextModes(){this.send({type:`context.modes.list`,payload:this.withSession({})})},switchContextMode(e){this.send({type:`context.mode.switch`,payload:this.withSession({id:e})})},createContextMode(e){this.send({type:`context.mode.create`,payload:this.withSession(e)})},updateContextMode(e,t){this.send({type:`context.mode.update`,payload:this.withSession({id:e,...t})})},deleteContextMode(e){this.send({type:`context.mode.delete`,payload:this.withSession({id:e})})},switchAutonomy(e){this.send({type:`autonomy.switch`,payload:this.withSession({mode:e})})},updatePrefs(e){this.send({type:`prefs.update`,payload:this.withSession(e)})},getPrefs(e){this.send({type:`prefs.get`,payload:this.withSession({},e)})}};function Gr(e){Object.assign(e.prototype,Wr)}var Kr={"context.debug":`context.debug`,"diag.get":`diag.get`,"memory.list":`memory.list`,"memory.sage.get":`memory.sage.get`,"memory.sage.graph":`memory.sage.graph`,"memory.sage.list":`memory.sage.list`,"memory.sage.listCandidates":`memory.sage.listCandidates`,"memory.sage.listPage":`memory.sage.listPage`,"memory.sage.remember":`memory.sage.remember`,"memory.sage.update":`memory.sage.update`,"skills.list":`skills.list`,"stats.get":`stats.get`,"tools.list":`tools.list`},qr=3e4,Jr=15e3,Yr=class{suppressedChatEchoes=new Map;echoSweepTimer=null;registerSuppression(e,t){if(t.echoToChat!==!1||!Kr[e.type])return;let n=t.requestId??`suppress_${Date.now()}_${g().slice(0,8)}`;this.suppressedChatEchoes.set(n,Date.now()+qr),this.ensureEchoSweep();let r=e.payload??{};r.requestId=n,e.payload=r}consumeSuppressedChatEcho(e,t){if(!t)return!1;let n=t.payload?.requestId;if(typeof n!=`string`||n.length===0)return!1;let r=this.suppressedChatEchoes.get(n);return r!==void 0&&(this.suppressedChatEchoes.delete(n),r>Date.now())}ensureEchoSweep(){this.echoSweepTimer||=setInterval(()=>{this.sweepSuppressedChatEchoes(Date.now())},Jr)}sweepSuppressedChatEchoes(e){for(let[t,n]of this.suppressedChatEchoes)n<=e&&this.suppressedChatEchoes.delete(t);this.suppressedChatEchoes.size===0&&this.echoSweepTimer&&(clearInterval(this.echoSweepTimer),this.echoSweepTimer=null)}clear(){this.echoSweepTimer&&=(clearInterval(this.echoSweepTimer),null),this.suppressedChatEchoes.clear()}};function Xr(e,t,n,r,i){let a;for(;e.messageQueue.length>0&&(e.messageQueue.length>=r||e.messageQueueChars+n.length>i);){let t=e.messageQueue.shift();if(!t)break;a??=t;let n=e.messageQueueWeights.get(t)??JSON.stringify(t).length;e.messageQueueChars=Math.max(0,e.messageQueueChars-n),e.messageQueueWeights.delete(t)}return a&&console.warn(JSON.stringify({level:`warn`,event:`ws_client.message_queue_full`,cap:r,charCap:i,droppedType:a.type,timestamp:new Date().toISOString()})),e.messageQueue.push(t),e.messageQueueWeights.set(t,n.length),e.messageQueueChars+=n.length,!0}function Zr(e,t){let n=e.messageQueue.splice(0);e.messageQueueChars=0;for(let e of n)try{t(e)}catch(e){console.warn(JSON.stringify({level:`warn`,event:`ws.flush_failed`,message:e instanceof Error?e.message:String(e)}))}}var Qr={sendMessage(e,t,n=!1,r){let i=`msg_${Date.now()}_${g().slice(0,8)}`,a=this.withSession({id:i,content:e,timestamp:Date.now(),...n?{freshContext:!0}:{},...t&&t.length>0?{images:t}:{}},r);return a.sessionId&&this.armedResends.delete(a.sessionId),this.send({type:`user_message`,payload:a}),i},getChimeraReports(e){this.send({type:`chimera.reports.list`,payload:this.withSession({sessionId:e??``},e)})},adviseTopic(e,t=1e4){let n=g();return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),o(),r(e))},o=this.on(`topic.advice_result`,e=>{e.payload.requestId===n&&a(e.payload)}),s=setTimeout(()=>{a({requestId:n,suggestNewContext:!1,confidence:0,reason:`Topic check timed out; continuing in the current context.`,source:`local`})},t);this.send({type:`topic.advice`,payload:this.withSession({requestId:n,prompt:e})})})},sendMailboxMessage(e,t){let n=`mbox_${Date.now()}_${g().slice(0,8)}`;return this.send({type:`mailbox.send`,payload:this.withSession({requestId:n,to:e.to,type:e.type,audience:e.audience??`all`,subject:e.subject,body:e.body,priority:e.priority??`normal`},t)}),n},sendAbort(e){this.send({type:`abort`,payload:this.withSession({},e)})},subscribeSessions(e){let t=Array.from(new Set(e.filter(e=>typeof e==`string`&&e)));if(t.length===0||t.length===this.subscribedSessionIds.length&&t.every((e,t)=>e===this.subscribedSessionIds[t]))return;this.subscribedSessionIds=t;let n=this.replayOnNextSubscribe?this.frameResume.request(t):null,r=this.replayOnNextSubscribe?t.filter(e=>!n||!(e in n.cursors)):[];this.replayOnNextSubscribe=!1,this.send({type:`session.subscribe`,payload:this.withSession({sessionIds:t,...r.length>0?{replayFor:r}:{},...n??{}})})},clearSessionSubscription(){this.subscribedSessionIds=[],this.replayOnNextSubscribe=!0},sendConfirm(e,t){this.pendingConfirms.has(e)&&this.pendingConfirms.delete(e),this.send({type:`tool.confirm_result`,payload:this.withSession({id:e,decision:t})})},switchModel(e,t,n=8e3){let r=g();return new Promise(i=>{let a=!1,o=e=>{a||(a=!0,clearTimeout(c),s(),i(e))},s=this.on(`model.switch_result`,e=>{let t=e.payload;t.requestId===r&&o(t)}),c=setTimeout(()=>{o({requestId:r,success:!1,message:`Model switch timed out. Please try again.`,provider:e,model:t,runActive:!1})},n);this.send({type:`model.switch`,payload:this.withSession({provider:e,model:t,requestId:r})})})},shutdownCodebaseIndexServer(e=8e3){let t=g();return new Promise(n=>{let r=!1,i=e=>{r||(r=!0,clearTimeout(o),a(),n(e))},a=this.on(`codebase.index.server.shutdown_result`,e=>{e.payload.requestId&&e.payload.requestId!==t||i(e.payload)}),o=setTimeout(()=>{i({requestId:t,stopped:!1,reason:`Codebase index server shutdown timed out.`})},e);this.send({type:`codebase.index.server.shutdown`,payload:{requestId:t}},{queueIfDisconnected:!1})||i({requestId:t,stopped:!1,reason:`WebSocket is not connected.`})})}};function $r(e){Object.assign(e.prototype,Qr)}var ei=`#pending-new-session`;function ti(e){if(e.type===`session.new`)return ei;if(e.type!==`session.resume`)return null;let t=e.payload?.id;return typeof t==`string`&&t.length>0?t:ei}function ni(e,t,n){return!e||!n.sessionId?!1:e===`#pending-new-session`?n.reset===!0&&!t.has(n.sessionId):e===n.sessionId}function ri(e,t){if(t){if(e.size>=64){let t=e.values().next();t.done||e.delete(t.value)}e.add(t)}}function ii(e,t,n){if(!t)return!1;let r=Date.now(),i=e.get(t);if(i&&r-i.armedAt<15e3)return!1;if(e.size>=8){let t=e.keys().next();t.done||e.delete(t.value)}return e.set(t,{...n,armedAt:r}),!0}function ai(e,t,n){let r=e.get(t);r&&(e.delete(t),Vt(t)&&n(r.content,r.images,r.freshContext===!0,t))}function oi(e,t){for(let[n,r]of e)r.expiresAtMs<=t&&e.delete(n)}var si=e({WrongStackWebSocketClient:()=>li,getWSClient:()=>di}),ci=class e{ws=null;url;handlers=new Map;maxReconnectAttempts=10;shouldReconnect=!0;reconnectTimer=null;connectPromise=null;socketGeneration=0;messageQueue=[];messageQueueChars=0;messageQueueWeights=new WeakMap;connectionState=Te();static MAX_QUEUED_MESSAGES=1e3;static MAX_QUEUED_CHARS=16777216;pendingConfirms=new Map;static PENDING_CONFIRM_TTL_MS=18e4;sessionId=null;pendingSwapTarget=null;requestedSwitchSessionId=null;seenSessionIds=new Set;replayOnNextSubscribe=!0;subscribedSessionIds=[];frameResume=new pt(e=>{for(let t of e)this.handleMessage(t)});armedResends=new Map;lastErrorText;statusListeners=new Set;currentStatus={state:`connecting`};echoSuppression=new Yr;protocolCapabilities=new Set;protocolVersion=null;supportsCapability(e){return this.protocolCapabilities.has(e)}get negotiatedProtocolVersion(){return this.protocolVersion}onStatus(e){return this.statusListeners.add(e),e(this.currentStatus),()=>this.statusListeners.delete(e)}get status(){return this.currentStatus}setStatus(e){this.currentStatus=e;for(let t of this.statusListeners)try{t(e)}catch{}}constructor(e){this.url=e??Va()}withSession(e,t){let n=t||ya();return n?{...e,sessionId:n}:e}async ensureAuthCookie(){this.url=await Lr(this.url)}connect(){return this.ws?.readyState===WebSocket.OPEN?Promise.resolve():(this.connectPromise||=this.openSocket().finally(()=>{this.connectPromise=null}),this.connectPromise)}async openSocket(){return await this.ensureAuthCookie(),this.connectionState=Ee(this.connectionState),new Promise((e,t)=>{if(this.ws?.readyState===WebSocket.OPEN){e();return}this.setStatus({state:`connecting`});let n=++this.socketGeneration;try{let r=new WebSocket(this.url);this.ws=r,r.binaryType=`arraybuffer`;let i=!1,a=()=>{i||(i=!0,this.attemptReconnect())};Rr(r,{isCurrentGeneration:()=>this.socketGeneration===n,onOpen:()=>{this.connectionState=De(this.connectionState),this.lastErrorText=void 0,this.setStatus({state:`open`}),this.flushMessageQueue(),this.send({type:`provider.quota.get`}),e()},onMessage:e=>{this.connectionState=Oe(this.connectionState);for(let t of this.frameResume.gate.accept(e))this.handleMessage(t)},onError:e=>{this.lastErrorText=e,t(Error(e)),a()},onClose:(e,n)=>{if(this.pendingSwapTarget=null,this.requestedSwitchSessionId=null,n){this.lastErrorText=e,t(Error(e)),a();return}e&&!this.lastErrorText&&(this.lastErrorText=e),this.attemptReconnect()},onTimeout:()=>{this.ws===r&&(this.ws=null),this.lastErrorText=`Connection timeout`,t(Error(`Connection timeout`)),a()}})}catch(e){if(this.socketGeneration!==n)return;this.lastErrorText=m(e),this.setStatus({state:`closed`,error:this.lastErrorText}),t(e)}})}attemptReconnect(){if(!this.shouldReconnect){this.connectionState=ke(this.connectionState),this.reconnectTimer=null,this.setStatus({state:`closed`,error:this.lastErrorText??`Disconnected`});return}let t=zr(this.connectionState,this.maxReconnectAttempts,e.MAX_QUEUED_MESSAGES);if(this.connectionState=t.state,!t.plan){this.reconnectTimer=null,this.setStatus({state:`closed`,error:this.lastErrorText??`Disconnected`});return}this.setStatus({state:`reconnecting`,attempt:t.plan.attempt,nextRetryAt:t.plan.retryAt,lastError:this.lastErrorText}),this.reconnectTimer=setTimeout(async()=>{if(this.reconnectTimer=null,this.shouldReconnect)try{await this.connect()}catch(e){console.error(JSON.stringify({level:`error`,event:`ws_client.reconnect_failed`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))}},t.plan.delayMs)}retryNow(){let e=Br(this.currentStatus.state,this.reconnectTimer,this.connectionState,()=>this.connect());this.reconnectTimer=e.reconnectTimer,this.connectionState=e.connectionState}flushMessageQueue(){let e={messageQueue:this.messageQueue,messageQueueChars:this.messageQueueChars,messageQueueWeights:this.messageQueueWeights};Zr(e,e=>this.send(e)),this.messageQueueChars=e.messageQueueChars}handleMessage(t){if(t.type===`session.frames_resumed`){this.frameResume.onFramesResumed(t);return}if(t.type===`session.start`&&(t=this.frameResume.onSessionStart(t)),t.type===`tool.confirm_needed`){let n=t.payload;this.sweepExpiredPendingConfirms(Date.now()),this.pendingConfirms.set(n.id,{expiresAtMs:Date.now()+e.PENDING_CONFIRM_TTL_MS}),this.emit(t);return}if(t.type===`tool.confirm_resolved`){let e=t.payload;typeof e.id==`string`&&this.pendingConfirms.delete(e.id),this.emit(t);return}if(t.type===`session.start`){let e=t.payload,n=xt(e);this.sessionId=e.sessionId,this.protocolVersion=n.version,this.protocolCapabilities=new Set(n.capabilities),this.requestedSwitchSessionId=this.matchesPendingSwap(e)?e.sessionId:null,this.requestedSwitchSessionId&&(this.pendingSwapTarget=null),this.rememberSeenSession(e.sessionId),this.emit(t),this.consumeArmedResend(e.sessionId);return}t.type===`error`&&(t.payload.phase===`session.new`||t.payload.phase===`session.resume`)&&(this.pendingSwapTarget=null),this.emit(t)}matchesPendingSwap(e){return ni(this.pendingSwapTarget,this.seenSessionIds,e)}rememberSeenSession(e){ri(this.seenSessionIds,e)}consumeRequestedSwitch(e){return!e||this.requestedSwitchSessionId!==e?!1:(this.requestedSwitchSessionId=null,!0)}armNotReadyResend(e,t){return ii(this.armedResends,e,t)}consumeArmedResend(e){ai(this.armedResends,e,(e,t,n,r)=>{this.sendMessage(e,t,n,r)})}sweepExpiredPendingConfirms(e){oi(this.pendingConfirms,e)}emit(e){let t=this.handlers.get(e.type);if(t)for(let n of t)try{n(e)}catch(t){console.error(JSON.stringify({level:`error`,event:`ws_client.handler_error`,messageType:e.type,message:t instanceof Error?t.message:String(t),timestamp:new Date().toISOString()}))}}send(e,t={}){let n=this.constructor,r=n.MAX_QUEUED_MESSAGES,i=n.MAX_QUEUED_CHARS,a=ot(e,`client`);if(!a.ok)return console.error(JSON.stringify({level:`error`,event:`ws_client.outbound_message_rejected`,code:a.issue.code,message:a.issue.message,timestamp:new Date().toISOString()})),!1;this.echoSuppression.registerSuppression(e,t);let o=JSON.stringify(a.message),s=this.ws?.readyState===WebSocket.OPEN;if(!s&&o.length>i)return console.warn(JSON.stringify({level:`warn`,event:`ws_client.message_queue_full`,cap:r,charCap:i,droppedType:e.type,reason:`message_too_large`,timestamp:new Date().toISOString()})),!1;let c=ti(e);if(c){if(this.pendingSwapTarget===c)return!1;this.pendingSwapTarget=c}if(e.type===`context.clear`?Nr.dropAll():(e.type===`session.new`||e.type===`session.resume`)&&Nr.flushAll(),s)return this.ws?.send(o),!0;{if(t.queueIfDisconnected===!1)return!1;let n={messageQueue:this.messageQueue,messageQueueChars:this.messageQueueChars,messageQueueWeights:this.messageQueueWeights},a=Xr(n,e,o,r,i);return this.messageQueueChars=n.messageQueueChars,a}}consumeSuppressedChatEcho(e,t){return this.echoSuppression.consumeSuppressedChatEcho(e,t)}on(e,t){let n=this.handlers.get(e);return n||(n=new Set,this.handlers.set(e,n)),n.add(t),()=>n?.delete(t)}off(e,t){this.handlers.get(e)?.delete(t)}disconnect(){this.shouldReconnect=!1,this.connectionState=ke(this.connectionState),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.messageQueue.length=0,this.messageQueueChars=0,this.pendingSwapTarget=null,this.requestedSwitchSessionId=null,this.pendingConfirms.clear(),this.echoSuppression.clear(),this.ws?.close(),this.ws=null}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}get currentSessionId(){return this.sessionId}};Fr(ci),Gr(ci),$r(ci);var li=ci,ui=null;function di(e){return ui||=new li(e),ui}function fi(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}[`NOTE: The todo board has not changed since the previous automatic continuation — this exact instruction is being repeated.`,`Before anything else, bring the board up to date so the loop stays grounded:`,`- mark work that is actually finished as completed,`,`- split the current item into smaller concrete sub-items if it needs more than one turn,`,`- remove or reword items that no longer apply.`,`Then continue the work. If you are blocked, state exactly what is blocking you instead of repeating the same turn.`].join(`
|
|
19
|
+
`);function pi(){let e=new Map,t=new Set;return{recordAttempt(t){let n=(e.get(t)??0)+1;return e.set(t,n),n},getAttempts(t){return e.get(t)??0},markSkipped(e){t.add(e)},isSkipped(e){return t.has(e)},reset(){e.clear(),t.clear()},snapshot(){let n={},r=new Set([...e.keys(),...t]);for(let i of r)n[i]={attempts:e.get(i)??0,skipped:t.has(i)};return n}}}var mi=[`Pivoting to the next open item — previous todo still pending after {attempts} attempt(s).`,`Shifting focus to a different task while the previous item ({label}) remains open after {attempts} attempt(s).`,`No board progress on the current item after {attempts} attempt(s). Continuing with the next todo.`,`The previous item is still unresolved after {attempts} try(ies). Moving on down the list.`,`Advancing to the next piece of work after {attempts} unproductive attempt(s) on the prior one.`,`Taking a different angle — the stalled item ({label}) stays open after {attempts} attempt(s). Pressing ahead.`,`The todo board shows no movement on the current task after {attempts} attempt(s). Switching gears.`,`No change on the board from the last {attempts} continuation(s). Proceeding to the next open item.`];function hi(e,t,n,r){let i=mi[Math.max(0,Math.min(n-1,mi.length-1))].replace(/\{attempts\}/g,()=>String(n)).replace(/\{label\}/g,()=>e.content.slice(0,72));if(!t)return[i,``,`No more open items remain on the todo list. What has been accomplished and what should I do next?`].join(`
|
|
20
|
+
`);let a=t.status===`in_progress`&&t.activeForm?t.activeForm:t.content,o=r.filter(e=>e.status===`completed`).length,s=r.length,c=[i,``,`Proceed with: ${a}`];return s>0&&(c.push(``,`Todo board (${o}/${s} done):`),c.push(...r.slice(0,20).map(e=>` ${e.status===`completed`?`[x]`:e.status===`in_progress`?`[~]`:`[ ]`} ${e.content.replace(/\n|\r/g,` `)}`))),c.push(``,`If this item is already done, mark it complete and move to the next open todo. Keep the board honest as you work.`),c.join(`
|
|
21
|
+
`)}function gi(e,t){if(e.length===0||!t)return null;let n=t.toLowerCase(),r=e.find(e=>e.status===`in_progress`);if(r){let e=(r.activeForm??r.content).toLowerCase();if(e.length>5&&n.includes(e))return{id:r.id,content:r.activeForm??r.content}}for(let t of e){if(t.status===`completed`||r&&t.id===r.id)continue;let e=(t.activeForm??t.content).toLowerCase();if(e.length>5&&n.includes(e))return{id:t.id,content:t.activeForm??t.content}}let i=e.find(e=>e.status!==`completed`);return i?{id:i.id,content:i.activeForm??i.content}:null}function _i(e={}){let t=(e,t)=>e===void 0||!Number.isFinite(e)?t:Math.floor(e),n=Math.max(2,t(e.repeatThreshold,2)),r=Math.max(n,t(e.windowSize,3)),i=[],a=null;function o(e){let t=fi(e);i.push(t),i.length>r&&(i=i.slice(i.length-r));let a=0;for(let e=i.length-1;e>=0&&i[e]===t;e--)a++;return{normalized:t,runLength:a,shouldHalt:a>=n}}function s(e){let t=o(e);return t.shouldHalt?a===t.normalized?{...t,action:`halt`}:(a=t.normalized,{...t,shouldHalt:!1,action:`steer`}):(a=null,{...t,shouldHalt:!1,action:`feed`})}function c(){i=[],a=null}function l(){return i.slice()}function u(){return i.length}return{record:o,recordGrounded:s,reset:c,history:l,size:u}}var vi=`__unbound__`,yi=8,q=new Map;function bi(){return{streak:0,capWarned:!1,loopHalted:!1,loopGuard:_i(),continuationTracker:pi()}}function xi(e){let t=e??vi,n=q.get(t);if(n)return n;if(q.size>=yi){let e=q.keys().next().value;e!==void 0&&q.delete(e)}let r=bi();return q.set(t,r),r}function Si(e){q.delete(e)}function Ci(){let e=h(e=>e.autoProceedMaxIterations),t=h(e=>e.autonomy),n=hn(),r=Un(e=>e.session?.id??null),i=n??r,a=xi(i),o=(0,V.useRef)(a.streak),s=(0,V.useRef)(a.capWarned),c=(0,V.useRef)(t),l=(0,V.useRef)(i);(0,V.useEffect)(()=>{o.current=a.streak,s.current=a.capWarned}),(0,V.useEffect)(()=>{if(l.current===i)return;if(l.current===null&&i){let e=q.get(vi);e&&!q.has(i)&&(q.set(i,e),q.delete(vi))}let e=xi(i);o.current=e.streak,s.current=e.capWarned,l.current=i},[i]),(0,V.useEffect)(()=>{let e=c.current===`auto`,n=t===`auto`;!e&&n&&(a.capWarned=!1,s.current=!1),e&&!n&&(a.streak=0,o.current=0,a.loopHalted=!1,a.loopGuard.reset(),a.continuationTracker.reset()),c.current=t},[t,a]);let u=(0,V.useCallback)(()=>a.loopHalted?!1:e<=0||a.streak<e,[e,a]),d=(0,V.useCallback)(()=>{let t=e;return t>0&&a.streak>=t?!1:(a.streak+=1,o.current=a.streak,t>0&&a.streak>=t&&(a.capWarned=!0,s.current=!0),!0)},[e,a]),f=(0,V.useCallback)(e=>{if(a.loopHalted)return!1;let t=a.loopGuard.record(e);return t.shouldHalt&&(a.loopHalted=!0),!t.shouldHalt},[a]),p=(0,V.useCallback)((e,t)=>{if(a.loopHalted)return{canFeed:!1,halted:!0};if(!a.loopGuard.recordGrounded(e).shouldHalt)return{canFeed:!0};let n=gi(t,e);if(n){let e=a.continuationTracker.recordAttempt(n.id);if(a.continuationTracker.markSkipped(n.id),Object.values(a.continuationTracker.snapshot()).reduce((e,t)=>e+t.attempts,0)<=9){let r=t.filter(e=>e.status!==`completed`).find(e=>e.id!==n.id&&!a.continuationTracker.isSkipped(e.id));if(r){let i=t.find(e=>e.id===n.id);i&&(i.status=`pending`);let o=hi({id:n.id,content:n.content},r,e,t);return a.loopGuard.reset(),{canFeed:!1,advancement:o}}}}return a.loopHalted=!0,{canFeed:!1,halted:!0}},[a]),m=(0,V.useCallback)(()=>{a.streak=0,o.current=0,a.capWarned=!1,s.current=!1,a.loopHalted=!1,a.loopGuard.reset(),a.continuationTracker.reset()},[a]),g=(0,V.useCallback)(()=>{a.capWarned=!1,s.current=!1},[a]);return{streak:o.current,capWarned:s.current,canAutoSubmit:u,recordAutoSubmit:d,recordPrompt:f,recordGroundedPrompt:p,reset:m,resetCapWarned:g}}var wi=f(e=>({pending:null,selected:0,setPending:t=>e({pending:t,selected:0}),clear:()=>e({pending:null,selected:0}),move:t=>e(e=>{if(!e.pending||e.pending.candidates.length===0)return e;let n=e.pending.candidates.length;return{selected:(e.selected+t+n)%n}}),setSelected:t=>e({selected:Math.max(0,t)})})),Ti=f()(e=>({entries:[],loading:!1,error:null,setEntries:(t,n=null)=>e({entries:t,error:n,loading:!1}),setLoading:t=>e({loading:t}),removeEntry:t=>e(e=>({entries:e.entries.filter(e=>e.id!==t)})),updateEntryName:(t,n)=>e(e=>({entries:e.entries.map(e=>{if(e.id!==t)return e;let r=n.trim();if(!r){let{name:t,...n}=e;return n}return{...e,name:r}})})),rebindCurrent:t=>e(e=>e.entries.every(e=>e.isCurrent===(e.id===t))?{}:{entries:e.entries.map(e=>({...e,isCurrent:e.id===t}))}),clearHistory:()=>e({entries:[]})})),Ei=f()(e=>({candidates:[],offer:t=>{e({candidates:[...new Set(t.filter(e=>typeof e==`string`&&e.length>0))]})},dismiss:()=>e({candidates:[]})})),Di=3e5,Oi=new Map;function ki(e){let t=Oi.get(e);t!==void 0&&(clearTimeout(t),Oi.delete(e))}var Ai=f()(e=>({startedAt:{},progress:{},begin:t=>{t&&(ki(t),Oi.set(t,setTimeout(()=>{Oi.delete(t),Ai.getState().end(t)},Di)),e(e=>({startedAt:{...e.startedAt,[t]:Date.now()}})))},update:(t,n)=>{t&&e(e=>({progress:{...e.progress,[t]:{...n,loadedBytes:Math.max(0,n.loadedBytes),totalBytes:Math.max(0,n.totalBytes),updatedAt:Date.now()}}}))},end:t=>{t&&(ki(t),e(e=>{if(!(t in e.startedAt)&&!(t in e.progress))return e;let{[t]:n,...r}=e.startedAt,{[t]:i,...a}=e.progress;return{startedAt:r,progress:a}}))},clear:()=>{for(let e of[...Oi.keys()])ki(e);e({startedAt:{},progress:{}})}})),ji={start:`Starting`,resolve_id:`Resolving session id`,reserve_ownership:`Reserving ownership`,open_journal:`Reading journal`,activate_ownership:`Taking ownership`,replay_history:`Rebuilding timeline`,read_sidecars:`Reading todos and sidecars`,swap_writer:`Attaching session`,flush_journal:`Flushing journal`,repoint_sidecars:`Repointing sidecars`,restore_model:`Restoring provider and model`,finalize_previous_session:`Closing previous session`,token_accounting:`Restoring token accounting`,complete:`Finalizing`};function Mi(e){return e?ji[e]??e.replaceAll(`_`,` `):`Reading journal`}function Ni(e){if(!e||e.totalBytes<=0)return null;let t=Math.round(e.loadedBytes/e.totalBytes*100);return Math.max(0,Math.min(100,t))}function Pi(e){return e>=1048576?`${(e/1048576).toFixed(1)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${e} B`}var Fi=f()(e=>({info:null,currentBySession:{},pickerOpen:!1,pickerStartsSession:!1,promptedThisSession:!1,setInfo:(t,n)=>e(e=>({info:t,currentBySession:n?{...e.currentBySession,[n]:t.current}:e.currentBySession})),dropSession:t=>e(e=>{if(!(t in e.currentBySession))return e;let n={...e.currentBySession};return delete n[t],{currentBySession:n}}),openPicker:t=>e({pickerOpen:!0,pickerStartsSession:t?.startsSession===!0,promptedThisSession:!0}),closePicker:()=>e({pickerOpen:!1,pickerStartsSession:!1}),markPrompted:()=>e({promptedThisSession:!0})}));function Ii(e,t){return(t?e.currentBySession[t]:void 0)??e.info?.current??`default`}var Li=`leader`;function Ri(){return{started:0,ok:0,failed:0,totalMs:0}}function zi(){return{started:0,ok:0,failed:0,totalMs:0,toolCalls:0}}function Bi(e){return{sessionId:e,firstActivityAt:Date.now(),lastActivityAt:Date.now(),perTool:{},perAgent:{},delegations:zi()}}function Vi(e,t){let n=e[t];if(n)return{record:e,bucket:n};let r=Ri();return{record:{...e,[t]:r},bucket:r}}function Hi(e,t){let n=e[t];if(n)return{sessions:e,session:n};let r=Bi(t);return{sessions:{...e,[t]:r},session:r}}var Ui=f(e=>({sessions:{},recordToolStarted:(t,n)=>e(e=>{let r=n.agentName||`leader`,{sessions:i,session:a}=Hi(e.sessions,t),o=Vi(a.perTool,n.name),s=Vi(a.perAgent,r),c={...a,lastActivityAt:Date.now(),perTool:{...o.record,[n.name]:{...o.bucket,started:o.bucket.started+1}},perAgent:{...s.record,[r]:{...s.bucket,started:s.bucket.started+1}}};return{sessions:{...i,[t]:c}}}),recordToolExecuted:(t,n)=>e(e=>{let r=n.agentName||`leader`,{sessions:i,session:a}=Hi(e.sessions,t),o=Vi(a.perTool,n.name),s=Vi(a.perAgent,r),c=Math.max(0,n.durationMs??0),l={...a,lastActivityAt:Date.now(),perTool:{...o.record,[n.name]:{...o.bucket,ok:o.bucket.ok+ +!!n.ok,failed:o.bucket.failed+ +!n.ok,totalMs:o.bucket.totalMs+c}},perAgent:{...s.record,[r]:{...s.bucket,ok:s.bucket.ok+ +!!n.ok,failed:s.bucket.failed+ +!n.ok,totalMs:s.bucket.totalMs+c}}};return{sessions:{...i,[t]:l}}}),recordDelegateStarted:(t,n)=>e(e=>{let{sessions:n,session:r}=Hi(e.sessions,t),i={...r,lastActivityAt:Date.now(),delegations:{...r.delegations,started:r.delegations.started+1}};return{sessions:{...n,[t]:i}}}),recordDelegateCompleted:(t,n)=>e(e=>{let{sessions:r,session:i}=Hi(e.sessions,t),a={...i,lastActivityAt:Date.now(),delegations:{...i.delegations,ok:i.delegations.ok+ +!!n.ok,failed:i.delegations.failed+ +!n.ok,toolCalls:i.delegations.toolCalls+Math.max(0,n.toolCalls??0)}};return{sessions:{...r,[t]:a}}}),resetSession:t=>e(e=>{if(!(t in e.sessions))return e;let n={...e.sessions};return delete n[t],{sessions:n}}),clearAll:()=>e({sessions:{}})}));function Wi(e){let t=Object.values(e.perAgent).reduce((e,t)=>e+t.started,0),n=Object.values(e.perAgent).reduce((e,t)=>e+t.ok+t.failed,0);return Math.max(0,t-n)}var Gi=f(e=>({queues:{},enqueue:t=>e(e=>{let n=(e.queues[t.sessionId]??[]).filter(e=>e.request.id!==t.request.id);return{queues:{...e.queues,[t.sessionId]:[...n,t].slice(-8)}}}),resolve:t=>e(e=>{let n={};for(let[r,i]of Object.entries(e.queues)){let e=i.filter(e=>e.request.id!==t);e.length>0&&(n[r]=e)}return{queues:n}}),forgetSession:t=>e(e=>{let{[t]:n,...r}=e.queues;return{queues:r}}),reset:()=>e({queues:{}})}));function Ki(e,t){return t?e[t]?.[0]??null:Object.values(e).flat()[0]??null}var J=C,qi=`wrongstack.open_session_tabs`;function Ji(){if(typeof window>`u`)return[];try{let e=localStorage.getItem(qi);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.length>0).slice(0,J):[]}catch{return[]}}function Yi(e){if(!(typeof window>`u`))try{localStorage.setItem(qi,JSON.stringify(e.slice(0,J)))}catch{}}function Xi(e){if(!(typeof window>`u`))try{let t=new URL(window.location.href);if(t.searchParams.get(`session`)===e)return;t.searchParams.set(`session`,e),window.history.replaceState({},``,t.toString())}catch{}}function Y(){let e=F();return e&&e!==`__unbound__`?e:null}function Zi(e){N(e),D(e),P(e),Un.getState().switchSession(e);let t=_.getState();t.bindSessionChrome(e),t.setSubagentChatFocus(null,e);let n=E(e),r=n.pendingConfirm;r?t.showConfirm(r):t.hideConfirm();let i=n.pendingFallback;i?wi.getState().setPending(i):wi.getState().clear(),Ti.getState().rebindCurrent(e),t.setQueuePanelOpen(!1),t.setProcessMonitorOpen(!1),t.setCronJobsOpen(!1),Xi(e)}function Qi(e){Kt(e),pn(e),h.getState().forgetSession(e),Fi.getState().dropSession(e),_.getState().forgetSession(e),Gi.getState().forgetSession(e),Cn.getState().forgetSessionFiles(e),Dn.getState().forgetSessionGitChanges(e),K.getState().applyEvent({kind:`session_stopped`,sessionId:e}),en.getState().forgetSession(e),Ui.getState().resetSession(e),Si(e)}function $i(e){let t=F();if(t!==`__unbound__`&&e.includes(t))return;let n=e[e.length-1];if(n!==void 0){Zi(n),X.getState().markSeen(n);return}D(null),P(A),_.getState().hideConfirm(),wi.getState().clear()}function ea(e){try{di().focusSessionById(e)}catch{}}function ta(e){let t=Y(),n=t&&!e.includes(t)?[...e,t]:e;if(n.length!==0)try{di().subscribeSessions(n)}catch{}}var na=(e,t)=>{if(e.length===0)return null;let n=e[0],r=M(n).lastVisitedAt||0;for(let t=1;t<e.length;t+=1){let i=e[t],a=M(i).lastVisitedAt||0;a>r&&(n=i,r=a)}return n};function ra(e){let t=new Set(e.filter(e=>typeof e==`string`&&e.length>0)),n=X.getState().openTabIds,r=n.filter(e=>t.has(e));if(r.length===n.length)return r;for(let e of n)t.has(e)||Qi(e);return Yi(r),X.setState({openTabIds:r}),r}var ia=!1;function aa(e,t={}){if(ia)return[];if(ia=!0,e===void 0)return oa(t);let n=new Set(e.filter(e=>typeof e==`string`&&e.length>0)),r=X.getState().openTabIds.filter(e=>!n.has(e));ra(e);let i=oa(t);return r.length>0&&Ei.getState().offer(r),i}function oa(e={}){if(Y())return[];let t=e.now??Date.now(),n=e.pickForeground??na,r=X.getState().openTabIds.slice(0,J);if(r.length===0)return[];for(let e of r)Ut(e),N(e),h.getState().bindSession(e),_.getState().bindSessionChrome(e),Ti.getState().rebindCurrent(e);let i=n(r,t)??r[0];return i&&(Zi(i),X.getState().markSeen(i),ea(i)),ta(r),r}var X=f((e,t)=>({openTabIds:Ji(),lastSeenCounts:{},attention:{},setOpenTabIds:n=>{let r=new Set,i=[];for(let e of n)if(e&&!r.has(e)&&(r.add(e),i.push(e),i.length===J))break;let a=t().openTabIds.filter(e=>!r.has(e));for(let e of a)Qi(e);let o=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r.has(e)));e({openTabIds:i,lastSeenCounts:o(t().lastSeenCounts),attention:o(t().attention)}),Yi(i),a.length>0&&$i(i)},openTab:(n,r)=>{if(!n)return{success:!1,reason:`tabs_full`};let a=r?.recycleReentry===!0,o=Y(),s=[...t().openTabIds];if(o&&!s.includes(o)&&s.length<J&&s.push(o),n===o){if(!t().openTabIds.includes(n)){let e=[...s.slice(0,J-1),n];t().setOpenTabIds(e)}return t().markSeen(n),{success:!0,reason:`already_active`}}if(s.includes(n))return o&&!a&&jr(o),Zi(n),t().markSeen(n),E(n).messages.length===0&&Ai.getState().begin(n),ea(n),{success:!0,reason:`switched`};if(s.length<J){o&&!a&&jr(o);let i=[...s,n];return e({openTabIds:i}),Yi(i),Zi(n),t().markSeen(n),r?.resumeSession&&(Ai.getState().begin(n),r.resumeSession(n)),{success:!0,reason:a?`replaced_empty_tab`:`opened_new_tab`}}let c=s.find(e=>{if(e===o||kr(e))return!1;let t=Ti.getState().entries.find(t=>t.id===e);if(t&&(t.tokenTotal>0||(t.messageCount??0)>0))return!1;let n=E(e);return Ar(e).isEmpty&&n.pendingConfirm===null&&n.pendingFallback===null&&n.pendingRefinement===null});return c?(o&&!a&&jr(o),t().closeTab(c),t().openTab(n,{...r,recycleReentry:!0})):(Jn.error(i.t(`activity:sessions.allTabsRunning`,{defaultValue:`Maksimum 4 aktif sekme dolu. Başka bir oturum açmak için önce bir sekmeyi kapatın.`})),{success:!1,reason:`tabs_full`})},closeTab:n=>{let r=t().openTabIds.filter(e=>e!==n);Qi(n);let{[n]:i,...a}=t().lastSeenCounts,{[n]:o,...s}=t().attention;e({openTabIds:r,lastSeenCounts:a,attention:s}),Yi(r),$i(r),ta(r)},closeTabsForSessions:e=>{let n=new Set(e.filter(e=>!kr(e))),r=[...t().openTabIds];if(n.size===0)return[];if(r.length===0)return[...n];let i=r.filter(e=>!n.has(e));if(i.length===0){let e=Y(),t=e&&n.has(e)?e:r[r.length-1];i=[t],n.delete(t)}return t().setOpenTabIds(i),ta(i),[...n]},swapTabSession:(n,r)=>{if(!n||!r||n===r)return;let i=t().openTabIds,a=i.indexOf(n);if(a===-1)return;let o=Y()===n;Qi(n);let s=i.map((e,t)=>t===a?r:e),{[n]:c,...l}=t().lastSeenCounts,{[n]:u,...d}=t().attention;e({openTabIds:s,lastSeenCounts:l,attention:d}),Yi(s),o&&(Zi(r),t().markSeen(r)),ta(s)},markSeen:t=>e(e=>({lastSeenCounts:{...e.lastSeenCounts,[t]:E(t).messages.length},attention:{...e.attention,[t]:!1}})),setAttention:(t,n)=>e(e=>({attention:{...e.attention,[t]:n}}))}));function sa(e,t){let n=E(e),r=M(e),i=X.getState(),a=j.getState().activeSessionId,o=0,s=0;for(let t of K.getState().agents.values())t.sessionId===e&&(s+=1,t.status===`running`&&(o+=1));let c=i.lastSeenCounts[e]??n.messages.length,l=e===a,u=r.totalTokens.input+r.totalTokens.output;return{slot:t,sessionId:e,isActive:l,title:_.getState().sessionNicknames[e]||r.session?.title||e.slice(0,8),provider:r.session?.provider??``,model:r.session?.model??``,mode:r.mode,isRunning:n.isLoading,messageCount:n.messages.length,unread:l?0:Math.max(0,n.messages.length-c),queued:n.queue.length,agentsRunning:o,agentsTotal:s,tokens:u,cost:r.cost,contextPct:r.maxContext>0&&r.lastInputTokens>0?Math.min(100,Math.round(r.lastInputTokens/r.maxContext*100)):0,needsAttention:!l&&i.attention[e]===!0}}var Z={provider:`hsl(var(--info))`,agent:`hsl(var(--primary))`,coordinator:`hsl(var(--accent-foreground))`,tool:`hsl(var(--warning))`,mailbox:`hsl(var(--success))`,session:`hsl(var(--primary))`,system:`hsl(var(--muted-foreground))`,success:`hsl(var(--success))`,error:`hsl(var(--destructive))`},ca={"provider:call":`hsl(var(--info))`,"provider:delta":`hsl(var(--primary))`,"agent:tool":`hsl(var(--warning))`,"mailbox:send":`hsl(var(--success))`,default:`hsl(var(--muted-foreground))`},la=1200,ua=0;function Q(){return`viz_${Date.now()}_${++ua}`}function da(e){return Math.max(0,Math.min(100,Math.round((typeof e==`number`&&Number.isFinite(e)?e:0)*100)))}function fa(e,t=!1){if(t&&e.target){if(e.kind===`agent:tool`||e.kind===`tool:executed`||e.kind===`tool:started`)return`tool`;if(e.source===`leader`||e.source===`coordinator`)return`coordinator`;if(e.kind.startsWith(`provider:`))return`provider`;if(e.kind.startsWith(`mailbox:`))return`mailbox`}switch(e.kind){case`provider:call`:case`provider:delta`:case`provider:response`:return`provider`;case`agent:spawned`:case`agent:tool`:case`agent:status`:case`agent:text`:case`agent:ctx`:case`budget:warning`:case`budget:extended`:return`agent`;case`tool:started`:case`tool:executed`:case`tool:progress`:return`tool`;case`mailbox:send`:case`mailbox:deliver`:return`mailbox`;case`collab:event`:return`system`;case`session:start`:case`session:end`:case`iteration:start`:case`iteration:end`:case`eternal:iteration`:case`fleet:snapshot`:return`session`;case`context:compacted`:case`context:repaired`:case`cost:update`:return`system`;case`error`:return`error`;default:return`system`}}function pa(e){switch(e){case`provider:call`:case`provider:delta`:case`agent:tool`:case`tool:started`:case`tool:progress`:case`iteration:start`:case`agent:text`:return`streaming`;case`agent:status`:case`iteration:end`:return`completed`;case`error`:return`error`;case`tool:executed`:return`completed`;case`session:end`:return`idle`;default:return`active`}}function ma(e,t){return t-e<250}function ha(e,t,n){if(e.size<=t)return e;let r=[...e.entries()].sort((e,t)=>n(e[1])-n(t[1]));for(let[n]of r.slice(0,e.size-t))e.delete(n);return e}function $(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(n!==i){if(n==null||i==null||typeof n!=typeof i)return!1;if(typeof n==`object`){if(Array.isArray(n)||Array.isArray(i)||!$(n,i))return!1;continue}return!1}}return!0}function ga(e,t,n){let r=t.source,i={id:r,kind:fa(t),label:t.label,status:pa(t.kind),activity:1,color:t.color??Z[fa(t)]??Z.agent,lastSeenAt:n},a=e.nodes.get(r),o=a?{...a,...i}:i,s=!$(a,o);a&&s&&ma(a.lastSeenAt,n)&&$({...a,activity:o.activity,lastSeenAt:o.lastSeenAt},o)&&(o=a,s=!1);let c,l=!1,u;if(t.target){u=t.target;let r={id:u,kind:fa(t,!0),label:u,status:pa(t.kind),activity:.8,color:t.color??Z[fa(t,!0)]??Z.agent,lastSeenAt:n},i=e.nodes.get(u);c=i?{...i,...r}:r,l=!$(i,c),i&&l&&ma(i.lastSeenAt,n)&&$({...i,activity:c.activity,lastSeenAt:c.lastSeenAt},c)&&(c=i,l=!1)}let d,f=!1,p;if(t.target&&r){p=`${r}->${t.target}`;let i=e.edges.get(p),a={id:p,source:r,target:t.target,kind:t.kind,label:t.label,intensity:i?Math.min(1,i.intensity+.3):.7,color:t.color??Z[fa(t)]??Z.agent,lastActiveAt:n,totalMagnitude:(i?.totalMagnitude??0)+(t.magnitude??0)};d=i?{...i,...a}:a,f=!$(i,d),i&&f&&ma(i.lastActiveAt,n)&&$({...i,lastActiveAt:d.lastActiveAt},d)&&(d=i,f=!1)}let m=e.nodes,h=e.edges;return(s||l)&&(m=new Map(e.nodes),s&&m.set(r,o),l&&c&&u&&m.set(u,c)),f&&d&&p&&(h=new Map(e.edges),h.set(p,d)),m!==e.nodes&&(m=ha(m,400,e=>e.lastSeenAt)),h!==e.edges&&(h=ha(h,la,e=>e.lastActiveAt)),{nodes:m,edges:h}}function _a(e,t){switch(e){case`provider.text_delta`:{let e=t.text??``;return{id:Q(),kind:`provider:delta`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,60),magnitude:e.length,data:{text:e},color:Z.provider,flowGroup:`provider`}}case`provider.response`:{let e=t.usage,n=(e?.input??0)+(e?.output??0);return{id:Q(),kind:`provider:response`,timestamp:Date.now(),source:`provider`,target:`leader`,label:`${(e?.input??0).toLocaleString(`en-US`)} in / ${(e?.output??0).toLocaleString(`en-US`)} out`,magnitude:n,data:t,color:Z.provider,flowGroup:`provider`}}case`provider.stream_error`:{let e=t.message??`Provider stream error`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,80),magnitude:1,data:t,color:Z.error,flowGroup:`provider`}}case`tool.started`:{let e=t.name??`tool`;return{id:Q(),kind:`tool:started`,timestamp:Date.now(),source:e,target:`filesystem`,label:e,magnitude:1,data:t,color:Z.tool,flowGroup:`tool:${e}`}}case`tool.executed`:{let e=t.name??`tool`,n=t.ok??!0;return{id:Q(),kind:`tool:executed`,timestamp:Date.now(),source:e,target:`leader`,label:`${e} ${n?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:n?Z.tool:Z.error,flowGroup:`tool:${e}`}}case`tool.progress`:{let e=t.name??`tool`,n=t.event?.text??``;return{id:Q(),kind:`tool:progress`,timestamp:Date.now(),source:e,target:`leader`,label:n.slice(0,60)||e,magnitude:n.length,data:t,color:Z.tool,flowGroup:`tool:${e}`}}case`codemap.tool_started`:{let e=t.name??`tool`,n=t.agentId??`subagent`;return{id:Q(),kind:`tool:started`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:1,data:t,color:Z.tool,flowGroup:`agent:${n}`}}case`codemap.tool_executed`:{let e=t.name??`tool`,n=t.agentId??`subagent`,r=t.ok??!0;return{id:Q(),kind:`tool:executed`,timestamp:Date.now(),source:n,target:e,label:`${e} ${r?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:r?Z.tool:Z.error,flowGroup:`agent:${n}`}}case`tool.loop_detected`:{let e=t.tools??``,n=t.kind??`loop`,r=t.action===`steer`;return{id:Q(),kind:r?`agent:status`:`error`,timestamp:Date.now(),source:e||n,target:`leader`,label:`${n} loop x${t.repeatCount??0}`,magnitude:t.repeatCount??1,data:t,color:r?Z.agent:Z.error,flowGroup:`tool`}}case`delegate.started`:{let e=t.target??`delegate`,n=t.task??``;return{id:Q(),kind:`agent:status`,timestamp:Date.now(),source:`leader`,target:e,label:n.slice(0,80)||`Delegating to ${e}`,magnitude:1,data:t,color:Z.agent,flowGroup:`delegate:${e}`}}case`delegate.completed`:{let e=t.subagentId??t.target??`delegate`,n=t.ok??!1;return{id:Q(),kind:n?`agent:status`:`error`,timestamp:Date.now(),source:e,target:`leader`,label:(t.summary??t.status??`delegate completed`).slice(0,80),magnitude:t.durationMs??1,data:t,color:n?Z.agent:Z.error,flowGroup:`delegate:${e}`}}case`subagent.event`:{let e=t.kind,n=t.subagentId??`unknown`,r=t.name??n;switch(e){case`spawned`:return{id:Q(),kind:`agent:spawned`,timestamp:Date.now(),source:n,target:`session`,label:`${r} spawned`,magnitude:1,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`tool_executed`:{let e=t.toolName??`tool`,r=t.ok??!0;return{id:Q(),kind:`agent:tool`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:t.durationMs??0,data:t,color:r?Z.tool:Z.error,flowGroup:`agent:${n}`}}case`task_completed`:{let e=t.status??`completed`;return{id:Q(),kind:`agent:status`,timestamp:Date.now(),source:n,target:`session`,label:`${r} ${e}`,magnitude:1,data:t,color:e===`success`?Z.success:Z.error,flowGroup:`agent:${n}`}}case`ctx_pct`:return{id:Q(),kind:`agent:ctx`,timestamp:Date.now(),source:n,target:`session`,label:`ctx ${da(t.load)}%`,magnitude:t.tokens??0,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`iteration_summary`:return{id:Q(),kind:`agent:text`,timestamp:Date.now(),source:n,target:`session`,label:(t.partialText??``).slice(0,80)||`iter ${t.iteration??0}`,magnitude:t.costUsd??0,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`budget_extended`:return{id:Q(),kind:`budget:extended`,timestamp:Date.now(),source:n,target:`session`,label:`${r} extended budget`,magnitude:t.totalExtensions??1,data:t,color:Z.tool,flowGroup:`agent:${n}`};case`budget_warning`:return{id:Q(),kind:`budget:warning`,timestamp:Date.now(),source:n,target:`session`,label:`${r} hit ${t.budgetKind??`budget`} ${t.used??0}/${t.limit??0}`,magnitude:t.used??1,data:t,color:Z.error,flowGroup:`agent:${n}`}}return null}case`mailbox.event`:{let e=t.event,n=t.from??`?`,r=t.to??`?`,i=t.subject??``,a=e===`mailbox.sent`;return{id:Q(),kind:a?`mailbox:send`:`mailbox:deliver`,timestamp:Date.now(),source:n,target:r,label:i||(a?`→ ${r}`:`← ${n}`),magnitude:1,data:t,color:Z.mailbox,flowGroup:`mailbox`}}case`iteration.started`:{let e=t.index??0;return{id:Q(),kind:`iteration:start`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e}`,magnitude:e,data:t,color:Z.agent,flowGroup:`iteration`}}case`iteration.completed`:{let e=t.index??0;return{id:Q(),kind:`iteration:end`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e} done`,magnitude:e,data:t,color:Z.session,flowGroup:`iteration`}}case`ctx.pct`:{let e=t.tokens??0;return{id:Q(),kind:`agent:ctx`,timestamp:Date.now(),source:`leader`,target:`session`,label:`ctx ${da(t.load)}%`,magnitude:e,data:t,color:Z.agent,flowGroup:`leader`}}case`error`:{let e=t.message??`Error`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:t.phase??`system`,target:`session`,label:e,magnitude:1,data:t,color:Z.error,flowGroup:`error`}}case`context.compacted`:return{id:Q(),kind:`context:compacted`,timestamp:Date.now(),source:`system`,target:`session`,label:`Compacted: ${(t.saved??0).toLocaleString(`en-US`)} tokens`,magnitude:t.saved??0,data:t,color:`hsl(var(--info))`,flowGroup:`context`};case`compaction.failed`:{let e=t.message??`Compaction failed`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:`compactor`,target:`session`,label:e.slice(0,80),magnitude:t.tokens??1,data:t,color:Z.error,flowGroup:`context`}}case`context.repaired`:return{id:Q(),kind:`context:repaired`,timestamp:Date.now(),source:`system`,target:`session`,label:`Repaired: ${t.removedMessages??0} msgs`,magnitude:t.removedMessages??0,data:t,color:`hsl(var(--info))`,flowGroup:`context`};case`session.start`:{let e=t.sessionId??`?`,n=t.projectName??``;return{id:Q(),kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:n||e.slice(0,12),magnitude:1,data:t,color:Z.session,flowGroup:`session`}}case`sessions.status_update`:{let e=t.sessions??[];return{id:Q(),kind:`fleet:snapshot`,timestamp:Date.now(),source:`system`,target:`session`,label:`${e.length} session(s)`,magnitude:e.length,data:t,color:Z.system,flowGroup:`fleet`}}default:return null}}var va=f()((e,t)=>({events:[],toolEvents:[],nodes:new Map,edges:new Map,isActive:!1,maxEvents:2e3,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0},pushEvent:t=>e(e=>{let n={...t,id:t.id??Q(),timestamp:t.timestamp||Date.now()},r=[n,...e.events];r.length>e.maxEvents&&(r.length=e.maxEvents);let i=t.kind===`agent:tool`||t.kind===`tool:started`||t.kind===`tool:progress`||t.kind===`tool:executed`?[n,...e.toolEvents].slice(0,600):e.toolEvents,{nodes:a,edges:o}=ga(e,t,Date.now());return{events:r,toolEvents:i,nodes:a,edges:o}}),upsertNode:t=>e(e=>{let n=new Map(e.nodes),r=n.get(t.id);return n.set(t.id,{...r,...t,lastSeenAt:t.lastSeenAt===void 0?Date.now():t.lastSeenAt}),{nodes:n}}),removeNode:t=>e(e=>{let n=new Map(e.nodes);n.delete(t);let r=new Map(e.edges);for(let[e,n]of r)(n.source===t||n.target===t)&&r.delete(e);return{nodes:n,edges:r}}),upsertEdge:t=>e(e=>{let n=new Map(e.edges),r=n.get(t.id);return n.set(t.id,{...r,...t,lastActiveAt:t.lastActiveAt===void 0?Date.now():t.lastActiveAt,intensity:t.intensity??r?.intensity??.5,color:t.color??ca[t.kind]??ca.default,totalMagnitude:(r?.totalMagnitude??0)+(t.totalMagnitude??0)}),{edges:n}}),removeEdge:t=>e(e=>{let n=new Map(e.edges);return n.delete(t),{edges:n}}),clear:()=>e({events:[],toolEvents:[],nodes:new Map,edges:new Map,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0}}),setActive:t=>e({isActive:t}),decayActivity:()=>e(e=>{let t=new Map(e.nodes);for(let[e,n]of t)if(n.activity>=.01){let r=n.activity*.92;t.set(e,{...n,activity:r<.01?0:r})}let n=new Map(e.edges);for(let[e,t]of n)if(t.intensity>=.01){let r=t.intensity*.9;n.set(e,{...t,intensity:r<.01?0:r})}return{nodes:t,edges:n}}),prunesStale:t=>e(e=>{let n=Date.now()-t,r=new Map(e.nodes);for(let[e,t]of r)t.lastSeenAt<n&&r.delete(e);let i=new Map(e.edges);for(let[e,t]of i)t.lastActiveAt<n&&i.delete(e);return{nodes:r,edges:i,events:e.events.filter(e=>e.timestamp>n)}})}));function ya(){let e=F();return e&&e!==`__unbound__`?e:Un.getState().session?.id??null}function ba(e){let t=e.payload?.sessionId,n=ya();return t!==``&&(!t&&n&&Ma(e.type),!t||!n||t===n)}function xa(e){let t=e.payload?.sessionId;return typeof t==`string`&&t.length>0?t:null}function Sa(){let e=new Set(X.getState().openTabIds),t=Jt();for(let n of Ht())if(!(n===`__unbound__`||n===t||e.has(n))&&!E(n).isLoading)return Kt(n),pn(n),!0;return!1}function Ca(e){let t=xa(e);return t?Vt(t)?k(t):Ht().length<C||Sa()?(Ut(t),k(t)):(Oa(e.type,t),null):Jt()===`__unbound__`?k(w):(Ea(e.type),null)}function wa(e){let t=xa(e);return t?dn(t)?L(t):fn().length<C||Sa()?(N(t),L(t)):(Aa(e.type,t),null):F()===`__unbound__`?L(A):null}var Ta=new Set;function Ea(e){Ta.has(e)||(Ta.add(e),console.warn(JSON.stringify({level:`warn`,event:`ws_client.untagged_chat_event`,messageType:e,reason:`chat event carried no sessionId; dropped to protect other tabs`,timestamp:new Date().toISOString()})))}var Da=new Set;function Oa(e,t){Da.has(t)||(Da.add(t),console.warn(JSON.stringify({level:`warn`,event:`ws_client.chat_lane_overflow`,messageType:e,sessionId:t,reason:`no lane for this session and all four lanes are taken; event dropped`,timestamp:new Date().toISOString()})))}var ka=new Set;function Aa(e,t){ka.has(t)||(ka.add(t),console.warn(JSON.stringify({level:`warn`,event:`ws_client.session_lane_overflow`,messageType:e,sessionId:t,reason:`no session lane for this session and all four lanes are taken; token/cost accounting event dropped`,timestamp:new Date().toISOString()})))}var ja=new Set;function Ma(e){ja.has(e)||(ja.add(e),console.warn(JSON.stringify({level:`warn`,event:`ws_client.untagged_guard_event`,messageType:e,reason:`untagged frame passed a session guard while a session was bound; if this event is session-scoped, the server surface forgot to stamp sessionId`,timestamp:new Date().toISOString()})))}function Na(e){let t=_a(e.type,e.payload);t&&(va.getState().pushEvent(t),va.getState().setActive(!0))}function Pa(e,t,n){let r=e.payload??{};for(let[e,n]of Object.entries(t)){let t=r[e];if(!Fa(t,n))return null}if(n)for(let[e,t]of Object.entries(n)){let n=r[e];if(n!=null&&!Fa(n,t))return null}return r}function Fa(e,t){switch(t){case`string`:return typeof e==`string`;case`number`:return typeof e==`number`;case`boolean`:return typeof e==`boolean`;case`object`:return typeof e==`object`&&!!e&&!Array.isArray(e);case`array`:return Array.isArray(e);default:return!1}}function Ia(e){try{return new URL(e).searchParams.get(`token`)}catch{return null}}function La(){if(typeof window>`u`||!window.location)return null;try{let e=window.location.search??``;return new URLSearchParams(e).get(`token`)}catch{return null}}function Ra(e){try{let t=new URL(e);return t.searchParams.delete(`token`),t.toString()}catch{return e}}function za(){if(!(typeof window>`u`||!window.location||!window.history?.replaceState))try{let e=window.location.href;if(!e)return;let t=new URL(e);if(!t.searchParams.has(`token`))return;t.searchParams.delete(`token`),window.history.replaceState(window.history.state,document.title,t.toString())}catch{}}function Ba(){if(typeof document>`u`)return null;let e=document.querySelector(`meta[name="wrongstack-ws-url"]`)?.getAttribute(`content`)?.trim();if(!e)return null;try{let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)return null;let n=La();return n&&!t.searchParams.has(`token`)&&t.searchParams.set(`token`,n),t.toString()}catch{return null}}function Va(){let e=Ba();if(e)return e;if(typeof window>`u`||!window.location?.hostname)return`ws://127.0.0.1:3456`;let t=window.location.protocol===`https:`?`wss`:`ws`,n=window.location.hostname.toLowerCase(),r=window.location.port,i=La(),a=i?`?token=${encodeURIComponent(i)}`:``;return`${t}://${n===`localhost`||n===`127.0.0.1`||n===`[::1]`||n===`::1`?`127.0.0.1`:n}${r?`:${r}`:``}${a}`}function Ha(){if(typeof window>`u`||!window.location?.hostname)return`http://127.0.0.1:3456`;let e=window.location.protocol===`https:`?`https`:`http`,t=window.location.hostname.toLowerCase(),n=window.location.port?`:${window.location.port}`:``;return t===`localhost`||t===`127.0.0.1`||t===`[::1]`||t===`::1`?`${e}://127.0.0.1${n}`:`${e}://${window.location.hostname}${n}`}var Ua=f()(u(e=>({provider:``,model:``,wsUrl:Va(),wsConnected:!1,wsStatus:{state:`connecting`},theme:`system`,palette:`signal`,fonts:te,autoConnect:!0,soundOnComplete:!1,setProvider:t=>e({provider:t}),setModel:t=>e({model:t}),setConfig:t=>e(t),setTheme:t=>e({theme:t}),setPalette:t=>e({palette:t}),setFonts:t=>e({fonts:ne(t)}),setWsConnected:t=>e({wsConnected:t}),setWsStatus:t=>e({wsStatus:t,wsConnected:t.state===`open`}),setSoundOnComplete:t=>e({soundOnComplete:t})}),{name:`wrongstack-config`,partialize:e=>({provider:e.provider,model:e.model,baseUrl:e.baseUrl,theme:e.theme,palette:e.palette,fonts:e.fonts,autoConnect:e.autoConnect,soundOnComplete:e.soundOnComplete}),merge:(e,t)=>{let{apiKey:n,...r}=e??{};return{...t,...r,wsUrl:Va(),wsConnected:!1,wsStatus:{state:`connecting`},palette:an(r.palette)?r.palette:sn(nn,t.palette),fonts:r.fonts===void 0?t.fonts:ne(r.fonts)}}}));export{B as $,Ci as A,k as At,Or as B,T as Bt,Pi as C,sn as Ct,Ei as D,$t as Dt,Ai as E,Bt as Et,kr as F,Qt as Ft,cr as G,Se as Gt,tr as H,we as Ht,_r as I,E as It,$n as J,_t as Jt,or as K,gt as Kt,Er as L,Xt as Lt,si as M,Vt as Mt,Nr as N,Ht as Nt,Ti as O,Jt as Ot,Ar as P,Gt as Pt,Jn as Q,re as Qt,br as R,Zt as Rt,Fi as S,an as St,Mi as T,w as Tt,lr as U,xe as Ut,Dr as V,kt as Vt,sr as W,Ce as Wt,Zn as X,pe as Xt,Qn as Y,oe as Yt,Gn as Z,ae as Zt,Gi as _,tn as _t,xa as a,A as at,Ui as b,cn as bt,wa as c,mn as ct,J as d,L as dt,jn as et,Qi as f,fn as ft,Ki as g,j as gt,X as h,hn as ht,ba as i,Cn as it,di as j,Ut as jt,wi as k,qt as kt,va as l,N as lt,sa as m,R as mt,Ca as n,Un as nt,Na as o,_n as ot,aa as p,P as pt,nr as q,yt as qt,ya as r,Dn as rt,Pa as s,F as st,Ua as t,Wn as tt,_a as u,M as ut,Li as v,rn as vt,Ni as w,en as wt,Ii as x,on as xt,Wi as y,nn as yt,K as z,D as zt};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{Mt as r,dt as i,ft as a,ht as o,lt as s,mt as c,pt as l,ut as u}from"./vendor-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{Mt as r,dt as i,ft as a,ht as o,lt as s,mt as c,pt as l,ut as u}from"./vendor-BfBvt432.js";import{t as d}from"./utils-B21Devim.js";var f=e(t(),1),p=n(),m=s,h=c,g=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(l,{ref:n,className:d(`fixed inset-0 z-50 bg-black/65 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));g.displayName=l.displayName;var _=f.forwardRef(({className:e,children:t,showCloseButton:n=!0,...a},o)=>(0,p.jsxs)(h,{children:[(0,p.jsx)(g,{}),(0,p.jsxs)(i,{ref:o,className:d(`ws-dialog fixed left-[50%] top-[50%] z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-1.5rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] gap-5 overflow-y-auto overscroll-contain rounded-none border border-border bg-card p-5 shadow-2xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 sm:p-6`,e),...a,children:[t,n&&(0,p.jsxs)(u,{className:`absolute right-3 top-3 flex h-8 w-8 items-center justify-center border border-transparent text-muted-foreground ring-offset-background transition-colors hover:border-border hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none`,children:[(0,p.jsx)(r,{className:`h-4 w-4`}),(0,p.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));_.displayName=i.displayName;var v=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex min-w-0 flex-col space-y-2 pr-8 text-left`,e),...t});v.displayName=`DialogHeader`;var y=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex flex-col-reverse gap-2 border-t border-border pt-4 sm:flex-row sm:justify-end`,e),...t});y.displayName=`DialogFooter`;var b=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(o,{ref:n,className:d(`text-lg font-semibold leading-snug text-balance`,e),...t}));b.displayName=o.displayName;var x=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(a,{ref:n,className:d(`text-sm leading-relaxed text-muted-foreground`,e),...t}));x.displayName=a.displayName;export{v as a,y as i,_ as n,b as o,x as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-core-wiHys0m2.js";import{t}from"./utils-
|
|
1
|
+
import{t as e}from"./react-core-wiHys0m2.js";import{t}from"./utils-B21Devim.js";var n=e();function r({icon:e,title:r,description:i,action:a,className:o,panel:s=!0}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 min-w-0 flex-1 items-center justify-center p-4`,s&&`bg-[hsl(var(--surface-2)/0.45)]`,o),children:(0,n.jsxs)(`div`,{className:`flex w-full max-w-md flex-col items-center gap-4 p-5 sm:p-8 text-center text-muted-foreground`,children:[e&&(0,n.jsx)(`span`,{className:`flex h-12 w-12 items-center justify-center border border-primary/20 bg-primary/10 text-primary`,children:e}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`text-base font-semibold text-foreground`,children:r}),i&&(0,n.jsx)(`p`,{className:`mt-2 text-sm leading-relaxed`,children:i})]}),a&&(0,n.jsx)(`button`,{type:`button`,onClick:a.onClick,className:`mt-1 rounded-none border border-border/70 bg-card/70 px-4 py-2 text-sm text-foreground shadow-sm transition-colors hover:bg-accent`,children:a.label})]})})}export{r as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-
|
|
2
|
-
import{t as e}from"./vite-preload-BZ1Pz5am.js";var t=[`ui`,`display`,`reading`,`code`,`editor`,`terminal`],n={reading:`ui`,editor:`code`,terminal:`code`};function r(e){return e in n}var i={ui:[`sans`,`serif`,`mono`],display:[`sans`,`serif`,`mono`],reading:[`sans`,`serif`,`mono`],code:[`mono`],editor:[`mono`],terminal:[`mono`]},a={ui:`--font-sans`,display:`--font-display`,reading:`--font-reading`,code:`--font-mono`,editor:`--font-editor`,terminal:`--font-terminal`},o=[{id:`manrope`,label:`Manrope`,category:`sans`,source:`bundled`,package:`@fontsource-variable/manrope`,stack:`"Manrope Variable", "Manrope", ui-sans-serif, system-ui, sans-serif`},{id:`space-grotesk`,label:`Space Grotesk`,category:`sans`,source:`bundled`,package:`@fontsource-variable/space-grotesk`,stack:`"Space Grotesk Variable", "Space Grotesk", "Manrope Variable", system-ui, sans-serif`},{id:`plex-sans`,label:`IBM Plex Sans`,category:`sans`,source:`bundled`,package:`@fontsource-variable/ibm-plex-sans`,stack:`"IBM Plex Sans Variable", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif`},{id:`inter`,label:`Inter`,category:`sans`,source:`lazy`,package:`@fontsource-variable/inter`,stack:`"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.y),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`geist`,label:`Geist`,category:`sans`,source:`lazy`,package:`@fontsource-variable/geist`,stack:`"Geist Variable", "Geist", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.b),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`dm-sans`,label:`DM Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/dm-sans`,stack:`"DM Sans Variable", "DM Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.T),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`source-sans-3`,label:`Source Sans 3`,category:`sans`,source:`lazy`,package:`@fontsource-variable/source-sans-3`,stack:`"Source Sans 3 Variable", "Source Sans 3", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.o),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`nunito-sans`,label:`Nunito Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/nunito-sans`,stack:`"Nunito Sans Variable", "Nunito Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.p),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`figtree`,label:`Figtree`,category:`sans`,source:`lazy`,package:`@fontsource-variable/figtree`,stack:`"Figtree Variable", "Figtree", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.w),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`plus-jakarta-sans`,label:`Plus Jakarta Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/plus-jakarta-sans`,stack:`"Plus Jakarta Sans Variable", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.u),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`outfit`,label:`Outfit`,category:`sans`,source:`lazy`,package:`@fontsource-variable/outfit`,stack:`"Outfit Variable", "Outfit", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.d),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`onest`,label:`Onest`,category:`sans`,source:`lazy`,package:`@fontsource-variable/onest`,stack:`"Onest Variable", "Onest", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.f),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`lexend`,label:`Lexend`,category:`sans`,source:`lazy`,package:`@fontsource-variable/lexend`,stack:`"Lexend Variable", "Lexend", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e._),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`atkinson-next`,label:`Atkinson Hyperlegible Next`,category:`sans`,source:`lazy`,package:`@fontsource-variable/atkinson-hyperlegible-next`,stack:`"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", Verdana, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.D),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`system-sans`,label:`System UI`,category:`sans`,source:`system`,stack:`system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`},{id:`source-serif-4`,label:`Source Serif 4`,category:`serif`,source:`lazy`,package:`@fontsource-variable/source-serif-4`,stack:`"Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.a),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`literata`,label:`Literata`,category:`serif`,source:`lazy`,package:`@fontsource-variable/literata`,stack:`"Literata Variable", "Literata", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.g),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`plex-serif`,label:`IBM Plex Serif`,category:`serif`,source:`lazy`,package:`@fontsource/ibm-plex-serif`,stack:`"IBM Plex Serif", Georgia, "Times New Roman", serif`,load:()=>Promise.all([e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.R),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.L),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.I),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`fraunces`,label:`Fraunces`,category:`serif`,source:`lazy`,package:`@fontsource-variable/fraunces`,stack:`"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.S),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`system-serif`,label:`Charter / Georgia`,category:`serif`,source:`system`,stack:`"Iowan Old Style", Charter, "Source Serif 4", Georgia, "Times New Roman", serif`},{id:`plex-mono`,label:`IBM Plex Mono`,category:`mono`,source:`bundled`,package:`@fontsource/ibm-plex-mono`,stack:`"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace`},{id:`jetbrains-mono`,label:`JetBrains Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/jetbrains-mono`,stack:`"JetBrains Mono Variable", "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.v),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`fira-code`,label:`Fira Code`,category:`mono`,source:`lazy`,package:`@fontsource-variable/fira-code`,stack:`"Fira Code Variable", "Fira Code", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.C),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`cascadia-code`,label:`Cascadia Code`,category:`mono`,source:`lazy`,package:`@fontsource-variable/cascadia-code`,stack:`"Cascadia Code Variable", "Cascadia Code", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.E),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`geist-mono`,label:`Geist Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/geist-mono`,stack:`"Geist Mono Variable", "Geist Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.x),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`source-code-pro`,label:`Source Code Pro`,category:`mono`,source:`lazy`,package:`@fontsource-variable/source-code-pro`,stack:`"Source Code Pro Variable", "Source Code Pro", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.s),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`roboto-mono`,label:`Roboto Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/roboto-mono`,stack:`"Roboto Mono Variable", "Roboto Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.c),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`victor-mono`,label:`Victor Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/victor-mono`,stack:`"Victor Mono Variable", "Victor Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`commit-mono`,label:`Commit Mono`,category:`mono`,source:`lazy`,package:`@fontsource/commit-mono`,stack:`"Commit Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.V),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.z),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`red-hat-mono`,label:`Red Hat Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/red-hat-mono`,stack:`"Red Hat Mono Variable", "Red Hat Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.l),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`intel-one-mono`,label:`Intel One Mono`,category:`mono`,source:`lazy`,package:`@fontsource/intel-one-mono`,stack:`"Intel One Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.F),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.P),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.N),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`martian-mono`,label:`Martian Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/martian-mono`,stack:`"Martian Mono Variable", "Martian Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.h),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`noto-sans-mono`,label:`Noto Sans Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/noto-sans-mono`,stack:`"Noto Sans Mono Variable", "Noto Sans Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.m),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`iosevka`,label:`Iosevka`,category:`mono`,source:`lazy`,package:`@fontsource/iosevka`,stack:`"Iosevka", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.M),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`ubuntu-mono`,label:`Ubuntu Mono`,category:`mono`,source:`lazy`,package:`@fontsource/ubuntu-mono`,stack:`"Ubuntu Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.k),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.O),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`space-mono`,label:`Space Mono`,category:`mono`,source:`lazy`,package:`@fontsource/space-mono`,stack:`"Space Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.j),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-V3ydTHqN.js`).then(e=>e.A),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`system-mono`,label:`System Mono`,category:`mono`,source:`system`,stack:`ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, "Liberation Mono", monospace`}],s=(e,t)=>({id:e,labelKey:`settings:fonts.presets.${e}.label`,descriptionKey:`settings:fonts.presets.${e}.description`,families:t}),c=[s(`workbench`,{ui:`manrope`,display:`space-grotesk`,code:`plex-mono`}),s(`plex`,{ui:`plex-sans`,display:`plex-sans`,code:`plex-mono`}),s(`modern`,{ui:`inter`,display:`inter`,code:`jetbrains-mono`}),s(`geist`,{ui:`geist`,display:`geist`,code:`geist-mono`}),s(`classic`,{ui:`source-sans-3`,display:`source-serif-4`,code:`source-code-pro`}),s(`editorial`,{ui:`dm-sans`,display:`fraunces`,reading:`literata`,code:`commit-mono`}),s(`readable`,{ui:`atkinson-next`,display:`lexend`,code:`intel-one-mono`}),s(`friendly`,{ui:`nunito-sans`,display:`outfit`,code:`fira-code`}),s(`monospace`,{ui:`jetbrains-mono`,display:`space-mono`,code:`jetbrains-mono`}),s(`system`,{ui:`system-sans`,display:`system-sans`,code:`system-mono`})],l=`workbench`,u={uiScale:{min:.8,max:1.4,step:.05},editorFontSize:{min:10,max:24,step:1},terminalFontSize:{min:10,max:24,step:1},codeLineHeight:{min:1.2,max:2,step:.05},terminalLineHeight:{min:1,max:1.6,step:.05}},d=[{id:`compact`,labelKey:`settings:fonts.sizePresets.compact`,values:{uiScale:.9,editorFontSize:12,terminalFontSize:12,codeLineHeight:1.4,terminalLineHeight:1}},{id:`normal`,labelKey:`settings:fonts.sizePresets.normal`,values:{uiScale:1,editorFontSize:13,terminalFontSize:13,codeLineHeight:1.5,terminalLineHeight:1}},{id:`comfortable`,labelKey:`settings:fonts.sizePresets.comfortable`,values:{uiScale:1.1,editorFontSize:14,terminalFontSize:14,codeLineHeight:1.6,terminalLineHeight:1.1}},{id:`large`,labelKey:`settings:fonts.sizePresets.large`,values:{uiScale:1.25,editorFontSize:16,terminalFontSize:16,codeLineHeight:1.7,terminalLineHeight:1.15}}],f={preset:l,overrides:{},...d[1].values,ligatures:!1},p=Object.keys(u);function m(e){return typeof e==`string`&&t.includes(e)}function h(e){return typeof e==`string`&&c.some(t=>t.id===e)}function g(e){return typeof e==`string`&&o.some(t=>t.id===e)}function _(e){return c.find(t=>t.id===e)??c[0]}function v(e){return o.find(t=>t.id===e)??o[0]}function y(e){return o.filter(t=>i[e].includes(t.category))}function b(e,t){return i[e].includes(v(t).category)}function x(e,t){let n=u[e];if(typeof t!=`number`||!Number.isFinite(t))return f[e];let r=Math.round(t/n.step)*n.step;return Number(Math.min(n.max,Math.max(n.min,r)).toFixed(2))}var S={sans:`ui`,mono:`code`},C={humanist:`atkinson-next`,serif:`system-serif`};function w(e,i){let a=_(e).families,o={};for(let e of t){let t=a[e],s=r(e)?o[n[e]]:void 0;o[e]=i[e]??t??s??a.ui}return o}function T(e){if(!e||typeof e!=`object`)return f;let n=e,r=h(n.preset)?n.preset:l,i={};if(n.overrides&&typeof n.overrides==`object`)for(let[e,t]of Object.entries(n.overrides)){let n=S[e]??e,r=typeof t==`string`?C[t]??t:t;m(n)&&g(r)&&b(n,r)&&(i[n]=r)}let a={};for(let e of t){let t=i[e];t&&w(r,a)[e]!==t&&(a[e]=t)}let o={...f,preset:r,overrides:a,ligatures:typeof n.ligatures==`boolean`?n.ligatures:f.ligatures};for(let e of p)o[e]=x(e,n[e]);return o}function E(e){return w(e?.preset??`workbench`,e?.overrides??{})}function D(e,t){let{[t]:n,...r}=e.overrides;return w(e.preset,r)[t]}function O(e){let n=E(e),r={};for(let e of t)r[e]=v(n[e]).stack;return r}function k(e){return d.find(t=>p.every(n=>t.values[n]===e[n]))?.id??null}function A(e){let t=e??f;return{fontFamily:O(t).editor,fontSize:t.editorFontSize,lineHeight:Math.round(t.editorFontSize*t.codeLineHeight),fontLigatures:t.ligatures}}function j(e){let t=e??f;return{fontFamily:O(t).terminal,fontSize:t.terminalFontSize,lineHeight:t.terminalLineHeight}}function M(e){return`calc(${e}px * var(--ui-font-scale, 1))`}var N=`"liga" 1, "calt" 1`,P=`"liga" 0, "calt" 0`;function F(e,t,n){n===null?e.style.removeProperty(t):e.style.setProperty(t,n)}function I(e,i){let o=E(i),s=E(f);for(let i of t){let t=r(i)?o[n[i]]:s[i];F(e,a[i],o[i]===t?null:v(o[i]).stack)}F(e,`--ui-font-scale`,i.uiScale===f.uiScale?null:String(i.uiScale)),F(e,`--code-line-height`,i.codeLineHeight===f.codeLineHeight?null:String(i.codeLineHeight)),F(e,`--code-font-features`,i.ligatures?N:null)}var L=new Map,R=new Set,z=0;async function B(e){if(typeof document>`u`||!document.fonts?.load)return;let t=e.stack.split(`,`)[0]?.trim();t&&await Promise.all([document.fonts.load(`400 16px ${t}`),document.fonts.load(`700 16px ${t}`)])}function V(e){let t=[];for(let n of new Set(e)){let e=v(n);if(e.source===`system`)continue;let r=L.get(n);r||(r=Promise.resolve().then(()=>e.load?.()).then(()=>B(e)).catch(()=>{}).then(()=>{z+=1;for(let e of R)try{e()}catch{}}),L.set(n,r)),t.push(r)}return Promise.all(t).then(()=>void 0)}function H(e){return R.add(e),()=>{R.delete(e)}}function U(){return z}export{H as C,M as S,V as _,c as a,E as b,d as c,D as d,y as f,r as g,_ as h,n as i,I as l,U as m,N as n,t as o,v as p,f as r,u as s,P as t,A as u,k as v,j as w,O as x,T as y};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-BfBvt432.js","assets/rolldown-runtime-hePW80VL.js","assets/react-core-wiHys0m2.js","assets/xyflow-BqDBClm9.js","assets/xyflow-DLioOiRN.css","assets/markdown-CXRzjX3p.js","assets/vendor-jL-bRT8f.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./vite-preload-BZ1Pz5am.js";var t=[`ui`,`display`,`reading`,`code`,`editor`,`terminal`],n={reading:`ui`,editor:`code`,terminal:`code`};function r(e){return e in n}var i={ui:[`sans`,`serif`,`mono`],display:[`sans`,`serif`,`mono`],reading:[`sans`,`serif`,`mono`],code:[`mono`],editor:[`mono`],terminal:[`mono`]},a={ui:`--font-sans`,display:`--font-display`,reading:`--font-reading`,code:`--font-mono`,editor:`--font-editor`,terminal:`--font-terminal`},o=[{id:`manrope`,label:`Manrope`,category:`sans`,source:`bundled`,package:`@fontsource-variable/manrope`,stack:`"Manrope Variable", "Manrope", ui-sans-serif, system-ui, sans-serif`},{id:`space-grotesk`,label:`Space Grotesk`,category:`sans`,source:`bundled`,package:`@fontsource-variable/space-grotesk`,stack:`"Space Grotesk Variable", "Space Grotesk", "Manrope Variable", system-ui, sans-serif`},{id:`plex-sans`,label:`IBM Plex Sans`,category:`sans`,source:`bundled`,package:`@fontsource-variable/ibm-plex-sans`,stack:`"IBM Plex Sans Variable", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif`},{id:`inter`,label:`Inter`,category:`sans`,source:`lazy`,package:`@fontsource-variable/inter`,stack:`"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.y),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`geist`,label:`Geist`,category:`sans`,source:`lazy`,package:`@fontsource-variable/geist`,stack:`"Geist Variable", "Geist", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.b),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`dm-sans`,label:`DM Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/dm-sans`,stack:`"DM Sans Variable", "DM Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.T),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`source-sans-3`,label:`Source Sans 3`,category:`sans`,source:`lazy`,package:`@fontsource-variable/source-sans-3`,stack:`"Source Sans 3 Variable", "Source Sans 3", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.o),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`nunito-sans`,label:`Nunito Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/nunito-sans`,stack:`"Nunito Sans Variable", "Nunito Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.p),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`figtree`,label:`Figtree`,category:`sans`,source:`lazy`,package:`@fontsource-variable/figtree`,stack:`"Figtree Variable", "Figtree", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.w),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`plus-jakarta-sans`,label:`Plus Jakarta Sans`,category:`sans`,source:`lazy`,package:`@fontsource-variable/plus-jakarta-sans`,stack:`"Plus Jakarta Sans Variable", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.u),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`outfit`,label:`Outfit`,category:`sans`,source:`lazy`,package:`@fontsource-variable/outfit`,stack:`"Outfit Variable", "Outfit", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.d),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`onest`,label:`Onest`,category:`sans`,source:`lazy`,package:`@fontsource-variable/onest`,stack:`"Onest Variable", "Onest", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.f),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`lexend`,label:`Lexend`,category:`sans`,source:`lazy`,package:`@fontsource-variable/lexend`,stack:`"Lexend Variable", "Lexend", ui-sans-serif, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e._),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`atkinson-next`,label:`Atkinson Hyperlegible Next`,category:`sans`,source:`lazy`,package:`@fontsource-variable/atkinson-hyperlegible-next`,stack:`"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", Verdana, system-ui, sans-serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.D),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`system-sans`,label:`System UI`,category:`sans`,source:`system`,stack:`system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`},{id:`source-serif-4`,label:`Source Serif 4`,category:`serif`,source:`lazy`,package:`@fontsource-variable/source-serif-4`,stack:`"Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.a),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`literata`,label:`Literata`,category:`serif`,source:`lazy`,package:`@fontsource-variable/literata`,stack:`"Literata Variable", "Literata", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.g),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`plex-serif`,label:`IBM Plex Serif`,category:`serif`,source:`lazy`,package:`@fontsource/ibm-plex-serif`,stack:`"IBM Plex Serif", Georgia, "Times New Roman", serif`,load:()=>Promise.all([e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.R),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.L),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.I),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`fraunces`,label:`Fraunces`,category:`serif`,source:`lazy`,package:`@fontsource-variable/fraunces`,stack:`"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.S),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`system-serif`,label:`Charter / Georgia`,category:`serif`,source:`system`,stack:`"Iowan Old Style", Charter, "Source Serif 4", Georgia, "Times New Roman", serif`},{id:`plex-mono`,label:`IBM Plex Mono`,category:`mono`,source:`bundled`,package:`@fontsource/ibm-plex-mono`,stack:`"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace`},{id:`jetbrains-mono`,label:`JetBrains Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/jetbrains-mono`,stack:`"JetBrains Mono Variable", "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.v),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`fira-code`,label:`Fira Code`,category:`mono`,source:`lazy`,package:`@fontsource-variable/fira-code`,stack:`"Fira Code Variable", "Fira Code", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.C),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`cascadia-code`,label:`Cascadia Code`,category:`mono`,source:`lazy`,package:`@fontsource-variable/cascadia-code`,stack:`"Cascadia Code Variable", "Cascadia Code", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.E),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`geist-mono`,label:`Geist Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/geist-mono`,stack:`"Geist Mono Variable", "Geist Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.x),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`source-code-pro`,label:`Source Code Pro`,category:`mono`,source:`lazy`,package:`@fontsource-variable/source-code-pro`,stack:`"Source Code Pro Variable", "Source Code Pro", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.s),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`roboto-mono`,label:`Roboto Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/roboto-mono`,stack:`"Roboto Mono Variable", "Roboto Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.c),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`victor-mono`,label:`Victor Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/victor-mono`,stack:`"Victor Mono Variable", "Victor Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`commit-mono`,label:`Commit Mono`,category:`mono`,source:`lazy`,package:`@fontsource/commit-mono`,stack:`"Commit Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.V),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.B),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.z),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`red-hat-mono`,label:`Red Hat Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/red-hat-mono`,stack:`"Red Hat Mono Variable", "Red Hat Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.l),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`intel-one-mono`,label:`Intel One Mono`,category:`mono`,source:`lazy`,package:`@fontsource/intel-one-mono`,stack:`"Intel One Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.F),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.P),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.N),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`martian-mono`,label:`Martian Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/martian-mono`,stack:`"Martian Mono Variable", "Martian Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.h),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`noto-sans-mono`,label:`Noto Sans Mono`,category:`mono`,source:`lazy`,package:`@fontsource-variable/noto-sans-mono`,stack:`"Noto Sans Mono Variable", "Noto Sans Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.m),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`iosevka`,label:`Iosevka`,category:`mono`,source:`lazy`,package:`@fontsource/iosevka`,stack:`"Iosevka", "IBM Plex Mono", ui-monospace, monospace`,load:()=>e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.M),__vite__mapDeps([0,1,2,3,4,5,6]))},{id:`ubuntu-mono`,label:`Ubuntu Mono`,category:`mono`,source:`lazy`,package:`@fontsource/ubuntu-mono`,stack:`"Ubuntu Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.k),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.O),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`space-mono`,label:`Space Mono`,category:`mono`,source:`lazy`,package:`@fontsource/space-mono`,stack:`"Space Mono", "IBM Plex Mono", ui-monospace, monospace`,load:()=>Promise.all([e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.j),__vite__mapDeps([0,1,2,3,4,5,6])),e(()=>import(`./vendor-BfBvt432.js`).then(e=>e.A),__vite__mapDeps([0,1,2,3,4,5,6]))])},{id:`system-mono`,label:`System Mono`,category:`mono`,source:`system`,stack:`ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, "Liberation Mono", monospace`}],s=(e,t)=>({id:e,labelKey:`settings:fonts.presets.${e}.label`,descriptionKey:`settings:fonts.presets.${e}.description`,families:t}),c=[s(`workbench`,{ui:`manrope`,display:`space-grotesk`,code:`plex-mono`}),s(`plex`,{ui:`plex-sans`,display:`plex-sans`,code:`plex-mono`}),s(`modern`,{ui:`inter`,display:`inter`,code:`jetbrains-mono`}),s(`geist`,{ui:`geist`,display:`geist`,code:`geist-mono`}),s(`classic`,{ui:`source-sans-3`,display:`source-serif-4`,code:`source-code-pro`}),s(`editorial`,{ui:`dm-sans`,display:`fraunces`,reading:`literata`,code:`commit-mono`}),s(`readable`,{ui:`atkinson-next`,display:`lexend`,code:`intel-one-mono`}),s(`friendly`,{ui:`nunito-sans`,display:`outfit`,code:`fira-code`}),s(`monospace`,{ui:`jetbrains-mono`,display:`space-mono`,code:`jetbrains-mono`}),s(`system`,{ui:`system-sans`,display:`system-sans`,code:`system-mono`})],l=`workbench`,u={uiScale:{min:.8,max:1.4,step:.05},editorFontSize:{min:10,max:24,step:1},terminalFontSize:{min:10,max:24,step:1},codeLineHeight:{min:1.2,max:2,step:.05},terminalLineHeight:{min:1,max:1.6,step:.05}},d=[{id:`compact`,labelKey:`settings:fonts.sizePresets.compact`,values:{uiScale:.9,editorFontSize:12,terminalFontSize:12,codeLineHeight:1.4,terminalLineHeight:1}},{id:`normal`,labelKey:`settings:fonts.sizePresets.normal`,values:{uiScale:1,editorFontSize:13,terminalFontSize:13,codeLineHeight:1.5,terminalLineHeight:1}},{id:`comfortable`,labelKey:`settings:fonts.sizePresets.comfortable`,values:{uiScale:1.1,editorFontSize:14,terminalFontSize:14,codeLineHeight:1.6,terminalLineHeight:1.1}},{id:`large`,labelKey:`settings:fonts.sizePresets.large`,values:{uiScale:1.25,editorFontSize:16,terminalFontSize:16,codeLineHeight:1.7,terminalLineHeight:1.15}}],f={preset:l,overrides:{},...d[1].values,ligatures:!1},p=Object.keys(u);function m(e){return typeof e==`string`&&t.includes(e)}function h(e){return typeof e==`string`&&c.some(t=>t.id===e)}function g(e){return typeof e==`string`&&o.some(t=>t.id===e)}function _(e){return c.find(t=>t.id===e)??c[0]}function v(e){return o.find(t=>t.id===e)??o[0]}function y(e){return o.filter(t=>i[e].includes(t.category))}function b(e,t){return i[e].includes(v(t).category)}function x(e,t){let n=u[e];if(typeof t!=`number`||!Number.isFinite(t))return f[e];let r=Math.round(t/n.step)*n.step;return Number(Math.min(n.max,Math.max(n.min,r)).toFixed(2))}var S={sans:`ui`,mono:`code`},C={humanist:`atkinson-next`,serif:`system-serif`};function w(e,i){let a=_(e).families,o={};for(let e of t){let t=a[e],s=r(e)?o[n[e]]:void 0;o[e]=i[e]??t??s??a.ui}return o}function T(e){if(!e||typeof e!=`object`)return f;let n=e,r=h(n.preset)?n.preset:l,i={};if(n.overrides&&typeof n.overrides==`object`)for(let[e,t]of Object.entries(n.overrides)){let n=S[e]??e,r=typeof t==`string`?C[t]??t:t;m(n)&&g(r)&&b(n,r)&&(i[n]=r)}let a={};for(let e of t){let t=i[e];t&&w(r,a)[e]!==t&&(a[e]=t)}let o={...f,preset:r,overrides:a,ligatures:typeof n.ligatures==`boolean`?n.ligatures:f.ligatures};for(let e of p)o[e]=x(e,n[e]);return o}function E(e){return w(e?.preset??`workbench`,e?.overrides??{})}function D(e,t){let{[t]:n,...r}=e.overrides;return w(e.preset,r)[t]}function O(e){let n=E(e),r={};for(let e of t)r[e]=v(n[e]).stack;return r}function k(e){return d.find(t=>p.every(n=>t.values[n]===e[n]))?.id??null}function A(e){let t=e??f;return{fontFamily:O(t).editor,fontSize:t.editorFontSize,lineHeight:Math.round(t.editorFontSize*t.codeLineHeight),fontLigatures:t.ligatures}}function j(e){let t=e??f;return{fontFamily:O(t).terminal,fontSize:t.terminalFontSize,lineHeight:t.terminalLineHeight}}function M(e){return`calc(${e}px * var(--ui-font-scale, 1))`}var N=`"liga" 1, "calt" 1`,P=`"liga" 0, "calt" 0`;function F(e,t,n){n===null?e.style.removeProperty(t):e.style.setProperty(t,n)}function I(e,i){let o=E(i),s=E(f);for(let i of t){let t=r(i)?o[n[i]]:s[i];F(e,a[i],o[i]===t?null:v(o[i]).stack)}F(e,`--ui-font-scale`,i.uiScale===f.uiScale?null:String(i.uiScale)),F(e,`--code-line-height`,i.codeLineHeight===f.codeLineHeight?null:String(i.codeLineHeight)),F(e,`--code-font-features`,i.ligatures?N:null)}var L=new Map,R=new Set,z=0;async function B(e){if(typeof document>`u`||!document.fonts?.load)return;let t=e.stack.split(`,`)[0]?.trim();t&&await Promise.all([document.fonts.load(`400 16px ${t}`),document.fonts.load(`700 16px ${t}`)])}function V(e){let t=[];for(let n of new Set(e)){let e=v(n);if(e.source===`system`)continue;let r=L.get(n);r||(r=Promise.resolve().then(()=>e.load?.()).then(()=>B(e)).catch(()=>{}).then(()=>{z+=1;for(let e of R)try{e()}catch{}}),L.set(n,r)),t.push(r)}return Promise.all(t).then(()=>void 0)}function H(e){return R.add(e),()=>{R.delete(e)}}function U(){return z}export{H as C,M as S,V as _,c as a,E as b,d as c,D as d,y as f,r as g,_ as h,n as i,I as l,U as m,N as n,t as o,v as p,f as r,u as s,P as t,A as u,k as v,j as w,O as x,T as y};
|