@wrongstack/webui 0.298.1 → 0.298.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/assets/{AgentRosterView-C26RCdot.js → AgentRosterView-RvxaV08Y.js} +4 -4
  2. package/dist/assets/{AnalyticsDashboard-CEjjV3bX.js → AnalyticsDashboard-irejsLMt.js} +1 -1
  3. package/dist/assets/{AudienceMemoryPanel-CnfZC8x0.js → AudienceMemoryPanel-DDW_WPjf.js} +2 -2
  4. package/dist/assets/{ChangesView-D0BiTbs8.js → ChangesView-Bnd167hf.js} +1 -1
  5. package/dist/assets/{ChronicleDashboard-BZ4XOcvf.js → ChronicleDashboard-DC62FDEt.js} +1 -1
  6. package/dist/assets/CodeEditor-DCWcCQPO.js +1 -0
  7. package/dist/assets/CodeMap-DSqqgBuD.js +1 -0
  8. package/dist/assets/{CronJobsPanel-F6nhZtfg.js → CronJobsPanel-BXujnpGC.js} +1 -1
  9. package/dist/assets/{DeadCodeScanPanel-C9sLNUUc.js → DeadCodeScanPanel-HTbGUTMl.js} +1 -1
  10. package/dist/assets/{DebugDashboard-D8BLcLjI.js → DebugDashboard-B5kJBUv0.js} +1 -1
  11. package/dist/assets/{DesignGalleryView-B8mE5nGy.js → DesignGalleryView-BQ0CZpQm.js} +1 -1
  12. package/dist/assets/GoalView-DvaSR6CO.js +1 -0
  13. package/dist/assets/KanbanView-DpWs_i8T.js +3 -0
  14. package/dist/assets/MailboxDetailView-Dh8ekyMw.js +1 -0
  15. package/dist/assets/MemoryManager-CUAbNwsz.js +1 -0
  16. package/dist/assets/{ModelPicker-CNHhT2SO.js → ModelPicker-BxYMTEEN.js} +1 -1
  17. package/dist/assets/OfficeMapPanel-HgERknuN.js +4 -0
  18. package/dist/assets/{ProcessMonitor-Cc8LsfTh.js → ProcessMonitor-DVUCtVHZ.js} +1 -1
  19. package/dist/assets/{QueuePanel-B0NXFwEt.js → QueuePanel-n9lScdWu.js} +1 -1
  20. package/dist/assets/{RefreshDebugView-DLst_piS.js → RefreshDebugView-eZQ3wdxU.js} +1 -1
  21. package/dist/assets/{SageTabs-NwMcr4Pq.js → SageTabs-B-eQ--Sb.js} +2 -2
  22. package/dist/assets/SddHub-D81poT6w.js +2 -0
  23. package/dist/assets/{SessionsDashboard-C5dXb0iJ.js → SessionsDashboard-CR3NZeHw.js} +1 -1
  24. package/dist/assets/SetupScreen-t6wrhv6l.js +1 -0
  25. package/dist/assets/SkillDetailView-D6TOvMQU.js +3 -0
  26. package/dist/assets/{SpecsView-DhuaZcOl.js → SpecsView-BYiJr__T.js} +1 -1
  27. package/dist/assets/TechStackView-HEMM3PkG.js +1 -0
  28. package/dist/assets/{TerminalPanel-DjruTcb6.js → TerminalPanel-BgMsGfGa.js} +1 -1
  29. package/dist/assets/{Toaster-BmyghnqJ.js → Toaster-EXqX2jqp.js} +1 -1
  30. package/dist/assets/{activity-C34aPcFU.js → activity-BBPMHCAJ.js} +1 -1
  31. package/dist/assets/{activity-CBdzUJQ_.js → activity-BJijwuIr.js} +1 -1
  32. package/dist/assets/{activity-Wr0_Gb8A.js → activity-DReNmuta.js} +1 -1
  33. package/dist/assets/{activity-CLYyxeC6.js → activity-DeEOo2zu.js} +1 -1
  34. package/dist/assets/{activity-Cv_EIWjY.js → activity-Dyh19u3P.js} +1 -1
  35. package/dist/assets/{activity-Bo6DncWg.js → activity-GR8KiHvf.js} +1 -1
  36. package/dist/assets/{activity-kCY0dGRC.js → activity-iuGHFz2B.js} +1 -1
  37. package/dist/assets/button-DwmC7ENW.js +1 -0
  38. package/dist/assets/{chat-store-B2CjP2Zl.js → chat-store-LHzJqRCp.js} +2 -2
  39. package/dist/assets/{codemap-activity-store-Cz0_AHqt.js → codemap-activity-store-B6n7KiS8.js} +1 -1
  40. package/dist/assets/codemap-index-store-oapPwtvI.js +1 -0
  41. package/dist/assets/{dialog-BJef9ZZo.js → dialog-DsCmc6eL.js} +1 -1
  42. package/dist/assets/{empty-state-BGzRrNXI.js → empty-state-02bIS4x7.js} +1 -1
  43. package/dist/assets/{i18n-2wGPPdl_.js → i18n-DxnYsmc-.js} +2 -2
  44. package/dist/assets/index-Bf75VrDE.js +132 -0
  45. package/dist/assets/index-NFp5CXyK.css +1 -0
  46. package/dist/assets/{input-Bd10nfMj.js → input-UhWgodVi.js} +1 -1
  47. package/dist/assets/{mailbox-store-D3omLzBk.js → mailbox-store-xh2Ux-Xs.js} +1 -1
  48. package/dist/assets/{progress-ring-BEULkQ1r.js → progress-ring-C0O73ZjR.js} +1 -1
  49. package/dist/assets/{roster-ws-BmV_3U6w.js → roster-ws-DlQQL7Eh.js} +1 -1
  50. package/dist/assets/{session-store-ZMNU48xK.js → session-store-BE_S1f5v.js} +1 -1
  51. package/dist/assets/settings-B5xal2R3.js +1 -0
  52. package/dist/assets/settings-BHtFy8EG.js +1 -0
  53. package/dist/assets/settings-Bss5hBla.js +1 -0
  54. package/dist/assets/settings-BzrLCVRP.js +1 -0
  55. package/dist/assets/settings-C7RdvmLZ.js +1 -0
  56. package/dist/assets/settings-Dd94HoV6.js +1 -0
  57. package/dist/assets/settings-Dm9THFe8.js +1 -0
  58. package/dist/assets/{shared-CrX8iE-U.js → shared-bBntASiy.js} +1 -1
  59. package/dist/assets/{stores-DyQOSkkD.js → stores-BS-Bdi-5.js} +2 -2
  60. package/dist/assets/{ui-store-di6oY7cy.js → ui-store-C4Ybfoon.js} +1 -1
  61. package/dist/assets/{useWebSocket-BVFPigcY.js → useWebSocket-x8PMoTq8.js} +3 -3
  62. package/dist/assets/{utils-CwJvjOcH.js → utils-_s0GyctV.js} +1 -1
  63. package/dist/assets/{vendor-BTTkQ9Tn.js → vendor-CxV3l5PQ.js} +93 -30
  64. package/dist/assets/{view-navigation-BMRzqGbq.js → view-navigation-DLdE7qHU.js} +1 -1
  65. package/dist/assets/ws-client-Cy3oRAmZ.js +1 -0
  66. package/dist/components/SettingsPanel/ModelCatalogPicker.d.ts +22 -0
  67. package/dist/components/SettingsPanel/ModelListEditor.d.ts +41 -0
  68. package/dist/components/SettingsPanel/ModelSchemaEditor.d.ts +32 -0
  69. package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts +2 -1
  70. package/dist/index.html +22 -22
  71. package/dist/index.js +7991 -6939
  72. package/dist/lib/ws-client.d.ts +6 -1
  73. package/dist/types/client-message.d.ts +19 -0
  74. package/dist/types/system.d.ts +3 -2
  75. package/package.json +8 -8
  76. package/dist/assets/CodeEditor-BlqaT56D.js +0 -1
  77. package/dist/assets/CodeMap-Bj5tjjW5.js +0 -1
  78. package/dist/assets/GoalView-DIx7Zr4a.js +0 -1
  79. package/dist/assets/KanbanView-DshzDwq1.js +0 -3
  80. package/dist/assets/MailboxDetailView-BJXpXjtm.js +0 -1
  81. package/dist/assets/MemoryManager-B-S5oREO.js +0 -1
  82. package/dist/assets/OfficeMapPanel-CBN9uG80.js +0 -4
  83. package/dist/assets/SddHub-CpRHXmjm.js +0 -2
  84. package/dist/assets/SetupScreen-B81fcNgP.js +0 -1
  85. package/dist/assets/SkillDetailView-BTvgE_MD.js +0 -3
  86. package/dist/assets/TechStackView-BXmfl2qY.js +0 -1
  87. package/dist/assets/button-BMECp1cg.js +0 -1
  88. package/dist/assets/codemap-index-store-B-XLZpJu.js +0 -1
  89. package/dist/assets/index-DeA8UyiB.css +0 -1
  90. package/dist/assets/index-x6-rLl5H.js +0 -132
  91. package/dist/assets/settings-BF0lRxlj.js +0 -1
  92. package/dist/assets/settings-CP6cwqHD.js +0 -1
  93. package/dist/assets/settings-D0rWEhMg.js +0 -1
  94. package/dist/assets/settings-DFCaP02p.js +0 -1
  95. package/dist/assets/settings-DHix1ZPL.js +0 -1
  96. package/dist/assets/settings-eEzjNzsC.js +0 -1
  97. package/dist/assets/settings-kp_aIgcX.js +0 -1
  98. package/dist/assets/ws-client-B0-KwuTK.js +0 -1
@@ -0,0 +1 @@
1
+ var e=`Impostazioni`,t=`Configure every aspect of your agent workspace`,n={general:`Generale`,provider:`Provider`,connection:`Connessioni`,agent:`Agente`,execution:`Esecuzione`,fallbacks:`Fallback`,routing:`Routing`,fleet:`Flotta`,integrations:`Integrazioni`,chimera:`Chimera`,context:`Contesto`,logs:`Registri`,security:`Sicurezza`,display:`Visualizzazione`,displayDesc:`Aspetto del workbench, chip di stato, timer di refine e interruttori di iniezione di strumenti/memoria — riflette il SettingsPicker della TUI.`},r={heading:`Modello`,loading:`Caricamento modelli...`,notFound:`Nessun modello trovato per questo provider. Il catalogo potrebbe essere vuoto o ancora in caricamento.`,selectProviderFirst:`Seleziona prima un provider`,context:`{{count}}k contesto`},i={wsUrlLabel:`URL del server WebSocket`,wsUrlPlaceholder:`ws://localhost:3456`,wsUrlHint:`URL del server WebSocket dell'agente. Il server viene eseguito insieme alla CLI.`,startingHeading:`Avviare il server WebSocket`,startingBody:`Per lo sviluppo, esegui ./dev.ps1 dalla root del repo (facoltativamente imposta prima WS_HOST/WS_PORT). Altrimenti avvia la WebUI con la CLI: wstack --webui.`,healthHeading:`Stato connessioni`,healthHint:`Rapporto live su proprietario, storage, coda, watcher e latenza dei servizi.`,healthRefresh:`Aggiorna`,healthLoading:`Controllo dei servizi…`,healthUnknown:`Stato sconosciuto`,healthDisconnected:`Il WebSocket della WebUI è disconnesso.`,healthRestartRequired:`Riavvia il backend una volta per attivare il rapporto connessioni.`,healthOptional:`Su richiesta`,endpointInvalidBadge:`percorso socket troppo lungo`,endpointInvalidRemedy:`Il percorso del socket IPC supera il limite di lunghezza di questa piattaforma, quindi il demone condiviso non può avviarsi. Le query tornano a una modalità locale di processo più lenta. Rimedio: impostare un TMPDIR più corto (es. export TMPDIR=/tmp) e riavviare WrongStack.`,healthCounts:`{{healthy}} sani · {{attention}} attenzione · {{sleeping}} inattivi`,healthOverall:{healthy:`Servizi richiesti sani`,degraded:`Servizio richiesto degradato`,error:`Servizio richiesto non disponibile`},healthStatus:{healthy:`Sano`,degraded:`Degradato`,offline:`Inattivo`,unavailable:`Non disponibile`,error:`Errore`},services:{kanban:{label:`Kanban IPC`},mailbox:{label:`Mailbox IPC`}},serviceActionRestart:`Riavvia {{label}}`},a={savedProviderCount_one:`{{count}} provider`,savedProviderCount_other:`{{count}} provider`,keyCount_one:`{{count}} chiave configurata`,keyCount_other:`{{count}} chiavi configurate`,activeKeyCount_one:`{{count}} chiave attiva`,activeKeyCount_other:`{{count}} chiavi attive`,subscriptionHeading:`Accesso con abbonamento`,apiKeysHeading:`Provider con chiave API`,apiKeysBody:`Scegli un provider dal catalogo e aggiungi una chiave API, oppure gestisci i provider salvati.`,tabCatalog:`Catalogo`,tabSaved:`Salvati ({{count}})`,searchPlaceholder:`Cerca tra {{count}} provider (nome / id / famiglia)…`,loadingCatalog:`Caricamento catalogo...`,noMatch:`Nessun provider corrisponde a "{{query}}".`,configured:`Configurato`,reachable:`Raggiungibile`,envVar:`ENV: {{var}}`,modelCount_one:`{{count}} modello`,modelCount_other:`{{count}} modelli`,keyPlaceholder:`Chiave API {{name}}`,orEnv:`Oppure imposta {{env}} nell'ambiente.`,addApiKey:`Aggiungi chiave API`,manageKeys:`Gestisci le tue chiavi API e le configurazioni dei provider`,addProvider:`Aggiungi provider`,addCustomHeading:`Aggiungi provider personalizzato`,localServers:`Server locali — clicca per precompilare:`,providerIdPlaceholder:`ID provider (es. my-llm-server)`,apiKeyOptionalPlaceholder:`Chiave API (facoltativa)`,noSaved:`Nessun provider salvato`,noSavedHint:`Aggiungi un provider per iniziare`,apiKeysLabel:`Chiavi API`,addKey:`Aggiungi chiave`,noKeys:`Nessuna chiave configurata`,active:`Attiva`,setActive:`Imposta come attiva`,keyLabelPlaceholder:`Etichetta chiave (es. default, production)`,apiKeyPlaceholder:`Chiave API`,saveKey:`Salva chiave`,savedToast:`Chiave salvata per {{name}}`},o={addCustom:`Aggiungi modello personalizzato`,addCustomTitle:`Aggiungi modello personalizzato`,addFromCatalog:`Aggiungi dal catalogo`,catalogSearchPlaceholder:`Cerca nel catalogo models.dev…`,catalogSearchTitle:`Cerca nel catalogo models.dev`,colActions:`Azioni`,colCaps:`Capacità`,colContext:`Contesto`,colCost:`Costo`,colModalities:`Modalità`,colModel:`Modello`,colOutput:`Output`,colSource:`Origine`,editModel:`Modifica modello`,emptyState:`Nessun modello per ora — aggiungi dal catalogo o crea un modello personalizzato.`,fieldContext:`Finestra di contesto`,fieldCostInput:`Costo di input`,fieldCostOutput:`Costo di output`,fieldDescription:`Descrizione`,fieldFamily:`Famiglia`,fieldInputLimit:`Limite di input`,fieldInputModalities:`Modalità di input`,fieldLastUpdated:`Ultimo aggiornamento`,fieldName:`Nome`,fieldOutput:`Output massimo`,fieldOutputModalities:`Modalità di output`,fieldReleaseDate:`Data di rilascio`,modelAdded:`{{model}} aggiunto`,modelRemoved:`{{model}} rimosso`,modelSaved:`{{model}} salvato`,noResults:`Nessun modello trovato`,removeModel:`Rimuovi modello`,sectionCapabilities:`Flag delle capacità`,sectionDates:`Date`,sectionIdentity:`Identità`,sectionLimits:`Limiti`,sectionModalities:`Modalità`,sectionPricing:`Prezzi (per 1M di token, USD)`,tabForm:`Modulo`,tabRawJson:`JSON grezzo`,typeToSearch:`Digita per cercare…`,useModel:`Usa {{model}}`,usingModel:`Utilizzo di {{model}}`,filterPlaceholder:`Filtra modelli…`},s={status:{connected:`Connesso`,connecting:`Connessione`,sleeping:`In pausa`,discovering:`Rilevamento`,error:`Errore`,stopped:`Fermo`,unknown:`Sconosciuto`},disabled:`I server MCP sono disabilitati.`,wakeTitle:`Riattiva server`,sleepTitle:`Metti in pausa`,discoverTitle:`Scopri strumenti`,editTitle:`Modifica`,removeTitle:`Rimuovi`,statusLabel:`Stato:`,enabledLabel:`Attivo:`,yes:`Sì`,no:`No`,descriptionLabel:`Descrizione:`,pidLabel:`PID:`,errorLabel:`Errore:`,toolsLabel:`Strumenti ({{count}}):`,noTools:`Nessuno strumento ancora scoperto`,serverNameRequired:`Il nome del server è obbligatorio`,dialogTitleEdit:`Modifica server MCP`,dialogTitleAdd:`Aggiungi server MCP`,dialogTitleAddCustom:`Aggiungi server MCP personalizzato`,fieldName:`Nome`,fieldNamePlaceholder:`es. github, filesystem`,fieldTransport:`Trasporto`,fieldUrl:`URL`,fieldCommand:`Comando`,fieldCommandPlaceholder:`es. npx`,fieldArgs:`Args`,fieldArgsHint:`(separati da spazi)`,fieldArgsPlaceholder:`es. -y @modelcontextprotocol/server-github`,fieldEnv:`Variabili d'env`,fieldEnvHint:`(KEY=valore, una per riga)`,fieldDescription:`Descrizione`,fieldDescriptionPlaceholder:`Server MCP GitHub per l'accesso al repository`,enableServer:`Abilita server`,lazyConnect:`Connessione pigra`,lazyConnectHint:`(non avviare fino alla prima chiamata; va in pausa quando inattivo)`,saveChanges:`Salva modifiche`,addServer:`Aggiungi server`,requires:`Richiede: {{vars}}`,added:`Aggiunto`,heading:`Server MCP`,summary:`{{connected}} connessi · {{sleeping}} in pausa · {{total}} totali`,addCustom:`Personalizzato`,tabRecommended:`Consigliati`,tabServers:`Server`,tabAddCustom:`Personalizzato`,recommendedBody:`Aggiunta con un clic per i server MCP popolari. Clicca Aggiungi per precompilare la configurazione, poi conferma. I server che richiedono credenziali avranno bisogno delle variabili d'env prima dell'uso.`,loadingServers:`Caricamento server...`,noServers:`Nessun server MCP configurato`,noServersHint:`Passa alla scheda Consigliati per aggiungere server popolari, oppure Personalizzato per i tuoi.`,addCustomBody:`Configura un server MCP personalizzato con trasporto stdio, SSE o HTTP.`,addCustomBodyHint:`Per i server popolari usa invece la scheda Consigliati — è tutto preconfigurato.`,removeConfirmTitle:`Rimuovere il server "{{name}}"?`,removeConfirmBody:`Questo rimuove il server MCP dalla tua configurazione.`,toastAdded:`Server "{{name}}" aggiunto`,toastRemoved:`Server "{{name}}" rimosso`,toastDiscovered:`Scoperti {{count}} strumenti da "{{name}}"`,toastSleeping:`Il server "{{name}}" è in pausa`,toastConnected:`Server "{{name}}" connesso`,toastReconnected:`Server "{{name}}" riconnesso`,toastDisconnected:`Server "{{name}}" disconnesso: {{reason}}`,toastError:`Server "{{name}}" errore: {{error}}`},c={title:`Cancella l'allowlist salvata?`,body_one:`Questo rimuoverà il modello fissato per {{provider}}. Il selettore modelli tornerà al catalogo models.dev.`,body_other:`Questo rimuoverà i {{count}} modelli fissati per {{provider}}. Il selettore modelli tornerà al catalogo models.dev.`,undoHint:`Puoi annullare per 8 secondi dopo la conferma.`,keepTitle:`Mantieni allowlist (Esc)`,clearTitle:`Cancella allowlist (Invio)`,clear:`Cancella allowlist`},l={termsWarning:`Accedi con un abbonamento invece di una chiave API. Usare un abbonamento al di fuori del suo client ufficiale può violare i Termini del provider — il tuo account potrebbe essere rate-limited o bannato. Una chiave API è la via sanzionata per uso programmatico.`,signIn:`Accedi`,waitingBrowser:`In attesa del tuo accesso…`,openSignIn:`Apri pagina di accesso`,pasteLoopbackBusy:`Porta loopback occupata — incolla l'URL di reindirizzamento`,pasteCantReach:`Il browser non raggiunge questo server? Incolla l'URL di reindirizzamento`,submit:`Invia`,enterCode:`Inserisci questo codice nella pagina di verifica:`,openVerification:`Apri pagina di verifica`,waitingCode:`In attesa di autorizzazione…`,exchanging:`Scambio token…`,fetchingModels:`Recupero modelli…`,signedIn:`Accesso effettuato.`,signedInToast:`Accesso effettuato — {{provider}}`,signInFailed:`Accesso fallito`,accountCount_one:`{{count}} account salvato`,accountCount_other:`{{count}} account salvati`,active:`Attivo`,inactive:`Inattivo`,retry:`Riprova`,retryLogin:`Ri-autentica questo account`,newAccount:`Nuovo account`,aliasPlaceholder:`es. {{default}}`},u={showThinkingLabel:`Mostra i registri di ragionamento`,showThinkingHint:`Mostra i blocchi di ragionamento completati nella cronologia della chat.`,groupToolCallsLabel:`Raggruppa le chiamate agli strumenti`,groupToolCallsHint:`Raggruppa le chiamate consecutive agli strumenti in un unico indicatore.`,themeHeading:`Tema`,themeLight:`Chiaro`,themeDark:`Scuro`,themeSystem:`Sistema`,themeSystemHint:`Sistema segue la tua preferenza chiaro/scuro a livello di sistema operativo.`,preferencesHeading:`Preferenze`,compactDensity:`Densità compatta`,compactDensityHint:`Spaziatura più stretta in tutta la chat.`,soundOnComplete:`Suono al completamento`,soundOnCompleteHint:`Riproduci un leggero suono al termine di un'esecuzione.`,titleAnimation:`Animazione del titolo`,titleAnimationHint:`Mostra il titolo animato del terminale nella CLI.`,thinkingWordLabel:`Parola di ragionamento (CLI/TUI)`,thinkingWordHint:`Parola mostrata nel chip di stato della TUI. Una sola parola breve.`,statuslineModeLabel:`Modalità barra di stato (CLI/TUI)`,statuslineModeHint:`Densità della barra di stato della TUI.`,statuslineModeDetailed:`Dettagliata`,statuslineModeMinimum:`Minima`,statuslineModeNoColor:`Senza colore`,animationStyleLabel:`Stile di animazione (CLI/TUI)`,animationStyleHint:`Animazione del chip di lavoro della TUI.`,animationStyleRainbow:`Arcobaleno`,animationStyleWave:`Onda`,animationStylePulse:`Impulso`,animationStyleDots:`Punti`,animationStyleBreathe:`Respiro`,animationStyleCycle:`Ciclo`,languageHeading:`Lingua`,languageLabel:`Lingua dell'interfaccia`,languageHint:`Modifica solo il testo dell'interfaccia. I prompt, le skill e l'output del modello non sono interessati.`,accentCyan:`Ciano`,accentBlue:`Blu`,accentEmerald:`Smeraldo`,accentViolet:`Viola`,accentRose:`Rosa`,accentAmber:`Ambra`},d={autonomyHeading:`Autonomia e Comportamento`,autonomyModeLabel:`Modalità autonomia`,autonomyModeHint:`Quanto indipendentemente l'agent procede tra i turni.`,autonomyModeOff:`Off — controllo manuale completo`,autonomyModeSuggest:`Suggerisci — suggerisce i passaggi successivi`,autonomyModeAuto:`Auto — breve ritardo di conferma`,autonomyModeEternal:`Eterno — autonomo fino al completamento dell'obiettivo`,autonomyModeEternalParallel:`Eterno Parallelo — flotta multi-agente`,autoProceedDelayLabel:`Ritardo auto-procedere`,autoProceedDelayHint:`Millisecondi prima che l'agent proceda automaticamente in modalità Auto. 0 = immediato.`,yoloLabel:`Modalità YOLO`,yoloHint:`Ignora i prompt di conferma degli strumenti — l'agent gira senza chiedere.`,refineHeading:`Affinamento Prompt`,enableRefineLabel:`Abilita affinamento`,enableRefineHint:`Riscrivi i prompt prima dell'invio — istruzioni più chiare, risultati migliori.`,refineDelayLabel:`Ritardo affinamento`,refineDelayHint:`Countdown prima dell'invio automatico del prompt affinato.`,refineLanguageLabel:`Lingua affinamento`,refineLanguageHint:`Mantieni la tua lingua o traduci in inglese per il modello.`,refineLanguageOriginal:`Originale — mantieni la tua lingua`,refineLanguageEnglish:`Inglese — traduci in inglese`,refinerProviderLabel:`Provider di affinamento`,refinerProviderHint:`Id del provider per l'affinamento degli obiettivi. Vuoto = usa il provider della sessione.`,refinerProviderDefault:`Provider della sessione`,refinerModelLabel:`Modello di affinamento`,refinerModelHint:`Id del modello per l'affinamento degli obiettivi. Vuoto = usa il modello della sessione.`,refinerModelDefault:`Modello della sessione`,refinerProfileLabel:`Profilo di fallback per l'affinamento`,refinerProfileHint:`Profilo di fallback con nome per l'affinamento degli obiettivi. Sostituisce provider e modello.`,refinerProfileDefault:`Nessuno — usa provider e modello o i valori predefiniti della sessione`,reasoningHeading:`Ragionamento e Cache`,reasoningModeLabel:`Modalità ragionamento`,reasoningModeHint:`Controlla come il modello usa il pensiero esteso. Auto = default del provider.`,reasoningModeAuto:`Auto — default del provider`,reasoningModeOn:`On — forza pensiero`,reasoningModeOff:`Off — disabilita pensiero`,reasoningEffortLabel:`Sforzo di ragionamento`,reasoningEffortHint:`Quanto compute il modello spende per pensare. Inviato solo se il modello lo supporta.`,reasoningEffortNone:`Nessuno`,reasoningEffortMinimal:`Minimale`,reasoningEffortLow:`Basso`,reasoningEffortMedium:`Medio`,reasoningEffortHigh:`Alto`,reasoningEffortXhigh:`Molto alto`,reasoningEffortMax:`Max`,preserveThinkingLabel:`Preserva pensiero`,preserveThinkingHint:`Mantieni i blocchi di ragionamento tra i turni per la continuità del contesto.`,cacheTtlLabel:`TTL Cache`,cacheTtlHint:`Time-to-live della cache dei prompt. 1h costa di più in scrittura ma risparmia nelle riletture (Anthropic).`,cacheTtlDefault:`Default — default del provider`,cacheTtl5m:`5 minuti`,cacheTtl1h:`1 ora`,capsHint:`Usa wstack models caps per controllare cosa supporta il modello attuale. Le impostazioni non supportate sono omesse silenziosamente per richiesta.`,routingHeading:`Routing dei modelli`,routingRouteKey:`Chiave rotta modello`,routingPhasesGroup:`Fasi`,routingRolesGroup:`Ruoli {{label}}`,routingCustomGroup:`Route personalizzate esistenti`,routingTargetAria:`Destinazione della route del modello`,routingTargetEmpty:`— Cancella route —`,routingTargetProfilesGroup:`Profili di fallback`,routingTargetModelsGroup:`Modelli (provider/modello)`,routingSet:`Imposta`,routingReasoningModeAria:`Modalità ragionamento nuova rotta`,routingReasoningEffortAria:`Sforzo ragionamento nuova rotta`,routingReasoningPreserveAria:`Preservazione ragionamento nuova rotta`,routingReasoningModeFor:`Modalità ragionamento per {{key}}`,routingReasoningEffortFor:`Sforzo ragionamento per {{key}}`,routingReasoningPreserveFor:`Preservazione ragionamento per {{key}}`,noRoutes:`Nessuna rotta di modello ancora.`,leaderModel:`modello leader`},f={heading:`Esecuzione`,maxIterationsLabel:`Iterazioni max per run`,maxIterationsHint:`Limite rigido di turni LLM per agent.run().`,autoProceedMaxIterationsLabel:`Iterazioni max auto-procedere`,autoProceedMaxIterationsHint:`Ferma l'auto-procedere dopo N iterazioni. 0 = illimitato.`,confirmExitLabel:`Conferma prima di uscire`,confirmExitHint:`Primo Ctrl+C annulla il lavoro, secondo conferma l'uscita.`,chimeLabel:`Suono al completamento`,chimeHint:`Campanello del terminale quando un run dell'agent finisce.`,breakerLabel:`Interruttore di processo`,breakerHint:`Blocca bash/exec dopo errori ripetuti; lo scatto avvia il conto alla rovescia kill/reset.`,breakerTimeoutLabel:`Timeout kill/reset dell'interruttore`,breakerTimeoutHint:`Ritardo prima del kill/reset automatico allo scatto. 0 = ripristino manuale.`,availabilityHeading:`Provider/model availability calendar`,availabilityHint:`Prevent autonomous and overnight runs from using selected providers or models during recurring windows.`},p={heading:`Fallback dei modelli`,body:`Quando il modello attivo è rate-limited (429/529), in errore 5xx o bloccato — dopo i suoi retry — l'agent ruota al modello successivo in questa catena. Anche usato come default per i sub-agent worker SDD.`,autoFallbackLabel:`Fallback automatico`,autoFallbackHint:`Quando la catena sopra è vuota, derivane una automaticamente dai tuoi provider con chiave.`,favoritesOnlyLabel:`Solo preferiti`,favoritesOnlyHint:`Quando il fallback automatico deriva una catena, limitala ai tuoi modelli preferiti.`,profilesHeading:`Profili di fallback`,addProfile:`Aggiungi`,noProfiles:`Nessun profilo di fallback con nome ancora.`,createDefault:`Crea default dal modello attivo`,useChain:`Usa catena`,setLeader:`Imposta leader`,profileEmpty:`Il profilo è vuoto.`,favoritesHeading:`Modelli preferiti`,favoritesEmpty:`I preferiti sono mostrati prima e possono vincolare il fallback automatico.`,addModelToProfile:`Aggiungi modello al profilo…`,addFavoriteModel:`Aggiungi modello preferito…`,inactive:`non attivo`},m={heading:`Flotta e Streaming`,fleetChatVerbosityLabel:`Stream eventi flotta`,fleetChatVerbosityHint:`Mostra l'attività live dei sub-agent nel pannello flotta.`,maxConcurrentLabel:`Sub-agent simultanei max`,maxConcurrentHint:`Numero massimo di sub-agent che possono girare simultaneamente.`,nextPredictionLabel:`Predizione prossimo passo`,nextPredictionHint:`Dopo un turno, predici i probabili passi successivi.`},h={hqHeading:`Client HQ`,hqPublishingLabel:`Pubblicazione HQ`,hqPublishingHint:`Pubblica questa sessione WebUI/client su WrongStack HQ. I client della stessa macchina possono auto-scoprire l'auth HQ locale; i client remoti usano URL/token sotto.`,hqUrlLabel:`URL HQ`,hqUrlHint:`Lascia vuoto per auto-scoperta su stessa macchina.`,hqTokenLabel:`Token client HQ`,hqRawContentLabel:`Contenuto HQ grezzo`,hqRawContentHint:`Invia anteprime di contenuto grezze a HQ invece di anteprime censurate.`,telegramHeading:`Notifiche Telegram`,telegramSessionEndLabel:`Fine sessione`,telegramSessionEndHint:`Invia un riepilogo quando una sessione finisce.`,telegramDelegateLabel:`Delegato terminato`,telegramDelegateHint:`Invia una nota umanizzata quando un sub-agent completa.`,telegramLongToolLabel:`Strumenti lunghi`,telegramLongToolHint:`Notifica quando uno strumento supera {{ms}}ms. 0 per disabilitare.`,telegramChangesApply:`Le modifiche si applicano immediatamente.`,telegramNotConfigured:`Telegram non è configurato. Esegui /telegram-setup nella CLI per collegare prima un bot.`,heading:`Integrations`,disabledHint:`Abilita la funzione nella scheda Contesto per usare questa sezione.`},g={chimeraDedicatedHeading:`Chimera — Post-session Code Review`,chimeraDedicatedHint:`Automated code quality review that runs after every agent session. Catches regressions, anti-patterns, and potential bugs.`,chimeraSectionEnabled:`Post-session review (Chimera)`,chimeraSectionEnabledHint:`Run a code review agent after every iteration.`,chimeraProviderLabel:`Chimera provider`,chimeraProviderHint:`Provider for the review agent. Select one from your configured providers.`,chimeraProviderSessionDefault:`Session default`,chimeraModelLabel:`Model`,chimeraModelSessionDefault:`Session default`,chimeraModelHint:`Model for the review agent. Requires a provider first.`,chimeraMaxFilesLabel:`Max files per review`,chimeraMaxFilesHint:`Maximum number of changed files included in a single review call.`,chimeraAutoFixLabel:`Auto-fix mode`,chimeraAutoFixHint:`Whether the review agent should automatically apply fixes for issues it finds.`,chimeraAutoFixOff:`Off — review only`,chimeraAutoFixAsk:`Ask — confirm before applying`,chimeraAutoFixAuto:`Auto — apply without confirmation`,chimeraPickModel:`Pick provider/model for Chimera`,chimeraPickModelHint:`Select a provider and model for post-session code review.`,autoReviewSectionEnabled:`Mid-session review (Auto-Review)`,autoReviewSectionEnabledHint:`Run a review agent mid-session on every file change.`,autoReviewFallbackProfileLabel:`Fallback profile`,autoReviewFallbackProfileHint:`Named fallback profile for the auto-review agent. Overrides provider+model.`,autoReviewFallbackProfileNone:`None — use provider+model or session defaults`,autoReviewFallbackModelsLabel:`Fallback models`,autoReviewFallbackModelsEmpty:`No fallback models configured`,autoReviewFallbackModelsHint:`Models the auto-review fallback chain resolves from the profile or the global chain.`,autoReviewModelLabel:`Model`,autoReviewModelHint:`Model for the auto-review agent. Requires a provider first.`,autoReviewDebounceLabel:`Debounce interval (ms)`,autoReviewDebounceHint:`Minimum gap between review triggers after a file change.`,autoReviewMaxFilesLabel:`Max files per batch`,autoReviewMaxFilesHint:`Files per auto-review call.`,autoReviewMaxConcurrentLabel:`Max concurrent reviews`,autoReviewMaxConcurrentHint:`Parallel review subagent cap.`,autoReviewCascadeLabel:`Cascade on`,autoReviewCascadeHint:`Follow-up agent threshold — spawns security-scanner and bug-hunter above this severity.`,autoReviewCascadeOff:`Off — no cascade`,autoReviewCascadeCritical:`Critical — only critical findings`,autoReviewCascadeHigh:`High — critical or high findings`,autoReviewPickModel:`Pick provider/model for Auto-Review`,autoReviewPickModelHint:`Select a provider and model, or a named fallback profile, for mid-session auto-review.`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`},_={flagsHeading:`Flag di Funzionalità`,mcpLabel:`Server MCP`,mcpHint:`Abilita le integrazioni Model Context Protocol.`,pluginsLabel:`Plugin`,pluginsHint:`Carica ed esegui i plugin installati dall'utente.`,memoryLabel:`Memoria`,memoryHint:`Persisti e richiama fatti tra le sessioni.`,skillsLabel:`Competenze`,skillsHint:`Carica prompt di competenze specifici del dominio.`,modelsRegistryLabel:`Registro modelli`,modelsRegistryHint:`Usa il catalogo models.dev per la scoperta dei provider.`,indexOnStartLabel:`Indicizza all'avvio`,indexOnStartHint:`Costruisci l'indice dei simboli del codebase all'avvio della sessione.`,pluginsPerPluginHeading:`🔌 Per-Plugin Controls`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`,pluginChimera:`Chimera — post-session code review`,pluginSkills:`Skills — skill library & authoring`,pluginPrompts:`Prompts — prompt library & gen`,pluginCostTracker:`Cost Tracker — token & cost tracking`,pluginTelegram:`Telegram — notification bot`,pluginKnowledgeGraph:`Knowledge Graph — persistent facts`,pluginErrorLens:`Error Lens — failure diagnostics`,pluginTodoTracker:`Todo Tracker — persistent todos`,pluginSecretScanner:`Secret Scanner — credential detection`,pluginLintGate:`Lint Gate — lint before iteration`,pluginDiffSummary:`Diff Summary — compact diffs`,pluginDepGuard:`Dep Guard — dependency rules`,pluginTypeGate:`Type Gate — typecheck before iteration`,pluginInjectionShield:`Injection Shield — prompt injection`,pluginPromptFirewall:`Prompt Firewall — input filtering`,pluginTokenBudget:`Token Budget — token limits`,pluginLoopBreaker:`Loop Breaker — runaway detection`,heading:`Contesto e Debug`,autoCompactLabel:`Compatta contesto auto`,autoCompactHint:`Riduci automaticamente la finestra di contesto vicino ai limiti.`,compactorStrategyLabel:`Strategia compattazione`,compactorStrategyHint:`Come il contesto viene compattato quando cresce troppo.`,compactorStrategyHybrid:`Ibrida — regole veloci (predefinito)`,compactorStrategyIntelligent:`Intelligente — sintesi LLM`,compactorStrategySelective:`Selettiva — selezione guidata LLM`,contextModeLabel:`Modalità contesto`,contextModeHint:`Politica della finestra di contesto — bilanciato è il predefinito.`,contextModeBalanced:`Bilanciato — uso normale del contesto`,contextModeFrugal:`Frugale — uso conservativo di token`,contextModeDeep:`Profondo — contesto più ampio per attività complesse`,tokenSavingLabel:`Modalità risparmio token`,tokenSavingHint:`Quanto aggressivamente ridurre l'uso di token.`,tokenSavingOff:`Off — nessun risparmio`,tokenSavingMinimal:`Minimale — ottimizzazione di base`,tokenSavingLight:`Leggero — riduzione moderata`,tokenSavingMedium:`Medio — risparmi significativi`,tokenSavingAggressive:`Aggressivo — compressione massima`},v={logLevelLabel:`Livello di log`,logLevelHint:`Severità minima per il logging lato server.`,logLevelDebug:`Debug — tutto`,logLevelInfo:`Info — flusso normale`,logLevelWarn:`Warn — solo problemi`,logLevelError:`Error — solo fallimenti`,auditLevelLabel:`Livello di audit`,auditLevelHint:`Livello di dettaglio per i log di audit di sessione.`,auditLevelMinimal:`Minimale — solo errori`,auditLevelStandard:`Standard — chiamate strumenti + errori`,auditLevelFull:`Completo — ogni evento (log grandi)`,fsAccessLabel:`Accesso al filesystem`,fsAccessHint:`Ambito degli strumenti file. Si applica dalla prossima sessione.`,fsAccessUnrestricted:`Illimitato — qualsiasi percorso`,fsAccessProject:`Progetto — limitato alla radice del progetto`,debugStreamLabel:`Stream di debug`,debugStreamHint:`Dump esadecimale SSE grezzo su stderr del server per il debug dei provider.`,heading:`Logs & Debug`},y={heading:`Security & Monitoring`,brainHeading:`🧠 Brain — Decision Control`,brainHint:`Decision models, council, escalation and risk ceiling — applied live, saved to the global config.`,shadowHeading:`👁 Shadow Agent — Fleet Monitor`,shadowHint:`The Shadow Agent monitors all fleet agents, tracks their tasks, and detects anomalies.`,toolsHeading:`🔧 Tool Access Control`,toolsHint:`Enable or disable individual tools. Mutating tools are marked in amber.`,breakerHeading:`Process Circuit Breaker`,breakerHint:`Gate bash/exec after repeated failures; trips arm the kill/reset countdown.`},b={switchingTo:`Passaggio a {{provider}} / {{model}}…`,switching:`Cambio del modello…`,switchingToTarget:`Passaggio a {{target}}…`,previousModel:`modello precedente`,modelSwitchedNextRequest:`Modello cambiato: {{from}} → {{to}}. Attivo dalla prossima richiesta LLM.`,modelSwitchedRunActive:`Modello cambiato: {{from}} → {{to}}. Attivo dalla prossima richiesta LLM; l’esecuzione corrente continua senza riavviarsi.`,fallbackExists:`Il profilo di fallback "{{name}}" esiste già`,selectProviderModelFirst:`Seleziona prima un provider e un modello`,defaultProfileCreated:`Profilo di fallback predefinito creato`,profileEmpty:`Il profilo di fallback "{{name}}" è vuoto`,leaderSetFrom:`Leader impostato da {{name}}`,modelSwitchTimeout:`Cambio modello scaduto. Per favore riprova.`},x={workbenchHeading:`Aspetto del workbench`,workbenchHint:`Attiva/disattiva la visibilità delle superfici del workbench nella vista chat.`,showModelReasoningLabel:`Mostra ragionamento del modello`,showModelReasoningHint:`Renderizza i blocchi di ragionamento/thinking del LLM nella cronologia chat (parità TUI).`,showAgentSwarmPanelLabel:`Pannello agent swarm`,showAgentSwarmPanelHint:`Controlla dove viene visualizzato il pannello agent swarm (fleet + coda missioni).`,swarmPanelBottom:`Pannello inferiore`,swarmPanelSidebar:`Barra laterale destra`,swarmPanelOff:`Disattivato`,titleAnimationLabel:`Animazione del titolo`,titleAnimationHint:`Anima il titolo di terminale/tab con lo stato di esecuzione (parità TUI).`,statusChipHeading:`Chip di stato e barra di stato`,statusChipHint:`Stile visivo per la barra di stato TUI/CLI e il chip di lavoro.`,thinkingWordLabel:`Parola di ragionamento`,thinkingWordHint:`Singola parola breve mostrata nel chip di stato TUI mentre l’agente lavora.`,statuslineModeLabel:`Modalità barra di stato`,statuslineModeHint:`Densità della barra di stato TUI.`,statuslineModeMinimum:`Minima`,statuslineModeDetailed:`Dettagliata`,statuslineModeNoColor:`Senza colore`,animationStyleLabel:`Stile di animazione`,animationStyleHint:`Animazione del chip di lavoro TUI.`,animationStyleRainbow:`Arcobaleno`,animationStyleWave:`Onda`,animationStylePulse:`Impulso`,animationStyleDots:`Punti`,animationStyleBreathe:`Respiro`,animationStyleCycle:`Ciclo`,refineHeading:`Conto alla rovescia del refine e diff`,refineHint:`Configura il conto alla rovescia pre-refine e la soglia del piè di pagina del riepilogo multi-diff.`,preRefineSecondsLabel:`Conto alla rovescia pre-refine`,preRefineSecondsHint:`Periodo di grazia prima dell’avvio del refiner (secondi). 0 = salta il conto alla rovescia e raffina subito.`,preRefineSecondsPresets:`Predefiniti: {{presets}} secondi (0 = disattivato).`,multiDiffSummaryLabel:`Riepilogo multi-diff`,multiDiffSummaryHint:`Numero minimo di file prima che il piè di pagina aggregato 'N file · +X -Y' appaia sopra i blocchi per file.`,multiDiffSummaryPresets:`Predefiniti: {{presets}} (0 = disattivato).`,memoryHeading:`Strumento read e iniezione di memoria SAGE`,memoryHint:`Attiva cosa include lo strumento read e quando i blocchi di memoria SAGE compaiono nei risultati degli strumenti.`,readSymbolsLabel:`Leggi simboli`,readSymbolsHint:`Quando attivo, lo strumento read include i simboli dell’indice del codice insieme al contenuto del file.`,showSageMemoryInjectLabel:`Mostra SAGE Memory Inject`,showSageMemoryInjectHint:`Quando attivo, mostra i blocchi di iniezione di memoria SAGE nei risultati degli strumenti.`,sageMemoryInjectThresholdLabel:`Soglia SAGE Memory Inject`,sageMemoryInjectThresholdHint:`Forza minima di relazione richiesta per una memoria SAGE iniettata (0.72–0.95).`,footnote:`Queste impostazioni riflettono il picker /settings della TUI. Gli interruttori si applicano subito; alcuni campi richiedono il riavvio della sessione.`},S={title:e,subtitle:t,tabs:n,model:r,connection:i,provider:a,providerModels:o,mcp:s,allowlist:c,oauth:l,general:u,agent:d,execution:f,fallbacks:p,fleet:m,integrations:h,features:g,context:_,logs:v,security:y,toast:b,display:x};export{d as agent,c as allowlist,i as connection,_ as context,S as default,x as display,f as execution,p as fallbacks,g as features,m as fleet,u as general,h as integrations,v as logs,s as mcp,r as model,l as oauth,a as provider,o as providerModels,y as security,t as subtitle,n as tabs,e as title,b as toast};
@@ -1 +1 @@
1
- import{et as e}from"./vendor-BTTkQ9Tn.js";import{t}from"./utils-CwJvjOcH.js";var n=e(),r=[`fact`,`decision`,`convention`,`preference`,`warning`,`anti_pattern`,`workflow`,`bug_root_cause`,`file_note`,`symbol_note`,`command_note`,`summary`],i=[`active`,`stale`,`superseded`,`contradicted`,`archived`,`deleted`],a=[`active`,`stale`,`superseded`,`contradicted`,`archived`],o=[`project`,`user`,`session`,`file`,`symbol`],s=[`file`,`directory`,`symbol`,`package`,`command`,`test`,`git`,`agent`],c={fact:`Fact`,decision:`Decision`,convention:`Convention`,preference:`Preference`,warning:`Warning`,anti_pattern:`Anti-pattern`,workflow:`Workflow`,bug_root_cause:`Root cause`,file_note:`File note`,symbol_note:`Symbol note`,command_note:`Command note`,summary:`Summary`};function l(e){let t=[];return e.roles?.length&&t.push(`roles: ${e.roles.join(`, `)}`),e.taskTypes?.length&&t.push(`tasks: ${e.taskTypes.join(`, `)}`),e.modes?.length&&t.push(`modes: ${e.modes.join(`, `)}`),t.join(` · `)}function u(){return{text:``,kind:`fact`,status:`active`,scope:`project`,tags:``,importance:.5,confidence:.8,freshness:1,anchors:[],audienceRoles:``,audienceTaskTypes:``,audienceModes:``,supersedes:``,contradicts:``}}function d(e){return{text:e.text,kind:e.kind,status:e.status,scope:e.scope,tags:e.tags.join(`, `),importance:e.importance,confidence:e.confidence,freshness:e.freshness,anchors:e.anchors.map(e=>({...e})),audienceRoles:(e.audience?.roles??[]).join(`, `),audienceTaskTypes:(e.audience?.taskTypes??[]).join(`, `),audienceModes:(e.audience?.modes??[]).join(`, `),supersedes:(e.supersedes??[]).join(`, `),contradicts:(e.contradicts??[]).join(`, `)}}function f(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean))]}function p(e,t=170){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}function m(e){if(!e)return`Never`;let t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t):`Unknown`}function h(e){if(!e)return`never`;let t=Date.parse(e);if(!Number.isFinite(t))return`unknown`;let n=Math.max(0,Math.round((Date.now()-t)/1e3));return n<60?`just now`:n<3600?`${Math.round(n/60)}m ago`:n<86400?`${Math.round(n/3600)}h ago`:n<604800?`${Math.round(n/86400)}d ago`:m(e)}function g(e){return e>=.85?`high`:e>=.55?`medium`:`low`}function _(e){switch(e){case`active`:return`border-success/35 bg-success/10 text-success`;case`stale`:return`border-warning/40 bg-warning/10 text-warning`;case`contradicted`:return`border-destructive/40 bg-destructive/10 text-destructive`;case`superseded`:return`border-warning/30 bg-warning/5 text-warning`;case`archived`:return`border-info/35 bg-info/10 text-info`;case`deleted`:return`border-border bg-muted text-muted-foreground`}}function v(e){return e===`warning`||e===`anti_pattern`||e===`bug_root_cause`?`text-destructive`:e===`decision`||e===`workflow`?`text-warning`:e===`convention`||e===`preference`?`text-success`:e===`file_note`||e===`symbol_note`||e===`command_note`?`text-info`:`text-foreground`}function y(e){return e.path??e.command??e.role??``}function b(e,t){return e.type===`command`?{type:e.type,command:t}:e.type===`agent`?{type:e.type,role:t}:{type:e.type,path:t,...e.type===`symbol`&&e.symbol?{symbol:e.symbol}:{}}}function x(e){let t=[];for(let n of e){let e=y(n).trim(),r=n.symbol?.trim();if(!(!e&&!r)){if(n.type===`command`){t.push({type:`command`,command:e});continue}if(n.type===`agent`){t.push({type:`agent`,role:e.toLowerCase()});continue}t.push({type:n.type,...e?{path:e}:{},...r?{symbol:r}:{}})}}return t}function S({status:e}){return(0,n.jsxs)(`span`,{className:t(`inline-flex items-center gap-1 border px-2 py-0.5 text-[10px] font-bold uppercase`,_(e)),children:[(0,n.jsx)(`span`,{className:`size-1.5 bg-current`,"aria-hidden":`true`}),e]})}function C({label:e,value:r,hint:i,tone:a=`default`}){return(0,n.jsxs)(`div`,{className:`border border-border/70 bg-card/55 px-3 py-2.5 shadow-[inset_0_1px_0_hsl(var(--foreground)/0.035)]`,children:[(0,n.jsx)(`p`,{className:`text-[9px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:e}),(0,n.jsxs)(`div`,{className:`mt-1 flex items-end justify-between gap-2`,children:[(0,n.jsx)(`p`,{className:t(`font-mono text-xl font-bold tabular-nums`,a===`success`?`text-success`:a===`warning`?`text-warning`:a===`info`?`text-info`:`text-foreground`),children:r}),(0,n.jsx)(`p`,{className:`truncate text-[9px] text-muted-foreground`,children:i})]})]})}function w({id:e,label:t,value:r,onChange:i}){return(0,n.jsxs)(`div`,{className:`border border-border/65 bg-background/35 p-3`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,n.jsx)(`label`,{htmlFor:e,className:`text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:t}),(0,n.jsxs)(`span`,{className:`font-mono text-xs font-bold tabular-nums text-info`,children:[Math.round(r*100),`% · `,g(r)]})]}),(0,n.jsx)(`input`,{id:e,type:`range`,min:`0`,max:`1`,step:`0.05`,value:r,onChange:e=>i(Number.parseFloat(e.target.value)),className:`mt-3 h-1.5 w-full cursor-pointer accent-[hsl(var(--info))]`})]})}export{x as _,o as a,b,w as c,d,u as f,p as g,v as h,r as i,S as l,m,a as n,i as o,l as p,c as r,C as s,s as t,y as u,h as v,f as y};
1
+ import{lt as e}from"./vendor-CxV3l5PQ.js";import{t}from"./utils-_s0GyctV.js";var n=e(),r=[`fact`,`decision`,`convention`,`preference`,`warning`,`anti_pattern`,`workflow`,`bug_root_cause`,`file_note`,`symbol_note`,`command_note`,`summary`],i=[`active`,`stale`,`superseded`,`contradicted`,`archived`,`deleted`],a=[`active`,`stale`,`superseded`,`contradicted`,`archived`],o=[`project`,`user`,`session`,`file`,`symbol`],s=[`file`,`directory`,`symbol`,`package`,`command`,`test`,`git`,`agent`],c={fact:`Fact`,decision:`Decision`,convention:`Convention`,preference:`Preference`,warning:`Warning`,anti_pattern:`Anti-pattern`,workflow:`Workflow`,bug_root_cause:`Root cause`,file_note:`File note`,symbol_note:`Symbol note`,command_note:`Command note`,summary:`Summary`};function l(e){let t=[];return e.roles?.length&&t.push(`roles: ${e.roles.join(`, `)}`),e.taskTypes?.length&&t.push(`tasks: ${e.taskTypes.join(`, `)}`),e.modes?.length&&t.push(`modes: ${e.modes.join(`, `)}`),t.join(` · `)}function u(){return{text:``,kind:`fact`,status:`active`,scope:`project`,tags:``,importance:.5,confidence:.8,freshness:1,anchors:[],audienceRoles:``,audienceTaskTypes:``,audienceModes:``,supersedes:``,contradicts:``}}function d(e){return{text:e.text,kind:e.kind,status:e.status,scope:e.scope,tags:e.tags.join(`, `),importance:e.importance,confidence:e.confidence,freshness:e.freshness,anchors:e.anchors.map(e=>({...e})),audienceRoles:(e.audience?.roles??[]).join(`, `),audienceTaskTypes:(e.audience?.taskTypes??[]).join(`, `),audienceModes:(e.audience?.modes??[]).join(`, `),supersedes:(e.supersedes??[]).join(`, `),contradicts:(e.contradicts??[]).join(`, `)}}function f(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean))]}function p(e,t=170){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}function m(e){if(!e)return`Never`;let t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t):`Unknown`}function h(e){if(!e)return`never`;let t=Date.parse(e);if(!Number.isFinite(t))return`unknown`;let n=Math.max(0,Math.round((Date.now()-t)/1e3));return n<60?`just now`:n<3600?`${Math.round(n/60)}m ago`:n<86400?`${Math.round(n/3600)}h ago`:n<604800?`${Math.round(n/86400)}d ago`:m(e)}function g(e){return e>=.85?`high`:e>=.55?`medium`:`low`}function _(e){switch(e){case`active`:return`border-success/35 bg-success/10 text-success`;case`stale`:return`border-warning/40 bg-warning/10 text-warning`;case`contradicted`:return`border-destructive/40 bg-destructive/10 text-destructive`;case`superseded`:return`border-warning/30 bg-warning/5 text-warning`;case`archived`:return`border-info/35 bg-info/10 text-info`;case`deleted`:return`border-border bg-muted text-muted-foreground`}}function v(e){return e===`warning`||e===`anti_pattern`||e===`bug_root_cause`?`text-destructive`:e===`decision`||e===`workflow`?`text-warning`:e===`convention`||e===`preference`?`text-success`:e===`file_note`||e===`symbol_note`||e===`command_note`?`text-info`:`text-foreground`}function y(e){return e.path??e.command??e.role??``}function b(e,t){return e.type===`command`?{type:e.type,command:t}:e.type===`agent`?{type:e.type,role:t}:{type:e.type,path:t,...e.type===`symbol`&&e.symbol?{symbol:e.symbol}:{}}}function x(e){let t=[];for(let n of e){let e=y(n).trim(),r=n.symbol?.trim();if(!(!e&&!r)){if(n.type===`command`){t.push({type:`command`,command:e});continue}if(n.type===`agent`){t.push({type:`agent`,role:e.toLowerCase()});continue}t.push({type:n.type,...e?{path:e}:{},...r?{symbol:r}:{}})}}return t}function S({status:e}){return(0,n.jsxs)(`span`,{className:t(`inline-flex items-center gap-1 border px-2 py-0.5 text-[10px] font-bold uppercase`,_(e)),children:[(0,n.jsx)(`span`,{className:`size-1.5 bg-current`,"aria-hidden":`true`}),e]})}function C({label:e,value:r,hint:i,tone:a=`default`}){return(0,n.jsxs)(`div`,{className:`border border-border/70 bg-card/55 px-3 py-2.5 shadow-[inset_0_1px_0_hsl(var(--foreground)/0.035)]`,children:[(0,n.jsx)(`p`,{className:`text-[9px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:e}),(0,n.jsxs)(`div`,{className:`mt-1 flex items-end justify-between gap-2`,children:[(0,n.jsx)(`p`,{className:t(`font-mono text-xl font-bold tabular-nums`,a===`success`?`text-success`:a===`warning`?`text-warning`:a===`info`?`text-info`:`text-foreground`),children:r}),(0,n.jsx)(`p`,{className:`truncate text-[9px] text-muted-foreground`,children:i})]})]})}function w({id:e,label:t,value:r,onChange:i}){return(0,n.jsxs)(`div`,{className:`border border-border/65 bg-background/35 p-3`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,n.jsx)(`label`,{htmlFor:e,className:`text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:t}),(0,n.jsxs)(`span`,{className:`font-mono text-xs font-bold tabular-nums text-info`,children:[Math.round(r*100),`% · `,g(r)]})]}),(0,n.jsx)(`input`,{id:e,type:`range`,min:`0`,max:`1`,step:`0.05`,value:r,onChange:e=>i(Number.parseFloat(e.target.value)),className:`mt-3 h-1.5 w-full cursor-pointer accent-[hsl(var(--info))]`})]})}export{x as _,o as a,b,w as c,d,u as f,p as g,v as h,r as i,S as l,m,a as n,i as o,l as p,c as r,C as s,s as t,y as u,h as v,f as y};
@@ -1,7 +1,7 @@
1
- import{i as e}from"./chat-store-B2CjP2Zl.js";import{_a as t,va as n}from"./vendor-BTTkQ9Tn.js";import"./ui-store-di6oY7cy.js";import{r,t as i}from"./ws-client-B0-KwuTK.js";import"./session-store-ZMNU48xK.js";import"./codemap-activity-store-Cz0_AHqt.js";import"./mailbox-store-D3omLzBk.js";var a=n()(t(e=>({provider:``,model:``,wsUrl:r(),wsConnected:!1,wsStatus:{state:`connecting`},theme:`system`,autoConnect:!0,soundOnComplete:!1,setProvider:t=>e({provider:t}),setModel:t=>e({model:t}),setConfig:t=>e(t),setTheme:t=>e({theme: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,autoConnect:e.autoConnect,soundOnComplete:e.soundOnComplete}),merge:(e,t)=>{let{apiKey:n,...i}=e??{};return{...t,...i,wsUrl:r(),wsConnected:!1,wsStatus:{state:`connecting`}}}}));function o(e,t){return t>=100?`danger`:`warning`}function s(e,t){switch(e){case`budget.threshold_reached`:{let e=t,n=e.limit>0?Math.round(e.used/e.limit*100):0;return`${e.subagentId} [${e.kind}] ${n}% (${e.used}/${e.limit})`}case`budget.decision`:{let e=t;return`${e.subagentId} [${e.kind}] → ${e.decision}`}case`consensus.vote_initiated`:{let e=t;return`Vote: "${e.title}" — ${e.eligible.length} voters`}case`consensus.vote_cast`:{let e=t;return`${e.voterId} voted ${e.value}`}case`consensus.vote_resolved`:{let e=t;return`${e.result} — ✅${e.approveCount} ❌${e.rejectCount}`}case`task.pending`:return`Task queued: "${t.description.slice(0,60)}"`;case`task.started`:{let e=t;return`${e.subagentId} started ${e.taskId}`}case`task.completed`:{let e=t;return`Task ${e.taskId} ${e.status} (${e.durationMs}ms)`}case`task.failed`:{let e=t;return`Task ${e.taskId} failed: ${e.error.slice(0,60)}`}case`subagent.budget_extended`:{let e=t;return`${e.subagentId} [${e.kind}] extended → ${e.extendedTo}ms`}default:return e}}var c=200,l=50,u=300,d=200,f=100;function p(e,t,n){if(!(e.size<=t)){if(n)for(let[r,i]of e){if(e.size<=t)break;n(i)&&e.delete(r)}for(let n of e.keys()){if(e.size<=t)break;e.delete(n)}}}var ee=n()(e=>({coordinatorStatus:`idle`,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now(),setCoordinatorStatus:(t,n)=>e(e=>({coordinatorStatus:t,coordinatorMode:n,lastUpdated:Date.now()})),updateCoordinatorStats:t=>e(e=>{let n=new Map(e.subagents);for(let e of t.subagentStatuses??[]){let t=n.get(e.id);n.set(e.id,{id:e.id,name:e.name,role:t?.role??`agent`,status:e.status,currentTask:e.currentTask,budgetLimits:t?.budgetLimits,budgetUsage:t?.budgetUsage,lastSeen:t?.lastSeen??Date.now()})}return p(n,d,e=>e.status===`stopped`),{subagents:n,taskCounts:{pending:t.pending,running:t.inFlight,completed:t.completed,failed:0},lastUpdated:Date.now()}}),updateSubagentBudget:(t,n)=>e(e=>{let r=new Map(e.subagents),i=r.get(t);return r.set(t,{id:t,name:i?.name??t,role:i?.role??`agent`,status:i?.status??`idle`,...i,...n,lastSeen:Date.now()}),p(r,d,e=>e.status===`stopped`),{subagents:r,lastUpdated:Date.now()}}),pushEvent:(t,n,r,i,a)=>e(e=>{let o=n.kind??t,l=(t.includes(`budget`)||t.includes(`threshold`))&&typeof n.limit==`number`&&n.limit>0?Math.round(n.used/n.limit*100):void 0,u=l===void 0?t.includes(`consensus.vote_resolved`)?`info`:t.includes(`consensus.vote_initiated`)?`warning`:`info`:l>=100?`danger`:l>=85?`warning`:`info`;return{events:[{id:`${r}-${t}`,ts:r,type:t,subagentId:i,taskId:a,payload:n,kind:o,level:u,message:s(t,n)},...e.events].slice(0,c),lastUpdated:Date.now()}}),pushConsensusVote:(t,n,r)=>e(e=>{let i=new Map(e.consensusVotes);return i.set(t,{changeId:t,title:n,status:`pending`,eligible:r,votes:[],approveCount:0,rejectCount:0,abstainCount:0,expiresAt:Date.now()+300*1e3}),p(i,f,e=>e.status!==`pending`),{consensusVotes:i,lastUpdated:Date.now()}}),recordConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);if(!o)return{};let s={...o,votes:[...o.votes.filter(e=>e.agentId!==n),{agentId:n,agentName:r,value:i,votedAt:Date.now()}],approveCount:i===`approve`?o.approveCount+1:o.approveCount,rejectCount:i===`reject`?o.rejectCount+1:o.rejectCount,abstainCount:i===`abstain`?o.abstainCount+1:o.abstainCount};return a.set(t,s),{consensusVotes:a,lastUpdated:Date.now()}}),resolveConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);return o?(a.set(t,{...o,status:n,approveCount:r,rejectCount:i,resolvedAt:Date.now()}),{consensusVotes:a,lastUpdated:Date.now()}):{}}),pushTaskPending:(t,n,r)=>e(e=>{let i=new Map(e.tasks);return i.set(t,{id:t,description:n,status:`pending`,priority:r,queuedAt:Date.now()}),p(i,u,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,pending:e.taskCounts.pending+1},lastUpdated:Date.now()}}),startTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i?r.set(t,{...i,status:`running`,subagentId:n,startedAt:Date.now()}):r.set(t,{id:t,description:``,status:`running`,subagentId:n,startedAt:Date.now()}),{tasks:r,taskCounts:{...e.taskCounts,pending:Math.max(0,e.taskCounts.pending-1),running:e.taskCounts.running+1},lastUpdated:Date.now()}}),completeTask:(t,n,r)=>e(e=>{let i=new Map(e.tasks),a=i.get(t);return a&&i.set(t,{...a,status:n,completedAt:Date.now(),durationMs:r}),p(i,u,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),completed:n===`completed`?e.taskCounts.completed+1:e.taskCounts.completed,failed:n===`failed`?e.taskCounts.failed+1:e.taskCounts.failed},lastUpdated:Date.now()}}),failTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i&&r.set(t,{...i,status:`failed`,error:n,completedAt:Date.now()}),p(r,u,e=>e.status===`completed`||e.status===`failed`),{tasks:r,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),failed:e.taskCounts.failed+1},lastUpdated:Date.now()}}),recordBudgetDecision:(t,n,r,i)=>e(e=>{let a=new Map;for(let t of e.budgetAlerts){let e=`${t.subagentId}:${t.kind}`;a.has(e)||a.set(e,t)}let o=`${t}:${n}`,s=a.get(o);return s&&a.set(o,{...s,decision:r,newLimit:i,level:r===`extend`?`warning`:`danger`}),{budgetAlerts:Array.from(a.values()),lastUpdated:Date.now()}}),recordBudgetAlert:(t,n,r,i)=>e(e=>{let a=`${Date.now()}-${t}-${n}`,s=i>0?Math.round(r/i*100):0;return{budgetAlerts:[{id:a,ts:Date.now(),subagentId:t,kind:n,level:o(n,s),used:r,limit:i,pct:s},...e.budgetAlerts].slice(0,l),lastUpdated:Date.now()}}),recordBudgetExtended:(t,n,r)=>e(e=>{let i=new Map(e.subagents),a=i.get(t);if(a?.budgetLimits){let e={...a.budgetLimits};n===`timeout`&&r&&(e.timeoutMs=r),n===`iterations`&&(e.maxIterations=r),n===`tool_calls`&&(e.maxToolCalls=r),i.set(t,{...a,budgetLimits:e,lastSeen:Date.now()})}return{subagents:i,lastUpdated:Date.now()}}),clear:()=>e({coordinatorStatus:`idle`,coordinatorMode:void 0,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now()})})),m=n()(e=>({snapshot:null,lastFiredAt:{},revision:0,setSnapshot:t=>e(e=>({snapshot:t,revision:e.revision+1})),recordFired:(t,n)=>e(e=>({lastFiredAt:{...e.lastFiredAt,[t]:n},revision:e.revision+1})),clear:()=>e({snapshot:null,lastFiredAt:{},revision:0})}));function h(){return`ref_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function g(e){switch(e.split(`.`).pop()?.toLowerCase()??``){case`ts`:case`tsx`:return`typescript`;case`js`:case`jsx`:return`javascript`;case`json`:return`json`;case`md`:case`mdx`:return`markdown`;case`css`:return`css`;case`scss`:return`scss`;case`html`:case`htm`:return`html`;case`py`:return`python`;case`rs`:return`rust`;case`go`:return`go`;case`rb`:return`ruby`;case`java`:return`java`;case`c`:return`c`;case`cpp`:case`hpp`:return`cpp`;case`h`:return`c`;case`sh`:case`bash`:return`bash`;case`sql`:return`sql`;case`yaml`:case`yml`:return`yaml`;case`toml`:return`toml`;default:return``}}function _(e,t=20,n=2e3){let r=e.split(`
1
+ import{i as e}from"./chat-store-LHzJqRCp.js";import{Aa as t,ka as n}from"./vendor-CxV3l5PQ.js";import"./ui-store-C4Ybfoon.js";import{r,t as i}from"./ws-client-Cy3oRAmZ.js";import"./session-store-BE_S1f5v.js";import"./codemap-activity-store-B6n7KiS8.js";import"./mailbox-store-xh2Ux-Xs.js";var a=t()(n(e=>({provider:``,model:``,wsUrl:r(),wsConnected:!1,wsStatus:{state:`connecting`},theme:`system`,autoConnect:!0,soundOnComplete:!1,setProvider:t=>e({provider:t}),setModel:t=>e({model:t}),setConfig:t=>e(t),setTheme:t=>e({theme: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,autoConnect:e.autoConnect,soundOnComplete:e.soundOnComplete}),merge:(e,t)=>{let{apiKey:n,...i}=e??{};return{...t,...i,wsUrl:r(),wsConnected:!1,wsStatus:{state:`connecting`}}}}));function o(e,t){return t>=100?`danger`:`warning`}function s(e,t){switch(e){case`budget.threshold_reached`:{let e=t,n=e.limit>0?Math.round(e.used/e.limit*100):0;return`${e.subagentId} [${e.kind}] ${n}% (${e.used}/${e.limit})`}case`budget.decision`:{let e=t;return`${e.subagentId} [${e.kind}] → ${e.decision}`}case`consensus.vote_initiated`:{let e=t;return`Vote: "${e.title}" — ${e.eligible.length} voters`}case`consensus.vote_cast`:{let e=t;return`${e.voterId} voted ${e.value}`}case`consensus.vote_resolved`:{let e=t;return`${e.result} — ✅${e.approveCount} ❌${e.rejectCount}`}case`task.pending`:return`Task queued: "${t.description.slice(0,60)}"`;case`task.started`:{let e=t;return`${e.subagentId} started ${e.taskId}`}case`task.completed`:{let e=t;return`Task ${e.taskId} ${e.status} (${e.durationMs}ms)`}case`task.failed`:{let e=t;return`Task ${e.taskId} failed: ${e.error.slice(0,60)}`}case`subagent.budget_extended`:{let e=t;return`${e.subagentId} [${e.kind}] extended → ${e.extendedTo}ms`}default:return e}}var c=200,l=50,u=300,d=200,f=100;function p(e,t,n){if(!(e.size<=t)){if(n)for(let[r,i]of e){if(e.size<=t)break;n(i)&&e.delete(r)}for(let n of e.keys()){if(e.size<=t)break;e.delete(n)}}}var ee=t()(e=>({coordinatorStatus:`idle`,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now(),setCoordinatorStatus:(t,n)=>e(e=>({coordinatorStatus:t,coordinatorMode:n,lastUpdated:Date.now()})),updateCoordinatorStats:t=>e(e=>{let n=new Map(e.subagents);for(let e of t.subagentStatuses??[]){let t=n.get(e.id);n.set(e.id,{id:e.id,name:e.name,role:t?.role??`agent`,status:e.status,currentTask:e.currentTask,budgetLimits:t?.budgetLimits,budgetUsage:t?.budgetUsage,lastSeen:t?.lastSeen??Date.now()})}return p(n,d,e=>e.status===`stopped`),{subagents:n,taskCounts:{pending:t.pending,running:t.inFlight,completed:t.completed,failed:0},lastUpdated:Date.now()}}),updateSubagentBudget:(t,n)=>e(e=>{let r=new Map(e.subagents),i=r.get(t);return r.set(t,{id:t,name:i?.name??t,role:i?.role??`agent`,status:i?.status??`idle`,...i,...n,lastSeen:Date.now()}),p(r,d,e=>e.status===`stopped`),{subagents:r,lastUpdated:Date.now()}}),pushEvent:(t,n,r,i,a)=>e(e=>{let o=n.kind??t,l=(t.includes(`budget`)||t.includes(`threshold`))&&typeof n.limit==`number`&&n.limit>0?Math.round(n.used/n.limit*100):void 0,u=l===void 0?t.includes(`consensus.vote_resolved`)?`info`:t.includes(`consensus.vote_initiated`)?`warning`:`info`:l>=100?`danger`:l>=85?`warning`:`info`;return{events:[{id:`${r}-${t}`,ts:r,type:t,subagentId:i,taskId:a,payload:n,kind:o,level:u,message:s(t,n)},...e.events].slice(0,c),lastUpdated:Date.now()}}),pushConsensusVote:(t,n,r)=>e(e=>{let i=new Map(e.consensusVotes);return i.set(t,{changeId:t,title:n,status:`pending`,eligible:r,votes:[],approveCount:0,rejectCount:0,abstainCount:0,expiresAt:Date.now()+300*1e3}),p(i,f,e=>e.status!==`pending`),{consensusVotes:i,lastUpdated:Date.now()}}),recordConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);if(!o)return{};let s={...o,votes:[...o.votes.filter(e=>e.agentId!==n),{agentId:n,agentName:r,value:i,votedAt:Date.now()}],approveCount:i===`approve`?o.approveCount+1:o.approveCount,rejectCount:i===`reject`?o.rejectCount+1:o.rejectCount,abstainCount:i===`abstain`?o.abstainCount+1:o.abstainCount};return a.set(t,s),{consensusVotes:a,lastUpdated:Date.now()}}),resolveConsensusVote:(t,n,r,i)=>e(e=>{let a=new Map(e.consensusVotes),o=a.get(t);return o?(a.set(t,{...o,status:n,approveCount:r,rejectCount:i,resolvedAt:Date.now()}),{consensusVotes:a,lastUpdated:Date.now()}):{}}),pushTaskPending:(t,n,r)=>e(e=>{let i=new Map(e.tasks);return i.set(t,{id:t,description:n,status:`pending`,priority:r,queuedAt:Date.now()}),p(i,u,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,pending:e.taskCounts.pending+1},lastUpdated:Date.now()}}),startTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i?r.set(t,{...i,status:`running`,subagentId:n,startedAt:Date.now()}):r.set(t,{id:t,description:``,status:`running`,subagentId:n,startedAt:Date.now()}),{tasks:r,taskCounts:{...e.taskCounts,pending:Math.max(0,e.taskCounts.pending-1),running:e.taskCounts.running+1},lastUpdated:Date.now()}}),completeTask:(t,n,r)=>e(e=>{let i=new Map(e.tasks),a=i.get(t);return a&&i.set(t,{...a,status:n,completedAt:Date.now(),durationMs:r}),p(i,u,e=>e.status===`completed`||e.status===`failed`),{tasks:i,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),completed:n===`completed`?e.taskCounts.completed+1:e.taskCounts.completed,failed:n===`failed`?e.taskCounts.failed+1:e.taskCounts.failed},lastUpdated:Date.now()}}),failTask:(t,n)=>e(e=>{let r=new Map(e.tasks),i=r.get(t);return i&&r.set(t,{...i,status:`failed`,error:n,completedAt:Date.now()}),p(r,u,e=>e.status===`completed`||e.status===`failed`),{tasks:r,taskCounts:{...e.taskCounts,running:Math.max(0,e.taskCounts.running-1),failed:e.taskCounts.failed+1},lastUpdated:Date.now()}}),recordBudgetDecision:(t,n,r,i)=>e(e=>{let a=new Map;for(let t of e.budgetAlerts){let e=`${t.subagentId}:${t.kind}`;a.has(e)||a.set(e,t)}let o=`${t}:${n}`,s=a.get(o);return s&&a.set(o,{...s,decision:r,newLimit:i,level:r===`extend`?`warning`:`danger`}),{budgetAlerts:Array.from(a.values()),lastUpdated:Date.now()}}),recordBudgetAlert:(t,n,r,i)=>e(e=>{let a=`${Date.now()}-${t}-${n}`,s=i>0?Math.round(r/i*100):0;return{budgetAlerts:[{id:a,ts:Date.now(),subagentId:t,kind:n,level:o(n,s),used:r,limit:i,pct:s},...e.budgetAlerts].slice(0,l),lastUpdated:Date.now()}}),recordBudgetExtended:(t,n,r)=>e(e=>{let i=new Map(e.subagents),a=i.get(t);if(a?.budgetLimits){let e={...a.budgetLimits};n===`timeout`&&r&&(e.timeoutMs=r),n===`iterations`&&(e.maxIterations=r),n===`tool_calls`&&(e.maxToolCalls=r),i.set(t,{...a,budgetLimits:e,lastSeen:Date.now()})}return{subagents:i,lastUpdated:Date.now()}}),clear:()=>e({coordinatorStatus:`idle`,coordinatorMode:void 0,subagents:new Map,events:[],consensusVotes:new Map,tasks:new Map,taskCounts:{pending:0,running:0,completed:0,failed:0},budgetAlerts:[],lastUpdated:Date.now()})})),m=t()(e=>({snapshot:null,lastFiredAt:{},revision:0,setSnapshot:t=>e(e=>({snapshot:t,revision:e.revision+1})),recordFired:(t,n)=>e(e=>({lastFiredAt:{...e.lastFiredAt,[t]:n},revision:e.revision+1})),clear:()=>e({snapshot:null,lastFiredAt:{},revision:0})}));function h(){return`ref_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function g(e){switch(e.split(`.`).pop()?.toLowerCase()??``){case`ts`:case`tsx`:return`typescript`;case`js`:case`jsx`:return`javascript`;case`json`:return`json`;case`md`:case`mdx`:return`markdown`;case`css`:return`css`;case`scss`:return`scss`;case`html`:case`htm`:return`html`;case`py`:return`python`;case`rs`:return`rust`;case`go`:return`go`;case`rb`:return`ruby`;case`java`:return`java`;case`c`:return`c`;case`cpp`:case`hpp`:return`cpp`;case`h`:return`c`;case`sh`:case`bash`:return`bash`;case`sql`:return`sql`;case`yaml`:case`yml`:return`yaml`;case`toml`:return`toml`;default:return``}}function _(e,t=20,n=2e3){let r=e.split(`
2
2
  `),i=!1,a=e;return r.length>t&&(a=r.slice(0,t).join(`
3
3
  `),i=!0),a.length>n&&(a=a.slice(0,n),i=!0),i&&(a=a.replace(/\s+$/,``)+`
4
4
  …`),{text:a,truncated:i}}function te(e){return e.length===0?``:[`[File reference contract]`,`Before answering or modifying anything related to these references, use the available file-reading tools to read each complete project file:`,...e.map(e=>`- ${JSON.stringify(e)}`),`If a read is paginated or chunked, continue on the same path until EOF. Do not treat an inline preview as the complete file.`].join(`
5
5
  `)}function ne(e,t){if(e.length===0)return``;let n=[],r=new Set;for(let i of e){if(i.kind===`file`){let e=t?.[i.path];if(e){let t=g(i.path),a=t?`\`\`\`${t}`:"```",o=_(e),s=o.truncated?`preview; complete read required`:`entire file`;n.push(`${a}\n// ${i.path} (${s})\n${o.text}\n\`\`\``),o.truncated&&r.add(i.path)}else n.push(`@${i.path}`),r.add(i.path);continue}let e=g(i.path),a=e?`\`\`\`${e}`:"```",o=`// ${i.path}:${i.startLine}-${i.endLine}`,s=_(i.kind===`snippet`?i.content:i.preview);n.push(`${a}\n${o}\n${s.text}\n\`\`\``),s.truncated&&r.add(i.path)}let i=te([...r]);return[...n,i].filter(Boolean).join(`
6
6
 
7
- `)}var re=n()((e,t)=>({refs:[],addRef:n=>{let r=t();if(n.kind===`file`&&r.refs.find(e=>e.kind===`file`&&e.path===n.path))return;let i={...n,id:h()};e({refs:[...r.refs,i]})},removeRef:t=>{e(e=>({refs:e.refs.filter(e=>e.id!==t)}))},clearRefs:()=>e({refs:[]})})),ie=n()((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,setTree:(t,n)=>e({projectRoot:t,tree:n,treeLoading:!1,error:null}),openFile:(n,r)=>{let i=t();if(i.openFiles.find(e=>e.path===n)){e({openFiles:i.openFiles.map(e=>e.path===n?{...e,content:r,dirty:!1,savedContent:r}:e),activeFilePath:n});return}e({openFiles:[...i.openFiles,{path:n,content:r,dirty:!1,savedContent:r}],activeFilePath:n})},closeFile:n=>{let r=t(),i=r.openFiles.findIndex(e=>e.path===n);if(i===-1)return;let a=[...r.openFiles];a.splice(i,1);let o=r.activeFilePath;r.activeFilePath===n&&(o=a.length===0?null:i<a.length?a[i].path:a[a.length-1].path),e({openFiles:a,activeFilePath:o})},setActiveFile:t=>e({activeFilePath:t}),updateContent:(t,n)=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e)}))},markSaved:t=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))},setTreeLoading:t=>e({treeLoading:t}),setError:t=>e({error:t})}));function v(e){return e===`running`}function y(e,t){let n=+!v(e.status),r=+!v(t.status);return n===r?e.startedAt-t.startedAt:n-r}function ae(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 oe=85,se=70;function b(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0;return{clamped:t,severity:t>=oe?`high`:t>=se?`medium`:`low`}}function x(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 ce(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 S(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 le(e,t=Date.now()){let{clamped:n,severity:r}=b(e.ctxPct);return{ctxClamped:n,ctxSeverity:r,elapsed:!Number.isFinite(e.startedAt)||e.startedAt<=0?`—`:S(e.status===`running`?t-e.startedAt:(e.completedAt??t)-e.startedAt),cost:ce(e.costUsd),iterationCount:e.iteration,toolCount:e.toolCalls,tokensIn:x(e.tokensIn),tokensOut:x(e.tokensOut)}}var C=12,ue=20,de=500,w=[];function T(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(C).fill(0)}}var E=0;function D(){return`tl_${Date.now()}_${++E}`}function O(e,t){return[t,...e].slice(0,ue)}function k(e){switch(e){case`text`:case`thinking`:case`tool_use`:case`tool_result`:case`error`:case`status`:case`system`:return e;default:return`status`}}function A(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 j(e,t){let n=e[e.length-1];return n&&A(n,t)?[...e.slice(0,-1),{...n,content:`${n.content}${t.content}`,ts:t.ts}].slice(-1e3):[...e,t].slice(-1e3)}function M(e){return[e[0]+1,...e.slice(0,C-1)]}function N(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}var P=n()((t,n)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map,pushAgentTimelineEntry:e=>t(t=>{let n={id:`agent_tl_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,...e,kind:k(e.kind)},r=new Map(t.agentTranscripts);return r.set(n.subagentId,j(r.get(n.subagentId)??[],n)),{agentTimeline:[n,...t.agentTimeline].slice(0,de),agentTranscripts:r}}),clear:()=>t({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map}),getAgentsBySession:e=>{let t=[];for(let r of n().agents.values())r.sessionId===e&&t.push(r);return t},getAgentTranscript:e=>n().agentTranscripts.get(e)??w,clearFinishedAgents:()=>t(e=>{let t=new Map(e.agents),n=new Set;for(let[e,r]of t)r.status!==`running`&&(t.delete(e),n.add(e));let r=new Map(e.agentTranscripts);for(let e of n)r.delete(e);return{agents:t,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>!n.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!n.has(e.agentId)),leaderId:e.leaderId&&n.has(e.leaderId)?void 0:e.leaderId}}),applyEvent:n=>t(t=>{let r=new Map(t.agents),i=new Map(t.agentTranscripts),a=t.eventTimeline,o=t.leaderId,s=t.fleetTokensIn,c=t.fleetTokensOut;if(n.kind===`session_stopped`&&n.sessionId){let e=new Set;for(let[t,a]of r)a.sessionId===n.sessionId&&(r.delete(t),i.delete(t),e.add(t));return{agents:r,agentTranscripts:i,agentTimeline:t.agentTimeline.filter(t=>!e.has(t.subagentId)),leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0}}if(n.kind===`removed`&&n.subagentId)return r.delete(n.subagentId),i.delete(n.subagentId),{agents:r,agentTranscripts:i,agentTimeline:t.agentTimeline.filter(e=>e.subagentId!==n.subagentId),eventTimeline:t.eventTimeline.filter(e=>e.agentId!==n.subagentId),leaderId:t.leaderId===n.subagentId?void 0:t.leaderId};if(n.kind===`leader_updated`&&n.subagentId){let e=t.leaderId;if(e&&e!==n.subagentId){let t=r.get(e);t&&r.set(e,{...t,isLeader:!1})}o=n.subagentId;let i=r.get(n.subagentId)??T(n.subagentId,n.name,n.sessionId);return r.set(n.subagentId,{...i,isLeader:!0,name:n.name?.trim()||i.name}),a=O(a,{id:D(),kind:`leader_updated`,agentId:n.subagentId,agentName:n.name??o,timestamp:Date.now(),message:`${n.name??n.subagentId} became leader`}),{agents:r,leaderId:o,eventTimeline:a}}if(!n.subagentId)return t;let l=r.get(n.subagentId)??T(n.subagentId,n.name,n.sessionId),u={...l},d=Date.now();switch(n.kind){case`spawned`:u.name=n.name?.trim()||u.name,u.provider=n.provider??u.provider,u.model=n.model??u.model,u.description=n.description??u.description,u.taskId=n.taskId??u.taskId,u.sessionId=n.sessionId??u.sessionId,u.status=`running`,u.sparklineBins=Array(C).fill(0),a=O(a,{id:D(),kind:`spawned`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} spawned`});break;case`task_started`:u.description=n.description??u.description,u.taskId=n.taskId??u.taskId,u.status=`running`,a=O(a,{id:D(),kind:`task_started`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} started: ${n.description??`new task`}`});break;case`tool_executed`:{let e=typeof n.ok!=`boolean`||n.ok,t=typeof n.durationMs==`number`?n.durationMs:0;u.lastTool=n.toolName??u.lastTool,u.toolCalls+=1,u.toolLog=[{name:n.toolName??`unknown`,ok:e,durationMs:t,at:d},...u.toolLog].slice(0,50),u.sparklineBins=M(u.sparklineBins),a=O(a,{id:D(),kind:`tool_executed`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ${e?`✓`:`✗`} ${n.toolName??`tool`}`,value:t});break}case`iteration_summary`:u.iteration=n.iteration??u.iteration,typeof n.toolCalls==`number`&&(u.toolCalls=n.toolCalls),typeof n.costUsd==`number`&&(u.costUsd=n.costUsd),u.currentTool=n.currentTool??u.currentTool,typeof n.partialText==`string`&&n.partialText&&(u.partialText=n.partialText),u.sparklineBins=M(u.sparklineBins),a=O(a,{id:D(),kind:`iteration_summary`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} iter ${n.iteration??u.iteration} · ${n.currentTool?`${n.currentTool}`:``}`,value:n.costUsd});break;case`budget_warning`:{let e=n.budgetKind??`budget`,t=typeof n.used==`number`?n.used:0,r=typeof n.limit==`number`?n.limit:0;u.budgetWarning={kind:e,used:t,limit:r},a=O(a,{id:D(),kind:`budget_warning`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} hit ${e} budget ${t}/${r}`,value:t});break}case`budget_extended`:u.extensions=n.totalExtensions??u.extensions+1,u.budgetWarning=void 0,a=O(a,{id:D(),kind:`budget_extended`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} extended budget ⚡×${u.extensions}`});break;case`ctx_pct`:u.ctxPct=N(Math.round(Math.max(0,n.load??0)*100)),u.ctxTokens=n.tokens??u.ctxTokens,u.maxContext=n.maxContext??u.maxContext,u.ctxPct>=80&&!u.budgetWarning&&(u.budgetWarning=u.ctxPct>=100?{kind:`hard`,used:u.ctxPct,limit:100}:{kind:`soft`,used:u.ctxPct,limit:100}),typeof n.costUsd==`number`&&(u.costUsd=n.costUsd),typeof n.tokensIn==`number`&&(u.tokensIn=n.tokensIn,s=s-(l.tokensIn??0)+n.tokensIn),typeof n.tokensOut==`number`&&(u.tokensOut=n.tokensOut,c=c-(l.tokensOut??0)+n.tokensOut),a=O(a,{id:D(),kind:`ctx_pct`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ctx ${u.ctxPct}%`,value:u.ctxPct});break;case`task_completed`:{u.status=n.status===`success`?`completed`:n.status??`completed`,typeof n.iterations==`number`&&(u.iteration=n.iterations),typeof n.toolCalls==`number`&&(u.toolCalls=n.toolCalls),u.error=n.error,u.currentTool=void 0,u.completedAt=d,u.failureReason=n.failureReason??u.failureReason,typeof n.finalText==`string`&&n.finalText&&(u.finalText=e(n.finalText));let t=n.status===`success`?`✓ completed`:n.status===`failed`?`✗ failed${n.failureReason?` (${n.failureReason})`:``}`:n.status===`timeout`?`⏱ timeout${n.failureReason?` (${n.failureReason})`:``}`:`stopped`;a=O(a,{id:D(),kind:`task_completed`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ${t}`,value:u.costUsd});break}}return r.set(n.subagentId,u),{agents:r,leaderId:o,fleetTokensIn:s,fleetTokensOut:c,eventTimeline:a}})})),F=e=>{let t=0,n=0,r=0,i=0;for(let a of e.agents.values())a.status===`running`?t++:a.status===`completed`?n++:(a.status===`failed`||a.status===`timeout`)&&r++,Number.isFinite(a.costUsd)&&a.costUsd>0&&(i+=a.costUsd);return{running:t,completed:n,failed:r,total:e.agents.size,totalCost:i,tokensIn:e.fleetTokensIn,tokensOut:e.fleetTokensOut,concurrency:e.fleetConcurrency,concurrencyMax:e.fleetConcurrencyMax}},I=e=>{let t=Array.from(e.agents.values()),n=e.leaderId;return t.sort((e,t)=>e===t||e.id===t.id?0:e.id===n?-1:t.id===n?1:y(e,t)),t},L=e=>e.leaderId?e.agents.get(e.leaderId)?.name:void 0,R=n()(e=>({files:[],error:null,loadingList:!1,selectedPath:null,diff:null,loadingDiff:!1,setFiles:(t,n)=>e({files:t,error:n,loadingList:!1}),setListLoading:t=>e({loadingList:t}),select:t=>e({selectedPath:t,diff:null,loadingDiff:!!t}),setDiff:t=>e({diff:t,loadingDiff:!1}),setDiffLoading:t=>e({loadingDiff:t}),clear:()=>e({files:[],error:null,selectedPath:null,diff:null,loadingDiff:!1})})),z=n()(e=>({info:null,setInfo:t=>e({info:t}),clear:()=>e({info:null})})),B=n()((e,t)=>({result:null,loading:!1,currentSeq:0,setResult:t=>e(e=>t.reqSeq===e.currentSeq?{result:t,loading:!1}:{}),setLoading:()=>e({loading:!0,result:null}),clear:()=>e({result:null,loading:!1}),nextSeq:()=>{let n=t().currentSeq+1;return e({currentSeq:n}),n}})),V=n()(e=>({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,goal:null,status:`idle`,multiBoard:!1,lastEvent:null,lastError:null,graphs:[],progress:null,setState:t=>e(e=>({phases:t.phases??e.phases,activePhaseId:t.activePhaseId===void 0?e.activePhaseId:t.activePhaseId,overallPercent:t.overallPercent??e.overallPercent,autonomous:t.autonomous??e.autonomous,title:t.title===void 0?e.title:t.title,goal:t.goal===void 0?e.goal:t.goal,status:t.status??e.status,multiBoard:t.multiBoard??e.multiBoard,lastEvent:t.lastEvent===void 0?e.lastEvent:t.lastEvent,lastError:t.lastError===void 0?e.lastError:t.lastError,graphs:t.graphs??e.graphs,progress:t.progress===void 0?e.progress:t.progress})),clear:()=>e({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,goal:null,status:`idle`,multiBoard:!1,lastEvent:null,lastError:null,graphs:[],progress:null}),hydrateFromServer:e=>{e({type:`goal.list`}),e({type:`goal.state`})}}));function H(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(typeof t.iteration!=`number`||!Number.isFinite(t.iteration)||t.task!==void 0&&typeof t.task!=`string`||t.status!==void 0&&typeof t.status!=`string`||t.progress!==void 0&&(typeof t.progress!=`number`||!Number.isFinite(t.progress))||t.progressNote!==void 0&&typeof t.progressNote!=`string`||t.timestamp!==void 0&&typeof t.timestamp!=`string`)}function fe(e){return!e||typeof e.goal!=`string`||!e.goal.trim()?null:{goal:e.goal,refinedGoal:typeof e.refinedGoal==`string`?e.refinedGoal:void 0,goalState:[`active`,`paused`,`completed`,`failed`,`abandoned`].includes(e.goalState)?e.goalState:`active`,iterations:typeof e.iterations==`number`?e.iterations:0,progress:typeof e.progress==`number`?e.progress:0,progressNote:typeof e.progressNote==`string`?e.progressNote:void 0,progressTrend:e.progressTrend===`accelerating`?`up`:e.progressTrend===`stalling`?`down`:e.progressTrend===`steady`?`stable`:void 0,deliverables:Array.isArray(e.deliverables)?e.deliverables.map((e,t)=>typeof e==`string`?{id:`d${t}`,text:e,status:/^\[[x✓]\]|✅|\(done\)/i.test(e)?`done`:`pending`}:e):void 0,journal:Array.isArray(e.journal)?e.journal.filter(H):void 0,lastTask:typeof e.lastTask==`string`?e.lastTask:void 0,lastStatus:typeof e.lastStatus==`string`?e.lastStatus:void 0}}var pe=n()(e=>({goal:null,setGoal:t=>e({goal:fe(t)}),clear:()=>e({goal:null}),appendJournalEntry:t=>e(e=>e.goal?{goal:{...e.goal,iterations:Math.max(e.goal.iterations,t.iteration),lastTask:t.task??e.goal.lastTask,lastStatus:t.status??e.goal.lastStatus,journal:[t,...e.goal.journal??[]].slice(0,200)}}:e),refresh:()=>{try{i()?.send?.({type:`goal-state.get`})}catch{}}})),me=n()(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}})})),clearHistory:()=>e({entries:[]})})),he=n()((e,t)=>({boards:[],boardTotal:0,activeBoardTotal:0,orphanedBoardTotal:0,activeBoardId:null,activeBoard:null,loading:!1,error:null,queueHealth:null,supervisorSnapshot:null,verificationActivity:{},setLoading:t=>e({loading:t}),setActiveBoardId:t=>e({activeBoardId:t,queueHealth:null,supervisorSnapshot:null}),setError:t=>e({error:t}),setQueueHealth:t=>e({queueHealth:t}),handleResult:(n,r)=>{if(!r.success){e({loading:!1,error:r.error??`Kanban request failed`});return}let i=r.data;if((n===`kanban.supervisor.status`||n===`kanban.supervisor.audit`)&&i){e({supervisorSnapshot:i,loading:!1,error:null});return}if(n===`kanban.health`&&r.data){e({queueHealth:r.data,loading:!1,error:null});return}if(n===`kanban.list`){let t=_e(i)?i:null,n=t?t.items:Array.isArray(i)?i:[];e({boards:n,boardTotal:t?.total??n.length,activeBoardTotal:t?.activeTotal??n.filter(e=>K(e)).length,orphanedBoardTotal:t?.orphanedTotal??n.filter(e=>!K(e)).length,loading:!1,error:null});return}if(n===`kanban.delete`){let n=t().activeBoardId,r=i,a=r?.removed===!0,o=r?.boardId??n;e(e=>({boards:a?e.boards.filter(e=>e.id!==o):e.boards,activeBoardId:a&&e.activeBoardId===o?null:e.activeBoardId,activeBoard:a&&e.activeBoard?.id===o?null:e.activeBoard,loading:!1,error:null}));return}if(n===`kanban.task.remove`){let t=i;e(e=>{let n=U(t?.board)?t.board:null;if(n&&e.activeBoardId===n.id)return{boards:J(e.boards,q(n)),activeBoard:n,loading:!1,error:null};let r=t?.boardId,i=t?.taskId,a=t?.removed===!0&&i&&e.activeBoard&&(!r||e.activeBoard.id===r)?{...e.activeBoard,tasks:e.activeBoard.tasks.filter(e=>e.id!==i)}:e.activeBoard;return{activeBoard:a,boards:a?J(e.boards,q(a)):e.boards,loading:!1,error:null}});return}if(n===`kanban.column.remove`){let t=i;if(U(t?.board)){let n=t.board;e(e=>({boards:J(e.boards,q(n)),activeBoard:e.activeBoardId===n.id?n:e.activeBoard,loading:!1,error:null}));return}}if(n===`kanban.task.verification_started`){let t=i;if(t?.boardId&&t.taskId){let n=`${t.boardId}:${t.taskId}`;e(e=>({verificationActivity:{...e.verificationActivity,[n]:{startedAt:Date.now()}},loading:!1,error:null}))}return}if(n===`kanban.task.verification_completed`&&G(i)){let t=`${i.boardId}:${i.task.id}`;e(e=>{let n={...e.verificationActivity};if(delete n[t],e.activeBoard&&e.activeBoard.id===i.boardId){let t=Y(e.activeBoard,i.task);return{verificationActivity:n,boards:J(e.boards,q(t)),activeBoard:t,loading:!1,error:null}}return{verificationActivity:n,loading:!1,error:null}});return}if(ge(i)){let t=i.board;e(e=>({boards:J(e.boards,q(t)),activeBoard:e.activeBoardId===t.id?t:e.activeBoard,loading:!1,error:null}));return}if(G(i)){e(e=>{if(e.activeBoard&&e.activeBoard.id===i.boardId){let t=Y(e.activeBoard,i.task);return{boards:J(e.boards,q(t)),activeBoard:t,loading:!1,error:null}}return{loading:!1,error:null}});return}if(U(i)){let t=q(i);if(n===`kanban.get`){e(e=>({boards:J(e.boards,t),activeBoard:e.activeBoardId===i.id?i:e.activeBoard,loading:!1,error:null}));return}e(e=>({boards:J(e.boards,t),activeBoardId:i.id,activeBoard:i,loading:!1,error:null}));return}if(W(i)){e(e=>({...e.activeBoard?(()=>{let t=Y(e.activeBoard,i);return{activeBoard:t,boards:J(e.boards,q(t))}})():{activeBoard:e.activeBoard},loading:!1,error:null}));return}if(Array.isArray(i)&&i.every(ve)){e(e=>({...e.activeBoard?(()=>{let t={...e.activeBoard,columns:i};return{activeBoard:t,boards:J(e.boards,q(t))}})():{activeBoard:e.activeBoard},loading:!1,error:null}));return}e({loading:!1,error:null})}}));function U(e){return!!e&&typeof e==`object`&&Array.isArray(e.columns)&&Array.isArray(e.tasks)}function W(e){return!!e&&typeof e==`object`&&typeof e.title==`string`}function G(e){return!!e&&typeof e==`object`&&typeof e.boardId==`string`&&W(e.task)}function ge(e){return!!e&&typeof e==`object`&&U(e.board)}function _e(e){return!!e&&typeof e==`object`&&Array.isArray(e.items)&&typeof e.total==`number`}function K(e){return e.presence?.some(e=>e.active)===!0}function ve(e){return!!e&&typeof e==`object`&&typeof e.id==`string`}function q(e){return{id:e.id,title:e.title,description:e.description,tags:e.tags,presence:e.presence,createdAt:e.createdAt,updatedAt:e.updatedAt,columnCount:e.columns.length,taskCount:e.tasks.length,completedTaskCount:e.tasks.filter(e=>e.status===`completed`).length}}function J(e,t){return[t,...e.filter(e=>e.id!==t.id)].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))}function Y(e,t){let n=e.tasks.some(e=>e.id===t.id)?e.tasks.map(e=>e.id===t.id?t:e):[...e.tasks,t];return{...e,tasks:n}}function ye(e){switch(e){case`tui`:return`tui`;case`cli`:case`repl`:return`repl`;case`webui`:return`webui`;default:return`webui`}}function be(e){let t={tui:0,webui:0,repl:0},n=0,r=0,i={toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0};for(let a of e){t[ye(a.clientType)]+=1;for(let e of a.agents)n+=1,(e.status===`running`||e.status===`streaming`)&&(r+=1),i.toolCalls+=e.toolCalls??0,i.costUsd+=e.costUsd??0,i.tokensIn+=e.tokensIn??0,i.tokensOut+=e.tokensOut??0}return{clientCounts:t,totalAgents:n,activeAgents:r,aggregate:i}}function xe(e){if(e!==void 0)return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Se(e){return e.map(e=>({...e,agents:e.agents.map(e=>({...e,ctxPct:xe(e.ctxPct)}))}))}var X=0,Z=n()(e=>({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now(),setClientCounts:t=>e({clientCounts:t,lastUpdated:Date.now()}),setLiveSessions:t=>{let n=Se(t),r=Z.getState().liveSessions;if(r.length===n.length){let e=!0;for(let t=0;t<n.length;t++){let i=n[t],a=r[t];if(i.sessionId!==a.sessionId||i.status!==a.status||i.agentCount!==a.agentCount||i.startedAt!==a.startedAt||i.lastHeartbeatAt!==a.lastHeartbeatAt){e=!1;break}let o=i.agents??[],s=a.agents??[];if(o.length!==s.length){e=!1;break}for(let t=0;t<o.length;t++)if(o[t].id!==s[t].id||o[t].name!==s[t].name||o[t].status!==s[t].status||o[t].currentTool!==s[t].currentTool||o[t].iterations!==s[t].iterations||o[t].toolCalls!==s[t].toolCalls||o[t].ctxPct!==s[t].ctxPct||o[t].recentTools?.[0]?.id!==s[t].recentTools?.[0]?.id||o[t].recentMail?.[0]?.id!==s[t].recentMail?.[0]?.id||o[t].activity?.reads!==s[t].activity?.reads||o[t].activity?.writes!==s[t].activity?.writes||o[t].activity?.edits!==s[t].activity?.edits||o[t].activity?.terminalCalls!==s[t].activity?.terminalCalls||o[t].activity?.mailReceived!==s[t].activity?.mailReceived||o[t].activity?.mailSent!==s[t].activity?.mailSent||o[t].activity?.linesAdded!==s[t].activity?.linesAdded||o[t].activity?.linesRemoved!==s[t].activity?.linesRemoved){e=!1;break}if(!e)break}if(e)return}e({liveSessions:n,...be(n),lastUpdated:Date.now()})},addMailActivity:t=>e(e=>({mailActivity:[{...t,seq:t.seq??++X},...e.mailActivity].slice(0,50),lastUpdated:Date.now()})),setMailStats:(t,n,r)=>e({totalMessages:t,openMessages:n,unreadMessages:r,lastUpdated:Date.now()}),setAgentStats:(t,n)=>e({totalAgents:t,activeAgents:n,lastUpdated:Date.now()}),setCurrentSession:t=>e({currentSession:{...Z.getState().currentSession,...t},lastUpdated:Date.now()}),clear:()=>e({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now()})})),Ce=n()(t(e=>({viewMode:`office`,showHud:!0,showLegend:!0,showMinimap:!0,showControls:!0,animateEdges:!0,showFeed:!0,background:`dots`,setViewMode:t=>e({viewMode:t}),setShowHud:t=>e({showHud:t}),setShowLegend:t=>e({showLegend:t}),setShowMinimap:t=>e({showMinimap:t}),setShowControls:t=>e({showControls:t}),setAnimateEdges:t=>e({animateEdges:t}),setShowFeed:t=>e({showFeed:t}),setBackground:t=>e({background:t})}),{name:`wrongstack-officemap`})),Q=e=>`${e.providerId}\u0000${e.model}`,we=n(e=>({entries:{},summary:null,loading:!1,error:null,update:t=>e(e=>{let n={...e.entries},r=Q(t);return t.state===`healthy`?delete n[r]:n[r]={...n[r],...t},{entries:n}}),hydrate:t=>e({entries:Object.fromEntries(t.filter(e=>e.state!==`healthy`).map(e=>[Q(e),e]))}),applySnapshot:t=>{let n=t.statuses;if(!Array.isArray(n)){e({error:`Invalid snapshot from server`,loading:!1});return}let r={};for(let e of n){if(!e||typeof e!=`object`)continue;let t=e,n=typeof t.providerId==`string`?t.providerId:``,i=typeof t.model==`string`?t.model:``;if(!n||!i)continue;let a=t.state;a!==`healthy`&&a!==`degraded`&&a!==`blocked`||(r[`${n}\u0000${i}`]={providerId:n,model:i,state:a,reason:(typeof t.lastErrorKind==`string`?t.lastErrorKind:``)||a,updatedAt:typeof t.lastFailureAt==`number`?t.lastFailureAt:Date.now(),...typeof t.stateExpiresAt==`number`?{stateExpiresAt:t.stateExpiresAt}:{},...typeof t.consecutiveFailures==`number`?{consecutiveFailures:t.consecutiveFailures}:{},...typeof t.totalFailures==`number`?{totalFailures:t.totalFailures}:{},...typeof t.rateLimitHits==`number`?{rateLimitHits:t.rateLimitHits}:{},...typeof t.lastErrorMessage==`string`?{lastErrorMessage:t.lastErrorMessage}:{},...typeof t.lastErrorKind==`string`?{lastErrorKind:t.lastErrorKind}:{},...typeof t.lastErrorStatus==`number`?{lastErrorStatus:t.lastErrorStatus}:{},...Array.isArray(t.recentErrors)?{recentErrors:t.recentErrors.slice(0,20)}:{},...typeof t.lastSessionId==`string`?{lastSessionId:t.lastSessionId}:{},...typeof t.lastAgentId==`string`?{lastAgentId:t.lastAgentId}:{},...typeof t.lastFailureAt==`number`?{lastFailureAt:t.lastFailureAt}:{}})}let i=t;e({entries:r,summary:{totalPairs:typeof i.totalPairs==`number`?i.totalPairs:0,healthy:typeof i.healthy==`number`?i.healthy:0,degraded:typeof i.degraded==`number`?i.degraded:0,blocked:typeof i.blocked==`number`?i.blocked:0,totalFailures:typeof i.totalFailures==`number`?i.totalFailures:0,totalRateLimits:typeof i.totalRateLimits==`number`?i.totalRateLimits:0},error:null,loading:!1})},setLoading:t=>e({loading:t}),setError:t=>e({error:t,loading:!1}),removeEntry:(t,n)=>e(e=>{let r={...e.entries};return delete r[Q({providerId:t,model:n})],{entries:r}}),clear:()=>e({entries:{},summary:null,error:null})})),Te=n()(e=>({snapshot:null,boards:[],lifecycleResult:null,destroying:!1,setSnapshot:t=>e({snapshot:t}),setBoards:t=>e({boards:t}),setLifecycleResult:t=>e({lifecycleResult:t}),setDestroying:t=>e({destroying:t})})),Ee=n()(e=>({snapshot:null,agentText:``,error:null,startedRunId:null,setSnapshot:t=>{if(t.discarded||t.phase===`idle`&&!t.sessionId){e({snapshot:null,agentText:``,error:null});return}e({snapshot:t,error:null,...t.lastAgentText?{agentText:t.lastAgentText}:{}})},setAgentText:t=>e({agentText:t}),setError:t=>e({error:t}),setStartedRunId:t=>e({startedRunId:t}),reset:()=>e({snapshot:null,agentText:``,error:null,startedRunId:null})})),De=n(e=>({sideEffects:[],loading:!1,setSideEffects:t=>e({sideEffects:t,loading:!1}),setLoading:t=>e({loading:t}),clear:()=>e({sideEffects:[],loading:!1})})),Oe=n()(e=>({specs:[],detail:null,expandedSpecId:null,setSpecs:t=>e({specs:t}),setDetail:t=>e({detail:t}),setExpanded:t=>e({expandedSpecId:t,detail:null})})),ke=new Set([`idle`,`queued`,`discovering`,`inventorying`,`enriching`,`researching`,`synthesizing`,`completed`,`failed`,`cancelled`]);function Ae(e){return ke.has(e)?e:void 0}var $={snapshot:null,stale:!1,loading:!1,error:null,activeJob:null,lastWorkspaceId:null,reportId:null},je=n()(e=>({...$,setSnapshot:(t,n=!1)=>e(e=>({snapshot:t,stale:n,loading:!1,error:null,activeJob:e.activeJob?{...e.activeJob,status:`completed`,error:null}:null})),setLoading:t=>e({loading:t}),setError:t=>e({error:t,loading:!1}),jobStarted:(t,n)=>e({activeJob:{id:t,kind:n,status:`queued`,progress:null,error:null},error:null,loading:!0}),jobProgress:(t,n)=>e(e=>{if(e.activeJob?.id!==t)return e;let r=Ae(n.phase);return r?{activeJob:{...e.activeJob,status:r,progress:n},loading:!0}:e}),jobFailed:(t,n)=>e(e=>e.activeJob?.id===t?{activeJob:{...e.activeJob,status:`failed`,error:n},error:n,loading:!1}:e),jobCancelled:t=>e(e=>({activeJob:e.activeJob?.id===t?{...e.activeJob,status:`cancelled`,error:null}:e.activeJob,loading:!1})),workspaceCompleted:t=>e({lastWorkspaceId:t}),reportReady:t=>e({reportId:t}),clear:()=>e($)})),Me=n()(e=>({worktrees:[],baseBranch:``,activity:[],orphans:[],canClean:!1,cleanResult:null,mergeResult:null,diffByDir:{},setSnapshot:(t,n)=>e({worktrees:t,baseBranch:n}),pushEvent:t=>e(e=>({activity:[...e.activity,t].slice(-40)})),setOrphans:(t,n,r)=>e({orphans:t,canClean:n,cleanBlockedReason:r}),setCleanResult:t=>e({cleanResult:t}),setMergeResult:t=>e({mergeResult:t}),setDiff:(t,n)=>e(e=>({diffByDir:{...e.diffByDir,[t]:n}}))}));export{m as A,le as C,ie as D,ae as E,a as M,ne as O,y as S,x as T,w as _,Ee as a,I as b,Ce as c,me as d,pe as f,R as g,z as h,De as i,ee as j,re as k,Z as l,B as m,je as n,Te as o,V as p,Oe as r,we as s,Me as t,he as u,F as v,S as w,P as x,L as y};
7
+ `)}var re=t()((e,t)=>({refs:[],addRef:n=>{let r=t();if(n.kind===`file`&&r.refs.find(e=>e.kind===`file`&&e.path===n.path))return;let i={...n,id:h()};e({refs:[...r.refs,i]})},removeRef:t=>{e(e=>({refs:e.refs.filter(e=>e.id!==t)}))},clearRefs:()=>e({refs:[]})})),ie=t()((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,setTree:(t,n)=>e({projectRoot:t,tree:n,treeLoading:!1,error:null}),openFile:(n,r)=>{let i=t();if(i.openFiles.find(e=>e.path===n)){e({openFiles:i.openFiles.map(e=>e.path===n?{...e,content:r,dirty:!1,savedContent:r}:e),activeFilePath:n});return}e({openFiles:[...i.openFiles,{path:n,content:r,dirty:!1,savedContent:r}],activeFilePath:n})},closeFile:n=>{let r=t(),i=r.openFiles.findIndex(e=>e.path===n);if(i===-1)return;let a=[...r.openFiles];a.splice(i,1);let o=r.activeFilePath;r.activeFilePath===n&&(o=a.length===0?null:i<a.length?a[i].path:a[a.length-1].path),e({openFiles:a,activeFilePath:o})},setActiveFile:t=>e({activeFilePath:t}),updateContent:(t,n)=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e)}))},markSaved:t=>{e(e=>({openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))},setTreeLoading:t=>e({treeLoading:t}),setError:t=>e({error:t})}));function v(e){return e===`running`}function y(e,t){let n=+!v(e.status),r=+!v(t.status);return n===r?e.startedAt-t.startedAt:n-r}function ae(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 oe=85,se=70;function b(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0;return{clamped:t,severity:t>=oe?`high`:t>=se?`medium`:`low`}}function x(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 ce(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 S(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 le(e,t=Date.now()){let{clamped:n,severity:r}=b(e.ctxPct);return{ctxClamped:n,ctxSeverity:r,elapsed:!Number.isFinite(e.startedAt)||e.startedAt<=0?`—`:S(e.status===`running`?t-e.startedAt:(e.completedAt??t)-e.startedAt),cost:ce(e.costUsd),iterationCount:e.iteration,toolCount:e.toolCalls,tokensIn:x(e.tokensIn),tokensOut:x(e.tokensOut)}}var C=12,ue=20,de=500,w=[];function T(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(C).fill(0)}}var E=0;function D(){return`tl_${Date.now()}_${++E}`}function O(e,t){return[t,...e].slice(0,ue)}function k(e){switch(e){case`text`:case`thinking`:case`tool_use`:case`tool_result`:case`error`:case`status`:case`system`:return e;default:return`status`}}function A(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 j(e,t){let n=e[e.length-1];return n&&A(n,t)?[...e.slice(0,-1),{...n,content:`${n.content}${t.content}`,ts:t.ts}].slice(-1e3):[...e,t].slice(-1e3)}function M(e){return[e[0]+1,...e.slice(0,C-1)]}function N(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}var P=t()((t,n)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map,pushAgentTimelineEntry:e=>t(t=>{let n={id:`agent_tl_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,...e,kind:k(e.kind)},r=new Map(t.agentTranscripts);return r.set(n.subagentId,j(r.get(n.subagentId)??[],n)),{agentTimeline:[n,...t.agentTimeline].slice(0,de),agentTranscripts:r}}),clear:()=>t({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map}),getAgentsBySession:e=>{let t=[];for(let r of n().agents.values())r.sessionId===e&&t.push(r);return t},getAgentTranscript:e=>n().agentTranscripts.get(e)??w,clearFinishedAgents:()=>t(e=>{let t=new Map(e.agents),n=new Set;for(let[e,r]of t)r.status!==`running`&&(t.delete(e),n.add(e));let r=new Map(e.agentTranscripts);for(let e of n)r.delete(e);return{agents:t,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>!n.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!n.has(e.agentId)),leaderId:e.leaderId&&n.has(e.leaderId)?void 0:e.leaderId}}),applyEvent:n=>t(t=>{let r=new Map(t.agents),i=new Map(t.agentTranscripts),a=t.eventTimeline,o=t.leaderId,s=t.fleetTokensIn,c=t.fleetTokensOut;if(n.kind===`session_stopped`&&n.sessionId){let e=new Set;for(let[t,a]of r)a.sessionId===n.sessionId&&(r.delete(t),i.delete(t),e.add(t));return{agents:r,agentTranscripts:i,agentTimeline:t.agentTimeline.filter(t=>!e.has(t.subagentId)),leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0}}if(n.kind===`removed`&&n.subagentId)return r.delete(n.subagentId),i.delete(n.subagentId),{agents:r,agentTranscripts:i,agentTimeline:t.agentTimeline.filter(e=>e.subagentId!==n.subagentId),eventTimeline:t.eventTimeline.filter(e=>e.agentId!==n.subagentId),leaderId:t.leaderId===n.subagentId?void 0:t.leaderId};if(n.kind===`leader_updated`&&n.subagentId){let e=t.leaderId;if(e&&e!==n.subagentId){let t=r.get(e);t&&r.set(e,{...t,isLeader:!1})}o=n.subagentId;let i=r.get(n.subagentId)??T(n.subagentId,n.name,n.sessionId);return r.set(n.subagentId,{...i,isLeader:!0,name:n.name?.trim()||i.name}),a=O(a,{id:D(),kind:`leader_updated`,agentId:n.subagentId,agentName:n.name??o,timestamp:Date.now(),message:`${n.name??n.subagentId} became leader`}),{agents:r,leaderId:o,eventTimeline:a}}if(!n.subagentId)return t;let l=r.get(n.subagentId)??T(n.subagentId,n.name,n.sessionId),u={...l},d=Date.now();switch(n.kind){case`spawned`:u.name=n.name?.trim()||u.name,u.provider=n.provider??u.provider,u.model=n.model??u.model,u.description=n.description??u.description,u.taskId=n.taskId??u.taskId,u.sessionId=n.sessionId??u.sessionId,u.status=`running`,u.sparklineBins=Array(C).fill(0),a=O(a,{id:D(),kind:`spawned`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} spawned`});break;case`task_started`:u.description=n.description??u.description,u.taskId=n.taskId??u.taskId,u.status=`running`,a=O(a,{id:D(),kind:`task_started`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} started: ${n.description??`new task`}`});break;case`tool_executed`:{let e=typeof n.ok!=`boolean`||n.ok,t=typeof n.durationMs==`number`?n.durationMs:0;u.lastTool=n.toolName??u.lastTool,u.toolCalls+=1,u.toolLog=[{name:n.toolName??`unknown`,ok:e,durationMs:t,at:d},...u.toolLog].slice(0,50),u.sparklineBins=M(u.sparklineBins),a=O(a,{id:D(),kind:`tool_executed`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ${e?`✓`:`✗`} ${n.toolName??`tool`}`,value:t});break}case`iteration_summary`:u.iteration=n.iteration??u.iteration,typeof n.toolCalls==`number`&&(u.toolCalls=n.toolCalls),typeof n.costUsd==`number`&&(u.costUsd=n.costUsd),u.currentTool=n.currentTool??u.currentTool,typeof n.partialText==`string`&&n.partialText&&(u.partialText=n.partialText),u.sparklineBins=M(u.sparklineBins),a=O(a,{id:D(),kind:`iteration_summary`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} iter ${n.iteration??u.iteration} · ${n.currentTool?`${n.currentTool}`:``}`,value:n.costUsd});break;case`budget_warning`:{let e=n.budgetKind??`budget`,t=typeof n.used==`number`?n.used:0,r=typeof n.limit==`number`?n.limit:0;u.budgetWarning={kind:e,used:t,limit:r},a=O(a,{id:D(),kind:`budget_warning`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} hit ${e} budget ${t}/${r}`,value:t});break}case`budget_extended`:u.extensions=n.totalExtensions??u.extensions+1,u.budgetWarning=void 0,a=O(a,{id:D(),kind:`budget_extended`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} extended budget ⚡×${u.extensions}`});break;case`ctx_pct`:u.ctxPct=N(Math.round(Math.max(0,n.load??0)*100)),u.ctxTokens=n.tokens??u.ctxTokens,u.maxContext=n.maxContext??u.maxContext,u.ctxPct>=80&&!u.budgetWarning&&(u.budgetWarning=u.ctxPct>=100?{kind:`hard`,used:u.ctxPct,limit:100}:{kind:`soft`,used:u.ctxPct,limit:100}),typeof n.costUsd==`number`&&(u.costUsd=n.costUsd),typeof n.tokensIn==`number`&&(u.tokensIn=n.tokensIn,s=s-(l.tokensIn??0)+n.tokensIn),typeof n.tokensOut==`number`&&(u.tokensOut=n.tokensOut,c=c-(l.tokensOut??0)+n.tokensOut),a=O(a,{id:D(),kind:`ctx_pct`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ctx ${u.ctxPct}%`,value:u.ctxPct});break;case`task_completed`:{u.status=n.status===`success`?`completed`:n.status??`completed`,typeof n.iterations==`number`&&(u.iteration=n.iterations),typeof n.toolCalls==`number`&&(u.toolCalls=n.toolCalls),u.error=n.error,u.currentTool=void 0,u.completedAt=d,u.failureReason=n.failureReason??u.failureReason,typeof n.finalText==`string`&&n.finalText&&(u.finalText=e(n.finalText));let t=n.status===`success`?`✓ completed`:n.status===`failed`?`✗ failed${n.failureReason?` (${n.failureReason})`:``}`:n.status===`timeout`?`⏱ timeout${n.failureReason?` (${n.failureReason})`:``}`:`stopped`;a=O(a,{id:D(),kind:`task_completed`,agentId:n.subagentId,agentName:u.name,timestamp:d,message:`${u.name} ${t}`,value:u.costUsd});break}}return r.set(n.subagentId,u),{agents:r,leaderId:o,fleetTokensIn:s,fleetTokensOut:c,eventTimeline:a}})})),F=e=>{let t=0,n=0,r=0,i=0;for(let a of e.agents.values())a.status===`running`?t++:a.status===`completed`?n++:(a.status===`failed`||a.status===`timeout`)&&r++,Number.isFinite(a.costUsd)&&a.costUsd>0&&(i+=a.costUsd);return{running:t,completed:n,failed:r,total:e.agents.size,totalCost:i,tokensIn:e.fleetTokensIn,tokensOut:e.fleetTokensOut,concurrency:e.fleetConcurrency,concurrencyMax:e.fleetConcurrencyMax}},I=e=>{let t=Array.from(e.agents.values()),n=e.leaderId;return t.sort((e,t)=>e===t||e.id===t.id?0:e.id===n?-1:t.id===n?1:y(e,t)),t},L=e=>e.leaderId?e.agents.get(e.leaderId)?.name:void 0,R=t()(e=>({files:[],error:null,loadingList:!1,selectedPath:null,diff:null,loadingDiff:!1,setFiles:(t,n)=>e({files:t,error:n,loadingList:!1}),setListLoading:t=>e({loadingList:t}),select:t=>e({selectedPath:t,diff:null,loadingDiff:!!t}),setDiff:t=>e({diff:t,loadingDiff:!1}),setDiffLoading:t=>e({loadingDiff:t}),clear:()=>e({files:[],error:null,selectedPath:null,diff:null,loadingDiff:!1})})),z=t()(e=>({info:null,setInfo:t=>e({info:t}),clear:()=>e({info:null})})),B=t()((e,t)=>({result:null,loading:!1,currentSeq:0,setResult:t=>e(e=>t.reqSeq===e.currentSeq?{result:t,loading:!1}:{}),setLoading:()=>e({loading:!0,result:null}),clear:()=>e({result:null,loading:!1}),nextSeq:()=>{let n=t().currentSeq+1;return e({currentSeq:n}),n}})),V=t()(e=>({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,goal:null,status:`idle`,multiBoard:!1,lastEvent:null,lastError:null,graphs:[],progress:null,setState:t=>e(e=>({phases:t.phases??e.phases,activePhaseId:t.activePhaseId===void 0?e.activePhaseId:t.activePhaseId,overallPercent:t.overallPercent??e.overallPercent,autonomous:t.autonomous??e.autonomous,title:t.title===void 0?e.title:t.title,goal:t.goal===void 0?e.goal:t.goal,status:t.status??e.status,multiBoard:t.multiBoard??e.multiBoard,lastEvent:t.lastEvent===void 0?e.lastEvent:t.lastEvent,lastError:t.lastError===void 0?e.lastError:t.lastError,graphs:t.graphs??e.graphs,progress:t.progress===void 0?e.progress:t.progress})),clear:()=>e({phases:[],activePhaseId:null,overallPercent:0,autonomous:!1,title:null,goal:null,status:`idle`,multiBoard:!1,lastEvent:null,lastError:null,graphs:[],progress:null}),hydrateFromServer:e=>{e({type:`goal.list`}),e({type:`goal.state`})}}));function H(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(typeof t.iteration!=`number`||!Number.isFinite(t.iteration)||t.task!==void 0&&typeof t.task!=`string`||t.status!==void 0&&typeof t.status!=`string`||t.progress!==void 0&&(typeof t.progress!=`number`||!Number.isFinite(t.progress))||t.progressNote!==void 0&&typeof t.progressNote!=`string`||t.timestamp!==void 0&&typeof t.timestamp!=`string`)}function fe(e){return!e||typeof e.goal!=`string`||!e.goal.trim()?null:{goal:e.goal,refinedGoal:typeof e.refinedGoal==`string`?e.refinedGoal:void 0,goalState:[`active`,`paused`,`completed`,`failed`,`abandoned`].includes(e.goalState)?e.goalState:`active`,iterations:typeof e.iterations==`number`?e.iterations:0,progress:typeof e.progress==`number`?e.progress:0,progressNote:typeof e.progressNote==`string`?e.progressNote:void 0,progressTrend:e.progressTrend===`accelerating`?`up`:e.progressTrend===`stalling`?`down`:e.progressTrend===`steady`?`stable`:void 0,deliverables:Array.isArray(e.deliverables)?e.deliverables.map((e,t)=>typeof e==`string`?{id:`d${t}`,text:e,status:/^\[[x✓]\]|✅|\(done\)/i.test(e)?`done`:`pending`}:e):void 0,journal:Array.isArray(e.journal)?e.journal.filter(H):void 0,lastTask:typeof e.lastTask==`string`?e.lastTask:void 0,lastStatus:typeof e.lastStatus==`string`?e.lastStatus:void 0}}var pe=t()(e=>({goal:null,setGoal:t=>e({goal:fe(t)}),clear:()=>e({goal:null}),appendJournalEntry:t=>e(e=>e.goal?{goal:{...e.goal,iterations:Math.max(e.goal.iterations,t.iteration),lastTask:t.task??e.goal.lastTask,lastStatus:t.status??e.goal.lastStatus,journal:[t,...e.goal.journal??[]].slice(0,200)}}:e),refresh:()=>{try{i()?.send?.({type:`goal-state.get`})}catch{}}})),me=t()(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}})})),clearHistory:()=>e({entries:[]})})),he=t()((e,t)=>({boards:[],boardTotal:0,activeBoardTotal:0,orphanedBoardTotal:0,activeBoardId:null,activeBoard:null,loading:!1,error:null,queueHealth:null,supervisorSnapshot:null,verificationActivity:{},setLoading:t=>e({loading:t}),setActiveBoardId:t=>e({activeBoardId:t,queueHealth:null,supervisorSnapshot:null}),setError:t=>e({error:t}),setQueueHealth:t=>e({queueHealth:t}),handleResult:(n,r)=>{if(!r.success){e({loading:!1,error:r.error??`Kanban request failed`});return}let i=r.data;if((n===`kanban.supervisor.status`||n===`kanban.supervisor.audit`)&&i){e({supervisorSnapshot:i,loading:!1,error:null});return}if(n===`kanban.health`&&r.data){e({queueHealth:r.data,loading:!1,error:null});return}if(n===`kanban.list`){let t=_e(i)?i:null,n=t?t.items:Array.isArray(i)?i:[];e({boards:n,boardTotal:t?.total??n.length,activeBoardTotal:t?.activeTotal??n.filter(e=>K(e)).length,orphanedBoardTotal:t?.orphanedTotal??n.filter(e=>!K(e)).length,loading:!1,error:null});return}if(n===`kanban.delete`){let n=t().activeBoardId,r=i,a=r?.removed===!0,o=r?.boardId??n;e(e=>({boards:a?e.boards.filter(e=>e.id!==o):e.boards,activeBoardId:a&&e.activeBoardId===o?null:e.activeBoardId,activeBoard:a&&e.activeBoard?.id===o?null:e.activeBoard,loading:!1,error:null}));return}if(n===`kanban.task.remove`){let t=i;e(e=>{let n=U(t?.board)?t.board:null;if(n&&e.activeBoardId===n.id)return{boards:J(e.boards,q(n)),activeBoard:n,loading:!1,error:null};let r=t?.boardId,i=t?.taskId,a=t?.removed===!0&&i&&e.activeBoard&&(!r||e.activeBoard.id===r)?{...e.activeBoard,tasks:e.activeBoard.tasks.filter(e=>e.id!==i)}:e.activeBoard;return{activeBoard:a,boards:a?J(e.boards,q(a)):e.boards,loading:!1,error:null}});return}if(n===`kanban.column.remove`){let t=i;if(U(t?.board)){let n=t.board;e(e=>({boards:J(e.boards,q(n)),activeBoard:e.activeBoardId===n.id?n:e.activeBoard,loading:!1,error:null}));return}}if(n===`kanban.task.verification_started`){let t=i;if(t?.boardId&&t.taskId){let n=`${t.boardId}:${t.taskId}`;e(e=>({verificationActivity:{...e.verificationActivity,[n]:{startedAt:Date.now()}},loading:!1,error:null}))}return}if(n===`kanban.task.verification_completed`&&G(i)){let t=`${i.boardId}:${i.task.id}`;e(e=>{let n={...e.verificationActivity};if(delete n[t],e.activeBoard&&e.activeBoard.id===i.boardId){let t=Y(e.activeBoard,i.task);return{verificationActivity:n,boards:J(e.boards,q(t)),activeBoard:t,loading:!1,error:null}}return{verificationActivity:n,loading:!1,error:null}});return}if(ge(i)){let t=i.board;e(e=>({boards:J(e.boards,q(t)),activeBoard:e.activeBoardId===t.id?t:e.activeBoard,loading:!1,error:null}));return}if(G(i)){e(e=>{if(e.activeBoard&&e.activeBoard.id===i.boardId){let t=Y(e.activeBoard,i.task);return{boards:J(e.boards,q(t)),activeBoard:t,loading:!1,error:null}}return{loading:!1,error:null}});return}if(U(i)){let t=q(i);if(n===`kanban.get`){e(e=>({boards:J(e.boards,t),activeBoard:e.activeBoardId===i.id?i:e.activeBoard,loading:!1,error:null}));return}e(e=>({boards:J(e.boards,t),activeBoardId:i.id,activeBoard:i,loading:!1,error:null}));return}if(W(i)){e(e=>({...e.activeBoard?(()=>{let t=Y(e.activeBoard,i);return{activeBoard:t,boards:J(e.boards,q(t))}})():{activeBoard:e.activeBoard},loading:!1,error:null}));return}if(Array.isArray(i)&&i.every(ve)){e(e=>({...e.activeBoard?(()=>{let t={...e.activeBoard,columns:i};return{activeBoard:t,boards:J(e.boards,q(t))}})():{activeBoard:e.activeBoard},loading:!1,error:null}));return}e({loading:!1,error:null})}}));function U(e){return!!e&&typeof e==`object`&&Array.isArray(e.columns)&&Array.isArray(e.tasks)}function W(e){return!!e&&typeof e==`object`&&typeof e.title==`string`}function G(e){return!!e&&typeof e==`object`&&typeof e.boardId==`string`&&W(e.task)}function ge(e){return!!e&&typeof e==`object`&&U(e.board)}function _e(e){return!!e&&typeof e==`object`&&Array.isArray(e.items)&&typeof e.total==`number`}function K(e){return e.presence?.some(e=>e.active)===!0}function ve(e){return!!e&&typeof e==`object`&&typeof e.id==`string`}function q(e){return{id:e.id,title:e.title,description:e.description,tags:e.tags,presence:e.presence,createdAt:e.createdAt,updatedAt:e.updatedAt,columnCount:e.columns.length,taskCount:e.tasks.length,completedTaskCount:e.tasks.filter(e=>e.status===`completed`).length}}function J(e,t){return[t,...e.filter(e=>e.id!==t.id)].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))}function Y(e,t){let n=e.tasks.some(e=>e.id===t.id)?e.tasks.map(e=>e.id===t.id?t:e):[...e.tasks,t];return{...e,tasks:n}}function ye(e){switch(e){case`tui`:return`tui`;case`cli`:case`repl`:return`repl`;case`webui`:return`webui`;default:return`webui`}}function be(e){let t={tui:0,webui:0,repl:0},n=0,r=0,i={toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0};for(let a of e){t[ye(a.clientType)]+=1;for(let e of a.agents)n+=1,(e.status===`running`||e.status===`streaming`)&&(r+=1),i.toolCalls+=e.toolCalls??0,i.costUsd+=e.costUsd??0,i.tokensIn+=e.tokensIn??0,i.tokensOut+=e.tokensOut??0}return{clientCounts:t,totalAgents:n,activeAgents:r,aggregate:i}}function xe(e){if(e!==void 0)return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Se(e){return e.map(e=>({...e,agents:e.agents.map(e=>({...e,ctxPct:xe(e.ctxPct)}))}))}var X=0,Z=t()(e=>({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now(),setClientCounts:t=>e({clientCounts:t,lastUpdated:Date.now()}),setLiveSessions:t=>{let n=Se(t),r=Z.getState().liveSessions;if(r.length===n.length){let e=!0;for(let t=0;t<n.length;t++){let i=n[t],a=r[t];if(i.sessionId!==a.sessionId||i.status!==a.status||i.agentCount!==a.agentCount||i.startedAt!==a.startedAt||i.lastHeartbeatAt!==a.lastHeartbeatAt){e=!1;break}let o=i.agents??[],s=a.agents??[];if(o.length!==s.length){e=!1;break}for(let t=0;t<o.length;t++)if(o[t].id!==s[t].id||o[t].name!==s[t].name||o[t].status!==s[t].status||o[t].currentTool!==s[t].currentTool||o[t].iterations!==s[t].iterations||o[t].toolCalls!==s[t].toolCalls||o[t].ctxPct!==s[t].ctxPct||o[t].recentTools?.[0]?.id!==s[t].recentTools?.[0]?.id||o[t].recentMail?.[0]?.id!==s[t].recentMail?.[0]?.id||o[t].activity?.reads!==s[t].activity?.reads||o[t].activity?.writes!==s[t].activity?.writes||o[t].activity?.edits!==s[t].activity?.edits||o[t].activity?.terminalCalls!==s[t].activity?.terminalCalls||o[t].activity?.mailReceived!==s[t].activity?.mailReceived||o[t].activity?.mailSent!==s[t].activity?.mailSent||o[t].activity?.linesAdded!==s[t].activity?.linesAdded||o[t].activity?.linesRemoved!==s[t].activity?.linesRemoved){e=!1;break}if(!e)break}if(e)return}e({liveSessions:n,...be(n),lastUpdated:Date.now()})},addMailActivity:t=>e(e=>({mailActivity:[{...t,seq:t.seq??++X},...e.mailActivity].slice(0,50),lastUpdated:Date.now()})),setMailStats:(t,n,r)=>e({totalMessages:t,openMessages:n,unreadMessages:r,lastUpdated:Date.now()}),setAgentStats:(t,n)=>e({totalAgents:t,activeAgents:n,lastUpdated:Date.now()}),setCurrentSession:t=>e({currentSession:{...Z.getState().currentSession,...t},lastUpdated:Date.now()}),clear:()=>e({clientCounts:{tui:0,webui:0,repl:0},mailActivity:[],totalMessages:0,openMessages:0,unreadMessages:0,totalAgents:0,activeAgents:0,currentSession:{},liveSessions:[],aggregate:{toolCalls:0,costUsd:0,tokensIn:0,tokensOut:0},lastUpdated:Date.now()})})),Ce=t()(n(e=>({viewMode:`office`,showHud:!0,showLegend:!0,showMinimap:!0,showControls:!0,animateEdges:!0,showFeed:!0,background:`dots`,setViewMode:t=>e({viewMode:t}),setShowHud:t=>e({showHud:t}),setShowLegend:t=>e({showLegend:t}),setShowMinimap:t=>e({showMinimap:t}),setShowControls:t=>e({showControls:t}),setAnimateEdges:t=>e({animateEdges:t}),setShowFeed:t=>e({showFeed:t}),setBackground:t=>e({background:t})}),{name:`wrongstack-officemap`})),Q=e=>`${e.providerId}\u0000${e.model}`,we=t(e=>({entries:{},summary:null,loading:!1,error:null,update:t=>e(e=>{let n={...e.entries},r=Q(t);return t.state===`healthy`?delete n[r]:n[r]={...n[r],...t},{entries:n}}),hydrate:t=>e({entries:Object.fromEntries(t.filter(e=>e.state!==`healthy`).map(e=>[Q(e),e]))}),applySnapshot:t=>{let n=t.statuses;if(!Array.isArray(n)){e({error:`Invalid snapshot from server`,loading:!1});return}let r={};for(let e of n){if(!e||typeof e!=`object`)continue;let t=e,n=typeof t.providerId==`string`?t.providerId:``,i=typeof t.model==`string`?t.model:``;if(!n||!i)continue;let a=t.state;a!==`healthy`&&a!==`degraded`&&a!==`blocked`||(r[`${n}\u0000${i}`]={providerId:n,model:i,state:a,reason:(typeof t.lastErrorKind==`string`?t.lastErrorKind:``)||a,updatedAt:typeof t.lastFailureAt==`number`?t.lastFailureAt:Date.now(),...typeof t.stateExpiresAt==`number`?{stateExpiresAt:t.stateExpiresAt}:{},...typeof t.consecutiveFailures==`number`?{consecutiveFailures:t.consecutiveFailures}:{},...typeof t.totalFailures==`number`?{totalFailures:t.totalFailures}:{},...typeof t.rateLimitHits==`number`?{rateLimitHits:t.rateLimitHits}:{},...typeof t.lastErrorMessage==`string`?{lastErrorMessage:t.lastErrorMessage}:{},...typeof t.lastErrorKind==`string`?{lastErrorKind:t.lastErrorKind}:{},...typeof t.lastErrorStatus==`number`?{lastErrorStatus:t.lastErrorStatus}:{},...Array.isArray(t.recentErrors)?{recentErrors:t.recentErrors.slice(0,20)}:{},...typeof t.lastSessionId==`string`?{lastSessionId:t.lastSessionId}:{},...typeof t.lastAgentId==`string`?{lastAgentId:t.lastAgentId}:{},...typeof t.lastFailureAt==`number`?{lastFailureAt:t.lastFailureAt}:{}})}let i=t;e({entries:r,summary:{totalPairs:typeof i.totalPairs==`number`?i.totalPairs:0,healthy:typeof i.healthy==`number`?i.healthy:0,degraded:typeof i.degraded==`number`?i.degraded:0,blocked:typeof i.blocked==`number`?i.blocked:0,totalFailures:typeof i.totalFailures==`number`?i.totalFailures:0,totalRateLimits:typeof i.totalRateLimits==`number`?i.totalRateLimits:0},error:null,loading:!1})},setLoading:t=>e({loading:t}),setError:t=>e({error:t,loading:!1}),removeEntry:(t,n)=>e(e=>{let r={...e.entries};return delete r[Q({providerId:t,model:n})],{entries:r}}),clear:()=>e({entries:{},summary:null,error:null})})),Te=t()(e=>({snapshot:null,boards:[],lifecycleResult:null,destroying:!1,setSnapshot:t=>e({snapshot:t}),setBoards:t=>e({boards:t}),setLifecycleResult:t=>e({lifecycleResult:t}),setDestroying:t=>e({destroying:t})})),Ee=t()(e=>({snapshot:null,agentText:``,error:null,startedRunId:null,setSnapshot:t=>{if(t.discarded||t.phase===`idle`&&!t.sessionId){e({snapshot:null,agentText:``,error:null});return}e({snapshot:t,error:null,...t.lastAgentText?{agentText:t.lastAgentText}:{}})},setAgentText:t=>e({agentText:t}),setError:t=>e({error:t}),setStartedRunId:t=>e({startedRunId:t}),reset:()=>e({snapshot:null,agentText:``,error:null,startedRunId:null})})),De=t(e=>({sideEffects:[],loading:!1,setSideEffects:t=>e({sideEffects:t,loading:!1}),setLoading:t=>e({loading:t}),clear:()=>e({sideEffects:[],loading:!1})})),Oe=t()(e=>({specs:[],detail:null,expandedSpecId:null,setSpecs:t=>e({specs:t}),setDetail:t=>e({detail:t}),setExpanded:t=>e({expandedSpecId:t,detail:null})})),ke=new Set([`idle`,`queued`,`discovering`,`inventorying`,`enriching`,`researching`,`synthesizing`,`completed`,`failed`,`cancelled`]);function Ae(e){return ke.has(e)?e:void 0}var $={snapshot:null,stale:!1,loading:!1,error:null,activeJob:null,lastWorkspaceId:null,reportId:null},je=t()(e=>({...$,setSnapshot:(t,n=!1)=>e(e=>({snapshot:t,stale:n,loading:!1,error:null,activeJob:e.activeJob?{...e.activeJob,status:`completed`,error:null}:null})),setLoading:t=>e({loading:t}),setError:t=>e({error:t,loading:!1}),jobStarted:(t,n)=>e({activeJob:{id:t,kind:n,status:`queued`,progress:null,error:null},error:null,loading:!0}),jobProgress:(t,n)=>e(e=>{if(e.activeJob?.id!==t)return e;let r=Ae(n.phase);return r?{activeJob:{...e.activeJob,status:r,progress:n},loading:!0}:e}),jobFailed:(t,n)=>e(e=>e.activeJob?.id===t?{activeJob:{...e.activeJob,status:`failed`,error:n},error:n,loading:!1}:e),jobCancelled:t=>e(e=>({activeJob:e.activeJob?.id===t?{...e.activeJob,status:`cancelled`,error:null}:e.activeJob,loading:!1})),workspaceCompleted:t=>e({lastWorkspaceId:t}),reportReady:t=>e({reportId:t}),clear:()=>e($)})),Me=t()(e=>({worktrees:[],baseBranch:``,activity:[],orphans:[],canClean:!1,cleanResult:null,mergeResult:null,diffByDir:{},setSnapshot:(t,n)=>e({worktrees:t,baseBranch:n}),pushEvent:t=>e(e=>({activity:[...e.activity,t].slice(-40)})),setOrphans:(t,n,r)=>e({orphans:t,canClean:n,cleanBlockedReason:r}),setCleanResult:t=>e({cleanResult:t}),setMergeResult:t=>e({mergeResult:t}),setDiff:(t,n)=>e(e=>({diffByDir:{...e.diffByDir,[t]:n}}))}));export{m as A,le as C,ie as D,ae as E,a as M,ne as O,y as S,x as T,w as _,Ee as a,I as b,Ce as c,me as d,pe as f,R as g,z as h,De as i,ee as j,re as k,Z as l,B as m,je as n,Te as o,V as p,Oe as r,we as s,Me as t,he as u,F as v,S as w,P as x,L as y};
@@ -1 +1 @@
1
- import{_a as e,va as t}from"./vendor-BTTkQ9Tn.js";var n=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],r=[{code:`en`,name:`English`},{code:`tr`,name:`Türkçe`},{code:`de`,name:`Deutsch`},{code:`fr`,name:`Français`},{code:`it`,name:`Italiano`},{code:`es`,name:`Español`},{code:`pt-BR`,name:`Português (Brasil)`}],i=new Set(n);function a(){return typeof navigator>`u`||!navigator.language?`en`:s(navigator.language)}function o(e){return!e||typeof e!=`string`?a():s(e)}function s(e){let t=e.trim().toLowerCase();if(!t)return`en`;if(i.has(t))return t;let n=t.split(`-`)[0];return n&&i.has(n)?n:n===`pt`?`pt-BR`:`en`}var c={autonomy:`auto`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!0,maxIterations:500,chime:!1,confirmExit:!0,fleetChatVerbosity:`off`,nextPrediction:!1,fallbackModels:[],fallbackProfiles:{},favoriteModels:[],favoriteModelsOnly:!1,modelMatrix:{},fallbackAuto:!0,modelAvailabilitySchedule:[],featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceCountdownMs:3e3,enhanceLanguage:`original`,refinerProvider:``,refinerModel:``,refinerFallbackProfile:``,thinkingWord:`thinking`,statuslineMode:`minimum`,animationStyle:`rainbow`,showThinkingLogs:!0,groupToolCalls:!0,showModelReasoning:!0,showAgentSwarmPanel:`bottom`,allowOutsideProjectRoot:!0,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,breakerEnabled:!1,breakerAutoKillResetMs:6e4,fsAccess:`unrestricted`,debugStream:!1,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4,uiLocale:a(),chimeraAutoFix:`off`,readSymbols:!1,showSageMemoryInject:!1,sageMemoryInjectThreshold:.85,preRefineSeconds:3,multiDiffSummaryThreshold:5,chimeraEnabled:!0,chimeraProvider:``,chimeraModel:``,chimeraMaxFiles:15,autoReviewEnabled:!1,autoReviewProvider:``,autoReviewModel:``,autoReviewFallbackProfile:``,autoReviewFallbackModels:[],autoReviewDebounceMs:15e3,autoReviewMaxFilesPerBatch:15,autoReviewMaxConcurrentReviews:2,autoReviewCascadeOn:`off`,pluginsEnabled:{}},l=t()(e(e=>({...c,set:t=>e(t),reset:()=>e(c)}),{name:`wrongstack-local-prefs`,version:14,migrate:(e,t)=>{let n=e??{};return t<12&&n.autoReviewDebounceMs===5e3&&(n.autoReviewDebounceMs=15e3),typeof n.fleetChatVerbosity!=`string`&&(n.streamFleet===!0?n.fleetChatVerbosity=`full`:(n.streamFleet,n.fleetChatVerbosity=`off`),delete n.streamFleet),n.fleetChatVerbosity!==`off`&&n.fleetChatVerbosity!==`full`&&(n.fleetChatVerbosity=`off`),[`hybrid`,`intelligent`,`selective`].includes(n.contextStrategy)||(n.contextStrategy=`hybrid`),n.auditLevel===`verbose`&&(n.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(n.auditLevel)||(n.auditLevel=`standard`),typeof n.autoProceedMaxIterations!=`number`&&(n.autoProceedMaxIterations=50),(!n.fallbackProfiles||typeof n.fallbackProfiles!=`object`||Array.isArray(n.fallbackProfiles))&&(n.fallbackProfiles={}),Array.isArray(n.favoriteModels)||(n.favoriteModels=[]),typeof n.favoriteModelsOnly!=`boolean`&&(n.favoriteModelsOnly=!1),Array.isArray(n.modelAvailabilitySchedule)||(n.modelAvailabilitySchedule=[]),(!n.modelMatrix||typeof n.modelMatrix!=`object`||Array.isArray(n.modelMatrix))&&(n.modelMatrix={}),(typeof n.uiLocale!=`string`||!n.uiLocale)&&(n.uiLocale=a()),typeof n.breakerEnabled!=`boolean`&&(n.breakerEnabled=!1),typeof n.breakerAutoKillResetMs!=`number`&&(n.breakerAutoKillResetMs=6e4),n.fsAccess!==`unrestricted`&&n.fsAccess!==`project`&&(n.fsAccess=`unrestricted`),typeof n.debugStream!=`boolean`&&(n.debugStream=!1),typeof n.chimeraEnabled!=`boolean`&&(n.chimeraEnabled=!0),typeof n.chimeraProvider!=`string`&&(n.chimeraProvider=``),typeof n.chimeraModel!=`string`&&(n.chimeraModel=``),n.chimeraAutoFix!==`off`&&n.chimeraAutoFix!==`ask`&&n.chimeraAutoFix!==`auto`&&(n.chimeraAutoFix=`off`),(typeof n.chimeraMaxFiles!=`number`||!Number.isFinite(n.chimeraMaxFiles)||n.chimeraMaxFiles<1)&&(n.chimeraMaxFiles=15),typeof n.autoReviewEnabled!=`boolean`&&(n.autoReviewEnabled=!1),typeof n.autoReviewProvider!=`string`&&(n.autoReviewProvider=``),typeof n.autoReviewModel!=`string`&&(n.autoReviewModel=``),typeof n.autoReviewFallbackProfile!=`string`&&(n.autoReviewFallbackProfile=``),Array.isArray(n.autoReviewFallbackModels)||(n.autoReviewFallbackModels=[]),(typeof n.autoReviewDebounceMs!=`number`||!Number.isFinite(n.autoReviewDebounceMs)||n.autoReviewDebounceMs<0)&&(n.autoReviewDebounceMs=15e3),(typeof n.autoReviewMaxFilesPerBatch!=`number`||!Number.isFinite(n.autoReviewMaxFilesPerBatch)||n.autoReviewMaxFilesPerBatch<1)&&(n.autoReviewMaxFilesPerBatch=15),(typeof n.autoReviewMaxConcurrentReviews!=`number`||!Number.isFinite(n.autoReviewMaxConcurrentReviews)||n.autoReviewMaxConcurrentReviews<1)&&(n.autoReviewMaxConcurrentReviews=2),n.autoReviewCascadeOn!==`off`&&n.autoReviewCascadeOn!==`critical`&&n.autoReviewCascadeOn!==`high`&&(n.autoReviewCascadeOn=`off`),typeof n.showModelReasoning!=`boolean`&&(n.showModelReasoning=!0),typeof n.showAgentSwarmPanel==`boolean`?n.showAgentSwarmPanel=n.showAgentSwarmPanel?`bottom`:`off`:(typeof n.showAgentSwarmPanel!=`string`||![`bottom`,`sidebar`,`off`].includes(n.showAgentSwarmPanel))&&(n.showAgentSwarmPanel=`bottom`),typeof n.allowOutsideProjectRoot!=`boolean`&&(n.allowOutsideProjectRoot=!0),typeof n.readSymbols!=`boolean`&&(n.readSymbols=!1),typeof n.showSageMemoryInject!=`boolean`&&(n.showSageMemoryInject=!1),(typeof n.sageMemoryInjectThreshold!=`number`||!Number.isFinite(n.sageMemoryInjectThreshold)||n.sageMemoryInjectThreshold<0||n.sageMemoryInjectThreshold>1)&&(n.sageMemoryInjectThreshold=.85),(typeof n.preRefineSeconds!=`number`||!Number.isFinite(n.preRefineSeconds)||n.preRefineSeconds<0)&&(n.preRefineSeconds=3),(typeof n.multiDiffSummaryThreshold!=`number`||!Number.isFinite(n.multiDiffSummaryThreshold)||n.multiDiffSummaryThreshold<0)&&(n.multiDiffSummaryThreshold=5),n}})),u=[`chat`,`agents`,`files`,`changes`,`mailbox`,`skills`,`design`,`worktrees`,`officemap`];function d(e){return u.includes(e)?e:e===`context`||e===`history`||e===`sessions`||e===`projects`?`chat`:e===`officemap`?`officemap`:`chat`}var f=[`chat`,`settings`,`memory`,`roster`,`context`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`officemap`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`,`codemap`,`techstack`,`chronicle`,`deadcode`];function p(e){return f.includes(e)?e:`chat`}var m=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function h(e){return e==null||!m.includes(e)?null:e}var g=[`general`,`provider`,`connection`,`agent`,`execution`,`fallbacks`,`routing`,`fleet`,`integrations`,`chimera`,`context`,`logs`,`security`,`display`];function _(e){return g.includes(e)?e:`general`}function v(){if(typeof window>`u`)return!1;if(window.wrongstackDesktopHost)return!0;try{return new URLSearchParams(window.location.search).get(`shell`)===`desktop`}catch{return!1}}function y(e={}){return{currentView:`chat`,activeActivity:`chat`,sidebarOpen:e.sidebarOpen??!1,dockSection:null,dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,sideContextBreakdownOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,terminalOpen:!1,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,modelSwitcherOpen:!1,promptLibraryOpen:!1,selectedMailMessage:null,refinePanel:null}}var b=t()(e(e=>({sidebarOpen:!0,activeActivity:`chat`,settingsOpen:!1,currentView:`chat`,showConfirmDialog:!1,confirmInfo:null,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,scrollTarget:null,promptHistory:[],sidebarWidth:304,pinnedIds:[],compactMode:!1,modelSwitcherOpen:!1,favoriteSessionIds:[],sessionNicknames:{},fileExplorerWidth:220,refineEnabled:!0,refinePanel:null,promptLibraryOpen:!1,promptInsertRequest:null,dockSection:null,workDashboardTab:`todos`,hiddenChips:[],dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,terminalOpen:!1,terminalCreateNonce:0,settingsActiveTab:`general`,scrollPositions:{},draftInput:``,sideContextBreakdownOpen:!1,selectedMailMessage:null,skillsState:{selectedSkill:null,navHistory:[],historyIndex:-1,detailOpen:!1,knownRefs:{},updateAvailableCount:0},selectActivity:t=>e({activeActivity:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),setSettingsOpen:t=>e({settingsOpen:t}),setCurrentView:t=>e({currentView:p(t)}),showConfirm:t=>e({showConfirmDialog:!0,confirmInfo:t}),hideConfirm:()=>e({showConfirmDialog:!1,confirmInfo:null}),setPaletteOpen:t=>e({paletteOpen:t}),setShortcutsOpen:t=>e({shortcutsOpen:t}),setSearchOpen:t=>e({searchOpen:t,searchQuery:``,searchActiveMessageId:null}),setSearchQuery:t=>e({searchQuery:t}),setSearchActiveMessageId:t=>e({searchActiveMessageId:t}),requestScrollToMessage:t=>e(e=>({scrollTarget:{id:t,nonce:(e.scrollTarget?.nonce??0)+1}})),pushPrompt:t=>e(e=>{let n=t.trim();return n?{promptHistory:[n,...e.promptHistory.filter(e=>e!==n)].slice(0,50)}:e}),setSidebarWidth:t=>e({sidebarWidth:Math.max(240,Math.min(560,Math.round(t)))}),togglePin:t=>e(e=>({pinnedIds:e.pinnedIds.includes(t)?e.pinnedIds.filter(e=>e!==t):[...e.pinnedIds,t]})),unpinAll:()=>e({pinnedIds:[]}),toggleCompactMode:()=>e(e=>({compactMode:!e.compactMode})),setModelSwitcherOpen:t=>e({modelSwitcherOpen:t}),toggleFavoriteSession:t=>e(e=>({favoriteSessionIds:e.favoriteSessionIds.includes(t)?e.favoriteSessionIds.filter(e=>e!==t):[...e.favoriteSessionIds,t]})),setSessionNickname:(t,n)=>e(e=>{let r=n.trim(),i={...e.sessionNicknames};return r?i[t]=r:delete i[t],{sessionNicknames:i}}),setFileExplorerWidth:t=>e({fileExplorerWidth:Math.max(160,Math.min(400,Math.round(t)))}),toggleRefineEnabled:()=>e(e=>({refineEnabled:!e.refineEnabled})),setRefinePanel:t=>e({refinePanel:t}),setPromptLibraryOpen:t=>e({promptLibraryOpen:t}),requestPromptInsert:t=>e({promptInsertRequest:t,promptLibraryOpen:!1}),clearPromptInsert:()=>e({promptInsertRequest:null}),setDockSection:t=>e({dockSection:t,...t?{inspectorOpen:!1}:{}}),setWorkDashboardTab:t=>e({workDashboardTab:t}),toggleDockSection:t=>e(e=>{let n=e.dockSection===t?null:t;return{dockSection:n,...n?{inspectorOpen:!1}:{}}}),toggleChipHidden:t=>e(e=>{let n=e.hiddenChips.includes(t);return{hiddenChips:n?e.hiddenChips.filter(e=>e!==t):[...e.hiddenChips,t],dockSection:!n&&e.dockSection===t?null:e.dockSection}}),showDockChip:t=>e(e=>({hiddenChips:e.hiddenChips.filter(e=>e!==t)})),setDockCustomizeOpen:t=>e({dockCustomizeOpen:t}),setFleetMonitorOpen:t=>e(e=>({fleetMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`fleet`&&e.inspectorOpen,inspectorTab:t?`fleet`:e.inspectorTab,...t?{dockSection:null}:{}})),setAgentsMonitorOpen:t=>e(e=>({agentsMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`agents`&&e.inspectorOpen,inspectorTab:t?`agents`:e.inspectorTab,...t?{dockSection:null}:{}})),setInspectorOpen:t=>e({inspectorOpen:t,...t?{dockSection:null}:{}}),setInspectorTab:t=>e({inspectorTab:t}),setInspectorFocusedAgentId:t=>e({inspectorFocusedAgentId:t}),toggleInspector:()=>e(e=>({inspectorOpen:!e.inspectorOpen,...e.inspectorOpen?{}:{dockSection:null}})),setProcessMonitorOpen:t=>e({processMonitorOpen:t}),setQueuePanelOpen:t=>e({queuePanelOpen:t}),setCronJobsOpen:t=>e({cronJobsOpen:t}),setTerminalOpen:t=>e({terminalOpen:t}),toggleTerminal:()=>e(e=>({terminalOpen:!e.terminalOpen})),requestTerminalCreate:()=>e(e=>({terminalCreateNonce:e.terminalCreateNonce+1})),setSettingsActiveTab:t=>e({settingsActiveTab:_(t)}),setScrollPosition:(t,n)=>e(e=>({scrollPositions:{...e.scrollPositions,[t]:n}})),setDraftInput:t=>e({draftInput:t}),setSideContextBreakdownOpen:t=>e({sideContextBreakdownOpen:t}),setSkillsState:t=>e({skillsState:t}),setSelectedMailMessage:t=>e({selectedMailMessage:t})}),{name:`wrongstack-ui`,version:5,migrate:(e,t)=>{let n=e??{};return n.activeActivity=d(n.activeActivity),typeof n.sidebarWidth==`number`&&(n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth))),t<2&&(delete n.fleetDrawerOpen,delete n.agentsDrawerOpen),`currentView`in n&&(n.currentView=p(n.currentView)),`dockSection`in n&&(n.dockSection=h(n.dockSection)),`settingsActiveTab`in n&&(n.settingsActiveTab=_(n.settingsActiveTab)),n},merge:(e,t)=>{let n={...t,...e??{}};return n.activeActivity=d(n.activeActivity),n.currentView=p(n.currentView),n.dockSection=h(n.dockSection),n.settingsActiveTab=_(n.settingsActiveTab),n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth)),v()?{...n,...y({sidebarOpen:!1})}:n},partialize:e=>({sidebarOpen:e.sidebarOpen,activeActivity:e.activeActivity,sidebarWidth:e.sidebarWidth,promptHistory:e.promptHistory,pinnedIds:e.pinnedIds,compactMode:e.compactMode,favoriteSessionIds:e.favoriteSessionIds,sessionNicknames:e.sessionNicknames,fileExplorerWidth:e.fileExplorerWidth,refineEnabled:e.refineEnabled,hiddenChips:e.hiddenChips,workDashboardTab:e.workDashboardTab,inspectorOpen:e.inspectorOpen,inspectorTab:e.inspectorTab,skillsState:e.skillsState,currentView:e.currentView,dockSection:e.dockSection,settingsActiveTab:e.settingsActiveTab,scrollPositions:e.scrollPositions,draftInput:e.draftInput})}));function x(e={}){b.setState(y(e))}export{n as a,r as i,b as n,o,l as r,x as t};
1
+ import{Aa as e,ka as t}from"./vendor-CxV3l5PQ.js";var n=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],r=[{code:`en`,name:`English`},{code:`tr`,name:`Türkçe`},{code:`de`,name:`Deutsch`},{code:`fr`,name:`Français`},{code:`it`,name:`Italiano`},{code:`es`,name:`Español`},{code:`pt-BR`,name:`Português (Brasil)`}],i=new Set(n);function a(){return typeof navigator>`u`||!navigator.language?`en`:s(navigator.language)}function o(e){return!e||typeof e!=`string`?a():s(e)}function s(e){let t=e.trim().toLowerCase();if(!t)return`en`;if(i.has(t))return t;let n=t.split(`-`)[0];return n&&i.has(n)?n:n===`pt`?`pt-BR`:`en`}var c={autonomy:`auto`,autonomyDelayMs:45e3,autoProceedMaxIterations:50,yolo:!0,maxIterations:500,chime:!1,confirmExit:!0,fleetChatVerbosity:`off`,nextPrediction:!1,fallbackModels:[],fallbackProfiles:{},favoriteModels:[],favoriteModelsOnly:!1,modelMatrix:{},fallbackAuto:!0,modelAvailabilitySchedule:[],featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`off`,maxConcurrent:10,titleAnimation:!0,logLevel:`info`,auditLevel:`standard`,enhanceEnabled:!0,enhanceDelayMs:6e4,enhanceCountdownMs:3e3,enhanceLanguage:`original`,refinerProvider:``,refinerModel:``,refinerFallbackProfile:``,thinkingWord:`thinking`,statuslineMode:`minimum`,animationStyle:`rainbow`,showThinkingLogs:!0,groupToolCalls:!0,showModelReasoning:!0,showAgentSwarmPanel:`bottom`,allowOutsideProjectRoot:!0,reasoningMode:`auto`,reasoningEffort:`high`,reasoningPreserve:!1,cacheTtl:`default`,breakerEnabled:!1,breakerAutoKillResetMs:6e4,fsAccess:`unrestricted`,debugStream:!1,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4,uiLocale:a(),chimeraAutoFix:`off`,readSymbols:!1,showSageMemoryInject:!1,sageMemoryInjectThreshold:.85,preRefineSeconds:3,multiDiffSummaryThreshold:5,chimeraEnabled:!0,chimeraProvider:``,chimeraModel:``,chimeraMaxFiles:15,autoReviewEnabled:!1,autoReviewProvider:``,autoReviewModel:``,autoReviewFallbackProfile:``,autoReviewFallbackModels:[],autoReviewDebounceMs:15e3,autoReviewMaxFilesPerBatch:15,autoReviewMaxConcurrentReviews:2,autoReviewCascadeOn:`off`,pluginsEnabled:{}},l=e()(t(e=>({...c,set:t=>e(t),reset:()=>e(c)}),{name:`wrongstack-local-prefs`,version:14,migrate:(e,t)=>{let n=e??{};return t<12&&n.autoReviewDebounceMs===5e3&&(n.autoReviewDebounceMs=15e3),typeof n.fleetChatVerbosity!=`string`&&(n.streamFleet===!0?n.fleetChatVerbosity=`full`:(n.streamFleet,n.fleetChatVerbosity=`off`),delete n.streamFleet),n.fleetChatVerbosity!==`off`&&n.fleetChatVerbosity!==`full`&&(n.fleetChatVerbosity=`off`),[`hybrid`,`intelligent`,`selective`].includes(n.contextStrategy)||(n.contextStrategy=`hybrid`),n.auditLevel===`verbose`&&(n.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(n.auditLevel)||(n.auditLevel=`standard`),typeof n.autoProceedMaxIterations!=`number`&&(n.autoProceedMaxIterations=50),(!n.fallbackProfiles||typeof n.fallbackProfiles!=`object`||Array.isArray(n.fallbackProfiles))&&(n.fallbackProfiles={}),Array.isArray(n.favoriteModels)||(n.favoriteModels=[]),typeof n.favoriteModelsOnly!=`boolean`&&(n.favoriteModelsOnly=!1),Array.isArray(n.modelAvailabilitySchedule)||(n.modelAvailabilitySchedule=[]),(!n.modelMatrix||typeof n.modelMatrix!=`object`||Array.isArray(n.modelMatrix))&&(n.modelMatrix={}),(typeof n.uiLocale!=`string`||!n.uiLocale)&&(n.uiLocale=a()),typeof n.breakerEnabled!=`boolean`&&(n.breakerEnabled=!1),typeof n.breakerAutoKillResetMs!=`number`&&(n.breakerAutoKillResetMs=6e4),n.fsAccess!==`unrestricted`&&n.fsAccess!==`project`&&(n.fsAccess=`unrestricted`),typeof n.debugStream!=`boolean`&&(n.debugStream=!1),typeof n.chimeraEnabled!=`boolean`&&(n.chimeraEnabled=!0),typeof n.chimeraProvider!=`string`&&(n.chimeraProvider=``),typeof n.chimeraModel!=`string`&&(n.chimeraModel=``),n.chimeraAutoFix!==`off`&&n.chimeraAutoFix!==`ask`&&n.chimeraAutoFix!==`auto`&&(n.chimeraAutoFix=`off`),(typeof n.chimeraMaxFiles!=`number`||!Number.isFinite(n.chimeraMaxFiles)||n.chimeraMaxFiles<1)&&(n.chimeraMaxFiles=15),typeof n.autoReviewEnabled!=`boolean`&&(n.autoReviewEnabled=!1),typeof n.autoReviewProvider!=`string`&&(n.autoReviewProvider=``),typeof n.autoReviewModel!=`string`&&(n.autoReviewModel=``),typeof n.autoReviewFallbackProfile!=`string`&&(n.autoReviewFallbackProfile=``),Array.isArray(n.autoReviewFallbackModels)||(n.autoReviewFallbackModels=[]),(typeof n.autoReviewDebounceMs!=`number`||!Number.isFinite(n.autoReviewDebounceMs)||n.autoReviewDebounceMs<0)&&(n.autoReviewDebounceMs=15e3),(typeof n.autoReviewMaxFilesPerBatch!=`number`||!Number.isFinite(n.autoReviewMaxFilesPerBatch)||n.autoReviewMaxFilesPerBatch<1)&&(n.autoReviewMaxFilesPerBatch=15),(typeof n.autoReviewMaxConcurrentReviews!=`number`||!Number.isFinite(n.autoReviewMaxConcurrentReviews)||n.autoReviewMaxConcurrentReviews<1)&&(n.autoReviewMaxConcurrentReviews=2),n.autoReviewCascadeOn!==`off`&&n.autoReviewCascadeOn!==`critical`&&n.autoReviewCascadeOn!==`high`&&(n.autoReviewCascadeOn=`off`),typeof n.showModelReasoning!=`boolean`&&(n.showModelReasoning=!0),typeof n.showAgentSwarmPanel==`boolean`?n.showAgentSwarmPanel=n.showAgentSwarmPanel?`bottom`:`off`:(typeof n.showAgentSwarmPanel!=`string`||![`bottom`,`sidebar`,`off`].includes(n.showAgentSwarmPanel))&&(n.showAgentSwarmPanel=`bottom`),typeof n.allowOutsideProjectRoot!=`boolean`&&(n.allowOutsideProjectRoot=!0),typeof n.readSymbols!=`boolean`&&(n.readSymbols=!1),typeof n.showSageMemoryInject!=`boolean`&&(n.showSageMemoryInject=!1),(typeof n.sageMemoryInjectThreshold!=`number`||!Number.isFinite(n.sageMemoryInjectThreshold)||n.sageMemoryInjectThreshold<0||n.sageMemoryInjectThreshold>1)&&(n.sageMemoryInjectThreshold=.85),(typeof n.preRefineSeconds!=`number`||!Number.isFinite(n.preRefineSeconds)||n.preRefineSeconds<0)&&(n.preRefineSeconds=3),(typeof n.multiDiffSummaryThreshold!=`number`||!Number.isFinite(n.multiDiffSummaryThreshold)||n.multiDiffSummaryThreshold<0)&&(n.multiDiffSummaryThreshold=5),n}})),u=[`chat`,`agents`,`files`,`changes`,`mailbox`,`skills`,`design`,`worktrees`,`officemap`];function d(e){return u.includes(e)?e:e===`context`||e===`history`||e===`sessions`||e===`projects`?`chat`:e===`officemap`?`officemap`:`chat`}var f=[`chat`,`settings`,`memory`,`roster`,`context`,`goal`,`kanban`,`sddhub`,`files`,`changes`,`sessions`,`setup`,`skill`,`officemap`,`mailbox`,`debug`,`design-gallery`,`refresh-debug`,`analytics`,`codemap`,`techstack`,`chronicle`,`deadcode`];function p(e){return f.includes(e)?e:`chat`}var m=[`goal`,`goal-state`,`fleet`,`work`,`worktrees`,`collab`];function h(e){return e==null||!m.includes(e)?null:e}var g=[`general`,`provider`,`connection`,`agent`,`execution`,`fallbacks`,`routing`,`fleet`,`integrations`,`chimera`,`context`,`logs`,`security`,`display`];function _(e){return g.includes(e)?e:`general`}function v(){if(typeof window>`u`)return!1;if(window.wrongstackDesktopHost)return!0;try{return new URLSearchParams(window.location.search).get(`shell`)===`desktop`}catch{return!1}}function y(e={}){return{currentView:`chat`,activeActivity:`chat`,sidebarOpen:e.sidebarOpen??!1,dockSection:null,dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,sideContextBreakdownOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,terminalOpen:!1,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,modelSwitcherOpen:!1,promptLibraryOpen:!1,selectedMailMessage:null,refinePanel:null}}var b=e()(t(e=>({sidebarOpen:!0,activeActivity:`chat`,settingsOpen:!1,currentView:`chat`,showConfirmDialog:!1,confirmInfo:null,paletteOpen:!1,shortcutsOpen:!1,searchOpen:!1,searchQuery:``,searchActiveMessageId:null,scrollTarget:null,promptHistory:[],sidebarWidth:304,pinnedIds:[],compactMode:!1,modelSwitcherOpen:!1,favoriteSessionIds:[],sessionNicknames:{},fileExplorerWidth:220,refineEnabled:!0,refinePanel:null,promptLibraryOpen:!1,promptInsertRequest:null,dockSection:null,workDashboardTab:`todos`,hiddenChips:[],dockCustomizeOpen:!1,fleetMonitorOpen:!1,agentsMonitorOpen:!1,inspectorOpen:!1,inspectorTab:`fleet`,inspectorFocusedAgentId:null,processMonitorOpen:!1,queuePanelOpen:!1,cronJobsOpen:!1,terminalOpen:!1,terminalCreateNonce:0,settingsActiveTab:`general`,scrollPositions:{},draftInput:``,sideContextBreakdownOpen:!1,selectedMailMessage:null,skillsState:{selectedSkill:null,navHistory:[],historyIndex:-1,detailOpen:!1,knownRefs:{},updateAvailableCount:0},selectActivity:t=>e({activeActivity:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),setSettingsOpen:t=>e({settingsOpen:t}),setCurrentView:t=>e({currentView:p(t)}),showConfirm:t=>e({showConfirmDialog:!0,confirmInfo:t}),hideConfirm:()=>e({showConfirmDialog:!1,confirmInfo:null}),setPaletteOpen:t=>e({paletteOpen:t}),setShortcutsOpen:t=>e({shortcutsOpen:t}),setSearchOpen:t=>e({searchOpen:t,searchQuery:``,searchActiveMessageId:null}),setSearchQuery:t=>e({searchQuery:t}),setSearchActiveMessageId:t=>e({searchActiveMessageId:t}),requestScrollToMessage:t=>e(e=>({scrollTarget:{id:t,nonce:(e.scrollTarget?.nonce??0)+1}})),pushPrompt:t=>e(e=>{let n=t.trim();return n?{promptHistory:[n,...e.promptHistory.filter(e=>e!==n)].slice(0,50)}:e}),setSidebarWidth:t=>e({sidebarWidth:Math.max(240,Math.min(560,Math.round(t)))}),togglePin:t=>e(e=>({pinnedIds:e.pinnedIds.includes(t)?e.pinnedIds.filter(e=>e!==t):[...e.pinnedIds,t]})),unpinAll:()=>e({pinnedIds:[]}),toggleCompactMode:()=>e(e=>({compactMode:!e.compactMode})),setModelSwitcherOpen:t=>e({modelSwitcherOpen:t}),toggleFavoriteSession:t=>e(e=>({favoriteSessionIds:e.favoriteSessionIds.includes(t)?e.favoriteSessionIds.filter(e=>e!==t):[...e.favoriteSessionIds,t]})),setSessionNickname:(t,n)=>e(e=>{let r=n.trim(),i={...e.sessionNicknames};return r?i[t]=r:delete i[t],{sessionNicknames:i}}),setFileExplorerWidth:t=>e({fileExplorerWidth:Math.max(160,Math.min(400,Math.round(t)))}),toggleRefineEnabled:()=>e(e=>({refineEnabled:!e.refineEnabled})),setRefinePanel:t=>e({refinePanel:t}),setPromptLibraryOpen:t=>e({promptLibraryOpen:t}),requestPromptInsert:t=>e({promptInsertRequest:t,promptLibraryOpen:!1}),clearPromptInsert:()=>e({promptInsertRequest:null}),setDockSection:t=>e({dockSection:t,...t?{inspectorOpen:!1}:{}}),setWorkDashboardTab:t=>e({workDashboardTab:t}),toggleDockSection:t=>e(e=>{let n=e.dockSection===t?null:t;return{dockSection:n,...n?{inspectorOpen:!1}:{}}}),toggleChipHidden:t=>e(e=>{let n=e.hiddenChips.includes(t);return{hiddenChips:n?e.hiddenChips.filter(e=>e!==t):[...e.hiddenChips,t],dockSection:!n&&e.dockSection===t?null:e.dockSection}}),showDockChip:t=>e(e=>({hiddenChips:e.hiddenChips.filter(e=>e!==t)})),setDockCustomizeOpen:t=>e({dockCustomizeOpen:t}),setFleetMonitorOpen:t=>e(e=>({fleetMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`fleet`&&e.inspectorOpen,inspectorTab:t?`fleet`:e.inspectorTab,...t?{dockSection:null}:{}})),setAgentsMonitorOpen:t=>e(e=>({agentsMonitorOpen:!1,inspectorOpen:t?!0:e.inspectorTab!==`agents`&&e.inspectorOpen,inspectorTab:t?`agents`:e.inspectorTab,...t?{dockSection:null}:{}})),setInspectorOpen:t=>e({inspectorOpen:t,...t?{dockSection:null}:{}}),setInspectorTab:t=>e({inspectorTab:t}),setInspectorFocusedAgentId:t=>e({inspectorFocusedAgentId:t}),toggleInspector:()=>e(e=>({inspectorOpen:!e.inspectorOpen,...e.inspectorOpen?{}:{dockSection:null}})),setProcessMonitorOpen:t=>e({processMonitorOpen:t}),setQueuePanelOpen:t=>e({queuePanelOpen:t}),setCronJobsOpen:t=>e({cronJobsOpen:t}),setTerminalOpen:t=>e({terminalOpen:t}),toggleTerminal:()=>e(e=>({terminalOpen:!e.terminalOpen})),requestTerminalCreate:()=>e(e=>({terminalCreateNonce:e.terminalCreateNonce+1})),setSettingsActiveTab:t=>e({settingsActiveTab:_(t)}),setScrollPosition:(t,n)=>e(e=>({scrollPositions:{...e.scrollPositions,[t]:n}})),setDraftInput:t=>e({draftInput:t}),setSideContextBreakdownOpen:t=>e({sideContextBreakdownOpen:t}),setSkillsState:t=>e({skillsState:t}),setSelectedMailMessage:t=>e({selectedMailMessage:t})}),{name:`wrongstack-ui`,version:5,migrate:(e,t)=>{let n=e??{};return n.activeActivity=d(n.activeActivity),typeof n.sidebarWidth==`number`&&(n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth))),t<2&&(delete n.fleetDrawerOpen,delete n.agentsDrawerOpen),`currentView`in n&&(n.currentView=p(n.currentView)),`dockSection`in n&&(n.dockSection=h(n.dockSection)),`settingsActiveTab`in n&&(n.settingsActiveTab=_(n.settingsActiveTab)),n},merge:(e,t)=>{let n={...t,...e??{}};return n.activeActivity=d(n.activeActivity),n.currentView=p(n.currentView),n.dockSection=h(n.dockSection),n.settingsActiveTab=_(n.settingsActiveTab),n.sidebarWidth=Math.max(240,Math.min(560,n.sidebarWidth)),v()?{...n,...y({sidebarOpen:!1})}:n},partialize:e=>({sidebarOpen:e.sidebarOpen,activeActivity:e.activeActivity,sidebarWidth:e.sidebarWidth,promptHistory:e.promptHistory,pinnedIds:e.pinnedIds,compactMode:e.compactMode,favoriteSessionIds:e.favoriteSessionIds,sessionNicknames:e.sessionNicknames,fileExplorerWidth:e.fileExplorerWidth,refineEnabled:e.refineEnabled,hiddenChips:e.hiddenChips,workDashboardTab:e.workDashboardTab,inspectorOpen:e.inspectorOpen,inspectorTab:e.inspectorTab,skillsState:e.skillsState,currentView:e.currentView,dockSection:e.dockSection,settingsActiveTab:e.settingsActiveTab,scrollPositions:e.scrollPositions,draftInput:e.draftInput})}));function x(e={}){b.setState(y(e))}export{n as a,r as i,b as n,o,l as r,x as t};
@@ -1,17 +1,17 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,n,r,t as i}from"./chat-store-B2CjP2Zl.js";import{Sa as a,va as o,wa as s}from"./vendor-BTTkQ9Tn.js";import"./i18n-2wGPPdl_.js";import{n as c,r as l,t as u}from"./ui-store-di6oY7cy.js";import{a as d,c as f,i as p,l as m,o as h,s as g,t as _}from"./ws-client-B0-KwuTK.js";import{t as v}from"./session-store-ZMNU48xK.js";import{i as y,n as b}from"./codemap-activity-store-Cz0_AHqt.js";import{A as ee,D as x,M as S,a as C,d as te,f as ne,g as re,h as ie,i as ae,j as w,l as oe,m as se,n as T,o as E,p as D,r as ce,s as O,t as k,u as le,x as A}from"./stores-DyQOSkkD.js";import{r as j}from"./mailbox-store-D3omLzBk.js";import{n as ue,o as de}from"./view-navigation-BMRzqGbq.js";import{t as fe}from"./codemap-index-store-B-XLZpJu.js";import{n as M}from"./Toaster-BmyghnqJ.js";var N=e(s(),1);function pe(e,t){if(t)return!0;try{return new URLSearchParams(e).get(`shell`)===`desktop`}catch{return!1}}function P(){return typeof window>`u`?!1:pe(window.location.search,!!window.wrongstackDesktopHost)}function F(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function I(e,t=``){return typeof e==`string`?e:t}function L(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function me(e){let t=F(e.payload);if(!t)return null;switch(e.type){case`provider.thinking_delta`:{let e=I(t.text);return e?{kind:`thinking-delta`,text:e}:null}case`provider.text_delta`:{let e=I(t.text);return e?{kind:`text-delta`,text:e,messageId:I(t.messageId)}:null}case`provider.response`:return{kind:`response`,content:t.content,stopReason:I(t.stopReason)};case`run.result`:return{kind:`run-result`,status:I(t.status),iterations:L(t.iterations,1),...typeof t.finalText==`string`?{finalText:t.finalText}:{}};case`error`:return{kind:`error`,message:I(t.message,`Run failed`)};default:return null}}function R(e){let t=F(e.payload);if(!t)return null;if(e.type===`tool.started`){let e=I(t.name,`tool`);return{kind:`started`,id:I(t.id,e),name:e,input:t.input,messageId:I(t.messageId)}}if(e.type===`tool.progress`){let e=F(t.event);return{kind:`progress`,id:I(t.id),name:I(t.name,`tool`),eventType:I(e?.type),text:I(e?.text).trim()}}return e.type===`tool.executed`?{kind:`executed`,id:I(t.id),name:I(t.name),ok:t.ok!==!1,durationMs:L(t.durationMs),...typeof t.output==`string`?{output:t.output}:{},...Array.isArray(t.sage)?{sage:t.sage.filter(e=>typeof e==`string`)}:{}}:null}function z(e){let t=F(e.payload);if(!t)return null;switch(e.type){case`fleet.concurrency_update`:return{kind:`concurrency`,active:L(t.fleetConcurrency),maximum:L(t.fleetConcurrencyMax)};case`client.status_update`:return{kind:`client-status`,status:t};case`sessions.status_update`:return{kind:`sessions`,sessions:Array.isArray(t.sessions)?t.sessions:[]};case`coordinator.stats`:return{kind:`coordinator`,agents:Array.isArray(t.subagentStatuses)?t.subagentStatuses.filter(e=>F(e)!==null):[]};default:return null}}function he(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,n,r,t as i}from"./chat-store-LHzJqRCp.js";import{Aa as a,Ia as o,Pa as s}from"./vendor-CxV3l5PQ.js";import"./i18n-DxnYsmc-.js";import{n as c,r as l,t as u}from"./ui-store-C4Ybfoon.js";import{a as d,c as f,i as p,l as m,o as h,s as g,t as _}from"./ws-client-Cy3oRAmZ.js";import{t as v}from"./session-store-BE_S1f5v.js";import{i as y,n as b}from"./codemap-activity-store-B6n7KiS8.js";import{A as ee,D as x,M as S,a as C,d as te,f as ne,g as re,h as ie,i as ae,j as w,l as oe,m as se,n as T,o as E,p as D,r as ce,s as O,t as k,u as le,x as A}from"./stores-BS-Bdi-5.js";import{r as j}from"./mailbox-store-xh2Ux-Xs.js";import{n as ue,o as de}from"./view-navigation-DLdE7qHU.js";import{t as fe}from"./codemap-index-store-oapPwtvI.js";import{n as M}from"./Toaster-EXqX2jqp.js";var N=e(o(),1);function pe(e,t){if(t)return!0;try{return new URLSearchParams(e).get(`shell`)===`desktop`}catch{return!1}}function P(){return typeof window>`u`?!1:pe(window.location.search,!!window.wrongstackDesktopHost)}function F(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function I(e,t=``){return typeof e==`string`?e:t}function L(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function me(e){let t=F(e.payload);if(!t)return null;switch(e.type){case`provider.thinking_delta`:{let e=I(t.text);return e?{kind:`thinking-delta`,text:e}:null}case`provider.text_delta`:{let e=I(t.text);return e?{kind:`text-delta`,text:e,messageId:I(t.messageId)}:null}case`provider.response`:return{kind:`response`,content:t.content,stopReason:I(t.stopReason)};case`run.result`:return{kind:`run-result`,status:I(t.status),iterations:L(t.iterations,1),...typeof t.finalText==`string`?{finalText:t.finalText}:{}};case`error`:return{kind:`error`,message:I(t.message,`Run failed`)};default:return null}}function R(e){let t=F(e.payload);if(!t)return null;if(e.type===`tool.started`){let e=I(t.name,`tool`);return{kind:`started`,id:I(t.id,e),name:e,input:t.input,messageId:I(t.messageId)}}if(e.type===`tool.progress`){let e=F(t.event);return{kind:`progress`,id:I(t.id),name:I(t.name,`tool`),eventType:I(e?.type),text:I(e?.text).trim()}}return e.type===`tool.executed`?{kind:`executed`,id:I(t.id),name:I(t.name),ok:t.ok!==!1,durationMs:L(t.durationMs),...typeof t.output==`string`?{output:t.output}:{},...Array.isArray(t.sage)?{sage:t.sage.filter(e=>typeof e==`string`)}:{}}:null}function z(e){let t=F(e.payload);if(!t)return null;switch(e.type){case`fleet.concurrency_update`:return{kind:`concurrency`,active:L(t.fleetConcurrency),maximum:L(t.fleetConcurrencyMax)};case`client.status_update`:return{kind:`client-status`,status:t};case`sessions.status_update`:return{kind:`sessions`,sessions:Array.isArray(t.sessions)?t.sessions:[]};case`coordinator.stats`:return{kind:`coordinator`,agents:Array.isArray(t.subagentStatuses)?t.subagentStatuses.filter(e=>F(e)!==null):[]};default:return null}}function he(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
2
  <rect width="64" height="64" fill="#121210" />
3
3
  <path fill="#FD9F02" d="M5 27h10v10H5zM27 27h10v10H27zM38 27h10v10H38zM49 27h10v10H49z" />
4
4
  <path fill="#FE2E5F" d="M16 32h10v10H16z" />
5
5
  ${e===`ready`?`<circle cx="50" cy="14" r="14" fill="#22c55e" stroke="#fff" stroke-width="3" />`:e===`error`?`<circle cx="50" cy="14" r="14" fill="#ef4444" stroke="#fff" stroke-width="3" />`:e===`running`?`<circle cx="50" cy="14" r="14" fill="#f59e0b" stroke="#fff" stroke-width="3" />`:e===`attention`?`<circle cx="50" cy="14" r="14" fill="#eab308" stroke="#fff" stroke-width="3"><animate attributeName="opacity" values="1;0.3;1" dur="1s" repeatCount="indefinite"/></circle>`:``}
6
6
  </svg>`}function ge(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function _e(){if(typeof document>`u`)return null;let e=document.querySelector(`link[rel="icon"]`);return e||(e=document.createElement(`link`),e.rel=`icon`,e.type=`image/svg+xml`,document.head.appendChild(e)),e}var B=`idle`;function V(e){B=e;let t=_e();t&&(t.href=ge(he(e)))}var ve=!1;function ye(){ve||typeof document>`u`||(ve=!0,document.addEventListener(`visibilitychange`,()=>{!document.hidden&&(B===`ready`||B===`error`||B===`attention`)&&V(`idle`)}))}var be=2048,xe=2*1024*1024,Se=new Set([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),H=class extends Error{reason;constructor(e,t){super(e),this.reason=t,this.name=`ImageAttachmentError`}};function Ce(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}function we(e){let t=e.indexOf(`,`),n=t>=0?e.length-t-1:e.length;return Math.floor(n*3/4)}function Te(e){return/^data:([^;,]+)/.exec(e)?.[1]??`image/png`}async function Ee(e){try{return await createImageBitmap(e)}catch{let t=URL.createObjectURL(e);try{return await new Promise((e,n)=>{let r=new Image;r.onload=()=>e(r),r.onerror=()=>n(Error(`image decode failed`)),r.src=t})}finally{URL.revokeObjectURL(t)}}}function De(e,t,n,r,i){let a=document.createElement(`canvas`);a.width=t,a.height=n;let o=a.getContext(`2d`);if(!o)throw new H(`canvas 2d context unavailable`,`decode_failed`);o.drawImage(e,0,0,t,n);let s=a.toDataURL(`image/webp`,i);return s.startsWith(`data:image/webp`)?s:r?a.toDataURL(`image/png`):a.toDataURL(`image/jpeg`,i)}var Oe=0;function ke(){return Oe+=1,`img_${Date.now()}_${Oe}`}async function Ae(e){let t=Se.has(e.type),n;try{n=await Ee(e)}catch{throw new H(`Could not decode image "${e.name}"`,`decode_failed`)}let r=n.width,i=n.height,a=Math.max(r,i);if(!(!t||a>be||e.size>xe)){let t=await Ce(e);return{id:ke(),dataUrl:t,mediaType:e.type,bytes:we(t),name:e.name||void 0,width:r,height:i}}let o=e.type!==`image/jpeg`,s=Math.min(1,be/a),c=.85,l=De(n,Math.max(1,Math.round(r*s)),Math.max(1,Math.round(i*s)),o,c);we(l)>4194304&&(s=Math.min(s,1280/a),c=.7,l=De(n,Math.max(1,Math.round(r*s)),Math.max(1,Math.round(i*s)),o,c)),`close`in n&&n.close();let u=we(l);if(u>4194304)throw new H(`Image "${e.name}" is too large after compression`,`too_large`);return{id:ke(),dataUrl:l,mediaType:Te(l),bytes:u,name:e.name||void 0,width:Math.max(1,Math.round(r*s)),height:Math.max(1,Math.round(i*s))}}function je(e){return e.map(e=>{let t=e.dataUrl.indexOf(`,`);return{data:t>=0?e.dataUrl.slice(t+1):e.dataUrl,mediaType:e.mediaType,...e.name?{name:e.name}:{}}})}var U=null;function Me(){if(typeof window>`u`)return null;if(U)return U;let e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{U=new e}catch{return null}return U}function W(e,t,n){let r=Me();if(!r)return;let i=r.currentTime+t,a=r.createOscillator(),o=r.createGain();a.type=`sine`,a.frequency.value=e,o.gain.setValueAtTime(0,i),o.gain.linearRampToValueAtTime(.18,i+.01),o.gain.exponentialRampToValueAtTime(1e-4,i+n),a.connect(o).connect(r.destination),a.start(i),a.stop(i+n+.02)}function Ne(){W(659.25,0,.18),W(880,.12,.24)}function Pe(){W(523.25,0,.15),W(659.25,.1,.15),W(783.99,.2,.25)}var G=`default`;G=typeof window<`u`&&`Notification`in window?Notification.permission:`unsupported`;async function Fe(){if(G===`unsupported`||G===`granted`||G===`denied`)return G;try{let e=await Notification.requestPermission();return G=e,e}catch{return`denied`}}function Ie(e,t,n){if(!(typeof document>`u`||!document.hidden)&&G===`granted`)try{let r=new Notification(e,{body:t,icon:`/wrongstack.svg`,tag:n??`wrongstack-run`,requireInteraction:n===`wrongstack-confirm`});r.onclick=()=>{window.focus(),r.close()}}catch{}}var Le={"iteration.started":Re,"provider.text_delta":ze,"provider.thinking_delta":Be,"tool.started":Ve,"tool.progress":He,"tool.executed":Ue,"tool.confirm_needed":We,"run.result":Ge};function Re(e){if(!p(e))return;d(e);let t=e.payload;v.getState().setIteration({index:t.index,max:t.maxIterations??0}),i.getState().setLoading(!0),typeof document<`u`&&document.hidden&&V(`running`),i.getState().runStart===null&&i.getState().setRunStart({at:Date.now(),cost:v.getState().cost}),i.getState().setCurrentAssistantMessage(null)}function ze(e){if(!p(e))return;let t=me(e);if(t?.kind!==`text-delta`)return;m.flush(`__thinking__`),i.getState().clearThinking();let n=i.getState().currentAssistantMessageId;n||(n=i.getState().addMessage({role:`assistant`,content:``,streaming:!0}),i.getState().setCurrentAssistantMessage(n)),m.push(n,t.text,(e,t)=>i.getState().appendToMessage(e,t))}function Be(e){if(!p(e))return;let t=me(e);t?.kind===`thinking-delta`&&m.push(`__thinking__`,t.text,(e,t)=>i.getState().appendThinking(t))}function Ve(e){if(!p(e))return;d(e);let t=R(e);if(t?.kind!==`started`)return;let n=i.getState().getToolMessageId(t.id);if(n){i.getState().setCurrentToolId(n);return}m.flushAll(),i.getState().clearThinking();let r=i.getState().currentAssistantMessageId;r&&i.getState().finalizeMessage(r,{final:!1}),i.getState().setCurrentAssistantMessage(null);let a=i.getState().addMessage({role:`tool`,content:``,toolName:t.name,toolInput:t.input,toolUseId:t.id});i.getState().setCurrentToolId(a),i.getState().addExecution({id:t.id,name:t.name,input:t.input,ok:!0,startedAt:Date.now()})}function He(e){if(!p(e))return;let t=R(e);if(t?.kind!==`progress`)return;let n=t.text;if(!n)return;let r=i.getState().getToolMessageId(t.id);if(!r)return;let a=t.eventType===`warning`?`⚠ `:``;m.push(r,`${a}${n}\n`,(e,n)=>i.getState().appendToolProgressLinesByUseId(t.id,n.split(`
7
- `).filter(e=>e.length>0)))}function Ue(e){if(!p(e))return;d(e);let t=R(e);if(t?.kind!==`executed`)return;let{currentToolId:n}=i.getState(),r=t.id?i.getState().getToolMessageId(t.id):n;r&&(m.drop(r),t.id?i.getState().setToolResultByUseId(t.id,t.output??``,t.ok):i.getState().setToolResult(r,t.output??``,t.ok),i.getState().updateMessage(r,{toolDurationMs:t.durationMs,...t.sage&&t.sage.length>0?{sageLines:t.sage}:{}})),t.id&&i.getState().updateExecution(t.id,{completedAt:Date.now(),durationMs:t.durationMs,output:t.output,ok:t.ok}),n&&r===n&&i.getState().setCurrentToolId(null)}function We(e){if(!p(e))return;let t=e.payload;if(l.getState().yolo===!0&&!t.boundaryReason){_(S.getState().wsUrl).sendConfirm(t.id,`yes`),c.getState().hideConfirm();return}c.getState().showConfirm({id:t.id,toolName:t.toolName,input:t.input,suggestedPattern:t.suggestedPattern,decisionSource:t.decisionSource,riskTier:t.riskTier,boundaryReason:t.boundaryReason});try{Pe()}catch{}Fe(),Ie(`${v.getState().projectName||`Agent`} needs approval`,`Tool "${t.toolName}" is waiting for your decision.`,`agent-confirm`),typeof document<`u`&&document.hidden&&V(`attention`)}function Ge(e){if(!p(e))return;let n=h(e,{status:`string`},{iterations:`number`,finalText:`string`,error:`object`});if(!n)return;let a=n.iterations??1;m.flushAll(),i.getState().flushThinkingLog(Math.max(1,a)),v.getState().setIteration(null),i.getState().setLoading(!1);let o=i.getState().currentAssistantMessageId,s=n.status===`done`?n.finalText?.trim():void 0;if(o){let e=i.getState().messages.find(e=>e.id===o);i.getState().updateMessage(o,{content:e?.content?.trim()?e.content:s??e?.content??``}),i.getState().finalizeMessage(o,{final:!0})}else if(s){let e=i.getState().runStart,t=r(s).stripped.trim(),n=i.getState().messages,a;for(let t=n.length-1;t>=0;t--){let r=n[t];if(r?.role===`assistant`&&(!e||r.timestamp>=e.at)){a=r;break}}let o=a?.content.trim();if(!(o!==void 0&&(o===s||o===t))){let e=i.getState().addMessage({role:`assistant`,content:s});i.getState().finalizeMessage(e,{final:!0})}}i.getState().setCurrentAssistantMessage(null),i.getState().clearThinking();let c=i.getState().runStart;if(c&&n.status===`done`){let e=i.getState().messages,n=-1,r=0;for(let i=e.length-1;i>=0;i--){let a=t(e[i]);if(a.role===`assistant`&&n===-1&&a.content&&(n=i),a.role===`tool`&&a.timestamp>=c.at&&(r+=1),a.role===`user`&&a.timestamp<=c.at)break}if(n!==-1){let t=v.getState().cost;i.getState().updateMessage(e[n]?.id,{runSummary:{iterations:a,tools:r,durationMs:Date.now()-c.at,costDelta:Math.max(0,t-c.cost)}})}}if(i.getState().setRunStart(null),n.status!==`done`&&n.error)i.getState().addMessage({role:`assistant`,content:`Error: ${n.error.message}`,isError:!0}),M.error(`Run ended: ${n.error.message}`),Ie(`${v.getState().projectName||`Agent`} run failed`,n.error.message),typeof document<`u`&&document.hidden&&V(`error`);else if(n.status===`done`){if(typeof document<`u`&&document.hidden&&(M.success(`Run completed in ${a} iteration${a===1?``:`s`}`),Ie(`${v.getState().projectName||`Agent`} run finished`,`Completed in ${a} iteration${a===1?``:`s`}.`),V(`ready`)),Fe(),S.getState().soundOnComplete)try{Ne()}catch{}typeof document<`u`&&document.dispatchEvent(new CustomEvent(`chat:next-step-countdown`))}let l=i.getState(),u=l.queue[0];if(!u)return;if(u.alreadyDispatched===!0){Ke(u);let e=l.dequeueDrainable();return e?qe(e):void 0}let d=l.dequeue();if(d)return qe(d)}function Ke(e){if(e.bubbleAdded===!0)return;let t=e.images??[];i.getState().addMessage({role:`user`,content:e.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}))}:{}}),e.bubbleAdded=!0}function qe(e){let t=_(S.getState().wsUrl),n=e.images??[];if(i.getState().addMessage({role:`user`,content:e.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}))}:{}}),e.mode===`btw`){e.alreadyDispatched!==!0&&t.sendMailboxMessage({type:`btw`,to:`leader`,subject:`btw from WebUI`,body:e.text,priority:`normal`,audience:`all`});return}i.getState().setLoading(!0),t.sendMessage(e.text,n.length>0?je(n):void 0)}var Je={"coordinator.status":e=>{let t=e.payload;w.getState().setCoordinatorStatus(t.status,t.mode),t.taskQueue&&w.getState().updateCoordinatorStats({total:t.subagentCount??0,running:0,idle:0,stopped:0,inFlight:t.taskQueue.running,pending:t.taskQueue.pending,completed:t.taskQueue.completed})},"coordinator.stats":e=>{let t=e.payload;w.getState().updateCoordinatorStats(t)},"budget.threshold_reached":e=>{let t=e.payload;w.getState().pushEvent(`budget.threshold_reached`,t,t.ts??Date.now(),t.subagentId,t.taskId),t.limit>0&&t.used/t.limit*100>=85&&w.getState().recordBudgetAlert(t.subagentId,t.kind,t.used,t.limit),w.getState().updateSubagentBudget(t.subagentId,{budgetUsage:{iterations:0,toolCalls:0,tokens:0,costUsd:0,elapsedMs:t.used??0}})},"budget.decision":e=>{let t=e.payload,n=t.extended?.timeoutMs??t.extended?.maxIterations??t.extended?.maxToolCalls;w.getState().recordBudgetDecision(t.subagentId,t.kind,t.decision,n),w.getState().pushEvent(`budget.decision`,{subagentId:t.subagentId,kind:t.kind,decision:t.decision,newLimit:n},Date.now(),t.subagentId)},"subagent.budget_extended":e=>{let t=e.payload;w.getState().recordBudgetExtended(t.subagentId,t.kind,t.extendedTo),w.getState().pushEvent(`subagent.budget_extended`,t,Date.now(),t.subagentId)},"consensus.vote_initiated":e=>{let t=e.payload;w.getState().pushConsensusVote(t.changeId,t.title,t.eligible),w.getState().pushEvent(`consensus.vote_initiated`,t,Date.now()),M.info(`Vote started: `+t.title)},"consensus.vote_cast":e=>{let t=e.payload,n=w.getState().consensusVotes.get(t.changeId)?.eligible.find(e=>e.agentId===t.voterId);w.getState().recordConsensusVote(t.changeId,t.voterId,n?.agentName??t.voterId,t.value),w.getState().pushEvent(`consensus.vote_cast`,t,Date.now(),t.voterId)},"consensus.vote_resolved":e=>{let t=e.payload;w.getState().resolveConsensusVote(t.changeId,t.result,t.approveCount,t.rejectCount),w.getState().pushEvent(`consensus.vote_resolved`,t,Date.now()),M.info(`Vote resolved: `+t.result+` (y`+t.approveCount+` n`+t.rejectCount+`)`)},"task.pending":e=>{let t=e.payload;w.getState().pushTaskPending(t.taskId,t.description,t.priority),w.getState().pushEvent(`task.pending`,t,Date.now())},"task.started":e=>{let t=e.payload;w.getState().startTask(t.taskId,t.subagentId),w.getState().pushEvent(`task.started`,t,Date.now(),t.subagentId)},"task.completed":e=>{let t=e.payload;w.getState().completeTask(t.taskId,t.status,t.durationMs),w.getState().pushEvent(`task.completed`,t,Date.now(),t.subagentId)},"task.failed":e=>{let t=e.payload;w.getState().failTask(t.taskId,t.error),w.getState().pushEvent(`task.failed`,{taskId:t.taskId,subagentId:t.subagentId,error:String(t.error).slice(0,120)},Date.now(),t.subagentId),M.error(`Task failed: `+String(t.error).slice(0,80))}};function K(){let e=_();e?.send?.({type:`mailbox.messages`,payload:{limit:30,incompleteOnly:!0}}),e?.send?.({type:`mailbox.agents`,payload:{}})}var q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,K()},300)}function Ye(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().setTree(t.root,t.tree)}function Xe(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().openFile(t.filePath,t.content)}function Ze(e){let t=e.payload;t.success?x.getState().markSaved(t.filePath):t.error&&x.getState().setError(`Save failed: ${t.error}`)}function Qe(e){let t=f(`mailbox.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function $e(e){let t=e.payload;t?.messages&&j.getState().setMessages(t.messages)}function et(e){let t=e.payload;t?.agents&&j.getState().setAgents(t.agents)}function tt(e){let t=f(`mailbox.received`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function nt(e){J()}function rt(e){j.getState().setMessages([]),K()}function it(e){J()}function at(e){let t=e.payload;t&&typeof t.totalRemoved==`number`&&j.getState().setLastCompaction({readByAllRemoved:t.readByAllRemoved??0,expiredRemoved:t.expiredRemoved??0,stalePurged:t.stalePurged??0,totalRemoved:t.totalRemoved,remaining:t.remaining??0}),J()}function ot(e){let t=e.payload;if(t?.success){J();return}M.error(`Mailbox action failed: ${t?.error??`unknown error`}`)}var st={"files.tree":Ye,"files.read":Xe,"files.written":Ze,"mailbox.event":Qe,"mailbox.messages":$e,"mailbox.agents":et,"mailbox.received":tt,"mailbox.agent_registered":nt,"mailbox.cleared":rt,"mailbox.purged":it,"mailbox.compacted":at,"mailbox.action_result":ot};function ct(e){let t=e.payload;k.getState().setSnapshot(t.worktrees??[],t.baseBranch??``)}function lt(e){let t=e.payload;k.getState().pushEvent(t)}function ut(e){let t=e.payload;k.getState().setOrphans(t.orphans??[],t.canClean??!1,t.reason)}function dt(e){let t=e.payload;k.getState().setCleanResult({...t,at:Date.now()})}function ft(e){let t=e.payload;k.getState().setMergeResult({...t,at:Date.now()})}function pt(e){let t=e.payload;k.getState().setDiff(t.dir,t.summary)}function mt(e){A.getState().applyEvent(e.payload);let t=f(`subagent.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0))}function ht(e){let t=z(e);t?.kind===`concurrency`&&A.setState({fleetConcurrency:t.active,fleetConcurrencyMax:t.maximum})}function gt(e){let t=z(e);if(t?.kind!==`client-status`)return;let n=t.status;oe.getState().setCurrentSession({clientType:n.clientType,clientId:n.clientId,agentCount:n.agentCount,model:n.model,mode:n.mode,toolCalls:n.toolCalls,inputTokens:n.inputTokens,outputTokens:n.outputTokens,cacheTokens:n.cacheTokens,costUsd:n.costUsd,timestamp:n.timestamp})}function _t(e){let t=z(e);if(t?.kind!==`sessions`)return;oe.getState().setLiveSessions(t.sessions);let n=Date.now();if(n-yt>=5e3&&(yt=n,K()),n-vt<1e3)return;vt=n;let r=f(`sessions.status_update`,e.payload);r&&(g.getState().pushEvent(r),g.getState().setActive(!0))}var vt=0,yt=0,bt={"worktree.state":ct,"worktree.event":lt,"worktree.orphans":ut,"worktree.cleanup_result":dt,"worktree.merge_result":ft,"worktree.diff_result":pt,"subagent.event":mt,"fleet.concurrency_update":ht,"client.status_update":gt,"sessions.status_update":_t};function xt(e,t){let n=e=>e.trim().replace(/\s+/g,` `).toLowerCase();return n(e)===n(t)}var St=50,Ct=200;function wt(e){return e.length<=300?e:`${e.slice(0,299)}…`}function Tt(e){return{...e,text:wt(e.text)}}function Et(e){let t=[];for(let n of Object.values(e))n.state===`exited`&&t.push(n);if(t.length<=Ct)return e;t.sort((e,t)=>(t.exitedAt??t.lastSeenAt).localeCompare(e.exitedAt??e.lastSeenAt));let n={...e};for(let e of t.slice(Ct))delete n[e.id];return n}var Y=o()(e=>({traces:[],contextMemories:{},transitions:[],pushTrace:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=t.injected.map(Tt),a=t.activated.map(Tt);for(let e of i){let i=n[e.id];n[e.id]={...e,state:i?.state===`active`?`active`:`injected`,trigger:t.trigger,enteredAt:i?.enteredAt??t.at,lastSeenAt:t.at};let a=`${t.at}_injected_${e.id}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e.id,action:`injected`,reason:`${t.trigger} · score ${e.score.toFixed(2)}`})}return{traces:[{...t,activated:a,injected:i},...e.traces.filter(e=>e.runId!==t.runId)].slice(0,St),contextMemories:Et(n),transitions:r.slice(0,100)}}),applyContextSnapshot:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=new Set(t.activeMemoryIds);for(let e of t.activeMemoryIds){let r=n[e];n[e]=r?{...r,state:`active`,lastSeenAt:t.at,exitedAt:void 0}:Dt(e,t.at,`active`)}for(let e of t.enteredMemoryIds){let n=`${t.at}_entered_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`entered`,reason:`present in provider request`})}for(let e of t.exitedMemoryIds){let i=n[e];i&&(n[e]={...i,state:`exited`,exitedAt:t.at});let a=`${t.at}_exited_${e}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e,action:`exited`,reason:`absent from provider request`})}for(let[e,a]of Object.entries(n))if((a.state===`injected`||a.state===`active`)&&!i.has(e)&&(n[e]={...a,state:`exited`,exitedAt:t.at},!t.exitedMemoryIds.includes(e))){let n=`${t.at}_exited_before_provider_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`exited`,reason:a.state===`injected`?`removed before provider request`:`absent from provider context snapshot`})}return{contextMemories:Et(n),transitions:r.slice(0,100)}}),resetContext:()=>e({contextMemories:{},transitions:[]}),clear:()=>e({traces:[],contextMemories:{},transitions:[]})}));function Dt(e,t,n){return{id:e,kind:`unknown`,text:`Memory details were not present in this UI process.`,score:0,relationStrength:0,anchors:[],tags:[],activationReasons:[],importance:0,confidence:0,freshness:0,persistence:`unknown`,state:n,trigger:`context snapshot`,enteredAt:t,lastSeenAt:t,isPlaceholder:!0}}var Ot=100,kt=new Set([`exited`,`superseded`,`archived`,`staled`,`contradicted`]);function At(e,t=new Date){let n=e.event,r=X(e.memoryId),i=X(e.at)??t.toISOString(),a={id:`${n}_${t.getTime()}_${Math.random().toString(36).slice(2,7)}`,at:i,event:n};if(n===`memory.accepted`&&r)return{...a,action:`entered`,memoryId:r,label:`${r} entered memory`,detail:Mt(e)};if(n===`memory.merged`&&r){let t=Array.isArray(e.mergedIds)?e.mergedIds.length:0;return{...a,action:`merged`,memoryId:r,label:`${r} merged`,detail:t>0?`${t} records folded in`:void 0}}if(n===`memory.recovered`&&r)return{...a,action:`recovered`,memoryId:r,label:`${r} recovered`,detail:X(e.reason)};if(n===`memory.deleted`&&r)return{...a,action:`exited`,memoryId:r,label:`${r} exited memory`,detail:Nt(e)};if(n===`memory.updated`&&r){let t=X(e.status)??`updated`;return{...a,action:t===`deleted`?`exited`:`updated`,memoryId:r,label:t===`deleted`?`${r} exited memory`:`${r} updated → ${t}`,detail:Mt(e)}}if(n===`memory.graph_edge_added`){let t=X(e.from),n=X(e.to);if(!t?.startsWith(`mem:`)||!n?.startsWith(`mem:`))return null;let r=X(e.relation)??`related_to`,i=Z(e.weight),o=Array.isArray(e.evidence)?e.evidence.filter(e=>typeof e==`string`):[];return{...a,action:`related`,memoryId:t.startsWith(`mem:`)?t.slice(4):void 0,label:`${Pt(t)} ↔ ${Pt(n)}`,detail:[r,i===void 0?void 0:`weight ${i.toFixed(2)}`,o.length>0?`why: ${o.join(`, `)}`:void 0].filter(Boolean).join(` · `)}}return n===`memory.relationships_rebuilt`?{...a,action:`related`,label:`Memory relationships rebuilt`,detail:`${Z(e.added)??0} added / ${Z(e.proposed)??0} proposed`}:n===`memory.superseded`&&r?{...a,action:`superseded`,memoryId:r,label:`${r} → superseded`,detail:X(e.reason)??Mt(e)}:n===`memory.archived`&&r?{...a,action:`archived`,memoryId:r,label:`${r} → archived`,detail:X(e.reason)}:n===`memory.staled`&&r?{...a,action:`staled`,memoryId:r,label:`${r} → staled`,detail:X(e.reason)??`anchor drift detected`}:n===`memory.contradicted`&&r?{...a,action:`contradicted`,memoryId:r,label:`${r} → contradicted`,detail:X(e.reason)??`conflicting evidence`}:null}var jt=o()(e=>({items:[],pushEvent:t=>e(e=>{let n=At(t);return n?{items:[n,...kt.has(n.action)?e.items.filter(e=>!(kt.has(e.action)&&e.memoryId===n.memoryId)):e.items].slice(0,Ot)}:e}),clear:()=>e({items:[]})}));function X(e){return typeof e==`string`&&e.length>0?e:void 0}function Z(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function Mt(e){let t=[X(e.kind),X(e.persistence)],n=Z(e.confidence),r=Z(e.freshness);return n!==void 0&&t.push(`confidence ${n.toFixed(2)}`),r!==void 0&&t.push(`freshness ${r.toFixed(2)}`),t.filter(Boolean).join(` · `)||void 0}function Nt(e){let t=X(e.reason),n=Z(e.removedEdges);return[t,n===void 0?void 0:`${n} edges removed`].filter(Boolean).join(` · `)||void 0}function Pt(e){let t=e.replace(/^mem:/,``);return t.length>26?`${t.slice(0,23)}…`:t}function Ft(e){if(!e||e.length===0)return;let t=e.map(e=>e.status);return t.some(e=>e===`failed`)?`failed`:t.every(e=>e===`completed`||e===`skipped`)?`completed`:t.some(e=>e===`paused`)?`paused`:`running`}function It(e){let t=e.payload,n=Array.isArray(t.phases)?t.phases:void 0,r=Ft(n);D.getState().setState({phases:n,activePhaseId:typeof t.activePhaseId==`string`?t.activePhaseId:void 0,overallPercent:typeof t.overallPercent==`number`?t.overallPercent:void 0,autonomous:typeof t.autonomous==`boolean`?t.autonomous:void 0,title:typeof t.title==`string`?t.title:void 0,goal:typeof t.goal==`string`?t.goal:void 0,status:r,multiBoard:t.multiBoard===!0,lastError:r===`failed`?D.getState().lastError:null})}function Lt(e){let t=e.payload,n={totalPhases:typeof t.totalPhases==`number`?t.totalPhases:0,completed:typeof t.completed==`number`?t.completed:0,failed:typeof t.failed==`number`?t.failed:0,totalTasks:typeof t.totalTasks==`number`?t.totalTasks:0,completedTasks:typeof t.completedTasks==`number`?t.completedTasks:0,failedTasks:typeof t.failedTasks==`number`?t.failedTasks:0};D.getState().setState({progress:n,overallPercent:typeof t.percentComplete==`number`?Math.round(t.percentComplete):void 0,status:n.failed>0||n.failedTasks>0?`failed`:`running`,lastEvent:`progress`})}function Q(e){let t=e.payload,n=typeof t.title==`string`&&t.title?t.title:`Goal`,r=typeof t.error==`string`&&t.error?t.error:void 0;if(e.type===`goal.paused`){D.getState().setState({status:`paused`,autonomous:!1,lastEvent:`paused`}),M.info(`Goal paused`);return}if(e.type===`goal.resumed`){D.getState().setState({status:`running`,autonomous:!0,lastEvent:`resumed`}),M.info(`Goal resumed`);return}if(e.type===`goal.stopped`){D.getState().setState({status:`stopped`,autonomous:!1,lastEvent:`stopped`}),M.warn(`Goal stopped`);return}if(e.type===`goal.cleared`){D.getState().clear();return}if(e.type===`goal.reverted`){let e=t.ok===!0,n=typeof t.reverted==`number`?t.reverted:0,r=typeof t.reason==`string`?t.reason:void 0;e?M.success(n>0?`Reverted ${n} commit${n===1?``:`s`}`:`Nothing to revert`):M.error(`Revert failed: ${r??`unknown error`}`),D.getState().setState({lastEvent:`reverted`});return}if(e.type===`goal.saved`){D.getState().setState({lastEvent:`saved`}),M.success(`Goal graph saved`);return}if(e.type===`goal.completed`){D.getState().setState({status:`completed`,autonomous:!1,overallPercent:100,lastEvent:`completed`,lastError:null}),M.success(`${n} completed`);return}if(e.type===`goal.failed`||e.type===`goal.error`){let e=r??(typeof t.message==`string`?t.message:`${n} failed`);D.getState().setState({status:`failed`,autonomous:!1,lastEvent:`failed`,lastError:e}),M.error(e)}}function Rt(e){let t=e.payload;D.getState().setState({lastEvent:`list`,graphs:Array.isArray(t.graphs)?t.graphs:[]})}function zt(e){let t=e.payload;ne.getState().setGoal(t)}function Bt(e){let t=e.payload;l.getState().set(t),t.yolo===!0&&c.getState().confirmInfo&&c.getState().hideConfirm()}function Vt(e){if(!p(e))return;let t=e.payload,n;if(t.decision.type===`answer`){let e=t.decision.rationale&&t.decision.rationale!==t.decision.text?`\n\n_${t.decision.rationale}_`:``;n=`🧠 ${t.decision.text??``}${e}`}else n=t.decision.type===`deny`?`🧠 Denied: ${t.decision.reason??``}`:`🧠 The Brain escalated this question back to you — it needs human judgement.`;i.getState().addMessage({role:`assistant`,content:n})}function Ht(e){if(!p(e))return;let t=e.payload;if(t.event===`brain.intervention`){let e=t.decision?.rationale??t.decision?.text??``,n=t.intervened?`🧠 **Brain intervention** — corrective guidance was sent to the agent.`:`🧠 **Brain check** — a distress signal was reviewed; no action needed.`;i.getState().addMessage({role:`assistant`,content:[n,t.request?.question??``,e?`_${e}_`:``].filter(Boolean).join(`
7
+ `).filter(e=>e.length>0)))}function Ue(e){if(!p(e))return;d(e);let t=R(e);if(t?.kind!==`executed`)return;let{currentToolId:n}=i.getState(),r=t.id?i.getState().getToolMessageId(t.id):n;r&&(m.drop(r),t.id?i.getState().setToolResultByUseId(t.id,t.output??``,t.ok):i.getState().setToolResult(r,t.output??``,t.ok),i.getState().updateMessage(r,{toolDurationMs:t.durationMs,...t.sage&&t.sage.length>0?{sageLines:t.sage}:{}})),t.id&&i.getState().updateExecution(t.id,{completedAt:Date.now(),durationMs:t.durationMs,output:t.output,ok:t.ok}),n&&r===n&&i.getState().setCurrentToolId(null)}function We(e){if(!p(e))return;let t=e.payload;if(l.getState().yolo===!0&&!t.boundaryReason){_(S.getState().wsUrl).sendConfirm(t.id,`yes`),c.getState().hideConfirm();return}c.getState().showConfirm({id:t.id,toolName:t.toolName,input:t.input,suggestedPattern:t.suggestedPattern,decisionSource:t.decisionSource,riskTier:t.riskTier,boundaryReason:t.boundaryReason});try{Pe()}catch{}Fe(),Ie(`${v.getState().projectName||`Agent`} needs approval`,`Tool "${t.toolName}" is waiting for your decision.`,`agent-confirm`),typeof document<`u`&&document.hidden&&V(`attention`)}function Ge(e){if(!p(e))return;let n=h(e,{status:`string`},{iterations:`number`,finalText:`string`,error:`object`});if(!n)return;let a=n.iterations??1;m.flushAll(),i.getState().flushThinkingLog(Math.max(1,a)),v.getState().setIteration(null),i.getState().setLoading(!1);let o=i.getState().currentAssistantMessageId,s=n.status===`done`?n.finalText?.trim():void 0;if(o){let e=i.getState().messages.find(e=>e.id===o);i.getState().updateMessage(o,{content:e?.content?.trim()?e.content:s??e?.content??``}),i.getState().finalizeMessage(o,{final:!0})}else if(s){let e=i.getState().runStart,t=r(s).stripped.trim(),n=i.getState().messages,a;for(let t=n.length-1;t>=0;t--){let r=n[t];if(r?.role===`assistant`&&(!e||r.timestamp>=e.at)){a=r;break}}let o=a?.content.trim();if(!(o!==void 0&&(o===s||o===t))){let e=i.getState().addMessage({role:`assistant`,content:s});i.getState().finalizeMessage(e,{final:!0})}}i.getState().setCurrentAssistantMessage(null),i.getState().clearThinking();let c=i.getState().runStart;if(c&&n.status===`done`){let e=i.getState().messages,n=-1,r=0;for(let i=e.length-1;i>=0;i--){let a=t(e[i]);if(a.role===`assistant`&&n===-1&&a.content&&(n=i),a.role===`tool`&&a.timestamp>=c.at&&(r+=1),a.role===`user`&&a.timestamp<=c.at)break}if(n!==-1){let t=v.getState().cost;i.getState().updateMessage(e[n]?.id,{runSummary:{iterations:a,tools:r,durationMs:Date.now()-c.at,costDelta:Math.max(0,t-c.cost)}})}}if(i.getState().setRunStart(null),n.status!==`done`&&n.error)i.getState().addMessage({role:`assistant`,content:`Error: ${n.error.message}`,isError:!0}),M.error(`Run ended: ${n.error.message}`),Ie(`${v.getState().projectName||`Agent`} run failed`,n.error.message),typeof document<`u`&&document.hidden&&V(`error`);else if(n.status===`done`){if(typeof document<`u`&&document.hidden&&(M.success(`Run completed in ${a} iteration${a===1?``:`s`}`),Ie(`${v.getState().projectName||`Agent`} run finished`,`Completed in ${a} iteration${a===1?``:`s`}.`),V(`ready`)),Fe(),S.getState().soundOnComplete)try{Ne()}catch{}typeof document<`u`&&document.dispatchEvent(new CustomEvent(`chat:next-step-countdown`))}let l=i.getState(),u=l.queue[0];if(!u)return;if(u.alreadyDispatched===!0){Ke(u);let e=l.dequeueDrainable();return e?qe(e):void 0}let d=l.dequeue();if(d)return qe(d)}function Ke(e){if(e.bubbleAdded===!0)return;let t=e.images??[];i.getState().addMessage({role:`user`,content:e.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}))}:{}}),e.bubbleAdded=!0}function qe(e){let t=_(S.getState().wsUrl),n=e.images??[];if(i.getState().addMessage({role:`user`,content:e.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}))}:{}}),e.mode===`btw`){e.alreadyDispatched!==!0&&t.sendMailboxMessage({type:`btw`,to:`leader`,subject:`btw from WebUI`,body:e.text,priority:`normal`,audience:`all`});return}i.getState().setLoading(!0),t.sendMessage(e.text,n.length>0?je(n):void 0)}var Je={"coordinator.status":e=>{let t=e.payload;w.getState().setCoordinatorStatus(t.status,t.mode),t.taskQueue&&w.getState().updateCoordinatorStats({total:t.subagentCount??0,running:0,idle:0,stopped:0,inFlight:t.taskQueue.running,pending:t.taskQueue.pending,completed:t.taskQueue.completed})},"coordinator.stats":e=>{let t=e.payload;w.getState().updateCoordinatorStats(t)},"budget.threshold_reached":e=>{let t=e.payload;w.getState().pushEvent(`budget.threshold_reached`,t,t.ts??Date.now(),t.subagentId,t.taskId),t.limit>0&&t.used/t.limit*100>=85&&w.getState().recordBudgetAlert(t.subagentId,t.kind,t.used,t.limit),w.getState().updateSubagentBudget(t.subagentId,{budgetUsage:{iterations:0,toolCalls:0,tokens:0,costUsd:0,elapsedMs:t.used??0}})},"budget.decision":e=>{let t=e.payload,n=t.extended?.timeoutMs??t.extended?.maxIterations??t.extended?.maxToolCalls;w.getState().recordBudgetDecision(t.subagentId,t.kind,t.decision,n),w.getState().pushEvent(`budget.decision`,{subagentId:t.subagentId,kind:t.kind,decision:t.decision,newLimit:n},Date.now(),t.subagentId)},"subagent.budget_extended":e=>{let t=e.payload;w.getState().recordBudgetExtended(t.subagentId,t.kind,t.extendedTo),w.getState().pushEvent(`subagent.budget_extended`,t,Date.now(),t.subagentId)},"consensus.vote_initiated":e=>{let t=e.payload;w.getState().pushConsensusVote(t.changeId,t.title,t.eligible),w.getState().pushEvent(`consensus.vote_initiated`,t,Date.now()),M.info(`Vote started: `+t.title)},"consensus.vote_cast":e=>{let t=e.payload,n=w.getState().consensusVotes.get(t.changeId)?.eligible.find(e=>e.agentId===t.voterId);w.getState().recordConsensusVote(t.changeId,t.voterId,n?.agentName??t.voterId,t.value),w.getState().pushEvent(`consensus.vote_cast`,t,Date.now(),t.voterId)},"consensus.vote_resolved":e=>{let t=e.payload;w.getState().resolveConsensusVote(t.changeId,t.result,t.approveCount,t.rejectCount),w.getState().pushEvent(`consensus.vote_resolved`,t,Date.now()),M.info(`Vote resolved: `+t.result+` (y`+t.approveCount+` n`+t.rejectCount+`)`)},"task.pending":e=>{let t=e.payload;w.getState().pushTaskPending(t.taskId,t.description,t.priority),w.getState().pushEvent(`task.pending`,t,Date.now())},"task.started":e=>{let t=e.payload;w.getState().startTask(t.taskId,t.subagentId),w.getState().pushEvent(`task.started`,t,Date.now(),t.subagentId)},"task.completed":e=>{let t=e.payload;w.getState().completeTask(t.taskId,t.status,t.durationMs),w.getState().pushEvent(`task.completed`,t,Date.now(),t.subagentId)},"task.failed":e=>{let t=e.payload;w.getState().failTask(t.taskId,t.error),w.getState().pushEvent(`task.failed`,{taskId:t.taskId,subagentId:t.subagentId,error:String(t.error).slice(0,120)},Date.now(),t.subagentId),M.error(`Task failed: `+String(t.error).slice(0,80))}};function K(){let e=_();e?.send?.({type:`mailbox.messages`,payload:{limit:30,incompleteOnly:!0}}),e?.send?.({type:`mailbox.agents`,payload:{}})}var q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,K()},300)}function Ye(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().setTree(t.root,t.tree)}function Xe(e){let t=e.payload;if(t.error){x.getState().setError(t.error);return}x.getState().openFile(t.filePath,t.content)}function Ze(e){let t=e.payload;t.success?x.getState().markSaved(t.filePath):t.error&&x.getState().setError(`Save failed: ${t.error}`)}function Qe(e){let t=f(`mailbox.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function $e(e){let t=e.payload;t?.messages&&j.getState().setMessages(t.messages)}function et(e){let t=e.payload;t?.agents&&j.getState().setAgents(t.agents)}function tt(e){let t=f(`mailbox.received`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0)),J()}function nt(e){J()}function rt(e){j.getState().setMessages([]),K()}function it(e){J()}function at(e){let t=e.payload;t&&typeof t.totalRemoved==`number`&&j.getState().setLastCompaction({readByAllRemoved:t.readByAllRemoved??0,expiredRemoved:t.expiredRemoved??0,stalePurged:t.stalePurged??0,totalRemoved:t.totalRemoved,remaining:t.remaining??0}),J()}function ot(e){let t=e.payload;if(t?.success){J();return}M.error(`Mailbox action failed: ${t?.error??`unknown error`}`)}var st={"files.tree":Ye,"files.read":Xe,"files.written":Ze,"mailbox.event":Qe,"mailbox.messages":$e,"mailbox.agents":et,"mailbox.received":tt,"mailbox.agent_registered":nt,"mailbox.cleared":rt,"mailbox.purged":it,"mailbox.compacted":at,"mailbox.action_result":ot};function ct(e){let t=e.payload;k.getState().setSnapshot(t.worktrees??[],t.baseBranch??``)}function lt(e){let t=e.payload;k.getState().pushEvent(t)}function ut(e){let t=e.payload;k.getState().setOrphans(t.orphans??[],t.canClean??!1,t.reason)}function dt(e){let t=e.payload;k.getState().setCleanResult({...t,at:Date.now()})}function ft(e){let t=e.payload;k.getState().setMergeResult({...t,at:Date.now()})}function pt(e){let t=e.payload;k.getState().setDiff(t.dir,t.summary)}function mt(e){A.getState().applyEvent(e.payload);let t=f(`subagent.event`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0))}function ht(e){let t=z(e);t?.kind===`concurrency`&&A.setState({fleetConcurrency:t.active,fleetConcurrencyMax:t.maximum})}function gt(e){let t=z(e);if(t?.kind!==`client-status`)return;let n=t.status;oe.getState().setCurrentSession({clientType:n.clientType,clientId:n.clientId,agentCount:n.agentCount,model:n.model,mode:n.mode,toolCalls:n.toolCalls,inputTokens:n.inputTokens,outputTokens:n.outputTokens,cacheTokens:n.cacheTokens,costUsd:n.costUsd,timestamp:n.timestamp})}function _t(e){let t=z(e);if(t?.kind!==`sessions`)return;oe.getState().setLiveSessions(t.sessions);let n=Date.now();if(n-yt>=5e3&&(yt=n,K()),n-vt<1e3)return;vt=n;let r=f(`sessions.status_update`,e.payload);r&&(g.getState().pushEvent(r),g.getState().setActive(!0))}var vt=0,yt=0,bt={"worktree.state":ct,"worktree.event":lt,"worktree.orphans":ut,"worktree.cleanup_result":dt,"worktree.merge_result":ft,"worktree.diff_result":pt,"subagent.event":mt,"fleet.concurrency_update":ht,"client.status_update":gt,"sessions.status_update":_t};function xt(e,t){let n=e=>e.trim().replace(/\s+/g,` `).toLowerCase();return n(e)===n(t)}var St=50,Ct=200;function wt(e){return e.length<=300?e:`${e.slice(0,299)}…`}function Tt(e){return{...e,text:wt(e.text)}}function Et(e){let t=[];for(let n of Object.values(e))n.state===`exited`&&t.push(n);if(t.length<=Ct)return e;t.sort((e,t)=>(t.exitedAt??t.lastSeenAt).localeCompare(e.exitedAt??e.lastSeenAt));let n={...e};for(let e of t.slice(Ct))delete n[e.id];return n}var Y=a()(e=>({traces:[],contextMemories:{},transitions:[],pushTrace:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=t.injected.map(Tt),a=t.activated.map(Tt);for(let e of i){let i=n[e.id];n[e.id]={...e,state:i?.state===`active`?`active`:`injected`,trigger:t.trigger,enteredAt:i?.enteredAt??t.at,lastSeenAt:t.at};let a=`${t.at}_injected_${e.id}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e.id,action:`injected`,reason:`${t.trigger} · score ${e.score.toFixed(2)}`})}return{traces:[{...t,activated:a,injected:i},...e.traces.filter(e=>e.runId!==t.runId)].slice(0,St),contextMemories:Et(n),transitions:r.slice(0,100)}}),applyContextSnapshot:t=>e(e=>{let n={...e.contextMemories},r=[...e.transitions],i=new Set(t.activeMemoryIds);for(let e of t.activeMemoryIds){let r=n[e];n[e]=r?{...r,state:`active`,lastSeenAt:t.at,exitedAt:void 0}:Dt(e,t.at,`active`)}for(let e of t.enteredMemoryIds){let n=`${t.at}_entered_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`entered`,reason:`present in provider request`})}for(let e of t.exitedMemoryIds){let i=n[e];i&&(n[e]={...i,state:`exited`,exitedAt:t.at});let a=`${t.at}_exited_${e}`;r.some(e=>e.id===a)||r.unshift({id:a,at:t.at,memoryId:e,action:`exited`,reason:`absent from provider request`})}for(let[e,a]of Object.entries(n))if((a.state===`injected`||a.state===`active`)&&!i.has(e)&&(n[e]={...a,state:`exited`,exitedAt:t.at},!t.exitedMemoryIds.includes(e))){let n=`${t.at}_exited_before_provider_${e}`;r.some(e=>e.id===n)||r.unshift({id:n,at:t.at,memoryId:e,action:`exited`,reason:a.state===`injected`?`removed before provider request`:`absent from provider context snapshot`})}return{contextMemories:Et(n),transitions:r.slice(0,100)}}),resetContext:()=>e({contextMemories:{},transitions:[]}),clear:()=>e({traces:[],contextMemories:{},transitions:[]})}));function Dt(e,t,n){return{id:e,kind:`unknown`,text:`Memory details were not present in this UI process.`,score:0,relationStrength:0,anchors:[],tags:[],activationReasons:[],importance:0,confidence:0,freshness:0,persistence:`unknown`,state:n,trigger:`context snapshot`,enteredAt:t,lastSeenAt:t,isPlaceholder:!0}}var Ot=100,kt=new Set([`exited`,`superseded`,`archived`,`staled`,`contradicted`]);function At(e,t=new Date){let n=e.event,r=X(e.memoryId),i=X(e.at)??t.toISOString(),a={id:`${n}_${t.getTime()}_${Math.random().toString(36).slice(2,7)}`,at:i,event:n};if(n===`memory.accepted`&&r)return{...a,action:`entered`,memoryId:r,label:`${r} entered memory`,detail:Mt(e)};if(n===`memory.merged`&&r){let t=Array.isArray(e.mergedIds)?e.mergedIds.length:0;return{...a,action:`merged`,memoryId:r,label:`${r} merged`,detail:t>0?`${t} records folded in`:void 0}}if(n===`memory.recovered`&&r)return{...a,action:`recovered`,memoryId:r,label:`${r} recovered`,detail:X(e.reason)};if(n===`memory.deleted`&&r)return{...a,action:`exited`,memoryId:r,label:`${r} exited memory`,detail:Nt(e)};if(n===`memory.updated`&&r){let t=X(e.status)??`updated`;return{...a,action:t===`deleted`?`exited`:`updated`,memoryId:r,label:t===`deleted`?`${r} exited memory`:`${r} updated → ${t}`,detail:Mt(e)}}if(n===`memory.graph_edge_added`){let t=X(e.from),n=X(e.to);if(!t?.startsWith(`mem:`)||!n?.startsWith(`mem:`))return null;let r=X(e.relation)??`related_to`,i=Z(e.weight),o=Array.isArray(e.evidence)?e.evidence.filter(e=>typeof e==`string`):[];return{...a,action:`related`,memoryId:t.startsWith(`mem:`)?t.slice(4):void 0,label:`${Pt(t)} ↔ ${Pt(n)}`,detail:[r,i===void 0?void 0:`weight ${i.toFixed(2)}`,o.length>0?`why: ${o.join(`, `)}`:void 0].filter(Boolean).join(` · `)}}return n===`memory.relationships_rebuilt`?{...a,action:`related`,label:`Memory relationships rebuilt`,detail:`${Z(e.added)??0} added / ${Z(e.proposed)??0} proposed`}:n===`memory.superseded`&&r?{...a,action:`superseded`,memoryId:r,label:`${r} → superseded`,detail:X(e.reason)??Mt(e)}:n===`memory.archived`&&r?{...a,action:`archived`,memoryId:r,label:`${r} → archived`,detail:X(e.reason)}:n===`memory.staled`&&r?{...a,action:`staled`,memoryId:r,label:`${r} → staled`,detail:X(e.reason)??`anchor drift detected`}:n===`memory.contradicted`&&r?{...a,action:`contradicted`,memoryId:r,label:`${r} → contradicted`,detail:X(e.reason)??`conflicting evidence`}:null}var jt=a()(e=>({items:[],pushEvent:t=>e(e=>{let n=At(t);return n?{items:[n,...kt.has(n.action)?e.items.filter(e=>!(kt.has(e.action)&&e.memoryId===n.memoryId)):e.items].slice(0,Ot)}:e}),clear:()=>e({items:[]})}));function X(e){return typeof e==`string`&&e.length>0?e:void 0}function Z(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function Mt(e){let t=[X(e.kind),X(e.persistence)],n=Z(e.confidence),r=Z(e.freshness);return n!==void 0&&t.push(`confidence ${n.toFixed(2)}`),r!==void 0&&t.push(`freshness ${r.toFixed(2)}`),t.filter(Boolean).join(` · `)||void 0}function Nt(e){let t=X(e.reason),n=Z(e.removedEdges);return[t,n===void 0?void 0:`${n} edges removed`].filter(Boolean).join(` · `)||void 0}function Pt(e){let t=e.replace(/^mem:/,``);return t.length>26?`${t.slice(0,23)}…`:t}function Ft(e){if(!e||e.length===0)return;let t=e.map(e=>e.status);return t.some(e=>e===`failed`)?`failed`:t.every(e=>e===`completed`||e===`skipped`)?`completed`:t.some(e=>e===`paused`)?`paused`:`running`}function It(e){let t=e.payload,n=Array.isArray(t.phases)?t.phases:void 0,r=Ft(n);D.getState().setState({phases:n,activePhaseId:typeof t.activePhaseId==`string`?t.activePhaseId:void 0,overallPercent:typeof t.overallPercent==`number`?t.overallPercent:void 0,autonomous:typeof t.autonomous==`boolean`?t.autonomous:void 0,title:typeof t.title==`string`?t.title:void 0,goal:typeof t.goal==`string`?t.goal:void 0,status:r,multiBoard:t.multiBoard===!0,lastError:r===`failed`?D.getState().lastError:null})}function Lt(e){let t=e.payload,n={totalPhases:typeof t.totalPhases==`number`?t.totalPhases:0,completed:typeof t.completed==`number`?t.completed:0,failed:typeof t.failed==`number`?t.failed:0,totalTasks:typeof t.totalTasks==`number`?t.totalTasks:0,completedTasks:typeof t.completedTasks==`number`?t.completedTasks:0,failedTasks:typeof t.failedTasks==`number`?t.failedTasks:0};D.getState().setState({progress:n,overallPercent:typeof t.percentComplete==`number`?Math.round(t.percentComplete):void 0,status:n.failed>0||n.failedTasks>0?`failed`:`running`,lastEvent:`progress`})}function Q(e){let t=e.payload,n=typeof t.title==`string`&&t.title?t.title:`Goal`,r=typeof t.error==`string`&&t.error?t.error:void 0;if(e.type===`goal.paused`){D.getState().setState({status:`paused`,autonomous:!1,lastEvent:`paused`}),M.info(`Goal paused`);return}if(e.type===`goal.resumed`){D.getState().setState({status:`running`,autonomous:!0,lastEvent:`resumed`}),M.info(`Goal resumed`);return}if(e.type===`goal.stopped`){D.getState().setState({status:`stopped`,autonomous:!1,lastEvent:`stopped`}),M.warn(`Goal stopped`);return}if(e.type===`goal.cleared`){D.getState().clear();return}if(e.type===`goal.reverted`){let e=t.ok===!0,n=typeof t.reverted==`number`?t.reverted:0,r=typeof t.reason==`string`?t.reason:void 0;e?M.success(n>0?`Reverted ${n} commit${n===1?``:`s`}`:`Nothing to revert`):M.error(`Revert failed: ${r??`unknown error`}`),D.getState().setState({lastEvent:`reverted`});return}if(e.type===`goal.saved`){D.getState().setState({lastEvent:`saved`}),M.success(`Goal graph saved`);return}if(e.type===`goal.completed`){D.getState().setState({status:`completed`,autonomous:!1,overallPercent:100,lastEvent:`completed`,lastError:null}),M.success(`${n} completed`);return}if(e.type===`goal.failed`||e.type===`goal.error`){let e=r??(typeof t.message==`string`?t.message:`${n} failed`);D.getState().setState({status:`failed`,autonomous:!1,lastEvent:`failed`,lastError:e}),M.error(e)}}function Rt(e){let t=e.payload;D.getState().setState({lastEvent:`list`,graphs:Array.isArray(t.graphs)?t.graphs:[]})}function zt(e){let t=e.payload;ne.getState().setGoal(t)}function Bt(e){let t=e.payload;l.getState().set(t),t.yolo===!0&&c.getState().confirmInfo&&c.getState().hideConfirm()}function Vt(e){if(!p(e))return;let t=e.payload,n;if(t.decision.type===`answer`){let e=t.decision.rationale&&t.decision.rationale!==t.decision.text?`\n\n_${t.decision.rationale}_`:``;n=`🧠 ${t.decision.text??``}${e}`}else n=t.decision.type===`deny`?`🧠 Denied: ${t.decision.reason??``}`:`🧠 The Brain escalated this question back to you — it needs human judgement.`;i.getState().addMessage({role:`assistant`,content:n})}function Ht(e){if(!p(e))return;let t=e.payload;if(t.event===`brain.intervention`){let e=t.decision?.rationale??t.decision?.text??``,n=t.intervened?`🧠 **Brain intervention** — corrective guidance was sent to the agent.`:`🧠 **Brain check** — a distress signal was reviewed; no action needed.`;i.getState().addMessage({role:`assistant`,content:[n,t.request?.question??``,e?`_${e}_`:``].filter(Boolean).join(`
8
8
 
9
9
  `)}),t.intervened&&M.info(`Brain intervened: agent steered`)}else t.event===`brain.decision_denied`&&M.warn(`Brain denied: ${t.decision?.reason??t.request?.question??`request`}`)}function Ut(e){if(!p(e))return;let t=e.payload;g.getState().pushEvent({id:`memory_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,kind:`memory:event`,timestamp:Date.now(),source:`sage`,target:`leader`,label:t.event.replace(/^memory\./,``),data:t,color:`#a78bfa`,flowGroup:`memory`}),t.event===`memory.injector_run`&&Y.getState().pushTrace(t),t.event===`memory.context_snapshot`&&Y.getState().applyContextSnapshot(t),jt.getState().pushEvent(t),t.event===`memory.staled`?M.warn(`Memory became stale: ${String(t.memoryId??``)}`):t.event===`memory.contradicted`?M.warn(`Memory contradicted: ${String(t.memoryId??``)}`):t.event===`memory.hygiene_completed`&&M.info(`SAGE hygiene completed`)}function Wt(e){let t=e.payload,n=typeof t.kind==`string`?t.kind:typeof t.event==`string`?t.event:`collab.event`;g.getState().pushEvent({id:`collab_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,kind:`collab:event`,timestamp:Date.now(),source:`collab`,target:typeof t.sessionId==`string`?t.sessionId:`session`,label:n,magnitude:1,data:t,raw:e.payload,color:`hsl(200, 70%, 55%)`,flowGroup:`collab`}),g.getState().setActive(!0)}function Gt(e){Wt(e);let t=e.payload;t?.phase===`consumed`?M.success(`Tool injection applied${t.toolName?` to ${t.toolName}`:``}`):M.info(`Collab tool injection queued`)}function Kt(e){let t=e.payload?.entry;if(!t)return;let n=typeof t.iteration==`number`?t.iteration:0,r=typeof t.task==`string`?t.task:void 0,i=typeof t.status==`string`?t.status:void 0,a=typeof t.at==`string`?t.at:new Date().toISOString();ne.getState().appendJournalEntry({iteration:n,task:r,status:i,timestamp:a}),g.getState().pushEvent({id:`eternal_${Date.now()}_${n}`,kind:`eternal:iteration`,timestamp:Date.now(),source:`eternal`,target:`goal`,label:r?`L${n}: ${r}`:`Eternal iteration ${n}`,magnitude:typeof t.costUsd==`number`?t.costUsd:1,data:t,raw:e.payload,color:i===`failure`?`hsl(0, 80%, 55%)`:`hsl(220, 80%, 60%)`,flowGroup:`eternal`}),g.getState().setActive(!0)}function qt(e){let t=e.payload;v.getState().setEnv({cwd:t.cwd,projectRoot:t.projectRoot,projectName:t.projectRoot.split(/[/\\]/).pop()||t.projectRoot}),x.getState().setTreeLoading(!0),_().send({type:`files.tree`,payload:{path:t.cwd}})}function Jt(e){let t=e.payload,n=c.getState().refinePanel,r=i.getState().pendingRefinement;if(!n&&r){i.getState().setRefining(!1);let e=r.text,n=r.images?.length?r.images.map((e,t)=>({id:`pr_${Date.now()}_${t}`,dataUrl:`data:${e.mime};base64,${e.data}`,mediaType:e.mime,bytes:Math.round(e.data.length*3/4)})):void 0,a=n&&n.length>0&&r.mode===`btw`?`queue`:r.mode??`queue`;if(t.error){i.getState().setPendingRefinement(null),i.getState().enqueue(e,a,n);return}let o=t.refined??``;if(!o||xt(o,e)){i.getState().setPendingRefinement(null),i.getState().enqueue(e,a,n);return}i.getState().setPendingRefinement(null),c.getState().setRefinePanel({original:e,refined:o,english:t.english||o,status:`ready`,mode:n&&n.length>0&&r.mode===`btw`?`queue`:r.mode,images:n,...t.refinedWith?{provider:t.refinedWith.provider,model:t.refinedWith.model}:{},error:void 0,errorKind:void 0,resolve:()=>{}});return}if(!n)return;if(t.error){if(t.errorKind===`timeout`&&!n.retried&&t.retryTimeoutMs){c.getState().setRefinePanel({...n,status:`refining`,retried:!0}),_().refineModel(n.original,{timeoutMs:t.retryTimeoutMs});return}c.getState().setRefinePanel({...n,status:`failed`,error:t.error,errorKind:t.errorKind,fallbackRef:t.fallbackRef});return}let a=n.original;if(xt(t.refined,a)){c.getState().setRefinePanel(null),i.getState().addMessage({role:`user`,content:a}),i.getState().setLoading(!0),_().sendMessage(a);return}c.getState().setRefinePanel({...n,status:`ready`,refined:t.refined,english:t.english,...t.refinedWith?{provider:t.refinedWith.provider,model:t.refinedWith.model}:{},error:void 0,errorKind:void 0})}function Yt(e){let t=e.payload;ie.getState().setInfo({...t,fetchedAt:Date.now()})}function Xt(e){let t=e.payload;re.getState().setFiles(t.files??[],t.error??null)}function Zt(e){let t=e.payload;re.getState().selectedPath===t.path&&re.getState().setDiff({path:t.path,oldText:t.oldText??``,newText:t.newText??``,binary:t.binary,tooLarge:t.tooLarge,error:t.error})}function Qt(e){let t=e.payload;ee.getState().setSnapshot({count:t.count,maxConcurrent:t.maxConcurrent,jobs:t.jobs??[]})}function $t(e){let t=e.payload;ee.getState().recordFired(t.name,t.ts)}function en(e){let t=e.payload;M.info(t.message??`🦂 Chimera report ready. No follow-up started; open the mailbox to inspect it.`,8e3)}var tn={"goal-state.updated":zt,"prefs.updated":Bt,"goal.state":It,"goal.progress":Lt,"goal.paused":Q,"goal.resumed":Q,"goal.stopped":Q,"goal.cleared":Q,"goal.reverted":Q,"goal.saved":Q,"goal.completed":Q,"goal.failed":Q,"goal.error":Q,"goal.list":Rt,"brain.answer":Vt,"brain.event":Ht,"memory.event":Ut,"collab.event":Wt,"collab.injection.granted":Gt,"eternal.iteration":Kt,"working_dir.changed":qt,"model.refine_result":Jt,"git.info":Yt,"git.changes":Xt,"git.diff":Zt,"cron.snapshot":Qt,"cron.job_fired":$t,"chimera.report_available":en};function nn(e){let t=e.payload;!t.jobId||!t.kind||T.getState().jobStarted(t.jobId,t.kind)}function rn(e){let t=e.payload;!t.jobId||!t.phase||!Number.isFinite(t.completed)||!Number.isFinite(t.total)||T.getState().jobProgress(t.jobId,{phase:t.phase,completed:t.completed??0,total:t.total??0})}function an(e){let t=e.payload;t.workspaceId&&T.getState().workspaceCompleted(t.workspaceId)}function on(e){let t=e.payload;t.snapshot&&T.getState().setSnapshot(t.snapshot,t.stale??!1)}function sn(e){let t=e.payload;t.reportId&&T.getState().reportReady(t.reportId)}function cn(e){let t=e.payload;t.jobId&&T.getState().jobFailed(t.jobId,t.error??`TechStack job failed`)}function ln(e){let t=e.payload;t.jobId&&T.getState().jobCancelled(t.jobId)}var un={"techstack.job.started":nn,"techstack.job.progress":rn,"techstack.workspace.completed":an,"techstack.snapshot.updated":on,"techstack.report.ready":sn,"techstack.job.failed":cn,"techstack.job.cancelled":ln};function dn(){let[e,t]=(0,N.useState)({isMobile:!1,isSmall:!1,width:0});return(0,N.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: 768px)`),n=window.matchMedia(`(max-width: 640px)`),r=()=>{t({isMobile:e.matches,isSmall:n.matches,width:window.innerWidth})};return r(),e.addEventListener(`change`,r),n.addEventListener(`change`,r),()=>{e.removeEventListener(`change`,r),n.removeEventListener(`change`,r)}},[]),e}function fn(){return typeof window>`u`?!1:window.matchMedia(`(max-width: 768px)`).matches}function pn(e){if(typeof e!=`string`)return Date.now();let t=Date.parse(e);return Number.isFinite(t)?t:Date.now()}function mn(e){return`replay_${Date.now()}_${e}`}function hn(){return typeof window>`u`?!1:window.location.pathname===`/debug`||window.location.pathname===`/analytics`||window.location.pathname===`/refresh-debug`}function gn(e){return typeof e==`string`?e:JSON.stringify(e)}function _n(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>!!e&&typeof e==`object`&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
10
10
  `):``}function vn(e){if(typeof e==`string`)return e.trim();if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e;for(let e of[`id`,`name`,`type`]){let n=t[e];if(typeof n==`string`&&n.trim())return n.trim()}return``}function yn(e,t=[]){let n=[],r=new Map,i=0,a=0,o=(e,t,r)=>{t&&n.push({id:mn(n.length),role:e,content:t,timestamp:r})},s=e=>{n.push({id:mn(n.length),role:`system`,content:e.text,timestamp:pn(e.ts),isError:e.level===`error`||void 0})},c=e=>{if(typeof e==`string`)for(;a<t.length&&t[a].ts<e;)s(t[a]),a+=1},l=(e,t)=>{let r=e.trim();r&&(i+=1,n.push({id:mn(n.length),role:`system`,content:``,timestamp:t,thinkingLog:{iteration:i,text:r,startedAt:t,durationMs:0,replayed:!0}}))};for(let t of e){if(c(t.ts),t.role!==`user`&&t.role!==`assistant`&&t.role!==`system`)continue;let e=t.role,i=pn(t.ts);if(typeof t.content==`string`){o(e,t.content,i);continue}if(!Array.isArray(t.content))continue;let a=``,s=[];for(let c of t.content){if(c.type===`thinking`&&typeof c.thinking==`string`){s.push(c.thinking);continue}if(c.type===`text`&&typeof c.text==`string`){a+=(a?`
11
11
  `:``)+c.text;continue}if(c.type===`tool_use`){o(e,a,i),a=``;let t=String(c.id??``),s={id:mn(n.length),role:`tool`,content:``,toolName:String(c.name??`tool`),toolInput:c.input,toolUseId:t,timestamp:i};n.push(s),t&&r.set(t,s);continue}if(c.type===`tool_result`){let e=String(c.tool_use_id??``),t=r.get(e);t&&(t.toolResult=gn(c.content),t.isError=!!c.is_error)}}o(e,a,i),e===`assistant`&&s.length>0&&l(s.join(`
12
12
 
13
13
  `),i)}for(;a<t.length;)s(t[a]),a+=1;return n}var bn=new Set;function xn(e,t=140){return e.length>t?`${e.slice(0,t-1)}…`:e}function Sn(){m.flush(`__thinking__`);let e=v.getState().iteration;i.getState().flushThinkingLog(Math.max(1,e?.index??1)),i.getState().clearThinking()}function Cn(e){let t=f(`session.start`,e.payload);t&&(g.getState().pushEvent(t),g.getState().setActive(!0));let n=e.payload,r=vn(n.provider),a=vn(n.model),o=v.getState().session?.id,s=!o||o!==n.sessionId||n.reset;if((n.appVersion||n.latestVersion)&&v.getState().setUpdateInfo({appVersion:String(n.appVersion??``),latestVersion:String(n.latestVersion??``),updateAvailable:!!n.updateAvailable}),Array.isArray(n.providerStatuses)&&O.getState().hydrate(n.providerStatuses.map(e=>({providerId:e.providerId,model:e.model,state:e.state,reason:e.lastErrorKind??e.state,updatedAt:e.lastFailureAt??Date.now(),stateExpiresAt:e.stateExpiresAt??void 0}))),n.needsSetup&&ue(`setup`),s?(Y.getState().clear(),v.getState().startSession({id:n.sessionId,startedAt:Date.now(),model:a,provider:r})):v.getState().setSession({id:n.sessionId,startedAt:v.getState().session?.startedAt??Date.now(),model:a,provider:r}),v.getState().setEnv({maxContext:n.maxContext,projectRoot:n.projectRoot??``,projectName:n.projectName,cwd:n.cwd,mode:n.mode,contextMode:n.contextMode,inputCost:n.inputCost,outputCost:n.outputCost,cacheReadCost:n.cacheReadCost}),S.getState().setConfig({provider:r,model:a}),s){!n.needsSetup&&P()&&!hn()&&u({sidebarOpen:!1}),m.dropAll(),i.getState().clearMessages(),i.getState().setBoundSessionId(n.sessionId),c.getState().setSearchActiveMessageId(null),i.getState().setLoading(!1),v.setState({todos:[]}),V(`ready`);let e=A.getState();if(n.clearedSessionId){let t=new Map;for(let[r,i]of e.agents)i.sessionId!==n.clearedSessionId&&t.set(r,i);A.setState({agents:t})}else e.clear();x.getState().setTreeLoading(!0),_().send({type:`files.tree`,payload:{path:v.getState().cwd}})}let l=n.replayMessages,d=n.replayMarkers??[];if(l&&l.length>0){let e=i.getState();(s||e.messages.length===0||e.boundSessionId!==n.sessionId||e.isLoading)&&(e.setMessages(yn(l,d)),e.setBoundSessionId(n.sessionId))}if(l){let e=n.replayUsage;if(e){let t=v.getState(),n=e.input??0,r=e.output??0,i=e.cacheRead??0,a=e.cacheWrite??0;v.setState({totalTokens:{input:n,output:r,cacheRead:i,cacheWrite:a},cost:(n*t.inputCost+r*t.outputCost+i*t.cacheReadCost)/1e6})}let t=n.lastInputTokens;typeof t==`number`&&t>0&&v.setState({lastInputTokens:t}),s&&!n.needsSetup&&(hn()||(P()?u({sidebarOpen:!1}):c.getState().currentView!==`chat`&&de(`chat`))),fn()&&c.getState().setSidebarOpen(!1)}}function wn(e){if(!p(e))return;let t=e.payload,n=e=>e.toLocaleString(),r=[...t.tools.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8),a=[...t.messages.breakdown].sort((e,t)=>t.tokens-e.tokens).slice(0,8);i.getState().addMessage({role:`assistant`,content:[`📊 **Context breakdown** (heuristic — 4 chars/token)`,``,`**Total estimate:** ${n(t.total)} tokens`,`• System prompt: ${n(t.systemPrompt)}`,`• Tool schemas: ${n(t.tools.total)} (${t.tools.count} tools)`,`• Messages: ${n(t.messages.total)} (${t.messages.count} messages)`,``,`**Top tool schemas:**`,...r.map(e=>` · ${e.name}: ${n(e.tokens)}`),``,`**Top messages:**`,...a.map(e=>` · #${e.index} ${e.role}: ${n(e.tokens)} — ${e.preview||`(empty)`}`)].join(`
14
- `)})}function Tn(e){let t=e.payload;t.success?M.success(t.message):M.error(t.message),_(S.getState().wsUrl).listSavedProviders()}function En(e){let t=e.payload;if(!t.success||!t.provider||!t.model)return;S.getState().setProvider(t.provider),S.getState().setModel(t.model);let n=t.previousProvider&&t.previousModel?`${t.previousProvider} / ${t.previousModel}`:a.t(`settings:toast.previousModel`),r=`${t.provider} / ${t.model}`;i.getState().addMessage({role:`system`,content:a.t(t.runActive?`settings:toast.modelSwitchedRunActive`:`settings:toast.modelSwitchedNextRequest`,{from:n,to:r})})}function Dn(e){if(!p(e))return;d(e);let t=e.payload,n=t.reductions.length?t.reductions.map(e=>`${e.phase}: ${e.saved}`).join(`, `):`no-op`;t.repaired&&(n+=`; repaired ${t.repaired.removedToolUses?.length??0} tool_use, ${t.repaired.removedToolResults?.length??0} tool_result, ${t.repaired.removedMessages} empty messages`),i.getState().addMessage({role:`system`,content:`🗜️ Context compacted: ${t.before} → ${t.after} tokens (saved ~${t.saved}). ${n}`}),v.setState({lastInputTokens:t.after})}function On(e){if(!p(e))return;d(e);let t=e.payload,n,r;t.budget&&t.budget.availableInputTokens>0?(n=Math.min(100,Math.max(0,Math.round(t.budget.load*100))),r=`input budget`):(n=t.maxContext>0?Math.min(100,Math.max(0,Math.round(t.tokens/t.maxContext*100))):0,r=`context`),i.getState().addMessage({role:`assistant`,content:`Compaction failed at ${t.level} (${n}% ${r}): ${t.message}`,isError:t.fatal}),M.error(`Compaction failed: ${t.message}`)}function kn(e){if(!p(e))return;d(e);let t=e.payload,r=_n(t.content),a=t.usage,o=(a.input??0)+(a.cacheWrite??0)-(a.cacheRead??0);o>0&&v.setState({lastInputTokens:o}),v.getState().updateUsage(t.usage);let{inputCost:s,outputCost:c,cacheReadCost:l}=v.getState(),u=(t.usage.input*s+t.usage.output*c+(t.usage.cacheRead??0)*l)/1e6;u>0&&v.getState().addCost(u);let f=n(t.stopReason);f&&i.getState().setLoading(!1);let h=i.getState().currentAssistantMessageId;if(h){m.flush(h);let e=i.getState().messages.find(e=>e.id===h)?.content??``;r.trim()&&(e.trim()?r.startsWith(e)&&r.length>e.length&&i.getState().updateMessage(h,{content:r}):i.getState().updateMessage(h,{content:r})),i.getState().finalizeMessage(h,{final:f}),t.usage.output>0&&i.getState().updateMessage(h,{usage:t.usage})}else if(r.trim()){let e=i.getState().addMessage({role:`assistant`,content:r,usage:t.usage.output>0?t.usage:void 0});i.getState().finalizeMessage(e,{final:f})}i.getState().setCurrentAssistantMessage(null),m.flush(`__thinking__`),i.getState().clearThinking()}function An(e){if(!p(e))return;d(e);let t=e.payload;m.flush(`__thinking__`),i.getState().flushThinkingLog(t.index),i.getState().clearThinking();let n=v.getState().iteration;n&&v.getState().setIteration({index:t.index,max:n.max})}function jn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Iteration limit reached: ${t.currentIterations}/${t.currentLimit}.`,isError:!0}),M.warn(`Iteration limit reached (${t.currentIterations}/${t.currentLimit})`)}function Mn(e){if(!p(e))return;let t=e.payload,n=Math.max(0,Math.round(t.delayMs/100)/10);M.warn(`${t.providerId} retry ${t.attempt} after ${n}s (${t.status})`)}function Nn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`Provider error from \`${t.providerId}\` (${t.status}).`,t.description,t.retryable?`_Retryable; WrongStack may recover automatically._`:``].filter(Boolean).join(`
14
+ `)})}function Tn(e){let t=e.payload;t.success?M.success(t.message):M.error(t.message),_(S.getState().wsUrl).listSavedProviders()}function En(e){let t=e.payload;if(!t.success||!t.provider||!t.model)return;S.getState().setProvider(t.provider),S.getState().setModel(t.model);let n=t.previousProvider&&t.previousModel?`${t.previousProvider} / ${t.previousModel}`:s.t(`settings:toast.previousModel`),r=`${t.provider} / ${t.model}`;i.getState().addMessage({role:`system`,content:s.t(t.runActive?`settings:toast.modelSwitchedRunActive`:`settings:toast.modelSwitchedNextRequest`,{from:n,to:r})})}function Dn(e){if(!p(e))return;d(e);let t=e.payload,n=t.reductions.length?t.reductions.map(e=>`${e.phase}: ${e.saved}`).join(`, `):`no-op`;t.repaired&&(n+=`; repaired ${t.repaired.removedToolUses?.length??0} tool_use, ${t.repaired.removedToolResults?.length??0} tool_result, ${t.repaired.removedMessages} empty messages`),i.getState().addMessage({role:`system`,content:`🗜️ Context compacted: ${t.before} → ${t.after} tokens (saved ~${t.saved}). ${n}`}),v.setState({lastInputTokens:t.after})}function On(e){if(!p(e))return;d(e);let t=e.payload,n,r;t.budget&&t.budget.availableInputTokens>0?(n=Math.min(100,Math.max(0,Math.round(t.budget.load*100))),r=`input budget`):(n=t.maxContext>0?Math.min(100,Math.max(0,Math.round(t.tokens/t.maxContext*100))):0,r=`context`),i.getState().addMessage({role:`assistant`,content:`Compaction failed at ${t.level} (${n}% ${r}): ${t.message}`,isError:t.fatal}),M.error(`Compaction failed: ${t.message}`)}function kn(e){if(!p(e))return;d(e);let t=e.payload,r=_n(t.content),a=t.usage,o=(a.input??0)+(a.cacheWrite??0)-(a.cacheRead??0);o>0&&v.setState({lastInputTokens:o}),v.getState().updateUsage(t.usage);let{inputCost:s,outputCost:c,cacheReadCost:l}=v.getState(),u=(t.usage.input*s+t.usage.output*c+(t.usage.cacheRead??0)*l)/1e6;u>0&&v.getState().addCost(u);let f=n(t.stopReason);f&&i.getState().setLoading(!1);let h=i.getState().currentAssistantMessageId;if(h){m.flush(h);let e=i.getState().messages.find(e=>e.id===h)?.content??``;r.trim()&&(e.trim()?r.startsWith(e)&&r.length>e.length&&i.getState().updateMessage(h,{content:r}):i.getState().updateMessage(h,{content:r})),i.getState().finalizeMessage(h,{final:f}),t.usage.output>0&&i.getState().updateMessage(h,{usage:t.usage})}else if(r.trim()){let e=i.getState().addMessage({role:`assistant`,content:r,usage:t.usage.output>0?t.usage:void 0});i.getState().finalizeMessage(e,{final:f})}i.getState().setCurrentAssistantMessage(null),m.flush(`__thinking__`),i.getState().clearThinking()}function An(e){if(!p(e))return;d(e);let t=e.payload;m.flush(`__thinking__`),i.getState().flushThinkingLog(t.index),i.getState().clearThinking();let n=v.getState().iteration;n&&v.getState().setIteration({index:t.index,max:n.max})}function jn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Iteration limit reached: ${t.currentIterations}/${t.currentLimit}.`,isError:!0}),M.warn(`Iteration limit reached (${t.currentIterations}/${t.currentLimit})`)}function Mn(e){if(!p(e))return;let t=e.payload,n=Math.max(0,Math.round(t.delayMs/100)/10);M.warn(`${t.providerId} retry ${t.attempt} after ${n}s (${t.status})`)}function Nn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`Provider error from \`${t.providerId}\` (${t.status}).`,t.description,t.retryable?`_Retryable; WrongStack may recover automatically._`:``].filter(Boolean).join(`
15
15
 
16
16
  `),isError:!0}),M.error(`${t.providerId} provider error (${t.status})`)}function Pn(e){if(!p(e))return;let t=e.payload,n=`${t.from.providerId}/${t.from.model}`,r=`${t.to.providerId}/${t.to.model}`;i.getState().addMessage({role:`assistant`,content:`Provider fallback: \`${n}\` returned ${t.status}; switching to \`${r}\`${t.providerSwitched?` with provider change`:``}.`}),M.warn(`Fallback to ${r}`)}function Fn(e){let t=e.payload;O.getState().update({providerId:t.providerId,model:t.model,state:t.newState,reason:t.reason,updatedAt:t.timestamp,stateExpiresAt:t.stateExpiresAt});let n=`${t.providerId}/${t.model}`;t.newState===`blocked`&&t.oldState!==`blocked`?M.warn(`${n} entered the limit-reset waiting room`):t.newState===`healthy`&&t.oldState!==`healthy`&&M.success(`${n} recovered and rejoined model routing`)}function In(e){let t=e.payload;if(t&&typeof t==`object`&&`error`in t){O.getState().setError(`Provider status tracking not available`);return}O.getState().applySnapshot(t)}function Ln(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Waiting room skipped \`${t.providerId}/${t.model}\`. ${t.lastError}`})}function Rn(e){if(!p(e))return;d(e);let t=e.payload;M.warn(`Provider stream event skipped: ${t.eventType}`),i.getState().addMessage({role:`assistant`,content:`Provider stream warning (${t.eventType}): ${t.message}`,isError:!0})}function zn(e){if(!p(e))return;d(e);let t=e.payload,n=t.tools||t.kind||`assistant response`;if(t.action===`steer`){M.info(`Possible repetition noticed for ${n}; changing approach.`);return}i.getState().addMessage({role:`assistant`,content:`Loop guard stopped the turn: ${n} made no progress ${t.repeatCount} time(s) (iteration ${t.iteration+1}).`,isError:!0}),M.warn(`Loop guard stopped the turn`)}function Bn(e){if(!p(e))return;d(e);let t=e.payload,n=xn(t.task,180);i.getState().addMessage({role:`assistant`,content:`Delegating to \`${t.target}\`: ${n}`}),A.getState().pushAgentTimelineEntry({subagentId:t.target,agentName:t.target,content:n,kind:`status`,iteration:0,ts:new Date().toISOString(),status:`delegating`})}function Vn(e){if(!p(e))return;d(e);let t=e.payload,n=Math.max(0,Math.round(t.durationMs/100)/10),r=typeof t.costUsd==`number`&&t.costUsd>0?` · $${t.costUsd.toFixed(4)}`:``,a=`${t.iterations} iteration(s), ${t.toolCalls} tool call(s), ${n}s${r}`;i.getState().addMessage({role:`assistant`,content:[`Delegate ${t.ok?`completed`:`failed`} for \`${t.target}\`${t.status?` (${t.status})`:``}.`,t.summary,a].join(`
17
17
  `),isError:!t.ok}),A.getState().pushAgentTimelineEntry({subagentId:t.subagentId??t.target,agentName:t.target,content:t.summary,kind:t.ok?`status`:`error`,iteration:t.iterations,ts:new Date().toISOString(),status:t.status??(t.ok?`completed`:`failed`)}),t.ok||M.warn(`Delegate failed: ${t.target}`)}function Hn(e){if(!p(e))return;let t=e.payload,n=`${t.tool}: ${t.pattern}`;t.decision===`always`?M.success(`Always allowed ${n}`):M.warn(`Denied ${n}`)}function Un(e){if(!p(e))return;d(e);let t=e.payload,n=t.removedToolUses.length+t.removedToolResults.length+t.removedMessages,r=t.beforeMessages!==void 0&&t.afterMessages!==void 0?` Messages: ${t.beforeMessages} -> ${t.afterMessages}.`:``;i.getState().addMessage({role:`assistant`,content:`Context repaired: removed ${n} orphan protocol item(s).${r} tool_use ${t.removedToolUses.length}, tool_result ${t.removedToolResults.length}.`})}function Wn(e){if(!p(e))return;d(e);let t=e.payload;v.getState().setContextUsage(t.tokens,t.maxContext)}function Gn(e){if(!p(e))return;let t=e.payload;v.getState().setEnv({maxContext:t.maxContext})}function Kn(e){if(!p(e))return;let t=e.payload;v.getState().setContextUsage(t.used,t.limit);let n=t.limit>0?Math.round(t.used/t.limit*100):0;M.warn(`Token threshold reached (${n}%)`)}function qn(e){if(!p(e))return;let t=e.payload.model||`<unknown>`;bn.has(t)||(bn.add(t),M.warn(`Cost estimate unavailable for ${t}`))}function Jn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Session ${t.sessionId} is damaged: ${t.detail}`,isError:!0}),M.error(`Session damage detected`)}function Yn(e){if(!p(e))return;let t=e.payload;i.getState().addMessage({role:`assistant`,content:`Session rewound to prompt #${t.toPromptIndex}. Removed ${t.removedEvents} event(s); reverted ${t.revertedFiles.length} file(s).`}),M.info(`Session rewound`)}function Xn(e){if(!p(e))return;let t=e.payload;M.success(`Checkpoint #${t.promptIndex} written (${t.fileCount} file(s))`)}function Zn(e){if(!p(e))return;let t=e.payload;g.getState().pushEvent({id:`inflight_${Date.now()}`,kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:`In-flight: ${t.context}`,magnitude:1,data:t,raw:e.payload,flowGroup:`session`})}function Qn(e){p(e)&&e.payload.reason===`recovered`&&M.info(`Recovered previous in-flight operation`)}function $n(){S.getState().setWsConnected(!1),typeof document<`u`&&document.dispatchEvent(new CustomEvent(`chat:session-end`))}function er(e){if(!p(e))return;let t=e.payload;v.getState().setContextModes(t.modes.map(e=>({id:e.id,name:e.name,description:e.description,thresholds:e.thresholds,preserveK:e.preserveK,eliseThreshold:e.eliseThreshold,custom:e.custom}))),v.getState().setEnv({contextMode:t.activeId})}function tr(e){if(!p(e))return;let t=e.payload;v.getState().setEnv({contextMode:t.id})}function nr(e){let t=e.payload;te.getState().setEntries(t.sessions??[],t.error??null)}function rr(e){if(!p(e))return;let t=e.payload;Sn(),i.getState().addMessage({role:`assistant`,content:`[${t.phase}] ${t.message}`,isError:!0}),i.getState().setLoading(!1)}var ir={"context.debug":wn,"key.operation_result":Tn,"model.switch_result":En,"context.compacted":Dn,"compaction.failed":On,"provider.response":kn,"iteration.completed":An,"iteration.limit_reached":jn,"provider.retry":Mn,"provider.error":Nn,"provider.fallback":Pn,"provider.status_changed":Fn,"provider.active_blocked":Ln,"provider.stream_error":Rn,"tool.loop_detected":zn,"delegate.started":Bn,"delegate.completed":Vn,"trust.persisted":Hn,"context.repaired":Un,"ctx.pct":Wn,"ctx.max_context":Gn,"token.threshold":Kn,"token.cost_estimate_unavailable":qn,"session.end":$n,"session.damaged":Jn,"session.rewound":Yn,"checkpoint.written":Xn,"in_flight.started":Zn,"in_flight.ended":Qn,"context.modes.list":er,"context.mode.changed":tr,"sessions.list":nr,"provider.status.snapshot":In,error:rr};function ar(e){let t=e.payload;i.getState().addMessage({role:`assistant`,content:[`🛠️ **Registered tools** (${t.tools.length})`,``,...t.tools.map(e=>`• \`${e.name}\`${e.params.length?` (${e.params.join(`, `)})`:``} — ${e.description||`_no description_`}`)].join(`
@@ -1 +1 @@
1
- import{ha as e,ma as t}from"./vendor-BTTkQ9Tn.js";function n(...n){return t(e(n))}function r(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}export{r as n,n as t};
1
+ import{Da as e,Ea as t}from"./vendor-CxV3l5PQ.js";function n(...n){return t(e(n))}function r(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}export{r as n,n as t};