@wrongstack/webui 0.302.0 → 0.302.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AgentRosterView-PafACoYi.js → AgentRosterView-BwukmHoA.js} +1 -1
- package/dist/assets/{AnalyticsDashboard-D5lvkaiF.js → AnalyticsDashboard-C9aPEyov.js} +1 -1
- package/dist/assets/{AudienceMemoryPanel-DUXllPor.js → AudienceMemoryPanel-Bciki41o.js} +1 -1
- package/dist/assets/{ChangesView-CKLN6MLR.js → ChangesView-DumffowD.js} +1 -1
- package/dist/assets/{ChronicleDashboard-B8OyHq18.js → ChronicleDashboard-BYGV5twz.js} +1 -1
- package/dist/assets/CodeEditor-D2Dnax7e.js +1 -0
- package/dist/assets/{CodeMap-6L-z-L7d.js → CodeMap-DIKKs3Ux.js} +1 -1
- package/dist/assets/{ConfirmModal-B0BCqW4j.js → ConfirmModal-CdKg3EOQ.js} +1 -1
- package/dist/assets/{CronJobsPanel-B-rRYNgE.js → CronJobsPanel-CJ7Vc1Am.js} +1 -1
- package/dist/assets/{DeadCodeScanPanel-CDbBO9Ic.js → DeadCodeScanPanel-DaeHUzc5.js} +1 -1
- package/dist/assets/{DebugDashboard-RAxaJDNV.js → DebugDashboard-BI3EmXrM.js} +1 -1
- package/dist/assets/{DesignGalleryView-4kdGN1D5.js → DesignGalleryView-DMW6Ab__.js} +1 -1
- package/dist/assets/{GoalView-By18NfaK.js → GoalView-3291Hxnb.js} +1 -1
- package/dist/assets/KanbanView-CFE63A4a.js +3 -0
- package/dist/assets/{MailboxDetailView-BNyJNz-3.js → MailboxDetailView-CUTWkSyK.js} +1 -1
- package/dist/assets/MemoryDrawer-Dsy0AX6f.js +1 -0
- package/dist/assets/MemoryManager-D1kXeVE3.js +1 -0
- package/dist/assets/{ModelPicker-DwNrO_jw.js → ModelPicker-IOZSUnqM.js} +1 -1
- package/dist/assets/{OfficeMapPanel-Bo-cCLV7.js → OfficeMapPanel-Q81eioDB.js} +1 -1
- package/dist/assets/{ProcessMonitor-DPEMjjVq.js → ProcessMonitor-TGqyXxmB.js} +1 -1
- package/dist/assets/{QueuePanel-Dx9n4NZB.js → QueuePanel-5aMgQbHv.js} +1 -1
- package/dist/assets/{RefreshDebugView-On6-vb92.js → RefreshDebugView-DfBYFPEF.js} +1 -1
- package/dist/assets/{RequirementIntakeView-DpnZRVDz.js → RequirementIntakeView-CNAFKiQ3.js} +1 -1
- package/dist/assets/SageTabs-olgLJfg_.js +2 -0
- package/dist/assets/{SddHub-BMedBDDs.js → SddHub-7Z55QY-M.js} +1 -1
- package/dist/assets/SessionInspectView-CytBw7Y9.js +1 -0
- package/dist/assets/{SessionList-SsEjoeJF.js → SessionList-C3ygQN8A.js} +1 -1
- package/dist/assets/{SessionsDashboard-DYw9vuIv.js → SessionsDashboard-CridPbkX.js} +1 -1
- package/dist/assets/{SetupScreen-Mr604Nx3.js → SetupScreen-BkVjdky4.js} +1 -1
- package/dist/assets/{SkillDetailView-gt-Nm_ZI.js → SkillDetailView-Cp-xEHww.js} +1 -1
- package/dist/assets/{SpecsView-CVVQSIZZ.js → SpecsView-DUx1sgtH.js} +1 -1
- package/dist/assets/{TechStackView-BNen0ZpH.js → TechStackView-CvUiAISX.js} +1 -1
- package/dist/assets/{TerminalPanel-BByD75cu.js → TerminalPanel-Dg5hqYTA.js} +1 -1
- package/dist/assets/{Toaster-Cz-_rtgo.js → Toaster-BgN2bRJx.js} +1 -1
- package/dist/assets/{activity-B0cam54R.js → activity-BLSyJfTr.js} +1 -1
- package/dist/assets/{activity-D7dMY0Jm.js → activity-BnTQWNPX.js} +1 -1
- package/dist/assets/{activity-jOHsoosT.js → activity-BwEBEQ51.js} +1 -1
- package/dist/assets/{activity-DmdoxMAj.js → activity-C-9I3_s4.js} +1 -1
- package/dist/assets/{activity-DXNwLcwn.js → activity-CRMLR4a3.js} +1 -1
- package/dist/assets/{activity-B3FDXYFE.js → activity-CZIixoel.js} +1 -1
- package/dist/assets/{activity-IZoezahu.js → activity-Xqrt9v4z.js} +1 -1
- package/dist/assets/{i18n-ags7mYPP.js → i18n-9T7iGYgW.js} +2 -2
- package/dist/assets/{index-Doa2aJ1A.js → index-FHt-sKVF.js} +4 -4
- package/dist/assets/{progress-ring-BxJsZCnD.js → progress-ring-B9pqitSa.js} +1 -1
- package/dist/assets/{stores-Bz5nhi7q.js → stores-vuG0AaKy.js} +2 -2
- package/dist/assets/{useWebSocket-BHzEXXna.js → useWebSocket-CZSpbA3M.js} +1 -1
- package/dist/index.html +8 -8
- package/dist/index.js +11450 -11404
- package/dist/stores/kanban-store.d.ts +12 -0
- package/package.json +8 -8
- package/dist/assets/CodeEditor-BtAkdKFs.js +0 -1
- package/dist/assets/KanbanView-dyfUjpC5.js +0 -3
- package/dist/assets/MemoryManager-BbZ-1pfr.js +0 -1
- package/dist/assets/SageTabs-D5CzIKGe.js +0 -2
- package/dist/assets/SessionInspectView-Crs1g_xM.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{n as ee}from"./rolldown-runtime-QTnfLwEv.js";var te=ee({agentOffice:()=>Ae,agentRoster:()=>Ie,agents:()=>s,agentsMonitor:()=>C,agentsPanel:()=>yt,analytics:()=>xe,apikeydisplay:()=>on,app:()=>Mt,audienceMem:()=>Be,audienceMemoryPanel:()=>Pt,autonomy:()=>X,availability:()=>it,board:()=>y,boardChrome:()=>bt,brand:()=>t,changes:()=>c,changesView:()=>Ft,chatInput:()=>Lt,chatView:()=>ct,checkpoint:()=>Q,chipMultiSelect:()=>Rt,chronicle:()=>qe,chroniclePipelineStrip:()=>zt,codeEditor:()=>ye,codeMap:()=>Ke,codeMapTree:()=>nt,codeMapVisuals:()=>Bt,collab:()=>N,connection:()=>n,context:()=>h,cost:()=>F,costChip:()=>Vt,councilLogTimeline:()=>Ht,cronJobs:()=>Fe,ctxBreakdown:()=>lt,ctxDash:()=>et,ctxEditor:()=>ut,ctxMode:()=>J,ctxMonitor:()=>pt,customProviderSection:()=>nn,customRoster:()=>Re,deadCode:()=>xt,debug:()=>b,debugDash:()=>tt,default:()=>cn,deleteMemoryDialog:()=>Gt,depGraph:()=>At,design:()=>j,designStudio:()=>De,diff:()=>ae,displaySection:()=>Yt,dock:()=>S,errorBody:()=>le,fallback:()=>oe,fallbacksSection:()=>Xt,fileActivity:()=>be,fileExplorer:()=>ve,filePicker:()=>W,fileRef:()=>H,fleet:()=>m,fleetSection:()=>Zt,fleetSummaryBar:()=>Nt,goal:()=>ne,goalRun:()=>M,history:()=>o,hud:()=>St,index:()=>Qt,inspector:()=>l,integrationsSection:()=>$t,kanban:()=>Pe,kanbanBoundaryEditor:()=>Ut,kanbanDecomp:()=>at,kanbanInspector:()=>dt,kanbanRecorder:()=>rt,kanbanRun:()=>jt,kanbanTaskCompletionChecks:()=>Wt,kanbanTree:()=>ot,liveSessions:()=>se,mCPSection:()=>en,mailbox:()=>d,memEditor:()=>ft,memoryManager:()=>Ne,menu:()=>i,message:()=>fe,mode:()=>P,model:()=>I,modelListEditor:()=>tn,modelPickDialog:()=>Kt,modelSchema:()=>mt,modelSelectDialog:()=>qt,modelSwitcher:()=>L,monacoDiff:()=>ce,monitor:()=>D,nav:()=>e,nextSteps:()=>u,oauth:()=>ht,office:()=>we,officeMap:()=>ue,officeSettings:()=>ke,pagination:()=>Ct,panels:()=>ze,phase:()=>q,plan:()=>U,process:()=>ie,progressring:()=>sn,promptLib:()=>Se,provider:()=>gt,providerKey:()=>_t,providerModels:()=>x,providerWait:()=>st,queue:()=>Z,refine:()=>g,refresh:()=>v,reqIntake:()=>Ze,rosterRoles:()=>Le,runtimePolicy:()=>Ye,sageMemory:()=>A,sdd:()=>O,sddBoard:()=>he,sddBoardView:()=>Jt,sddTask:()=>ge,sddWizard:()=>_e,sddhub:()=>je,search:()=>K,sessionInspect:()=>Je,sessionList:()=>wt,sessionPanel:()=>p,sessionWatch:()=>T,sessions:()=>f,sessionsDash:()=>Tt,shadow:()=>Et,shortcuts:()=>me,sideEffects:()=>E,sidePanel:()=>a,sidebar:()=>Me,skillDetail:()=>Ce,skillsList:()=>Te,slashpopup:()=>It,specs:()=>_,status:()=>r,task:()=>B,taskExecutionAttempts:()=>rn,taskIntel:()=>$,taskRisk:()=>Xe,taskTimeline:()=>$e,taskVerify:()=>Dt,techStack:()=>Ve,techStackAction:()=>We,techStackCoverage:()=>Ge,techStackSeverity:()=>Ue,techStackStatus:()=>He,terminal:()=>w,timeline:()=>Ee,toast:()=>G,toaster:()=>an,todos:()=>z,toolGroup:()=>V,toolInput:()=>de,toolResult:()=>k,toolsSec:()=>Ot,topbar:()=>vt,transcript:()=>Y,updateBanner:()=>kt,verifyReport:()=>Qe,watch:()=>pe,work:()=>R,worktree:()=>re,worktrees:()=>Oe}),e={chat:`Session`,agents:`Agents`,history:`History`,files:`Files`,changes:`Changes`,mailbox:`Mailbox`,skills:`Skills`,worktrees:`Worktrees`,design:`Design Studio`,officemap:`Office Map`,settings:`Settings`,sddhub:`SDD`,goal:`Goal`,memory:`Memory`,fleet:`Fleet`,inspector:`Inspector`,prompts:`Prompts`,kanban:`Kanban`,codemap:`CodeMap`,techstack:`TechStack`,chronicle:`Chronicle`,intake:`Requirements`,roster:`Agent Roster`},t={returnToChat:`{{name}} — return to chat`,returnToChatDefault:`WrongStack — return to chat`},n={connected:`Connected`,disconnected:`Disconnected from backend`,reconnecting:`Reconnecting to backend (attempt {{attempt}}) — retrying in {{remaining}}s`,retry:`Retry now`,retryTitle:`Retry connection now`,dismissTitle:`Dismiss (chip in topbar still shows status)`},r={connected:`Connected`,disconnected:`Disconnected`,idle:`Idle`,thinking:`Thinking`,running:`Running`,waiting:`Waiting`,done:`Done`,stopped:`Stopped`},i={moreWithHidden:`More, {{count}} hidden items`,moreOptions:`More options`,moreCompactHidden:`More — {{count}} hidden panels/views, palette, theme, monitors`,moreCompact:`More — palette, theme, monitors`,moreFull:`More — palette, theme, shortcuts, monitors`,commandPalette:`Command Palette`,keyboardShortcuts:`Keyboard Shortcuts`,panels:`Panels`,views:`Views`,theme:`Theme`,monitors:`Monitors`,fleetMonitor:`Fleet Inspector`},a={dragHint:`Drag to resize · double-click to reset`,collapse:`Collapse panel (Ctrl+\\)`},o={openDashboard:`Open sessions dashboard`},s={pending:`pending…`,empty:`No agents yet`,emptyHint:`Subagents appear here when the fleet is active.`,runningCount:`{{count}} running`,totalCount:`{{count}} total`,openFull:`Open fleet inspector`,agentsLive:`AGENTS · LIVE`,doneCount:`{{count}} done`,failedCount:`{{count}} failed`,modelsLabel:`models`,shownLabel:`shown`,totalLabel:`total`,leaderFleetTotals:`(leader {{leader}} · fleet {{fleet}})`,navHintJk:`j/k or ↑↓ to navigate`,escCloseDetail:`· Esc to close detail`,noAgentsRunning:`No agents running.`,contextUsage:`Context Usage`,lastToolLabel:`last:`,unknownSession:`Unknown session`,sessionCopyTitle:`Session: {{sid}} — click to copy ID`,sessionWord:`session`,agentsCountSuffix_one:`{{count}} agent`,agentsCountSuffix_other:`{{count}} agents`,sessionTitle:`Session: {{sid}}`,projectSuffix:` · Project: {{name}}`,statusIdle:`idle`,filterAll:`All`,filterRunning:`Running`,filterDone:`Done`,filterCompleted:`Done`,filterFailed:`Failed`,clearFinished:`Clear`,clearFinishedTitle:`Remove finished agents`,rosterHint:`Arrow keys to navigate · Enter to expand`,itSuffix:`it`,tcSuffix:`tc`,toolLog:`Tool Log`,showAll:`Show all`,showFewer:`Show fewer`,streaming:`Streaming`,failure:`Failure`,timeout:`Timeout`,reRun:`Re-run`,reRunTitle:`Re-run this agent (not yet implemented)`,lastToolCalls_one:`Last {{count}} tool call`,lastToolCalls_other:`Last {{count}} tool calls`,config:`Config`,configProvider:`Provider`,configModel:`Model`,configDescription:`Description`,configTaskId:`Task ID`,transcript:`Transcript`,openInspector:`Open in Fleet Inspector`,emptyFilteredTitle:`No agents match the filter`,emptyFilteredHint:`Change the filter or clear it to see all agents.`,emptyFilteredClear:`Show all`,emptyFinishedTitle:`All tasks complete`,emptyFinishedHint:`All agents have finished — clear finished or spawn new tasks to see activity here.`,emptyFinishedStats:`{{completed}} done · {{failed}} failed`},c={fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`,refreshTitle:`Refresh changes`,loading:`Loading changes…`,clean:`No changes — working tree is clean.`,selectPrompt:`Select a changed file to view its diff.`,unified:`Unified`,unifiedTitle:`Unified diff`,edit:`Edit`,editTitle:`Side-by-side editable diff`,loadingDiff:`Loading diff…`,diffTimeout:`The diff didn't arrive. The file may have changed or the connection dropped.`,binary:`Binary file — diff not shown.`,tooLarge:`File too large to diff.`},l={openAgentsPanel:`Open Agents panel (live fleet)`,hidePanel:`Hide inspector panel`,label:`Inspector`,openAudit:`Open Audit tab`,tabFleet:`Fleet`,tabAgents:`Agents`,tabAudit:`Audit`,tabCouncil:`Council`,councilCount:`{{count}} panel`,councilCount_other:`{{count}} panels`,councilClear:`Clear`,councilEmpty:`No council has convened yet in this session.`,councilEmptyHint:`The Brain convenes a multi-model panel for questions at or above its council risk floor. Configure it under Settings › Brain › Council.`,collapseAria:`Collapse inspector panel`,collapseTitle:`Collapse (Esc)`,noAgentsActive:`No agents active`,agentsAppearHint:`Agents appear here when the fleet is active.`,selected:`{{name}} (selected)`},u={header:`Next steps`,autoSubmitting:`auto-submitting in`,clickToFill:`click to fill input`,clickToFillTitle:`Click to fill: {{text}}`,auto:`auto`,willAutoSubmit:`Will auto-submit after countdown`,autoFilling:`Filling in`,autoModeIdle:`Auto — waiting for auto="true" marker`,nSelected:`{{count}} selected`,submitN:`Submit {{count}}`,deselectTitle:`Deselect`,selectTitle:`Select for batch submit`,nSelected_one:`{{count}} selected`,nSelected_other:`{{count}} selected`,submitN_one:`Submit {{count}}`,submitN_other:`Submit {{count}}`},d={onlineCount:`{{count}} online`,messages:`Messages`,compose:`Compose message`,recipient:`Recipient`,messageType:`Type`,audience:`Audience`,audienceAll:`All agents`,audienceLeaders:`Leaders only`,priority:`Priority`,priorityLow:`Low`,priorityNormal:`Normal`,priorityHigh:`High`,subjectPlaceholder:`Subject (optional)`,bodyPlaceholder:`Message body`,leadersOnlyHint:`Only leader agents and leader surfaces can consume this message.`,leadersLabel:`leaders`,send:`Send`,sending:`Sending…`,sent:`Sent`,sendFailed:`Mailbox send failed.`,defaultSubject:`WebUI message`,deleteAllTitle:`Delete all messages`,deleteAll:`Delete all`,deleting:`Deleting…`,purgeTitle:`Purge stale/orphaned messages`,purge:`Purge`,purging:`Purging…`,compact:`Compact`,compacting:`Compacting…`,compactTitle:`Auto-compact: remove expired, read-by-all, and stale messages`,compactRemoved:`Removed {{count}}`,compactExpired:`{{count}} expired`,compactReadByAll:`{{count}} read-by-all`,compactStale:`{{count}} stale`,compactRemaining:`{{count}} remaining`,newLabel:`NEW`,empty:`No messages yet.`,offlineCount:`+{{count}} offline`,timeNow:`now`,deleteAllConfirmTitle_one:`Delete {{count}} message?`,deleteAllConfirmTitle_other:`Delete all {{count}} messages?`,deleteAllConfirmBody:`The mailbox file is truncated for every agent. This cannot be undone.`,purgeConfirmTitle:`Purge stale messages?`,purgeConfirmBody:`Removes completed messages older than 1 day and incomplete messages older than 7 days. Active messages are preserved.`,type:{note:`Note`,ask:`Question`,assign:`Assignment`,steer:`Steer`,btw:`By the way`,broadcast:`Broadcast`,status:`Status`,result:`Result`,review:`Review`},emptyDetail:`No message selected`,emptyDetailHint:`Click a message in the Mailbox panel to view it here.`,readBy:`Read by`,backToChat:`Back to chat`,completed:`Completed`,everyone:`everyone`,closeTitle:`Close (Esc)`,replyTo:`In reply to: {{id}}`,completedBy:`Completed by {{name}}`,completedByAt:`Completed by {{name}} at {{time}}`,outcome:`Outcome:`,task:`Task:`,messageNotFound:`Message not found`,messageNotFoundHint:`This message may have been deleted or purged.`,sessionLabel:`Session`,sessionScope:`Session {{sid}}`,sessionScopeTitle:`Only delivered to agents in session {{sid}}`,projectLabel:`Project`,projectScope:`Project (every agent)`,directScope:`Direct`,scopeLabel:`Scope`},f={recentSessions:`Recent sessions`,deleteEmptyTitle_one:`Delete {{count}} empty session?`,deleteEmptyTitle_other:`Delete {{count}} empty sessions?`,deleteEmptyConfirmBody:`Sessions without any token usage are removed from disk.`,filterPlaceholder:`Filter title, model, provider…`,clearFilter:`Clear filter`,noHistory:`No history yet`,noHistoryHint:`Your conversations will appear here`,noMatches:`No matches`,noMatchesHint:`Try a different filter`,group:{favorites:`Favorites`,today:`Today`,yesterday:`Yesterday`,thisWeek:`This week`,earlier:`Earlier`},nicknamePlaceholder:`Nickname`,empty:`(empty)`,resuming:`resuming…`,active:`active`,renameTitleNickname:`{{nickname}} — original: {{title}}`,renameTitle:`{{title}}
|
|
2
2
|
|
|
3
3
|
Double-click to rename`,unfavorite:`Unfavorite`,markFavorite:`Mark as favorite`,deleteSessionConfirmTitle:`Delete session?`,deleteSessionConfirmBody:`"{{name}}" will be removed from disk. This cannot be undone.`,deleteSessionTitle:`Delete session`,rename:`Session name`,renameAction:`Rename`,resume:`Resume session`,resumeShort:`Resume`,workspaceEyebrow:`Conversation control`,workspaceTitle:`Sessions`,workspaceHint:`Search, inspect, pin and resume every project conversation.`,tabs:{history:`History`,live:`Live sessions`},filters:{all:`All`,favorites:`Pinned`,active:`Active`,completed:`Completed`,issues:`Issues`},status:{active:`Active`,completed:`Completed`,error:`Error`,timeout:`Timed out`,aborted:`Aborted`,saved:`Saved session`},sort:{label:`Sort sessions`,recent:`Recent`,tokens:`Most tokens`,activity:`Most activity`},stats:{sessions:`Sessions`,tokens:`Tokens`,tools:`Tool calls`,files:`Files changed`,errors:`Errors`},inspect:`Inspect session`},p={actions:{abort:`Abort`,newSession:`New session`,export:`Export`,compact:`Compact`,newSessionConfirm:`Are you sure?`,newSessionConfirmMessage:`A job is still in progress. Start a new session anyway?`,newSessionTitle:`Start a new session (Ctrl+N)`,exportTitle:`Export chat as markdown (Ctrl+E)`,compactTitle:`Compact the context window`,clearTitle:`Clear context (Ctrl+L)`},model:`Model`,modelTitle:`Change model (Ctrl+M)`,context:`Context`,contextTitle:`Click for a context breakdown`,sessionLabel:`Session`,stats:{messages:`Messages`,elapsed:`Elapsed`,tokens:`Tokens`,cost:`Cost`,iteration:`Iteration`,agents:`Agents`,tokensSub:`{{in}} in / {{out}} out`,iterationOf:`of {{max}}`,agentsRunning:`{{count}} running`},plan:`Plan`,planComplete:`{{pct}}% complete`,pinned:`Pinned`,quickSettings:`Quick settings`,autonomy:`Autonomy`,autonomyTitle:`Stop auto-running next steps. Toggle off to halt the agent's autonomous loop`,autonomyOptions:{off:`Off`,suggest:`Suggest`,auto:`Auto`,eternal:`Eternal`,"eternal-parallel":`Eternal Parallel`},yolo:`YOLO mode`,yoloTitle:`Bypass tool confirmation prompts`,refine:`Refine prompts`,refineTitle:`Rewrite prompts before sending`,sound:`Sound on completion`,soundTitle:`Play a soft chime when a run finishes`,sessionId:`session {{id}}`},m={status:{running:`running`,completed:`done`,failed:`failed`,timeout:`timeout`,stopped:`stopped`},leader:`leader`,providerModel:`Provider / Model`,elapsed:`Elapsed`,running:`running…`,iterations:`Iterations`,toolCalls:`Tool Calls`,cost:`Cost`,budgetExtensions:`Budget Extensions`,activity:`Activity`,contextWindow:`Context window`,tokensUsed:`{{used}} / {{max}} tokens`,toolRunning:`running…`,lastTool:`last tool`,error:`Error`,finalOutput:`Final Output`,copyOutput:`Copy output`,liveOutput:`Live Output`,waitingOutput:`Waiting for output…`,outputHint:`Output appears here as the agent streams text.`,toolLog:`Tool Log ({{count}} calls)`,fail:`fail`,moreTools:`+{{count}} more tools`,cardRunning:`running {{tool}}`,cardLastTool:`last: {{tool}}`,contextPercent:`Context {{pct}}%`,doneCount:`{{count}} done`,errCount:`{{count}} err`,statusRunning:`running`,statusDone:`done`,statusFailed:`failed`,statusTimeout:`timeout`,statusStopped:`stopped`,hittingLimitTitle:`⚡ hitting {{kind}} limit ({{used}}/{{limit}})`,budgetExt_one:`{{count}} Budget Extension`,budgetExt_other:`{{count}} Budget Extensions`,extendedTimes_one:`Agent extended its budget {{count}} time due to long-running tasks`,extendedTimes_other:`Agent extended its budget {{count}} times due to long-running tasks`,errorLabel:`Error`,failureReason:`Failure Reason`,failed:`Failed`},h={wsNotConnected:`WebSocket not connected`,noData:`No debug data received. The server may not support context debugging.`,title:`Context Breakdown`,windowUsage:`Window Usage`,contextMode:`Context Mode`,fetching:`Fetching context breakdown…`,systemPrompt:`System Prompt`,tools:`Tools`,messages:`Messages`,tokenAllocation:`Token Allocation`,systemTitle:`System: {{tokens}}`,toolsTitle:`Tools: {{tokens}}`,messagesTitle:`Messages: {{tokens}}`,system:`System`,toolBreakdown:`Tool Breakdown`,messagesSummary:`Messages ({{count}}) — {{total}} tok`,barWithTokens:`Context window: {{tokens}} / {{max}} tokens ({{pct}})`,barPct:`Context window: {{pct}}`,barClick:` — click for breakdown`},g={header:`✨ Refine Prompt`,autoSend:`auto-send in {{count}}s`,cancelTitle:`Cancel (Esc)`,editLabel:`Edit refined prompt:`,editPlaceholder:`Edit the refined prompt...`,useEdit:`Use Edit`,original:`Original`,refined:`Refined`,yourLanguage:`(your language)`,refinedTitle:`Click or press Enter to use this version`,copyToInputTitle:`Copy to input without sending`,english:`English`,englishTitle:`Press e to use English version`,hintRefined:`refined`,hintEnglish:`English`,hintOriginal:`original`,hintEdit:`edit`,hintRetry:`retry`,edit:`Edit`,useRefined:`Use Refined`,langOriginal:`Original`,langEnglish:`English`,languageTitle:`Switch default refine language — Original vs English`,yolo:`YOLO`,yoloTitle:`Bypass tool confirmation prompts`,refining:`Refining…`,sendAsIs:`Send as-is`,failedHeader:`Refinement failed`,retry:`Retry (more time)`,retryBetter:`Try again better`,retryFallback:`Retry with {{model}}`,pickModel:`Another model…`,pickModelTitle:`Retry refinement with another model`,pickModelHint:`Pick a provider/model to re-run this refinement on. Your session model stays unchanged.`,countdownHeader:`✨ Refining starts in…`,countdownYourMessage:`Your message`,countdownHint:`Refining starts in {{seconds}}s. Click "Send as-is" to skip.`,countdownStartNow:`Refine now`,countdownSendAsIs:`Send as-is`,cancelRefineSendOriginal:`Cancel & send original`},_={heading:`Specifications`,subtitle:`View and manage specification-driven development`,empty:`No specs found. Use {{command}} to create one.`,tasks:`Tasks ({{count}})`,doneCount:`{{count}} done`,runningCount:`{{count}} running`,pendingCount:`{{count}} pending`,runTitle:`Run this spec as a live multi-agent job`,run:`Run`,runAsSdd:`Run as SDD`,runAsSddTitle:`Start a multi-agent SDD parallel run (worktrees, verification, live board)`,runAsGoal:`Run as Goal`,runAsGoalTitle:`Start a phased Goal run from this spec's task columns`,list:`List`,graph:`Graph`,loadingTasks:`Loading tasks…`},v={heading:`F5 Resilience Verifier`,subtitle:`Confirms the latest active session, transcript, and UI state survive a page refresh. Open this view, then press F5 — every green row should remain green.`,recordProbe:`Record probe`,latestSession:`Latest active session`,restoredLocal:`Restored from localStorage`,sessionIdExtra:`session id: {{id}}`,noSessionYet:`no session has been started yet`,activePointer:`Active session pointer`,lastVisited:`lastVisitedAt timestamp`,never:`never`,persistedEnv:`Persisted environment`,transcriptRehydrate:`Chat transcript rehydration`,localTranscript:`Local transcript recovered`,messagesExtra:`{{count}} messages, {{queued}} queued`,noMessages:`0 messages`,noBleed:`No cross-session bleed`,bleedExtra:`bound={{bound}} vs active={{active}}`,transcriptBinds:`transcript binds to the active session`,uiWorkspace:`UI workspace`,noneValue:`(none)`,payloadSize:`localStorage payload (4 keys): {{count}} chars`,probeLog:`Probe log`,noProbes:`No probes yet — press the "Record probe" button at the top, or press F5 in this view, to record a rehydration check.`,simulatedF5:`simulated F5: re-running persist rehydrate`},y={status:{pending:`Pending`,in_progress:`In Progress`,review:`Review`,failed:`Failed`,completed:`Done`,queued:`Queued`,blocked:`Blocked`,cancelled:`Cancelled`},newTaskTitle:`New task`,newTaskPlaceholder:`Task title…`,addTask:`Add task`,empty:`No phases yet — start a Goal run to populate the board.`,summary:`{{phases}} phases · {{tasks}} tasks`,phases:`Phases`,statusTab:`Status`,dropHere:`Drop tasks here`,emptySpec:`No tasks in this spec yet.`,depGraphHeading:`Dependency Graph`,worktreePrefix:`worktree: {{branch}}`},b={trendUp:`Increasing`,trendDown:`Decreasing`,trendStable:`Stable`,heading:`Debug Dashboard`,subtitle:`Real-time monitoring for WrongStack WebUI`,refreshLabel:`Refresh:`,lastUpdated:`Last updated: {{time}}`,fetchFailed:`Failed to fetch metrics`,fileWatcher:`File Watcher`,watcherStatus:`Watcher Status`,running:`Running`,stopped:`Stopped`,activeProjects:`Active Projects`,projectsWatched:`Projects being watched`,fileChanges:`File Changes`,totalDetected:`Total detected`,filesProcessed:`Files Processed`,afterHash:`After hash filter`,broadcastsSent:`Broadcasts Sent`,toClients:`To WebUI clients`,debounceResets:`Debounce Resets`,rapidWrites:`Rapid successive writes`,avgDebounce:`Avg Debounce Delay`,actualDelay:`Actual delay applied`,totalDelay:`Total Delay`,sumDelays:`Sum of all delays`,browserPerf:`Browser Performance`,heapUsed:`Heap Used`,jsHeap:`JavaScript heap`,heapTotal:`Heap Total`,totalHeap:`Total heap size`,pageUptime:`Page Uptime`,sinceLoad:`Since page load`,rawData:`Raw Data`},x={allowlistTitle:`Model allowlist`,modelCount_one:`{{count}} model`,modelCount_other:`{{count}} models`,using:`Using`,noModelPicked:`(no model picked)`,clearAllowlist:`Clear allowlist`,clearAllowlistAria:`Clear saved allowlist for {{provider}}`,refresh:`Refresh from server`,refreshAria:`Refresh model list for {{provider}}`,probing:`Probing…`,searchPlaceholder:`Search models…`,use:`Use`,useModelAria:`Use model {{model}} for {{provider}}`},S={expandChip:`Expand {{label}}`,collapseChip:`Collapse {{label}}`,ahead:`{{count}} ahead`,behind:`{{count}} behind`,linesAdded:`{{count}} lines added`,linesDeleted:`{{count}} lines deleted`,untrackedFiles:`{{count}} untracked files`,customizeTitle:`Customize dock chips`,dockChips:`Dock chips`,noActiveGoal:`No active goal`,noActiveGoalDetail:`Start a goal from chat or the goal command.`,closeWorkspaceInspector:`Close workspace inspector`,goal:`Goal`,goalState:`Goal State`,goalStateDetail:`Active objective and progress`,fleet:`Fleet`,fleetDetail:`Live agent roster and activity`,work:`Work`,workDetail:`Todos, tasks, and plan`,worktrees:`Worktrees`,worktreesDetail:`Parallel branches and lanes`,collab:`Collab`,collabDetail:`Session participants and controls`,inspector:`Workspace inspector`,inspectorNamed:`{{name}} workspace inspector`,workspace:`Workspace`,workspaceDetails:`Workspace details`},C={leaderBadge:`LEADER`,iters:`Iters`,tools:`Tools`,activityBins:`Activity (12 bins)`,streamingOutput:`Streaming output`,recentTools:`Recent tools`,finalOutput:`Final output`,heading:`Agents Monitor`,prevAgent:`Previous agent`,nextAgent:`Next agent`,closeAria:`Close agents monitor`,hintPage:`←→ page`,hintNavigate:`↑↓ navigate list`,hintEsc:`Esc close`},w={resize:`Resize terminals`,labelSingular:`Terminal`,labelPlural:`Terminals`,projectShell:`Project shell`,maxTerminals:`Maximum {{count}} terminals`,newTerminal:`New terminal`,restart:`Restart active terminal`,closeAll:`Close all terminals`,closeDock:"Close terminal dock (Ctrl+`)",closeTab:`Close {{name}}`,processExited:`[process exited with code {{code}}]`},T={liveStream:`Live stream`,events_one:`{{count}} event`,events_other:`{{count}} events`,interruptTitle:`Cooperatively stop this agent at its next step (not a process kill)`,interrupt:`⏸ Interrupt`,interrupting:`…`,loading:`Loading session…`,done:`✓✓ done`,read:`✓ read`,delivered:`⏳ delivered`,agent:`Agent`,you:`You`,working:`{{name}} · working`,claude:`Claude`,priority:`Priority`,placeholder:`{{label}} → this session…`,send:`Send`,sendHint:`⌘/Ctrl+Enter to send · seen on the agent's next iteration`,msgType:{steerLabel:`🔄 Steer`,steerHint:`Adjust behavior mid-task`,askLabel:`❓ Ask`,askHint:`Question — expects a reply`,assignLabel:`📋 Assign`,assignHint:`A task to act on`,noteLabel:`💬 Note`,noteHint:`FYI, non-urgent`},sentRunning:`Delivered — the running agent sees it on its next step`,sentIdle:`Delivered — target is idle; appears in its mailbox, read when it next runs`,sentFailed:`Failed: {{error}}`,interruptReason:`Operator requested stop from Fleet HQ`,interruptSent:`Interrupt sent — agent stops at its next step (not a kill)`,interruptFailed:`Interrupt failed: {{error}}`},E={empty:`No side effects recorded yet.`,emptyHint:`Bash commands, package installs, and network requests will appear here.`,heading:`Side Effects`,exportTitle:`Export filtered side effects as CSV`,all:`All`,colTime:`Time`,colTool:`Tool`,colRisk:`Risk`,colDetail:`Detail`,colOutcome:`Outcome`},D={elapsedHm:`{{h}}h {{m}}m ago`,elapsedMs:`{{m}}m {{s}}s ago`,elapsedS:`{{s}}s ago`,heading:`Fleet Monitor`,clientsHeading:`Connected Clients`,terminal:`Terminal`,webui:`Web UI`,repl:`REPL`,totalConnected:`total connected`,mailQueue:`Mail Queue`,total:`Total`,open:`Open`,unread:`Unread`,agents:`Agents`,messagesSub:`messages`,uncompletedSub:`uncompleted`,waitingSub:`waiting`,ofTotal:`of {{count}} total`,agentRoster:`Agent Roster`,liveMailActivity:`Live Mail Activity`,noActivity:`No recent activity`,mailboxAgents:`Mailbox Agents`,noMailboxAgents:`No agents registered`,moreCount:`+{{count}} more`,agentFallback:`agent`,fleetAgents:`Fleet Agents`,noFleetAgents:`No fleet agents running`,iter:`iter`,mailType:{sent:`Sent`,delivered:`Delivered`,read:`Read`,completed:`Completed`}},O={status:{pending:`pending`,queued:`queued`,in_progress:`running`,blocked:`blocked`,review:`review`,failed:`failed`,completed:`done`,cancelled:`cancelled`},activityHeading:`Activity`,feedEmpty:`Nothing yet — events appear here as agents pick up and finish tasks.`,destroyTitle:`Destroy SDD project?`,destroyDesc:`This wipes the run and its work. It cannot be undone (the optional commit revert is history-preserving).`,stopRun:`Stop the run`,stopRunAgents_one:`Stop the run ({{count}} agent working)`,stopRunAgents_other:`Stop the run ({{count}} agents working)`,removeWorktreesAll:`Remove all git worktrees + wstack/ap/* branches — including un-merged work`,removeWorktreesCount_one:`Remove {{count}} git worktree + wstack/ap/* branches — including un-merged work`,removeWorktreesCount_other:`Remove {{count}} git worktrees + wstack/ap/* branches — including un-merged work`,deleteArtifacts:`Delete all SDD artifacts (specs, task graph, board, session)`,revertMerged_one:`Also revert {{count}} merged commit`,revertMerged_other:`Also revert {{count}} merged commits`,revertHint:`Adds revert commits (history preserved). Refused if the working tree is dirty.`,baseBranchFallback:`the base branch`,noteLeaveMerged:`Merged commits will be left on the base branch. Tick the box above to undo them too.`,noteAbandon:`Make sure you really want to abandon this run.`,destroying:`Destroying…`,destroyAll:`Destroy everything`,kanbanBacklog:`Backlog`,kanbanReady:`Ready`,kanbanRunning:`Running`,kanbanReview:`Review`,kanbanFailed:`Failed`,kanbanDone:`Done`,kanbanEmpty:`empty`},k={collapseToLines:`Collapse to first {{count}} lines`,showAllLines:`Show all {{total}} lines ({{more}} more)`,exitCode:`exit code:`,jsonLines:`JSON · {{count}} lines`,collapse:`collapse`,expand:`expand`},A={injectedHeading:`SAGE Memory Injected`,memoriesLabel_one:`{{count}} memory`,memoriesLabel_other:`{{count}} memories`},j={heading:`Design Studio — Gallery`,kitsCount:`{{count}} kits`,searchPlaceholder:`Search kits…`,stackTitle:`Stack for Use + Materialize`,wrote:`Wrote {{path}}`,materializeFailed:`Materialize failed: {{error}}`,verifyError:`Verify: {{error}}`,verifyOffPalette:`Verify: {{pct}}% on-palette — {{count}} off-palette in {{files}} file(s)`,verifyClean:`Verify: clean ✓ ({{files}} file(s) on-palette)`,writing:`Writing theme file…`,scanning:`Scanning UI files…`,active:`Active`,reapply:`Reapply`,use:`Use`,materializeTitle:`Write tokens to a {{stack}} theme file`,materialize:`Materialize`,verifyTitle:`Scan UI files for off-palette colors`,verify:`Verify`,colors:`Colors`},M={summary_one:`{{count}} phase · {{pct}}% complete`,summary_other:`{{count}} phases · {{pct}}% complete`,switchBoard:`Switch board`,boardsCount_one:`{{count}} board…`,boardsCount_other:`{{count}} boards…`,toggleAutonomousTitle:`Toggle autonomous mode`,autonomous:`Autonomous`,manual:`Manual`,resumeTitle:`Resume the run`,pauseTitle:`Pause the run`,resume:`Resume`,pause:`Pause`,stopTitle:`Stop the run — aborts in-flight agents immediately`,stop:`Stop`,newTitle:`Clear this board and start a new Goal run`,newLabel:`New`,revertConfirm:`Revert run's commits?`,revertTitle:`Undo this run — git-revert the commits it landed and remove its worktrees`,revert:`Revert`,goal:`Goal`,planning:`Planning phases…`,planningBody:`Your goal was received. WrongStack is breaking it into phases and tasks — the board appears here the moment the plan is ready.`,startHeading:`Start a Phase Plan`,startBody:`Describe what you want to build. WrongStack will plan phases and tasks, then execute them — watch and steer the run on the board.`,startPlaceholder:`e.g. Build a REST API for user management with Express and SQLite...`,isolateLabel:`Isolate each phase in its own git worktree`,startButton:`Start Goal`,ctrlHint:`Ctrl+Enter to start`,isolateOn:`phases run in isolated worktrees, squash-merged back`,isolateOff:`phases run directly on the current branch`,lanes:`Lanes`,graph:`Graph`,planningAck:`🚀 **Goal** — got it. Planning phases for your goal now…`,assess:{analyzing:`Analyzing goal scope…`,realistic:`✓ Scope looks realistic`,durationConcern:`⚠ Duration concern`,durationClaimed:`Claimed duration: {{duration}}`,recommendation:`Recommended: {{duration}}`,concerns:`Concerns`,analysisFailed:`Could not analyze goal scope`,override:`Start anyway`,overrideTitle:`Clear the assessment warning and enable the start button`,disableTitle:`This goal has an unrealistic duration assessment — use "Start anyway" to override`},multiBoardLabel:`Split into multiple kanban boards`,verifyTasksLabel:`Require verification for each task`,chimeraReviewLabel:`Enable chimera auto-review`},N={noObservers:`No live observers`,observerTitle:`Join as a read-only observer (Phase 1)`,observerRole:`observer`,annotatorTitle:`Join as an annotator — leave inline notes on tool calls (Phase 2)`,annotatorRole:`annotator`,controllerTitle:`Join as a controller — can pause the agent loop (Phase 3)`,controllerRole:`controller`,errorPrefix:`Collab: {{error}}`,dismiss:`dismiss`,observers_one:`{{count}} observer`,observers_other:`{{count}} observers`,annotationsTitle:`{{count}} open annotation(s) — annotators reviewing this session`,notes_one:`{{count}} note`,notes_other:`{{count}} notes`,pausedTitle:`Agent loop is paused — a controller is reviewing`,paused:`paused`,joinedTitle:`Joined {{time}}`,grantTitle:`Grant control — promote this participant to controller`,injectTitle:`Inject a synthetic result for an in-flight tool call`,inject:`Inject`,resumeTitle:`Resume the agent loop`,resume:`Resume`,pauseTitle:`Pause the agent before the next tool call`,pauseAgent:`Pause agent`,leaveTitle:`Leave the observer session`,leave:`Leave`,injectToolResult:`Inject tool result`,close:`close`,targetTool:`Target tool_use id`,targetPlaceholder:`pick an in-flight call or type a tool_use id`,toolFallback:`tool`,noPendingTools:`No in-flight tool calls — type a tool_use id to pre-queue, or pause the agent first.`,resultContent:`Result content`,resultPlaceholder:`Synthetic tool result fed to the agent in place of running the tool`,markError:`mark as error`,reasonPlaceholder:`reason (audit log)`,queueInjection:`Queue injection`,controllerInjection:`controller injection`},P={modePrefix:`mode:`,activeTitle:`Active mode`,heading:`Mode`,defaultName:`Default`,defaultDesc:`Standard agent behaviour`},F={clickTitle:`Click for per-turn cost breakdown`,heading:`Cost breakdown`,noPricing:`No pricing for the current model — cost figures are zero.`,noTurns:`No completed turns yet. Run a prompt to see per-turn cost here.`,topExpensive_one:`Top {{count}} expensive turn`,topExpensive_other:`Top {{count}} expensive turns`},I={runDefault:`Run default`,useRunDefault:`Use run default`,filterPlaceholder:`Filter models…`,loading:`Loading models…`,noMatch:`No match`},L={heading:`Switch model`,filterPlaceholder:`Filter providers and models…`,providerFilter:`Provider`,providerFilterAll:`All providers`,noSavedProviders:`No saved providers — register a key in Settings first.`,noMatch:`No matching models`,active:`active`},R={todos:`Todos`,tasks:`Tasks`,plan:`Plan`},z={toggleAria:`Toggle: {{content}}`,removeTitle:`Remove todo`,removeAria:`Remove "{{content}}"`,completedCount_one:`{{count}} completed`,completedCount_other:`{{count}} completed`},B={start:`Start`,complete:`Complete`,retry:`Retry`,assign:`Assign`,assignTitle:`Assign agent`,unassigned:`Unassigned`,statusPending:`Pending`,statusInProgress:`In Progress`,statusBlocked:`Blocked`,statusFailed:`Failed`,statusReview:`Review`,statusDone:`Done`,startTitle:`Start`,completeTitle:`Complete`,fail:`Fail`,failTitle:`Mark failed`,boardCount:`{{total}} tasks · {{done}} completed`},V={toolCalls_one:`{{count}} tool call`,toolCalls_other:`{{count}} tool calls`},H={removeTitle:`Remove reference`,linesCount_one:`{{count}} line`,linesCount_other:`{{count}} lines`},U={statusOpen:`Open`,statusInProgress:`In Progress`,statusDone:`Done`,startTitle:`Start`,doneTitle:`Mark done`,reopenTitle:`Reopen`,reopen:`Reopen`},W={heading:`@ Files`,noMatch:`No files match "{{query}}"`,searching:`Searching project…`,selectInsertEscDismiss:`↑/↓ select · ↵ insert · Esc dismiss`},G={dismiss:`Dismiss`},K={placeholder:`Search in chat…`,prevHit:`Previous hit`,nextHit:`Next hit`,close:`Close (Esc)`},q={statusPending:`Pending`,statusReady:`Ready`,statusRunning:`Running`,statusPaused:`Paused`,statusCompleted:`Completed`,statusFailed:`Failed`,statusSkipped:`Skipped`,heading:`Phases`,autonomousOn:`● Autonomous`,autonomousOff:`○ Manual`,autonomousOnTitle:`Autonomous mode active — click to pause`,autonomousOffTitle:`Manual mode — click to enable autonomous`,overallProgress:`Overall Progress`,tasksSuffix:`{{done}}/{{total}} tasks`,agentsSuffix_one:`{{count}} agent`,agentsSuffix_other:`{{count}} agents`},J={triggerTitle:`Context-window mode`,ctxPrefix:`ctx:`,opsHeading:`Context Operations`,compactNow:`Compact Now`,compactNowDesc:`Elide old tool output`,compactAggressive:`Compact Aggressive`,compactAggressiveDesc:`Maximum elision now`,repairContext:`Repair Context`,repairDesc:`Fix orphan tool-use blocks`,debugContext:`Debug Context`,debugDesc:`Size breakdown per section`,windowHeading:`Context Window`,keepElide:`keep {{k}} recent · elide {{t}}+ tokens`,fallbackName:`Balanced`,fallbackDesc:`Default rolling compaction`},Y={kindAssistant:`Assistant`,kindThinking:`Thinking`,kindToolCall:`Tool call`,kindToolResult:`Tool result`,kindError:`Error`,kindStatus:`Status`,kindSystem:`System`,title:`Chat history`,copyTitle:`Copy agent chat history`,empty:`No chat history for this agent yet.`},X={heading:`Autonomy Mode`,titlePrefix:`Autonomy: {{label}}`,descOff:`Full manual control — agent waits for your input.`,descSuggest:`Agent suggests next steps but waits for approval.`,descAuto:`Agent auto-proceeds after brief confirmation delay.`,descEternal:`Agent runs autonomously until goal is complete.`,descEternalParallel:`Multi-agent autonomous execution — fleet mode.`,labelOff:`Off`,labelSuggest:`Suggest`,labelAuto:`Auto`,labelEternal:`Eternal`,labelEternalParallel:`Eternal Parallel`},Z={heading:`Message Queue`,subtitle:`{{count}} queued · messages sent before the agent finishes`,btwTitle:`By-the-way — sent as follow-up without interrupting the running agent`,steerTitle:`Steer — interrupts the running agent and redirects it with this message`,queueTitle:`Queued — held until the current agent run completes, then sent in order`,sortNewestTitle:`Sorted newest first — click to sort oldest first`,sortOldestTitle:`Sorted oldest first — click to sort newest first`,newest:`Newest`,oldest:`Oldest`,clear:`Clear`,clearTitle:`Clear all queued messages`,closeTitle:`Close`,emptyTitle:`Queue is empty`,emptyBody:`Use the btw / steer / add queue buttons beside the input to add messages. Queued items are sent in order when the current agent run completes.`,removeTitle:`Remove from queue`,clearDispatchedTitle:`Clear queued messages — already-sent notes cannot be retracted`,dispatchedTitle:`Already sent to the agent`,dispatchedLabel:`Sent`,footer:`Messages are sent in arrival order when the current agent run completes. Use the sort toggle to view newest-first.`},Q={heading:`Session Checkpoints`,countSuffix_one:`{{count}} checkpoint`,countSuffix_other:`{{count}} checkpoints`,description:`Rewind the session to any checkpoint. Messages and file changes revert to that point — the LLM continues from there as if nothing happened after.`,emptyTitle:`No checkpoints yet`,emptyBody:`Checkpoints are automatically created each time you send a message. Send a few messages and come back.`,latest:`latest`,msgSuffix_one:`{{count}} msg`,msgSuffix_other:`{{count}} msgs`,footerPre:`Click any checkpoint to rewind`,footerPost:`to close`},ne={statusActive:`Active`,statusPaused:`Paused`,statusDone:`Done`,statusFailed:`Failed`,statusAbandoned:`Abandoned`,heading:`Goal`,refined:`Refined`,progress:`Progress`,iterations:`iterations`,deliverables:`Deliverables`,recentActivity:`Recent Activity`},re={cleanTitle_one:`Clean {{count}} orphaned worktree?`,cleanTitle_other:`Clean {{count}} orphaned worktrees?`,cleanMessage:`Force-removes every leftover git worktree + wstack/ap branch from previous runs. Un-merged work in them is discarded.`,cleanConfirm:`Clean orphans`,orphanCount_one:`{{count}} orphaned worktree from previous runs`,orphanCount_other:`{{count}} orphaned worktrees from previous runs`,andMore:`…and {{count}} more`,cleanButtonTitle:`Force-remove all orphaned worktrees + branches`,removed_one:`✓ Removed {{count}} orphaned worktree.`,removed_other:`✓ Removed {{count}} orphaned worktrees.`,cleanupFailed:`cleanup failed`,lanesHeading:`Worktrees`,base:`base`,isolatedCount_one:`{{count}} isolated`,isolatedCount_other:`{{count}} isolated`,statusAllocating:`allocating`,statusActive:`active`,statusCommitting:`committing`,statusMerging:`merging`,statusMerged:`merged`,statusConflict:`conflict`,statusFailed:`failed`,conflictBadge:`CONFLICT`,graphAria:`Worktree branch graph off {{base}}`,mergedLabel:`✓ merged → {{base}}`},ie={heading:`Running Processes`,subtitle:`{{active}} active · {{total}} total`,killAll:`Kill All`,emptyTitle:`No processes tracked`,emptyBody:`Processes appear here when the agent runs bash or exec tools. Active processes show a pulsing LED.`,pidLabel:`PID {{pid}}`,protected:`protected`,protectedTitle:`Protected — survives kill/killAll`,background:`background`,backgroundTitle:`Detached job — survives CLI/WebUI shutdown`,confirmKillBackground:`Terminate detached background process {{pid}}?`,confirmKillAll:`Terminate all {{count}} running processes?`,killTitle:`Kill PID {{pid}}`},ae={tooLarge:`Diff omitted (file too large to render inline).`},oe={placeholder:`Add a fallback model…`,emptyHint:`Tried in order when the primary model rate-limits or stalls.`,moveUp:`Move up`,moveDown:`Move down`},se={loading:`Loading sessions...`,apiUnavailable:`Session API unavailable:`,empty:`No live sessions. Open another wstack instance to see it here.`,heading:`Live Sessions ({{count}})`,autoRefresh:`auto-refresh every 5s`,pidLabel:`PID {{pid}}`,agentMeta:`{{iter}} iter · {{tools}} tools · {{ago}}`,andMore:`... and {{count}} more`,noAgents:`No agents`},ce={applyTitle:`Write the edited version back to disk`,applying:`Applying…`,applied:`Applied`,apply:`Apply`},le={showStack_one:`Show stack trace ({{count}} frame)`,showStack_other:`Show stack trace ({{count}} frames)`,hideStack_one:`Hide stack trace ({{count}} frame)`,hideStack_other:`Hide stack trace ({{count}} frames)`},ue={liveHeading:`Live`,clients:`Clients`,agents:`Agents`,model:`Model`,mode:`Mode`,toolCalls:`Tool calls`,displayHeading:`Display`,statsHud:`Stats HUD`,legends:`Legends`,minimap:`Minimap`,zoomControls:`Zoom controls`,animateWires:`Animate wires`,backgroundHeading:`Background`,bgDots:`Dots`,bgLines:`Lines`,bgCross:`Cross`,bgNone:`None`},de={noParams:`(no params)`,itemCount_one:`{{count}} item`,itemCount_other:`{{count}} items`,keyCount_one:`{{count}} key`,keyCount_other:`{{count}} keys`},fe={roleYou:`You`,roleTool:`Tool`,roleThinking:`Thinking`,roleAssistant:`Assistant`,inputLabel:`Input`,downloadTitle:`Download as file`,empty:`(empty)`,hideDetails:`Hide details`,showDetails:`Show details`,showDetailsLines_one:`Show details ({{count}} line)`,showDetailsLines_other:`Show details ({{count}} lines)`,editHint:`⌘/Ctrl+Enter to save · Esc to cancel`,saveResend:`Save & resend`,thinkingProcess:`Model Reasoning`,thinkingMeta:`iter {{iter}} · {{dur}} · {{lines}}`,replay:`replay`,linesSuffix_one:`{{count}} line`,linesSuffix_other:`{{count}} lines`,copyLog:`Copy log`,showFullLog:`Show full log`,typing:`Typing…`,noContent:`No content`,imageNotRetained:`Image preview not kept after refresh`,failedToSend:`⚠ Failed to send`,autoPaused:`⚠️ _Auto-proceed paused — maximum consecutive automatic turns reached. Type anything to continue (autonomy stays on)._`,autoLoopHalted:`⚠️ _Auto-submit halted because the same prompt repeated. Autonomy remains on; enter a new prompt to reset the loop guard._`,rsIterations:`Iterations: {{n}}`,rsTools:`Tool calls: {{n}}`,rsElapsed:`Elapsed: {{s}}`,rsCost:`Cost: {{c}}`,useInput:`Input: {{n}}`,useOutput:`Output: {{n}}`,useCacheRead:`Cache read: {{n}}`,useCost:`Cost: {{c}}`,renderedLabel:`Rendered`,rawLabel:`Raw`,showRenderedTitle:`Show rendered markdown`,showRawTitle:`Show raw markdown source`,editTitle:`Edit & resend this prompt`,editLabel:`Edit`,unpinTitle:`Unpin`,pinTitle:`Pin this answer`,pinnedLabel:`Pinned`,pinLabel:`Pin`,regenerateTitle:`Regenerate this response`,retryLabel:`Retry`},pe={toolFallback:`tool`,toolFailed:`Tool failed`},me={heading:`Keyboard shortcuts`,footerPre:`Press`,footerPost:`any time to reopen this list.`,sectionGlobal:`Global`,sectionTuiParity:`TUI Panel Parity`,sectionFleet:`Fleet & Agents`,sectionChatInput:`Chat input`,sectionChat:`Chat`,sectionChatNav:`Chat navigation (when not typing)`,dCommandPalette:`Open command palette`,dShowOverlay:`Show this shortcuts overlay`,dToggleSidebar:`Toggle sidebar`,dOpenPanel:`Open side panel (Session, Agents, History, Files, Changes, Mailbox, Skills, Office Map)`,dDesignStudio:`Open Design Studio side panel`,dWorktrees:`Open Worktrees side panel`,dSettings:`Open Settings`,dMemory:`Open Memory`,dFocusInput:`Focus the message input`,dSessionPanel:`Session panel`,dFleetOverlay:`Fleet monitor overlay`,dAgentsOverlay:`Agents monitor overlay`,dWorktreeMonitor:`Worktree monitor`,dPlanPanel:`Plan panel`,dTodosPanel:`Todos panel`,dQueuePanel:`Queue panel`,dProcessMonitor:`Process monitor`,dGoalPanel:`Goal panel`,dSessionsDashboard:`Sessions dashboard`,dOfficeMap:`Coordinator office map`,dDockPicker:`Dock chip picker`,dOpenFleet:`Open Fleet Monitor overlay`,dOpenAgents:`Open Agents Monitor overlay`,dNavigateAgents:`Navigate agents in monitor`,dSelectAgent:`Select focused agent`,dCloseOverlay:`Close active overlay`,dSendMessage:`Send message`,dNewline:`Insert a newline`,dRecallPrev:`Recall previous prompt (in empty input)`,dRecallNext:`Recall next prompt`,dSlashPopup:`Open slash command popup`,dAutocomplete:`Autocomplete highlighted command`,dDismissPopup:`Dismiss popup / clear input`,dSearchChat:`Search within current chat`,dClearContext:`Clear context (same as /clear)`,dNewSession:`Start a new session (same as /new)`,dExportMarkdown:`Export chat as markdown`,dModelSwitcher:`Quick model switcher overlay`,dCompactDensity:`Toggle compact UI density`,dAbortRun:`Abort the current run (when running)`,dFocusNext:`Focus next message (alias: ↓)`,dFocusPrev:`Focus previous message (alias: ↑)`,dJumpFirst:`Jump to first message`,dJumpLast:`Jump to last message`,dCopyFocused:`Copy focused message text`,dClearFocused:`Clear focused message`},he={titleFallback:`Live SDD Board`,defaultModelTitle:`Run-level default worker model (per-task overrides take precedence)`,graphLabel:`Graph`,kanbanLabel:`Kanban`,retryAllTitle:`Requeue every failed task to pending`,retryFailed:`Retry failed ({{count}})`,resume:`Resume`,pause:`Pause`,stop:`Stop`,cleanTitle:`Remove the run's git worktrees + wstack/ap branches`,cleanWorktrees:`Clean worktrees`,rollbackTitle:`Revert {{count}} merged commit(s) on {{base}}`,rollback:`Rollback ({{count}})`,stopping:`Stopping…`,destroying:`Destroying…`,destroyTitle:`Stop, remove all worktrees, optionally revert merged commits, and delete the SDD project`,destroy:`Destroy`,statDone:`done`,statRunning:`running`,statFailed:`failed`,statWave:`wave`,statElapsed:`elapsed`,noActiveWorkers:`no active workers`,deadlock:`Deadlock — tasks blocked by failed work:`,noRunTitle:`No active SDD run.`,noRunBody:`Start one from the New SDD Project wizard, or via /sdd execute in the CLI — agents appear here live, each working an isolated worktree.`,clickTaskHint:`click a task for details`,lcClean:`Clean`,lcRollback:`Rollback`,lcDestroy:`Destroy`,lcFailed:`{{op}} failed: {{reason}}`,lcUnknownError:`unknown error`,lcWorktrees_one:`{{count}} worktree removed`,lcWorktrees_other:`{{count}} worktrees removed`,lcCommits_one:`{{count}} commit reverted`,lcCommits_other:`{{count}} commits reverted`,lcDeleted:`deleted {{items}}`,lcNothing:`nothing to do`,lcNote:`{{op}}: {{body}} — note: {{reason}}`,lcOk:`{{op}}: {{body}}`},ge={backTitle:`Back to activity`,expandTitle:`Expand task details`,collapseTitle:`Collapse task details`,eventLog:`Task event log`,newestFirst:`newest first`,noEvents:`No task activity has been recorded yet.`,workingOn:`working on this task`,assigned:`assigned`,metaPriority:`Priority`,metaType:`Type`,metaDuration:`Duration`,metaElapsed:`Elapsed`,metaRetries:`Retries`,metaWorktree:`Worktree`,workerModel:`Worker model`,runDefault:`run default: {{model}}`,runDefaultPlaceholder:`Run default`,runDefaultPlaceholderModel:`Run default ({{model}})`,verificationCmd:`Verification command`,gatesCompletion:`gates completion (exit 0)`,verifyPlaceholder:`e.g. pnpm vitest run path/to/file`,addVerify:`+ Add verification command`,description:`Description`,timeline:`Timeline`,dependsOn:`Depends on`,blocks:`Blocks`,newWorkerPlaceholder:`New worker name…`,confirmStop:`Stop this running task?`,confirmDelete:`Delete this task from the run?`,retryTitle:`Requeue this task to pending`,reassign:`Reassign`,stopTitle:`Abort the worker on this task`,splitTitle:`Split this task into sub-tasks delegated to separate workers`,split:`Split`,splitHint:`One sub-task per line — Title :: description (description optional)`,splitPlaceholder:`Write the data layer :: add the repository
|
|
4
|
-
Wire the UI`,splitInto:`Split into sub-tasks`,deleteTitle:`Remove this not-started task from the run`},_e={phaseStart:`Start`,phaseInterview:`Interview`,phaseSpecReview:`Spec Review`,phasePlanning:`Planning`,phaseTaskReview:`Task Review`,phaseRunning:`Running`,phaseDone:`Done`,titleFallback:`New SDD Project`,questionsSuffix:`{{cur}}/{{max}} questions`,tasksSuffix:`{{count}} tasks`,runCfgTitle:`Run config — default model + fallback chain`,modelsLabel:`Models`,startRun:`Start Run`,defaultWorkerModel:`Default worker model`,leaderDefaultPlaceholder:`Leader / session default`,useSessionDefault:`Use session default`,fallbackChain:`Fallback chain`,appliesToAll:`Applies to every task. Override per-task from the live board after the run starts.`,parallelAgents:`Parallel agents`,isolateWorktrees:`Isolate in git worktrees`,worktreeOn:`Each task runs in its own worktree, squash-merged back on completion.`,worktreeOff:`Tasks run directly on the current branch (no isolation).`,planDecompose:`Auto-split large tasks`,planDecomposeOn:`Before dispatch, split tasks the atomicity engine flags as too large.`,planDecomposeOff:`Keep the approved task graph as-is (still split at runtime if a task fails).`,goalPrompt:`What do you want to build?`,goalPlaceholder:`e.g. Add OAuth login (Google + GitHub) with session management`,startingInterview:`Starting interview…`,startInterview:`Start Interview`,introBody:`An isolated agent interviews you to build a spec, decomposes it into a dependency-ordered task graph, then a real multi-agent fleet executes it — watch live on the board. If you refresh or restart, the interview resumes automatically.`,taskGraphSummary:`Task graph · {{count}} tasks, dependency-ordered`,dragToExplore:`drag to explore`,show:`show`,goalLabel:`Goal`,implementationPlan:`Implementation plan`,approveSpec:`Approve spec → plan implementation`,approveTasks:`Approve tasks`,approvePlan:`Approve plan`,answerPlaceholder:`Answer the question…`,changePlaceholder:`Request a change…`,resumeBanner:`Resumed interview from a previous session — continue where you left off.`,openLiveBoard:`Open live board`,discardInterview:`Discard & start over`,discardTitle:`Abandon this interview and clear the saved session`},ve={emptyDir:`empty`,loadFailed:`Failed to load files: {{error}}`,expandAllTitle:`Expand all directories`,expandAll:`Expand all`,collapseAllTitle:`Collapse all directories`,collapse:`Collapse`,folders_one:`{{count}} folder`,folders_other:`{{count}} folders`,currentDirTitle:`Current directory: {{path}}`,navigateToTitle:`Navigate to {{path}}`,filesSuffix_one:`{{count}} file`,filesSuffix_other:`{{count}} files`,goToDir:`go to dir`,navigateParentTitle:`Navigate to parent directory of {{path}}`,parentDirectory:`parent directory`,noFiles:`No files found`,copyAbsPath:`Copy absolute path`,copyRelPath:`Copy relative path`,openInTerminal:`Open in terminal`,openInFileManager:`Open in file manager`,mentionInChat:`Mention in chat`,copyPath:`Copy path`},ye={sendSelectionAction:`Send selection to chat`,noFilesOpen:`No files open`,selectToEdit:`Select a file from the explorer to start editing`,sendSelectedTitle:`Send selected lines to chat`,mentionFileTitle:`Mention this file in chat`,sendToChat:`Send to chat`,mentionFile:`Mention file`,loadingEditor:`Loading editor…`,selectTab:`Select a tab to view its content`},be={title:`File activity`,overview:`Overview`,changes:`Changes`,context:`Context`,logs:`Logs`,lines:`lines`,resizeHint:`Drag to resize · double-click to reset`,refresh:`Refresh file evidence`,evidenceCount_one:`{{count}} event`,evidenceCount_other:`{{count}} events`,mutations30m:`Edits · 30m`,sessions:`Sessions`,actors:`Actors`,linkedWork:`Work links`,lifetimeTitle:`All history`,lifetimeChanges:`changes`,lifetimeSessions:`sessions`,lifetimeTasks:`tasks`,lifetimeBoards:`boards`,lifetimeSince:`since {{date}}`,lifetimeTools:`via {{tools}}`,workLinks:`Kanban / todo`,recentActivity:`Recent file activity`,events:`events`,noEvidence:`No activity has been attributed to this file yet.`,noSessions:`No session attribution yet.`,noActors:`No actor attribution yet.`,noWorkLinks:`No Kanban, SDD or todo link recorded.`,taskOrTodo:`Task / todo`,loadingEvidence:`Loading file evidence…`,gitToBuffer:`Git HEAD → current Monaco buffer`,savedToBuffer:`Last saved version → current Monaco buffer`,unsaved:`unsaved buffer`,level:{quiet:`quiet`,active:`active`,churn:`high churn`},analysisTitle:{quiet:`No recent edit churn`,active:`This file is being changed`,churn:`Repeated edits detected`},analysisBody:{quiet:`No attributed mutations were recorded in the last 30 minutes.`,active:`{{mutations}} mutations across {{actors}} actors and {{sessions}} sessions in the last 30 minutes.`,churn:`High churn: {{mutations}} mutations across {{actors}} actors and {{sessions}} sessions. Check overlapping work before the next edit.`}},xe={loading:`Loading analytics…`,heading:`Analytics Dashboard`,autoRefresh:`auto-refresh every 10s`,liveSessions:`Live Sessions`,agents:`Agents`,agentsActive:`{{count}} active`,totalEvents:`Total Events`,categoriesSub:`{{count}} categories`,toolCalls:`Tool Calls`,iterationsSub:`{{count}} iterations`,sessionCost:`Session Cost`,tokensSub:`{{input}} in / {{output}} out`,sessionDuration:`Session Duration`,messagesSub:`{{count}} messages`,eventsByCategory:`Events by Category`,noEvents:`No events recorded yet.`,topEvents:`Top Events`,activeSessionUsage:`Active Session Usage`,provider:`Provider`,model:`Model`,inputTokens:`Input Tokens`,outputTokens:`Output Tokens`,cacheRatio:`Cache Ratio`,filesRead:`Files Read`,noSession:`No active session or waiting for data…`,healthErrors:`Health & Errors`,errorEvents:`Error events`,warningEvents:`Warning events`,cacheHitRate:`Cache hit rate`,totalCategories:`Total categories`,waitingData:`Waiting for data…`,recentEvents:`Recent Events`,noRecentEvents:`No recent events. Interact with the UI to generate events.`},Se={heading:`Prompt library`,searchPlaceholder:`Search prompts…`,newPrompt:`+ New prompt`,all:`All`,recent:`🕘 Recent`,favorites:`★ Favorites`,noMatch:`No prompts match.`,newPromptHeading:`New prompt`,titlePlaceholder:`Title *`,descPlaceholder:`One-line description`,categoryPlaceholder:`Category`,tagsPlaceholder:`tags, comma, separated`,contentPlaceholder:`Prompt content * — use {{name}} for variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`name`,varDescPlaceholder:`description`,removeVarTitle:`Remove variable`,required:`required`,multiline:`multiline`,enumPlaceholder:`enum: a, b, c`,savePrompt:`Save prompt`,saveFailed:`Could not save the prompt.`,titleContentRequired:`Title and content are required.`,toggleFavoriteTitle:`Toggle favorite`,selectOption:`— select —`,fillMissing:`Fill: {{missing}}`,insertIntoChat:`Insert into chat`,selectPromptHint:`Select a prompt to preview and insert.`},Ce={scopeProject:`Project`,scopeGlobal:`Global`,scopeBundled:`Bundled`,timeoutError:`Request timed out. Please try again.`,updateFailed:`Update failed`,saveFailed:`Save failed`,uninstallFailed:`Uninstall failed`,noSkillSelected:`No skill selected`,selectSkillHint:`Select a skill from the sidebar to view its documentation`,goToChat:`Go to chat`,openSourceRepo:`Open source repo`,copySourceUrl:`Copy source URL`,updatedLabel:`↑ Updated: {{list}}`,upToDateLabel:`— Up to date: {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Check for updates`,exportTitle:`Export skill as .md`,editTitle:`Edit skill`,uninstallTitle:`Uninstall skill`,closeTitle:`Close and go to chat`,backTitle:`Go back`,forwardTitle:`Go forward`,relatedFiles:`Related Files`,references:`References`,goToSkillTitle:`Go to {{name}}`,loadingContent:`Loading skill content…`,editingLabel:`Editing {{name}}`,editStats:`{{lines}} lines · {{words}} words · {{chars}} chars`,charsWarningFmt:`⚠ {{used}} MB / {{limit}} MB`,draftSaved:`Draft saved`,draftRestored:`Draft restored`,discardDraft:`Discard draft`,splitViewTitle:`Split view`,hidePreviewTitle:`Hide preview`,contentPlaceholder:`Skill content (markdown)...`,loadFailed:`Failed to load skill content`,noContent:`No skill content available`,uninstallSkillHeading:`Uninstall Skill`,uninstallConfirm:`Uninstall {{name}}?`,uninstallRemovePath:`This will remove the skill from {{path}} and cannot be undone.`,uninstallAction:`Uninstall`},we={sessionStats:`Session Stats`,clients:`Clients`,input:`Input`,output:`Output`,cost:`Cost`,agentsSuffix:`agents`,upPrefix:`up {{time}}`,webuiClient:`WebUI Client`,disconnected:`Disconnected`,connected:`Connected`,tuiClient:`TUI Client`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINATOR`,fleetSummary:`Fleet summary`,toolCallsLabel:`Tool calls`,tokensLabel:`Tokens`,coordinatingFleet:`Coordinating fleet`,donePrefix:`✓ done ·`,failedPrefix:`✕ failed ·`,seenPrefix:`seen {{time}}`,availableDesk:`Available desk`,mailboxHub:`Mailbox Hub`,unreadSuffix_one:`{{count}} unread`,unreadSuffix_other:`{{count}} unread`,allClear:`All clear`,total:`Total`,unreadLabel:`Unread`,liveActivity:`Live activity`,waitingActivity:`Waiting for activity…`,now:`now`,fleetHq:`WrongStack Fleet HQ`,live:`LIVE`,legendStatus:`Status`,legendActive:`Active`,legendIdle:`Idle`,legendError:`Error`,legendConnections:`Connections`,legendMail:`Mail`,legendTask:`Task`,legendStatusConn:`Status`,arrange:`Arrange`,arrangeTitle:`Arrange nodes to fit the available canvas`,feed:`Feed`,feedTitle:`Toggle the live activity feed`,broadcast:`Broadcast`,broadcastTitle:`Broadcast a message to every live session in this project`,broadcastToAll:`Broadcast to all sessions`,broadcastPlaceholder:`Message every live agent in this project…`,broadcastSendHint:`⌘/Ctrl+Enter to send`,openFullView:`Open full operation view`,rowStatus:`Status`,rowModel:`Model`,rowTool:`Tool`,rowIterations:`Iterations`,rowToolCalls:`Tool calls`,rowTokensIn:`Tokens in`,rowTokensOut:`Tokens out`,rowTokensTotal:`Tokens total`,rowContext:`Context`,rowCost:`Cost`,rowLastSeen:`Last seen`,rowSurface:`Surface`,rowBranch:`Branch`,rowPid:`PID`,rowDir:`Dir`,rowAgents:`Agents`,rowUptime:`Uptime`,rowConnections:`Connections`,rowTotalMessages:`Total messages`,rowUnread:`Unread`,recent:`Recent`,noSubject:`(no subject)`,fullOperationStream:`Full operation stream`,closeEsc:`Close (Esc)`,idleDesk:`Idle desk`,fleetHqLabel:`Fleet HQ`,clientsSuffix_one:`{{count}} client`,clientsSuffix_other:`{{count}} clients`,taskFallback:`task`,controlLabel:`control`},Te={installTitle:`Install skill`,createTitle:`Create skill`,exportTitle:`Export all skills as .zip`,checkUpdatesTitle:`Check for updates (all skills)`,searchPlaceholder:`Search skills…`,loading:`Loading…`,noSkills:`No skills installed`,noMatch:`No skills match filter`,noDescription:`No description`,scopeForeign:`Foreign`,installHeading:`Install Skill`,installHint:`Enter a GitHub repository reference (owner/repo) or full URL.`,installPlaceholder:`e.g. wrongstack/skill-name or https://github.com/owner/repo`,installScope:`Install scope:`,installBtn:`Install`,installedMsg:`Installed: {{names}}`,installFailed:`Installation failed`,createHeading:`Create Skill`,createHint:`Scaffold a new skill. The first line is the trigger; additional lines form the description.`,nameLabel:`Name`,namePlaceholder:`e.g. my-new-skill`,descLabel:`Description / Trigger`,descPlaceholder:`Use this skill when <trigger situation>.
|
|
4
|
+
Wire the UI`,splitInto:`Split into sub-tasks`,deleteTitle:`Remove this not-started task from the run`},_e={phaseStart:`Start`,phaseInterview:`Interview`,phaseSpecReview:`Spec Review`,phasePlanning:`Planning`,phaseTaskReview:`Task Review`,phaseRunning:`Running`,phaseDone:`Done`,titleFallback:`New SDD Project`,questionsSuffix:`{{cur}}/{{max}} questions`,tasksSuffix:`{{count}} tasks`,runCfgTitle:`Run config — default model + fallback chain`,modelsLabel:`Models`,startRun:`Start Run`,defaultWorkerModel:`Default worker model`,leaderDefaultPlaceholder:`Leader / session default`,useSessionDefault:`Use session default`,fallbackChain:`Fallback chain`,appliesToAll:`Applies to every task. Override per-task from the live board after the run starts.`,parallelAgents:`Parallel agents`,isolateWorktrees:`Isolate in git worktrees`,worktreeOn:`Each task runs in its own worktree, squash-merged back on completion.`,worktreeOff:`Tasks run directly on the current branch (no isolation).`,planDecompose:`Auto-split large tasks`,planDecomposeOn:`Before dispatch, split tasks the atomicity engine flags as too large.`,planDecomposeOff:`Keep the approved task graph as-is (still split at runtime if a task fails).`,goalPrompt:`What do you want to build?`,goalPlaceholder:`e.g. Add OAuth login (Google + GitHub) with session management`,startingInterview:`Starting interview…`,startInterview:`Start Interview`,introBody:`An isolated agent interviews you to build a spec, decomposes it into a dependency-ordered task graph, then a real multi-agent fleet executes it — watch live on the board. If you refresh or restart, the interview resumes automatically.`,taskGraphSummary:`Task graph · {{count}} tasks, dependency-ordered`,dragToExplore:`drag to explore`,show:`show`,goalLabel:`Goal`,implementationPlan:`Implementation plan`,approveSpec:`Approve spec → plan implementation`,approveTasks:`Approve tasks`,approvePlan:`Approve plan`,answerPlaceholder:`Answer the question…`,changePlaceholder:`Request a change…`,resumeBanner:`Resumed interview from a previous session — continue where you left off.`,openLiveBoard:`Open live board`,discardInterview:`Discard & start over`,discardTitle:`Abandon this interview and clear the saved session`},ve={emptyDir:`empty`,loadFailed:`Failed to load files: {{error}}`,expandAllTitle:`Expand all directories`,expandAll:`Expand all`,collapseAllTitle:`Collapse all directories`,collapse:`Collapse`,folders_one:`{{count}} folder`,folders_other:`{{count}} folders`,currentDirTitle:`Current directory: {{path}}`,navigateToTitle:`Navigate to {{path}}`,filesSuffix_one:`{{count}} file`,filesSuffix_other:`{{count}} files`,goToDir:`go to dir`,navigateParentTitle:`Navigate to parent directory of {{path}}`,parentDirectory:`parent directory`,noFiles:`No files found`,copyAbsPath:`Copy absolute path`,copyRelPath:`Copy relative path`,openInTerminal:`Open in terminal`,openInFileManager:`Open in file manager`,mentionInChat:`Mention in chat`,copyPath:`Copy path`},ye={sendSelectionAction:`Send selection to chat`,noFilesOpen:`No files open`,selectToEdit:`Select a file from the explorer to start editing`,sendSelectedTitle:`Send selected lines to chat`,mentionFileTitle:`Mention this file in chat`,sendToChat:`Send to chat`,mentionFile:`Mention file`,loadingEditor:`Loading editor…`,selectTab:`Select a tab to view its content`},be={title:`File activity`,overview:`Overview`,changes:`Changes`,context:`Context`,logs:`Logs`,memory:`Memory`,lines:`lines`,resizeHint:`Drag to resize · double-click to reset`,refresh:`Refresh file evidence`,evidenceCount_one:`{{count}} event`,evidenceCount_other:`{{count}} events`,mutations30m:`Edits · 30m`,sessions:`Sessions`,actors:`Actors`,linkedWork:`Work links`,lifetimeTitle:`All history`,lifetimeChanges:`changes`,lifetimeSessions:`sessions`,lifetimeTasks:`tasks`,lifetimeBoards:`boards`,lifetimeSince:`since {{date}}`,lifetimeTools:`via {{tools}}`,workLinks:`Kanban / todo`,recentActivity:`Recent file activity`,events:`events`,noEvidence:`No activity has been attributed to this file yet.`,noSessions:`No session attribution yet.`,noActors:`No actor attribution yet.`,noWorkLinks:`No Kanban, SDD or todo link recorded.`,taskOrTodo:`Task / todo`,loadingEvidence:`Loading file evidence…`,gitToBuffer:`Git HEAD → current Monaco buffer`,savedToBuffer:`Last saved version → current Monaco buffer`,unsaved:`unsaved buffer`,level:{quiet:`quiet`,active:`active`,churn:`high churn`},analysisTitle:{quiet:`No recent edit churn`,active:`This file is being changed`,churn:`Repeated edits detected`},analysisBody:{quiet:`No attributed mutations were recorded in the last 30 minutes.`,active:`{{mutations}} mutations across {{actors}} actors and {{sessions}} sessions in the last 30 minutes.`,churn:`High churn: {{mutations}} mutations across {{actors}} actors and {{sessions}} sessions. Check overlapping work before the next edit.`}},xe={loading:`Loading analytics…`,heading:`Analytics Dashboard`,autoRefresh:`auto-refresh every 10s`,liveSessions:`Live Sessions`,agents:`Agents`,agentsActive:`{{count}} active`,totalEvents:`Total Events`,categoriesSub:`{{count}} categories`,toolCalls:`Tool Calls`,iterationsSub:`{{count}} iterations`,sessionCost:`Session Cost`,tokensSub:`{{input}} in / {{output}} out`,sessionDuration:`Session Duration`,messagesSub:`{{count}} messages`,eventsByCategory:`Events by Category`,noEvents:`No events recorded yet.`,topEvents:`Top Events`,activeSessionUsage:`Active Session Usage`,provider:`Provider`,model:`Model`,inputTokens:`Input Tokens`,outputTokens:`Output Tokens`,cacheRatio:`Cache Ratio`,filesRead:`Files Read`,noSession:`No active session or waiting for data…`,healthErrors:`Health & Errors`,errorEvents:`Error events`,warningEvents:`Warning events`,cacheHitRate:`Cache hit rate`,totalCategories:`Total categories`,waitingData:`Waiting for data…`,recentEvents:`Recent Events`,noRecentEvents:`No recent events. Interact with the UI to generate events.`},Se={heading:`Prompt library`,searchPlaceholder:`Search prompts…`,newPrompt:`+ New prompt`,all:`All`,recent:`🕘 Recent`,favorites:`★ Favorites`,noMatch:`No prompts match.`,newPromptHeading:`New prompt`,titlePlaceholder:`Title *`,descPlaceholder:`One-line description`,categoryPlaceholder:`Category`,tagsPlaceholder:`tags, comma, separated`,contentPlaceholder:`Prompt content * — use {{name}} for variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`name`,varDescPlaceholder:`description`,removeVarTitle:`Remove variable`,required:`required`,multiline:`multiline`,enumPlaceholder:`enum: a, b, c`,savePrompt:`Save prompt`,saveFailed:`Could not save the prompt.`,titleContentRequired:`Title and content are required.`,toggleFavoriteTitle:`Toggle favorite`,selectOption:`— select —`,fillMissing:`Fill: {{missing}}`,insertIntoChat:`Insert into chat`,selectPromptHint:`Select a prompt to preview and insert.`},Ce={scopeProject:`Project`,scopeGlobal:`Global`,scopeBundled:`Bundled`,timeoutError:`Request timed out. Please try again.`,updateFailed:`Update failed`,saveFailed:`Save failed`,uninstallFailed:`Uninstall failed`,noSkillSelected:`No skill selected`,selectSkillHint:`Select a skill from the sidebar to view its documentation`,goToChat:`Go to chat`,openSourceRepo:`Open source repo`,copySourceUrl:`Copy source URL`,updatedLabel:`↑ Updated: {{list}}`,upToDateLabel:`— Up to date: {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Check for updates`,exportTitle:`Export skill as .md`,editTitle:`Edit skill`,uninstallTitle:`Uninstall skill`,closeTitle:`Close and go to chat`,backTitle:`Go back`,forwardTitle:`Go forward`,relatedFiles:`Related Files`,references:`References`,goToSkillTitle:`Go to {{name}}`,loadingContent:`Loading skill content…`,editingLabel:`Editing {{name}}`,editStats:`{{lines}} lines · {{words}} words · {{chars}} chars`,charsWarningFmt:`⚠ {{used}} MB / {{limit}} MB`,draftSaved:`Draft saved`,draftRestored:`Draft restored`,discardDraft:`Discard draft`,splitViewTitle:`Split view`,hidePreviewTitle:`Hide preview`,contentPlaceholder:`Skill content (markdown)...`,loadFailed:`Failed to load skill content`,noContent:`No skill content available`,uninstallSkillHeading:`Uninstall Skill`,uninstallConfirm:`Uninstall {{name}}?`,uninstallRemovePath:`This will remove the skill from {{path}} and cannot be undone.`,uninstallAction:`Uninstall`},we={sessionStats:`Session Stats`,clients:`Clients`,input:`Input`,output:`Output`,cost:`Cost`,agentsSuffix:`agents`,upPrefix:`up {{time}}`,webuiClient:`WebUI Client`,disconnected:`Disconnected`,connected:`Connected`,tuiClient:`TUI Client`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINATOR`,fleetSummary:`Fleet summary`,toolCallsLabel:`Tool calls`,tokensLabel:`Tokens`,coordinatingFleet:`Coordinating fleet`,donePrefix:`✓ done ·`,failedPrefix:`✕ failed ·`,seenPrefix:`seen {{time}}`,availableDesk:`Available desk`,mailboxHub:`Mailbox Hub`,unreadSuffix_one:`{{count}} unread`,unreadSuffix_other:`{{count}} unread`,allClear:`All clear`,total:`Total`,unreadLabel:`Unread`,liveActivity:`Live activity`,waitingActivity:`Waiting for activity…`,now:`now`,fleetHq:`WrongStack Fleet HQ`,live:`LIVE`,legendStatus:`Status`,legendActive:`Active`,legendIdle:`Idle`,legendError:`Error`,legendConnections:`Connections`,legendMail:`Mail`,legendTask:`Task`,legendStatusConn:`Status`,arrange:`Arrange`,arrangeTitle:`Arrange nodes to fit the available canvas`,feed:`Feed`,feedTitle:`Toggle the live activity feed`,broadcast:`Broadcast`,broadcastTitle:`Broadcast a message to every live session in this project`,broadcastToAll:`Broadcast to all sessions`,broadcastPlaceholder:`Message every live agent in this project…`,broadcastSendHint:`⌘/Ctrl+Enter to send`,openFullView:`Open full operation view`,rowStatus:`Status`,rowModel:`Model`,rowTool:`Tool`,rowIterations:`Iterations`,rowToolCalls:`Tool calls`,rowTokensIn:`Tokens in`,rowTokensOut:`Tokens out`,rowTokensTotal:`Tokens total`,rowContext:`Context`,rowCost:`Cost`,rowLastSeen:`Last seen`,rowSurface:`Surface`,rowBranch:`Branch`,rowPid:`PID`,rowDir:`Dir`,rowAgents:`Agents`,rowUptime:`Uptime`,rowConnections:`Connections`,rowTotalMessages:`Total messages`,rowUnread:`Unread`,recent:`Recent`,noSubject:`(no subject)`,fullOperationStream:`Full operation stream`,closeEsc:`Close (Esc)`,idleDesk:`Idle desk`,fleetHqLabel:`Fleet HQ`,clientsSuffix_one:`{{count}} client`,clientsSuffix_other:`{{count}} clients`,taskFallback:`task`,controlLabel:`control`},Te={installTitle:`Install skill`,createTitle:`Create skill`,exportTitle:`Export all skills as .zip`,checkUpdatesTitle:`Check for updates (all skills)`,searchPlaceholder:`Search skills…`,loading:`Loading…`,noSkills:`No skills installed`,noMatch:`No skills match filter`,noDescription:`No description`,scopeForeign:`Foreign`,installHeading:`Install Skill`,installHint:`Enter a GitHub repository reference (owner/repo) or full URL.`,installPlaceholder:`e.g. wrongstack/skill-name or https://github.com/owner/repo`,installScope:`Install scope:`,installBtn:`Install`,installedMsg:`Installed: {{names}}`,installFailed:`Installation failed`,createHeading:`Create Skill`,createHint:`Scaffold a new skill. The first line is the trigger; additional lines form the description.`,nameLabel:`Name`,namePlaceholder:`e.g. my-new-skill`,descLabel:`Description / Trigger`,descPlaceholder:`Use this skill when <trigger situation>.
|
|
5
5
|
Triggers: user says "keyword", "another".`,saveIn:`Save in:`,createBtn:`Create Skill`,createdMsg:`Created: {{name}}`,createFailed:`Creation failed`},Ee={noEvents:`No events yet.`},De={pickHint:`Pick a kit — the agent will adhere to it.`,gallery:`Gallery`,galleryTitle:`Open live preview gallery`,stackTitle:`Target stack`,loading:`Loading kits…`,notFound:`No design kits found.`,bestFor:`Best for:`,light:`Light`,dark:`Dark`,tune:`Tune`,font:`Font`,set:`Set`,spaceGrotesk:`Space Grotesk…`,aaHeading:`Aa Heading`,theQuickBrownFoxJumpsOver:`The quick brown fox jumps over the lazy dog.`,primary:`Primary`,ghost:`Ghost`,badge:`Badge`,inputField:`Input field…`,radius:`Radius`,density:`Density`,motion:`Motion`},Oe={detached:`(detached)`,count_one:`{{count}} worktree`,count_other:`{{count}} worktrees`,baseSuffix:` · base {{base}}`,baseLabel:`base`,cleanOrphans:`Clean orphans`,cleanOrphansTitle:`Remove all orphaned worktrees`,liveBusyTitle:`A run is live — stop it first`,rescanTitle:`Rescan`,removed_one:`Removed {{count}} worktree.`,removed_other:`Removed {{count}} worktrees.`,failed:`Failed`,mergedIntoBase:`Merged {{branch}} into base.`,conflictMerge:`Conflict merging {{branch}}: {{files}}`,seeGit:`see git`,mergeFailed:`Merge failed: {{reason}}`,unknownReason:`unknown`,mergeConfirmTitle:`Merge {{branch}} into {{base}}?`,mergeConfirmMsg:`Squash-merges this branch onto the base branch. Aborts cleanly if it conflicts.`,mergeAction:`Merge`,removeConfirmTitle:`Remove {{branch}}?`,removeConfirmMsg:`Force-removes the worktree checkout and deletes its branch. Un-merged work is discarded.`,empty:`No worktrees.`,emptyHint:`SDD / Goal runs create isolated worktrees here. Orphans from crashed runs show up too.`,actOpenTerm:`Open in terminal`,actOpenFolder:`Open folder`,actViewChanges:`View changes`,actMerge:`Merge to base`,actRemove:`Remove / discard`,live:`live`,noUncommitted:`No uncommitted changes`,commitsAhead_one:`{{count}} commit ahead`,commitsAhead_other:`{{count}} commits ahead`,more:`…{{count}} more`},ke={heading:`Office Map`,headingHint:`Visualize your fleet as an office floor plan with live agent status.`,statAgents:`Agents`,statMail:`Mail`,unreadSuffix:` unread`,sectionView:`View`,sectionDisplay:`Display`,sectionBackground:`Background`,sectionRecent:`Recent Activity`,eventsTrackedSuffix:` events tracked`,recentHint:`Mail sends, agent spawns, and status changes appear here.`,sectionShortcuts:`Shortcuts`,sectionLegend:`Legend`,hudLabel:`HUD`,hudDesc:`Show real-time session stats overlay`,hudToggle:`Toggle HUD`,minimapLabel:`Minimap`,minimapDesc:`Show the overview minimap`,minimapToggle:`Toggle minimap`,controlsLabel:`Controls`,controlsDesc:`Show zoom and fit controls`,controlsToggle:`Toggle controls`,animateLabel:`Animate edges`,animateDesc:`Animate flow on active connections`,animateToggle:`Toggle edge animation`,legendLabel:`Show legend`,legendDesc:`Display status and connection legend`,legendToggle:`Toggle legend`,feedLabel:`Live feed`,feedDesc:`Bottom strip of recent cross-process activity`,feedToggle:`Toggle live feed`,fitView:`Fit view`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetZoom:`Reset zoom`,legendActive:`Active (running)`,legendIdle:`Idle`,legendError:`Error`,legendOffline:`Offline`,bg:{dots:`Dots`,lines:`Lines`,cross:`Cross`,none:`None`}},Ae={liveProjectOffice:`Live project office`,agents:`agents`,working:`working`,toolCalls:`tool calls`,office:`Office`,topology:`Topology`,officeDescription:`Live agent desks and work`,topologyDescription:`Clients, agents and connections`,team:`Team`,liveDesk:`Live desk & incoming work`,lastActions:`Recent work`,leadAgent:`Lead agent`,agent:`Agent`,callsCount:`{{count}} calls`,recent:`Recent`,noCalls:`No completed calls yet`,telemetryReconnect:`Reconnect this terminal to start tool history`,thinking:`Thinking`,waiting:`Waiting for work`,preparing:`Preparing the next action…`,deskReady:`Desk is ready`,toolCall:`Tool call`,execution:`Execution`,started:`Started`,duration:`Duration`,session:`Session`,target:`Target`,resultSize:`Result size`,lines:`lines`,bytes:`bytes`,tokens:`tokens`,input:`Input`,outputPreview:`Output preview`,readyTitle:`The office is ready`,readyBody:`Agents will take a desk as soon as they join this project.`,liveEvent:`live event stream`,connectedSessions_one:`{{count}} connected session`,connectedSessions_other:`{{count}} connected sessions`,detailHint:`click any action for exact input and result details`,officeBriefing:`Office briefing`,leaderPrompt:`Leader's latest prompt`,activeInstruction:`Active instruction`,telemetryWaiting:`Reconnect this terminal to receive live instructions`,syncWaiting:`waiting for sync`,todoTelemetryWaiting:`Reconnect this terminal to receive the live todo list`,taskNotReported:`Working, but no task description was reported`,noPrompt:`No prompt received in this session yet`,activeTodos:`Active todos`,todoProgress:`{{done}}/{{total}} done`,allTodosDone:`All todos completed`,noActiveTodos:`No active todos yet`,moreTodos:`+{{count}} more`,currentTask:`Current task`,task:`Task`,promptReceived:`Received`,todos:`Todos`,todoStatus:{pending:`Pending`,in_progress:`In progress`,completed:`Completed`},breakRoom:`Break room`,onBreak:`{{count}} on break`,desksEmpty:`Everyone is on break — the desks are ready for the next task`,files:`FILES`,read:`READ`,write:`WRITE`,edit:`EDIT`,term:`TERM`,live:`LIVE`,uniqueFilesTouched:`Unique files touched`,fileReads:`File reads`,filesWritten:`Files written`,filesEdited:`Files edited`,linesAddedAndRemoved:`Lines added and removed`,terminalCommands:`Terminal commands`,incomingAndOutgoingMail:`Incoming and outgoing mail`,sessionActivityTotals:`Session activity totals`,closeToolDetails:`Close tool details`,closeDetails:`Close details`,closeMailDetails:`Close mail details`,closeTaskDetails:`Close task details`,closeOfficeBriefing:`Close office briefing`,priority:`Priority`,route:`Route`},je={tabProject:`SDD Project`,tabBoard:`Live SDD Board`,tabSpecs:`Specifications`},Me={label:`Side panel`},Ne={deleteTitle:`Delete this memory?`,backToList:`Back to memory list`,copyId:`Copy memory ID`,deletedMemory:`Deleted memory`,anchorCursorHint:`Cursor line range matches this memory's anchor`,statusDeleted:`deleted`,statusSuperseded:`superseded`,restoreTitle:`Restore this memory to active status`,supersededJumpTitle:`This version is superseded — jump to the active version`,acceptSuggestionTitle:`Accept hygiene's deletion suggestion — memory will be forgotten`,rejectSuggestionTitle:`Reject the suggestion — memory stays as-is and may be re-suggested later`,updateTitle:`Update the memory's content — versioning creates a new active record`,promoteTitle:"Promote to `permanent` — hygiene will never surface this again",openRecordTitle:`Open the full record in MemoryManager`,fileDrawerAria:`File memory drawer`,requeryTitle:`Re-query for this file`,closeDrawerAria:`Close drawer`,closeDrawerTitle:`Close memory drawer`,showRecoverable:`Show recoverable (deleted)`,cursorBoostTitle:`Cursor boost`,fileScopedTitle:`File-scoped`,mentionedInTitle:`Mentioned in`,editorKnowledge:`Knowledge`,editorContentPlaceholder:`Example: WebUI state is owned by Zustand stores; server messages update those stores through singleton WebSocket handlers.`,editorImportance:`Importance`,editorConfidence:`Confidence`,editorFreshness:`Freshness`,editorAnchors:`Anchors`,editorSymbolPlaceholder:`Symbol name`,editorRelationships:`Relationships`,searchAria:`Search memories`,searchPlaceholder:`Search content, IDs, tags, anchors…`,clearSearchAria:`Clear search`,audienceFilterAria:`Filter audience-scoped only`,audienceFilterTitle:`Show only audience-scoped memories`,clearFiltersAria:`Clear all filters`,clearFiltersTitle:`Clear all filters`,allStatuses:`All statuses`,allKinds:`All kinds`,tagsLabel:`Tags`,popularTags:`Popular tags`,graphAria:`Memory relationship graph`,graphFullscreenAria:`Open full screen graph`,clearTracesTitle:`Clear all traces`,closePanelTitle:`Close panel`,traceMatched:`matched`,traceInjected:`injected`,traceFiltered:`filtered`,traceActive:`active`,traceExited:`exited`,traceScore:`score`,traceError:`error`,lifecycleAria:`Memory lifecycle live ledger`,listAria:`Memories`,emptyTitle:`Your project's long-term context`,emptyVerifiedAnchors:`Verified anchors`,emptyTypedRelations:`Typed relations`,emptyAgentRecall:`Agent recall`,lensesAria:`SAGE memory lenses`,loadingSage:`Loading SAGE`,loadingAudience:`Loading audience memories`,storeUnavailable:`Memory store unavailable`,backToChat:`Back to chat`,sageHeading:`SAGE`,refreshAria:`Refresh memories`,tabMemories:`Memories`,tabActive:`Active`,tabNeedsReview:`Needs review`,tabGraphEdges:`Graph edges`,libraryAria:`Memory library`,viewAria:`Memory view`,detailAria:`Memory detail`,fileForDrawerAria:`File for memory drawer`,cursorLabel:`cursor`,reviewLabel:`review`,hygieneReviewTitle:`Hygiene review: {{reason}} ({{days}}d old)`,updatedSuffix:`updated {{date}}`,actionRecover:`Recover`,actionGoToActive:`Go to active`,actionAcceptDeletion:`Accept Deletion`,actionKeep:`Keep`,actionUpdate:`Update`,actionMarkPermanent:`Mark as Permanent`,actionShowFull:`Show full`,itemLabel:`memories`,noFile:`(no file)`,memoriesCount_one:`{{count}} memory`,memoriesCount_other:`{{count}} memories`,pendingReviewCount_one:`{{count}} pending review`,pendingReviewCount_other:`{{count}} pending reviews`,supersededCount:`{{count}} superseded`,linesRange:`lines {{start}}–{{end}}`,emptyOpenFile:`Open a file to see its memories.`,loadingMemories:`Loading memories…`,errorPrefix:`Error: {{message}}`,emptyNoMemories:`No memories attached to {{file}} yet.`,pendingAccepting:`accepting…`,pendingKeeping:`keeping…`,pendingUpdating:`updating…`,pendingMarking:`marking…`,pendingRecovering:`recovering…`,deletedNeverPolicy:`This record is audit-only and carries an absolute ban: it can never enter LLM context.`,deletedEligiblePolicy:`The record is inactive and cannot be edited, but remains eligible as historical evidence when retrieval finds it relevant.`,deletingLabel:`Deleting…`,actionDeleteMemory:`Delete memory`,copiedNotice:`Memory ID copied.`,revisionSuffix:`revision {{n}}`,memoryRelationships:`Memory relationships`,captureMemory:`Capture a memory`,editMemory:`Edit memory`,editorCreateHint:`Add durable knowledge with retrieval metadata.`,editorEditHint:`Update content without losing provenance.`,createMemory:`Create memory`,saveChanges:`Save changes`,addAnchor:`Add anchor`,noAnchors:`No anchors yet — add one to improve retrieval precision`,loadingGraph:`loading real graph…`,graphStats:`{{nodes}} nodes · {{edges}} edges`,lifecycleHeading:`Memory lifecycle`,statusWaiting:`waiting`,statusLive:`live · {{count}}/100`,noMatching:`No matching memories`,buildGraph:`Build your memory graph`,clearFilters:`Clear filters`,createFirst:`Create first memory`,captureButton:`Capture memory`,memoryCaptured:`Memory captured.`,memoryUpdated:`Memory updated.`,liveStore:`live store`,reconnecting:`reconnecting`,newMemory:`New memory`,hideFileDrawer:`Hide file memory drawer`,showFileDrawer:`Show file memory drawer`,hideDrawer:`Hide drawer`,showDrawer:`Show drawer`,editorCharCount:`{{count}} chars`,editorContentLabel:`Memory content`,editorKind:`Kind`,editorScope:`Scope`,editorLifecycleStatus:`Lifecycle status`,editorSupersedes:`Supersedes`,editorContradicts:`Contradicts`,filterByStatus:`Filter by status`,filterByKind:`Filter by kind`,graphHeading:`Relationship map`,graphHeadingFull:`Relationship map — {{id}}`,graphOpenFullscreen:`Open full screen`,projectKnowledge:`project knowledge`,sageSubtitle:`Inspect, connect, curate, and retire durable context used across agent sessions.`,emptyBody:`Select a memory to inspect its metadata and relationship graph, or capture knowledge that future agents should retrieve automatically.`,tabDeleted:`Deleted`,fileDrawerLabel:`File drawer`,selectFilePlaceholder:`— select a file —`,memoryCountSummary:`{{shown}} of {{total}} memories`,updatedSortLabel:`updated ↓`,tabAllMemories:`All memories`,tabAllMemoriesHint:`Inspect, curate, retire`,tabAudience:`Audience-scoped`,tabAudienceHint:`Guidance routed to agents`,editorRelationshipsHint:`Reference exact memory IDs. Relationships are validated and graph edges are rebuilt by SAGE.`,editorTaskTypes:`Task types`,createAction:`Create`,mutationTimeout:`{{verb}} timed out. Your draft is still here.`,loadingSageContent:`Loading SAGE content`,injectorActiveInContext:`Active in context`,injectorInjectionHistory:`Injection history`,injectorContextTransitions:`Context transitions`,metaCreated:`Created`,metaUpdated:`Updated`,metaLastAccessed:`Last accessed`,metaLastVerified:`Last verified`,referencedUnavailable:`Referenced memory is unavailable`,emptyFiltered:`Change the filters or clear the search query.`,emptyCapture:`Capture durable facts, decisions, conventions, and file-bound notes for every agent.`,memoryUnavailable:`Memory is unavailable or has been removed.`,staleConflicts:`stale + conflicts`},Pe={enableLayer:`Enable this boundary layer`,outsideScope:`Outside scope`,askPermission:`Ask permission`,alwaysBlock:`Always block`,allow:`Allow`,allowSelectors:`Allow selectors`,denySelectors:`Deny selectors`,crossPathSelectors:`Shell “Allow” is opaque and can cross path selectors.`,removeLayer:`Remove layer`,taskInspector:`Task inspector`,task:`Task`,dispatched:`Dispatched`,collapseDetails:`Collapse task details`,taskBoundary:`Task boundary`,title:`Title`,managedStage:`Managed stage`,status:`Status`,priority:`Priority`,type:`Type`,labelsCommaSeparated:`Labels (comma separated)`,dueDatePlaceholder:`Due date (ISO or YYYY-MM-DD)`,estimatedHours:`Estimated hours`,actualHours:`Actual hours`,selectBlockingTasks:`Select blocking tasks…`,selectSequentialChain:`Add tasks to a sequential chain…`,enforceChainOrder:`Enforce chain order as dependencies`,assignmentReason:`Change / assignment reason (persisted to activity)`,managedLifecycle:`Managed lifecycle transition`,kanbanAgentTransition:`Kanban Agent transition`,completedAction:`Completed action / reviewer action`,progressComment:`Truthful progress comment (required)`,evidenceUrl:`Evidence attachment URL`,source:`Source`,taskId:`Task ID`,run:`Run`,column:`Column`,primaryModelSource:`Primary model source`,selectProviderModel:`Select exact provider / model…`,fallbackProfile:`Fallback profile (first model is primary)`,selectProfile:`Select configured profile…`,fallbackModels:`Fallback models`,addFallbackModel:`Add fallback model…`,role:`Role`,selectRole:`Select a role…`,assignSkills:`Assign required skills…`,restrictTools:`Restrict to specific tools…`,agentNameOptional:`Agent name (optional)`,retryPolicy:`Retry policy`,maxAttempts:`Max attempts`,costCeilingUsd:`Cost ceiling USD`,grantCapability:`Grant a capability…`,targetBoard:`Target board`,boardPresence:`Board presence`,liveBoardUsers:`Live board users`,kanbanAgent:`Kanban Agent`,watchThisBoard:`Watch this board`,supervisorEngine:`Supervisor engine`,kanbanAgentModelSource:`Kanban Agent model source`,supervisorSkills:`Supervisor skills`,forceLoadSkills:`Force-load agentic skills…`,extraFallbackModels:`Extra fallback models`,optionalFallbacks:`Optional ordered fallbacks…`,queueHealth:`Queue health`,claimableTasks:`Claimable tasks`,runningAssignments:`Running assignments`,inReview:`In review`,manuallyBlocked:`Manually blocked`,failedTasks:`Failed tasks`,blockedByDeps:`Ready/pending tasks blocked by dependencies`,expiredLeases:`Expired lease assignments`,healthy:`healthy`,costCeilingSum:`Sum of costCeilingUsd for running/queued tasks`,liveRunSteer:`Live run — steer it from here`,openLiveRun:`Open the live run view (SDD Hub)`,runAsLiveJob:`Run this board as a live agent job:`,startAsGoal:`Start as Goal`,startAsSdd:`Start as SDD`,runControls:`Run controls`,workerModel:`Worker model`,setModelForTask:`Set model for this task…`,newWorkerName:`New worker name`,duration:`Duration`,liveRun:`Live run`,lastResult:`Last result`,definitionOfDone:`Definition of Done`,failingChecks:`Failing checks`,evidenceMissing:`Evidence missing (agent/council checks without backing refs)`,needsDecomposition:`Needs decomposition`,decompositionPending:`Decomposition proposals awaiting approval`,noOutstanding:`No outstanding verification or decomposition issues on this board.`,kanban:`Kanban`,newBoard:`New board`,createBoard:`Create board`,deleteTask:`Delete task`,runFailed:`run failed`,splitPendingApproval:`split pending approval`,newTask:`New task`,addTask:`Add task`,newColumn:`New column`,addColumn:`Add column`,duplicateBoard:`Duplicate board`,confirmDelete:`Confirm?`,confirmDeleteBoard:`Click again to confirm board deletion`,deleteBoard:`Delete board`,boardBoundary:`Board boundary`,noBoardSelected:`No kanban board selected.`,expandDetails:`Expand task details`,elapsed:`Elapsed`,assigned:`Assigned`,configuredAgentRoute:`the configured agent route`,subagent:`Subagent`,checkedAgo:`checked {{ago}} ago`,notChecked:`not checked`,auditInterval:`Audit interval (seconds)`,statusReady:`ready`,statusRunning:`running`,statusReview:`review`,statusBlocked:`blocked`,statusFailed:`failed`,statusBlockedByDeps:`blocked by deps`,statusStale:`stale`,runningCost:"~${{cost}} running cost",actionPause:`Pause`,actionResume:`Resume`,actionRetryFailed:`Retry failed`,actionStop:`Stop`,actionReassign:`Reassign`,actionRunNow:`Run now`,deleteTaskAria:`Delete task: {{title}}`,confirmDeleteTask:`Click again to confirm task deletion`,confirmDeleteTaskAria:`Confirm delete: {{title}}`,moveTaskToColumn:`Move {{title}} to column`,activityNoteTemplate:`{{action}} from WebUI to {{target}}.`},Fe={heading:`Cron Jobs`,subtitle:`Scheduled recurring tasks managed by the cron plugin.`,statusDisabled:`Disabled`,statusOverdue:`Overdue`,statusActive:`Active`,jobCount_one:`{{count}} job`,jobCount_other:`{{count}} jobs`,enabledCount:`{{count}} enabled`,overdueCount:`{{count}} overdue`,totalRuns:`{{count}} total runs`,maxConcurrent:`max {{count}} concurrent`,emptyTitle:`No cron jobs scheduled.`,emptyUse:`Use`,emptyToAdd:`to add one.`,thStatus:`Status`,thName:`Name`,thInterval:`Interval`,thRuns:`Runs`,thNextRun:`Next Run`,thLastRun:`Last Run`,thAction:`Action`,lastFiredAtTitle:`Last fired at {{time}}`,footerUse:`Use`,footerToAdd:`to add,`,footerToRemove:`to remove.`},Ie={refreshRosterData:`Refresh roster data`,liveEmpty:`Agents appear here when subagents spawn`,fleetInspector:`Fleet Inspector`,openAgentsPanel:`Open Agents panel`,toolCalls:`Tool Calls`,running:`Running`,projectAgents:`Project Agents`,createOrCloneTitle:`Create or Clone Project Agent`,createOrCloneHint:`Inherit any roster agent as a template, then develop an independent identity, runtime policy and learned history.`,cloneFromRole:`Clone from roster role`,cloneHint:`Prompt, tools, skills and defaults are inherited. Learning and later edits remain isolated to the new agent.`,displayName:`Display name`,descriptionPlaceholder:`Own X, Y and Z workflows for this project and verify their results.`,creating:`Creating…`,noCustomizations:`No customizations yet`,selectAgentEmpty:`Select an agent to edit customizations`,saving:`Saving…`,saveFailed:`Save failed`,failed:`Failed`,learningResumed:`Automatic learning resumed`,optimizationEmptyToast:`Optimization produced an empty result. Try again.`,noActiveModelToast:`No active model on server. Optimization sent to the chat agent.`,learningsEmpty:`Learning entries appear when agents capture output`,allRosterAgents:`All Roster Agents`,optimizing:`Optimizing…`,paused:`paused`,selectLearningAgent:`Select an agent to view learning details`,learningOn:`Learning on`,lastCapture:`Last Capture`,lifetimeCaptures:`Lifetime Captures`,learningsLimitExceeded:`Learned data exceeds soft limit ({{bytes}}B / 8,192B). Optimize to synthesize raw entries into a consolidated document and reduce context volume.`,newPending:`new pending`,viewAction:`View`,applying:`Applying…`,searchPlaceholder:`Search agents by name, role, or description…`,maxIterations:`Max Iterations`,maxToolCalls:`Max Tool Calls`,projectCustomizations:`Project Customizations`,learnedEntries:`learned entries`,teachFailed:`Teach failed`,selectRoleEmpty:`Select a role to inspect or edit`,captureLearned:`Capture learned`,teachThisAgent:`Teach this agent`,teachPlaceholder:`Describe what you want this agent to do better… e.g. 'This agent should always verify versions from npm before recommending'`,heading:`Agent Roster`,headerSummary:`{{customized}} customized · {{entries}} learned entries`,tabLive:`Live Fleet`,tabCatalog:`Roster Catalog`,tabLearning:`Self-Learning`,tabCustomize:`Customization`,learning:`learning`,learningPaused:`Learning paused`,autoLearningPaused:`Automatic learning paused`,toolsCount_one:`{{count}} tool`,toolsCount_other:`{{count}} tools`,maxItShort:`{{value}} max it`,customizedBadge:`Customized`,needsSummary:`⚠ Needs summary`,timeout:`Timeout`,learnedEntriesCount_one:`{{count}} learned entry`,learnedEntriesCount_other:`{{count}} learned entries`,sessionCapturesCount_one:`{{count}} session capture`,sessionCapturesCount_other:`{{count}} session captures`,noAgentsMatch:`No agents match "{{query}}"`,footerRosterRoles_one:`roster role`,footerRosterRoles_other:`roster roles`,footerCustomized:`customized`,footerTotalLearned_one:`total learned entry`,footerTotalLearned_other:`total learned entries`,clone:`+ Clone`,abc:`ABC`,abcGeneratedFromName:`abc (generated from name)`,roleIdOptional:`Role id (optional)`,purpose:`Purpose`,taskTypesCommaOrOnePer:`Task types (comma or one per line)`,cancel:`Cancel`,selectAnAgentToEditCustomizations:`Select an agent to edit customizations`,llmImprove:`LLM Improve`,reset:`Reset`,editIdentityMd:`Edit identity.md`,editLearnedMd:`Edit learned.md`,editConfigJson:`Edit config.json`,runtimePolicy:`Runtime policy`,retry:`Retry`,noSelfLearningDataYet:`No self-learning data yet`,review:`review →`,selectAnAgentToViewLearning:`Select an agent to view learning details`,entries:`Entries`,size:`Size`,optimizeLearnings:`Optimize Learnings`,keep:`Keep`,drop:`Drop`,describeACommandPatternOrBehavior:`Describe a command, pattern, or behavior you want this agent to remember.`,eGAlwaysUsePnpmForThisProject:`e.g. Always use pnpm for this project`,teach:`Teach`,noActiveFleetAgents:`No active fleet agents`,clear:`Clear`,agentsTotal:`agents total`,leader:`Leader`,iterations:`Iterations`,cost:`Cost`,context:`Context`,contextWindow:`Context Window`,error:`Error`,filterAll:`All ({{count}})`,filterRunning:`Running ({{count}})`,filterDone:`Done ({{count}})`,filterFailed:`Failed ({{count}})`,optimizeAll:`Optimize All ({{count}})`,policyUpdateFailed:`Policy update failed`,noRawEntries:`No raw entries to optimize yet.`,optimizedOk:`Optimized. Consolidated knowledge updated.`,emptySynthesis:`The model returned an empty result. Nothing was changed — try again.`,consolidatedWithModel:`Learnings consolidated with {{model}}.`,consolidatedPlain:`Learnings consolidated.`,resetConfirm:`Reset all project-specific data for agent "{{role}}"?`,loadCustomizationFailed:`Failed to load customization`,loadRuntimePolicyFailed:`Failed to load runtime policy`,runtimePolicySaveFailed:`Runtime policy save failed`,llmImprovementFailed:`LLM improvement failed`,agentCreationFailed:`Agent creation failed`,noActiveModelMsg:`No active model on server — optimization sent to chat agent instead.`,optimizationFailed:`Optimization failed`,bulkOptimizationFailed:`Bulk optimization failed`,taskTypesPlaceholder:`X workflow
|
|
6
6
|
Y analysis
|
|
7
7
|
Z verification`},Le={generic:{name:`Generic Project Agent`,summary:`Flexible template that can be cloned into independently learning project roles.`},"audit-log":{name:`Audit Log`,summary:`Analyzes session logs, event streams, and system traces.`},"bug-hunter":{name:`Bug Hunter`,summary:`Scans code for bugs, code smells, and anti-patterns.`},"refactor-planner":{name:`Refactor Planner`,summary:`Analyzes code structure and produces phased refactoring plans.`},"security-scanner":{name:`Security Scanner`,summary:`Scans code, configs, and dependencies for security issues.`},critic:{name:`Critic`,summary:`Evaluates decisions, plans, and implementations.`},"shadow-agent":{name:`Shadow Agent`,summary:`Background monitoring agent that watches fleet health.`},executor:{name:`Executor`,summary:`General-purpose task executor for delegated work.`},chimera:{name:`Chimera`,summary:`Post-session code quality review of changed files.`},researcher:{name:`Researcher`,summary:`Web research and data gathering specialist.`},"tech-stack":{name:`Tech Stack Validator`,summary:`Validates package/library/framework choices.`},orchestrator:{name:`Orchestrator`,summary:`Coordinates multi-agent task execution.`},supervisor:{name:`Supervisor`,summary:`Oversees subagent execution and handles escalations.`},"quality-gate":{name:`Quality Gate`,summary:`Enforces quality gates on implementations.`},architect:{name:`Architect`,summary:`Makes design and architecture decisions.`},"prompt-engineer":{name:`Prompt Engineer`,summary:`Designs and optimizes system prompts.`},mnemosyne:{name:`Mnemosyne`,summary:`Memory curator — reviews and maintains SAGE integrity.`},autophase:{name:`AutoPhase`,summary:`Manages multi-phase autonomous task execution.`}},Re={heading:`Custom Roster`,loading:`Loading custom roster…`,loadFailed:`Failed to load roster`,invalidJson:`Invalid JSON`,noImprovement:`No improvement suggestion generated.`,improveFailed:`LLM improve failed`,behaviorSaved:`Behavior saved to learned.md`,saveFailedServer:`Save failed — see server logs`,emptyTitle:`No Custom Roster Agents`,emptyBody:`Project-custom agents appear here when you create or edit files under`,createExecutorIdentity:`+ Create executor identity`,entries:`Entries`,size:`Size`,sessionCaptures:`Session Captures`,editIdentity:`Edit identity.md`,editLearned:`Edit learned.md`,editConfig:`Edit config.json`,reviewEntries:`Review entries ({{count}})`,reviewLearnedEntries:`Review learned entries ({{kept}}/{{total}} kept)`,applySelection:`Apply selection`,keep:`✓ Keep`,drop:`✗ Drop`,identityPlaceholder:`# Project identity for {{role}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var e={chat:`Sesión`,agents:`Agentes`,history:`Historial`,files:`Archivos`,changes:`Cambios`,mailbox:`Buzón`,skills:`Habilidades`,worktrees:`Worktrees`,design:`Estudio de diseño`,officemap:`Mapa de oficinas`,settings:`Ajustes`,sddhub:`SDD`,goal:`Goal`,memory:`Memoria`,fleet:`Flota`,inspector:`Inspector`,prompts:`Prompts`,kanban:`Kanban`,codemap:`CodeMap`,techstack:`TechStack`,chronicle:`Chronicle`,intake:`Requisitos`,roster:`Plantilla de agentes`},t={returnToChat:`{{name}} — volver al chat`,returnToChatDefault:`WrongStack — volver al chat`},n={connected:`Conectado`,disconnected:`Desconectado`,idle:`Inactivo`,thinking:`Pensando`,running:`En ejecución`,waiting:`En espera`,done:`Completado`,stopped:`Detenido`},r={moreWithHidden:`Más, {{count}} elementos ocultos`,moreOptions:`Más opciones`,moreCompactHidden:`Más — {{count}} paneles/vistas ocultos, paleta, tema, monitores`,moreCompact:`Más — paleta, tema, monitores`,moreFull:`Más — paleta, tema, atajos, monitores`,commandPalette:`Paleta de comandos`,keyboardShortcuts:`Atajos de teclado`,panels:`Paneles`,views:`Vistas`,theme:`Tema`,monitors:`Monitores`,fleetMonitor:`Inspector de flota`},i={dragHint:`Arrastra para cambiar el tamaño · doble clic para restablecer`,collapse:`Contraer panel (Ctrl+\\)`},a={openDashboard:`Abrir panel de sesiones`},o={pending:`pendiente…`,empty:`Aún no hay agentes`,emptyHint:`Los subagentes aparecen aquí cuando la flota está activa.`,runningCount:`{{count}} en ejecución`,totalCount:`{{count}} en total`,openFull:`Abrir inspector de flota`,agentsLive:`AGENTES · LIVE`,doneCount:`{{count}} hechos`,failedCount:`{{count}} fallidos`,modelsLabel:`modelos`,shownLabel:`mostrados`,totalLabel:`total`,leaderFleetTotals:`(líder {{leader}} · flota {{fleet}})`,navHintJk:`j/k o ↑↓ para navegar`,escCloseDetail:`· Esc para cerrar el detalle`,noAgentsRunning:`Sin agentes en ejecución.`,contextUsage:`Uso de contexto`,lastToolLabel:`último:`,unknownSession:`Sesión desconocida`,sessionCopyTitle:`Sesión: {{sid}} — clic para copiar`,sessionWord:`sesión`,agentsCountSuffix_one:`{{count}} agente`,agentsCountSuffix_other:`{{count}} agentes`,sessionTitle:`Sesión: {{sid}}`,projectSuffix:` · Proyecto: {{name}}`,statusIdle:`inactivo`,filterAll:`Todos`,filterRunning:`En ejecución`,filterDone:`Completados`,filterCompleted:`Completados`,filterFailed:`Fallidos`,clearFinished:`Limpiar`,clearFinishedTitle:`Eliminar agentes finalizados`,rosterHint:`Flechas para navegar · Intro para expandir`,itSuffix:`it`,tcSuffix:`llam.`,toolLog:`Registro de herramientas`,showAll:`Mostrar todos`,showFewer:`Mostrar menos`,streaming:`En directo`,failure:`Fallo`,timeout:`Tiempo agotado`,reRun:`Volver a ejecutar`,reRunTitle:`Volver a ejecutar este agente (aún no implementado)`,lastToolCalls_one:`Última {{count}} llamada a herramienta`,lastToolCalls_other:`Últimas {{count}} llamadas a herramientas`,config:`Configuración`,configProvider:`Proveedor`,configModel:`Modelo`,configDescription:`Descripción`,configTaskId:`ID de tarea`,transcript:`Transcripción`,openInspector:`Abrir en el inspector de flota`,emptyFilteredTitle:`Ningún agente coincide con el filtro`,emptyFilteredHint:`Cambia o borra el filtro para ver todos los agentes.`,emptyFilteredClear:`Mostrar todos`,emptyFinishedTitle:`Todas las tareas están completas`,emptyFinishedHint:`Todos los agentes han finalizado; limpia los finalizados o crea tareas nuevas para ver actividad aquí.`,emptyFinishedStats:`{{completed}} completados · {{failed}} fallidos`},s={fileCount_one:`{{count}} archivo`,fileCount_other:`{{count}} archivos`,refreshTitle:`Actualizar cambios`,loading:`Cargando cambios…`,clean:`Sin cambios — el árbol de trabajo está limpio.`,selectPrompt:`Selecciona un archivo modificado para ver su diff.`,unified:`Unificado`,unifiedTitle:`Diff unificado`,edit:`Editar`,editTitle:`Diff lado a lado editable`,loadingDiff:`Cargando diff…`,diffTimeout:`El diff no llegó. Puede que el archivo haya cambiado o que se perdiera la conexión.`,binary:`Archivo binario — diff no mostrado.`,tooLarge:`Archivo demasiado grande para diff.`},c={openAgentsPanel:`Abrir panel de agentes (flota en vivo)`,hidePanel:`Ocultar panel Inspector`,label:`Inspector`,openAudit:`Abrir pestaña Auditoría`,tabFleet:`Flota`,tabAgents:`Agentes`,tabAudit:`Auditoría`,tabCouncil:`Council`,councilCount:`{{count}} panel`,councilCount_other:`{{count}} paneles`,councilClear:`Vaciar`,councilEmpty:`Todavía no se ha convocado ningún council en esta sesión.`,councilEmptyHint:`El Brain convoca un panel multimodelo para las preguntas que alcanzan o superan su umbral de riesgo de council. Configúralo en Ajustes › Brain › Council.`,collapseAria:`Contraer panel Inspector`,collapseTitle:`Contraer (Esc)`,noAgentsActive:`Ningún agente activo`,agentsAppearHint:`Los agentes aparecen aquí cuando la flota está activa.`,selected:`{{name}} (seleccionado)`},l={header:`Próximos pasos`,autoSubmitting:`envío automático en`,clickToFill:`clic para rellenar`,clickToFillTitle:`Clic para rellenar: {{text}}`,auto:`auto`,willAutoSubmit:`Envio automático tras la cuenta atrás`,autoFilling:`Rellenando`,autoModeIdle:`Auto — esperando el marcador auto="true"`,nSelected:`{{count}} seleccionados`,submitN:`Enviar {{count}}`,deselectTitle:`Deseleccionar`,selectTitle:`Seleccionar para envío por lotes`,nSelected_one:`{{count}} seleccionado`,nSelected_other:`{{count}} seleccionados`,submitN_one:`Enviar {{count}}`,submitN_other:`Enviar {{count}}`},u={onlineCount:`{{count}} en línea`,messages:`Mensajes`,compose:`Redactar mensaje`,recipient:`Destinatario`,messageType:`Tipo`,audience:`Audiencia`,audienceAll:`Todos los agentes`,audienceLeaders:`Solo líderes`,priority:`Prioridad`,priorityLow:`Baja`,priorityNormal:`Normal`,priorityHigh:`Alta`,subjectPlaceholder:`Asunto (opcional)`,bodyPlaceholder:`Mensaje`,leadersOnlyHint:`Solo los agentes y las interfaces líderes pueden recibir este mensaje.`,leadersLabel:`líderes`,send:`Enviar`,sending:`Enviando…`,sent:`Enviado`,sendFailed:`No se pudo enviar el mensaje.`,defaultSubject:`Mensaje de WebUI`,deleteAllTitle:`Eliminar todos los mensajes`,deleteAll:`Eliminar todo`,deleting:`Eliminando…`,purgeTitle:`Purgar mensajes obsoletos/huérfanos`,purge:`Purgar`,purging:`Purgando…`,compact:`Compactar`,compacting:`Compactando…`,compactTitle:`Compactación automática: eliminar caducados, leídos por todos y obsoletos`,compactRemoved:`{{count}} eliminados`,compactExpired:`{{count}} caducados`,compactReadByAll:`{{count}} leídos por todos`,compactStale:`{{count}} obsoletos`,compactRemaining:`{{count}} restantes`,newLabel:`NUEVO`,empty:`Aún no hay mensajes.`,offlineCount:`+{{count}} sin conexión`,timeNow:`ahora`,deleteAllConfirmTitle_one:`¿Eliminar {{count}} mensaje?`,deleteAllConfirmTitle_other:`¿Eliminar todos los {{count}} mensajes?`,deleteAllConfirmBody:`El archivo del buzón se trunca para cada agente. Esto no se puede deshacer.`,purgeConfirmTitle:`¿Purgar mensajes obsoletos?`,purgeConfirmBody:`Elimina los mensajes completados de más de 1 día y los incompletos de más de 7 días. Los mensajes activos se conservan.`,type:{note:`Nota`,ask:`Pregunta`,assign:`Asignación`,steer:`Dirigir`,btw:`Por cierto`,broadcast:`Difusión`,status:`Estado`,result:`Resultado`,review:`Revisión`},emptyDetail:`Ningún mensaje seleccionado`,emptyDetailHint:`Haz clic en un mensaje del panel Buzón para verlo aquí.`,readBy:`Leído por`,backToChat:`Volver al chat`,completed:`Completado`,everyone:`todos`,closeTitle:`Cerrar (Esc)`,replyTo:`En respuesta a: {{id}}`,completedBy:`Completado por {{name}}`,completedByAt:`Completado por {{name}} el {{time}}`,outcome:`Resultado:`,task:`Tarea:`,messageNotFound:`Mensaje no encontrado`,messageNotFoundHint:`Este mensaje puede haber sido eliminado o purgado.`,sessionLabel:`Sesión`,sessionScope:`Sesión {{sid}}`,sessionScopeTitle:`Solo entregado a agentes en la sesión {{sid}}`,projectLabel:`Proyecto`,projectScope:`Proyecto (cada agente)`,directScope:`Directo`,scopeLabel:`Ámbito`},d={recentSessions:`Sesiones recientes`,deleteEmptyTitle_one:`¿Eliminar {{count}} sesión vacía?`,deleteEmptyTitle_other:`¿Eliminar {{count}} sesiones vacías?`,deleteEmptyConfirmBody:`Las sesiones sin uso de tokens se eliminan del disco.`,filterPlaceholder:`Filtrar por título, modelo, proveedor…`,clearFilter:`Borrar filtro`,noHistory:`Aún no hay historial`,noHistoryHint:`Tus conversaciones aparecerán aquí`,noMatches:`Sin resultados`,noMatchesHint:`Prueba un filtro distinto`,group:{favorites:`Favoritos`,today:`Hoy`,yesterday:`Ayer`,thisWeek:`Esta semana`,earlier:`Anteriores`},nicknamePlaceholder:`Apodo`,empty:`(vacío)`,resuming:`reanudando…`,active:`activa`,renameTitleNickname:`{{nickname}} — original: {{title}}`,renameTitle:`{{title}}
|
|
2
2
|
|
|
3
3
|
Doble clic para renombrar`,unfavorite:`Quitar de favoritos`,markFavorite:`Marcar como favorito`,deleteSessionConfirmTitle:`¿Eliminar la sesión?`,deleteSessionConfirmBody:`"{{name}}" se eliminará del disco. Esto no se puede deshacer.`,deleteSessionTitle:`Eliminar sesión`,rename:`Renombrar sesión`,renameAction:`Renombrar`,resume:`Reanudar sesión`,resumeShort:`Reanudar`,workspaceEyebrow:`Control de sesión`,workspaceTitle:`Sesiones`,workspaceHint:`Busca, inspecciona, fija y reanuda todas las conversaciones del proyecto.`,tabs:{history:`Historial`,live:`Sesiones activas`},filters:{all:`Todas`,favorites:`Favoritas`,active:`Activas`,completed:`Completadas`,issues:`Problemas`},status:{active:`Activa`,completed:`Completada`,error:`Error`,timeout:`Tiempo agotado`,aborted:`Abortada`,saved:`Sesión guardada`},sort:{label:`Ordenar sesiones`,recent:`Más recientes`,tokens:`Más tokens`,activity:`Más actividad`},stats:{sessions:`Sesiones`,tokens:`Tokens`,tools:`Llamadas a herramientas`,files:`Archivos modificados`,errors:`Errores`},inspect:`Inspeccionar sesión`},f={actions:{abort:`Detener`,newSession:`Nueva sesión`,export:`Exportar`,compact:`Comprimir`,newSessionConfirm:`¿Está seguro?`,newSessionConfirmMessage:`Todavía hay un trabajo en curso. ¿Iniciar una nueva sesión de todos modos?`,newSessionTitle:`Iniciar una nueva sesión (Ctrl+N)`,exportTitle:`Exportar el chat como markdown (Ctrl+E)`,compactTitle:`Comprimir la ventana de contexto`,clearTitle:`Borrar el contexto (Ctrl+L)`},model:`Modelo`,modelTitle:`Cambiar de modelo (Ctrl+M)`,context:`Contexto`,contextTitle:`Haz clic para un desglose del contexto`,sessionLabel:`Sesión`,stats:{messages:`Mensajes`,elapsed:`Transcurrido`,tokens:`Tokens`,cost:`Coste`,iteration:`Iteración`,agents:`Agentes`,tokensSub:`{{in}} entra / {{out}} sale`,iterationOf:`de {{max}}`,agentsRunning:`{{count}} en ejecución`},plan:`Plan`,planComplete:`{{pct}}% completado`,pinned:`Fijados`,quickSettings:`Ajustes rápidos`,autonomy:`Autonomía`,autonomyTitle:`Detener la ejecución automática de los siguientes pasos. Desactívalo para parar el bucle autónomo del agente`,autonomyOptions:{off:`Desactivado`,suggest:`Sugerir`,auto:`Auto`,eternal:`Perpetuo`,"eternal-parallel":`Perpetuo Paralelo`},yolo:`Modo YOLO`,yoloTitle:`Omitir los diálogos de confirmación de herramientas`,refine:`Refinar prompts`,refineTitle:`Reescribir los prompts antes de enviar`,sound:`Sonido al completar`,soundTitle:`Reproducir un suave tono al terminar una ejecución`,sessionId:`sesión {{id}}`},p={status:{running:`en ejecución`,completed:`hecho`,failed:`fallido`,timeout:`tiempo agotado`,stopped:`detenido`},leader:`líder`,providerModel:`Proveedor / Modelo`,elapsed:`Transcurrido`,running:`en ejecución…`,iterations:`Iteraciones`,toolCalls:`Llamadas`,cost:`Coste`,budgetExtensions:`Ampliaciones de presupuesto`,activity:`Actividad`,contextWindow:`Ventana de contexto`,tokensUsed:`{{used}} / {{max}} tokens`,toolRunning:`en ejecución…`,lastTool:`última herramienta`,error:`Error`,finalOutput:`Salida final`,copyOutput:`Copiar salida`,liveOutput:`Salida en vivo`,waitingOutput:`Esperando salida…`,outputHint:`La salida aparece aquí a medida que el agente transmite texto.`,toolLog:`Registro de herramientas ({{count}} llamadas)`,fail:`fallo`,moreTools:`+{{count}} herramientas más`,cardRunning:`en ejecución {{tool}}`,cardLastTool:`última: {{tool}}`,contextPercent:`Contexto {{pct}}%`,doneCount:`{{count}} hechos`,errCount:`{{count}} err`,statusRunning:`en ejecución`,statusDone:`completado`,statusFailed:`fallido`,statusTimeout:`tiempo agotado`,statusStopped:`detenido`,hittingLimitTitle:`⚡ alcanza el límite {{kind}} ({{used}}/{{limit}})`,budgetExt_one:`{{count}} extensión de presupuesto`,budgetExt_other:`{{count}} extensiones de presupuesto`,extendedTimes_one:`El agente amplió su presupuesto {{count}} vez por tareas largas`,extendedTimes_other:`El agente amplió su presupuesto {{count}} veces por tareas largas`,errorLabel:`Error`,failureReason:`Motivo de fallo`,failed:`Fallido`},m={wsNotConnected:`WebSocket no conectado`,noData:`No se recibieron datos de depuración. El servidor podría no admitir depuración de contexto.`,title:`Desglose del contexto`,windowUsage:`Uso de ventana`,contextMode:`Modo de contexto`,fetching:`Obteniendo el desglose del contexto…`,systemPrompt:`Prompt del sistema`,tools:`Herramientas`,messages:`Mensajes`,tokenAllocation:`Asignación de tokens`,systemTitle:`Sistema: {{tokens}}`,toolsTitle:`Herramientas: {{tokens}}`,messagesTitle:`Mensajes: {{tokens}}`,system:`Sistema`,toolBreakdown:`Desglose de herramientas`,messagesSummary:`Mensajes ({{count}}) — {{total}} tok`,barWithTokens:`Ventana de contexto: {{tokens}} / {{max}} tokens ({{pct}})`,barPct:`Ventana de contexto: {{pct}}`,barClick:` — clic para el desglose`},h={header:`✨ Refinar prompt`,autoSend:`envío automático en {{count}} s`,cancelTitle:`Cancelar (Esc)`,editLabel:`Editar el prompt refinado:`,editPlaceholder:`Editar el prompt refinado...`,useEdit:`Usar edición`,original:`Original`,refined:`Refinado`,yourLanguage:`(tu idioma)`,refinedTitle:`Haz clic o pulsa Intro para usar esta versión`,copyToInputTitle:`Copiar al campo de entrada sin enviar`,english:`Inglés`,englishTitle:`Pulsa e para la versión en inglés`,hintRefined:`refinado`,hintEnglish:`Inglés`,hintOriginal:`original`,hintEdit:`editar`,hintRetry:`reintentar`,edit:`Editar`,useRefined:`Usar refinado`,langOriginal:`Original`,langEnglish:`English`,languageTitle:`Cambiar el idioma de refinamiento predeterminado: original o inglés`,yolo:`YOLO`,yoloTitle:`Omitir las confirmaciones de herramientas`,refining:`Refining…`,sendAsIs:`Send as-is`,failedHeader:`Refinement failed`,retry:`Retry (more time)`,retryBetter:`Intentar mejor`,retryFallback:`Retry with {{model}}`,pickModel:`Another model…`,pickModelTitle:`Reintentar el refinamiento con otro modelo`,pickModelHint:`Elige un proveedor o modelo para volver a ejecutar este refinamiento. El modelo de tu sesión no cambia.`,countdownHeader:`✨ El refinamiento comienza en…`,countdownYourMessage:`Tu mensaje`,countdownHint:`El refinamiento comienza en {{seconds}}s. Haz clic en "Enviar tal cual" para omitir.`,countdownStartNow:`Refinar ahora`,countdownSendAsIs:`Enviar tal cual`,cancelRefineSendOriginal:`Cancelar y enviar original`},g={heading:`Especificaciones`,subtitle:`Ver y gestionar el desarrollo guiado por especificaciones`,empty:`No se encontraron specs. Usa {{command}} para crear una.`,tasks:`Tareas ({{count}})`,doneCount:`{{count}} hechas`,runningCount:`{{count}} en ejecución`,pendingCount:`{{count}} pendientes`,runTitle:`Ejecutar esta spec como un trabajo multi-agente en vivo`,run:`Ejecutar`,runAsSdd:`Ejecutar como SDD`,runAsSddTitle:`Iniciar un run SDD multi-agente en paralelo (worktrees, verificación, tablero en vivo)`,runAsGoal:`Ejecutar como Goal`,runAsGoalTitle:`Iniciar un Goal por fases desde las columnas de tareas de esta spec`,list:`Lista`,graph:`Grafo`,loadingTasks:`Cargando tareas…`},_={heading:`Verificador de resiliencia F5`,subtitle:`Confirma que la última sesión activa, la transcripción y el estado de la UI sobreviven a una recarga de página. Abre esta vista y pulsa F5 — cada fila verde debe seguir verde.`,recordProbe:`Registrar sonda`,latestSession:`Última sesión activa`,restoredLocal:`Restaurado desde localStorage`,sessionIdExtra:`id de sesión: {{id}}`,noSessionYet:`todavía no se ha iniciado ninguna sesión`,activePointer:`Puntero de sesión activa`,lastVisited:`marca de tiempo lastVisitedAt`,never:`nunca`,persistedEnv:`Entorno persistido`,transcriptRehydrate:`Rehidratación de transcripción`,localTranscript:`Transcripción local recuperada`,messagesExtra:`{{count}} mensajes, {{queued}} en cola`,noMessages:`0 mensajes`,noBleed:`Sin fuga entre sesiones`,bleedExtra:`ligado={{bound}} vs activo={{active}}`,transcriptBinds:`la transcripción se liga a la sesión activa`,uiWorkspace:`Espacio de trabajo UI`,noneValue:`(ninguno)`,payloadSize:`Carga de localStorage (4 claves): {{count}} caracteres`,probeLog:`Registro de sondas`,noProbes:`Aún no hay sondas — pulsa el botón "Registrar sonda" arriba, o F5 en esta vista, para registrar una comprobación de rehidratación.`,simulatedF5:`F5 simulado: reejecutar persist rehydrate`},v={status:{pending:`Pendiente`,in_progress:`En progreso`,review:`Revisión`,failed:`Fallido`,completed:`Hecho`,queued:`En cola`,blocked:`Bloqueado`,cancelled:`Cancelado`},newTaskTitle:`Nueva tarea`,newTaskPlaceholder:`Título de tarea…`,addTask:`Añadir tarea`,empty:`Aún no hay fases — inicia una ejecución Goal para rellenar el tablero.`,summary:`{{phases}} fases · {{tasks}} tareas`,phases:`Fases`,statusTab:`Estado`,dropHere:`Suelta las tareas aquí`,emptySpec:`Aún no hay tareas en esta spec.`,depGraphHeading:`Grafo de dependencias`,worktreePrefix:`worktree: {{branch}}`},y={trendUp:`Aumentando`,trendDown:`Disminuyendo`,trendStable:`Estable`,heading:`Panel de depuración`,subtitle:`Monitorización en tiempo real para WrongStack WebUI`,refreshLabel:`Actualizar:`,lastUpdated:`Última actualización: {{time}}`,fetchFailed:`Error al obtener las métricas`,fileWatcher:`Observador de archivos`,watcherStatus:`Estado del observador`,running:`En ejecución`,stopped:`Detenido`,activeProjects:`Proyectos activos`,projectsWatched:`Proyectos observados`,fileChanges:`Cambios de archivos`,totalDetected:`Total detectado`,filesProcessed:`Archivos procesados`,afterHash:`Tras filtro hash`,broadcastsSent:`Difusiones enviadas`,toClients:`A clientes WebUI`,debounceResets:`Reinicios de antirrebote`,rapidWrites:`Escrituras rápidas sucesivas`,avgDebounce:`Retardo antirrebote medio`,actualDelay:`Retardo real aplicado`,totalDelay:`Retardo total`,sumDelays:`Suma de todos los retardos`,browserPerf:`Rendimiento del navegador`,heapUsed:`Memoria usada`,jsHeap:`Memoria JavaScript`,heapTotal:`Memoria total`,totalHeap:`Tamaño total de memoria`,pageUptime:`Tiempo de actividad`,sinceLoad:`Desde la carga`,rawData:`Datos sin procesar`},b={allowlistTitle:`Lista de modelos permitidos`,modelCount_one:`{{count}} modelo`,modelCount_other:`{{count}} modelos`,using:`En uso`,noModelPicked:`(ningún modelo elegido)`,clearAllowlist:`Borrar lista permitida`,clearAllowlistAria:`Borrar la lista permitida guardada para {{provider}}`,refresh:`Actualizar del servidor`,refreshAria:`Actualizar la lista de modelos para {{provider}}`,probing:`Comprobando…`,searchPlaceholder:`Buscar modelos…`,use:`Usar`,useModelAria:`Usar el modelo {{model}} para {{provider}}`},x={expandChip:`Expandir {{label}}`,collapseChip:`Contraer {{label}}`,ahead:`{{count}} por delante`,behind:`{{count}} por detrás`,linesAdded:`{{count}} líneas añadidas`,linesDeleted:`{{count}} líneas eliminadas`,untrackedFiles:`{{count}} archivos sin rastrear`,customizeTitle:`Personalizar chips del dock`,dockChips:`Chips del dock`,noActiveGoal:`Ningún objetivo activo`,noActiveGoalDetail:`Inicia un objetivo desde el chat o el comando goal.`,closeWorkspaceInspector:`Cerrar el inspector del espacio de trabajo`,goal:`Objetivo`,goalState:`Estado del objetivo`,goalStateDetail:`Objetivo activo y progreso`,fleet:`Flota`,fleetDetail:`Plantilla de agentes en vivo y actividad`,work:`Trabajo`,workDetail:`Pendientes, tareas y plan`,worktrees:`Worktrees`,worktreesDetail:`Ramas y carriles paralelos`,collab:`Colab.`,collabDetail:`Participantes de la sesión y controles`,inspector:`Inspector del espacio de trabajo`,inspectorNamed:`Inspector del espacio de trabajo {{name}}`,workspace:`Espacio de trabajo`,workspaceDetails:`Detalles del espacio de trabajo`},S={leaderBadge:`LÍDER`,iters:`Iter.`,tools:`Herramientas`,activityBins:`Actividad (12 contenedores)`,streamingOutput:`Salida en streaming`,recentTools:`Herramientas recientes`,finalOutput:`Salida final`,heading:`Monitor de agentes`,prevAgent:`Agente anterior`,nextAgent:`Agente siguiente`,closeAria:`Cerrar monitor de agentes`,hintPage:`←→ página`,hintNavigate:`↑↓ navegar lista`,hintEsc:`Esc cerrar`},C={resize:`Cambiar tamaño de terminales`,labelSingular:`Terminal`,labelPlural:`Terminales`,projectShell:`Shell del proyecto`,maxTerminals:`Máximo {{count}} terminales`,newTerminal:`Nuevo terminal`,restart:`Reiniciar terminal activo`,closeAll:`Cerrar todos los terminales`,closeDock:"Cerrar el dock de terminal (Ctrl+`)",closeTab:`Cerrar {{name}}`,processExited:`[proceso terminado con código {{code}}]`},w={liveStream:`Transmisión en vivo`,events_one:`{{count}} evento`,events_other:`{{count}} eventos`,interruptTitle:`Detener cooperativamente a este agente en su próximo paso (no es un kill)`,interrupt:`⏸ Interrumpir`,interrupting:`…`,loading:`Cargando sesión…`,done:`✓✓ hecho`,read:`✓ leído`,delivered:`⏳ entregado`,agent:`Agente`,you:`Tú`,working:`{{name}} · trabajando`,claude:`Claude`,priority:`Prioridad`,placeholder:`{{label}} → esta sesión…`,send:`Enviar`,sendHint:`⌘/Ctrl+Enter para enviar · visible en la próxima iteración del agente`,msgType:{steerLabel:`🔄 Dirigir`,steerHint:`Ajustar el comportamiento durante la tarea`,askLabel:`❓ Preguntar`,askHint:`Pregunta — espera respuesta`,assignLabel:`📋 Asignar`,assignHint:`Una tarea en la que actuar`,noteLabel:`💬 Nota`,noteHint:`Para tu información, no urgente`},sentRunning:`Entregado — el agente en ejecución lo verá en su próximo paso`,sentIdle:`Entregado — el objetivo está inactivo; aparece en su buzón, leído en su próxima ejecución`,sentFailed:`Falló: {{error}}`,interruptReason:`El operador solicitó la detención desde Fleet HQ`,interruptSent:`Interrupción enviada — el agente se detiene en su próximo paso (no es un kill)`,interruptFailed:`Interrupción fallida: {{error}}`},T={empty:`Aún no se han registrado efectos secundarios.`,emptyHint:`Los comandos bash, las instalaciones de paquetes y las solicitudes de red aparecerán aquí.`,heading:`Efectos secundarios`,exportTitle:`Exportar los efectos secundarios filtrados como CSV`,all:`Todos`,colTime:`Hora`,colTool:`Herramienta`,colRisk:`Riesgo`,colDetail:`Detalle`,colOutcome:`Resultado`},E={elapsedHm:`hace {{h}}h {{m}}m`,elapsedMs:`hace {{m}}m {{s}}s`,elapsedS:`hace {{s}}s`,heading:`Monitor de flota`,clientsHeading:`Clientes conectados`,terminal:`Terminal`,webui:`IU Web`,repl:`REPL`,totalConnected:`conectados en total`,mailQueue:`Cola de correo`,total:`Total`,open:`Abiertos`,unread:`No leídos`,agents:`Agentes`,messagesSub:`mensajes`,uncompletedSub:`sin completar`,waitingSub:`en espera`,ofTotal:`de {{count}} en total`,agentRoster:`Lista de agentes`,liveMailActivity:`Actividad de correo en vivo`,noActivity:`Sin actividad reciente`,mailboxAgents:`Agentes del buzón`,noMailboxAgents:`Ningún agente registrado`,moreCount:`+{{count}} más`,agentFallback:`agente`,fleetAgents:`Agentes de la flota`,noFleetAgents:`Ningún agente de flota en ejecución`,iter:`iter.`,mailType:{sent:`Enviado`,delivered:`Entregado`,read:`Leído`,completed:`Completado`}},D={status:{pending:`pendiente`,queued:`en cola`,in_progress:`en ejecución`,blocked:`bloqueado`,review:`revisión`,failed:`fallido`,completed:`hecho`,cancelled:`cancelado`},activityHeading:`Actividad`,feedEmpty:`Aún nada — los eventos aparecen aquí a medida que los agentes toman y completan tareas.`,destroyTitle:`¿Destruir el proyecto SDD?`,destroyDesc:`Esto borra el run y su trabajo. No se puede deshacer (el revert opcional preserva el historial).`,stopRun:`Detener el run`,stopRunAgents_one:`Detener el run ({{count}} agente activo)`,stopRunAgents_other:`Detener el run ({{count}} agentes activos)`,removeWorktreesAll:`Eliminar todos los worktrees git + ramas wstack/ap/* — incluido el trabajo sin mergear`,removeWorktreesCount_one:`Eliminar {{count}} worktree git + ramas wstack/ap/* — incluido el trabajo sin mergear`,removeWorktreesCount_other:`Eliminar {{count}} worktrees git + ramas wstack/ap/* — incluido el trabajo sin mergear`,deleteArtifacts:`Eliminar todos los artefactos SDD (specs, grafo de tareas, board, sesión)`,revertMerged_one:`Revertir también {{count}} commit mergeado`,revertMerged_other:`Revertir también {{count}} commits mergeados`,revertHint:`Añade commits de revert (historial preservado). Se rechaza si el árbol de trabajo está sucio.`,baseBranchFallback:`la rama base`,noteLeaveMerged:`Los commits mergeados quedarán en la rama base. Marca la casilla de arriba para deshacerlos también.`,noteAbandon:`Asegúrate de que realmente quieres abandonar este run.`,destroying:`Destruyendo…`,destroyAll:`Destruir todo`,kanbanBacklog:`Backlog`,kanbanReady:`Listo`,kanbanRunning:`En ejecución`,kanbanReview:`Revisión`,kanbanFailed:`Fallido`,kanbanDone:`Completado`,kanbanEmpty:`vacío`},O={collapseToLines:`Contraer a las primeras {{count}} líneas`,showAllLines:`Mostrar las {{total}} líneas ({{more}} más)`,exitCode:`código de salida:`,jsonLines:`JSON · {{count}} líneas`,collapse:`contraer`,expand:`expandir`},k={heading:`Design Studio — Galería`,kitsCount:`{{count}} kits`,searchPlaceholder:`Buscar kits…`,stackTitle:`Stack para Use + Materialize`,wrote:`Escrito {{path}}`,materializeFailed:`Materialize falló: {{error}}`,verifyError:`Verificar: {{error}}`,verifyOffPalette:`Verificar: {{pct}}% en paleta — {{count}} fuera de paleta en {{files}} archivo(s)`,verifyClean:`Verificar: limpio ✓ ({{files}} archivo(s) en paleta)`,writing:`Escribiendo archivo de tema…`,scanning:`Escaneando archivos de UI…`,active:`Activo`,reapply:`Reaplicar`,use:`Usar`,materializeTitle:`Escribir tokens en un archivo de tema {{stack}}`,materialize:`Materializar`,verifyTitle:`Escanear archivos de UI en busca de colores fuera de paleta`,verify:`Verificar`,colors:`Colores`},A={summary_one:`{{count}} fase · {{pct}}% completado`,summary_other:`{{count}} fases · {{pct}}% completado`,switchBoard:`Cambiar tablero`,boardsCount_one:`{{count}} tablero…`,boardsCount_other:`{{count}} tableros…`,toggleAutonomousTitle:`Activar/desactivar modo autónomo`,autonomous:`Autónomo`,manual:`Manual`,resumeTitle:`Reanudar la ejecución`,pauseTitle:`Pausar la ejecución`,resume:`Reanudar`,pause:`Pausar`,stopTitle:`Detener la ejecución — aborta los agentes en vuelo inmediatamente`,stop:`Detener`,newTitle:`Limpiar este tablero e iniciar una nueva ejecución Goal`,newLabel:`Nuevo`,revertConfirm:`¿Revertir los commits de la ejecución?`,revertTitle:`Deshacer esta ejecución — git-revert de los commits y eliminar sus worktrees`,revert:`Revertir`,goal:`Objetivo`,planning:`Planificando fases…`,planningBody:`Tu objetivo fue recibido. WrongStack lo desglosa en fases y tareas — el tablero aparece aquí en cuanto el plan está listo.`,startHeading:`Iniciar un plan de fases`,startBody:`Describe lo que quieres construir. WrongStack planificará fases y tareas, luego las ejecutará — observa y dirige la ejecución en el tablero.`,startPlaceholder:`p.ej. Crea una API REST de gestión de usuarios con Express y SQLite...`,isolateLabel:`Aislar cada fase en su propio worktree de git`,startButton:`Iniciar Goal`,ctrlHint:`Ctrl+Enter para iniciar`,isolateOn:`las fases se ejecutan en worktrees aislados, fusionados con squash`,isolateOff:`las fases se ejecutan directamente en la rama actual`,lanes:`Carriles`,graph:`Grafo`,planningAck:`🚀 **Goal** — entendido. Planificando fases para tu objetivo…`,assess:{analyzing:`Analizando alcance de la meta…`,realistic:`✓ El alcance parece realista`,durationConcern:`⚠ Problema de duración`,durationClaimed:`Duración indicada: {{duration}}`,recommendation:`Recomendado: {{duration}}`,concerns:`Preocupaciones`,analysisFailed:`No se pudo analizar el alcance de la meta`,override:`Iniciar de todas formas`,overrideTitle:`Limpiar la advertencia y habilitar el botón de inicio`,disableTitle:`Esta meta tiene una duración poco realista — use "Iniciar de todas formas" para sobrescribir`},multiBoardLabel:`Dividir en múltiples tableros kanban`,verifyTasksLabel:`Requerir verificación para cada tarea`,chimeraReviewLabel:`Habilitar revisión automática chimera`},j={noObservers:`Sin observadores en vivo`,observerTitle:`Unirse como observador de solo lectura (Fase 1)`,observerRole:`observador`,annotatorTitle:`Unirse como anotador — deja notas en las llamadas (Fase 2)`,annotatorRole:`anotador`,controllerTitle:`Unirse como controlador — puede pausar el agente (Fase 3)`,controllerRole:`controlador`,errorPrefix:`Collab: {{error}}`,dismiss:`cerrar`,observers_one:`{{count}} observador`,observers_other:`{{count}} observadores`,annotationsTitle:`{{count}} anotación(es) abierta(s) — anotadores revisando`,notes_one:`{{count}} nota`,notes_other:`{{count}} notas`,pausedTitle:`El agente está en pausa — un controlador está revisando`,paused:`en pausa`,joinedTitle:`Se unió {{time}}`,grantTitle:`Ceder control — promocionar a este participante a controlador`,injectTitle:`Inyectar un resultado sintético para una llamada en curso`,inject:`Inyectar`,resumeTitle:`Reanudar el agente`,resume:`Reanudar`,pauseTitle:`Pausar el agente antes de la próxima llamada`,pauseAgent:`Pausar agente`,leaveTitle:`Salir de la sesión de observación`,leave:`Salir`,injectToolResult:`Inyectar resultado`,close:`cerrar`,targetTool:`id tool_use objetivo`,targetPlaceholder:`elige una llamada en curso o escribe un id tool_use`,toolFallback:`herramienta`,noPendingTools:`Sin llamadas en curso — escribe un id tool_use o pausa el agente primero.`,resultContent:`Contenido del resultado`,resultPlaceholder:`Resultado sintético dado al agente en lugar de ejecutar la herramienta`,markError:`marcar como error`,reasonPlaceholder:`razón (registro de auditoría)`,queueInjection:`Encolar inyección`,controllerInjection:`inyección controlador`},M={connected:`Conectado`,reconnecting:`Reconectando al backend (intento {{attempt}}) — reintentando en {{remaining}} s`,disconnected:`Desconectado del backend`,retry:`Reintentar ahora`,retryTitle:`Reintentar conexión ahora`,dismissTitle:`Cerrar (el chip de la barra superior sigue mostrando el estado)`},N={modePrefix:`modo:`,activeTitle:`Modo activo`,heading:`Modo`,defaultName:`Predeterminado`,defaultDesc:`Comportamiento estándar del agente`},P={clickTitle:`Haz clic para el desglose de costes por turno`,heading:`Desglose de costes`,noPricing:`Sin tarifa para el modelo actual — los valores de coste son cero.`,noTurns:`Aún no hay turnos completados. Ejecuta un prompt para ver el coste por turno aquí.`,topExpensive_one:`Turno más caro`,topExpensive_other:`Los {{count}} turnos más caros`},F={runDefault:`Predeterminado del run`,useRunDefault:`Usar predeterminado del run`,filterPlaceholder:`Filtrar modelos…`,loading:`Cargando modelos…`,noMatch:`Sin coincidencias`},I={heading:`Cambiar modelo`,filterPlaceholder:`Filtrar proveedores y modelos…`,providerFilter:`Proveedor`,providerFilterAll:`Todos los proveedores`,noSavedProviders:`Sin proveedores guardados — registra primero una clave en Ajustes.`,noMatch:`Ningún modelo coincide`,active:`activo`},L={todos:`Por hacer`,tasks:`Tareas`,plan:`Plan`},R={toggleAria:`Alternar: {{content}}`,removeTitle:`Eliminar tarea`,removeAria:`Eliminar "{{content}}"`,completedCount_one:`{{count}} completada`,completedCount_other:`{{count}} completadas`},z={start:`Iniciar`,complete:`Completar`,retry:`Reintentar`,assign:`Asignar`,assignTitle:`Asignar agente`,unassigned:`Sin asignar`,statusPending:`Pendiente`,statusInProgress:`En curso`,statusBlocked:`Bloqueado`,statusFailed:`Fallido`,statusReview:`Revisión`,statusDone:`Completado`,startTitle:`Iniciar`,completeTitle:`Completar`,fail:`Fallar`,failTitle:`Marcar como fallido`,boardCount:`{{total}} tareas · {{done}} completadas`},B={toolCalls_one:`{{count}} llamada`,toolCalls_other:`{{count}} llamadas`},V={removeTitle:`Eliminar referencia`,linesCount_one:`{{count}} línea`,linesCount_other:`{{count}} líneas`},H={statusOpen:`Abierto`,statusInProgress:`En curso`,statusDone:`Completado`,startTitle:`Iniciar`,doneTitle:`Marcar como completado`,reopenTitle:`Reabrir`,reopen:`Reabrir`},U={heading:`@ Archivos`,noMatch:`Ningún archivo coincide con "{{query}}"`,searching:`Buscando en el proyecto…`,selectInsertEscDismiss:`↑/↓ seleccionar · ↵ insertar · Esc cerrar`},W={dismiss:`Cerrar`},G={placeholder:`Buscar en el chat…`,prevHit:`Coincidencia anterior`,nextHit:`Coincidencia siguiente`,close:`Cerrar (Esc)`},K={statusPending:`Pendiente`,statusReady:`Listo`,statusRunning:`En ejecución`,statusPaused:`En pausa`,statusCompleted:`Completado`,statusFailed:`Fallido`,statusSkipped:`Omitido`,heading:`Fases`,autonomousOn:`● Autónomo`,autonomousOff:`○ Manual`,autonomousOnTitle:`Modo autónomo activo — clic para pausar`,autonomousOffTitle:`Modo manual — clic para activar el autónomo`,overallProgress:`Progreso general`,tasksSuffix:`{{done}}/{{total}} tareas`,agentsSuffix_one:`{{count}} agente`,agentsSuffix_other:`{{count}} agentes`},q={triggerTitle:`Modo de ventana de contexto`,ctxPrefix:`ctx:`,opsHeading:`Operaciones de contexto`,compactNow:`Compactar ahora`,compactNowDesc:`Elidir salida de herramienta antigua`,compactAggressive:`Compactación agresiva`,compactAggressiveDesc:`Elisión máxima ahora`,repairContext:`Reparar contexto`,repairDesc:`Corregir bloques tool-use huérfanos`,debugContext:`Depurar contexto`,debugDesc:`Desglose de tamaño por sección`,windowHeading:`Ventana de contexto`,keepElide:`mantener {{k}} recientes · elidir {{t}}+ tokens`,fallbackName:`Equilibrado`,fallbackDesc:`Compacción rolling por defecto`},J={kindAssistant:`Asistente`,kindThinking:`Pensando`,kindToolCall:`Llamada de herramienta`,kindToolResult:`Resultado de herramienta`,kindError:`Error`,kindStatus:`Estado`,kindSystem:`Sistema`,title:`Historial del chat`,copyTitle:`Copiar historial de chat del agente`,empty:`Aún no hay historial de chat para este agente.`},Y={heading:`Modo de autonomía`,titlePrefix:`Autonomía: {{label}}`,descOff:`Control manual total — el agente espera tu entrada.`,descSuggest:`El agente sugiere los siguientes pasos pero espera aprobación.`,descAuto:`El agente continúa automáticamente tras una breve espera de confirmación.`,descEternal:`El agente funciona de forma autónoma hasta completar el objetivo.`,descEternalParallel:`Ejecución autónoma multi-agente — modo flota.`,labelOff:`Desactivado`,labelSuggest:`Sugerir`,labelAuto:`Auto`,labelEternal:`Eterno`,labelEternalParallel:`Eterno paralelo`},X={heading:`Cola de mensajes`,subtitle:`{{count}} en cola · mensajes enviados antes de que el agente termine`,btwTitle:`Por cierto — enviado como seguimiento sin interrumpir el agente en ejecución`,steerTitle:`Guiar — interrumpe el agente en ejecución y lo redirige con este mensaje`,queueTitle:`En cola — retenido hasta que termine el run del agente, luego enviado en orden`,sortNewestTitle:`Ordenado del más reciente — clic para ordenar del más antiguo`,sortOldestTitle:`Ordenado del más antiguo — clic para ordenar del más reciente`,newest:`Más reciente`,oldest:`Más antiguo`,clear:`Vaciar`,clearTitle:`Borrar todos los mensajes en cola`,closeTitle:`Cerrar`,emptyTitle:`La cola está vacía`,emptyBody:`Usa los botones btw / steer / añadir a cola junto a la entrada para añadir mensajes. Los elementos en cola se envían en orden cuando termina el run del agente.`,removeTitle:`Quitar de la cola`,clearDispatchedTitle:`Borrar mensajes en cola — las notas ya enviadas no se pueden retractar`,dispatchedTitle:`Ya enviado al agente`,dispatchedLabel:`Enviado`,footer:`Los mensajes se envían en orden de llegada cuando termina el run del agente. Usa el orden para ver los más recientes primero.`},Z={heading:`Puntos de control de sesión`,countSuffix_one:`{{count}} punto de control`,countSuffix_other:`{{count}} puntos de control`,description:`Rebobina la sesión a cualquier punto de control. Los mensajes y cambios de archivos revierten a ese punto — el LLM continúa desde allí como si nada hubiera pasado después.`,emptyTitle:`Aún no hay puntos de control`,emptyBody:`Los puntos de control se crean automáticamente cada vez que envías un mensaje. Envía algunos mensajes y vuelve.`,latest:`reciente`,msgSuffix_one:`{{count}} msg`,msgSuffix_other:`{{count}} msgs`,footerPre:`Clic en cualquier punto de control para rebobinar`,footerPost:`para cerrar`},Q={statusActive:`Activo`,statusPaused:`En pausa`,statusDone:`Completado`,statusFailed:`Fallido`,statusAbandoned:`Abandonado`,heading:`Objetivo`,refined:`Refinado`,progress:`Progreso`,iterations:`iteraciones`,deliverables:`Entregables`,recentActivity:`Actividad reciente`},$={cleanTitle_one:`¿Limpiar {{count}} worktree huérfano?`,cleanTitle_other:`¿Limpiar {{count}} worktrees huérfanos?`,cleanMessage:`Elimina a la fuerza cada worktree git + rama wstack/ap sobrante de runs anteriores. El trabajo sin mergear en ellos se pierde.`,cleanConfirm:`Limpiar huérfanos`,orphanCount_one:`{{count}} worktree huérfano de runs anteriores`,orphanCount_other:`{{count}} worktrees huérfanos de runs anteriores`,andMore:`…y {{count}} más`,cleanButtonTitle:`Eliminar a la fuerza todos los worktrees + ramas huérfanos`,removed_one:`✓ {{count}} worktree huérfano eliminado.`,removed_other:`✓ {{count}} worktrees huérfanos eliminados.`,cleanupFailed:`limpieza fallida`,lanesHeading:`Worktrees`,base:`base`,isolatedCount_one:`{{count}} aislado`,isolatedCount_other:`{{count}} aislados`,statusAllocating:`asignando`,statusActive:`activo`,statusCommitting:`commitiendo`,statusMerging:`mergeando`,statusMerged:`mergeado`,statusConflict:`conflicto`,statusFailed:`fallido`,conflictBadge:`CONFLICTO`,graphAria:`Grafo de ramas worktree desde {{base}}`,mergedLabel:`✓ mergeado → {{base}}`},ee={heading:`Procesos en ejecución`,subtitle:`{{active}} activos · {{total}} total`,killAll:`Matar todos`,emptyTitle:`Sin procesos rastreados`,emptyBody:`Los procesos aparecen aquí cuando el agente ejecuta herramientas bash o exec. Los procesos activos muestran un LED pulsante.`,pidLabel:`PID {{pid}}`,protected:`protegido`,protectedTitle:`Protegido — sobrevive a kill/killAll`,background:`en segundo plano`,backgroundTitle:`Tarea desvinculada — continúa tras cerrar la CLI/WebUI`,confirmKillBackground:`¿Terminar el proceso desvinculado en segundo plano {{pid}}?`,confirmKillAll:`¿Terminar los {{count}} procesos en ejecución?`,killTitle:`Matar PID {{pid}}`},te={tooLarge:`Diff omitido (archivo demasiado grande para mostrar en línea).`},ne={placeholder:`Añadir modelo de respaldo…`,emptyHint:`Se prueban en orden cuando el modelo principal limita o se atasca.`,moveUp:`Subir`,moveDown:`Bajar`},re={loading:`Cargando sesiones...`,apiUnavailable:`API de sesión no disponible:`,empty:`Sin sesiones en vivo. Abre otra instancia wstack para verla aquí.`,heading:`Sesiones en vivo ({{count}})`,autoRefresh:`actualización cada 5 s`,pidLabel:`PID {{pid}}`,agentMeta:`{{iter}} iter · {{tools}} herramientas · {{ago}}`,andMore:`... y {{count}} más`,noAgents:`Sin agentes`},ie={applyTitle:`Escribir la versión editada al disco`,applying:`Aplicando…`,applied:`Aplicado`,apply:`Aplicar`},ae={showStack_one:`Mostrar rastreo de pila ({{count}} marco)`,showStack_other:`Mostrar rastreo de pila ({{count}} marcos)`,hideStack_one:`Ocultar rastreo de pila ({{count}} marco)`,hideStack_other:`Ocultar rastreo de pila ({{count}} marcos)`},oe={liveHeading:`Live`,clients:`Clientes`,agents:`Agentes`,model:`Modelo`,mode:`Modo`,toolCalls:`Llamadas`,displayHeading:`Visualización`,statsHud:`HUD de stats`,legends:`Leyendas`,minimap:`Minimapa`,zoomControls:`Controles de zoom`,animateWires:`Animar cables`,backgroundHeading:`Fondo`,bgDots:`Puntos`,bgLines:`Líneas`,bgCross:`Cruz`,bgNone:`Ninguno`},se={noParams:`(sin parámetros)`,itemCount_one:`{{count}} elemento`,itemCount_other:`{{count}} elementos`,keyCount_one:`{{count}} clave`,keyCount_other:`{{count}} claves`},ce={roleYou:`Tú`,roleTool:`Herramienta`,roleThinking:`Pensando`,roleAssistant:`Asistente`,inputLabel:`Entrada`,downloadTitle:`Descargar como archivo`,empty:`(vacío)`,hideDetails:`Ocultar detalles`,showDetails:`Mostrar detalles`,showDetailsLines_one:`Mostrar detalles ({{count}} línea)`,showDetailsLines_other:`Mostrar detalles ({{count}} líneas)`,editHint:`⌘/Ctrl+Enter para guardar · Esc para cancelar`,saveResend:`Guardar y reenviar`,thinkingProcess:`Proceso de pensamiento`,thinkingMeta:`iter {{iter}} · {{dur}} · {{lines}}`,replay:`repetición`,linesSuffix_one:`{{count}} línea`,linesSuffix_other:`{{count}} líneas`,copyLog:`Copiar registro`,showFullLog:`Mostrar registro completo`,typing:`Escribiendo…`,noContent:`Sin contenido`,imageNotRetained:`La vista previa de la imagen no se conserva tras recargar`,failedToSend:`⚠ Error al enviar`,autoPaused:`⚠️ _Avance automático en pausa — alcanzado el máximo de turnos automáticos consecutivos. Escribe algo para continuar (la autonomía permanece activa)._`,autoLoopHalted:`⚠️ _Envío automático detenido porque se repitió el mismo mensaje. La autonomía sigue activa; escribe un mensaje nuevo para reiniciar la protección contra bucles._`,rsIterations:`Iteraciones: {{n}}`,rsTools:`Llamadas: {{n}}`,rsElapsed:`Transcurrido: {{s}}`,rsCost:`Coste: {{c}}`,useInput:`Entrada: {{n}}`,useOutput:`Salida: {{n}}`,useCacheRead:`Lectura cache: {{n}}`,useCost:`Coste: {{c}}`,renderedLabel:`Renderizado`,rawLabel:`Raw`,showRenderedTitle:`Mostrar markdown renderizado`,showRawTitle:`Mostrar fuente markdown pura`,editTitle:`Editar y reenviar este prompt`,editLabel:`Editar`,unpinTitle:`Desfijar`,pinTitle:`Fijar esta respuesta`,pinnedLabel:`Fijado`,pinLabel:`Fijar`,regenerateTitle:`Regenerar esta respuesta`,retryLabel:`Reintentar`},le={toolFallback:`herramienta`,toolFailed:`Herramienta fallida`},ue={heading:`Atajos de teclado`,footerPre:`Pulsa`,footerPost:`en cualquier momento para reabrir esta lista.`,sectionGlobal:`Global`,sectionTuiParity:`Paridad de panel TUI`,sectionFleet:`Flota y agentes`,sectionChatInput:`Entrada del chat`,sectionChat:`Chat`,sectionChatNav:`Navegación del chat (al no escribir)`,dCommandPalette:`Abrir paleta de comandos`,dShowOverlay:`Mostrar este overlay de atajos`,dToggleSidebar:`Alternar barra lateral`,dOpenPanel:`Abrir panel lateral (Sesión, Agentes, Historial, Archivos, Cambios, Buzón, Skills, Office Map)`,dDesignStudio:`Abrir panel de Design Studio`,dWorktrees:`Abrir panel de Worktrees`,dSettings:`Abrir Configuración`,dMemory:`Abrir Memory`,dFocusInput:`Focalizar la entrada de mensajes`,dSessionPanel:`Panel de sesión`,dFleetOverlay:`Overlay del monitor de flota`,dAgentsOverlay:`Overlay del monitor de agentes`,dWorktreeMonitor:`Monitor de worktrees`,dPlanPanel:`Panel de plan`,dTodosPanel:`Panel de tareas`,dQueuePanel:`Panel de cola`,dProcessMonitor:`Monitor de procesos`,dGoalPanel:`Panel de objetivo`,dSessionsDashboard:`Panel de sesiones`,dOfficeMap:`Office map del coordinador`,dDockPicker:`Selector de chips del dock`,dOpenFleet:`Abrir overlay del monitor de flota`,dOpenAgents:`Abrir overlay del monitor de agentes`,dNavigateAgents:`Navegar agentes en el monitor`,dSelectAgent:`Seleccionar agente focalizado`,dCloseOverlay:`Cerrar overlay activo`,dSendMessage:`Enviar mensaje`,dNewline:`Insertar salto de línea`,dRecallPrev:`Recuperar prompt anterior (entrada vacía)`,dRecallNext:`Recuperar prompt siguiente`,dSlashPopup:`Abrir popup de comandos slash`,dAutocomplete:`Autocompletar comando resaltado`,dDismissPopup:`Cerrar popup / limpiar entrada`,dSearchChat:`Buscar en el chat actual`,dClearContext:`Limpiar contexto (igual que /clear)`,dNewSession:`Iniciar nueva sesión (igual que /new)`,dExportMarkdown:`Exportar chat como markdown`,dModelSwitcher:`Overlay selector rápido de modelo`,dCompactDensity:`Alternar densidad UI compacta`,dAbortRun:`Abortar el run actual (durante ejecución)`,dFocusNext:`Focalizar mensaje siguiente (alias: ↓)`,dFocusPrev:`Focalizar mensaje anterior (alias: ↑)`,dJumpFirst:`Ir al primer mensaje`,dJumpLast:`Ir al último mensaje`,dCopyFocused:`Copiar texto del mensaje focalizado`,dClearFocused:`Borrar mensaje focalizado`},de={titleFallback:`Board SDD en vivo`,defaultModelTitle:`Modelo worker por defecto del run (los overrides por tarea tienen prioridad)`,graphLabel:`Grafo`,kanbanLabel:`Kanban`,retryAllTitle:`Volver a poner cada tarea fallida en pending`,retryFailed:`Reintentar fallidas ({{count}})`,resume:`Reanudar`,pause:`Pausar`,stop:`Detener`,cleanTitle:`Eliminar los worktrees git + ramas wstack/ap del run`,cleanWorktrees:`Limpiar worktrees`,rollbackTitle:`Revertir {{count}} commit(s) mergeado(s) en {{base}}`,rollback:`Rollback ({{count}})`,stopping:`Deteniendo…`,destroying:`Destruyendo…`,destroyTitle:`Detener, eliminar todos los worktrees, revertir opcionalmente los commits mergeados y borrar el proyecto SDD`,destroy:`Destruir`,statDone:`hechos`,statRunning:`en curso`,statFailed:`fallidos`,statWave:`oleada`,statElapsed:`transcurrido`,noActiveWorkers:`sin workers activos`,deadlock:`Interbloqueo — tareas bloqueadas por trabajo fallido:`,noRunTitle:`Sin run SDD activo.`,noRunBody:`Inicia uno desde el asistente New SDD Project o vía /sdd execute en la CLI — los agentes aparecen aquí en vivo, cada uno en un worktree aislado.`,clickTaskHint:`clic en una tarea para detalles`,lcClean:`Limpieza`,lcRollback:`Rollback`,lcDestroy:`Destrucción`,lcFailed:`{{op}} falló: {{reason}}`,lcUnknownError:`error desconocido`,lcWorktrees_one:`{{count}} worktree eliminado`,lcWorktrees_other:`{{count}} worktrees eliminados`,lcCommits_one:`{{count}} commit revertido`,lcCommits_other:`{{count}} commits revertidos`,lcDeleted:`borrado {{items}}`,lcNothing:`nada que hacer`,lcNote:`{{op}}: {{body}} — nota: {{reason}}`,lcOk:`{{op}}: {{body}}`},fe={backTitle:`Volver a la actividad`,expandTitle:`Ampliar detalles de la tarea`,collapseTitle:`Contraer detalles de la tarea`,eventLog:`Registro de eventos de la tarea`,newestFirst:`más reciente primero`,noEvents:`Aún no se ha registrado actividad para esta tarea.`,workingOn:`trabajando en esta tarea`,assigned:`asignado`,metaPriority:`Prioridad`,metaType:`Tipo`,metaDuration:`Duración`,metaElapsed:`Transcurrido`,metaRetries:`Reintentos`,metaWorktree:`Worktree`,workerModel:`Modelo worker`,runDefault:`predeterminado del run: {{model}}`,runDefaultPlaceholder:`Predeterminado del run`,runDefaultPlaceholderModel:`Predeterminado del run ({{model}})`,verificationCmd:`Comando de verificación`,gatesCompletion:`valida la finalización (exit 0)`,verifyPlaceholder:`ej. pnpm vitest run path/to/file`,addVerify:`+ Añadir comando de verificación`,description:`Descripción`,timeline:`Cronología`,dependsOn:`Depende de`,blocks:`Bloquea`,newWorkerPlaceholder:`Nombre del nuevo worker…`,confirmStop:`¿Detener esta tarea en ejecución?`,confirmDelete:`¿Eliminar esta tarea del run?`,retryTitle:`Volver a poner esta tarea en pending`,reassign:`Reasignar`,stopTitle:`Abortar el worker en esta tarea`,splitTitle:`Dividir esta tarea en subtareas delegadas a workers separados`,split:`Dividir`,splitHint:`Una subtarea por línea — Título :: descripción (descripción opcional)`,splitPlaceholder:`Escribe la capa de datos :: añade el repositorio
|
|
4
|
-
Conecta la UI`,splitInto:`Dividir en subtareas`,deleteTitle:`Quitar esta tarea no iniciada del run`},pe={phaseStart:`Iniciar`,phaseInterview:`Entrevista`,phaseSpecReview:`Revisión spec`,phasePlanning:`Planificación`,phaseTaskReview:`Revisión tareas`,phaseRunning:`En ejecución`,phaseDone:`Completado`,titleFallback:`Nuevo proyecto SDD`,questionsSuffix:`{{cur}}/{{max}} preguntas`,tasksSuffix:`{{count}} tareas`,runCfgTitle:`Config del run — modelo por defecto + cadena de respaldo`,modelsLabel:`Modelos`,startRun:`Iniciar run`,defaultWorkerModel:`Modelo worker por defecto`,leaderDefaultPlaceholder:`Leader / defecto de sesión`,useSessionDefault:`Usar defecto de sesión`,fallbackChain:`Cadena de respaldo`,appliesToAll:`Se aplica a cada tarea. Override por tarea desde el board live tras iniciar.`,parallelAgents:`Agentes paralelos`,isolateWorktrees:`Aislar en worktrees git`,worktreeOn:`Cada tarea corre en su propio worktree, squash-mergeado al completar.`,worktreeOff:`Las tareas corren directamente en la rama actual (sin aislamiento).`,planDecompose:`Dividir tareas grandes automáticamente`,planDecomposeOn:`Antes del despacho, divide las tareas que el motor de atomicidad marca como demasiado grandes.`,planDecomposeOff:`Mantén el grafo de tareas aprobado tal cual (aún puede dividirse en runtime si una tarea falla).`,goalPrompt:`¿Qué quieres construir?`,goalPlaceholder:`ej. Añadir login OAuth (Google + GitHub) con gestión de sesión`,startingInterview:`Iniciando entrevista…`,startInterview:`Iniciar entrevista`,introBody:`Un agente aislado te entrevista para construir una spec, la descompone en un grafo de tareas ordenado por dependencias, luego una flota multi-agente real lo ejecuta — síguelo en vivo en el board. Si refrescas o reinicias, la entrevista se reanuda automáticamente.`,taskGraphSummary:`Grafo de tareas · {{count}} tareas, ordenadas por dependencias`,dragToExplore:`arrastra para explorar`,show:`mostrar`,goalLabel:`Objetivo`,implementationPlan:`Plan de implementación`,approveSpec:`Aprobar spec → planificar implementación`,approveTasks:`Aprobar tareas`,approvePlan:`Aprobar plan`,answerPlaceholder:`Responde a la pregunta…`,changePlaceholder:`Pedir un cambio…`,resumeBanner:`Entrevista reanudada desde una sesión anterior — continúa donde lo dejaste.`,openLiveBoard:`Abrir tablero en vivo`,discardInterview:`Descartar y empezar de nuevo`,discardTitle:`Abandonar esta entrevista y borrar la sesión guardada`},me={emptyDir:`vacío`,loadFailed:`Error al cargar archivos: {{error}}`,expandAllTitle:`Expandir todas las carpetas`,expandAll:`Expandir todo`,collapseAllTitle:`Contraer todas las carpetas`,collapse:`Contraer`,folders_one:`{{count}} carpeta`,folders_other:`{{count}} carpetas`,currentDirTitle:`Directorio actual: {{path}}`,navigateToTitle:`Navegar a {{path}}`,filesSuffix_one:`{{count}} archivo`,filesSuffix_other:`{{count}} archivos`,goToDir:`ir al directorio`,navigateParentTitle:`Navegar al directorio padre de {{path}}`,parentDirectory:`directorio padre`,noFiles:`No se encontraron archivos`,copyAbsPath:`Copiar ruta absoluta`,copyRelPath:`Copiar ruta relativa`,openInTerminal:`Abrir en terminal`,openInFileManager:`Abrir en gestor de archivos`,mentionInChat:`Mencionar en el chat`,copyPath:`Copiar ruta`},he={sendSelectionAction:`Enviar selección al chat`,noFilesOpen:`Sin archivos abiertos`,selectToEdit:`Selecciona un archivo del explorador para editar`,sendSelectedTitle:`Enviar líneas seleccionadas al chat`,mentionFileTitle:`Mencionar este archivo en el chat`,sendToChat:`Enviar al chat`,mentionFile:`Mencionar archivo`,loadingEditor:`Cargando editor…`,selectTab:`Selecciona una pestaña para ver su contenido`},ge={title:`Actividad del archivo`,overview:`Resumen`,changes:`Cambios`,context:`Contexto`,logs:`Registros`,lines:`líneas`,resizeHint:`Arrastra para redimensionar · doble clic para restablecer`,refresh:`Actualizar evidencia del archivo`,evidenceCount_one:`{{count}} evento`,evidenceCount_other:`{{count}} eventos`,mutations30m:`Ediciones · 30 min`,sessions:`Sesiones`,actors:`Actores`,linkedWork:`Trabajo vinculado`,workLinks:`Kanban / tarea`,recentActivity:`Actividad reciente del archivo`,events:`eventos`,noEvidence:`Aún no hay actividad atribuida a este archivo.`,noSessions:`Aún no hay atribución de sesión.`,noActors:`Aún no hay atribución de actor.`,noWorkLinks:`No hay vínculo Kanban, SDD o tarea registrado.`,taskOrTodo:`Task / tarea`,loadingEvidence:`Cargando evidencia del archivo…`,gitToBuffer:`Git HEAD → búfer actual de Monaco`,savedToBuffer:`Última versión guardada → búfer actual de Monaco`,unsaved:`búfer sin guardar`,lifetimeTitle:`Todo el historial`,lifetimeChanges:`cambios`,lifetimeSessions:`sesiones`,lifetimeTasks:`tareas`,lifetimeBoards:`tableros`,lifetimeSince:`desde {{date}}`,lifetimeTools:`mediante {{tools}}`,level:{quiet:`estable`,active:`activo`,churn:`alta rotación`},analysisTitle:{quiet:`Sin rotación reciente`,active:`Este archivo está cambiando`,churn:`Cambios repetidos detectados`},analysisBody:{quiet:`No se registraron cambios atribuidos en los últimos 30 minutos.`,active:`{{mutations}} cambios de {{actors}} actores en {{sessions}} sesiones durante los últimos 30 minutos.`,churn:`Alta rotación: {{mutations}} cambios de {{actors}} actores en {{sessions}} sesiones. Revisa el trabajo solapado antes de la siguiente edición.`}},_e={loading:`Cargando analíticas…`,heading:`Panel de analíticas`,autoRefresh:`actualización cada 10 s`,liveSessions:`Sesiones en vivo`,agents:`Agentes`,agentsActive:`{{count}} activos`,totalEvents:`Eventos totales`,categoriesSub:`{{count}} categorías`,toolCalls:`Llamadas`,iterationsSub:`{{count}} iteraciones`,sessionCost:`Coste de sesión`,tokensSub:`{{input}} entrada / {{output}} salida`,sessionDuration:`Duración de sesión`,messagesSub:`{{count}} mensajes`,eventsByCategory:`Eventos por categoría`,noEvents:`Aún no hay eventos registrados.`,topEvents:`Eventos principales`,activeSessionUsage:`Uso de sesión activa`,provider:`Proveedor`,model:`Modelo`,inputTokens:`Tokens de entrada`,outputTokens:`Tokens de salida`,cacheRatio:`Ratio de caché`,filesRead:`Archivos leídos`,noSession:`Sin sesión activa o esperando datos…`,healthErrors:`Salud y errores`,errorEvents:`Eventos de error`,warningEvents:`Eventos de aviso`,cacheHitRate:`Tasa de aciertos de caché`,totalCategories:`Categorías totales`,waitingData:`Esperando datos…`,recentEvents:`Eventos recientes`,noRecentEvents:`Sin eventos recientes. Interactúa con la UI para generar eventos.`},ve={heading:`Biblioteca de prompts`,searchPlaceholder:`Buscar prompts…`,newPrompt:`+ Nuevo prompt`,all:`Todos`,recent:`🕘 Recientes`,favorites:`★ Favoritos`,noMatch:`Ningún prompt coincide.`,newPromptHeading:`Nuevo prompt`,titlePlaceholder:`Título *`,descPlaceholder:`Descripción de una línea`,categoryPlaceholder:`Categoría`,tagsPlaceholder:`etiquetas, separadas, por coma`,contentPlaceholder:`Contenido del prompt * — usa {{name}} para variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`nombre`,varDescPlaceholder:`descripción`,removeVarTitle:`Eliminar variable`,required:`obligatorio`,multiline:`multilínea`,enumPlaceholder:`enum: a, b, c`,savePrompt:`Guardar prompt`,saveFailed:`No se pudo guardar el prompt.`,titleContentRequired:`El título y el contenido son obligatorios.`,toggleFavoriteTitle:`Alternar favorito`,selectOption:`— elegir —`,fillMissing:`Rellenar: {{missing}}`,insertIntoChat:`Insertar en el chat`,selectPromptHint:`Selecciona un prompt para previsualizar e insertar.`},ye={scopeProject:`Proyecto`,scopeGlobal:`Global`,scopeBundled:`Integrado`,timeoutError:`Tiempo de espera agotado. Inténtalo de nuevo.`,updateFailed:`Actualización fallida`,saveFailed:`Guardado fallido`,uninstallFailed:`Desinstalación fallida`,noSkillSelected:`Ninguna habilidad seleccionada`,selectSkillHint:`Selecciona una habilidad de la barra lateral para ver su documentación`,goToChat:`Ir al chat`,openSourceRepo:`Abrir repo de origen`,copySourceUrl:`Copiar URL de origen`,updatedLabel:`↑ Actualizado: {{list}}`,upToDateLabel:`— Actualizado: {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Buscar actualizaciones`,exportTitle:`Exportar habilidad como .md`,editTitle:`Editar habilidad`,uninstallTitle:`Desinstalar habilidad`,closeTitle:`Cerrar e ir al chat`,backTitle:`Atrás`,forwardTitle:`Adelante`,relatedFiles:`Archivos relacionados`,references:`Referencias`,goToSkillTitle:`Ir a {{name}}`,loadingContent:`Cargando contenido…`,editingLabel:`Editando {{name}}`,editStats:`{{lines}} líneas · {{words}} palabras · {{chars}} caracteres`,charsWarningFmt:`⚠ {{used}} MB / {{limit}} MB`,draftSaved:`Borrador guardado`,draftRestored:`Borrador restaurado`,discardDraft:`Descartar borrador`,splitViewTitle:`Vista dividida`,hidePreviewTitle:`Ocultar vista previa`,contentPlaceholder:`Contenido de la habilidad (markdown)...`,loadFailed:`Error al cargar el contenido`,noContent:`Sin contenido disponible`,uninstallSkillHeading:`Desinstalar habilidad`,uninstallConfirm:`¿Desinstalar {{name}}?`,uninstallRemovePath:`Esto eliminará la habilidad de {{path}} y no se puede deshacer.`,uninstallAction:`Desinstalar`},be={sessionStats:`Estadísticas de sesión`,clients:`Clientes`,input:`Entrada`,output:`Salida`,cost:`Coste`,agentsSuffix:`agentes`,upPrefix:`activo {{time}}`,webuiClient:`Cliente WebUI`,disconnected:`Desconectado`,connected:`Conectado`,tuiClient:`Cliente TUI`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINADOR`,fleetSummary:`Resumen de flota`,toolCallsLabel:`Llamadas`,tokensLabel:`Tokens`,coordinatingFleet:`Coordinando flota`,donePrefix:`✓ hecho ·`,failedPrefix:`✕ fallido ·`,seenPrefix:`visto hace {{time}}`,availableDesk:`Escritorio disponible`,mailboxHub:`Centro de correo`,unreadSuffix_one:`{{count}} sin leer`,unreadSuffix_other:`{{count}} sin leer`,allClear:`Todo leído`,total:`Total`,unreadLabel:`Sin leer`,liveActivity:`Actividad en vivo`,waitingActivity:`Esperando actividad…`,now:`ahora`,fleetHq:`Cuartel General de Flota WrongStack`,live:`EN VIVO`,legendStatus:`Estado`,legendActive:`Activo`,legendIdle:`Inactivo`,legendError:`Error`,legendConnections:`Conexiones`,legendMail:`Correo`,legendTask:`Tarea`,legendStatusConn:`Estado`,arrange:`Organizar`,arrangeTitle:`Organizar los nodos para ajustarlos al lienzo disponible`,feed:`Feed`,feedTitle:`Alternar el feed de actividad en vivo`,broadcast:`Difundir`,broadcastTitle:`Difundir un mensaje a cada sesión en vivo del proyecto`,broadcastToAll:`Difundir a todas las sesiones`,broadcastPlaceholder:`Mensaje a cada agente en vivo del proyecto…`,broadcastSendHint:`⌘/Ctrl+Enter para enviar`,openFullView:`Abrir vista completa de operaciones`,rowStatus:`Estado`,rowModel:`Modelo`,rowTool:`Herramienta`,rowIterations:`Iteraciones`,rowToolCalls:`Llamadas`,rowTokensIn:`Tokens entrada`,rowTokensOut:`Tokens salida`,rowTokensTotal:`Tokens totales`,rowContext:`Contexto`,rowCost:`Coste`,rowLastSeen:`Visto por última vez`,rowSurface:`Superficie`,rowBranch:`Rama`,rowPid:`PID`,rowDir:`Dir.`,rowAgents:`Agentes`,rowUptime:`Tiempo activo`,rowConnections:`Conexiones`,rowTotalMessages:`Mensajes totales`,rowUnread:`Sin leer`,recent:`Recientes`,noSubject:`(sin asunto)`,fullOperationStream:`Flujo completo de operaciones`,closeEsc:`Cerrar (Esc)`,idleDesk:`Escritorio inactivo`,fleetHqLabel:`Cuartel General de Flota`,clientsSuffix_one:`{{count}} cliente`,clientsSuffix_other:`{{count}} clientes`,taskFallback:`tarea`,controlLabel:`control`},xe={installTitle:`Instalar habilidad`,createTitle:`Crear habilidad`,exportTitle:`Exportar todas las habilidades como .zip`,checkUpdatesTitle:`Buscar actualizaciones (todas)`,searchPlaceholder:`Buscar habilidades…`,loading:`Cargando…`,noSkills:`Sin habilidades instaladas`,noMatch:`Ninguna habilidad coincide con el filtro`,noDescription:`Sin descripción`,scopeForeign:`Externa`,installHeading:`Instalar Habilidad`,installHint:`Introduce una referencia de repo GitHub (owner/repo) o URL completa.`,installPlaceholder:`ej. wrongstack/skill-name o https://github.com/owner/repo`,installScope:`Ámbito de instalación:`,installBtn:`Instalar`,installedMsg:`Instalada: {{names}}`,installFailed:`Instalación fallida`,createHeading:`Crear Habilidad`,createHint:`Scaffold una nueva habilidad. La primera línea es el trigger.`,nameLabel:`Nombre`,namePlaceholder:`ej. mi-nueva-habilidad`,descLabel:`Descripción / Trigger`,descPlaceholder:`Usa esta habilidad cuando <situación>.
|
|
4
|
+
Conecta la UI`,splitInto:`Dividir en subtareas`,deleteTitle:`Quitar esta tarea no iniciada del run`},pe={phaseStart:`Iniciar`,phaseInterview:`Entrevista`,phaseSpecReview:`Revisión spec`,phasePlanning:`Planificación`,phaseTaskReview:`Revisión tareas`,phaseRunning:`En ejecución`,phaseDone:`Completado`,titleFallback:`Nuevo proyecto SDD`,questionsSuffix:`{{cur}}/{{max}} preguntas`,tasksSuffix:`{{count}} tareas`,runCfgTitle:`Config del run — modelo por defecto + cadena de respaldo`,modelsLabel:`Modelos`,startRun:`Iniciar run`,defaultWorkerModel:`Modelo worker por defecto`,leaderDefaultPlaceholder:`Leader / defecto de sesión`,useSessionDefault:`Usar defecto de sesión`,fallbackChain:`Cadena de respaldo`,appliesToAll:`Se aplica a cada tarea. Override por tarea desde el board live tras iniciar.`,parallelAgents:`Agentes paralelos`,isolateWorktrees:`Aislar en worktrees git`,worktreeOn:`Cada tarea corre en su propio worktree, squash-mergeado al completar.`,worktreeOff:`Las tareas corren directamente en la rama actual (sin aislamiento).`,planDecompose:`Dividir tareas grandes automáticamente`,planDecomposeOn:`Antes del despacho, divide las tareas que el motor de atomicidad marca como demasiado grandes.`,planDecomposeOff:`Mantén el grafo de tareas aprobado tal cual (aún puede dividirse en runtime si una tarea falla).`,goalPrompt:`¿Qué quieres construir?`,goalPlaceholder:`ej. Añadir login OAuth (Google + GitHub) con gestión de sesión`,startingInterview:`Iniciando entrevista…`,startInterview:`Iniciar entrevista`,introBody:`Un agente aislado te entrevista para construir una spec, la descompone en un grafo de tareas ordenado por dependencias, luego una flota multi-agente real lo ejecuta — síguelo en vivo en el board. Si refrescas o reinicias, la entrevista se reanuda automáticamente.`,taskGraphSummary:`Grafo de tareas · {{count}} tareas, ordenadas por dependencias`,dragToExplore:`arrastra para explorar`,show:`mostrar`,goalLabel:`Objetivo`,implementationPlan:`Plan de implementación`,approveSpec:`Aprobar spec → planificar implementación`,approveTasks:`Aprobar tareas`,approvePlan:`Aprobar plan`,answerPlaceholder:`Responde a la pregunta…`,changePlaceholder:`Pedir un cambio…`,resumeBanner:`Entrevista reanudada desde una sesión anterior — continúa donde lo dejaste.`,openLiveBoard:`Abrir tablero en vivo`,discardInterview:`Descartar y empezar de nuevo`,discardTitle:`Abandonar esta entrevista y borrar la sesión guardada`},me={emptyDir:`vacío`,loadFailed:`Error al cargar archivos: {{error}}`,expandAllTitle:`Expandir todas las carpetas`,expandAll:`Expandir todo`,collapseAllTitle:`Contraer todas las carpetas`,collapse:`Contraer`,folders_one:`{{count}} carpeta`,folders_other:`{{count}} carpetas`,currentDirTitle:`Directorio actual: {{path}}`,navigateToTitle:`Navegar a {{path}}`,filesSuffix_one:`{{count}} archivo`,filesSuffix_other:`{{count}} archivos`,goToDir:`ir al directorio`,navigateParentTitle:`Navegar al directorio padre de {{path}}`,parentDirectory:`directorio padre`,noFiles:`No se encontraron archivos`,copyAbsPath:`Copiar ruta absoluta`,copyRelPath:`Copiar ruta relativa`,openInTerminal:`Abrir en terminal`,openInFileManager:`Abrir en gestor de archivos`,mentionInChat:`Mencionar en el chat`,copyPath:`Copiar ruta`},he={sendSelectionAction:`Enviar selección al chat`,noFilesOpen:`Sin archivos abiertos`,selectToEdit:`Selecciona un archivo del explorador para editar`,sendSelectedTitle:`Enviar líneas seleccionadas al chat`,mentionFileTitle:`Mencionar este archivo en el chat`,sendToChat:`Enviar al chat`,mentionFile:`Mencionar archivo`,loadingEditor:`Cargando editor…`,selectTab:`Selecciona una pestaña para ver su contenido`},ge={title:`Actividad del archivo`,overview:`Resumen`,changes:`Cambios`,context:`Contexto`,logs:`Registros`,memory:`Memoria`,lines:`líneas`,resizeHint:`Arrastra para redimensionar · doble clic para restablecer`,refresh:`Actualizar evidencia del archivo`,evidenceCount_one:`{{count}} evento`,evidenceCount_other:`{{count}} eventos`,mutations30m:`Ediciones · 30 min`,sessions:`Sesiones`,actors:`Actores`,linkedWork:`Trabajo vinculado`,workLinks:`Kanban / tarea`,recentActivity:`Actividad reciente del archivo`,events:`eventos`,noEvidence:`Aún no hay actividad atribuida a este archivo.`,noSessions:`Aún no hay atribución de sesión.`,noActors:`Aún no hay atribución de actor.`,noWorkLinks:`No hay vínculo Kanban, SDD o tarea registrado.`,taskOrTodo:`Task / tarea`,loadingEvidence:`Cargando evidencia del archivo…`,gitToBuffer:`Git HEAD → búfer actual de Monaco`,savedToBuffer:`Última versión guardada → búfer actual de Monaco`,unsaved:`búfer sin guardar`,lifetimeTitle:`Todo el historial`,lifetimeChanges:`cambios`,lifetimeSessions:`sesiones`,lifetimeTasks:`tareas`,lifetimeBoards:`tableros`,lifetimeSince:`desde {{date}}`,lifetimeTools:`mediante {{tools}}`,level:{quiet:`estable`,active:`activo`,churn:`alta rotación`},analysisTitle:{quiet:`Sin rotación reciente`,active:`Este archivo está cambiando`,churn:`Cambios repetidos detectados`},analysisBody:{quiet:`No se registraron cambios atribuidos en los últimos 30 minutos.`,active:`{{mutations}} cambios de {{actors}} actores en {{sessions}} sesiones durante los últimos 30 minutos.`,churn:`Alta rotación: {{mutations}} cambios de {{actors}} actores en {{sessions}} sesiones. Revisa el trabajo solapado antes de la siguiente edición.`}},_e={loading:`Cargando analíticas…`,heading:`Panel de analíticas`,autoRefresh:`actualización cada 10 s`,liveSessions:`Sesiones en vivo`,agents:`Agentes`,agentsActive:`{{count}} activos`,totalEvents:`Eventos totales`,categoriesSub:`{{count}} categorías`,toolCalls:`Llamadas`,iterationsSub:`{{count}} iteraciones`,sessionCost:`Coste de sesión`,tokensSub:`{{input}} entrada / {{output}} salida`,sessionDuration:`Duración de sesión`,messagesSub:`{{count}} mensajes`,eventsByCategory:`Eventos por categoría`,noEvents:`Aún no hay eventos registrados.`,topEvents:`Eventos principales`,activeSessionUsage:`Uso de sesión activa`,provider:`Proveedor`,model:`Modelo`,inputTokens:`Tokens de entrada`,outputTokens:`Tokens de salida`,cacheRatio:`Ratio de caché`,filesRead:`Archivos leídos`,noSession:`Sin sesión activa o esperando datos…`,healthErrors:`Salud y errores`,errorEvents:`Eventos de error`,warningEvents:`Eventos de aviso`,cacheHitRate:`Tasa de aciertos de caché`,totalCategories:`Categorías totales`,waitingData:`Esperando datos…`,recentEvents:`Eventos recientes`,noRecentEvents:`Sin eventos recientes. Interactúa con la UI para generar eventos.`},ve={heading:`Biblioteca de prompts`,searchPlaceholder:`Buscar prompts…`,newPrompt:`+ Nuevo prompt`,all:`Todos`,recent:`🕘 Recientes`,favorites:`★ Favoritos`,noMatch:`Ningún prompt coincide.`,newPromptHeading:`Nuevo prompt`,titlePlaceholder:`Título *`,descPlaceholder:`Descripción de una línea`,categoryPlaceholder:`Categoría`,tagsPlaceholder:`etiquetas, separadas, por coma`,contentPlaceholder:`Contenido del prompt * — usa {{name}} para variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`nombre`,varDescPlaceholder:`descripción`,removeVarTitle:`Eliminar variable`,required:`obligatorio`,multiline:`multilínea`,enumPlaceholder:`enum: a, b, c`,savePrompt:`Guardar prompt`,saveFailed:`No se pudo guardar el prompt.`,titleContentRequired:`El título y el contenido son obligatorios.`,toggleFavoriteTitle:`Alternar favorito`,selectOption:`— elegir —`,fillMissing:`Rellenar: {{missing}}`,insertIntoChat:`Insertar en el chat`,selectPromptHint:`Selecciona un prompt para previsualizar e insertar.`},ye={scopeProject:`Proyecto`,scopeGlobal:`Global`,scopeBundled:`Integrado`,timeoutError:`Tiempo de espera agotado. Inténtalo de nuevo.`,updateFailed:`Actualización fallida`,saveFailed:`Guardado fallido`,uninstallFailed:`Desinstalación fallida`,noSkillSelected:`Ninguna habilidad seleccionada`,selectSkillHint:`Selecciona una habilidad de la barra lateral para ver su documentación`,goToChat:`Ir al chat`,openSourceRepo:`Abrir repo de origen`,copySourceUrl:`Copiar URL de origen`,updatedLabel:`↑ Actualizado: {{list}}`,upToDateLabel:`— Actualizado: {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Buscar actualizaciones`,exportTitle:`Exportar habilidad como .md`,editTitle:`Editar habilidad`,uninstallTitle:`Desinstalar habilidad`,closeTitle:`Cerrar e ir al chat`,backTitle:`Atrás`,forwardTitle:`Adelante`,relatedFiles:`Archivos relacionados`,references:`Referencias`,goToSkillTitle:`Ir a {{name}}`,loadingContent:`Cargando contenido…`,editingLabel:`Editando {{name}}`,editStats:`{{lines}} líneas · {{words}} palabras · {{chars}} caracteres`,charsWarningFmt:`⚠ {{used}} MB / {{limit}} MB`,draftSaved:`Borrador guardado`,draftRestored:`Borrador restaurado`,discardDraft:`Descartar borrador`,splitViewTitle:`Vista dividida`,hidePreviewTitle:`Ocultar vista previa`,contentPlaceholder:`Contenido de la habilidad (markdown)...`,loadFailed:`Error al cargar el contenido`,noContent:`Sin contenido disponible`,uninstallSkillHeading:`Desinstalar habilidad`,uninstallConfirm:`¿Desinstalar {{name}}?`,uninstallRemovePath:`Esto eliminará la habilidad de {{path}} y no se puede deshacer.`,uninstallAction:`Desinstalar`},be={sessionStats:`Estadísticas de sesión`,clients:`Clientes`,input:`Entrada`,output:`Salida`,cost:`Coste`,agentsSuffix:`agentes`,upPrefix:`activo {{time}}`,webuiClient:`Cliente WebUI`,disconnected:`Desconectado`,connected:`Conectado`,tuiClient:`Cliente TUI`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINADOR`,fleetSummary:`Resumen de flota`,toolCallsLabel:`Llamadas`,tokensLabel:`Tokens`,coordinatingFleet:`Coordinando flota`,donePrefix:`✓ hecho ·`,failedPrefix:`✕ fallido ·`,seenPrefix:`visto hace {{time}}`,availableDesk:`Escritorio disponible`,mailboxHub:`Centro de correo`,unreadSuffix_one:`{{count}} sin leer`,unreadSuffix_other:`{{count}} sin leer`,allClear:`Todo leído`,total:`Total`,unreadLabel:`Sin leer`,liveActivity:`Actividad en vivo`,waitingActivity:`Esperando actividad…`,now:`ahora`,fleetHq:`Cuartel General de Flota WrongStack`,live:`EN VIVO`,legendStatus:`Estado`,legendActive:`Activo`,legendIdle:`Inactivo`,legendError:`Error`,legendConnections:`Conexiones`,legendMail:`Correo`,legendTask:`Tarea`,legendStatusConn:`Estado`,arrange:`Organizar`,arrangeTitle:`Organizar los nodos para ajustarlos al lienzo disponible`,feed:`Feed`,feedTitle:`Alternar el feed de actividad en vivo`,broadcast:`Difundir`,broadcastTitle:`Difundir un mensaje a cada sesión en vivo del proyecto`,broadcastToAll:`Difundir a todas las sesiones`,broadcastPlaceholder:`Mensaje a cada agente en vivo del proyecto…`,broadcastSendHint:`⌘/Ctrl+Enter para enviar`,openFullView:`Abrir vista completa de operaciones`,rowStatus:`Estado`,rowModel:`Modelo`,rowTool:`Herramienta`,rowIterations:`Iteraciones`,rowToolCalls:`Llamadas`,rowTokensIn:`Tokens entrada`,rowTokensOut:`Tokens salida`,rowTokensTotal:`Tokens totales`,rowContext:`Contexto`,rowCost:`Coste`,rowLastSeen:`Visto por última vez`,rowSurface:`Superficie`,rowBranch:`Rama`,rowPid:`PID`,rowDir:`Dir.`,rowAgents:`Agentes`,rowUptime:`Tiempo activo`,rowConnections:`Conexiones`,rowTotalMessages:`Mensajes totales`,rowUnread:`Sin leer`,recent:`Recientes`,noSubject:`(sin asunto)`,fullOperationStream:`Flujo completo de operaciones`,closeEsc:`Cerrar (Esc)`,idleDesk:`Escritorio inactivo`,fleetHqLabel:`Cuartel General de Flota`,clientsSuffix_one:`{{count}} cliente`,clientsSuffix_other:`{{count}} clientes`,taskFallback:`tarea`,controlLabel:`control`},xe={installTitle:`Instalar habilidad`,createTitle:`Crear habilidad`,exportTitle:`Exportar todas las habilidades como .zip`,checkUpdatesTitle:`Buscar actualizaciones (todas)`,searchPlaceholder:`Buscar habilidades…`,loading:`Cargando…`,noSkills:`Sin habilidades instaladas`,noMatch:`Ninguna habilidad coincide con el filtro`,noDescription:`Sin descripción`,scopeForeign:`Externa`,installHeading:`Instalar Habilidad`,installHint:`Introduce una referencia de repo GitHub (owner/repo) o URL completa.`,installPlaceholder:`ej. wrongstack/skill-name o https://github.com/owner/repo`,installScope:`Ámbito de instalación:`,installBtn:`Instalar`,installedMsg:`Instalada: {{names}}`,installFailed:`Instalación fallida`,createHeading:`Crear Habilidad`,createHint:`Scaffold una nueva habilidad. La primera línea es el trigger.`,nameLabel:`Nombre`,namePlaceholder:`ej. mi-nueva-habilidad`,descLabel:`Descripción / Trigger`,descPlaceholder:`Usa esta habilidad cuando <situación>.
|
|
5
5
|
Triggers: el usuario dice "palabra clave", "otra".`,saveIn:`Guardar en:`,createBtn:`Crear Habilidad`,createdMsg:`Creada: {{name}}`,createFailed:`Creación fallida`},Se={noEvents:`Sin eventos.`},Ce={pickHint:`Elige un kit — el agente se ceñirá a él.`,gallery:`Galería`,galleryTitle:`Abrir galería de vista previa en vivo`,stackTitle:`Stack objetivo`,loading:`Cargando kits…`,notFound:`No se encontraron kits de diseño.`,bestFor:`Ideal para:`,light:`Claro`,dark:`Oscuro`,tune:`Ajustar`,font:`Fuente`,set:`Aplicar`,spaceGrotesk:`Space Grotesk…`,aaHeading:`Aa Encabezado`,theQuickBrownFoxJumpsOver:`El veloz murciélago hindú comía feliz cardillo y kiwi.`,primary:`Principal`,ghost:`Fantasma`,badge:`Insignia`,inputField:`Campo de entrada…`,radius:`Radio`,density:`Densidad`,motion:`Movimiento`},we={detached:`(separado)`,count_one:`{{count}} worktree`,count_other:`{{count}} worktrees`,baseSuffix:` · base {{base}}`,baseLabel:`base`,cleanOrphans:`Limpiar huérfanos`,cleanOrphansTitle:`Eliminar todos los worktrees huérfanos`,liveBusyTitle:`Un run está activo — deténlo primero`,rescanTitle:`Re-escanear`,removed_one:`Eliminado {{count}} worktree.`,removed_other:`Eliminados {{count}} worktrees.`,failed:`Falló`,mergedIntoBase:`{{branch}} fusionado en la base.`,conflictMerge:`Conflicto al fusionar {{branch}}: {{files}}`,seeGit:`ver git`,mergeFailed:`Fusión fallida: {{reason}}`,unknownReason:`desconocido`,mergeConfirmTitle:`¿Fusionar {{branch}} en {{base}}?`,mergeConfirmMsg:`Squash-fusiona este branch al branch base. Se cancela limpiamente si hay conflicto.`,mergeAction:`Fusionar`,removeConfirmTitle:`¿Eliminar {{branch}}?`,removeConfirmMsg:`Elimina forzosamente el checkout del worktree y borra su branch. El trabajo sin fusionar se descarta.`,empty:`Sin worktrees.`,emptyHint:`Los runs SDD / Goal crean worktrees aislados aquí. Los huérfanos de runs caídos también aparecen.`,actOpenTerm:`Abrir en terminal`,actOpenFolder:`Abrir carpeta`,actViewChanges:`Ver cambios`,actMerge:`Fusionar a la base`,actRemove:`Eliminar / descartar`,live:`activo`,noUncommitted:`Sin cambios sin confirmar`,commitsAhead_one:`{{count}} commit adelante`,commitsAhead_other:`{{count}} commits adelante`,more:`…{{count}} más`},Te={heading:`Mapa de Oficina`,headingHint:`Visualiza tu flota como un plano de oficina con el estado de los agentes en vivo.`,statAgents:`Agentes`,statMail:`Correo`,unreadSuffix:` sin leer`,sectionView:`Vista`,sectionDisplay:`Visualización`,sectionBackground:`Fondo`,sectionRecent:`Actividad Reciente`,eventsTrackedSuffix:` eventos rastreados`,recentHint:`Envíos de correo, spawns de agentes y cambios de estado aparecen aquí.`,sectionShortcuts:`Atajos`,sectionLegend:`Leyenda`,hudLabel:`HUD`,hudDesc:`Mostrar overlay de estadísticas de sesión en tiempo real`,hudToggle:`Activar HUD`,minimapLabel:`Minimapa`,minimapDesc:`Mostrar el minimapa de resumen`,minimapToggle:`Activar minimapa`,controlsLabel:`Controles`,controlsDesc:`Mostrar controles de zoom y ajuste`,controlsToggle:`Activar controles`,animateLabel:`Animar aristas`,animateDesc:`Animar el flujo en conexiones activas`,animateToggle:`Activar animación de aristas`,legendLabel:`Mostrar leyenda`,legendDesc:`Mostrar leyenda de estado y conexión`,legendToggle:`Activar leyenda`,feedLabel:`Feed en vivo`,feedDesc:`Banda inferior de actividad reciente entre procesos`,feedToggle:`Activar feed en vivo`,fitView:`Ajustar`,zoomIn:`Acercar`,zoomOut:`Alejar`,resetZoom:`Reiniciar zoom`,legendActive:`Activo (en ejecución)`,legendIdle:`Inactivo`,legendError:`Error`,legendOffline:`Desconectado`,bg:{dots:`Puntos`,lines:`Líneas`,cross:`Cruz`,none:`Ninguno`}},Ee={liveProjectOffice:`Oficina del proyecto en vivo`,agents:`agentes`,working:`trabajando`,toolCalls:`llamadas de herramientas`,office:`Oficina`,topology:`Topología`,officeDescription:`Mesas y trabajo de agentes en vivo`,topologyDescription:`Clientes, agentes y conexiones`,team:`Equipo`,liveDesk:`Escritorio en vivo y trabajo entrante`,lastActions:`Trabajos recientes`,leadAgent:`Agente principal`,agent:`Agente`,callsCount:`{{count}} llamadas`,recent:`Recientes`,noCalls:`Aún no hay llamadas completadas`,telemetryReconnect:`Reconecta este terminal para iniciar el historial de herramientas`,thinking:`Pensando`,waiting:`Esperando trabajo`,preparing:`Preparando la siguiente acción…`,deskReady:`El escritorio está listo`,toolCall:`Llamada de herramienta`,execution:`Ejecución`,started:`Inicio`,duration:`Duración`,session:`Sesión`,target:`Objetivo`,resultSize:`Tamaño del resultado`,lines:`líneas`,bytes:`bytes`,tokens:`tokens`,input:`Entrada`,outputPreview:`Vista previa de salida`,readyTitle:`La oficina está lista`,readyBody:`Los agentes ocuparán un escritorio en cuanto se unan a este proyecto.`,liveEvent:`flujo de eventos en vivo`,connectedSessions_one:`{{count}} sesión conectada`,connectedSessions_other:`{{count}} sesiones conectadas`,detailHint:`haz clic en una acción para ver la entrada y el resultado exactos`,officeBriefing:`Resumen de la oficina`,leaderPrompt:`Último prompt del líder`,activeInstruction:`Instrucción activa`,telemetryWaiting:`Reconecta este terminal para recibir instrucciones en vivo`,syncWaiting:`esperando sincronización`,todoTelemetryWaiting:`Reconecta este terminal para recibir la lista de tareas en vivo`,taskNotReported:`El agente trabaja, pero no informó una descripción de la tarea`,noPrompt:`Aún no se recibió ningún prompt en esta sesión`,activeTodos:`Tareas activas`,todoProgress:`{{done}}/{{total}} completadas`,allTodosDone:`Todas las tareas completadas`,noActiveTodos:`Aún no hay tareas activas`,moreTodos:`+{{count}} más`,currentTask:`Tarea actual`,task:`Tarea`,promptReceived:`Recibido`,todos:`Tareas`,todoStatus:{pending:`Pendiente`,in_progress:`En curso`,completed:`Completada`},breakRoom:`Sala de descanso`,onBreak:`{{count}} en descanso`,desksEmpty:`Todos están en descanso — los escritorios están listos para la próxima tarea`,files:`ARCHIVOS`,read:`LECTURA`,write:`ESCRITURA`,edit:`EDICIÓN`,term:`TERM`,live:`EN VIVO`,uniqueFilesTouched:`Archivos únicos tocados`,fileReads:`Lecturas de archivos`,filesWritten:`Archivos escritos`,filesEdited:`Archivos editados`,linesAddedAndRemoved:`Líneas añadidas y eliminadas`,terminalCommands:`Comandos de terminal`,incomingAndOutgoingMail:`Correo entrante y saliente`,sessionActivityTotals:`Totales de actividad de la sesión`,closeToolDetails:`Cerrar detalles de la herramienta`,closeDetails:`Cerrar detalles`,closeMailDetails:`Cerrar detalles del correo`,closeTaskDetails:`Cerrar detalles de la tarea`,closeOfficeBriefing:`Cerrar el resumen de la oficina`,priority:`Prioridad`,route:`Ruta`},De={injectedHeading:`Memoria SAGE inyectada`,memoriesLabel_one:`{{count}} memoria`,memoriesLabel_other:`{{count}} memorias`},Oe={tabProject:`Proyecto SDD`,tabBoard:`Tablero SDD en vivo`,tabSpecs:`Especificaciones`},ke={label:`Panel lateral`},Ae={deleteTitle:`¿Eliminar esta memoria?`,backToList:`Volver a la lista de memorias`,copyId:`Copiar ID de memoria`,deletedMemory:`Memoria eliminada`,anchorCursorHint:`El rango de líneas del cursor coincide con el ancla de esta memoria`,statusDeleted:`eliminada`,statusSuperseded:`reemplazada`,restoreTitle:`Restaurar esta memoria al estado activo`,supersededJumpTitle:`Esta versión está reemplazada — saltar a la versión activa`,acceptSuggestionTitle:`Aceptar la sugerencia de eliminación de higiene — la memoria será olvidada`,rejectSuggestionTitle:`Rechazar la sugerencia — la memoria queda tal cual y puede volver a sugerirse`,updateTitle:`Actualizar el contenido de la memoria — el versionado crea un nuevo registro activo`,promoteTitle:"Promover a `permanent` — la higiene nunca volverá a mostrarlo",openRecordTitle:`Abrir el registro completo en MemoryManager`,fileDrawerAria:`Cajón de memoria de archivo`,requeryTitle:`Volver a consultar este archivo`,closeDrawerAria:`Cerrar cajón`,closeDrawerTitle:`Cerrar cajón de memoria`,showRecoverable:`Mostrar recuperables (eliminadas)`,cursorBoostTitle:`Impulso de cursor`,fileScopedTitle:`Alcance de archivo`,mentionedInTitle:`Mencionado en`,editorKnowledge:`Conocimiento`,editorContentPlaceholder:`Ejemplo: el estado de la WebUI pertenece a los stores de Zustand; los mensajes del servidor actualizan esos stores a través de manejadores WebSocket singleton.`,editorImportance:`Importancia`,editorConfidence:`Confianza`,editorFreshness:`Frescura`,editorAnchors:`Anclas`,editorSymbolPlaceholder:`Nombre del símbolo`,editorRelationships:`Relaciones`,searchAria:`Buscar memorias`,searchPlaceholder:`Buscar contenido, IDs, etiquetas, anclas…`,clearSearchAria:`Borrar búsqueda`,audienceFilterAria:`Filtrar solo ámbito de audiencia`,audienceFilterTitle:`Mostrar solo memorias de ámbito de audiencia`,clearFiltersAria:`Borrar todos los filtros`,clearFiltersTitle:`Borrar todos los filtros`,allStatuses:`Todos los estados`,allKinds:`Todos los tipos`,tagsLabel:`Etiquetas`,popularTags:`Etiquetas populares`,graphAria:`Grafo de relaciones de memoria`,graphFullscreenAria:`Abrir grafo a pantalla completa`,clearTracesTitle:`Borrar todas las trazas`,closePanelTitle:`Cerrar panel`,traceMatched:`coincidente`,traceInjected:`inyectado`,traceFiltered:`filtrado`,traceActive:`activo`,traceExited:`salido`,traceScore:`puntuación`,traceError:`error`,lifecycleAria:`Registro en vivo del ciclo de vida de memoria`,listAria:`Memorias`,emptyTitle:`El contexto a largo plazo de tu proyecto`,emptyVerifiedAnchors:`Anclas verificadas`,emptyTypedRelations:`Relaciones tipadas`,emptyAgentRecall:`Recuerdo del agente`,lensesAria:`Lentes de memoria SAGE`,loadingSage:`Cargando SAGE`,loadingAudience:`Cargando memorias de audiencia`,storeUnavailable:`Almacén de memoria no disponible`,backToChat:`Volver al chat`,sageHeading:`SAGE`,refreshAria:`Actualizar memorias`,tabMemories:`Memorias`,tabActive:`Activas`,tabNeedsReview:`Requiere revisión`,tabGraphEdges:`Aristas del grafo`,libraryAria:`Biblioteca de memorias`,viewAria:`Vista de memorias`,detailAria:`Detalle de memoria`,fileForDrawerAria:`Archivo para cajón de memoria`,cursorLabel:`cursor`,reviewLabel:`revisión`,hygieneReviewTitle:`Revisión de higiene: {{reason}} ({{days}} d)`,updatedSuffix:`actualizada {{date}}`,actionRecover:`Recuperar`,actionGoToActive:`Ir a la versión activa`,actionAcceptDeletion:`Aceptar eliminación`,actionKeep:`Conservar`,actionUpdate:`Actualizar`,actionMarkPermanent:`Marcar como permanente`,actionShowFull:`Mostrar todo`,itemLabel:`memorias`,noFile:`(sin archivo)`,memoriesCount_one:`{{count}} memoria`,memoriesCount_other:`{{count}} memorias`,pendingReviewCount_one:`{{count}} revisión pendiente`,pendingReviewCount_other:`{{count}} revisiones pendientes`,supersededCount:`{{count}} reemplazada(s)`,linesRange:`líneas {{start}}–{{end}}`,emptyOpenFile:`Abre un archivo para ver sus memorias.`,loadingMemories:`Cargando memorias…`,errorPrefix:`Error: {{message}}`,emptyNoMemories:`Aún no hay memorias adjuntas a {{file}}.`,pendingAccepting:`aceptando…`,pendingKeeping:`conservando…`,pendingUpdating:`actualizando…`,pendingMarking:`marcando…`,pendingRecovering:`recuperando…`,deletedNeverPolicy:`Este registro es solo de auditoría y conlleva una prohibición absoluta: nunca puede entrar en el contexto del LLM.`,deletedEligiblePolicy:`El registro está inactivo y no se puede editar, pero sigue siendo elegible como evidencia histórica cuando la recuperación lo encuentra relevante.`,deletingLabel:`Eliminando…`,actionDeleteMemory:`Eliminar memoria`,copiedNotice:`ID de memoria copiado.`,revisionSuffix:`revisión {{n}}`,memoryRelationships:`Relaciones de memoria`,captureMemory:`Capturar una memoria`,editMemory:`Editar memoria`,editorCreateHint:`Añade conocimiento duradero con metadatos de recuperación.`,editorEditHint:`Actualiza el contenido sin perder la procedencia.`,createMemory:`Crear memoria`,saveChanges:`Guardar cambios`,addAnchor:`Añadir ancla`,noAnchors:`Aún no hay anclas — añade una para mejorar la precisión de recuperación`,loadingGraph:`cargando grafo real…`,graphStats:`{{nodes}} nodos · {{edges}} aristas`,lifecycleHeading:`Ciclo de vida de la memoria`,statusWaiting:`esperando`,statusLive:`en vivo · {{count}}/100`,noMatching:`No hay memorias coincidentes`,buildGraph:`Construye tu grafo de memorias`,clearFilters:`Borrar filtros`,createFirst:`Crear la primera memoria`,captureButton:`Capturar memoria`,memoryCaptured:`Memoria capturada.`,memoryUpdated:`Memoria actualizada.`,liveStore:`almacén en vivo`,reconnecting:`reconectando`,newMemory:`Nueva memoria`,hideFileDrawer:`Ocultar cajón de memoria de archivo`,showFileDrawer:`Mostrar cajón de memoria de archivo`,hideDrawer:`Ocultar cajón`,showDrawer:`Mostrar cajón`,editorCharCount:`{{count}} caracteres`,editorContentLabel:`Contenido de la memoria`,editorKind:`Tipo`,editorScope:`Alcance`,editorLifecycleStatus:`Estado del ciclo de vida`,editorSupersedes:`Sustituye a`,editorContradicts:`Contradice`,filterByStatus:`Filtrar por estado`,filterByKind:`Filtrar por tipo`,graphHeading:`Mapa de relaciones`,graphHeadingFull:`Mapa de relaciones — {{id}}`,graphOpenFullscreen:`Abrir a pantalla completa`,projectKnowledge:`conocimiento del proyecto`,sageSubtitle:`Inspecciona, conecta, organiza y retira el contexto duradero usado entre sesiones de agentes.`,emptyBody:`Selecciona una memoria para inspeccionar sus metadatos y su mapa de relaciones, o captura conocimiento que los futuros agentes deban recuperar automáticamente.`,tabDeleted:`Eliminadas`,fileDrawerLabel:`Cajón de archivos`,selectFilePlaceholder:`— selecciona un archivo —`,memoryCountSummary:`{{shown}} de {{total}} memorias`,updatedSortLabel:`actualizado ↓`,tabAllMemories:`Todas las memorias`,tabAllMemoriesHint:`Inspeccionar, organizar, retirar`,tabAudience:`Con audiencia`,tabAudienceHint:`Guía enrutada a los agentes`,editorRelationshipsHint:`Referencia IDs de memoria exactos. Las relaciones se validan y las aristas del grafo las reconstruye SAGE.`,editorTaskTypes:`Tipos de tarea`,createAction:`Crear`,mutationTimeout:`{{verb}} agotado. Tu borrador sigue aquí.`,loadingSageContent:`Cargando contenido SAGE`,injectorActiveInContext:`Activo en el contexto`,injectorInjectionHistory:`Historial de inyecciones`,injectorContextTransitions:`Transiciones de contexto`,metaCreated:`Creada`,metaUpdated:`Actualizada`,metaLastAccessed:`Último acceso`,metaLastVerified:`Última verificación`,referencedUnavailable:`Memoria referenciada no disponible`,emptyFiltered:`Cambia los filtros o borra la consulta de búsqueda.`,emptyCapture:`Captura hechos duraderos, decisiones, convenciones y notas vinculadas a archivos para cada agente.`,memoryUnavailable:`La memoria no está disponible o se ha eliminado.`,staleConflicts:`obsoletas + conflictos`},je={enableLayer:`Habilitar esta capa de límite`,outsideScope:`Fuera de alcance`,askPermission:`Pedir permiso`,alwaysBlock:`Bloquear siempre`,allow:`Permitir`,allowSelectors:`Selectores permitidos`,denySelectors:`Selectores denegados`,crossPathSelectors:`La shell «Permitir» es opaca y puede cruzar selectores de ruta.`,removeLayer:`Eliminar capa`,taskInspector:`Inspector de tareas`,task:`Tarea`,dispatched:`Despachada`,collapseDetails:`Contraer detalles de la tarea`,taskBoundary:`Límite de tarea`,title:`Título`,managedStage:`Etapa gestionada`,status:`Estado`,priority:`Prioridad`,type:`Tipo`,labelsCommaSeparated:`Etiquetas (separadas por comas)`,dueDatePlaceholder:`Fecha de vencimiento (ISO o YYYY-MM-DD)`,estimatedHours:`Horas estimadas`,actualHours:`Horas reales`,selectBlockingTasks:`Seleccionar tareas bloqueantes…`,selectSequentialChain:`Agregar tareas a una cadena secuencial…`,enforceChainOrder:`Aplicar el orden de la cadena como dependencias`,assignmentReason:`Motivo de cambio / asignación (persistido en la actividad)`,managedLifecycle:`Transición de ciclo de vida gestionada`,kanbanAgentTransition:`Transición del Agente Kanban`,completedAction:`Acción completada / acción del revisor`,progressComment:`Comentario de progreso veraz (obligatorio)`,evidenceUrl:`URL del adjunto de evidencia`,source:`Origen`,taskId:`ID de tarea`,run:`Ejecutar`,column:`Columna`,primaryModelSource:`Origen del modelo principal`,selectProviderModel:`Seleccionar proveedor / modelo exacto…`,fallbackProfile:`Perfil de respaldo (el primer modelo es el principal)`,selectProfile:`Seleccionar perfil configurado…`,fallbackModels:`Modelos de respaldo`,addFallbackModel:`Agregar modelo de respaldo…`,role:`Rol`,selectRole:`Seleccionar un rol…`,assignSkills:`Asignar habilidades requeridas…`,restrictTools:`Restringir a herramientas específicas…`,agentNameOptional:`Nombre del agente (opcional)`,retryPolicy:`Política de reintentos`,maxAttempts:`Intentos máximos`,costCeilingUsd:`Techo de costo USD`,grantCapability:`Conceder una capacidad…`,targetBoard:`Tablero destino`,boardPresence:`Presencia en el tablero`,liveBoardUsers:`Usuarios activos en el tablero`,kanbanAgent:`Agente Kanban`,watchThisBoard:`Vigilar este tablero`,supervisorEngine:`Motor supervisor`,kanbanAgentModelSource:`Origen del modelo del Agente Kanban`,supervisorSkills:`Habilidades del supervisor`,forceLoadSkills:`Forzar carga de habilidades agénticas…`,extraFallbackModels:`Modelos de respaldo adicionales`,optionalFallbacks:`Respaldos opcionales ordenados…`,queueHealth:`Salud de la cola`,claimableTasks:`Tareas reclamables`,runningAssignments:`Asignaciones en ejecución`,inReview:`En revisión`,manuallyBlocked:`Bloqueadas manualmente`,failedTasks:`Tareas fallidas`,blockedByDeps:`Tareas listas/pendientes bloqueadas por dependencias`,expiredLeases:`Asignaciones con concesión expirada`,healthy:`saludable`,costCeilingSum:`Suma de costCeilingUsd para tareas en ejecución / en cola`,liveRunSteer:`Ejecución en vivo — dirígela desde aquí`,openLiveRun:`Abrir la vista de ejecución en vivo (SDD Hub)`,runAsLiveJob:`Ejecutar este tablero como un trabajo de agente en vivo:`,startAsGoal:`Iniciar como Objetivo`,startAsSdd:`Iniciar como SDD`,runControls:`Controles de ejecución`,workerModel:`Modelo del trabajador`,setModelForTask:`Establecer modelo para esta tarea…`,newWorkerName:`Nuevo nombre del trabajador`,duration:`Duración`,liveRun:`Ejecución en vivo`,lastResult:`Último resultado`,definitionOfDone:`Definición de Hecho`,failingChecks:`Verificaciones fallidas`,evidenceMissing:`Evidencia faltante (verificaciones de agente/consejo sin referencias de respaldo)`,needsDecomposition:`Necesita descomposición`,decompositionPending:`Propuestas de descomposición pendientes de aprobación`,noOutstanding:`No hay problemas de verificación o descomposición pendientes en este tablero.`,kanban:`Kanban`,newBoard:`Nuevo tablero`,createBoard:`Crear tablero`,deleteTask:`Eliminar tarea`,runFailed:`ejecución fallida`,splitPendingApproval:`división pendiente de aprobación`,newTask:`Nueva tarea`,addTask:`Agregar tarea`,newColumn:`Nueva columna`,addColumn:`Agregar columna`,duplicateBoard:`Duplicar tablero`,confirmDelete:`¿Confirmar?`,confirmDeleteBoard:`Haz clic de nuevo para confirmar la eliminación del tablero`,deleteBoard:`Eliminar tablero`,boardBoundary:`Límite del tablero`,noBoardSelected:`No hay ningún tablero Kanban seleccionado.`,expandDetails:`Expandir detalles de la tarea`,elapsed:`Transcurrido`,assigned:`Asignado`,configuredAgentRoute:`la ruta de agente configurada`,subagent:`Subagente`,checkedAgo:`comprobado hace {{ago}}`,notChecked:`no comprobado`,auditInterval:`Intervalo de auditoría (segundos)`,statusReady:`listo`,statusRunning:`en ejecución`,statusReview:`en revisión`,statusBlocked:`bloqueado`,statusFailed:`fallido`,statusBlockedByDeps:`bloqueado por dependencias`,statusStale:`obsoleto`,runningCost:"~${{cost}} costo en ejecución",actionPause:`Pausar`,actionResume:`Reanudar`,actionRetryFailed:`Reintentar fallidos`,actionStop:`Detener`,actionReassign:`Reasignar`,actionRunNow:`Ejecutar ahora`,deleteTaskAria:`Eliminar tarea: {{title}}`,confirmDeleteTask:`Haz clic de nuevo para confirmar la eliminación de la tarea`,confirmDeleteTaskAria:`Confirmar eliminación: {{title}}`,moveTaskToColumn:`Mover {{title}} a la columna`,activityNoteTemplate:`{{action}} de WebUI a {{target}}.`},Me={heading:`Trabajos cron`,subtitle:`Tareas recurrentes programadas gestionadas por el plugin cron.`,statusDisabled:`Desactivado`,statusOverdue:`Vencido`,statusActive:`Activo`,jobCount_one:`{{count}} trabajo`,jobCount_other:`{{count}} trabajos`,enabledCount:`{{count}} activados`,overdueCount:`{{count}} vencidos`,totalRuns:`{{count}} ejecuciones en total`,maxConcurrent:`máx. {{count}} simultáneos`,emptyTitle:`No hay trabajos cron programados.`,emptyUse:`Usa`,emptyToAdd:`para añadir uno.`,thStatus:`Estado`,thName:`Nombre`,thInterval:`Intervalo`,thRuns:`Ejecuciones`,thNextRun:`Próxima ejecución`,thLastRun:`Última ejecución`,thAction:`Acción`,lastFiredAtTitle:`Última activación a las {{time}}`,footerUse:`Usa`,footerToAdd:`para añadir,`,footerToRemove:`para eliminar.`},Ne={refreshRosterData:`Actualizar datos del roster`,liveEmpty:`Los agentes aparecen aquí cuando se generan subagentes`,fleetInspector:`Inspector de flota`,openAgentsPanel:`Abrir panel de agentes`,toolCalls:`Llamadas a herramientas`,running:`En ejecución`,projectAgents:`Agentes del proyecto`,createOrCloneTitle:`Crear o clonar agente del proyecto`,createOrCloneHint:`Hereda cualquier agente del roster como plantilla y luego desarrolla una identidad, política de ejecución e historial aprendido independientes.`,cloneFromRole:`Clonar desde rol del roster`,cloneHint:`El prompt, las herramientas, las habilidades y los valores predeterminados se heredan. El aprendizaje y las ediciones posteriores permanecen aislados al nuevo agente.`,displayName:`Nombre para mostrar`,descriptionPlaceholder:`Gestiona los flujos de trabajo X, Y y Z de este proyecto y verifica sus resultados.`,creating:`Creando…`,noCustomizations:`Aún no hay personalizaciones`,selectAgentEmpty:`Selecciona un agente para editar las personalizaciones`,saving:`Guardando…`,saveFailed:`Error al guardar`,failed:`Fallido`,learningResumed:`Aprendizaje automático reanudado`,optimizationEmptyToast:`La optimización produjo un resultado vacío. Inténtalo de nuevo.`,noActiveModelToast:`No hay modelo activo en el servidor. Optimización enviada al agente de chat.`,learningsEmpty:`Las entradas de aprendizaje aparecen cuando los agentes capturan resultados`,allRosterAgents:`Todos los agentes del roster`,optimizing:`Optimizando…`,paused:`pausado`,selectLearningAgent:`Selecciona un agente para ver los detalles del aprendizaje`,learningOn:`Aprendizaje activado`,lastCapture:`Última captura`,lifetimeCaptures:`Capturas totales`,learningsLimitExceeded:`Los datos aprendidos superan el límite flexible ({{bytes}}B / 8.192B). Optimiza para sintetizar las entradas sin procesar en un documento consolidado y reducir el volumen del contexto.`,newPending:`nuevo pendiente`,viewAction:`Ver`,applying:`Aplicando…`,searchPlaceholder:`Buscar agentes por nombre, rol o descripción…`,maxIterations:`Iteraciones máx.`,maxToolCalls:`Llamadas a herramientas máx.`,projectCustomizations:`Personalizaciones del proyecto`,learnedEntries:`entradas aprendidas`,teachFailed:`Error al enseñar`,selectRoleEmpty:`Selecciona un rol para inspeccionar o editar`,captureLearned:`Capturar lo aprendido`,teachThisAgent:`Enseñar a este agente`,teachPlaceholder:`Describe qué quieres que este agente haga mejor… p. ej., «Este agente siempre debe verificar las versiones en npm antes de recomendarlas»`,heading:`Plantilla de agentes`,headerSummary:`{{customized}} personalizados · {{entries}} entradas aprendidas`,tabLive:`Flota en vivo`,tabCatalog:`Catálogo de plantilla`,tabLearning:`Autoaprendizaje`,tabCustomize:`Personalización`,learning:`aprendiendo`,learningPaused:`Aprendizaje en pausa`,autoLearningPaused:`Aprendizaje automático en pausa`,toolsCount_one:`{{count}} herramienta`,toolsCount_other:`{{count}} herramientas`,maxItShort:`máx. {{value}} iter.`,customizedBadge:`Personalizado`,needsSummary:`⚠ Requiere resumen`,timeout:`Tiempo límite`,learnedEntriesCount_one:`{{count}} entrada aprendida`,learnedEntriesCount_other:`{{count}} entradas aprendidas`,sessionCapturesCount_one:`{{count}} captura de sesión`,sessionCapturesCount_other:`{{count}} capturas de sesión`,noAgentsMatch:`Ningún agente coincide con «{{query}}»`,footerRosterRoles_one:`rol de plantilla`,footerRosterRoles_other:`roles de plantilla`,footerCustomized:`personalizados`,footerTotalLearned_one:`entrada aprendida en total`,footerTotalLearned_other:`entradas aprendidas en total`,clone:`+ Clonar`,abc:`ABC`,abcGeneratedFromName:`abc (generado a partir del nombre)`,roleIdOptional:`ID de rol (opcional)`,purpose:`Propósito`,taskTypesCommaOrOnePer:`Tipos de tarea (separados por comas o uno por línea)`,cancel:`Cancelar`,selectAnAgentToEditCustomizations:`Selecciona un agente para editar las personalizaciones`,llmImprove:`Mejora con LLM`,reset:`Restablecer`,editIdentityMd:`Editar identity.md`,editLearnedMd:`Editar learned.md`,editConfigJson:`Editar config.json`,runtimePolicy:`Política de ejecución`,retry:`Reintentar`,noSelfLearningDataYet:`Aún no hay datos de autoaprendizaje`,review:`revisar →`,selectAnAgentToViewLearning:`Selecciona un agente para ver los detalles de aprendizaje`,entries:`Entradas`,size:`Tamaño`,optimizeLearnings:`Optimizar aprendizajes`,keep:`Conservar`,drop:`Descartar`,describeACommandPatternOrBehavior:`Describe un comando, patrón o comportamiento que este agente deba recordar.`,eGAlwaysUsePnpmForThisProject:`p. ej. Usa siempre pnpm en este proyecto`,teach:`Enseñar`,noActiveFleetAgents:`No hay agentes de flota activos`,clear:`Borrar`,agentsTotal:`agentes en total`,leader:`Líder`,iterations:`Iteraciones`,cost:`Coste`,context:`Contexto`,contextWindow:`Ventana de contexto`,error:`Error`,filterAll:`Todos ({{count}})`,filterRunning:`En ejecución ({{count}})`,filterDone:`Hecho ({{count}})`,filterFailed:`Fallidos ({{count}})`,optimizeAll:`Optimizar todo ({{count}})`,policyUpdateFailed:`Error al actualizar la política`,noRawEntries:`Aún no hay entradas sin procesar que optimizar.`,optimizedOk:`Optimizado. Conocimiento consolidado actualizado.`,emptySynthesis:`El modelo devolvió un resultado vacío. No se cambió nada; inténtalo de nuevo.`,consolidatedWithModel:`Aprendizajes consolidados con {{model}}.`,consolidatedPlain:`Aprendizajes consolidados.`,resetConfirm:`¿Restablecer todos los datos específicos del proyecto del agente «{{role}}»?`,loadCustomizationFailed:`No se pudo cargar la personalización`,loadRuntimePolicyFailed:`No se pudo cargar la política de ejecución`,runtimePolicySaveFailed:`Error al guardar la política de ejecución`,llmImprovementFailed:`Falló la mejora con LLM`,agentCreationFailed:`Error al crear el agente`,noActiveModelMsg:`No hay ningún modelo activo en el servidor: la optimización se envió al agente de chat.`,optimizationFailed:`Error en la optimización`,bulkOptimizationFailed:`Error en la optimización masiva`,taskTypesPlaceholder:`Flujo X
|
|
6
6
|
Análisis Y
|
|
7
7
|
Verificación Z`},Pe={generic:{name:`Agente de proyecto genérico`,summary:`Plantilla flexible que puede clonarse en roles de proyecto con aprendizaje independiente.`},"audit-log":{name:`Registro de auditoría`,summary:`Analiza registros de sesión, flujos de eventos y trazas del sistema.`},"bug-hunter":{name:`Cazador de errores`,summary:`Analiza el código en busca de errores, code smells y antipatrones.`},"refactor-planner":{name:`Planificador de refactorización`,summary:`Analiza la estructura del código y genera planes de refactorización por fases.`},"security-scanner":{name:`Escáner de seguridad`,summary:`Analiza código, configuraciones y dependencias en busca de problemas de seguridad.`},critic:{name:`Crítico`,summary:`Evalúa decisiones, planes e implementaciones.`},"shadow-agent":{name:`Agente sombra`,summary:`Agente de monitorización en segundo plano que vigila el estado de la flota.`},executor:{name:`Ejecutor`,summary:`Ejecutor de tareas de propósito general para trabajo delegado.`},chimera:{name:`Chimera`,summary:`Revisión de calidad del código de los archivos modificados tras la sesión.`},researcher:{name:`Investigador`,summary:`Especialista en investigación web y recopilación de datos.`},"tech-stack":{name:`Validador de stack tecnológico`,summary:`Valida las elecciones de paquetes, bibliotecas y frameworks.`},orchestrator:{name:`Orquestador`,summary:`Coordina la ejecución de tareas multiagente.`},supervisor:{name:`Supervisor`,summary:`Supervisa la ejecución de subagentes y gestiona las escalaciones.`},"quality-gate":{name:`Puerta de calidad`,summary:`Aplica puertas de calidad a las implementaciones.`},architect:{name:`Arquitecto`,summary:`Toma decisiones de diseño y arquitectura.`},"prompt-engineer":{name:`Ingeniero de prompts`,summary:`Diseña y optimiza los prompts del sistema.`},mnemosyne:{name:`Mnemosyne`,summary:`Curador de memoria: revisa y mantiene la integridad de SAGE.`},autophase:{name:`AutoPhase`,summary:`Gestiona la ejecución autónoma de tareas en varias fases.`}},Fe={heading:`Plantilla personalizada`,loading:`Cargando plantilla personalizada…`,loadFailed:`No se pudo cargar la plantilla`,invalidJson:`JSON no válido`,noImprovement:`No se generó ninguna sugerencia de mejora.`,improveFailed:`Falló la mejora con LLM`,behaviorSaved:`Comportamiento guardado en learned.md`,saveFailedServer:`Error al guardar: consulta los registros del servidor`,emptyTitle:`Sin agentes de plantilla personalizada`,emptyBody:`Los agentes propios del proyecto aparecen aquí cuando creas o editas archivos en`,createExecutorIdentity:`+ Crear identidad del ejecutor`,entries:`Entradas`,size:`Tamaño`,sessionCaptures:`Capturas de sesión`,editIdentity:`Editar identity.md`,editLearned:`Editar learned.md`,editConfig:`Editar config.json`,reviewEntries:`Revisar entradas ({{count}})`,reviewLearnedEntries:`Revisar entradas aprendidas ({{kept}}/{{total}} conservadas)`,applySelection:`Aplicar selección`,keep:`✓ Conservar`,drop:`✗ Descartar`,identityPlaceholder:`# Identidad de proyecto para {{role}}
|