@wrongstack/desktop 0.293.0 → 0.296.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.
@@ -1,26 +1,145 @@
1
- (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`wrongstack.desktop.locale`;function t(e){try{window.wrongstackDesktop?.setLocale?.(e)}catch{}}function n(){try{let t=localStorage.getItem(e);if(t&&t in l)return t}catch{}return`en`}var r=n();function i(n,i={}){if(n!==r){r=n;try{localStorage.setItem(e,n)}catch{}i.propagate!==!1&&t(n);for(let e of o)e()}}function a(){return r}var o=new Set;function s(e){return o.add(e),()=>{o.delete(e)}}var c=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],l={en:{desktopNavAria:`Desktop navigation`,openProjectFolderTitle:`Open project folder`,openRegisteredProject:`Open project from projects.json`,removeFromProjectRegistry:`Remove from projects.json`,dismiss:`Dismiss`,active:`Active`,globalSettingsWorkspace:`Global settings workspace`,newSession:`New Session`,revealProjectFolder:`Reveal project folder`,registerProjectFolder:`Register project folder`,findProject:`Find project`,clearProjectSearch:`Clear project search`,register:`Register`,projectLists:`Project lists`,removeFromRegistry:`Remove from project registry`,none:`None`,quickView:`Quick view`,openChat:`Open chat`,openTerminal:`Open terminal`,term:`Term`,openFiles:`Open files`,files:`Files`,openInBrowser:`Open in browser`,closeSession:`Close session`,runtimeError:`Runtime Error`,openProject:`Open Project`,restoring:`Restoring`,workspace:`Workspace`,projects:`Projects`,quick:`Quick`,quickActions:`Quick actions`,all:`All`,recent:`Recent`,registered:`Registered`,globalSettings:`Global Settings`,settings:`Settings`,webui:`WebUI`,webuiCommands:`WebUI commands`,webuiReady:`WebUI ready`,webuiLoading:`WebUI loading`,webuiError:`WebUI error`,webuiIdle:`WebUI idle`,noActiveWebui:`No active WebUI`,chat:`Chat`,terminal:`Terminal`,newTerm:`New Term`,prompt:`Prompt`,command:`Command`,compact:`Compact`,yolo:`YOLO`,ready:`Ready`,loading:`Loading`,idle:`Idle`,error:`Error`,offline:`Offline`,running:`Running`,starting:`Starting`,stopped:`Stopped`,noProject:`No project`,noMatchingProjects:`No matching projects`,noRegisteredProjects:`No registered projects`,noOpenProjectSessions:`No open project sessions`,unknownError:`Unknown error`,next:`Next`,collapseSidebar:`Collapse desktop sidebar`,expandSidebar:`Expand desktop sidebar`,gs:`GS`,sessions:`Sessions`,runtimes:`Runtimes`,launcherError:`The active WebUI did not handle that launcher command. Try Reload if the view is still starting.`,sessionLauncherError:`That session WebUI did not handle the command yet. Try Reload if it is still starting.`,operationFailed:`Operation failed.`},tr:{desktopNavAria:`Masaüstü navigasyon`,openProjectFolderTitle:`Proje klasörünü aç`,dismiss:`Kapat`,active:`Aktif`,globalSettingsWorkspace:`Genel ayarlar çalışma alanı`,newSession:`Yeni Oturum`,revealProjectFolder:`Proje klasörünü göster`,registerProjectFolder:`Proje klasörünü kaydet`,findProject:`Proje bul`,clearProjectSearch:`Proje aramasını temizle`,register:`Kaydet`,projectLists:`Proje listeleri`,removeFromRegistry:`Proje kaydından kaldır`,none:`Yok`,quickView:`Hızlı görünüm`,openChat:`Sohbeti aç`,openTerminal:`Terminali aç`,term:`Term`,openFiles:`Dosyaları aç`,files:`Dosyalar`,openInBrowser:`Tarayıcıda aç`,closeSession:`Oturumu kapat`,runtimeError:`Çalışma Zamanı Hatası`,openProject:`Proje Aç`,restoring:`Geri yükleniyor`,workspace:`Çalışma alanı`,projects:`Projeler`,quick:`Hızlı`,quickActions:`Hızlı eylemler`,all:`Tümü`,recent:`Son`,registered:`Kayıtlı`,globalSettings:`Genel Ayarlar`,settings:`Ayarlar`,webui:`WebUI`,webuiCommands:`WebUI komutları`,webuiReady:`WebUI hazır`,webuiLoading:`WebUI yükleniyor`,webuiError:`WebUI hatası`,webuiIdle:`WebUI boşta`,noActiveWebui:`Etkin WebUI yok`,chat:`Sohbet`,terminal:`Terminal`,newTerm:`Yeni Terminal`,prompt:`İstem`,command:`Komut`,compact:`Sıkışık`,yolo:`YOLO`,ready:`Hazır`,loading:`Yükleniyor`,idle:`Boşta`,error:`Hata`,offline:`Çevrimdışı`,running:`Çalışıyor`,starting:`Başlatılıyor`,stopped:`Durduruldu`,noProject:`Proje yok`,noMatchingProjects:`Eşleşen proje yok`,noRegisteredProjects:`Kayıtlı proje yok`,noOpenProjectSessions:`Açık proje oturumu yok`,unknownError:`Bilinmeyen hata`,next:`İleri`,collapseSidebar:`Masaüstü kenar çubuğunu daralt`,expandSidebar:`Masaüstü kenar çubuğunu genişlet`,gs:`GA`,sessions:`Oturumlar`,runtimes:`Çalışma zamanları`},de:{desktopNavAria:`Desktop-Navigation`,openProjectFolderTitle:`Projektordner öffnen`,dismiss:`Verwerfen`,active:`Aktiv`,globalSettingsWorkspace:`Globale Einstellungen-Workspace`,newSession:`Neue Sitzung`,revealProjectFolder:`Projektordner anzeigen`,registerProjectFolder:`Projektordner registrieren`,findProject:`Projekt finden`,clearProjectSearch:`Projektsuche löschen`,register:`Registrieren`,projectLists:`Projektlisten`,removeFromRegistry:`Aus Projekt-Registry entfernen`,none:`Keine`,quickView:`Schnellansicht`,openChat:`Chat öffnen`,openTerminal:`Terminal öffnen`,term:`Term`,openFiles:`Dateien öffnen`,files:`Dateien`,openInBrowser:`Im Browser öffnen`,closeSession:`Sitzung schließen`,runtimeError:`Laufzeitfehler`,openProject:`Projekt öffnen`,restoring:`Wiederherstellen`,workspace:`Workspace`,projects:`Projekte`,quick:`Schnell`,quickActions:`Schnellaktionen`,all:`Alle`,recent:`Zuletzt`,registered:`Registriert`,globalSettings:`Globale Einstellungen`,settings:`Einstellungen`,webui:`WebUI`,webuiCommands:`WebUI-Befehle`,webuiReady:`WebUI bereit`,webuiLoading:`WebUI lädt`,webuiError:`WebUI-Fehler`,webuiIdle:`WebUI inaktiv`,noActiveWebui:`Kein aktives WebUI`,chat:`Chat`,terminal:`Terminal`,newTerm:`Neues Terminal`,prompt:`Prompt`,command:`Befehl`,compact:`Kompakt`,yolo:`YOLO`,ready:`Bereit`,loading:`Lädt`,idle:`Inaktiv`,error:`Fehler`,offline:`Offline`,running:`Läuft`,starting:`Startet`,stopped:`Gestoppt`,noProject:`Kein Projekt`,noMatchingProjects:`Keine passenden Projekte`,noRegisteredProjects:`Keine registrierten Projekte`,noOpenProjectSessions:`Keine offenen Projektsessions`,unknownError:`Unbekannter Fehler`,next:`Weiter`,collapseSidebar:`Desktop-Seitenleiste einklappen`,expandSidebar:`Desktop-Seitenleiste ausklappen`,gs:`GE`,sessions:`Sessions`,runtimes:`Runtimes`},fr:{desktopNavAria:`Navigation du bureau`,openProjectFolderTitle:`Ouvrir le dossier du projet`,dismiss:`Fermer`,active:`Actif`,globalSettingsWorkspace:`Espace des paramètres globaux`,newSession:`Nouvelle session`,revealProjectFolder:`Révéler le dossier du projet`,registerProjectFolder:`Enregistrer le dossier du projet`,findProject:`Rechercher un projet`,clearProjectSearch:`Effacer la recherche de projet`,register:`Enregistrer`,projectLists:`Listes de projets`,removeFromRegistry:`Retirer du registre des projets`,none:`Aucun`,quickView:`Vue rapide`,openChat:`Ouvrir le chat`,openTerminal:`Ouvrir le terminal`,term:`Term`,openFiles:`Ouvrir les fichiers`,files:`Fichiers`,openInBrowser:`Ouvrir dans le navigateur`,closeSession:`Fermer la session`,runtimeError:`Erreur d'exécution`,openProject:`Ouvrir un projet`,restoring:`Restauration`,workspace:`Espace de travail`,projects:`Projets`,quick:`Rapide`,quickActions:`Actions rapides`,all:`Tous`,recent:`Récents`,registered:`Enregistrés`,globalSettings:`Paramètres globaux`,settings:`Paramètres`,webui:`WebUI`,webuiCommands:`Commandes WebUI`,webuiReady:`WebUI prêt`,webuiLoading:`WebUI charge`,webuiError:`Erreur WebUI`,webuiIdle:`WebUI inactif`,noActiveWebui:`Pas de WebUI actif`,chat:`Chat`,terminal:`Terminal`,newTerm:`Nouveau terminal`,prompt:`Invite`,command:`Commande`,compact:`Compact`,yolo:`YOLO`,ready:`Prêt`,loading:`Chargement`,idle:`Inactif`,error:`Erreur`,offline:`Hors ligne`,running:`En cours`,starting:`Démarrage`,stopped:`Arrêté`,noProject:`Aucun projet`,noMatchingProjects:`Aucun projet correspondant`,noRegisteredProjects:`Aucun projet enregistré`,noOpenProjectSessions:`Aucune session de projet ouverte`,unknownError:`Erreur inconnue`,next:`Suivant`,collapseSidebar:`Réduire la barre latérale`,expandSidebar:`Agrandir la barre latérale`,gs:`PG`,sessions:`Sessions`,runtimes:`Runtimes`},it:{desktopNavAria:`Navigazione desktop`,openProjectFolderTitle:`Apri cartella progetto`,dismiss:`Chiudi`,active:`Attivo`,globalSettingsWorkspace:`Workspace impostazioni globali`,newSession:`Nuova sessione`,revealProjectFolder:`Rivela cartella progetto`,registerProjectFolder:`Registra cartella progetto`,findProject:`Trova progetto`,clearProjectSearch:`Cancella ricerca progetto`,register:`Registra`,projectLists:`Elenchi progetti`,removeFromRegistry:`Rimuovi dal registro progetti`,none:`Nessuno`,quickView:`Vista rapida`,openChat:`Apri chat`,openTerminal:`Apri terminale`,term:`Term`,openFiles:`Apri file`,files:`File`,openInBrowser:`Apri nel browser`,closeSession:`Chiudi sessione`,runtimeError:`Errore di runtime`,openProject:`Apri progetto`,restoring:`Ripristino`,workspace:`Workspace`,projects:`Progetti`,quick:`Rapido`,quickActions:`Azioni rapide`,all:`Tutti`,recent:`Recenti`,registered:`Registrati`,globalSettings:`Impostazioni globali`,settings:`Impostazioni`,webui:`WebUI`,webuiCommands:`Comandi WebUI`,webuiReady:`WebUI pronto`,webuiLoading:`WebUI carica`,webuiError:`Errore WebUI`,webuiIdle:`WebUI inattivo`,noActiveWebui:`Nessun WebUI attivo`,chat:`Chat`,terminal:`Terminale`,newTerm:`Nuovo terminale`,prompt:`Prompt`,command:`Comando`,compact:`Compatto`,yolo:`YOLO`,ready:`Pronto`,loading:`Caricamento`,idle:`Inattivo`,error:`Errore`,offline:`Offline`,running:`In corso`,starting:`Avvio`,stopped:`Fermato`,noProject:`Nessun progetto`,noMatchingProjects:`Nessun progetto corrispondente`,noRegisteredProjects:`Nessun progetto registrato`,noOpenProjectSessions:`Nessuna sessione di progetto aperta`,unknownError:`Errore sconosciuto`,next:`Avanti`,collapseSidebar:`Comprimi barra laterale`,expandSidebar:`Espandi barra laterale`,gs:`IG`,sessions:`Sessioni`,runtimes:`Runtime`},es:{desktopNavAria:`Navegación de escritorio`,openProjectFolderTitle:`Abrir carpeta del proyecto`,dismiss:`Cerrar`,active:`Activo`,globalSettingsWorkspace:`Espacio de ajustes globales`,newSession:`Nueva sesión`,revealProjectFolder:`Revelar carpeta del proyecto`,registerProjectFolder:`Registrar carpeta del proyecto`,findProject:`Buscar proyecto`,clearProjectSearch:`Borrar búsqueda de proyecto`,register:`Registrar`,projectLists:`Listas de proyectos`,removeFromRegistry:`Quitar del registro de proyectos`,none:`Ninguno`,quickView:`Vista rápida`,openChat:`Abrir chat`,openTerminal:`Abrir terminal`,term:`Term`,openFiles:`Abrir archivos`,files:`Archivos`,openInBrowser:`Abrir en el navegador`,closeSession:`Cerrar sesión`,runtimeError:`Error de ejecución`,openProject:`Abrir proyecto`,restoring:`Restaurando`,workspace:`Espacio de trabajo`,projects:`Proyectos`,quick:`Rápido`,quickActions:`Acciones rápidas`,all:`Todos`,recent:`Recientes`,registered:`Registrados`,globalSettings:`Ajustes globales`,settings:`Ajustes`,webui:`WebUI`,webuiCommands:`Comandos WebUI`,webuiReady:`WebUI listo`,webuiLoading:`WebUI cargando`,webuiError:`Error de WebUI`,webuiIdle:`WebUI inactivo`,noActiveWebui:`Sin WebUI activo`,chat:`Chat`,terminal:`Terminal`,newTerm:`Nuevo terminal`,prompt:`Indicación`,command:`Comando`,compact:`Compacto`,yolo:`YOLO`,ready:`Listo`,loading:`Cargando`,idle:`Inactivo`,error:`Error`,offline:`Desconectado`,running:`En ejecución`,starting:`Iniciando`,stopped:`Detenido`,noProject:`Sin proyecto`,noMatchingProjects:`Sin proyectos coincidentes`,noRegisteredProjects:`Sin proyectos registrados`,noOpenProjectSessions:`Sin sesiones de proyecto abiertas`,unknownError:`Error desconocido`,next:`Siguiente`,collapseSidebar:`Contraer barra lateral`,expandSidebar:`Expandir barra lateral`,gs:`AG`,sessions:`Sesiones`,runtimes:`Runtimes`},"pt-BR":{desktopNavAria:`Navegação do desktop`,openProjectFolderTitle:`Abrir pasta do projeto`,dismiss:`Dispensar`,active:`Ativo`,globalSettingsWorkspace:`Espaço de configurações globais`,newSession:`Nova sessão`,revealProjectFolder:`Revelar pasta do projeto`,registerProjectFolder:`Registrar pasta do projeto`,findProject:`Encontrar projeto`,clearProjectSearch:`Limpar busca de projeto`,register:`Registrar`,projectLists:`Listas de projetos`,removeFromRegistry:`Remover do registro de projetos`,none:`Nenhum`,quickView:`Vista rápida`,openChat:`Abrir chat`,openTerminal:`Abrir terminal`,term:`Term`,openFiles:`Abrir arquivos`,files:`Arquivos`,openInBrowser:`Abrir no navegador`,closeSession:`Fechar sessão`,runtimeError:`Erro de execução`,openProject:`Abrir projeto`,restoring:`Restaurando`,workspace:`Workspace`,projects:`Projetos`,quick:`Rápido`,quickActions:`Ações rápidas`,all:`Todos`,recent:`Recentes`,registered:`Registrados`,globalSettings:`Configurações globais`,settings:`Configurações`,webui:`WebUI`,webuiCommands:`Comandos WebUI`,webuiReady:`WebUI pronto`,webuiLoading:`WebUI carregando`,webuiError:`Erro WebUI`,webuiIdle:`WebUI inativo`,noActiveWebui:`Sem WebUI ativo`,chat:`Chat`,terminal:`Terminal`,newTerm:`Novo terminal`,prompt:`Prompt`,command:`Comando`,compact:`Compacto`,yolo:`YOLO`,ready:`Pronto`,loading:`Carregando`,idle:`Inativo`,error:`Erro`,offline:`Offline`,running:`Em execução`,starting:`Iniciando`,stopped:`Parado`,noProject:`Sem projeto`,noMatchingProjects:`Sem projetos correspondentes`,noRegisteredProjects:`Sem projetos registrados`,noOpenProjectSessions:`Sem sessões de projeto abertas`,unknownError:`Erro desconhecido`,next:`Próximo`,collapseSidebar:`Recolher barra lateral`,expandSidebar:`Expandir barra lateral`,gs:`CG`,sessions:`Sessões`,runtimes:`Runtimes`}};function u(e){return l[r]?.[e]??l.en[e]??e}try{window.wrongstackDesktop?.onLocaleChanged?.(e=>{e&&e in l&&i(e,{propagate:!1})})}catch{}var d={agents:`<path d="M16 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2"></path><circle cx="9.5" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.9"></path><path d="M16 3.1a4 4 0 0 1 0 7.8"></path>`,branch:`<circle cx="6" cy="6" r="3"></circle><circle cx="18" cy="6" r="3"></circle><circle cx="18" cy="18" r="3"></circle><path d="M9 6h6"></path><path d="M18 9v6"></path><path d="M6 9v3a6 6 0 0 0 6 6h3"></path>`,chart:`<path d="M3 3v18h18"></path><rect x="7" y="12" width="3" height="5"></rect><rect x="12" y="8" width="3" height="9"></rect><rect x="17" y="5" width="3" height="12"></rect>`,check:`<path d="M20 6L9 17l-5-5"></path>`,checklist:`<path d="M9 6h11"></path><path d="M9 12h11"></path><path d="M9 18h11"></path><path d="M4 6l1 1 2-2"></path><path d="M4 12l1 1 2-2"></path><path d="M4 18l1 1 2-2"></path>`,chevron:`<path d="M9 18l6-6-6-6"></path>`,chip:`<rect x="7" y="7" width="10" height="10" rx="2"></rect><path d="M4 9h3"></path><path d="M4 15h3"></path><path d="M17 9h3"></path><path d="M17 15h3"></path><path d="M9 4v3"></path><path d="M15 4v3"></path><path d="M9 17v3"></path><path d="M15 17v3"></path>`,clock:`<circle cx="12" cy="12" r="9"></circle><path d="M12 7v5l3 2"></path>`,command:`<path d="M7 7h.01"></path><path d="M12 7h.01"></path><path d="M17 7h.01"></path><path d="M7 12h.01"></path><path d="M12 12h.01"></path><path d="M17 12h.01"></path><path d="M7 17h.01"></path><path d="M12 17h.01"></path><path d="M17 17h.01"></path>`,collab:`<circle cx="8" cy="8" r="3"></circle><circle cx="16" cy="8" r="3"></circle><path d="M3 20a5 5 0 0 1 10 0"></path><path d="M11 20a5 5 0 0 1 10 0"></path>`,compress:`<path d="M8 3v6H2"></path><path d="M16 3v6h6"></path><path d="M8 21v-6H2"></path><path d="M16 21v-6h6"></path>`,cursor:`<path d="M4 4l9 17 2-7 7-2L4 4z"></path>`,debug:`<path d="M8 2h8"></path><path d="M9 2v4"></path><path d="M15 2v4"></path><path d="M5 10h14"></path><path d="M7 10v4a5 5 0 0 0 10 0v-4"></path><path d="M3 14h4"></path><path d="M17 14h4"></path><path d="M4 20l3-3"></path><path d="M20 20l-3-3"></path>`,document:`<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M8 13h8"></path><path d="M8 17h6"></path>`,download:`<path d="M12 3v12"></path><path d="M7 10l5 5 5-5"></path><path d="M5 21h14"></path>`,external:`<path d="M15 3h6v6"></path><path d="M10 14L21 3"></path><path d="M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"></path>`,files:`<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path>`,folder:`<path d="M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>`,"folder-plus":`<path d="M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><path d="M12 11v5"></path><path d="M9.5 13.5h5"></path>`,git:`<path d="M7 7h10"></path><path d="M7 12h10"></path><path d="M7 17h10"></path><path d="M4 7h.01"></path><path d="M4 12h.01"></path><path d="M4 17h.01"></path>`,gallery:`<rect x="3" y="3" width="18" height="18" rx="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><path d="M21 15l-5-5L5 21"></path>`,history:`<path d="M3 12a9 9 0 1 0 3-6.7"></path><path d="M3 4v6h6"></path><path d="M12 7v5l3 2"></path>`,kanban:`<rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M9 4v16"></path><path d="M15 4v16"></path><path d="M6 8h.01"></path><path d="M12 12h.01"></path><path d="M18 9h.01"></path>`,keyboard:`<rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="M7 9h.01"></path><path d="M11 9h.01"></path><path d="M15 9h.01"></path><path d="M19 9h.01"></path><path d="M7 13h.01"></path><path d="M11 13h.01"></path><path d="M15 13h.01"></path><path d="M7 17h10"></path>`,list:`<path d="M8 6h13"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M3 6h.01"></path><path d="M3 12h.01"></path><path d="M3 18h.01"></path>`,mail:`<rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="M3 7l9 6 9-6"></path>`,map:`<path d="M9 18l-6 3V6l6-3 6 3 6-3v15l-6 3-6-3z"></path><path d="M9 3v15"></path><path d="M15 6v15"></path>`,message:`<path d="M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z"></path>`,monitor:`<rect x="3" y="4" width="18" height="14" rx="2"></rect><path d="M8 21h8"></path><path d="M12 18v3"></path><path d="M7 13l3-3 2 2 4-5 1 3"></path>`,phase:`<path d="M4 7h6"></path><path d="M14 7h6"></path><path d="M4 17h6"></path><path d="M14 17h6"></path><circle cx="12" cy="7" r="2"></circle><circle cx="12" cy="17" r="2"></circle><path d="M12 9v6"></path>`,plan:`<rect x="4" y="3" width="16" height="18" rx="2"></rect><path d="M8 8h8"></path><path d="M8 12h8"></path><path d="M8 16h5"></path>`,plus:`<path d="M12 5v14"></path><path d="M5 12h14"></path>`,project:`<rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M8 4v16"></path><path d="M8 9h13"></path>`,pulse:`<path d="M3 12h4l2-6 4 12 2-6h6"></path>`,refresh:`<path d="M21 12a9 9 0 0 1-15.4 6.4"></path><path d="M3 12A9 9 0 0 1 18.4 5.6"></path><path d="M18 2v5h-5"></path><path d="M6 22v-5h5"></path>`,search:`<circle cx="11" cy="11" r="7"></circle><path d="M21 21l-4.3-4.3"></path>`,settings:`<path d="M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z"></path><path d="M4 12a8 8 0 0 1 .2-1.8l-2-1.5 2-3.4 2.4 1a8 8 0 0 1 3-1.7L10 2h4l.4 2.6a8 8 0 0 1 3 1.7l2.4-1 2 3.4-2 1.5A8 8 0 0 1 20 12a8 8 0 0 1-.2 1.8l2 1.5-2 3.4-2.4-1a8 8 0 0 1-3 1.7L14 22h-4l-.4-2.6a8 8 0 0 1-3-1.7l-2.4 1-2-3.4 2-1.5A8 8 0 0 1 4 12z"></path>`,shield:`<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><path d="M9 12l2 2 4-5"></path>`,skill:`<path d="M12 2l2.5 6.5L21 11l-6.5 2.5L12 20l-2.5-6.5L3 11l6.5-2.5L12 2z"></path>`,spark:`<path d="M12 3l1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7L12 3z"></path><path d="M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8L19 16z"></path>`,target:`<circle cx="12" cy="12" r="9"></circle><circle cx="12" cy="12" r="5"></circle><circle cx="12" cy="12" r="1"></circle>`,tasks:`<path d="M4 6h2"></path><path d="M4 12h2"></path><path d="M4 18h2"></path><path d="M10 6h10"></path><path d="M10 12h10"></path><path d="M10 18h10"></path>`,terminal:`<path d="M4 17l6-5-6-5"></path><path d="M12 19h8"></path>`,wand:`<path d="M15 4l5 5"></path><path d="M14 5l-9 9 5 5 9-9"></path><path d="M5 3v4"></path><path d="M3 5h4"></path><path d="M19 17v4"></path><path d="M17 19h4"></path>`,x:`<path d="M18 6L6 18"></path><path d="M6 6l12 12"></path>`};function f(e){return`<svg class="svg-icon" viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${d[e]}</svg>`}var p={en:`English`,tr:`Türkçe`,de:`Deutsch`,fr:`Français`,it:`Italiano`,es:`Español`,"pt-BR":`Português`},ee=document.querySelector(`#app`);if(!ee)throw Error(`Missing #app root`);var m=ee,h={activeRuntimeId:null,runtimes:[],recentProjects:[],registeredProjects:[],restoring:!1},g={runtimeId:null,status:`idle`},_=!1,v=null,y=`wrongstack.desktop.runtimeGroups`,b=`wrongstack.desktop.sidebarCollapsed`,te=`wrongstack.desktop.panel`,x=`wrongstack.desktop.projectTab`,S=Ee(),C=De(),w=Oe(),T=Ae(),E=``,D=null,O=0;function ne(){return h.runtimes.find(e=>e.id===h.activeRuntimeId)}function k(){let e=ne();m.innerHTML=`
2
- <div class="desktop-shell ${C?`shell-collapsed`:``}">
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`wrongstack.desktop.locale`;function t(e){try{window.wrongstackDesktop?.setLocale?.(e)}catch{}}function n(){try{let t=localStorage.getItem(e);if(t&&t in l)return t}catch{}return`en`}var r=n();function i(n,i={}){if(n!==r){r=n;try{localStorage.setItem(e,n)}catch{}i.propagate!==!1&&t(n);for(let e of o)e()}}function a(){return r}var o=new Set;function s(e){return o.add(e),()=>{o.delete(e)}}var c=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],l={en:{desktopNavAria:`Desktop navigation`,openProjectFolderTitle:`Open project folder`,openRegisteredProject:`Open project from projects.json`,removeFromProjectRegistry:`Remove from projects.json`,dismiss:`Dismiss`,active:`Active`,globalSettingsWorkspace:`Global settings workspace`,newSession:`New Session`,revealProjectFolder:`Reveal project folder`,registerProjectFolder:`Register project folder`,findProject:`Find project`,clearProjectSearch:`Clear project search`,register:`Register`,projectLists:`Project lists`,removeFromRegistry:`Remove from project registry`,none:`None`,quickView:`Quick view`,openChat:`Open chat`,openTerminal:`Open terminal`,term:`Term`,openFiles:`Open files`,files:`Files`,openInBrowser:`Open in browser`,closeSession:`Close session`,runtimeError:`Runtime Error`,openProject:`Open Project`,restoring:`Restoring`,workspace:`Workspace`,projects:`Projects`,quick:`Quick`,quickActions:`Quick actions`,all:`All`,recent:`Recent`,registered:`Registered`,globalSettings:`Global Settings`,settings:`Settings`,webui:`WebUI`,webuiCommands:`WebUI commands`,webuiReady:`WebUI ready`,webuiLoading:`WebUI loading`,webuiError:`WebUI error`,webuiIdle:`WebUI idle`,noActiveWebui:`No active WebUI`,chat:`Chat`,terminal:`Terminal`,newTerm:`New Term`,prompt:`Prompt`,command:`Command`,compact:`Compact`,yolo:`YOLO`,ready:`Ready`,loading:`Loading`,idle:`Idle`,error:`Error`,offline:`Offline`,running:`Running`,starting:`Starting`,stopped:`Stopped`,noProject:`No project`,noMatchingProjects:`No matching projects`,noRegisteredProjects:`No registered projects`,noOpenProjectSessions:`No open project sessions`,unknownError:`Unknown error`,next:`Next`,collapseSidebar:`Collapse desktop sidebar`,expandSidebar:`Expand desktop sidebar`,gs:`GS`,sessions:`Sessions`,runtimes:`Runtimes`,launcherError:`The active WebUI did not handle that launcher command. Try Reload if the view is still starting.`,sessionLauncherError:`That session WebUI did not handle the command yet. Try Reload if it is still starting.`,operationFailed:`Operation failed.`},tr:{desktopNavAria:`Masaüstü navigasyon`,openProjectFolderTitle:`Proje klasörünü aç`,dismiss:`Kapat`,active:`Aktif`,globalSettingsWorkspace:`Genel ayarlar çalışma alanı`,newSession:`Yeni Oturum`,revealProjectFolder:`Proje klasörünü göster`,registerProjectFolder:`Proje klasörünü kaydet`,findProject:`Proje bul`,clearProjectSearch:`Proje aramasını temizle`,register:`Kaydet`,projectLists:`Proje listeleri`,removeFromRegistry:`Proje kaydından kaldır`,none:`Yok`,quickView:`Hızlı görünüm`,openChat:`Sohbeti aç`,openTerminal:`Terminali aç`,term:`Term`,openFiles:`Dosyaları aç`,files:`Dosyalar`,openInBrowser:`Tarayıcıda aç`,closeSession:`Oturumu kapat`,runtimeError:`Çalışma Zamanı Hatası`,openProject:`Proje Aç`,restoring:`Geri yükleniyor`,workspace:`Çalışma alanı`,projects:`Projeler`,quick:`Hızlı`,quickActions:`Hızlı eylemler`,all:`Tümü`,recent:`Son`,registered:`Kayıtlı`,globalSettings:`Genel Ayarlar`,settings:`Ayarlar`,webui:`WebUI`,webuiCommands:`WebUI komutları`,webuiReady:`WebUI hazır`,webuiLoading:`WebUI yükleniyor`,webuiError:`WebUI hatası`,webuiIdle:`WebUI boşta`,noActiveWebui:`Etkin WebUI yok`,chat:`Sohbet`,terminal:`Terminal`,newTerm:`Yeni Terminal`,prompt:`İstem`,command:`Komut`,compact:`Sıkışık`,yolo:`YOLO`,ready:`Hazır`,loading:`Yükleniyor`,idle:`Boşta`,error:`Hata`,offline:`Çevrimdışı`,running:`Çalışıyor`,starting:`Başlatılıyor`,stopped:`Durduruldu`,noProject:`Proje yok`,noMatchingProjects:`Eşleşen proje yok`,noRegisteredProjects:`Kayıtlı proje yok`,noOpenProjectSessions:`Açık proje oturumu yok`,unknownError:`Bilinmeyen hata`,next:`İleri`,collapseSidebar:`Masaüstü kenar çubuğunu daralt`,expandSidebar:`Masaüstü kenar çubuğunu genişlet`,gs:`GA`,sessions:`Oturumlar`,runtimes:`Çalışma zamanları`},de:{desktopNavAria:`Desktop-Navigation`,openProjectFolderTitle:`Projektordner öffnen`,dismiss:`Verwerfen`,active:`Aktiv`,globalSettingsWorkspace:`Globale Einstellungen-Workspace`,newSession:`Neue Sitzung`,revealProjectFolder:`Projektordner anzeigen`,registerProjectFolder:`Projektordner registrieren`,findProject:`Projekt finden`,clearProjectSearch:`Projektsuche löschen`,register:`Registrieren`,projectLists:`Projektlisten`,removeFromRegistry:`Aus Projekt-Registry entfernen`,none:`Keine`,quickView:`Schnellansicht`,openChat:`Chat öffnen`,openTerminal:`Terminal öffnen`,term:`Term`,openFiles:`Dateien öffnen`,files:`Dateien`,openInBrowser:`Im Browser öffnen`,closeSession:`Sitzung schließen`,runtimeError:`Laufzeitfehler`,openProject:`Projekt öffnen`,restoring:`Wiederherstellen`,workspace:`Workspace`,projects:`Projekte`,quick:`Schnell`,quickActions:`Schnellaktionen`,all:`Alle`,recent:`Zuletzt`,registered:`Registriert`,globalSettings:`Globale Einstellungen`,settings:`Einstellungen`,webui:`WebUI`,webuiCommands:`WebUI-Befehle`,webuiReady:`WebUI bereit`,webuiLoading:`WebUI lädt`,webuiError:`WebUI-Fehler`,webuiIdle:`WebUI inaktiv`,noActiveWebui:`Kein aktives WebUI`,chat:`Chat`,terminal:`Terminal`,newTerm:`Neues Terminal`,prompt:`Prompt`,command:`Befehl`,compact:`Kompakt`,yolo:`YOLO`,ready:`Bereit`,loading:`Lädt`,idle:`Inaktiv`,error:`Fehler`,offline:`Offline`,running:`Läuft`,starting:`Startet`,stopped:`Gestoppt`,noProject:`Kein Projekt`,noMatchingProjects:`Keine passenden Projekte`,noRegisteredProjects:`Keine registrierten Projekte`,noOpenProjectSessions:`Keine offenen Projektsessions`,unknownError:`Unbekannter Fehler`,next:`Weiter`,collapseSidebar:`Desktop-Seitenleiste einklappen`,expandSidebar:`Desktop-Seitenleiste ausklappen`,gs:`GE`,sessions:`Sessions`,runtimes:`Runtimes`},fr:{desktopNavAria:`Navigation du bureau`,openProjectFolderTitle:`Ouvrir le dossier du projet`,dismiss:`Fermer`,active:`Actif`,globalSettingsWorkspace:`Espace des paramètres globaux`,newSession:`Nouvelle session`,revealProjectFolder:`Révéler le dossier du projet`,registerProjectFolder:`Enregistrer le dossier du projet`,findProject:`Rechercher un projet`,clearProjectSearch:`Effacer la recherche de projet`,register:`Enregistrer`,projectLists:`Listes de projets`,removeFromRegistry:`Retirer du registre des projets`,none:`Aucun`,quickView:`Vue rapide`,openChat:`Ouvrir le chat`,openTerminal:`Ouvrir le terminal`,term:`Term`,openFiles:`Ouvrir les fichiers`,files:`Fichiers`,openInBrowser:`Ouvrir dans le navigateur`,closeSession:`Fermer la session`,runtimeError:`Erreur d'exécution`,openProject:`Ouvrir un projet`,restoring:`Restauration`,workspace:`Espace de travail`,projects:`Projets`,quick:`Rapide`,quickActions:`Actions rapides`,all:`Tous`,recent:`Récents`,registered:`Enregistrés`,globalSettings:`Paramètres globaux`,settings:`Paramètres`,webui:`WebUI`,webuiCommands:`Commandes WebUI`,webuiReady:`WebUI prêt`,webuiLoading:`WebUI charge`,webuiError:`Erreur WebUI`,webuiIdle:`WebUI inactif`,noActiveWebui:`Pas de WebUI actif`,chat:`Chat`,terminal:`Terminal`,newTerm:`Nouveau terminal`,prompt:`Invite`,command:`Commande`,compact:`Compact`,yolo:`YOLO`,ready:`Prêt`,loading:`Chargement`,idle:`Inactif`,error:`Erreur`,offline:`Hors ligne`,running:`En cours`,starting:`Démarrage`,stopped:`Arrêté`,noProject:`Aucun projet`,noMatchingProjects:`Aucun projet correspondant`,noRegisteredProjects:`Aucun projet enregistré`,noOpenProjectSessions:`Aucune session de projet ouverte`,unknownError:`Erreur inconnue`,next:`Suivant`,collapseSidebar:`Réduire la barre latérale`,expandSidebar:`Agrandir la barre latérale`,gs:`PG`,sessions:`Sessions`,runtimes:`Runtimes`},it:{desktopNavAria:`Navigazione desktop`,openProjectFolderTitle:`Apri cartella progetto`,dismiss:`Chiudi`,active:`Attivo`,globalSettingsWorkspace:`Workspace impostazioni globali`,newSession:`Nuova sessione`,revealProjectFolder:`Rivela cartella progetto`,registerProjectFolder:`Registra cartella progetto`,findProject:`Trova progetto`,clearProjectSearch:`Cancella ricerca progetto`,register:`Registra`,projectLists:`Elenchi progetti`,removeFromRegistry:`Rimuovi dal registro progetti`,none:`Nessuno`,quickView:`Vista rapida`,openChat:`Apri chat`,openTerminal:`Apri terminale`,term:`Term`,openFiles:`Apri file`,files:`File`,openInBrowser:`Apri nel browser`,closeSession:`Chiudi sessione`,runtimeError:`Errore di runtime`,openProject:`Apri progetto`,restoring:`Ripristino`,workspace:`Workspace`,projects:`Progetti`,quick:`Rapido`,quickActions:`Azioni rapide`,all:`Tutti`,recent:`Recenti`,registered:`Registrati`,globalSettings:`Impostazioni globali`,settings:`Impostazioni`,webui:`WebUI`,webuiCommands:`Comandi WebUI`,webuiReady:`WebUI pronto`,webuiLoading:`WebUI carica`,webuiError:`Errore WebUI`,webuiIdle:`WebUI inattivo`,noActiveWebui:`Nessun WebUI attivo`,chat:`Chat`,terminal:`Terminale`,newTerm:`Nuovo terminale`,prompt:`Prompt`,command:`Comando`,compact:`Compatto`,yolo:`YOLO`,ready:`Pronto`,loading:`Caricamento`,idle:`Inattivo`,error:`Errore`,offline:`Offline`,running:`In corso`,starting:`Avvio`,stopped:`Fermato`,noProject:`Nessun progetto`,noMatchingProjects:`Nessun progetto corrispondente`,noRegisteredProjects:`Nessun progetto registrato`,noOpenProjectSessions:`Nessuna sessione di progetto aperta`,unknownError:`Errore sconosciuto`,next:`Avanti`,collapseSidebar:`Comprimi barra laterale`,expandSidebar:`Espandi barra laterale`,gs:`IG`,sessions:`Sessioni`,runtimes:`Runtime`},es:{desktopNavAria:`Navegación de escritorio`,openProjectFolderTitle:`Abrir carpeta del proyecto`,dismiss:`Cerrar`,active:`Activo`,globalSettingsWorkspace:`Espacio de ajustes globales`,newSession:`Nueva sesión`,revealProjectFolder:`Revelar carpeta del proyecto`,registerProjectFolder:`Registrar carpeta del proyecto`,findProject:`Buscar proyecto`,clearProjectSearch:`Borrar búsqueda de proyecto`,register:`Registrar`,projectLists:`Listas de proyectos`,removeFromRegistry:`Quitar del registro de proyectos`,none:`Ninguno`,quickView:`Vista rápida`,openChat:`Abrir chat`,openTerminal:`Abrir terminal`,term:`Term`,openFiles:`Abrir archivos`,files:`Archivos`,openInBrowser:`Abrir en el navegador`,closeSession:`Cerrar sesión`,runtimeError:`Error de ejecución`,openProject:`Abrir proyecto`,restoring:`Restaurando`,workspace:`Espacio de trabajo`,projects:`Proyectos`,quick:`Rápido`,quickActions:`Acciones rápidas`,all:`Todos`,recent:`Recientes`,registered:`Registrados`,globalSettings:`Ajustes globales`,settings:`Ajustes`,webui:`WebUI`,webuiCommands:`Comandos WebUI`,webuiReady:`WebUI listo`,webuiLoading:`WebUI cargando`,webuiError:`Error de WebUI`,webuiIdle:`WebUI inactivo`,noActiveWebui:`Sin WebUI activo`,chat:`Chat`,terminal:`Terminal`,newTerm:`Nuevo terminal`,prompt:`Indicación`,command:`Comando`,compact:`Compacto`,yolo:`YOLO`,ready:`Listo`,loading:`Cargando`,idle:`Inactivo`,error:`Error`,offline:`Desconectado`,running:`En ejecución`,starting:`Iniciando`,stopped:`Detenido`,noProject:`Sin proyecto`,noMatchingProjects:`Sin proyectos coincidentes`,noRegisteredProjects:`Sin proyectos registrados`,noOpenProjectSessions:`Sin sesiones de proyecto abiertas`,unknownError:`Error desconocido`,next:`Siguiente`,collapseSidebar:`Contraer barra lateral`,expandSidebar:`Expandir barra lateral`,gs:`AG`,sessions:`Sesiones`,runtimes:`Runtimes`},"pt-BR":{desktopNavAria:`Navegação do desktop`,openProjectFolderTitle:`Abrir pasta do projeto`,dismiss:`Dispensar`,active:`Ativo`,globalSettingsWorkspace:`Espaço de configurações globais`,newSession:`Nova sessão`,revealProjectFolder:`Revelar pasta do projeto`,registerProjectFolder:`Registrar pasta do projeto`,findProject:`Encontrar projeto`,clearProjectSearch:`Limpar busca de projeto`,register:`Registrar`,projectLists:`Listas de projetos`,removeFromRegistry:`Remover do registro de projetos`,none:`Nenhum`,quickView:`Vista rápida`,openChat:`Abrir chat`,openTerminal:`Abrir terminal`,term:`Term`,openFiles:`Abrir arquivos`,files:`Arquivos`,openInBrowser:`Abrir no navegador`,closeSession:`Fechar sessão`,runtimeError:`Erro de execução`,openProject:`Abrir projeto`,restoring:`Restaurando`,workspace:`Workspace`,projects:`Projetos`,quick:`Rápido`,quickActions:`Ações rápidas`,all:`Todos`,recent:`Recentes`,registered:`Registrados`,globalSettings:`Configurações globais`,settings:`Configurações`,webui:`WebUI`,webuiCommands:`Comandos WebUI`,webuiReady:`WebUI pronto`,webuiLoading:`WebUI carregando`,webuiError:`Erro WebUI`,webuiIdle:`WebUI inativo`,noActiveWebui:`Sem WebUI ativo`,chat:`Chat`,terminal:`Terminal`,newTerm:`Novo terminal`,prompt:`Prompt`,command:`Comando`,compact:`Compacto`,yolo:`YOLO`,ready:`Pronto`,loading:`Carregando`,idle:`Inativo`,error:`Erro`,offline:`Offline`,running:`Em execução`,starting:`Iniciando`,stopped:`Parado`,noProject:`Sem projeto`,noMatchingProjects:`Sem projetos correspondentes`,noRegisteredProjects:`Sem projetos registrados`,noOpenProjectSessions:`Sem sessões de projeto abertas`,unknownError:`Erro desconhecido`,next:`Próximo`,collapseSidebar:`Recolher barra lateral`,expandSidebar:`Expandir barra lateral`,gs:`CG`,sessions:`Sessões`,runtimes:`Runtimes`}};function u(e){return l[r]?.[e]??l.en[e]??e}try{window.wrongstackDesktop?.onLocaleChanged?.(e=>{e&&e in l&&i(e,{propagate:!1})})}catch{}var d={agents:`<path d="M16 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2"></path><circle cx="9.5" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.9"></path><path d="M16 3.1a4 4 0 0 1 0 7.8"></path>`,branch:`<circle cx="6" cy="6" r="3"></circle><circle cx="18" cy="6" r="3"></circle><circle cx="18" cy="18" r="3"></circle><path d="M9 6h6"></path><path d="M18 9v6"></path><path d="M6 9v3a6 6 0 0 0 6 6h3"></path>`,chart:`<path d="M3 3v18h18"></path><rect x="7" y="12" width="3" height="5"></rect><rect x="12" y="8" width="3" height="9"></rect><rect x="17" y="5" width="3" height="12"></rect>`,check:`<path d="M20 6L9 17l-5-5"></path>`,checklist:`<path d="M9 6h11"></path><path d="M9 12h11"></path><path d="M9 18h11"></path><path d="M4 6l1 1 2-2"></path><path d="M4 12l1 1 2-2"></path><path d="M4 18l1 1 2-2"></path>`,chevron:`<path d="M9 18l6-6-6-6"></path>`,chip:`<rect x="7" y="7" width="10" height="10" rx="2"></rect><path d="M4 9h3"></path><path d="M4 15h3"></path><path d="M17 9h3"></path><path d="M17 15h3"></path><path d="M9 4v3"></path><path d="M15 4v3"></path><path d="M9 17v3"></path><path d="M15 17v3"></path>`,clock:`<circle cx="12" cy="12" r="9"></circle><path d="M12 7v5l3 2"></path>`,command:`<path d="M7 7h.01"></path><path d="M12 7h.01"></path><path d="M17 7h.01"></path><path d="M7 12h.01"></path><path d="M12 12h.01"></path><path d="M17 12h.01"></path><path d="M7 17h.01"></path><path d="M12 17h.01"></path><path d="M17 17h.01"></path>`,collab:`<circle cx="8" cy="8" r="3"></circle><circle cx="16" cy="8" r="3"></circle><path d="M3 20a5 5 0 0 1 10 0"></path><path d="M11 20a5 5 0 0 1 10 0"></path>`,compress:`<path d="M8 3v6H2"></path><path d="M16 3v6h6"></path><path d="M8 21v-6H2"></path><path d="M16 21v-6h6"></path>`,cursor:`<path d="M4 4l9 17 2-7 7-2L4 4z"></path>`,debug:`<path d="M8 2h8"></path><path d="M9 2v4"></path><path d="M15 2v4"></path><path d="M5 10h14"></path><path d="M7 10v4a5 5 0 0 0 10 0v-4"></path><path d="M3 14h4"></path><path d="M17 14h4"></path><path d="M4 20l3-3"></path><path d="M20 20l-3-3"></path>`,document:`<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M8 13h8"></path><path d="M8 17h6"></path>`,download:`<path d="M12 3v12"></path><path d="M7 10l5 5 5-5"></path><path d="M5 21h14"></path>`,external:`<path d="M15 3h6v6"></path><path d="M10 14L21 3"></path><path d="M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"></path>`,files:`<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path>`,folder:`<path d="M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>`,"folder-plus":`<path d="M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><path d="M12 11v5"></path><path d="M9.5 13.5h5"></path>`,git:`<path d="M7 7h10"></path><path d="M7 12h10"></path><path d="M7 17h10"></path><path d="M4 7h.01"></path><path d="M4 12h.01"></path><path d="M4 17h.01"></path>`,gallery:`<rect x="3" y="3" width="18" height="18" rx="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><path d="M21 15l-5-5L5 21"></path>`,history:`<path d="M3 12a9 9 0 1 0 3-6.7"></path><path d="M3 4v6h6"></path><path d="M12 7v5l3 2"></path>`,kanban:`<rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M9 4v16"></path><path d="M15 4v16"></path><path d="M6 8h.01"></path><path d="M12 12h.01"></path><path d="M18 9h.01"></path>`,keyboard:`<rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="M7 9h.01"></path><path d="M11 9h.01"></path><path d="M15 9h.01"></path><path d="M19 9h.01"></path><path d="M7 13h.01"></path><path d="M11 13h.01"></path><path d="M15 13h.01"></path><path d="M7 17h10"></path>`,list:`<path d="M8 6h13"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M3 6h.01"></path><path d="M3 12h.01"></path><path d="M3 18h.01"></path>`,mail:`<rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="M3 7l9 6 9-6"></path>`,map:`<path d="M9 18l-6 3V6l6-3 6 3 6-3v15l-6 3-6-3z"></path><path d="M9 3v15"></path><path d="M15 6v15"></path>`,message:`<path d="M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z"></path>`,monitor:`<rect x="3" y="4" width="18" height="14" rx="2"></rect><path d="M8 21h8"></path><path d="M12 18v3"></path><path d="M7 13l3-3 2 2 4-5 1 3"></path>`,phase:`<path d="M4 7h6"></path><path d="M14 7h6"></path><path d="M4 17h6"></path><path d="M14 17h6"></path><circle cx="12" cy="7" r="2"></circle><circle cx="12" cy="17" r="2"></circle><path d="M12 9v6"></path>`,plan:`<rect x="4" y="3" width="16" height="18" rx="2"></rect><path d="M8 8h8"></path><path d="M8 12h8"></path><path d="M8 16h5"></path>`,plus:`<path d="M12 5v14"></path><path d="M5 12h14"></path>`,project:`<rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M8 4v16"></path><path d="M8 9h13"></path>`,pulse:`<path d="M3 12h4l2-6 4 12 2-6h6"></path>`,refresh:`<path d="M21 12a9 9 0 0 1-15.4 6.4"></path><path d="M3 12A9 9 0 0 1 18.4 5.6"></path><path d="M18 2v5h-5"></path><path d="M6 22v-5h5"></path>`,search:`<circle cx="11" cy="11" r="7"></circle><path d="M21 21l-4.3-4.3"></path>`,settings:`<path d="M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z"></path><path d="M4 12a8 8 0 0 1 .2-1.8l-2-1.5 2-3.4 2.4 1a8 8 0 0 1 3-1.7L10 2h4l.4 2.6a8 8 0 0 1 3 1.7l2.4-1 2 3.4-2 1.5A8 8 0 0 1 20 12a8 8 0 0 1-.2 1.8l2 1.5-2 3.4-2.4-1a8 8 0 0 1-3 1.7L14 22h-4l-.4-2.6a8 8 0 0 1-3-1.7l-2.4 1-2-3.4 2-1.5A8 8 0 0 1 4 12z"></path>`,shield:`<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><path d="M9 12l2 2 4-5"></path>`,skill:`<path d="M12 2l2.5 6.5L21 11l-6.5 2.5L12 20l-2.5-6.5L3 11l6.5-2.5L12 2z"></path>`,spark:`<path d="M12 3l1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7L12 3z"></path><path d="M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8L19 16z"></path>`,target:`<circle cx="12" cy="12" r="9"></circle><circle cx="12" cy="12" r="5"></circle><circle cx="12" cy="12" r="1"></circle>`,tasks:`<path d="M4 6h2"></path><path d="M4 12h2"></path><path d="M4 18h2"></path><path d="M10 6h10"></path><path d="M10 12h10"></path><path d="M10 18h10"></path>`,terminal:`<path d="M4 17l6-5-6-5"></path><path d="M12 19h8"></path>`,wand:`<path d="M15 4l5 5"></path><path d="M14 5l-9 9 5 5 9-9"></path><path d="M5 3v4"></path><path d="M3 5h4"></path><path d="M19 17v4"></path><path d="M17 19h4"></path>`,x:`<path d="M18 6L6 18"></path><path d="M6 6l12 12"></path>`};function f(e){return`<svg class="svg-icon" viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${d[e]}</svg>`}function p(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function m(e){return p(e).replace(/'/g,`&#39;`)}function h(e){return e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim().toLowerCase()}function g(e,t){return h(e)===h(t)}function _(e){let t=new Set,n=[];for(let r of e){let e=h(r.root);!e||t.has(e)||(t.add(e),n.push(r))}return n}function v(e){let t=e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim();return t?t.split(`/`).filter(Boolean).pop()??t:e}function ee(e){return e.kind===`global-settings`?`global-settings`:`${e.kind}:${h(e.root)||e.id}`}function y(e){return e===`workspace`||e===`projects`||e===`quick`?e:null}function te(e){return e===`recent`||e===`registered`||e===`all`?e:null}function b(e,t){let n=new Map;for(let r of e){let e=ee(r),i=n.get(e);if(i){i.sessions.push(r);continue}n.set(e,{key:e,name:r.kind===`global-settings`?t(`globalSettings`):v(r.root)||r.name,root:r.root,kind:r.kind,sessions:[r]})}return[...n.values()]}function x(e,t){if(e.sessions.some(e=>e.id===t.activeRuntimeId))return!0;let n=t.runtimeGroupState[e.key];return typeof n==`boolean`?n:t.allRuntimeCount===e.sessions.length}function S(e,t){let n=e.sessions.some(e=>e.id===t.activeRuntimeId),r=e.sessions[0],i=x(e,t),a=e.sessions.length===1?`1 session`:`${e.sessions.length} sessions`;return`
2
+ <div class="runtime-project-group ${n?`active`:``} ${i?`open`:`collapsed`}" data-runtime-group="${m(e.key)}">
3
+ <div class="runtime-project-header">
4
+ <button class="runtime-project-toggle" data-action="toggle-runtime-group" data-runtime-group-key="${m(e.key)}" aria-expanded="${i?`true`:`false`}" title="${m(e.root)}">
5
+ <span class="runtime-chevron">${t.iconSvg(`chevron`)}</span>
6
+ ${t.iconSvg(e.kind===`global-settings`?`settings`:`folder`)}
7
+ <span class="runtime-project-copy">
8
+ <span class="runtime-name">${p(e.name)}</span>
9
+ <span class="runtime-path">${p(e.root)}</span>
10
+ </span>
11
+ ${ne(e)}
12
+ <span class="runtime-session-count">${p(a)}</span>
13
+ </button>
14
+ ${e.kind===`project`&&r?`<button class="icon-button runtime-add-session" title="${t.t(`newSession`)}" data-action="new-project-session" data-runtime="${m(r.id)}">${t.iconSvg(`plus`)}</button>`:``}
15
+ </div>
16
+ ${i?`<div class="runtime-session-list">${e.sessions.map((e,n)=>re(e,n+1,t)).join(``)}</div>`:``}
17
+ </div>
18
+ `}function ne(e){return`<span class="runtime-status-stack" aria-hidden="true">${[`error`,`starting`,`running`,`stopped`].filter(t=>e.sessions.some(e=>e.status===t)).map(e=>`<span class="status-dot status-${m(e)}"></span>`).join(``)}</span>`}function re(e,t,n){let r=e.id===n.activeRuntimeId,i=e.kind===`global-settings`?n.t(`settings`):`Session ${t}`,a=e.status===`error`?e.error??n.t(`error`):`HTTP ${e.httpPort} · WS ${e.wsPort}`,o=e.status===`running`?``:`disabled`;return`
19
+ <div class="runtime-session-row ${r?`active`:``}">
20
+ <button class="runtime-session-main" data-action="activate" data-runtime="${m(e.id)}" title="${m(e.root)}">
21
+ <span class="status-dot status-${e.status}"></span>
22
+ <span class="runtime-session-copy">
23
+ <span class="runtime-session-title">${p(i)}</span>
24
+ <span class="runtime-session-meta">${p(a)}</span>
25
+ </span>
26
+ </button>
27
+ <div class="runtime-session-actions" aria-label="${m(i)} actions">
28
+ <button class="runtime-session-action primary" title="${n.t(`quickView`)}" data-action="activate" data-runtime="${m(e.id)}">${n.iconSvg(`monitor`)}<span>${n.t(`quick`)}</span></button>
29
+ <button class="runtime-session-action" title="${n.t(`openChat`)}" data-action="session-webui-command" data-runtime="${m(e.id)}" data-command="${m(n.launcherCommandKey({activity:`chat`,view:`chat`}))}" data-label="Chat" ${o}>${n.iconSvg(`message`)}<span>${n.t(`chat`)}</span></button>
30
+ <button class="runtime-session-action" title="${n.t(`openTerminal`)}" data-action="session-webui-command" data-runtime="${m(e.id)}" data-command="${m(n.launcherCommandKey({terminal:`toggle`}))}" data-label="Terminal" ${o}>${n.iconSvg(`terminal`)}<span>${n.t(`term`)}</span></button>
31
+ <button class="runtime-session-action" title="${n.t(`openFiles`)}" data-action="session-webui-command" data-runtime="${m(e.id)}" data-command="${m(n.launcherCommandKey({activity:`files`,view:`files`}))}" data-label="Files" ${o}>${n.iconSvg(`files`)}<span>${n.t(`files`)}</span></button>
32
+ <button class="runtime-session-icon" title="${n.t(`openInBrowser`)}" data-action="open-browser" data-runtime="${m(e.id)}" ${o}>${n.iconSvg(`external`)}</button>
33
+ <button class="runtime-session-icon" title="${n.t(`refresh`)}" data-action="session-reload-webui" data-runtime="${m(e.id)}" ${o}>${n.iconSvg(`refresh`)}</button>
34
+ <button class="runtime-session-icon danger" title="${n.t(`closeSession`)}" data-action="close" data-runtime="${m(e.id)}">${n.iconSvg(`x`)}</button>
35
+ </div>
36
+ </div>
37
+ `}function C(e,t){let n=_(t.recentProjects),r=_(t.registeredProjects),i=_([...r,...n]),a=t.projectPickerTab===`recent`?n:t.projectPickerTab===`registered`?r:i,o=t.projectSearch.trim(),s=o?a.filter(e=>oe(e,o)):a,c=e===`dock`?8:e===`embedded`?18:48,l=s.slice(0,c),u=l.length,d=s.length,f=i.length;return`
38
+ <section class="panel projects-panel projects-panel-${e}">
39
+ <header class="panel-header projects-header">
40
+ <span>${t.t(`projects`)}</span>
41
+ <span class="panel-header-actions">
42
+ <span class="count">${u}/${d||f}</span>
43
+ <button class="panel-header-button" title="${t.t(`registerProjectFolder`)}" data-action="register-project" ${t.busy?`disabled`:``}>
44
+ ${t.iconSvg(`folder-plus`)}
45
+ </button>
46
+ </span>
47
+ </header>
48
+ <div class="project-picker">
49
+ ${ie(n.length,r.length,i.length,t)}
50
+ <div class="project-search-row">
51
+ ${t.iconSvg(`search`)}
52
+ <input
53
+ class="project-search-input"
54
+ type="search"
55
+ value="${m(t.projectSearch)}"
56
+ placeholder="${t.t(`findProject`)}"
57
+ aria-label="${t.t(`findProject`)}"
58
+ autocomplete="off"
59
+ spellcheck="false"
60
+ />
61
+ ${t.projectSearch?`<button class="project-search-clear" title="${t.t(`clearProjectSearch`)}" data-action="clear-project-search">${t.iconSvg(`x`)}</button>`:``}
62
+ </div>
63
+ ${e===`full`||e===`embedded`?`<div class="project-picker-actions">
64
+ <button class="secondary-action compact-action" data-action="open-project" ${t.busy?`disabled`:``}>
65
+ ${t.iconSvg(`folder`)}<span>${t.t(`open`)}</span>
66
+ </button>
67
+ <button class="secondary-action compact-action" data-action="register-project" ${t.busy?`disabled`:``}>
68
+ ${t.iconSvg(`folder-plus`)}<span>${t.t(`register`)}</span>
69
+ </button>
70
+ </div>`:``}
71
+ ${l.length===0?`<div class="empty compact-empty">${f===0?t.t(`noRegisteredProjects`):t.t(`noMatchingProjects`)}</div>`:`<div class="project-list">${l.map(e=>ae(e,t)).join(``)}</div>`}
72
+ </div>
73
+ </section>
74
+ `}function ie(e,t,n,r){return`
75
+ <div class="project-tabs" role="tablist" aria-label="${r.t(`projectLists`)}">
76
+ ${w(`recent`,r.t(`recent`),e,r)}
77
+ ${w(`registered`,r.t(`registered`),t,r)}
78
+ ${w(`all`,r.t(`all`),n,r)}
79
+ </div>
80
+ `}function w(e,t,n,r){let i=r.projectPickerTab===e;return`
81
+ <button
82
+ class="project-tab ${i?`active`:``}"
83
+ data-action="set-project-tab"
84
+ data-project-tab="${m(e)}"
85
+ role="tab"
86
+ aria-selected="${i?`true`:`false`}"
87
+ >
88
+ <span>${p(t)}</span>
89
+ <span>${n}</span>
90
+ </button>
91
+ `}function ae(e,t){let n=t.runtimes.find(t=>g(t.root,e.root)),r=t.registeredProjects.some(t=>g(t.root,e.root)),i=t.recentProjects.some(t=>g(t.root,e.root)),a=e.name||v(e.root)||e.root,o=e.lastWorkingDir||e.root,s=n?t.t(`quickView`):r?t.t(`openRegisteredProject`):t.t(`openProject`);return`
92
+ <div class="project-item-row ${n?`open`:``} ${r?`registered`:``} ${i?`recent`:``}">
93
+ <button
94
+ class="project-item-main"
95
+ data-action="${n?`activate`:`open-project-path`}"
96
+ ${n?`data-runtime="${m(n.id)}"`:`data-project-root="${m(e.root)}"`}
97
+ title="${m(`${s} · ${e.root}`)}"
98
+ >
99
+ ${t.iconSvg(n?`project`:r?`folder-plus`:`folder`)}
100
+ <span class="project-item-copy">
101
+ <span class="project-item-title">${p(a)}</span>
102
+ <span class="project-item-path">${p(o)}</span>
103
+ </span>
104
+ <span class="project-source-tags">
105
+ ${r?`<span class="project-source-tag registered-tag">${t.t(`registered`)}</span>`:``}
106
+ ${i?`<span class="project-source-tag recent-tag">${t.t(`recent`)}</span>`:``}
107
+ </span>
108
+ ${n?`<span class="project-open-dot" title="${t.t(`open`)}"></span>`:``}
109
+ </button>
110
+ ${r?`<button
111
+ class="project-remove-button"
112
+ data-action="unregister-project"
113
+ data-project-root="${m(e.root)}"
114
+ title="${t.t(`removeFromProjectRegistry`)}"
115
+ aria-label="${t.t(`removeFromProjectRegistry`)}"
116
+ >
117
+ ${t.iconSvg(`x`)}
118
+ </button>`:`<span></span>`}
119
+ </div>
120
+ `}function oe(e,t){return[e.name,e.root,e.slug,e.lastWorkingDir].filter(Boolean).join(` `).toLowerCase().includes(t.toLowerCase())}var se={en:`English`,tr:`Türkçe`,de:`Deutsch`,fr:`Français`,it:`Italiano`,es:`Español`,"pt-BR":`Português`},T=document.querySelector(`#app`);if(!T)throw Error(`Missing #app root`);var E=T,D={activeRuntimeId:null,runtimes:[],recentProjects:[],registeredProjects:[],restoring:!1},O={runtimeId:null,status:`idle`},k=!1,A=null,j=`wrongstack.desktop.runtimeGroups`,M=`wrongstack.desktop.sidebarCollapsed`,N=`wrongstack.desktop.panel`,P=`wrongstack.desktop.projectTab`,F=Te(),I=Ee(),L=Oe(),R=Ae(),z=``,B=null,V=0;function ce(){return D.runtimes.find(e=>e.id===D.activeRuntimeId)}function H(){let e=ce();E.innerHTML=`
121
+ <div class="desktop-shell ${I?`shell-collapsed`:``}">
3
122
  <aside class="sidebar">
4
- ${re()}
5
- ${C?``:oe(e)}
123
+ ${le()}
124
+ ${I?``:fe(e)}
6
125
  </aside>
7
126
 
8
127
  <main class="stage ${e?.status===`running`?`stage-mounted`:``}">
9
- ${Se(e)}
128
+ ${xe(e)}
10
129
  </main>
11
130
  </div>
12
- `}function re(){return`
131
+ `}function le(){return`
13
132
  <nav class="desktop-rail" aria-label="${u(`desktopNavAria`)}">
14
133
  <div class="rail-brand" title="WrongStack Desktop">WS</div>
15
134
  <div class="rail-section">
16
- <button class="rail-button accent" title="${u(`openProjectFolderTitle`)}" data-action="open-project" ${_?`disabled`:``}>
135
+ <button class="rail-button accent" title="${u(`openProjectFolderTitle`)}" data-action="open-project" ${k?`disabled`:``}>
17
136
  ${f(`folder-plus`)}
18
137
  </button>
19
- ${A(u(`workspace`),`monitor`,`workspace`)}
20
- ${A(u(`projects`),`folder`,`projects`,Ie())}
21
- ${A(u(`quickActions`),`command`,`quick`)}
138
+ ${U(u(`workspace`),`monitor`,`workspace`)}
139
+ ${U(u(`projects`),`folder`,`projects`,Re())}
140
+ ${U(u(`quickActions`),`command`,`quick`)}
22
141
  </div>
23
- ${ie()}
142
+ ${ue()}
24
143
  <div class="rail-spacer"></div>
25
144
  <select
26
145
  class="rail-locale-select"
@@ -28,124 +147,124 @@
28
147
  title="${u(`settings`)}"
29
148
  aria-label="${u(`settings`)}"
30
149
  >
31
- ${c.map(e=>`<option value="${e}"${e===a()?` selected`:``}>${p[e]??e}</option>`).join(``)}
150
+ ${c.map(e=>`<option value="${e}"${e===a()?` selected`:``}>${se[e]??e}</option>`).join(``)}
32
151
  </select>
33
- <button class="rail-button" title="${u(`globalSettings`)}" data-action="open-settings" ${_?`disabled`:``}>
152
+ <button class="rail-button" title="${u(`globalSettings`)}" data-action="open-settings" ${k?`disabled`:``}>
34
153
  ${f(`settings`)}
35
154
  </button>
36
155
  <button
37
156
  class="rail-button rail-toggle"
38
- title="${u(C?`expandSidebar`:`collapseSidebar`)}"
157
+ title="${u(I?`expandSidebar`:`collapseSidebar`)}"
39
158
  data-action="toggle-shell-sidebar"
40
- aria-label="${u(C?`expandSidebar`:`collapseSidebar`)}"
41
- aria-pressed="${C?`true`:`false`}"
159
+ aria-label="${u(I?`expandSidebar`:`collapseSidebar`)}"
160
+ aria-pressed="${I?`true`:`false`}"
42
161
  >
43
162
  ${f(`chevron`)}
44
163
  </button>
45
164
  </nav>
46
- `}function A(e,t,n,r){let i=w===n;return`
165
+ `}function U(e,t,n,r){let i=L===n;return`
47
166
  <button
48
167
  class="rail-button ${i?`active`:``}"
49
- title="${q(e)}"
168
+ title="${m(e)}"
50
169
  data-action="select-desktop-panel"
51
- data-panel="${q(n)}"
170
+ data-panel="${m(n)}"
52
171
  aria-pressed="${i?`true`:`false`}"
53
172
  >
54
173
  ${f(t)}
55
- ${r?`<span class="rail-badge">${K(r)}</span>`:``}
174
+ ${r?`<span class="rail-badge">${p(r)}</span>`:``}
56
175
  </button>
57
- `}function ie(){return h.runtimes.length===0?``:`
176
+ `}function ue(){return D.runtimes.length===0?``:`
58
177
  <div class="rail-divider"></div>
59
178
  <div class="rail-runtime-list">
60
- ${h.runtimes.map(ae).join(``)}
179
+ ${D.runtimes.map(de).join(``)}
61
180
  </div>
62
- `}function ae(e){return`
181
+ `}function de(e){return`
63
182
  <button
64
- class="rail-runtime ${e.id===h.activeRuntimeId?`active`:``}"
65
- title="${q(`${e.name} · ${e.root}`)}"
183
+ class="rail-runtime ${e.id===D.activeRuntimeId?`active`:``}"
184
+ title="${m(`${e.name} · ${e.root}`)}"
66
185
  data-action="activate"
67
- data-runtime="${q(e.id)}"
186
+ data-runtime="${m(e.id)}"
68
187
  >
69
188
  <span class="status-dot status-${e.status}"></span>
70
- <span>${K(Fe(e))}</span>
189
+ <span>${p(Le(e))}</span>
71
190
  </button>
72
- `}function oe(e){return`
191
+ `}function fe(e){return`
73
192
  <section class="sidebar-pane">
74
- ${se(e)}
75
- ${ce(e)}
193
+ ${pe(e)}
194
+ ${me(e)}
76
195
  </section>
77
- `}function se(e){let t=u(w===`projects`?`projects`:w===`quick`?`quick`:`workspace`),n=w===`projects`?`${Ie()} projects`:w===`quick`?e?.status===`running`?u(`webuiCommands`):u(`noActiveWebui`):e?e.name:h.restoring?u(`restoring`):u(`noProject`);return`
196
+ `}function pe(e){let t=u(L===`projects`?`projects`:L===`quick`?`quick`:`workspace`),n=L===`projects`?`${Re()} projects`:L===`quick`?e?.status===`running`?u(`webuiCommands`):u(`noActiveWebui`):e?e.name:D.restoring?u(`restoring`):u(`noProject`);return`
78
197
  <header class="pane-header">
79
198
  <div class="pane-title-block">
80
199
  <div class="pane-kicker">WrongStack</div>
81
- <div class="pane-title">${K(t)}</div>
200
+ <div class="pane-title">${p(t)}</div>
82
201
  </div>
83
- <div class="pane-subtitle" title="${q(n)}">${K(n)}</div>
202
+ <div class="pane-subtitle" title="${m(n)}">${p(n)}</div>
84
203
  </header>
85
- `}function ce(e){return w===`projects`?`
204
+ `}function me(e){return L===`projects`?`
86
205
  <div class="pane-body pane-body-scroll">
87
- ${j()}
88
- ${le()}
206
+ ${W()}
207
+ ${he()}
89
208
  </div>
90
- `:w===`quick`?`
209
+ `:L===`quick`?`
91
210
  <div class="pane-body pane-body-scroll">
92
- ${j()}
93
- ${fe(e)}
94
- ${M(e)}
211
+ ${W()}
212
+ ${ve(e)}
213
+ ${G(e)}
95
214
  </div>
96
215
  `:`
97
216
  <div class="pane-body workspace-pane">
98
217
  <div class="workspace-main">
99
- ${j()}
100
- ${M(e)}
101
- ${_e()}
218
+ ${W()}
219
+ ${G(e)}
220
+ ${ye()}
102
221
  </div>
103
222
  <div class="workspace-projects">
104
- ${P(`dock`)}
223
+ ${C(`dock`,q())}
105
224
  </div>
106
225
  </div>
107
- `}function le(){return`
226
+ `}function he(){return`
108
227
  <div class="projects-menu-stack">
109
- ${I()}
110
- ${ve()}
111
- ${P(`embedded`)}
228
+ ${J()}
229
+ ${be()}
230
+ ${C(`embedded`,q())}
112
231
  </div>
113
- `}function j(){return v?`
232
+ `}function W(){return A?`
114
233
  <div class="shell-error" role="alert">
115
- <div class="shell-error-copy">${K(v)}</div>
234
+ <div class="shell-error-copy">${p(A)}</div>
116
235
  <button class="icon-button" title="${u(`dismiss`)}" data-action="clear-error">
117
236
  ${f(`x`)}
118
237
  </button>
119
238
  </div>
120
- `:``}function M(e){return e?`
239
+ `:``}function G(e){return e?`
121
240
  <section class="panel active-panel">
122
241
  <header class="panel-header">
123
242
  <span>${u(`active`)}</span>
124
- <span class="status-chip ${e.status}">${K(Ce(e))}</span>
243
+ <span class="status-chip ${e.status}">${p(Se(e))}</span>
125
244
  </header>
126
245
  <div class="active-project">
127
- <div class="active-title">${K(e.name)}</div>
246
+ <div class="active-title">${p(e.name)}</div>
128
247
  ${e.kind===`global-settings`?`<div class="runtime-kind">${u(`globalSettingsWorkspace`)}</div>`:``}
129
- <div class="active-path">${K(e.root)}</div>
248
+ <div class="active-path">${p(e.root)}</div>
130
249
  <div class="active-meta">
131
250
  <span>HTTP ${e.httpPort}</span>
132
251
  <span>WS ${e.wsPort}</span>
133
252
  </div>
134
- ${ue(e)}
135
- ${e.error?`<div class="runtime-error">${K(e.error)}</div>`:``}
136
- ${N(e)}
253
+ ${ge(e)}
254
+ ${e.error?`<div class="runtime-error">${p(e.error)}</div>`:``}
255
+ ${K(e)}
137
256
  </div>
138
257
  <div class="action-row project-action-row ${e.kind===`project`?``:`compact-actions`}">
139
- ${e.kind===`project`?`<button class="secondary-action project-session-action" data-action="new-project-session" data-runtime="${q(e.id)}">
258
+ ${e.kind===`project`?`<button class="secondary-action project-session-action" data-action="new-project-session" data-runtime="${m(e.id)}">
140
259
  ${f(`plus`)}<span>${u(`newSession`)}</span>
141
260
  </button>`:``}
142
- <button class="icon-tool-button" title="${u(`revealProjectFolder`)}" data-action="reveal-root" data-runtime="${q(e.id)}">
261
+ <button class="icon-tool-button" title="${u(`revealProjectFolder`)}" data-action="reveal-root" data-runtime="${m(e.id)}">
143
262
  ${f(`folder`)}
144
263
  </button>
145
- <button class="icon-tool-button" title="${u(`openInBrowser`)}" data-action="open-browser" data-runtime="${q(e.id)}">
264
+ <button class="icon-tool-button" title="${u(`openInBrowser`)}" data-action="open-browser" data-runtime="${m(e.id)}">
146
265
  ${f(`external`)}
147
266
  </button>
148
- <button class="icon-tool-button" title="${u(`refresh`)}" data-action="reload-webui" data-runtime="${q(e.id)}">
267
+ <button class="icon-tool-button" title="${u(`refresh`)}" data-action="reload-webui" data-runtime="${m(e.id)}">
149
268
  ${f(`refresh`)}
150
269
  </button>
151
270
  </div>
@@ -154,246 +273,99 @@
154
273
  <section class="panel active-panel">
155
274
  <header class="panel-header">
156
275
  <span>${u(`active`)}</span>
157
- <span class="status-chip idle">${h.restoring?u(`restoring`):u(`idle`)}</span>
276
+ <span class="status-chip idle">${D.restoring?u(`restoring`):u(`idle`)}</span>
158
277
  </header>
159
- <div class="project-empty">${h.restoring?`${u(`restoring`)}...`:u(`noProject`)}</div>
278
+ <div class="project-empty">${D.restoring?`${u(`restoring`)}...`:u(`noProject`)}</div>
160
279
  </section>
161
- `}function ue(e){let t=ge(e),n=g.runtimeId===e.id&&g.pendingCommands?` · ${g.pendingCommands} queued`:``,r=de(e),i=u(t===`ready`?`webuiReady`:t===`loading`?`webuiLoading`:t===`error`?`webuiError`:`webuiIdle`);return`
280
+ `}function ge(e){let t=Y(e),n=O.runtimeId===e.id&&O.pendingCommands?` · ${O.pendingCommands} queued`:``,r=_e(e),i=u(t===`ready`?`webuiReady`:t===`loading`?`webuiLoading`:t===`error`?`webuiError`:`webuiIdle`);return`
162
281
  <div class="webui-state">
163
282
  <span class="status-dot status-${t===`ready`?`running`:t===`error`?`error`:t===`loading`?`starting`:`stopped`}"></span>
164
- <span>${K(`${i}${n}${r}`)}</span>
165
- ${g.error&&g.runtimeId===e.id?`<span class="webui-error">${K(g.error)}</span>`:``}
283
+ <span>${p(`${i}${n}${r}`)}</span>
284
+ ${O.error&&O.runtimeId===e.id?`<span class="webui-error">${p(O.error)}</span>`:``}
166
285
  </div>
167
- `}function de(e){if(g.runtimeId!==e.id||!g.prefs)return``;let t=[];return g.prefs.yolo===!0&&t.push(u(`yolo`)),g.prefs.nextPrediction===!0&&t.push(u(`next`)),g.prefs.contextAutoCompact===!0&&t.push(u(`compact`)),t.length>0?` · ${t.join(` · `)}`:``}function N(e){let t=e.recentLogs?.filter(e=>e.trim())??[];return t.length===0?``:`
286
+ `}function _e(e){if(O.runtimeId!==e.id||!O.prefs)return``;let t=[];return O.prefs.yolo===!0&&t.push(u(`yolo`)),O.prefs.nextPrediction===!0&&t.push(u(`next`)),O.prefs.contextAutoCompact===!0&&t.push(u(`compact`)),t.length>0?` · ${t.join(` · `)}`:``}function K(e){let t=e.recentLogs?.filter(e=>e.trim())??[];return t.length===0?``:`
168
287
  <details class="runtime-log-details" ${e.status===`error`?`open`:``}>
169
288
  <summary>WebUI output <span>${t.length}</span></summary>
170
- <pre>${t.map(K).join(`
289
+ <pre>${t.map(p).join(`
171
290
  `)}</pre>
172
291
  </details>
173
- `}function fe(e){let t=!!(e&&e.status===`running`&&ge(e)!==`error`),n=t?``:`disabled`,r=!!(e&&g.runtimeId===e.id&&g.prefs?.yolo===!0);return`
292
+ `}function ve(e){let t=!!(e&&e.status===`running`&&Y(e)!==`error`),n=t?``:`disabled`,r=!!(e&&O.runtimeId===e.id&&O.prefs?.yolo===!0);return`
174
293
  <section class="panel launcher-panel">
175
294
  <header class="panel-header">
176
295
  <span>${u(`quick`)}</span>
177
296
  <span class="count">${u(t?`ready`:`offline`)}</span>
178
297
  </header>
179
- ${I()}
298
+ ${J()}
180
299
  <div class="quick-action-grid">
181
- ${[L(u(`chat`),`message`,{activity:`chat`,view:`chat`},n),L(u(`prompt`),`cursor`,{action:`focus-chat`},n),L(u(`terminal`),`terminal`,{terminal:!0},n),L(u(`newTerm`),`plus`,{terminal:`new`},n),L(u(`yolo`),`shield`,{pref:{key:`yolo`,toggle:!0}},n,r)].join(``)}
300
+ ${[X(u(`chat`),`message`,{activity:`chat`,view:`chat`},n),X(u(`prompt`),`cursor`,{action:`focus-chat`},n),X(u(`terminal`),`terminal`,{terminal:!0},n),X(u(`newTerm`),`plus`,{terminal:`new`},n),X(u(`yolo`),`shield`,{pref:{key:`yolo`,toggle:!0}},n,r)].join(``)}
182
301
  </div>
183
302
  </section>
184
- `}function P(e){let t=V(h.recentProjects),n=V(h.registeredProjects),r=V([...n,...t]),i=T===`recent`?t:T===`registered`?n:r,a=E.trim(),o=a?i.filter(e=>he(e,a)):i,s=e===`dock`?8:e===`embedded`?18:48,c=o.slice(0,s),l=c.length,d=o.length,p=r.length;return`
185
- <section class="panel projects-panel projects-panel-${e}">
186
- <header class="panel-header projects-header">
187
- <span>${u(`projects`)}</span>
188
- <span class="panel-header-actions">
189
- <span class="count">${l}/${d||p}</span>
190
- <button class="panel-header-button" title="${u(`registerProjectFolder`)}" data-action="register-project" ${_?`disabled`:``}>
191
- ${f(`folder-plus`)}
192
- </button>
193
- </span>
194
- </header>
195
- <div class="project-picker">
196
- ${pe(t.length,n.length,r.length)}
197
- <div class="project-search-row">
198
- ${f(`search`)}
199
- <input
200
- class="project-search-input"
201
- type="search"
202
- value="${q(E)}"
203
- placeholder="${u(`findProject`)}"
204
- aria-label="${u(`findProject`)}"
205
- autocomplete="off"
206
- spellcheck="false"
207
- />
208
- ${E?`<button class="project-search-clear" title="${u(`clearProjectSearch`)}" data-action="clear-project-search">${f(`x`)}</button>`:``}
209
- </div>
210
- ${e===`full`||e===`embedded`?`<div class="project-picker-actions">
211
- <button class="secondary-action compact-action" data-action="open-project" ${_?`disabled`:``}>
212
- ${f(`folder`)}<span>${u(`open`)}</span>
213
- </button>
214
- <button class="secondary-action compact-action" data-action="register-project" ${_?`disabled`:``}>
215
- ${f(`folder-plus`)}<span>${u(`register`)}</span>
216
- </button>
217
- </div>`:``}
218
- ${c.length===0?`<div class="empty compact-empty">${u(p===0?`noRegisteredProjects`:`noMatchingProjects`)}</div>`:`<div class="project-list">${c.map(me).join(``)}</div>`}
219
- </div>
220
- </section>
221
- `}function pe(e,t,n){return`
222
- <div class="project-tabs" role="tablist" aria-label="${u(`projectLists`)}">
223
- ${F(`recent`,u(`recent`),e)}
224
- ${F(`registered`,u(`registered`),t)}
225
- ${F(`all`,u(`all`),n)}
226
- </div>
227
- `}function F(e,t,n){let r=T===e;return`
228
- <button
229
- class="project-tab ${r?`active`:``}"
230
- data-action="set-project-tab"
231
- data-project-tab="${q(e)}"
232
- role="tab"
233
- aria-selected="${r?`true`:`false`}"
234
- >
235
- <span>${K(t)}</span>
236
- <span>${n}</span>
237
- </button>
238
- `}function me(e){let t=h.runtimes.find(t=>B(t.root,e.root)),n=h.registeredProjects.some(t=>B(t.root,e.root)),r=h.recentProjects.some(t=>B(t.root,e.root)),i=e.name||H(e.root)||e.root,a=e.lastWorkingDir||e.root,o=u(t?`quickView`:n?`openRegisteredProject`:`openProject`);return`
239
- <div class="project-item-row ${t?`open`:``} ${n?`registered`:``} ${r?`recent`:``}">
240
- <button
241
- class="project-item-main"
242
- data-action="${t?`activate`:`open-project-path`}"
243
- ${t?`data-runtime="${q(t.id)}"`:`data-project-root="${q(e.root)}"`}
244
- title="${q(`${o} · ${e.root}`)}"
245
- >
246
- ${f(t?`project`:n?`folder-plus`:`folder`)}
247
- <span class="project-item-copy">
248
- <span class="project-item-title">${K(i)}</span>
249
- <span class="project-item-path">${K(a)}</span>
250
- </span>
251
- <span class="project-source-tags">
252
- ${n?`<span class="project-source-tag registered-tag">${u(`registered`)}</span>`:``}
253
- ${r?`<span class="project-source-tag recent-tag">${u(`recent`)}</span>`:``}
254
- </span>
255
- ${t?`<span class="project-open-dot" title="${u(`open`)}"></span>`:``}
256
- </button>
257
- ${n?`<button
258
- class="project-remove-button"
259
- data-action="unregister-project"
260
- data-project-root="${q(e.root)}"
261
- title="${u(`removeFromProjectRegistry`)}"
262
- aria-label="${u(`removeFromProjectRegistry`)}"
263
- >
264
- ${f(`x`)}
265
- </button>`:`<span></span>`}
266
- </div>
267
- `}function he(e,t){return[e.name,e.root,e.slug,e.lastWorkingDir].filter(Boolean).join(` `).toLowerCase().includes(t.toLowerCase())}function I(){if(!D)return``;let e=D.state===`success`?`check`:D.state===`error`?`x`:`pulse`,t=D.message??(D.state===`pending`?`Opening ${D.label}...`:D.state===`success`?`${D.label} opened`:`${D.label} failed`);return`
268
- <div class="launcher-feedback ${D.state}" role="status">
303
+ `}function q(){return{busy:k,projectPickerTab:R,projectSearch:z,recentProjects:D.recentProjects,registeredProjects:D.registeredProjects,runtimes:D.runtimes,t:u,iconSvg:f}}function J(){if(!B)return``;let e=B.state===`success`?`check`:B.state===`error`?`x`:`pulse`,t=B.message??(B.state===`pending`?`Opening ${B.label}...`:B.state===`success`?`${B.label} opened`:`${B.label} failed`);return`
304
+ <div class="launcher-feedback ${B.state}" role="status">
269
305
  ${f(e)}
270
- <span>${K(t)}</span>
306
+ <span>${p(t)}</span>
271
307
  </div>
272
- `}function ge(e){return g.runtimeId===e.id?g.status:e.status===`running`?`loading`:`idle`}function L(e,t,n,r,i=!1){let a=Q(n),o=D?.state===`pending`&&D.commandKey===a,s=r||o?`disabled`:``;return`
308
+ `}function Y(e){return O.runtimeId===e.id?O.status:e.status===`running`?`loading`:`idle`}function X(e,t,n,r,i=!1){let a=Ie(n),o=B?.state===`pending`&&B.commandKey===a,s=r||o?`disabled`:``;return`
273
309
  <button
274
310
  class="shortcut-button ${i?`active-shortcut`:``} ${o?`pending-shortcut`:``}"
275
311
  data-action="webui-command"
276
- data-command="${q(a)}"
277
- data-label="${q(e)}"
278
- title="${q(e)}"
312
+ data-command="${m(a)}"
313
+ data-label="${m(e)}"
314
+ title="${m(e)}"
279
315
  aria-pressed="${i?`true`:`false`}"
280
316
  aria-busy="${o?`true`:`false`}"
281
317
  ${s}
282
318
  >
283
- ${f(t)}<span>${K(e)}</span>
319
+ ${f(t)}<span>${p(e)}</span>
284
320
  </button>
285
- `}function _e(){let e=R(h.runtimes);return`
321
+ `}function ye(){let e=b(D.runtimes,u),t=Z();return`
286
322
  <section class="panel runtime-panel">
287
323
  <header class="panel-header">
288
324
  <span>${u(`runtimes`)}</span>
289
- <span class="count">${e.length}/${h.runtimes.length}</span>
325
+ <span class="count">${e.length}/${D.runtimes.length}</span>
290
326
  </header>
291
327
  <div class="runtime-list">
292
- ${h.runtimes.length===0?`<div class="empty">${u(`none`)}</div>`:e.map(U).join(``)}
328
+ ${D.runtimes.length===0?`<div class="empty">${u(`none`)}</div>`:e.map(e=>S(e,t)).join(``)}
293
329
  </div>
294
330
  </section>
295
- `}function ve(){let e=R(h.runtimes).filter(e=>e.kind===`project`);return`
331
+ `}function be(){let e=b(D.runtimes,u).filter(e=>e.kind===`project`),t=Z();return`
296
332
  <section class="panel runtime-panel project-sessions-panel">
297
333
  <header class="panel-header">
298
334
  <span>${u(`sessions`)}</span>
299
335
  <span class="count">${e.length}/${e.reduce((e,t)=>e+t.sessions.length,0)}</span>
300
336
  </header>
301
337
  <div class="runtime-list project-session-tree">
302
- ${e.length===0?`<div class="empty compact-empty">${h.restoring?`${u(`restoring`)}...`:u(`noOpenProjectSessions`)}</div>`:e.map(U).join(``)}
338
+ ${e.length===0?`<div class="empty compact-empty">${D.restoring?`${u(`restoring`)}...`:u(`noOpenProjectSessions`)}</div>`:e.map(e=>S(e,t)).join(``)}
303
339
  </div>
304
340
  </section>
305
- `}function R(e){let t=new Map;for(let n of e){let e=ye(n),r=t.get(e);if(r){r.sessions.push(n);continue}t.set(e,{key:e,name:n.kind===`global-settings`?u(`globalSettings`):H(n.root)||n.name,root:n.root,kind:n.kind,sessions:[n]})}return[...t.values()]}function ye(e){return e.kind===`global-settings`?`global-settings`:`${e.kind}:${z(e.root)||e.id}`}function z(e){return e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim().toLowerCase()}function B(e,t){return z(e)===z(t)}function V(e){let t=new Set,n=[];for(let r of e){let e=z(r.root);!e||t.has(e)||(t.add(e),n.push(r))}return n}function H(e){let t=e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim();return t?t.split(`/`).filter(Boolean).pop()??t:e}function U(e){let t=e.sessions.some(e=>e.id===h.activeRuntimeId),n=e.sessions[0],r=W(e),i=e.sessions.length===1?`1 session`:`${e.sessions.length} sessions`;return`
306
- <div class="runtime-project-group ${t?`active`:``} ${r?`open`:`collapsed`}" data-runtime-group="${q(e.key)}">
307
- <div class="runtime-project-header">
308
- <button
309
- class="runtime-project-toggle"
310
- data-action="toggle-runtime-group"
311
- data-runtime-group-key="${q(e.key)}"
312
- aria-expanded="${r?`true`:`false`}"
313
- title="${q(e.root)}"
314
- >
315
- <span class="runtime-chevron">${f(`chevron`)}</span>
316
- ${f(e.kind===`global-settings`?`settings`:`folder`)}
317
- <span class="runtime-project-copy">
318
- <span class="runtime-name">${K(e.name)}</span>
319
- <span class="runtime-path">${K(e.root)}</span>
320
- </span>
321
- ${be(e)}
322
- <span class="runtime-session-count">${K(i)}</span>
323
- </button>
324
- ${e.kind===`project`&&n?`<button class="icon-button runtime-add-session" title="${u(`newSession`)}" data-action="new-project-session" data-runtime="${q(n.id)}">
325
- ${f(`plus`)}
326
- </button>`:``}
327
- </div>
328
- ${r?`<div class="runtime-session-list">
329
- ${e.sessions.map((e,t)=>xe(e,t+1)).join(``)}
330
- </div>`:``}
331
- </div>
332
- `}function W(e){if(e.sessions.some(e=>e.id===h.activeRuntimeId))return!0;let t=S[e.key];return typeof t==`boolean`?t:h.runtimes.length===e.sessions.length}function be(e){return`
333
- <span class="runtime-status-stack" aria-hidden="true">
334
- ${[`error`,`starting`,`running`,`stopped`].filter(t=>e.sessions.some(e=>e.status===t)).map(e=>`<span class="status-dot status-${q(e)}"></span>`).join(``)}
335
- </span>
336
- `}function xe(e,t){let n=e.id===h.activeRuntimeId,r=e.kind===`global-settings`?u(`settings`):`Session ${t}`,i=e.status===`error`?e.error??u(`error`):`HTTP ${e.httpPort} · WS ${e.wsPort}`,a=e.status===`running`?``:`disabled`;return`
337
- <div class="runtime-session-row ${n?`active`:``}">
338
- <button class="runtime-session-main" data-action="activate" data-runtime="${q(e.id)}" title="${q(e.root)}">
339
- <span class="status-dot status-${e.status}"></span>
340
- <span class="runtime-session-copy">
341
- <span class="runtime-session-title">${K(r)}</span>
342
- <span class="runtime-session-meta">${K(i)}</span>
343
- </span>
344
- </button>
345
- <div class="runtime-session-actions" aria-label="${q(r)} actions">
346
- <button class="runtime-session-action primary" title="${u(`quickView`)}" data-action="activate" data-runtime="${q(e.id)}">
347
- ${f(`monitor`)}<span>${u(`quick`)}</span>
348
- </button>
349
- <button class="runtime-session-action" title="${u(`openChat`)}" data-action="session-webui-command" data-runtime="${q(e.id)}" data-command="${q(Q({activity:`chat`,view:`chat`}))}" data-label="Chat" ${a}>
350
- ${f(`message`)}<span>${u(`chat`)}</span>
351
- </button>
352
- <button class="runtime-session-action" title="${u(`openTerminal`)}" data-action="session-webui-command" data-runtime="${q(e.id)}" data-command="${q(Q({terminal:`toggle`}))}" data-label="Terminal" ${a}>
353
- ${f(`terminal`)}<span>${u(`term`)}</span>
354
- </button>
355
- <button class="runtime-session-action" title="${u(`openFiles`)}" data-action="session-webui-command" data-runtime="${q(e.id)}" data-command="${q(Q({activity:`files`,view:`files`}))}" data-label="Files" ${a}>
356
- ${f(`files`)}<span>${u(`files`)}</span>
357
- </button>
358
- <button class="runtime-session-icon" title="${u(`openInBrowser`)}" data-action="open-browser" data-runtime="${q(e.id)}" ${a}>
359
- ${f(`external`)}
360
- </button>
361
- <button class="runtime-session-icon" title="${u(`refresh`)}" data-action="session-reload-webui" data-runtime="${q(e.id)}" ${a}>
362
- ${f(`refresh`)}
363
- </button>
364
- <button class="runtime-session-icon danger" title="${u(`closeSession`)}" data-action="close" data-runtime="${q(e.id)}">
365
- ${f(`x`)}
366
- </button>
367
- </div>
368
- </div>
369
- `}function Se(e){return e?.status===`running`?`<div class="mount-shadow"></div>`:e?.status===`starting`?`
341
+ `}function Z(){return{activeRuntimeId:D.activeRuntimeId,allRuntimeCount:D.runtimes.length,runtimeGroupState:F,t:u,iconSvg:f,launcherCommandKey:Ie}}function xe(e){return e?.status===`running`?`<div class="mount-shadow"></div>`:e?.status===`starting`?`
370
342
  <section class="stage-card">
371
343
  <div class="stage-kicker">${u(`starting`)}</div>
372
- <h1>${K(e.name)}</h1>
373
- <div class="stage-path">${K(e.root)}</div>
344
+ <h1>${p(e.name)}</h1>
345
+ <div class="stage-path">${p(e.root)}</div>
374
346
  </section>
375
347
  `:e?.status===`error`?`
376
348
  <section class="stage-card error-card">
377
349
  <div class="stage-kicker">${u(`runtimeError`)}</div>
378
- <h1>${K(e.name)}</h1>
379
- <pre>${K(e.error??u(`unknownError`))}</pre>
380
- ${N(e)}
350
+ <h1>${p(e.name)}</h1>
351
+ <pre>${p(e.error??u(`unknownError`))}</pre>
352
+ ${K(e)}
381
353
  </section>
382
354
  `:`
383
355
  <section class="stage-card">
384
356
  <div class="stage-kicker">WrongStack Desktop</div>
385
- <h1>${h.restoring?u(`restoring`):u(`openProject`)}</h1>
357
+ <h1>${D.restoring?u(`restoring`):u(`openProject`)}</h1>
386
358
  <div class="stage-actions">
387
- <button class="primary-action inline" data-action="open-project" ${_?`disabled`:``}>
359
+ <button class="primary-action inline" data-action="open-project" ${k?`disabled`:``}>
388
360
  ${f(`folder-plus`)}<span>${u(`openProject`)}</span>
389
361
  </button>
390
- <button class="secondary-action inline" data-action="register-project" ${_?`disabled`:``}>
362
+ <button class="secondary-action inline" data-action="register-project" ${k?`disabled`:``}>
391
363
  ${f(`folder`)}<span>${u(`register`)}</span>
392
364
  </button>
393
- <button class="secondary-action inline" data-action="open-settings" ${_?`disabled`:``}>
365
+ <button class="secondary-action inline" data-action="open-settings" ${k?`disabled`:``}>
394
366
  ${f(`settings`)}<span>${u(`settings`)}</span>
395
367
  </button>
396
368
  </div>
397
369
  </section>
398
- `}function Ce(e){return e.status===`starting`?u(`starting`):e.status===`running`?u(`running`):e.status===`error`?u(`error`):u(`stopped`)}async function we(){let[e,t]=await Promise.all([window.wrongstackDesktop.getState(),window.wrongstackDesktop.getWebuiStatus()]);h=e,g=t,k()}async function G(e){if(!_){_=!0,v=null,k();try{await e()}catch(e){v=Te(e),console.error(e)}finally{_=!1,k()}}}window.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),window.wrongstackDesktop.navigateWebui({action:`open-command-palette`}))}),m.addEventListener(`input`,e=>{let t=e.target;if(!t?.classList.contains(`project-search-input`))return;let n=t.selectionStart??t.value.length;E=t.value,k(),Le(n)}),m.addEventListener(`change`,e=>{let t=e.target;if(t?.dataset.action!==`set-locale`)return;let n=c.find(e=>e===t.value);n&&n!==a()&&(i(n),k())}),m.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-action]`);if(!t)return;let n=t.dataset.action,r=t.dataset.runtime;if(n===`webui-command`){let e=t.dataset.command;if(!e)return;let n=t.dataset.label??u(`command`),r=e;try{let t=JSON.parse(e);$({state:`pending`,label:n,commandKey:r}),window.wrongstackDesktop.navigateWebui(t).then(e=>{if(e){$({state:`success`,label:n,commandKey:r});return}let t=u(`launcherError`);v=t,$({state:`error`,label:n,commandKey:r,message:t})}).catch(()=>{v=u(`launcherError`),$({state:`error`,label:n,commandKey:r,message:u(`launcherError`)})})}catch{}return}if(n===`session-webui-command`){if(!r)return;let e=t.dataset.command;if(!e)return;let n=t.dataset.label??`WebUI`,i=e;try{let t=JSON.parse(e);$({state:`pending`,label:n,commandKey:`${r}:${i}`}),G(async()=>{if(h=await window.wrongstackDesktop.activateRuntime(r),await window.wrongstackDesktop.navigateWebui(t)){$({state:`success`,label:n,commandKey:`${r}:${i}`});return}let e=u(`sessionLauncherError`);v=e,$({state:`error`,label:n,commandKey:`${r}:${i}`,message:e})})}catch{}return}if(n===`clear-error`){v=null,k();return}if(n===`clear-project-search`){E=``,k(),Le(0);return}if(n===`toggle-shell-sidebar`){C=!C,J(),window.wrongstackDesktop.setShellSidebarCollapsed(C),k();return}if(n===`select-desktop-panel`){let e=X(t.dataset.panel);if(!e)return;w=e,ke(),k();return}if(n===`set-project-tab`){let e=Z(t.dataset.projectTab);if(!e)return;T=e,je(),k();return}if(n===`toggle-runtime-group`){let e=t.dataset.runtimeGroupKey;if(!e)return;let n=R(h.runtimes).find(t=>t.key===e);if(!n)return;S={...S,[e]:!W(n)},Ne(),k();return}G(async()=>{if(n===`open-project`)h=await window.wrongstackDesktop.openProject();else if(n===`register-project`)h=await window.wrongstackDesktop.registerProject();else if(n===`open-project-path`){let e=t.dataset.projectRoot;e&&(h=await window.wrongstackDesktop.openProject(e))}else if(n===`unregister-project`){let e=t.dataset.projectRoot;e&&(h=await window.wrongstackDesktop.unregisterProject(e))}else n===`new-project-session`?h=await window.wrongstackDesktop.openProjectSession(r):n===`open-settings`?h=await window.wrongstackDesktop.openSettings():n===`activate`&&r?h=await window.wrongstackDesktop.activateRuntime(r):n===`close`&&r?h=await window.wrongstackDesktop.closeRuntime(r):n===`open-browser`&&r?await window.wrongstackDesktop.openRuntimeInBrowser(r):n===`reveal-root`&&r?await window.wrongstackDesktop.revealRuntimeRoot(r):n===`reload-webui`&&r?await window.wrongstackDesktop.reloadWebui():n===`session-reload-webui`&&r&&(h=await window.wrongstackDesktop.activateRuntime(r),await window.wrongstackDesktop.reloadWebui())})}),window.wrongstackDesktop.onStateChanged(e=>{h=e,k()}),window.wrongstackDesktop.onWebuiStatusChanged(e=>{g=e,k()}),window.wrongstackDesktop.onShellSidebarCollapsedChanged(e=>{C=e,J(),k()}),s(()=>k()),we(),window.wrongstackDesktop.setShellSidebarCollapsed(C);function K(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function q(e){return K(e).replace(/'/g,`&#39;`)}function Te(e){return e instanceof Error?e.message:typeof e==`string`?e:u(`operationFailed`)}function Ee(){return Me(y)}function De(){try{return window.localStorage.getItem(b)===`true`}catch{return!1}}function J(){try{window.localStorage.setItem(b,String(C))}catch{}}function Oe(){return X(Y(te))??`workspace`}function ke(){try{window.localStorage.setItem(te,w)}catch{}}function Ae(){return Z(Y(x))??`recent`}function je(){try{window.localStorage.setItem(x,T)}catch{}}function Y(e){try{return window.localStorage.getItem(e)}catch{return null}}function X(e){return e===`workspace`||e===`projects`||e===`quick`?e:null}function Z(e){return e===`recent`||e===`registered`||e===`all`?e:null}function Me(e){try{let t=window.localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n))typeof t==`boolean`&&(r[e]=t);return r}catch{return{}}}function Ne(){Pe(y,S)}function Pe(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Q(e){return JSON.stringify(e)}function Fe(e){let t=e.kind===`global-settings`?u(`gs`):e.name||H(e.root),n=t.replace(/[_-]+/g,` `).split(/\s+/).filter(Boolean);return(n.length>=2?`${n[0]?.[0]??``}${n[1]?.[0]??``}`:t.slice(0,2)).toUpperCase()}function Ie(){return String(V([...h.recentProjects,...h.registeredProjects]).length)}function $(e){O+=1;let t=O;D={id:t,...e},k(),e.state!==`pending`&&window.setTimeout(()=>{D?.id===t&&(D=null,k())},e.state===`success`?1250:3e3)}function Le(e){window.requestAnimationFrame(()=>{let t=document.querySelector(`.project-search-input`);if(!t)return;t.focus();let n=Math.max(0,Math.min(e,t.value.length));t.setSelectionRange(n,n)})}
399
- //# sourceMappingURL=index-Bih3lXdg.js.map
370
+ `}function Se(e){return e.status===`starting`?u(`starting`):e.status===`running`?u(`running`):e.status===`error`?u(`error`):u(`stopped`)}async function Ce(){let[e,t]=await Promise.all([window.wrongstackDesktop.getState(),window.wrongstackDesktop.getWebuiStatus()]);D=e,O=t,H()}async function Q(e){if(!k){k=!0,A=null,H();try{await e()}catch(e){A=we(e),console.error(e)}finally{k=!1,H()}}}window.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),window.wrongstackDesktop.navigateWebui({action:`open-command-palette`}))}),E.addEventListener(`input`,e=>{let t=e.target;if(!t?.classList.contains(`project-search-input`))return;let n=t.selectionStart??t.value.length;z=t.value,H(),ze(n)}),E.addEventListener(`change`,e=>{let t=e.target;if(t?.dataset.action!==`set-locale`)return;let n=c.find(e=>e===t.value);n&&n!==a()&&(i(n),H())}),E.addEventListener(`click`,e=>{let t=e.target?.closest(`[data-action]`);if(!t)return;let n=t.dataset.action,r=t.dataset.runtime;if(n===`webui-command`){let e=t.dataset.command;if(!e)return;let n=t.dataset.label??u(`command`),r=e;try{let t=JSON.parse(e);$({state:`pending`,label:n,commandKey:r}),window.wrongstackDesktop.navigateWebui(t).then(e=>{if(e){$({state:`success`,label:n,commandKey:r});return}let t=u(`launcherError`);A=t,$({state:`error`,label:n,commandKey:r,message:t})}).catch(()=>{A=u(`launcherError`),$({state:`error`,label:n,commandKey:r,message:u(`launcherError`)})})}catch{}return}if(n===`session-webui-command`){if(!r)return;let e=t.dataset.command;if(!e)return;let n=t.dataset.label??`WebUI`,i=e;try{let t=JSON.parse(e);$({state:`pending`,label:n,commandKey:`${r}:${i}`}),Q(async()=>{if(D=await window.wrongstackDesktop.activateRuntime(r),await window.wrongstackDesktop.navigateWebui(t)){$({state:`success`,label:n,commandKey:`${r}:${i}`});return}let e=u(`sessionLauncherError`);A=e,$({state:`error`,label:n,commandKey:`${r}:${i}`,message:e})})}catch{}return}if(n===`clear-error`){A=null,H();return}if(n===`clear-project-search`){z=``,H(),ze(0);return}if(n===`toggle-shell-sidebar`){I=!I,De(),window.wrongstackDesktop.setShellSidebarCollapsed(I),H();return}if(n===`select-desktop-panel`){let e=y(t.dataset.panel);if(!e)return;L=e,ke(),H();return}if(n===`set-project-tab`){let e=te(t.dataset.projectTab);if(!e)return;R=e,je(),H();return}if(n===`toggle-runtime-group`){let e=t.dataset.runtimeGroupKey;if(!e)return;let n=b(D.runtimes,u).find(t=>t.key===e);if(!n)return;F={...F,[e]:!x(n,Z())},Pe(),H();return}Q(async()=>{if(n===`open-project`)D=await window.wrongstackDesktop.openProject();else if(n===`register-project`)D=await window.wrongstackDesktop.registerProject();else if(n===`open-project-path`){let e=t.dataset.projectRoot;e&&(D=await window.wrongstackDesktop.openProject(e))}else if(n===`unregister-project`){let e=t.dataset.projectRoot;e&&(D=await window.wrongstackDesktop.unregisterProject(e))}else n===`new-project-session`?D=await window.wrongstackDesktop.openProjectSession(r):n===`open-settings`?D=await window.wrongstackDesktop.openSettings():n===`activate`&&r?D=await window.wrongstackDesktop.activateRuntime(r):n===`close`&&r?D=await window.wrongstackDesktop.closeRuntime(r):n===`open-browser`&&r?await window.wrongstackDesktop.openRuntimeInBrowser(r):n===`reveal-root`&&r?await window.wrongstackDesktop.revealRuntimeRoot(r):n===`reload-webui`&&r?await window.wrongstackDesktop.reloadWebui():n===`session-reload-webui`&&r&&(D=await window.wrongstackDesktop.activateRuntime(r),await window.wrongstackDesktop.reloadWebui())})}),window.wrongstackDesktop.onStateChanged(e=>{D=e,H()}),window.wrongstackDesktop.onWebuiStatusChanged(e=>{O=e,H()}),window.wrongstackDesktop.onShellSidebarCollapsedChanged(e=>{I=e,De(),H()}),s(()=>H()),Ce(),window.wrongstackDesktop.setShellSidebarCollapsed(I);function we(e){return e instanceof Error?e.message:typeof e==`string`?e:u(`operationFailed`)}function Te(){return Ne(j)}function Ee(){try{return window.localStorage.getItem(M)===`true`}catch{return!1}}function De(){try{window.localStorage.setItem(M,String(I))}catch{}}function Oe(){return y(Me(N))??`workspace`}function ke(){try{window.localStorage.setItem(N,L)}catch{}}function Ae(){return te(Me(P))??`recent`}function je(){try{window.localStorage.setItem(P,R)}catch{}}function Me(e){try{return window.localStorage.getItem(e)}catch{return null}}function Ne(e){try{let t=window.localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n))typeof t==`boolean`&&(r[e]=t);return r}catch{return{}}}function Pe(){Fe(j,F)}function Fe(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ie(e){return JSON.stringify(e)}function Le(e){let t=e.kind===`global-settings`?u(`gs`):e.name||v(e.root),n=t.replace(/[_-]+/g,` `).split(/\s+/).filter(Boolean);return(n.length>=2?`${n[0]?.[0]??``}${n[1]?.[0]??``}`:t.slice(0,2)).toUpperCase()}function Re(){return String(_([...D.recentProjects,...D.registeredProjects]).length)}function $(e){V+=1;let t=V;B={id:t,...e},H(),e.state!==`pending`&&window.setTimeout(()=>{B?.id===t&&(B=null,H())},e.state===`success`?1250:3e3)}function ze(e){window.requestAnimationFrame(()=>{let t=document.querySelector(`.project-search-input`);if(!t)return;t.focus();let n=Math.max(0,Math.min(e,t.value.length));t.setSelectionRange(n,n)})}
371
+ //# sourceMappingURL=index-DS-X1ScP.js.map