@runfusion/fusion 0.70.2 → 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/bin.js +2425 -2183
  2. package/dist/child-process-worker.js +1575 -1491
  3. package/dist/client/.vite/manifest.json +250 -250
  4. package/dist/client/assets/{AgentDetailView-UMM9DyW-.js → AgentDetailView-Bq6qfKGR.js} +5 -5
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-BfNZUiDb.js → AgentPermissionPolicyEditor-Dah1P8IX.js} +2 -2
  6. package/dist/client/assets/{AgentsView-DtC-DVyX.js → AgentsView-Bu8h0vGY.js} +4 -4
  7. package/dist/client/assets/{ChatView-sDJXcOwT.js → ChatView-BTE8fIib.js} +1 -1
  8. package/dist/client/assets/{CommandCenter-B7BECRSV.js → CommandCenter-l4no66mI.js} +1 -1
  9. package/dist/client/assets/{DevServerView-CyW7l6rY.js → DevServerView-Cuxhgjdv.js} +1 -1
  10. package/dist/client/assets/DirectoryPicker-tm1SS2jF.js +1 -0
  11. package/dist/client/assets/{DocumentsView-Dbn8T4ZT.js → DocumentsView-Dg8lFF7X.js} +2 -2
  12. package/dist/client/assets/{EvalsView-DGOBPt3P.js → EvalsView-TccfkTNy.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-Beno0EK8.js → ExperimentalAgentOnboardingModal-2qAtocIG.js} +1 -1
  14. package/dist/client/assets/{GoalsView-BLxtocMB.js → GoalsView-Du_jIEn2.js} +1 -1
  15. package/dist/client/assets/{InsightsView-DjTpiw1S.js → InsightsView-BxJ327Tj.js} +2 -2
  16. package/dist/client/assets/{MemoryView-BvAhPVCo.js → MemoryView-Blv0YUWC.js} +2 -2
  17. package/dist/client/assets/{PiExtensionsManager-Di3Q9J6V.js → PiExtensionsManager-BUS_ZKwO.js} +2 -2
  18. package/dist/client/assets/{PluginManager-reQpowmU.js → PluginManager-DM5-rNen.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-DLDz9RXL.js → PullRequestView-D7ozwDrc.js} +2 -2
  20. package/dist/client/assets/{ResearchView-BpdpPwyr.js → ResearchView-CRGaOkBH.js} +1 -1
  21. package/dist/client/assets/{SecretsView-BHu1JHnH.js → SecretsView-Nwc-7xGn.js} +1 -1
  22. package/dist/client/assets/{SessionTerminal-rtlAx2uQ.js → SessionTerminal-gC7X57E6.js} +1 -1
  23. package/dist/client/assets/{SettingsModal-Dxz7-SNa.js → SettingsModal-CuEXiFb_.js} +4 -4
  24. package/dist/client/assets/{SettingsModal-B7m-bZlG.js → SettingsModal-q_D1o7T-.js} +1 -1
  25. package/dist/client/assets/{SettingsTextareaRow-5Vb6XYSC.js → SettingsTextareaRow-DnsWtbkh.js} +1 -1
  26. package/dist/client/assets/SetupWizardModal-3-mXX0VJ.js +2 -0
  27. package/dist/client/assets/{SkillsView-CNQaKfLx.js → SkillsView-Dw8m0G-9.js} +1 -1
  28. package/dist/client/assets/{ThemeDropdown-Bhz3TH1Z.js → ThemeDropdown-C7qybW7w.js} +1 -1
  29. package/dist/client/assets/{TodoView-Ccr5rxPw.js → TodoView-r_qHhO28.js} +2 -2
  30. package/dist/client/assets/{WorkflowNodeEditor-BeY_3iQR.js → WorkflowNodeEditor-B0TGhu5B.js} +1 -1
  31. package/dist/client/assets/{app-bX7Aarj6.js → app-0sCAWTFb.js} +1 -1
  32. package/dist/client/assets/{app-BFkCDjfl.js → app-Cndq8AGV.js} +1 -1
  33. package/dist/client/assets/{app-Bx4Tg9WL.js → app-CqpqmC8O.js} +1 -1
  34. package/dist/client/assets/{app-BwKqEIVs.js → app-DjxXVWX9.js} +1 -1
  35. package/dist/client/assets/{app-gasJpw6T.js → app-DrnsOtt9.js} +1 -1
  36. package/dist/client/assets/{app-BLTqCjPk.js → app-Kb21Gl_h.js} +1 -1
  37. package/dist/client/assets/{architectureDiagram-3BPJPVTR-DbmZMyHk.js → architectureDiagram-3BPJPVTR-9REjGWnr.js} +1 -1
  38. package/dist/client/assets/{blockDiagram-GPEHLZMM-BkspaqvN.js → blockDiagram-GPEHLZMM-OATfTc06.js} +1 -1
  39. package/dist/client/assets/{c4Diagram-AAUBKEIU-BfOk6DAf.js → c4Diagram-AAUBKEIU-B-nq1avj.js} +1 -1
  40. package/dist/client/assets/channel-BW-0I-xJ.js +1 -0
  41. package/dist/client/assets/{chunk-2J33WTMH-DbL54v_S.js → chunk-2J33WTMH-Dds2A4Un.js} +1 -1
  42. package/dist/client/assets/{chunk-4BX2VUAB-VAUWnfVr.js → chunk-4BX2VUAB-Dc-jRxxZ.js} +1 -1
  43. package/dist/client/assets/{chunk-55IACEB6-C5h7MxPM.js → chunk-55IACEB6-CKtwSOvQ.js} +1 -1
  44. package/dist/client/assets/{chunk-727SXJPM-CCc56jyj.js → chunk-727SXJPM-DbRZhQCr.js} +1 -1
  45. package/dist/client/assets/{chunk-AQP2D5EJ-CUK6s79q.js → chunk-AQP2D5EJ-Dq_cSIeh.js} +1 -1
  46. package/dist/client/assets/{chunk-FMBD7UC4-COFczZ8r.js → chunk-FMBD7UC4-BmnvYNOo.js} +1 -1
  47. package/dist/client/assets/{chunk-ND2GUHAM-BXTcFeIM.js → chunk-ND2GUHAM-D6nyZn0C.js} +1 -1
  48. package/dist/client/assets/{chunk-QZHKN3VN-BEYAo7eA.js → chunk-QZHKN3VN-FFojVCmd.js} +1 -1
  49. package/dist/client/assets/classDiagram-4FO5ZUOK-DfBIljo4.js +1 -0
  50. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DfBIljo4.js +1 -0
  51. package/dist/client/assets/{cose-bilkent-S5V4N54A-DqQ74MrB.js → cose-bilkent-S5V4N54A-DysS3-yZ.js} +1 -1
  52. package/dist/client/assets/{dagre-BM42HDAG-D1DsLIdG.js → dagre-BM42HDAG-DgL7uNq4.js} +1 -1
  53. package/dist/client/assets/{dashboard-view-D5F_ho0i.js → dashboard-view-Bu_nB-cd.js} +1 -1
  54. package/dist/client/assets/{dashboard-view-DFy7Ta-E.js → dashboard-view-DlxD_dta.js} +1 -1
  55. package/dist/client/assets/{dashboard-view-CgBE7XiJ.js → dashboard-view-ln6_a3ZY.js} +1 -1
  56. package/dist/client/assets/{diagram-2AECGRRQ-p-547bXh.js → diagram-2AECGRRQ-DTACb17z.js} +1 -1
  57. package/dist/client/assets/{diagram-5GNKFQAL-BE9UnZuh.js → diagram-5GNKFQAL-DqdKDR_d.js} +1 -1
  58. package/dist/client/assets/{diagram-KO2AKTUF-BHTLL-vQ.js → diagram-KO2AKTUF-CCKa3iUW.js} +1 -1
  59. package/dist/client/assets/{diagram-LMA3HP47-CWLbQcuj.js → diagram-LMA3HP47-C2SLmXdM.js} +1 -1
  60. package/dist/client/assets/{diagram-OG6HWLK6-CXUiMHIE.js → diagram-OG6HWLK6-Dz9wXgRN.js} +1 -1
  61. package/dist/client/assets/{erDiagram-TEJ5UH35-Dre62Vsd.js → erDiagram-TEJ5UH35-GGHapzlB.js} +1 -1
  62. package/dist/client/assets/{flowDiagram-I6XJVG4X-BFeMnep3.js → flowDiagram-I6XJVG4X-B3SLxAlP.js} +1 -1
  63. package/dist/client/assets/{folder-open-s7aQO2Ib.js → folder-open-BWBZSyO2.js} +1 -1
  64. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CfrUWiHI.js → ganttDiagram-6RSMTGT7-DYveq-32.js} +1 -1
  65. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-KjKsgpva.js → gitGraphDiagram-PVQCEYII-Bxh-7IFt.js} +1 -1
  66. package/dist/client/assets/index-CiqkhNwQ.css +1 -0
  67. package/dist/client/assets/{index-DF2cd-e3.js → index-D8sgsB8q.js} +268 -268
  68. package/dist/client/assets/{infoDiagram-5YYISTIA-Cb_8B_3K.js → infoDiagram-5YYISTIA-B3_g2TQW.js} +1 -1
  69. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-8jtlcCaf.js → ishikawaDiagram-YF4QCWOH-CExRn4qZ.js} +1 -1
  70. package/dist/client/assets/{journeyDiagram-JHISSGLW-O6X0tJvH.js → journeyDiagram-JHISSGLW-Dgck68vd.js} +1 -1
  71. package/dist/client/assets/{kanban-definition-UN3LZRKU-BetEnps7.js → kanban-definition-UN3LZRKU-B258_39Z.js} +1 -1
  72. package/dist/client/assets/{mermaid.core-CZbT2qhF.js → mermaid.core-uCT9za93.js} +4 -4
  73. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BRjDmxQK.js → mindmap-definition-RKZ34NQL-DHevd0he.js} +1 -1
  74. package/dist/client/assets/{pieDiagram-4H26LBE5-CJHx1ZvR.js → pieDiagram-4H26LBE5-rTbXqg0x.js} +1 -1
  75. package/dist/client/assets/{puzzle-BJEQBgfR.js → puzzle-D7NHfczg.js} +1 -1
  76. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-D49nAI3y.js → quadrantDiagram-W4KKPZXB-C-N3JbLv.js} +1 -1
  77. package/dist/client/assets/{requirementDiagram-4Y6WPE33-BM4Uv6Jr.js → requirementDiagram-4Y6WPE33-DNINb6LP.js} +1 -1
  78. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-RSKSlyjr.js → sankeyDiagram-5OEKKPKP-UI7SyvRN.js} +1 -1
  79. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BXpcHAnr.js → sequenceDiagram-3UESZ5HK-pc1RDjwM.js} +1 -1
  80. package/dist/client/assets/{shield-alert-DcsqJWMG.js → shield-alert-c_--H0ce.js} +1 -1
  81. package/dist/client/assets/{standing-instructions-template-CUYzx5D8.js → standing-instructions-template-aTeHy5lT.js} +1 -1
  82. package/dist/client/assets/{stateDiagram-AJRCARHV-CavU8Ef4.js → stateDiagram-AJRCARHV-CEiZfKWc.js} +1 -1
  83. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-Cq-9bJPI.js → stateDiagram-v2-BHNVJYJU-B7aNz5OD.js} +1 -1
  84. package/dist/client/assets/{timeline-definition-PNZ67QCA-7fHh3hS9.js → timeline-definition-PNZ67QCA-DyE71jn0.js} +1 -1
  85. package/dist/client/assets/{upload-DNwFaPfV.js → upload-YGrA50-5.js} +1 -1
  86. package/dist/client/assets/{users-D-kPhpXu.js → users-fxiLvP6C.js} +1 -1
  87. package/dist/client/assets/{vennDiagram-CIIHVFJN-mCh9G6D5.js → vennDiagram-CIIHVFJN-DX-6Y82D.js} +1 -1
  88. package/dist/client/assets/{wardley-L42UT6IY-DEu4AYE9.js → wardley-L42UT6IY-ew7KQxeH.js} +1 -1
  89. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DRL0ZyeQ.js → wardleyDiagram-YWT4CUSO-DqSCrJdO.js} +1 -1
  90. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DUpC-GBX.js → xychartDiagram-2RQKCTM6-CEtZEj45.js} +1 -1
  91. package/dist/client/index.html +2 -2
  92. package/dist/client/version.json +1 -1
  93. package/dist/extension.js +1797 -1713
  94. package/dist/plugins/fusion-plugin-dependency-graph/.bundled.reload-1.js +8084 -0
  95. package/dist/plugins/fusion-plugin-grok-runtime/.bundled.reload-2.js +26479 -0
  96. package/package.json +1 -1
  97. package/dist/client/assets/DirectoryPicker-BT3OeDJ3.js +0 -1
  98. package/dist/client/assets/SetupWizardModal-BixsaVgv.js +0 -2
  99. package/dist/client/assets/channel-CABKCAbA.js +0 -1
  100. package/dist/client/assets/classDiagram-4FO5ZUOK-DgshwmmF.js +0 -1
  101. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DgshwmmF.js +0 -1
  102. package/dist/client/assets/index-Co20nJU4.css +0 -1
@@ -1,4 +1,4 @@
1
- const e={add:"Add",apply:"Apply",back:"Back",cancel:"Cancel",close:"Close",clear:"Clear",closeInsightsView:"Close insights view",closeModal:"Close modal",confirm:"Confirm",continue:"Continue",create:"Create",delete:"Delete",discard:"Discard",dismiss:"Dismiss",dismissOAuth:"Dismiss OAuth re-login banner",done:"Done",edit:"Edit",no:"No",openSettings:"Open Settings",pull:"Pull",refresh:"Refresh",refreshInsights:"Refresh insights",retry:"Retry",run:"Run",save:"Save",search:"Search",send:"Send",showLess:"Show less",showMore:"Show more",update:"Update",yes:"Yes"},t={body:"The engine for this project is not running, so task automation and live updates may be paused. Start it now to reconnect the dashboard.",dashboardOnly:"This dashboard cannot start engines from the current process. Run `fn serve` for this project to enable task execution and live automation.",dashboardOnlyPrefix:"This dashboard cannot start engines from the current process. Run",dashboardOnlySuffix:"for this project to enable task execution and live automation.",error:"Start failed: {{message}}",startCta:"Start engine",starting:"Starting…",title:"Project engine is not connected"},o={emptyHint:"Activity will appear here when tasks are created, moved, or completed",eventCount_one:"{{count}} event",eventCount_other:"{{count}} events",noRecentActivity:"No recent activity"},a={activeFilters:"Active filters:",allEvents:"All Events",allProjects:"All Projects",clearFilters:"Clear all",clearFiltersBtnLabel:"Clear Filters",clearLog:"Clear Log",confirmClear:"Clear Activity Log?",confirmClearButton:"Clear Log",confirmClearMessage:"This will permanently delete all activity log entries. This action cannot be undone.",eventType:{autoArchivedDeterministicDuplicate:"Task Auto-Archived (Deterministic Duplicate)",autoArchivedDuplicate:"Task Auto-Archived (Duplicate)",autoArchivedGhostBug:"Task Auto-Archived (Ghost Bug)",autoArchivedNearDuplicate:"Task Auto-Archived (Near-Duplicate)",duplicateWarningOverridden:"Duplicate Warning Overridden",mergeWorktreeReacquired:"Merge Worktree Reacquired",nearDuplicateFlagged:"Near-Duplicate Flagged",projectIsolationTransition:"Project Isolation Transition",settingsUpdated:"Settings Updated",taskCreated:"Task Created",taskDeleted:"Task Deleted",taskFailed:"Task Failed",taskMerged:"Task Merged",taskMoved:"Task Moved",taskUpdated:"Task Updated"},loadMore:"Load More",merged:"Merged",noActivityRecorded:"No activity recorded yet",noMatchingActivity:"No activity matches the current filters",notMerged:"Not merged",projectFilterBadge:"Project: {{project}}",refresh:"Refresh",time:{daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",justNow:"Just now",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago"},title:"Activity Log",typeFilterBadge:"Type: {{type}}"},i={copied:"Copied",copiedLabel:"Copied error to clipboard",copy:"Copy",copyLabel:"Copy error to clipboard",dialogLabel:"Agent error details",openDetails:"Open error details",reportOnGithub:"Report on GitHub",title:"Agent Error Details"},n={agentNameTriage:"Plan",collapseModelDetails:"Collapse model details",empty:"No agent output yet.",executor:"Executor",exitFullscreen:"Exit full screen",expandFullscreen:"Expand agent log to full screen",expandModelDetails:"Expand model details",hideOutput:"Hide output",hideToolCallsResults:"Hide tool calls and results",hideToolOutput:"Hide tool output",live:"Live",loading:"Loading agent logs…",loadingMore:"Loading…",loadMore:"Load More",markdown:"Markdown",plain:"Plain",planning:"Planning",reviewer:"Reviewer",showFormattedMarkdown:"Show formatted markdown",showing:"Showing {{visible}} of {{total}} entries",showOutput:"Show output",showRawText:"Show raw text",showToolCallsResults:"Show tool calls and results",showToolOutput:"Show tool output",switchMarkdown:"Switch to markdown mode",switchPlainText:"Switch to plain text mode",timeDaysAgo_one:"{{count}}d ago",timeDaysAgo_other:"{{count}}d ago",timeHoursAgo_one:"{{count}}h ago",timeHoursAgo_other:"{{count}}h ago",timeJustNow:"just now",timeMinutesAgo_one:"{{count}}m ago",timeMinutesAgo_other:"{{count}}m ago",toolEntriesHidden_one:"{{count}} tool entries hidden",toolEntriesHidden_other:"{{count}} tool entries hidden",toolsOff:"Tools: Off",toolsOn:"Tools: On",usingDefault:"Using default"},s={membersOf:"Members of #{{roomName}}",noAgentsFound:"No agents found",otherAgents:"Other agents",roomMemberBadge:"Room member",roomMembers:"Room members",suggestionsLabel:"Agent mention suggestions",typeToSearch:"Type to search other agents"},r={allow:"Allow",approvalRequired:"Approval Required",ariaLabel:"Permission policy categories",block:"Block",category:{commandExecution:{description:"Runs shell commands and scripts.",label:"Command execution"},fileScope:{description:"Extending a task's declared File Scope beyond its initial spec at runtime.",label:"File Scope expansion"},fileWriteDelete:{description:"Create, edit, or remove files in the workspace.",label:"File writes/deletes"},gitWrite:{description:"Commits, branch updates, and merge-affecting git changes.",label:"Git writes"},networkApi:{description:"Outbound network or API access.",label:"Network/API"},taskAgentMutation:{description:"Task state changes, delegation, or agent lifecycle actions.",label:"Task/agent mutation"}},categoryExamples:"{{label}} examples",custom:"Custom",exemptTools:"Tools exempt from approval policy",exemptToolsDescription:"These coordination tools bypass approval policy so heartbeats and inter-agent messaging cannot deadlock. They are not user-configurable.",fromProjectDefault:"from project default",inherit:"Inherit",inheritDefault:"Inherit project default",lockedDown:"Locked Down",preset:"Preset",requireApproval:"Require approval",unrestricted:"Unrestricted",exactToolOverrides:"Exact tool overrides",exactToolOverridesDescription:"Override one governed tool by exact name before its category rule. Heartbeat-critical exempt tools stay non-configurable.",noExactToolOverrides:"No exact tool overrides configured.",toolName:"Tool name",toolDisposition:"Disposition",toolDispositionFor:"Disposition for {{toolName}}",projectDefaultExactTool:"project default exact rule",removeToolOverride:"Remove exact override for {{toolName}}",remove:"Remove",toolOverrideTool:"Tool override tool",toolOverrideDisposition:"Tool override disposition",updateToolOverride:"Update override",addToolOverride:"Add override"},l={actions:{addCustomTemplate:"Add Custom Template",cancel:"Cancel",collapse:"Collapse",create:"Create",delete:"Delete",reset:"Reset",save:"Save"},ariaLabels:{collapse:"Collapse",deleteTemplate:"Delete {{name}}",editTemplate:"Edit {{name}}",expand:"Expand",expandPrompt:"Expand prompt to fullscreen",expandToFullscreen:"Expand to fullscreen",promptOverride:"{{name}} prompt override ({{key}})",promptOverrideFullscreen:"{{name}} prompt override ({{key}}) - fullscreen",templatePromptFullscreen:"Template prompt - fullscreen",viewFullPromptFor:"View full prompt for {{name}}"},badges:{builtin:"Built-in",custom:"Custom",customized:"customized",overridesBuiltin:"Overrides built-in"},confirmations:{deleteTemplate:'Delete "{{name}}"?'},descriptions:{assignmentNote:"Role assignments are stored in the agentPrompts configuration. Custom templates override built-ins by ID.",assignments:"Assign specific templates to agent roles. When a role has an assignment, that template will be used instead of the default built-in.",builtinTemplates:"These templates are provided by Fusion and cannot be modified.",customTemplates:"Create custom templates to override built-in prompts for specific roles.",overrides:"Customize specific segments of AI agent prompts. Edits override built-in defaults. Use the Reset button to restore the original default for any prompt."},editor:{editTemplate:"Edit Custom Template",newTemplate:"New Custom Template"},emptyStates:{noCustomTemplates:"No custom templates yet. Create one to get started."},errors:{idConflict:'Template ID "{{templateId}}" conflicts with a built-in template. Please use a different name.',nameRequired:"Template name is required"},hints:{customOverrideActive:"Custom override active. Click Reset to restore default.",noOverrideSet:"No override set. Using built-in default ({{chars}} chars)."},labels:{builtIn:"built-in",custom:"Custom",description:"Description",name:"Name",note:"Note",overridesDefault:"overrides default",prompt:"Prompt",role:"Role"},options:{useDefault:"Use default"},placeholders:{description:"Brief description of this template",prompt:"Enter the system prompt for this template...",promptDefault:"Default: {{preview}}",templateName:"e.g. My Custom Executor"},sections:{builtinTemplates:"Built-in Templates",customTemplates:"Custom Templates"},tabs:{assignments:"Assignments",overrides:"Overrides",templates:"Templates"},titles:{delete:"Delete",edit:"Edit",editPrompt:"Edit Prompt",viewFullPrompt:"View full prompt"}},d={always:"Always require approval",alwaysApproveDelete:"Always require approval for fn_agent_delete",alwaysDesc:"All fn_agent_create/fn_agent_delete requests require approval unless caller is trusted.",approvalMode:"Approval mode",helpText:"These settings govern durable provisioning tools only: <code>fn_agent_create</code> and <code>fn_agent_delete</code>. Ephemeral <code2>fn_spawn_agent</code2> requests stay under the task/agent mutation approval gate (FN-3973).",never:"Never require approval",neverDesc:"Allow provisioning without approval for non-privileged callers.",trustedAgentIds:"Trusted agent IDs",trustedAgentIdsPlaceholder:"agent-abc123",trustedOnly:"Trusted-only",trustedOnlyDesc:"Trusted roles/agent IDs bypass approval; other callers require approval.",trustedRoles:"Trusted roles",trustedRolesPlaceholder:"reviewer, ceo"},c=JSON.parse(`{"activate":"Activate","activeAgents_one":"Active Agents ({{count}})","activeAgents_other":"Active Agents ({{count}})","activePrefix":"Active: ","advancedSettingsDesc":"Low-level configuration options for this agent.","advancedSettingsTitle":"Advanced Settings","agent":"Agent","agentControls":"Agent controls","agentLogs":"Agent Logs","agentMail":"Agent Mail","agentModelLabel":"Agent Model","agentPlural":"agents","agentsFound_one":"{{count}} agent{{plural}} found","agentsFound_other":"{{count}} agent{{plural}} found","agentSingular":"agent","agentsLabel":"Agents","agentSoulLabel":"Agent Soul","aiInterview":"AI Interview","allChangesSaved":"All changes saved","allowParallelExecution":"Allow Parallel Execution","allowParallelExecutionHint":"Allow this agent to run multiple heartbeats concurrently.","allTime":"All time","alreadyOnDefault":"Already on default","applyPreset":"Apply preset","assignedSkills":"Assigned Skills","auto":"Auto","autoClaimHint":"Agent will automatically claim tasks that match its skills.","autoClaimRelevantTasks":"Auto-claim relevant tasks","avatarLabel":"Avatar","avatarRemoved":"Avatar removed","avatarUploaded":"Avatar uploaded","back":"Back","backToAgents":"Back to Agents","backToInbox":"Back to Inbox","backToOrgChart":"Back to org chart","backToOutbox":"Back to Outbox","boardView":"Board view","browseCatalog":"Browse Catalog","budgetExhaustedBody":"This agent has exhausted its token budget and will not run until the budget resets.","budgetExhaustedTitle":"Budget Exhausted","budgetPeriodHint":"How often the token budget resets.","budgetPeriodLabel":"Budget Period","budgetResetFailed":"Failed to reset budget","budgetResetSuccess":"Budget reset successfully","budgetSettingsDesc":"Control token usage limits and reset schedule for this agent.","budgetSettingsTitle":"Budget Settings","budgetUsageDisplay":"{{used}} / {{limit}} tokens used","builtInModel":"Built-in model","bulkActionFailed":"Bulk action failed","bulkActions":"Bulk Actions","bulkActionsLoadFailed":"Failed to load bulk agent actions: {{error}}","bulkAgentActions":"Bulk agent actions","bulkConfirmMessage_one":"{{action}} {{count}} agent(s) in this project?","bulkConfirmMessage_other":"{{action}} {{count}} agent(s) in this project?","bulkNoEligible":"No eligible agents","bulkResult_one":"{{action}} {{successCount}} {{agentWord}}; skipped {{skippedCount}}","bulkResult_other":"{{action}} {{successCount}} {{agentWord}}; skipped {{skippedCount}}","bulkResultWithFailures":"{{action}} {{count}} agent(s), {{failed}} failed","bundleDescription":"Configure how this agent's code bundle is managed.","bundleEntryFileHint":"The entry file for the managed bundle.","bundleEntryFileLabel":"Entry File","bundleExternal":"External","bundleExternalHint":"Point to an externally managed bundle path.","bundleExternalPathHint":"Absolute path to the external bundle file.","bundleExternalPathLabel":"External Bundle Path","bundleExternalPathPlaceholder":"/path/to/bundle.js","bundleFilesHint":"Source files included in this agent's bundle.","bundleFilesLabel":"Bundle Files","bundleManaged":"Managed","bundleManagedHint":"Fusion manages the bundle automatically.","bundleModeLabel":"Bundle Mode","bundleNone":"None","bundleSelectMode":"Select a bundle mode","bundleTitle":"Bundle","cacheHitRatio":"Cache Hit Ratio","cacheReadTokens":"Cache Read","cacheWindowSummary":"{{percent}}% ({{cached}} / {{written}} / {{input}} / {{tasks}})","cacheWriteTokens":"Cache Write","cancel":"Cancel","cancelCustomInterval":"Cancel custom interval","center":"Center","chainOfCommand":"Chain of Command","change":"Change","changeRole":"Click to change role","charactersCount_one":"{{count}} characters","charactersCount_other":"{{count}} characters","chooseFile":"Choose File","clearAgents":"Clear agents","clearSkills":"Clear skills","clickToChangeRole":"Click to change role","close":"Close","closeAriaLabel":"Close","combinedTokens":"Combined Tokens","company":"Company","configDescription":"Configure this agent's identity, model, and behavior settings.","configTitle":"Configuration","connecting":"Connecting...","connectingStream":"Connecting to log stream...","connectionLost":"Connection lost. Retrying...","context":"Context","controls":"Controls","coordinationOnlyAgent":"Coordination-only agent","coordinationOnlyHint":"This agent coordinates work but does not execute tasks directly.","copyId":"Copy ID","create":"Create","createAgent":"Create agent","created":"Agent \\"{{name}}\\" created","createError":"Failed to create agent: {{error}}","createSuccess":"Agent \\"{{name}}\\" created","creating":"Creating...","creatingAgent":"Creating agent...","currentAgent":"Current agent","currentInput":"Current input: {{method}}","currentPath":"Current path","currentUsage":"Current Usage","currentWork":"Current Work","customHeartbeatAria":"Custom heartbeat interval in minutes for {{name}}","customHeartbeatOption":"Custom...","customizeForAgent":"Customize for this agent","daily":"Daily","dangerZone":"Danger Zone","dangerZoneDesc":"Irreversible actions — proceed with caution.","delete":"Delete","deleteAgent":"Delete Agent","deleteConfirm":"Are you sure you want to delete this agent? This cannot be undone.","deleted":"Agent deleted","deleteError":"Failed to delete agent: {{error}}","deleteFailed":"Failed to delete agent","deleteMessage":"Delete agent \\"{{name}}\\"? This cannot be undone.","deleteSuccess":"Agent \\"{{name}}\\" deleted","deleteTitle":"Delete Agent","deletionNotAvailable":"Deletion is not available while the agent is running.","deletionPermanent":"This will permanently delete the agent and all associated data.","detailLoadingLabel":"Agent detail loading","details":"Details","dialogAriaLabel":"Create new agent","dialogTitle":"New Agent","employeesTitle":"Employees","emptySubtitle":"Create an agent to get started","emptyTitle":"No agents found","engineerBacklogAutoClaim":"Engineer Backlog Auto-Claim","engineerBacklogAutoClaimHint":"Per-agent override of the project default. Allows this engineer-role agent to auto-claim unowned backlog tasks; explicit assignment and delegation are unchanged.","errors":"Errors","executionPrompt":"Execution Prompt","executionPromptNotCaptured":"Execution prompt not captured","failedToImport":"Failed to import agents","failedToLoadCompanies":"Failed to load companies","failedToParseDirectory":"Failed to parse AGENTS.md files from selected directory","failedToParseManifest":"Failed to parse manifest","failedToReadFile":"Failed to read file","fieldHeartbeatPath":"Heartbeat Procedure Path","fieldIcon":"Icon","fieldInstructionsPath":"Instructions Path","fieldInstructionsText":"Inline Instructions","fieldMaxTurns":"Max Turns","fieldMemory":"Agent Memory","fieldName":"Name","fieldReportsTo":"Reports To","fieldRole":"Role","fieldSkills":"Skills","fieldSoul":"Soul","fieldThinking":"Thinking","fieldThinkingLevel":"Thinking Level","fieldTitle":"Title","fileContentHint":"Edit the file contents directly.","fileContentLabel":"File Content","fileContentPlaceholder":"File content will appear here...","fileHint":".md and .txt files supported","fileLoadError":"Failed to load file","fileSaved":"File saved","filterAll":"All States","filterByState":"Filter agents by state","fit":"Fit","fixValidationErrors":"Fix validation errors before saving","fixValidationToSave":"Fix validation errors to save","from":"From","generateHint":"Describe your agent's role and let AI generate a specification","generateWithAI":"Generate with AI","generateWithAiLabel":"Generate agent with AI","generation":{"collapse":"Collapse","expand":"Expand","generate":"Generate","info":"Describe your agent's role and the AI will generate a complete specification including system prompt, suggested configuration, and more.","loading":"Generating agent specification…","previewDescription":"Description","previewMaxTurns":"Max Turns","previewRole":"Role","previewThinking":"Thinking","previewTitle":"Title","rateLimited":"Too many requests. Please wait a moment and try again.","regenerate":"Regenerate","roleHint":"Describe what your agent should do","roleLabel":"Role Description","rolePlaceholder":"e.g. \\"Senior frontend code reviewer who specializes in React accessibility\\"","systemPrompt":"System Prompt","title":"Generate Agent","useThis":"Use This"},"healthError":"Error","heartbeat":"Heartbeat:","heartbeatAndHealth":"Heartbeat & Health","heartbeatClampedToMin_one":"Heartbeat interval set to 5 minutes (minimum). {{count}} minute was below the 5-minute minimum.","heartbeatClampedToMin_other":"Heartbeat interval set to 5 minutes (minimum). {{count}} minutes was below the 5-minute minimum.","heartbeatCustom":"Custom heartbeat run","heartbeatEnabled":"Heartbeat Enabled","heartbeatEnabledHint":"Allow this agent to run on a scheduled heartbeat.","heartbeatEnterMinutes":"Please enter a heartbeat interval in minutes","heartbeatFileEditMode":"Edit mode","heartbeatFileEditorHint":"Edit the heartbeat procedure file directly.","heartbeatFileEmptyPreview":"Empty file — switch to edit mode to add content.","heartbeatFileLoadFailed":"Failed to load heartbeat file","heartbeatFilePlaceholder":"Heartbeat procedure content...","heartbeatFilePreviewMode":"Preview mode","heartbeatFileSaved":"Heartbeat file saved","heartbeatFileSaveFailed":"Failed to save heartbeat file","heartbeatIntervalHint":"How frequently the heartbeat runs, in seconds.","heartbeatIntervalLabel":"Heartbeat Interval (s)","heartbeatIntervalUpdated":"Heartbeat interval updated to {{interval}} for {{name}}","heartbeatIntervalUpdateFailed":"Failed to update heartbeat interval: {{error}}","heartbeatMustBeNumber":"Heartbeat interval must be a valid number","heartbeatMustBePositive":"Heartbeat interval must be greater than 0","heartbeatOverdue":"Heartbeat overdue {{elapsed}}","heartbeatPathHint":"Path to the agent's heartbeat procedure path, typically .fusion/agents/ceo-agent2736/HEARTBEAT.md. Legacy id-only default paths still work.","heartbeatPathPlaceholder":"e.g. .fusion/agents/ceo-agent2736/HEARTBEAT.md","heartbeatProcedureDesc":"The heartbeat procedure guides what this agent does on each scheduled run.","heartbeatProcedureDescSuffix":"You can customize it here or leave it on the built-in default.","heartbeatProcedureFileLabel":"Heartbeat Procedure File","heartbeatProcedureFileReady":"Heartbeat procedure file ready","heartbeatProcedurePathSet":"Heartbeat procedure path set","heartbeatProcedureTitle":"Heartbeat Procedure","heartbeatPromptTemplate":"Heartbeat Prompt Template","heartbeatRunFailed":"Failed to start heartbeat run: {{error}}","heartbeatRunStarted":"Heartbeat run started for {{name}}","heartbeatRunsWillAppear":"Heartbeat runs will appear here.","heartbeatScopeDiscipline":"Heartbeat Scope Discipline","heartbeatSettingsDesc":"Control the scheduling and behavior of this agent's heartbeat.","heartbeatSettingsTitle":"Heartbeat Settings","heartbeatSpeed":"Heartbeat Speed","heartbeatSpeedHint":"Scales all agent heartbeat intervals. ×0.5 = twice as fast, ×2.0 = twice as slow. Default: ×1.0","heartbeatSpeedPreset":"Heartbeat speed preset","heartbeatSpeedSaveFailed":"Failed to save heartbeat multiplier: {{error}}","heartbeatSpeedSet":"Heartbeat speed set to ×{{value}}","heartbeatStarted":"Heartbeat started","heartbeatStartFailed":"Failed to start heartbeat","heartbeatTimeoutHint":"Maximum time in seconds a heartbeat run may take before being killed.","heartbeatTimeoutLabel":"Heartbeat Timeout (s)","heartbeatUpgradeFailed":"Failed to upgrade heartbeat procedure","iconLabel":"Icon","iconPlaceholder":"e.g. 🤖","idCopied":"ID copied to clipboard","idleNoTask":"Idle — no task assigned","immediate":"Immediate","import":"Import","importAgents":"Import Agents","importButton":"Import {{label}}","importComplete":"Import Complete","importDescription":"Import agents from an Agent Companies package. Browse the companies.sh catalog to discover published agents, upload an AGENTS.md file, select a directory, or paste manifest content.","importingAgents_one":"Importing {{count}} agent{{plural}}...","importingAgents_other":"Importing {{count}} agent{{plural}}...","importingAgentsAndSkills":"Importing {{agentCount}} agent{{agentPlural}} and {{skillCount}} skill{{skillPlural}}...","importingSkills_one":"Importing {{count}} skill{{plural}}...","importingSkills_other":"Importing {{count}} skill{{plural}}...","importReportsTo":" · reports to {{agent}}","importSkills":" · skills: {{skills}}","inbox":"Inbox","inheritingProjectDefault":"Inheriting project default","inheritProjectDefault":"Inherit project default","inlineInstructions":"Inline Instructions","inlineMemoryFieldHint":"This memory is embedded directly in the agent's context.","inlineMemoryHint":"Short-form memory injected on every heartbeat.","inlineMemoryLabel":"Inline Memory","inProgress":"In progress","input":"Input","inputTokens":"Input","installs":"installs","instructionsDescription":"Persistent instructions that guide this agent's behavior.","instructionsEmptyPreview":"No instructions yet — switch to edit mode to add some.","instructionsFileEditorDesc":"Edit the linked instructions file directly.","instructionsFileEditorTitle":"Instructions File","instructionsFileSaved":"Instructions file saved","instructionsFileSaveFailed":"Failed to save instructions file","instructionsHint":"These instructions are prepended to every prompt this agent receives.","instructionsPathHint":"Path to a markdown file containing this agent's instructions.","instructionsPathLabel":"Instructions File Path","instructionsPathPlaceholder":"/path/to/instructions.md","instructionsPlaceholder":"Enter instructions for this agent...","instructionsSaved":"Instructions saved","instructionsSaveFailed":"Failed to save instructions","instructionsTextPlaceholder":"Add custom behavior instructions...","instructionsTitle":"Instructions","intentPrompt":"What do you want this agent to do?","interval":"Interval","interviewDraftApplied":"Interview draft applied","kTokens_one":"{{count}}k tokens","kTokens_other":"{{count}}k tokens","last24h":"Last 24h","last7d":"Last 7 days","lastHeartbeat":"Last heartbeat","lastHeartbeatAt":"Last: {{time}}","latestRunLabel":"Latest run","layoutAuto":"Auto","layoutAutoAria":"Automatic layout","layoutHorizontal":"Horizontal","layoutHorizontalAria":"Horizontal layout","layoutVertical":"Vertical","layoutVerticalAria":"Vertical layout","listView":"List view","lite":"Lite","live":"Live","liveLogs":"Live logs","liveRun":"Live run","loadError":"Failed to load agents: {{error}}","loading":"Loading agent...","loadingAgents":"Loading agents...","loadingCompanies":"Loading companies…","loadingDetails":"Loading run details...","loadingEligibility":"Loading eligibility…","loadingEligible":"Loading eligible agents...","loadingEmployees":"Loading employees...","loadingFile":"Loading file...","loadingFileContent":"Loading file content...","loadingLogs":"Loading logs...","loadingMailbox":"Loading mailbox...","loadingMemoryFiles":"Loading memory files...","loadingModels":"Loading models…","loadingOrgChart":"Loading org chart...","loadingReportingChain":"Loading reporting chain...","loadingRuns":"Loading runs...","loadingRuntimes":"Loading runtimes...","loadingSkillContent":"Loading skill content...","loadingTasks":"Loading tasks...","loadTasksFailed":"Failed to load tasks","logEntries_one":"{{count}} entries","logEntries_other":"{{count}} entries","logsWillAppear":"Logs will appear here once the agent starts running.","logsWillAppearActive":"Logs will appear here.","mailboxLoadFailed":"Failed to load mailbox","mailFrom":"From","mailSent":"Sent","mailTo":"To","mailToLabel":"To","mailType":"Type","manifestContent":"Manifest content","manifestPlaceholder":"---\\nname: CEO\\ntitle: Chief Executive Officer\\nreportsTo: null\\nskills:\\n - review\\n---\\nAgent instructions go here...","maxConcurrentRunsHint":"Maximum number of heartbeats that can run simultaneously.","maxConcurrentRunsLabel":"Max Concurrent Runs","maxTurns":"Max turns","memoryDescription":"Manage this agent's long-term and working memory.","memoryEmptyPreview":"No inline memory yet — switch to edit mode to add some.","memoryFileEditMode":"Edit mode","memoryFileEmptyPreview":"Empty file — switch to edit mode to add content.","memoryFileLoadFailed":"Failed to load memory file","memoryFileMeta":"{{size}} bytes · updated {{date}}","memoryFilePlaceholder":"Memory file content...","memoryFilePreviewMode":"Preview mode","memoryFileSaved":"Memory file saved","memoryFileSaveFailed":"Failed to save memory file","memoryFilesHint":"Files stored in the agent's memory layers.","memoryFilesHintSuffix":"Select a file to view or edit its contents.","memoryFilesLabel":"Memory Files","memoryFilesLoadFailed":"Failed to load memory files","memoryLayerDaily":"Daily","memoryLayerDailyDesc":"Short-term notes refreshed each day.","memoryLayerDreams":"Dreams","memoryLayerDreamsDesc":"Synthesized reflections from recent activity.","memoryLayerLongTerm":"Long-term","memoryLayerLongTermDesc":"Persistent facts and knowledge retained across sessions.","memoryPlaceholder":"Enter inline memory for this agent...","memoryReadOnly":"Read-only","memorySaved":"Memory saved","memorySaveFailed":"Failed to save memory","memoryTitle":"Memory","memoryTooLong":"Memory content is too long","messageResponseModeHint":"When this agent responds to incoming messages.","messageResponseModeLabel":"Message Response Mode","minutesUnit":"min","modalTitle":"Agents","model":"Model","modelDefault":"default","modelDescription":"Choose the AI model this agent uses for inference.","modelPlaceholder":"Select a model…","modelTitle":"Model","monthly":"Monthly","name":"Name","nameLabel":"Name","namePlaceholder":"Agent name...","never":"Never","newAgent":"New Agent","next":"Next","nextExpected":"Next expected","nextHeartbeat":"Next heartbeat in {{elapsed}}","nextHeartbeatAt":"Next: {{time}}","noActiveAssignment":"No active assignment","noActiveEligible":"No active agents eligible to pause","noActivityYet":"No activity yet","noAgentsFound":"No agents found in the manifest.","noAgentsMdFiles":"Selected directory has no AGENTS.md files","noAgentsToPause":"No agents eligible to pause","noAgentsToPauseHint":"No active or running project agents to pause","noAgentsToResume":"No agents eligible to resume","noAgentsToResumeHint":"No paused project agents to resume","noCompaniesAvailable":"No companies available","noCompaniesMatch":"No companies match your search","noEmployees":"No employees","noEmployeesDesc":"This agent has no direct reports.","noInboxMessages":"No messages in inbox","noInstructionsPath":"No instructions file path set","noLimit":"No limit","noLogEntriesYet":"No log entries yet","noLogsForRun":"No logs for this run","noManager":"No manager","noMemoryFiles":"No memory files","noneUsingBuiltIn":"None (using built-in)","noOutboxMessages":"No messages in outbox","noOutputCaptured":"No output captured","noPausedEligible":"No paused agents eligible to resume","noReportingChain":"No reporting chain","noReset":"No reset","noRunsYet":"No runs yet","noRuntimes":"No runtimes available","noSkillContent":"No skill content available","noSkillMd":"No skill documentation found","noSkillsInPackage":"No skills in package","noTasksAssigned":"No tasks assigned","noTokenUsageYet":"No token usage recorded yet. Token totals appear here once agents run.","notScheduled":"Not scheduled","notSelected":"Not selected","off":"Off","onboarding":{"applyDraftAgent":"Apply draft to agent form","applyDraftSettings":"Apply draft to settings form","continue":"Continue","dialogLabel":"AI Interview","draftIntro":"Review this generated draft. Nothing is applied until you confirm.","draftReady":"Draft ready for review","fieldAgentMemory":"Agent Memory","fieldHeartbeatEnabled":"Heartbeat Enabled","fieldHeartbeatInterval":"Heartbeat Interval","fieldHeartbeatPath":"Heartbeat Procedure Path","fieldIcon":"Icon","fieldInlineInstructions":"Inline Instructions","fieldMaxTurns":"Max Turns","fieldModelHint":"Model Hint","fieldName":"Name","fieldPatternAgent":"Pattern Agent","fieldReportsTo":"Reports To","fieldRole":"Role","fieldRuntimeHint":"Runtime Hint","fieldSkills":"Skills","fieldSoul":"Soul","fieldTemplate":"Template","fieldThinkingLevel":"Thinking Level","fieldTitle":"Title","intentLabelCreate":"What should this new agent own?","intentLabelEdit":"What should this agent change or improve?","no":"no","notSet":"Not set","sectionConfiguration":"Configuration","sectionIdentity":"Identity","sectionRationale":"Rationale","sectionRuntimeHints":"Runtime Hints","startInterview":"Start interview","startOnboarding":"Start onboarding","thinking":"Thinking...","title":"Agent Onboarding","updatedDraftReady":"Updated draft ready for review","yes":"yes"},"onHeartbeat":"On heartbeat","openDetails":"Open details for {{name}}","optional":"(optional)","orgChartCanvas":"Org chart canvas","orgChartCenter":"Center org chart","orgChartEmployees":"{{name}} employees","orgChartFit":"Fit org chart","orgChartLoadFailed":"Failed to load org chart: {{error}}","orgChartView":"Org Chart view","orgChartZoomIn":"Zoom in org chart","orgChartZoomOut":"Zoom out org chart","orPasteManifest":"or paste manifest content","outbox":"Outbox","output":"Output","outputTokens":"Output","overview":"Overview","overviewLabel":"Agents overview","parsing":"Parsing…","pause":"Pause","pauseAction":"Pause","pauseAgentsFailed":"Failed to pause agents: {{error}}","pauseAll":"Pause All","pauseAllAgents":"Pause All Agents","pauseAllConfirm_one":"Pause {{count}} agent in this project?","pauseAllConfirm_other":"Pause {{count}} agents in this project?","pauseAllTitle":"Pause All Agents","pauseCountHint_one":"Pause {{count}} active/running agent","pauseCountHint_other":"Pause {{count}} active/running agents","pauseCountHint_one_one":"","pauseCountHint_one_other":"","pauseCountHint_other_one":"","pauseCountHint_other_other":"","pausedPast":"paused","pausedSummary_one":"Paused {{count}} agent; skipped {{skipped}}","pausedSummary_other":"Paused {{count}} agents; skipped {{skipped}}","pendingApprovals":"Pending Approvals","pendingApprovalsCount_one":"{{count}} pending approvals","pendingApprovalsCount_other":"{{count}} pending approvals","performance":{"avgDuration":"Avg Duration","noData":"No performance data yet","reflections":"Reflections","successRate":"Success Rate","tasksCompleted":"Tasks Completed","tasksFailed":"Tasks Failed"},"permissionPolicyFailed":"Failed to update permission policy","permissionPolicyUpdated":"Permission policy updated","permissionsDescription":"Control what this agent is allowed to do.","permissionsTitle":"Permissions","pluginRuntime":"Plugin runtime","presetsHeader":"Choose a preset persona to prefill role, identity, soul, and instructions","preview":"Preview","promptSize":"Prompt size","promptSizeChart":"Prompt Size Chart","provideManifest":"Please provide manifest content","ratings":{"addError":"Failed to add rating: {{error}}","addRating":"Add Rating","addSuccess":"Rating added","categoryAverages":"Category Averages","categoryCommunication":"Communication","categoryOther":"Other","categoryQuality":"Quality","categoryReliability":"Reliability","categorySelect":"Select category...","categorySpeed":"Speed","commentPlaceholder":"Optional comment...","count_one":"{{count}} ratings","count_other":"{{count}} ratings","deleteError":"Failed to delete rating: {{error}}","deleteRating":"Delete rating","deleteSuccess":"Rating deleted","historyTitle":"Rating History","loadError":"Failed to load ratings: {{error}}","loading":"Loading ratings...","noRatings":"No ratings yet","starCount_one":"{{count}} star","starCount_other":"{{count}} stars","submitRating":"Submit Rating","submitting":"Submitting...","title":"User Ratings"},"recentRuns":"Recent Runs","reflections":{"agentNotFound":"This agent is no longer available. It may have been deleted.","generateError":"Failed to generate reflection: {{error}}","generateSuccess":"Reflection generated successfully","getStarted":"Trigger a reflection to get started","historyTitle":"Reflection History","insights":"Insights","insufficientHistory":"Not enough history to generate a reflection yet","loadError":"Failed to load reflections: {{error}}","loading":"Loading reflections...","loadingEvaluation":"Loading evaluation...","metricAvgDuration":"Avg Duration:","metricErrors":"Errors:","metricFailed":"Failed:","metrics":"Metrics","metricTasks":"Tasks:","noReflections":"No reflections yet","reflecting":"Reflecting...","reflectNow":"Reflect Now","reflectNowTitle":"Generate a manual reflection","sectionTitle":"Performance, Reflections & Ratings","suggestedImprovements":"Suggested Improvements"},"refresh":"Refresh","removeAvatar":"Remove avatar","replyingTo":"Replying to","reportsToLabel":"Reports to","resetBudgetUsage":"Reset Budget Usage","resetDayHint":"The day of the week or month when the budget resets.","resetDayLabel":"Reset Day","resetDayMonthly":"Day of month (1–28)","resetDayWeekly":"Day of week (0=Sun)","resetting":"Resetting...","resizeSidebar":"Resize agents sidebar","result":"Result","resultCreated_one":"{{count}} created","resultCreated_other":"{{count}} created","resultErrors_one":"{{count}} error{{plural}}","resultErrors_other":"{{count}} error{{plural}}","resultSkipped_one":"{{count}} skipped (already exist)","resultSkipped_other":"{{count}} skipped (already exist)","resume":"Resume","resumeAction":"Resume","resumeAgentsFailed":"Failed to resume agents: {{error}}","resumeAll":"Resume All","resumeAllAgents":"Resume All Agents","resumeAllConfirm_one":"Resume {{count}} agent in this project?","resumeAllConfirm_other":"Resume {{count}} agents in this project?","resumeAllTitle":"Resume All Agents","resumeCountHint_one":"Resume {{count}} paused agent","resumeCountHint_other":"Resume {{count}} paused agents","resumeCountHint_one_one":"","resumeCountHint_one_other":"","resumeCountHint_other_one":"","resumeCountHint_other_other":"","resumedPast":"resumed","resumedSummary_one":"Resumed {{count}} agent; skipped {{skipped}}","resumedSummary_other":"Resumed {{count}} agents; skipped {{skipped}}","retry":"Retry","reviewConfiguration":"Review generated configuration","reviewHint":"Review your agent configuration before creating.","role":"Role","roleCustom":"Custom","roleEngineer":"Engineer","roleExecutor":"Executor","roleLabel":"Role","roleLabel2":"Role","roleMerger":"Merger","roleReviewer":"Reviewer","roleScheduler":"Scheduler","roleTriage":"Triage","roleUpdated":"Agent role updated to {{role}}","roleUpdateError":"Failed to update role: {{error}}","roleUpdateFailed":"Failed to update role: {{error}}","roleUpdateSuccess":"Agent role updated to {{role}}","runAriaLabel":"Run {{id}}","runDetailsFailed":"Failed to load run details","runMissedHeartbeat":"Run missed heartbeat","runMissedHeartbeatHint":"Trigger a run if the agent misses a scheduled heartbeat.","running":"Running","runNow":"Run Now","runNowAria":"Run now for {{name}}","runNowFor":"Run now for {{name}}","runs":{"empty":"No runs yet","loading":"Loading runs…","stop":"Stop","stopAriaLabel":"Stop run","stopMessage":"Stop this run?","stopTitle":"Stop Run"},"runsCount_one":"{{count}} run","runsCount_other":"{{count}} runs","runsSuccessRate":"{{rate}}% success rate","runStarted":"Run started","runsToday":"Runs today","runStopped":"Run stopped","runtime":"Runtime","runtimeEmpty":"No plugin runtimes available","runtimeLabel":"Runtime","runtimeMode":"Runtime mode","runtimePlaceholder":"Select a plugin runtime…","runtimeSource":"Runtime Source","runtimeSourceBuiltIn":"Built-in Model","runtimeSourcePlugin":"Plugin Runtime","save":"Save","saveBeforeSwitch":"Save changes before switching files","saveCustomInterval":"Save custom interval","saveFailed":"Save failed","saveFile":"Save File","saveHeartbeatFile":"Save Heartbeat File","saveInstructions":"Save Instructions","saveMemory":"Save Memory","saveMemoryFile":"Save Memory File","saveSettings":"Save Settings","saveSoul":"Save Soul","saving":"Saving…","savingChanges":"Saving changes...","savingFile":"Saving file...","scopeDisciplineHint":"Controls how strictly the agent follows its scope during heartbeats.","searchCompanies":"Search companies…","sectionConfiguration":"Configuration","sectionIdentity":"Identity","sectionRuntime":"Runtime","selectAgent":"Select agent {{name}}","selectAgentHint":"Choose an agent from the sidebar to view details","selectAllAgents":"Select all agents","selectAllSkills":"Select all skills","selectAnAgent":"Select an agent","selectCompany":"Please select a company from the catalog","selectDirectory":"Select Directory","selected":"Selected:","selectedAgentLabel_one":"{{count}} Agent{{plural}}","selectedAgentLabel_other":"{{count}} Agent{{plural}}","selectedSkillLabel_one":"{{count}} Skill{{plural}}","selectedSkillLabel_other":"{{count}} Skill{{plural}}","selectMemoryFile":"Select a memory file","selectModel":"Model","selectModelPlaceholder":"Select a model…","selectRuntime":"Select a runtime","selectSkill":"Select skill {{name}}","setHeartbeatAria":"Set heartbeat interval for {{name}}","settingsSaved":"Settings saved","settingsSaveFailed":"Failed to save settings","setupModeAriaLabel":"Agent setup mode","showSystemAgents":"Show system agents","skills":"Skills","skillsDescription":"Manage the skills available to this agent.","skillsErrors_one":"{{count}} skill{{plural}} error{{pluralError}}","skillsErrors_other":"{{count}} skill{{plural}} error{{pluralError}}","skillsFound_one":"{{count}} skill{{plural}} found","skillsFound_other":"{{count}} skill{{plural}} found","skillsHint":"Optional skills to assign to this agent","skillsImported_one":"{{count}} skill{{plural}} imported","skillsImported_other":"{{count}} skill{{plural}} imported","skillsNone":"No skills assigned","skillsSelected_one":"{{count}} skill selected","skillsSelected_other":"{{count}} skills selected","skillsSkipped_one":"{{count}} skill{{plural}} skipped (already exist)","skillsSkipped_other":"{{count}} skill{{plural}} skipped (already exist)","skillsTitle":"Skills","skipHeartbeatWhenIdle":"Skip heartbeat when idle","skipHeartbeatWhenIdleHint":"Avoid running heartbeats when the agent has nothing to do.","soulDescription":"The soul defines this agent's personality, values, and communication style.","soulEmptyPreview":"No soul yet — switch to edit mode to add one.","soulHint":"Describe who this agent is — its character, tone, and values.","soulPlaceholder":"Describe this agent's soul...","soulSaved":"Soul saved","soulSaveFailed":"Failed to save soul","soulTitle":"Soul","soulTooLong":"Soul content is too long","start":"Start","starting":"Starting...","startOnboarding":"Start onboarding","stateActive":"Active","stateAll":"All States","stateError":"Error","stateIdle":"Idle","statePaused":"Paused","stateRunning":"Running","stateUpdated":"Agent state updated","stateUpdateError":"Failed to update state: {{error}}","stateUpdateFailed":"Failed to update agent state","stateUpdateSuccess":"Agent state updated to {{state}}","status":"Status","statusCount":"{{activeCount}} active · {{runningCount}} running","step":"Step {{number}}{{total}}: {{name}}","stepAriaLabel":"Step {{step}}","stop":"Stop","stopActiveRun":"Stop active run","stopActiveRunFor":"Stop active run for {{name}}","stopRun":"Stop Run","stopRunConfirm":"Are you sure you want to stop this run?","stopRunFailed":"Failed to stop run","stopRunTitle":"Stop Run","strict":"Strict","successRate":"Success rate","systemDefault":"System default","systemDefaultOnHeartbeat":"System default (on heartbeat)","systemPrompt":"System Prompt","systemPromptNotCaptured":"System prompt not captured","tabConfig":"Config","tabCustom":"Custom agent","tabDashboard":"Dashboard","tabEmployees":"Employees","tabInstructions":"Instructions","tabLogs":"Logs","tabMail":"Mail","tabMemory":"Memory","tabPresets":"Preset personas","tabReflections":"Reflections","tabRuns":"Runs","tabSoul":"Soul","tabTasks":"Tasks","taskUpdated":"Task updated","templateCompact":"Compact","templateDefault":"Default","thinkingHigh":"High","thinkingLevel":"Thinking level","thinkingLow":"Low","thinkingMedium":"Medium","thinkingMinimal":"Minimal","thinkingOff":"Off","thinkingXhigh":"Very High","throughput":"Throughput","timeSinceLastHeartbeat":"Time since last heartbeat","title":"Agents","titleLabel":"Title","titlePlaceholder":"e.g. Senior Engineer","tokenBudgetHint":"Maximum tokens this agent can use per budget period.","tokenBudgetLabel":"Token Budget","tokenStatistics":"Agent token usage statistics","tokenUsage":"Token Usage","tokenUsageByAgent":"Token Usage by Agent","tokenUsageTotals":"Token usage totals","total":"Total","totalRuns":"Total runs","unknownManager":"Unknown manager","unreadMessage":"Unread","upgradeHint":"Upgrade from","upgradeHintSuffix":"to the latest default.","upgradeHintTo":"to","upgradeToDefault":"Upgrade to default","upgradeToDefaultAriaLabel":"Upgrade heartbeat procedure to default","upgrading":"Upgrading...","uploadAvatar":"Upload avatar","usageThresholdHint":"Send a warning when usage reaches this percentage of the budget.","usageThresholdLabel":"Usage Warning Threshold (%)","useGlobalDefault":"Use global default","viewAgent":"View agent","viewDetailsFor":"View details for {{name}}","viewHeartbeatMarkdown":"View heartbeat markdown","viewLiveLogs":"View live run logs","viewLiveRun":"View live run details","viewLiveRunAria":"View live run details for {{name}}","viewLogsFor":"View live logs for {{taskId}}","viewSkillDetails":"View skill details","viewTask":"View task","waitingForActivity":"Waiting for activity...","waitingForQuestion":"Waiting for AI question...","waitingOutput":"Waiting for output...","weekly":"Weekly","workingOn":"Working on","zoomIn":"Zoom in","zoomOut":"Zoom out","capabilityGrantsTitle":"Capability grants","capabilityGrantsDescription":"Explicit grants add to this agent's role defaults and apply to both permanent and ephemeral agents.","roleDefaultGrant":"Role default grant","explicitGrant":"Explicit grant","notGranted":"Not granted","toggleCapabilityGrant":"Toggle explicit grant for {{permission}}","capabilityPermissionsUpdated":"Capability grants updated","capabilityPermissionsFailed":"Failed to update capability grants: {{error}}"}`),u={backendError:{failedFetch:"Failed to fetch projects"},testMode:"Test mode — no real AI calls"},p="Fusion",g={dismissBanner:"Dismiss approval notification banner",needAttention_one:"{{count}} approval {{noun}} need your attention",needAttention_other:"{{count}} approval {{noun}} need your attention",openMailbox:"Open Mailbox",requestPlural:"requests",requests:"Approval requests",requestSingular:"request"},m={clearAndRetry:"Clear token and retry",pasteToken:"Paste token",relogin:"Re-login",reloginRequired:"Re-login required: {{provider}}. Your {{provider}} session expired — sign in again to keep agents running.",reloginRequiredMultiple:"Re-login required: {{providers}}",replacementToken:"Replacement token",setAndReload:"Set token and reload",tokenRecoveryDescription:"This dashboard session can't authenticate with the daemon. Set a replacement token or clear the current token and retry.",tokenRequired:"Authentication token required"},h={changeLaunchMode:"Change Launch Mode…",connectionError:"Can't reach the Fusion backend",couldNotLoad:"Fusion couldn't load your projects right now. Please make sure the backend is running and try again.",error:"Error: {{error}}",manageConnection:"Manage Connection",retryConnection:"Retry Connection",retrying:"Retrying…"},f={archived:"Archived",done:"Done",inProgress:"In Progress",inReview:"In Review",rejection:{capacityExhausted:"That column is at capacity. Try again when a slot frees up.",guardRejected:"This move is not allowed by the workflow.",mergeBlocked:"This task is blocked from completing until its merge step finishes.",promoteRejected:"This card could not be promoted.",unknownColumn:"That column doesn't exist in this task's workflow.",workflowMismatch:"Drag can't move a card between workflows. Use the workflow switcher instead."},todo:"To Do",triage:"Planning",workflow:{edit:"Edit workflows",new:"New workflow"}},b={abandonGroup:"Abandon group",autoMergeEnabled:"Auto-merge enabled",collapseLabel:"Collapse branch group",completionText:"{{landed}} of {{total}} members finished",expandLabel:"Expand branch group",groupLabel:"Group {{id}}",loadError:"Failed to load branch group",loading:"Loading branch group…",mergeIntoMain:"Merge group into main",openPr:"Open PR",unavailable:"Branch group unavailable"},v={prNumber:"PR #{{number}}"},k={dismiss:"Dismiss capacity warning",risk:"Capacity risk:",status:"Todo {{todoCount}} (threshold {{threshold}}) · In Progress {{inProgress}} · In Review {{inReview}} · Idle agents {{idleAgents}}"},y={disableWrap:"Disable word wrap",enableWrap:"Enable word wrap",merged:"Merged {{date}}",nextFile:"Next file (Ctrl+↓)",nextFileAria:"Next file",noDiff:"No diff available for this file.",previousFile:"Previous file (Ctrl+↑)",previousFileAria:"Previous file",selectFile:"Select a file to view its diff",title:"Changes",toggleWrap:"Toggle word wrap"},w={archive:"Archive",attachFiles:"Attach files",cancel:"Cancel",cancelButton:"Cancel",clearConversationFailed:"Failed to clear conversation",closeQuickChat:"Close quick chat",conversationArchived:"Conversation archived",conversationDeleted:"Conversation deleted",conversationName:"Conversation name",conversationRenamed:"Conversation renamed",contextWindowAria:"Estimated {{used}} of {{total}} context tokens",copyFailed:"Copy failed",copyResponse:"Copy response",create:"Create",createButton:"Create",createRoom:"Create room",delete:"Delete",deleteConversation:"Delete conversation",deleteConversationBody:"This action cannot be undone. All messages in this conversation will be permanently deleted.",deleteConversationTitle:"Delete Conversation?",deleteRoom:"Delete room {{name}}",deleteRoomBody:"This action cannot be undone. This room and all its messages will be permanently deleted.",deleteRoomTitle:"Delete Room?",dismissQueuedMessage:"Dismiss queued message",failedToArchiveConversation:"Failed to archive conversation",failedToClearConversation:"Failed to clear conversation",failedToClearRoomConversation:"Failed to clear room conversation",failedToCreateSession:"Failed to create chat session",failedToDeleteConversation:"Failed to delete conversation",failedToDeleteRoom:"Failed to delete room",failedToRenameConversation:"Failed to rename conversation",failedToSendRoomMessage:"Failed to send room message",failureDetails:"Failure details",helpMessageContent:"Available commands:\n- `/new` or `/clear` — Clear conversation and start fresh\n- `/skill:{name}` — Use a specific skill\n- `/help` — Show this help",jumpToLatest:"Latest",latest:"Latest",loadingAgents:"Loading agents...",loadingConversation:"Loading conversation…",loadingConversations:"Loading...",loadingMessages:"Loading messages...",loadingModels:"Loading models...",loadingOlderMessages:"Loading older messages…",loadingSessions:"Loading sessions…",loadingSkills:"Loading skills…",matchedInMessage:'Matched: "{{preview}}"',mentionNonMember:"Not a member of {{roomName}}",messageAgentPlaceholder:"Message {{name}}",messageModelPlaceholder:"Message {{name}}",messageRoomPlaceholder:"Message #{{name}}",messageSentButReplyFailed:"Message sent, but assistant reply failed",messageSentButReplyFailedDetail:"Message sent, but assistant reply failed: {{detail}}",modeAgent:"Agent",modeModel:"Model",newChat:"New Chat",newChatModeAgent:"Agent",newChatModeModel:"Model",newChatTitle:"New Chat",noAgentsAvailable:"No agents available",noConversationsYet:"No conversations yet",noMessage:"No message",noMessages:"No messages",noMessagesYet:"No messages yet. Start the conversation!",noRoomsYet:"No rooms yet.",noSkillsAvailable:"No skills available",noSkillsFound:"No skills found",openQuickChat:"Open quick chat",questionAnsweredLabel:"Answered",questionAnsweredWithoutContent:"A later user reply answered this question.",questionConfirmNo:"No",questionConfirmYes:"Yes",questionResponseEyebrow:"Assistant question",questionResponseLabel:"Question from assistant",questionSelectHint:"Answer all questions to continue the chat.",questionSubmit:"Send answer",questionSubmittedAnswerLabel:"Submitted answer",questionTextPlaceholder:"Type your answer here…",queuedMessage:"Queued: {{preview}}",quickChatTitle:"Quick Chat",relativeTimeDays_one:"{{count}}d ago",relativeTimeDays_other:"{{count}}d ago",relativeTimeHours_one:"{{count}}h ago",relativeTimeHours_other:"{{count}}h ago",relativeTimeJustNow:"just now",relativeTimeMinutes_one:"{{count}}m ago",relativeTimeMinutes_other:"{{count}}m ago",removeAttachment:"Remove {{name}}",rename:"Rename",renameConversationAria:"Rename conversation {{title}}",renameConversationBody:"Choose a new name for this conversation. Leave it blank to show Untitled.",renameConversationTitle:"Rename Conversation",renamePlaceholder:"Untitled",resizePanelBottom:"Resize panel from bottom",resizePanelBottomLeft:"Resize panel from bottom-left corner",resizePanelBottomRight:"Resize panel from bottom-right corner",resizePanelLeft:"Resize panel from left",resizePanelRight:"Resize panel from right",resizePanelTop:"Resize panel from top",resizePanelTopLeft:"Resize panel from top-left corner",resizePanelTopRight:"Resize panel from top-right corner",resizeSidebar:"Resize chat sidebar",responseCopied:"Response copied",responseFailed:"Response failed",roomMemberCount_one:"{{count}} member",roomMemberCount_other:"{{count}} members",roomsGroupLabel:"Rooms",save:"Save",scopeDirect:"Direct",scopeRooms:"Rooms",scrollMessageToTop:"Scroll message to top",searchConversations:"Search conversations...",selectAgentForNewChat:"Select agent for new chat",selectAgentPlaceholder:"Select an agent to start chatting",selectModel:"Select a model",selectModelOverrideLabel:"Select model override",selectModelPlaceholder:"Select a model to start chatting",selectModelPlaceholder2:"Select a model",selectRoomOrCreate:"Select a room or create one",selectSession:"Select a session",selectSessionLabel:"Select session",sendMessageFailed:"Failed to send message",sendRoomMessageFailed:"Failed to send room message",sessionsGroupLabel:"Sessions",skillSuggestions:"Skill suggestions",startNewChat:"Start a new chat",startNewConversation:"Start a new conversation",stopGeneration:"Stop generation",thinking:"Thinking",thinkingLabel:"Thinking",thinkingLevelButton:"Thinking level",thinkingStatus:"Thinking…",toolArgsLabel:"args",toolArgsPreview:"args: {{summary}}",toolCalls:"Tool calls",toolCallsCount_one:"{{count}} tool calls",toolCallsCount_other:"{{count}} tool calls",toolResultLabel:"result",toolResultPreview:"result: {{summary}}",typeMessage:"Type a message...",unreadMessages:"Unread messages",untitledSession:"Untitled",workingStatus:"Working…",you:"You",modelAgentSection:"Model / Agent",thinkingLevelSection:"Thinking level",noModelsAvailable:"No models available",currentAgentTarget:"Current agent: {{name}}",currentModelTarget:"Current model: {{model}}",currentDefaultTarget:"Using the default chat target"},A={error:{deliveredButRefreshFailed:"Message delivered, but failed to refresh room replies",failedToLoad:"Failed to load chat rooms",failedToUpload:"Failed to upload attachment: {{filename}}",selectRoomFirst:"Select a room before sending a message"}},S={installBody:"Get the {{fn}} and {{fusion}} commands on your terminal so you can drive Fusion from anywhere. One click below or copy the command into your shell.",installButton:"Install with npm",installing:"Installing…",installTitle:"Install the Fusion CLI",openSettings:"Open Settings",updateButton:"Update with npm",updateTitle:"Update the Fusion CLI",updating:"Updating…",versionMismatchInfix:"but this dashboard expects",versionMismatchPrefix:"Your installed",versionMismatchSuffix:"Update to stay in sync."},C={binaryLabel:"Binary:",checking:"Checking…",copied:"Copied",copy:"Copy",expectedVersion:"(expected {{version}})",failedExit:"Install failed (exit {{code}})",heading:"CLI Binary",help:"Installing the global CLI lets you run fn and fusion from any terminal. Automations and scripts work without it via npx, but a global install is faster and more convenient.",installing:"Installing…",installWithNpm:"Install with npm",notOnPath:"Neither fn nor fusion was found on PATH.",orCopyLabel:"Or copy and run yourself:",pathLabel:"Path:",refresh:"Refresh",reinstall:"Reinstall",stateCheckDisabled:"Check disabled",stateInstalled:"Installed",stateMissing:"Not installed",stateVersionMismatch:"Version mismatch",succeededDuration:"Install succeeded in {{duration}}s",versionLabel:"Version:"},T={queued_one:"{{count}} message queued — will send when the agent is ready",queued_other:"{{count}} message queued — will send when the agent is ready",terminalTab:"Terminal",transcriptTab:"Transcript",viewToggleLabel:"Chat view"},P={adapterSettings:"Adapter settings",advance:"Advance",advancePrompt:"This session looks idle — advance to review?",mobileInputPlaceholder:"Type to send to the session…",mobileKeyArrowDown:"Cursor down",mobileKeyArrowLeft:"Cursor left",mobileKeyArrowRight:"Cursor right",mobileKeyArrowUp:"Cursor up",mobileKeyCtrl:"Sticky Ctrl modifier",mobileKeyCtrlC:"Send Ctrl-C",mobileKeyEsc:"Send Escape",mobileKeyTab:"Send Tab",mobileSend:"Send",notYet:"Not yet",postureBaseline:"Baseline",postureResolved:"Resolved posture",readOnly:"Read-only",replayEnded:"Session ended",replayIdle:"Session idle"},R={actionsAriaLabel:"{{columnLabel}} column actions",actionsTitle:"Column actions",archiveAllDoneAriaLabel:"Archive all done tasks",archiveAllDoneTitle:"Archive all done tasks",archiveAllMessage_one:"Archive all {{count}} done tasks?",archiveAllMessage_other:"Archive all {{count}} done tasks?",archiveAllTitle:"Archive All Done",archivedTasks_one:"Archived {{count}} tasks",archivedTasks_other:"Archived {{count}} tasks",autoMerge:"Auto-merge",autoMergeDisabled:"Auto-merge disabled",autoMergeEnabled:"Auto-merge enabled",cancelMove:"Cancel Move",collapseArchivedLabel:"Collapse archived tasks",collapseArchivedTitle:"Collapse archived tasks",expandArchivedLabel:"Expand archived tasks",expandArchivedTitle:"Expand archived tasks",failedToArchive:"Failed to archive tasks",keepProgress:"Keep Progress",loadMore_one:"Load {{count}} more ({{remaining}} remaining)",loadMore_other:"Load {{count}} more ({{remaining}} remaining)",moveAllToTodo:"Move All to Todo",moveAllToTodoMessage_one:"Move all {{count}} {{columnLabel}} task{{plural}} to Todo?",moveAllToTodoMessage_other:"Move all {{count}} {{columnLabel}} task{{plural}} to Todo?",moveAllToTodoTitle:"Move All to Todo",movedToPlanning_one:"Moved {{count}} task{{plural}} to planning for replanning",movedToPlanning_other:"Moved {{count}} task{{plural}} to planning for replanning",movedToTodo_one:"Moved {{count}} task{{plural}} to Todo",movedToTodo_other:"Moved {{count}} task{{plural}} to Todo",movePartialFailure:"Moved {{moved}} of {{total}} tasks; {{failed}} failed",moveToTodoHint_one:"Move {{count}} task{{plural}} to Todo",moveToTodoHint_other:"Move {{count}} task{{plural}} to Todo",moveToTodoPartialFailure:"Moved {{moved}} of {{total}} tasks to Todo; {{failed}} failed",newTask:"New Task",noManuallyPausableTasks:"No manually pausable tasks",noTasks:"No tasks",noTasksInColumn:"No tasks in this column",pauseHint_one:"Pause {{count}} active unassigned task{{plural}}",pauseHint_other:"Pause {{count}} active unassigned task{{plural}}",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressMoveTodoMessage:"Some tasks have completed steps. Keep progress before moving to Todo?",preserveProgressTitle:"Preserve Progress?",replanAll:"Replan All",replanAllHint_one:"Move {{count}} task{{plural}} to Planning",replanAllHint_other:"Move {{count}} task{{plural}} to Planning",replanAllMessage_one:"Move all {{count}} todo task{{plural}} back to planning to be replanned?",replanAllMessage_other:"Move all {{count}} todo task{{plural}} back to planning to be replanned?",replanAllTitle:"Replan All Tasks",resetProgress:"Reset Progress",resetProgressConfirm:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressMoveTodoMessage:"Reset step progress for tasks before moving to Todo?",resetProgressTitle:"Reset Progress?",stopAll:"Stop All",stopAllMessage_one:"Stop all {{count}} {{columnLabel}} task{{plural}}?",stopAllMessage_other:"Stop all {{count}} {{columnLabel}} task{{plural}}?",stopAllTitle:"Stop All Tasks",stopPartialFailure:"Stopped {{paused}} of {{total}} tasks; {{failed}} failed",stoppedTasks_one:"Stopped {{count}} task{{plural}}",stoppedTasks_other:"Stopped {{count}} task{{plural}}"},F=JSON.parse('{"activity":{"activeAgents":"Active agents","activeNodes":"Active nodes","agentRunOutcomeShare":"Agent run outcome share","agentRuns":"Agent runs","agentRunsActive":"Active","agentRunsCompleted":"Completed","agentRunsFailed":"Failed","agentRunsPerDay":"Agent runs / day","agentsPerDay":"Active agents / day","messages":"Messages","messagesPerDay":"Messages / day","nodesPerDay":"Active nodes / day","rechartsLine":"Activity trend","sessions":"Sessions","stickiness":"Stickiness","stickinessHint":"DAU / MAU","summaryTitle":"Summary","throughput":"Throughput","throughputPerDay":"Throughput / day"},"area":{"empty":"No data for the selected range.","loading":"Loading…"},"areaPending":"This area renders once metrics data is available.","controls":{"concurrency":{"description":"Tune live scheduler capacity.","error":"Unable to load concurrency settings","maxConcurrent":"Max concurrent tasks","maxTriageConcurrent":"Max triage concurrent","maxWorktrees":"Max worktrees","title":"Concurrency","runningGlobal":"{{count}} running (all projects)","runningProject":"{{count}} running (this project)"},"engine":{"description":"Stopping the engine halts all AI work.","title":"AI engine"},"heartbeat":{"description":"Pause or resume the scheduling heartbeat.","disabledByStop":"Start the AI engine before resuming the heartbeat.","pause":"Pause heartbeat","resume":"Resume heartbeat","title":"Heartbeat control"},"orgChart":{"empty":"No agents are reporting in yet.","error":"Unable to load org chart","loading":"Loading org chart…","title":"Agent org chart"},"status":{"error":"Unable to load live scheduler status","lastActivity":"Last activity","loading":"Loading…","maxConcurrent":"Max concurrent","noActivity":"No recent activity","paused":"Paused","ready":"Ready","running":"Running","saved":"Saved","saveError":"Save failed","saving":"Saving…","stopped":"Stopped"},"theme":{"description":"Switch the dashboard theme with live color previews.","title":"Theme"},"title":"Operator controls"},"ecosystem":{"breadthTitle":"Ecosystem breadth","empty":"No models or plugins active in the selected range.","modelShareTitle":"Task share by model","perModelTitle":"Tasks per model","plugins":"Plugin activations","pluginsUnavailable":"Plugin-activation metrics are not yet recorded","taskTrendSeries":"Tasks","tokenTrendSeries":"Tokens","trendTitle":"Ecosystem trend","uniqueModels":"Active models"},"empty":"No usage data yet. Run some agents to populate the Dashboard.","funnel":{"ariaLabel":"Tasks per workflow stage","completionRate":"Completion rate","completionRateAria":"Completion rate for in-range planning entrants","completionRateHint":"Done ÷ entered (in range)","doneInRange":"Reached done","empty":"No task transitions in the selected range.","enteredInRange":"Entered planning","rangeDays_one":"{{count}} day range","rangeDays_other":"{{count}} day range","stage":{"done":"Done","inProgress":"In progress","inReview":"In review","other":"Other","todo":"Todo","triage":"Planning"},"throughputPerDay":"Tasks done / day","throughputTitle":"Throughput","title":"SDLC funnel"},"github":{"backfillBusy":"Backfilling close times…","backfillButton":"Backfill exact close times","backfillFailed":"Failed to backfill GitHub source issue close times","backfillMaxBatches":"Backfill stopped after the safety limit; rerun after checking server logs.","backfillNothing":"Nothing to backfill. Scanned {{scanned}}, filled {{filled}}, skipped {{skipped}}, errors {{errors}}.","backfillPending":"Backfill is running in paginated batches.","backfillResult":"Backfill complete. Scanned {{scanned}}, filled {{filled}}, skipped {{skipped}}, errors {{errors}}.","byRepo":"By repository","dailyLine":"Filed vs fixed line","dailyTrend":"Filed vs fixed trend","empty":"No GitHub issue activity in the selected range.","filed":"Filed by Fusion","filedTrend":"Filed","fixed":"Fixed by Fusion","fixedApproximation":"Uses done tasks updated in range","fixedTrend":"Fixed","issueFlowShare":"Filed vs fixed share","net":"Net","repoValue":"{{filed}} filed / {{fixed}} fixed","totalsTitle":"GitHub issue flow"},"heading":"Dashboard","loading":"Loading dashboard...","missionControl":{"activeNodes":"Active nodes","activeRuns":"Active runs","activeSessions":"Active sessions","funnelTitle":"SDLC funnel (live)","idle":"No active sessions. Live updates resume when work starts.","inactive":"inactive","loading":"Loading live activity…","nodesTitle":"Nodes","noNodes":"No active nodes.","noSessions":"No active sessions.","sessionCount_one":"{{count}} session","sessionCount_other":"{{count}} session","sessionsTitle":"Sessions"},"overview":{"activeNodes":"Active nodes","agentRuns":"Agent runs","agentsWorking":"agents working","autonomy":"Autonomy ratio","dailyActivity":"Daily activity trend","dailyActivityAria":"Daily activity trend","dailyActivityHint":"Messages plus active agents per day","dailyActivityLine":"Daily activity line","dailyActivityLineHint":"Messages, agents, and runs by day","liveStrip":"Live activity","liveTokens":"tokens","openSignals":"Open signals","sessions":"Sessions","tasksDone":"Tasks done","tasksInProgress":"tasks in progress","throughputTrend":"throughput trend","throughputTrendAria":"Recent activity throughput trend","tokensByModel":"Tokens by model","tokensByModelHint":"Top model token consumers in this range","tokensByModelPie":"Token share by model","tokensByModelPieHint":"Top model token share in this range","tokensCost":"Tokens & cost","toolCategories":"Tool categories","toolCategoriesHint":"Autonomous work grouped by tool family","uniqueModels":"Unique models"},"productivity":{"averageDuration":"Average","backfillAppliedLabel":"Applied","backfillApply":"Apply backfill","backfillBusy":"Checking historical LOC…","backfillButton":"Preview LOC backfill","backfillConfirmMessage":"This will persist diff stats to task_commit_associations for historical commit associations. Review the dry-run counts before applying.","backfillConfirmTitle":"Apply LOC backfill?","backfillDistinctCommits":"Distinct commits","backfillFailed":"Failed to backfill historical LOC stats","backfillPending":"LOC backfill check is running.","backfillPreviewLabel":"Dry-run preview","backfillResult":"Backfill report","backfillScannedRows":"Scanned rows","backfillSkippedInvalidShas":"Skipped invalid SHAs","backfillSkippedUnavailableCommits":"Skipped unavailable commits","backfillUpdatedRows":"Updated rows","byLanguage":"Files by language","commits":"Commits","completedTasks":"Completed tasks","durationTitle":"Task duration","durationUnavailable":"Task duration is unavailable until completed tasks have active execution time recorded","hoursSaved":"Human hours saved","hoursSavedEstimate":"estimate from lines changed","hoursSavedUnavailable":"Estimated human hours saved is unavailable until commit diff stats exist","languagePie":"Language share","loc":"Lines changed","locUnavailable":"LOC is unavailable until commit diff stats are recorded","medianDuration":"Median","modifiedFiles":"Files modified","outcomesTitle":"Outcomes","p90Duration":"P90","pullRequests":"Pull requests","totalDuration":"Total active","volumeHint":"volume, not outcome","volumeTitle":"Volume (proxy)"},"range":{"custom":"Custom range","dialogLabel":"Select date range","from":"From","invalidRange":"Start date must be on or before end date","to":"To"},"signals":{"bySeverity":"By severity","bySource":"By source","empty":"No external signals yet. Connect a signal source (Sentry, Datadog, PagerDuty, webhook) to see incident metrics here.","mttr":"MTTR","mttrUnavailable":"MTTR is unavailable until incident data is recorded","mttrValue":"{{min}} min","open":"Open","resolved":"Resolved","statusShare":"Signal status share","summaryTitle":"Summary","total":"Total signals"},"system":{"cpuGauge":"App CPU usage","cpuSeries":"CPU","cpuTrend":"CPU over time","detailsTitle":"Runtime details","healthTitle":"Live system health","heapGauge":"Heap used","heapSeries":"Heap","heapTrend":"Heap over time","memoryGauge":"System memory used","memorySeries":"Memory","memoryTrend":"Memory over time","resourceTrend":"Resource trend","taskShare":"Task distribution","trendsTitle":"Live trends","workloadTitle":"Workload"},"tablistLabel":"Command Center sections","tabs":{"activity":"Activity","ecosystem":"Ecosystem","github":"GitHub","missionControl":"Mission Control","nodes":"Nodes","overview":"Overview","productivity":"Productivity","reliability":"Reliability","signals":"Signals","system":"System","team":"Team","workflows":"Workflows","tokens":"Tokens","tools":"Tools"},"team":{"agent":"Agent","completedByAgent":"Tasks done by agent","cost":"Cost","done":"Tasks done","empty":"No agents have reported team analytics yet.","files":"Files changed","filesChanged":"Files changed","inProgress":"In progress","noChartData":"No non-zero values for this chart yet.","spread":"Team spread","state":"Agent state: {{state}}","tableTitle":"Per-agent breakdown","tasksCompleted":"Tasks done","tokens":"Tokens","tokensByAgent":"Tokens by agent","tokenShareByAgent":"Token share by agent","totalCost":"Estimated cost","totalsTitle":"Team totals","totalTokens":"Total tokens","unknownAgent":"(unknown agent)","unknownRole":"Unknown role","unknownState":"unknown"},"workflows":{"completedByWorkflow":"Tasks done by workflow","cost":"Cost","done":"Tasks done","empty":"No workflow analytics have been recorded for this range yet.","files":"Files changed","filesChanged":"Files changed","inProgress":"In progress","inReview":"In review","noChartData":"No non-zero values for this chart yet.","tableTitle":"Per-workflow breakdown","tasksCompleted":"Tasks done","tokens":"Tokens","tokensByWorkflow":"Tokens by workflow","totalCost":"Estimated cost","totalsTitle":"Workflow totals","totalTokens":"Total tokens","unknownWorkflow":"(unknown workflow)","workflow":"Workflow"},"tokens":{"byModelChart":"Tokens by model","cached":"Cached","cost":"Estimated cost","costCol":"Cost","costUnavailable":"No pricing for this model","granularity":"Token chart granularity","input":"Input","model":"Model","output":"Output","overTimeChart":"Tokens over time","pieChart":"Token share by model","rechartsLine":"Tokens trend","stalePricing":"pricing may be stale","tableTitle":"Per-model breakdown","tasks":"Tasks","total":"Total","totalsTitle":"Totals","totalTokens":"Total tokens","unknownModel":"(unknown)"},"tools":{"autonomyHint":"tool calls per human intervention","autonomyRatio":"Autonomy ratio","categoriesTitle":"Tool categories","interventionBreakdown":"{{approvals}} approvals · {{steers}} steers","interventions":"Interventions","pieChart":"Tool category share","ratioAutonomous":"{{ratio}} calls/session (fully autonomous)","sessions":"Sessions","summaryTitle":"Summary","toolCalls":"Tool calls"}}'),L={addButton:"Add Comment",addedSuccess:"Comment added",deletedSuccess:"Comment deleted",deletingButton:"Deleting…",editedSuffix:"(edited)",emptyState:"No comments yet.",heading:"Comments",placeholder:"Add a comment",postingButton:"Posting…",updatedSuccess:"Comment updated",aiGuidance:"AI Guidance"},D={filesChanged_one:"Files Changed ({{count}})",filesChanged_other:"Files Changed ({{count}})"},M={error:"Error loading commit diff: {{error}}",loadError:"Failed to load commit diff",loading:"Loading commit diff...",mergedOnly:"Commit diff is only available for tasks that were merged.",noFiles:"No files changed in this commit.",noSha:"No commit SHA available."},I={archive:"Archive",back:"Back",cancel:"Cancel",close:"Close",closeAriaLabel:"Close",collapse:"Collapse",continue:"Continue",delete:"Delete",dismiss:"Dismiss",edit:"Edit",editMode:"Edit",expand:"Expand",learnMore:"Learn more →",loading:"Loading...",no:"No",noDataAvailable:"No data available",nothingToShow:"There is nothing to show yet.",preview:"Preview",previewMode:"Preview",refresh:"Refresh",retry:"Retry",save:"Save",saveAndTest:"Save & Test",saving:"Saving...",skip:"Skip",somethingWentWrong:"Something went wrong while loading this view.",stop:"Stop",test:"Test",testing:"Testing…",total:"total",tryAgain:"Try Again",unableToLoadData:"Unable to load data",unknown:"Unknown",unsavedChanges:"Unsaved changes",yes:"Yes"},N={loadingAgents:"Loading agents…",messageId:"Message {{id}}",messageLabel:"Message:",messagePlaceholder:"Type your message…",newMessageTitle:"New Message",noAgentsAvailable:"No agents available",replyingToLabel:"Replying to:",replyTitle:"Reply",selectAgent:"Select agent…",sendingButton:"Sending…",toLabel:"To:",wakeAgentCheckbox:"Wake agent immediately",wakeAlwaysImmediate:"(agent is already set to immediate response mode)",wakeOneOff:"(one-off override for this message only)"},x={cancel:"Cancel",closeDialog:"Close confirmation dialog",confirm:"Confirm"},E={aiReasoning:"AI Reasoning",aiThinking:"AI thinking",confirm:{no:"No",yes:"Yes"},hide:"Hide {{type}}",show:"Show {{type}}",yourResponse:"Your response"},H={create:"Create room",creating:"Creating...",failedCreate:"Failed to create room.",failedLoadAgents:"Failed to load agents.",loadingAgents:"Loading agents...",members:"Members",nameLabel:"Room name",noAgents:"No agents in this project yet.",noMatch:"No agents match your search.",searchAgents:"Search agents",selectMember:"Select at least one member.",title:"Create room"},B={initializingDashboard:"Initializing dashboard...",loadingMessage:"Loading Fusion dashboard",loadingProgress:"Dashboard loading progress",title:"Project Dashboard",updatingMessage:"Updating Fusion dashboard",updatingVersion:"Updating to a new frontend version..."},O={body:"Fusion's background SQLite integrity check reported corruption. Review the failing objects below before continuing critical operations.",instructions:"Back up the project, try {{cmd}} if the database still opens cleanly, and restore from a known-good backup if corruption persists. See {{link}} for the storage layout and recovery guidance.",lastChecked:"Last checked: {{checkedAtLabel}}",refreshHealth:"Refresh health",refreshing:"Refreshing…",title:"Database corruption detected",whatToDo:"What to do:"},U={projectNotFound:"Project '{{id}}' not found",taskNotFound:"Task {{id}} not found"},_={chooseMode:"How do you want to run Fusion?",chooseModeDescription:"Run Fusion locally in this app, or connect to a Fusion server you're already running somewhere else.",connectRemoteButton:"Connect to Remote Fusion",couldNotStart:"Couldn't start local Fusion",loading:"Loading Fusion…",opening:"Opening…",retry:"Retry",runLocalButton:"Run Fusion Locally",settingUpRemote:"Setting up remote connection…",starting:"Starting…",startingLocalRuntime:"Starting local Fusion runtime…"},j={allSeverities:"All severities",auto:"Auto",autoDetected:"Auto-detected: {{url}}",change:"Change",clear:"Clear",command:"Command",configuration:"Configuration",configurationLabel:"Dev server configuration",controlsHeaderLabel:"Dev server controls header",embedded:"Embedded",embeddedPreviewDisabled:"Embedded preview is disabled. Open your app in a separate browser tab.",enterFullscreen:"Enter fullscreen logs",errBadge:"ERR",error:"Error",exitFullscreen:"Exit fullscreen logs",externalOnly:"External only",filterBySeverity:"Filter logs by severity",info:"Info",lines:"{{count}} lines",lines_one:"{{count}} lines",lines_other:"{{count}} lines",loading:"Loading...",loadingConfig:"Loading dev server configuration...",loadingLogs:"Loading logs…",loadingOlderLogs:"Loading older logs…",loadOlderLogs:"Load older logs",logs:"Logs",logsLabel:"Dev server logs",lostConnection:"Lost log stream connection.",manual:"Manual",matchCount_one:"{{count}} match",matchCount_other:"{{count}} matches",newLogs:"New logs",noLogsYet:"No logs yet. Start the dev server to see output.",noMatchesSearch:"No log lines match your search.",noMatchesSeverity:"No log lines match the selected severity.",noPreviewDetected:"No preview URL detected. Start the dev server or set a manual URL to preview your app.",noPreviewUrl:"No preview URL",noScriptsDetected:"No dev server scripts detected. Check that your project has a package.json with a dev, start, or similar script.",notAvailable:" · Not available",openInNewTab:"Open in new tab",openPreviewInNewTab:"Open preview in new tab",openPreviewOrRetry:"Open the preview in a new tab, or retry embedded mode after checking your server settings.",preview:"Preview",previewBlocked:"Preview blocked",previewFailed:"Preview failed",previewLabel:"Dev server preview",previewUrlOverride:"Preview URL Override",refreshPreview:"Refresh preview",restart:"Restart",restarting:"Restarting...",retry:"Retry",retryEmbeddedPreview:"Retry embedded preview",runningCommand:"Running command",save:"Save",scriptSelection:"Script Selection",searchLogs:"Search logs",start:"Start",startDevServer:"Start a dev server to see a live preview here.",starting:"Starting...",status:{failed:"Failed",running:"Running",starting:"Starting...",stopped:"Stopped",stopping:"Stopping..."},stop:"Stop",stopping:"Stopping...",title:"Dev Server",toast:{clearedScript:"Cleared selected dev server script.",enterCommand:"Enter a command before starting the dev server.",previewCleared:"Preview URL override cleared.",previewUpdated:"Preview URL updated.",restarted:"Dev server restarted.",selectedScript:"Selected {{name}} script.",started:"Dev server started.",stopped:"Dev server stopped."},warn:"Warn"},q={ariaLabel:"Directory browser",browse:"Browse",cancel:"Cancel",closeBrowser:"Close directory browser",createFolder:"New folder",createFolderAria:"Create new folder",createFolderConfirm:"Create",createFolderError:"Folder name cannot contain path separators or '..'",createFolderTitle:"Create folder",defaultPlaceholder:"/path/to/your/project",hideHidden:"Hide hidden",hideHiddenAria:"Hide hidden directories",hideHiddenTitle:"Hide hidden",loading:"Loading…",newFolderPlaceholder:"Folder name",noSubdirs:"No subdirectories",openBrowser:"Browse directories",parentDir:"Go to parent directory",parentDirTitle:"Parent directory",select:"Select",showHidden:"Show hidden",showHiddenAria:"Show hidden directories",showHiddenTitle:"Show hidden",up:"Up"},W={actions:{addMount:"Add mount",addVariable:"Add variable",cancel:"Cancel",createNode:"Create Docker Node"},ariaLabels:{closeModal:"Close onboarding modal",modal:"Docker node onboarding",removeMount:"Remove volume mount",removeVariable:"Remove environment variable"},available:"Docker is available{{version}}",caPath:"CA Certificate Path",certPath:"Client Certificate Path",connected:"Connected{{version}}",connectionFailed:"Connection failed",container:"Container:",context:"Docker Context",creatingNode:"Creating Docker node...",errors:{cpusMinimum:"CPUs must be at least 0.5",memoryMinimum:"Memory must be at least 512 MB",nameRequired:"Name is required and must be 64 characters or fewer",urlRequired:"URL is required"},failedAt:"Failed at: {{stage}}",failedMessage:"Provisioning failed",host:"Docker Host",hostPlaceholder:"tcp://host:2376",keyPath:"Client Key Path",labels:{apiKey:"API Key",cpus:"CPUs",image:"Image",memory:"Memory (MB)",nodeName:"Node Name",reachableUrl:"Reachable URL",tag:"Tag"},local:"Local Docker",notFound:"Docker not found{{error}}",notFoundError:"Docker not found: {{message}}",options:{autoGenerate:"Auto-generate",claudeCli:"Claude CLI",droidCli:"Droid CLI",persistentStorage:"Keep data across container recreations",provideManually:"Provide manually"},placeholders:{apiKey:"Enter API key",containerPath:"Container path",envVarKey:"KEY",envVarValue:"Value",hostPath:"Host path",image:"runfusion/fusion",nodeName:"my-docker-node",tag:"latest"},provisionedIn:"Provisioned in {{durationSec}}s",refreshContexts:"Refresh contexts",remote:"Remote Host",retry:"Retry",sections:{advanced:"Advanced",environmentVariables:"Environment Variables",requiredSettings:"Required Settings",volumeMounts:"Volume Mounts"},selectContext:"Select context",stage:{creatingContainer:"Creating container...",pullingImage:"Pulling image...",registeringNode:"Registering node...",startingContainer:"Starting container..."},states:{creating:"Creating..."},successMessage:"Node created successfully!",targetMode:"Docker target mode",testConnection:"Test Connection",testing:"Testing...",titles:{provisionNode:"Provision Docker Node"},useTls:"Use TLS",verifyTls:"Verify TLS Certificate",viewNode:"View Node"},G={backToFiles:"Back to files",backToFilesList:"Back to project files list",clearSearch:"Clear search",collapse:"Collapse",collapseContent:"Collapse content",docCount_one:"{{count}} doc{{plural}}",docCount_other:"{{count}} doc{{plural}}",documentsCreatedIn:"Documents are created in task detail tabs.",expand:"Expand",expandContent:"Expand content",failedToLoad:"Failed to load {{type}}: {{error}}",hideHidden:"Hide hidden project files",hideHiddenFiles:"Hide hidden files",hideHiddenLabel:"Hide Hidden",loadingFileContent:"Loading file content…",loadingProjectFiles:"Loading project markdown files…",loadingTaskDocuments:"Loading task documents…",markdown:"Markdown",noMarkdownFiles:"No Markdown files found in this project.",noMatchProject:'No project markdown files match "{{query}}".',noMatchTask:'No task documents match "{{query}}".',noTaskDocuments:"No task documents yet.",openTask:"Open task",plain:"Plain",projectFilePreviewLabel:"Project file content preview",projectFiles:"project files",projectFilesTab:"Project Files",projectMarkdownFilesLabel:"Project markdown files",readOnly:"Read-only",readOnlyHint:"This preview is read-only. Select text to comment and send it to a new task.",resultCount_one:"{{count}} result{{plural}}",resultCount_other:"{{count}} result{{plural}}",retry:"Retry",retryLoading:"Retry loading documents",searchProjectFiles:"Search project markdown files…",searchTaskDocuments:"Search task documents…",sectionsLabel:"Documents sections",selectFile:"Select a Markdown file to view its content.",showHidden:"Show hidden project files",showHiddenFiles:"Show hidden files",showHiddenLabel:"Show Hidden",showProjectFiles:"Show project markdown files",showTaskDocuments:"Show task documents",switchToMarkdown:"Switch to markdown",switchToPlainText:"Switch to plain text",taskDocuments:"task documents",taskDocumentsTab:"Task Documents",title:"Artifacts",untitled:"Untitled",artifacts:"artifacts",artifactsCreatedBy:"Artifacts are created by agents, users, and system tools.",artifactsTab:"Artifacts",artifactAudioLabel:"Audio artifact: {{title}}",artifactCardLabel:"Artifact {{title}}",artifactTypeAudio:"Audio",artifactTypeDocument:"Document",artifactTypeImage:"Image",artifactTypeOther:"Other",artifactTypeVideo:"Video",artifactVideoLabel:"Video artifact: {{title}}",loadingArtifacts:"Loading artifacts…",noArtifactPreview:"No preview available.",noArtifacts:"No artifacts yet.",noMatchArtifacts:'No artifacts match "{{query}}".',openArtifactMedia:"Open artifact media",openTaskAria:"Open task {{taskId}}: {{title}}",searchArtifacts:"Search artifacts…",showArtifacts:"Show artifacts",untitledArtifact:"Untitled artifact",closeLightbox:"Close artifact preview",expandArtifact:"Expand {{title}}",expandArtifactHint:"Click to expand",lightboxLabel:"Artifact media preview"},V={active:"Active",cardTitle:"Factory AI — via Droid CLI",connectedVersion:"Connected{{version}}",description:"Route AI calls through your locally-installed droid CLI. Uses your existing Factory AI subscription / quota instead of an API key.",details:"Details",detected:"droid {{version}} detected{{path}}. Click Enable to route AI calls through it.",disable:"Disable",disabling:"Disabling…",droidNotFound:"droid not found on PATH",enable:"Enable",enabledValidating:"Enabled. Validating…",enabling:"Enabling…",extensionFailed:"Extension load failed: {{reason}}",modelsHidden:"Factory AI (via Droid CLI) models are hidden from the model picker.",modelsNowVisible:"Factory AI (via Droid CLI) models are now visible in the model picker.",notConnected:"Not connected",notInstalled:"Not installed",notOnPath:"droid binary not detected on PATH — install Droid CLI first.",probingCli:"Probing local CLI…",restartRequired:"Restart required: restart your active CLI/chat session for routing changes to take effect.",test:"Test",testing:"Testing…",toastDisabled:"Disabled",toastEnabled:"Enabled"},z={cancel:"Cancel",createAnyway:"Create anyway",message:"We found similar active tasks. Open an existing task or create this one anyway.",open:"Open",title:"Possible duplicates",untitledTask:"Untitled task"},K={failedLoadFile:"Failed to load file",failedSaveFile:"Failed to save file",failedToLoadFile:"Failed to load file",failedToSaveFile:"Failed to save file"},Y={genericError:"Something went wrong",reloadPage:"Reload page",retry:"Retry",sectionError:"This section encountered an error"},Q={allRuns:"All runs",disabledTitle:"Scheduled evals are disabled",empty:"No evals yet. Scheduled evals review tasks completed since the last run.",enablePrompt:"Enable Scheduled Evals to review scored tasks, evidence, and follow-up recommendations.",evidenceHeading:"Evidence",loading:"Loading evals…",maxScorePlaceholder:"Max score",minScorePlaceholder:"Min score",naPlaceholder:"n/a",noFollowups:"None",noRationale:"No rationale recorded.",openSettings:"Open Scheduled Evals Settings",overallScore:"Overall score: {{score}}",refreshAria:"Refresh evals",searchPlaceholder:"Search task or rationale",selectPrompt:"Select an evaluation to inspect scores, rationale, and evidence.",suggestedFollowupsHeading:"Suggested follow-up tasks"},J={blocked:"Blocked",connecting:"Connecting…",daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",escalated:"Escalated",escalatedSuffix:" (escalated)",engineControls:"Engine controls",engineControlsClose:"Close engine controls",hideProjectDir:"Hide project directory",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",inReview:"In Review",justNow:"just now",loading:"Loading...",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago",noActivity:"no activity",overlapBottleneck_one:"{{status}} overlap bottleneck {{blockerId}}: {{count}} todo blocked via blockedBy (threshold {{threshold}})",overlapBottleneck_other:"{{status}} overlap bottleneck {{blockerId}}: {{count}} todo blocked via blockedBy (threshold {{threshold}})",openEngineControlsForState:"Open engine controls for {{state}} state",overlapQueue:"Overlap queue",overlapSummary_one:"{{blockerId}} · {{count}} todo",overlapSummary_other:"{{blockerId}} · {{count}} todo",queued:"Queued",running:"Running",secondsAgo_one:"{{count}}s ago",secondsAgo_other:"{{count}}s ago",showProjectDir:"Show project directory",stateIdle:"Idle",statePaused:"Paused",stateRunning:"Running",stateStopped:"Stopped",status:"Executor status",stuck:"Stuck",temporary:"Temporary",todoStatus:"todo",triageDisabledWhileStopped:"Start the AI engine before changing triage scheduling"},X={back:"Back to file list",binaryReadOnly:"Binary file — read only",contextCopy:"Copy",contextDelete:"Delete",contextDownload:"Download",contextDownloadZip:"Download as ZIP",contextMenuLabel:"File operations",contextMove:"Move",contextRename:"Rename",copy:"Copy",copyPlaceholder:"Destination path",copyTitle:"Copy",create:"Create",delete:"Delete",deleteConfirm:"Are you sure you want to delete {{name}}?",deleteRecursive:"This will delete all contents recursively.",deleteTitle:"Delete {{type}}",deleting:"Deleting...",emptyDirectory:"(empty directory)",error:"Error: {{message}}",fileNamePlaceholder:"File name",folderNamePlaceholder:"Folder name",loading:"Loading…",loadingFiles:"Loading files...",modalTitle:"Files — {{workspace}}",modified:"Modified: {{date}}",move:"Move",movePlaceholder:"Destination path",moveTitle:"Move",newFile:"New File",newFolder:"New Folder",operationFailed:"Operation failed",operationSuffix:"ing...",rename:"Rename",renamePlaceholder:"New name",renameTitle:"Rename",resizeSidebar:"Resize sidebar",root:"Root",saving:"Saving…",selectFileToEdit:"Select a file to edit",toggleEditorOptions:"Toggle editor options",typeFile:"File",typeFolder:"Folder",unsavedChanges:"Unsaved changes",upOneLevel:"Up one level",workspaceProject:"Project",previewOnly:"Preview only",previewTitle:"Preview for {{file}}"},Z={autoSave:"Auto-save",edit:"Edit",editMode:"Edit mode",editorFor:"Editor for {{filePath}}",fileEditor:"File editor",lineNumber:"Line #",preview:"Preview",previewMode:"Preview mode",toggleAutoSave:"Toggle auto-save",toggleLineNumbers:"Toggle line numbers",toggleOptions:"Toggle editor options",toggleWordWrap:"Toggle word wrap",wrap:"Wrap"},$={empty:"No tasks or files found",fileHeader:"Files",fileMatches:"File matches",taskHeader:"Tasks",taskMatches:"Task matches"},ee=JSON.parse(`{"addComment":"Add comment","addCommentPlaceholder":"Write a comment…","commentAuthorYou":"You","commentPosted":"Comment posted","failedToPostComment":"Failed to post comment","add":"Add","addRemote":"Add Remote","advancesHelpFix":"<strong>Fix:</strong> Fusion only shows <em>Sync working tree</em> when at least one advance is genuinely <code>pending</code> and HEAD is not aligned with the integration tip. If entries are already handled (subsumed/orphaned/reachable/superseded), no sync action is offered.","advancesHelpIntro":"Each entry is a Fusion task whose squash commit advanced the integration branch ref (<branchCode>{{integrationBranch}}</branchCode>). The <em>auto-sync outcome</em> says whether your working tree was also fast-forwarded to that new tip.","advancesHelpItem1":"<c1>clean-sync</c1> / <c2>synced-with-edits-restored</c2> — working tree is in sync; nothing to do.","advancesHelpItem2":"<c1>reachable</c1> / <c2>subsumed</c2> / <c3>orphaned</c3> / <c4>superseded</c4> — already handled (including history rewrites where equivalent content already landed, original SHAs disappeared, or HEAD is already aligned to the rewritten integration tip).","advancesHelpItem3":"<c1>pending</c1> + <c2>off / not run</c2> — auto-sync is disabled in Settings; the branch ref moved but your worktree didn't follow.","advancesHelpItem4":"<c1>pending</c1> + <c2>stash-failed</c2> / <c3>would-conflict</c3> / similar — auto-sync tried but couldn't reconcile (usually local edits collide with the new commit).","advancesNeedAction_one":"{{count}} need action","advancesNeedAction_other":"{{count}} need action","aheadOfUpstream_one":"{{count}} commit(s) ahead of upstream","aheadOfUpstream_other":"{{count}} commit(s) ahead of upstream","aligned":"Aligned","apply":"Apply","applyStashKeep":"Apply stash (keep)","autoMergeDisabled":"Auto-merge disabled","autoMergeEnabled":"Auto-merge enabled","autoMergeUpdateFailed":"Failed to update auto-merge","autoMergeWhenGreen":"Auto-merge when green","autoMergeWillHandle":"Auto-merge will handle this task automatically.","autoMovedToTodo":"Auto-moved to Todo — reviewer feedback ready","autoSyncOffNotRun":"auto-sync: off / not run","autoSyncOutcome":"auto-sync: {{outcome}}","awaitingPrChecks":"Waiting for required checks or review feedback before auto-merge.","backToIssuesList":"Back to issues list","backToPullsList":"Back to pull requests list","baseHead":"Base: HEAD","behindUpstream_one":"{{count}} commit(s) behind upstream","behindUpstream_other":"{{count}} commit(s) behind upstream","branchLabel":"Branch:","cancel":"Cancel","capturedAt":"Captured:","changesStashed":"Changes stashed","checkout":"Checkout","chooseAnotherRepo":"Choose another repository.","clickToViewDiff":"Click to view diff","close":"Close","closeModalAriaLabel":"Close import modal","commentLast":"Last:","commit":"Commit","commitMessagePlaceholder":"Commit message...","commitsOnBranch":"Commits on {{name}}","commitStagedChanges":"Commit staged changes","commitsToPull_one":"{{count}} to pull","commitsToPull_other":"{{count}} to pull","commitsToPush_one":"{{count}} to push","commitsToPush_other":"{{count}} to push","commitsToPushHeader_one":"Commits to Push ({{count}})","commitsToPushHeader_other":"Commits to Push ({{count}})","committedHash":"Committed: {{hash}}","conflictedCount_one":"{{count}} conflicted","conflictedCount_other":"{{count}} conflicted","conflictReclaimFailed":"Failed to queue conflict reclaim","conflictReclaimQueued":"Conflict reclaim queued","conflictReclaimUnavailable":"Conflict reclaim unavailable","conflictsButton":"Conflicts","copiedButton":"Copied","copiedLabel":"Copied {{label}}","copiedToClipboard":"Copied to clipboard","copyButton":"Copy","copyCommitHashLabel":"commit hash","copyFetchUrl":"Copy fetch URL","copyFullCommitHashLabel":"full commit hash","copyFullHash":"Copy full hash","copyFullShaTitle":"Copy full 40-char SHA","copyPushUrl":"Copy push URL","copyShortHashTitle":"Copy short commit hash","copyShortHashTitleWithFull":"Copy short commit hash (use the full SHA below for git operations)","couldNotLoadIssues":"Could not load issues","couldNotLoadPulls":"Could not load pull requests","create":"Create","createdBranch":"Created branch {{name}}","createPrButton":"Create PR","createPrTitle":"Create a PR for this task","defaultBadge":"default","deleteBranch":"Delete","deleteBranchMessage":"Delete branch \\"{{name}}\\"?","deleteBranchTitle":"Delete Branch","deletedBranch":"Deleted branch {{name}}","detectingRemotes":"Detecting…","diffColon":"diff:","discardChangesMessage_one":"Discard changes to {{count}} file(s)? This cannot be undone.","discardChangesMessage_other":"Discard changes to {{count}} file(s)? This cannot be undone.","discardChangesTitle":"Discard Changes","discardedFiles_one":"Discarded changes to {{count}} file(s)","discardedFiles_other":"Discarded changes to {{count}} file(s)","discardSelected":"Discard selected","dismiss":"Dismiss","dismissPrError":"Dismiss PR error","dropStash":"Drop stash","dropStashMessage":"Drop stash@{{{index}}}? This cannot be undone.","dropStashTitle":"Drop Stash","editRemoteName":"Edit remote name","editRemoteUrl":"Edit remote URL","failedToAddRemote":"Failed to add remote","failedToApplyStash":"Failed to apply stash","failedToCheckoutBranch":"Failed to checkout branch","failedToCommit":"Failed to commit","failedToCopy":"Failed to copy","failedToCreateBranch":"Failed to create branch","failedToDeleteBranch":"Failed to delete branch","failedToDiscardChanges":"Failed to discard changes","failedToDropStash":"Failed to drop stash","failedToFetchData":"Failed to fetch git data","failedToFetchIssues":"Failed to fetch issues","failedToFetchPulls":"Failed to fetch pull requests","failedToImportIssue":"Failed to import issue","failedToImportPull":"Failed to import pull request","failedToLoadDiff":"Failed to load diff","failedToLoadFileDiff":"Failed to load file diff","failedToLoadRemoteCommits":"Failed to load remote commits","failedToLoadRemotes":"Failed to load remotes","failedToLoadStashDiff":"Failed to load stash diff","failedToRemoveRemote":"Failed to remove remote","failedToRenameRemote":"Failed to rename remote","failedToStageFiles":"Failed to stage files","failedToStashChanges":"Failed to stash changes","failedToUnstageFiles":"Failed to unstage files","failedToUpdateRemoteUrl":"Failed to update remote URL","fetch":"Fetch","fetchCompleted":"Fetch completed","fetchFailed":"Fetch failed","fetchingFromGitHub":"Fetching the latest list from GitHub.","fetchLabel":"Fetch:","fetchUrlLabel":"fetch URL","filterBranches":"Filter branches...","filterByLabelsLabel":"Filter by labels","filterByLabelsPlaceholder":"Filter: bug,enhancement…","filterIssuesByLabels":"Filter issues by labels","fnCreatingPr":"fn is creating a pull request automatically for this task.","fnMergingPr":"fn is merging this pull request automatically.","forceDeleteBranchMessage":"Branch has unmerged commits. Force delete?","forceDeleteBranchTitle":"Force Delete Branch","forceDeletedBranch":"Force deleted branch {{name}}","fullShaAbbrev":"full","ghAuthLoginHint":"Run {{code}} to enable PR creation.","headAheadOfIntegration_one":"HEAD has {{count}} commit(s) not on {{branch}}","headAheadOfIntegration_other":"HEAD has {{count}} commit(s) not on {{branch}}","headAheadOfOriginIntegration_one":"HEAD has {{count}} commit(s) not on origin/{{branch}}","headAheadOfOriginIntegration_other":"HEAD has {{count}} commit(s) not on origin/{{branch}}","headVsIntegration":"HEAD vs {{branch}}","headVsOriginIntegration":"HEAD vs origin/{{branch}}","hide":"Hide","hideExplanation":"Hide explanation","import":"Import","imported":"Imported","importedCount_one":"{{count}} imported","importedCount_other":"{{count}} imported","importFromGitHub":"Import from GitHub","importSubtitle":"Choose a detected remote, load open issues or pull requests, and import one into the board.","importTypeAriaLabel":"Import type","integrationAheadOfHead_one":"{{branch}} has {{count}} commit(s) HEAD doesn't","integrationAheadOfHead_other":"{{branch}} has {{count}} commit(s) HEAD doesn't","issueCount_one":"{{count}} issue","issueCount_other":"{{count}} issues","load":"Load","loadFromRepoAriaLabel":"Load {{tab}} from repository","loading":"Loading…","loadingAriaLabel":"Loading {{tab}}","loadingCommits":"Loading commits...","loadingDiff":"Loading diff...","loadingIssues":"Loading open issues…","loadingPulls":"Loading open pull requests…","loadingStashDiff":"Loading stash diff…","loadingTitle":"Loading…","loadMoreCommits":"Load more commits","loadTabTitle":"Load {{tab}}","localAheadOfOriginIntegration_one":"Local {{branch}} is {{count}} commit(s) ahead of origin/{{branch}}","localAheadOfOriginIntegration_other":"Local {{branch}} is {{count}} commit(s) ahead of origin/{{branch}}","localBehindOriginIntegration_one":"Local {{branch}} is {{count}} commit(s) behind origin/{{branch}}","localBehindOriginIntegration_other":"Local {{branch}} is {{count}} commit(s) behind origin/{{branch}}","localVsOrigin":"Local {{branch}} vs origin","manualPrFlowHint":"Use the footer action to run PR-first completion for this task.","mergeBadge":"merge","mergeConflictDetected":"Merge conflict detected. Resolve/rebase branch and retry reclaim.","mergedTaskDone":"Merged — task moved to Done","mergeLabel":"Merge","mergePrButton":"Merge pull request","mergeStrategyMerge":"merge","mergeStrategyRebase":"rebase","mergeStrategySquash":"squash","mergingPrHint":"Merging pull request…","mergingStatus":"Merging…","modalTitle":"Git Manager","modified":"Modified","modifiedCount_one":"{{count}} modified","modifiedCount_other":"{{count}} modified","newBranchName":"New branch name","noAheadCommitsFound":"No ahead commits found (may need to fetch first)","noBranchesFound":"No branches found","noCommitsFound":"No commits found","noCommitsOnRemote":"No commits found on {{remote}}. Try fetching first.","noDescription":"(no description)","noIssueSelected":"No issue selected","noIssueSelectedHint":"Choose an issue from the list to inspect its title and description.","noLocalRefTitle":"No local refs/heads/<branch> exists; nothing to compare against origin.","noLocalTracking":"no local tracking","noMatchingBranches":"No matching branches","noMatchingCommits":"No matching commits","noOpenIssues":"No open issues found","noOpenPulls":"No open pull requests found","noOriginTracking":"no origin tracking","noPullSelected":"No pull request selected","noPullSelectedHint":"Choose a pull request from the list to inspect its details.","noRefFound":"no ref found for {{branch}}","noRefFoundTitle":"Neither refs/heads nor refs/remotes/origin has this branch","noRemotes":"No remotes","noRemotesDetected":"No GitHub remotes detected","noRemotesInstructions":"Add a GitHub remote to this repository, then reopen the modal.","noReviewComments":"No review comments synced yet","noReviewsYet":"No reviews yet","noStagedChanges":"No staged changes","noStagedChangesToCommit":"No staged changes to commit","noStashes":"No stashes","nothingLoadedInstructions":"Select a repository and click Load to start reviewing import candidates.","nothingLoadedYet":"Nothing loaded yet","notOnIntegrationBranch":"(not on {{branch}})","notOnIntegrationBranchBtn":"Not on integration branch ({{branch}})","notOnIntegrationBranchTitle":"Currently on a non-integration branch","noUnstagedChanges":"No unstaged changes","openPullsFrom":"Open pull requests from {{remote}}","originIntegrationAheadOfHead_one":"origin/{{branch}} has {{count}} commit(s) HEAD doesn't","originIntegrationAheadOfHead_other":"origin/{{branch}} has {{count}} commit(s) HEAD doesn't","pop":"Pop","popStashTitle":"Pop stash (apply and drop)","prAuthUnavailable":"PR auth unavailable — run 'gh auth login'","prChecks":{"empty":"No checks reported yet","refreshAriaLabel":"Refresh checks","required":"Required","retry":"Retry","summary":"{{passing}} passing, {{failing}} failing, {{pending}} pending","viewDetails":"View details"},"previewHeading":"Preview","previewIssueMeta":"Issue #{{number}}","previewPullMeta":"Pull Request #{{number}}","prMerged":"Pull request merged","prMergeFailed":"Failed to merge pull request","projectRootNotAvailable":"Project root path not available","prRefreshFailed":"Failed to refresh PR","prStatusRefreshed":"PR status refreshed","prUnlinkConfirm":"Unlink PR #{{number}} from this task? The PR will not be closed.","prUnlinked":"Unlinked PR #{{number}}","pull":"Pull","pullCompleted":"Pull completed","pullCount_one":"{{count}} pull request","pullCount_other":"{{count}} pull requests","pullFailed":"Pull failed","pullOptions":"Pull options","pullOptionsMenu":"Pull options menu","pullRebase":"Pull --rebase","pullRebaseCompleted":"Pull --rebase completed","pullRequestHeading":"Pull Request","pullRequestsCount_one":"{{count}} pull requests","pullRequestsCount_other":"{{count}} pull requests","push":"Push","pushCompleted":"Push completed","pushFailed":"Push failed","pushLabel":"Push:","pushUrlLabel":"push URL","recentCommitsOnRemote":"Recent commits on {{remote}}","recentIntegrationAdvances":"Recent integration-branch advances","reCheckConflicts":"Re-check conflicts","refresh":"Refresh","refreshPrStatus":"Refresh PR status","refreshToCheckMerge":"Refresh PR status to check merge readiness","remoteAdded":"Remote '{{name}}' added successfully","remoteName":"Remote name","remoteOnlyIntegrationTipTitle":"No local refs/heads/<branch>; using refs/remotes/origin/<branch> as the integration tip.","remoteOnlyTrackLocally":"(remote-only — run git switch {{branch}} to track locally)","remoteRemoved":"Remote '{{name}}' removed","remoteRenamed":"Remote renamed to '{{name}}'","remoteUrlUpdated":"Remote URL updated","removeRemote":"Remove remote","removeRemoteMessage":"Are you sure you want to remove remote '{{name}}'?","removeRemoteTitle":"Remove Remote","repoMustBeSelected":"Repository must be selected","repositoryLabel":"Repository","repositoryStatus":"Repository Status","repositoryUrl":"Repository URL","resizeIssuesList":"Resize issues list","resolvedFrom":"Resolved from {{source}}","retry":"Retry","retryButton":"Retry","retryConflictReclaim":"Retry conflict reclaim","reviewLabel":"Review","reviewsLabel":"Reviews","searchCommits":"Search commits...","sectionBranches":"Branches","sectionChanges":"Changes","sectionCommits":"Commits","sectionRemotes":"Remotes","sectionStashes":"Stashes","sectionStatus":"Status","sectionWorktrees":"Worktrees","selectedRemote":"selected remote","selectFileToViewDiff":"Select a file to view its diff","selectIssueAriaLabel":"Select issue #{{number}}","selectPullAriaLabel":"Select pull request #{{number}}","selectRemoteAriaLabel":"Select Git remote","selectRemotePlaceholder":"Select remote…","selectRemoteToViewDetails":"Select a remote to view details","sidebarAriaLabel":"Git Manager Sections","stageAll":"Stage All","stageAllAndCommit":"Stage All & Commit","stageAllAndCommitTitle":"Stage all and commit","stageCount_one":"Stage ({{count}})","stageCount_other":"Stage ({{count}})","staged":"Staged","stagedChanges_one":"Staged Changes ({{count}})","stagedChanges_other":"Staged Changes ({{count}})","stagedCount_one":"{{count}} staged","stagedCount_other":"{{count}} staged","stagedFiles_one":"Staged {{count}} file(s)","stagedFiles_other":"Staged {{count}} file(s)","stageFile":"Stage file","stageSelected":"Stage selected","staleIndexWarning":"<strong>Stale index detected.</strong> HEAD has advanced (typically because Fusion's merger updated the integration-branch ref) but the index still reflects the previous tip — \`git status\` will report the new commits inverted as \\"staged changes.\\" Enable <mergeCode>mergeAdvanceAutoSync</mergeCode> in Settings to have the merger reconcile automatically, or run <resetCode>git reset --hard HEAD</resetCode> to snap forward manually.","stash":"Stash","stashApplied":"Stash applied","stashConflict":{"copied":"Stash SHA copied.","copyFailed":"Could not copy stash SHA.","dropStash":"Drop stash","failedWarning":"Automatic restore failed. Your changes are preserved in the stash above; use git stash apply <ref> to recover manually, or use Retry below.","keepIncoming":"Keep incoming","keepMine":"Keep mine","openInEditor":"Open in editor","retryRestore":"Retry restore","summary":"Pulled {{branch}}, but restoring local edits from stash produced conflicts.","title":"Resolve auto-stash conflicts"},"stashDropped":"Stash dropped","stashMessagePlaceholder":"Stash message (optional)","stashPopped":"Stash popped","stashRef":"stash@{{index}}","statusLabelBranch":"Branch","statusLabelCommit":"Commit","statusLabelIntegrationBranch":"Integration branch","statusLabelStashes":"Stashes","statusLabelVsOrigin":"vs origin","statusLabelWorkingTree":"Working Tree","switchedToBranch":"Switched to {{name}}","sync":"Sync","synced":"Synced","syncedWithOrigin":"Synced with origin (pull --rebase + push)","syncedWorktreeToIntegrationTip":"Synced worktree to local integration tip","syncFailed":"Sync failed","syncing":"Syncing…","syncLocalTip":"Sync local tip","syncLocalTipTitle":"Sync working tree to local integration tip (same as banner Pull)","syncOriginTitle":"Pull --rebase from origin, then push current branch","syncWithOriginFailed":"Sync with origin failed","syncWorkingTree":"Sync working tree","syncWorkingTreeTitle":"Pull the integration branch into your working tree (auto-stashes uncommitted edits and restores them)","tabIssues":"Issues","tabPullRequests":"Pull Requests","tip":"tip","toolbarAriaLabel":"GitHub import controls","translateAction":"Translate","translateDismiss":"Dismiss","translateOffer":"This content appears to be in {{source}}. Translate into {{target}}?","translateRegionAriaLabel":"Content translation","translateShowingOriginal":"Showing original ({{source}}).","translateShowingTranslated":"Showing translation into {{target}}.","translateShowOriginal":"Show original","translateShowTranslated":"Show translation","translateUnknownLanguage":"another language","translateWorking":"Translating…","tryDifferentFilter":"Try a different label filter or choose another repository.","unlinkButton":"Unlink","unresolvedMergeConflicts":"Unresolved merge conflicts","unstageAll":"Unstage All","unstageCount_one":"Unstage ({{count}})","unstageCount_other":"Unstage ({{count}})","unstaged":"Unstaged","unstagedChanges_one":"Unstaged Changes ({{count}})","unstagedChanges_other":"Unstaged Changes ({{count}})","unstagedFiles_one":"Unstaged {{count}} file(s)","unstagedFiles_other":"Unstaged {{count}} file(s)","unstageFile":"Unstage file","unstageSelected":"Unstage selected","untracked":"Untracked","untrackedCount_one":"{{count}} untracked","untrackedCount_other":"{{count}} untracked","upToDate":"Up to date","view":"View","viewOnGithub":"View on GitHub","waitingFor":"Waiting for: {{reasons}}","whatDoesThisMean":"What does this mean?","workingTreeClean":"Clean","workingTreeModified":"Modified","worktreeBadgeBare":"bare","worktreeBadgeMain":"main","worktreesInUse_one":"{{count}} in use","worktreesInUse_other":"{{count}} in use","worktreesTotal_one":"{{count}} total","worktreesTotal_other":"{{count}} total"}`),te={body:"If Fusion has saved you time, a GitHub star goes a long way. It helps other developers discover the project and keeps the team motivated to ship improvements.",dismissLabel:"Dismiss GitHub star prompt",regionLabel:"GitHub star prompt",starOnGitHub:"Star on GitHub",title:"Enjoying Fusion?"},oe={activeCount_one:"{{count}} active goals",activeCount_other:"{{count}} active goals",addGoal:"Add Goal",archive:"Archive",capError:"Cannot activate more than 5 goals. Resolve an active goal before activating another.",capWarning:"Approaching the 5-active goal cap. Keep active goals focused.",createError:"Unable to create goal right now. Please try again.",drafting:"Drafting…",draftWithAi:"Draft with AI",emptyState:"No goals yet. Add one to begin tracking strategic outcomes.",labelDescription:"Description",labelTitle:"Title",linkedMissions:"Linked missions",linkedMissionsCount_one:"{{count}} linked",linkedMissionsCount_other:"{{count}} linked",linkedMissionsLoadError:"Unable to load linked missions right now. Please try again.",linkedMissionsTitle:"Linked Missions",linkingMission:"Linking…",linkMission:"Link mission",linkMissionError:"Unable to link mission right now. Please try again.",loadError:"Unable to load goals right now. Please try again.",loading:"Loading goals…",missionPicker:"Mission to link",missionsLoadError:"Unable to load missions right now. Please try again.",noLinkedMissions:"No linked missions.",saveError:"Unable to save goal right now. Please try again.",selectMission:"Select a mission",status:"Status",title:"Goals",titleRequired:"Title is required.",unarchive:"Unarchive",unlinkMission:"Unlink mission",unlinkMissionError:"Unable to unlink mission right now. Please try again.",updateError:"Unable to update goal status right now. Please try again."},ae={prLinkLabel:"PR #{{number}} ({{state}})"},ie={abandonGroup:"Abandon group",ariaLabel:"Branch group details",autoMergeEnabled:"Auto-merge enabled",completionText:"{{landed}} of {{total}} members finished",errorLoading:"Failed to load branch group",loading:"Loading branch group…",members:"Members",mergeIntoMain:"Merge group into main",openPR:"Open PR",openTask:"Open task",prClosed:"Group PR closed",prMerged:"Group PR merged",sharedBranch:"Shared branch",status:"Status",title:"Branch Group {{id}}",unavailable:"Branch group unavailable"},ne={activePlanningSessions_one:"{{count}} active planning session",activePlanningSessions_other:"{{count}} active planning sessions",addFirstScript:"Add your first script",additionalHeaderActions:"Additional header actions",agentsView:"Agents view",allBaseBranches:"All base branches",allWorkingBranches:"All working branches",automation:"Automation",baseBranch:"Base branch",boardView:"Board view",browseFiles:"Browse Files",chatView:"Chat view",closeSearch:"Close search",commandCenterView:"Dashboard",createTaskWithPlanning:"Create a task with AI planning",devServerView:"Dev Server",documentsView:"Artifacts view",engineOptions:"Engine options",evalsView:"Evals",fusionLogo:"Fusion logo",gitManager:"Git Manager",goalsView:"Goals",importFromGitHub:"Import from GitHub",insightsView:"Insights",listView:"List view",loadingScripts:"Loading scripts...",localNode:"Local",mailbox:"Mailbox",mailboxView:"Mailbox view",mailboxWithCount_one:"Mailbox ({{count}})",mailboxWithCount_other:"Mailbox ({{count}})",manageProjects:"Manage Projects",manageScripts:"Manage Scripts...",memoryView:"Memory",missionsView:"Missions view",moreActions:"More actions",moreHeaderActions:"More header actions",moreViews:"More views",noBaseBranch:"No base branch",noScriptsAddOne:"No scripts — add one…",noScriptsConfigured:"No scripts configured",noWorkingBranch:"No working branch",openSearch:"Open search",openTerminal:"Open Terminal",pauseTriage:"Pause triage",pendingApprovals:"Pending approvals",projects:"Projects",quickScripts:"Quick scripts",researchView:"Research",resumePlanningSession:"Resume planning session",resumePlanningSessionCount_one:"Resume planning session ({{count}})",resumePlanningSessionCount_other:"Resume planning session ({{count}})",resumeScheduling:"Resume scheduling",scripts:"Scripts",scriptsSubmenu:"Scripts submenu",searchTasks:"Search tasks...",secretsView:"Secrets",selectNode:"Select node",selectProject:"Select project",settings:"Settings",showScripts:"Show scripts",skillsView:"Skills",startAiEngine:"Start AI engine",stashRecoveryView:"Stash Recovery",stopAiEngine:"Stop AI engine",switchNode:"Switch node",switchProject:"Switch project",terminal:"Terminal",todosView:"Todos",unreadChatResponse:"Unread chat response",unreadMessages_one:"{{count}} unread messages",unreadMessages_other:"{{count}} unread messages",viewActivityLog:"View Activity Log",viewProjects:"View Projects",viewUsage:"View usage",workflows:"Workflows",workingBranch:"Working branch"},se={activeTasks:"Active Tasks",anomalyBody:"Fusion found allocator state that can cause task IDs to be reused or overwrite live task records.",anomalyDetected:"Task ID integrity anomaly detected",completed:"Completed",failed:"Failed",inFlightAgents:"In-Flight Agents",lastError:"Last Error",metricsTitle:"Health Metrics",recheck:"Re-check",rechecking:"Re-checking…",refreshFailed:"Failed to refresh integrity status."},re={autoProfile:"Auto / use Hermes default",binaryPathHelp:"Leave blank to resolve {{cmd}} from your PATH.",binaryPathLabel:"Binary path",binaryPathPlaceholder:"hermes (defaults to PATH)",defaultProfile:" (default)",description:"Drives the local {{cmd}} CLI as a subprocess. Each Fusion prompt is sent as {{chatCmd}}; subsequent prompts resume the same hermes session via {{resumeFlag}}. Provider, model, and skills are configured inside hermes itself; this card only chooses overrides.",detected:"✓ hermes detected{{version}}{{path}}.",gitHubLink:"Hermes on GitHub",maxTurnsHelp:"Cap per Hermes turn. Hermes's own default is 90; we cap lower.",maxTurnsLabel:"Max turns",modelControlled:"Controlled by profile: {{profile}}",modelHelp:"Optional — overrides Hermes's configured default model.",modelLabel:"Model override",modelPlaceholder:"e.g. claude-sonnet-4-5, MiniMax-M3",notDetected:"{{cmd}} not detected. Install the upstream agent:",notFound:"✗ {{reason}}",probing:"Probing local hermes binary…",profileHelp:"Select a Hermes profile to use. Activates the profile by setting {{env}} to the profile directory when invoking {{cmd}}.",profileLabel:"Profile (optional)",profileModelSeparator:" — {{model}}",providerControlled:"Controlled by profile: {{profile}}",providerHelp:"Inference provider Hermes routes calls through (default: {{default}}).",providerLabel:"Provider",savedDetected:"Saved · ✓ hermes detected{{version}}.",savedNotFound:"Saved · ✗ {{reason}}",savedProbeFailed:"Saved, but probe failed.",settingsSaved:"Settings saved.",statusDetected:"✓ Detected{{version}}{{path}}",statusDisabledInPluginManager:"Disabled in Plugin Manager",statusNotDetected:"✗ {{reason}}",subname:"by Nous Research",testFailed:"Test failed — see status above.",timeoutHelp:"Fusion-side hard cap. Default 5 min.",timeoutLabel:"CLI hard-kill timeout (ms)",yoloHelp:"Required for non-interactive sessions that trigger shell-style tools.",yoloLabel:"Auto-approve dangerous tool calls ({{flag}})"},le={agent:"Agent",breakDownSubtasks:"Break down into AI-generated subtasks",clearSelection:"Clear selection",collapse:"Collapse",collapseDescription:"Collapse description",collapseTaskOptions:"Collapse advanced task options",creating:"Creating...",custom:"Custom",deps:"Deps",editingDescription:"Editing Description",enterDescriptionFirst:"Enter a description first",expand:"Expand",expandDescription:"Expand description",expandTaskOptions:"Expand advanced task options",hintEnterEsc:"Enter to create · Esc to cancel",loadingAgents:"Loading agents...",model_one:"model",model_other:"model",models:"Models",noAgentsAvailable:"No agents available",node:"Node",noExistingTasks:"No existing tasks",openPlanningMode:"Open planning mode with current description",optionalWorkflowStepChecked:"{{name}} ✓",optionalWorkflowSteps:"Optional workflow steps",plan:"Plan",preset:"Preset",priority:"Priority",priorityLabel:"Priority: {{level}}",projectDefaultLocal:"Project default / local",removeImage:"Remove image",save:"Save",searchTasks:"Search tasks…",selectAgent:"Select agent",selectExecutionNode:"Select execution node",subtask:"Subtask",toggleOptionalWorkflowStep:"Toggle optional workflow step: {{name}}",useDefault:"Use default",whatNeedsToBeDone:"What needs to be done?"},de={allInsights:"All Insights",alreadyRunning:"Insight generation is already running. Showing the active run.",alreadyRunningShort:"Insight generation is already running",archived:'Archived "{{title}}"',archivedMsg:"Insight archived: {{title}}",archiveLabel:"Archive this insight",archiveTitle:"Archive this insight",archiving:'Archiving "{{title}}"...',backlogHealth:"Backlog Health",categoriesLabel:"Insight categories",configureModel:"Configure insight generation model",configureModelTitle:"Configure model",createTaskLabel:"Create task from this insight",createTaskTitle:"Create task from this insight",creatingTask:'Creating task from "{{title}}"...',dismissed:'Dismissed "{{title}}"',dismissedMsg:"Insight dismissed: {{title}}",dismissing:'Dismissing "{{title}}"...',dismissLabel:"Dismiss this insight",dismissTitle:"Dismiss this insight",failedToArchive:"Failed to archive insight",failedToCreateTask:"Failed to create task",failedToDismiss:"Failed to dismiss insight",failedToPreparePayload:"Failed to prepare task payload from insight",failedToStart:"Failed to start generation",failedToUnarchive:"Failed to unarchive insight",generateDescription:"Generate insights to get AI-powered recommendations for your project.",generateFirst:"Generate First Insights",generateInsights:"Generate new insights",generateInsightsBtn:"Generate Insights",generating:"Generating...",generatingInsights:"Generating insights...",generationModel:"Insight generation model",generationStarted:"Insight generation started",hideArchived:"Hide archived insights",hideArchivedLabel:"Hide Archived",latestRun:"Latest run:",loading:"Loading insights...",model:"Model",modelConfigured:"Model: {{model}}",noInsightsYet:"No insights yet",runCompleted:"{{created}} created, {{updated}} updated",showAllInsights:"Show all insights",showArchived:"Show archived insights",showArchivedLabel_one:"Show Archived ({{count}})",showArchivedLabel_other:"Show Archived ({{count}})",showBacklogHealth:"Show only backlog health insights",taskCreated:'Task created from "{{title}}"',taskCreatedMsg:"Task created: {{title}}",taskCreationUnavailable:"Task creation is unavailable in this view",title:"Insights",unarchived:'Unarchived "{{title}}"',unarchivedMsg:"Insight unarchived: {{title}}",unarchiveLabel:"Unarchive this insight",unarchiveTitle:"Unarchive this insight",unarchiving:'Unarchiving "{{title}}"...',usePlanningDefault:"Use planning default"},ce={addContextDirection:"Add any extra context or direction...",additionalComments:"Additional comments (optional)",aiThinking:"AI is thinking...",appliedMessage:"The {{targetType}}'s scope and verification have been applied.",description:"Description",error:{failedToApply:"Failed to apply interview results",failedToRestoreQuestion:"Failed to restore session question.",failedToRestoreResult:"Failed to restore session result.",failedToResume:"Failed to resume session.",failedToSkip:"Failed to skip {{targetLabel}} interview",failedToStart:"Failed to start {{targetLabel}} interview",failedToSubmit:"Failed to submit response",sessionEncounteredError:"The session encountered an error.",sessionFailed:"Session failed while contacting the AI."},hideThinking:"Hide thinking",interviewDescription:"The AI will interview you to refine the {{targetType}}'s scope, acceptance criteria, and verification methods. Each {{targetType}} can have its own refined plan or inherit context from the mission level.",missionContext:"Mission context:",no:"No",noAdditionalDetails:"No additional details were generated for this item.",planningNotes:"Planning Notes",preparingQuestion:"Preparing next question...",progressText:"Question {{progress}} of ~6",reconnecting:"Reconnecting…",refinedScope:"Refined Scope",refineScope:"Refine {{label}} scope with AI",sendToBackground:"Send to background",showThinking:"Show thinking",startInterview:"Start Interview",targetLabel:{milestone:"Milestone",slice:"Slice"},typeAnswerHere:"Type your answer here...",updated:"{{label}} Updated",useMissionContext:"Use Mission Context",verificationCriteria:"Verification Criteria",yes:"Yes"},ue={noIssuesFound:"No issues found"},pe={collapse:"Collapse {{name}} lane",expand:"Expand {{name}} lane"},ge={apply:"Apply",applying:"Applying...",archiveSelected:"Archive selected",archiveSelectedTitle:"Archive selected tasks that are in Done",archiveUnavailable:"Archive action is unavailable",archiveViaButton:"Tasks can only be archived via the archive button",bulkArchiveDone_one:"Archive {{count}} Done",bulkArchiveDone_other:"Archive {{count}} Done",bulkArchiveMessage_one:"Archive {{count}} selected task(s)?",bulkArchiveMessage_other:"Archive {{count}} selected task(s)?",bulkArchiveNoTasks:"No selected tasks can be archived (only done tasks)",bulkArchiveSummary:"Archived {{archived}} · {{skipped}} skipped · {{failed}} failed",bulkArchiveTitle:"Archive Selected Tasks",bulkDeleteAll:"Delete All",bulkDeleteArchiveSummary:"Archived {{archived}}, deleted {{deleted}}, failed {{failed}}",bulkDeleteMessage_one:"Delete {{count}} selected task(s)?",bulkDeleteMessage_other:"Delete {{count}} selected task(s)?",bulkDeleteNoTasks:"No selected tasks can be deleted (archived tasks are excluded)",bulkDeleteSummary_one:"Deleted {{count}} task · {{skipped}} archived skipped · {{failed}} failed",bulkDeleteSummary_other:"Deleted {{count}} tasks · {{skipped}} archived skipped · {{failed}} failed",bulkDeleteTitle:"Delete Selected Tasks",bulkDeleteWithDoneMessage:"Delete {{deletable}} task(s), or archive the {{done}} done task(s) and delete the rest?",bulkEdit:"Bulk Edit",bulkEditModelsLabel:"Bulk Edit Models & Node:",bulkNoChanges:"No changes to apply",bulkPauseNoTasks:"No selected tasks can be paused",bulkPauseSummary:"Paused {{paused}} · {{skipped}} skipped · {{failed}} failed",bulkUnpauseNoTasks:"No selected tasks can be unpaused",bulkUnpauseSummary:"Unpaused {{unpaused}} · {{skipped}} skipped · {{failed}} failed",bulkUpdateFailed:"Failed to update models",bulkUpdateNoTasks:"No valid tasks to update (archived tasks cannot be modified)",bulkUpdateSuccess_one:"Updated {{count}} task(s)",bulkUpdateSuccess_other:"Updated {{count}} task(s)",cancelMove:"Cancel Move",clear:"Clear",clearColumnFilter:"Clear column filter",colColumn:"Column",colDependencies:"Dependencies",colProgress:"Progress",colRetries:"Retries",colStatus:"Status",colTitle:"Title",deleteSelected:"Delete selected",deleteSelectedTitle:"Delete selected tasks",dependentsDeleteMessage:"Task {{taskId}} has dependents: {{dependents}}. Remove dependency references and force delete?",doneEditing:"Done Editing",doneHiddenChip:"Done hidden",executorModel:"Executor Model",fastMode:"Fast mode",filterChip:"Filter: {{column}}",forceDelete:"Force Delete",forceDeleteTitle:"Force Delete Task",hidden_one:"{{count}} hidden",hidden_other:"{{count}} hidden",hideDone:"Hide Done",hideDoneTitle:"Hide done tasks",keepProgress:"Keep Progress",lastColumnWarning:"At least one column must be visible",lineageArchiveMessage:`{{taskId}} has lineage children ({{children}}) that reference it as a source parent.
1
+ const e={add:"Add",apply:"Apply",back:"Back",cancel:"Cancel",close:"Close",clear:"Clear",closeInsightsView:"Close insights view",closeModal:"Close modal",confirm:"Confirm",continue:"Continue",create:"Create",delete:"Delete",discard:"Discard",dismiss:"Dismiss",dismissOAuth:"Dismiss OAuth re-login banner",done:"Done",edit:"Edit",no:"No",openSettings:"Open Settings",pull:"Pull",refresh:"Refresh",refreshInsights:"Refresh insights",retry:"Retry",run:"Run",save:"Save",search:"Search",send:"Send",showLess:"Show less",showMore:"Show more",update:"Update",yes:"Yes"},t={body:"The engine for this project is not running, so task automation and live updates may be paused. Start it now to reconnect the dashboard.",dashboardOnly:"This dashboard cannot start engines from the current process. Run `fn serve` for this project to enable task execution and live automation.",dashboardOnlyPrefix:"This dashboard cannot start engines from the current process. Run",dashboardOnlySuffix:"for this project to enable task execution and live automation.",error:"Start failed: {{message}}",startCta:"Start engine",starting:"Starting…",title:"Project engine is not connected"},o={emptyHint:"Activity will appear here when tasks are created, moved, or completed",eventCount_one:"{{count}} event",eventCount_other:"{{count}} events",noRecentActivity:"No recent activity"},a={activeFilters:"Active filters:",allEvents:"All Events",allProjects:"All Projects",clearFilters:"Clear all",clearFiltersBtnLabel:"Clear Filters",clearLog:"Clear Log",confirmClear:"Clear Activity Log?",confirmClearButton:"Clear Log",confirmClearMessage:"This will permanently delete all activity log entries. This action cannot be undone.",eventType:{autoArchivedDeterministicDuplicate:"Task Auto-Archived (Deterministic Duplicate)",autoArchivedDuplicate:"Task Auto-Archived (Duplicate)",autoArchivedGhostBug:"Task Auto-Archived (Ghost Bug)",autoArchivedNearDuplicate:"Task Auto-Archived (Near-Duplicate)",duplicateWarningOverridden:"Duplicate Warning Overridden",mergeWorktreeReacquired:"Merge Worktree Reacquired",nearDuplicateFlagged:"Near-Duplicate Flagged",projectIsolationTransition:"Project Isolation Transition",settingsUpdated:"Settings Updated",taskCreated:"Task Created",taskDeleted:"Task Deleted",taskFailed:"Task Failed",taskMerged:"Task Merged",taskMoved:"Task Moved",taskUpdated:"Task Updated"},loadMore:"Load More",merged:"Merged",noActivityRecorded:"No activity recorded yet",noMatchingActivity:"No activity matches the current filters",notMerged:"Not merged",projectFilterBadge:"Project: {{project}}",refresh:"Refresh",time:{daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",justNow:"Just now",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago"},title:"Activity Log",typeFilterBadge:"Type: {{type}}"},i={copied:"Copied",copiedLabel:"Copied error to clipboard",copy:"Copy",copyLabel:"Copy error to clipboard",dialogLabel:"Agent error details",openDetails:"Open error details",reportOnGithub:"Report on GitHub",title:"Agent Error Details"},n={agentNameTriage:"Plan",collapseModelDetails:"Collapse model details",empty:"No agent output yet.",executor:"Executor",exitFullscreen:"Exit full screen",expandFullscreen:"Expand agent log to full screen",expandModelDetails:"Expand model details",hideOutput:"Hide output",hideToolCallsResults:"Hide tool calls and results",hideToolOutput:"Hide tool output",live:"Live",loading:"Loading agent logs…",loadingMore:"Loading…",loadMore:"Load More",markdown:"Markdown",plain:"Plain",planning:"Planning",reviewer:"Reviewer",showFormattedMarkdown:"Show formatted markdown",showing:"Showing {{visible}} of {{total}} entries",showOutput:"Show output",showRawText:"Show raw text",showToolCallsResults:"Show tool calls and results",showToolOutput:"Show tool output",switchMarkdown:"Switch to markdown mode",switchPlainText:"Switch to plain text mode",timeDaysAgo_one:"{{count}}d ago",timeDaysAgo_other:"{{count}}d ago",timeHoursAgo_one:"{{count}}h ago",timeHoursAgo_other:"{{count}}h ago",timeJustNow:"just now",timeMinutesAgo_one:"{{count}}m ago",timeMinutesAgo_other:"{{count}}m ago",toolEntriesHidden_one:"{{count}} tool entries hidden",toolEntriesHidden_other:"{{count}} tool entries hidden",toolsOff:"Tools: Off",toolsOn:"Tools: On",usingDefault:"Using default"},s={membersOf:"Members of #{{roomName}}",noAgentsFound:"No agents found",otherAgents:"Other agents",roomMemberBadge:"Room member",roomMembers:"Room members",suggestionsLabel:"Agent mention suggestions",typeToSearch:"Type to search other agents"},r={allow:"Allow",approvalRequired:"Approval Required",ariaLabel:"Permission policy categories",block:"Block",category:{commandExecution:{description:"Runs shell commands and scripts.",label:"Command execution"},fileScope:{description:"Extending a task's declared File Scope beyond its initial spec at runtime.",label:"File Scope expansion"},fileWriteDelete:{description:"Create, edit, or remove files in the workspace.",label:"File writes/deletes"},gitWrite:{description:"Commits, branch updates, and merge-affecting git changes.",label:"Git writes"},networkApi:{description:"Outbound network or API access.",label:"Network/API"},taskAgentMutation:{description:"Task state changes, delegation, or agent lifecycle actions.",label:"Task/agent mutation"}},categoryExamples:"{{label}} examples",custom:"Custom",exemptTools:"Tools exempt from approval policy",exemptToolsDescription:"These coordination tools bypass approval policy so heartbeats and inter-agent messaging cannot deadlock. They are not user-configurable.",fromProjectDefault:"from project default",inherit:"Inherit",inheritDefault:"Inherit project default",lockedDown:"Locked Down",preset:"Preset",requireApproval:"Require approval",unrestricted:"Unrestricted",exactToolOverrides:"Exact tool overrides",exactToolOverridesDescription:"Override one governed tool by exact name before its category rule. Heartbeat-critical exempt tools stay non-configurable.",noExactToolOverrides:"No exact tool overrides configured.",toolName:"Tool name",toolDisposition:"Disposition",toolDispositionFor:"Disposition for {{toolName}}",projectDefaultExactTool:"project default exact rule",removeToolOverride:"Remove exact override for {{toolName}}",remove:"Remove",toolOverrideTool:"Tool override tool",toolOverrideDisposition:"Tool override disposition",updateToolOverride:"Update override",addToolOverride:"Add override"},l={actions:{addCustomTemplate:"Add Custom Template",cancel:"Cancel",collapse:"Collapse",create:"Create",delete:"Delete",reset:"Reset",save:"Save"},ariaLabels:{collapse:"Collapse",deleteTemplate:"Delete {{name}}",editTemplate:"Edit {{name}}",expand:"Expand",expandPrompt:"Expand prompt to fullscreen",expandToFullscreen:"Expand to fullscreen",promptOverride:"{{name}} prompt override ({{key}})",promptOverrideFullscreen:"{{name}} prompt override ({{key}}) - fullscreen",templatePromptFullscreen:"Template prompt - fullscreen",viewFullPromptFor:"View full prompt for {{name}}"},badges:{builtin:"Built-in",custom:"Custom",customized:"customized",overridesBuiltin:"Overrides built-in"},confirmations:{deleteTemplate:'Delete "{{name}}"?'},descriptions:{assignmentNote:"Role assignments are stored in the agentPrompts configuration. Custom templates override built-ins by ID.",assignments:"Assign specific templates to agent roles. When a role has an assignment, that template will be used instead of the default built-in.",builtinTemplates:"These templates are provided by Fusion and cannot be modified.",customTemplates:"Create custom templates to override built-in prompts for specific roles.",overrides:"Customize specific segments of AI agent prompts. Edits override built-in defaults. Use the Reset button to restore the original default for any prompt."},editor:{editTemplate:"Edit Custom Template",newTemplate:"New Custom Template"},emptyStates:{noCustomTemplates:"No custom templates yet. Create one to get started."},errors:{idConflict:'Template ID "{{templateId}}" conflicts with a built-in template. Please use a different name.',nameRequired:"Template name is required"},hints:{customOverrideActive:"Custom override active. Click Reset to restore default.",noOverrideSet:"No override set. Using built-in default ({{chars}} chars)."},labels:{builtIn:"built-in",custom:"Custom",description:"Description",name:"Name",note:"Note",overridesDefault:"overrides default",prompt:"Prompt",role:"Role"},options:{useDefault:"Use default"},placeholders:{description:"Brief description of this template",prompt:"Enter the system prompt for this template...",promptDefault:"Default: {{preview}}",templateName:"e.g. My Custom Executor"},sections:{builtinTemplates:"Built-in Templates",customTemplates:"Custom Templates"},tabs:{assignments:"Assignments",overrides:"Overrides",templates:"Templates"},titles:{delete:"Delete",edit:"Edit",editPrompt:"Edit Prompt",viewFullPrompt:"View full prompt"}},d={always:"Always require approval",alwaysApproveDelete:"Always require approval for fn_agent_delete",alwaysDesc:"All fn_agent_create/fn_agent_delete requests require approval unless caller is trusted.",approvalMode:"Approval mode",helpText:"These settings govern durable provisioning tools only: <code>fn_agent_create</code> and <code>fn_agent_delete</code>. Ephemeral <code2>fn_spawn_agent</code2> requests stay under the task/agent mutation approval gate (FN-3973).",never:"Never require approval",neverDesc:"Allow provisioning without approval for non-privileged callers.",trustedAgentIds:"Trusted agent IDs",trustedAgentIdsPlaceholder:"agent-abc123",trustedOnly:"Trusted-only",trustedOnlyDesc:"Trusted roles/agent IDs bypass approval; other callers require approval.",trustedRoles:"Trusted roles",trustedRolesPlaceholder:"reviewer, ceo"},c=JSON.parse(`{"activate":"Activate","activeAgents_one":"Active Agents ({{count}})","activeAgents_other":"Active Agents ({{count}})","activePrefix":"Active: ","advancedSettingsDesc":"Low-level configuration options for this agent.","advancedSettingsTitle":"Advanced Settings","agent":"Agent","agentControls":"Agent controls","agentLogs":"Agent Logs","agentMail":"Agent Mail","agentModelLabel":"Agent Model","agentPlural":"agents","agentsFound_one":"{{count}} agent{{plural}} found","agentsFound_other":"{{count}} agent{{plural}} found","agentSingular":"agent","agentsLabel":"Agents","agentSoulLabel":"Agent Soul","aiInterview":"AI Interview","allChangesSaved":"All changes saved","allowParallelExecution":"Allow Parallel Execution","allowParallelExecutionHint":"Allow this agent to run multiple heartbeats concurrently.","allTime":"All time","alreadyOnDefault":"Already on default","applyPreset":"Apply preset","assignedSkills":"Assigned Skills","auto":"Auto","autoClaimHint":"Agent will automatically claim tasks that match its skills.","autoClaimRelevantTasks":"Auto-claim relevant tasks","avatarLabel":"Avatar","avatarRemoved":"Avatar removed","avatarUploaded":"Avatar uploaded","back":"Back","backToAgents":"Back to Agents","backToInbox":"Back to Inbox","backToOrgChart":"Back to org chart","backToOutbox":"Back to Outbox","boardView":"Board view","browseCatalog":"Browse Catalog","budgetExhaustedBody":"This agent has exhausted its token budget and will not run until the budget resets.","budgetExhaustedTitle":"Budget Exhausted","budgetPeriodHint":"How often the token budget resets.","budgetPeriodLabel":"Budget Period","budgetResetFailed":"Failed to reset budget","budgetResetSuccess":"Budget reset successfully","budgetSettingsDesc":"Control token usage limits and reset schedule for this agent.","budgetSettingsTitle":"Budget Settings","budgetUsageDisplay":"{{used}} / {{limit}} tokens used","builtInModel":"Built-in model","bulkActionFailed":"Bulk action failed","bulkActions":"Bulk Actions","bulkActionsLoadFailed":"Failed to load bulk agent actions: {{error}}","bulkAgentActions":"Bulk agent actions","bulkConfirmMessage_one":"{{action}} {{count}} agent(s) in this project?","bulkConfirmMessage_other":"{{action}} {{count}} agent(s) in this project?","bulkNoEligible":"No eligible agents","bulkResult_one":"{{action}} {{successCount}} {{agentWord}}; skipped {{skippedCount}}","bulkResult_other":"{{action}} {{successCount}} {{agentWord}}; skipped {{skippedCount}}","bulkResultWithFailures":"{{action}} {{count}} agent(s), {{failed}} failed","bundleDescription":"Configure how this agent's code bundle is managed.","bundleEntryFileHint":"The entry file for the managed bundle.","bundleEntryFileLabel":"Entry File","bundleExternal":"External","bundleExternalHint":"Point to an externally managed bundle path.","bundleExternalPathHint":"Absolute path to the external bundle file.","bundleExternalPathLabel":"External Bundle Path","bundleExternalPathPlaceholder":"/path/to/bundle.js","bundleFilesHint":"Source files included in this agent's bundle.","bundleFilesLabel":"Bundle Files","bundleManaged":"Managed","bundleManagedHint":"Fusion manages the bundle automatically.","bundleModeLabel":"Bundle Mode","bundleNone":"None","bundleSelectMode":"Select a bundle mode","bundleTitle":"Bundle","cacheHitRatio":"Cache Hit Ratio","cacheReadTokens":"Cache Read","cacheWindowSummary":"{{percent}}% ({{cached}} / {{written}} / {{input}} / {{tasks}})","cacheWriteTokens":"Cache Write","cancel":"Cancel","cancelCustomInterval":"Cancel custom interval","center":"Center","chainOfCommand":"Chain of Command","change":"Change","changeRole":"Click to change role","charactersCount_one":"{{count}} characters","charactersCount_other":"{{count}} characters","chooseFile":"Choose File","clearAgents":"Clear agents","clearSkills":"Clear skills","clickToChangeRole":"Click to change role","close":"Close","closeAriaLabel":"Close","combinedTokens":"Combined Tokens","company":"Company","configDescription":"Configure this agent's identity, model, and behavior settings.","configTitle":"Configuration","connecting":"Connecting...","connectingStream":"Connecting to log stream...","connectionLost":"Connection lost. Retrying...","context":"Context","controls":"Controls","coordinationOnlyAgent":"Coordination-only agent","coordinationOnlyHint":"This agent coordinates work but does not execute tasks directly.","copyId":"Copy ID","create":"Create","createAgent":"Create agent","created":"Agent \\"{{name}}\\" created","createError":"Failed to create agent: {{error}}","createSuccess":"Agent \\"{{name}}\\" created","creating":"Creating...","creatingAgent":"Creating agent...","currentAgent":"Current agent","currentInput":"Current input: {{method}}","currentPath":"Current path","currentUsage":"Current Usage","currentWork":"Current Work","customHeartbeatAria":"Custom heartbeat interval in minutes for {{name}}","customHeartbeatOption":"Custom...","customizeForAgent":"Customize for this agent","daily":"Daily","dangerZone":"Danger Zone","dangerZoneDesc":"Irreversible actions — proceed with caution.","delete":"Delete","deleteAgent":"Delete Agent","deleteConfirm":"Are you sure you want to delete this agent? This cannot be undone.","deleted":"Agent deleted","deleteError":"Failed to delete agent: {{error}}","deleteFailed":"Failed to delete agent","deleteMessage":"Delete agent \\"{{name}}\\"? This cannot be undone.","deleteSuccess":"Agent \\"{{name}}\\" deleted","deleteTitle":"Delete Agent","deletionNotAvailable":"Deletion is not available while the agent is running.","deletionPermanent":"This will permanently delete the agent and all associated data.","detailLoadingLabel":"Agent detail loading","details":"Details","dialogAriaLabel":"Create new agent","dialogTitle":"New Agent","employeesTitle":"Employees","emptySubtitle":"Create an agent to get started","emptyTitle":"No agents found","engineerBacklogAutoClaim":"Engineer Backlog Auto-Claim","engineerBacklogAutoClaimHint":"Per-agent override of the project default. Allows this engineer-role agent to auto-claim unowned backlog tasks; explicit assignment and delegation are unchanged.","errors":"Errors","executionPrompt":"Execution Prompt","executionPromptNotCaptured":"Execution prompt not captured","failedToImport":"Failed to import agents","failedToLoadCompanies":"Failed to load companies","failedToParseDirectory":"Failed to parse AGENTS.md files from selected directory","failedToParseManifest":"Failed to parse manifest","failedToReadFile":"Failed to read file","fieldHeartbeatPath":"Heartbeat Procedure Path","fieldIcon":"Icon","fieldInstructionsPath":"Instructions Path","fieldInstructionsText":"Inline Instructions","fieldMaxTurns":"Max Turns","fieldMemory":"Agent Memory","fieldName":"Name","fieldReportsTo":"Reports To","fieldRole":"Role","fieldSkills":"Skills","fieldSoul":"Soul","fieldThinking":"Thinking","fieldThinkingLevel":"Thinking Level","fieldTitle":"Title","fileContentHint":"Edit the file contents directly.","fileContentLabel":"File Content","fileContentPlaceholder":"File content will appear here...","fileHint":".md and .txt files supported","fileLoadError":"Failed to load file","fileSaved":"File saved","filterAll":"All States","filterByState":"Filter agents by state","fit":"Fit","fixValidationErrors":"Fix validation errors before saving","fixValidationToSave":"Fix validation errors to save","from":"From","generateHint":"Describe your agent's role and let AI generate a specification","generateWithAI":"Generate with AI","generateWithAiLabel":"Generate agent with AI","generation":{"collapse":"Collapse","expand":"Expand","generate":"Generate","info":"Describe your agent's role and the AI will generate a complete specification including system prompt, suggested configuration, and more.","loading":"Generating agent specification…","previewDescription":"Description","previewMaxTurns":"Max Turns","previewRole":"Role","previewThinking":"Thinking","previewTitle":"Title","rateLimited":"Too many requests. Please wait a moment and try again.","regenerate":"Regenerate","roleHint":"Describe what your agent should do","roleLabel":"Role Description","rolePlaceholder":"e.g. \\"Senior frontend code reviewer who specializes in React accessibility\\"","systemPrompt":"System Prompt","title":"Generate Agent","useThis":"Use This"},"healthError":"Error","heartbeat":"Heartbeat:","heartbeatAndHealth":"Heartbeat & Health","heartbeatClampedToMin_one":"Heartbeat interval set to 5 minutes (minimum). {{count}} minute was below the 5-minute minimum.","heartbeatClampedToMin_other":"Heartbeat interval set to 5 minutes (minimum). {{count}} minutes was below the 5-minute minimum.","heartbeatCustom":"Custom heartbeat run","heartbeatEnabled":"Heartbeat Enabled","heartbeatEnabledHint":"Allow this agent to run on a scheduled heartbeat.","heartbeatEnterMinutes":"Please enter a heartbeat interval in minutes","heartbeatFileEditMode":"Edit mode","heartbeatFileEditorHint":"Edit the heartbeat procedure file directly.","heartbeatFileEmptyPreview":"Empty file — switch to edit mode to add content.","heartbeatFileLoadFailed":"Failed to load heartbeat file","heartbeatFilePlaceholder":"Heartbeat procedure content...","heartbeatFilePreviewMode":"Preview mode","heartbeatFileSaved":"Heartbeat file saved","heartbeatFileSaveFailed":"Failed to save heartbeat file","heartbeatIntervalHint":"How frequently the heartbeat runs, in seconds.","heartbeatIntervalLabel":"Heartbeat Interval (s)","heartbeatIntervalUpdated":"Heartbeat interval updated to {{interval}} for {{name}}","heartbeatIntervalUpdateFailed":"Failed to update heartbeat interval: {{error}}","heartbeatMustBeNumber":"Heartbeat interval must be a valid number","heartbeatMustBePositive":"Heartbeat interval must be greater than 0","heartbeatOverdue":"Heartbeat overdue {{elapsed}}","heartbeatPathHint":"Path to the agent's heartbeat procedure path, typically .fusion/agents/ceo-agent2736/HEARTBEAT.md. Legacy id-only default paths still work.","heartbeatPathPlaceholder":"e.g. .fusion/agents/ceo-agent2736/HEARTBEAT.md","heartbeatProcedureDesc":"The heartbeat procedure guides what this agent does on each scheduled run.","heartbeatProcedureDescSuffix":"You can customize it here or leave it on the built-in default.","heartbeatProcedureFileLabel":"Heartbeat Procedure File","heartbeatProcedureFileReady":"Heartbeat procedure file ready","heartbeatProcedurePathSet":"Heartbeat procedure path set","heartbeatProcedureTitle":"Heartbeat Procedure","heartbeatPromptTemplate":"Heartbeat Prompt Template","heartbeatRunFailed":"Failed to start heartbeat run: {{error}}","heartbeatRunStarted":"Heartbeat run started for {{name}}","heartbeatRunsWillAppear":"Heartbeat runs will appear here.","heartbeatScopeDiscipline":"Heartbeat Scope Discipline","heartbeatSettingsDesc":"Control the scheduling and behavior of this agent's heartbeat.","heartbeatSettingsTitle":"Heartbeat Settings","heartbeatSpeed":"Heartbeat Speed","heartbeatSpeedHint":"Scales all agent heartbeat intervals. ×0.5 = twice as fast, ×2.0 = twice as slow. Default: ×1.0","heartbeatSpeedPreset":"Heartbeat speed preset","heartbeatSpeedSaveFailed":"Failed to save heartbeat multiplier: {{error}}","heartbeatSpeedSet":"Heartbeat speed set to ×{{value}}","heartbeatStarted":"Heartbeat started","heartbeatStartFailed":"Failed to start heartbeat","heartbeatTimeoutHint":"Maximum time in seconds a heartbeat run may take before being killed.","heartbeatTimeoutLabel":"Heartbeat Timeout (s)","heartbeatUpgradeFailed":"Failed to upgrade heartbeat procedure","iconLabel":"Icon","iconPlaceholder":"e.g. 🤖","idCopied":"ID copied to clipboard","idleNoTask":"Idle — no task assigned","immediate":"Immediate","import":"Import","importAgents":"Import Agents","importButton":"Import {{label}}","importComplete":"Import Complete","importDescription":"Import agents from an Agent Companies package. Browse the companies.sh catalog to discover published agents, upload an AGENTS.md file, select a directory, or paste manifest content.","importingAgents_one":"Importing {{count}} agent{{plural}}...","importingAgents_other":"Importing {{count}} agent{{plural}}...","importingAgentsAndSkills":"Importing {{agentCount}} agent{{agentPlural}} and {{skillCount}} skill{{skillPlural}}...","importingSkills_one":"Importing {{count}} skill{{plural}}...","importingSkills_other":"Importing {{count}} skill{{plural}}...","importReportsTo":" · reports to {{agent}}","importSkills":" · skills: {{skills}}","inbox":"Inbox","inheritingProjectDefault":"Inheriting project default","inheritProjectDefault":"Inherit project default","inlineInstructions":"Inline Instructions","inlineMemoryFieldHint":"This memory is embedded directly in the agent's context.","inlineMemoryHint":"Short-form memory injected on every heartbeat.","inlineMemoryLabel":"Inline Memory","inProgress":"In progress","input":"Input","inputTokens":"Input","installs":"installs","instructionsDescription":"Persistent instructions that guide this agent's behavior.","instructionsEmptyPreview":"No instructions yet — switch to edit mode to add some.","instructionsFileEditorDesc":"Edit the linked instructions file directly.","instructionsFileEditorTitle":"Instructions File","instructionsFileSaved":"Instructions file saved","instructionsFileSaveFailed":"Failed to save instructions file","instructionsHint":"These instructions are prepended to every prompt this agent receives.","instructionsPathHint":"Path to a markdown file containing this agent's instructions.","instructionsPathLabel":"Instructions File Path","instructionsPathPlaceholder":"/path/to/instructions.md","instructionsPlaceholder":"Enter instructions for this agent...","instructionsSaved":"Instructions saved","instructionsSaveFailed":"Failed to save instructions","instructionsTextPlaceholder":"Add custom behavior instructions...","instructionsTitle":"Instructions","intentPrompt":"What do you want this agent to do?","interval":"Interval","interviewDraftApplied":"Interview draft applied","kTokens_one":"{{count}}k tokens","kTokens_other":"{{count}}k tokens","last24h":"Last 24h","last7d":"Last 7 days","lastHeartbeat":"Last heartbeat","lastHeartbeatAt":"Last: {{time}}","latestRunLabel":"Latest run","layoutAuto":"Auto","layoutAutoAria":"Automatic layout","layoutHorizontal":"Horizontal","layoutHorizontalAria":"Horizontal layout","layoutVertical":"Vertical","layoutVerticalAria":"Vertical layout","listView":"List view","lite":"Lite","live":"Live","liveLogs":"Live logs","liveRun":"Live run","loadError":"Failed to load agents: {{error}}","loading":"Loading agent...","loadingAgents":"Loading agents...","loadingCompanies":"Loading companies…","loadingDetails":"Loading run details...","loadingEligibility":"Loading eligibility…","loadingEligible":"Loading eligible agents...","loadingEmployees":"Loading employees...","loadingFile":"Loading file...","loadingFileContent":"Loading file content...","loadingLogs":"Loading logs...","loadingMailbox":"Loading mailbox...","loadingMemoryFiles":"Loading memory files...","loadingModels":"Loading models…","loadingOrgChart":"Loading org chart...","loadingReportingChain":"Loading reporting chain...","loadingRuns":"Loading runs...","loadingRuntimes":"Loading runtimes...","loadingSkillContent":"Loading skill content...","loadingTasks":"Loading tasks...","loadTasksFailed":"Failed to load tasks","logEntries_one":"{{count}} entries","logEntries_other":"{{count}} entries","logsWillAppear":"Logs will appear here once the agent starts running.","logsWillAppearActive":"Logs will appear here.","mailboxLoadFailed":"Failed to load mailbox","mailFrom":"From","mailSent":"Sent","mailTo":"To","mailToLabel":"To","mailType":"Type","manifestContent":"Manifest content","manifestPlaceholder":"---\\nname: CEO\\ntitle: Chief Executive Officer\\nreportsTo: null\\nskills:\\n - review\\n---\\nAgent instructions go here...","maxConcurrentRunsHint":"Maximum number of heartbeats that can run simultaneously.","maxConcurrentRunsLabel":"Max Concurrent Runs","maxTurns":"Max turns","memoryDescription":"Manage this agent's long-term and working memory.","memoryEmptyPreview":"No inline memory yet — switch to edit mode to add some.","memoryFileEditMode":"Edit mode","memoryFileEmptyPreview":"Empty file — switch to edit mode to add content.","memoryFileLoadFailed":"Failed to load memory file","memoryFileMeta":"{{size}} bytes · updated {{date}}","memoryFilePlaceholder":"Memory file content...","memoryFilePreviewMode":"Preview mode","memoryFileSaved":"Memory file saved","memoryFileSaveFailed":"Failed to save memory file","memoryFilesHint":"Files stored in the agent's memory layers.","memoryFilesHintSuffix":"Select a file to view or edit its contents.","memoryFilesLabel":"Memory Files","memoryFilesLoadFailed":"Failed to load memory files","memoryLayerDaily":"Daily","memoryLayerDailyDesc":"Short-term notes refreshed each day.","memoryLayerDreams":"Dreams","memoryLayerDreamsDesc":"Synthesized reflections from recent activity.","memoryLayerLongTerm":"Long-term","memoryLayerLongTermDesc":"Persistent facts and knowledge retained across sessions.","memoryPlaceholder":"Enter inline memory for this agent...","memoryReadOnly":"Read-only","memorySaved":"Memory saved","memorySaveFailed":"Failed to save memory","memoryTitle":"Memory","memoryTooLong":"Memory content is too long","messageResponseModeHint":"When this agent responds to incoming messages.","messageResponseModeLabel":"Message Response Mode","minutesUnit":"min","modalTitle":"Agents","model":"Model","modelDefault":"default","modelDescription":"Choose the AI model this agent uses for inference.","modelPlaceholder":"Select a model…","modelTitle":"Model","monthly":"Monthly","name":"Name","nameLabel":"Name","namePlaceholder":"Agent name...","never":"Never","newAgent":"New Agent","next":"Next","nextExpected":"Next expected","nextHeartbeat":"Next heartbeat in {{elapsed}}","nextHeartbeatAt":"Next: {{time}}","noActiveAssignment":"No active assignment","noActiveEligible":"No active agents eligible to pause","noActivityYet":"No activity yet","noAgentsFound":"No agents found in the manifest.","noAgentsMdFiles":"Selected directory has no AGENTS.md files","noAgentsToPause":"No agents eligible to pause","noAgentsToPauseHint":"No active or running project agents to pause","noAgentsToResume":"No agents eligible to resume","noAgentsToResumeHint":"No paused project agents to resume","noCompaniesAvailable":"No companies available","noCompaniesMatch":"No companies match your search","noEmployees":"No employees","noEmployeesDesc":"This agent has no direct reports.","noInboxMessages":"No messages in inbox","noInstructionsPath":"No instructions file path set","noLimit":"No limit","noLogEntriesYet":"No log entries yet","noLogsForRun":"No logs for this run","noManager":"No manager","noMemoryFiles":"No memory files","noneUsingBuiltIn":"None (using built-in)","noOutboxMessages":"No messages in outbox","noOutputCaptured":"No output captured","noPausedEligible":"No paused agents eligible to resume","noReportingChain":"No reporting chain","noReset":"No reset","noRunsYet":"No runs yet","noRuntimes":"No runtimes available","noSkillContent":"No skill content available","noSkillMd":"No skill documentation found","noSkillsInPackage":"No skills in package","noTasksAssigned":"No tasks assigned","noTokenUsageYet":"No token usage recorded yet. Token totals appear here once agents run.","notScheduled":"Not scheduled","notSelected":"Not selected","off":"Off","onboarding":{"applyDraftAgent":"Apply draft to agent form","applyDraftSettings":"Apply draft to settings form","continue":"Continue","dialogLabel":"AI Interview","draftIntro":"Review this generated draft. Nothing is applied until you confirm.","draftReady":"Draft ready for review","fieldAgentMemory":"Agent Memory","fieldHeartbeatEnabled":"Heartbeat Enabled","fieldHeartbeatInterval":"Heartbeat Interval","fieldHeartbeatPath":"Heartbeat Procedure Path","fieldIcon":"Icon","fieldInlineInstructions":"Inline Instructions","fieldMaxTurns":"Max Turns","fieldModelHint":"Model Hint","fieldName":"Name","fieldPatternAgent":"Pattern Agent","fieldReportsTo":"Reports To","fieldRole":"Role","fieldRuntimeHint":"Runtime Hint","fieldSkills":"Skills","fieldSoul":"Soul","fieldTemplate":"Template","fieldThinkingLevel":"Thinking Level","fieldTitle":"Title","intentLabelCreate":"What should this new agent own?","intentLabelEdit":"What should this agent change or improve?","no":"no","notSet":"Not set","sectionConfiguration":"Configuration","sectionIdentity":"Identity","sectionRationale":"Rationale","sectionRuntimeHints":"Runtime Hints","startInterview":"Start interview","startOnboarding":"Start onboarding","thinking":"Thinking...","title":"Agent Onboarding","updatedDraftReady":"Updated draft ready for review","yes":"yes"},"onHeartbeat":"On heartbeat","openDetails":"Open details for {{name}}","optional":"(optional)","orgChartCanvas":"Org chart canvas","orgChartCenter":"Center org chart","orgChartEmployees":"{{name}} employees","orgChartFit":"Fit org chart","orgChartLoadFailed":"Failed to load org chart: {{error}}","orgChartView":"Org Chart view","orgChartZoomIn":"Zoom in org chart","orgChartZoomOut":"Zoom out org chart","orPasteManifest":"or paste manifest content","outbox":"Outbox","output":"Output","outputTokens":"Output","overview":"Overview","overviewLabel":"Agents overview","parsing":"Parsing…","pause":"Pause","pauseAction":"Pause","pauseAgentsFailed":"Failed to pause agents: {{error}}","pauseAll":"Pause All","pauseAllAgents":"Pause All Agents","pauseAllConfirm_one":"Pause {{count}} agent in this project?","pauseAllConfirm_other":"Pause {{count}} agents in this project?","pauseAllTitle":"Pause All Agents","pauseCountHint_one":"Pause {{count}} active/running agent","pauseCountHint_other":"Pause {{count}} active/running agents","pauseCountHint_one_one":"","pauseCountHint_one_other":"","pauseCountHint_other_one":"","pauseCountHint_other_other":"","pausedPast":"paused","pausedSummary_one":"Paused {{count}} agent; skipped {{skipped}}","pausedSummary_other":"Paused {{count}} agents; skipped {{skipped}}","pendingApprovals":"Pending Approvals","pendingApprovalsCount_one":"{{count}} pending approvals","pendingApprovalsCount_other":"{{count}} pending approvals","performance":{"avgDuration":"Avg Duration","noData":"No performance data yet","reflections":"Reflections","successRate":"Success Rate","tasksCompleted":"Tasks Completed","tasksFailed":"Tasks Failed"},"permissionPolicyFailed":"Failed to update permission policy","permissionPolicyUpdated":"Permission policy updated","permissionsDescription":"Control what this agent is allowed to do.","permissionsTitle":"Permissions","pluginRuntime":"Plugin runtime","presetsHeader":"Choose a preset persona to prefill role, identity, soul, and instructions","preview":"Preview","promptSize":"Prompt size","promptSizeChart":"Prompt Size Chart","provideManifest":"Please provide manifest content","ratings":{"addError":"Failed to add rating: {{error}}","addRating":"Add Rating","addSuccess":"Rating added","categoryAverages":"Category Averages","categoryCommunication":"Communication","categoryOther":"Other","categoryQuality":"Quality","categoryReliability":"Reliability","categorySelect":"Select category...","categorySpeed":"Speed","commentPlaceholder":"Optional comment...","count_one":"{{count}} ratings","count_other":"{{count}} ratings","deleteError":"Failed to delete rating: {{error}}","deleteRating":"Delete rating","deleteSuccess":"Rating deleted","historyTitle":"Rating History","loadError":"Failed to load ratings: {{error}}","loading":"Loading ratings...","noRatings":"No ratings yet","starCount_one":"{{count}} star","starCount_other":"{{count}} stars","submitRating":"Submit Rating","submitting":"Submitting...","title":"User Ratings"},"recentRuns":"Recent Runs","reflections":{"agentNotFound":"This agent is no longer available. It may have been deleted.","generateError":"Failed to generate reflection: {{error}}","generateSuccess":"Reflection generated successfully","getStarted":"Trigger a reflection to get started","historyTitle":"Reflection History","insights":"Insights","insufficientHistory":"Not enough history to generate a reflection yet","loadError":"Failed to load reflections: {{error}}","loading":"Loading reflections...","loadingEvaluation":"Loading evaluation...","metricAvgDuration":"Avg Duration:","metricErrors":"Errors:","metricFailed":"Failed:","metrics":"Metrics","metricTasks":"Tasks:","noReflections":"No reflections yet","reflecting":"Reflecting...","reflectNow":"Reflect Now","reflectNowTitle":"Generate a manual reflection","sectionTitle":"Performance, Reflections & Ratings","suggestedImprovements":"Suggested Improvements"},"refresh":"Refresh","removeAvatar":"Remove avatar","replyingTo":"Replying to","reportsToLabel":"Reports to","resetBudgetUsage":"Reset Budget Usage","resetDayHint":"The day of the week or month when the budget resets.","resetDayLabel":"Reset Day","resetDayMonthly":"Day of month (1–28)","resetDayWeekly":"Day of week (0=Sun)","resetting":"Resetting...","resizeSidebar":"Resize agents sidebar","result":"Result","resultCreated_one":"{{count}} created","resultCreated_other":"{{count}} created","resultErrors_one":"{{count}} error{{plural}}","resultErrors_other":"{{count}} error{{plural}}","resultSkipped_one":"{{count}} skipped (already exist)","resultSkipped_other":"{{count}} skipped (already exist)","resume":"Resume","resumeAction":"Resume","resumeAgentsFailed":"Failed to resume agents: {{error}}","resumeAll":"Resume All","resumeAllAgents":"Resume All Agents","resumeAllConfirm_one":"Resume {{count}} agent in this project?","resumeAllConfirm_other":"Resume {{count}} agents in this project?","resumeAllTitle":"Resume All Agents","resumeCountHint_one":"Resume {{count}} paused agent","resumeCountHint_other":"Resume {{count}} paused agents","resumeCountHint_one_one":"","resumeCountHint_one_other":"","resumeCountHint_other_one":"","resumeCountHint_other_other":"","resumedPast":"resumed","resumedSummary_one":"Resumed {{count}} agent; skipped {{skipped}}","resumedSummary_other":"Resumed {{count}} agents; skipped {{skipped}}","retry":"Retry","reviewConfiguration":"Review generated configuration","reviewHint":"Review your agent configuration before creating.","role":"Role","roleCustom":"Custom","roleEngineer":"Engineer","roleExecutor":"Executor","roleLabel":"Role","roleLabel2":"Role","roleMerger":"Merger","roleReviewer":"Reviewer","roleScheduler":"Scheduler","roleTriage":"Triage","roleUpdated":"Agent role updated to {{role}}","roleUpdateError":"Failed to update role: {{error}}","roleUpdateFailed":"Failed to update role: {{error}}","roleUpdateSuccess":"Agent role updated to {{role}}","runAriaLabel":"Run {{id}}","runDetailsFailed":"Failed to load run details","runMissedHeartbeat":"Run missed heartbeat","runMissedHeartbeatHint":"Trigger a run if the agent misses a scheduled heartbeat.","running":"Running","runNow":"Run Now","runNowAria":"Run now for {{name}}","runNowFor":"Run now for {{name}}","runs":{"empty":"No runs yet","loading":"Loading runs…","stop":"Stop","stopAriaLabel":"Stop run","stopMessage":"Stop this run?","stopTitle":"Stop Run"},"runsCount_one":"{{count}} run","runsCount_other":"{{count}} runs","runsSuccessRate":"{{rate}}% success rate","runStarted":"Run started","runsToday":"Runs today","runStopped":"Run stopped","runtime":"Runtime","runtimeEmpty":"No plugin runtimes available","runtimeLabel":"Runtime","runtimeMode":"Runtime mode","runtimePlaceholder":"Select a plugin runtime…","runtimeSource":"Runtime Source","runtimeSourceBuiltIn":"Built-in Model","runtimeSourcePlugin":"Plugin Runtime","save":"Save","saveBeforeSwitch":"Save changes before switching files","saveCustomInterval":"Save custom interval","saveFailed":"Save failed","saveFile":"Save File","saveHeartbeatFile":"Save Heartbeat File","saveInstructions":"Save Instructions","saveMemory":"Save Memory","saveMemoryFile":"Save Memory File","saveSettings":"Save Settings","saveSoul":"Save Soul","saving":"Saving…","savingChanges":"Saving changes...","savingFile":"Saving file...","scopeDisciplineHint":"Controls how strictly the agent follows its scope during heartbeats.","searchCompanies":"Search companies…","sectionConfiguration":"Configuration","sectionIdentity":"Identity","sectionRuntime":"Runtime","selectAgent":"Select agent {{name}}","selectAgentHint":"Choose an agent from the sidebar to view details","selectAllAgents":"Select all agents","selectAllSkills":"Select all skills","selectAnAgent":"Select an agent","selectCompany":"Please select a company from the catalog","selectDirectory":"Select Directory","selected":"Selected:","selectedAgentLabel_one":"{{count}} Agent{{plural}}","selectedAgentLabel_other":"{{count}} Agent{{plural}}","selectedSkillLabel_one":"{{count}} Skill{{plural}}","selectedSkillLabel_other":"{{count}} Skill{{plural}}","selectMemoryFile":"Select a memory file","selectModel":"Model","selectModelPlaceholder":"Select a model…","selectRuntime":"Select a runtime","selectSkill":"Select skill {{name}}","setHeartbeatAria":"Set heartbeat interval for {{name}}","settingsSaved":"Settings saved","settingsSaveFailed":"Failed to save settings","setupModeAriaLabel":"Agent setup mode","showSystemAgents":"Show system agents","skills":"Skills","skillsDescription":"Manage the skills available to this agent.","skillsErrors_one":"{{count}} skill{{plural}} error{{pluralError}}","skillsErrors_other":"{{count}} skill{{plural}} error{{pluralError}}","skillsFound_one":"{{count}} skill{{plural}} found","skillsFound_other":"{{count}} skill{{plural}} found","skillsHint":"Optional skills to assign to this agent","skillsImported_one":"{{count}} skill{{plural}} imported","skillsImported_other":"{{count}} skill{{plural}} imported","skillsNone":"No skills assigned","skillsSelected_one":"{{count}} skill selected","skillsSelected_other":"{{count}} skills selected","skillsSkipped_one":"{{count}} skill{{plural}} skipped (already exist)","skillsSkipped_other":"{{count}} skill{{plural}} skipped (already exist)","skillsTitle":"Skills","skipHeartbeatWhenIdle":"Skip heartbeat when idle","skipHeartbeatWhenIdleHint":"Avoid running heartbeats when the agent has nothing to do.","soulDescription":"The soul defines this agent's personality, values, and communication style.","soulEmptyPreview":"No soul yet — switch to edit mode to add one.","soulHint":"Describe who this agent is — its character, tone, and values.","soulPlaceholder":"Describe this agent's soul...","soulSaved":"Soul saved","soulSaveFailed":"Failed to save soul","soulTitle":"Soul","soulTooLong":"Soul content is too long","start":"Start","starting":"Starting...","startOnboarding":"Start onboarding","stateActive":"Active","stateAll":"All States","stateError":"Error","stateIdle":"Idle","statePaused":"Paused","stateRunning":"Running","stateUpdated":"Agent state updated","stateUpdateError":"Failed to update state: {{error}}","stateUpdateFailed":"Failed to update agent state","stateUpdateSuccess":"Agent state updated to {{state}}","status":"Status","statusCount":"{{activeCount}} active · {{runningCount}} running","step":"Step {{number}}{{total}}: {{name}}","stepAriaLabel":"Step {{step}}","stop":"Stop","stopActiveRun":"Stop active run","stopActiveRunFor":"Stop active run for {{name}}","stopRun":"Stop Run","stopRunConfirm":"Are you sure you want to stop this run?","stopRunFailed":"Failed to stop run","stopRunTitle":"Stop Run","strict":"Strict","successRate":"Success rate","systemDefault":"System default","systemDefaultOnHeartbeat":"System default (on heartbeat)","systemPrompt":"System Prompt","systemPromptNotCaptured":"System prompt not captured","tabConfig":"Config","tabCustom":"Custom agent","tabDashboard":"Dashboard","tabEmployees":"Employees","tabInstructions":"Instructions","tabLogs":"Logs","tabMail":"Mail","tabMemory":"Memory","tabPresets":"Preset personas","tabReflections":"Reflections","tabRuns":"Runs","tabSoul":"Soul","tabTasks":"Tasks","taskUpdated":"Task updated","templateCompact":"Compact","templateDefault":"Default","thinkingHigh":"High","thinkingLevel":"Thinking level","thinkingLow":"Low","thinkingMedium":"Medium","thinkingMinimal":"Minimal","thinkingOff":"Off","thinkingXhigh":"Very High","throughput":"Throughput","timeSinceLastHeartbeat":"Time since last heartbeat","title":"Agents","titleLabel":"Title","titlePlaceholder":"e.g. Senior Engineer","tokenBudgetHint":"Maximum tokens this agent can use per budget period.","tokenBudgetLabel":"Token Budget","tokenStatistics":"Agent token usage statistics","tokenUsage":"Token Usage","tokenUsageByAgent":"Token Usage by Agent","tokenUsageTotals":"Token usage totals","total":"Total","totalRuns":"Total runs","unknownManager":"Unknown manager","unreadMessage":"Unread","upgradeHint":"Upgrade from","upgradeHintSuffix":"to the latest default.","upgradeHintTo":"to","upgradeToDefault":"Upgrade to default","upgradeToDefaultAriaLabel":"Upgrade heartbeat procedure to default","upgrading":"Upgrading...","uploadAvatar":"Upload avatar","usageThresholdHint":"Send a warning when usage reaches this percentage of the budget.","usageThresholdLabel":"Usage Warning Threshold (%)","useGlobalDefault":"Use global default","viewAgent":"View agent","viewDetailsFor":"View details for {{name}}","viewHeartbeatMarkdown":"View heartbeat markdown","viewLiveLogs":"View live run logs","viewLiveRun":"View live run details","viewLiveRunAria":"View live run details for {{name}}","viewLogsFor":"View live logs for {{taskId}}","viewSkillDetails":"View skill details","viewTask":"View task","waitingForActivity":"Waiting for activity...","waitingForQuestion":"Waiting for AI question...","waitingOutput":"Waiting for output...","weekly":"Weekly","workingOn":"Working on","zoomIn":"Zoom in","zoomOut":"Zoom out","capabilityGrantsTitle":"Capability grants","capabilityGrantsDescription":"Explicit grants add to this agent's role defaults and apply to both permanent and ephemeral agents.","roleDefaultGrant":"Role default grant","explicitGrant":"Explicit grant","notGranted":"Not granted","toggleCapabilityGrant":"Toggle explicit grant for {{permission}}","capabilityPermissionsUpdated":"Capability grants updated","capabilityPermissionsFailed":"Failed to update capability grants: {{error}}"}`),u={backendError:{failedFetch:"Failed to fetch projects"},testMode:"Test mode — no real AI calls",migrationInProgress:"Database migration in progress — the dashboard will reconnect when it completes."},p="Fusion",g={dismissBanner:"Dismiss approval notification banner",needAttention_one:"{{count}} approval {{noun}} need your attention",needAttention_other:"{{count}} approval {{noun}} need your attention",openMailbox:"Open Mailbox",requestPlural:"requests",requests:"Approval requests",requestSingular:"request"},m={clearAndRetry:"Clear token and retry",pasteToken:"Paste token",relogin:"Re-login",reloginRequired:"Re-login required: {{provider}}. Your {{provider}} session expired — sign in again to keep agents running.",reloginRequiredMultiple:"Re-login required: {{providers}}",replacementToken:"Replacement token",setAndReload:"Set token and reload",tokenRecoveryDescription:"This dashboard session can't authenticate with the daemon. Set a replacement token or clear the current token and retry.",tokenRequired:"Authentication token required"},h={changeLaunchMode:"Change Launch Mode…",connectionError:"Can't reach the Fusion backend",couldNotLoad:"Fusion couldn't load your projects right now. Please make sure the backend is running and try again.",error:"Error: {{error}}",manageConnection:"Manage Connection",retryConnection:"Retry Connection",retrying:"Retrying…"},f={archived:"Archived",done:"Done",inProgress:"In Progress",inReview:"In Review",rejection:{capacityExhausted:"That column is at capacity. Try again when a slot frees up.",guardRejected:"This move is not allowed by the workflow.",mergeBlocked:"This task is blocked from completing until its merge step finishes.",promoteRejected:"This card could not be promoted.",unknownColumn:"That column doesn't exist in this task's workflow.",workflowMismatch:"Drag can't move a card between workflows. Use the workflow switcher instead."},todo:"To Do",triage:"Planning",workflow:{edit:"Edit workflows",new:"New workflow"}},b={abandonGroup:"Abandon group",autoMergeEnabled:"Auto-merge enabled",collapseLabel:"Collapse branch group",completionText:"{{landed}} of {{total}} members finished",expandLabel:"Expand branch group",groupLabel:"Group {{id}}",loadError:"Failed to load branch group",loading:"Loading branch group…",mergeIntoMain:"Merge group into main",openPr:"Open PR",unavailable:"Branch group unavailable"},v={prNumber:"PR #{{number}}"},k={dismiss:"Dismiss capacity warning",risk:"Capacity risk:",status:"Todo {{todoCount}} (threshold {{threshold}}) · In Progress {{inProgress}} · In Review {{inReview}} · Idle agents {{idleAgents}}"},y={disableWrap:"Disable word wrap",enableWrap:"Enable word wrap",merged:"Merged {{date}}",nextFile:"Next file (Ctrl+↓)",nextFileAria:"Next file",noDiff:"No diff available for this file.",previousFile:"Previous file (Ctrl+↑)",previousFileAria:"Previous file",selectFile:"Select a file to view its diff",title:"Changes",toggleWrap:"Toggle word wrap"},w={archive:"Archive",attachFiles:"Attach files",cancel:"Cancel",cancelButton:"Cancel",clearConversationFailed:"Failed to clear conversation",closeQuickChat:"Close quick chat",conversationArchived:"Conversation archived",conversationDeleted:"Conversation deleted",conversationName:"Conversation name",conversationRenamed:"Conversation renamed",contextWindowAria:"Estimated {{used}} of {{total}} context tokens",copyFailed:"Copy failed",copyResponse:"Copy response",create:"Create",createButton:"Create",createRoom:"Create room",delete:"Delete",deleteConversation:"Delete conversation",deleteConversationBody:"This action cannot be undone. All messages in this conversation will be permanently deleted.",deleteConversationTitle:"Delete Conversation?",deleteRoom:"Delete room {{name}}",deleteRoomBody:"This action cannot be undone. This room and all its messages will be permanently deleted.",deleteRoomTitle:"Delete Room?",dismissQueuedMessage:"Dismiss queued message",failedToArchiveConversation:"Failed to archive conversation",failedToClearConversation:"Failed to clear conversation",failedToClearRoomConversation:"Failed to clear room conversation",failedToCreateSession:"Failed to create chat session",failedToDeleteConversation:"Failed to delete conversation",failedToDeleteRoom:"Failed to delete room",failedToRenameConversation:"Failed to rename conversation",failedToSendRoomMessage:"Failed to send room message",failureDetails:"Failure details",helpMessageContent:"Available commands:\n- `/new` or `/clear` — Clear conversation and start fresh\n- `/skill:{name}` — Use a specific skill\n- `/help` — Show this help",jumpToLatest:"Latest",latest:"Latest",loadingAgents:"Loading agents...",loadingConversation:"Loading conversation…",loadingConversations:"Loading...",loadingMessages:"Loading messages...",loadingModels:"Loading models...",loadingOlderMessages:"Loading older messages…",loadingSessions:"Loading sessions…",loadingSkills:"Loading skills…",matchedInMessage:'Matched: "{{preview}}"',mentionNonMember:"Not a member of {{roomName}}",messageAgentPlaceholder:"Message {{name}}",messageModelPlaceholder:"Message {{name}}",messageRoomPlaceholder:"Message #{{name}}",messageSentButReplyFailed:"Message sent, but assistant reply failed",messageSentButReplyFailedDetail:"Message sent, but assistant reply failed: {{detail}}",modeAgent:"Agent",modeModel:"Model",newChat:"New Chat",newChatModeAgent:"Agent",newChatModeModel:"Model",newChatTitle:"New Chat",noAgentsAvailable:"No agents available",noConversationsYet:"No conversations yet",noMessage:"No message",noMessages:"No messages",noMessagesYet:"No messages yet. Start the conversation!",noRoomsYet:"No rooms yet.",noSkillsAvailable:"No skills available",noSkillsFound:"No skills found",openQuickChat:"Open quick chat",questionAnsweredLabel:"Answered",questionAnsweredWithoutContent:"A later user reply answered this question.",questionConfirmNo:"No",questionConfirmYes:"Yes",questionResponseEyebrow:"Assistant question",questionResponseLabel:"Question from assistant",questionSelectHint:"Answer all questions to continue the chat.",questionSubmit:"Send answer",questionSubmittedAnswerLabel:"Submitted answer",questionTextPlaceholder:"Type your answer here…",queuedMessage:"Queued: {{preview}}",quickChatTitle:"Quick Chat",relativeTimeDays_one:"{{count}}d ago",relativeTimeDays_other:"{{count}}d ago",relativeTimeHours_one:"{{count}}h ago",relativeTimeHours_other:"{{count}}h ago",relativeTimeJustNow:"just now",relativeTimeMinutes_one:"{{count}}m ago",relativeTimeMinutes_other:"{{count}}m ago",removeAttachment:"Remove {{name}}",rename:"Rename",renameConversationAria:"Rename conversation {{title}}",renameConversationBody:"Choose a new name for this conversation. Leave it blank to show Untitled.",renameConversationTitle:"Rename Conversation",renamePlaceholder:"Untitled",resizePanelBottom:"Resize panel from bottom",resizePanelBottomLeft:"Resize panel from bottom-left corner",resizePanelBottomRight:"Resize panel from bottom-right corner",resizePanelLeft:"Resize panel from left",resizePanelRight:"Resize panel from right",resizePanelTop:"Resize panel from top",resizePanelTopLeft:"Resize panel from top-left corner",resizePanelTopRight:"Resize panel from top-right corner",resizeSidebar:"Resize chat sidebar",responseCopied:"Response copied",responseFailed:"Response failed",roomMemberCount_one:"{{count}} member",roomMemberCount_other:"{{count}} members",roomsGroupLabel:"Rooms",save:"Save",scopeDirect:"Direct",scopeRooms:"Rooms",scrollMessageToTop:"Scroll message to top",searchConversations:"Search conversations...",selectAgentForNewChat:"Select agent for new chat",selectAgentPlaceholder:"Select an agent to start chatting",selectModel:"Select a model",selectModelOverrideLabel:"Select model override",selectModelPlaceholder:"Select a model to start chatting",selectModelPlaceholder2:"Select a model",selectRoomOrCreate:"Select a room or create one",selectSession:"Select a session",selectSessionLabel:"Select session",sendMessageFailed:"Failed to send message",sendRoomMessageFailed:"Failed to send room message",sessionsGroupLabel:"Sessions",skillSuggestions:"Skill suggestions",startNewChat:"Start a new chat",startNewConversation:"Start a new conversation",stopGeneration:"Stop generation",thinking:"Thinking",thinkingLabel:"Thinking",thinkingLevelButton:"Thinking level",thinkingStatus:"Thinking…",toolArgsLabel:"args",toolArgsPreview:"args: {{summary}}",toolCalls:"Tool calls",toolCallsCount_one:"{{count}} tool calls",toolCallsCount_other:"{{count}} tool calls",toolResultLabel:"result",toolResultPreview:"result: {{summary}}",typeMessage:"Type a message...",unreadMessages:"Unread messages",untitledSession:"Untitled",workingStatus:"Working…",you:"You",modelAgentSection:"Model / Agent",thinkingLevelSection:"Thinking level",noModelsAvailable:"No models available",currentAgentTarget:"Current agent: {{name}}",currentModelTarget:"Current model: {{model}}",currentDefaultTarget:"Using the default chat target"},A={error:{deliveredButRefreshFailed:"Message delivered, but failed to refresh room replies",failedToLoad:"Failed to load chat rooms",failedToUpload:"Failed to upload attachment: {{filename}}",selectRoomFirst:"Select a room before sending a message"}},S={installBody:"Get the {{fn}} and {{fusion}} commands on your terminal so you can drive Fusion from anywhere. One click below or copy the command into your shell.",installButton:"Install with npm",installing:"Installing…",installTitle:"Install the Fusion CLI",openSettings:"Open Settings",updateButton:"Update with npm",updateTitle:"Update the Fusion CLI",updating:"Updating…",versionMismatchInfix:"but this dashboard expects",versionMismatchPrefix:"Your installed",versionMismatchSuffix:"Update to stay in sync."},C={binaryLabel:"Binary:",checking:"Checking…",copied:"Copied",copy:"Copy",expectedVersion:"(expected {{version}})",failedExit:"Install failed (exit {{code}})",heading:"CLI Binary",help:"Installing the global CLI lets you run fn and fusion from any terminal. Automations and scripts work without it via npx, but a global install is faster and more convenient.",installing:"Installing…",installWithNpm:"Install with npm",notOnPath:"Neither fn nor fusion was found on PATH.",orCopyLabel:"Or copy and run yourself:",pathLabel:"Path:",refresh:"Refresh",reinstall:"Reinstall",stateCheckDisabled:"Check disabled",stateInstalled:"Installed",stateMissing:"Not installed",stateVersionMismatch:"Version mismatch",succeededDuration:"Install succeeded in {{duration}}s",versionLabel:"Version:"},T={queued_one:"{{count}} message queued — will send when the agent is ready",queued_other:"{{count}} message queued — will send when the agent is ready",terminalTab:"Terminal",transcriptTab:"Transcript",viewToggleLabel:"Chat view"},P={adapterSettings:"Adapter settings",advance:"Advance",advancePrompt:"This session looks idle — advance to review?",mobileInputPlaceholder:"Type to send to the session…",mobileKeyArrowDown:"Cursor down",mobileKeyArrowLeft:"Cursor left",mobileKeyArrowRight:"Cursor right",mobileKeyArrowUp:"Cursor up",mobileKeyCtrl:"Sticky Ctrl modifier",mobileKeyCtrlC:"Send Ctrl-C",mobileKeyEsc:"Send Escape",mobileKeyTab:"Send Tab",mobileSend:"Send",notYet:"Not yet",postureBaseline:"Baseline",postureResolved:"Resolved posture",readOnly:"Read-only",replayEnded:"Session ended",replayIdle:"Session idle"},R={actionsAriaLabel:"{{columnLabel}} column actions",actionsTitle:"Column actions",archiveAllDoneAriaLabel:"Archive all done tasks",archiveAllDoneTitle:"Archive all done tasks",archiveAllMessage_one:"Archive all {{count}} done tasks?",archiveAllMessage_other:"Archive all {{count}} done tasks?",archiveAllTitle:"Archive All Done",archivedTasks_one:"Archived {{count}} tasks",archivedTasks_other:"Archived {{count}} tasks",autoMerge:"Auto-merge",autoMergeDisabled:"Auto-merge disabled",autoMergeEnabled:"Auto-merge enabled",cancelMove:"Cancel Move",collapseArchivedLabel:"Collapse archived tasks",collapseArchivedTitle:"Collapse archived tasks",expandArchivedLabel:"Expand archived tasks",expandArchivedTitle:"Expand archived tasks",failedToArchive:"Failed to archive tasks",keepProgress:"Keep Progress",loadMore_one:"Load {{count}} more ({{remaining}} remaining)",loadMore_other:"Load {{count}} more ({{remaining}} remaining)",moveAllToTodo:"Move All to Todo",moveAllToTodoMessage_one:"Move all {{count}} {{columnLabel}} task{{plural}} to Todo?",moveAllToTodoMessage_other:"Move all {{count}} {{columnLabel}} task{{plural}} to Todo?",moveAllToTodoTitle:"Move All to Todo",movedToPlanning_one:"Moved {{count}} task{{plural}} to planning for replanning",movedToPlanning_other:"Moved {{count}} task{{plural}} to planning for replanning",movedToTodo_one:"Moved {{count}} task{{plural}} to Todo",movedToTodo_other:"Moved {{count}} task{{plural}} to Todo",movePartialFailure:"Moved {{moved}} of {{total}} tasks; {{failed}} failed",moveToTodoHint_one:"Move {{count}} task{{plural}} to Todo",moveToTodoHint_other:"Move {{count}} task{{plural}} to Todo",moveToTodoPartialFailure:"Moved {{moved}} of {{total}} tasks to Todo; {{failed}} failed",newTask:"New Task",noManuallyPausableTasks:"No manually pausable tasks",noTasks:"No tasks",noTasksInColumn:"No tasks in this column",pauseHint_one:"Pause {{count}} active unassigned task{{plural}}",pauseHint_other:"Pause {{count}} active unassigned task{{plural}}",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressMoveTodoMessage:"Some tasks have completed steps. Keep progress before moving to Todo?",preserveProgressTitle:"Preserve Progress?",replanAll:"Replan All",replanAllHint_one:"Move {{count}} task{{plural}} to Planning",replanAllHint_other:"Move {{count}} task{{plural}} to Planning",replanAllMessage_one:"Move all {{count}} todo task{{plural}} back to planning to be replanned?",replanAllMessage_other:"Move all {{count}} todo task{{plural}} back to planning to be replanned?",replanAllTitle:"Replan All Tasks",resetProgress:"Reset Progress",resetProgressConfirm:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressMoveTodoMessage:"Reset step progress for tasks before moving to Todo?",resetProgressTitle:"Reset Progress?",stopAll:"Stop All",stopAllMessage_one:"Stop all {{count}} {{columnLabel}} task{{plural}}?",stopAllMessage_other:"Stop all {{count}} {{columnLabel}} task{{plural}}?",stopAllTitle:"Stop All Tasks",stopPartialFailure:"Stopped {{paused}} of {{total}} tasks; {{failed}} failed",stoppedTasks_one:"Stopped {{count}} task{{plural}}",stoppedTasks_other:"Stopped {{count}} task{{plural}}"},F=JSON.parse('{"activity":{"activeAgents":"Active agents","activeNodes":"Active nodes","agentRunOutcomeShare":"Agent run outcome share","agentRuns":"Agent runs","agentRunsActive":"Active","agentRunsCompleted":"Completed","agentRunsFailed":"Failed","agentRunsPerDay":"Agent runs / day","agentsPerDay":"Active agents / day","messages":"Messages","messagesPerDay":"Messages / day","nodesPerDay":"Active nodes / day","rechartsLine":"Activity trend","sessions":"Sessions","stickiness":"Stickiness","stickinessHint":"DAU / MAU","summaryTitle":"Summary","throughput":"Throughput","throughputPerDay":"Throughput / day"},"area":{"empty":"No data for the selected range.","loading":"Loading…"},"areaPending":"This area renders once metrics data is available.","controls":{"concurrency":{"description":"Tune live scheduler capacity.","error":"Unable to load concurrency settings","maxConcurrent":"Max concurrent tasks","maxTriageConcurrent":"Max triage concurrent","maxWorktrees":"Max worktrees","title":"Concurrency","runningGlobal":"{{count}} running (all projects)","runningProject":"{{count}} running (this project)"},"engine":{"description":"Stopping the engine halts all AI work.","title":"AI engine"},"heartbeat":{"description":"Pause or resume the scheduling heartbeat.","disabledByStop":"Start the AI engine before resuming the heartbeat.","pause":"Pause heartbeat","resume":"Resume heartbeat","title":"Heartbeat control"},"orgChart":{"empty":"No agents are reporting in yet.","error":"Unable to load org chart","loading":"Loading org chart…","title":"Agent org chart"},"status":{"error":"Unable to load live scheduler status","lastActivity":"Last activity","loading":"Loading…","maxConcurrent":"Max concurrent","noActivity":"No recent activity","paused":"Paused","ready":"Ready","running":"Running","saved":"Saved","saveError":"Save failed","saving":"Saving…","stopped":"Stopped"},"theme":{"description":"Switch the dashboard theme with live color previews.","title":"Theme"},"title":"Operator controls"},"ecosystem":{"breadthTitle":"Ecosystem breadth","empty":"No models or plugins active in the selected range.","modelShareTitle":"Task share by model","perModelTitle":"Tasks per model","plugins":"Plugin activations","pluginsUnavailable":"Plugin-activation metrics are not yet recorded","taskTrendSeries":"Tasks","tokenTrendSeries":"Tokens","trendTitle":"Ecosystem trend","uniqueModels":"Active models"},"empty":"No usage data yet. Run some agents to populate the Dashboard.","funnel":{"ariaLabel":"Tasks per workflow stage","completionRate":"Completion rate","completionRateAria":"Completion rate for in-range planning entrants","completionRateHint":"Done ÷ entered (in range)","doneInRange":"Reached done","empty":"No task transitions in the selected range.","enteredInRange":"Entered planning","rangeDays_one":"{{count}} day range","rangeDays_other":"{{count}} day range","stage":{"done":"Done","inProgress":"In progress","inReview":"In review","other":"Other","todo":"Todo","triage":"Planning"},"throughputPerDay":"Tasks done / day","throughputTitle":"Throughput","title":"SDLC funnel"},"github":{"backfillBusy":"Backfilling close times…","backfillButton":"Backfill exact close times","backfillFailed":"Failed to backfill GitHub source issue close times","backfillMaxBatches":"Backfill stopped after the safety limit; rerun after checking server logs.","backfillNothing":"Nothing to backfill. Scanned {{scanned}}, filled {{filled}}, skipped {{skipped}}, errors {{errors}}.","backfillPending":"Backfill is running in paginated batches.","backfillResult":"Backfill complete. Scanned {{scanned}}, filled {{filled}}, skipped {{skipped}}, errors {{errors}}.","byRepo":"By repository","dailyLine":"Filed vs fixed line","dailyTrend":"Filed vs fixed trend","empty":"No GitHub issue activity in the selected range.","filed":"Filed by Fusion","filedTrend":"Filed","fixed":"Fixed by Fusion","fixedApproximation":"Uses done tasks updated in range","fixedTrend":"Fixed","issueFlowShare":"Filed vs fixed share","net":"Net","repoValue":"{{filed}} filed / {{fixed}} fixed","totalsTitle":"GitHub issue flow"},"heading":"Dashboard","loading":"Loading dashboard...","missionControl":{"activeNodes":"Active nodes","activeRuns":"Active runs","activeSessions":"Active sessions","funnelTitle":"SDLC funnel (live)","idle":"No active sessions. Live updates resume when work starts.","inactive":"inactive","loading":"Loading live activity…","nodesTitle":"Nodes","noNodes":"No active nodes.","noSessions":"No active sessions.","sessionCount_one":"{{count}} session","sessionCount_other":"{{count}} session","sessionsTitle":"Sessions"},"overview":{"activeNodes":"Active nodes","agentRuns":"Agent runs","agentsWorking":"agents working","autonomy":"Autonomy ratio","dailyActivity":"Daily activity trend","dailyActivityAria":"Daily activity trend","dailyActivityHint":"Messages plus active agents per day","dailyActivityLine":"Daily activity line","dailyActivityLineHint":"Messages, agents, and runs by day","liveStrip":"Live activity","liveTokens":"tokens","openSignals":"Open signals","sessions":"Sessions","tasksDone":"Tasks done","tasksInProgress":"tasks in progress","throughputTrend":"throughput trend","throughputTrendAria":"Recent activity throughput trend","tokensByModel":"Tokens by model","tokensByModelHint":"Top model token consumers in this range","tokensByModelPie":"Token share by model","tokensByModelPieHint":"Top model token share in this range","tokensCost":"Tokens & cost","toolCategories":"Tool categories","toolCategoriesHint":"Autonomous work grouped by tool family","uniqueModels":"Unique models"},"productivity":{"averageDuration":"Average","backfillAppliedLabel":"Applied","backfillApply":"Apply backfill","backfillBusy":"Checking historical LOC…","backfillButton":"Preview LOC backfill","backfillConfirmMessage":"This will persist diff stats to task_commit_associations for historical commit associations. Review the dry-run counts before applying.","backfillConfirmTitle":"Apply LOC backfill?","backfillDistinctCommits":"Distinct commits","backfillFailed":"Failed to backfill historical LOC stats","backfillPending":"LOC backfill check is running.","backfillPreviewLabel":"Dry-run preview","backfillResult":"Backfill report","backfillScannedRows":"Scanned rows","backfillSkippedInvalidShas":"Skipped invalid SHAs","backfillSkippedUnavailableCommits":"Skipped unavailable commits","backfillUpdatedRows":"Updated rows","byLanguage":"Files by language","commits":"Commits","completedTasks":"Completed tasks","durationTitle":"Task duration","durationUnavailable":"Task duration is unavailable until completed tasks have active execution time recorded","hoursSaved":"Human hours saved","hoursSavedEstimate":"estimate from lines changed","hoursSavedUnavailable":"Estimated human hours saved is unavailable until commit diff stats exist","languagePie":"Language share","loc":"Lines changed","locUnavailable":"LOC is unavailable until commit diff stats are recorded","medianDuration":"Median","modifiedFiles":"Files modified","outcomesTitle":"Outcomes","p90Duration":"P90","pullRequests":"Pull requests","totalDuration":"Total active","volumeHint":"volume, not outcome","volumeTitle":"Volume (proxy)"},"range":{"custom":"Custom range","dialogLabel":"Select date range","from":"From","invalidRange":"Start date must be on or before end date","to":"To"},"signals":{"bySeverity":"By severity","bySource":"By source","empty":"No external signals yet. Connect a signal source (Sentry, Datadog, PagerDuty, webhook) to see incident metrics here.","mttr":"MTTR","mttrUnavailable":"MTTR is unavailable until incident data is recorded","mttrValue":"{{min}} min","open":"Open","resolved":"Resolved","statusShare":"Signal status share","summaryTitle":"Summary","total":"Total signals"},"system":{"cpuGauge":"App CPU usage","cpuSeries":"CPU","cpuTrend":"CPU over time","detailsTitle":"Runtime details","healthTitle":"Live system health","heapGauge":"Heap used","heapSeries":"Heap","heapTrend":"Heap over time","memoryGauge":"System memory used","memorySeries":"Memory","memoryTrend":"Memory over time","resourceTrend":"Resource trend","taskShare":"Task distribution","trendsTitle":"Live trends","workloadTitle":"Workload"},"tablistLabel":"Command Center sections","tabs":{"activity":"Activity","ecosystem":"Ecosystem","github":"GitHub","missionControl":"Mission Control","nodes":"Nodes","overview":"Overview","productivity":"Productivity","reliability":"Reliability","signals":"Signals","system":"System","team":"Team","workflows":"Workflows","tokens":"Tokens","tools":"Tools"},"team":{"agent":"Agent","completedByAgent":"Tasks done by agent","cost":"Cost","done":"Tasks done","empty":"No agents have reported team analytics yet.","files":"Files changed","filesChanged":"Files changed","inProgress":"In progress","noChartData":"No non-zero values for this chart yet.","spread":"Team spread","state":"Agent state: {{state}}","tableTitle":"Per-agent breakdown","tasksCompleted":"Tasks done","tokens":"Tokens","tokensByAgent":"Tokens by agent","tokenShareByAgent":"Token share by agent","totalCost":"Estimated cost","totalsTitle":"Team totals","totalTokens":"Total tokens","unknownAgent":"(unknown agent)","unknownRole":"Unknown role","unknownState":"unknown"},"workflows":{"completedByWorkflow":"Tasks done by workflow","cost":"Cost","done":"Tasks done","empty":"No workflow analytics have been recorded for this range yet.","files":"Files changed","filesChanged":"Files changed","inProgress":"In progress","inReview":"In review","noChartData":"No non-zero values for this chart yet.","tableTitle":"Per-workflow breakdown","tasksCompleted":"Tasks done","tokens":"Tokens","tokensByWorkflow":"Tokens by workflow","totalCost":"Estimated cost","totalsTitle":"Workflow totals","totalTokens":"Total tokens","unknownWorkflow":"(unknown workflow)","workflow":"Workflow"},"tokens":{"byModelChart":"Tokens by model","cached":"Cached","cost":"Estimated cost","costCol":"Cost","costUnavailable":"No pricing for this model","granularity":"Token chart granularity","input":"Input","model":"Model","output":"Output","overTimeChart":"Tokens over time","pieChart":"Token share by model","rechartsLine":"Tokens trend","stalePricing":"pricing may be stale","tableTitle":"Per-model breakdown","tasks":"Tasks","total":"Total","totalsTitle":"Totals","totalTokens":"Total tokens","unknownModel":"(unknown)"},"tools":{"autonomyHint":"tool calls per human intervention","autonomyRatio":"Autonomy ratio","categoriesTitle":"Tool categories","interventionBreakdown":"{{approvals}} approvals · {{steers}} steers","interventions":"Interventions","pieChart":"Tool category share","ratioAutonomous":"{{ratio}} calls/session (fully autonomous)","sessions":"Sessions","summaryTitle":"Summary","toolCalls":"Tool calls"}}'),L={addButton:"Add Comment",addedSuccess:"Comment added",deletedSuccess:"Comment deleted",deletingButton:"Deleting…",editedSuffix:"(edited)",emptyState:"No comments yet.",heading:"Comments",placeholder:"Add a comment",postingButton:"Posting…",updatedSuccess:"Comment updated",aiGuidance:"AI Guidance"},D={filesChanged_one:"Files Changed ({{count}})",filesChanged_other:"Files Changed ({{count}})"},M={error:"Error loading commit diff: {{error}}",loadError:"Failed to load commit diff",loading:"Loading commit diff...",mergedOnly:"Commit diff is only available for tasks that were merged.",noFiles:"No files changed in this commit.",noSha:"No commit SHA available."},I={archive:"Archive",back:"Back",cancel:"Cancel",close:"Close",closeAriaLabel:"Close",collapse:"Collapse",continue:"Continue",delete:"Delete",dismiss:"Dismiss",edit:"Edit",editMode:"Edit",expand:"Expand",learnMore:"Learn more →",loading:"Loading...",no:"No",noDataAvailable:"No data available",nothingToShow:"There is nothing to show yet.",preview:"Preview",previewMode:"Preview",refresh:"Refresh",retry:"Retry",save:"Save",saveAndTest:"Save & Test",saving:"Saving...",skip:"Skip",somethingWentWrong:"Something went wrong while loading this view.",stop:"Stop",test:"Test",testing:"Testing…",total:"total",tryAgain:"Try Again",unableToLoadData:"Unable to load data",unknown:"Unknown",unsavedChanges:"Unsaved changes",yes:"Yes"},N={loadingAgents:"Loading agents…",messageId:"Message {{id}}",messageLabel:"Message:",messagePlaceholder:"Type your message…",newMessageTitle:"New Message",noAgentsAvailable:"No agents available",replyingToLabel:"Replying to:",replyTitle:"Reply",selectAgent:"Select agent…",sendingButton:"Sending…",toLabel:"To:",wakeAgentCheckbox:"Wake agent immediately",wakeAlwaysImmediate:"(agent is already set to immediate response mode)",wakeOneOff:"(one-off override for this message only)"},x={cancel:"Cancel",closeDialog:"Close confirmation dialog",confirm:"Confirm"},E={aiReasoning:"AI Reasoning",aiThinking:"AI thinking",confirm:{no:"No",yes:"Yes"},hide:"Hide {{type}}",show:"Show {{type}}",yourResponse:"Your response"},H={create:"Create room",creating:"Creating...",failedCreate:"Failed to create room.",failedLoadAgents:"Failed to load agents.",loadingAgents:"Loading agents...",members:"Members",nameLabel:"Room name",noAgents:"No agents in this project yet.",noMatch:"No agents match your search.",searchAgents:"Search agents",selectMember:"Select at least one member.",title:"Create room"},B={initializingDashboard:"Initializing dashboard...",loadingMessage:"Loading Fusion dashboard",loadingProgress:"Dashboard loading progress",title:"Project Dashboard",updatingMessage:"Updating Fusion dashboard",updatingVersion:"Updating to a new frontend version..."},O={body:"Fusion's background SQLite integrity check reported corruption. Review the failing objects below before continuing critical operations.",instructions:"Back up the project, try {{cmd}} if the database still opens cleanly, and restore from a known-good backup if corruption persists. See {{link}} for the storage layout and recovery guidance.",lastChecked:"Last checked: {{checkedAtLabel}}",refreshHealth:"Refresh health",refreshing:"Refreshing…",title:"Database corruption detected",whatToDo:"What to do:"},U={projectNotFound:"Project '{{id}}' not found",taskNotFound:"Task {{id}} not found"},_={chooseMode:"How do you want to run Fusion?",chooseModeDescription:"Run Fusion locally in this app, or connect to a Fusion server you're already running somewhere else.",connectRemoteButton:"Connect to Remote Fusion",couldNotStart:"Couldn't start local Fusion",loading:"Loading Fusion…",migrationInProgress:"Database migration in progress — this can take a few minutes.",opening:"Opening…",retry:"Retry",runLocalButton:"Run Fusion Locally",settingUpRemote:"Setting up remote connection…",starting:"Starting…",startingLocalRuntime:"Starting local Fusion runtime…"},j={allSeverities:"All severities",auto:"Auto",autoDetected:"Auto-detected: {{url}}",change:"Change",clear:"Clear",command:"Command",configuration:"Configuration",configurationLabel:"Dev server configuration",controlsHeaderLabel:"Dev server controls header",embedded:"Embedded",embeddedPreviewDisabled:"Embedded preview is disabled. Open your app in a separate browser tab.",enterFullscreen:"Enter fullscreen logs",errBadge:"ERR",error:"Error",exitFullscreen:"Exit fullscreen logs",externalOnly:"External only",filterBySeverity:"Filter logs by severity",info:"Info",lines:"{{count}} lines",lines_one:"{{count}} lines",lines_other:"{{count}} lines",loading:"Loading...",loadingConfig:"Loading dev server configuration...",loadingLogs:"Loading logs…",loadingOlderLogs:"Loading older logs…",loadOlderLogs:"Load older logs",logs:"Logs",logsLabel:"Dev server logs",lostConnection:"Lost log stream connection.",manual:"Manual",matchCount_one:"{{count}} match",matchCount_other:"{{count}} matches",newLogs:"New logs",noLogsYet:"No logs yet. Start the dev server to see output.",noMatchesSearch:"No log lines match your search.",noMatchesSeverity:"No log lines match the selected severity.",noPreviewDetected:"No preview URL detected. Start the dev server or set a manual URL to preview your app.",noPreviewUrl:"No preview URL",noScriptsDetected:"No dev server scripts detected. Check that your project has a package.json with a dev, start, or similar script.",notAvailable:" · Not available",openInNewTab:"Open in new tab",openPreviewInNewTab:"Open preview in new tab",openPreviewOrRetry:"Open the preview in a new tab, or retry embedded mode after checking your server settings.",preview:"Preview",previewBlocked:"Preview blocked",previewFailed:"Preview failed",previewLabel:"Dev server preview",previewUrlOverride:"Preview URL Override",refreshPreview:"Refresh preview",restart:"Restart",restarting:"Restarting...",retry:"Retry",retryEmbeddedPreview:"Retry embedded preview",runningCommand:"Running command",save:"Save",scriptSelection:"Script Selection",searchLogs:"Search logs",start:"Start",startDevServer:"Start a dev server to see a live preview here.",starting:"Starting...",status:{failed:"Failed",running:"Running",starting:"Starting...",stopped:"Stopped",stopping:"Stopping..."},stop:"Stop",stopping:"Stopping...",title:"Dev Server",toast:{clearedScript:"Cleared selected dev server script.",enterCommand:"Enter a command before starting the dev server.",previewCleared:"Preview URL override cleared.",previewUpdated:"Preview URL updated.",restarted:"Dev server restarted.",selectedScript:"Selected {{name}} script.",started:"Dev server started.",stopped:"Dev server stopped."},warn:"Warn"},q={ariaLabel:"Directory browser",browse:"Browse",cancel:"Cancel",closeBrowser:"Close directory browser",createFolder:"New folder",createFolderAria:"Create new folder",createFolderConfirm:"Create",createFolderError:"Folder name cannot contain path separators or '..'",createFolderTitle:"Create folder",defaultPlaceholder:"/path/to/your/project",hideHidden:"Hide hidden",hideHiddenAria:"Hide hidden directories",hideHiddenTitle:"Hide hidden",loading:"Loading…",newFolderPlaceholder:"Folder name",noSubdirs:"No subdirectories",openBrowser:"Browse directories",parentDir:"Go to parent directory",parentDirTitle:"Parent directory",select:"Select",showHidden:"Show hidden",showHiddenAria:"Show hidden directories",showHiddenTitle:"Show hidden",up:"Up"},W={actions:{addMount:"Add mount",addVariable:"Add variable",cancel:"Cancel",createNode:"Create Docker Node"},ariaLabels:{closeModal:"Close onboarding modal",modal:"Docker node onboarding",removeMount:"Remove volume mount",removeVariable:"Remove environment variable"},available:"Docker is available{{version}}",caPath:"CA Certificate Path",certPath:"Client Certificate Path",connected:"Connected{{version}}",connectionFailed:"Connection failed",container:"Container:",context:"Docker Context",creatingNode:"Creating Docker node...",errors:{cpusMinimum:"CPUs must be at least 0.5",memoryMinimum:"Memory must be at least 512 MB",nameRequired:"Name is required and must be 64 characters or fewer",urlRequired:"URL is required"},failedAt:"Failed at: {{stage}}",failedMessage:"Provisioning failed",host:"Docker Host",hostPlaceholder:"tcp://host:2376",keyPath:"Client Key Path",labels:{apiKey:"API Key",cpus:"CPUs",image:"Image",memory:"Memory (MB)",nodeName:"Node Name",reachableUrl:"Reachable URL",tag:"Tag"},local:"Local Docker",notFound:"Docker not found{{error}}",notFoundError:"Docker not found: {{message}}",options:{autoGenerate:"Auto-generate",claudeCli:"Claude CLI",droidCli:"Droid CLI",persistentStorage:"Keep data across container recreations",provideManually:"Provide manually"},placeholders:{apiKey:"Enter API key",containerPath:"Container path",envVarKey:"KEY",envVarValue:"Value",hostPath:"Host path",image:"runfusion/fusion",nodeName:"my-docker-node",tag:"latest"},provisionedIn:"Provisioned in {{durationSec}}s",refreshContexts:"Refresh contexts",remote:"Remote Host",retry:"Retry",sections:{advanced:"Advanced",environmentVariables:"Environment Variables",requiredSettings:"Required Settings",volumeMounts:"Volume Mounts"},selectContext:"Select context",stage:{creatingContainer:"Creating container...",pullingImage:"Pulling image...",registeringNode:"Registering node...",startingContainer:"Starting container..."},states:{creating:"Creating..."},successMessage:"Node created successfully!",targetMode:"Docker target mode",testConnection:"Test Connection",testing:"Testing...",titles:{provisionNode:"Provision Docker Node"},useTls:"Use TLS",verifyTls:"Verify TLS Certificate",viewNode:"View Node"},G={backToFiles:"Back to files",backToFilesList:"Back to project files list",clearSearch:"Clear search",collapse:"Collapse",collapseContent:"Collapse content",docCount_one:"{{count}} doc{{plural}}",docCount_other:"{{count}} doc{{plural}}",documentsCreatedIn:"Documents are created in task detail tabs.",expand:"Expand",expandContent:"Expand content",failedToLoad:"Failed to load {{type}}: {{error}}",hideHidden:"Hide hidden project files",hideHiddenFiles:"Hide hidden files",hideHiddenLabel:"Hide Hidden",loadingFileContent:"Loading file content…",loadingProjectFiles:"Loading project markdown files…",loadingTaskDocuments:"Loading task documents…",markdown:"Markdown",noMarkdownFiles:"No Markdown files found in this project.",noMatchProject:'No project markdown files match "{{query}}".',noMatchTask:'No task documents match "{{query}}".',noTaskDocuments:"No task documents yet.",openTask:"Open task",plain:"Plain",projectFilePreviewLabel:"Project file content preview",projectFiles:"project files",projectFilesTab:"Project Files",projectMarkdownFilesLabel:"Project markdown files",readOnly:"Read-only",readOnlyHint:"This preview is read-only. Select text to comment and send it to a new task.",resultCount_one:"{{count}} result{{plural}}",resultCount_other:"{{count}} result{{plural}}",retry:"Retry",retryLoading:"Retry loading documents",searchProjectFiles:"Search project markdown files…",searchTaskDocuments:"Search task documents…",sectionsLabel:"Documents sections",selectFile:"Select a Markdown file to view its content.",showHidden:"Show hidden project files",showHiddenFiles:"Show hidden files",showHiddenLabel:"Show Hidden",showProjectFiles:"Show project markdown files",showTaskDocuments:"Show task documents",switchToMarkdown:"Switch to markdown",switchToPlainText:"Switch to plain text",taskDocuments:"task documents",taskDocumentsTab:"Task Documents",title:"Artifacts",untitled:"Untitled",artifacts:"artifacts",artifactsCreatedBy:"Artifacts are created by agents, users, and system tools.",artifactsTab:"Artifacts",artifactAudioLabel:"Audio artifact: {{title}}",artifactCardLabel:"Artifact {{title}}",artifactTypeAudio:"Audio",artifactTypeDocument:"Document",artifactTypeImage:"Image",artifactTypeOther:"Other",artifactTypeVideo:"Video",artifactVideoLabel:"Video artifact: {{title}}",loadingArtifacts:"Loading artifacts…",noArtifactPreview:"No preview available.",noArtifacts:"No artifacts yet.",noMatchArtifacts:'No artifacts match "{{query}}".',openArtifactMedia:"Open artifact media",openTaskAria:"Open task {{taskId}}: {{title}}",searchArtifacts:"Search artifacts…",showArtifacts:"Show artifacts",untitledArtifact:"Untitled artifact",closeLightbox:"Close artifact preview",expandArtifact:"Expand {{title}}",expandArtifactHint:"Click to expand",lightboxLabel:"Artifact media preview"},V={active:"Active",cardTitle:"Factory AI — via Droid CLI",connectedVersion:"Connected{{version}}",description:"Route AI calls through your locally-installed droid CLI. Uses your existing Factory AI subscription / quota instead of an API key.",details:"Details",detected:"droid {{version}} detected{{path}}. Click Enable to route AI calls through it.",disable:"Disable",disabling:"Disabling…",droidNotFound:"droid not found on PATH",enable:"Enable",enabledValidating:"Enabled. Validating…",enabling:"Enabling…",extensionFailed:"Extension load failed: {{reason}}",modelsHidden:"Factory AI (via Droid CLI) models are hidden from the model picker.",modelsNowVisible:"Factory AI (via Droid CLI) models are now visible in the model picker.",notConnected:"Not connected",notInstalled:"Not installed",notOnPath:"droid binary not detected on PATH — install Droid CLI first.",probingCli:"Probing local CLI…",restartRequired:"Restart required: restart your active CLI/chat session for routing changes to take effect.",test:"Test",testing:"Testing…",toastDisabled:"Disabled",toastEnabled:"Enabled"},z={cancel:"Cancel",createAnyway:"Create anyway",message:"We found similar active tasks. Open an existing task or create this one anyway.",open:"Open",title:"Possible duplicates",untitledTask:"Untitled task"},K={failedLoadFile:"Failed to load file",failedSaveFile:"Failed to save file",failedToLoadFile:"Failed to load file",failedToSaveFile:"Failed to save file"},Y={genericError:"Something went wrong",reloadPage:"Reload page",retry:"Retry",sectionError:"This section encountered an error"},Q={allRuns:"All runs",disabledTitle:"Scheduled evals are disabled",empty:"No evals yet. Scheduled evals review tasks completed since the last run.",enablePrompt:"Enable Scheduled Evals to review scored tasks, evidence, and follow-up recommendations.",evidenceHeading:"Evidence",loading:"Loading evals…",maxScorePlaceholder:"Max score",minScorePlaceholder:"Min score",naPlaceholder:"n/a",noFollowups:"None",noRationale:"No rationale recorded.",openSettings:"Open Scheduled Evals Settings",overallScore:"Overall score: {{score}}",refreshAria:"Refresh evals",searchPlaceholder:"Search task or rationale",selectPrompt:"Select an evaluation to inspect scores, rationale, and evidence.",suggestedFollowupsHeading:"Suggested follow-up tasks"},J={blocked:"Blocked",connecting:"Connecting…",daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",escalated:"Escalated",escalatedSuffix:" (escalated)",engineControls:"Engine controls",engineControlsClose:"Close engine controls",hideProjectDir:"Hide project directory",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",inReview:"In Review",justNow:"just now",loading:"Loading...",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago",noActivity:"no activity",overlapBottleneck_one:"{{status}} overlap bottleneck {{blockerId}}: {{count}} todo blocked via blockedBy (threshold {{threshold}})",overlapBottleneck_other:"{{status}} overlap bottleneck {{blockerId}}: {{count}} todo blocked via blockedBy (threshold {{threshold}})",openEngineControlsForState:"Open engine controls for {{state}} state",overlapQueue:"Overlap queue",overlapSummary_one:"{{blockerId}} · {{count}} todo",overlapSummary_other:"{{blockerId}} · {{count}} todo",queued:"Queued",running:"Running",secondsAgo_one:"{{count}}s ago",secondsAgo_other:"{{count}}s ago",showProjectDir:"Show project directory",stateIdle:"Idle",statePaused:"Paused",stateRunning:"Running",stateStopped:"Stopped",status:"Executor status",stuck:"Stuck",temporary:"Temporary",todoStatus:"todo",triageDisabledWhileStopped:"Start the AI engine before changing triage scheduling"},X={back:"Back to file list",binaryReadOnly:"Binary file — read only",contextCopy:"Copy",contextDelete:"Delete",contextDownload:"Download",contextDownloadZip:"Download as ZIP",contextMenuLabel:"File operations",contextMove:"Move",contextRename:"Rename",copy:"Copy",copyPlaceholder:"Destination path",copyTitle:"Copy",create:"Create",delete:"Delete",deleteConfirm:"Are you sure you want to delete {{name}}?",deleteRecursive:"This will delete all contents recursively.",deleteTitle:"Delete {{type}}",deleting:"Deleting...",emptyDirectory:"(empty directory)",error:"Error: {{message}}",fileNamePlaceholder:"File name",folderNamePlaceholder:"Folder name",loading:"Loading…",loadingFiles:"Loading files...",modalTitle:"Files — {{workspace}}",modified:"Modified: {{date}}",move:"Move",movePlaceholder:"Destination path",moveTitle:"Move",newFile:"New File",newFolder:"New Folder",operationFailed:"Operation failed",operationSuffix:"ing...",rename:"Rename",renamePlaceholder:"New name",renameTitle:"Rename",resizeSidebar:"Resize sidebar",root:"Root",saving:"Saving…",selectFileToEdit:"Select a file to edit",toggleEditorOptions:"Toggle editor options",typeFile:"File",typeFolder:"Folder",unsavedChanges:"Unsaved changes",upOneLevel:"Up one level",workspaceProject:"Project",previewOnly:"Preview only",previewTitle:"Preview for {{file}}"},Z={autoSave:"Auto-save",edit:"Edit",editMode:"Edit mode",editorFor:"Editor for {{filePath}}",fileEditor:"File editor",lineNumber:"Line #",preview:"Preview",previewMode:"Preview mode",toggleAutoSave:"Toggle auto-save",toggleLineNumbers:"Toggle line numbers",toggleOptions:"Toggle editor options",toggleWordWrap:"Toggle word wrap",wrap:"Wrap"},$={empty:"No tasks or files found",fileHeader:"Files",fileMatches:"File matches",taskHeader:"Tasks",taskMatches:"Task matches"},ee=JSON.parse(`{"addComment":"Add comment","addCommentPlaceholder":"Write a comment…","commentAuthorYou":"You","commentPosted":"Comment posted","failedToPostComment":"Failed to post comment","add":"Add","addRemote":"Add Remote","advancesHelpFix":"<strong>Fix:</strong> Fusion only shows <em>Sync working tree</em> when at least one advance is genuinely <code>pending</code> and HEAD is not aligned with the integration tip. If entries are already handled (subsumed/orphaned/reachable/superseded), no sync action is offered.","advancesHelpIntro":"Each entry is a Fusion task whose squash commit advanced the integration branch ref (<branchCode>{{integrationBranch}}</branchCode>). The <em>auto-sync outcome</em> says whether your working tree was also fast-forwarded to that new tip.","advancesHelpItem1":"<c1>clean-sync</c1> / <c2>synced-with-edits-restored</c2> — working tree is in sync; nothing to do.","advancesHelpItem2":"<c1>reachable</c1> / <c2>subsumed</c2> / <c3>orphaned</c3> / <c4>superseded</c4> — already handled (including history rewrites where equivalent content already landed, original SHAs disappeared, or HEAD is already aligned to the rewritten integration tip).","advancesHelpItem3":"<c1>pending</c1> + <c2>off / not run</c2> — auto-sync is disabled in Settings; the branch ref moved but your worktree didn't follow.","advancesHelpItem4":"<c1>pending</c1> + <c2>stash-failed</c2> / <c3>would-conflict</c3> / similar — auto-sync tried but couldn't reconcile (usually local edits collide with the new commit).","advancesNeedAction_one":"{{count}} need action","advancesNeedAction_other":"{{count}} need action","aheadOfUpstream_one":"{{count}} commit(s) ahead of upstream","aheadOfUpstream_other":"{{count}} commit(s) ahead of upstream","aligned":"Aligned","apply":"Apply","applyStashKeep":"Apply stash (keep)","autoMergeDisabled":"Auto-merge disabled","autoMergeEnabled":"Auto-merge enabled","autoMergeUpdateFailed":"Failed to update auto-merge","autoMergeWhenGreen":"Auto-merge when green","autoMergeWillHandle":"Auto-merge will handle this task automatically.","autoMovedToTodo":"Auto-moved to Todo — reviewer feedback ready","autoSyncOffNotRun":"auto-sync: off / not run","autoSyncOutcome":"auto-sync: {{outcome}}","awaitingPrChecks":"Waiting for required checks or review feedback before auto-merge.","backToIssuesList":"Back to issues list","backToPullsList":"Back to pull requests list","baseHead":"Base: HEAD","behindUpstream_one":"{{count}} commit(s) behind upstream","behindUpstream_other":"{{count}} commit(s) behind upstream","branchLabel":"Branch:","cancel":"Cancel","capturedAt":"Captured:","changesStashed":"Changes stashed","checkout":"Checkout","chooseAnotherRepo":"Choose another repository.","clickToViewDiff":"Click to view diff","close":"Close","closeModalAriaLabel":"Close import modal","commentLast":"Last:","commit":"Commit","commitMessagePlaceholder":"Commit message...","commitsOnBranch":"Commits on {{name}}","commitStagedChanges":"Commit staged changes","commitsToPull_one":"{{count}} to pull","commitsToPull_other":"{{count}} to pull","commitsToPush_one":"{{count}} to push","commitsToPush_other":"{{count}} to push","commitsToPushHeader_one":"Commits to Push ({{count}})","commitsToPushHeader_other":"Commits to Push ({{count}})","committedHash":"Committed: {{hash}}","conflictedCount_one":"{{count}} conflicted","conflictedCount_other":"{{count}} conflicted","conflictReclaimFailed":"Failed to queue conflict reclaim","conflictReclaimQueued":"Conflict reclaim queued","conflictReclaimUnavailable":"Conflict reclaim unavailable","conflictsButton":"Conflicts","copiedButton":"Copied","copiedLabel":"Copied {{label}}","copiedToClipboard":"Copied to clipboard","copyButton":"Copy","copyCommitHashLabel":"commit hash","copyFetchUrl":"Copy fetch URL","copyFullCommitHashLabel":"full commit hash","copyFullHash":"Copy full hash","copyFullShaTitle":"Copy full 40-char SHA","copyPushUrl":"Copy push URL","copyShortHashTitle":"Copy short commit hash","copyShortHashTitleWithFull":"Copy short commit hash (use the full SHA below for git operations)","couldNotLoadIssues":"Could not load issues","couldNotLoadPulls":"Could not load pull requests","create":"Create","createdBranch":"Created branch {{name}}","createPrButton":"Create PR","createPrTitle":"Create a PR for this task","defaultBadge":"default","deleteBranch":"Delete","deleteBranchMessage":"Delete branch \\"{{name}}\\"?","deleteBranchTitle":"Delete Branch","deletedBranch":"Deleted branch {{name}}","detectingRemotes":"Detecting…","diffColon":"diff:","discardChangesMessage_one":"Discard changes to {{count}} file(s)? This cannot be undone.","discardChangesMessage_other":"Discard changes to {{count}} file(s)? This cannot be undone.","discardChangesTitle":"Discard Changes","discardedFiles_one":"Discarded changes to {{count}} file(s)","discardedFiles_other":"Discarded changes to {{count}} file(s)","discardSelected":"Discard selected","dismiss":"Dismiss","dismissPrError":"Dismiss PR error","dropStash":"Drop stash","dropStashMessage":"Drop stash@{{{index}}}? This cannot be undone.","dropStashTitle":"Drop Stash","editRemoteName":"Edit remote name","editRemoteUrl":"Edit remote URL","failedToAddRemote":"Failed to add remote","failedToApplyStash":"Failed to apply stash","failedToCheckoutBranch":"Failed to checkout branch","failedToCommit":"Failed to commit","failedToCopy":"Failed to copy","failedToCreateBranch":"Failed to create branch","failedToDeleteBranch":"Failed to delete branch","failedToDiscardChanges":"Failed to discard changes","failedToDropStash":"Failed to drop stash","failedToFetchData":"Failed to fetch git data","failedToFetchIssues":"Failed to fetch issues","failedToFetchPulls":"Failed to fetch pull requests","failedToImportIssue":"Failed to import issue","failedToImportPull":"Failed to import pull request","failedToLoadDiff":"Failed to load diff","failedToLoadFileDiff":"Failed to load file diff","failedToLoadRemoteCommits":"Failed to load remote commits","failedToLoadRemotes":"Failed to load remotes","failedToLoadStashDiff":"Failed to load stash diff","failedToRemoveRemote":"Failed to remove remote","failedToRenameRemote":"Failed to rename remote","failedToStageFiles":"Failed to stage files","failedToStashChanges":"Failed to stash changes","failedToUnstageFiles":"Failed to unstage files","failedToUpdateRemoteUrl":"Failed to update remote URL","fetch":"Fetch","fetchCompleted":"Fetch completed","fetchFailed":"Fetch failed","fetchingFromGitHub":"Fetching the latest list from GitHub.","fetchLabel":"Fetch:","fetchUrlLabel":"fetch URL","filterBranches":"Filter branches...","filterByLabelsLabel":"Filter by labels","filterByLabelsPlaceholder":"Filter: bug,enhancement…","filterIssuesByLabels":"Filter issues by labels","fnCreatingPr":"fn is creating a pull request automatically for this task.","fnMergingPr":"fn is merging this pull request automatically.","forceDeleteBranchMessage":"Branch has unmerged commits. Force delete?","forceDeleteBranchTitle":"Force Delete Branch","forceDeletedBranch":"Force deleted branch {{name}}","fullShaAbbrev":"full","ghAuthLoginHint":"Run {{code}} to enable PR creation.","headAheadOfIntegration_one":"HEAD has {{count}} commit(s) not on {{branch}}","headAheadOfIntegration_other":"HEAD has {{count}} commit(s) not on {{branch}}","headAheadOfOriginIntegration_one":"HEAD has {{count}} commit(s) not on origin/{{branch}}","headAheadOfOriginIntegration_other":"HEAD has {{count}} commit(s) not on origin/{{branch}}","headVsIntegration":"HEAD vs {{branch}}","headVsOriginIntegration":"HEAD vs origin/{{branch}}","hide":"Hide","hideExplanation":"Hide explanation","import":"Import","imported":"Imported","importedCount_one":"{{count}} imported","importedCount_other":"{{count}} imported","importFromGitHub":"Import from GitHub","importSubtitle":"Choose a detected remote, load open issues or pull requests, and import one into the board.","importTypeAriaLabel":"Import type","integrationAheadOfHead_one":"{{branch}} has {{count}} commit(s) HEAD doesn't","integrationAheadOfHead_other":"{{branch}} has {{count}} commit(s) HEAD doesn't","issueCount_one":"{{count}} issue","issueCount_other":"{{count}} issues","load":"Load","loadFromRepoAriaLabel":"Load {{tab}} from repository","loading":"Loading…","loadingAriaLabel":"Loading {{tab}}","loadingCommits":"Loading commits...","loadingDiff":"Loading diff...","loadingIssues":"Loading open issues…","loadingPulls":"Loading open pull requests…","loadingStashDiff":"Loading stash diff…","loadingTitle":"Loading…","loadMoreCommits":"Load more commits","loadTabTitle":"Load {{tab}}","localAheadOfOriginIntegration_one":"Local {{branch}} is {{count}} commit(s) ahead of origin/{{branch}}","localAheadOfOriginIntegration_other":"Local {{branch}} is {{count}} commit(s) ahead of origin/{{branch}}","localBehindOriginIntegration_one":"Local {{branch}} is {{count}} commit(s) behind origin/{{branch}}","localBehindOriginIntegration_other":"Local {{branch}} is {{count}} commit(s) behind origin/{{branch}}","localVsOrigin":"Local {{branch}} vs origin","manualPrFlowHint":"Use the footer action to run PR-first completion for this task.","mergeBadge":"merge","mergeConflictDetected":"Merge conflict detected. Resolve/rebase branch and retry reclaim.","mergedTaskDone":"Merged — task moved to Done","mergeLabel":"Merge","mergePrButton":"Merge pull request","mergeStrategyMerge":"merge","mergeStrategyRebase":"rebase","mergeStrategySquash":"squash","mergingPrHint":"Merging pull request…","mergingStatus":"Merging…","modalTitle":"Git Manager","modified":"Modified","modifiedCount_one":"{{count}} modified","modifiedCount_other":"{{count}} modified","newBranchName":"New branch name","noAheadCommitsFound":"No ahead commits found (may need to fetch first)","noBranchesFound":"No branches found","noCommitsFound":"No commits found","noCommitsOnRemote":"No commits found on {{remote}}. Try fetching first.","noDescription":"(no description)","noIssueSelected":"No issue selected","noIssueSelectedHint":"Choose an issue from the list to inspect its title and description.","noLocalRefTitle":"No local refs/heads/<branch> exists; nothing to compare against origin.","noLocalTracking":"no local tracking","noMatchingBranches":"No matching branches","noMatchingCommits":"No matching commits","noOpenIssues":"No open issues found","noOpenPulls":"No open pull requests found","noOriginTracking":"no origin tracking","noPullSelected":"No pull request selected","noPullSelectedHint":"Choose a pull request from the list to inspect its details.","noRefFound":"no ref found for {{branch}}","noRefFoundTitle":"Neither refs/heads nor refs/remotes/origin has this branch","noRemotes":"No remotes","noRemotesDetected":"No GitHub remotes detected","noRemotesInstructions":"Add a GitHub remote to this repository, then reopen the modal.","noReviewComments":"No review comments synced yet","noReviewsYet":"No reviews yet","noStagedChanges":"No staged changes","noStagedChangesToCommit":"No staged changes to commit","noStashes":"No stashes","nothingLoadedInstructions":"Select a repository and click Load to start reviewing import candidates.","nothingLoadedYet":"Nothing loaded yet","notOnIntegrationBranch":"(not on {{branch}})","notOnIntegrationBranchBtn":"Not on integration branch ({{branch}})","notOnIntegrationBranchTitle":"Currently on a non-integration branch","noUnstagedChanges":"No unstaged changes","openPullsFrom":"Open pull requests from {{remote}}","originIntegrationAheadOfHead_one":"origin/{{branch}} has {{count}} commit(s) HEAD doesn't","originIntegrationAheadOfHead_other":"origin/{{branch}} has {{count}} commit(s) HEAD doesn't","pop":"Pop","popStashTitle":"Pop stash (apply and drop)","prAuthUnavailable":"PR auth unavailable — run 'gh auth login'","prChecks":{"empty":"No checks reported yet","refreshAriaLabel":"Refresh checks","required":"Required","retry":"Retry","summary":"{{passing}} passing, {{failing}} failing, {{pending}} pending","viewDetails":"View details"},"previewHeading":"Preview","previewIssueMeta":"Issue #{{number}}","previewPullMeta":"Pull Request #{{number}}","prMerged":"Pull request merged","prMergeFailed":"Failed to merge pull request","projectRootNotAvailable":"Project root path not available","prRefreshFailed":"Failed to refresh PR","prStatusRefreshed":"PR status refreshed","prUnlinkConfirm":"Unlink PR #{{number}} from this task? The PR will not be closed.","prUnlinked":"Unlinked PR #{{number}}","pull":"Pull","pullCompleted":"Pull completed","pullCount_one":"{{count}} pull request","pullCount_other":"{{count}} pull requests","pullFailed":"Pull failed","pullOptions":"Pull options","pullOptionsMenu":"Pull options menu","pullRebase":"Pull --rebase","pullRebaseCompleted":"Pull --rebase completed","pullRequestHeading":"Pull Request","pullRequestsCount_one":"{{count}} pull requests","pullRequestsCount_other":"{{count}} pull requests","push":"Push","pushCompleted":"Push completed","pushFailed":"Push failed","pushLabel":"Push:","pushUrlLabel":"push URL","recentCommitsOnRemote":"Recent commits on {{remote}}","recentIntegrationAdvances":"Recent integration-branch advances","reCheckConflicts":"Re-check conflicts","refresh":"Refresh","refreshPrStatus":"Refresh PR status","refreshToCheckMerge":"Refresh PR status to check merge readiness","remoteAdded":"Remote '{{name}}' added successfully","remoteName":"Remote name","remoteOnlyIntegrationTipTitle":"No local refs/heads/<branch>; using refs/remotes/origin/<branch> as the integration tip.","remoteOnlyTrackLocally":"(remote-only — run git switch {{branch}} to track locally)","remoteRemoved":"Remote '{{name}}' removed","remoteRenamed":"Remote renamed to '{{name}}'","remoteUrlUpdated":"Remote URL updated","removeRemote":"Remove remote","removeRemoteMessage":"Are you sure you want to remove remote '{{name}}'?","removeRemoteTitle":"Remove Remote","repoMustBeSelected":"Repository must be selected","repositoryLabel":"Repository","repositoryStatus":"Repository Status","repositoryUrl":"Repository URL","resizeIssuesList":"Resize issues list","resolvedFrom":"Resolved from {{source}}","retry":"Retry","retryButton":"Retry","retryConflictReclaim":"Retry conflict reclaim","reviewLabel":"Review","reviewsLabel":"Reviews","searchCommits":"Search commits...","sectionBranches":"Branches","sectionChanges":"Changes","sectionCommits":"Commits","sectionRemotes":"Remotes","sectionStashes":"Stashes","sectionStatus":"Status","sectionWorktrees":"Worktrees","selectedRemote":"selected remote","selectFileToViewDiff":"Select a file to view its diff","selectIssueAriaLabel":"Select issue #{{number}}","selectPullAriaLabel":"Select pull request #{{number}}","selectRemoteAriaLabel":"Select Git remote","selectRemotePlaceholder":"Select remote…","selectRemoteToViewDetails":"Select a remote to view details","sidebarAriaLabel":"Git Manager Sections","stageAll":"Stage All","stageAllAndCommit":"Stage All & Commit","stageAllAndCommitTitle":"Stage all and commit","stageCount_one":"Stage ({{count}})","stageCount_other":"Stage ({{count}})","staged":"Staged","stagedChanges_one":"Staged Changes ({{count}})","stagedChanges_other":"Staged Changes ({{count}})","stagedCount_one":"{{count}} staged","stagedCount_other":"{{count}} staged","stagedFiles_one":"Staged {{count}} file(s)","stagedFiles_other":"Staged {{count}} file(s)","stageFile":"Stage file","stageSelected":"Stage selected","staleIndexWarning":"<strong>Stale index detected.</strong> HEAD has advanced (typically because Fusion's merger updated the integration-branch ref) but the index still reflects the previous tip — \`git status\` will report the new commits inverted as \\"staged changes.\\" Enable <mergeCode>mergeAdvanceAutoSync</mergeCode> in Settings to have the merger reconcile automatically, or run <resetCode>git reset --hard HEAD</resetCode> to snap forward manually.","stash":"Stash","stashApplied":"Stash applied","stashConflict":{"copied":"Stash SHA copied.","copyFailed":"Could not copy stash SHA.","dropStash":"Drop stash","failedWarning":"Automatic restore failed. Your changes are preserved in the stash above; use git stash apply <ref> to recover manually, or use Retry below.","keepIncoming":"Keep incoming","keepMine":"Keep mine","openInEditor":"Open in editor","retryRestore":"Retry restore","summary":"Pulled {{branch}}, but restoring local edits from stash produced conflicts.","title":"Resolve auto-stash conflicts"},"stashDropped":"Stash dropped","stashMessagePlaceholder":"Stash message (optional)","stashPopped":"Stash popped","stashRef":"stash@{{index}}","statusLabelBranch":"Branch","statusLabelCommit":"Commit","statusLabelIntegrationBranch":"Integration branch","statusLabelStashes":"Stashes","statusLabelVsOrigin":"vs origin","statusLabelWorkingTree":"Working Tree","switchedToBranch":"Switched to {{name}}","sync":"Sync","synced":"Synced","syncedWithOrigin":"Synced with origin (pull --rebase + push)","syncedWorktreeToIntegrationTip":"Synced worktree to local integration tip","syncFailed":"Sync failed","syncing":"Syncing…","syncLocalTip":"Sync local tip","syncLocalTipTitle":"Sync working tree to local integration tip (same as banner Pull)","syncOriginTitle":"Pull --rebase from origin, then push current branch","syncWithOriginFailed":"Sync with origin failed","syncWorkingTree":"Sync working tree","syncWorkingTreeTitle":"Pull the integration branch into your working tree (auto-stashes uncommitted edits and restores them)","tabIssues":"Issues","tabPullRequests":"Pull Requests","tip":"tip","toolbarAriaLabel":"GitHub import controls","translateAction":"Translate","translateDismiss":"Dismiss","translateOffer":"This content appears to be in {{source}}. Translate into {{target}}?","translateRegionAriaLabel":"Content translation","translateShowingOriginal":"Showing original ({{source}}).","translateShowingTranslated":"Showing translation into {{target}}.","translateShowOriginal":"Show original","translateShowTranslated":"Show translation","translateUnknownLanguage":"another language","translateWorking":"Translating…","tryDifferentFilter":"Try a different label filter or choose another repository.","unlinkButton":"Unlink","unresolvedMergeConflicts":"Unresolved merge conflicts","unstageAll":"Unstage All","unstageCount_one":"Unstage ({{count}})","unstageCount_other":"Unstage ({{count}})","unstaged":"Unstaged","unstagedChanges_one":"Unstaged Changes ({{count}})","unstagedChanges_other":"Unstaged Changes ({{count}})","unstagedFiles_one":"Unstaged {{count}} file(s)","unstagedFiles_other":"Unstaged {{count}} file(s)","unstageFile":"Unstage file","unstageSelected":"Unstage selected","untracked":"Untracked","untrackedCount_one":"{{count}} untracked","untrackedCount_other":"{{count}} untracked","upToDate":"Up to date","view":"View","viewOnGithub":"View on GitHub","waitingFor":"Waiting for: {{reasons}}","whatDoesThisMean":"What does this mean?","workingTreeClean":"Clean","workingTreeModified":"Modified","worktreeBadgeBare":"bare","worktreeBadgeMain":"main","worktreesInUse_one":"{{count}} in use","worktreesInUse_other":"{{count}} in use","worktreesTotal_one":"{{count}} total","worktreesTotal_other":"{{count}} total"}`),te={body:"If Fusion has saved you time, a GitHub star goes a long way. It helps other developers discover the project and keeps the team motivated to ship improvements.",dismissLabel:"Dismiss GitHub star prompt",regionLabel:"GitHub star prompt",starOnGitHub:"Star on GitHub",title:"Enjoying Fusion?"},oe={activeCount_one:"{{count}} active goals",activeCount_other:"{{count}} active goals",addGoal:"Add Goal",archive:"Archive",capError:"Cannot activate more than 5 goals. Resolve an active goal before activating another.",capWarning:"Approaching the 5-active goal cap. Keep active goals focused.",createError:"Unable to create goal right now. Please try again.",drafting:"Drafting…",draftWithAi:"Draft with AI",emptyState:"No goals yet. Add one to begin tracking strategic outcomes.",labelDescription:"Description",labelTitle:"Title",linkedMissions:"Linked missions",linkedMissionsCount_one:"{{count}} linked",linkedMissionsCount_other:"{{count}} linked",linkedMissionsLoadError:"Unable to load linked missions right now. Please try again.",linkedMissionsTitle:"Linked Missions",linkingMission:"Linking…",linkMission:"Link mission",linkMissionError:"Unable to link mission right now. Please try again.",loadError:"Unable to load goals right now. Please try again.",loading:"Loading goals…",missionPicker:"Mission to link",missionsLoadError:"Unable to load missions right now. Please try again.",noLinkedMissions:"No linked missions.",saveError:"Unable to save goal right now. Please try again.",selectMission:"Select a mission",status:"Status",title:"Goals",titleRequired:"Title is required.",unarchive:"Unarchive",unlinkMission:"Unlink mission",unlinkMissionError:"Unable to unlink mission right now. Please try again.",updateError:"Unable to update goal status right now. Please try again."},ae={prLinkLabel:"PR #{{number}} ({{state}})"},ie={abandonGroup:"Abandon group",ariaLabel:"Branch group details",autoMergeEnabled:"Auto-merge enabled",completionText:"{{landed}} of {{total}} members finished",errorLoading:"Failed to load branch group",loading:"Loading branch group…",members:"Members",mergeIntoMain:"Merge group into main",openPR:"Open PR",openTask:"Open task",prClosed:"Group PR closed",prMerged:"Group PR merged",sharedBranch:"Shared branch",status:"Status",title:"Branch Group {{id}}",unavailable:"Branch group unavailable"},ne={activePlanningSessions_one:"{{count}} active planning session",activePlanningSessions_other:"{{count}} active planning sessions",addFirstScript:"Add your first script",additionalHeaderActions:"Additional header actions",agentsView:"Agents view",allBaseBranches:"All base branches",allWorkingBranches:"All working branches",automation:"Automation",baseBranch:"Base branch",boardView:"Board view",browseFiles:"Browse Files",chatView:"Chat view",closeSearch:"Close search",commandCenterView:"Dashboard",createTaskWithPlanning:"Create a task with AI planning",devServerView:"Dev Server",documentsView:"Artifacts view",engineOptions:"Engine options",evalsView:"Evals",fusionLogo:"Fusion logo",gitManager:"Git Manager",goalsView:"Goals",importFromGitHub:"Import from GitHub",insightsView:"Insights",listView:"List view",loadingScripts:"Loading scripts...",localNode:"Local",mailbox:"Mailbox",mailboxView:"Mailbox view",mailboxWithCount_one:"Mailbox ({{count}})",mailboxWithCount_other:"Mailbox ({{count}})",manageProjects:"Manage Projects",manageScripts:"Manage Scripts...",memoryView:"Memory",missionsView:"Missions view",moreActions:"More actions",moreHeaderActions:"More header actions",moreViews:"More views",noBaseBranch:"No base branch",noScriptsAddOne:"No scripts — add one…",noScriptsConfigured:"No scripts configured",noWorkingBranch:"No working branch",openSearch:"Open search",openTerminal:"Open Terminal",pauseTriage:"Pause triage",pendingApprovals:"Pending approvals",projects:"Projects",quickScripts:"Quick scripts",researchView:"Research",resumePlanningSession:"Resume planning session",resumePlanningSessionCount_one:"Resume planning session ({{count}})",resumePlanningSessionCount_other:"Resume planning session ({{count}})",resumeScheduling:"Resume scheduling",scripts:"Scripts",scriptsSubmenu:"Scripts submenu",searchTasks:"Search tasks...",secretsView:"Secrets",selectNode:"Select node",selectProject:"Select project",settings:"Settings",showScripts:"Show scripts",skillsView:"Skills",startAiEngine:"Start AI engine",stashRecoveryView:"Stash Recovery",stopAiEngine:"Stop AI engine",switchNode:"Switch node",switchProject:"Switch project",terminal:"Terminal",todosView:"Todos",unreadChatResponse:"Unread chat response",unreadMessages_one:"{{count}} unread messages",unreadMessages_other:"{{count}} unread messages",viewActivityLog:"View Activity Log",viewProjects:"View Projects",viewUsage:"View usage",workflows:"Workflows",workingBranch:"Working branch"},se={activeTasks:"Active Tasks",anomalyBody:"Fusion found allocator state that can cause task IDs to be reused or overwrite live task records.",anomalyDetected:"Task ID integrity anomaly detected",completed:"Completed",failed:"Failed",inFlightAgents:"In-Flight Agents",lastError:"Last Error",metricsTitle:"Health Metrics",recheck:"Re-check",rechecking:"Re-checking…",refreshFailed:"Failed to refresh integrity status."},re={autoProfile:"Auto / use Hermes default",binaryPathHelp:"Leave blank to resolve {{cmd}} from your PATH.",binaryPathLabel:"Binary path",binaryPathPlaceholder:"hermes (defaults to PATH)",defaultProfile:" (default)",description:"Drives the local {{cmd}} CLI as a subprocess. Each Fusion prompt is sent as {{chatCmd}}; subsequent prompts resume the same hermes session via {{resumeFlag}}. Provider, model, and skills are configured inside hermes itself; this card only chooses overrides.",detected:"✓ hermes detected{{version}}{{path}}.",gitHubLink:"Hermes on GitHub",maxTurnsHelp:"Cap per Hermes turn. Hermes's own default is 90; we cap lower.",maxTurnsLabel:"Max turns",modelControlled:"Controlled by profile: {{profile}}",modelHelp:"Optional — overrides Hermes's configured default model.",modelLabel:"Model override",modelPlaceholder:"e.g. claude-sonnet-4-5, MiniMax-M3",notDetected:"{{cmd}} not detected. Install the upstream agent:",notFound:"✗ {{reason}}",probing:"Probing local hermes binary…",profileHelp:"Select a Hermes profile to use. Activates the profile by setting {{env}} to the profile directory when invoking {{cmd}}.",profileLabel:"Profile (optional)",profileModelSeparator:" — {{model}}",providerControlled:"Controlled by profile: {{profile}}",providerHelp:"Inference provider Hermes routes calls through (default: {{default}}).",providerLabel:"Provider",savedDetected:"Saved · ✓ hermes detected{{version}}.",savedNotFound:"Saved · ✗ {{reason}}",savedProbeFailed:"Saved, but probe failed.",settingsSaved:"Settings saved.",statusDetected:"✓ Detected{{version}}{{path}}",statusDisabledInPluginManager:"Disabled in Plugin Manager",statusNotDetected:"✗ {{reason}}",subname:"by Nous Research",testFailed:"Test failed — see status above.",timeoutHelp:"Fusion-side hard cap. Default 5 min.",timeoutLabel:"CLI hard-kill timeout (ms)",yoloHelp:"Required for non-interactive sessions that trigger shell-style tools.",yoloLabel:"Auto-approve dangerous tool calls ({{flag}})"},le={agent:"Agent",breakDownSubtasks:"Break down into AI-generated subtasks",clearSelection:"Clear selection",collapse:"Collapse",collapseDescription:"Collapse description",collapseTaskOptions:"Collapse advanced task options",creating:"Creating...",custom:"Custom",deps:"Deps",editingDescription:"Editing Description",enterDescriptionFirst:"Enter a description first",expand:"Expand",expandDescription:"Expand description",expandTaskOptions:"Expand advanced task options",hintEnterEsc:"Enter to create · Esc to cancel",loadingAgents:"Loading agents...",model_one:"model",model_other:"model",models:"Models",noAgentsAvailable:"No agents available",node:"Node",noExistingTasks:"No existing tasks",openPlanningMode:"Open planning mode with current description",optionalWorkflowStepChecked:"{{name}} ✓",optionalWorkflowSteps:"Optional workflow steps",plan:"Plan",preset:"Preset",priority:"Priority",priorityLabel:"Priority: {{level}}",projectDefaultLocal:"Project default / local",removeImage:"Remove image",save:"Save",searchTasks:"Search tasks…",selectAgent:"Select agent",selectExecutionNode:"Select execution node",subtask:"Subtask",toggleOptionalWorkflowStep:"Toggle optional workflow step: {{name}}",useDefault:"Use default",whatNeedsToBeDone:"What needs to be done?"},de={allInsights:"All Insights",alreadyRunning:"Insight generation is already running. Showing the active run.",alreadyRunningShort:"Insight generation is already running",archived:'Archived "{{title}}"',archivedMsg:"Insight archived: {{title}}",archiveLabel:"Archive this insight",archiveTitle:"Archive this insight",archiving:'Archiving "{{title}}"...',backlogHealth:"Backlog Health",categoriesLabel:"Insight categories",configureModel:"Configure insight generation model",configureModelTitle:"Configure model",createTaskLabel:"Create task from this insight",createTaskTitle:"Create task from this insight",creatingTask:'Creating task from "{{title}}"...',dismissed:'Dismissed "{{title}}"',dismissedMsg:"Insight dismissed: {{title}}",dismissing:'Dismissing "{{title}}"...',dismissLabel:"Dismiss this insight",dismissTitle:"Dismiss this insight",failedToArchive:"Failed to archive insight",failedToCreateTask:"Failed to create task",failedToDismiss:"Failed to dismiss insight",failedToPreparePayload:"Failed to prepare task payload from insight",failedToStart:"Failed to start generation",failedToUnarchive:"Failed to unarchive insight",generateDescription:"Generate insights to get AI-powered recommendations for your project.",generateFirst:"Generate First Insights",generateInsights:"Generate new insights",generateInsightsBtn:"Generate Insights",generating:"Generating...",generatingInsights:"Generating insights...",generationModel:"Insight generation model",generationStarted:"Insight generation started",hideArchived:"Hide archived insights",hideArchivedLabel:"Hide Archived",latestRun:"Latest run:",loading:"Loading insights...",model:"Model",modelConfigured:"Model: {{model}}",noInsightsYet:"No insights yet",runCompleted:"{{created}} created, {{updated}} updated",showAllInsights:"Show all insights",showArchived:"Show archived insights",showArchivedLabel_one:"Show Archived ({{count}})",showArchivedLabel_other:"Show Archived ({{count}})",showBacklogHealth:"Show only backlog health insights",taskCreated:'Task created from "{{title}}"',taskCreatedMsg:"Task created: {{title}}",taskCreationUnavailable:"Task creation is unavailable in this view",title:"Insights",unarchived:'Unarchived "{{title}}"',unarchivedMsg:"Insight unarchived: {{title}}",unarchiveLabel:"Unarchive this insight",unarchiveTitle:"Unarchive this insight",unarchiving:'Unarchiving "{{title}}"...',usePlanningDefault:"Use planning default"},ce={addContextDirection:"Add any extra context or direction...",additionalComments:"Additional comments (optional)",aiThinking:"AI is thinking...",appliedMessage:"The {{targetType}}'s scope and verification have been applied.",description:"Description",error:{failedToApply:"Failed to apply interview results",failedToRestoreQuestion:"Failed to restore session question.",failedToRestoreResult:"Failed to restore session result.",failedToResume:"Failed to resume session.",failedToSkip:"Failed to skip {{targetLabel}} interview",failedToStart:"Failed to start {{targetLabel}} interview",failedToSubmit:"Failed to submit response",sessionEncounteredError:"The session encountered an error.",sessionFailed:"Session failed while contacting the AI."},hideThinking:"Hide thinking",interviewDescription:"The AI will interview you to refine the {{targetType}}'s scope, acceptance criteria, and verification methods. Each {{targetType}} can have its own refined plan or inherit context from the mission level.",missionContext:"Mission context:",no:"No",noAdditionalDetails:"No additional details were generated for this item.",planningNotes:"Planning Notes",preparingQuestion:"Preparing next question...",progressText:"Question {{progress}} of ~6",reconnecting:"Reconnecting…",refinedScope:"Refined Scope",refineScope:"Refine {{label}} scope with AI",sendToBackground:"Send to background",showThinking:"Show thinking",startInterview:"Start Interview",targetLabel:{milestone:"Milestone",slice:"Slice"},typeAnswerHere:"Type your answer here...",updated:"{{label}} Updated",useMissionContext:"Use Mission Context",verificationCriteria:"Verification Criteria",yes:"Yes"},ue={noIssuesFound:"No issues found"},pe={collapse:"Collapse {{name}} lane",expand:"Expand {{name}} lane"},ge={apply:"Apply",applying:"Applying...",archiveSelected:"Archive selected",archiveSelectedTitle:"Archive selected tasks that are in Done",archiveUnavailable:"Archive action is unavailable",archiveViaButton:"Tasks can only be archived via the archive button",bulkArchiveDone_one:"Archive {{count}} Done",bulkArchiveDone_other:"Archive {{count}} Done",bulkArchiveMessage_one:"Archive {{count}} selected task(s)?",bulkArchiveMessage_other:"Archive {{count}} selected task(s)?",bulkArchiveNoTasks:"No selected tasks can be archived (only done tasks)",bulkArchiveSummary:"Archived {{archived}} · {{skipped}} skipped · {{failed}} failed",bulkArchiveTitle:"Archive Selected Tasks",bulkDeleteAll:"Delete All",bulkDeleteArchiveSummary:"Archived {{archived}}, deleted {{deleted}}, failed {{failed}}",bulkDeleteMessage_one:"Delete {{count}} selected task(s)?",bulkDeleteMessage_other:"Delete {{count}} selected task(s)?",bulkDeleteNoTasks:"No selected tasks can be deleted (archived tasks are excluded)",bulkDeleteSummary_one:"Deleted {{count}} task · {{skipped}} archived skipped · {{failed}} failed",bulkDeleteSummary_other:"Deleted {{count}} tasks · {{skipped}} archived skipped · {{failed}} failed",bulkDeleteTitle:"Delete Selected Tasks",bulkDeleteWithDoneMessage:"Delete {{deletable}} task(s), or archive the {{done}} done task(s) and delete the rest?",bulkEdit:"Bulk Edit",bulkEditModelsLabel:"Bulk Edit Models & Node:",bulkNoChanges:"No changes to apply",bulkPauseNoTasks:"No selected tasks can be paused",bulkPauseSummary:"Paused {{paused}} · {{skipped}} skipped · {{failed}} failed",bulkUnpauseNoTasks:"No selected tasks can be unpaused",bulkUnpauseSummary:"Unpaused {{unpaused}} · {{skipped}} skipped · {{failed}} failed",bulkUpdateFailed:"Failed to update models",bulkUpdateNoTasks:"No valid tasks to update (archived tasks cannot be modified)",bulkUpdateSuccess_one:"Updated {{count}} task(s)",bulkUpdateSuccess_other:"Updated {{count}} task(s)",cancelMove:"Cancel Move",clear:"Clear",clearColumnFilter:"Clear column filter",colColumn:"Column",colDependencies:"Dependencies",colProgress:"Progress",colRetries:"Retries",colStatus:"Status",colTitle:"Title",deleteSelected:"Delete selected",deleteSelectedTitle:"Delete selected tasks",dependentsDeleteMessage:"Task {{taskId}} has dependents: {{dependents}}. Remove dependency references and force delete?",doneEditing:"Done Editing",doneHiddenChip:"Done hidden",executorModel:"Executor Model",fastMode:"Fast mode",filterChip:"Filter: {{column}}",forceDelete:"Force Delete",forceDeleteTitle:"Force Delete Task",hidden_one:"{{count}} hidden",hidden_other:"{{count}} hidden",hideDone:"Hide Done",hideDoneTitle:"Hide done tasks",keepProgress:"Keep Progress",lastColumnWarning:"At least one column must be visible",lineageArchiveMessage:`{{taskId}} has lineage children ({{children}}) that reference it as a source parent.
2
2
 
3
3
  Archive anyway by unlinking these references first?`,lineageDeleteMessage:`{{taskId}} has lineage children ({{children}}) that reference it as a source parent.
4
4