@wrongstack/webui 0.299.0 → 0.301.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AgentRosterView-BV6ysoGs.js +9 -0
- package/dist/assets/{AnalyticsDashboard-D58kSekC.js → AnalyticsDashboard-UWNP8zjE.js} +1 -1
- package/dist/assets/AudienceMemoryPanel-DwDKbvSA.js +3 -0
- package/dist/assets/ChangesView-DuVlGWkD.js +1 -0
- package/dist/assets/ChronicleDashboard-cs16n708.js +1 -0
- package/dist/assets/CodeEditor-sr50ljZN.js +1 -0
- package/dist/assets/CodeMap-CtK-C8gK.js +1 -0
- package/dist/assets/ConfirmModal-ndS17YwF.js +1 -0
- package/dist/assets/CronJobsPanel-Dovomns5.js +1 -0
- package/dist/assets/DeadCodeScanPanel-DjR4LLMs.js +2 -0
- package/dist/assets/DebugDashboard-jK1yp3qS.js +1 -0
- package/dist/assets/DesignGalleryView-CqXlEUzE.js +1 -0
- package/dist/assets/GoalView-CGNLrnA4.js +1 -0
- package/dist/assets/KanbanView--tAf_K7N.js +3 -0
- package/dist/assets/{MailboxDetailView-ZcKcOEAe.js → MailboxDetailView-0TBzZTdN.js} +1 -1
- package/dist/assets/MemoryManager-CDK_MO8A.js +1 -0
- package/dist/assets/{ModelPicker-DvNLZzkm.js → ModelPicker-BbBZuQwR.js} +1 -1
- package/dist/assets/OfficeMapPanel-68sVzHRD.js +4 -0
- package/dist/assets/OfficeMapPanel-D6yTfGIT.css +1 -0
- package/dist/assets/{ProcessMonitor-2nSk6sXA.js → ProcessMonitor-gFwiF8gX.js} +1 -1
- package/dist/assets/{QueuePanel-4KBBWFxj.js → QueuePanel-Cx-isRGl.js} +1 -1
- package/dist/assets/{RefreshDebugView-D3XnE53y.js → RefreshDebugView-C9tdu6Ld.js} +1 -1
- package/dist/assets/RequirementIntakeView-cPEw-RpV.js +1 -0
- package/dist/assets/SageTabs-BbK6VFO0.js +2 -0
- package/dist/assets/SddHub-NKvDRECi.js +2 -0
- package/dist/assets/SessionInspectView-DPG5qWhj.js +1 -0
- package/dist/assets/SessionList-ncl-20X_.js +1 -0
- package/dist/assets/SessionsDashboard-D23UVLr4.js +1 -0
- package/dist/assets/SetupScreen-D3XQ8MGk.js +1 -0
- package/dist/assets/{SkillDetailView-D7EQ2XtV.js → SkillDetailView-DDPhVFet.js} +1 -1
- package/dist/assets/SpecsView-afIS0QpX.js +1 -0
- package/dist/assets/TechStackView-kQ2OGxxw.js +1 -0
- package/dist/assets/{TerminalPanel-BL9ZPGJt.js → TerminalPanel-GcJWeldW.js} +1 -1
- package/dist/assets/{Toaster-CJI70aa-.js → Toaster-CgQA9256.js} +1 -1
- package/dist/assets/activity-B-cvKIfT.js +9 -0
- package/dist/assets/activity-Ba3aMzvo.js +9 -0
- package/dist/assets/activity-CRTVZ5A4.js +9 -0
- package/dist/assets/activity-DsSuflRW.js +9 -0
- package/dist/assets/activity-DxDRJ8kN.js +9 -0
- package/dist/assets/activity-VI776bUZ.js +9 -0
- package/dist/assets/activity-nVmsmqAI.js +9 -0
- package/dist/assets/chat-BPuAsrkF.js +1 -0
- package/dist/assets/chat-BfQBSiII.js +1 -0
- package/dist/assets/chat-BnkVCZ3Q.js +1 -0
- package/dist/assets/chat-CR2B97dj.js +1 -0
- package/dist/assets/chat-CdiY7G6Z.js +1 -0
- package/dist/assets/chat-DResBrkV.js +1 -0
- package/dist/assets/chat-Di8o0wDz.js +1 -0
- package/dist/assets/chat-store-DbxFVDwi.js +17 -0
- package/dist/assets/{common-DMM-xyW3.js → common-BXJbu5Y-.js} +1 -1
- package/dist/assets/{common-C9ikgX7d.js → common-BiNu_WzQ.js} +1 -1
- package/dist/assets/common-COVxQ0FV.js +1 -0
- package/dist/assets/{common-D29Zdkxb.js → common-Ch7JihXD.js} +1 -1
- package/dist/assets/{common-DoUBSHRY.js → common-DPaTeTls.js} +1 -1
- package/dist/assets/{common-vdwxzODB.js → common-DdGpRh8j.js} +1 -1
- package/dist/assets/{common-C5hY-d_0.js → common-pI6fYZW3.js} +1 -1
- package/dist/assets/i18n-COgumVF5.js +2 -0
- package/dist/assets/index-CtpViiZy.js +132 -0
- package/dist/assets/index-fIsq43fR.css +1 -0
- package/dist/assets/mailbox-store-C1mzoSqJ.js +1 -0
- package/dist/assets/{progress-ring-61A-xUEl.js → progress-ring-D_48qsBl.js} +1 -1
- package/dist/assets/{roster-ws-Dfg_187V.js → roster-ws-Da57e_sI.js} +1 -1
- package/dist/assets/session-store-Df7_hhe9.js +1 -0
- package/dist/assets/settings-Bb7_utQE.js +1 -0
- package/dist/assets/settings-Bd8zMwvC.js +1 -0
- package/dist/assets/settings-DdFgBMAw.js +1 -0
- package/dist/assets/settings-De6sXIFO.js +1 -0
- package/dist/assets/settings-E8SKMLxq.js +1 -0
- package/dist/assets/settings-zIY9-ivF.js +1 -0
- package/dist/assets/settings-zKBcRjqE.js +1 -0
- package/dist/assets/stores-ChEnUmic.js +7 -0
- package/dist/assets/ui-store-CE4-TlwB.js +1 -0
- package/dist/assets/useWebSocket-_gk4MRJz.js +29 -0
- package/dist/assets/{view-navigation-DxfiZrXS.js → view-navigation-DIDEcp4V.js} +1 -1
- package/dist/assets/ws-client-TTMa0XaT.js +1 -0
- package/dist/components/AgentCard.d.ts +21 -0
- package/dist/components/AgentsPage.d.ts +0 -3
- package/dist/components/AutonomyPicker.d.ts +1 -1
- package/dist/components/ChatInput/refine-panel-host.d.ts +2 -2
- package/dist/components/ChatView/auto-collapse.d.ts +42 -0
- package/dist/components/ConfirmModal.d.ts +7 -2
- package/dist/components/FallbackModal.d.ts +2 -0
- package/dist/components/KanbanBoardState.d.ts +1 -1
- package/dist/components/KanbanVerificationDashboard.d.ts +0 -6
- package/dist/components/SettingsPanel/PluginToggleList.d.ts +11 -3
- package/dist/components/SettingsPanel/ShadowSection.d.ts +18 -1
- package/dist/components/SettingsPanel/brain-section-options.d.ts +27 -55
- package/dist/components/TaskCard.d.ts +0 -1
- package/dist/components/TaskRiskPanel.d.ts +10 -3
- package/dist/components/TechStackView/shared.d.ts +11 -6
- package/dist/components/ThemeProvider.d.ts +6 -1
- package/dist/components/agent-roster-data.d.ts +2 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/hooks/useWebSocket.d.ts +10 -2
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +1 -0
- package/dist/hooks/ws-handlers/misc-handlers.d.ts +13 -0
- package/dist/hooks/ws-handlers/session-handlers.d.ts +1 -0
- package/dist/index.css +62 -0
- package/dist/index.html +18 -17
- package/dist/index.js +26640 -12728
- package/dist/lib/file-icons.d.ts +3 -3
- package/dist/lib/kanban-board-active.d.ts +19 -0
- package/dist/lib/palettes.d.ts +37 -0
- package/dist/lib/plugin-enablement.d.ts +1 -1
- package/dist/lib/ws-client.d.ts +24 -4
- package/dist/providers.json +7 -7
- package/dist/stores/config-store.d.ts +9 -1
- package/dist/stores/context-editor-store.d.ts +9 -1
- package/dist/stores/fallback-store.d.ts +30 -0
- package/dist/stores/fleet-store.d.ts +14 -1
- package/dist/stores/index.d.ts +2 -0
- package/dist/stores/local-prefs.d.ts +13 -0
- package/dist/stores/mailbox-store.d.ts +2 -0
- package/dist/stores/session-store.d.ts +9 -1
- package/dist/stores/ui-store.d.ts +2 -0
- package/dist/types/brain.d.ts +2 -0
- package/dist/types/client-message.d.ts +19 -2
- package/dist/types/protocol-core.d.ts +21 -0
- package/dist/types/runtime.d.ts +22 -0
- package/dist/types/server-message.d.ts +15 -4
- package/package.json +9 -9
- package/dist/assets/AgentRosterView-BqojERFR.js +0 -11
- package/dist/assets/AudienceMemoryPanel-Cc1UkbDl.js +0 -3
- package/dist/assets/ChangesView-BKU80ANq.js +0 -1
- package/dist/assets/ChronicleDashboard-CvCS1Dj1.js +0 -1
- package/dist/assets/CodeEditor-BHZQhx_8.js +0 -1
- package/dist/assets/CodeMap-qllGEFLB.js +0 -1
- package/dist/assets/CronJobsPanel-DD5mhZ4Q.js +0 -1
- package/dist/assets/DeadCodeScanPanel-PB-c8et_.js +0 -2
- package/dist/assets/DebugDashboard-Q8QiVflQ.js +0 -1
- package/dist/assets/DesignGalleryView-CGOtWO7s.js +0 -1
- package/dist/assets/GoalView-Dlk42vW7.js +0 -1
- package/dist/assets/KanbanView-DIP6kKmU.js +0 -3
- package/dist/assets/MemoryManager-B7620q_K.js +0 -1
- package/dist/assets/OfficeMapPanel-BFIF-EMt.css +0 -1
- package/dist/assets/OfficeMapPanel-DKJNTtOZ.js +0 -4
- package/dist/assets/RequirementIntakeView-BMxlf8bt.js +0 -1
- package/dist/assets/SageTabs-g1hO2hJ0.js +0 -2
- package/dist/assets/SddHub-Kv_TbTgT.js +0 -2
- package/dist/assets/SessionInspectView-PnKTvyvP.js +0 -1
- package/dist/assets/SessionList-BeinIC-h.js +0 -1
- package/dist/assets/SessionsDashboard-DEG_BylE.js +0 -1
- package/dist/assets/SetupScreen-DxJwZ1OZ.js +0 -1
- package/dist/assets/SpecsView-Fm7pYYcj.js +0 -1
- package/dist/assets/TechStackView-Bo_UenRF.js +0 -1
- package/dist/assets/activity-BCgOEWgR.js +0 -5
- package/dist/assets/activity-BQ0zqkw2.js +0 -5
- package/dist/assets/activity-CAovbq3e.js +0 -5
- package/dist/assets/activity-CFQyCvgu.js +0 -5
- package/dist/assets/activity-CdQf7zRK.js +0 -5
- package/dist/assets/activity-DACvyn2-.js +0 -5
- package/dist/assets/activity-DOwYydU-.js +0 -5
- package/dist/assets/chat-CRmMDzCb.js +0 -1
- package/dist/assets/chat-CwnuX7tG.js +0 -1
- package/dist/assets/chat-DLn1hY01.js +0 -1
- package/dist/assets/chat-DSEq1Bdz.js +0 -1
- package/dist/assets/chat-DxLD17ER.js +0 -1
- package/dist/assets/chat-DzPxYALH.js +0 -1
- package/dist/assets/chat-OunddzYy.js +0 -1
- package/dist/assets/chat-store-CtOyUCdF.js +0 -17
- package/dist/assets/common-BfVFjVhf.js +0 -1
- package/dist/assets/i18n-B0hsnanh.js +0 -2
- package/dist/assets/index-DHdO0CRE.js +0 -132
- package/dist/assets/index-DKrFQ76m.css +0 -1
- package/dist/assets/mailbox-store-D8TvJsuk.js +0 -1
- package/dist/assets/session-store-b2KGFwkX.js +0 -1
- package/dist/assets/settings-B5xal2R3.js +0 -1
- package/dist/assets/settings-BHtFy8EG.js +0 -1
- package/dist/assets/settings-Bss5hBla.js +0 -1
- package/dist/assets/settings-BzrLCVRP.js +0 -1
- package/dist/assets/settings-C7RdvmLZ.js +0 -1
- package/dist/assets/settings-Dd94HoV6.js +0 -1
- package/dist/assets/settings-Dm9THFe8.js +0 -1
- package/dist/assets/stores-BptlyD_v.js +0 -7
- package/dist/assets/ui-store-BsBnjO3w.js +0 -1
- package/dist/assets/useWebSocket-Bc4S0N4r.js +0 -29
- package/dist/assets/ws-client-DqFoX4jJ.js +0 -1
- package/dist/components/AgentsMonitor.d.ts +0 -26
- package/dist/components/FleetMonitor.d.ts +0 -21
- package/dist/lib/accent-colors.d.ts +0 -136
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var e={chat:`Session`,agents:`Agents`,history:`Historique`,files:`Fichiers`,changes:`Modifications`,mailbox:`Boîte aux lettres`,skills:`Compétences`,worktrees:`Worktrees`,design:`Design Studio`,officemap:`Plan du bureau`,settings:`Paramètres`,sddhub:`SDD`,goal:`Goal`,memory:`Mémoire`,fleet:`Flotte`,inspector:`Inspecteur`,prompts:`Prompts`},t={returnToChat:`{{name}} — retour au chat`,returnToChatDefault:`WrongStack — retour au chat`},n={connected:`Connecté`,disconnected:`Déconnecté`,idle:`Inactif`,thinking:`Réflexion`,running:`En cours`,waiting:`En attente`,done:`Terminé`,stopped:`Arrêté`},r={moreWithHidden:`Plus, {{count}} éléments masqués`,moreOptions:`Plus d'options`,moreCompactHidden:`Plus — {{count}} panneaux/vues masqués, palette, thème, moniteurs`,moreCompact:`Plus — palette, thème, moniteurs`,moreFull:`Plus — palette, thème, raccourcis, moniteurs`,commandPalette:`Palette de commandes`,keyboardShortcuts:`Raccourcis clavier`,panels:`Panneaux`,views:`Vues`,theme:`Thème`,monitors:`Moniteurs`,fleetMonitor:`Moniteur de flotte`,agentsMonitor:`Moniteur d'agents`},i={dragHint:`Glisser pour redimensionner · double-clic pour réinitialiser`,collapse:`Réduire le panneau (Ctrl+\\)`},a={openDashboard:`Ouvrir le tableau de bord des sessions`},o={pending:`en attente…`,empty:`Aucun agent pour le moment`,emptyHint:`Les sous-agents apparaissent ici lorsque la flotte est active.`,runningCount:`{{count}} en cours`,totalCount:`{{count}} au total`,openFull:`Ouvrir la vue complète des agents`,agentsLive:`AGENTS · LIVE`,doneCount:`{{count}} terminés`,failedCount:`{{count}} échecs`,modelsLabel:`modèles`,shownLabel:`affichés`,totalLabel:`total`,leaderFleetTotals:`(leader {{leader}} · flotte {{fleet}})`,navHintJk:`j/k ou ↑↓ pour naviguer`,escCloseDetail:`· Échap pour fermer le détail`,noAgentsRunning:`Aucun agent en cours.`,contextUsage:`Utilisation du contexte`,lastToolLabel:`dernier :`,unknownSession:`Session inconnue`,sessionCopyTitle:`Session : {{sid}} — cliquer pour copier`,sessionWord:`session`,agentsCountSuffix_one:`{{count}} agent`,agentsCountSuffix_other:`{{count}} agents`,sessionTitle:`Session : {{sid}}`,projectSuffix:` · Projet : {{name}}`,statusIdle:`inactif`,filterAll:`Tous`,filterRunning:`En cours`,filterDone:`Terminés`,filterCompleted:`Terminés`,filterFailed:`Échoués`,clearFinished:`Effacer`,clearFinishedTitle:`Supprimer les agents terminés`,rosterHint:`Flèches pour naviguer · Entrée pour développer`,itSuffix:`it.`,tcSuffix:`app.`,toolLog:`Journal des outils`,showAll:`Tout afficher`,showFewer:`Afficher moins`,streaming:`Diffusion en direct`,failure:`Échec`,timeout:`Délai dépassé`,reRun:`Relancer`,reRunTitle:`Relancer cet agent (pas encore implémenté)`,lastToolCalls_one:`Dernier appel d’outil ({{count}})`,lastToolCalls_other:`Derniers appels d’outils ({{count}})`,config:`Configuration`,configProvider:`Fournisseur`,configModel:`Modèle`,configDescription:`Description`,configTaskId:`ID de tâche`,transcript:`Transcription`,openInspector:`Ouvrir dans l’inspecteur de flotte`,emptyFilteredTitle:`Aucun agent ne correspond au filtre`,emptyFilteredHint:`Modifiez ou effacez le filtre pour afficher tous les agents.`,emptyFilteredClear:`Tout afficher`,emptyFinishedTitle:`Toutes les tâches sont terminées`,emptyFinishedHint:`Tous les agents ont terminé — effacez les agents terminés ou créez de nouvelles tâches pour voir l’activité ici.`,emptyFinishedStats:`{{completed}} terminés · {{failed}} échecs`},s={fileCount_one:`{{count}} fichier`,fileCount_other:`{{count}} fichiers`,refreshTitle:`Actualiser les modifications`,loading:`Chargement des modifications…`,clean:`Aucune modification — l'arbre de travail est propre.`,selectPrompt:`Sélectionnez un fichier modifié pour voir son diff.`,unified:`Unifié`,unifiedTitle:`Diff unifié`,edit:`Modifier`,editTitle:`Diff côte à côte modifiable`,loadingDiff:`Chargement du diff…`,diffTimeout:`Le diff n'est pas arrivé. Le fichier a peut-être changé ou la connexion a été perdue.`,binary:`Fichier binaire — diff non affiché.`,tooLarge:`Fichier trop volumineux pour le diff.`},c={showPanel:`Afficher le panneau Inspecteur (Flotte / Agents / Audit)`,hidePanel:`Masquer le panneau Inspecteur`,label:`Inspecteur`,openAudit:`Ouvrir l'onglet Audit`,tabFleet:`Flotte`,tabAgents:`Agents`,tabAudit:`Audit`,tabCouncil:`Council`,councilCount:`{{count}} panel`,councilCount_other:`{{count}} panels`,councilClear:`Vider`,councilEmpty:`Aucun council n'a encore été convoqué dans cette session.`,councilEmptyHint:`Le Brain convoque un panel multi-modèles pour les questions atteignant ou dépassant son seuil de risque council. Configurable dans Paramètres › Brain › Council.`,collapseAria:`Réduire le panneau Inspecteur`,collapseTitle:`Réduire (Échap)`,noAgentsActive:`Aucun agent actif`,agentsAppearHint:`Les agents apparaissent ici lorsque la flotte est active.`,selected:`{{name}} (sélectionné)`},l={header:`Prochaines étapes`,autoSubmitting:`envoi automatique dans`,clickToFill:`cliquer pour remplir`,clickToFillTitle:`Cliquez pour remplir : {{text}}`,auto:`auto`,willAutoSubmit:`Envoi automatique après le compte à rebours`,autoFilling:`Remplissage en cours`},u={onlineCount:`{{count}} en ligne`,messages:`Messages`,compose:`Rédiger un message`,recipient:`Destinataire`,messageType:`Type`,audience:`Audience`,audienceAll:`Tous les agents`,audienceLeaders:`Leaders uniquement`,priority:`Priorité`,priorityLow:`Basse`,priorityNormal:`Normale`,priorityHigh:`Haute`,subjectPlaceholder:`Objet (facultatif)`,bodyPlaceholder:`Message`,leadersOnlyHint:`Seuls les agents leaders et les interfaces leader peuvent recevoir ce message.`,leadersLabel:`leaders`,send:`Envoyer`,sending:`Envoi…`,sent:`Envoyé`,sendFailed:`Échec de l’envoi du message.`,defaultSubject:`Message WebUI`,deleteAllTitle:`Supprimer tous les messages`,deleteAll:`Tout supprimer`,deleting:`Suppression…`,purgeTitle:`Purger les messages obsolètes/orphelins`,purge:`Purger`,purging:`Purge…`,compact:`Compacter`,compacting:`Compactage…`,compactTitle:`Compactage auto : supprimer expirés, lus par tous et obsolètes`,compactRemoved:`{{count}} supprimés`,compactExpired:`{{count}} expirés`,compactReadByAll:`{{count}} lus par tous`,compactStale:`{{count}} obsolètes`,compactRemaining:`{{count}} restants`,newLabel:`NOUVEAU`,empty:`Aucun message pour le moment.`,offlineCount:`+{{count}} hors ligne`,timeNow:`maintenant`,deleteAllConfirmTitle_one:`Supprimer {{count}} message ?`,deleteAllConfirmTitle_other:`Supprimer tous les {{count}} messages ?`,deleteAllConfirmBody:`Le fichier de boîte aux lettres est tronqué pour chaque agent. Action irréversible.`,purgeConfirmTitle:`Purger les messages obsolètes ?`,purgeConfirmBody:`Supprime les messages terminés de plus d'un jour et les messages incomplets de plus de 7 jours. Les messages actifs sont conservés.`,type:{note:`Note`,ask:`Question`,assign:`Affectation`,steer:`Orienter`,btw:`Au passage`,broadcast:`Diffusion`,status:`Statut`,result:`Résultat`,review:`Revue`},emptyDetail:`Aucun message sélectionné`,emptyDetailHint:`Cliquez sur un message dans le panneau Boîte aux lettres pour l'afficher ici.`,readBy:`Lu par`,backToChat:`Retour au chat`,completed:`Terminé`,everyone:`tout le monde`,closeTitle:`Fermer (Échap)`,replyTo:`En réponse à : {{id}}`,completedBy:`Terminé par {{name}}`,completedByAt:`Terminé par {{name}} le {{time}}`,outcome:`Résultat :`,task:`Tâche :`,messageNotFound:`Message introuvable`,messageNotFoundHint:`Ce message a peut-être été supprimé ou purgé.`,sessionLabel:`Session`,sessionScope:`Session {{sid}}`,sessionScopeTitle:`Uniquement remis aux agents de la session {{sid}}`,projectLabel:`Projet`,projectScope:`Projet (tous les agents)`,directScope:`Direct`,scopeLabel:`Portée`},d={recentSessions:`Sessions récentes`,deleteEmptyTitle_one:`Supprimer {{count}} session vide ?`,deleteEmptyTitle_other:`Supprimer {{count}} sessions vides ?`,deleteEmptyConfirmBody:`Les sessions sans aucune utilisation de jetons sont supprimées du disque.`,filterPlaceholder:`Filtrer par titre, modèle, fournisseur…`,clearFilter:`Effacer le filtre`,noHistory:`Aucun historique`,noHistoryHint:`Vos conversations apparaîtront ici`,noMatches:`Aucun résultat`,noMatchesHint:`Essayez un autre filtre`,group:{favorites:`Favoris`,today:`Aujourd'hui`,yesterday:`Hier`,thisWeek:`Cette semaine`,earlier:`Plus ancien`},nicknamePlaceholder:`Surnom`,empty:`(vide)`,resuming:`reprise…`,active:`actif`,renameTitleNickname:`{{nickname}} — original : {{title}}`,renameTitle:`{{title}}
|
|
2
|
-
|
|
3
|
-
Double-cliquez pour renommer`,unfavorite:`Retirer des favoris`,markFavorite:`Marquer comme favori`,deleteSessionConfirmTitle:`Supprimer la session ?`,deleteSessionConfirmBody:`"{{name}}" sera supprimée du disque. Action irréversible.`,deleteSessionTitle:`Supprimer la session`,rename:`Renommer la session`,renameAction:`Renommer`,resume:`Reprendre la session`,resumeShort:`Reprendre`,workspaceEyebrow:`Contrôle de session`,workspaceTitle:`Sessions`,workspaceHint:`Recherchez, inspectez, épinglez et reprenez toutes les conversations du projet.`,tabs:{history:`Historique`,live:`Sessions en direct`},filters:{all:`Toutes`,favorites:`Favoris`,active:`Actives`,completed:`Terminées`,issues:`Problèmes`},status:{active:`Active`,completed:`Terminée`,error:`Erreur`,timeout:`Expiration`,aborted:`Annulée`,saved:`Session sauvegardée`},sort:{label:`Trier les sessions`,recent:`Plus récentes`,tokens:`Plus de jetons`,activity:`Plus d'activité`},stats:{sessions:`Sessions`,tokens:`Jetons`,tools:`Appels d'outils`,files:`Fichiers modifiés`,errors:`Erreurs`}},f={actions:{abort:`Interrompre`,newSession:`Nouvelle session`,export:`Exporter`,compact:`Compresser`,newSessionConfirm:`Êtes-vous sûr ?`,newSessionConfirmMessage:`Une tâche est toujours en cours. Démarrer quand même une nouvelle session ?`,newSessionTitle:`Démarrer une nouvelle session (Ctrl+N)`,exportTitle:`Exporter le chat en markdown (Ctrl+E)`,compactTitle:`Compresser la fenêtre de contexte`,clearTitle:`Effacer le contexte (Ctrl+L)`},model:`Modèle`,modelTitle:`Changer de modèle (Ctrl+M)`,context:`Contexte`,contextTitle:`Cliquez pour un détail du contexte`,sessionLabel:`Session`,stats:{messages:`Messages`,elapsed:`Écoulé`,tokens:`Jetons`,cost:`Coût`,iteration:`Itération`,agents:`Agents`,tokensSub:`{{in}} entrée / {{out}} sortie`,iterationOf:`sur {{max}}`,agentsRunning:`{{count}} en cours`},plan:`Plan`,planComplete:`{{pct}}% terminé`,pinned:`Épinglés`,quickSettings:`Réglages rapides`,autonomy:`Autonomie`,autonomyTitle:`Arrêter l'exécution automatique des étapes suivantes. Désactivez pour interrompre la boucle autonome de l'agent`,autonomyOptions:{off:`Désactivé`,suggest:`Suggérer`,auto:`Auto`,eternal:`Perpétuel`,"eternal-parallel":`Perpétuel Parallèle`},yolo:`Mode YOLO`,yoloTitle:`Ignorer les confirmations d'outils`,refine:`Affiner les prompts`,refineTitle:`Réécrire les prompts avant l'envoi`,sound:`Son à la fin`,soundTitle:`Jouer un doux carillon à la fin d'une exécution`,sessionId:`session {{id}}`},p={status:{running:`en cours`,done:`terminé`,failed:`échoué`,timeout:`expiré`,stopped:`arrêté`},leader:`leader`,providerModel:`Fournisseur / Modèle`,elapsed:`Écoulé`,running:`en cours…`,iterations:`Itérations`,toolCalls:`Appels d'outils`,cost:`Coût`,budgetExtensions:`Extensions de budget`,activity:`Activité`,budgetWarning:`alerte budget`,contextWindow:`Fenêtre de contexte`,tokensUsed:`{{used}} / {{max}} jetons`,toolRunning:`en cours…`,lastTool:`dernier outil`,error:`Erreur`,finalOutput:`Sortie finale`,copyOutput:`Copier la sortie`,liveOutput:`Sortie en direct`,waitingOutput:`En attente de sortie…`,outputHint:`La sortie apparaît ici à mesure que l'agent diffuse du texte.`,toolLog:`Journal d'outils ({{count}} appels)`,fail:`échec`,moreTools:`+{{count}} outils de plus`,cardRunning:`en cours {{tool}}`,cardLastTool:`dernier : {{tool}}`,contextPercent:`Contexte {{pct}} %`,doneCount:`{{count}} terminé(s)`,errCount:`{{count}} err`,statusRunning:`en cours`,statusDone:`terminé`,statusFailed:`échec`,statusTimeout:`délai dépassé`,statusStopped:`arrêté`,sessionPrefix:`session :`,currentTask:`Tâche actuelle`,performance:`Performance`,uniqueTools:`Outils uniques`,avgPerTool:`moy. {{ms}}ms par outil`,context:`Contexte`,tokens:`Jetons`,ctxUsed:`{{pct}}% utilisé`,completed:`terminé`,budgetWarningTitle:`⚡ Alerte budget`,hittingLimit:`Atteint la limite {{kind}} ({{used}}/{{limit}})`,hittingLimitTitle:`⚡ atteint la limite {{kind}} ({{used}}/{{limit}})`,budgetExt_one:`{{count}} extension de budget`,budgetExt_other:`{{count}} extensions de budget`,extendedTimes_one:`L'agent a étendu son budget {{count}} fois pour des tâches longues`,extendedTimes_other:`L'agent a étendu son budget {{count}} fois pour des tâches longues`,errorLabel:`Erreur`,failureReason:`Raison de l'échec`,failed:`Échec`,fleetMonitor:`MONITEUR DE FLOTTE`,runningCount:`{{count}} en cours`,totalAgents_one:`{{count}} agent au total`,totalAgents_other:`{{count}} agents au total`,noLeader:`pas de leader`,closeFleet:`Fermer le moniteur de flotte`,colName:`Nom`,colStatus:`Statut`,colActivity:`Activité`,colIters:`Itér.`,colTools:`Outils`,colCost:`Coût`,colCtx:`CTX`,colExt:`Ext.`,colReason:`Raison`,noAgentsActive:`Aucun agent actif`,agentsAppear:`Les agents apparaissent ici quand la flotte est active.`,agentTimeline:`Chronologie des agents`,noAgentEvents:`Aucun événement de conversation d'agent encore.`,navHint:`↑↓ naviguer`,selectDetailHint:`↵ détail sélectionner`,escHint:`Esc désélectionner / fermer`,detailedView:`vue détaillée`,closeBtn:`✕ fermer`,selectAgentDetail:`Sélectionnez un agent pour des informations détaillées`,selectAgentBody:`Cliquez un agent de la liste pour métriques détaillées, journaux d'outils, sortie en flux et plus — similaire à la vue détaillée de l'historique.`,navigateWord:`naviguer`,selectWord:`sélectionner`,deselectWord:`désélectionner`},m={wsNotConnected:`WebSocket non connecté`,noData:`Aucune donnée de débogage reçue. Le serveur ne prend peut-être pas en charge le débogage de contexte.`,title:`Décomposition du contexte`,windowUsage:`Utilisation de la fenêtre`,contextMode:`Mode de contexte`,fetching:`Récupération de la décomposition du contexte…`,systemPrompt:`Prompt système`,tools:`Outils`,messages:`Messages`,tokenAllocation:`Allocation des jetons`,systemTitle:`Système : {{tokens}}`,toolsTitle:`Outils : {{tokens}}`,messagesTitle:`Messages : {{tokens}}`,system:`Système`,toolBreakdown:`Décomposition des outils`,messagesSummary:`Messages ({{count}}) — {{total}} tok`,barWithTokens:`Fenêtre de contexte : {{tokens}} / {{max}} jetons ({{pct}})`,barPct:`Fenêtre de contexte : {{pct}}`,barClick:` — cliquez pour la répartition`},h={header:`✨ Affiner le prompt`,autoSend:`envoi auto dans {{count}} s`,cancelTitle:`Annuler (Échap)`,editLabel:`Modifier le prompt affiné :`,editPlaceholder:`Modifier le prompt affiné...`,useEdit:`Utiliser la modif.`,original:`Original`,refined:`Affiné`,yourLanguage:`(votre langue)`,refinedTitle:`Cliquez ou appuyez sur Entrée pour utiliser cette version`,copyToInputTitle:`Copier dans la saisie sans envoyer`,english:`Anglais`,englishTitle:`Appuyez sur e pour la version anglaise`,hintRefined:`affiné`,hintEnglish:`Anglais`,hintOriginal:`original`,hintEdit:`modifier`,hintRetry:`réessayer`,edit:`Modifier`,useRefined:`Utiliser l'affiné`,langOriginal:`Original`,langEnglish:`English`,languageTitle:`Switch default refine language — Original vs English`,yolo:`YOLO`,yoloTitle:`Bypass tool confirmation prompts`,refining:`Refining…`,sendAsIs:`Send as-is`,failedHeader:`Refinement failed`,retry:`Retry (more time)`,retryBetter:`Réessayer mieux`,retryFallback:`Retry with {{model}}`,pickModel:`Another model…`,pickModelTitle:`Retry refinement with another model`,pickModelHint:`Pick a provider/model to re-run this refinement on. Your session model stays unchanged.`,countdownHeader:`✨ L'amélioration commence dans…`,countdownYourMessage:`Votre message`,countdownHint:`L'amélioration commence dans {{seconds}}s. Cliquez sur « Envoyer tel quel » pour ignorer.`,countdownStartNow:`Améliorer maintenant`,countdownSendAsIs:`Envoyer tel quel`,cancelRefineSendOriginal:`Annuler et envoyer l'original`},g={heading:`Spécifications`,subtitle:`Afficher et gérer le développement piloté par les spécifications`,empty:`Aucune spec trouvée. Utilisez {{command}} pour en créer une.`,tasks:`Tâches ({{count}})`,doneCount:`{{count}} terminée(s)`,runningCount:`{{count}} en cours`,pendingCount:`{{count}} en attente`,runTitle:`Exécuter cette spec comme un job multi-agents en direct`,run:`Exécuter`,runAsSdd:`Exécuter en SDD`,runAsSddTitle:`Lancer un run SDD multi-agents en parallèle (worktrees, vérification, board live)`,runAsGoal:`Exécuter en Goal`,runAsGoalTitle:`Lancer un Goal par phases depuis les colonnes de tâches de cette spec`,list:`Liste`,graph:`Graphe`,loadingTasks:`Chargement des tâches…`},_={heading:`Vérificateur de résilience F5`,subtitle:`Confirme que la dernière session active, la transcription et l'état de l'UI survivent à un rafraîchissement de page. Ouvrez cette vue, puis appuyez sur F5 — chaque ligne verte doit rester verte.`,recordProbe:`Enregistrer une sonde`,latestSession:`Dernière session active`,restoredLocal:`Restauré depuis localStorage`,sessionIdExtra:`id de session : {{id}}`,noSessionYet:`aucune session n'a encore été démarrée`,activePointer:`Pointeur de session active`,lastVisited:`horodatage lastVisitedAt`,never:`jamais`,persistedEnv:`Environnement persisté`,transcriptRehydrate:`Réhydratation de la transcription`,localTranscript:`Transcription locale récupérée`,messagesExtra:`{{count}} messages, {{queued}} en file`,noMessages:`0 message`,noBleed:`Pas de fuite entre sessions`,bleedExtra:`lié={{bound}} vs actif={{active}}`,transcriptBinds:`la transcription se lie à la session active`,uiWorkspace:`Espace de travail UI`,noneValue:`(aucun)`,payloadSize:`Charge utile localStorage (4 clés) : {{count}} caractères`,probeLog:`Journal des sondes`,noProbes:`Aucune sonde pour le moment — appuyez sur le bouton « Enregistrer une sonde » en haut, ou sur F5 dans cette vue, pour enregistrer un contrôle de réhydratation.`,simulatedF5:`F5 simulé : relance de persist rehydrate`},v={status:{pending:`En attente`,in_progress:`En cours`,review:`Revue`,failed:`Échoué`,completed:`Terminé`,queued:`En file`,blocked:`Bloqué`,cancelled:`Annulé`},newTaskTitle:`Nouvelle tâche`,newTaskPlaceholder:`Titre de la tâche…`,addTask:`Ajouter la tâche`,empty:`Aucune phase pour l'instant — lancez une exécution Goal pour remplir le tableau.`,summary:`{{phases}} phases · {{tasks}} tâches`,phases:`Phases`,statusTab:`Statut`,dropHere:`Déposer les tâches ici`,emptySpec:`Aucune tâche dans cette spec pour le moment.`,depGraphHeading:`Graphe de dépendances`,worktreePrefix:`worktree : {{branch}}`},y={trendUp:`En hausse`,trendDown:`En baisse`,trendStable:`Stable`,heading:`Tableau de bord de débogage`,subtitle:`Surveillance en temps réel pour WrongStack WebUI`,refreshLabel:`Actualiser :`,lastUpdated:`Dernière mise à jour : {{time}}`,fetchFailed:`Échec de la récupération des métriques`,fileWatcher:`Observateur de fichiers`,watcherStatus:`Statut de l'observateur`,running:`En cours`,stopped:`Arrêté`,activeProjects:`Projets actifs`,projectsWatched:`Projets surveillés`,fileChanges:`Modifications de fichiers`,totalDetected:`Total détecté`,filesProcessed:`Fichiers traités`,afterHash:`Après filtre de hachage`,broadcastsSent:`Diffusions envoyées`,toClients:`Aux clients WebUI`,debounceResets:`Réinitialisations anti-rebond`,rapidWrites:`Écritures rapides successives`,avgDebounce:`Délai anti-rebond moyen`,actualDelay:`Délai réel appliqué`,totalDelay:`Délai total`,sumDelays:`Somme de tous les délais`,browserPerf:`Performances du navigateur`,heapUsed:`Tas utilisé`,jsHeap:`Tas JavaScript`,heapTotal:`Tas total`,totalHeap:`Taille totale du tas`,pageUptime:`Durée de la page`,sinceLoad:`Depuis le chargement`,rawData:`Données brutes`},b={allowlistTitle:`Liste des modèles autorisés`,modelCount_one:`{{count}} modèle`,modelCount_other:`{{count}} modèles`,using:`Utilisé`,noModelPicked:`(aucun modèle choisi)`,clearAllowlist:`Vider la liste autorisée`,clearAllowlistAria:`Vider la liste autorisée pour {{provider}}`,refresh:`Actualiser depuis le serveur`,refreshAria:`Actualiser la liste des modèles pour {{provider}}`,probing:`Vérification…`,searchPlaceholder:`Rechercher des modèles…`,use:`Utiliser`,useModelAria:`Utiliser le modèle {{model}} pour {{provider}}`},x={expandChip:`Déplier {{label}}`,collapseChip:`Replier {{label}}`,ahead:`{{count}} en avance`,behind:`{{count}} en retard`,linesAdded:`{{count}} lignes ajoutées`,linesDeleted:`{{count}} lignes supprimées`,untrackedFiles:`{{count}} fichiers non suivis`,customizeTitle:`Personnaliser les puces du dock`,dockChips:`Puces du dock`,noActiveGoal:`Aucun objectif actif`,noActiveGoalDetail:`Lancez un objectif depuis le chat ou la commande goal.`},S={leaderBadge:`LEADER`,iters:`Itér.`,tools:`Outils`,activityBins:`Activité (12 bins)`,streamingOutput:`Sortie en flux`,recentTools:`Outils récents`,finalOutput:`Sortie finale`,heading:`Moniteur d'agents`,prevAgent:`Agent précédent`,nextAgent:`Agent suivant`,closeAria:`Fermer le moniteur d'agents`,hintPage:`←→ page`,hintNavigate:`↑↓ naviguer dans la liste`,hintEsc:`Esc fermer`},C={resize:`Redimensionner les terminaux`,labelSingular:`Terminal`,labelPlural:`Terminaux`,projectShell:`Shell du projet`,maxTerminals:`Maximum {{count}} terminaux`,newTerminal:`Nouveau terminal`,restart:`Redémarrer le terminal actif`,closeAll:`Fermer tous les terminaux`,closeDock:"Fermer le dock de terminal (Ctrl+`)",closeTab:`Fermer {{name}}`,processExited:`[processus terminé avec le code {{code}}]`},w={liveStream:`Flux en direct`,events_one:`{{count}} événement`,events_other:`{{count}} événements`,interruptTitle:`Arrêter coopérativement cet agent à sa prochaine étape (pas un kill de processus)`,interrupt:`⏸ Interrompre`,interrupting:`…`,loading:`Chargement de la session…`,done:`✓✓ terminé`,read:`✓ lu`,delivered:`⏳ livré`,agent:`Agent`,you:`Vous`,working:`{{name}} · en cours`,claude:`Claude`,priority:`Priorité`,placeholder:`{{label}} → cette session…`,send:`Envoyer`,sendHint:`⌘/Ctrl+Entrée pour envoyer · visible à la prochaine itération de l'agent`,msgType:{steerLabel:`🔄 Orienter`,steerHint:`Ajuster le comportement en cours de tâche`,askLabel:`❓ Demander`,askHint:`Question — attend une réponse`,assignLabel:`📋 Assigner`,assignHint:`Une tâche à traiter`,noteLabel:`💬 Note`,noteHint:`Pour info, non urgent`},sentRunning:`Livré — l'agent en cours le verra à sa prochaine étape`,sentIdle:`Livré — la cible est inactive ; apparaît dans sa boîte, lu à la prochaine exécution`,sentFailed:`Échec : {{error}}`,interruptReason:`L'opérateur a demandé l'arrêt depuis Fleet HQ`,interruptSent:`Interruption envoyée — l'agent s'arrête à la prochaine étape (pas un kill)`,interruptFailed:`Échec de l'interruption : {{error}}`},T={empty:`Aucun effet de bord enregistré pour le moment.`,emptyHint:`Les commandes bash, installations de paquets et requêtes réseau apparaîtront ici.`,heading:`Effets de bord`,exportTitle:`Exporter les effets de bord filtrés en CSV`,all:`Tous`,colTime:`Heure`,colTool:`Outil`,colRisk:`Risque`,colDetail:`Détail`,colOutcome:`Résultat`},E={elapsedHm:`il y a {{h}}h {{m}}m`,elapsedMs:`il y a {{m}}m {{s}}s`,elapsedS:`il y a {{s}}s`,heading:`Moniteur de flotte`,clientsHeading:`Clients connectés`,terminal:`Terminal`,webui:`UI Web`,repl:`REPL`,totalConnected:`connectés au total`,mailQueue:`File d'attente`,total:`Total`,open:`Ouverts`,unread:`Non lus`,agents:`Agents`,messagesSub:`messages`,uncompletedSub:`inachevés`,waitingSub:`en attente`,ofTotal:`sur {{count}} au total`,agentRoster:`Registre des agents`,liveMailActivity:`Activité mail en direct`,noActivity:`Aucune activité récente`,mailboxAgents:`Agents de la boîte`,noMailboxAgents:`Aucun agent enregistré`,moreCount:`+{{count}} de plus`,agentFallback:`agent`,fleetAgents:`Agents de la flotte`,noFleetAgents:`Aucun agent de flotte en cours`,iter:`itér.`,mailType:{sent:`Envoyé`,delivered:`Livré`,read:`Lu`,completed:`Terminé`}},D={status:{pending:`en attente`,queued:`en file`,in_progress:`en cours`,blocked:`bloqué`,review:`revue`,failed:`échoué`,completed:`terminé`,cancelled:`annulé`},activityHeading:`Activité`,feedEmpty:`Rien pour l'instant — les événements apparaissent ici à mesure que les agents prennent et terminent des tâches.`,destroyTitle:`Détruire le projet SDD ?`,destroyDesc:`Cela efface le run et son travail. Irréversible (le revert optionnel préserve l'historique).`,stopRun:`Arrêter le run`,stopRunAgents_one:`Arrêter le run ({{count}} agent actif)`,stopRunAgents_other:`Arrêter le run ({{count}} agents actifs)`,removeWorktreesAll:`Supprimer tous les worktrees git + branches wstack/ap/* — y compris le travail non fusionné`,removeWorktreesCount_one:`Supprimer {{count}} worktree git + branches wstack/ap/* — y compris le travail non fusionné`,removeWorktreesCount_other:`Supprimer {{count}} worktrees git + branches wstack/ap/* — y compris le travail non fusionné`,deleteArtifacts:`Supprimer tous les artefacts SDD (specs, graphe de tâches, board, session)`,revertMerged_one:`Revert aussi {{count}} commit fusionné`,revertMerged_other:`Revert aussi {{count}} commits fusionnés`,revertHint:`Ajoute des commits de revert (historique préservé). Refusé si l'arbre de travail est sale.`,baseBranchFallback:`la branche de base`,noteLeaveMerged:`Les commits fusionnés resteront sur la branche de base. Cochez la case ci-dessus pour les annuler aussi.`,noteAbandon:`Assurez-vous de vraiment vouloir abandonner ce run.`,destroying:`Destruction…`,destroyAll:`Tout détruire`,kanbanBacklog:`Backlog`,kanbanReady:`Prêt`,kanbanRunning:`En cours`,kanbanReview:`Revue`,kanbanFailed:`Échec`,kanbanDone:`Terminé`,kanbanEmpty:`vide`},O={collapseToLines:`Réduire aux {{count}} premières lignes`,showAllLines:`Afficher les {{total}} lignes ({{more}} de plus)`,exitCode:`code de sortie :`,jsonLines:`JSON · {{count}} lignes`,collapse:`réduire`,expand:`déplier`},k={heading:`Design Studio — Galerie`,kitsCount:`{{count}} kits`,searchPlaceholder:`Rechercher des kits…`,stackTitle:`Stack pour Use + Materialize`,wrote:`{{path}} écrit`,materializeFailed:`Échec de matérialisation : {{error}}`,verifyError:`Vérifier : {{error}}`,verifyOffPalette:`Vérifier : {{pct}} % on-palette — {{count}} off-palette dans {{files}} fichier(s)`,verifyClean:`Vérifier : propre ✓ ({{files}} fichier(s) on-palette)`,writing:`Écriture du fichier de thème…`,scanning:`Analyse des fichiers UI…`,active:`Actif`,reapply:`Réappliquer`,use:`Utiliser`,materializeTitle:`Écrire les tokens dans un fichier de thème {{stack}}`,materialize:`Matérialiser`,verifyTitle:`Scanner les fichiers UI pour les couleurs hors palette`,verify:`Vérifier`,colors:`Couleurs`},A={summary_one:`{{count}} phase · {{pct}} % terminé`,summary_other:`{{count}} phases · {{pct}} % terminé`,switchBoard:`Changer de tableau`,boardsCount_one:`{{count}} tableau…`,boardsCount_other:`{{count}} tableaux…`,toggleAutonomousTitle:`Basculer le mode autonome`,autonomous:`Autonome`,manual:`Manuel`,resumeTitle:`Reprendre l'exécution`,pauseTitle:`Mettre en pause`,resume:`Reprendre`,pause:`Pause`,stopTitle:`Arrêter l'exécution — annule les agents en cours immédiatement`,stop:`Arrêter`,newTitle:`Effacer ce tableau et démarrer une nouvelle exécution Goal`,newLabel:`Nouveau`,revertConfirm:`Annuler les commits de l'exécution ?`,revertTitle:`Annuler cette exécution — git-revert des commits déposés et suppression des worktrees`,revert:`Annuler`,goal:`Objectif`,planning:`Planification des phases…`,planningBody:`Votre objectif a été reçu. WrongStack le décompose en phases et tâches — le tableau apparaît ici dès que le plan est prêt.`,startHeading:`Démarrer un plan de phases`,startBody:`Décrivez ce que vous voulez construire. WrongStack planifie les phases et tâches, puis les exécute — observez et pilotez l'exécution sur le tableau.`,startPlaceholder:`ex. Construire une API REST de gestion d'utilisateurs avec Express et SQLite...`,isolateLabel:`Isoler chaque phase dans son propre worktree git`,startButton:`Démarrer Goal`,ctrlHint:`Ctrl+Entrée pour démarrer`,isolateOn:`les phases tournent dans des worktrees isolés, fusionnés en squash`,isolateOff:`les phases tournent directement sur la branche courante`,lanes:`Voies`,graph:`Graphe`,planningAck:`🚀 **Goal** — compris. Je planifie les phases pour votre objectif…`,assess:{analyzing:`Analyse de la portée de l'objectif…`,realistic:`✓ La portée semble réaliste`,durationConcern:`⚠ Problème de durée`,durationClaimed:`Durée indiquée : {{duration}}`,recommendation:`Recommandé : {{duration}}`,concerns:`Préoccupations`,analysisFailed:`Impossible d'analyser la portée de l'objectif`,override:`Démarrer quand même`,overrideTitle:`Effacer l'avertissement et activer le bouton de démarrage`,disableTitle:`Cet objectif a une durée irréaliste — utilisez "Démarrer quand même" pour passer outre`},multiBoardLabel:`Diviser en plusieurs tableaux kanban`,verifyTasksLabel:`Exiger une vérification pour chaque tâche`,chimeraReviewLabel:`Activer la révision automatique chimera`},j={noObservers:`Aucun observateur en direct`,observerTitle:`Rejoindre comme observateur en lecture seule (Phase 1)`,observerRole:`observateur`,annotatorTitle:`Rejoindre comme annotateur — laisser des notes sur les appels d'outils (Phase 2)`,annotatorRole:`annotateur`,controllerTitle:`Rejoindre comme contrôleur — peut mettre en pause la boucle de l'agent (Phase 3)`,controllerRole:`contrôleur`,errorPrefix:`Collab : {{error}}`,dismiss:`ignorer`,observers_one:`{{count}} observateur`,observers_other:`{{count}} observateurs`,annotationsTitle:`{{count}} annotation(s) ouverte(s) — annotateurs en train de réviser`,notes_one:`{{count}} note`,notes_other:`{{count}} notes`,pausedTitle:`Boucle de l'agent en pause — un contrôleur révise`,paused:`en pause`,joinedTitle:`Rejoint {{time}}`,grantTitle:`Donner le contrôle — promouvoir ce participant au contrôleur`,injectTitle:`Injecter un résultat synthétique pour un appel d'outil en cours`,inject:`Injecter`,resumeTitle:`Reprendre la boucle de l'agent`,resume:`Reprendre`,pauseTitle:`Mettre en pause l'agent avant le prochain appel d'outil`,pauseAgent:`Mettre en pause l'agent`,leaveTitle:`Quitter la session d'observation`,leave:`Quitter`,injectToolResult:`Injecter un résultat d'outil`,close:`fermer`,targetTool:`id tool_use cible`,targetPlaceholder:`choisir un appel en cours ou saisir un id tool_use`,toolFallback:`outil`,noPendingTools:`Aucun appel d'outil en cours — saisissez un id tool_use ou mettez l'agent en pause d'abord.`,resultContent:`Contenu du résultat`,resultPlaceholder:`Résultat d'outil synthétique fourni à l'agent au lieu d'exécuter l'outil`,markError:`marquer comme erreur`,reasonPlaceholder:`raison (journal d'audit)`,queueInjection:`File d'injection`,controllerInjection:`injection contrôleur`},M={connected:`Connecté`,reconnecting:`Reconnexion au backend (tentative {{attempt}}) — nouvel essai dans {{remaining}} s`,disconnected:`Déconnecté du backend`,retry:`Réessayer`,retryTitle:`Réessayer la connexion maintenant`,dismissTitle:`Ignorer (la puce dans la barre supérieure affiche toujours le statut)`},N={modePrefix:`mode :`,activeTitle:`Mode actif`,heading:`Mode`,defaultName:`Par défaut`,defaultDesc:`Comportement standard de l'agent`},P={clickTitle:`Cliquez pour la répartition des coûts par tour`,heading:`Répartition des coûts`,noPricing:`Aucune tarification pour le modèle actuel — les valeurs de coût sont nulles.`,noTurns:`Aucun tour terminé pour le moment. Lancez un prompt pour voir le coût par tour ici.`,topExpensive_one:`Tour le plus cher`,topExpensive_other:`Les {{count}} tours les plus chers`},F={runDefault:`Par défaut du run`,useRunDefault:`Utiliser le défaut du run`,filterPlaceholder:`Filtrer les modèles…`,loading:`Chargement des modèles…`,noMatch:`Aucune correspondance`},I={heading:`Changer de modèle`,filterPlaceholder:`Filtrer les fournisseurs et modèles…`,providerFilter:`Fournisseur`,providerFilterAll:`Tous les fournisseurs`,noSavedProviders:`Aucun fournisseur enregistré — enregistrez d'abord une clé dans les Paramètres.`,noMatch:`Aucun modèle correspondant`,active:`actif`},L={todos:`À faire`,tasks:`Tâches`,plan:`Plan`},R={toggleAria:`Basculer : {{content}}`,removeTitle:`Supprimer la tâche`,removeAria:`Supprimer « {{content}} »`,completedCount_one:`{{count}} terminée`,completedCount_other:`{{count}} terminées`},z={start:`Démarrer`,complete:`Terminer`,retry:`Réessayer`,assign:`Affecter`,assignTitle:`Affecter un agent`,unassigned:`Non affecté`,statusPending:`En attente`,statusInProgress:`En cours`,statusBlocked:`Bloqué`,statusFailed:`Échec`,statusReview:`Revue`,statusDone:`Terminé`,startTitle:`Démarrer`,completeTitle:`Terminer`,fail:`Échouer`,failTitle:`Marquer comme échoué`,boardCount:`{{total}} tâches · {{done}} terminées`},B={toolCalls_one:`{{count}} appel d'outil`,toolCalls_other:`{{count}} appels d'outil`},V={removeTitle:`Supprimer la référence`,linesCount_one:`{{count}} ligne`,linesCount_other:`{{count}} lignes`},H={statusOpen:`Ouvert`,statusInProgress:`En cours`,statusDone:`Terminé`,startTitle:`Démarrer`,doneTitle:`Marquer comme terminé`,reopenTitle:`Rouvrir`,reopen:`Rouvrir`},U={heading:`@ Fichiers`,noMatch:`Aucun fichier ne correspond à « {{query}} »`,searching:`Recherche dans le projet…`},W={dismiss:`Ignorer`},G={placeholder:`Rechercher dans le chat…`,prevHit:`Résultat précédent`,nextHit:`Résultat suivant`,close:`Fermer (Esc)`},K={statusPending:`En attente`,statusReady:`Prêt`,statusRunning:`En cours`,statusPaused:`En pause`,statusCompleted:`Terminé`,statusFailed:`Échec`,statusSkipped:`Ignoré`,heading:`Phases`,autonomousOn:`● Autonome`,autonomousOff:`○ Manuel`,autonomousOnTitle:`Mode autonome actif — cliquer pour mettre en pause`,autonomousOffTitle:`Mode manuel — cliquer pour activer l'autonome`,overallProgress:`Progression globale`,tasksSuffix:`{{done}}/{{total}} tâches`,agentsSuffix_one:`{{count}} agent`,agentsSuffix_other:`{{count}} agents`},q={triggerTitle:`Mode de fenêtre de contexte`,ctxPrefix:`ctx :`,opsHeading:`Opérations de contexte`,compactNow:`Compacter maintenant`,compactNowDesc:`Élider les anciennes sorties d'outil`,compactAggressive:`Compaction agressive`,compactAggressiveDesc:`Élision maximale maintenant`,repairContext:`Réparer le contexte`,repairDesc:`Corriger les blocs tool-use orphelins`,debugContext:`Déboguer le contexte`,debugDesc:`Répartition de la taille par section`,windowHeading:`Fenêtre de contexte`,keepElide:`garder {{k}} récents · élider {{t}}+ jetons`,fallbackName:`Équilibré`,fallbackDesc:`Compaction roulante par défaut`},J={kindAssistant:`Assistant`,kindThinking:`Réflexion`,kindToolCall:`Appel d'outil`,kindToolResult:`Résultat d'outil`,kindError:`Erreur`,kindStatus:`Statut`,kindSystem:`Système`,title:`Historique du chat`,copyTitle:`Copier l'historique du chat de l'agent`,empty:`Pas encore d'historique de chat pour cet agent.`},Y={heading:`Mode d'autonomie`,titlePrefix:`Autonomie : {{label}}`,descOff:`Contrôle manuel total — l'agent attend votre saisie.`,descSuggest:`L'agent suggère les prochaines étapes mais attend une approbation.`,descAuto:`L'agent continue automatiquement après un bref délai de confirmation.`,descEternal:`L'agent fonctionne de façon autonome jusqu'à la fin de l'objectif.`,descEternalParallel:`Exécution autonome multi-agents — mode flotte.`},X={heading:`File d'attente des messages`,subtitle:`{{count}} en file · messages envoyés avant la fin de l'agent`,btwTitle:`Au passage — envoyé en suivi sans interrompre l'agent en cours`,steerTitle:`Piloter — interrompt l'agent en cours et le redirige avec ce message`,queueTitle:`En file — retenu jusqu'à la fin du run de l'agent, puis envoyé dans l'ordre`,sortNewestTitle:`Trié du plus récent — cliquer pour trier du plus ancien`,sortOldestTitle:`Trié du plus ancien — cliquer pour trier du plus récent`,newest:`Plus récent`,oldest:`Plus ancien`,clear:`Vider`,clearTitle:`Effacer tous les messages en file`,closeTitle:`Fermer`,emptyTitle:`La file est vide`,emptyBody:`Utilisez les boutons btw / steer / ajouter à la file à côté de l'entrée pour ajouter des messages. Les éléments en file sont envoyés dans l'ordre à la fin du run de l'agent.`,removeTitle:`Retirer de la file`,clearDispatchedTitle:`Effacer les messages en file — les notes déjà envoyées ne peuvent pas être rétractées`,dispatchedTitle:`Déjà envoyé à l'agent`,dispatchedLabel:`Envoyé`,footer:`Les messages sont envoyés dans l'ordre d'arrivée à la fin du run de l'agent. Utilisez le tri pour voir les plus récents d'abord.`},Z={heading:`Points de contrôle de session`,countSuffix_one:`{{count}} point de contrôle`,countSuffix_other:`{{count}} points de contrôle`,description:`Rembobiner la session à n'importe quel point de contrôle. Les messages et modifications de fichiers reviennent à ce point — le LLM continue comme si rien ne s'était passé après.`,emptyTitle:`Pas encore de points de contrôle`,emptyBody:`Les points de contrôle sont créés automatiquement à chaque message envoyé. Envoyez quelques messages et revenez.`,latest:`récent`,msgSuffix_one:`{{count}} msg`,msgSuffix_other:`{{count}} msgs`,footerPre:`Cliquer un point de contrôle pour rembobiner`,footerPost:`pour fermer`},Q={statusActive:`Actif`,statusPaused:`En pause`,statusDone:`Terminé`,statusFailed:`Échec`,statusAbandoned:`Abandonné`,heading:`Objectif`,refined:`Raffiné`,progress:`Progression`,iterations:`itérations`,deliverables:`Livrables`,recentActivity:`Activité récente`},$={cleanTitle_one:`Nettoyer {{count}} worktree orphelin ?`,cleanTitle_other:`Nettoyer {{count}} worktrees orphelins ?`,cleanMessage:`Supprime forcément chaque worktree git + branche wstack/ap laissé par des runs précédents. Le travail non fusionné dedans est perdu.`,cleanConfirm:`Nettoyer les orphelins`,orphanCount_one:`{{count}} worktree orphelin de runs précédents`,orphanCount_other:`{{count}} worktrees orphelins de runs précédents`,andMore:`…et {{count}} de plus`,cleanButtonTitle:`Supprimer forcément tous les worktrees + branches orphelins`,removed_one:`✓ {{count}} worktree orphelin supprimé.`,removed_other:`✓ {{count}} worktrees orphelins supprimés.`,cleanupFailed:`échec du nettoyage`,lanesHeading:`Worktrees`,base:`base`,isolatedCount_one:`{{count}} isolé`,isolatedCount_other:`{{count}} isolés`,statusAllocating:`allocation`,statusActive:`actif`,statusCommitting:`commit`,statusMerging:`fusion`,statusMerged:`fusionné`,statusConflict:`conflit`,statusFailed:`échec`,conflictBadge:`CONFLIT`,graphAria:`Graphe de branches worktree à partir de {{base}}`,mergedLabel:`✓ fusionné → {{base}}`},ee={heading:`Processus en cours`,subtitle:`{{active}} actifs · {{total}} total`,killAll:`Tout tuer`,emptyTitle:`Aucun processus suivi`,emptyBody:`Les processus apparaissent ici quand l'agent lance des outils bash ou exec. Les processus actifs affichent une LED pulsante.`,pidLabel:`PID {{pid}}`,protected:`protégé`,protectedTitle:`Protégé — survit à kill/killAll`,background:`en arrière-plan`,backgroundTitle:`Tâche détachée — continue après l’arrêt de la CLI/WebUI`,confirmKillBackground:`Terminer le processus détaché en arrière-plan {{pid}} ?`,confirmKillAll:`Terminer les {{count}} processus en cours ?`,killTitle:`Tuer PID {{pid}}`},te={tooLarge:`Diff omis (fichier trop volumineux pour un rendu en ligne).`},ne={placeholder:`Ajouter un modèle de repli…`,emptyHint:`Essayés dans l'ordre quand le modèle principal est limité ou bloqué.`,moveUp:`Monter`,moveDown:`Descendre`},re={loading:`Chargement des sessions...`,apiUnavailable:`API de session indisponible :`,empty:`Aucune session en direct. Ouvrez une autre instance wstack pour la voir ici.`,heading:`Sessions en direct ({{count}})`,autoRefresh:`actualisation toutes les 5 s`,pidLabel:`PID {{pid}}`,agentMeta:`{{iter}} itér · {{tools}} outils · {{ago}}`,andMore:`... et {{count}} de plus`,noAgents:`Aucun agent`},ie={applyTitle:`Écrire la version modifiée sur le disque`,applying:`Application…`,applied:`Appliqué`,apply:`Appliquer`},ae={showStack_one:`Afficher la trace de pile ({{count}} cadre)`,showStack_other:`Afficher la trace de pile ({{count}} cadres)`,hideStack_one:`Masquer la trace de pile ({{count}} cadre)`,hideStack_other:`Masquer la trace de pile ({{count}} cadres)`},oe={liveHeading:`Live`,clients:`Clients`,agents:`Agents`,model:`Modèle`,mode:`Mode`,toolCalls:`Appels d'outils`,displayHeading:`Affichage`,statsHud:`HUD stats`,legends:`Légendes`,minimap:`Minicarte`,zoomControls:`Contrôles zoom`,animateWires:`Animer les fils`,backgroundHeading:`Arrière-plan`,bgDots:`Points`,bgLines:`Lignes`,bgCross:`Croix`,bgNone:`Aucun`},se={noParams:`(aucun paramètre)`,itemCount_one:`{{count}} élément`,itemCount_other:`{{count}} éléments`,keyCount_one:`{{count}} clé`,keyCount_other:`{{count}} clés`},ce={roleYou:`Vous`,roleTool:`Outil`,roleThinking:`Réflexion`,roleAssistant:`Assistant`,inputLabel:`Entrée`,downloadTitle:`Télécharger comme fichier`,empty:`(vide)`,hideDetails:`Masquer les détails`,showDetails:`Afficher les détails`,showDetailsLines_one:`Afficher les détails ({{count}} ligne)`,showDetailsLines_other:`Afficher les détails ({{count}} lignes)`,editHint:`⌘/Ctrl+Entrée pour enregistrer · Échap pour annuler`,saveResend:`Enregistrer et renvoyer`,thinkingProcess:`Processus de réflexion`,thinkingMeta:`itér {{iter}} · {{dur}} · {{lines}}`,replay:`relecture`,linesSuffix_one:`{{count}} ligne`,linesSuffix_other:`{{count}} lignes`,copyLog:`Copier le journal`,showFullLog:`Afficher le journal complet`,typing:`Écrit…`,noContent:`Aucun contenu`,imageNotRetained:`L'aperçu de l'image n'est pas conservé après actualisation`,failedToSend:`⚠ Échec de l'envoi`,autoPaused:`⚠️ _Avance auto en pause — nombre maximum de tours automatiques consécutifs atteint. Saisissez quelque chose pour continuer (l'autonomie reste activée)._`,autoLoopHalted:`⚠️ _Envoi automatique arrêté car la même invite s'est répétée. L'autonomie reste active ; saisissez une nouvelle invite pour réinitialiser la protection contre les boucles._`,rsIterations:`Itérations : {{n}}`,rsTools:`Appels d'outils : {{n}}`,rsElapsed:`Écoulé : {{s}}`,rsCost:`Coût : {{c}}`,useInput:`Entrée : {{n}}`,useOutput:`Sortie : {{n}}`,useCacheRead:`Lecture cache : {{n}}`,useCost:`Coût : {{c}}`,renderedLabel:`Rendu`,rawLabel:`Brut`,showRenderedTitle:`Afficher le markdown rendu`,showRawTitle:`Afficher la source markdown brute`,editTitle:`Modifier et renvoyer ce prompt`,editLabel:`Modifier`,unpinTitle:`Détacher`,pinTitle:`Épingler cette réponse`,pinnedLabel:`Épinglé`,pinLabel:`Épingler`,regenerateTitle:`Régénérer cette réponse`,retryLabel:`Réessayer`},le={toolFallback:`outil`,toolFailed:`Outil échoué`},ue={heading:`Raccourcis clavier`,footerPre:`Appuyez sur`,footerPost:`à tout moment pour rouvrir cette liste.`,sectionGlobal:`Global`,sectionTuiParity:`Parité panneau TUI`,sectionFleet:`Flotte & Agents`,sectionChatInput:`Saisie du chat`,sectionChat:`Chat`,sectionChatNav:`Navigation du chat (hors saisie)`,dCommandPalette:`Ouvrir la palette de commandes`,dShowOverlay:`Afficher cette overlay de raccourcis`,dToggleSidebar:`Basculer la barre latérale`,dOpenPanel:`Ouvrir le panneau latéral (Session, Agents, Historique, Fichiers, Changes, Messagerie, Compétences, Office Map)`,dDesignStudio:`Ouvrir le panneau Design Studio`,dWorktrees:`Ouvrir le panneau Worktrees`,dSettings:`Ouvrir Paramètres`,dMemory:`Ouvrir Memory`,dFocusInput:`Focaliser la saisie du message`,dSessionPanel:`Panneau de session`,dFleetOverlay:`Overlay moniteur de flotte`,dAgentsOverlay:`Overlay moniteur d'agents`,dWorktreeMonitor:`Moniteur de worktrees`,dPlanPanel:`Panneau plan`,dTodosPanel:`Panneau todos`,dQueuePanel:`Panneau file`,dProcessMonitor:`Moniteur de processus`,dGoalPanel:`Panneau objectif`,dSessionsDashboard:`Tableau des sessions`,dOfficeMap:`Office map du coordinateur`,dDockPicker:`Sélecteur de puces du dock`,dOpenFleet:`Ouvrir l'overlay moniteur de flotte`,dOpenAgents:`Ouvrir l'overlay moniteur d'agents`,dNavigateAgents:`Naviguer parmi les agents`,dSelectAgent:`Sélectionner l'agent focalisé`,dCloseOverlay:`Fermer l'overlay actif`,dSendMessage:`Envoyer le message`,dNewline:`Insérer un saut de ligne`,dRecallPrev:`Rappeler le prompt précédent (entrée vide)`,dRecallNext:`Rappeler le prompt suivant`,dSlashPopup:`Ouvrir le popup de commandes slash`,dAutocomplete:`Auto-compléter la commande surlignée`,dDismissPopup:`Fermer le popup / vider l'entrée`,dSearchChat:`Rechercher dans le chat actuel`,dClearContext:`Vider le contexte (comme /clear)`,dNewSession:`Démarrer une nouvelle session (comme /new)`,dExportMarkdown:`Exporter le chat en markdown`,dModelSwitcher:`Overlay sélecteur de modèle rapide`,dCompactDensity:`Basculer la densité UI compacte`,dAbortRun:`Abandonner le run en cours (pendant l'exécution)`,dFocusNext:`Focaliser le message suivant (alias : ↓)`,dFocusPrev:`Focaliser le message précédent (alias : ↑)`,dJumpFirst:`Aller au premier message`,dJumpLast:`Aller au dernier message`,dCopyFocused:`Copier le texte du message focalisé`,dClearFocused:`Effacer le message focalisé`},de={titleFallback:`Tableau SDD en direct`,defaultModelTitle:`Modèle worker par défaut au niveau du run (les overrides par tâche priment)`,graphLabel:`Graphe`,kanbanLabel:`Kanban`,retryAllTitle:`Remettre chaque tâche échouée en pending`,retryFailed:`Réessayer échouées ({{count}})`,resume:`Reprendre`,pause:`Pause`,stop:`Arrêter`,cleanTitle:`Supprimer les worktrees git + branches wstack/ap du run`,cleanWorktrees:`Nettoyer worktrees`,rollbackTitle:`Revert {{count}} commit(s) fusionné(s) sur {{base}}`,rollback:`Rollback ({{count}})`,stopping:`Arrêt…`,destroying:`Destruction…`,destroyTitle:`Arrêter, supprimer tous les worktrees, revert optionnel des commits fusionnés et supprimer le projet SDD`,destroy:`Détruire`,statDone:`faits`,statRunning:`en cours`,statFailed:`échec`,statWave:`vague`,statElapsed:`écoulé`,noActiveWorkers:`aucun worker actif`,deadlock:`Impasse — tâches bloquées par un travail échoué :`,noRunTitle:`Aucun run SDD actif.`,noRunBody:`Démarrez-en un via l'assistant New SDD Project ou /sdd execute dans la CLI — les agents apparaissent ici en direct, chacun dans un worktree isolé.`,clickTaskHint:`cliquer une tâche pour les détails`,lcClean:`Nettoyage`,lcRollback:`Rollback`,lcDestroy:`Destruction`,lcFailed:`{{op}} échoué : {{reason}}`,lcUnknownError:`erreur inconnue`,lcWorktrees_one:`{{count}} worktree supprimé`,lcWorktrees_other:`{{count}} worktrees supprimés`,lcCommits_one:`{{count}} commit reverti`,lcCommits_other:`{{count}} commits revertis`,lcDeleted:`supprimé {{items}}`,lcNothing:`rien à faire`,lcNote:`{{op}} : {{body}} — note : {{reason}}`,lcOk:`{{op}} : {{body}}`},fe={backTitle:`Retour à l'activité`,expandTitle:`Agrandir les détails de la tâche`,collapseTitle:`Réduire les détails de la tâche`,eventLog:`Journal des événements de la tâche`,newestFirst:`plus récents d'abord`,noEvents:`Aucune activité n'a encore été enregistrée pour cette tâche.`,workingOn:`travaille sur cette tâche`,assigned:`assigné`,metaPriority:`Priorité`,metaType:`Type`,metaDuration:`Durée`,metaElapsed:`Écoulé`,metaRetries:`Tentatives`,metaWorktree:`Worktree`,workerModel:`Modèle worker`,runDefault:`défaut du run : {{model}}`,runDefaultPlaceholder:`Défaut du run`,runDefaultPlaceholderModel:`Défaut du run ({{model}})`,verificationCmd:`Commande de vérification`,gatesCompletion:`valide la complétion (exit 0)`,verifyPlaceholder:`ex. pnpm vitest run path/to/file`,addVerify:`+ Ajouter une commande de vérification`,description:`Description`,timeline:`Chronologie`,dependsOn:`Dépend de`,blocks:`Bloque`,newWorkerPlaceholder:`Nom du nouveau worker…`,confirmStop:`Arrêter cette tâche en cours ?`,confirmDelete:`Supprimer cette tâche du run ?`,retryTitle:`Remettre cette tâche en pending`,reassign:`Réassigner`,stopTitle:`Abandonner le worker sur cette tâche`,splitTitle:`Diviser cette tâche en sous-tâches confiées à des workers séparés`,split:`Diviser`,splitHint:`Une sous-tâche par ligne — Titre :: description (description facultative)`,splitPlaceholder:`Écrire la couche données :: ajouter le dépôt
|
|
4
|
-
Câbler l'UI`,splitInto:`Diviser en sous-tâches`,deleteTitle:`Retirer cette tâche non démarrée du run`},pe={phaseStart:`Démarrer`,phaseInterview:`Entretien`,phaseSpecReview:`Revue spec`,phasePlanning:`Planification`,phaseTaskReview:`Revue tâches`,phaseRunning:`En cours`,phaseDone:`Terminé`,titleFallback:`Nouveau projet SDD`,questionsSuffix:`{{cur}}/{{max}} questions`,tasksSuffix:`{{count}} tâches`,runCfgTitle:`Config du run — modèle par défaut + chaîne de repli`,modelsLabel:`Modèles`,startRun:`Démarrer le run`,defaultWorkerModel:`Modèle worker par défaut`,leaderDefaultPlaceholder:`Leader / défaut de session`,useSessionDefault:`Utiliser le défaut de session`,fallbackChain:`Chaîne de repli`,appliesToAll:`S'applique à chaque tâche. Override par tâche depuis le board live après le démarrage.`,parallelAgents:`Agents parallèles`,isolateWorktrees:`Isoler dans des worktrees git`,worktreeOn:`Chaque tâche tourne dans son propre worktree, squash-mergé à la fin.`,worktreeOff:`Les tâches tournent directement sur la branche courante (pas d'isolation).`,planDecompose:`Découper automatiquement les grosses tâches`,planDecomposeOn:`Avant le dispatch, découpe les tâches que le moteur d'atomicité marque comme trop grandes.`,planDecomposeOff:`Garde le graphe de tâches approuvé tel quel (découpe possible à l'exécution si une tâche échoue).`,goalPrompt:`Que voulez-vous construire ?`,goalPlaceholder:`ex. Ajouter un login OAuth (Google + GitHub) avec gestion de session`,startingInterview:`Démarrage de l'entretien…`,startInterview:`Démarrer l'entretien`,introBody:`Un agent isolé vous interviewe pour bâtir une spec, la décompose en un graphe de tâches ordonné par dépendances, puis une vraie flotte multi-agents l'exécute — à suivre en direct sur le board. En cas de refresh ou de redémarrage, l'entretien reprend automatiquement.`,taskGraphSummary:`Graphe de tâches · {{count}} tâches, ordonné par dépendances`,dragToExplore:`glisser pour explorer`,show:`afficher`,goalLabel:`Objectif`,implementationPlan:`Plan d'implémentation`,approveSpec:`Approuver la spec → planifier l'implémentation`,approveTasks:`Approuver les tâches`,approvePlan:`Approuver le plan`,answerPlaceholder:`Répondre à la question…`,changePlaceholder:`Demander un changement…`,resumeBanner:`Entretien repris d'une session précédente — continuez là où vous vous êtes arrêté.`,openLiveBoard:`Ouvrir le board live`,discardInterview:`Abandonner et recommencer`,discardTitle:`Abandonner cet entretien et effacer la session enregistrée`},me={emptyDir:`vide`,loadFailed:`Échec du chargement des fichiers : {{error}}`,expandAllTitle:`Déplier tous les dossiers`,expandAll:`Tout déplier`,collapseAllTitle:`Replier tous les dossiers`,collapse:`Replier`,folders_one:`{{count}} dossier`,folders_other:`{{count}} dossiers`,currentDirTitle:`Dossier courant : {{path}}`,navigateToTitle:`Aller à {{path}}`,filesSuffix_one:`{{count}} fichier`,filesSuffix_other:`{{count}} fichiers`,goToDir:`aller au dossier`,navigateParentTitle:`Aller au dossier parent de {{path}}`,parentDirectory:`dossier parent`,noFiles:`Aucun fichier trouvé`,copyAbsPath:`Copier le chemin absolu`,copyRelPath:`Copier le chemin relatif`,openInTerminal:`Ouvrir dans le terminal`,openInFileManager:`Ouvrir dans le gestionnaire de fichiers`,mentionInChat:`Mentionner dans le chat`,copyPath:`Copier le chemin`},he={sendSelectionAction:`Envoyer la sélection au chat`,noFilesOpen:`Aucun fichier ouvert`,selectToEdit:`Sélectionnez un fichier dans l'explorateur pour éditer`,sendSelectedTitle:`Envoyer les lignes sélectionnées au chat`,mentionFileTitle:`Mentionner ce fichier dans le chat`,sendToChat:`Envoyer au chat`,mentionFile:`Mentionner le fichier`,loadingEditor:`Chargement de l'éditeur…`,selectTab:`Sélectionnez un onglet pour voir son contenu`},ge={title:`Activité du fichier`,overview:`Aperçu`,changes:`Modifications`,context:`Contexte`,logs:`Journaux`,lines:`lignes`,resizeHint:`Faites glisser pour redimensionner · double-cliquez pour réinitialiser`,refresh:`Actualiser les preuves du fichier`,evidenceCount_one:`{{count}} événement`,evidenceCount_other:`{{count}} événements`,mutations30m:`Modifications · 30 min`,sessions:`Sessions`,actors:`Acteurs`,linkedWork:`Travail lié`,workLinks:`Kanban / tâche`,recentActivity:`Activité récente du fichier`,events:`événements`,noEvidence:`Aucune activité n'est encore attribuée à ce fichier.`,noSessions:`Aucune attribution de session.`,noActors:`Aucune attribution d'acteur.`,noWorkLinks:`Aucun lien Kanban, SDD ou tâche enregistré.`,taskOrTodo:`Task / tâche`,loadingEvidence:`Chargement des preuves du fichier…`,gitToBuffer:`Git HEAD → tampon Monaco actuel`,savedToBuffer:`Dernière version enregistrée → tampon Monaco actuel`,unsaved:`tampon non enregistré`,lifetimeTitle:`Tout l’historique`,lifetimeChanges:`modifications`,lifetimeSessions:`sessions`,lifetimeTasks:`tâches`,lifetimeBoards:`tableaux`,lifetimeSince:`depuis {{date}}`,lifetimeTools:`via {{tools}}`,level:{quiet:`stable`,active:`actif`,churn:`forte rotation`},analysisTitle:{quiet:`Aucune rotation récente`,active:`Ce fichier est en cours de modification`,churn:`Modifications répétées détectées`},analysisBody:{quiet:`Aucune modification attribuée n'a été enregistrée au cours des 30 dernières minutes.`,active:`{{mutations}} modifications par {{actors}} acteurs dans {{sessions}} sessions au cours des 30 dernières minutes.`,churn:`Forte rotation : {{mutations}} modifications par {{actors}} acteurs dans {{sessions}} sessions. Vérifiez les travaux qui se chevauchent avant la prochaine modification.`}},_e={loading:`Chargement des analytics…`,heading:`Tableau Analytics`,autoRefresh:`actualisation toutes les 10 s`,liveSessions:`Sessions en direct`,agents:`Agents`,agentsActive:`{{count}} actifs`,totalEvents:`Événements totaux`,categoriesSub:`{{count}} catégories`,toolCalls:`Appels d'outils`,iterationsSub:`{{count}} itérations`,sessionCost:`Coût de session`,tokensSub:`{{input}} entrée / {{output}} sortie`,sessionDuration:`Durée de session`,messagesSub:`{{count}} messages`,eventsByCategory:`Événements par catégorie`,noEvents:`Aucun événement enregistré.`,topEvents:`Top événements`,activeSessionUsage:`Utilisation session active`,provider:`Fournisseur`,model:`Modèle`,inputTokens:`Jetons d'entrée`,outputTokens:`Jetons de sortie`,cacheRatio:`Ratio cache`,filesRead:`Fichiers lus`,noSession:`Aucune session active ou en attente de données…`,healthErrors:`Santé & erreurs`,errorEvents:`Événements d'erreur`,warningEvents:`Événements d'avertissement`,cacheHitRate:`Taux de hit cache`,totalCategories:`Catégories totales`,waitingData:`En attente de données…`,recentEvents:`Événements récents`,noRecentEvents:`Aucun événement récent. Interagissez avec l'UI pour générer des événements.`},ve={heading:`Bibliothèque de prompts`,searchPlaceholder:`Rechercher des prompts…`,newPrompt:`+ Nouveau prompt`,all:`Tous`,recent:`🕘 Récents`,favorites:`★ Favoris`,noMatch:`Aucun prompt ne correspond.`,newPromptHeading:`Nouveau prompt`,titlePlaceholder:`Titre *`,descPlaceholder:`Description sur une ligne`,categoryPlaceholder:`Catégorie`,tagsPlaceholder:`tags, séparés, par virgule`,contentPlaceholder:`Contenu du prompt * — {{name}} pour les variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`nom`,varDescPlaceholder:`description`,removeVarTitle:`Supprimer la variable`,required:`requis`,multiline:`multiligne`,enumPlaceholder:`enum : a, b, c`,savePrompt:`Enregistrer le prompt`,saveFailed:`Impossible d'enregistrer le prompt.`,titleContentRequired:`Le titre et le contenu sont requis.`,toggleFavoriteTitle:`Basculer le favori`,selectOption:`— choisir —`,fillMissing:`Remplir : {{missing}}`,insertIntoChat:`Insérer dans le chat`,selectPromptHint:`Sélectionnez un prompt pour prévisualiser et insérer.`},ye={scopeProject:`Projet`,scopeGlobal:`Global`,scopeBundled:`Intégré`,timeoutError:`Délai de la requête dépassé. Veuillez réessayer.`,updateFailed:`Mise à jour échouée`,saveFailed:`Échec de l'enregistrement`,uninstallFailed:`Désinstallation échouée`,noSkillSelected:`Aucune compétence sélectionnée`,selectSkillHint:`Sélectionnez une compétence dans la barre latérale pour voir sa doc`,goToChat:`Aller au chat`,openSourceRepo:`Ouvrir le dépôt source`,copySourceUrl:`Copier l'URL source`,updatedLabel:`↑ Mis à jour : {{list}}`,upToDateLabel:`— À jour : {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Vérifier les mises à jour`,exportTitle:`Exporter la compétence en .md`,editTitle:`Modifier la compétence`,uninstallTitle:`Désinstaller la compétence`,closeTitle:`Fermer et aller au chat`,backTitle:`Reculer`,forwardTitle:`Avancer`,relatedFiles:`Fichiers liés`,references:`Références`,goToSkillTitle:`Aller à {{name}}`,loadingContent:`Chargement du contenu…`,editingLabel:`Modification de {{name}}`,editStats:`{{lines}} lignes · {{words}} mots · {{chars}} caractères`,charsWarningFmt:`⚠ {{used}} Mo / {{limit}} Mo`,draftSaved:`Brouillon enregistré`,draftRestored:`Brouillon restauré`,discardDraft:`Supprimer le brouillon`,splitViewTitle:`Vue scindée`,hidePreviewTitle:`Masquer l'aperçu`,contentPlaceholder:`Contenu de la compétence (markdown)...`,loadFailed:`Échec du chargement du contenu`,noContent:`Aucun contenu disponible`,uninstallSkillHeading:`Désinstaller la compétence`,uninstallConfirm:`Désinstaller {{name}} ?`,uninstallRemovePath:`Cela supprimera la compétence de {{path}} et est irréversible.`,uninstallAction:`Désinstaller`},be={sessionStats:`Stats de session`,clients:`Clients`,input:`Entrée`,output:`Sortie`,cost:`Coût`,agentsSuffix:`agents`,upPrefix:`depuis {{time}}`,webuiClient:`Client WebUI`,disconnected:`Déconnecté`,connected:`Connecté`,tuiClient:`Client TUI`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINATEUR`,fleetSummary:`Résumé de la flotte`,toolCallsLabel:`Appels d'outils`,tokensLabel:`Jetons`,coordinatingFleet:`Coordonne la flotte`,donePrefix:`✓ terminé ·`,failedPrefix:`✕ échec ·`,seenPrefix:`vu il y a {{time}}`,availableDesk:`Bureau libre`,mailboxHub:`Centre de messagerie`,unreadSuffix_one:`{{count}} non lu`,unreadSuffix_other:`{{count}} non lus`,allClear:`Tout est lu`,total:`Total`,unreadLabel:`Non lus`,liveActivity:`Activité en direct`,waitingActivity:`En attente d'activité…`,now:`maintenant`,fleetHq:`QG de flotte WrongStack`,live:`EN DIRECT`,legendStatus:`Statut`,legendActive:`Actif`,legendIdle:`Inactif`,legendError:`Erreur`,legendConnections:`Connexions`,legendMail:`Mail`,legendTask:`Tâche`,legendStatusConn:`Statut`,arrange:`Réorganiser`,arrangeTitle:`Disposer les nœuds pour les adapter à la zone disponible`,feed:`Flux`,feedTitle:`Basculer le flux d'activité en direct`,broadcast:`Diffuser`,broadcastTitle:`Diffuser un message à chaque session live du projet`,broadcastToAll:`Diffuser à toutes les sessions`,broadcastPlaceholder:`Message à chaque agent live du projet…`,broadcastSendHint:`⌘/Ctrl+Entrée pour envoyer`,openFullView:`Ouvrir la vue complète des opérations`,rowStatus:`Statut`,rowModel:`Modèle`,rowTool:`Outil`,rowIterations:`Itérations`,rowToolCalls:`Appels d'outils`,rowTokensIn:`Jetons entrants`,rowTokensOut:`Jetons sortants`,rowTokensTotal:`Jetons totaux`,rowContext:`Contexte`,rowCost:`Coût`,rowLastSeen:`Dernière vue`,rowSurface:`Surface`,rowBranch:`Branche`,rowPid:`PID`,rowDir:`Rép.`,rowAgents:`Agents`,rowUptime:`Disponibilité`,rowConnections:`Connexions`,rowTotalMessages:`Messages totaux`,rowUnread:`Non lus`,recent:`Récents`,noSubject:`(sans objet)`,fullOperationStream:`Flux complet des opérations`,closeEsc:`Fermer (Échap)`,idleDesk:`Bureau inactif`,fleetHqLabel:`QG de flotte`,clientsSuffix_one:`{{count}} client`,clientsSuffix_other:`{{count}} clients`,taskFallback:`tâche`,controlLabel:`contrôle`},xe={installTitle:`Installer une compétence`,createTitle:`Créer une compétence`,exportTitle:`Exporter toutes les compétences en .zip`,checkUpdatesTitle:`Vérifier les mises à jour (toutes)`,searchPlaceholder:`Rechercher des compétences…`,loading:`Chargement…`,noSkills:`Aucune compétence installée`,noMatch:`Aucune compétence ne correspond au filtre`,noDescription:`Aucune description`,scopeForeign:`Externe`,installHeading:`Installer la Compétence`,installHint:`Entrez une référence de dépôt GitHub (owner/repo) ou une URL complète.`,installPlaceholder:`ex. wrongstack/skill-name ou https://github.com/owner/repo`,installScope:`Portée d'installation :`,installBtn:`Installer`,installedMsg:`Installée : {{names}}`,installFailed:`Échec de l'installation`,createHeading:`Créer une Compétence`,createHint:`Scaffold une nouvelle compétence. La première ligne est le déclencheur.`,nameLabel:`Nom`,namePlaceholder:`ex. ma-nouvelle-compétence`,descLabel:`Description / Déclencheur`,descPlaceholder:`Utiliser cette compétence quand <situation>.
|
|
5
|
-
Déclencheurs : l'utilisateur dit "mot-clé", "autre".`,saveIn:`Enregistrer dans :`,createBtn:`Créer la Compétence`,createdMsg:`Créée : {{name}}`,createFailed:`Échec de la création`},Se={noEvents:`Aucun événement.`},Ce={pickHint:`Choisir un kit — l'agent s'y conformera.`,gallery:`Galerie`,galleryTitle:`Ouvrir la galerie d'aperçu en direct`,stackTitle:`Stack cible`,loading:`Chargement des kits…`,notFound:`Aucun kit de design trouvé.`,bestFor:`Idéal pour :`,light:`Clair`,dark:`Sombre`},we={detached:`(détaché)`,count_one:`{{count}} worktree`,count_other:`{{count}} worktrees`,baseSuffix:` · base {{base}}`,baseLabel:`base`,cleanOrphans:`Nettoyer les orphelins`,cleanOrphansTitle:`Supprimer tous les worktrees orphelins`,liveBusyTitle:`Un run est actif — arrêtez-le d'abord`,rescanTitle:`Re-scanner`,removed_one:`{{count}} worktree supprimé.`,removed_other:`{{count}} worktrees supprimés.`,failed:`Échec`,mergedIntoBase:`{{branch}} fusionné dans la base.`,conflictMerge:`Conflit en fusionnant {{branch}} : {{files}}`,seeGit:`voir git`,mergeFailed:`Échec de la fusion : {{reason}}`,unknownReason:`inconnu`,mergeConfirmTitle:`Fusionner {{branch}} dans {{base}} ?`,mergeConfirmMsg:`Squash-fusionne cette branche sur la branche de base. S'annule proprement en cas de conflit.`,mergeAction:`Fusionner`,removeConfirmTitle:`Supprimer {{branch}} ?`,removeConfirmMsg:`Supprime forcément le checkout du worktree et efface sa branche. Le travail non fusionné est perdu.`,empty:`Aucun worktree.`,emptyHint:`Les runs SDD / Goal créent des worktrees isolés ici. Les orphelins des runs plantés apparaissent aussi.`,actOpenTerm:`Ouvrir dans le terminal`,actOpenFolder:`Ouvrir le dossier`,actViewChanges:`Voir les modifications`,actMerge:`Fusionner vers la base`,actRemove:`Supprimer / annuler`,live:`actif`,noUncommitted:`Aucune modification non validée`,commitsAhead_one:`{{count}} commit en avance`,commitsAhead_other:`{{count}} commits en avance`,more:`…{{count}} de plus`},Te={heading:`Plan de bureau`,headingHint:`Visualisez votre flotte comme un plan de bureau avec le statut des agents en direct.`,statAgents:`Agents`,statMail:`Courriel`,unreadSuffix:` non lu`,sectionView:`Affichage`,sectionDisplay:`Affichage`,sectionBackground:`Arrière-plan`,sectionRecent:`Activité récente`,eventsTrackedSuffix:` événements suivis`,recentHint:`Les envois de courriel, les spawns d'agents et les changements de statut apparaissent ici.`,sectionShortcuts:`Raccourcis`,sectionLegend:`Légende`,hudLabel:`HUD`,hudDesc:`Afficher l'overlay des statistiques de session en temps réel`,hudToggle:`Activer le HUD`,minimapLabel:`Mini-carte`,minimapDesc:`Afficher la mini-carte d'aperçu`,minimapToggle:`Activer la mini-carte`,controlsLabel:`Contrôles`,controlsDesc:`Afficher les contrôles de zoom et d'ajustement`,controlsToggle:`Activer les contrôles`,animateLabel:`Animer les arêtes`,animateDesc:`Animer le flux sur les connexions actives`,animateToggle:`Activer l'animation des arêtes`,legendLabel:`Afficher la légende`,legendDesc:`Afficher la légende de statut et de connexion`,legendToggle:`Activer la légende`,feedLabel:`Flux en direct`,feedDesc:`Bande inférieure de l'activité inter-processus récente`,feedToggle:`Activer le flux en direct`,fitView:`Ajuster`,zoomIn:`Zoom avant`,zoomOut:`Zoom arrière`,resetZoom:`Réinitialiser le zoom`,legendActive:`Actif (en cours)`,legendIdle:`Inactif`,legendError:`Erreur`,legendOffline:`Hors ligne`,bg:{dots:`Points`,lines:`Lignes`,cross:`Croix`,none:`Aucun`}},Ee={liveProjectOffice:`Bureau du projet en direct`,agents:`agents`,working:`actifs`,toolCalls:`appels d’outils`,office:`Bureau`,topology:`Topologie`,officeDescription:`Bureaux et travail des agents en direct`,topologyDescription:`Clients, agents et connexions`,team:`Équipe`,liveDesk:`Bureau en direct et travail entrant`,lastActions:`Travaux récents`,leadAgent:`Agent principal`,agent:`Agent`,callsCount:`{{count}} appels`,recent:`Récent`,noCalls:`Aucun appel terminé`,telemetryReconnect:`Reconnectez ce terminal pour démarrer l’historique des outils`,thinking:`Réflexion`,waiting:`En attente de travail`,preparing:`Préparation de l’action suivante…`,deskReady:`Le bureau est prêt`,toolCall:`Appel d’outil`,execution:`Exécution`,started:`Début`,duration:`Durée`,session:`Session`,target:`Cible`,resultSize:`Taille du résultat`,lines:`lignes`,bytes:`octets`,tokens:`tokens`,input:`Entrée`,outputPreview:`Aperçu de la sortie`,readyTitle:`Le bureau est prêt`,readyBody:`Les agents prendront place dès qu’ils rejoindront ce projet.`,liveEvent:`flux d’événements en direct`,connectedSessions_one:`{{count}} session connectée`,connectedSessions_other:`{{count}} sessions connectées`,detailHint:`cliquez sur une action pour afficher les détails exacts d’entrée et de résultat`,officeBriefing:`Briefing du bureau`,leaderPrompt:`Dernier prompt du leader`,activeInstruction:`Instruction active`,telemetryWaiting:`Reconnectez ce terminal pour recevoir les instructions en direct`,syncWaiting:`synchronisation en attente`,todoTelemetryWaiting:`Reconnectez ce terminal pour recevoir la liste des tâches en direct`,taskNotReported:`L’agent travaille, mais aucune description de tâche n’a été signalée`,noPrompt:`Aucun prompt reçu dans cette session`,activeTodos:`Tâches actives`,todoProgress:`{{done}}/{{total}} terminées`,allTodosDone:`Toutes les tâches sont terminées`,noActiveTodos:`Aucune tâche active`,moreTodos:`+{{count}} autres`,currentTask:`Tâche actuelle`,task:`Tâche`,promptReceived:`Reçu`,todos:`Tâches`,todoStatus:{pending:`En attente`,in_progress:`En cours`,completed:`Terminée`},breakRoom:`Salle de pause`,onBreak:`{{count}} en pause`,desksEmpty:`Tout le monde est en pause — les bureaux sont prêts pour la prochaine tâche`},De={injectedHeading:`Mémoire SAGE injectée`,memoriesLabel_one:`{{count}} souvenir`,memoriesLabel_other:`{{count}} souvenirs`},Oe={tabProject:`Projet SDD`,tabBoard:`Tableau SDD en direct`,tabSpecs:`Spécifications`},ke={nav:e,brand:t,status:n,menu:r,sidePanel:i,history:a,agents:o,changes:s,inspector:c,nextSteps:l,mailbox:u,sessions:d,sessionPanel:f,fleet:p,context:m,refine:h,specs:g,refresh:_,board:v,debug:y,providerModels:b,dock:x,agentsMonitor:S,terminal:C,sessionWatch:w,sideEffects:T,monitor:E,sdd:D,toolResult:O,design:k,goalRun:A,collab:j,connection:M,mode:N,cost:P,model:F,modelSwitcher:I,work:L,todos:R,task:z,toolGroup:B,fileRef:V,plan:H,filePicker:U,toast:W,search:G,phase:K,ctxMode:q,transcript:J,autonomy:Y,queue:X,checkpoint:Z,goal:Q,worktree:$,process:ee,diff:te,fallback:ne,liveSessions:re,monacoDiff:ie,errorBody:ae,officeMap:oe,toolInput:se,message:ce,watch:le,shortcuts:ue,sddBoard:de,sddTask:fe,sddWizard:pe,fileExplorer:me,codeEditor:he,fileActivity:ge,analytics:_e,promptLib:ve,skillDetail:ye,office:be,skillsList:xe,timeline:Se,designStudio:Ce,worktrees:we,officeSettings:Te,agentOffice:Ee,sageMemory:De,sddhub:Oe};export{Ee as agentOffice,o as agents,S as agentsMonitor,_e as analytics,Y as autonomy,v as board,t as brand,s as changes,Z as checkpoint,he as codeEditor,j as collab,M as connection,m as context,P as cost,q as ctxMode,y as debug,ke as default,k as design,Ce as designStudio,te as diff,x as dock,ae as errorBody,ne as fallback,ge as fileActivity,me as fileExplorer,U as filePicker,V as fileRef,p as fleet,Q as goal,A as goalRun,a as history,c as inspector,re as liveSessions,u as mailbox,r as menu,ce as message,N as mode,F as model,I as modelSwitcher,ie as monacoDiff,E as monitor,e as nav,l as nextSteps,be as office,oe as officeMap,Te as officeSettings,K as phase,H as plan,ee as process,ve as promptLib,b as providerModels,X as queue,h as refine,_ as refresh,De as sageMemory,D as sdd,de as sddBoard,fe as sddTask,pe as sddWizard,Oe as sddhub,G as search,f as sessionPanel,w as sessionWatch,d as sessions,ue as shortcuts,T as sideEffects,i as sidePanel,ye as skillDetail,xe as skillsList,g as specs,n as status,z as task,C as terminal,Se as timeline,W as toast,R as todos,B as toolGroup,se as toolInput,O as toolResult,J as transcript,le as watch,L as work,$ as worktree,we as worktrees};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Inicia una conversación`,subtitle:`Envía un mensaje para empezar.`},t=`Nombre de sesión…`,n=`Cambiar de sesión`,r=`Escribe al agente… (escribe / para comandos, @ para archivos)`,i=`Conéctate al servidor primero…`,a=`Escribe un mensaje de seguimiento btw/steer/queue…`,o=`Enviar`,s=`Enviar (Enter)`,c=`Detener`,l=`Nueva sesión`,u=`(vacío)`,d=`{{count}} mensaje`,f=`{{count}} mensajes`,p=`Pensando…`,m={autoFencedAs:`Auto-cercado como`,notConnectedDraftKept:`Sin conexión: tu mensaje no se envió. Se restauró en el campo de entrada.`,refineTimeoutFallback:`La refinación no respondió: se envía tu mensaje original.`,charsWord:`caracteres`,linesWord:`líneas`,pastedWord:`Pegado`,fencedHintPrefix:`— los bloques de código cercados se ven mejor con`,removeFencesTitle:`Quitar cercados y restaurar texto sin formato`,dismissTitle:`Cerrar`,pendingAttachmentAlt:`Adjunto pendiente`,imageAttached:`Imagen adjunta`,removeImageTitle:`Quitar imagen`,imagesLabel:`Imágenes`,attachImagesTitle:`Adjuntar imágenes (o pegar / arrastrar)`,tooManyImages:`Como máximo {{max}} imágenes por mensaje.`,imageProcessFailed:`No se pudo leer "{{name}}" como imagen.`,imageTooLarge:`"{{name}}" es demasiado grande incluso tras la compresión.`,dropOverlay:`Suelta imágenes para adjuntarlas · los demás archivos se vuelven @-menciones`,referencesLabel:`Referencias`,clearAll:`Borrar todo`,stopEditTitle:`Detener el run y editar el último prompt (reutilizar + reescribir)`,abortTitle:`Abortar el run actual`,refineEnabledTitle:`Refinamiento activado — clic para desactivar`,refineDisabledTitle:`Refinamiento desactivado — clic para activar`,btwRunningTitle:`btw — enviar sin interrumpir el agente en ejecución`,btwIdleTitle:`btw — enviar (Enter)`,steerRunningTitle:`steer — interrumpir el agente en ejecución y redirigir`,steerIdleTitle:`steer — enviar (sin objetivo de interrupción en reposo)`,addQueueTitle:`añadir cola — retener hasta que termine el run actual`,openPromptLibrary:`Abrir biblioteca de prompts — explorar prompts prefabricados y guardados`},h={openSidebarTitle:`Abrir barra lateral (Ctrl+\\)`,renameTitle:`Clic para renombrar la sesión`,untitled:`Sin título`,changeModelTitle:`Cambiar proveedor / modelo (Ctrl+M)`,iterationTitle:`Iteración del agente — clic para ir a la actividad en vivo`,runningProcessesTitle:`Procesos en ejecución`,checkpointsTitle:`Puntos de control de sesión — rebobinar`,scrollTopTitle:`Desplazar arriba (más antiguo)`,jkNavigateTitle:`j/k para navegar`,noProvider:`sin-proveedor`,noModel:`sin-modelo`,memoryContextTitle:`Contexto de memoria — recuerdos SAGE inyectados`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Démarrer une conversation`,subtitle:`Envoyez un message pour commencer.`},t=`Nom de session…`,n=`Changer de session`,r=`Envoyer un message à l'agent… (tapez / pour les commandes, @ pour les fichiers)`,i=`Connectez-vous d'abord au serveur…`,a=`Saisissez un suivi btw/steer/queue…`,o=`Envoyer`,s=`Envoyer (Entrée)`,c=`Arrêter`,l=`Nouvelle session`,u=`(vide)`,d=`{{count}} message`,f=`{{count}} messages`,p=`Réflexion…`,m={autoFencedAs:`Auto-clôturé en`,notConnectedDraftKept:`Non connecté — votre message n'a pas été envoyé. Il a été restauré dans le champ de saisie.`,refineTimeoutFallback:`L'affinage n'a pas répondu — envoi de votre message d'origine.`,charsWord:`caractères`,linesWord:`lignes`,pastedWord:`Collé`,fencedHintPrefix:`— les blocs de code clôturés s'affichent mieux avec`,removeFencesTitle:`Retirer les clôtures et restaurer le texte brut`,dismissTitle:`Fermer`,pendingAttachmentAlt:`Pièce jointe en attente`,imageAttached:`Image jointe`,removeImageTitle:`Retirer l'image`,imagesLabel:`Images`,attachImagesTitle:`Joindre des images (ou coller / déposer)`,tooManyImages:`Au plus {{max}} images par message.`,imageProcessFailed:`Impossible de lire « {{name}} » comme image.`,imageTooLarge:`« {{name}} » est trop volumineux même après compression.`,dropOverlay:`Déposez des images pour les joindre · les autres fichiers deviennent des @-mentions`,referencesLabel:`Références`,clearAll:`Tout effacer`,stopEditTitle:`Arrêter le run et éditer le dernier prompt (réutiliser + réécrire)`,abortTitle:`Abandonner le run en cours`,refineEnabledTitle:`Affinage activé — cliquer pour désactiver`,refineDisabledTitle:`Affinage désactivé — cliquer pour activer`,btwRunningTitle:`btw — envoyer sans interrompre l'agent en cours`,btwIdleTitle:`btw — envoyer (Entrée)`,steerRunningTitle:`steer — interrompre l'agent en cours et rediriger`,steerIdleTitle:`steer — envoyer (pas de cible d'interruption au repos)`,addQueueTitle:`ajouter file — attendre la fin du run en cours`,openPromptLibrary:`Ouvrir la bibliothèque de prompts — parcourir les prompts prêts à l'emploi et sauvegardés`},h={openSidebarTitle:`Ouvrir la barre latérale (Ctrl+\\)`,renameTitle:`Cliquer pour renommer la session`,untitled:`Sans titre`,changeModelTitle:`Changer de fournisseur / modèle (Ctrl+M)`,iterationTitle:`Itération de l'agent — cliquer pour aller à l'activité en direct`,runningProcessesTitle:`Processus en cours`,checkpointsTitle:`Points de contrôle de session — rembobiner`,scrollTopTitle:`Défiler vers le haut (le plus ancien)`,jkNavigateTitle:`j/k pour naviguer`,noProvider:`aucun-fournisseur`,noModel:`aucun-modèle`,memoryContextTitle:`Contexte mémoire — souvenirs SAGE injectés`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-QTnfLwEv.js";var t=e({default:()=>v,empty:()=>f,emptyState:()=>n,header:()=>_,input:()=>g,inputPlaceholder:()=>a,inputPlaceholderConnecting:()=>o,inputPlaceholderLoading:()=>s,messageCount_one:()=>p,messageCount_other:()=>m,newSession:()=>d,send:()=>c,sendTitle:()=>l,sessionNamePlaceholder:()=>r,stop:()=>u,switchSession:()=>i,thinking:()=>h}),n={title:`Start a conversation`,subtitle:`Send a message to begin.`},r=`Session name…`,i=`Switch session`,a=`Message the agent… (type / for commands, @ for files)`,o=`Connect to server first…`,s=`Type a btw/steer/queue follow-up…`,c=`Send`,l=`Send (Enter)`,u=`Stop`,d=`New session`,f=`(empty)`,p=`{{count}} message`,m=`{{count}} messages`,h=`Thinking…`,g={autoFencedAs:`Auto-fenced as`,notConnectedDraftKept:`Not connected — your message wasn't sent. It has been restored to the input.`,refineTimeoutFallback:`Refinement didn't respond — sending your original message.`,charsWord:`chars`,linesWord:`lines`,pastedWord:`Pasted`,fencedHintPrefix:`— fenced code blocks render best with`,removeFencesTitle:`Remove fences and restore raw text`,dismissTitle:`Dismiss`,pendingAttachmentAlt:`Pending attachment`,imageAttached:`Image attached`,removeImageTitle:`Remove image`,imagesLabel:`Images`,attachImagesTitle:`Attach images (or paste / drop them)`,tooManyImages:`At most {{max}} images per message.`,imageProcessFailed:`Couldn't read "{{name}}" as an image.`,imageTooLarge:`"{{name}}" is too large even after compression.`,dropOverlay:`Drop images to attach · other files become @-mentions`,referencesLabel:`References`,clearAll:`Clear all`,stopEditTitle:`Stop run and edit the last prompt (reuse + rewrite)`,abortTitle:`Abort the current run`,refineEnabledTitle:`Refining enabled — click to disable`,refineDisabledTitle:`Refining disabled — click to enable`,btwRunningTitle:`btw — send without interrupting the running agent`,btwIdleTitle:`btw — send (Enter)`,steerRunningTitle:`steer — interrupt the running agent and redirect`,steerIdleTitle:`steer — send (no interrupt target while idle)`,addQueueTitle:`add queue — hold until the current run completes`,openPromptLibrary:`Open prompt library — browse ready-made and saved prompts`},_={openSidebarTitle:`Open sidebar (Ctrl+\\)`,renameTitle:`Click to rename session`,untitled:`Untitled`,changeModelTitle:`Change provider / model (Ctrl+M)`,iterationTitle:`Agent iteration — click to jump to live activity`,runningProcessesTitle:`Running processes`,checkpointsTitle:`Session checkpoints — rewind`,scrollTopTitle:`Scroll to top (oldest)`,jkNavigateTitle:`j/k to navigate`,noProvider:`no-provider`,noModel:`no-model`,memoryContextTitle:`Memory context — injected SAGE memories`},v={emptyState:n,sessionNamePlaceholder:r,switchSession:i,inputPlaceholder:a,inputPlaceholderConnecting:o,inputPlaceholderLoading:s,send:c,sendTitle:l,stop:u,newSession:d,empty:f,messageCount_one:p,messageCount_other:m,thinking:h,input:g,header:_};export{t as n,v as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Sohbet başlat`,subtitle:`Başlamak için bir mesaj gönder.`},t=`Oturum adı…`,n=`Oturumu değiştir`,r=`Vekile mesaj gönder… (komutlar için /, dosyalar için @ yazın)`,i=`Önce sunucuya bağlanın…`,a=`Bir btw/steer/queue takip mesajı yaz…`,o=`Gönder`,s=`Gönder (Enter)`,c=`Durdur`,l=`Yeni oturum`,u=`(boş)`,d=`{{count}} mesaj`,f=`{{count}} mesaj`,p=`Düşünüyor…`,m={autoFencedAs:`Otomatik çitlendi:`,notConnectedDraftKept:`Bağlantı yok — mesajınız gönderilmedi. Girdi alanına geri yüklendi.`,refineTimeoutFallback:`İyileştirme yanıt vermedi — orijinal mesajınız gönderiliyor.`,charsWord:`karakter`,linesWord:`satır`,pastedWord:`Yapıştırıldı`,fencedHintPrefix:`— çitli kod blokları en iyi şununla görünür:`,removeFencesTitle:`Çitleri kaldır ve ham metni geri yükle`,dismissTitle:`Kapat`,pendingAttachmentAlt:`Bekleyen ek`,imageAttached:`Görüntü eklendi`,removeImageTitle:`Görüntüyü kaldır`,imagesLabel:`Görseller`,attachImagesTitle:`Görsel ekle (yapıştırabilir veya sürükleyebilirsiniz)`,tooManyImages:`Mesaj başına en fazla {{max}} görsel.`,imageProcessFailed:`"{{name}}" görsel olarak okunamadı.`,imageTooLarge:`"{{name}}" sıkıştırmadan sonra bile çok büyük.`,dropOverlay:`Görselleri eklemek için bırakın · diğer dosyalar @-bahsi olur`,referencesLabel:`Referanslar`,clearAll:`Tümünü temizle`,stopEditTitle:`Çalışmayı durdur ve son istemi düzenle (yeniden kullan + yeniden yaz)`,abortTitle:`Mevcut çalışmayı iptal et`,refineEnabledTitle:`İyileştirme etkin — devre dışı bırakmak için tıkla`,refineDisabledTitle:`İyileştirme devre dışı — etkinleştirmek için tıkla`,btwRunningTitle:`btw — çalışan ajanı bölmeden gönder`,btwIdleTitle:`btw — gönder (Enter)`,steerRunningTitle:`steer — çalışan ajanı böl ve yeniden yönlendir`,steerIdleTitle:`steer — gönder (boştayken bölme hedefi yok)`,addQueueTitle:`kuyruğa ekle — mevcut çalışma bitene kadar bekle`,openPromptLibrary:`İstek kütüphanesini aç — hazır ve kayıtlı isteklere göz at`},h={openSidebarTitle:`Kenar çubuğunu aç (Ctrl+\\)`,renameTitle:`Oturumu yeniden adlandırmak için tıkla`,untitled:`Başlıksız`,changeModelTitle:`Sağlayıcı / modeli değiştir (Ctrl+M)`,iterationTitle:`Ajan iterasyonu — canlı etkinliğe atlamak için tıkla`,runningProcessesTitle:`Çalışan süreçler`,checkpointsTitle:`Oturum kontrol noktaları — geri sar`,scrollTopTitle:`Başa kaydır (en eski)`,jkNavigateTitle:`gezinmek için j/k`,noProvider:`sağlayıcı-yok`,noModel:`model-yok`,memoryContextTitle:`Bellek bağlamı — enjekte edilen SAGE anıları`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Inizia una conversazione`,subtitle:`Invia un messaggio per iniziare.`},t=`Nome della sessione…`,n=`Cambia sessione`,r=`Scrivi all'agente… (digita / per i comandi, @ per i file)`,i=`Prima connettiti al server…`,a=`Scrivi un follow-up btw/steer/queue…`,o=`Invia`,s=`Invia (Invio)`,c=`Ferma`,l=`Nuova sessione`,u=`(vuoto)`,d=`{{count}} messaggio`,f=`{{count}} messaggi`,p=`Pensiero…`,m={autoFencedAs:`Recintato automaticamente come`,notConnectedDraftKept:`Non connesso — il messaggio non è stato inviato. È stato ripristinato nel campo di input.`,refineTimeoutFallback:`Il perfezionamento non ha risposto — invio del messaggio originale.`,charsWord:`caratteri`,linesWord:`righe`,pastedWord:`Incollato`,fencedHintPrefix:`— i blocchi di codice recintati si rendono meglio con`,removeFencesTitle:`Rimuovi i recinti e ripristina il testo grezzo`,dismissTitle:`Chiudi`,pendingAttachmentAlt:`Allegato in attesa`,imageAttached:`Immagine allegata`,removeImageTitle:`Rimuovi immagine`,imagesLabel:`Immagini`,attachImagesTitle:`Allega immagini (oppure incolla / trascina)`,tooManyImages:`Al massimo {{max}} immagini per messaggio.`,imageProcessFailed:`Impossibile leggere "{{name}}" come immagine.`,imageTooLarge:`"{{name}}" è troppo grande anche dopo la compressione.`,dropOverlay:`Rilascia le immagini per allegarle · gli altri file diventano @-menzioni`,referencesLabel:`Riferimenti`,clearAll:`Cancella tutto`,stopEditTitle:`Ferma il run e modifica l'ultimo prompt (riusa + riscrivi)`,abortTitle:`Interrompi il run corrente`,refineEnabledTitle:`Affinamento attivo — clicca per disattivare`,refineDisabledTitle:`Affinamento disattivato — clicca per attivare`,btwRunningTitle:`btw — invia senza interrompere l'agent in corso`,btwIdleTitle:`btw — invia (Invio)`,steerRunningTitle:`steer — interrompi l'agent in corso e reindirizza`,steerIdleTitle:`steer — invia (nessun obiettivo di interruzione a riposo)`,addQueueTitle:`aggiungi coda — trattieni fino al termine del run corrente`,openPromptLibrary:`Apri libreria prompt — sfoglia prompt pronti e salvati`},h={openSidebarTitle:`Apri barra laterale (Ctrl+\\)`,renameTitle:`Clicca per rinominare la sessione`,untitled:`Senza titolo`,changeModelTitle:`Cambia provider / modello (Ctrl+M)`,iterationTitle:`Iterazione agent — clicca per andare all'attività live`,runningProcessesTitle:`Processi in corso`,checkpointsTitle:`Checkpoint di sessione — riavvolgi`,scrollTopTitle:`Scorri in alto (più vecchio)`,jkNavigateTitle:`j/k per navigare`,noProvider:`nessun-provider`,noModel:`nessun-modello`,memoryContextTitle:`Contesto memoria — ricordi SAGE iniettati`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Inicie uma conversa`,subtitle:`Envie uma mensagem para começar.`},t=`Nome da sessão…`,n=`Trocar de sessão`,r=`Converse com o agente… (digite / para comandos, @ para arquivos)`,i=`Conecte ao servidor primeiro…`,a=`Digite uma mensagem de acompanhamento btw/steer/queue…`,o=`Enviar`,s=`Enviar (Enter)`,c=`Parar`,l=`Nova sessão`,u=`(vazio)`,d=`{{count}} mensagem`,f=`{{count}} mensagens`,p=`Pensando…`,m={autoFencedAs:`Auto-cercado como`,notConnectedDraftKept:`Sem conexão — sua mensagem não foi enviada. Ela foi restaurada no campo de entrada.`,refineTimeoutFallback:`O refinamento não respondeu — enviando sua mensagem original.`,charsWord:`caracteres`,linesWord:`linhas`,pastedWord:`Colado`,fencedHintPrefix:`— blocos de código cercados renderizam melhor com`,removeFencesTitle:`Remover cercas e restaurar texto bruto`,dismissTitle:`Dispensar`,pendingAttachmentAlt:`Anexo pendente`,imageAttached:`Imagem anexada`,removeImageTitle:`Remover imagem`,imagesLabel:`Imagens`,attachImagesTitle:`Anexar imagens (ou colar / arrastar)`,tooManyImages:`No máximo {{max}} imagens por mensagem.`,imageProcessFailed:`Não foi possível ler "{{name}}" como imagem.`,imageTooLarge:`"{{name}}" é grande demais mesmo após a compressão.`,dropOverlay:`Solte imagens para anexar · outros arquivos viram @-menções`,referencesLabel:`Referências`,clearAll:`Limpar tudo`,stopEditTitle:`Parar o run e editar o último prompt (reusar + reescrever)`,abortTitle:`Abortar o run atual`,refineEnabledTitle:`Refinamento ativado — clique para desativar`,refineDisabledTitle:`Refinamento desativado — clique para ativar`,btwRunningTitle:`btw — enviar sem interromper o agente em execução`,btwIdleTitle:`btw — enviar (Enter)`,steerRunningTitle:`steer — interromper o agente em execução e redirecionar`,steerIdleTitle:`steer — enviar (sem alvo de interrupção em repouso)`,addQueueTitle:`adicionar fila — reter até o run atual terminar`,openPromptLibrary:`Abrir biblioteca de prompts — navegar por prompts prontos e salvos`},h={openSidebarTitle:`Abrir barra lateral (Ctrl+\\)`,renameTitle:`Clique para renomear a sessão`,untitled:`Sem título`,changeModelTitle:`Alterar provedor / modelo (Ctrl+M)`,iterationTitle:`Iteração do agente — clique para ir à atividade ao vivo`,runningProcessesTitle:`Processos em execução`,checkpointsTitle:`Pontos de verificação da sessão — retroceder`,scrollTopTitle:`Rolar para o topo (mais antigo)`,jkNavigateTitle:`j/k para navegar`,noProvider:`sem-provedor`,noModel:`sem-modelo`,memoryContextTitle:`Contexto de memória — memórias SAGE injetadas`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={title:`Konversation starten`,subtitle:`Sende eine Nachricht, um zu beginnen.`},t=`Sitzungsname…`,n=`Sitzung wechseln`,r=`Agent anschreiben… (/ für Befehle, @ für Dateien)`,i=`Zuerst mit Server verbinden…`,a=`Folgenachricht btw/steer/queue eingeben…`,o=`Senden`,s=`Senden (Enter)`,c=`Stopp`,l=`Neue Sitzung`,u=`(leer)`,d=`{{count}} Nachricht`,f=`{{count}} Nachrichten`,p=`Denke nach…`,m={autoFencedAs:`Auto-umzäunt als`,notConnectedDraftKept:`Keine Verbindung — deine Nachricht wurde nicht gesendet. Sie wurde im Eingabefeld wiederhergestellt.`,refineTimeoutFallback:`Die Verfeinerung hat nicht geantwortet — deine ursprüngliche Nachricht wird gesendet.`,charsWord:`Zeichen`,linesWord:`Zeilen`,pastedWord:`Eingefügt`,fencedHintPrefix:`— eingezäunte Codeblöcke rendern am besten mit`,removeFencesTitle:`Zäune entfernen und Rohtext wiederherstellen`,dismissTitle:`Verwerfen`,pendingAttachmentAlt:`Ausstehender Anhang`,imageAttached:`Bild angehängt`,removeImageTitle:`Bild entfernen`,imagesLabel:`Bilder`,attachImagesTitle:`Bilder anhängen (oder einfügen / ablegen)`,tooManyImages:`Höchstens {{max}} Bilder pro Nachricht.`,imageProcessFailed:`"{{name}}" konnte nicht als Bild gelesen werden.`,imageTooLarge:`"{{name}}" ist selbst nach Kompression zu groß.`,dropOverlay:`Bilder hier ablegen · andere Dateien werden @-Erwähnungen`,referencesLabel:`Referenzen`,clearAll:`Alle löschen`,stopEditTitle:`Run stoppen und letzten Prompt bearbeiten (wiederverwenden + umschreiben)`,abortTitle:`Aktuellen Run abbrechen`,refineEnabledTitle:`Verfeinerung aktiv — zum Deaktivieren klicken`,refineDisabledTitle:`Verfeinerung deaktiviert — zum Aktivieren klicken`,btwRunningTitle:`btw — senden ohne den laufenden Agenten zu unterbrechen`,btwIdleTitle:`btw — senden (Enter)`,steerRunningTitle:`steer — laufenden Agenten unterbrechen und umleiten`,steerIdleTitle:`steer — senden (kein Unterbrechungsziel im Leerlauf)`,addQueueTitle:`zur Warteschlange — halten bis der aktuelle Run endet`,openPromptLibrary:`Prompt-Bibliothek öffnen — vorgefertigte und gespeicherte Prompts durchsuchen`},h={openSidebarTitle:`Seitenleiste öffnen (Ctrl+\\)`,renameTitle:`Zum Umbenennen der Sitzung klicken`,untitled:`Unbenannt`,changeModelTitle:`Anbieter / Modell ändern (Ctrl+M)`,iterationTitle:`Agent-Iteration — klicken um zur Live-Aktivität zu springen`,runningProcessesTitle:`Laufende Prozesse`,checkpointsTitle:`Sitzungs-Checkpoints — zurückspulen`,scrollTopTitle:`Nach oben scrollen (älteste)`,jkNavigateTitle:`j/k zum Navigieren`,noProvider:`kein-anbieter`,noModel:`kein-modell`,memoryContextTitle:`Speicherkontext — injizierte SAGE-Erinnerungen`},g={emptyState:e,sessionNamePlaceholder:t,switchSession:n,inputPlaceholder:r,inputPlaceholderConnecting:i,inputPlaceholderLoading:a,send:o,sendTitle:s,stop:c,newSession:l,empty:u,messageCount_one:d,messageCount_other:f,thinking:p,input:m,header:h};export{g as default,u as empty,e as emptyState,h as header,m as input,r as inputPlaceholder,i as inputPlaceholderConnecting,a as inputPlaceholderLoading,d as messageCount_one,f as messageCount_other,l as newSession,o as send,s as sendTitle,t as sessionNamePlaceholder,c as stop,n as switchSession,p as thinking};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import{Ma as e,Na as t}from"./vendor-BuarzSSb.js";import{n}from"./utils-B-9lSDIn.js";function r(e,t){if(e==null){let e=Error(t?`Expected ${t} to be defined`:`Expected value to be defined`);throw e.name=`ExpectDefinedError`,e}return e}function i(e){return e!==`tool_use`&&e!==`tool_call`}var a=/<nextsteps\b[^>]*>\s*\n+/i,o=/^(?:(\d+)[.)]\s*|[-*•]\s*)(.+?)(\s+auto="true")?$/,s=6;function c(e,t=!1,n=!0){return n?d(e,t):u(e)}function l(e,t,n,r){e.push(r?{index:t,text:n,auto:!0}:{index:t,text:n})}function u(e){let t=e.split(`
|
|
2
|
-
`),n=[],r=new Set;for(let e of t){let t=e.trim();if(!t)continue;let i=o.exec(t);if(!i)continue;let a=i[1],c=i[2].trim(),u;if(u=a===void 0?n.length+1:Number.parseInt(a,10),r.has(u))continue;r.add(u);let d=!!i[3]&&n.length===0&&u===1;if(l(n,u,c,d),n.length>=s)break}return{steps:n,texts:n.map(e=>e.text),stripped:e,autoTexts:n.filter(e=>e.auto).map(e=>e.text)}}function d(e,t){let n=a.exec(e);if(!n)return{steps:[],texts:[],stripped:e,autoTexts:[]};let r=n.index+n[0].length,i=e.slice(r),c=i.split(`
|
|
3
|
-
`),u=[],d=new Set;for(let e of c){let t=e.trim();if(!t)continue;let n=o.exec(t);if(!n)break;let r=n[1],i=n[2].trim(),a;if(a=r===void 0?u.length+1:Number.parseInt(r,10),d.has(a))continue;d.add(a);let c=!!n[3]&&u.length===0&&a===1;if(l(u,a,i,c),u.length>=s)break}if(u.length===0||!i.includes(`</nextsteps>`))return{steps:[],texts:[],stripped:e,autoTexts:[]};let p=u.map(e=>e.text),m=u.filter(e=>e.auto).map(e=>e.text),h=n.index,g=n[0].length+f(i,u.length);return{steps:u,texts:p,stripped:(e.slice(0,h)+e.slice(h+g)).replace(/\n{3,}/g,`
|
|
4
|
-
|
|
5
|
-
`).trim(),autoTexts:m}}function f(e,t){let n=e.indexOf(`</nextsteps>`);if(n!==-1){let t=n+12;return e[t]===`
|
|
6
|
-
`&&(t+=1),t}let r=e.split(`
|
|
7
|
-
`),i=0,a=0;for(let e of r){let n=e.trim();if(!n||!o.exec(n))break;if(i+=e.length+1,a++,a>=t){--i;break}}return i}function p(e){return e.replace(/<next_?steps\b[^>]*>[\s\S]*?<\/next_?steps>/gi,``).replace(/<next_?steps\b[^>]*\/?>/gi,``).replace(/\n{3,}/g,`
|
|
8
|
-
|
|
9
|
-
`).trim()}function m(e){if(!e)return e;let t=e.split(/\n{2,}/),n=[];for(let e of t)n.length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.map(e=>{let t=e.split(`
|
|
10
|
-
`),n=[];for(let e of t)n.length>0&&e.trim().length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.join(`
|
|
11
|
-
`)}).join(`
|
|
12
|
-
|
|
13
|
-
`)}var h=1e3,g=new Map;function _(e){let t=g.get(e);t!==void 0&&(clearTimeout(t),g.delete(e))}var v=0;function y(){return v+=1,v}function b(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.text!=`string`||t.mode!==`btw`&&t.mode!==`steer`&&t.mode!==`queue`||typeof t.addedAt!=`number`||!Number.isFinite(t.addedAt))return null;let n=typeof t.itemId==`number`&&Number.isSafeInteger(t.itemId)&&t.itemId>0?t.itemId:y();return v=Math.max(v,n),{text:t.text,mode:t.mode,addedAt:t.addedAt,itemId:n,...t.images?{images:t.images}:{}}}var x=1800,S=2*1024*1024;function C(e,t=S){if(e.length<=t)return e;if(t<=55){let n=Math.ceil(t/2);return e.slice(0,n)+e.slice(e.length-(t-n))}let n=t-55,r=Math.ceil(n/2);return e.slice(0,r)+`
|
|
14
|
-
|
|
15
|
-
… [older streamed text omitted to protect memory] …
|
|
16
|
-
|
|
17
|
-
`+e.slice(e.length-(n-r))}function w(e){if(e===void 0)return 0;try{return JSON.stringify(e).length*2}catch{return S*2}}function T(e,t){let n=C(e.content,t),r=e.toolResult===void 0?void 0:C(e.toolResult,t),i=e.thinkingLog?{...e.thinkingLog,text:C(e.thinkingLog.text,t)}:void 0,a=w(e.toolInput)>t*2?`[tool input omitted from live transcript to protect memory]`:e.toolInput;return n===e.content&&r===e.toolResult&&i?.text===e.thinkingLog?.text&&a===e.toolInput?e:{...e,content:n,...r===void 0?{}:{toolResult:r},...i?{thinkingLog:i}:{},...a===void 0?{}:{toolInput:a}}}function E(e){let t=384+e.content.length*2+(e.toolResult?.length??0)*2+(e.thinkingLog?.text.length??0)*2+w(e.toolInput);for(let n of e.attachments??[])t+=(n.dataUrl?.length??0)*2+192;for(let n of e.sageLines??[])t+=n.length*2;for(let n of e.progressLines??[])t+=n.length*2;return t}function D(e,t={}){let n=Math.max(1,Math.floor(t.maxMessages??h)),r=Math.max(1,Math.floor(t.maxBytes??50331648)),i=Math.max(1,Math.floor(t.maxFieldChars??2097152)),a=[],o=0;for(let t=e.length-1;t>=0&&a.length<n;--t){let n=T(e[t],i),s=E(n);if(s>r&&n.attachments?.some(e=>e.dataUrl)&&(n={...n,attachments:n.attachments.map(e=>({...e,dataUrl:void 0}))},s=E(n)),a.length>0&&o+s>r)break;a.push(n),o+=s}return a.reverse(),a}function O(e){let t=new Map;for(let n of e)n.role===`tool`&&n.toolUseId&&t.set(n.toolUseId,n.id);return t}var k=t()(e((e,t)=>({messages:[],currentAssistantMessageId:null,currentToolId:null,isLoading:!1,abortController:null,executions:new Map,toolMessageIdsByUseId:new Map,queue:[],runStart:null,refining:!1,pendingRefinement:null,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,boundSessionId:null,addMessage:t=>{let r=`msg_${Date.now()}_${n().slice(0,8)}`,i={...t,id:r,timestamp:t.timestamp??Date.now()};return e(e=>{let n=D([...e.messages,i]),a=O(n),o=e.executions;if(o.size>0){let e=new Map,t=!1;for(let[n,r]of o)a.has(n)?e.set(n,r):t=!0;t&&(o=e)}let s={messages:n,currentAssistantMessageId:t.role===`assistant`?r:e.currentAssistantMessageId,toolMessageIdsByUseId:a};if(i.role===`tool`&&i.toolUseId){let e=new Map(a);e.set(i.toolUseId,r),s.toolMessageIdsByUseId=e}return o!==e.executions&&(s.executions=o),s}),r},setMessages:t=>{let n=D(t);e({messages:n,currentAssistantMessageId:null,currentToolId:null,executions:new Map,toolMessageIdsByUseId:O(n),thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null})},updateMessage:(t,n)=>{e(e=>({messages:e.messages.map(e=>e.id===t?{...e,...n}:e)}))},appendToMessage:(t,n)=>{e(e=>({messages:e.messages.map(e=>e.id===t?{...e,content:C(e.content+n)}:e)}))},finalizeMessage:(t,n)=>{let r=n?.final!==!1;e(e=>({messages:e.messages.map(e=>{if(e.id!==t)return e;if(e.role!==`assistant`)return{...e,content:m(e.content),streaming:!1};let n=c(e.content),i=r&&n.steps.length>0?{steps:n.steps}:void 0;return{...e,content:m(n.stripped),streaming:!1,...i?{nextSteps:i}:{}}})}))},setToolResult:(t,n,r)=>{e(e=>({messages:e.messages.map(e=>e.id===t?{...e,toolResult:C(n),isError:!r,progressLines:void 0}:e)}))},appendToolProgress:(e,n)=>{t().appendToolProgressLines(e,[n])},appendToolProgressLines:(t,n)=>{n.length!==0&&e(e=>({messages:e.messages.map(e=>{if(e.id!==t)return e;let r=e.progressLines??[];return r.push(...n),r.length>30&&r.splice(0,r.length-30),{...e,progressLines:r}})}))},getToolMessageId:e=>t().toolMessageIdsByUseId.get(e),setToolResultByUseId:(e,n,r)=>{let i=t().toolMessageIdsByUseId.get(e);i&&t().setToolResult(i,n,r)},appendToolProgressLinesByUseId:(e,n)=>{let r=t().toolMessageIdsByUseId.get(e);r&&t().appendToolProgressLines(r,n)},setLoading:t=>e({isLoading:t}),setAbortController:t=>e({abortController:t}),clearMessages:()=>e({messages:[],currentAssistantMessageId:null,currentToolId:null,executions:new Map,toolMessageIdsByUseId:new Map,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,boundSessionId:null}),setBoundSessionId:t=>e({boundSessionId:t}),setCurrentAssistantMessage:t=>e({currentAssistantMessageId:t}),setCurrentToolId:t=>e({currentToolId:t}),truncateAfter:t=>e(e=>{let n=e.messages.findIndex(e=>e.id===t);if(n===-1)return e;let r=e.messages.slice(0,n+1);return{messages:r,currentAssistantMessageId:null,currentToolId:null,toolMessageIdsByUseId:O(r)}}),addExecution:t=>{e(e=>{let n=new Map(e.executions);return n.set(t.id,t),{executions:n}})},updateExecution:(t,n)=>{e(e=>{let r=new Map(e.executions),i=r.get(t);return i&&r.set(t,{...i,...n}),{executions:r}})},setRefining:t=>e({refining:t}),setPendingRefinement:(t,n,r=`queue`)=>e({pendingRefinement:t===null?null:{text:t,images:n??[],mode:r}}),enqueue:(t,n=`queue`,r,i)=>{let a=Date.now(),o=++v;if(e(e=>({queue:[...e.queue,{text:t,mode:n,addedAt:a,itemId:o,...r?.length?{images:r}:{},...i?{alreadyDispatched:!0}:{}}]})),i){let e=setTimeout(()=>{g.delete(o);let e=null;k.setState(t=>{let n=t.queue.find(e=>e.itemId===o&&e.alreadyDispatched===!0);if(n&&n.bubbleAdded!==!0){let t=n.images??[];e={role:`user`,content:n.text,...t.length>0?{attachments:t.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}}}return{queue:t.queue.filter(e=>!(e.itemId===o&&e.alreadyDispatched===!0))}}),e&&k.getState().addMessage(e)},x);g.set(o,e)}},dequeue:()=>{let{queue:n}=t();if(n.length===0)return null;let[i,...a]=n;return i?.itemId!==void 0&&_(i.itemId),e({queue:a}),r(i)},dequeueDrainable:()=>{let t={popped:null,leadingBubbles:[]};e(e=>{let n=e.queue.findIndex(e=>e.alreadyDispatched!==!0);if(n===-1){for(let n of e.queue)if(n.alreadyDispatched===!0&&n.bubbleAdded!==!0){let e=n.images??[];t.leadingBubbles.push({role:`user`,content:n.text,...e.length>0?{attachments:e.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}})}return t.leadingBubbles.length===0?{}:{queue:e.queue.filter(e=>!(e.alreadyDispatched===!0&&e.bubbleAdded!==!0))}}for(let r=0;r<n;r+=1){let n=e.queue[r];if(n.bubbleAdded===!0)continue;let i=n.images??[];t.leadingBubbles.push({role:`user`,content:n.text,...i.length>0?{attachments:i.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}})}let r=e.queue[n],i=e.queue.map((e,t)=>t<n&&e.bubbleAdded!==!0&&e.alreadyDispatched===!0?{...e,bubbleAdded:!0}:e).slice(0,n).concat(e.queue.map((e,t)=>t<n&&e.bubbleAdded!==!0&&e.alreadyDispatched===!0?{...e,bubbleAdded:!0}:e).slice(n+1));return t.popped=r,{queue:i}});for(let e of t.leadingBubbles)k.getState().addMessage(e);let n=t.popped;return n?.itemId!==void 0&&_(n.itemId),n},removeQueued:t=>e(e=>{let n=e.queue[t];return n?.itemId!==void 0&&_(n.itemId),{queue:e.queue.filter((e,n)=>n!==t)}}),clearQueue:()=>{let t=Array.from(g.values());g.clear();for(let e of t)clearTimeout(e);e({queue:[]})},removeMessage:t=>e(e=>{let n=e.messages.filter(e=>e.id!==t);return{messages:n,toolMessageIdsByUseId:O(n)}}),updateLastUserMessage:t=>e(e=>{let n=e.messages;for(let e=n.length-1;e>=0;e--)if(n[e].role===`user`){let r={...n[e],content:t},i=[...n];return i[e]=r,{messages:i}}return e}),setRunStart:t=>e({runStart:t}),appendThinking:t=>e(e=>({thinkingBuffer:C(e.thinkingBuffer+t),thinkingStartedAt:e.thinkingStartedAt??Date.now(),thinkingLogBuffer:C(e.thinkingLogBuffer+t),thinkingLogStartedAt:e.thinkingLogStartedAt??Date.now()})),clearThinking:()=>e({thinkingBuffer:``,thinkingStartedAt:null}),flushThinkingLog:e=>{let{thinkingLogBuffer:n,thinkingLogStartedAt:r}=t(),i=n.trim();if(!i)return;let a=r??Date.now();t().addMessage({role:`system`,content:``,thinkingLog:{iteration:e,text:i,startedAt:a,durationMs:Math.max(0,Date.now()-a)}}),t().clearThinkingLog()},clearThinkingLog:()=>e({thinkingLogBuffer:``,thinkingLogStartedAt:null})}),{name:`wrongstack-chat`,version:3,partialize:e=>({messages:e.messages.slice(-200).map(e=>e.attachments?.some(e=>e.dataUrl)?{...e,attachments:e.attachments.map(e=>({...e,dataUrl:void 0}))}:e),queue:e.queue.filter(e=>e.alreadyDispatched!==!0).map(e=>e.images?{...e,images:void 0}:e),boundSessionId:e.boundSessionId,thinkingLogBuffer:e.thinkingLogBuffer}),migrate:(e,t)=>{if(t>3)return null;let n=e??{},r=Array.isArray(n.messages)?n.messages:[],i=Array.isArray(n.queue)?n.queue:[];t<3&&(i=i.filter(e=>typeof e==`object`&&!!e&&e.alreadyDispatched!==!0));let a=i.flatMap(e=>{let t=b(e);return t?[t]:[]});return{messages:D(r),queue:a,boundSessionId:typeof n.boundSessionId==`string`?n.boundSessionId:null,thinkingLogBuffer:typeof n.thinkingLogBuffer==`string`?n.thinkingLogBuffer:``}},onRehydrateStorage:()=>(e,t)=>{t||typeof window<`u`&&(window.__wrongstackChatRehydrated=!0)}}));export{r as a,p as i,i as n,c as r,k as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-QTnfLwEv.js";var t=e({action:()=>n,confirm:()=>r,default:()=>c,error:()=>o,sparkline:()=>s,status:()=>i,time:()=>a}),n={ok:`OK`,cancel:`Cancel`,save:`Save`,saved:`Saved`,close:`Close`,yes:`Yes`,no:`No`,delete:`Delete`,remove:`Remove`,add:`Add`,edit:`Edit`,rename:`Rename`,retry:`Retry`,reset:`Reset`,apply:`Apply`,confirm:`Confirm`,back:`Back`,next:`Next`,done:`Done`,refresh:`Refresh`,copy:`Copy`,copied:`Copied`,copyFailed:`Copy failed — clipboard access was blocked.`,open:`Open`,start:`Start`,stop:`Stop`,pause:`Pause`,resume:`Resume`,continue:`Continue`,clear:`Clear`,search:`Search`,loading:`Loading…`,saving:`Saving…`,searchPlaceholder:`Search…`,always:`Always`,deny:`Deny`,undo:`Undo`,all:`All`},r={title:`Approval required: {{tool}}`,descriptionEdit:`The agent wants to modify a file. Review the request below and decide whether to proceed.`,descriptionTool:`The agent wants to run this tool. Review the request below and decide whether to proceed.`,fileModification:`File modification`,toolExecution:`Tool execution`,riskSuffix:`{{risk}} risk`,command:`Command`,inputLabel:`Input:`,trustSuggestionTitle:`Trust pattern suggestion`,trustSuggestionHint:`Picking Always will whitelist matching calls for this project.`,yoloDestructiveNote:`YOLO is on. This prompt is still shown because the request was classified as destructive.`,skipApprovalsTitle:`Skip future approvals`,skipApprovalsHint:`Enable YOLO mode and the agent runs without asking. Destructive operations still ask for confirmation.`,enableYoloTitle:`Enable YOLO mode (auto-approve this and future non-destructive calls)`,enableYoloBtn:`Enable YOLO`,denyAlways:`Deny always`,denyAlwaysTitle:`Reject this and all future calls matching the pattern (d)`,noTitle:`Reject this single call (Esc / n)`,alwaysTitle:`Approve and remember the pattern for the project (a)`,yesTitle:`Approve this single call (y)`},i={connected:`Connected`,disconnected:`Disconnected`,notConnectedRetry:`Not connected to the server — try again once reconnected.`,connecting:`Connecting…`,reconnecting:`Reconnecting…`,ready:`Ready`,error:`Error`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`budget warning`,running:`Running`,inProgress:`In Progress`,working:`working`},a={justNow:`just now`,secondsAgo_one:`{{count}} second ago`,secondsAgo_other:`{{count}} seconds ago`,minutesAgo_one:`{{count}} minute ago`,minutesAgo_other:`{{count}} minutes ago`,hoursAgo_one:`{{count}} hour ago`,hoursAgo_other:`{{count}} hours ago`,daysAgo_one:`{{count}} day ago`,daysAgo_other:`{{count}} days ago`,compactSecondsAgo:`{{count}}s ago`,compactMinutesAgo:`{{count}}m ago`,compactHoursAgo:`{{count}}h ago`},o={title:`Something went wrong`,body:`A rendering error occurred. Your session is still active on the server — reloading will pick up where you left off.`,reload:`Reload page`,tryAgain:`Try again`},s={noActivity:`No activity`,noActivityYet:`No activity yet`,activityMax:`Activity sparkline: max {{count}} events`,activityPeak:`Activity sparkline — peak {{count}} events/bucket`},c={action:n,confirm:r,status:i,time:a,error:o,sparkline:s};export{t as n,c as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/activity-BQ0zqkw2.js","assets/rolldown-runtime-QTnfLwEv.js","assets/chat-DLn1hY01.js","assets/commandPalette-DpaemFux.js","assets/common-BfVFjVhf.js","assets/settings-BHtFy8EG.js","assets/setup-BFcmn89w.js","assets/toasts-BL_8kH4B.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Fa as e,Ia as t,La as n}from"./vendor-BuarzSSb.js";import{a as r,o as i,r as a}from"./ui-store-BsBnjO3w.js";import{t as o}from"./activity-BQ0zqkw2.js";import{t as s}from"./chat-DLn1hY01.js";import{t as c}from"./commandPalette-DpaemFux.js";import{t as l}from"./common-BfVFjVhf.js";import{t as u}from"./settings-BHtFy8EG.js";import{t as d}from"./setup-BFcmn89w.js";import{t as f}from"./toasts-BL_8kH4B.js";import{s as p}from"./monaco-BLUV5g0U.js";var m=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},h=[`common`,`activity`,`chat`,`commandPalette`,`settings`,`setup`,`toasts`];function g(){try{return i(a.getState().uiLocale)}catch{return`en`}}n.use(e).use(t((e,t)=>m(Object.assign({"./locales/de/activity.json":()=>p(()=>import(`./activity-CAovbq3e.js`),[]),"./locales/de/chat.json":()=>p(()=>import(`./chat-OunddzYy.js`),[]),"./locales/de/commandPalette.json":()=>p(()=>import(`./commandPalette-aaAou3Tl.js`),[]),"./locales/de/common.json":()=>p(()=>import(`./common-C9ikgX7d.js`),[]),"./locales/de/settings.json":()=>p(()=>import(`./settings-B5xal2R3.js`),[]),"./locales/de/setup.json":()=>p(()=>import(`./setup-DD8rKpQU.js`),[]),"./locales/de/toasts.json":()=>p(()=>import(`./toasts-CFzweRH5.js`),[]),"./locales/en/activity.json":()=>p(()=>import(`./activity-BQ0zqkw2.js`).then(e=>e.n),__vite__mapDeps([0,1])),"./locales/en/chat.json":()=>p(()=>import(`./chat-DLn1hY01.js`).then(e=>e.n),__vite__mapDeps([2,1])),"./locales/en/commandPalette.json":()=>p(()=>import(`./commandPalette-DpaemFux.js`).then(e=>e.n),__vite__mapDeps([3,1])),"./locales/en/common.json":()=>p(()=>import(`./common-BfVFjVhf.js`).then(e=>e.n),__vite__mapDeps([4,1])),"./locales/en/settings.json":()=>p(()=>import(`./settings-BHtFy8EG.js`).then(e=>e.n),__vite__mapDeps([5,1])),"./locales/en/setup.json":()=>p(()=>import(`./setup-BFcmn89w.js`).then(e=>e.n),__vite__mapDeps([6,1])),"./locales/en/toasts.json":()=>p(()=>import(`./toasts-BL_8kH4B.js`).then(e=>e.n),__vite__mapDeps([7,1])),"./locales/es/activity.json":()=>p(()=>import(`./activity-CFQyCvgu.js`),[]),"./locales/es/chat.json":()=>p(()=>import(`./chat-CRmMDzCb.js`),[]),"./locales/es/commandPalette.json":()=>p(()=>import(`./commandPalette-Nlxs0V7J.js`),[]),"./locales/es/common.json":()=>p(()=>import(`./common-DMM-xyW3.js`),[]),"./locales/es/settings.json":()=>p(()=>import(`./settings-Bss5hBla.js`),[]),"./locales/es/setup.json":()=>p(()=>import(`./setup-COxU-AT_.js`),[]),"./locales/es/toasts.json":()=>p(()=>import(`./toasts-BwQJwYLe.js`),[]),"./locales/fr/activity.json":()=>p(()=>import(`./activity-DOwYydU-.js`),[]),"./locales/fr/chat.json":()=>p(()=>import(`./chat-CwnuX7tG.js`),[]),"./locales/fr/commandPalette.json":()=>p(()=>import(`./commandPalette-Dfk74u87.js`),[]),"./locales/fr/common.json":()=>p(()=>import(`./common-D29Zdkxb.js`),[]),"./locales/fr/settings.json":()=>p(()=>import(`./settings-Dd94HoV6.js`),[]),"./locales/fr/setup.json":()=>p(()=>import(`./setup-CMteRkTs.js`),[]),"./locales/fr/toasts.json":()=>p(()=>import(`./toasts-BCDGDcyq.js`),[]),"./locales/it/activity.json":()=>p(()=>import(`./activity-DACvyn2-.js`),[]),"./locales/it/chat.json":()=>p(()=>import(`./chat-DxLD17ER.js`),[]),"./locales/it/commandPalette.json":()=>p(()=>import(`./commandPalette-CUh_kgfp.js`),[]),"./locales/it/common.json":()=>p(()=>import(`./common-DoUBSHRY.js`),[]),"./locales/it/settings.json":()=>p(()=>import(`./settings-Dm9THFe8.js`),[]),"./locales/it/setup.json":()=>p(()=>import(`./setup-pPW1kVR_.js`),[]),"./locales/it/toasts.json":()=>p(()=>import(`./toasts-Dm12Nq8t.js`),[]),"./locales/pt-BR/activity.json":()=>p(()=>import(`./activity-CdQf7zRK.js`),[]),"./locales/pt-BR/chat.json":()=>p(()=>import(`./chat-DzPxYALH.js`),[]),"./locales/pt-BR/commandPalette.json":()=>p(()=>import(`./commandPalette-tFxIIhvU.js`),[]),"./locales/pt-BR/common.json":()=>p(()=>import(`./common-vdwxzODB.js`),[]),"./locales/pt-BR/settings.json":()=>p(()=>import(`./settings-C7RdvmLZ.js`),[]),"./locales/pt-BR/setup.json":()=>p(()=>import(`./setup-BOYK0I6-.js`),[]),"./locales/pt-BR/toasts.json":()=>p(()=>import(`./toasts-frBt6fvE.js`),[]),"./locales/tr/activity.json":()=>p(()=>import(`./activity-BCgOEWgR.js`),[]),"./locales/tr/chat.json":()=>p(()=>import(`./chat-DSEq1Bdz.js`),[]),"./locales/tr/commandPalette.json":()=>p(()=>import(`./commandPalette-CGMq-qlP.js`),[]),"./locales/tr/common.json":()=>p(()=>import(`./common-C5hY-d_0.js`),[]),"./locales/tr/settings.json":()=>p(()=>import(`./settings-BzrLCVRP.js`),[]),"./locales/tr/setup.json":()=>p(()=>import(`./setup-Bd23KLtt.js`),[]),"./locales/tr/toasts.json":()=>p(()=>import(`./toasts-DDYQsJV8.js`),[])}),`./locales/${e}/${t}.json`,4))).init({lng:g(),fallbackLng:`en`,supportedLngs:[...r],ns:[...h],defaultNS:`common`,partialBundledLanguages:!0,resources:{en:{common:l,activity:o,chat:s,commandPalette:c,settings:u,setup:d,toasts:f}},interpolation:{escapeValue:!1},react:{useSuspense:!1},returnNull:!1});function _(e){typeof document<`u`&&(document.documentElement.lang=e)}_(n.language||`en`),a.subscribe((e,t)=>{let r=e.uiLocale;r&&r!==t.uiLocale&&r!==n.language&&n.changeLanguage(r).then(()=>_(r))});function v(){window.wrongstackDesktopHost?.onLocaleChanged?.(e=>{if(!e)return;let t=i(e);if(t===n.language)return;let r=a.getState();r.uiLocale!==t&&r.set({uiLocale:t}),n.changeLanguage(t).then(()=>_(t))})}try{v()}catch{}
|