@wrongstack/webui 1.0.24 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AgentRosterView-BJ-1SQOm.js +12 -0
- package/dist/assets/{AnalyticsDashboard-DgqJODVI.js → AnalyticsDashboard-FYrD8BFQ.js} +1 -1
- package/dist/assets/AudienceMemoryPanel-BghMZicW.js +3 -0
- package/dist/assets/ChangesView-B3uQtZGR.js +3 -0
- package/dist/assets/ChimeraReviewsView-CBRbTHGM.js +1 -0
- package/dist/assets/ChronicleDashboard-B1E-_u64.js +1 -0
- package/dist/assets/CodeEditor-CbcWuMGV.js +2 -0
- package/dist/assets/CodeMap-WOfveRTG.js +1 -0
- package/dist/assets/{CronJobsPanel-GTK038V9.js → CronJobsPanel-DOFA5WVq.js} +1 -1
- package/dist/assets/{DeadCodeScanPanel-DX4OEuyp.js → DeadCodeScanPanel-4ToPZX7e.js} +1 -1
- package/dist/assets/{DebugDashboard-CKp3sa_k.js → DebugDashboard-DAsNHSpG.js} +1 -1
- package/dist/assets/{DesignGalleryView-DVUTYaP6.js → DesignGalleryView-Dd5YnKhs.js} +1 -1
- package/dist/assets/GoalView-BaDGAXuQ.js +1 -0
- package/dist/assets/KanbanView-CG8bVhpR.js +3 -0
- package/dist/assets/{MailboxDetailView-CylnzTVc.js → MailboxDetailView-COxz-eEJ.js} +1 -1
- package/dist/assets/{MemoryDrawer-DJ0Y98Z8.js → MemoryDrawer-4lDXuHCi.js} +1 -1
- package/dist/assets/MemoryManager-DQlnpch1.js +1 -0
- package/dist/assets/{ProcessMonitor-BnQ3vJtn.js → ProcessMonitor-BUjfYqG3.js} +1 -1
- package/dist/assets/PromptJournalView-o2dmPrwg.js +1 -0
- package/dist/assets/ProviderTestView-5wNbI46L.js +1 -0
- package/dist/assets/QueuePanel-DP9D99DX.js +1 -0
- package/dist/assets/{RefreshDebugView-s6MyGpPq.js → RefreshDebugView-CB7_a_TI.js} +1 -1
- package/dist/assets/{RepositoryHistoryView-CWi_Zo3F.js → RepositoryHistoryView-C_zpYLY6.js} +2 -2
- package/dist/assets/RequirementIntakeView-CahKEHJn.js +1 -0
- package/dist/assets/{SageTabs-D6eTg3ix.js → SageTabs-5Z2PR11S.js} +2 -2
- package/dist/assets/{SddFlowGraph-B-ptkFX6.js → SddFlowGraph-DSoWnlIt.js} +1 -1
- package/dist/assets/SddHub-0q2EpwYz.js +2 -0
- package/dist/assets/{SessionInspectView-NSpj5WEN.js → SessionInspectView-CbDFR_tP.js} +1 -1
- package/dist/assets/SessionList-DhQK7JnP.js +1 -0
- package/dist/assets/{SessionsDashboard-mF4PzdKY.js → SessionsDashboard-DNLDczSd.js} +1 -1
- package/dist/assets/SetupScreen-C-hpHQQ9.js +1 -0
- package/dist/assets/{SkillDetailView-B9BFyB1i.js → SkillDetailView-Bir-Kdm4.js} +3 -3
- package/dist/assets/TechStackView-CJ3Abnwg.js +2 -0
- package/dist/assets/TerminalPanel-8WHNTeQK.js +1 -0
- package/dist/assets/activity-B9WjS_Cz.js +10 -0
- package/dist/assets/activity-BB7AHL0U.js +10 -0
- package/dist/assets/activity-Bd0XmdqX.js +10 -0
- package/dist/assets/activity-BvmJte2K.js +10 -0
- package/dist/assets/activity-DOEbDWqw.js +10 -0
- package/dist/assets/activity-beTxIN7V.js +10 -0
- package/dist/assets/activity-t-0KDhv5.js +10 -0
- package/dist/assets/{button-BbeB5Qm8.js → button-UuKTnoM-.js} +1 -1
- package/dist/assets/chat-9GLubejR.js +1 -0
- package/dist/assets/chat-B50ssTLh.js +1 -0
- package/dist/assets/chat-CDioiM1L.js +1 -0
- package/dist/assets/chat-Cll_3gXD.js +1 -0
- package/dist/assets/chat-Cqhc6jQa.js +1 -0
- package/dist/assets/chat-DN1MggWt.js +1 -0
- package/dist/assets/chat-fyvZyUZM.js +1 -0
- package/dist/assets/chat-store-BMwP_sS0.js +1 -0
- package/dist/assets/{codemap-activity-store-Ha7XbGgq.js → codemap-activity-store-WjfEZe4_.js} +1 -1
- package/dist/assets/{common-DvjdaRhB.js → common-2kj0c3pG.js} +1 -1
- package/dist/assets/{common-D0QL7rwb.js → common-BAvh8XBp.js} +1 -1
- package/dist/assets/{common-opV6EoLd.js → common-CKwGvEQD.js} +1 -1
- package/dist/assets/{common-DJRPtYAt.js → common-CUd7l34J.js} +1 -1
- package/dist/assets/{common-BtyQBZBN.js → common-DmS4Wp1i.js} +1 -1
- package/dist/assets/common-PC103akE.js +1 -0
- package/dist/assets/{common-Bjl7V12m.js → common-zatZ4s-Z.js} +1 -1
- package/dist/assets/config-store-Cb4iyhGv.js +21 -0
- package/dist/assets/{dialog-b-Ai37sa.js → dialog-BDUaV5gY.js} +1 -1
- package/dist/assets/{empty-state-pfuS5znr.js → empty-state-BzoEa04Q.js} +1 -1
- package/dist/assets/{fonts-DRGbd-AM.js → fonts-C303yVU_.js} +2 -2
- package/dist/assets/i18n-CzTjKT4L.js +3 -0
- package/dist/assets/index-Ci22AODp.js +182 -0
- package/dist/assets/index-DfU9PQg8.css +1 -0
- package/dist/assets/{input-BA6D2L3K.js → input-DMnC2O7-.js} +1 -1
- package/dist/assets/{mailbox-store-ZQO_Rv6E.js → mailbox-store-DyOOYbni.js} +1 -1
- package/dist/assets/{roster-ws-Cv_PHlEV.js → roster-ws-D-DCMdrg.js} +1 -1
- package/dist/assets/settings-7W0ofid0.js +1 -0
- package/dist/assets/settings-BAArGYGW.js +1 -0
- package/dist/assets/settings-Btyr_M2v.js +1 -0
- package/dist/assets/settings-BwL_DVmc.js +1 -0
- package/dist/assets/settings-C7ybAkyi.js +1 -0
- package/dist/assets/settings-CgtL8eYb.js +1 -0
- package/dist/assets/settings-D57Fd8Z8.js +1 -0
- package/dist/assets/{shared-BFJvAYzX.js → shared-CLNEiW00.js} +1 -1
- package/dist/assets/stores-Svlibwo5.js +7 -0
- package/dist/assets/toasts-3tM1krOo.js +1 -0
- package/dist/assets/toasts-BrHW33qA.js +1 -0
- package/dist/assets/toasts-Buww129h.js +1 -0
- package/dist/assets/toasts-CSN9Fy47.js +1 -0
- package/dist/assets/toasts-DOoYxbHd.js +1 -0
- package/dist/assets/toasts-DkDnbhs_.js +1 -0
- package/dist/assets/toasts-Jo4VH13n.js +1 -0
- package/dist/assets/ui-store-DI0iusYZ.js +1 -0
- package/dist/assets/{utils-CKsqCaP8.js → utils-B21Devim.js} +1 -1
- package/dist/assets/{vector-memory-panel-YWv6xcza.js → vector-memory-panel-DnX-ODHC.js} +1 -1
- package/dist/assets/{vendor-V3ydTHqN.js → vendor-BfBvt432.js} +28 -28
- package/dist/assets/{view-navigation-CpIPxhZp.js → view-navigation-Cvrp_uJm.js} +1 -1
- package/dist/components/BrowserLivePane.d.ts +2 -0
- package/dist/components/ChangesView.d.ts +3 -1
- package/dist/components/ChatInput/chat-input-bars.d.ts +1 -1
- package/dist/components/ChatInput/image-attachments.d.ts +19 -2
- package/dist/components/ChatInput/slash-routing.d.ts +18 -0
- package/dist/components/ChatInput/use-paste-drop.d.ts +3 -0
- package/dist/components/ChatInput/use-prompt-queue-view.d.ts +13 -0
- package/dist/components/ChatView/BackgroundShellStrip.d.ts +16 -0
- package/dist/components/ChatView/TerminalStrip.d.ts +8 -0
- package/dist/components/CodeMap.d.ts +0 -12
- package/dist/components/GoalPanel.d.ts +2 -1
- package/dist/components/ImageDiffView.d.ts +12 -0
- package/dist/components/KanbanTaskExecution.d.ts +64 -0
- package/dist/components/KanbanTaskInspector.d.ts +1 -1
- package/dist/components/MessageBubble/AttachmentGallery.d.ts +1 -1
- package/dist/components/MessageBubble/FailedRunContinue.d.ts +7 -3
- package/dist/components/MessageBubble/GeneratedImagePreview.d.ts +10 -0
- package/dist/components/SessionTabBar/summaries.d.ts +4 -0
- package/dist/components/SettingsPanel/LimitsSection.d.ts +7 -0
- package/dist/components/SettingsPanel/MCPSection.d.ts +1 -37
- package/dist/components/SettingsPanel/MCPServerCards.d.ts +67 -0
- package/dist/components/SettingsPanel/MCPServerDialog.d.ts +11 -0
- package/dist/components/SettingsPanel/PreferenceControls.d.ts +8 -0
- package/dist/components/SettingsPanel/ProviderSavedProfiles.d.ts +50 -0
- package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -79
- package/dist/components/SettingsPanel/SettingsNavigation.d.ts +12 -0
- package/dist/components/SettingsPanel/brain-section-options.d.ts +1 -2
- package/dist/components/SettingsPanel/provider-section-types.d.ts +79 -0
- package/dist/components/SidePanel/SessionList.d.ts +1 -34
- package/dist/components/SidePanel/session-history.d.ts +61 -0
- package/dist/components/SystemPromptPresetEditor.d.ts +9 -0
- package/dist/components/TechStackView/AnalyzeControls.d.ts +25 -0
- package/dist/components/TechStackView/RemediationTab.d.ts +20 -0
- package/dist/components/TechStackView/TrendsTab.d.ts +17 -0
- package/dist/components/TerminalPanel.d.ts +8 -1
- package/dist/components/WorkspaceDock.d.ts +2 -2
- package/dist/components/review/ReviewDiff.d.ts +21 -0
- package/dist/components/review/ReviewTray.d.ts +15 -0
- package/dist/components/review/review-diff-model.d.ts +31 -0
- package/dist/components/use-code-map-flow.d.ts +25 -0
- package/dist/components/use-office-map-canvas.d.ts +1 -1
- package/dist/components/use-office-map-topology.d.ts +31 -0
- package/dist/hooks/use-live-browser.d.ts +7 -0
- package/dist/hooks/useWebSocket.d.ts +1 -2
- package/dist/hooks/ws-handlers/chat-handlers.d.ts +12 -0
- package/dist/hooks/ws-handlers/goal-handlers.d.ts +2 -0
- package/dist/hooks/ws-handlers/mcp-status-handlers.d.ts +6 -0
- package/dist/hooks/ws-handlers/prompt-queue-handlers.d.ts +18 -0
- package/dist/hooks/ws-handlers/techstack-handlers.d.ts +7 -0
- package/dist/index.css +3013 -3013
- package/dist/index.html +19 -19
- package/dist/index.js +53010 -47407
- package/dist/lib/compact-file-tree.d.ts +30 -0
- package/dist/lib/project-image.d.ts +26 -0
- package/dist/lib/provider-warm.d.ts +3 -0
- package/dist/lib/ws-client-session-methods.d.ts +2 -0
- package/dist/lib/ws-client.d.ts +3 -0
- package/dist/stores/chat-lane-data.d.ts +153 -0
- package/dist/stores/chat-lanes.d.ts +3 -174
- package/dist/stores/chat-queue-helpers.d.ts +9 -0
- package/dist/stores/chat-store-types.d.ts +3 -0
- package/dist/stores/chat-store.d.ts +1 -1
- package/dist/stores/context-editor-store.d.ts +1 -1
- package/dist/stores/fleet-transcript.d.ts +14 -0
- package/dist/stores/git-changes-store.d.ts +3 -0
- package/dist/stores/goal-run-store.d.ts +8 -0
- package/dist/stores/goal-state-store.d.ts +3 -0
- package/dist/stores/goal-store.d.ts +9 -11
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/local-prefs-defaults.d.ts +341 -0
- package/dist/stores/local-prefs.d.ts +2 -318
- package/dist/stores/notification-store.d.ts +9 -0
- package/dist/stores/provider-quota-store.d.ts +5 -0
- package/dist/stores/review-store.d.ts +54 -0
- package/dist/stores/session-activity.d.ts +33 -0
- package/dist/stores/session-tab-store.d.ts +1 -46
- package/dist/stores/techstack-store.d.ts +140 -1
- package/dist/stores/terminal-strip-store.d.ts +26 -0
- package/dist/stores/types.d.ts +5 -0
- package/dist/stores/ui-store-chrome.d.ts +1 -1
- package/dist/stores/ui-store-persist.d.ts +2 -2
- package/dist/stores/ui-store-types.d.ts +3 -3
- package/dist/stores/ui-store.d.ts +5 -5
- package/dist/types/brain.d.ts +4 -2
- package/dist/types/client-message.d.ts +122 -14
- package/dist/types/jev.d.ts +2 -0
- package/dist/types/prompt-queue.d.ts +55 -0
- package/dist/types/protocol-core.d.ts +4 -216
- package/dist/types/runtime.d.ts +3 -38
- package/dist/types/server-message-files.d.ts +22 -0
- package/dist/types/server-message-mcp.d.ts +32 -0
- package/dist/types/server-message-system.d.ts +121 -0
- package/dist/types/server-message.d.ts +4 -3
- package/dist/types/system.d.ts +2 -24
- package/package.json +11 -9
- package/dist/assets/AgentRosterView-Dq8Xa0WK.js +0 -12
- package/dist/assets/AudienceMemoryPanel-BVGdDVTT.js +0 -3
- package/dist/assets/ChangesView-BVyLENBb.js +0 -1
- package/dist/assets/ChimeraReviewsView-CTuxzgTC.js +0 -1
- package/dist/assets/ChronicleDashboard-BRP7D6RZ.js +0 -1
- package/dist/assets/CodeEditor-k3z3M0NG.js +0 -2
- package/dist/assets/CodeMap-CvHNQZEF.js +0 -1
- package/dist/assets/GoalView-D8G8e8YG.js +0 -1
- package/dist/assets/KanbanView-BMXGDqGo.js +0 -3
- package/dist/assets/MemoryManager-DfcsYPUB.js +0 -1
- package/dist/assets/PromptJournalView-D7k8Yh5a.js +0 -1
- package/dist/assets/ProviderTestView-DSd6kkWT.js +0 -1
- package/dist/assets/QueuePanel-79KiyZWD.js +0 -1
- package/dist/assets/RequirementIntakeView-D_Ea20fx.js +0 -1
- package/dist/assets/SddHub-CSVfLGpr.js +0 -2
- package/dist/assets/SessionList-BYRCs1AK.js +0 -1
- package/dist/assets/SetupScreen-BUZeJSZi.js +0 -1
- package/dist/assets/TechStackView-CXJilX0M.js +0 -2
- package/dist/assets/TerminalPanel-CAXevSAa.js +0 -1
- package/dist/assets/activity-B3wutYIE.js +0 -10
- package/dist/assets/activity-Be03cc7g.js +0 -10
- package/dist/assets/activity-CiYZ3y4e.js +0 -10
- package/dist/assets/activity-CmIA2MhR.js +0 -10
- package/dist/assets/activity-Cp5GhldB.js +0 -10
- package/dist/assets/activity-DFCf7l5d.js +0 -10
- package/dist/assets/activity-EbNUY7Ci.js +0 -10
- package/dist/assets/chat-6dE2AJNN.js +0 -1
- package/dist/assets/chat-B3AJmhGD.js +0 -1
- package/dist/assets/chat-BHsbpaVt.js +0 -1
- package/dist/assets/chat-BITJe8-v.js +0 -1
- package/dist/assets/chat-U-Jjb8_k.js +0 -1
- package/dist/assets/chat-_Xp5fDnj.js +0 -1
- package/dist/assets/chat-mSbSzPl5.js +0 -1
- package/dist/assets/chat-store-C7InoWAO.js +0 -1
- package/dist/assets/common-DPPTV3yw.js +0 -1
- package/dist/assets/config-store-BbL0WxLE.js +0 -21
- package/dist/assets/i18n-Dv97urcO.js +0 -3
- package/dist/assets/index-CON0Nbm4.css +0 -1
- package/dist/assets/index-DX6tHUzs.js +0 -177
- package/dist/assets/settings-BCvuzOJ6.js +0 -1
- package/dist/assets/settings-DMPKd-4K.js +0 -1
- package/dist/assets/settings-DxQ2452f.js +0 -1
- package/dist/assets/settings-Dz3StaVx.js +0 -1
- package/dist/assets/settings-EBW1mlXc.js +0 -1
- package/dist/assets/settings-Er2LHp9d.js +0 -1
- package/dist/assets/settings-EzznCDaX.js +0 -1
- package/dist/assets/stores-DXn5tdr7.js +0 -7
- package/dist/assets/toasts-BsmyGP95.js +0 -1
- package/dist/assets/toasts-CgXHu8ZB.js +0 -1
- package/dist/assets/toasts-DZ6HdKgG.js +0 -1
- package/dist/assets/toasts-DizCJjAR.js +0 -1
- package/dist/assets/toasts-NC2MT4uN.js +0 -1
- package/dist/assets/toasts-bPl097de.js +0 -1
- package/dist/assets/toasts-tCVo15mP.js +0 -1
- package/dist/assets/ui-store-DxDwFHNK.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`Impostazioni`,t=`Configure every aspect of your agent workspace`,n={general:`Generale`,provider:`Provider`,connection:`Connessioni`,agent:`Agente`,execution:`Esecuzione`,fallbacks:`Fallback`,routing:`Routing`,fleet:`Flotta`,integrations:`Integrazioni`,chimera:`Chimera`,context:`Contesto`,logs:`Registri`,security:`Sicurezza`,display:`Visualizzazione`,displayDesc:`Aspetto del workbench, chip di stato, timer di refine e interruttori di iniezione di strumenti/memoria — riflette il SettingsPicker della TUI.`,generalDesc:`Aspetto, lingua e preferenze di visualizzazione — rispecchia il selettore impostazioni della TUI.`,providerDesc:`Chiavi API, provider salvati e catalogo dei provider.`,connectionDesc:`URL del server WebSocket e stato della connessione.`,agentDesc:`Autonomia, affinamento dei prompt, ragionamento e routing dei modelli.`,executionDesc:`Limiti di iterazione, comportamento di uscita e interruttore di processo.`,fallbacksDesc:`Catena di fallback dei modelli, preferiti e profili di fallback nominati.`,routingDesc:`Matrice di routing dei modelli per fase e per ruolo.`,fleetDesc:`Concorrenza dei subagent, streaming e previsione dei passi successivi.`,integrationsDesc:`Client HQ, server MCP e notifiche Telegram.`,chimeraDesc:`Configurazione dell'agente di revisione del codice post-sessione.`,contextDesc:`Flag di funzionalità, strategia del contesto, compattatore e controlli dei plugin.`,logsDesc:`Livello di registro, dettaglio di audit, ambito di accesso al filesystem e flusso di debug.`,securityDesc:`Controllo decisionale Brain, agente ombra e accesso agli strumenti.`,fonts:`Caratteri`,fontsDesc:`Caratteri di interfaccia, chat, editor e terminale; dimensione, interlinea e legature.`,jev:`Jev`,jevDesc:`TypeSafe / Jev`},r={heading:`Modello`,loading:`Caricamento modelli...`,notFound:`Nessun modello trovato per questo provider. Il catalogo potrebbe essere vuoto o ancora in caricamento.`,selectProviderFirst:`Seleziona prima un provider`,context:`{{count}}k contesto`},i={providerHealth:{heading:`Stato dei provider`,hint:`Quali coppie provider/modello sono integre, degradate o bloccate e perché.`,refresh:`Aggiorna`,empty:`Nessun provider monitorato.`,summary:`{{blocked}} bloccati · {{degraded}} degradati · {{healthy}} integri`,totalFailures:`errori`,rateLimits:`limiti di frequenza`,state:{blocked:`Bloccato`,degraded:`Degradato`,healthy:`Integro`},blocked:`Bloccato`,degraded:`Degradato`,consecutive:`errori consecutivi`,retryNow:`Riprova ora`,clear:`Cancella`,allHealthy:`Tutti i provider monitorati sono integri.`,statSuccesses:`successi`,statFailures:`errori`,statRateLimits:`limiti di frequenza`,statConsecutive:`consecutivi`,lastError:`Ultimo errore`,recentErrors:`Errori recenti`,autoRecovery:`Ripristino automatico alle`,expired:`Scaduto`,remainingSecs:`{{secs}} s`,remainingMins:`{{mins}} min`,remainingHours:`{{hours}} h {{mins}} min`,explainHealthy:`Risponde normalmente.`,explain402:`Limite di fatturazione raggiunto (402). Bloccato per circa 15 minuti fino al ripristino della quota.`,explain403quota:`Limite di utilizzo raggiunto per questo ciclo. Bloccato fino al prossimo ripristino (circa 15 min).`,explain403auth:`Errore di autorizzazione/autenticazione. Non ripetibile: controlla la chiave API e i diritti di accesso.`,explain429:`Limite di frequenza raggiunto (429). Limitazione temporanea con ripristino automatico.`,explain529:`Server sovraccarico (529). Il provider è sottoposto a un carico elevato.`,explain5xx:`Errore del server ({{status}}). Problema temporaneo del backend.`,explainNetwork:`Rete non raggiungibile. Controlla la connessione o la pagina di stato del provider.`,explainTimeout:`Richiesta scaduta (408). Il provider ha risposto troppo lentamente.`,explainStreamHang:`Flusso interrotto (599). Il provider si è fermato durante la risposta.`,explainQuota:`Quota esaurita. Bloccato fino alla finestra di ripristino.`,explainUnknown:`Tipo di errore: {{kind}} / stato: {{status}}.`},wsUrlLabel:`URL del server WebSocket`,wsUrlPlaceholder:`ws://localhost:3456`,wsUrlHint:`URL del server WebSocket dell'agente. Il server viene eseguito insieme alla CLI.`,startingHeading:`Avviare il server WebSocket`,startingBody:`Per lo sviluppo, esegui ./dev.ps1 dalla root del repo (facoltativamente imposta prima WS_HOST/WS_PORT). Altrimenti avvia la WebUI con la CLI: wstack --webui.`,healthHeading:`Stato connessioni`,healthHint:`Rapporto live su proprietario, storage, coda, watcher e latenza dei servizi.`,healthRefresh:`Aggiorna`,healthLoading:`Controllo dei servizi…`,healthUnknown:`Stato sconosciuto`,healthDisconnected:`Il WebSocket della WebUI è disconnesso.`,healthRestartRequired:`Riavvia il backend una volta per attivare il rapporto connessioni.`,healthOptional:`Su richiesta`,endpointInvalidBadge:`percorso socket troppo lungo`,endpointInvalidRemedy:`Il percorso del socket IPC supera il limite di lunghezza di questa piattaforma, quindi il demone condiviso non può avviarsi. Le query tornano a una modalità locale di processo più lenta. Rimedio: impostare un TMPDIR più corto (es. export TMPDIR=/tmp) e riavviare WrongStack.`,healthCounts:`{{healthy}} sani · {{attention}} attenzione · {{sleeping}} inattivi`,healthOverall:{healthy:`Servizi richiesti sani`,degraded:`Servizio richiesto degradato`,error:`Servizio richiesto non disponibile`},healthStatus:{healthy:`Sano`,degraded:`Degradato`,offline:`Inattivo`,unavailable:`Non disponibile`,error:`Errore`},services:{kanban:{label:`Kanban IPC`},mailbox:{label:`Mailbox IPC`}},serviceActionRestart:`Riavvia {{label}}`,webuiTransport:`Trasporto WebUI`,serviceAutoRestarting:`Riavvio automatico…`},a={removeProfileConfirm:`Rimuovere il profilo «{{alias}}» e tutte le sue chiavi?`,removeProfileBody:`Le credenziali salvate e i riferimenti a questo account nelle impostazioni dei modelli saranno rimossi.`,deleteKeyConfirm:`Eliminare la chiave «{{label}}» da «{{alias}}»?`,addProfile:`Aggiungi account / profilo di autenticazione`,profileAlias:`Alias del profilo di autenticazione`,profileHint:`Ogni account ha un alias e credenziali propri. Le destinazioni di fallback sono alias/modello.`,profileExists:`Il profilo «{{alias}}» esiste già. Scegli un altro alias.`,operationTimeout:`Nessuna risposta dal server. Controlla la connessione e riprova.`,savedProviderCount_one:`{{count}} provider`,savedProviderCount_other:`{{count}} provider`,keyCount_one:`{{count}} chiave configurata`,keyCount_other:`{{count}} chiavi configurate`,activeKeyCount_one:`{{count}} chiave attiva`,activeKeyCount_other:`{{count}} chiavi attive`,subscriptionHeading:`Accesso con abbonamento`,apiKeysHeading:`Provider con chiave API`,apiKeysBody:`Scegli un provider dal catalogo e aggiungi una chiave API, oppure gestisci i provider salvati.`,tabCatalog:`Catalogo`,tabSaved:`Salvati ({{count}})`,searchPlaceholder:`Cerca tra {{count}} provider (nome / id / famiglia)…`,loadingCatalog:`Caricamento catalogo...`,noMatch:`Nessun provider corrisponde a "{{query}}".`,configured:`Configurato`,reachable:`Raggiungibile`,envVar:`ENV: {{var}}`,modelCount_one:`{{count}} modello`,modelCount_other:`{{count}} modelli`,keyPlaceholder:`Chiave API {{name}}`,orEnv:`Oppure imposta {{env}} nell'ambiente.`,addApiKey:`Aggiungi chiave API`,manageKeys:`Gestisci le tue chiavi API e le configurazioni dei provider`,addProvider:`Aggiungi provider`,addCustomHeading:`Aggiungi provider personalizzato`,localServers:`Server locali — clicca per precompilare:`,providerIdPlaceholder:`ID provider (es. my-llm-server)`,apiKeyOptionalPlaceholder:`Chiave API (facoltativa)`,noSaved:`Nessun provider salvato`,noSavedHint:`Aggiungi un provider per iniziare`,apiKeysLabel:`Chiavi API`,addKey:`Aggiungi chiave`,noKeys:`Nessuna chiave configurata`,active:`Attiva`,setActive:`Imposta come attiva`,keyLabelPlaceholder:`Etichetta chiave (es. default, production)`,apiKeyPlaceholder:`Chiave API`,saveKey:`Salva chiave`,savedToast:`Chiave salvata per {{name}}`},o={addCustom:`Aggiungi modello personalizzato`,addCustomTitle:`Aggiungi modello personalizzato`,addFromCatalog:`Aggiungi dal catalogo`,catalogSearchPlaceholder:`Cerca nel catalogo models.dev…`,catalogSearchTitle:`Cerca nel catalogo models.dev`,colActions:`Azioni`,colCaps:`Capacità`,colContext:`Contesto`,colCost:`Costo`,colModalities:`Modalità`,colModel:`Modello`,colOutput:`Output`,colSource:`Origine`,editModel:`Modifica modello`,emptyState:`Nessun modello per ora — aggiungi dal catalogo o crea un modello personalizzato.`,fieldContext:`Finestra di contesto`,fieldCostInput:`Costo di input`,fieldCostOutput:`Costo di output`,fieldDescription:`Descrizione`,fieldFamily:`Famiglia`,fieldInputLimit:`Limite di input`,fieldInputModalities:`Modalità di input`,fieldLastUpdated:`Ultimo aggiornamento`,fieldName:`Nome`,fieldOutput:`Output massimo`,fieldOutputModalities:`Modalità di output`,fieldReleaseDate:`Data di rilascio`,modelAdded:`{{model}} aggiunto`,modelRemoved:`{{model}} rimosso`,modelSaved:`{{model}} salvato`,noResults:`Nessun modello trovato`,removeModel:`Rimuovi modello`,sectionCapabilities:`Flag delle capacità`,sectionDates:`Date`,sectionIdentity:`Identità`,sectionLimits:`Limiti`,sectionModalities:`Modalità`,sectionPricing:`Prezzi (per 1M di token, USD)`,tabForm:`Modulo`,tabRawJson:`JSON grezzo`,typeToSearch:`Digita per cercare…`,useModel:`Usa {{model}}`,usingModel:`Utilizzo di {{model}}`,filterPlaceholder:`Filtra modelli…`},s={status:{connected:`Connesso`,connecting:`Connessione`,sleeping:`In pausa`,discovering:`Rilevamento`,error:`Errore`,stopped:`Fermo`,unknown:`Sconosciuto`},disabled:`I server MCP sono disabilitati.`,wakeTitle:`Riattiva server`,sleepTitle:`Metti in pausa`,discoverTitle:`Scopri strumenti`,editTitle:`Modifica`,removeTitle:`Rimuovi`,statusLabel:`Stato:`,enabledLabel:`Attivo:`,yes:`Sì`,no:`No`,descriptionLabel:`Descrizione:`,pidLabel:`PID:`,errorLabel:`Errore:`,toolsLabel:`Strumenti ({{count}}):`,noTools:`Nessuno strumento ancora scoperto`,serverNameRequired:`Il nome del server è obbligatorio`,dialogTitleEdit:`Modifica server MCP`,dialogTitleAdd:`Aggiungi server MCP`,dialogTitleAddCustom:`Aggiungi server MCP personalizzato`,fieldName:`Nome`,fieldNamePlaceholder:`es. github, filesystem`,fieldTransport:`Trasporto`,fieldUrl:`URL`,fieldCommand:`Comando`,fieldCommandPlaceholder:`es. npx`,fieldArgs:`Args`,fieldArgsHint:`(separati da spazi)`,fieldArgsPlaceholder:`es. -y @modelcontextprotocol/server-github`,fieldEnv:`Variabili d'env`,fieldEnvHint:`(KEY=valore, una per riga)`,fieldDescription:`Descrizione`,fieldDescriptionPlaceholder:`Server MCP GitHub per l'accesso al repository`,enableServer:`Abilita server`,lazyConnect:`Connessione pigra`,lazyConnectHint:`(non avviare fino alla prima chiamata; va in pausa quando inattivo)`,saveChanges:`Salva modifiche`,addServer:`Aggiungi server`,requires:`Richiede: {{vars}}`,added:`Aggiunto`,heading:`Server MCP`,summary:`{{connected}} connessi · {{sleeping}} in pausa · {{total}} totali`,addCustom:`Personalizzato`,tabRecommended:`Consigliati`,tabServers:`Server`,tabAddCustom:`Personalizzato`,recommendedBody:`Aggiunta con un clic per i server MCP popolari. Clicca Aggiungi per precompilare la configurazione, poi conferma. I server che richiedono credenziali avranno bisogno delle variabili d'env prima dell'uso.`,loadingServers:`Caricamento server...`,noServers:`Nessun server MCP configurato`,noServersHint:`Passa alla scheda Consigliati per aggiungere server popolari, oppure Personalizzato per i tuoi.`,addCustomBody:`Configura un server MCP personalizzato con trasporto stdio, SSE o HTTP.`,addCustomBodyHint:`Per i server popolari usa invece la scheda Consigliati — è tutto preconfigurato.`,removeConfirmTitle:`Rimuovere il server "{{name}}"?`,removeConfirmBody:`Questo rimuove il server MCP dalla tua configurazione.`,toastAdded:`Server "{{name}}" aggiunto`,toastRemoved:`Server "{{name}}" rimosso`,toastDiscovered:`Scoperti {{count}} strumenti da "{{name}}"`,toastSleeping:`Il server "{{name}}" è in pausa`,toastConnected:`Server "{{name}}" connesso`,toastReconnected:`Server "{{name}}" riconnesso`,toastDisconnected:`Server "{{name}}" disconnesso: {{reason}}`,toastError:`Server "{{name}}" errore: {{error}}`},c={title:`Cancella l'allowlist salvata?`,body_one:`Questo rimuoverà il modello fissato per {{provider}}. Il selettore modelli tornerà al catalogo models.dev.`,body_other:`Questo rimuoverà i {{count}} modelli fissati per {{provider}}. Il selettore modelli tornerà al catalogo models.dev.`,undoHint:`Puoi annullare per 8 secondi dopo la conferma.`,keepTitle:`Mantieni allowlist (Esc)`,clearTitle:`Cancella allowlist (Invio)`,clear:`Cancella allowlist`},l={termsWarning:`Accedi con un abbonamento invece di una chiave API. Usare un abbonamento al di fuori del suo client ufficiale può violare i Termini del provider — il tuo account potrebbe essere rate-limited o bannato. Una chiave API è la via sanzionata per uso programmatico.`,signIn:`Accedi`,waitingBrowser:`In attesa del tuo accesso…`,openSignIn:`Apri pagina di accesso`,pasteLoopbackBusy:`Porta loopback occupata — incolla l'URL di reindirizzamento`,pasteCantReach:`Il browser non raggiunge questo server? Incolla l'URL di reindirizzamento`,submit:`Invia`,enterCode:`Inserisci questo codice nella pagina di verifica:`,openVerification:`Apri pagina di verifica`,waitingCode:`In attesa di autorizzazione…`,exchanging:`Scambio token…`,fetchingModels:`Recupero modelli…`,signedIn:`Accesso effettuato.`,signedInToast:`Accesso effettuato — {{provider}}`,signInFailed:`Accesso fallito`,accountCount_one:`{{count}} account salvato`,accountCount_other:`{{count}} account salvati`,active:`Attivo`,inactive:`Inattivo`,retry:`Riprova`,retryLogin:`Ri-autentica questo account`,newAccount:`Nuovo account`,aliasPlaceholder:`es. {{default}}`},u={showThinkingLabel:`Mostra i registri di ragionamento`,showThinkingHint:`Mostra i blocchi di ragionamento completati nella cronologia della chat.`,groupToolCallsLabel:`Raggruppa le chiamate agli strumenti`,groupToolCallsHint:`Raggruppa le chiamate consecutive agli strumenti in un unico indicatore.`,autoCollapseInputLabel:`Riduci l'editor sotto la cronologia`,autoCollapseInputHint:`Quando si carica una sessione con messaggi, riduci l'editor sotto la cronologia. Disattivato per impostazione predefinita — l'editor resta espanso finché non lo riduci manualmente.`,themeHeading:`Tema`,themeLight:`Chiaro`,themeDark:`Scuro`,themeSystem:`Sistema`,themeSystemHint:`Sistema segue la tua preferenza chiaro/scuro a livello di sistema operativo.`,preferencesHeading:`Preferenze`,compactDensity:`Densità compatta`,compactDensityHint:`Spaziatura più stretta in tutta la chat.`,soundOnComplete:`Suono al completamento`,soundOnCompleteHint:`Riproduci un leggero suono al termine di un'esecuzione.`,titleAnimation:`Animazione del titolo`,titleAnimationHint:`Mostra il titolo animato del terminale nella CLI.`,thinkingWordLabel:`Parola di ragionamento (CLI/TUI)`,thinkingWordHint:`Parola mostrata nel chip di stato della TUI. Una sola parola breve.`,statuslineModeLabel:`Modalità barra di stato (CLI/TUI)`,statuslineModeHint:`Densità della barra di stato della TUI.`,statuslineModeDetailed:`Dettagliata`,statuslineModeMinimum:`Minima`,statuslineModeNoColor:`Senza colore`,animationStyleLabel:`Stile di animazione (CLI/TUI)`,animationStyleHint:`Animazione del chip di lavoro della TUI.`,animationStyleRainbow:`Arcobaleno`,animationStyleWave:`Onda`,animationStylePulse:`Impulso`,animationStyleDots:`Punti`,animationStyleBreathe:`Respiro`,animationStyleStatic:`Statico`,animationStyleCycle:`Ciclo`,languageHeading:`Lingua`,languageLabel:`Lingua dell'interfaccia`,languageHint:`Modifica solo il testo dell'interfaccia. I prompt, le skill e l'output del modello non sono interessati.`,paletteHeading:`Paletta colori`,paletteSwitcherTitle:`Paletta colori`,paletteHint:`Scegli il colore principale (e le sue varianti). Le superfici neutre restano invariate.`,paletteSignal:`Segnale`,paletteEmeraldGold:`Smeraldo e oro`,paletteBlueNavy:`Blu notte`,palettePurplePink:`Viola e rosa`,paletteCyanTeal:`Ciano e turchese`,paletteRoseCopper:`Rosa e rame`,paletteIndigoAmber:`Indaco e ambra`,paletteSageSand:`Salvia e sabbia`,paletteSlateViolet:`Ardesia e violetto`,paletteCoralMint:`Corallo e menta`,paletteArcticEmber:`Artico e brace`,paletteMossRust:`Muschio e ruggine`},d={autonomyHeading:`Autonomia e Comportamento`,autonomyModeLabel:`Modalità autonomia`,autonomyModeHint:`Quanto indipendentemente l'agent procede tra i turni.`,autonomyModeOff:`Off — controllo manuale completo`,autonomyModeSuggest:`Suggerisci — suggerisce i passaggi successivi`,autonomyModeAuto:`Auto — breve ritardo di conferma`,autonomyModeEternal:`Eterno — autonomo fino al completamento dell'obiettivo`,autonomyModeEternalParallel:`Eterno Parallelo — flotta multi-agente`,autoProceedDelayLabel:`Ritardo auto-procedere`,autoProceedDelayHint:`Millisecondi prima che l'agent proceda automaticamente in modalità Auto. 0 = immediato.`,yoloLabel:`Modalità YOLO`,yoloHint:`Esegui le chiamate agli strumenti senza chiedere, tranne i tipi di danno elencati sotto.`,yoloConfirmHeading:`Chiedi comunque per`,yoloConfirmIntro:`YOLO esegue tutto il resto senza supervisione. Questi sono i tipi di danno davanti ai quali si ferma e ti chiede.`,yoloConfirmLockedNote:`Questi due chiedono sempre. Scrivono i file che decidono se ti verra chiesto qualcosa, quindi disattivarli lascerebbe all'agente spegnere il proprio sistema di approvazione.`,yoloKindLocked:`chiede sempre`,yoloKind:{"disk-wipe":{label:`Cancellare un disco`,hint:`mkfs, dd su un dispositivo raw, format C:, fork bomb`},"system-halt":{label:`Spegnere o riavviare`,hint:`shutdown, reboot`},"delete-outside":{label:`Cancellare fuori dal progetto`,hint:`cancellazione ricorsiva forzata che esce dal progetto o colpisce una radice di sistema o home`},"git-history":{label:`Riscrivere la cronologia git`,hint:`reset --hard, clean -f, push --force, filter-branch`},publish:{label:`Pubblicare o distribuire`,hint:`npm publish, docker push, kubectl delete namespace`},"download-and-run":{label:`Eseguire codice scaricato`,hint:`curl | sh e payload inline che scaricano ed eseguono`},"bulk-delete":{label:`Cancellare in massa`,hint:`find -exec rm, rmSync inline su molti percorsi`},"agent-state":{label:`Scrivere lo stato di WrongStack`,hint:`config.json, trust.json, auth.json`},"credential-bind":{label:`Legare una chiave API a un endpoint`,hint:`agganciare una chiave nota a un URL di provider`}},refineHeading:`Affinamento Prompt`,enableRefineLabel:`Abilita affinamento`,enableRefineHint:`Riscrivi i prompt prima dell'invio — istruzioni più chiare, risultati migliori.`,refineDelayLabel:`Ritardo affinamento`,refineDelayHint:`Countdown prima dell'invio automatico del prompt affinato.`,refineLanguageLabel:`Lingua affinamento`,refineLanguageHint:`Mantieni la tua lingua o traduci in inglese per il modello.`,refineLanguageOriginal:`Originale — mantieni la tua lingua`,refineLanguageEnglish:`Inglese — traduci in inglese`,refinerProviderLabel:`Provider di affinamento`,refinerProviderHint:`Id del provider per l'affinamento degli obiettivi. Vuoto = usa il provider della sessione.`,refinerProviderDefault:`Provider della sessione`,refinerModelLabel:`Modello di affinamento`,refinerModelHint:`Id del modello per l'affinamento degli obiettivi. Vuoto = usa il modello della sessione.`,refinerModelDefault:`Modello della sessione`,refinerProfileLabel:`Profilo di fallback per l'affinamento`,refinerProfileHint:`Profilo di fallback con nome per l'affinamento degli obiettivi. Sostituisce provider e modello.`,refinerProfileDefault:`Nessuno — usa provider e modello o i valori predefiniti della sessione`,reasoningHeading:`Ragionamento e Cache`,reasoningModeLabel:`Modalità ragionamento`,reasoningModeHint:`Controlla come il modello usa il pensiero esteso. Auto = default del provider.`,reasoningModeAuto:`Auto — default del provider`,reasoningModeOn:`On — forza pensiero`,reasoningModeOff:`Off — disabilita pensiero`,reasoningEffortLabel:`Sforzo di ragionamento`,reasoningEffortAuto:`Auto (generale)`,reasoningEffortAutoHint:`Impostazione generale: {{value}}`,reasoningEffortHint:`Quanto compute il modello spende per pensare. Inviato solo se il modello lo supporta.`,reasoningEffortNone:`Nessuno`,reasoningEffortMinimal:`Minimale`,reasoningEffortLow:`Basso`,reasoningEffortMedium:`Medio`,reasoningEffortHigh:`Alto`,reasoningEffortXhigh:`Molto alto`,reasoningEffortMax:`Max`,preserveThinkingLabel:`Preserva pensiero`,preserveThinkingHint:`Mantieni i blocchi di ragionamento tra i turni per la continuità del contesto.`,cacheTtlLabel:`TTL Cache`,cacheTtlHint:`Time-to-live della cache dei prompt. 1h costa di più in scrittura ma risparmia nelle riletture (Anthropic).`,cacheTtlDefault:`Default — default del provider`,cacheTtl5m:`5 minuti`,cacheTtl1h:`1 ora`,capsHint:`Usa wstack models caps per controllare cosa supporta il modello attuale. Le impostazioni non supportate sono omesse silenziosamente per richiesta.`,routingHeading:`Routing dei modelli`,routingRouteKey:`Chiave rotta modello`,routingPhasesGroup:`Fasi`,routingRolesGroup:`Ruoli {{label}}`,routingCustomGroup:`Route personalizzate esistenti`,routingTargetAria:`Destinazione della route del modello`,routingTargetEmpty:`— Cancella route —`,routingTargetProfilesGroup:`Profili di fallback`,routingTargetModelsGroup:`Modelli (provider/modello)`,routingSet:`Imposta`,routingReasoningModeAria:`Modalità ragionamento nuova rotta`,routingReasoningEffortAria:`Sforzo ragionamento nuova rotta`,routingReasoningPreserveAria:`Preservazione ragionamento nuova rotta`,routingReasoningModeFor:`Modalità ragionamento per {{key}}`,routingReasoningEffortFor:`Sforzo ragionamento per {{key}}`,routingReasoningPreserveFor:`Preservazione ragionamento per {{key}}`,noRoutes:`Nessuna rotta di modello ancora.`,leaderModel:`modello leader`,autonomyDelayMsLabel:`Ritardo di avanzamento automatico`,autonomyDelayMsHint:`Millisecondi prima che l'agente proceda automaticamente in modalità Auto. 0 = immediato.`,refineCountdownLabel:`Conto alla rovescia affinamento`,refineCountdownHint:`Periodo di grazia prima dell'invio automatico del prompt affinato (millisecondi).`,reasoningEffortModelSet:`livelli del modello attivo`,reasoningEffortUnsupported:`Non offerto da questo modello (supportati: {{levels}}) — l'impostazione verrà omessa.`},f={heading:`Esecuzione`,maxIterationsLabel:`Iterazioni max per run`,maxIterationsHint:`Limite rigido di turni LLM per agent.run().`,autoProceedMaxIterationsLabel:`Iterazioni max auto-procedere`,autoProceedMaxIterationsHint:`Ferma l'auto-procedere dopo N iterazioni. 0 = illimitato.`,confirmExitLabel:`Conferma prima di uscire`,confirmExitHint:`Primo Ctrl+C annulla il lavoro, secondo conferma l'uscita.`,chimeLabel:`Suono al completamento`,chimeHint:`Campanello del terminale quando un run dell'agent finisce.`,breakerLabel:`Interruttore di processo`,breakerHint:`Blocca bash/exec dopo errori ripetuti; lo scatto avvia il conto alla rovescia kill/reset.`,breakerTimeoutLabel:`Timeout kill/reset dell'interruttore`,breakerTimeoutHint:`Ritardo prima del kill/reset automatico allo scatto. 0 = ripristino manuale.`,availabilityHeading:`Provider/model availability calendar`,availabilityHint:`Prevent autonomous and overnight runs from using selected providers or models during recurring windows.`},p={heading:`Modelli fallback / round-robin`,body:`Quando il modello attivo è rate-limited (429/529), in errore 5xx o bloccato — dopo i suoi retry — l'agent ruota al modello successivo in questa catena. Anche usato come default per i sub-agent worker SDD.`,autoFallbackLabel:`Fallback automatico`,autoFallbackHint:`Quando la catena sopra è vuota, derivane una automaticamente dai tuoi provider con chiave.`,favoritesOnlyLabel:`Solo preferiti`,favoritesOnlyHint:`Quando il fallback automatico deriva una catena, limitala ai tuoi modelli preferiti.`,profilesHeading:`Profili fallback / round-robin`,addProfile:`Aggiungi`,noProfiles:`Nessun profilo di fallback con nome ancora.`,createDefault:`Crea default dal modello attivo`,useChain:`Usa catena`,setLeader:`Imposta leader`,profileEmpty:`Il profilo è vuoto.`,favoritesHeading:`Modelli preferiti`,favoritesEmpty:`I preferiti sono mostrati prima e possono vincolare il fallback automatico.`,addModelToProfile:`Aggiungi modello al profilo…`,addFavoriteModel:`Aggiungi modello preferito…`,inactive:`non attivo`},m={heading:`Flotta e Streaming`,fleetChatVerbosityLabel:`Stream eventi flotta`,fleetChatVerbosityHint:`Mostra l'attività live dei sub-agent nel pannello flotta.`,maxConcurrentLabel:`Sub-agent simultanei max`,maxConcurrentHint:`Numero massimo di sub-agent che possono girare simultaneamente.`,nextPredictionLabel:`Predizione prossimo passo`,nextPredictionHint:`Dopo un turno, predici i probabili passi successivi.`,nextStepsToolLabel:`Strumento nextsteps`,nextStepsToolHint:`Consente allo strumento di registrare i suggerimenti con una chiamata invece di scrivere il blocco a mano. Attivo dalla prossima sessione.`},h={hqHeading:`Client HQ`,hqPublishingLabel:`Pubblicazione HQ`,hqPublishingHint:`Pubblica questa sessione WebUI/client su WrongStack HQ. I client della stessa macchina possono auto-scoprire l'auth HQ locale; i client remoti usano URL/token sotto.`,hqUrlLabel:`URL HQ`,hqUrlHint:`Lascia vuoto per auto-scoperta su stessa macchina.`,hqTokenLabel:`Token client HQ`,hqRawContentLabel:`Contenuto HQ grezzo`,hqRawContentHint:`Invia anteprime di contenuto grezze a HQ invece di anteprime censurate.`,wrongProxyHeading:`WrongProxy / WrongTrace`,wrongProxyEnabledLabel:`Instrada gli URL base attraverso il proxy locale`,wrongProxyEnabledHint:`Quando attivo, l'URL base di ogni provider viene riscritto attraverso il proxy configurato (predefinito http://localhost:3444/proxy/<host><path>). openai-codex è escluso: parla direttamente con il backend ChatGPT tramite un token OAuth.`,wrongProxyUrlLabel:`URL del proxy`,wrongProxyUrlHint:`Dove ascolta il daemon proxy locale. Il sistema verifica periodicamente <url>/api/health; un daemon irraggiungibile disabilita la riscrittura senza riprovare a ogni pressione di tasto.`,wrongProxyChangesApply:`Le modifiche si applicano immediatamente alle richieste successive — nessun riavvio necessario.`,telegramHeading:`Notifiche Telegram`,telegramSessionEndLabel:`Fine sessione`,telegramSessionEndHint:`Invia un riepilogo quando una sessione finisce.`,telegramDelegateLabel:`Delegato terminato`,telegramDelegateHint:`Invia una nota umanizzata quando un sub-agent completa.`,telegramLongToolLabel:`Strumenti lunghi`,telegramLongToolHint:`Notifica quando uno strumento supera {{ms}}ms. 0 per disabilitare.`,telegramChangesApply:`Le modifiche si applicano immediatamente.`,telegramNotConfigured:`Telegram non è configurato. Esegui /telegram-setup nella CLI per collegare prima un bot.`,heading:`Integrations`,disabledHint:`Abilita la funzione nella scheda Contesto per usare questa sezione.`},g={chimeraDedicatedHeading:`Chimera — Post-session Code Review`,chimeraDedicatedHint:`Automated code quality review that runs after every agent session. Catches regressions, anti-patterns, and potential bugs.`,chimeraSectionEnabled:`Post-session review (Chimera)`,chimeraSectionEnabledHint:`Run a code review agent after every iteration.`,chimeraProviderLabel:`Chimera provider`,chimeraProviderHint:`Provider for the review agent. Select one from your configured providers.`,chimeraProviderSessionDefault:`Session default`,chimeraModelLabel:`Model`,chimeraModelSessionDefault:`Session default`,chimeraModelHint:`Model for the review agent. Requires a provider first.`,chimeraMaxFilesLabel:`Max files per review`,chimeraMaxFilesHint:`Maximum number of changed files included in a single review call.`,chimeraAutoFixLabel:`Auto-fix mode`,chimeraAutoFixHint:`Whether the review agent should automatically apply fixes for issues it finds.`,chimeraAutoFixOff:`Off — review only`,chimeraAutoFixAsk:`Ask — confirm before applying`,chimeraAutoFixAuto:`Auto — apply without confirmation`,autoReviewCascadeOnLabel:`Cascata a partire da`,autoReviewCascadeOnHint:`Quando una recensione trova problemi a questa gravità o superiore, avvia agenti di follow-up.`,autoReviewCascadeOnOff:`Disattivato`,autoReviewCascadeOnHigh:`Alta o superiore`,autoReviewCascadeOnCritical:`Solo critica`,chimeraPickModel:`Pick provider/model for Chimera`,chimeraPickModelHint:`Select a provider and model for post-session code review.`,autoReviewSectionEnabled:`Mid-session review (Auto-Review)`,autoReviewSectionEnabledHint:`Run a review agent mid-session on every file change.`,autoReviewFallbackProfileLabel:`Profilo fallback / round-robin`,autoReviewFallbackProfileHint:`Profilo modelli per l’auto-review; fornisce il pool di fallback e i modelli per round-robin o selezione casuale.`,autoReviewFallbackProfileNone:`None — use provider+model or session defaults`,autoReviewModelSelectionLabel:`Selezione profilo`,autoReviewModelSelectionHint:`Sceglie il modello successivo in ordine o un modello iniziale casuale per ogni revisione.`,autoReviewModelSelectionRoundRobin:`Round-robin — ordine del profilo`,autoReviewModelSelectionRandom:`Casuale — scegli dal profilo`,autoReviewFallbackModelsLabel:`Modelli fallback / round-robin`,autoReviewFallbackModelsEmpty:`Nessun modello fallback / round-robin configurato`,autoReviewFallbackModelsHint:`Modelli dal profilo o dalla catena globale; formano il pool di selezione e la catena di nuovo tentativo.`,autoReviewModelLabel:`Model`,autoReviewModelHint:`Model for the auto-review agent. Requires a provider first.`,autoReviewDebounceLabel:`Debounce interval (ms)`,autoReviewDebounceHint:`Minimum gap between review triggers after a file change.`,autoReviewMaxFilesLabel:`Max files per batch`,autoReviewMaxFilesHint:`Files per auto-review call.`,autoReviewMaxConcurrentLabel:`Max concurrent reviews`,autoReviewMaxConcurrentHint:`Parallel review subagent cap.`,autoReviewCascadeLabel:`Cascade on`,autoReviewCascadeHint:`Follow-up agent threshold — spawns security-scanner and bug-hunter above this severity.`,autoReviewCascadeOff:`Off — no cascade`,autoReviewCascadeCritical:`Critical — only critical findings`,autoReviewCascadeHigh:`High — critical or high findings`,autoReviewPickModel:`Pick provider/model for Auto-Review`,autoReviewPickModelHint:`Select a provider and model, or a named fallback profile, for mid-session auto-review.`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`},_={flagsHeading:`Flag di Funzionalità`,mcpLabel:`Server MCP`,mcpHint:`Abilita le integrazioni Model Context Protocol.`,pluginsLabel:`Plugin`,pluginsHint:`Carica ed esegui i plugin installati dall'utente.`,memoryLabel:`Memoria`,memoryHint:`Persisti e richiama fatti tra le sessioni.`,skillsLabel:`Competenze`,skillsHint:`Carica prompt di competenze specifici del dominio.`,modelsRegistryLabel:`Registro modelli`,modelsRegistryHint:`Usa il catalogo models.dev per la scoperta dei provider.`,indexOnStartLabel:`Indicizza all'avvio`,indexOnStartHint:`Costruisci l'indice dei simboli del codebase all'avvio della sessione.`,pluginsPerPluginHeading:`🔌 Per-Plugin Controls`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`,pluginChimera:`Chimera — post-session code review`,pluginSkills:`Skills — skill library & authoring`,pluginPrompts:`Prompts — prompt library & gen`,pluginCostTracker:`Cost Tracker — token & cost tracking`,pluginTelegram:`Telegram — notification bot`,pluginErrorLens:`Error Lens — failure diagnostics`,pluginSecretScanner:`Secret Scanner — credential detection`,pluginLintGate:`Lint Gate — lint before iteration`,pluginDiffSummary:`Diff Summary — compact diffs`,pluginDepGuard:`Dep Guard — dependency rules`,pluginTypeGate:`Type Gate — typecheck before iteration`,pluginInjectionShield:`Injection Shield — prompt injection`,pluginPromptFirewall:`Prompt Firewall — input filtering`,pluginTokenBudget:`Token Budget — token limits`,pluginLoopBreaker:`Loop Breaker — runaway detection`,heading:`Contesto e Debug`,autoCompactLabel:`Compatta contesto auto`,autoCompactHint:`Riduci automaticamente la finestra di contesto vicino ai limiti.`,compactorStrategyLabel:`Strategia compattazione`,compactorStrategyHint:`Come il contesto viene compattato quando cresce troppo.`,compactorStrategyHybrid:`Ibrida — regole veloci (predefinito)`,compactorStrategyIntelligent:`Intelligente — sintesi LLM`,compactorStrategySelective:`Selettiva — selezione guidata LLM`,contextModeLabel:`Modalità contesto`,contextModeHint:`Politica della finestra di contesto — bilanciato è il predefinito.`,contextModeBalanced:`Bilanciato — uso normale del contesto`,contextModeFrugal:`Frugale — uso conservativo di token`,contextModeDeep:`Profondo — contesto più ampio per attività complesse`,tokenSavingLabel:`Modalità risparmio token`,tokenSavingHint:`Controlla gli schemi diretti e il prompt di sistema della prossima sessione.`,tokenSavingAuto:`Auto — adatta il prompt alla finestra del modello`,tokenSavingOff:`Off — nessun risparmio`,tokenSavingMinimal:`Minimale — ottimizzazione di base`,tokenSavingLight:`Leggero — riduzione moderata`,tokenSavingMedium:`Medio — risparmi significativi`,tokenSavingAggressive:`Aggressivo — superficie diretta e prompt minimi`},v={logLevelLabel:`Livello di log`,logLevelHint:`Severità minima per il logging lato server.`,logLevelDebug:`Debug — tutto`,logLevelInfo:`Info — flusso normale`,logLevelWarn:`Warn — solo problemi`,logLevelError:`Error — solo fallimenti`,auditLevelLabel:`Livello di audit`,auditLevelHint:`Livello di dettaglio per i log di audit di sessione.`,auditLevelMinimal:`Minimale — solo errori`,auditLevelStandard:`Standard — chiamate strumenti + errori`,auditLevelFull:`Completo — ogni evento (log grandi)`,fsAccessLabel:`Accesso al filesystem`,fsAccessHint:`Ambito degli strumenti file. Si applica dalla prossima sessione.`,fsAccessUnrestricted:`Illimitato — qualsiasi percorso`,fsAccessProject:`Progetto — limitato alla radice del progetto`,debugStreamLabel:`Stream di debug`,debugStreamHint:`Dump esadecimale SSE grezzo su stderr del server per il debug dei provider.`,heading:`Logs & Debug`},y={heading:`Security & Monitoring`,brainHeading:`🧠 Brain — Controllo delle decisioni`,brainHint:`Modelli decisionali, council, escalation e tetto di rischio — applicati subito e salvati nella configurazione globale.`,shadowHeading:`👁 Agente ombra — Monitor della flotta`,shadowHint:`L'agente ombra monitora tutti gli agenti della flotta, ne traccia le attività e rileva le anomalie.`,toolsHeading:`🔧 Tool Access Control`,toolsHint:`Abilita o disabilita i singoli strumenti. Gli strumenti che modificano sono evidenziati in ambra.`,breakerHeading:`Process Circuit Breaker`,breakerHint:`Blocca bash/exec dopo errori ripetuti; lo scatto avvia il conto alla rovescia di arresto/ripristino.`},b={switchingTo:`Passaggio a {{provider}} / {{model}}…`,switching:`Cambio del modello…`,switchingToTarget:`Passaggio a {{target}}…`,previousModel:`modello precedente`,modelSwitchedNextRequest:`Modello cambiato: {{from}} → {{to}}. Attivo dalla prossima richiesta LLM.`,modelSwitchedRunActive:`Modello cambiato: {{from}} → {{to}}. Attivo dalla prossima richiesta LLM; l’esecuzione corrente continua senza riavviarsi.`,fallbackExists:`Il profilo di fallback "{{name}}" esiste già`,selectProviderModelFirst:`Seleziona prima un provider e un modello`,defaultProfileCreated:`Profilo di fallback predefinito creato`,profileEmpty:`Il profilo di fallback "{{name}}" è vuoto`,leaderSetFrom:`Leader impostato da {{name}}`,modelSwitchTimeout:`Cambio modello scaduto. Per favore riprova.`},x={workbenchHeading:`Aspetto del workbench`,workbenchHint:`Attiva/disattiva la visibilità delle superfici del workbench nella vista chat.`,showModelReasoningLabel:`Mostra ragionamento del modello`,showModelReasoningHint:`Renderizza i blocchi di ragionamento/thinking del LLM nella cronologia chat (parità TUI).`,showAgentSwarmPanelLabel:`Pannello agent swarm`,showAgentSwarmPanelHint:`Controlla dove viene visualizzato il pannello agent swarm (fleet + coda missioni).`,swarmPanelBottom:`Pannello inferiore`,swarmPanelSidebar:`Barra laterale destra`,swarmPanelOff:`Disattivato`,titleAnimationLabel:`Animazione del titolo`,titleAnimationHint:`Anima il titolo del terminale/scheda con lo stato di esecuzione (parità TUI).`,keyboardShortcutsLabel:`Scorciatoie da tastiera`,keyboardShortcutsHint:`Abilita le scorciatoie da tastiera globali (Ctrl+K, Alt+1..4, ecc.). Disattivato per impostazione predefinita.`,statusChipHeading:`Chip di stato e barra di stato`,statusChipHint:`Stile visivo per la barra di stato TUI/CLI e il chip di lavoro.`,thinkingWordLabel:`Parola di ragionamento`,thinkingWordHint:`Singola parola breve mostrata nel chip di stato TUI mentre l’agente lavora.`,statuslineModeLabel:`Modalità barra di stato`,statuslineModeHint:`Densità della barra di stato TUI.`,statuslineModeMinimum:`Minima`,statuslineModeDetailed:`Dettagliata`,statuslineModeNoColor:`Senza colore`,animationStyleLabel:`Stile di animazione`,animationStyleHint:`Animazione del chip di lavoro TUI.`,animationStyleRainbow:`Arcobaleno`,animationStyleWave:`Onda`,animationStylePulse:`Impulso`,animationStyleDots:`Punti`,animationStyleBreathe:`Respiro`,animationStyleStatic:`Statico`,animationStyleCycle:`Ciclo`,refineHeading:`Conto alla rovescia del refine e diff`,refineHint:`Configura il conto alla rovescia pre-refine e la soglia del piè di pagina del riepilogo multi-diff.`,preRefineSecondsLabel:`Conto alla rovescia pre-refine`,preRefineSecondsHint:`Periodo di grazia prima dell’avvio del refiner (secondi). 0 = salta il conto alla rovescia e raffina subito.`,preRefineSecondsPresets:`Predefiniti: {{presets}} secondi (0 = disattivato).`,multiDiffSummaryLabel:`Riepilogo multi-diff`,multiDiffSummaryHint:`Numero minimo di file prima che il piè di pagina aggregato 'N file · +X -Y' appaia sopra i blocchi per file.`,multiDiffSummaryPresets:`Predefiniti: {{presets}} (0 = disattivato).`,memoryHeading:`Strumento read e iniezione di memoria SAGE`,memoryHint:`Attiva cosa include lo strumento read e quando i blocchi di memoria SAGE compaiono nei risultati degli strumenti.`,readSymbolsLabel:`Leggi simboli`,readSymbolsHint:`Quando attivo, lo strumento read include i simboli dell’indice del codice insieme al contenuto del file.`,showSageMemoryInjectLabel:`Mostra SAGE Memory Inject`,showSageMemoryInjectHint:`Quando attivo, mostra i blocchi di iniezione di memoria SAGE nei risultati degli strumenti.`,sageMemoryInjectThresholdLabel:`Soglia SAGE Memory Inject`,sageMemoryInjectThresholdHint:`Forza minima di relazione richiesta per una memoria SAGE iniettata (0.72–0.95).`,footnote:`Queste impostazioni riflettono il picker /settings della TUI. Gli interruttori si applicano subito; alcuni campi richiedono il riavvio della sessione.`,sageRelaxed:`0,72 (permissivo)`,sageDefault:`0,85 (predefinito)`,sageStrict:`0,95 (rigoroso)`},S=`Ripristina`,C=`Annulla`,w=`Ripristinare tutte le preferenze?`,T=`Ripristina le impostazioni predefinite e ricarica la pagina.`,E=`Ripristina`,D=JSON.parse(`{"heading":"Brain","headingHint":"Modelli di decisione, consiglio, escalation e tetto di rischio — applicati in tempo reale, salvati nella configurazione globale.","riskHeading":"Tetto di autonomia","escalationHeading":"Escalation","escalationModeLabel":"Modalità","escalationModeHint":"Headless: il Brain non blocca mai su un umano — le escalation senza risposta si risolvono con la policy terminale sicura. Vale per le sessioni CLI/TUI; il Brain WebUI autonomo è sempre headless.","escalationDecisionTimeoutLabel":"Timeout decisione","escalationDecisionTimeoutHint":"Budget di tempo per chiamata LLM per una decisione del Brain.","escalationHumanTimeoutLabel":"Timeout risposta umana","escalationHumanTimeoutHint":"Modalità interattiva: quanto può attendere un prompt di escalation prima che la policy terminale lo risolva.","escalationTerminalPolicyLabel":"Policy terminale","escalationTerminalPolicyHint":"Come si risolve un'escalation headless senza umano disponibile. Conservativa accetta un'opzione raccomandata a rischio basso/medio; nega-tutto non accetta mai automaticamente; continua-su-raccomandazione accetta un'opzione raccomandata a QUALSIASI rischio.","escalationDecisionLogSizeLabel":"Dimensione registro decisioni","escalationDecisionLogSizeHint":"Registro decisionale in memoria rotativo conservato per la vista di stato.","rulesHeading":"Regole deterministiche","rulesConfigured":"{{count}} configurate","rulesBody":"Valutate prima di ogni chiamata al provider — vince la prima corrispondenza. Modificale nel file di configurazione globale; questa vista è in sola lettura.","rulesOff":"spenta","rulesDropped":"{{count}} regola/e scartata/e","heuristicsHeading":"Euristiche","heuristicsBody":"Congetture di pattern gratuite che risolvono una domanda prima che un modello venga eseguito. Tutte attive per impostazione predefinita — spegni quella la cui congettura è sbagliata per il tuo carico di lavoro.","heuristicsLowRiskLabel":"Risposta automatica a basso rischio","heuristicsLowRiskHint":"Risponde automaticamente alle richieste a basso rischio che hanno già un'opzione raccomandata.","heuristicsBlockedLabel":"Bloccato-risolto","heuristicsBlockedHint":"'blocked …' più un marcatore di risoluzione esplicito nel contesto risolve in continua.","heuristicsDeadlockLabel":"Salta stallo","heuristicsDeadlockHint":"'deadlock' più unità di lavoro fallite nel contesto risolve in salta e continua.","heuristicsRetryLabel":"Riprovi esauriti","heuristicsRetryHint":"'failed'/'retry' più ripetizioni chiaramente esaurite marca l'unità come fallita e prosegue.","heuristicsPingLabel":"Ping di continuazione","heuristicsPingHint":"Un semplice ping continua/procedi senza alternative in competizione risolve in continua.","heuristicsMarkers":"Marcatori: {{markers}}","qualityHeading":"Qualità LLM","qualityCircuit_one":"circuito {{state}} · {{count}} errore","qualityCircuit_other":"circuito {{state}} · {{count}} errori","qualityResponseBudgetLabel":"Budget di risposta","qualityResponseBudgetHint":"Token di output per chiamata di decisione. Una risposta del Brain è una decisione più una motivazione di una frase.","qualityRejectLabel":"Rifiuta risposte incerte","qualityRejectHint":"Tratta una risposta rifiutata o vuota come 'questo livello non ha potuto decidere' invece di accettarla come risposta.","qualityMinConfidenceLabel":"Confidenza minima","qualityMinConfidenceHint":"Rifiuta le risposte la cui confidenza auto-dichiarata è inferiore. Le risposte senza confidenza dichiarata passano sempre.","qualityDenyTerminalLabel":"Il rifiuto è terminale","qualityDenyTerminalHint":"Se un rifiuto del livello LLM singolo termina la decisione. 'when-decided' rende terminale un vero rifiuto mentre i guasti infrastrutturali escalano comunque.","traceHeading":"Traccia di replay","traceRecordLabel":"Registra tracce di decisione","traceRecordHint":"JSONL per decisione di ogni livello, obiettivo di pool e voto del consiglio, con tempi e uso token. Disattivato di default — attivarlo scrive il contenuto delle decisioni su disco.","traceContentLabel":"Contenuto traccia","traceContentHint":"'full' conserva domanda e contesto (necessario per riprodurre una decisione); 'redacted' tronca il testo libero; 'none' registra solo i metadati.","cacheHeading":"Cache decisionale","cacheStats":"{{hits}} successi / {{misses}} mancati · {{size}} attivi","cacheReplayLabel":"Riproduci verdetti identici","cacheReplayHint":"Riutilizza un precedente verdetto consiglio/LLM per una domanda identica ripetuta. I livelli deterministici e chiedi-a-un-umano non vengono mai memorizzati; una decisione che il registro osserva fallita viene espulsa.","cacheLifetimeLabel":"Durata voci","cacheLifetimeHint":"Per quanto tempo un verdetto in cache resta riproducibile.","cacheMaxEntriesLabel":"Voci massime","cacheMaxEntriesHint":"Limite sui verdetti in cache attivi.","monitorHeading":"Monitor","monitorBody":"Auto-attivazione da segnali di sofferenza. Il monitor viene costruito una volta all'avvio, quindi queste impostazioni valgono per la prossima sessione anziché in tempo reale.","monitorWatchLabel":"Osserva i segnali di sofferenza","monitorWatchHint":"Serie di errori di strumenti, tempeste di errori, stalli degli agenti e churn di file attivano il Brain da soli.","monitorPolicyLabel":"Policy dei segnali","monitorPolicyHint":"Come si risolve un segnale rilevato. 'llm' consulta il Brain; 'steer' interviene sempre e 'observe' mai — entrambi senza chiamata al provider.","modelsHeading":"Modelli di decisione","modelsSessionBadge":"modello di sessione","modelsResolvedBadge":"{{resolved}}/{{total}} risolti","modelsUseSessionLabel":"Usa il modello di sessione","modelsUseSessionHint":"Decidi con il modello che la sessione sta eseguendo. Spegni aggiungendo modelli sotto.","modelsAddModel":"Aggiungi modello","modelsPoolStrategyLabel":"Strategia di pool","modelsPoolStrategyHint":"Fallback: il primo modello è primario, gli altri vengono provati in ordine al fallimento. Round-robin: le decisioni ruotano nel pool.","councilHeading":"Consiglio","councilConvened":"convocato","councilDisabled":"disattivato","councilEnableLabel":"Abilita consiglio multi-LLM","councilEnableHint":"Le domande ad alto rischio vengono votate da seggi indipendenti (esecutore / scettico-con-veto / revisore) invece che da un solo modello. Richiede ≥2 votanti risolvibili (seggi espliciti sotto, o un pool di ≥2 modelli).","councilSeatsDerived":"Seggi derivati dal pool: {{seats}}","councilCustomLens":"Lente di decisione personalizzata — inviata al seggio tale e quale.","councilCustomOption":"{{persona}} (personalizzato)","councilVeto":"veto","councilAddVoter":"Aggiungi votante","councilRiskFloorLabel":"Pavimento di rischio","councilRiskFloorHint":"Rischio minimo della domanda che convoca il consiglio invece del livello mono-modello.","councilJudge":"Giudice","councilJudgeDesc":"Modello di spareggio che vede la motivazione di ogni voto.","councilResolved":"risolto: {{model}}","councilAlsoVoter":"⚠ anche votante","councilAuto":"auto","councilPick":"Scegli…","councilAutoReset":"Auto","councilQuorumLabel":"Quorum","councilQuorumHint":"Frazione di seggi che deve restituire un voto valido.","councilApprovalLabel":"Approvazione","councilApprovalHint":"Frazione del peso dei voti espressi che l'opzione vincente deve superare.","councilPerSeatTimeoutLabel":"Timeout per seggio","councilPerSeatTimeoutHint":"Budget di tempo per il voto di un singolo seggio. Più lento del timeout di decisione significa che un seggio bloccato trattiene il voto.","councilMaxConcurrencyLabel":"Concorrenza massima","councilMaxConcurrencyHint":"Quanti seggi votano in parallelo. Riduci quando il pool condivide un provider con limiti di velocità.","councilDistinctnessLabel":"Distinzione seggi","councilDistinctnessHint":"Rifiuta seggi duplicati: 'model' richiede modelli distinti, 'provider' provider indipendenti così un guasto non può far pendere il voto.","councilVoterBudgetLabel":"Budget di risposta votante","councilVoterBudgetHint":"Token di output per chiamata di seggio — i modelli di ragionamento spendono i token di pensiero da questo budget.","councilRoundsLabel":"Turni di deliberazione","councilRoundsHint":"Il turno 1 è indipendente. Nei turni successivi ogni seggio vede i voti degli altri e può rivedere la propria posizione. Viene conteggiato solo l’ultimo turno e ogni turno costa una chiamata in più per seggio.","councilJudgeBudgetLabel":"Budget di risposta giudice","councilJudgeBudgetHint":"Token di output per la chiamata del giudice di spareggio.","councilSeatTemplate":"Modello di seggio:","ledgerHeading":"Registro decisionale","ledgerRecordLabel":"Registra decisioni + risultati","ledgerRecordHint":"Persiste ogni decisione e il suo risultato osservato; risultati passati simili vengono reimmessi nei prompt futuri del Brain.","ledgerAutoDenyLabel":"Auto-rifiuto dopo fallimenti","ledgerAutoDenyHint":"Rifiuta in modo deterministico (senza LLM) dopo che questo numero di approvazioni consecutive di un gruppo di decisioni è terminato in fallimenti osservati.","ledgerMemoryEntriesLabel":"Voci in memoria","ledgerMemoryEntriesHint":"Dimensione dell'anello in memoria e numero di voci passate caricate dal disco all'avvio.","ledgerRetryWindowLabel":"Finestra di nuovo intervento","ledgerRetryWindowHint":"Un intervento del monitor dello stesso tipo che si riattiva in questa finestra marca la precedente guida come fallita.","recentHeading":"Decisioni recenti ({{count}})","recentEmpty":"Nessuna decisione registrata in questa sessione.","optInteractive":"Interattivo (chiedimi)","optHeadless":"Headless (non chiedere mai)","optConservative":"Conservativo (predefinito)","optDenyAll":"Nega tutto","optContinueRecommended":"Continua su raccomandazione","optNeverDefault":"Mai (predefinito)","optWhenDecided":"Quando deciso","optAlways":"Sempre","optFullDefault":"Completo (predefinito)","optRedacted":"Oscurato","optMetadataOnly":"Solo metadati","optConsultBrain":"Consulta il Brain (predefinito)","optAlwaysSteer":"Guida sempre","optObserveOnly":"Solo osservazione","optFallback":"Fallback","optRoundRobin":"Round-robin","optMediumPlus":"Medio+","optHighPlus":"Alto+","optCriticalOnly":"Solo critico","optNoneDefault":"Nessuno (predefinito)","optDistinctModels":"Modelli distinti","optDistinctProviders":"Provider distinti","optDefault3":"Predefinito (3)","optOff":"Spento","pickPoolTitle":"Aggiungi modello al pool Brain","pickPoolHint":"Pool decisionale ordinato — il primo è primario.","pickVoterTitle":"Aggiungi votante al consiglio","pickVoterHint":"La finestra resta aperta — aggiungi ≥2 votanti, poi chiudi.","pickJudgeTitle":"Scegli il giudice del consiglio","pickJudgeHint":"Spareggio che vede ogni voto.","persistError":"Impostazioni applicate in tempo reale ma non salvate.","riskCopy":{"off":"Un umano decide tutto","low":"Decidi automaticamente solo il basso rischio","medium":"Decidi automaticamente fino al rischio medio","high":"Decidi automaticamente fino al rischio alto","all":"Decidi automaticamente tutto"},"rulesConfigured_one":"{{count}} configurata","rulesConfigured_other":"{{count}} configurate"}`),O={default15s:`Predefinito (15 s)`,waitForever:`Attendi per sempre`,defaultHalf:`Predefinito (0,5)`,all:`Tutti`,n200Default:`200 (predefinito)`,offDefault:`Disattivato (predefinito)`,n20Default:`20 (predefinito)`,m5Default:`5 min (predefinito)`,default:`Predefinito`,oneSerial:`1 (seriale)`,roundsOff:`1 (nessuna deliberazione)`,default500:`Predefinito (500)`,default10m:`Predefinito (10 min)`},k={capToolCall:`Chiamata a strumento`,capReasoning:`Ragionamento`,capTemperature:`Temperatura`,capAttachment:`Allegato`,capStructuredOutput:`Output strutturato`,capOpenWeights:`Pesi aperti`},A={presetsHeading:`Set di caratteri`,presetsHint:`Un set imposta tutti i ruoli insieme; i caratteri vengono scaricati solo al primo utilizzo.`,presets:{workbench:{label:`Banco di lavoro`,description:`L’aspetto predefinito del banco di lavoro.`},plex:{label:`IBM Plex`,description:`Un’unica famiglia tecnica dall’inizio alla fine.`},modern:{label:`Moderno`,description:`Inter neutro con JetBrains Mono per il codice.`},geist:{label:`Geist`,description:`Abbinamento netto di Geist Sans e Mono.`},classic:{label:`Classico`,description:`Source Sans, Serif e Code Pro di Adobe.`},editorial:{label:`Editoriale`,description:`Titoli con grazie e un carattere da libro per la chat.`},readable:{label:`Leggibile`,description:`Caratteri molto leggibili per sessioni lunghe.`},friendly:{label:`Amichevole`,description:`Forme arrotondate e rilassate con Fira Code.`},monospace:{label:`Monospaziato`,description:`Monospaziato ovunque, stile terminale.`},system:{label:`Sistema`,description:`Caratteri del sistema operativo, nessun download.`}},rolesHeading:`Caratteri per ruolo`,rolesHint:`Sostituisci qualsiasi ruolo sopra il set. I ruoli segnati «Come …» seguono il ruolo principale.`,roles:{ui:{label:`Interfaccia e pannelli`,hint:`Pulsanti, menu, barre laterali, elenchi e impostazioni.`},display:{label:`Titoli`,hint:`Titoli di pagina e di sezione.`},reading:{label:`Chat e documenti`,hint:`Risposte dell’assistente, markdown e messaggi della casella.`},code:{label:`Codice in linea e dati`,hint:`Blocchi di codice, log, ID e dati tabellari.`},editor:{label:`Editor di codice`,hint:`Editor di file Monaco e vista delle differenze.`},terminal:{label:`Terminale`,hint:`Sessioni del terminale integrato.`}},fromPreset:`Set ({{name}})`,inherit:`Come {{role}} ({{name}})`,categories:{sans:`Senza grazie`,serif:`Con grazie`,mono:`Monospaziato`},systemTag:`sistema`,sizeHeading:`Dimensione e spaziatura`,sizeHint:`La dimensione del testo dell’interfaccia scala tutti i pannelli; editor e terminale si impostano in pixel.`,sizePresets:{compact:`Compatto`,normal:`Normale`,comfortable:`Comodo`,large:`Grande`,custom:`Personalizzato`},controls:{uiScale:{label:`Dimensione del testo dell’interfaccia`,hint:`Scala il testo di pannelli, chat e finestre di dialogo.`},editorFontSize:{label:`Dimensione carattere dell’editor`,hint:`Editor Monaco e vista delle differenze.`},codeLineHeight:{label:`Interlinea del codice`,hint:`Editor, vista delle differenze e blocchi di codice.`},terminalFontSize:{label:`Dimensione carattere del terminale`,hint:`Terminale integrato.`},terminalLineHeight:{label:`Interlinea del terminale`,hint:`Spaziatura delle righe nel terminale.`},ligatures:{label:`Legature del codice`,hint:`Unisce => !== >= in un unico glifo nei caratteri che le supportano (Fira Code, Cascadia, JetBrains Mono…). Non si applica al terminale.`}},previewHeading:`Anteprima dal vivo`,preview:{heading:`Rifattorizza il caricatore di sessione`,body:`L’agente ha letto 12 file e proposto una modifica in due passaggi. Controlla le differenze prima di applicarla.`,label:`Etichetta di interfaccia`},resetAll:`Ripristina tutte le impostazioni dei caratteri`,resetOverrides:`Cancella le sostituzioni per ruolo`},j={description:`Manage the decision provider and see where Jev is used.`,loading:`Loading Jev settings…`,timeout:`No response from server. Reconnect and retry.`,route:`Decision provider`,routeChange:`Changing provider clears the previous key, endpoint and model. Enter a new key or use the provider environment variable.`,key:`API key`,keyHint:`Leave blank to keep the current key`,removeKey:`Remove saved key (environment key may still apply)`,endpoint:`Endpoint override`,model:`Model override`,defaultHint:`Empty uses provider default`,requestTimeout:`Request timeout (ms)`,featureHint:`Switches permit Jev usage. Actual use also depends on the prerequisites and triggers below.`,save:`Save Jev settings`,test:`Test saved connection`,testHint:`The test sends one small billed request. Save changes first. Restart existing sessions to apply all consumers.`,activity:`Jev activity`,activityHint:`Refreshes every 3 seconds. Last 300 requests in this server process, across its sessions. No prompts, credentials or raw errors. Disk log rotates at 5 MB. Answered means a typed response, not necessarily a decision accepted by the consumer.`,filter:`Feature`,all:`All`,empty:`No matching Jev requests yet. Test the connection or use an enabled feature.`,features:{brain:`Brain decisions`,memoryTriage:`Memory triage`,topicShift:`Topic changes`,memoryRecall:`Memory recall`,compaction:`Context compaction`,kanbanVerify:`Kanban verification`,modelTier:`Subagent model tier`,semanticLint:`Semantic lint`,tool:`Strumento decisionale per agenti`,skillSuggestion:`Skill suggestions`,fleetDispatch:`Fleet dispatch`},readinessScope:`These are saved profile conditions, not the live state of every session. A request below means the service was called, not that its answer was accepted.`,unknownReadiness:`Readiness unavailable on this server`,unsaved:`Unsaved change`,lastRequest:`Last runtime request`,notObserved:`No runtime request in the displayed recent log.`,contextStrategy:`Profile compaction strategy`,contextScope:`Selective enables the Jev selection path. Save changes and restart existing sessions; a session-specific strategy can override this profile setting.`,openContext:`Open session context settings`,configureTiers:`Configure model tiers`,tiersHint:`Enable tiers and define at least two levels, cheapest first. Set their models or fallback profiles and a default tier. Changes here save immediately.`,checkHeading:`Live capability checks`,checkHint:`Runs 22 synthetic cases across all 11 features using the saved account, including disabled features. Makes billed API calls, sends no project content and changes no feature settings. Passing does not prove workload quality or that a session uses the feature.`,checkAll:`Test all 11 features`,checkRunning:`Running live checks…`,expected:`Expected`,actual:`Actual`,includeChecks:`Include diagnostic requests`,selfTest:`Diagnostic`,account:{ready:`Account configured`,unconfigured:`Account required`,unusable:`Account settings invalid`},readiness:{disabled:`Disabled`,"account-required":`Account required`,blocked:`Setup required`,conditional:`Configured · waiting for trigger`},reasons:{disabled:`This feature is not permitted to use Jev.`,"account-required":`Configure a valid Jev account first.`,"selective-required":`Jev selection requires selective compaction; hybrid and intelligent do not use this selector.`,"tiers-disabled":`The model tier system is disabled.`,"tiers-required":`Define at least two model tiers.`,"skills-disabled":`The global skills feature is disabled.`,"trigger-required":`Runs only when its trigger conditions are met.`,"memory-disabled":`Memory or SAGE is disabled.`,"recall-injection-required":`SAGE turn context recall is disabled; the Jev recall filter requires this path.`},triggers:{brain:`Runs before later decision tiers; uncertain answers defer.`,memoryTriage:`Runs during triage value evaluation and merge decisions.`,topicShift:`Runs when topic-change prechecks require a judgment; repeated results may be cached.`,memoryRecall:`Filters candidates returned by SAGE turn context recall; cached judgments are reused.`,compaction:`Rates middle conversation turns during selective compaction; requires a provider and sufficient history.`,kanbanVerify:`Judges open agent-type criteria against changed files and their diff.`,modelTier:`Suggests a tier for delegations with no explicit model/tier and no matching role/phase route.`,semanticLint:`Runs when the semantic lint command finds candidates; it is not an automatic edit watcher.`,tool:`Si attiva quando un agente chiama jev con prove e domande tipizzate.`,skillSuggestion:`Requires skills enabled, at least two skills, and gate/fit thresholds; results may be cached.`,fleetDispatch:`Runs only for ambiguous routing with multiple candidate roles.`},recallTurnContext:`SAGE turn context recall`,recallTurnHint:`Adds relevant memories to each new turn; the Jev recall filter runs on this path. Memory and SAGE must also be enabled. Save and restart existing sessions.`},M={title:e,subtitle:t,tabs:n,model:r,connection:i,provider:a,providerModels:o,mcp:s,allowlist:c,oauth:l,general:u,agent:d,execution:f,fallbacks:p,fleet:m,integrations:h,features:g,context:_,logs:v,security:y,toast:b,display:x,resetLabel:S,cancel:C,resetConfirmTitle:w,resetConfirmBody:T,resetConfirmAction:E,brain:D,brainOpt:O,modelSchema:k,fonts:A,jev:j};export{d as agent,c as allowlist,D as brain,O as brainOpt,C as cancel,i as connection,_ as context,M as default,x as display,f as execution,p as fallbacks,g as features,m as fleet,A as fonts,u as general,h as integrations,j as jev,v as logs,s as mcp,r as model,k as modelSchema,l as oauth,a as provider,o as providerModels,E as resetConfirmAction,T as resetConfirmBody,w as resetConfirmTitle,S as resetLabel,y as security,t as subtitle,n as tabs,e as title,b as toast};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`Settings`,t=`Configure every aspect of your agent workspace`,n={general:`General`,provider:`Provider`,connection:`Connections`,agent:`Agent`,execution:`Execution`,fallbacks:`Fallbacks`,routing:`Routing`,fleet:`Fleet`,integrations:`Integrations`,chimera:`Chimera`,context:`Context`,logs:`Logs`,security:`Security`,display:`Display`,displayDesc:`Workbench chrome, status chip, refine timers, and tool/memory injection toggles — mirrors the TUI SettingsPicker.`,generalDesc:`Appearance, language, and display preferences — mirrors the TUI SettingsPicker.`,providerDesc:`API keys, saved providers, and the provider catalog.`,connectionDesc:`WebSocket server URL and connection health.`,agentDesc:`Autonomy, prompt refinement, reasoning, and model routing.`,executionDesc:`Iteration caps, exit behavior, and process circuit breaker.`,fallbacksDesc:`Model fallback chain, favorites, and named fallback profiles.`,routingDesc:`Per-phase and per-role model route matrix.`,fleetDesc:`Subagent concurrency, streaming, and next-step prediction.`,integrationsDesc:`HQ client, MCP servers, and Telegram notifications.`,chimeraDesc:`Post-session code review agent configuration.`,contextDesc:`Feature flags, context strategy, compactor, and plugin controls.`,logsDesc:`Log level, audit detail, filesystem access scope, and debug stream.`,securityDesc:`Brain decision control, shadow agent, and tool access.`,fonts:`Fonts`,fontsDesc:`Interface, chat, editor and terminal fonts; size, line height, and ligatures.`,jev:`Jev`,jevDesc:`TypeSafe / Jev`},r={themeHeading:`Theme`,themeLight:`Light`,themeDark:`Dark`,themeSystem:`System`,themeSystemHint:`System follows your OS-level light/dark preference.`,preferencesHeading:`Display Preferences`,compactDensity:`Compact density`,compactDensityHint:`Tighter spacing throughout the chat.`,soundOnComplete:`Sound on completion`,soundOnCompleteHint:`Play a soft chime when a run finishes.`,titleAnimation:`Title animation`,titleAnimationHint:`Show animated terminal title in the CLI.`,showThinkingLabel:`Show thinking logs`,showThinkingHint:`Display completed reasoning blocks in the chat history.`,groupToolCallsLabel:`Group tool calls`,groupToolCallsHint:`Collapse consecutive tool calls into a single chip.`,autoCollapseInputLabel:`Auto-collapse input under history`,autoCollapseInputHint:`When a session with messages loads, collapse the composer under the history. Off by default — input stays expanded until you collapse it manually.`,languageHeading:`Language`,languageLabel:`Interface language`,languageHint:`Changes only the interface text. Prompts, skills, and model output are not affected.`,statuslineModeLabel:`Statusline mode (CLI/TUI)`,statuslineModeHint:`Density of the TUI statusline.`,statuslineModeDetailed:`Detailed`,statuslineModeMinimum:`Minimum`,statuslineModeNoColor:`No color`,animationStyleLabel:`Animation style (CLI/TUI)`,animationStyleHint:`Animation for the TUI working-state chip.`,animationStyleRainbow:`Rainbow`,animationStyleWave:`Wave`,animationStylePulse:`Pulse`,animationStyleDots:`Dots`,animationStyleBreathe:`Breathe`,animationStyleStatic:`Static`,animationStyleCycle:`Cycle`,thinkingWordLabel:`Thinking word (CLI/TUI)`,thinkingWordHint:`Word shown in the TUI status chip. Single short word.`,paletteHeading:`Color palette`,paletteSwitcherTitle:`Color palette`,paletteHint:`Pick the main color (and its derivatives). Neutral surfaces stay the same.`,paletteSignal:`Signal`,paletteEmeraldGold:`Emerald & Gold`,paletteBlueNavy:`Blue Navy`,palettePurplePink:`Purple & Pink`,paletteCyanTeal:`Cyan & Teal`,paletteRoseCopper:`Rose & Copper`,paletteIndigoAmber:`Indigo & Amber`,paletteSageSand:`Sage & Sand`,paletteSlateViolet:`Slate & Violet`,paletteCoralMint:`Coral & Mint`,paletteArcticEmber:`Arctic & Ember`,paletteMossRust:`Moss & Rust`},i={heading:`Model`,loading:`Loading models...`,notFound:`No models found for this provider. The catalog might be empty or still loading.`,selectProviderFirst:`Select a provider first`,context:`{{count}}k context`},a={providerHealth:{heading:`Provider Health`,hint:`Which provider/model pairs are healthy, degraded, or blocked — and why.`,refresh:`Refresh`,empty:`No providers tracked yet.`,summary:`{{blocked}} blocked · {{degraded}} degraded · {{healthy}} healthy`,totalFailures:`failures`,rateLimits:`rate limits`,state:{blocked:`Blocked`,degraded:`Degraded`,healthy:`Healthy`},blocked:`Blocked`,degraded:`Degraded`,consecutive:`consecutive failures`,retryNow:`Retry now`,clear:`Clear`,allHealthy:`All tracked providers are healthy.`,statSuccesses:`successes`,statFailures:`failures`,statRateLimits:`rate limits`,statConsecutive:`consecutive`,lastError:`Last error`,recentErrors:`Recent errors`,autoRecovery:`Auto-recovers at`,expired:`Expired`,remainingSecs:`{{secs}}s`,remainingMins:`{{mins}}m`,remainingHours:`{{hours}}h {{mins}}m`,explainHealthy:`Responding normally.`,explain402:`Billing limit reached (402). Blocked for ~15 minutes until quota resets.`,explain403quota:`Usage limit reached for this billing cycle. Blocked until the next cycle resets (~15 min).`,explain403auth:`Permission/auth error. Non-retryable — check your API key and access rights.`,explain429:`Rate limit hit (429). Temporary throttle — recovers automatically.`,explain529:`Server overloaded (529). The provider is under heavy load.`,explain5xx:`Server error ({{status}}). Temporary backend issue.`,explainNetwork:`Network unreachable. Check your internet or the provider's status page.`,explainTimeout:`Request timed out (408). The provider was slow to respond.`,explainStreamHang:`Stream stalled (599). The provider stopped mid-response.`,explainQuota:`Quota exhausted. Blocked until the reset window.`,explainUnknown:`Failure kind: {{kind}} / status: {{status}}.`},wsUrlLabel:`WebSocket Server URL`,wsUrlPlaceholder:`ws://localhost:3456`,wsUrlHint:`URL of the agent WebSocket server. The server runs alongside the CLI.`,startingHeading:`Starting the WebSocket Server`,startingBody:`For development, run ./dev.ps1 from the repo root (optionally set WS_HOST/WS_PORT first). Otherwise launch the WebUI with the CLI: wstack --webui.`,healthHeading:`Connection health`,healthHint:`Live ownership, storage, queue, watcher, and latency report for project services.`,healthRefresh:`Refresh`,healthLoading:`Checking services…`,healthUnknown:`Health unknown`,healthDisconnected:`The WebUI WebSocket is disconnected.`,healthRestartRequired:`Restart the backend once to activate connection health reporting.`,healthOptional:`On demand`,endpointInvalidBadge:`socket path too long`,endpointInvalidRemedy:`The IPC socket path exceeds this platform's length limit, so the shared daemon cannot start. Queries fall back to a slower process-local mode. Remedy: set a shorter TMPDIR (e.g. export TMPDIR=/tmp) and restart WrongStack.`,healthCounts:`{{healthy}} healthy · {{attention}} attention · {{sleeping}} sleeping`,healthOverall:{healthy:`Required services healthy`,degraded:`Required service degraded`,error:`Required service unavailable`},healthStatus:{healthy:`Healthy`,degraded:`Degraded`,offline:`Sleeping`,unavailable:`Unavailable`,error:`Error`},services:{kanban:{label:`Kanban IPC`},mailbox:{label:`Mailbox IPC`}},serviceActionRestart:`Restart {{label}}`,webuiTransport:`WebUI transport`,serviceAutoRestarting:`Auto-restarting…`},o={removeProfileConfirm:`Remove auth profile “{{alias}}” and all its keys?`,removeProfileBody:`Saved credentials and references to this account in model routing will be removed.`,deleteKeyConfirm:`Delete key “{{label}}” from “{{alias}}”?`,addProfile:`Add account / auth profile`,profileAlias:`Auth profile alias`,profileHint:`Each account has its own alias and credential. Fallback targets are alias/model.`,profileExists:`Auth profile “{{alias}}” already exists. Choose another alias.`,operationTimeout:`No response from the server. Check the connection and try again.`,subscriptionHeading:`Subscription login`,apiKeysHeading:`API key providers`,apiKeysBody:`Pick a provider from the catalog and add an API key, or manage saved providers.`,tabCatalog:`Catalog`,tabSaved:`Saved ({{count}})`,searchPlaceholder:`Search {{count}} providers (name / id / family)…`,loadingCatalog:`Loading catalog...`,noMatch:`No providers match "{{query}}".`,configured:`Configured`,reachable:`Reachable`,envVar:`ENV: {{var}}`,modelCount_one:`{{count}} model`,modelCount_other:`{{count}} models`,keyPlaceholder:`{{name}} API key`,orEnv:`Or set {{env}} in the environment instead.`,addApiKey:`Add API key`,manageKeys:`Manage your API keys and provider configurations`,addProvider:`Add Provider`,addCustomHeading:`Add Custom Provider`,localServers:`Local servers — click to pre-fill:`,providerIdPlaceholder:`Provider ID (e.g. my-llm-server)`,apiKeyOptionalPlaceholder:`API Key (optional)`,noSaved:`No saved providers yet`,noSavedHint:`Add a provider to get started`,apiKeysLabel:`API Keys`,savedProviderCount_one:`{{count}} provider`,savedProviderCount_other:`{{count}} providers`,keyCount_one:`{{count}} key configured`,keyCount_other:`{{count}} keys configured`,activeKeyCount_one:`{{count}} active key`,activeKeyCount_other:`{{count}} active keys`,addKey:`Add Key`,noKeys:`No keys configured`,active:`Active`,setActive:`Set Active`,keyLabelPlaceholder:`Key label (e.g. default, production)`,apiKeyPlaceholder:`API key`,saveKey:`Save Key`,savedToast:`Saved key for {{name}}`},s={addCustom:`Add custom model`,addCustomTitle:`Add custom model`,addFromCatalog:`Add from catalog`,catalogSearchPlaceholder:`Search models.dev catalog…`,catalogSearchTitle:`Search models.dev catalog`,colActions:`Actions`,colCaps:`Capabilities`,colContext:`Context`,colCost:`Cost`,colModalities:`Modalities`,colModel:`Model`,colOutput:`Output`,colSource:`Source`,editModel:`Edit model`,emptyState:`No models yet — add from the catalog or create a custom model.`,fieldContext:`Context window`,fieldCostInput:`Input cost`,fieldCostOutput:`Output cost`,fieldDescription:`Description`,fieldFamily:`Family`,fieldInputLimit:`Input limit`,fieldInputModalities:`Input modalities`,fieldLastUpdated:`Last updated`,fieldName:`Name`,fieldOutput:`Max output`,fieldOutputModalities:`Output modalities`,fieldReleaseDate:`Release date`,modelAdded:`Added {{model}}`,modelRemoved:`Removed {{model}}`,modelSaved:`Saved {{model}}`,noResults:`No models found`,removeModel:`Remove model`,sectionCapabilities:`Capability flags`,sectionDates:`Dates`,sectionIdentity:`Identity`,sectionLimits:`Limits`,sectionModalities:`Modalities`,sectionPricing:`Pricing (per 1M tokens, USD)`,tabForm:`Form`,tabRawJson:`Raw JSON`,typeToSearch:`Type to search the catalog…`,useModel:`Use {{model}}`,usingModel:`Using {{model}}`,filterPlaceholder:`Filter models…`},c={status:{connected:`Connected`,connecting:`Connecting`,sleeping:`Sleeping`,discovering:`Discovering`,error:`Error`,stopped:`Stopped`,unknown:`Unknown`},disabled:`MCP servers are disabled.`,wakeTitle:`Wake server`,sleepTitle:`Sleep server`,discoverTitle:`Discover tools`,editTitle:`Edit`,removeTitle:`Remove`,statusLabel:`Status:`,enabledLabel:`Enabled:`,yes:`Yes`,no:`No`,descriptionLabel:`Description:`,pidLabel:`PID:`,errorLabel:`Error:`,toolsLabel:`Tools ({{count}}):`,noTools:`No tools discovered yet`,serverNameRequired:`Server name is required`,dialogTitleEdit:`Edit MCP Server`,dialogTitleAdd:`Add MCP Server`,dialogTitleAddCustom:`Add Custom MCP Server`,fieldName:`Name`,fieldNamePlaceholder:`e.g., github, filesystem`,fieldTransport:`Transport`,fieldUrl:`URL`,fieldCommand:`Command`,fieldCommandPlaceholder:`e.g., npx`,fieldArgs:`Args`,fieldArgsHint:`(space-separated)`,fieldArgsPlaceholder:`e.g., -y @modelcontextprotocol/server-github`,fieldEnv:`Env vars`,fieldEnvHint:`(KEY=value, one per line)`,fieldDescription:`Description`,fieldDescriptionPlaceholder:`GitHub MCP server for repository access`,enableServer:`Enable server`,lazyConnect:`Lazy connect`,lazyConnectHint:`(don't start until first tool call; auto-sleeps when idle)`,saveChanges:`Save Changes`,addServer:`Add Server`,requires:`Requires: {{vars}}`,added:`Added`,heading:`MCP Servers`,summary:`{{connected}} connected · {{sleeping}} sleeping · {{total}} total`,addCustom:`Add Custom`,tabRecommended:`Recommended`,tabServers:`Servers`,tabAddCustom:`Add Custom`,recommendedBody:`One-click add for popular MCP servers. Click Add to pre-fill the configuration, then confirm. Servers requiring credentials will need their env vars set before use.`,loadingServers:`Loading servers...`,noServers:`No MCP servers configured`,noServersHint:`Switch to the Recommended tab to add popular servers, or Add Custom for your own.`,addCustomBody:`Configure a custom MCP server with stdio, SSE, or HTTP transport.`,addCustomBodyHint:`For popular servers, use the Recommended tab instead — everything is pre-configured for you.`,removeConfirmTitle:`Remove server "{{name}}"?`,removeConfirmBody:`This removes the MCP server from your configuration.`,toastAdded:`Server "{{name}}" added`,toastRemoved:`Server "{{name}}" removed`,toastDiscovered:`Discovered {{count}} tools from "{{name}}"`,toastSleeping:`Server "{{name}}" is now sleeping`,toastConnected:`Server "{{name}}" connected`,toastReconnected:`Server "{{name}}" reconnected`,toastDisconnected:`Server "{{name}}" disconnected: {{reason}}`,toastError:`Server "{{name}}" error: {{error}}`},l={title:`Clear saved allowlist?`,body_one:`This will remove the pinned model for {{provider}}. The model picker will fall back to the models.dev catalog.`,body_other:`This will remove the {{count}} pinned models for {{provider}}. The model picker will fall back to the models.dev catalog.`,undoHint:`You can undo this for 8 seconds after confirming.`,keepTitle:`Keep the allowlist (Esc)`,clearTitle:`Clear the allowlist (Enter)`,clear:`Clear allowlist`},u={termsWarning:`Sign in with a subscription instead of an API key. Using a subscription outside its official client may violate the provider's Terms — your account could be rate-limited or banned. An API key is the sanctioned path for programmatic use.`,signIn:`Sign in`,waitingBrowser:`Waiting for you to sign in…`,openSignIn:`Open sign-in page`,pasteLoopbackBusy:`Loopback port busy — paste the redirect URL`,pasteCantReach:`Browser can't reach this server? Paste the redirect URL`,submit:`Submit`,enterCode:`Enter this code at the verification page:`,openVerification:`Open verification page`,waitingCode:`Waiting for authorization…`,exchanging:`Exchanging tokens…`,fetchingModels:`Fetching models…`,signedIn:`Signed in.`,signedInToast:`Signed in — {{provider}}`,signInFailed:`Sign-in failed`,accountCount_one:`{{count}} account saved`,accountCount_other:`{{count}} accounts saved`,active:`Active`,inactive:`Inactive`,retry:`Retry`,retryLogin:`Re-authenticate this account`,newAccount:`New account`,aliasPlaceholder:`e.g. {{default}}`},d={autonomyHeading:`Autonomy & Behavior`,autonomyModeLabel:`Autonomy mode`,autonomyModeHint:`How independently the agent proceeds between turns.`,autonomyModeOff:`Off — full manual control`,autonomyModeSuggest:`Suggest — suggests next steps`,autonomyModeAuto:`Auto — brief confirmation delay`,autonomyModeEternal:`Eternal — autonomous until goal done`,autonomyModeEternalParallel:`Eternal Parallel — multi-agent fleet`,autoProceedDelayLabel:`Auto-proceed delay`,autoProceedDelayHint:`Milliseconds before the agent auto-proceeds in Auto mode. 0 = immediate.`,yoloLabel:`YOLO mode`,yoloHint:`Run tool calls without asking — except the damaging kinds listed below.`,yoloConfirmHeading:`Still ask about`,yoloConfirmIntro:`YOLO runs everything else unattended. These are the kinds of damage it stops and asks you about first.`,yoloConfirmLockedNote:`These two always ask. They write the files that decide whether you get asked at all, so turning them off would let the agent switch its own approval system off.`,yoloKindLocked:`always asks`,yoloKind:{"disk-wipe":{label:`Wipe a disk`,hint:`mkfs, dd to a raw device, format C:, fork bomb`},"system-halt":{label:`Shut down or restart`,hint:`shutdown, reboot`},"delete-outside":{label:`Delete outside the project`,hint:`recursive force-delete that leaves the project, or hits a system or home root`},"git-history":{label:`Rewrite git history`,hint:`reset --hard, clean -f, push --force, filter-branch`},publish:{label:`Publish or deploy`,hint:`npm publish, docker push, kubectl delete namespace`},"download-and-run":{label:`Run downloaded code`,hint:`curl | sh, and inline payloads that fetch then execute`},"bulk-delete":{label:`Delete in bulk`,hint:`find -exec rm, inline rmSync across many paths`},"agent-state":{label:`Write WrongStack's own state`,hint:`config.json, trust.json, auth.json`},"credential-bind":{label:`Bind an API key to an endpoint`,hint:`attaching a well-known key to a provider URL`}},refineHeading:`Prompt Refinement`,enableRefineLabel:`Enable refine`,enableRefineHint:`Rewrite prompts before sending — clearer instructions, better results.`,refineDelayLabel:`Refine delay`,refineDelayHint:`Countdown before the refined prompt auto-sends.`,refineLanguageLabel:`Refine language`,refineLanguageHint:`Keep your language or translate to English for the model.`,refineLanguageOriginal:`Original — keep your language`,refineLanguageEnglish:`English — translate to English`,refinerProviderLabel:`Refiner provider`,refinerProviderHint:`Provider for goal refinement. Select one from your configured providers.`,refinerProviderDefault:`Session provider`,refinerModelLabel:`Refiner model`,refinerModelHint:`Model for goal refinement. Requires a refiner provider first.`,refinerModelDefault:`Session model`,refinerProfileLabel:`Refiner fallback profile`,refinerProfileHint:`Named fallback profile for goal refinement. Overrides provider+model.`,refinerProfileDefault:`None — use provider+model or session defaults`,reasoningHeading:`Reasoning & Cache`,reasoningModeLabel:`Reasoning mode`,reasoningModeHint:`Control how the model uses extended thinking. Auto = provider default.`,reasoningModeAuto:`Auto — provider default`,reasoningModeOn:`On — force thinking on`,reasoningModeOff:`Off — force thinking off`,reasoningEffortLabel:`Reasoning effort`,reasoningEffortAuto:`Auto (general)`,reasoningEffortAutoHint:`Project setting: {{value}}`,reasoningEffortHint:`How much compute the model spends thinking. Only sent when the model supports it.`,reasoningEffortNone:`None`,reasoningEffortMinimal:`Minimal`,reasoningEffortLow:`Low`,reasoningEffortMedium:`Medium`,reasoningEffortHigh:`High`,reasoningEffortXhigh:`Extra High`,reasoningEffortMax:`Max`,preserveThinkingLabel:`Preserve thinking`,preserveThinkingHint:`Keep reasoning blocks across turns for context continuity.`,cacheTtlLabel:`Cache TTL`,cacheTtlHint:`Prompt cache time-to-live. 1h costs more on write but saves on repeat reads (Anthropic).`,cacheTtlDefault:`Default — provider default`,cacheTtl5m:`5 minutes`,cacheTtl1h:`1 hour`,capsHint:`Use wstack models caps to check what the current model supports. Unsupported settings are silently omitted per-request.`,routingHeading:`Model Routing`,routingRouteKey:`Route key`,routingPhasesGroup:`Phases`,routingRolesGroup:`Roles — {{label}}`,routingCustomGroup:`Existing custom routes`,routingTargetAria:`Model route target`,routingTargetEmpty:`— Clear route —`,routingTargetProfilesGroup:`Fallback Profiles`,routingTargetModelsGroup:`Models (provider/model)`,routingSet:`Set`,routingReasoningModeAria:`New route reasoning mode`,routingReasoningEffortAria:`New route reasoning effort`,routingReasoningPreserveAria:`New route reasoning preservation`,routingReasoningModeFor:`Reasoning mode for {{key}}`,routingReasoningEffortFor:`Reasoning effort for {{key}}`,routingReasoningPreserveFor:`Reasoning preservation for {{key}}`,noRoutes:`No model routes yet.`,leaderModel:`leader model`,autonomyDelayMsLabel:`Auto-proceed delay`,autonomyDelayMsHint:`Milliseconds before the agent auto-proceeds in Auto mode. 0 = immediate.`,refineCountdownLabel:`Refine countdown`,refineCountdownHint:`Grace period before the refined prompt auto-sends (milliseconds).`,reasoningEffortModelSet:`levels offered by the active model`,reasoningEffortUnsupported:`Not offered by this model (supported: {{levels}}) — the setting will be omitted.`},f={heading:`Execution`,maxIterationsLabel:`Max iterations per run`,maxIterationsHint:`Hard cap on LLM turns per agent.run().`,autoProceedMaxIterationsLabel:`Auto-proceed max iterations`,autoProceedMaxIterationsHint:`Stop auto-proceed after N iterations. 0 = unlimited.`,confirmExitLabel:`Confirm before exit`,confirmExitHint:`First Ctrl+C aborts work, second confirms exit.`,chimeLabel:`Chime on completion`,chimeHint:`Terminal bell when an agent run finishes.`,breakerLabel:`Process circuit breaker`,breakerHint:`Gate bash/exec after repeated failures; trips arm the kill/reset countdown.`,breakerTimeoutLabel:`Breaker kill/reset timeout`,breakerTimeoutHint:`Delay before automatic kill/reset when the breaker trips. 0 = manual recovery.`,availabilityHeading:`Provider/model availability calendar`,availabilityHint:`Prevent autonomous and overnight runs from using selected providers or models during recurring windows.`},p={chimeraDedicatedHeading:`Chimera — Post-session Code Review`,chimeraDedicatedHint:`Automated code quality review that runs after every agent session. Catches regressions, anti-patterns, and potential bugs.`,chimeraSectionEnabled:`Post-session review (Chimera)`,chimeraSectionEnabledHint:`Run a code review agent after every iteration.`,chimeraProviderLabel:`Chimera provider`,chimeraProviderHint:`Provider for the review agent. Select one from your configured providers.`,chimeraProviderSessionDefault:`Session default`,chimeraModelLabel:`Model`,chimeraModelSessionDefault:`Session default`,chimeraModelHint:`Model for the review agent. Requires a provider first.`,chimeraMaxFilesLabel:`Max files per review`,chimeraMaxFilesHint:`Maximum number of changed files included in a single review call.`,chimeraAutoFixLabel:`Auto-fix mode`,chimeraAutoFixHint:`Whether the review agent should automatically apply fixes for issues it finds.`,chimeraAutoFixOff:`Off — review only`,chimeraAutoFixAsk:`Ask — confirm before applying`,chimeraAutoFixAuto:`Auto — apply without confirmation`,autoReviewCascadeOnLabel:`Cascade on`,autoReviewCascadeOnHint:`When a review finds issues at or above this severity, spawn follow-up agents.`,autoReviewCascadeOnOff:`Off`,autoReviewCascadeOnHigh:`High or above`,autoReviewCascadeOnCritical:`Critical only`,chimeraPickModel:`Pick provider/model for Chimera`,chimeraPickModelHint:`Select a provider and model for post-session code review.`,autoReviewSectionEnabled:`Mid-session review (Auto-Review)`,autoReviewSectionEnabledHint:`Run a review agent mid-session on every file change.`,autoReviewFallbackProfileLabel:`Fallback / Round-robin profile`,autoReviewFallbackProfileHint:`Named model profile for auto-review. It supplies the fallback pool and the models used by round-robin or random selection.`,autoReviewFallbackProfileNone:`None — use provider+model or session defaults`,autoReviewModelSelectionLabel:`Profile selection`,autoReviewModelSelectionHint:`Choose the next profile model in order, or pick a random starting model for each review.`,autoReviewModelSelectionRoundRobin:`Round-robin — iterate in profile order`,autoReviewModelSelectionRandom:`Random — pick from the profile`,autoReviewFallbackModelsLabel:`Fallback / Round-robin models`,autoReviewFallbackModelsEmpty:`No fallback / round-robin models configured`,autoReviewFallbackModelsHint:`Models resolved from the selected profile or global chain; they form both the selection pool and the retry chain.`,autoReviewModelLabel:`Model`,autoReviewModelHint:`Model for the auto-review agent. Requires a provider first.`,autoReviewDebounceLabel:`Debounce interval (ms)`,autoReviewDebounceHint:`Minimum gap between review triggers after a file change.`,autoReviewMaxFilesLabel:`Max files per batch`,autoReviewMaxFilesHint:`Files per auto-review call.`,autoReviewMaxConcurrentLabel:`Max concurrent reviews`,autoReviewMaxConcurrentHint:`Parallel review subagent cap.`,autoReviewCascadeLabel:`Cascade on`,autoReviewCascadeHint:`Follow-up agent threshold — spawns security-scanner and bug-hunter above this severity.`,autoReviewCascadeOff:`Off — no cascade`,autoReviewCascadeCritical:`Critical — only critical findings`,autoReviewCascadeHigh:`High — critical or high findings`,autoReviewPickModel:`Pick provider/model for Auto-Review`,autoReviewPickModelHint:`Select a provider and model, or a named fallback profile, for mid-session auto-review.`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`},m={heading:`Fallback / Round-robin Models`,body:`These ordered model chains support failover and profile-based round-robin selection. On rate limits, 5xx errors, or stalls, the agent retries on the next available model.`,autoFallbackLabel:`Auto fallback`,autoFallbackHint:`When the chain above is empty, auto-derive one from your keyed providers.`,favoritesOnlyLabel:`Favorites only`,favoritesOnlyHint:`When auto fallback derives a chain, restrict it to your favorite models.`,profilesHeading:`Fallback / Round-robin Profiles`,addProfile:`Add`,noProfiles:`No named fallback profiles yet.`,createDefault:`Create default from active model`,useChain:`Use chain`,setLeader:`Set leader`,profileEmpty:`Profile is empty.`,favoritesHeading:`Favorite Models`,favoritesEmpty:`Favorites are shown first and can constrain auto fallback.`,addModelToProfile:`Add model to profile…`,addFavoriteModel:`Add favorite model…`,inactive:`inactive`},h={heading:`Fleet & Streaming`,fleetChatVerbosityLabel:`Stream fleet events`,fleetChatVerbosityHint:`Show live subagent activity in the fleet panel.`,maxConcurrentLabel:`Max concurrent subagents`,maxConcurrentHint:`Maximum number of subagents that can run simultaneously.`,nextPredictionLabel:`Next-step prediction`,nextPredictionHint:`After a turn completes, predict likely next steps.`,nextStepsToolLabel:`Nextsteps tool`,nextStepsToolHint:`Let the agent record its follow-up suggestions with a tool call instead of writing the block by hand. Applies to the next session.`},g={heading:`Integrations`,hqHeading:`HQ Client`,hqPublishingLabel:`HQ publishing`,hqPublishingHint:`Publish this WebUI/client session to WrongStack HQ.`,hqUrlLabel:`HQ URL`,hqUrlHint:`Leave empty for same-machine auto-discovery.`,hqTokenLabel:`HQ client token`,hqRawContentLabel:`Raw HQ content`,hqRawContentHint:`Send raw content previews to HQ instead of redacted previews.`,wrongProxyHeading:`WrongProxy / WrongTrace`,wrongProxyEnabledLabel:`Route base URLs through the local proxy`,wrongProxyEnabledHint:`When enabled, every provider's base URL is rewritten through the configured proxy (default http://localhost:3444/proxy/<host><path>). openai-codex is excluded — it talks directly to the ChatGPT backend with an OAuth-issued token.`,wrongProxyUrlLabel:`Proxy URL`,wrongProxyUrlHint:`Where the local proxy daemon listens. The system periodically probes <url>/api/health; an unreachable daemon disables rewriting without retrying every keystroke.`,wrongProxyChangesApply:`Changes apply immediately to subsequent requests — no restart needed.`,telegramHeading:`Telegram Notifications`,telegramSessionEndLabel:`Session end`,telegramSessionEndHint:`Send a summary when a session ends.`,telegramDelegateLabel:`Delegate finished`,telegramDelegateHint:`Send a humanized note when a subagent completes.`,telegramLongToolLabel:`Long-running tools`,telegramLongToolHint:`Notify when a tool exceeds {{ms}}ms. Set 0 to disable.`,telegramChangesApply:`Changes apply immediately.`,telegramNotConfigured:`Telegram is not configured.`,disabledHint:`Enable the feature in the Context tab to use this section.`},_={heading:`Context & Memory`,flagsHeading:`Feature Flags`,memoryLabel:`Memory`,memoryHint:`Persist and recall facts across sessions.`,skillsLabel:`Skills`,skillsHint:`Load domain-specific skill prompts.`,indexOnStartLabel:`Index on start`,indexOnStartHint:`Build the codebase symbol index at session start.`,mcpLabel:`MCP servers`,mcpHint:`Enable Model Context Protocol integrations.`,pluginsLabel:`Plugins`,pluginsHint:`Load and run user-installed plugins.`,modelsRegistryLabel:`Models registry`,modelsRegistryHint:`Use the models.dev catalog for provider discovery.`,autoCompactLabel:`Auto-compact context`,autoCompactHint:`Automatically trim the context window when near limits.`,compactorStrategyLabel:`Compactor strategy`,compactorStrategyHint:`How the context is compacted when it grows too large.`,compactorStrategyHybrid:`Hybrid — fast rules (default)`,compactorStrategyIntelligent:`Intelligent — LLM summarization`,compactorStrategySelective:`Selective — LLM-driven selection`,contextModeLabel:`Context mode`,contextModeHint:`Context window policy — balanced is the default.`,contextModeBalanced:`Balanced — normal context usage`,contextModeFrugal:`Frugal — conservative token use`,contextModeDeep:`Deep — larger context for complex tasks`,tokenSavingLabel:`Token-saving mode`,tokenSavingHint:`Controls the next session's direct tool schemas and system prompt size.`,tokenSavingAuto:`Auto — adapt prompt to the model window`,tokenSavingOff:`Off — no token saving`,tokenSavingMinimal:`Minimal — basic optimization`,tokenSavingLight:`Light — moderate reduction`,tokenSavingMedium:`Medium — significant savings`,tokenSavingAggressive:`Aggressive — smallest direct surface and prompt`,pluginsPerPluginHeading:`🔌 Per-Plugin Controls`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`,pluginChimera:`Chimera — post-session code review`,pluginSkills:`Skills — skill library & authoring`,pluginPrompts:`Prompts — prompt library & gen`,pluginCostTracker:`Cost Tracker — token & cost tracking`,pluginTelegram:`Telegram — notification bot`,pluginErrorLens:`Error Lens — failure diagnostics`,pluginSecretScanner:`Secret Scanner — credential detection`,pluginLintGate:`Lint Gate — lint before iteration`,pluginDiffSummary:`Diff Summary — compact diffs`,pluginDepGuard:`Dep Guard — dependency rules`,pluginTypeGate:`Type Gate — typecheck before iteration`,pluginInjectionShield:`Injection Shield — prompt injection`,pluginPromptFirewall:`Prompt Firewall — input filtering`,pluginTokenBudget:`Token Budget — token limits`,pluginLoopBreaker:`Loop Breaker — runaway detection`},v={heading:`Logs & Debug`,logLevelLabel:`Log level`,logLevelHint:`Minimum severity for server-side logging.`,logLevelDebug:`Debug — everything`,logLevelInfo:`Info — normal flow`,logLevelWarn:`Warn — problems only`,logLevelError:`Error — failures only`,auditLevelLabel:`Audit level`,auditLevelHint:`Detail level for session audit logs.`,auditLevelMinimal:`Minimal — errors only`,auditLevelStandard:`Standard — tool calls + errors`,auditLevelFull:`Full — every event (large logs)`,fsAccessLabel:`Filesystem access`,fsAccessHint:`Scope of the file tools. Applies on the next session.`,fsAccessUnrestricted:`Unrestricted — any path`,fsAccessProject:`Project — confined to project root`,debugStreamLabel:`Debug stream`,debugStreamHint:`Raw SSE hex-dump to the server stderr for provider debugging.`},y={heading:`Security & Monitoring`,brainHeading:`🧠 Brain — Decision Control`,brainHint:`Decision models, council, escalation and risk ceiling — applied live, saved to the global config.`,shadowHeading:`👁 Shadow Agent — Fleet Monitor`,shadowHint:`The Shadow Agent monitors all fleet agents, tracks their tasks, and detects anomalies.`,toolsHeading:`🔧 Tool Access Control`,toolsHint:`Enable or disable individual tools. Mutating tools are marked in amber.`,breakerHeading:`Process Circuit Breaker`,breakerHint:`Gate bash/exec after repeated failures; trips arm the kill/reset countdown.`},b={switchingTo:`Switching to {{provider}} / {{model}}…`,switching:`Switching model…`,switchingToTarget:`Switching to {{target}}…`,previousModel:`previous model`,modelSwitchedNextRequest:`Model switched: {{from}} → {{to}}. Active for the next LLM request.`,modelSwitchedRunActive:`Model switched: {{from}} → {{to}}. Active for the next LLM request; the current run continues and is not restarted.`,fallbackExists:`Fallback profile "{{name}}" already exists`,selectProviderModelFirst:`Select a provider and model first`,defaultProfileCreated:`Default fallback profile created`,profileEmpty:`Fallback profile "{{name}}" is empty`,leaderSetFrom:`Leader set from {{name}}`,modelSwitchTimeout:`Model switch timed out. Please try again.`},x={workbenchHeading:`Workbench chrome`,workbenchHint:`Toggle visibility of workbench surfaces in the chat view.`,showModelReasoningLabel:`Show model reasoning`,showModelReasoningHint:`Render LLM reasoning/thinking blocks in chat history (TUI parity).`,showAgentSwarmPanelLabel:`Agent swarm panel`,showAgentSwarmPanelHint:`Controls where the agent swarm (fleet + mission queue) is displayed.`,swarmPanelBottom:`Bottom panel`,swarmPanelSidebar:`Right sidebar`,swarmPanelOff:`Off`,titleAnimationLabel:`Title animation`,titleAnimationHint:`Animate the terminal/tab title with run-state status (TUI parity).`,keyboardShortcutsLabel:`Keyboard shortcuts`,keyboardShortcutsHint:`Enable global keyboard shortcuts (Ctrl+K, Alt+1..4, Vim keys, etc.). Off by default.`,statusChipHeading:`Status chip & statusline`,statusChipHint:`Visual style for the TUI/CLI statusline and working-state chip.`,thinkingWordLabel:`Thinking word`,thinkingWordHint:`Single short word shown in the TUI status chip while the agent is working.`,statuslineModeLabel:`Statusline mode`,statuslineModeHint:`Density of the TUI statusline rail.`,statuslineModeMinimum:`Minimum`,statuslineModeDetailed:`Detailed`,statuslineModeNoColor:`No color`,animationStyleLabel:`Animation style`,animationStyleHint:`Animation for the TUI working-state chip.`,animationStyleRainbow:`Rainbow`,animationStyleWave:`Wave`,animationStylePulse:`Pulse`,animationStyleDots:`Dots`,animationStyleBreathe:`Breathe`,animationStyleStatic:`Static`,animationStyleCycle:`Cycle`,refineHeading:`Refine countdown & diffs`,refineHint:`Configure the pre-refine grace countdown and the multi-diff summary footer cutoff.`,preRefineSecondsLabel:`Pre-refine countdown`,preRefineSecondsHint:`Grace period before the refiner starts (seconds). 0 = skip the countdown and refine immediately.`,preRefineSecondsPresets:`Presets: {{presets}} seconds (0 = off).`,multiDiffSummaryLabel:`Multi-diff summary`,multiDiffSummaryHint:`Minimum number of files before the aggregate 'N files · +X -Y' footer is shown above per-file blocks.`,multiDiffSummaryPresets:`Presets: {{presets}} (0 = off).`,memoryHeading:`Read tool & SAGE memory injection`,memoryHint:`Toggle what the read tool includes and when SAGE memory blocks are surfaced in tool results.`,readSymbolsLabel:`Read symbols`,readSymbolsHint:`When true, the read tool includes codebase-index symbols alongside file content.`,showSageMemoryInjectLabel:`Show SAGE Memory Inject`,showSageMemoryInjectHint:`When true, surface SAGE memory-injection blocks in tool results.`,sageMemoryInjectThresholdLabel:`SAGE Memory Inject threshold`,sageMemoryInjectThresholdHint:`Minimum relation strength required for an injected SAGE memory (0.72–0.95).`,footnote:`Settings here mirror the TUI /settings picker. Toggles apply live; some fields require a session restart.`,sageRelaxed:`0.72 (relaxed)`,sageDefault:`0.85 (default)`,sageStrict:`0.95 (strict)`},S=`Reset`,C=`Cancel`,w=`Reset all preferences?`,T=`This restores default settings and reloads the page.`,E=`Reset`,D={heading:`Brain`,headingHint:`Decision models, council, escalation and risk ceiling — applied live, saved to the global config.`,riskHeading:`Autonomy ceiling`,escalationHeading:`Escalation`,escalationModeLabel:`Mode`,escalationModeHint:`Headless: the Brain never blocks on a human — unanswered escalations resolve via the safe terminal policy. Applies to CLI/TUI sessions; the standalone WebUI Brain is always headless.`,escalationDecisionTimeoutLabel:`Decision timeout`,escalationDecisionTimeoutHint:`Per-LLM-call time budget for one Brain decision.`,escalationHumanTimeoutLabel:`Human answer timeout`,escalationHumanTimeoutHint:`Interactive mode: how long an escalation prompt may wait before the terminal policy resolves it.`,escalationTerminalPolicyLabel:`Terminal policy`,escalationTerminalPolicyHint:`How a headless escalation resolves with no human available. Conservative accepts a recommended option at low/medium risk; deny-all never auto-accepts; continue-on-recommended accepts a recommended option at ANY risk.`,escalationDecisionLogSizeLabel:`Decision log size`,escalationDecisionLogSizeHint:`Rolling in-memory decision log kept for the status view.`,rulesHeading:`Deterministic rules`,rulesConfigured:`{{count}} configured`,rulesBody:`Evaluated before any provider call — first match wins. Edit them in the global config file; this view is read-only.`,rulesOff:`off`,rulesDropped:`{{count}} rule(s) dropped`,heuristicsHeading:`Heuristics`,heuristicsBody:`Free pattern guesses that settle a question before any model runs. All on by default — turn one off when its guess is wrong for your workload.`,heuristicsLowRiskLabel:`Low-risk auto-answer`,heuristicsLowRiskHint:`Auto-answer low-risk requests that already carry a recommended option.`,heuristicsBlockedLabel:`Blocked-resolved`,heuristicsBlockedHint:`'blocked …' plus an explicit resolution marker in the context resolves to continue.`,heuristicsDeadlockLabel:`Deadlock skip`,heuristicsDeadlockHint:`'deadlock' plus failed work units in the context resolves to skip and continue.`,heuristicsRetryLabel:`Retry exhausted`,heuristicsRetryHint:`'failed'/'retry' plus demonstrably exhausted retries marks the unit failed and moves on.`,heuristicsPingLabel:`Continue ping`,heuristicsPingHint:`A bare continue/proceed ping with no competing alternative resolves to continue.`,heuristicsMarkers:`Markers: {{markers}}`,qualityHeading:`LLM quality`,qualityCircuit_one:`circuit {{state}} · {{count}} fail`,qualityCircuit_other:`circuit {{state}} · {{count}} fails`,qualityResponseBudgetLabel:`Response budget`,qualityResponseBudgetHint:`Output tokens per decision call. A Brain response is one decision plus a one-sentence rationale.`,qualityRejectLabel:`Reject uncertain answers`,qualityRejectHint:`Treat a declined or empty response as 'this tier could not decide' instead of accepting it as an answer.`,qualityMinConfidenceLabel:`Minimum confidence`,qualityMinConfidenceHint:`Reject answers whose self-reported confidence is below this. Responses reporting no confidence always pass.`,qualityDenyTerminalLabel:`Deny is terminal`,qualityDenyTerminalHint:`Whether a deny from the single-LLM tier ends the decision. 'when-decided' makes a genuine refusal terminal while infrastructure failures still escalate.`,traceHeading:`Replay trace`,traceRecordLabel:`Record decision traces`,traceRecordHint:`Per-decision JSONL of every tier, pool target and council vote, with timings and token usage. Off by default — enabling it writes decision content to disk.`,traceContentLabel:`Trace content`,traceContentHint:`'full' keeps question and context (needed to replay a decision); 'redacted' truncates free text; 'none' records metadata only.`,cacheHeading:`Decision cache`,cacheStats:`{{hits}} hit / {{misses}} miss · {{size}} live`,cacheReplayLabel:`Replay identical verdicts`,cacheReplayHint:`Reuse a previous council/LLM verdict for an identical repeated question. Deterministic tiers and ask-human are never cached; a decision the ledger observes to have failed is evicted.`,cacheLifetimeLabel:`Entry lifetime`,cacheLifetimeHint:`How long a cached verdict stays replayable.`,cacheMaxEntriesLabel:`Maximum entries`,cacheMaxEntriesHint:`Cap on live cached verdicts.`,monitorHeading:`Monitor`,monitorBody:`Distress-signal self-activation. The monitor is built once at boot, so these apply to the next session rather than live.`,monitorWatchLabel:`Watch for distress signals`,monitorWatchHint:`Tool-failure streaks, error storms, agent stalls and file churn engage the Brain on their own.`,monitorPolicyLabel:`Signal policy`,monitorPolicyHint:`How a detected signal resolves. 'llm' consults the Brain; 'steer' always intervenes and 'observe' never does — both without a provider call.`,modelsHeading:`Decision models`,modelsSessionBadge:`session model`,modelsResolvedBadge:`{{resolved}}/{{total}} resolved`,modelsUseSessionLabel:`Use session model`,modelsUseSessionHint:`Decide with whatever model the session is running. Turn off by adding models below.`,modelsAddModel:`Add model`,modelsPoolStrategyLabel:`Pool strategy`,modelsPoolStrategyHint:`Fallback: first model is primary, the rest are tried in order on failure. Round-robin: decisions rotate across the pool.`,councilHeading:`Council`,councilConvened:`convened`,councilDisabled:`disabled`,councilEnableLabel:`Enable multi-LLM council`,councilEnableHint:`High-stakes questions are voted on by independent seats (executor / skeptic-with-veto / auditor) instead of one model. Needs ≥2 resolvable voters (explicit seats below, or a ≥2-model pool).`,councilSeatsDerived:`Seats derived from the pool: {{seats}}`,councilCustomLens:`Custom decision lens — sent to the seat verbatim.`,councilCustomOption:`{{persona}} (custom)`,councilVeto:`veto`,councilAddVoter:`Add voter`,councilRiskFloorLabel:`Risk floor`,councilRiskFloorHint:`Minimum question risk that convenes the council instead of the single-model tier.`,councilJudge:`Judge`,councilJudgeDesc:`Tie-breaker model that sees every vote's rationale.`,councilResolved:`resolved: {{model}}`,councilAlsoVoter:`⚠ also a voter`,councilAuto:`auto`,councilPick:`Pick…`,councilAutoReset:`Auto`,councilQuorumLabel:`Quorum`,councilQuorumHint:`Fraction of seats that must return a valid vote.`,councilApprovalLabel:`Approval`,councilApprovalHint:`Fraction of cast vote weight the winning option must exceed.`,councilPerSeatTimeoutLabel:`Per-seat timeout`,councilPerSeatTimeoutHint:`Time budget for a single seat's vote. Slower than the decision timeout means one stalled seat holds up the vote.`,councilMaxConcurrencyLabel:`Max concurrency`,councilMaxConcurrencyHint:`How many seats vote in parallel. Lower this when the pool shares one rate-limited provider.`,councilDistinctnessLabel:`Seat distinctness`,councilDistinctnessHint:`Reject duplicate seats: 'model' requires distinct models, 'provider' requires independent providers so one outage cannot sway the vote.`,councilVoterBudgetLabel:`Voter response budget`,councilVoterBudgetHint:`Output tokens per seat call — reasoning models spend thinking tokens from this budget.`,councilRoundsLabel:`Deliberation rounds`,councilRoundsHint:`Round 1 is independent. Later rounds show each seat the others’ ballots so it can revise. Only the last round is tallied — and every round costs one more call per seat.`,councilJudgeBudgetLabel:`Judge response budget`,councilJudgeBudgetHint:`Output tokens for the tie-breaking judge call.`,councilSeatTemplate:`Seat template:`,ledgerHeading:`Decision ledger`,ledgerRecordLabel:`Record decisions + outcomes`,ledgerRecordHint:`Persists every decision and its observed outcome; similar past outcomes are fed back into future Brain prompts.`,ledgerAutoDenyLabel:`Auto-deny after failures`,ledgerAutoDenyHint:`Deny deterministically (no LLM) once this many consecutive approvals of a decision group ended in observed failures.`,ledgerMemoryEntriesLabel:`In-memory entries`,ledgerMemoryEntriesHint:`Ring size held in memory, and the number of past entries seeded from disk at boot.`,ledgerRetryWindowLabel:`Intervention retry window`,ledgerRetryWindowHint:`A same-kind monitor intervention re-firing inside this window marks the previous steer as a failure.`,recentHeading:`Recent decisions ({{count}})`,recentEmpty:`No decisions recorded yet this session.`,optInteractive:`Interactive (ask me)`,optHeadless:`Headless (never ask)`,optConservative:`Conservative (default)`,optDenyAll:`Deny all`,optContinueRecommended:`Continue on recommended`,optNeverDefault:`Never (default)`,optWhenDecided:`When decided`,optAlways:`Always`,optFullDefault:`Full (default)`,optRedacted:`Redacted`,optMetadataOnly:`Metadata only`,optConsultBrain:`Consult the Brain (default)`,optAlwaysSteer:`Always steer`,optObserveOnly:`Observe only`,optFallback:`Fallback`,optRoundRobin:`Round-robin`,optMediumPlus:`Medium+`,optHighPlus:`High+`,optCriticalOnly:`Critical only`,optNoneDefault:`None (default)`,optDistinctModels:`Distinct models`,optDistinctProviders:`Distinct providers`,optDefault3:`Default (3)`,optOff:`Off`,pickPoolTitle:`Add Brain pool model`,pickPoolHint:`Ordered decision pool — first is primary.`,pickVoterTitle:`Add council voter`,pickVoterHint:`Dialog stays open — add ≥2 voters, then close.`,pickJudgeTitle:`Pick council judge`,pickJudgeHint:`Tie-breaker that sees every vote.`,persistError:`Settings applied live but not saved.`,riskCopy:{off:`Human decides everything`,low:`Auto-decide low risk only`,medium:`Auto-decide up to medium risk`,high:`Auto-decide up to high risk`,all:`Auto-decide everything`},rulesConfigured_one:`{{count}} configured`,rulesConfigured_other:`{{count}} configured`},O={default15s:`Default (15s)`,waitForever:`Wait forever`,defaultHalf:`Default (0.5)`,all:`All`,n200Default:`200 (default)`,offDefault:`Off (default)`,n20Default:`20 (default)`,m5Default:`5m (default)`,default:`Default`,oneSerial:`1 (serial)`,roundsOff:`1 (no deliberation)`,default500:`Default (500)`,default10m:`Default (10m)`},k={capToolCall:`Tool call`,capReasoning:`Reasoning`,capTemperature:`Temperature`,capAttachment:`Attachment`,capStructuredOutput:`Structured output`,capOpenWeights:`Open weights`},A={presetsHeading:`Font presets`,presetsHint:`A preset sets every role at once; fonts download only when first used.`,presets:{workbench:{label:`Workbench`,description:`The default operator-workbench look.`},plex:{label:`IBM Plex`,description:`One engineered family end to end.`},modern:{label:`Modern`,description:`Neutral Inter with JetBrains Mono for code.`},geist:{label:`Geist`,description:`A crisp Geist sans and mono pairing.`},classic:{label:`Classic`,description:`Adobe's Source Sans, Serif, and Code Pro.`},editorial:{label:`Editorial`,description:`Serif headings and a bookish chat font.`},readable:{label:`Readable`,description:`High-legibility faces for long sessions.`},friendly:{label:`Friendly`,description:`Rounded, relaxed shapes with Fira Code.`},monospace:{label:`Monospace`,description:`Monospace everywhere, terminal style.`},system:{label:`System`,description:`Your OS fonts, nothing downloaded.`}},rolesHeading:`Fonts by role`,rolesHint:`Override any role on top of the preset. Roles marked “Same as” follow their parent role.`,roles:{ui:{label:`Interface & panels`,hint:`Buttons, menus, sidebars, lists, and settings.`},display:{label:`Headings`,hint:`Page and section titles.`},reading:{label:`Chat & documents`,hint:`Assistant replies, markdown, and mailbox messages.`},code:{label:`Inline code & data`,hint:`Code blocks, logs, IDs, and tabular readouts.`},editor:{label:`Code editor`,hint:`Monaco file editor and diff view.`},terminal:{label:`Terminal`,hint:`Integrated terminal sessions.`}},fromPreset:`Preset ({{name}})`,inherit:`Same as {{role}} ({{name}})`,categories:{sans:`Sans serif`,serif:`Serif`,mono:`Monospace`},systemTag:`system`,sizeHeading:`Size & spacing`,sizeHint:`Interface text size scales every panel; editor and terminal sizes are set in pixels.`,sizePresets:{compact:`Compact`,normal:`Normal`,comfortable:`Comfortable`,large:`Large`,custom:`Custom`},controls:{uiScale:{label:`Interface text size`,hint:`Scales text across panels, chat, and dialogs.`},editorFontSize:{label:`Editor font size`,hint:`Monaco editor and diff view.`},codeLineHeight:{label:`Code line height`,hint:`Editor, diff view, and code blocks.`},terminalFontSize:{label:`Terminal font size`,hint:`Integrated terminal.`},terminalLineHeight:{label:`Terminal line height`,hint:`Row spacing in the terminal.`},ligatures:{label:`Code ligatures`,hint:`Joins => !== >= into single glyphs in fonts that support it (Fira Code, Cascadia, JetBrains Mono…). Not applied in the terminal.`}},previewHeading:`Live preview`,preview:{heading:`Refactor the session loader`,body:`The agent read 12 files and proposed a two-step change. Review the diff before applying it.`,label:`Interface label`},resetAll:`Reset all font settings`,resetOverrides:`Clear role overrides`},j={description:`Manage the decision provider and see where Jev is used.`,loading:`Loading Jev settings…`,timeout:`No response from server. Reconnect and retry.`,route:`Decision provider`,routeChange:`Changing provider clears the previous key, endpoint and model. Enter a new key or use the provider environment variable.`,key:`API key`,keyHint:`Leave blank to keep the current key`,removeKey:`Remove saved key (environment key may still apply)`,endpoint:`Endpoint override`,model:`Model override`,defaultHint:`Empty uses provider default`,requestTimeout:`Request timeout (ms)`,featureHint:`Switches permit Jev usage. Actual use also depends on the prerequisites and triggers below.`,save:`Save Jev settings`,test:`Test saved connection`,testHint:`The test sends one small billed request. Save changes first. Restart existing sessions to apply all consumers.`,activity:`Jev activity`,activityHint:`Refreshes every 3 seconds. Last 300 requests in this server process, across its sessions. No prompts, credentials or raw errors. Disk log rotates at 5 MB. Answered means a typed response, not necessarily a decision accepted by the consumer.`,filter:`Feature`,all:`All`,empty:`No matching Jev requests yet. Test the connection or use an enabled feature.`,features:{brain:`Brain decisions`,memoryTriage:`Memory triage`,topicShift:`Topic changes`,memoryRecall:`Memory recall`,compaction:`Context compaction`,kanbanVerify:`Kanban verification`,modelTier:`Subagent model tier`,semanticLint:`Semantic lint`,tool:`Agent decision tool`,skillSuggestion:`Skill suggestions`,fleetDispatch:`Fleet dispatch`},readinessScope:`These are saved profile conditions, not the live state of every session. A request below means the service was called, not that its answer was accepted.`,unknownReadiness:`Readiness unavailable on this server`,unsaved:`Unsaved change`,lastRequest:`Last runtime request`,notObserved:`No runtime request in the displayed recent log.`,contextStrategy:`Profile compaction strategy`,contextScope:`Selective enables the Jev selection path. Save changes and restart existing sessions; a session-specific strategy can override this profile setting.`,openContext:`Open session context settings`,configureTiers:`Configure model tiers`,tiersHint:`Enable tiers and define at least two levels, cheapest first. Set their models or fallback profiles and a default tier. Changes here save immediately.`,checkHeading:`Live capability checks`,checkHint:`Runs 22 synthetic cases across all 11 features using the saved account, including disabled features. Makes billed API calls, sends no project content and changes no feature settings. Passing does not prove workload quality or that a session uses the feature.`,checkAll:`Test all 11 features`,checkRunning:`Running live checks…`,expected:`Expected`,actual:`Actual`,includeChecks:`Include diagnostic requests`,selfTest:`Diagnostic`,account:{ready:`Account configured`,unconfigured:`Account required`,unusable:`Account settings invalid`},readiness:{disabled:`Disabled`,"account-required":`Account required`,blocked:`Setup required`,conditional:`Configured · waiting for trigger`},reasons:{disabled:`This feature is not permitted to use Jev.`,"account-required":`Configure a valid Jev account first.`,"selective-required":`Jev selection requires selective compaction; hybrid and intelligent do not use this selector.`,"tiers-disabled":`The model tier system is disabled.`,"tiers-required":`Define at least two model tiers.`,"skills-disabled":`The global skills feature is disabled.`,"trigger-required":`Runs only when its trigger conditions are met.`,"memory-disabled":`Memory or SAGE is disabled.`,"recall-injection-required":`SAGE turn context recall is disabled; the Jev recall filter requires this path.`},triggers:{brain:`Runs before later decision tiers; uncertain answers defer.`,memoryTriage:`Runs during triage value evaluation and merge decisions.`,topicShift:`Runs when topic-change prechecks require a judgment; repeated results may be cached.`,memoryRecall:`Filters candidates returned by SAGE turn context recall; cached judgments are reused.`,compaction:`Rates middle conversation turns during selective compaction; requires a provider and sufficient history.`,kanbanVerify:`Judges open agent-type criteria against changed files and their diff.`,modelTier:`Suggests a tier for delegations with no explicit model/tier and no matching role/phase route.`,semanticLint:`Runs when the semantic lint command finds candidates; it is not an automatic edit watcher.`,tool:`Runs when an agent calls the jev tool with evidence and typed questions.`,skillSuggestion:`Requires skills enabled, at least two skills, and gate/fit thresholds; results may be cached.`,fleetDispatch:`Runs only for ambiguous routing with multiple candidate roles.`},recallTurnContext:`SAGE turn context recall`,recallTurnHint:`Adds relevant memories to each new turn; the Jev recall filter runs on this path. Memory and SAGE must also be enabled. Save and restart existing sessions.`},M={title:e,subtitle:t,tabs:n,general:r,model:i,connection:a,provider:o,providerModels:s,mcp:c,allowlist:l,oauth:u,agent:d,execution:f,features:p,fallbacks:m,fleet:h,integrations:g,context:_,logs:v,security:y,toast:b,display:x,resetLabel:S,cancel:C,resetConfirmTitle:w,resetConfirmBody:T,resetConfirmAction:E,brain:D,brainOpt:O,modelSchema:k,fonts:A,jev:j};export{d as agent,l as allowlist,D as brain,O as brainOpt,C as cancel,a as connection,_ as context,M as default,x as display,f as execution,m as fallbacks,p as features,h as fleet,A as fonts,r as general,g as integrations,j as jev,v as logs,c as mcp,i as model,k as modelSchema,u as oauth,o as provider,s as providerModels,E as resetConfirmAction,T as resetConfirmBody,w as resetConfirmTitle,S as resetLabel,y as security,t as subtitle,n as tabs,e as title,b as toast};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`Einstellungen`,t=`Konfiguriere jeden Aspekt deines Agenten-Arbeitsbereichs`,n={general:`Allgemein`,provider:`Anbieter`,connection:`Verbindungen`,agent:`Agent`,execution:`Ausführung`,fallbacks:`Fallbacks`,routing:`Routing`,fleet:`Flotte`,integrations:`Integrationen`,chimera:`Chimera`,context:`Kontext`,logs:`Protokolle`,security:`Sicherheit`,display:`Anzeige`,displayDesc:`Workbench-Optik, Status-Chip, Refine-Timer und Tool-/Memory-Injection-Schalter — spiegelt den TUI-SettingsPicker.`,generalDesc:`Darstellung, Sprache und Anzeigeeinstellungen — spiegelt die TUI-Einstellungsauswahl.`,providerDesc:`API-Schlüssel, gespeicherte Anbieter und der Anbieterkatalog.`,connectionDesc:`WebSocket-Server-URL und Verbindungsstatus.`,agentDesc:`Autonomie, Prompt-Verfeinerung, Reasoning und Modell-Routing.`,executionDesc:`Iterationslimits, Beenden-Verhalten und Prozess-Schutzschalter.`,fallbacksDesc:`Modell-Fallback-Kette, Favoriten und benannte Fallback-Profile.`,routingDesc:`Modell-Routing-Matrix pro Phase und Rolle.`,fleetDesc:`Gleichzeitige Subagenten, Streaming und Vorhersage nächster Schritte.`,integrationsDesc:`HQ-Client, MCP-Server und Telegram-Benachrichtigungen.`,chimeraDesc:`Konfiguration des Code-Review-Agents nach der Sitzung.`,contextDesc:`Feature-Flags, Kontextstrategie, Komprimierer und Plugin-Steuerung.`,logsDesc:`Protokollebene, Prüfdetails, Dateisystem-Zugriffsbereich und Debug-Stream.`,securityDesc:`Brain-Entscheidungskontrolle, Schatten-Agent und Tool-Zugriff.`,fonts:`Schriften`,fontsDesc:`Schriften für Oberfläche, Chat, Editor und Terminal; Größe, Zeilenhöhe und Ligaturen.`,jev:`Jev`,jevDesc:`TypeSafe / Jev`},r={heading:`Modell`,loading:`Modelle werden geladen...`,notFound:`Keine Modelle für diesen Anbieter gefunden. Der Katalog könnte leer sein oder noch laden.`,selectProviderFirst:`Zuerst einen Anbieter wählen`,context:`{{count}}k Kontext`},i={providerHealth:{heading:`Anbieterstatus`,hint:`Welche Anbieter-/Modellpaare gesund, eingeschränkt oder blockiert sind — und warum.`,refresh:`Aktualisieren`,empty:`Noch keine Anbieter erfasst.`,summary:`{{blocked}} blockiert · {{degraded}} eingeschränkt · {{healthy}} gesund`,totalFailures:`Fehler`,rateLimits:`Ratenlimits`,state:{blocked:`Blockiert`,degraded:`Eingeschränkt`,healthy:`Gesund`},blocked:`Blockiert`,degraded:`Eingeschränkt`,consecutive:`aufeinanderfolgende Fehler`,retryNow:`Jetzt erneut versuchen`,clear:`Löschen`,allHealthy:`Alle erfassten Anbieter sind gesund.`,statSuccesses:`Erfolge`,statFailures:`Fehler`,statRateLimits:`Ratenlimits`,statConsecutive:`aufeinanderfolgend`,lastError:`Letzter Fehler`,recentErrors:`Letzte Fehler`,autoRecovery:`Automatische Wiederherstellung um`,expired:`Abgelaufen`,remainingSecs:`{{secs}} s`,remainingMins:`{{mins}} min`,remainingHours:`{{hours}} h {{mins}} min`,explainHealthy:`Antwortet normal.`,explain402:`Abrechnungslimit erreicht (402). Etwa 15 Minuten blockiert, bis das Kontingent zurückgesetzt wird.`,explain403quota:`Nutzungslimit für diesen Abrechnungszeitraum erreicht. Bis zum nächsten Zurücksetzen blockiert (ca. 15 min).`,explain403auth:`Berechtigungs-/Authentifizierungsfehler. Nicht wiederholbar — API-Schlüssel und Zugriffsrechte prüfen.`,explain429:`Ratenlimit erreicht (429). Vorübergehende Drosselung — automatische Wiederherstellung.`,explain529:`Server überlastet (529). Der Anbieter ist stark ausgelastet.`,explain5xx:`Serverfehler ({{status}}). Vorübergehendes Backend-Problem.`,explainNetwork:`Netzwerk nicht erreichbar. Internetverbindung oder Statusseite des Anbieters prüfen.`,explainTimeout:`Zeitüberschreitung der Anfrage (408). Der Anbieter hat zu langsam geantwortet.`,explainStreamHang:`Stream angehalten (599). Der Anbieter hat mitten in der Antwort aufgehört.`,explainQuota:`Kontingent aufgebraucht. Bis zum Zurücksetzen blockiert.`,explainUnknown:`Fehlertyp: {{kind}} / Status: {{status}}.`},wsUrlLabel:`WebSocket-Server-URL`,wsUrlPlaceholder:`ws://localhost:3456`,wsUrlHint:`URL des Agent-WebSocket-Servers. Der Server läuft neben dem CLI.`,startingHeading:`Den WebSocket-Server starten`,startingBody:`Für die Entwicklung ./dev.ps1 vom Repo-Root ausführen (optional zuvor WS_HOST/WS_PORT setzen). Andernfalls die WebUI über die CLI starten: wstack --webui.`,healthHeading:`Verbindungszustand`,healthHint:`Live-Bericht zu Besitz, Speicher, Warteschlange, Watcher und Latenz der Projektdienste.`,healthRefresh:`Aktualisieren`,healthLoading:`Dienste werden geprüft…`,healthUnknown:`Zustand unbekannt`,healthDisconnected:`Die WebUI-WebSocket-Verbindung ist getrennt.`,healthRestartRequired:`Backend einmal neu starten, um den Verbindungsbericht zu aktivieren.`,healthOptional:`Bei Bedarf`,endpointInvalidBadge:`Socket-Pfad zu lang`,endpointInvalidRemedy:`Der IPC-Socket-Pfad überschreitet die Längenbeschränkung dieser Plattform, daher kann der gemeinsame Daemon nicht gestartet werden. Abfragen fallen auf einen langsameren prozesslokalen Modus zurück. Abhilfe: Setzen Sie ein kürzeres TMPDIR (z. B. export TMPDIR=/tmp) und starten Sie WrongStack neu.`,healthCounts:`{{healthy}} gesund · {{attention}} beachten · {{sleeping}} inaktiv`,healthOverall:{healthy:`Erforderliche Dienste gesund`,degraded:`Erforderlicher Dienst eingeschränkt`,error:`Erforderlicher Dienst nicht verfügbar`},healthStatus:{healthy:`Gesund`,degraded:`Eingeschränkt`,offline:`Inaktiv`,unavailable:`Nicht verfügbar`,error:`Fehler`},services:{kanban:{label:`Kanban IPC`},mailbox:{label:`Mailbox IPC`}},serviceActionRestart:`Neustarten {{label}}`,webuiTransport:`WebUI-Transport`,serviceAutoRestarting:`Automatischer Neustart…`},a={removeProfileConfirm:`Auth-Profil „{{alias}}“ und alle Schlüssel entfernen?`,removeProfileBody:`Gespeicherte Zugangsdaten und Verweise auf dieses Konto im Modell-Routing werden entfernt.`,deleteKeyConfirm:`Schlüssel „{{label}}“ aus „{{alias}}“ löschen?`,addProfile:`Konto / Auth-Profil hinzufügen`,profileAlias:`Alias des Auth-Profils`,profileHint:`Jedes Konto hat einen eigenen Alias und eigene Zugangsdaten. Fallback-Ziele sind alias/modell.`,profileExists:`Das Auth-Profil „{{alias}}“ existiert bereits. Wählen Sie einen anderen Alias.`,operationTimeout:`Keine Antwort vom Server. Prüfen Sie die Verbindung und versuchen Sie es erneut.`,savedProviderCount_one:`{{count}} Anbieter`,savedProviderCount_other:`{{count}} Anbieter`,keyCount_one:`{{count}} Schlüssel konfiguriert`,keyCount_other:`{{count}} Schlüssel konfiguriert`,activeKeyCount_one:`{{count}} aktiver Schlüssel`,activeKeyCount_other:`{{count}} aktive Schlüssel`,subscriptionHeading:`Abonnement-Anmeldung`,apiKeysHeading:`API-Schlüssel-Anbieter`,apiKeysBody:`Wähle einen Anbieter aus dem Katalog und füge einen API-Schlüssel hinzu oder verwalte gespeicherte Anbieter.`,tabCatalog:`Katalog`,tabSaved:`Gespeichert ({{count}})`,searchPlaceholder:`{{count}} Anbieter durchsuchen (Name / ID / Familie)…`,loadingCatalog:`Katalog wird geladen...`,noMatch:`Keine Anbieter passen zu „{{query}}“.`,configured:`Konfiguriert`,reachable:`Erreichbar`,envVar:`ENV: {{var}}`,modelCount_one:`{{count}} Modell`,modelCount_other:`{{count}} Modelle`,keyPlaceholder:`{{name}} API-Schlüssel`,orEnv:`Oder stattdessen {{env}} in der Umgebung setzen.`,addApiKey:`API-Schlüssel hinzufügen`,manageKeys:`Verwalte deine API-Schlüssel und Anbieterkonfigurationen`,addProvider:`Anbieter hinzufügen`,addCustomHeading:`Benutzerdefinierten Anbieter hinzufügen`,localServers:`Lokale Server — zum Ausfüllen klicken:`,providerIdPlaceholder:`Anbieter-ID (z.B. my-llm-server)`,apiKeyOptionalPlaceholder:`API-Schlüssel (optional)`,noSaved:`Noch keine gespeicherten Anbieter`,noSavedHint:`Füge einen Anbieter hinzu, um loszulegen`,apiKeysLabel:`API-Schlüssel`,addKey:`Schlüssel hinzufügen`,noKeys:`Keine Schlüssel konfiguriert`,active:`Aktiv`,setActive:`Als aktiv setzen`,keyLabelPlaceholder:`Schlüsselbezeichnung (z.B. default, production)`,apiKeyPlaceholder:`API-Schlüssel`,saveKey:`Schlüssel speichern`,savedToast:`Schlüssel für {{name}} gespeichert`},o={addCustom:`Benutzerdefiniertes Modell hinzufügen`,addCustomTitle:`Benutzerdefiniertes Modell hinzufügen`,addFromCatalog:`Aus Katalog hinzufügen`,catalogSearchPlaceholder:`models.dev-Katalog durchsuchen…`,catalogSearchTitle:`models.dev-Katalog durchsuchen`,colActions:`Aktionen`,colCaps:`Fähigkeiten`,colContext:`Kontext`,colCost:`Kosten`,colModalities:`Modalitäten`,colModel:`Modell`,colOutput:`Ausgabe`,colSource:`Quelle`,editModel:`Modell bearbeiten`,emptyState:`Noch keine Modelle — aus dem Katalog hinzufügen oder ein benutzerdefiniertes Modell erstellen.`,fieldContext:`Kontextfenster`,fieldCostInput:`Eingabekosten`,fieldCostOutput:`Ausgabekosten`,fieldDescription:`Beschreibung`,fieldFamily:`Familie`,fieldInputLimit:`Eingabelimit`,fieldInputModalities:`Eingabe-Modalitäten`,fieldLastUpdated:`Zuletzt aktualisiert`,fieldName:`Name`,fieldOutput:`Max. Ausgabe`,fieldOutputModalities:`Ausgabe-Modalitäten`,fieldReleaseDate:`Veröffentlichungsdatum`,modelAdded:`{{model}} hinzugefügt`,modelRemoved:`{{model}} entfernt`,modelSaved:`{{model}} gespeichert`,noResults:`Keine Modelle gefunden`,removeModel:`Modell entfernen`,sectionCapabilities:`Fähigkeits-Flags`,sectionDates:`Daten`,sectionIdentity:`Identität`,sectionLimits:`Grenzen`,sectionModalities:`Modalitäten`,sectionPricing:`Preise (pro 1M Token, USD)`,tabForm:`Formular`,tabRawJson:`Rohes JSON`,typeToSearch:`Zum Suchen tippen…`,useModel:`{{model}} verwenden`,usingModel:`{{model}} wird verwendet`,filterPlaceholder:`Modelle filtern…`},s={status:{connected:`Verbunden`,connecting:`Verbinden`,sleeping:`Ruhend`,discovering:`Entdecken`,error:`Fehler`,stopped:`Gestoppt`,unknown:`Unbekannt`},disabled:`MCP-Server sind deaktiviert.`,wakeTitle:`Server wecken`,sleepTitle:`Server schlafen legen`,discoverTitle:`Tools entdecken`,editTitle:`Bearbeiten`,removeTitle:`Entfernen`,statusLabel:`Status:`,enabledLabel:`Aktiviert:`,yes:`Ja`,no:`Nein`,descriptionLabel:`Beschreibung:`,pidLabel:`PID:`,errorLabel:`Fehler:`,toolsLabel:`Tools ({{count}}):`,noTools:`Noch keine Tools entdeckt`,serverNameRequired:`Servername ist erforderlich`,dialogTitleEdit:`MCP-Server bearbeiten`,dialogTitleAdd:`MCP-Server hinzufügen`,dialogTitleAddCustom:`Benutzerdefinierten MCP-Server hinzufügen`,fieldName:`Name`,fieldNamePlaceholder:`z.B. github, filesystem`,fieldTransport:`Transport`,fieldUrl:`URL`,fieldCommand:`Befehl`,fieldCommandPlaceholder:`z.B. npx`,fieldArgs:`Args`,fieldArgsHint:`(leerzeichengetrennt)`,fieldArgsPlaceholder:`z.B. -y @modelcontextprotocol/server-github`,fieldEnv:`Env-Variablen`,fieldEnvHint:`(KEY=Wert, eine pro Zeile)`,fieldDescription:`Beschreibung`,fieldDescriptionPlaceholder:`GitHub-MCP-Server für Repository-Zugriff`,enableServer:`Server aktivieren`,lazyConnect:`Verzögert verbinden`,lazyConnectHint:`(erst beim ersten Tool-Aufruf starten; bei Inaktivität automatisch schlafen)`,saveChanges:`Änderungen speichern`,addServer:`Server hinzufügen`,requires:`Erfordert: {{vars}}`,added:`Hinzugefügt`,heading:`MCP-Server`,summary:`{{connected}} verbunden · {{sleeping}} ruhend · {{total}} gesamt`,addCustom:`Benutzerdefiniert`,tabRecommended:`Empfohlen`,tabServers:`Server`,tabAddCustom:`Benutzerdefiniert`,recommendedBody:`One-Click-Hinzufügen für beliebte MCP-Server. Klicke auf Hinzufügen, um die Konfiguration vorzuausfüllen, und bestätige dann. Server mit Anmeldeinformationen benötigen ihre Env-Variablen vor der Nutzung.`,loadingServers:`Server werden geladen...`,noServers:`Keine MCP-Server konfiguriert`,noServersHint:`Wechsle zum Tab Empfohlen, um beliebte Server hinzuzufügen, oder Benutzerdefiniert für eigene.`,addCustomBody:`Konfiguriere einen benutzerdefinierten MCP-Server mit stdio-, SSE- oder HTTP-Transport.`,addCustomBodyHint:`Für beliebte Server nutze stattdessen den Tab Empfohlen — alles ist vorkonfiguriert.`,removeConfirmTitle:`Server „{{name}}“ entfernen?`,removeConfirmBody:`Dies entfernt den MCP-Server aus deiner Konfiguration.`,toastAdded:`Server „{{name}}“ hinzugefügt`,toastRemoved:`Server „{{name}}“ entfernt`,toastDiscovered:`{{count}} Tools von „{{name}}“ entdeckt`,toastSleeping:`Server „{{name}}“ ruht jetzt`,toastConnected:`Server „{{name}}“ verbunden`,toastReconnected:`Server „{{name}}“ neu verbunden`,toastDisconnected:`Server „{{name}}“ getrennt: {{reason}}`,toastError:`Server „{{name}}“ Fehler: {{error}}`},c={title:`Gespeicherte Allowlist löschen?`,body_one:`Dies entfernt das angeheftete Modell für {{provider}}. Die Modellauswahl fällt auf den models.dev-Katalog zurück.`,body_other:`Dies entfernt die {{count}} angehefteten Modelle für {{provider}}. Die Modellauswahl fällt auf den models.dev-Katalog zurück.`,undoHint:`Sie können dies 8 Sekunden nach dem Bestätigen rückgängig machen.`,keepTitle:`Allowlist behalten (Esc)`,clearTitle:`Allowlist löschen (Enter)`,clear:`Allowlist löschen`},l={termsWarning:`Mit einem Abonnement statt einem API-Schlüssel anmelden. Ein Abonnement außerhalb seines offiziellen Clients zu nutzen, kann die Nutzungsbedingungen des Anbieters verletzen — Ihr Konto könnte ratenlimitiert oder gesperrt werden. Ein API-Schlüssel ist der sanktionierte Weg für programmatische Nutzung.`,signIn:`Anmelden`,waitingBrowser:`Warte auf Ihre Anmeldung…`,openSignIn:`Anmeldeseite öffnen`,pasteLoopbackBusy:`Loopback-Port belegt — Redirect-URL einfügen`,pasteCantReach:`Browser erreicht diesen Server nicht? Redirect-URL einfügen`,submit:`Absenden`,enterCode:`Diesen Code auf der Verifizierungsseite eingeben:`,openVerification:`Verifizierungsseite öffnen`,waitingCode:`Warte auf Autorisierung…`,exchanging:`Tokens werden ausgetauscht…`,fetchingModels:`Modelle werden geladen…`,signedIn:`Angemeldet.`,signedInToast:`Angemeldet — {{provider}}`,signInFailed:`Anmeldung fehlgeschlagen`,accountCount_one:`{{count}} Konto gespeichert`,accountCount_other:`{{count}} Konten gespeichert`,active:`Aktiv`,inactive:`Inaktiv`,retry:`Erneut`,retryLogin:`Dieses Konto erneut authentifizieren`,newAccount:`Neues Konto`,aliasPlaceholder:`z.B. {{default}}`},u={showThinkingLabel:`Thinking-Protokolle anzeigen`,showThinkingHint:`Abgeschlossene Reasoning-Blöcke im Chatverlauf anzeigen.`,groupToolCallsLabel:`Tool-Aufrufe gruppieren`,groupToolCallsHint:`Aufeinanderfolgende Tool-Aufrufe in einem Chip zusammenfassen.`,autoCollapseInputLabel:`Composer unter Verlauf einklappen`,autoCollapseInputHint:`Wenn eine Sitzung mit Nachrichten geladen wird, den Composer unter dem Verlauf einklappen. Standardmäßig aus — der Composer bleibt ausgeklappt, bis du ihn manuell einklappst.`,themeHeading:`Design`,themeLight:`Hell`,themeDark:`Dunkel`,themeSystem:`System`,themeSystemHint:`System folgt deiner Hell-/Dunkel-Einstellung auf Betriebssystemebene.`,preferencesHeading:`Einstellungen`,compactDensity:`Kompakte Dichte`,compactDensityHint:`Engerer Abstand im gesamten Chat.`,soundOnComplete:`Ton bei Fertigstellung`,soundOnCompleteHint:`Spielt einen sanften Ton, wenn ein Durchlauf abgeschlossen ist.`,titleAnimation:`Titelanimation`,titleAnimationHint:`Animierten Terminal-Titel im CLI anzeigen.`,thinkingWordLabel:`Denkwort (CLI/TUI)`,thinkingWordHint:`Wort im TUI-Status-Chip. Ein einzelnes kurzes Wort.`,statuslineModeLabel:`Statuszeilen-Modus (CLI/TUI)`,statuslineModeHint:`Detailgrad der TUI-Statuszeile.`,statuslineModeDetailed:`Detailliert`,statuslineModeMinimum:`Minimal`,statuslineModeNoColor:`Ohne Farbe`,animationStyleLabel:`Animationsstil (CLI/TUI)`,animationStyleHint:`Animation für den TUI-Arbeitsstatus-Chip.`,animationStyleRainbow:`Regenbogen`,animationStyleWave:`Welle`,animationStylePulse:`Puls`,animationStyleDots:`Punkte`,animationStyleBreathe:`Atmen`,animationStyleStatic:`Statisch`,animationStyleCycle:`Zyklus`,languageHeading:`Sprache`,languageLabel:`Oberflächensprache`,languageHint:`Ändert nur den Oberflächentext. Prompts, Skills und Modellausgaben bleiben unberührt.`,paletteHeading:`Farbpalette`,paletteSwitcherTitle:`Farbpalette`,paletteHint:`Wähle die Hauptfarbe (und ihre Ableitungen). Neutrale Flächen bleiben gleich.`,paletteSignal:`Signal`,paletteEmeraldGold:`Smaragd & Gold`,paletteBlueNavy:`Marineblau`,palettePurplePink:`Violett & Pink`,paletteCyanTeal:`Cyan & Türkis`,paletteRoseCopper:`Rosa & Kupfer`,paletteIndigoAmber:`Indigo & Bernstein`,paletteSageSand:`Salbei & Sand`,paletteSlateViolet:`Schiefer & Violett`,paletteCoralMint:`Koralle & Minze`,paletteArcticEmber:`Arktis & Glut`,paletteMossRust:`Moos & Rost`},d={autonomyHeading:`Autonomie & Verhalten`,autonomyModeLabel:`Autonomie-Modus`,autonomyModeHint:`Wie unabhängig der Agent zwischen Zügen fortfährt.`,autonomyModeOff:`Aus — volle manuelle Kontrolle`,autonomyModeSuggest:`Vorschlagen — schlägt nächste Schritte vor`,autonomyModeAuto:`Auto — kurze Bestätigungsverzögerung`,autonomyModeEternal:`Eternal — autonom bis Ziel erreicht`,autonomyModeEternalParallel:`Eternal Parallel — Multi-Agent-Flotte`,autoProceedDelayLabel:`Auto-Fortsetzen-Verzögerung`,autoProceedDelayHint:`Millisekunden bevor der Agent im Auto-Modus fortfährt. 0 = sofort.`,yoloLabel:`YOLO-Modus`,yoloHint:`Werkzeugaufrufe ohne Rueckfrage ausfuehren - ausser den unten aufgefuehrten Schadensarten.`,yoloConfirmHeading:`Trotzdem fragen bei`,yoloConfirmIntro:`YOLO fuehrt alles andere unbeaufsichtigt aus. Bei diesen Schadensarten haelt es an und fragt zuerst nach.`,yoloConfirmLockedNote:`Diese beiden fragen immer. Sie schreiben die Dateien, die darueber entscheiden, ob ueberhaupt gefragt wird - sie abzuschalten hiesse, den Agenten sein eigenes Freigabesystem abschalten zu lassen.`,yoloKindLocked:`fragt immer`,yoloKind:{"disk-wipe":{label:`Datentraeger loeschen`,hint:`mkfs, dd auf ein Rohgeraet, format C:, Fork-Bombe`},"system-halt":{label:`Herunterfahren oder neu starten`,hint:`shutdown, reboot`},"delete-outside":{label:`Ausserhalb des Projekts loeschen`,hint:`rekursives Loeschen, das das Projekt verlaesst oder ein System-/Home-Verzeichnis trifft`},"git-history":{label:`Git-Historie umschreiben`,hint:`reset --hard, clean -f, push --force, filter-branch`},publish:{label:`Veroeffentlichen oder ausrollen`,hint:`npm publish, docker push, kubectl delete namespace`},"download-and-run":{label:`Heruntergeladenen Code ausfuehren`,hint:`curl | sh und Inline-Payloads, die laden und ausfuehren`},"bulk-delete":{label:`Massenhaft loeschen`,hint:`find -exec rm, Inline-rmSync ueber viele Pfade`},"agent-state":{label:`WrongStacks eigenen Zustand schreiben`,hint:`config.json, trust.json, auth.json`},"credential-bind":{label:`API-Schluessel an einen Endpunkt binden`,hint:`einen bekannten Schluessel an eine Anbieter-URL haengen`}},refineHeading:`Prompt-Verfeinerung`,enableRefineLabel:`Verfeinerung aktivieren`,enableRefineHint:`Prompts vor dem Senden umschreiben — klarere Anweisungen, bessere Ergebnisse.`,refineDelayLabel:`Verfeinerungs-Verzögerung`,refineDelayHint:`Countdown bevor der verfeinerte Prompt automatisch gesendet wird.`,refineLanguageLabel:`Verfeinerungs-Sprache`,refineLanguageHint:`Ihre Sprache behalten oder für das Modell ins Englische übersetzen.`,refineLanguageOriginal:`Original — Sprache behalten`,refineLanguageEnglish:`Englisch — ins Englische übersetzen`,refinerProviderLabel:`Verfeinerungs-Provider`,refinerProviderHint:`Provider-ID für die Zielverfeinerung. Leer = Provider der Sitzung verwenden.`,refinerProviderDefault:`Sitzungs-Provider`,refinerModelLabel:`Verfeinerungs-Modell`,refinerModelHint:`Modell-ID für die Zielverfeinerung. Leer = Modell der Sitzung verwenden.`,refinerModelDefault:`Sitzungsmodell`,refinerProfileLabel:`Fallback-Profil für die Verfeinerung`,refinerProfileHint:`Benanntes Fallback-Profil für die Zielverfeinerung. Überschreibt Provider und Modell.`,refinerProfileDefault:`Keines — Provider und Modell oder Sitzungsstandards verwenden`,reasoningHeading:`Reasoning & Cache`,reasoningModeLabel:`Reasoning-Modus`,reasoningModeHint:`Steuern, wie das Modell Extended Thinking nutzt. Auto = Anbieter-Standard.`,reasoningModeAuto:`Auto — Anbieter-Standard`,reasoningModeOn:`An — Thinking erzwingen`,reasoningModeOff:`Aus — Thinking deaktivieren`,reasoningEffortLabel:`Reasoning-Aufwand`,reasoningEffortAuto:`Auto (allgemein)`,reasoningEffortAutoHint:`Projekteinstellung: {{value}}`,reasoningEffortHint:`Wie viel Compute das Modell fürs Denken aufwendet. Nur gesendet, wenn das Modell es unterstützt.`,reasoningEffortNone:`Keine`,reasoningEffortMinimal:`Minimal`,reasoningEffortLow:`Niedrig`,reasoningEffortMedium:`Mittel`,reasoningEffortHigh:`Hoch`,reasoningEffortXhigh:`Sehr hoch`,reasoningEffortMax:`Max`,preserveThinkingLabel:`Thinking bewahren`,preserveThinkingHint:`Reasoning-Blöcke über Züge hinweg für Kontextkontinuität behalten.`,cacheTtlLabel:`Cache-TTL`,cacheTtlHint:`Prompt-Cache-Time-to-Live. 1h kostet mehr beim Schreiben, spart aber bei wiederholten Lesevorgängen (Anthropic).`,cacheTtlDefault:`Standard — Anbieter-Standard`,cacheTtl5m:`5 Minuten`,cacheTtl1h:`1 Stunde`,capsHint:`Verwenden Sie wstack models caps um zu prüfen, was das aktuelle Modell unterstützt. Nicht unterstützte Einstellungen werden pro Anfrage still weggelassen.`,routingHeading:`Modell-Routing`,routingRouteKey:`Modell-Routen-Schlüssel`,routingPhasesGroup:`Phasen`,routingRolesGroup:`{{label}} Rollen`,routingCustomGroup:`Benutzerdefinierte bestehende Routen`,routingTargetAria:`Ziel der Modellroute`,routingTargetEmpty:`— Route löschen —`,routingTargetProfilesGroup:`Fallback-Profile`,routingTargetModelsGroup:`Modelle (Provider/Modell)`,routingSet:`Setzen`,routingReasoningModeAria:`Reasoning-Modus neue Route`,routingReasoningEffortAria:`Reasoning-Aufwand neue Route`,routingReasoningPreserveAria:`Reasoning-Bewahrung neue Route`,routingReasoningModeFor:`Reasoning-Modus für {{key}}`,routingReasoningEffortFor:`Reasoning-Aufwand für {{key}}`,routingReasoningPreserveFor:`Reasoning-Bewahrung für {{key}}`,noRoutes:`Noch keine Modell-Routen.`,leaderModel:`Leader-Modell`,autonomyDelayMsLabel:`Verzögerung der automatischen Fortsetzung`,autonomyDelayMsHint:`Millisekunden, bevor der Agent im Auto-Modus automatisch fortfährt. 0 = sofort.`,refineCountdownLabel:`Verfeinerungs-Countdown`,refineCountdownHint:`Gnadenfrist, bevor der verfeinerte Prompt automatisch gesendet wird (Millisekunden).`,reasoningEffortModelSet:`Stufen des aktiven Modells`,reasoningEffortUnsupported:`Von diesem Modell nicht angeboten (unterstützt: {{levels}}) — die Einstellung wird weggelassen.`},f={heading:`Ausführung`,maxIterationsLabel:`Max. Iterationen pro Run`,maxIterationsHint:`Feste Obergrenze für LLM-Züge pro agent.run().`,autoProceedMaxIterationsLabel:`Auto-Fortsetzen max. Iterationen`,autoProceedMaxIterationsHint:`Auto-Fortsetzen nach N Iterationen stoppen. 0 = unbegrenzt.`,confirmExitLabel:`Vor Exit bestätigen`,confirmExitHint:`Erstes Ctrl+C bricht Arbeit ab, zweites bestätigt Exit.`,chimeLabel:`Chime bei Fertigstellung`,chimeHint:`Terminal-Glocke, wenn ein Agent-Run endet.`,breakerLabel:`Prozess-Schutzschalter`,breakerHint:`Sperrt bash/exec nach wiederholten Fehlern; beim Auslösen startet der Kill/Reset-Countdown.`,breakerTimeoutLabel:`Kill/Reset-Timeout des Schutzschalters`,breakerTimeoutHint:`Verzögerung bis zum automatischen Kill/Reset nach dem Auslösen. 0 = manuelle Wiederherstellung.`,availabilityHeading:`Verfügbarkeitskalender für Anbieter/Modelle`,availabilityHint:`Verhindert, dass autonome und nächtliche Ausführungen ausgewählte Anbieter oder Modelle in wiederkehrenden Fenstern verwenden.`},p={heading:`Fallback-/Round-robin-Modelle`,body:`Wenn das aktive Modell rate-limited (429/529), 5xx-Fehler oder hängt — nach eigenen Retries — rotiert der Agent zum nächsten Modell dieser Kette. Auch Standard für SDD-Worker-Subagents.`,autoFallbackLabel:`Auto-Fallback`,autoFallbackHint:`Wenn die Kette oben leer ist, automatisch von Ihren gespeicherten Anbietern ableiten.`,favoritesOnlyLabel:`Nur Favoriten`,favoritesOnlyHint:`Wenn Auto-Fallback eine Kette ableitet, auf Ihre Favoriten beschränken.`,profilesHeading:`Fallback-/Round-robin-Profile`,addProfile:`Hinzufügen`,noProfiles:`Noch keine benannten Fallback-Profile.`,createDefault:`Standard aus aktivem Modell erstellen`,useChain:`Kette verwenden`,setLeader:`Leader setzen`,profileEmpty:`Profil ist leer.`,favoritesHeading:`Favoriten-Modelle`,favoritesEmpty:`Favoriten werden zuerst angezeigt und können Auto-Fallback einschränken.`,addModelToProfile:`Modell zum Profil hinzufügen…`,addFavoriteModel:`Favoritenmodell hinzufügen…`,inactive:`inaktiv`},m={heading:`Flotte & Streaming`,fleetChatVerbosityLabel:`Flotten-Events streamen`,fleetChatVerbosityHint:`Live-Subagent-Aktivität im Flotten-Panel zeigen.`,maxConcurrentLabel:`Max. gleichzeitige Subagents`,maxConcurrentHint:`Maximale Anzahl gleichzeitig laufender Subagents.`,nextPredictionLabel:`Next-Step-Vorhersage`,nextPredictionHint:`Nach Abschluss eines Zugs wahrscheinliche nächste Schritte vorhersagen.`,nextStepsToolLabel:`Nextsteps-Tool`,nextStepsToolHint:`Der Agent kann seine Folgevorschläge per Tool-Aufruf hinterlegen, statt den Block selbst zu schreiben. Gilt ab der nächsten Sitzung.`},h={hqHeading:`HQ-Client`,hqPublishingLabel:`HQ-Veröffentlichung`,hqPublishingHint:`Diese WebUI/Client-Sitzung bei WrongStack HQ veröffentlichen. Gleichmaschinige Clients können lokales HQ-Auth auto-entdecken; Remote-Clients nutzen untenstehende URL/Token.`,hqUrlLabel:`HQ-URL`,hqUrlHint:`Für Auto-Discovery auf gleicher Maschine leer lassen.`,hqTokenLabel:`HQ-Client-Token`,hqRawContentLabel:`Rohe HQ-Inhalte`,hqRawContentHint:`Rohe Inhaltsvorschauen statt geschwärzter Vorschauen an HQ senden.`,wrongProxyHeading:`WrongProxy / WrongTrace`,wrongProxyEnabledLabel:`Basis-URLs über den lokalen Proxy leiten`,wrongProxyEnabledHint:`Wenn aktiviert, wird die Basis-URL jedes Anbieters über den konfigurierten Proxy umgeschrieben (Standard http://localhost:3444/proxy/<host><path>). openai-codex ist ausgeschlossen — es kommuniziert direkt mit dem ChatGPT-Backend über ein OAuth-Token.`,wrongProxyUrlLabel:`Proxy-URL`,wrongProxyUrlHint:`Wo der lokale Proxy-Daemon lauscht. Das System prüft periodisch <url>/api/health; ein nicht erreichbarer Daemon deaktiviert die Umschreibung, ohne bei jedem Tastendruck erneut zu versuchen.`,wrongProxyChangesApply:`Änderungen gelten sofort für nachfolgende Anfragen — kein Neustart erforderlich.`,telegramHeading:`Telegram-Benachrichtigungen`,telegramSessionEndLabel:`Sitzungsende`,telegramSessionEndHint:`Zusammenfassung senden, wenn eine Sitzung endet.`,telegramDelegateLabel:`Delegat fertig`,telegramDelegateHint:`Vermenschlichte Notiz senden, wenn ein Subagent fertig ist.`,telegramLongToolLabel:`Langlaufende Tools`,telegramLongToolHint:`Benachrichtigen, wenn ein Tool {{ms}}ms überschreitet. 0 zum Deaktivieren.`,telegramChangesApply:`Änderungen werden sofort angewendet.`,telegramNotConfigured:`Telegram ist nicht konfiguriert. Führen Sie /telegram-setup in der CLI aus, um zuerst einen Bot zu verbinden.`,heading:`Integrationen`,disabledHint:`Aktivieren Sie die Funktion im Kontext-Tab, um diesen Bereich zu nutzen.`},g={chimeraDedicatedHeading:`Chimera — Code-Review nach der Sitzung`,chimeraDedicatedHint:`Automatisierte Code-Qualitätsprüfung nach jeder Agentensitzung.`,chimeraSectionEnabled:`Post-Session-Review (Chimera)`,chimeraSectionEnabledHint:`Nach jeder Iteration einen Code-Review-Agenten ausführen.`,chimeraProviderLabel:`Chimera-Anbieter`,chimeraProviderHint:`Anbieter für den Review-Agenten. Aus konfigurierten Anbietern wählen.`,chimeraProviderSessionDefault:`Sitzungsstandard`,chimeraModelLabel:`Modell`,chimeraModelSessionDefault:`Sitzungsstandard`,chimeraModelHint:`Modell für den Review-Agenten. Erfordert zuerst einen Anbieter.`,chimeraMaxFilesLabel:`Max. Dateien pro Review`,chimeraMaxFilesHint:`Maximale Anzahl geänderter Dateien pro Review-Aufruf.`,chimeraAutoFixLabel:`Auto-Fix-Modus`,chimeraAutoFixHint:`Ob der Review-Agent Funde automatisch korrigieren soll.`,chimeraAutoFixOff:`Aus — nur Review`,chimeraAutoFixAsk:`Fragen — vor Anwendung bestätigen`,chimeraAutoFixAuto:`Auto — ohne Bestätigung anwenden`,autoReviewCascadeOnLabel:`Kaskade ab`,autoReviewCascadeOnHint:`Wenn ein Review Funde dieses oder höheren Schweregrads findet, Folgeagenten starten.`,autoReviewCascadeOnOff:`Aus`,autoReviewCascadeOnHigh:`Hoch oder höher`,autoReviewCascadeOnCritical:`Nur kritisch`,chimeraPickModel:`Anbieter/Modell für Chimera wählen`,chimeraPickModelHint:`Anbieter und Modell für das Post-Session-Code-Review wählen.`,autoReviewSectionEnabled:`Mid-Session-Review (Auto-Review)`,autoReviewSectionEnabledHint:`Bei jeder Dateiänderung während der Sitzung einen Review-Agenten ausführen.`,autoReviewFallbackProfileLabel:`Fallback-/Round-robin-Profil`,autoReviewFallbackProfileHint:`Benanntes Modellprofil für Auto-Review; liefert Fallback-Pool und Modelle für Round-robin oder Zufallsauswahl.`,autoReviewFallbackProfileNone:`Keines — Anbieter+Modell oder Sitzungsstandard`,autoReviewModelSelectionLabel:`Profilauswahl`,autoReviewModelSelectionHint:`Wählt das nächste Profilmodell der Reihe nach oder ein zufälliges Startmodell pro Review.`,autoReviewModelSelectionRoundRobin:`Round-robin — in Profilreihenfolge`,autoReviewModelSelectionRandom:`Zufällig — aus dem Profil wählen`,autoReviewFallbackModelsLabel:`Fallback-/Round-robin-Modelle`,autoReviewFallbackModelsEmpty:`Keine Fallback-/Round-robin-Modelle konfiguriert`,autoReviewFallbackModelsHint:`Modelle aus Profil oder globaler Kette; sie bilden Auswahlpool und Wiederholungskette.`,autoReviewModelLabel:`Modell`,autoReviewModelHint:`Modell für Auto-Review-Agent. Erfordert zuerst einen Anbieter.`,autoReviewDebounceLabel:`Entprellintervall (ms)`,autoReviewDebounceHint:`Mindestabstand zwischen Reviews nach Dateiänderung.`,autoReviewMaxFilesLabel:`Max. Dateien pro Batch`,autoReviewMaxFilesHint:`Dateien pro Auto-Review-Aufruf.`,autoReviewMaxConcurrentLabel:`Max. gleichzeitige Reviews`,autoReviewMaxConcurrentHint:`Limit für parallele Review-Subagents.`,autoReviewCascadeLabel:`Kaskade bei`,autoReviewCascadeHint:`Schwellwert für Folgeagenten — startet Sicherheits- und Bug-Scanner.`,autoReviewCascadeOff:`Aus — keine Kaskade`,autoReviewCascadeCritical:`Kritisch — nur kritische Funde`,autoReviewCascadeHigh:`Hoch — kritische oder hohe Funde`,autoReviewPickModel:`Anbieter/Modell für Auto-Review wählen`,autoReviewPickModelHint:`Anbieter/Modell oder Fallback-Profil für Auto-Review wählen.`,pluginsPerPluginHint:`Einzelne Plugins aktivieren oder deaktivieren. Änderungen werden mit der nächsten Sitzung wirksam.`},_={flagsHeading:`Feature-Flags`,mcpLabel:`MCP-Server`,mcpHint:`Model Context Protocol-Integrationen aktivieren.`,pluginsLabel:`Plugins`,pluginsHint:`Vom Nutzer installierte Plugins laden und ausführen.`,memoryLabel:`Speicher`,memoryHint:`Fakten sitzungsübergreifend speichern und abrufen.`,skillsLabel:`Skills`,skillsHint:`Domänenspezifische Skill-Prompts laden.`,modelsRegistryLabel:`Modell-Registry`,modelsRegistryHint:`Das models.dev-Katalog zur Anbieter-Entdeckung nutzen.`,indexOnStartLabel:`Beim Start indizieren`,indexOnStartHint:`Symbol-Index der Codebasis beim Sitzungsstart aufbauen.`,pluginsPerPluginHeading:`🔌 Pro-Plugin-Steuerung`,pluginsPerPluginHint:`Einzelne Plugins aktivieren oder deaktivieren. Änderungen werden mit der nächsten Sitzung wirksam.`,pluginChimera:`Chimera — Code-Review nach Sitzungsende`,pluginSkills:`Skills — Skill-Bibliothek & -Erstellung`,pluginPrompts:`Prompts — Prompt-Bibliothek & Generierung`,pluginCostTracker:`Cost Tracker — Token- & Kostenverfolgung`,pluginTelegram:`Telegram — Benachrichtigungsbot`,pluginErrorLens:`Error Lens — Fehlerdiagnose`,pluginSecretScanner:`Secret Scanner — Zugangsdaten-Erkennung`,pluginLintGate:`Lint Gate — Lint vor Iteration`,pluginDiffSummary:`Diff Summary — kompakte Diffs`,pluginDepGuard:`Dep Guard — Abhängigkeitsregeln`,pluginTypeGate:`Type Gate — Typecheck vor Iteration`,pluginInjectionShield:`Injection Shield — Prompt-Injection`,pluginPromptFirewall:`Prompt Firewall — Eingabefilterung`,pluginTokenBudget:`Token Budget — Token-Limits`,pluginLoopBreaker:`Loop Breaker — Erkennung außer Kontrolle`,heading:`Kontext & Debug`,autoCompactLabel:`Kontext auto-kompaktieren`,autoCompactHint:`Kontextfenster in der Nähe von Limits automatisch kürzen.`,compactorStrategyLabel:`Compaktor-Strategie`,compactorStrategyHint:`Wie der Kontext komprimiert wird, wenn er zu groß wird.`,compactorStrategyHybrid:`Hybrid — schnelle Regeln (Standard)`,compactorStrategyIntelligent:`Intelligent — LLM-Zusammenfassung`,compactorStrategySelective:`Selektiv — LLM-gesteuerte Auswahl`,contextModeLabel:`Kontext-Modus`,contextModeHint:`Kontextfenster-Richtlinie — balanced ist Standard.`,contextModeBalanced:`Ausgewogen — normale Kontextnutzung`,contextModeFrugal:`Sparsam — konservative Token-Nutzung`,contextModeDeep:`Tief — größerer Kontext für komplexe Aufgaben`,tokenSavingLabel:`Token-Sparmodus`,tokenSavingHint:`Steuert direkte Tool-Schemas und die System-Prompt-Größe der nächsten Sitzung.`,tokenSavingAuto:`Auto — Prompt an das Modellfenster anpassen`,tokenSavingOff:`Aus — kein Token-Sparen`,tokenSavingMinimal:`Minimal — grundlegende Optimierung`,tokenSavingLight:`Leicht — moderate Reduktion`,tokenSavingMedium:`Mittel — erhebliche Einsparungen`,tokenSavingAggressive:`Aggressiv — kleinste direkte Oberfläche und Prompt`},v={logLevelLabel:`Log-Level`,logLevelHint:`Mindest-Schweregrad für serverseitiges Logging.`,logLevelDebug:`Debug — alles`,logLevelInfo:`Info — normaler Ablauf`,logLevelWarn:`Warn — nur Probleme`,logLevelError:`Error — nur Fehler`,auditLevelLabel:`Audit-Level`,auditLevelHint:`Detaillierungsgrad für Sitzungs-Audit-Logs.`,auditLevelMinimal:`Minimal — nur Fehler`,auditLevelStandard:`Standard — Tool-Aufrufe + Fehler`,auditLevelFull:`Voll — jedes Ereignis (große Logs)`,fsAccessLabel:`Dateisystemzugriff`,fsAccessHint:`Geltungsbereich der Datei-Tools. Gilt ab der nächsten Sitzung.`,fsAccessUnrestricted:`Uneingeschränkt — beliebiger Pfad`,fsAccessProject:`Projekt — auf das Projektverzeichnis beschränkt`,debugStreamLabel:`Debug-Stream`,debugStreamHint:`Roher SSE-Hexdump auf stderr des Servers zum Provider-Debugging.`,heading:`Logs & Debug`},y={heading:`Sicherheit & Überwachung`,brainHeading:`🧠 Brain – Entscheidungssteuerung`,brainHint:`Entscheidungsmodelle, Council, Eskalation und Risikoobergrenze – sofort wirksam, in der globalen Konfiguration gespeichert.`,shadowHeading:`👁 Schatten-Agent – Flottenmonitor`,shadowHint:`Der Schatten-Agent überwacht alle Flottenagenten, verfolgt ihre Aufgaben und erkennt Anomalien.`,toolsHeading:`🔧 Tool Access Control`,toolsHint:`Einzelne Tools aktivieren oder deaktivieren. Verändernde Tools sind bernsteinfarben markiert.`,breakerHeading:`Prozess-Schutzschalter`,breakerHint:`bash/exec nach wiederholten Fehlern sperren; ein Auslösen startet den Kill-/Reset-Countdown.`},b={switchingTo:`Wechseln zu {{provider}} / {{model}}…`,switching:`Modell wird gewechselt…`,switchingToTarget:`Wechsel zu {{target}}…`,previousModel:`vorheriges Modell`,modelSwitchedNextRequest:`Modell gewechselt: {{from}} → {{to}}. Aktiv für die nächste LLM-Anfrage.`,modelSwitchedRunActive:`Modell gewechselt: {{from}} → {{to}}. Aktiv für die nächste LLM-Anfrage; der aktuelle Lauf wird fortgesetzt und nicht neu gestartet.`,fallbackExists:`Fallback-Profil "{{name}}" existiert bereits`,selectProviderModelFirst:`Wählen Sie zuerst einen Anbieter und ein Modell`,defaultProfileCreated:`Standard-Fallback-Profil erstellt`,profileEmpty:`Fallback-Profil "{{name}}" ist leer`,leaderSetFrom:`Leader aus {{name}} gesetzt`,modelSwitchTimeout:`Zeitüberschreitung beim Modellwechsel. Bitte erneut versuchen.`},x={workbenchHeading:`Workbench-Optik`,workbenchHint:`Sichtbarkeit der Workbench-Oberflächen im Chat umschalten.`,showModelReasoningLabel:`Modell-Reasoning anzeigen`,showModelReasoningHint:`LLM-Reasoning/Thinking-Blöcke im Chatverlauf rendern (TUI-Parität).`,showAgentSwarmPanelLabel:`Agent-Schwarm-Panel`,showAgentSwarmPanelHint:`Steuert, wo das Agent-Schwarm-Panel (Fleet + Mission Queue) angezeigt wird.`,swarmPanelBottom:`Unteres Panel`,swarmPanelSidebar:`Rechte Seitenleiste`,swarmPanelOff:`Aus`,titleAnimationLabel:`Titelanimation`,titleAnimationHint:`Terminal-/Tab-Titel mit Laufstatus animieren (TUI-Parität).`,keyboardShortcutsLabel:`Tastenkürzel`,keyboardShortcutsHint:`Globale Tastenkürzel (Strg+K, Alt+1..4, usw.) aktivieren. Standardmäßig deaktiviert.`,statusChipHeading:`Status-Chip & Statuszeile`,statusChipHint:`Visueller Stil für die TUI/CLI-Statuszeile und den Arbeits-Chip.`,thinkingWordLabel:`Denkwort`,thinkingWordHint:`Einzelnes kurzes Wort, das im TUI-Status-Chip angezeigt wird, während der Agent arbeitet.`,statuslineModeLabel:`Statuszeilen-Modus`,statuslineModeHint:`Detailgrad der TUI-Statusleiste.`,statuslineModeMinimum:`Minimal`,statuslineModeDetailed:`Detailliert`,statuslineModeNoColor:`Ohne Farbe`,animationStyleLabel:`Animationsstil`,animationStyleHint:`Animation für den TUI-Arbeits-Chip.`,animationStyleRainbow:`Regenbogen`,animationStyleWave:`Welle`,animationStylePulse:`Puls`,animationStyleDots:`Punkte`,animationStyleBreathe:`Atmen`,animationStyleStatic:`Statisch`,animationStyleCycle:`Wechselnd`,refineHeading:`Refine-Countdown & Diffs`,refineHint:`Grace-Countdown vor dem Refiner und Mindestanzahl von Dateien für die Multi-Diff-Fußzeile konfigurieren.`,preRefineSecondsLabel:`Vor-Refine-Countdown`,preRefineSecondsHint:`Wartezeit vor dem Refiner in Sekunden. 0 = Countdown überspringen und sofort verfeinern.`,preRefineSecondsPresets:`Voreinstellungen: {{presets}} Sekunden (0 = aus).`,multiDiffSummaryLabel:`Multi-Diff-Zusammenfassung`,multiDiffSummaryHint:`Mindestanzahl von Dateien, ab der die aggregierte 'N Dateien · +X -Y' Fußzeile über den Einzelblöcken erscheint.`,multiDiffSummaryPresets:`Voreinstellungen: {{presets}} (0 = aus).`,memoryHeading:`Read-Tool & SAGE-Memory-Injection`,memoryHint:`Umschalten, was das Read-Tool enthält und wann SAGE-Memory-Blöcke in Tool-Ergebnissen erscheinen.`,readSymbolsLabel:`Symbole lesen`,readSymbolsHint:`Wenn aktiv, enthält das Read-Tool Codebase-Index-Symbole neben dem Datei-Inhalt.`,showSageMemoryInjectLabel:`SAGE Memory Inject anzeigen`,showSageMemoryInjectHint:`Wenn aktiv, werden SAGE-Memory-Injection-Blöcke in Tool-Ergebnissen angezeigt.`,sageMemoryInjectThresholdLabel:`SAGE-Memory-Inject-Schwelle`,sageMemoryInjectThresholdHint:`Mindest-Beziehungsstärke für eine injizierte SAGE-Memory (0.72–0.95).`,footnote:`Diese Einstellungen spiegeln den TUI- /settings-Picker wider. Schalter wirken sofort; einige Felder erfordern einen Session-Neustart.`,sageRelaxed:`0,72 (locker)`,sageDefault:`0,85 (Standard)`,sageStrict:`0,95 (streng)`},S=`Zurücksetzen`,C=`Abbrechen`,w=`Alle Einstellungen zurücksetzen?`,T=`Dadurch werden die Standardeinstellungen wiederhergestellt und die Seite neu geladen.`,E=`Zurücksetzen`,D=JSON.parse(`{"heading":"Brain","headingHint":"Entscheidungsmodelle, Rat, Eskalation und Risiko-Decke — live angewendet, in der globalen Konfiguration gespeichert.","riskHeading":"Autonomie-Decke","escalationHeading":"Eskalation","escalationModeLabel":"Modus","escalationModeHint":"Headless: Das Brain blockiert nie auf einen Menschen — unbeantwortete Eskalationen werden über die sichere Endrichtlinie aufgelöst. Gilt für CLI/TUI-Sitzungen; das eigenständige WebUI-Brain ist immer headless.","escalationDecisionTimeoutLabel":"Entscheidungs-Timeout","escalationDecisionTimeoutHint":"Zeitbudget pro LLM-Aufruf für eine Brain-Entscheidung.","escalationHumanTimeoutLabel":"Timeout für menschliche Antwort","escalationHumanTimeoutHint":"Interaktiver Modus: Wie lange ein Eskalations-Prompt warten darf, bevor die Endrichtlinie ihn auflöst.","escalationTerminalPolicyLabel":"Endrichtlinie","escalationTerminalPolicyHint":"Wie eine headless-Eskalation ohne verfügbaren Menschen aufgelöst wird. Konservativ akzeptiert eine empfohlene Option bei niedrigem/mittlerem Risiko; alles-ablehnen akzeptiert nie automatisch; mit-Empfehlung-fortfahren akzeptiert eine empfohlene Option bei JEDEM Risiko.","escalationDecisionLogSizeLabel":"Größe des Entscheidungsprotokolls","escalationDecisionLogSizeHint":"Rollierendes In-Memory-Entscheidungsprotokoll für die Statusansicht.","rulesHeading":"Deterministische Regeln","rulesConfigured":"{{count}} konfiguriert","rulesBody":"Wird vor jedem Provider-Aufruf ausgewertet — der erste Treffer gewinnt. Bearbeiten Sie sie in der globalen Konfigurationsdatei; diese Ansicht ist schreibgeschützt.","rulesOff":"aus","rulesDropped":"{{count}} Regel(n) verworfen","heuristicsHeading":"Heuristiken","heuristicsBody":"Kostenlose Mustervermutungen, die eine Frage lösen, bevor ein Modell läuft. Standardmäßig alle an — schalten Sie eine aus, wenn ihre Vermutung für Ihre Arbeitslast falsch ist.","heuristicsLowRiskLabel":"Automatische Antwort bei niedrigem Risiko","heuristicsLowRiskHint":"Beantwortet risikoarme Anfragen automatisch, die bereits eine empfohlene Option tragen.","heuristicsBlockedLabel":"Blockiert-aufgelöst","heuristicsBlockedHint":"'blocked …' plus ein expliziter Auflösungsmarker im Kontext löst zu „fortfahren\\" auf.","heuristicsDeadlockLabel":"Deadlock überspringen","heuristicsDeadlockHint":"'deadlock' plus fehlgeschlagene Arbeitseinheiten im Kontext löst zu „überspringen und fortfahren\\" auf.","heuristicsRetryLabel":"Wiederholungen erschöpft","heuristicsRetryHint":"'failed'/'retry' plus nachweislich erschöpfte Wiederholungen markiert die Einheit als fehlgeschlagen und fährt fort.","heuristicsPingLabel":"Fortfahren-Ping","heuristicsPingHint":"Ein bloßer Fortfahren/Weiter-Ping ohne konkurrierende Alternative löst zu „fortfahren\\" auf.","heuristicsMarkers":"Marker: {{markers}}","qualityHeading":"LLM-Qualität","qualityCircuit_one":"Schaltung {{state}} · {{count}} Fehler","qualityCircuit_other":"Schaltung {{state}} · {{count}} Fehler","qualityResponseBudgetLabel":"Antwortbudget","qualityResponseBudgetHint":"Ausgabetoken pro Entscheidungsaufruf. Eine Brain-Antwort ist eine Entscheidung plus eine Begründung in einem Satz.","qualityRejectLabel":"Unsichere Antworten ablehnen","qualityRejectHint":"Behandelt eine abgelehnte oder leere Antwort als „diese Stufe konnte nicht entscheiden\\", statt sie als Antwort zu akzeptieren.","qualityMinConfidenceLabel":"Mindestkonfidenz","qualityMinConfidenceHint":"Lehnt Antworten ab, deren selbst gemeldete Konfidenz darunter liegt. Antworten ohne Konfidenzangabe bestehen immer.","qualityDenyTerminalLabel":"Ablehnung ist terminal","qualityDenyTerminalHint":"Ob eine Ablehnung aus der Einzel-LLM-Stufe die Entscheidung beendet. 'when-decided' macht eine echte Ablehnung terminal, während Infrastrukturfehler weiter eskalieren.","traceHeading":"Replay-Spur","traceRecordLabel":"Entscheidungsspuren aufzeichnen","traceRecordHint":"JSONL pro Entscheidung jeder Stufe, jedes Pool-Ziels und jeder Ratsabstimmung, mit Zeiten und Token-Nutzung. Standardmäßig aus — Aktivieren schreibt Entscheidungsinhalte auf die Festplatte.","traceContentLabel":"Spurinhalt","traceContentHint":"'full' behält Frage und Kontext (nötig zum Replay einer Entscheidung); 'redacted' kürzt Freitext; 'none' zeichnet nur Metadaten auf.","cacheHeading":"Entscheidungs-Cache","cacheStats":"{{hits}} Treffer / {{misses}} Fehlschlag · {{size}} live","cacheReplayLabel":"Identische Urteile wiedergeben","cacheReplayHint":"Verwendet ein früheres Rats-/LLM-Urteil für eine identische wiederholte Frage wieder. Deterministische Stufen und Frage-an-Mensch werden nie gecacht; ein Urteil, das das Protokoll als fehlgeschlagen beobachtet, wird entfernt.","cacheLifetimeLabel":"Eintragslebensdauer","cacheLifetimeHint":"Wie lange ein gecachtes Urteil wiedergebbar bleibt.","cacheMaxEntriesLabel":"Maximale Einträge","cacheMaxEntriesHint":"Obergrenze für live gecachte Urteile.","monitorHeading":"Monitor","monitorBody":"Selbstaktivierung bei Notfallsignalen. Der Monitor wird einmal beim Start gebaut, daher gelten diese Einstellungen für die nächste Sitzung statt live.","monitorWatchLabel":"Auf Notfallsignale achten","monitorWatchHint":"Tool-Fehlerketten, Fehlerstürme, Agent-Staus und Datei-Churn aktivieren das Brain von selbst.","monitorPolicyLabel":"Signalrichtlinie","monitorPolicyHint":"Wie ein erkanntes Signal aufgelöst wird. 'llm' konsultiert das Brain; 'steer' greift immer ein und 'observe' nie — beide ohne Provider-Aufruf.","modelsHeading":"Entscheidungsmodelle","modelsSessionBadge":"Sitzungsmodell","modelsResolvedBadge":"{{resolved}}/{{total}} aufgelöst","modelsUseSessionLabel":"Sitzungsmodell verwenden","modelsUseSessionHint":"Mit dem Modell entscheiden, das die Sitzung ausführt. Durch Hinzufügen von Modellen unten ausschalten.","modelsAddModel":"Modell hinzufügen","modelsPoolStrategyLabel":"Pool-Strategie","modelsPoolStrategyHint":"Fallback: Das erste Modell ist primär, der Rest wird bei Fehlern der Reihe nach versucht. Round-Robin: Entscheidungen rotieren durch den Pool.","councilHeading":"Rat","councilConvened":"einberufen","councilDisabled":"deaktiviert","councilEnableLabel":"Multi-LLM-Rat aktivieren","councilEnableHint":"Fragen mit hohem Einsatz werden von unabhängigen Sitzen (Ausführender / Skeptiker-mit-Veto / Prüfer) statt von einem Modell abgestimmt. Erfordert ≥2 auflösbare Wähler (explizite Sitze unten oder ein Pool mit ≥2 Modellen).","councilSeatsDerived":"Aus dem Pool abgeleitete Sitze: {{seats}}","councilCustomLens":"Benutzerdefinierte Entscheidungslinse — wird dem Sitz wörtlich gesendet.","councilCustomOption":"{{persona}} (benutzerdefiniert)","councilVeto":"Veto","councilAddVoter":"Wähler hinzufügen","councilRiskFloorLabel":"Risiko-Untergrenze","councilRiskFloorHint":"Mindestfragenrisiko, das den Rat statt der Einzelmodell-Stufe einberuft.","councilJudge":"Richter","councilJudgeDesc":"Stichentscheid-Modell, das die Begründung jeder Stimme sieht.","councilResolved":"aufgelöst: {{model}}","councilAlsoVoter":"⚠ auch ein Wähler","councilAuto":"auto","councilPick":"Auswählen…","councilAutoReset":"Auto","councilQuorumLabel":"Quorum","councilQuorumHint":"Anteil der Sitze, die eine gültige Stimme abgeben müssen.","councilApprovalLabel":"Zustimmung","councilApprovalHint":"Anteil des abgegebenen Stimmengewichts, den die Gewinneroption überschreiten muss.","councilPerSeatTimeoutLabel":"Timeout pro Sitz","councilPerSeatTimeoutHint":"Zeitbudget für die Stimme eines einzelnen Sitzes. Langsamer als das Entscheidungs-Timeout bedeutet, dass ein hängender Sitz die Abstimmung aufhält.","councilMaxConcurrencyLabel":"Max. Parallelität","councilMaxConcurrencyHint":"Wie viele Sitze parallel abstimmen. Verringern, wenn der Pool einen ratenbegrenzten Provider teilt.","councilDistinctnessLabel":"Sitzverschiedenheit","councilDistinctnessHint":"Doppelte Sitze ablehnen: 'model' erfordert verschiedene Modelle, 'provider' unabhängige Provider, damit ein Ausfall die Abstimmung nicht kippen kann.","councilVoterBudgetLabel":"Wähler-Antwortbudget","councilVoterBudgetHint":"Ausgabetoken pro Sitzaufruf — Reasoning-Modelle verbrauchen ihre Denk-Token aus diesem Budget.","councilRoundsLabel":"Beratungsrunden","councilRoundsHint":"Runde 1 ist unabhängig. In späteren Runden sieht jeder Sitz die Stimmen der anderen und kann seine Position überdenken. Nur die letzte Runde zählt — und jede Runde kostet einen weiteren Aufruf pro Sitz.","councilJudgeBudgetLabel":"Richter-Antwortbudget","councilJudgeBudgetHint":"Ausgabetoken für den stichentscheidenden Richteraufruf.","councilSeatTemplate":"Sitzvorlage:","ledgerHeading":"Entscheidungsprotokoll","ledgerRecordLabel":"Entscheidungen + Ergebnisse aufzeichnen","ledgerRecordHint":"Speichert jede Entscheidung und ihr beobachtetes Ergebnis; ähnliche vergangene Ergebnisse fließen in zukünftige Brain-Prompts ein.","ledgerAutoDenyLabel":"Nach Fehlern automatisch ablehnen","ledgerAutoDenyHint":"Deterministisch ablehnen (ohne LLM), sobald so viele aufeinanderfolgende Genehmigungen einer Entscheidungsgruppe in beobachteten Fehlern endeten.","ledgerMemoryEntriesLabel":"In-Memory-Einträge","ledgerMemoryEntriesHint":"Ringgröße im Speicher und Anzahl der beim Start von der Festplatte geladenen früheren Einträge.","ledgerRetryWindowLabel":"Interventions-Wiederholungsfenster","ledgerRetryWindowHint":"Eine gleichartige Monitor-Intervention, die innerhalb dieses Fensters erneut auslöst, markiert die vorherige Steuerung als Fehlschlag.","recentHeading":"Letzte Entscheidungen ({{count}})","recentEmpty":"In dieser Sitzung wurden noch keine Entscheidungen aufgezeichnet.","optInteractive":"Interaktiv (mich fragen)","optHeadless":"Headless (nie fragen)","optConservative":"Konservativ (Standard)","optDenyAll":"Alles ablehnen","optContinueRecommended":"Mit Empfehlung fortfahren","optNeverDefault":"Nie (Standard)","optWhenDecided":"Wenn entschieden","optAlways":"Immer","optFullDefault":"Voll (Standard)","optRedacted":"Gekürzt","optMetadataOnly":"Nur Metadaten","optConsultBrain":"Brain konsultieren (Standard)","optAlwaysSteer":"Immer steuern","optObserveOnly":"Nur beobachten","optFallback":"Fallback","optRoundRobin":"Round-Robin","optMediumPlus":"Mittel+","optHighPlus":"Hoch+","optCriticalOnly":"Nur kritisch","optNoneDefault":"Keine (Standard)","optDistinctModels":"Verschiedene Modelle","optDistinctProviders":"Verschiedene Provider","optDefault3":"Standard (3)","optOff":"Aus","pickPoolTitle":"Brain-Pool-Modell hinzufügen","pickPoolHint":"Geordneter Entscheidungspool — der erste ist primär.","pickVoterTitle":"Ratsmitglied hinzufügen","pickVoterHint":"Dialog bleibt offen — ≥2 Wähler hinzufügen, dann schließen.","pickJudgeTitle":"Ratsrichter wählen","pickJudgeHint":"Stichentscheid, der jede Stimme sieht.","persistError":"Einstellungen live angewendet, aber nicht gespeichert.","riskCopy":{"off":"Ein Mensch entscheidet alles","low":"Nur niedriges Risiko automatisch entscheiden","medium":"Automatisch bis mittleres Risiko entscheiden","high":"Automatisch bis hohes Risiko entscheiden","all":"Alles automatisch entscheiden"},"rulesConfigured_one":"{{count}} konfiguriert","rulesConfigured_other":"{{count}} konfiguriert"}`),O={default15s:`Standard (15 s)`,waitForever:`Unbegrenzt warten`,defaultHalf:`Standard (0,5)`,all:`Alle`,n200Default:`200 (Standard)`,offDefault:`Aus (Standard)`,n20Default:`20 (Standard)`,m5Default:`5 min (Standard)`,default:`Standard`,oneSerial:`1 (seriell)`,roundsOff:`1 (keine Beratung)`,default500:`Standard (500)`,default10m:`Standard (10 min)`},k={capToolCall:`Tool-Aufruf`,capReasoning:`Reasoning`,capTemperature:`Temperatur`,capAttachment:`Anhang`,capStructuredOutput:`Strukturierte Ausgabe`,capOpenWeights:`Offene Gewichte`},A={presetsHeading:`Schrift-Vorlagen`,presetsHint:`Eine Vorlage setzt alle Rollen auf einmal; Schriften werden erst bei der ersten Nutzung geladen.`,presets:{workbench:{label:`Werkbank`,description:`Der Standard-Look der Operator-Werkbank.`},plex:{label:`IBM Plex`,description:`Eine technische Schriftfamilie durchgehend.`},modern:{label:`Modern`,description:`Neutrale Inter mit JetBrains Mono für Code.`},geist:{label:`Geist`,description:`Klare Kombination aus Geist Sans und Mono.`},classic:{label:`Klassisch`,description:`Adobes Source Sans, Serif und Code Pro.`},editorial:{label:`Editorial`,description:`Serifen-Überschriften und eine buchartige Chat-Schrift.`},readable:{label:`Lesbar`,description:`Gut lesbare Schriften für lange Sitzungen.`},friendly:{label:`Freundlich`,description:`Runde, entspannte Formen mit Fira Code.`},monospace:{label:`Monospace`,description:`Überall Monospace, im Terminal-Stil.`},system:{label:`System`,description:`Schriften des Betriebssystems, kein Download.`}},rolesHeading:`Schriften nach Rolle`,rolesHint:`Überschreibe jede Rolle zusätzlich zur Vorlage. Mit „Wie …“ markierte Rollen folgen ihrer übergeordneten Rolle.`,roles:{ui:{label:`Oberfläche & Panels`,hint:`Schaltflächen, Menüs, Seitenleisten, Listen und Einstellungen.`},display:{label:`Überschriften`,hint:`Seiten- und Abschnittstitel.`},reading:{label:`Chat & Dokumente`,hint:`Assistentenantworten, Markdown und Postfachnachrichten.`},code:{label:`Inline-Code & Daten`,hint:`Codeblöcke, Logs, IDs und Tabellenwerte.`},editor:{label:`Code-Editor`,hint:`Monaco-Dateieditor und Diff-Ansicht.`},terminal:{label:`Terminal`,hint:`Integrierte Terminalsitzungen.`}},fromPreset:`Vorlage ({{name}})`,inherit:`Wie {{role}} ({{name}})`,categories:{sans:`Serifenlos`,serif:`Serif`,mono:`Monospace`},systemTag:`System`,sizeHeading:`Größe & Abstand`,sizeHint:`Die Textgröße der Oberfläche skaliert alle Panels; Editor- und Terminalgrößen werden in Pixeln festgelegt.`,sizePresets:{compact:`Kompakt`,normal:`Normal`,comfortable:`Komfortabel`,large:`Groß`,custom:`Benutzerdefiniert`},controls:{uiScale:{label:`Textgröße der Oberfläche`,hint:`Skaliert Text in Panels, Chat und Dialogen.`},editorFontSize:{label:`Schriftgröße im Editor`,hint:`Monaco-Editor und Diff-Ansicht.`},codeLineHeight:{label:`Zeilenhöhe für Code`,hint:`Editor, Diff-Ansicht und Codeblöcke.`},terminalFontSize:{label:`Schriftgröße im Terminal`,hint:`Integriertes Terminal.`},terminalLineHeight:{label:`Zeilenhöhe im Terminal`,hint:`Zeilenabstand im Terminal.`},ligatures:{label:`Code-Ligaturen`,hint:`Verbindet => !== >= in unterstützenden Schriften (Fira Code, Cascadia, JetBrains Mono…) zu einer Glyphe. Gilt nicht im Terminal.`}},previewHeading:`Live-Vorschau`,preview:{heading:`Den Sitzungslader umbauen`,body:`Der Agent hat 12 Dateien gelesen und eine zweistufige Änderung vorgeschlagen. Prüfe den Diff vor dem Anwenden.`,label:`Oberflächen-Label`},resetAll:`Alle Schrifteinstellungen zurücksetzen`,resetOverrides:`Rollen-Überschreibungen löschen`},j={description:`Manage the decision provider and see where Jev is used.`,loading:`Loading Jev settings…`,timeout:`No response from server. Reconnect and retry.`,route:`Decision provider`,routeChange:`Changing provider clears the previous key, endpoint and model. Enter a new key or use the provider environment variable.`,key:`API key`,keyHint:`Leave blank to keep the current key`,removeKey:`Remove saved key (environment key may still apply)`,endpoint:`Endpoint override`,model:`Model override`,defaultHint:`Empty uses provider default`,requestTimeout:`Request timeout (ms)`,featureHint:`Switches permit Jev usage. Actual use also depends on the prerequisites and triggers below.`,save:`Save Jev settings`,test:`Test saved connection`,testHint:`The test sends one small billed request. Save changes first. Restart existing sessions to apply all consumers.`,activity:`Jev activity`,activityHint:`Refreshes every 3 seconds. Last 300 requests in this server process, across its sessions. No prompts, credentials or raw errors. Disk log rotates at 5 MB. Answered means a typed response, not necessarily a decision accepted by the consumer.`,filter:`Feature`,all:`All`,empty:`No matching Jev requests yet. Test the connection or use an enabled feature.`,features:{brain:`Brain decisions`,memoryTriage:`Memory triage`,topicShift:`Topic changes`,memoryRecall:`Memory recall`,compaction:`Context compaction`,kanbanVerify:`Kanban verification`,modelTier:`Subagent model tier`,semanticLint:`Semantic lint`,tool:`Entscheidungswerkzeug für Agenten`,skillSuggestion:`Skill suggestions`,fleetDispatch:`Fleet dispatch`},readinessScope:`These are saved profile conditions, not the live state of every session. A request below means the service was called, not that its answer was accepted.`,unknownReadiness:`Readiness unavailable on this server`,unsaved:`Unsaved change`,lastRequest:`Last runtime request`,notObserved:`No runtime request in the displayed recent log.`,contextStrategy:`Profile compaction strategy`,contextScope:`Selective enables the Jev selection path. Save changes and restart existing sessions; a session-specific strategy can override this profile setting.`,openContext:`Open session context settings`,configureTiers:`Configure model tiers`,tiersHint:`Enable tiers and define at least two levels, cheapest first. Set their models or fallback profiles and a default tier. Changes here save immediately.`,checkHeading:`Live capability checks`,checkHint:`Runs 22 synthetic cases across all 11 features using the saved account, including disabled features. Makes billed API calls, sends no project content and changes no feature settings. Passing does not prove workload quality or that a session uses the feature.`,checkAll:`Test all 11 features`,checkRunning:`Running live checks…`,expected:`Expected`,actual:`Actual`,includeChecks:`Include diagnostic requests`,selfTest:`Diagnostic`,account:{ready:`Account configured`,unconfigured:`Account required`,unusable:`Account settings invalid`},readiness:{disabled:`Disabled`,"account-required":`Account required`,blocked:`Setup required`,conditional:`Configured · waiting for trigger`},reasons:{disabled:`This feature is not permitted to use Jev.`,"account-required":`Configure a valid Jev account first.`,"selective-required":`Jev selection requires selective compaction; hybrid and intelligent do not use this selector.`,"tiers-disabled":`The model tier system is disabled.`,"tiers-required":`Define at least two model tiers.`,"skills-disabled":`The global skills feature is disabled.`,"trigger-required":`Runs only when its trigger conditions are met.`,"memory-disabled":`Memory or SAGE is disabled.`,"recall-injection-required":`SAGE turn context recall is disabled; the Jev recall filter requires this path.`},triggers:{brain:`Runs before later decision tiers; uncertain answers defer.`,memoryTriage:`Runs during triage value evaluation and merge decisions.`,topicShift:`Runs when topic-change prechecks require a judgment; repeated results may be cached.`,memoryRecall:`Filters candidates returned by SAGE turn context recall; cached judgments are reused.`,compaction:`Rates middle conversation turns during selective compaction; requires a provider and sufficient history.`,kanbanVerify:`Judges open agent-type criteria against changed files and their diff.`,modelTier:`Suggests a tier for delegations with no explicit model/tier and no matching role/phase route.`,semanticLint:`Runs when the semantic lint command finds candidates; it is not an automatic edit watcher.`,tool:`Wird ausgeführt, wenn ein Agent jev mit Belegen und typisierten Fragen aufruft.`,skillSuggestion:`Requires skills enabled, at least two skills, and gate/fit thresholds; results may be cached.`,fleetDispatch:`Runs only for ambiguous routing with multiple candidate roles.`},recallTurnContext:`SAGE turn context recall`,recallTurnHint:`Adds relevant memories to each new turn; the Jev recall filter runs on this path. Memory and SAGE must also be enabled. Save and restart existing sessions.`},M={title:e,subtitle:t,tabs:n,model:r,connection:i,provider:a,providerModels:o,mcp:s,allowlist:c,oauth:l,general:u,agent:d,execution:f,fallbacks:p,fleet:m,integrations:h,features:g,context:_,logs:v,security:y,toast:b,display:x,resetLabel:S,cancel:C,resetConfirmTitle:w,resetConfirmBody:T,resetConfirmAction:E,brain:D,brainOpt:O,modelSchema:k,fonts:A,jev:j};export{d as agent,c as allowlist,D as brain,O as brainOpt,C as cancel,i as connection,_ as context,M as default,x as display,f as execution,p as fallbacks,g as features,m as fleet,A as fonts,u as general,h as integrations,j as jev,v as logs,s as mcp,r as model,k as modelSchema,l as oauth,a as provider,o as providerModels,E as resetConfirmAction,T as resetConfirmBody,w as resetConfirmTitle,S as resetLabel,y as security,t as subtitle,n as tabs,e as title,b as toast};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`Configurações`,t=`Configure every aspect of your agent workspace`,n={general:`Geral`,provider:`Provedor`,connection:`Conexões`,agent:`Agente`,execution:`Execução`,fallbacks:`Fallbacks`,routing:`Roteamento`,fleet:`Frota`,integrations:`Integrações`,chimera:`Chimera`,context:`Contexto`,logs:`Registros`,security:`Segurança`,display:`Exibição`,displayDesc:`Aparência do workbench, chip de status, temporizadores de refine e alternâncias de injeção de ferramenta/memória — reflete o SettingsPicker do TUI.`,generalDesc:`Aparência, idioma e preferências de exibição — espelha o seletor de configurações da TUI.`,providerDesc:`Chaves de API, provedores salvos e o catálogo de provedores.`,connectionDesc:`URL do servidor WebSocket e saúde da conexão.`,agentDesc:`Autonomia, refinamento de prompts, raciocínio e roteamento de modelos.`,executionDesc:`Limites de iterações, comportamento de saída e disjuntor de processo.`,fallbacksDesc:`Cadeia de fallback de modelos, favoritos e perfis de fallback nomeados.`,routingDesc:`Matriz de roteamento de modelos por fase e por função.`,fleetDesc:`Concorrência de subagentes, streaming e previsão do próximo passo.`,integrationsDesc:`Cliente HQ, servidores MCP e notificações do Telegram.`,chimeraDesc:`Configuração do agente de revisão de código pós-sessão.`,contextDesc:`Flags de recursos, estratégia de contexto, compactador e controles de plugins.`,logsDesc:`Nível de log, detalhe de auditoria, escopo de acesso ao sistema de arquivos e stream de depuração.`,securityDesc:`Controle de decisão Brain, agente sombra e acesso a ferramentas.`,fonts:`Fontes`,fontsDesc:`Fontes de interface, chat, editor e terminal; tamanho, altura de linha e ligaduras.`,jev:`Jev`,jevDesc:`TypeSafe / Jev`},r={heading:`Modelo`,loading:`Carregando modelos...`,notFound:`Nenhum modelo encontrado para este provedor. O catálogo pode estar vazio ou ainda carregando.`,selectProviderFirst:`Selecione um provedor primeiro`,context:`{{count}}k contexto`},i={providerHealth:{heading:`Saúde dos provedores`,hint:`Quais pares de provedor/modelo estão saudáveis, degradados ou bloqueados e por quê.`,refresh:`Atualizar`,empty:`Nenhum provedor monitorado ainda.`,summary:`{{blocked}} bloqueados · {{degraded}} degradados · {{healthy}} saudáveis`,totalFailures:`falhas`,rateLimits:`limites de taxa`,state:{blocked:`Bloqueado`,degraded:`Degradado`,healthy:`Saudável`},blocked:`Bloqueado`,degraded:`Degradado`,consecutive:`falhas consecutivas`,retryNow:`Tentar novamente`,clear:`Limpar`,allHealthy:`Todos os provedores monitorados estão saudáveis.`,statSuccesses:`sucessos`,statFailures:`falhas`,statRateLimits:`limites de taxa`,statConsecutive:`consecutivas`,lastError:`Último erro`,recentErrors:`Erros recentes`,autoRecovery:`Recuperação automática às`,expired:`Expirado`,remainingSecs:`{{secs}} s`,remainingMins:`{{mins}} min`,remainingHours:`{{hours}} h {{mins}} min`,explainHealthy:`Respondendo normalmente.`,explain402:`Limite de cobrança atingido (402). Bloqueado por cerca de 15 minutos até a redefinição da cota.`,explain403quota:`Limite de uso deste ciclo atingido. Bloqueado até a próxima redefinição (cerca de 15 min).`,explain403auth:`Erro de permissão/autenticação. Não é possível repetir — verifique a chave de API e os direitos de acesso.`,explain429:`Limite de taxa atingido (429). Restrição temporária com recuperação automática.`,explain529:`Servidor sobrecarregado (529). O provedor está sob carga intensa.`,explain5xx:`Erro do servidor ({{status}}). Problema temporário no backend.`,explainNetwork:`Rede inacessível. Verifique sua conexão ou a página de status do provedor.`,explainTimeout:`Tempo limite da solicitação excedido (408). O provedor demorou para responder.`,explainStreamHang:`Fluxo interrompido (599). O provedor parou durante a resposta.`,explainQuota:`Cota esgotada. Bloqueado até a janela de redefinição.`,explainUnknown:`Tipo de falha: {{kind}} / status: {{status}}.`},wsUrlLabel:`URL do servidor WebSocket`,wsUrlPlaceholder:`ws://localhost:3456`,wsUrlHint:`URL do servidor WebSocket do agente. O servidor é executado junto com o CLI.`,startingHeading:`Iniciando o servidor WebSocket`,startingBody:`Para desenvolvimento, execute ./dev.ps1 da raiz do repo (opcionalmente defina WS_HOST/WS_PORT antes). Caso contrário, inicie a WebUI com a CLI: wstack --webui.`,healthHeading:`Saúde das conexões`,healthHint:`Relatório ao vivo de propriedade, armazenamento, fila, observador e latência dos serviços.`,healthRefresh:`Atualizar`,healthLoading:`Verificando serviços…`,healthUnknown:`Saúde desconhecida`,healthDisconnected:`O WebSocket da WebUI está desconectado.`,healthRestartRequired:`Reinicie o backend uma vez para ativar o relatório de conexões.`,healthOptional:`Sob demanda`,endpointInvalidBadge:`caminho do socket muito longo`,endpointInvalidRemedy:`O caminho do socket IPC excede o limite de comprimento desta plataforma, então o daemon compartilhado não pode iniciar. As consultas recorrem a um modo local de processo mais lento. Remédio: defina um TMPDIR mais curto (ex. export TMPDIR=/tmp) e reinicie o WrongStack.`,healthCounts:`{{healthy}} saudáveis · {{attention}} atenção · {{sleeping}} inativos`,healthOverall:{healthy:`Serviços obrigatórios saudáveis`,degraded:`Serviço obrigatório degradado`,error:`Serviço obrigatório indisponível`},healthStatus:{healthy:`Saudável`,degraded:`Degradado`,offline:`Inativo`,unavailable:`Indisponível`,error:`Erro`},services:{kanban:{label:`Kanban IPC`},mailbox:{label:`Mailbox IPC`}},serviceActionRestart:`Reiniciar {{label}}`,webuiTransport:`Transporte do WebUI`,serviceAutoRestarting:`Reiniciando automaticamente…`},a={removeProfileConfirm:`Remover o perfil “{{alias}}” e todas as suas chaves?`,removeProfileBody:`As credenciais salvas e as referências a esta conta nas rotas de modelos serão removidas.`,deleteKeyConfirm:`Excluir a chave “{{label}}” de “{{alias}}”?`,addProfile:`Adicionar conta / perfil de autenticação`,profileAlias:`Alias do perfil de autenticação`,profileHint:`Cada conta tem seu próprio alias e credenciais. Os destinos de fallback são alias/modelo.`,profileExists:`O perfil “{{alias}}” já existe. Escolha outro alias.`,operationTimeout:`O servidor não respondeu. Verifique a conexão e tente novamente.`,savedProviderCount_one:`{{count}} provedor`,savedProviderCount_other:`{{count}} provedores`,keyCount_one:`{{count}} chave configurada`,keyCount_other:`{{count}} chaves configuradas`,activeKeyCount_one:`{{count}} chave ativa`,activeKeyCount_other:`{{count}} chaves ativas`,subscriptionHeading:`Login com assinatura`,apiKeysHeading:`Provedores de chave de API`,apiKeysBody:`Escolha um provedor do catálogo e adicione uma chave de API, ou gerencie os provedores salvos.`,tabCatalog:`Catálogo`,tabSaved:`Salvos ({{count}})`,searchPlaceholder:`Pesquisar entre {{count}} provedores (nome / id / família)…`,loadingCatalog:`Carregando catálogo...`,noMatch:`Nenhum provedor corresponde a "{{query}}".`,configured:`Configurado`,reachable:`Acessível`,envVar:`ENV: {{var}}`,modelCount_one:`{{count}} modelo`,modelCount_other:`{{count}} modelos`,keyPlaceholder:`Chave de API do {{name}}`,orEnv:`Ou defina {{env}} no ambiente.`,addApiKey:`Adicionar chave de API`,manageKeys:`Gerencie suas chaves de API e configurações de provedor`,addProvider:`Adicionar provedor`,addCustomHeading:`Adicionar provedor personalizado`,localServers:`Servidores locais — clique para preencher:`,providerIdPlaceholder:`ID do provedor (ex. my-llm-server)`,apiKeyOptionalPlaceholder:`Chave de API (opcional)`,noSaved:`Nenhum provedor salvo`,noSavedHint:`Adicione um provedor para começar`,apiKeysLabel:`Chaves de API`,addKey:`Adicionar chave`,noKeys:`Nenhuma chave configurada`,active:`Ativa`,setActive:`Definir como ativa`,keyLabelPlaceholder:`Rótulo da chave (ex. default, production)`,apiKeyPlaceholder:`Chave de API`,saveKey:`Salvar chave`,savedToast:`Chave salva para {{name}}`},o={addCustom:`Adicionar modelo personalizado`,addCustomTitle:`Adicionar modelo personalizado`,addFromCatalog:`Adicionar do catálogo`,catalogSearchPlaceholder:`Pesquisar no catálogo models.dev…`,catalogSearchTitle:`Pesquisar no catálogo models.dev`,colActions:`Ações`,colCaps:`Capacidades`,colContext:`Contexto`,colCost:`Custo`,colModalities:`Modalidades`,colModel:`Modelo`,colOutput:`Saída`,colSource:`Origem`,editModel:`Editar modelo`,emptyState:`Nenhum modelo ainda — adicione do catálogo ou crie um modelo personalizado.`,fieldContext:`Janela de contexto`,fieldCostInput:`Custo de entrada`,fieldCostOutput:`Custo de saída`,fieldDescription:`Descrição`,fieldFamily:`Família`,fieldInputLimit:`Limite de entrada`,fieldInputModalities:`Modalidades de entrada`,fieldLastUpdated:`Última atualização`,fieldName:`Nome`,fieldOutput:`Saída máxima`,fieldOutputModalities:`Modalidades de saída`,fieldReleaseDate:`Data de lançamento`,modelAdded:`{{model}} adicionado`,modelRemoved:`{{model}} removido`,modelSaved:`{{model}} salvo`,noResults:`Nenhum modelo encontrado`,removeModel:`Remover modelo`,sectionCapabilities:`Indicadores de capacidades`,sectionDates:`Datas`,sectionIdentity:`Identidade`,sectionLimits:`Limites`,sectionModalities:`Modalidades`,sectionPricing:`Preços (por 1M de tokens, USD)`,tabForm:`Formulário`,tabRawJson:`JSON bruto`,typeToSearch:`Digite para pesquisar…`,useModel:`Usar {{model}}`,usingModel:`Usando {{model}}`,filterPlaceholder:`Filtrar modelos…`},s={status:{connected:`Conectado`,connecting:`Conectando`,sleeping:`Inativo`,discovering:`Descobrindo`,error:`Erro`,stopped:`Parado`,unknown:`Desconhecido`},disabled:`Os servidores MCP estão desativados.`,wakeTitle:`Acordar servidor`,sleepTitle:`Colocar em repouso`,discoverTitle:`Descobrir ferramentas`,editTitle:`Editar`,removeTitle:`Remover`,statusLabel:`Status:`,enabledLabel:`Ativado:`,yes:`Sim`,no:`Não`,descriptionLabel:`Descrição:`,pidLabel:`PID:`,errorLabel:`Erro:`,toolsLabel:`Ferramentas ({{count}}):`,noTools:`Nenhuma ferramenta descoberta ainda`,serverNameRequired:`O nome do servidor é obrigatório`,dialogTitleEdit:`Editar servidor MCP`,dialogTitleAdd:`Adicionar servidor MCP`,dialogTitleAddCustom:`Adicionar servidor MCP personalizado`,fieldName:`Nome`,fieldNamePlaceholder:`ex. github, filesystem`,fieldTransport:`Transporte`,fieldUrl:`URL`,fieldCommand:`Comando`,fieldCommandPlaceholder:`ex. npx`,fieldArgs:`Args`,fieldArgsHint:`(separados por espaços)`,fieldArgsPlaceholder:`ex. -y @modelcontextprotocol/server-github`,fieldEnv:`Variáveis de ambiente`,fieldEnvHint:`(KEY=valor, uma por linha)`,fieldDescription:`Descrição`,fieldDescriptionPlaceholder:`Servidor MCP do GitHub para acesso ao repositório`,enableServer:`Ativar servidor`,lazyConnect:`Conexão preguiçosa`,lazyConnectHint:`(não inicia até a primeira chamada; hiberna quando ocioso)`,saveChanges:`Salvar alterações`,addServer:`Adicionar servidor`,requires:`Requer: {{vars}}`,added:`Adicionado`,heading:`Servidores MCP`,summary:`{{connected}} conectados · {{sleeping}} inativos · {{total}} no total`,addCustom:`Personalizado`,tabRecommended:`Recomendados`,tabServers:`Servidores`,tabAddCustom:`Personalizado`,recommendedBody:`Adição com um clique para servidores MCP populares. Clique em Adicionar para preencher a configuração e depois confirme. Servidores que exigem credenciais precisarão de suas variáveis de ambiente antes do uso.`,loadingServers:`Carregando servidores...`,noServers:`Nenhum servidor MCP configurado`,noServersHint:`Mude para a aba Recomendados para adicionar servidores populares, ou Personalizado para os seus.`,addCustomBody:`Configure um servidor MCP personalizado com transporte stdio, SSE ou HTTP.`,addCustomBodyHint:`Para servidores populares, use a aba Recomendados — tudo já está pré-configurado.`,removeConfirmTitle:`Remover o servidor "{{name}}"?`,removeConfirmBody:`Isso remove o servidor MCP da sua configuração.`,toastAdded:`Servidor "{{name}}" adicionado`,toastRemoved:`Servidor "{{name}}" removido`,toastDiscovered:`Descobertas {{count}} ferramentas de "{{name}}"`,toastSleeping:`O servidor "{{name}}" está inativo`,toastConnected:`Servidor "{{name}}" conectado`,toastReconnected:`Servidor "{{name}}" reconectado`,toastDisconnected:`Servidor "{{name}}" desconectado: {{reason}}`,toastError:`Servidor "{{name}}" erro: {{error}}`},c={title:`Limpar a allowlist salva?`,body_one:`Isso removerá o modelo fixado para {{provider}}. O seletor de modelos voltará ao catálogo models.dev.`,body_other:`Isso removerá os {{count}} modelos fixados para {{provider}}. O seletor de modelos voltará ao catálogo models.dev.`,undoHint:`Você pode desfazer por 8 segundos após confirmar.`,keepTitle:`Manter allowlist (Esc)`,clearTitle:`Limpar allowlist (Enter)`,clear:`Limpar allowlist`},l={termsWarning:`Entre com uma assinatura em vez de uma chave de API. Usar uma assinatura fora de seu cliente oficial pode violar os Termos do provedor — sua conta pode ser limitada ou banida. Uma chave de API é o caminho sancionado para uso programático.`,signIn:`Entrar`,waitingBrowser:`Aguardando seu login…`,openSignIn:`Abrir página de login`,pasteLoopbackBusy:`Porta loopback ocupada — cole a URL de redirecionamento`,pasteCantReach:`O navegador não alcança este servidor? Cole a URL de redirecionamento`,submit:`Enviar`,enterCode:`Insira este código na página de verificação:`,openVerification:`Abrir página de verificação`,waitingCode:`Aguardando autorização…`,exchanging:`Trocando tokens…`,fetchingModels:`Buscando modelos…`,signedIn:`Conectado.`,signedInToast:`Conectado — {{provider}}`,signInFailed:`Login falhou`,accountCount_one:`{{count}} conta salva`,accountCount_other:`{{count}} contas salvas`,active:`Ativo`,inactive:`Inativo`,retry:`Repetir`,retryLogin:`Reautenticar esta conta`,newAccount:`Nova conta`,aliasPlaceholder:`ex. {{default}}`},u={showThinkingLabel:`Mostrar registros de raciocínio`,showThinkingHint:`Exibe os blocos de raciocínio concluídos no histórico do chat.`,groupToolCallsLabel:`Agrupar chamadas de ferramentas`,groupToolCallsHint:`Agrupa chamadas consecutivas de ferramentas em um único indicador.`,autoCollapseInputLabel:`Recolher editor sob o histórico`,autoCollapseInputHint:`Ao carregar uma sessão com mensagens, recolher o editor sob o histórico. Desativado por padrão — o editor permanece expandido até ser recolhido manualmente.`,themeHeading:`Tema`,themeLight:`Claro`,themeDark:`Escuro`,themeSystem:`Sistema`,themeSystemHint:`Sistema segue a preferência claro/escuro do seu sistema operacional.`,preferencesHeading:`Preferências`,compactDensity:`Densidade compacta`,compactDensityHint:`Espaçamento mais estreito em todo o chat.`,soundOnComplete:`Som ao concluir`,soundOnCompleteHint:`Reproduz um toque suave quando uma execução termina.`,titleAnimation:`Animação do título`,titleAnimationHint:`Mostrar título animado do terminal no CLI.`,thinkingWordLabel:`Palavra de raciocínio (CLI/TUI)`,thinkingWordHint:`Palavra exibida no chip de status da TUI. Uma única palavra curta.`,statuslineModeLabel:`Modo da linha de status (CLI/TUI)`,statuslineModeHint:`Densidade da linha de status da TUI.`,statuslineModeDetailed:`Detalhado`,statuslineModeMinimum:`Mínimo`,statuslineModeNoColor:`Sem cor`,animationStyleLabel:`Estilo de animação (CLI/TUI)`,animationStyleHint:`Animação do chip de trabalho da TUI.`,animationStyleRainbow:`Arco-íris`,animationStyleWave:`Onda`,animationStylePulse:`Pulso`,animationStyleDots:`Pontos`,animationStyleBreathe:`Respiração`,animationStyleStatic:`Estático`,animationStyleCycle:`Ciclo`,languageHeading:`Idioma`,languageLabel:`Idioma da interface`,languageHint:`Altera apenas o texto da interface. Prompts, skills e a saída do modelo não são afetados.`,paletteHeading:`Paleta de cores`,paletteSwitcherTitle:`Paleta de cores`,paletteHint:`Escolha a cor principal (e suas derivadas). As superfícies neutras permanecem as mesmas.`,paletteSignal:`Sinal`,paletteEmeraldGold:`Esmeralda e dourado`,paletteBlueNavy:`Azul-marinho`,palettePurplePink:`Roxo e rosa`,paletteCyanTeal:`Ciano e verde-azulado`,paletteRoseCopper:`Rosa e cobre`,paletteIndigoAmber:`Índigo e âmbar`,paletteSageSand:`Salvia e areia`,paletteSlateViolet:`Lousa e violeta`,paletteCoralMint:`Coral e hortelã`,paletteArcticEmber:`Ártico e brasa`,paletteMossRust:`Musgo e ferrugem`},d={autonomyHeading:`Autonomia e Comportamento`,autonomyModeLabel:`Modo de autonomia`,autonomyModeHint:`Quão independentemente o agente prossegue entre turnos.`,autonomyModeOff:`Desativado — controle manual total`,autonomyModeSuggest:`Sugerir — sugere os próximos passos`,autonomyModeAuto:`Auto — breve atraso de confirmação`,autonomyModeEternal:`Eterno — autônomo até o objetivo concluído`,autonomyModeEternalParallel:`Eterno Paralelo — frota multi-agente`,autoProceedDelayLabel:`Atraso de auto-prosseguir`,autoProceedDelayHint:`Milissegundos antes de o agente auto-prosseguir no modo Auto. 0 = imediato.`,yoloLabel:`Modo YOLO`,yoloHint:`Executar chamadas de ferramentas sem perguntar, exceto os tipos de dano listados abaixo.`,yoloConfirmHeading:`Ainda perguntar sobre`,yoloConfirmIntro:`O YOLO executa todo o resto sem supervisao. Estes sao os tipos de dano diante dos quais ele para e pergunta.`,yoloConfirmLockedNote:`Estes dois sempre perguntam. Eles escrevem os arquivos que decidem se voce sera consultado, entao desliga-los deixaria o agente desligar o proprio sistema de aprovacao.`,yoloKindLocked:`sempre pergunta`,yoloKind:{"disk-wipe":{label:`Apagar um disco`,hint:`mkfs, dd para um dispositivo bruto, format C:, fork bomb`},"system-halt":{label:`Desligar ou reiniciar`,hint:`shutdown, reboot`},"delete-outside":{label:`Apagar fora do projeto`,hint:`exclusao recursiva forcada que sai do projeto ou atinge uma raiz de sistema ou home`},"git-history":{label:`Reescrever o historico do git`,hint:`reset --hard, clean -f, push --force, filter-branch`},publish:{label:`Publicar ou implantar`,hint:`npm publish, docker push, kubectl delete namespace`},"download-and-run":{label:`Executar codigo baixado`,hint:`curl | sh e cargas inline que baixam e executam`},"bulk-delete":{label:`Apagar em massa`,hint:`find -exec rm, rmSync inline em muitos caminhos`},"agent-state":{label:`Escrever o estado do proprio WrongStack`,hint:`config.json, trust.json, auth.json`},"credential-bind":{label:`Vincular uma chave de API a um endpoint`,hint:`anexar uma chave conhecida a uma URL de provedor`}},refineHeading:`Refinamento de Prompt`,enableRefineLabel:`Ativar refinamento`,enableRefineHint:`Reescreve os prompts antes de enviar — instruções mais claras, melhores resultados.`,refineDelayLabel:`Atraso de refinamento`,refineDelayHint:`Contagem regressiva antes do envio automático do prompt refinado.`,refineLanguageLabel:`Idioma de refinamento`,refineLanguageHint:`Mantenha seu idioma ou traduza para inglês para o modelo.`,refineLanguageOriginal:`Original — mantenha seu idioma`,refineLanguageEnglish:`Inglês — traduzir para inglês`,refinerProviderLabel:`Provedor do refinador`,refinerProviderHint:`Id do provedor para o refinamento de objetivos. Vazio = usar o provedor da sessão.`,refinerProviderDefault:`Provedor da sessão`,refinerModelLabel:`Modelo do refinador`,refinerModelHint:`Id do modelo para o refinamento de objetivos. Vazio = usar o modelo da sessão.`,refinerModelDefault:`Modelo da sessão`,refinerProfileLabel:`Perfil de fallback do refinador`,refinerProfileHint:`Perfil de fallback nomeado para refinamento de objetivos. Substitui o provedor e o modelo.`,refinerProfileDefault:`Nenhum — usar provedor e modelo ou os padrões da sessão`,reasoningHeading:`Raciocínio e Cache`,reasoningModeLabel:`Modo de raciocínio`,reasoningModeHint:`Controla como o modelo usa o pensamento estendido. Auto = padrão do provedor.`,reasoningModeAuto:`Auto — padrão do provedor`,reasoningModeOn:`Ligado — forçar pensamento`,reasoningModeOff:`Desligado — desativar pensamento`,reasoningEffortLabel:`Esforço de raciocínio`,reasoningEffortAuto:`Auto (geral)`,reasoningEffortAutoHint:`Configuração geral: {{value}}`,reasoningEffortHint:`Quanto compute o modelo gasta pensando. Enviado apenas quando o modelo suporta.`,reasoningEffortNone:`Nenhum`,reasoningEffortMinimal:`Mínimo`,reasoningEffortLow:`Baixo`,reasoningEffortMedium:`Médio`,reasoningEffortHigh:`Alto`,reasoningEffortXhigh:`Muito alto`,reasoningEffortMax:`Máx`,preserveThinkingLabel:`Preservar pensamento`,preserveThinkingHint:`Mantém os blocos de raciocínio entre turnos para continuidade de contexto.`,cacheTtlLabel:`TTL de cache`,cacheTtlHint:`Tempo de vida do cache de prompt. 1h custa mais na escrita mas economiza em releituras (Anthropic).`,cacheTtlDefault:`Padrão — padrão do provedor`,cacheTtl5m:`5 minutos`,cacheTtl1h:`1 hora`,capsHint:`Use wstack models caps para verificar o que o modelo atual suporta. Configurações não suportadas são omitidas silenciosamente por requisição.`,routingHeading:`Roteamento de modelo`,routingRouteKey:`Chave de rota de modelo`,routingPhasesGroup:`Fases`,routingRolesGroup:`Funções {{label}}`,routingCustomGroup:`Rotas personalizadas existentes`,routingTargetAria:`Destino da rota de modelo`,routingTargetEmpty:`— Limpar rota —`,routingTargetProfilesGroup:`Perfis de fallback`,routingTargetModelsGroup:`Modelos (provedor/modelo)`,routingSet:`Definir`,routingReasoningModeAria:`Modo raciocínio nova rota`,routingReasoningEffortAria:`Esforço raciocínio nova rota`,routingReasoningPreserveAria:`Preservação raciocínio nova rota`,routingReasoningModeFor:`Modo raciocínio para {{key}}`,routingReasoningEffortFor:`Esforço raciocínio para {{key}}`,routingReasoningPreserveFor:`Preservação raciocínio para {{key}}`,noRoutes:`Ainda não há rotas de modelo.`,leaderModel:`modelo líder`,autonomyDelayMsLabel:`Atraso de continuação automática`,autonomyDelayMsHint:`Milissegundos antes de o agente continuar automaticamente no modo Auto. 0 = imediato.`,refineCountdownLabel:`Contagem regressiva de refinamento`,refineCountdownHint:`Período de carência antes do envio automático do prompt refinado (milissegundos).`,reasoningEffortModelSet:`níveis do modelo ativo`,reasoningEffortUnsupported:`Não oferecido por este modelo (suportados: {{levels}}) — a configuração será omitida.`},f={heading:`Execução`,maxIterationsLabel:`Iterações máx por run`,maxIterationsHint:`Teto rígido de turnos LLM por agent.run().`,autoProceedMaxIterationsLabel:`Iterações máx de auto-prosseguir`,autoProceedMaxIterationsHint:`Para o auto-prosseguir após N iterações. 0 = ilimitado.`,confirmExitLabel:`Confirmar antes de sair`,confirmExitHint:`Primeiro Ctrl+C aborta o trabalho, segundo confirma a saída.`,chimeLabel:`Som ao concluir`,chimeHint:`Campainha do terminal quando um run de agente termina.`,breakerLabel:`Disjuntor de processos`,breakerHint:`Bloqueia bash/exec após falhas repetidas; ao disparar, arma a contagem de kill/reset.`,breakerTimeoutLabel:`Tempo de kill/reset do disjuntor`,breakerTimeoutHint:`Atraso antes do kill/reset automático ao disparar. 0 = recuperação manual.`,availabilityHeading:`Provider/model availability calendar`,availabilityHint:`Prevent autonomous and overnight runs from using selected providers or models during recurring windows.`},p={heading:`Modelos fallback / round-robin`,body:`Quando o modelo ativo é rate-limitado (429/529), dá erro 5xx ou trava — após suas próprias retentativas — o agente rotaciona para o próximo modelo desta cadeia. Também usado como padrão para os sub-agentes workers do SDD.`,autoFallbackLabel:`Fallback automático`,autoFallbackHint:`Quando a cadeia acima está vazia, derive uma automaticamente de seus provedores com chave.`,favoritesOnlyLabel:`Apenas favoritos`,favoritesOnlyHint:`Quando o fallback automático deriva uma cadeia, restrinja-a aos seus modelos favoritos.`,profilesHeading:`Perfis fallback / round-robin`,addProfile:`Adicionar`,noProfiles:`Ainda não há perfis de fallback nomeados.`,createDefault:`Criar padrão a partir do modelo ativo`,useChain:`Usar cadeia`,setLeader:`Definir líder`,profileEmpty:`O perfil está vazio.`,favoritesHeading:`Modelos favoritos`,favoritesEmpty:`Os favoritos são mostrados primeiro e podem restringir o fallback automático.`,addModelToProfile:`Adicionar modelo ao perfil…`,addFavoriteModel:`Adicionar modelo favorito…`,inactive:`inativo`},m={heading:`Frota e Streaming`,fleetChatVerbosityLabel:`Transmitir eventos da frota`,fleetChatVerbosityHint:`Mostra a atividade ao vivo dos sub-agentes no painel da frota.`,maxConcurrentLabel:`Sub-agentes concorrentes máx`,maxConcurrentHint:`Número máximo de sub-agentes que podem rodar simultaneamente.`,nextPredictionLabel:`Previsão do próximo passo`,nextPredictionHint:`Após um turno, prevê os prováveis próximos passos.`,nextStepsToolLabel:`Ferramenta nextsteps`,nextStepsToolHint:`Permite que o agente registre as sugestões com uma chamada de ferramenta em vez de escrever o bloco manualmente. Vale na próxima sessão.`},h={hqHeading:`Cliente HQ`,hqPublishingLabel:`Publicação HQ`,hqPublishingHint:`Publica esta sessão WebUI/cliente no WrongStack HQ. Clientes da mesma máquina podem auto-descobrir a auth HQ local; clientes remotos usam a URL/token abaixo.`,hqUrlLabel:`URL HQ`,hqUrlHint:`Deixe vazio para auto-descoberta na mesma máquina.`,hqTokenLabel:`Token do cliente HQ`,hqRawContentLabel:`Conteúdo HQ bruto`,hqRawContentHint:`Enviar pré-visualizações de conteúdo brutas para HQ em vez de pré-visualizações redigidas.`,wrongProxyHeading:`WrongProxy / WrongTrace`,wrongProxyEnabledLabel:`Rotear URLs base pelo proxy local`,wrongProxyEnabledHint:`Quando ativado, a URL base de cada provedor é reescrita pelo proxy configurado (padrão http://localhost:3444/proxy/<host><path>). openai-codex é excluído — ele fala diretamente com o backend do ChatGPT usando um token OAuth.`,wrongProxyUrlLabel:`URL do proxy`,wrongProxyUrlHint:`Onde o daemon proxy local escuta. O sistema verifica periodicamente <url>/api/health; um daemon inacessível desativa a reescrita sem tentar novamente a cada tecla.`,wrongProxyChangesApply:`As alterações se aplicam imediatamente às próximas requisições — sem necessidade de reiniciar.`,telegramHeading:`Notificações do Telegram`,telegramSessionEndLabel:`Fim de sessão`,telegramSessionEndHint:`Envia um resumo quando uma sessão termina.`,telegramDelegateLabel:`Delegado concluído`,telegramDelegateHint:`Envia uma nota humanizada quando um sub-agente conclui.`,telegramLongToolLabel:`Ferramentas longas`,telegramLongToolHint:`Notifica quando uma ferramenta excede {{ms}}ms. 0 para desativar.`,telegramChangesApply:`As mudanças se aplicam imediatamente.`,telegramNotConfigured:`O Telegram não está configurado. Execute /telegram-setup na CLI para conectar um bot primeiro.`,heading:`Integrations`,disabledHint:`Ative o recurso na aba Contexto para usar esta seção.`},g={chimeraDedicatedHeading:`Chimera — Post-session Code Review`,chimeraDedicatedHint:`Automated code quality review that runs after every agent session. Catches regressions, anti-patterns, and potential bugs.`,chimeraSectionEnabled:`Post-session review (Chimera)`,chimeraSectionEnabledHint:`Run a code review agent after every iteration.`,chimeraProviderLabel:`Chimera provider`,chimeraProviderHint:`Provider for the review agent. Select one from your configured providers.`,chimeraProviderSessionDefault:`Session default`,chimeraModelLabel:`Model`,chimeraModelSessionDefault:`Session default`,chimeraModelHint:`Model for the review agent. Requires a provider first.`,chimeraMaxFilesLabel:`Max files per review`,chimeraMaxFilesHint:`Maximum number of changed files included in a single review call.`,chimeraAutoFixLabel:`Auto-fix mode`,chimeraAutoFixHint:`Whether the review agent should automatically apply fixes for issues it finds.`,chimeraAutoFixOff:`Off — review only`,chimeraAutoFixAsk:`Ask — confirm before applying`,chimeraAutoFixAuto:`Auto — apply without confirmation`,autoReviewCascadeOnLabel:`Cascata em`,autoReviewCascadeOnHint:`Quando uma revisão encontra problemas nesta gravidade ou superior, inicia agentes de acompanhamento.`,autoReviewCascadeOnOff:`Desativado`,autoReviewCascadeOnHigh:`Alta ou superior`,autoReviewCascadeOnCritical:`Apenas crítica`,chimeraPickModel:`Pick provider/model for Chimera`,chimeraPickModelHint:`Select a provider and model for post-session code review.`,autoReviewSectionEnabled:`Mid-session review (Auto-Review)`,autoReviewSectionEnabledHint:`Run a review agent mid-session on every file change.`,autoReviewFallbackProfileLabel:`Perfil fallback / round-robin`,autoReviewFallbackProfileHint:`Perfil de modelos para auto-review; fornece o pool de fallback e os modelos para round-robin ou seleção aleatória.`,autoReviewFallbackProfileNone:`None — use provider+model or session defaults`,autoReviewModelSelectionLabel:`Seleção do perfil`,autoReviewModelSelectionHint:`Escolhe o próximo modelo na ordem ou um modelo inicial aleatório para cada revisão.`,autoReviewModelSelectionRoundRobin:`Round-robin — ordem do perfil`,autoReviewModelSelectionRandom:`Aleatório — escolher do perfil`,autoReviewFallbackModelsLabel:`Modelos fallback / round-robin`,autoReviewFallbackModelsEmpty:`Nenhum modelo fallback / round-robin configurado`,autoReviewFallbackModelsHint:`Modelos do perfil ou cadeia global; formam o pool de seleção e a cadeia de nova tentativa.`,autoReviewModelLabel:`Model`,autoReviewModelHint:`Model for the auto-review agent. Requires a provider first.`,autoReviewDebounceLabel:`Debounce interval (ms)`,autoReviewDebounceHint:`Minimum gap between review triggers after a file change.`,autoReviewMaxFilesLabel:`Max files per batch`,autoReviewMaxFilesHint:`Files per auto-review call.`,autoReviewMaxConcurrentLabel:`Max concurrent reviews`,autoReviewMaxConcurrentHint:`Parallel review subagent cap.`,autoReviewCascadeLabel:`Cascade on`,autoReviewCascadeHint:`Follow-up agent threshold — spawns security-scanner and bug-hunter above this severity.`,autoReviewCascadeOff:`Off — no cascade`,autoReviewCascadeCritical:`Critical — only critical findings`,autoReviewCascadeHigh:`High — critical or high findings`,autoReviewPickModel:`Pick provider/model for Auto-Review`,autoReviewPickModelHint:`Select a provider and model, or a named fallback profile, for mid-session auto-review.`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`},_={flagsHeading:`Sinalizadores de Recursos`,mcpLabel:`Servidores MCP`,mcpHint:`Habilita integrações Model Context Protocol.`,pluginsLabel:`Plugins`,pluginsHint:`Carrega e executa plugins instalados pelo usuário.`,memoryLabel:`Memória`,memoryHint:`Persiste e recupera fatos entre sessões.`,skillsLabel:`Habilidades`,skillsHint:`Carrega prompts de habilidades específicas do domínio.`,modelsRegistryLabel:`Registro de modelos`,modelsRegistryHint:`Usa o catálogo models.dev para descoberta de provedores.`,indexOnStartLabel:`Indexar ao iniciar`,indexOnStartHint:`Constrói o índice de símbolos do código ao iniciar a sessão.`,pluginsPerPluginHeading:`🔌 Per-Plugin Controls`,pluginsPerPluginHint:`Enable or disable individual plugins. Changes take effect on next session.`,pluginChimera:`Chimera — post-session code review`,pluginSkills:`Skills — skill library & authoring`,pluginPrompts:`Prompts — prompt library & gen`,pluginCostTracker:`Cost Tracker — token & cost tracking`,pluginTelegram:`Telegram — notification bot`,pluginErrorLens:`Error Lens — failure diagnostics`,pluginSecretScanner:`Secret Scanner — credential detection`,pluginLintGate:`Lint Gate — lint before iteration`,pluginDiffSummary:`Diff Summary — compact diffs`,pluginDepGuard:`Dep Guard — dependency rules`,pluginTypeGate:`Type Gate — typecheck before iteration`,pluginInjectionShield:`Injection Shield — prompt injection`,pluginPromptFirewall:`Prompt Firewall — input filtering`,pluginTokenBudget:`Token Budget — token limits`,pluginLoopBreaker:`Loop Breaker — runaway detection`,heading:`Contexto e Depuração`,autoCompactLabel:`Auto-compactar contexto`,autoCompactHint:`Apara automaticamente a janela de contexto perto dos limites.`,compactorStrategyLabel:`Estratégia de compactação`,compactorStrategyHint:`Como o contexto é compactado quando cresce demais.`,compactorStrategyHybrid:`Híbrida — regras rápidas (padrão)`,compactorStrategyIntelligent:`Inteligente — resumo LLM`,compactorStrategySelective:`Seletiva — seleção guiada por LLM`,contextModeLabel:`Modo de contexto`,contextModeHint:`Política de janela de contexto — equilibrado é o padrão.`,contextModeBalanced:`Equilibrado — uso normal do contexto`,contextModeFrugal:`Frugal — uso conservador de tokens`,contextModeDeep:`Profundo — contexto maior para tarefas complexas`,tokenSavingLabel:`Modo de economia de tokens`,tokenSavingHint:`Controla os esquemas diretos e o prompt do sistema da próxima sessão.`,tokenSavingAuto:`Auto — adaptar o prompt à janela do modelo`,tokenSavingOff:`Desativado — sem economia`,tokenSavingMinimal:`Mínimo — otimização básica`,tokenSavingLight:`Leve — redução moderada`,tokenSavingMedium:`Médio — economias significativas`,tokenSavingAggressive:`Agressivo — menor superfície direta e prompt`},v={logLevelLabel:`Nível de log`,logLevelHint:`Severidade mínima para logging do lado servidor.`,logLevelDebug:`Debug — tudo`,logLevelInfo:`Info — fluxo normal`,logLevelWarn:`Warn — apenas problemas`,logLevelError:`Error — apenas falhas`,auditLevelLabel:`Nível de auditoria`,auditLevelHint:`Nível de detalhe para logs de auditoria de sessão.`,auditLevelMinimal:`Mínimo — apenas erros`,auditLevelStandard:`Padrão — chamadas de ferramentas + erros`,auditLevelFull:`Completo — cada evento (logs grandes)`,fsAccessLabel:`Acesso ao sistema de arquivos`,fsAccessHint:`Escopo das ferramentas de arquivo. Aplica-se na próxima sessão.`,fsAccessUnrestricted:`Irrestrito — qualquer caminho`,fsAccessProject:`Projeto — limitado à raiz do projeto`,debugStreamLabel:`Fluxo de depuração`,debugStreamHint:`Dump hex SSE bruto no stderr do servidor para depurar provedores.`,heading:`Logs & Debug`},y={heading:`Security & Monitoring`,brainHeading:`🧠 Brain — Controle de decisões`,brainHint:`Modelos de decisão, conselho, escalonamento e teto de risco — aplicados na hora e salvos na configuração global.`,shadowHeading:`👁 Agente sombra — Monitor da frota`,shadowHint:`O agente sombra monitora todos os agentes da frota, acompanha suas tarefas e detecta anomalias.`,toolsHeading:`🔧 Tool Access Control`,toolsHint:`Ative ou desative ferramentas individuais. Ferramentas que alteram dados aparecem em âmbar.`,breakerHeading:`Process Circuit Breaker`,breakerHint:`Restringe bash/exec após falhas repetidas; o acionamento inicia a contagem regressiva de encerramento/reinício.`},b={switchingTo:`Mudando para {{provider}} / {{model}}…`,switching:`Mudando o modelo…`,switchingToTarget:`Mudando para {{target}}…`,previousModel:`modelo anterior`,modelSwitchedNextRequest:`Modelo alterado: {{from}} → {{to}}. Ativo na próxima solicitação ao LLM.`,modelSwitchedRunActive:`Modelo alterado: {{from}} → {{to}}. Ativo na próxima solicitação ao LLM; a execução atual continua sem reiniciar.`,fallbackExists:`O perfil de fallback "{{name}}" já existe`,selectProviderModelFirst:`Selecione um provedor e um modelo primeiro`,defaultProfileCreated:`Perfil de fallback padrão criado`,profileEmpty:`O perfil de fallback "{{name}}" está vazio`,leaderSetFrom:`Líder definido a partir de {{name}}`,modelSwitchTimeout:`Troca de modelo expirou. Por favor, tente novamente.`},x={workbenchHeading:`Aparência do workbench`,workbenchHint:`Alterna a visibilidade das superfícies do workbench na vista de chat.`,showModelReasoningLabel:`Mostrar raciocínio do modelo`,showModelReasoningHint:`Renderiza blocos de raciocínio/thinking do LLM no histórico do chat (paridade com TUI).`,showAgentSwarmPanelLabel:`Painel agent swarm`,showAgentSwarmPanelHint:`Controla onde o painel agent swarm (fleet + fila de missões) é exibido.`,swarmPanelBottom:`Painel inferior`,swarmPanelSidebar:`Barra lateral direita`,swarmPanelOff:`Desativado`,titleAnimationLabel:`Animação do título`,titleAnimationHint:`Anima o título do terminal/aba com o status de execução (paridade com TUI).`,keyboardShortcutsLabel:`Atalhos de teclado`,keyboardShortcutsHint:`Habilitar atalhos de teclado globais (Ctrl+K, Alt+1..4, etc.). Desativado por padrão.`,statusChipHeading:`Chip de status e barra de status`,statusChipHint:`Estilo visual para a barra de status TUI/CLI e o chip de trabalho.`,thinkingWordLabel:`Palavra de raciocínio`,thinkingWordHint:`Palavra curta única exibida no chip de status TUI enquanto o agente trabalha.`,statuslineModeLabel:`Modo da barra de status`,statuslineModeHint:`Densidade da barra de status TUI.`,statuslineModeMinimum:`Mínimo`,statuslineModeDetailed:`Detalhado`,statuslineModeNoColor:`Sem cor`,animationStyleLabel:`Estilo de animação`,animationStyleHint:`Animação do chip de trabalho TUI.`,animationStyleRainbow:`Arco-íris`,animationStyleWave:`Onda`,animationStylePulse:`Pulso`,animationStyleDots:`Pontos`,animationStyleBreathe:`Respiração`,animationStyleStatic:`Estático`,animationStyleCycle:`Ciclo`,refineHeading:`Contagem regressiva do refine e diffs`,refineHint:`Configura a contagem regressiva pré-refine e o limite mínimo de arquivos para o rodapé de resumo multi-diff.`,preRefineSecondsLabel:`Contagem regressiva pré-refine`,preRefineSecondsHint:`Período de carência antes do refiner iniciar (segundos). 0 = pula a contagem e refina imediatamente.`,preRefineSecondsPresets:`Predefinições: {{presets}} segundos (0 = desativado).`,multiDiffSummaryLabel:`Resumo multi-diff`,multiDiffSummaryHint:`Número mínimo de arquivos antes que o rodapé agregado 'N arquivos · +X -Y' apareça acima dos blocos por arquivo.`,multiDiffSummaryPresets:`Predefinições: {{presets}} (0 = desativado).`,memoryHeading:`Ferramenta read e injeção de memória SAGE`,memoryHint:`Alterna o que a ferramenta read inclui e quando blocos de memória SAGE aparecem nos resultados de ferramentas.`,readSymbolsLabel:`Ler símbolos`,readSymbolsHint:`Quando ativo, a ferramenta read inclui símbolos do índice do código junto com o conteúdo do arquivo.`,showSageMemoryInjectLabel:`Mostrar SAGE Memory Inject`,showSageMemoryInjectHint:`Quando ativo, mostra blocos de injeção de memória SAGE nos resultados de ferramentas.`,sageMemoryInjectThresholdLabel:`Limite de SAGE Memory Inject`,sageMemoryInjectThresholdHint:`Força mínima de relação necessária para uma memória SAGE injetada (0.72–0.95).`,footnote:`Estas configurações refletem o picker /settings do TUI. Alternâncias aplicam-se ao vivo; alguns campos exigem reinício da sessão.`,sageRelaxed:`0,72 (relaxado)`,sageDefault:`0,85 (padrão)`,sageStrict:`0,95 (rigoroso)`},S=`Redefinir`,C=`Cancelar`,w=`Redefinir todas as preferências?`,T=`Isso restaura as configurações padrão e recarrega a página.`,E=`Redefinir`,D=JSON.parse(`{"heading":"Brain","headingHint":"Modelos de decisão, conselho, escalada e teto de risco — aplicados em tempo real, salvos na configuração global.","riskHeading":"Teto de autonomia","escalationHeading":"Escalada","escalationModeLabel":"Modo","escalationModeHint":"Headless: o Brain nunca bloqueia esperando um humano — escaladas sem resposta são resolvidas pela política terminal segura. Aplica-se a sessões CLI/TUI; o Brain WebUI independente é sempre headless.","escalationDecisionTimeoutLabel":"Tempo limite de decisão","escalationDecisionTimeoutHint":"Orçamento de tempo por chamada LLM para uma decisão do Brain.","escalationHumanTimeoutLabel":"Tempo limite de resposta humana","escalationHumanTimeoutHint":"Modo interativo: quanto tempo um aviso de escalada pode esperar antes que a política terminal o resolva.","escalationTerminalPolicyLabel":"Política terminal","escalationTerminalPolicyHint":"Como uma escalada headless é resolvida sem humano disponível. Conservador aceita uma opção recomendada em risco baixo/médio; negar-tudo nunca aceita automaticamente; continuar-com-recomendação aceita uma opção recomendada em QUALQUER risco.","escalationDecisionLogSizeLabel":"Tamanho do registro de decisões","escalationDecisionLogSizeHint":"Registro de decisões em memória rotativo mantido para a visão de status.","rulesHeading":"Regras determinísticas","rulesConfigured":"{{count}} configurada(s)","rulesBody":"Avaliadas antes de qualquer chamada ao provedor — a primeira correspondência vence. Edite-as no arquivo de configuração global; esta visão é somente leitura.","rulesOff":"desativada","rulesDropped":"{{count}} regra(s) descartada(s)","heuristicsHeading":"Heurísticas","heuristicsBody":"Suposições de padrão gratuitas que resolvem uma pergunta antes que um modelo execute. Todas ativas por padrão — desligue aquela cuja suposição esteja errada para sua carga de trabalho.","heuristicsLowRiskLabel":"Resposta automática de baixo risco","heuristicsLowRiskHint":"Responda automaticamente solicitações de baixo risco que já trazem uma opção recomendada.","heuristicsBlockedLabel":"Bloqueado-resolvido","heuristicsBlockedHint":"'blocked …' mais um marcador de resolução explícito no contexto resolve como continuar.","heuristicsDeadlockLabel":"Pular impasse","heuristicsDeadlockHint":"'deadlock' mais unidades de trabalho falhas no contexto resolve como pular e continuar.","heuristicsRetryLabel":"Novas tentativas esgotadas","heuristicsRetryHint":"'failed'/'retry' mais novas tentativas comprovadamente esgotadas marca a unidade como falha e segue.","heuristicsPingLabel":"Ping de continuação","heuristicsPingHint":"Um simples ping de continuar/prosseguir sem alternativa concorrente resolve como continuar.","heuristicsMarkers":"Marcadores: {{markers}}","qualityHeading":"Qualidade LLM","qualityCircuit_one":"circuito {{state}} · {{count}} falha","qualityCircuit_other":"circuito {{state}} · {{count}} falhas","qualityResponseBudgetLabel":"Orçamento de resposta","qualityResponseBudgetHint":"Tokens de saída por chamada de decisão. Uma resposta do Brain é uma decisão mais uma justificativa de uma frase.","qualityRejectLabel":"Rejeitar respostas incertas","qualityRejectHint":"Trata uma resposta recusada ou vazia como 'este nível não pôde decidir' em vez de aceitá-la como resposta.","qualityMinConfidenceLabel":"Confiança mínima","qualityMinConfidenceHint":"Rejeita respostas cuja confiança autodeclarada esteja abaixo disso. Respostas sem confiança declarada sempre passam.","qualityDenyTerminalLabel":"A recusa é terminal","qualityDenyTerminalHint":"Se uma recusa do nível LLM único encerra a decisão. 'when-decided' torna terminal uma recusa genuína enquanto falhas de infraestrutura ainda escalam.","traceHeading":"Trilha de replay","traceRecordLabel":"Registrar trilhas de decisão","traceRecordHint":"JSONL por decisão de cada nível, alvo do pool e voto do conselho, com tempos e uso de tokens. Desativado por padrão — ativar grava o conteúdo das decisões em disco.","traceContentLabel":"Conteúdo da trilha","traceContentHint":"'full' mantém pergunta e contexto (necessário para reproduzir uma decisão); 'redacted' trunca texto livre; 'none' registra apenas metadados.","cacheHeading":"Cache de decisões","cacheStats":"{{hits}} acertos / {{misses}} erros · {{size}} ativos","cacheReplayLabel":"Reproduzir vereditos idênticos","cacheReplayHint":"Reutiliza um veredito anterior do conselho/LLM para uma pergunta idêntica repetida. Níveis determinísticos e perguntar-a-um-humano nunca são armazenados; uma decisão que o registro observa como falha é expulsa.","cacheLifetimeLabel":"Vida das entradas","cacheLifetimeHint":"Por quanto tempo um veredito em cache continua reproduzível.","cacheMaxEntriesLabel":"Entradas máximas","cacheMaxEntriesHint":"Limite de vereditos ativos em cache.","monitorHeading":"Monitor","monitorBody":"Auto-ativação por sinais de sofrimento. O monitor é construído uma vez na inicialização, então estes ajustes valem para a próxima sessão, não em tempo real.","monitorWatchLabel":"Vigiar sinais de sofrimento","monitorWatchHint":"Sequências de falhas de ferramentas, tempestades de erros, travamentos de agentes e churn de arquivos acionam o Brain sozinhos.","monitorPolicyLabel":"Política de sinais","monitorPolicyHint":"Como um sinal detectado é resolvido. 'llm' consulta o Brain; 'steer' sempre intervém e 'observe' nunca — ambos sem chamada ao provedor.","modelsHeading":"Modelos de decisão","modelsSessionBadge":"modelo da sessão","modelsResolvedBadge":"{{resolved}}/{{total}} resolvidos","modelsUseSessionLabel":"Usar modelo da sessão","modelsUseSessionHint":"Decidir com o modelo que a sessão está executando. Desligar adicionando modelos abaixo.","modelsAddModel":"Adicionar modelo","modelsPoolStrategyLabel":"Estratégia do pool","modelsPoolStrategyHint":"Fallback: o primeiro modelo é primário, os demais são tentados em ordem na falha. Round-robin: as decisões rotacionam pelo pool.","councilHeading":"Conselho","councilConvened":"convocado","councilDisabled":"desativado","councilEnableLabel":"Ativar conselho multi-LLM","councilEnableHint":"Perguntas de alto risco são votadas por assentos independentes (executor / cético-com-veto / auditor) em vez de um único modelo. Exige ≥2 votantes resolvíveis (assentos explícitos abaixo, ou um pool de ≥2 modelos).","councilSeatsDerived":"Assentos derivados do pool: {{seats}}","councilCustomLens":"Lente de decisão personalizada — enviada ao assento literalmente.","councilCustomOption":"{{persona}} (personalizado)","councilVeto":"veto","councilAddVoter":"Adicionar votante","councilRiskFloorLabel":"Piso de risco","councilRiskFloorHint":"Risco mínimo da pergunta que convoca o conselho em vez do nível mono-modelo.","councilJudge":"Juiz","councilJudgeDesc":"Modelo de desempate que vê a justificativa de cada voto.","councilResolved":"resolvido: {{model}}","councilAlsoVoter":"⚠ também votante","councilAuto":"auto","councilPick":"Escolher…","councilAutoReset":"Auto","councilQuorumLabel":"Quórum","councilQuorumHint":"Fração de assentos que deve retornar um voto válido.","councilApprovalLabel":"Aprovação","councilApprovalHint":"Fração do peso dos votos emitidos que a opção vencedora deve exceder.","councilPerSeatTimeoutLabel":"Tempo limite por assento","councilPerSeatTimeoutHint":"Orçamento de tempo para o voto de um único assento. Mais lento que o tempo de decisão significa que um assento travado segura o voto.","councilMaxConcurrencyLabel":"Concorrência máxima","councilMaxConcurrencyHint":"Quantos assentos votam em paralelo. Reduza quando o pool compartilha um provedor com limite de taxa.","councilDistinctnessLabel":"Distinção de assentos","councilDistinctnessHint":"Rejeita assentos duplicados: 'model' exige modelos distintos, 'provider' provedores independentes para que uma queda não possa influenciar o voto.","councilVoterBudgetLabel":"Orçamento de resposta do votante","councilVoterBudgetHint":"Tokens de saída por chamada de assento — modelos de raciocínio gastam seus tokens de pensamento deste orçamento.","councilRoundsLabel":"Rodadas de deliberação","councilRoundsHint":"A rodada 1 é independente. Nas seguintes, cada assento vê os votos dos demais e pode rever sua posição. Apenas a última rodada é contada, e cada rodada custa mais uma chamada por assento.","councilJudgeBudgetLabel":"Orçamento de resposta do juiz","councilJudgeBudgetHint":"Tokens de saída para a chamada do juiz de desempate.","councilSeatTemplate":"Modelo de assento:","ledgerHeading":"Registro de decisões","ledgerRecordLabel":"Registrar decisões + resultados","ledgerRecordHint":"Persiste cada decisão e seu resultado observado; resultados passados semelhantes são realimentados em prompts futuros do Brain.","ledgerAutoDenyLabel":"Auto-recusar após falhas","ledgerAutoDenyHint":"Recusar deterministicamente (sem LLM) quando este número de aprovações consecutivas de um grupo de decisões terminou em falhas observadas.","ledgerMemoryEntriesLabel":"Entradas em memória","ledgerMemoryEntriesHint":"Tamanho do anel em memória e o número de entradas passadas carregadas do disco na inicialização.","ledgerRetryWindowLabel":"Janela de nova tentativa de intervenção","ledgerRetryWindowHint":"Uma intervenção do monitor do mesmo tipo que se reativa nesta janela marca a orientação anterior como falha.","recentHeading":"Decisões recentes ({{count}})","recentEmpty":"Nenhuma decisão registrada nesta sessão.","optInteractive":"Interativo (pergunte-me)","optHeadless":"Headless (nunca perguntar)","optConservative":"Conservador (padrão)","optDenyAll":"Negar tudo","optContinueRecommended":"Continuar com recomendação","optNeverDefault":"Nunca (padrão)","optWhenDecided":"Quando decidido","optAlways":"Sempre","optFullDefault":"Completo (padrão)","optRedacted":"Redigido","optMetadataOnly":"Somente metadados","optConsultBrain":"Consultar o Brain (padrão)","optAlwaysSteer":"Orientar sempre","optObserveOnly":"Apenas observar","optFallback":"Fallback","optRoundRobin":"Round-robin","optMediumPlus":"Médio+","optHighPlus":"Alto+","optCriticalOnly":"Somente crítico","optNoneDefault":"Nenhum (padrão)","optDistinctModels":"Modelos distintos","optDistinctProviders":"Provedores distintos","optDefault3":"Padrão (3)","optOff":"Desativado","pickPoolTitle":"Adicionar modelo ao pool do Brain","pickPoolHint":"Pool de decisão ordenado — o primeiro é primário.","pickVoterTitle":"Adicionar votante ao conselho","pickVoterHint":"A caixa de diálogo permanece aberta — adicione ≥2 votantes e depois feche.","pickJudgeTitle":"Escolher juiz do conselho","pickJudgeHint":"Desempate que vê cada voto.","persistError":"Configurações aplicadas em tempo real, mas não salvas.","riskCopy":{"off":"Um humano decide tudo","low":"Decidir automaticamente apenas baixo risco","medium":"Decidir automaticamente até risco médio","high":"Decidir automaticamente até alto risco","all":"Decidir automaticamente tudo"},"rulesConfigured_one":"{{count}} configurada","rulesConfigured_other":"{{count}} configuradas"}`),O={default15s:`Padrão (15 s)`,waitForever:`Esperar indefinidamente`,defaultHalf:`Padrão (0,5)`,all:`Todos`,n200Default:`200 (padrão)`,offDefault:`Desativado (padrão)`,n20Default:`20 (padrão)`,m5Default:`5 min (padrão)`,default:`Padrão`,oneSerial:`1 (serial)`,roundsOff:`1 (sem deliberação)`,default500:`Padrão (500)`,default10m:`Padrão (10 min)`},k={capToolCall:`Chamada de ferramenta`,capReasoning:`Raciocínio`,capTemperature:`Temperatura`,capAttachment:`Anexo`,capStructuredOutput:`Saída estruturada`,capOpenWeights:`Pesos abertos`},A={presetsHeading:`Conjuntos de fontes`,presetsHint:`Um conjunto define todas as funções de uma vez; as fontes só são baixadas no primeiro uso.`,presets:{workbench:{label:`Bancada`,description:`A aparência padrão da bancada de trabalho.`},plex:{label:`IBM Plex`,description:`Uma única família técnica do início ao fim.`},modern:{label:`Moderno`,description:`Inter neutra com JetBrains Mono para código.`},geist:{label:`Geist`,description:`Combinação nítida de Geist Sans e Mono.`},classic:{label:`Clássico`,description:`Source Sans, Serif e Code Pro da Adobe.`},editorial:{label:`Editorial`,description:`Títulos serifados e uma fonte de chat com cara de livro.`},readable:{label:`Legível`,description:`Fontes muito legíveis para sessões longas.`},friendly:{label:`Amigável`,description:`Formas arredondadas e descontraídas com Fira Code.`},monospace:{label:`Monoespaçada`,description:`Monoespaçada em todo lugar, estilo terminal.`},system:{label:`Sistema`,description:`Fontes do sistema operacional, sem downloads.`}},rolesHeading:`Fontes por função`,rolesHint:`Substitua qualquer função sobre o conjunto. Funções marcadas com “Igual a” seguem a função principal.`,roles:{ui:{label:`Interface e painéis`,hint:`Botões, menus, barras laterais, listas e configurações.`},display:{label:`Títulos`,hint:`Títulos de página e de seção.`},reading:{label:`Chat e documentos`,hint:`Respostas do assistente, markdown e mensagens da caixa de entrada.`},code:{label:`Código em linha e dados`,hint:`Blocos de código, logs, IDs e dados tabulares.`},editor:{label:`Editor de código`,hint:`Editor de arquivos Monaco e visualização de diferenças.`},terminal:{label:`Terminal`,hint:`Sessões do terminal integrado.`}},fromPreset:`Conjunto ({{name}})`,inherit:`Igual a {{role}} ({{name}})`,categories:{sans:`Sem serifa`,serif:`Serifada`,mono:`Monoespaçada`},systemTag:`sistema`,sizeHeading:`Tamanho e espaçamento`,sizeHint:`O tamanho do texto da interface escala todos os painéis; editor e terminal são definidos em pixels.`,sizePresets:{compact:`Compacto`,normal:`Normal`,comfortable:`Confortável`,large:`Grande`,custom:`Personalizado`},controls:{uiScale:{label:`Tamanho do texto da interface`,hint:`Escala o texto de painéis, chat e diálogos.`},editorFontSize:{label:`Tamanho da fonte do editor`,hint:`Editor Monaco e visualização de diferenças.`},codeLineHeight:{label:`Altura de linha do código`,hint:`Editor, visualização de diferenças e blocos de código.`},terminalFontSize:{label:`Tamanho da fonte do terminal`,hint:`Terminal integrado.`},terminalLineHeight:{label:`Altura de linha do terminal`,hint:`Espaçamento entre linhas do terminal.`},ligatures:{label:`Ligaduras de código`,hint:`Une => !== >= em um único glifo em fontes compatíveis (Fira Code, Cascadia, JetBrains Mono…). Não se aplica ao terminal.`}},previewHeading:`Prévia ao vivo`,preview:{heading:`Refatorar o carregador de sessões`,body:`O agente leu 12 arquivos e propôs uma alteração em duas etapas. Revise as diferenças antes de aplicar.`,label:`Rótulo da interface`},resetAll:`Redefinir todas as configurações de fonte`,resetOverrides:`Limpar substituições por função`},j={description:`Manage the decision provider and see where Jev is used.`,loading:`Loading Jev settings…`,timeout:`No response from server. Reconnect and retry.`,route:`Decision provider`,routeChange:`Changing provider clears the previous key, endpoint and model. Enter a new key or use the provider environment variable.`,key:`API key`,keyHint:`Leave blank to keep the current key`,removeKey:`Remove saved key (environment key may still apply)`,endpoint:`Endpoint override`,model:`Model override`,defaultHint:`Empty uses provider default`,requestTimeout:`Request timeout (ms)`,featureHint:`Switches permit Jev usage. Actual use also depends on the prerequisites and triggers below.`,save:`Save Jev settings`,test:`Test saved connection`,testHint:`The test sends one small billed request. Save changes first. Restart existing sessions to apply all consumers.`,activity:`Jev activity`,activityHint:`Refreshes every 3 seconds. Last 300 requests in this server process, across its sessions. No prompts, credentials or raw errors. Disk log rotates at 5 MB. Answered means a typed response, not necessarily a decision accepted by the consumer.`,filter:`Feature`,all:`All`,empty:`No matching Jev requests yet. Test the connection or use an enabled feature.`,features:{brain:`Brain decisions`,memoryTriage:`Memory triage`,topicShift:`Topic changes`,memoryRecall:`Memory recall`,compaction:`Context compaction`,kanbanVerify:`Kanban verification`,modelTier:`Subagent model tier`,semanticLint:`Semantic lint`,tool:`Ferramenta de decisão do agente`,skillSuggestion:`Skill suggestions`,fleetDispatch:`Fleet dispatch`},readinessScope:`These are saved profile conditions, not the live state of every session. A request below means the service was called, not that its answer was accepted.`,unknownReadiness:`Readiness unavailable on this server`,unsaved:`Unsaved change`,lastRequest:`Last runtime request`,notObserved:`No runtime request in the displayed recent log.`,contextStrategy:`Profile compaction strategy`,contextScope:`Selective enables the Jev selection path. Save changes and restart existing sessions; a session-specific strategy can override this profile setting.`,openContext:`Open session context settings`,configureTiers:`Configure model tiers`,tiersHint:`Enable tiers and define at least two levels, cheapest first. Set their models or fallback profiles and a default tier. Changes here save immediately.`,checkHeading:`Live capability checks`,checkHint:`Runs 22 synthetic cases across all 11 features using the saved account, including disabled features. Makes billed API calls, sends no project content and changes no feature settings. Passing does not prove workload quality or that a session uses the feature.`,checkAll:`Test all 11 features`,checkRunning:`Running live checks…`,expected:`Expected`,actual:`Actual`,includeChecks:`Include diagnostic requests`,selfTest:`Diagnostic`,account:{ready:`Account configured`,unconfigured:`Account required`,unusable:`Account settings invalid`},readiness:{disabled:`Disabled`,"account-required":`Account required`,blocked:`Setup required`,conditional:`Configured · waiting for trigger`},reasons:{disabled:`This feature is not permitted to use Jev.`,"account-required":`Configure a valid Jev account first.`,"selective-required":`Jev selection requires selective compaction; hybrid and intelligent do not use this selector.`,"tiers-disabled":`The model tier system is disabled.`,"tiers-required":`Define at least two model tiers.`,"skills-disabled":`The global skills feature is disabled.`,"trigger-required":`Runs only when its trigger conditions are met.`,"memory-disabled":`Memory or SAGE is disabled.`,"recall-injection-required":`SAGE turn context recall is disabled; the Jev recall filter requires this path.`},triggers:{brain:`Runs before later decision tiers; uncertain answers defer.`,memoryTriage:`Runs during triage value evaluation and merge decisions.`,topicShift:`Runs when topic-change prechecks require a judgment; repeated results may be cached.`,memoryRecall:`Filters candidates returned by SAGE turn context recall; cached judgments are reused.`,compaction:`Rates middle conversation turns during selective compaction; requires a provider and sufficient history.`,kanbanVerify:`Judges open agent-type criteria against changed files and their diff.`,modelTier:`Suggests a tier for delegations with no explicit model/tier and no matching role/phase route.`,semanticLint:`Runs when the semantic lint command finds candidates; it is not an automatic edit watcher.`,tool:`Executa quando um agente chama jev com evidências e perguntas tipadas.`,skillSuggestion:`Requires skills enabled, at least two skills, and gate/fit thresholds; results may be cached.`,fleetDispatch:`Runs only for ambiguous routing with multiple candidate roles.`},recallTurnContext:`SAGE turn context recall`,recallTurnHint:`Adds relevant memories to each new turn; the Jev recall filter runs on this path. Memory and SAGE must also be enabled. Save and restart existing sessions.`},M={title:e,subtitle:t,tabs:n,model:r,connection:i,provider:a,providerModels:o,mcp:s,allowlist:c,oauth:l,general:u,agent:d,execution:f,fallbacks:p,fleet:m,integrations:h,features:g,context:_,logs:v,security:y,toast:b,display:x,resetLabel:S,cancel:C,resetConfirmTitle:w,resetConfirmBody:T,resetConfirmAction:E,brain:D,brainOpt:O,modelSchema:k,fonts:A,jev:j};export{d as agent,c as allowlist,D as brain,O as brainOpt,C as cancel,i as connection,_ as context,M as default,x as display,f as execution,p as fallbacks,g as features,m as fleet,A as fonts,u as general,h as integrations,j as jev,v as logs,s as mcp,r as model,k as modelSchema,l as oauth,a as provider,o as providerModels,E as resetConfirmAction,T as resetConfirmBody,w as resetConfirmTitle,S as resetLabel,y as security,t as subtitle,n as tabs,e as title,b as toast};
|