@runfusion/fusion 0.42.0 → 0.43.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 (63) hide show
  1. package/dist/bin.js +2287 -1591
  2. package/dist/client/.vite/manifest.json +71 -71
  3. package/dist/client/assets/{AgentDetailView-C5Lb3fd3.js → AgentDetailView-FUKwQxBP.js} +1 -1
  4. package/dist/client/assets/{AgentPermissionPolicyEditor-DtRcvE6M.js → AgentPermissionPolicyEditor-DMDUhF1n.js} +2 -2
  5. package/dist/client/assets/{AgentsView-BVW-NOYD.js → AgentsView-BrQLd-yI.js} +3 -3
  6. package/dist/client/assets/ChatView-Wz_0goif.js +6 -0
  7. package/dist/client/assets/{DevServerView-DLsFSP4s.js → DevServerView-DRqQpHsc.js} +1 -1
  8. package/dist/client/assets/{DirectoryPicker-_QawX-uL.js → DirectoryPicker-BFot4CVM.js} +1 -1
  9. package/dist/client/assets/{DocumentsView-DierUJsj.js → DocumentsView-hamhUcvL.js} +1 -1
  10. package/dist/client/assets/{EvalsView-B83lYKQl.js → EvalsView-DAXqDqn2.js} +1 -1
  11. package/dist/client/assets/{ExperimentalAgentOnboardingModal-CTctYTPU.js → ExperimentalAgentOnboardingModal-B4aZ1y0n.js} +1 -1
  12. package/dist/client/assets/{GoalsView-CKn8i0i0.js → GoalsView-2QOp9DA0.js} +1 -1
  13. package/dist/client/assets/{InsightsView-EpRHCD8G.js → InsightsView-D5fzFy-F.js} +1 -1
  14. package/dist/client/assets/{MemoryView-Df_ocTc5.js → MemoryView-B082KoR-.js} +1 -1
  15. package/dist/client/assets/{NodesView-DF7xJ_3z.js → NodesView-BA3pKMZu.js} +1 -1
  16. package/dist/client/assets/{PiExtensionsManager-BOooOEDx.js → PiExtensionsManager-C4I11iKm.js} +1 -1
  17. package/dist/client/assets/{PluginManager-CHrDAzK6.js → PluginManager-BzTzTMXZ.js} +1 -1
  18. package/dist/client/assets/{PullRequestView-CJU21OZ6.js → PullRequestView-11xJ565q.js} +1 -1
  19. package/dist/client/assets/{ReliabilityView-uHkW1Qeu.js → ReliabilityView-CpELpGqw.js} +1 -1
  20. package/dist/client/assets/{ResearchView-oZ2-vbjL.js → ResearchView-BHiXfjzE.js} +1 -1
  21. package/dist/client/assets/{SecretsView-BpkqSV_E.js → SecretsView-CC5OYoCn.js} +1 -1
  22. package/dist/client/assets/{SessionTerminal-D9IW4cDj.js → SessionTerminal-G70Jwkzs.js} +1 -1
  23. package/dist/client/assets/{SettingsModal-BmB5l2bA.js → SettingsModal-BKEbtdqR.js} +1 -1
  24. package/dist/client/assets/{SettingsModal-C8gsAazm.js → SettingsModal-C0M1CqOu.js} +6 -6
  25. package/dist/client/assets/SettingsModal-DpAxDq6M.css +1 -0
  26. package/dist/client/assets/{SetupWizardModal-BYLEU_7o.js → SetupWizardModal-CBfItlP6.js} +1 -1
  27. package/dist/client/assets/{SkillsView-8GgQ8Z_Z.js → SkillsView-DbcW87-E.js} +1 -1
  28. package/dist/client/assets/{StashRecoveryView-CT1t1Uf2.js → StashRecoveryView-CH9RPtzX.js} +1 -1
  29. package/dist/client/assets/{TodoView-BUj6ITAb.js → TodoView-ToviJ0SV.js} +1 -1
  30. package/dist/client/assets/{WorkflowNodeEditor-CN7GPmvV.js → WorkflowNodeEditor-BTu0D9c5.js} +1 -1
  31. package/dist/client/assets/WorkflowNodeEditor-BokhW3de.css +1 -0
  32. package/dist/client/assets/{app-DCot4oXA.js → app-CUu1sm3x.js} +2 -2
  33. package/dist/client/assets/{dashboard-view-CrYwb0oQ.js → dashboard-view-DtgLZ_LM.js} +1 -1
  34. package/dist/client/assets/{folder-open-CREXTATY.js → folder-open-BlPyIWyf.js} +1 -1
  35. package/dist/client/assets/index-DqhCiU35.css +1 -0
  36. package/dist/client/assets/index-bZCpHtGq.js +793 -0
  37. package/dist/client/assets/{upload-BvLUlwaH.js → upload-B-qmm1NH.js} +1 -1
  38. package/dist/client/assets/{users-CjhbU-sF.js → users-D6C5TXf2.js} +1 -1
  39. package/dist/client/index.html +2 -2
  40. package/dist/client/version.json +1 -1
  41. package/dist/droid-cli/package.json +1 -1
  42. package/dist/extension.js +1726 -1080
  43. package/dist/pi-claude-cli/package.json +1 -1
  44. package/dist/plugin-sdk/index.d.ts +6258 -86
  45. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  46. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  47. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +177 -18
  48. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  49. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  50. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  51. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  52. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  53. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  54. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  55. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  56. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  57. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  58. package/package.json +1 -9
  59. package/dist/client/assets/ChatView-Dy-oIkrK.js +0 -6
  60. package/dist/client/assets/SettingsModal-bJvc9aHl.css +0 -1
  61. package/dist/client/assets/WorkflowNodeEditor-aPj8cv81.css +0 -1
  62. package/dist/client/assets/index-2kYpdJrx.js +0 -793
  63. package/dist/client/assets/index-CJUfvGdC.css +0 -1
@@ -2,7 +2,7 @@ const e={add:"Add",apply:"Apply",back:"Back",cancel:"Cancel",close:"Close",close
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
 
5
- Delete anyway by unlinking these references first?`,listControlsLabel:"List controls",newTask:"+ New Task",noChange:"No change",nodeOverrideLabel:"Node Override",nodeStatusConnecting:"Connecting",nodeStatusError:"Error",nodeStatusOffline:"Offline",nodeStatusOnline:"Online",noTasks:"No tasks",noTasksMatch:"No tasks match your filter",noTasksYet:"No tasks yet",pausedByAgent:"paused by agent",pauseSelected:"Pause selected",pauseSelectedTitle:"Pause all selected tasks that are not already paused",pauseUnavailable:"Pause action is unavailable",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressTitle:"Preserve Progress?",resetProgress:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressTitle:"Reset Progress?",resizeSidebar:"Resize task list sidebar",reviewerModel:"Reviewer Model",selectAll:"Select all visible tasks",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",selectTask:"Select {{taskId}}",selectTaskPrompt:"Select a task to view details",showAll:"Show all",showAllTitle:"Show all tasks",showDone:"Show Done",showDoneTitle:"Show done tasks",staleOnly:"Stale only",staleOnlyTitle:"Show stale tasks only",stalePausedReview:"Stale paused review",stalePausedReviewTitle:"Show stale paused review tasks only",stats_one:"{{count}} of {{total}} tasks",stats_other:"{{count}} of {{total}} tasks",statsInColumn_one:"{{count}} of {{total}} tasks in {{column}}",statsInColumn_other:"{{count}} of {{total}} tasks in {{column}}",statusMergingFix:"Merging fixes…",stuck:"Stuck",taskCreationUnavailable:"Task creation not available",unpauseSelected:"Unpause selected",unpauseSelectedTitle:"Unpause selected tasks that are currently paused",unpauseUnavailable:"Unpause action is unavailable",useProjectDefault:"Use project default",viewOptions:"View options"},ie={agent:"Agent",agents:"Agents",agentsTab:"Agents",ago:"ago",allAgents:"All agents",allAgentsOption:"All agents",approvalApprove:"Approve",approvalCommentPlaceholder:"Optional comment",approvalDeny:"Deny",approvalRequested:"Requested",approvalRequester:"Requester",approvals:"Approvals",approvalTask:"Task",back:"Back",backButton:"← Back",closeAriaLabel:"Close",closeTitle:"Close",compose:"Compose",composeButton:"Compose",composeMessageTitle:"Compose message",composeTitle:"Compose message",conversation:"Conversation",conversationLabel:"Conversation",delete:"Delete",deleteButton:"Delete",deleteFailed:"Failed to delete message",from:"From",fromLabel:"From:",fromPrefix:"From: {{participant}}",history:"History",inbox:"Inbox",inboxTab:"Inbox",justNow:"Just now",labelAgent:"Agent: {{id}}",labelAgentNamed:"Agent: {{name}}",labelSystem:"System",labelUser:"User: {{id}}",labelYou:"You",markAllRead:"Mark all read",markAllReadButton:"Mark all read",markAllReadTitle:"Mark all as read",markedAsRead_one:"Marked {{count}} messages as read",markedAsRead_other:"Marked {{count}} messages as read",markReadFailed:"Failed to mark messages as read",messageDeleted:"Message deleted",messageSent:"Message sent",noAgentMessages:"No agent-to-agent messages",noAgents:"No agents found",noAgentsFound:"No agents found",noHistoricalApprovals:"No historical approvals",noInbox:"No messages in your inbox",noMessagesInbox:"No messages in your inbox",noOutbox:"No sent messages",noPendingApprovals:"No pending approvals",noReceivedMessages:"No received messages for this agent",noSentMessages:"No sent messages",noSentMessagesAgent:"No sent messages for this agent",outbox:"Outbox",outboxTab:"Outbox",pending:"Pending",refreshTitle:"Refresh",reply:"Reply",replyButton:"Reply",replyingTo:"Replying to",replyingToMessage:"Replying to message",replyLoadFailed:"Failed to load replied message. Click to retry.",selectMessageToRead:"Select a message to read",system:"System",timeDaysAgo_one:"{{count}}d ago",timeDaysAgo_other:"{{count}}d ago",timeHoursAgo_one:"{{count}}h ago",timeHoursAgo_other:"{{count}}h ago",timeJustNow:"Just now",timeMinsAgo_one:"{{count}}m ago",timeMinsAgo_other:"{{count}}m ago",title:"Mailbox",to:"To",toLabel:"To:",toPrefix:"To: {{recipient}}",typeAgentToAgent:"Agent ↔ Agent",typeAgentToUser:"Agent → You",typeSystem:"System",typeUserToAgent:"You → Agent",user:"User",you:"You"},ne={auditChecksTitle:"Audit Checks",autoSummarizeHint:"Automatically compact memory when it exceeds the threshold on a schedule",autoSummarizeLabel:"Auto-Summarize Memory",autoSummarizeScheduleHint:"Cron expression for auto-summarize schedule (default: daily at 3 AM)",autoSummarizeScheduleLabel:"Schedule (cron)",backendFile:"File (.fusion/memory/, agent/<agent-name>/memory/)",backendQmd:"QMD (Quantized Memory Distillation)",backendReadonly:"Read-Only",cancel:"Cancel",capAtomicWrites:"Atomic Writes",capPersistent:"Persistent",capReadable:"Readable",capWritable:"Writable",categories:"Categories",charCount_one:"{{count}} characters",charCount_other:"{{count}} characters",compactFailed:"Failed to compact memory",compacting:"Compacting…",compactionThresholdHint:"Memory will be compacted when it exceeds this character count",compactionThresholdLabel:"Compaction Threshold (chars)",compactSelectedFile:"Compact Selected File",currentBackendTitle:"Current Backend",description:"Working memory, long-term insights, and engine status",disabledMessage:"Memory is currently disabled. Enable memory tools in Settings to edit these automations.",dreaming:"Dreaming…",dreamNow:"Dream Now",dreamNowHint:"Manually trigger dream processing now.",dreamProcessingComplete:"Dream processing completed",dreamProcessingFailed:"Failed to run dream processing",dreamsEnabledHint:"Turns daily notes into DREAMS.md and promotes reusable lessons into MEMORY.md.",dreamsEnabledLabel:"Process dreams from daily memory",dreamsScheduleHint:"Cron expression for dream processing.",dreamsScheduleLabel:"Dream Schedule",editorDefaultDescription:"Edits the selected memory file.",editorLabel:"Memory Editor",editRaw:"Edit Raw",extracting:"Extracting…",extractInsightsFailed:"Failed to extract insights",extractionFailed:"Failed",extractionSuccess:"Success",extractNow:"Extract Now",fileCompacted:"Memory file compacted",fileLabel:"Memory File",fileSummary:"{{size}} bytes · updated {{updatedAt}}",fileSwitchDirtyHint:"Save or discard the current edits before switching files.",fileSwitchHint:"Choose any project memory file to view or edit.",healthHealthy:"Healthy",healthIssues:"Issues Found",healthStatusTitle:"Health Status",healthWarning:"Warning",insightCount_one:"{{count}} insights",insightCount_other:"{{count}} insights",insightsExtracted_one:"{{count}} insights extracted",insightsExtracted_other:"{{count}} insights extracted",insightsMemoryLabel:"Insights Memory",insightsSaved:"Insights saved",installing:"Installing…",installQmd:"Install qmd",installQmdFailed:"Failed to install qmd",lastExtractionLabel:"Last Extraction",lastUpdated:"Last Updated",layerDaily:"Daily",layerDescDaily:"Raw daily observations, open loops, and running context for dream processing.",layerDescDreams:"Synthesized patterns and open loops promoted from daily memory.",layerDescLongTerm:"Curated durable decisions, conventions, constraints, and pitfalls promoted from dreams.",layerDreams:"Dreams",layerLongTerm:"Long-term",loadFileFailed:"Failed to load memory file",loadingEngineStatus:"Loading engine status…",loadingFile:"Loading memory file…",loadingInsights:"Loading insights…",localFallbackUsed:"local fallback used",memorySaved:"Memory saved",noInsights:"No insights extracted yet.",noInsightsHint:'Insights are automatically extracted from working memory. Click "Extract Now" to trigger extraction manually.',noMatchingMemory:"No matching memory found.",pruningApplied:"Applied",pruningLabel:"Pruning",pruningNotNeeded:"Not needed",qmdAvailableOnPath:"qmd is available on PATH.",qmdChecking:"Checking",qmdCheckingAvailability:"Checking qmd availability…",qmdInstalled:"Installed",qmdInstallSuccess:"qmd installed successfully",qmdInstallUnavailable:"qmd install finished, but qmd is still unavailable",qmdIntegrationTitle:"QMD Integration",qmdNotInstalled:"qmd is not installed. Search will use local files. Install indexed retrieval:",qmdPathUsed:"qmd path used",qmdStatusAvailable:"available",qmdStatusMissing:"missing",readOnlyBanner:"This memory backend is read-only. Changes cannot be saved.",retrievalTestComplete:"Memory retrieval test complete",retrievalTestFailed:"Failed to test memory retrieval",retrievalTestFallback:"qmd is not installed; local fallback was used",runAudit:"Run Audit",save:"Save",saveInsights:"Save Insights",saveInsightsFailed:"Failed to save insights",saveMemoryFailed:"Failed to save memory",saveSettings:"Save Settings",saveSettingsFailed:"Failed to save memory settings",saving:"Saving…",searchPlaceholder:"Search memory with qmd",sectionCount_one:"{{count}} sections",sectionCount_other:"{{count}} sections",settingsNote:"Note: Change backend type in",settingsNoteLink:"Settings → Memory",settingsNoteToast:"Open Settings → Memory to change backend type",settingsSaved:"Memory settings saved",sizeChars:"{{size}} chars",tabEngines:"Engines",tabInsights:"Insights",tabWorking:"Working Memory",testing:"Testing…",testMemorySearchTitle:"Test Memory Search",testResultCount_one:'{{count}} result for "{{query}}"',testResultCount_other:'{{count}} results for "{{query}}"',testResultStatus:"qmd {{qmdStatus}} · {{fallbackStatus}}",testRetrieval:"Test Retrieval",testSearchHint:"Runs the same qmd-backed memory_search path agents use.",title:"Memory",totalInsights:"Total Insights",workingMemoryLabel:"Working Memory"},se={advanced:"Advanced",advancedTo:"{{branch}} advanced to {{sha}}.",changesWillAutoStash:" (local changes will be auto-stashed and restored)",checkedOutBehind:"Your checked-out copy at {{path}} is behind.",commit:"Commit",disabledMergeLocked:"Push paused — a Fusion merge is in progress.",disabledNoRemote:"No `origin` remote configured.",disabledNoUpstream:"Branch has no upstream on origin.",dismissNotice:"Dismiss merge advance notice",filesChanged:"Files in merge commit",forceWithLeaseLabel:"Allow force-with-lease (use only when you know origin diverged intentionally)",insertionsDeletions:"Merge-commit insertions / deletions",mergedAt:"Merged at",mergedSuccess:"Merged successfully",message:"Message",pr:"PR",pulling:"Pulling…",pushForceWithLease:"Push (force-with-lease)",pushHeading_one:"Push {{branch}} to origin — ahead by {{count}} commit{{plural}}.",pushHeading_other:"Push {{branch}} to origin — ahead by {{count}} commit{{plural}}.",pushing:"Pushing…",pushSuccess:"Pushed to origin/{{branch}} @ {{sha}}.",pushToOrigin:"Push to origin",recordedNoConfirm:"Recorded without local merge confirmation",shortstatTitle:"Final commit shortstat; for the full landed diff across all task commits, see the Changes tab.",smartPull:"Smart Pull",status:"Status",title:"Merge Details"},re={ariaLabel:"Node mesh topology visualization",connecting:"Connecting",error:"Error",failedToFetchMeshState:"Failed to fetch mesh state",noNodes:"No nodes to display",noPeers:"Peer-to-peer discovery data unavailable.",offline:"Offline",online:"Online"},le=JSON.parse('{"acceptance":"Acceptance:","acceptanceCriteriaOptional":"Acceptance criteria (optional)","actionGenerating":"Generating…","actionResume":"Resume","actionRetry":"Retry","actionReview":"Review","activateSlice":"Activate slice","activityTime":"Activity {{time}}","actual":"Actual: {{value}}","addAssertion":"Add assertion","addContext":"Add any extra context or direction...","addFeature":"Add feature","additionalComments":"Additional comments (optional)","addMilestone":"Add Milestone","addSlice":"Add slice","aiThinking":"AI is thinking...","aiValidatedAtRuntime":"AI-validated at runtime","aiValidatedMissionGate":"AI-validated mission gate","allFeaturesLinked":"All features already linked","approvePlan":"Approve Plan","assertionCreated":"Assertion created","assertionCreateFailed":"Failed to create assertion","assertionFieldsRequired":"Title and assertion text are required","assertionTextEditPlaceholder":"Assertion text","assertionTextPlaceholder":"Assertion text (what should be true when complete)","assertionTitlePlaceholder":"Assertion title","assertionUpdated":"Assertion updated","assertionUpdateFailed":"Failed to update assertion","attemptRetries_one":"Attempt {{attempt}} · {{count}} {{label}} left","attemptRetries_other":"Attempt {{attempt}} · {{count}} {{label}} left","autopilotActivatingSlice":"Activating slice","autopilotCompleting":"Completing","autopilotDescription":"When on, Fusion automatically activates the next slice and plans its features as work completes.","autopilotDisabled":"Autopilot disabled","autopilotEnabled":"Autopilot enabled","autopilotEnabledLabel":"Autopilot enabled","autopilotLabel":"Autopilot","autopilotLastActivation":"Last activation {{time}}","autopilotOff":"Off","autopilotUpdateFailed":"Failed to update autopilot","autopilotWatching":"Autopilot watching","autopilotWatchingSince":"Watching since {{time}}","autopilotWatchingState":"Watching","backToMissions":"Back to missions","backToMissionsList":"Back to missions list","blocked":"Blocked:","blockedReason":"Blocked reason:","branchName":"Branch name","branchNameAriaLabel":"Mission branch name","branchNamePlaceholder":"e.g. feature/mission-work","branchNameRequired":"Branch name is required for selected branch strategy","branchStrategy":"Branch strategy","branchStrategyAriaLabel":"Mission branch strategy","branchStrategyAutoPerTask":"Auto-name a branch per task (from details)","branchStrategyCustomNew":"Create custom branch","branchStrategyExisting":"Use existing branch","branchStrategyProjectDefault":"Use project/default branch","buildExample":"e.g., Build a real-time collaborative document editor with presence, comments, and version history...","cancelButton":"Cancel","clickToViewTask":"Click to view task","close":"Close","closeMissionManager":"Close Mission Manager","collapseDetails":"Collapse details","completedFeatures":"{{completed}}/{{total}} features","completedMilestones":"{{completed}}/{{total}} milestones","completedTasks":"{{completed}}/{{total}} tasks","confirmMilestonePlaceholder":"How to confirm this milestone is complete...","confirmSlicePlaceholder":"How to confirm this slice is done...","contractAssertions":"Contract assertions (AI-validated)","createButton":"Create","created":"Mission created","createdFromInterview":"Mission created from AI interview","createTask":"Create Task","creatingMission":"Creating Mission...","defaultInterviewTitle":"Mission interview","deleteAssertion":"Delete assertion","deleteButton":"Delete","deleteConfirm":"Delete this {{type}}? This cannot be undone.","deleted":"Mission deleted","deleteFailed":"Failed to delete mission","deleteFeature":"Delete feature","deleteMilestone":"Delete milestone","deleteMission":"Delete mission","deleteSlice":"Delete slice","describeGoal":"Describe what you want to build. The AI will interview you to understand scope, constraints, and requirements, then produce a structured plan with milestones, slices, and features.","descriptionLabel":"Mission Description","descriptionOptional":"Description (optional)","detailTabs":"Mission detail tabs","discardButton":"Discard","discardDraft":"Discard draft","discardDraftConfirm":"Discard this interview draft? This removes the saved draft and cannot be undone.","dismiss":"Dismiss","draftDiscardFailed":"Failed to discard draft","draftOpenInAnotherTab":"Draft is open in another tab","draftsLabel":"Drafts","editAssertion":"Edit assertion","editFeature":"Edit feature","editMilestone":"Edit milestone","editMission":"Edit mission","editSlice":"Edit slice","enrichedDescPreview":"Enriched Description Preview","expandRunHistory":"Expand to show run history","expected":"Expected: {{value}}","failedAssertions":"Failed assertions:","failedAssertionsTitle":"Failed Assertions:","failedLoadModels":"Failed to load models","featureCreated":"Feature created","featureCriteriaAwaitingSync":"Feature criteria awaiting assertion sync","featureDeleted":"Feature deleted","featureDeleteFailed":"Failed to delete feature","featureLinkedToAssertion":"Feature linked to assertion","featureLinkedToTask":"Feature linked to task","featureLinkFailed":"Failed to link feature","featureLinkTaskFailed":"Failed to link feature to task","featureSaveFailed":"Failed to save feature","featuresCount_one":"{{count}} features","featuresCount_other":"{{count}} features","featureTitlePlaceholder":"Feature title","featureTitleRequired":"Feature title is required","featureTriaged":"Feature triaged — task created","featureTriageFailed":"Failed to triage feature","featureUnlinkedFromAssertion":"Feature unlinked from assertion","featureUnlinkedFromTask":"Feature unlinked from task","featureUnlinkFailed":"Failed to unlink feature","featureUnlinkFromAssertionFailed":"Failed to unlink feature","featureUpdated":"Feature updated","filterAll":"All events","filterAutopilot":"Autopilot events","filterErrors":"Errors & warnings","filterLabel":"Filter","filterSlices":"Slice & milestone events","filterStateChanges":"State changes","filterTasks":"Task events","generatedFixFeatures":"Generated fix features:","generatedFixFeaturesTitle":"Generated Fix Features","generatedFromFeature":"Generated from feature: {{id}}","hideDetails":"Hide details","hideMetadata":"Hide metadata","hideThinking":"Hide thinking","hideValidationRounds":"Hide validation rounds","interviewActionGenerating":"Generating plan","interviewActionResume":"Resume interview","interviewActionRetry":"Retry interview","interviewActionReview":"Review plan","interviewComplete":"Plan ready — review and approve to create the mission.","interviewErrorDefault":"Session failed while contacting the AI.","interviewErrored":"Interview hit an error. Retry from this list item.","interviewGenerating":"Generating mission hierarchy from interview context.","interviewInProgress":"Interview in progress","interviewWaiting":"Interview is waiting for your next response.","lastValidatorStatus":"Last {{status}}","linkAFeature":"Link a feature","linkButton":"Link","linkedCount_one":"{{count}} linked","linkedCount_other":"{{count}} linked","linkedFeaturesCount_one":"{{count}} linked feature","linkedFeaturesCount_other":"{{count}} linked features","linkedFeaturesLabel":"Linked Features","linkedGoals":"Linked goals","linkedGoalsTitle":"Linked Goals","linkFeatureButton":"Link Feature","linkFeatureToTask":"Link feature to task:","linkToTask":"Link to task","loadActivityFailed":"Failed to load mission activity","loadDetailFailed":"Failed to load mission details","loadFailed":"Failed to load missions","loadingActivity":"Loading mission activity...","loadingMissionDetails":"Loading mission details...","loadingMissions":"Loading missions...","loadingModels":"Loading models…","loadMore":"Load more","loopState":"Loop state: {{state}}","milestoneCreated":"Milestone created","milestoneDeleted":"Milestone deleted","milestoneDeleteFailed":"Failed to delete milestone","milestoneDescriptionPlaceholder":"Milestone description...","milestoneSaveFailed":"Failed to save milestone","milestonesCount_one":"{{count}} milestones","milestonesCount_other":"{{count}} milestones","milestoneTitlePlaceholder":"Milestone title","milestoneTitleRequired":"Milestone title is required","milestoneUpdated":"Milestone updated","missionHealthAriaLabel":"Mission health: {{state}}","missionInterviewInProgressDesc":"Mission interview is still in progress. Open this mission to continue planning.","missionList":"Mission list","missionManagerAriaLabel":"Mission Manager","missionTargetBranchAriaLabel":"Mission target branch","missionTitlePlaceholder":"Mission title","noAssertionFailures":"No assertion failures","noAssertionsDefined":"No feature acceptance criteria or contract assertions defined yet.","noAssertionsYet":"No linked contract assertions are loaded yet. Feature criteria below will still be AI-validated when mission validation runs.","noEventsYet":"No events yet.","noFeaturesLinkedYet":"No features linked yet","noFixFeaturesGenerated":"No fix features generated.","noGoalsLinked":"No goals linked to this mission","noLinkedGoals":"No linked goals.","noMilestonesYet":"No milestones yet. Add one to get started.","noMissionsYetBody":"Missions are large initiatives that bundle milestones, slices, and features into a single plan. Plan a mission to break down a goal end-to-end and let agents work through it autopilot-style.","noMissionsYetTitle":"No missions yet","none":"None","noSlicesYet":"No slices yet","noValidationRunsYet":"No validation runs yet.","openMissionAriaLabel":"Open mission {{title}}","orSelect":"Or select:","planMilestone":"Plan milestone","planNewMission":"Plan New Mission","planningModel":"Planning Model","planReady":"Mission Plan Ready","planSlice":"Plan slice","planStateNeedsUpdate":"Needs update","planStateNotPlanned":"Not planned","planStatePlanned":"Planned","planTitle":"Plan Mission with AI","prepareQuestion":"Preparing next question...","progressText_one":"Question {{count}} of ~6","progressText_other":"Question {{count}} of ~6","reconnecting":"Reconnecting…","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","removeFeature":"Remove feature","removeMilestone":"Remove milestone","removeSlice":"Remove slice","resizeSidebar":"Resize mission sidebar","resumed":"Mission resumed","resumeFailed":"Failed to resume mission","resumeInterviewAriaLabel":"Resume interview {{title}}","resumeMission":"Resume mission","retries":"retries","retry":"retry","retryBudgetTitle":"Implementation attempts and remaining retry budget","retrying":"Retrying...","roadmapLabel":"Roadmap","run":"Run:","runSettings":"Mission run settings","runSettingsTitle":"Mission run settings","saveButton":"Save","saveFailed":"Failed to save mission","selectMissionToView":"Select a mission to view details","sendToBackground":"Send to background","sessionActiveAnother":"Session is active in another tab.","sessionActiveHeartbeat":"This session is active in another tab (live heartbeat)","sessionActiveTab":"This session is active in another tab","showDetails":"Show details","showMetadata":"Show metadata","showThinking":"Show thinking","showValidationRounds":"Show validation rounds","sliceActivated":"Slice activated","sliceActivateFailed":"Failed to activate slice","sliceCreated":"Slice created","sliceDeleted":"Slice deleted","sliceDeleteFailed":"Failed to delete slice","sliceSaveFailed":"Failed to save slice","slicesCount_one":"{{count}} slices","slicesCount_other":"{{count}} slices","sliceTitlePlaceholder":"Slice title","sliceTitleRequired":"Slice title is required","sliceTriaged_one":"Triaged {{count}} feature","sliceTriaged_other":"Triaged {{count}} features","sliceTriageFailed":"Failed to triage slice features","sliceUpdated":"Slice updated","sliceVerification":"Slice Verification","source":"Source:","started":"Mission started — first slice activated","startFailed":"Failed to start mission","startInterview":"Start Interview","startMission":"Start mission","startOver":"Start Over","statusActive":"Active","statusArchived":"Archived","statusBlocked":"Blocked","statusComplete":"Complete","statusDefined":"Defined","statusDone":"Done","statusFailed":"Failed","statusInProgress":"In Progress","statusPassed":"Passed","statusPending":"Pending","statusPlanning":"Planning","statusTriaged":"Triaged","stopFailed":"Failed to stop mission","stopMission":"Stop mission","stopped_one":"Mission stopped ({{count}} task paused)","stopped_other":"Mission stopped ({{count}} tasks paused)","summaryStats":"{{milestones}} milestones, {{features}} features. Review and edit before approving.","tabActivity_one":"Activity ({{count}})","tabActivity_other":"Activity ({{count}})","tabStructure":"Structure","takeControl":"Take Control","takingControl":"Taking control...","targetBranch":"Target branch","targetBranchPlaceholder":"e.g. main","taskIdPlaceholder":"Task ID (e.g., FN-001)","taskIdRequired":"Task ID is required","tasksFailed_one":"{{count}} failed","tasksFailed_other":"{{count}} failed","title":"Missions","titleLabel":"Mission Title","titleRequired":"Mission title is required","toggleDetails":"Toggle details","transformVision":"Transform your vision into a structured mission","triageAllFeatures":"Triage all features","triageCreateTask":"Triage — create task","tryExample":"Try an example:","typeAnswer":"Type your answer here...","unlinkedBadge":"Unlinked","unlinkFeature":"Unlink feature","unlinkTask":"Unlink task","untitled":"Untitled","updateButton":"Update","updated":"Mission updated","validateFeature":"Validate feature","validationRoundsCount_one":"{{count}} round","validationRoundsCount_other":"{{count}} rounds","validationRoundsLabel_one":"Validation rounds ({{count}})","validationRoundsLabel_other":"Validation rounds ({{count}})","validationRuns":"Validation Runs","validationState":"Validation state","validationStateNotStarted":"Not started","validationTelemetry":"Validation Telemetry","validationTriggered":"Validation triggered","validationTriggerFailed":"Failed to trigger validation","verification":"Verification:","verificationCriteria":"Verification Criteria","viewMissionFailures":"View mission failures","whatToBuild":"What do you want to build?"}'),de={createdFromPlanning:"Created {{id}} from planning mode",createdFromSubtask:"Created {{ids}} from subtask breakdown",createdMultipleFromPlanning:"Created {{ids}} from planning mode"},ce={noChange:"No change",selectPlaceholder:"Select a model…"},ue={addProviderToFavoritesAriaLabel:"Add {{provider}} to favorites",addToFavorites:"Add to favorites",addToFavoritesAriaLabel:"Add {{name}} to favorites",clearFilter:"Clear filter",count_one:"{{count}} model",count_other:"{{count}} models",descriptions:{executor:"The AI model used to implement this task.",override:"Override the AI models used for this task. When not specified, project or global defaults are used.",planning:"The AI model used for task specification (triage phase).",reviewer:"The AI model used to review code and plans for this task.",thinkingLevel:"Controls the reasoning effort for the AI agent. Higher levels use more tokens."},emptyStates:{noModels:"No models available. Configure authentication in Settings to enable model selection."},errors:{failedSaveSettings:"Failed to save model settings",failedSaveThinking:"Failed to save thinking level",failedUpdateFavorites:"Failed to update favorites",failedUpdateModelFavorites:"Failed to update model favorites"},filterPlaceholder:"Filter models…",labels:{executorModel:"Executor Model",planningModel:"Planning Model",reviewerModel:"Reviewer Model",thinkingLevel:"Thinking Level"},messages:{thinkingLevelSet:"Thinking level set to {{level}}",thinkingLevelSetDefault:"Thinking level set to default ({{level}})",upToDate:"Model settings are up to date.",usingDefaults:"Using project or global default models."},noResults:"No models match '{{filter}}'",options:{default:"Default",high:"High",low:"Low",medium:"Medium",minimal:"Minimal",off:"Off"},placeholders:{selectExecutor:"Select executor model…",selectPlanning:"Select planning model…",selectReviewer:"Select reviewer model…"},removeFromFavorites:"Remove from favorites",removeFromFavoritesAriaLabel:"Remove {{name}} from favorites",removeProviderFromFavoritesAriaLabel:"Remove {{provider}} from favorites",states:{loading:"Loading available models…",usingDefault:"Using default"},titles:{configuration:"Model Configuration"},useDefault:"Use default"},pe={choose:"Choose models for this task. If not selected, default models will be used.",custom:"Custom",executorModel:"Executor Model",executorPlaceholder:"Select executor model…",loading:"Loading models…",noModels:"No models available. Configure authentication in Settings to enable model selection.",preset:"Preset",reviewerModel:"Reviewer Model",reviewerPlaceholder:"Select reviewer model…",title:"Select Models",useDefault:"Use default",usingDefault:"Using default"},me={activityLog:"Activity Log",agents:"Agents",automation:"Automation",chat:"Chat",chatUnreadAriaLabel:"Unread chat response",devServer:"Dev Server",documents:"Documents",evals:"Evals",files:"Files",gitManager:"Git Manager",goals:"Goals",importFromGitHub:"Import from GitHub",insights:"Insights",loadingScripts:"Loading scripts…",mailbox:"Mailbox",mailboxPendingAriaLabel:"Pending approvals",manageScripts:"Manage Scripts…",memory:"Memory",missions:"Missions",more:"More",moreSheetTitle:"Navigate",nodes:"Nodes",noScriptsAddOne:"No scripts — add one…",planning:"Planning",primaryNavAriaLabel:"Primary navigation",projects:"Projects",reliability:"Reliability",research:"Research",scriptsSubmenuAriaLabel:"Scripts submenu",secrets:"Secrets",settings:"Settings",showScriptsAriaLabel:"Show scripts",skills:"Skills",stashRecovery:"Stash Recovery",systemStats:"System Stats",tasks:"Tasks",terminal:"Terminal",todos:"Todos",usage:"Usage",workflows:"Workflows"},ge={addDependencies:"Add dependencies",assignAgent:"Assign Agent",assignAgentButton:"Assign agent",branchRequired:"Branch name is required for this branch strategy.",clearSelection:"Clear selection",createTask:"Create Task",creating:"Creating...",dependencies:"Dependencies",discardChanges:"Discard Changes",failedToCreate:"Failed to create task",failedToUpload:"Failed to upload: {{files}}",loadingAgents:"Loading agents...",noAgentsAvailable:"No agents available",noAvailableTasks:"No available tasks",searchTasks:"Search tasks…",selectAgent:"Select agent",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",taskCreated:"Created {{taskId}}",title:"New Task",unsavedChanges:"You have unsaved changes. Discard them?"},he={actions:{connect:"Connect",connecting:"Connecting...",edit:{ariaLabel:"Edit node",label:"Edit",title:"Edit"},health:{ariaLabel:"Run node health check",label:"Health",title:"Health Check"},remove:{ariaLabel:"Remove node",ariaLabelConfirm:"Confirm remove node",label:"Remove",labelConfirm:"Confirm",title:"Remove",titleConfirm:"Confirm remove"},restart:{ariaLabel:"Restart node container",label:"Restart",title:"Available after FN-3113"},start:{ariaLabel:"Start node container",label:"Start",title:"Available after FN-3113"},stop:{ariaLabel:"Stop node container",label:"Stop",title:"Available after FN-3113"}},addCliButton:"Add CLI",addDockerNode:"Add Docker Node",addDockerNodeTitle:"Add a managed Docker node",addFirstNode:"Add First Node",adding:"Adding...",addMountButton:"Add Mount",addNode:"Add Node",addVariableButton:"Add Variable",apiKey:"API Key",apiKeyMode:"API Key Mode",apiKeyNotConfigured:"Not configured",apiKeyPlaceholder:"Enter node API key",attachProjects:"Attach Existing Projects",attachProjectsHint:"Select existing projects to run on this node and provide the node-specific absolute path for each one.",authSync:{differ:"credentials differ",label:"Auth sync: {{status}}",match:"credentials match",notSynced:"not synced"},autoAssignment:"Auto (no assignment)",autoGenerate:"Auto-generate",availableSoon:"Available after FN-3113",cancelButton:"Cancel",closeAriaLabel:"Close nodes view",closeButton:"Close",closeLogsAriaLabel:"Close logs",closeModalAriaLabel:"Close node detail modal",closeNodeModal:"Close add node modal",concurrencyMin:"Concurrency must be at least 1",concurrencyRange:"Concurrency must be between {{min}} and {{max}}",containerLogs:"Container Logs",description:"Register an existing Fusion node by providing its connection details and concurrency settings.",discoverBeforeAdding:"Discover remote projects before adding this node.",discoveredCount_one:"Discovered {{count}} remote project{{plural}}",discoveredCount_other:"Discovered {{count}} remote project{{plural}}",discovering:"Discovering...",discoverRemoteProjects:"Discover Remote Projects",discoveryFailed:"Failed to discover remote projects",dismissError:"Dismiss error",docker:"Docker",dockerBadge:"Managed Docker node",dockerConfigSaveFailed:"Failed to save Docker config",dockerConfigSaveSuccess:"Docker config saved",dockerConfiguration:"Docker Configuration",dockerContainerId:"Container ID",dockerContainerPath:"Container path",dockerContextName:"Context name",dockerCpuCount:"CPU count",dockerDefaultCpu:"Default CPU",dockerDefaultMemory:"Default memory",dockerEnvVars:"Environment Variables",dockerExitCode:"Exit code:",dockerExtraClis:"Extra CLIs",dockerFieldImage:"Image",dockerHost:{local:"Local Docker",remote:"Remote: {{host}}"},dockerHostConfig:"Host Config",dockerHostPath:"Host path",dockerHostUrl:"Docker host URL",dockerLabel:"Docker",dockerMemoryBytes:"Memory bytes (2 GB = 2147483648)",dockerNeedsRecreate:"Needs Recreate",dockerNodeCreated:'Docker node "{{name}}" created',dockerPersistence:"Persistence",dockerPersistentStorage:"Persistent Storage",dockerPidsLimit:"PIDs limit",dockerPort:"Port",dockerResourceDefault:"Default",dockerResources:"Resources",dockerResourceSizing:"Resource Sizing",dockerRetainOnDelete:"Retain on delete",dockerStatusUnknown:"Unknown",dockerTlsCaCert:"TLS CA cert path",dockerTlsCert:"TLS cert path",dockerTlsKey:"TLS key path",dockerTlsVerify:"TLS verify",dockerUptime:"Uptime:",dockerVolumeMounts:"Volume Mounts",dockerVolumeName:"Volume name",editButton:"Edit",errorFetching:"Failed to fetch nodes",errorPersistMappings:"Failed to persist project mappings",errors:{connectFailed:"Failed to connect",connectToNode:"Failed to connect to node"},errorUnregisterAfterMappingFailure:"Failed to unregister node after mapping failure",failedCreateDocker:"Failed to create Docker node",failedRefresh:"Failed to refresh nodes",failedRemove:"Failed to remove node",fetchContainerLogsFailed:"Failed to fetch container logs",fetchContainerStatusFailed:"Failed to fetch container status",fetchingLogs:"Fetching logs...",fieldApiKey:"API Key",fieldCreated:"Created",fieldMaxConcurrent:"Max Concurrent",fieldName:"Name",fields:{authKey:"Auth Key",host:"Host / IP Address",maxConcurrent:"Max Concurrent",name:"Node Name",port:"Port",url:"URL"},fieldStatus:"Status",fieldType:"Type",fieldUpdated:"Updated",fieldUrl:"URL",heading:"Nodes",healthCheckButton:"Health Check",healthCheckComplete:"Node health check complete",healthCheckFailed:"Health check failed",healthCheckSuccess:"Health check completed for {{name}}",healthLastCheck:"Last check:",healthStatus:"Status:",local:"Local",localDocker:"Local Docker",localNodeName:"Local",maxConcurrent:"Max Concurrent",maxConcurrentHint:"Max simultaneous task agents (1–10)",meshTopology:"Mesh Topology",meshTopologyAriaLabel:"Mesh Topology",metrics:{concurrency:"Concurrency",projects:"Projects"},modal:{closeButton:"Close connect node modal",title:"Connect to Node"},modalAriaLabel:"Node details for {{name}}",modalTitle:"Node Details",multipleMatches:"Multiple remote projects matched this name. Enter the correct path manually.",name:"Name",namePlaceholder:"Build Machine",nameRequired:"Name is required",no:"No",nodeLabel:"{{name}} ({{type}}) — {{status}}",noLogsAvailable:"No logs available",noMatch:"No exact remote name match. Enter this path manually.",noProjects:"No projects are currently registered.",noProjectsAssigned:"No projects are assigned to this node.",noProjectsDiscovered:"No projects discovered on remote node.",noProjectsRunning:"No projects are running on this node.",noRegistered:"No nodes are registered yet.",offline:"Offline",online:"Online",pathDiscovered:"Remote-authoritative path discovered: {{path}}",pathInvalid:"Path is invalid",pathOnNode:"Path on this node",placeholders:{host:"192.0.2.10 or my-server.local",name:"Build Server",optional:"Optional"},provideManually:"Provide key manually",pulling:"Pulling...",pullSettings:"Pull Settings",pullSettingsFailed:"Pull settings failed",pullSettingsSuccess:"Settings pulled successfully",pushing:"Pushing...",pushSettings:"Push Settings",pushSettingsFailed:"Push settings failed",pushSettingsSuccess:"Settings pushed successfully",reachableUrl:"Reachable URL / Hostname",readOnly:"Read-only",refresh:"Refresh",refreshing:"Refreshing...",refreshStatus:"Refresh Status",registered:'Node "{{name}}" registered',registeredCount_one:"{{count}} registered",registeredCount_other:"{{count}} registered",registerFailed:"Failed to register node",remote:"Remote",removeButton:"Remove",removed:"Node removed",restartButton:"Restart",runtimeNodeLabel:"Runtime Node",saveButton:"Save",saveDockerConfig:"Save Docker Config",saving:"Saving...",sectionAssignedProjects:"Assigned Projects",sectionDockerManagement:"Docker Management",sectionHealth:"Health",sectionOverview:"Overview",sectionProjects:"Projects",sectionSettingsSync:"Settings Sync",sectionSyncHistory:"Sync History",startButton:"Start",statusConnecting:"Connecting",statusError:"Error",statusOffline:"Offline",statusOnline:"Online",statusTitle:"Status: {{status}}",stopButton:"Stop",success:{connected:'Connected to "{{name}}"'},syncAuth:"Sync Auth",syncAuthFailed:"Auth sync failed",syncAuthSuccess:"Auth credentials synced successfully",syncDifferences:"Differences:",synced:"Synced",syncing:"Syncing...",syncLastSync:"Last sync:",syncNeverSynced:"Never synced",total:"Total",type:{local:"Local",remote:"Remote"},typeLocal:"Local",typeRemote:"Remote",updateFailed:"Failed to update node",updateSuccess:"Updated {{name}}",urlRequired:"URL is required for remote nodes",validation:{concurrencyRange:"Concurrency must be between {{min}} and {{max}}",hostRequired:"Host / IP address is required",nameRequired:"Node name is required",portRange:"Port must be between 1 and 65535"},viewLogsButton:"View Logs",yes:"Yes"},ve={local:"Local"},fe={error:{authSyncFailed:"Auth sync failed",failedToFetchStatus:"Failed to fetch sync status",pullFailed:"Pull settings failed",pushFailed:"Push settings failed",someRequestsFailed:"Some sync status requests failed"}},be={authToken:"Auth token (optional)",continue:"Continue",continueOnboarding:"Continue onboarding",continueSetup:"Continue Setup",defaultName:"Remote Server",description:"Fusion helps you plan, run, and review AI-assisted engineering work.",localFusion:"Local Fusion",onTheStep:"You're on the ",profileName:"Profile name",progressText:"{{completed}} of {{total}} step{{pluralS}} complete — You're on the ",remoteServer:"Remote Server",resumeOnboarding:"Resume onboarding",saving:"Saving…",scanning:"Scanning…",scanQr:"Scan QR",serverUrl:"Server URL",serverUrlPlaceholder:"https://your-fusion-host",stepContinue:"step. Continue where you left off to complete your dashboard setup.",welcome:"Welcome to Fusion"},ke={agentId:"Agent ID",agentIdHint:"OpenClaw agent definition to run (default: main).",agentIdPlaceholder:"main",binaryPath:"Binary path",binaryPathHint:"Leave blank to resolve openclaw from your PATH.",binaryPathPlaceholder:"openclaw (defaults to PATH)",cliTimeout:"OpenClaw timeout (sec)",cliTimeoutHint:"OpenClaw-side run timeout in seconds (0 = no timeout).",description:"Drives the local <code1>openclaw</code1> CLI as a subprocess. Each Fusion prompt is dispatched via <code2>openclaw agent --local --json</code2>; the agent definition, model, and thinking level are resolved by OpenClaw. This card only sets overrides and the binary path.",detected:"✓ openclaw detected{{version}}{{path}}.",gateway:"Route through OpenClaw gateway (otherwise embedded)",gatewayHint:"When enabled, calls pass through the OpenClaw gateway service.",githubLink:"openclaw on GitHub",model:"Model override",modelHint:"Optional — overrides the OpenClaw default model.",modelPlaceholder:"e.g. anthropic/claude-haiku-4-5, minimax/MiniMax-M3",notDetectedInstall:"<code>openclaw</code> not detected. Install the upstream agent:",notFound:"✗ openclaw not found",probing:"Probing local openclaw binary…",saved:"Settings saved.",savedDetected:"Saved · ✓ openclaw detected{{version}}{{path}}.",savedNotFound:"Saved · ✗ openclaw not found",savedProbeFailed:"Saved, but probe failed.",statusDetected:"✓ Detected{{version}}{{path}}",statusNotFound:"✗ not detected on PATH",subprocess:"CLI subprocess timeout (ms)",subprocessHint:"Fusion-side hard cap before the CLI subprocess is killed (default: {{default}}s).",testFailed:"Test failed — see status above.",thinking:"Thinking level",thinkingHint:"Controls how much extended thinking the model uses."},ye={agentHelp:"Pick the Paperclip agent this Fusion runtime will proxy.",agentLabel:"Agent",apiKeyHelp:"Agent API key. Local-trusted deployments may leave this blank.",apiKeyLabel:"API key",apiKeyMinted:"API key minted via paperclipai (key 'fusion-runtime' installed for agent {{agentId}}). Click Save to persist.",apiKeyPlaceholder:"•••••••• (leave blank to keep existing)",apiUrlHelp:"Base URL of the Paperclip server.",apiUrlLabel:"API URL",cliApiKeyHelp:"Local-trusted deployments do not require a key.",cliApiKeyLabel:"API key (override, optional)",cliApiKeyPlaceholder:"Optional — only required for non-local-trusted modes",cliBinaryHelp:"Optional — informational; the adapter currently reads the instance config file directly.",cliBinaryLabel:"paperclipai binary",cliConfigLabel:"CLI config:",cliConfigPathHelp:"Override the path to config.json. Leave blank for the default.",cliConfigPathLabel:"Instance config path",cliDiscoveryFailed:"CLI discovery failed: {{reason}}",cliDiscoveryFailedLabel:"CLI discovery failed: {{reason}}",companyHelp:"Select a Paperclip company.",companyIdRequired:"Company ID is required to mint a Paperclip API key.",companyLabel:"Company",connected:"Connected.",connectedAsAgent:"Connected as {{agentName}}{{companyInfo}}.",connectionModeAriaLabel:"Paperclip connection mode",connectToPopulate:"Connect to populate",description:"Drive a Paperclip agent (employee) in a Paperclip company. Each prompt dispatches a task-shaped request; governance, budgets, and approvals are enforced by Paperclip. Expect seconds-to-minutes latency per turn.",docsLink:"Paperclip docs",githubLink:"GitHub",goalIdHelp:"Associate work with a Paperclip goal.",goalIdLabel:"Goal ID (optional)",mintButton:"Mint API key via paperclipai",mintFailed:"Mint failed: {{reason}}. Run `paperclipai onboard` first if your CLI isn't authenticated.",modeLabel:"Conversation mode",name:"Paperclip",noAgentsDiscovered:"No agents discovered",noCompaniesDiscovered:"No companies discovered",onboardingStep1:"Make sure a Paperclip server is running. To install Paperclip:",optionalPlaceholder:"Optional",parentIssueIdHelp:"Scope work under an existing parent issue.",parentIssueIdLabel:"Parent issue ID (optional)",pickCompanyFirst:"Pick a company first",projectIdHelp:"Pin work to a specific Paperclip project.",projectIdLabel:"Project ID (optional)",resolved:"resolved",runTimeoutHelp:"Local cap before Fusion gives up on a Paperclip run.",runTimeoutLabel:"Run timeout (ms)",savedCliDiscoveryFailed:"Saved · CLI discovery failed: {{reason}}",savedConnected:"Saved · Connected.",savedConnectedAsAgent:"Saved · Connected as {{agentName}}{{companyInfo}}.",savedProbeFailed:"Saved, but probe failed.",savedUnreachable:"Saved · {{reason}}",settingsSaved:"Settings saved.",statusCliDiscoveryFailed:"CLI discovery failed: {{reason}}",statusConnected:"Connected",statusConnectedAs:"Connected as {{agentName}}{{roleInfo}}{{companyInfo}}",statusProbing:"Probing Paperclip server…",statusUnreachable:"{{reason}}",tabApi:"API (URL + token)",tabCliAutoDerve:"Local CLI (auto-derive)",testFailed:"Test failed — see status above.",unreachable:"{{reason}}"},we={addButton:"Add",discoveredDescription:"Installed extensions resolved from packages and configured paths.",discoveredTitle:"Discovered Extensions",enterSource:"Please enter a package source",extensionDisabled:"Extension disabled",extensionEnabled:"Extension enabled",filterExtensions:"Extensions:",filterPrompts:"Prompts:",filterSkills:"Skills:",filterThemes:"Themes:",installFailed:"Failed to install package: {{error}}",installing:"Installing…",installSuccess:"Package installed successfully",loadExtensionsFailed:"Failed to load extensions: {{error}}",loading:"Loading Pi settings…",loadingExtensions:"Loading extensions…",loadingFailed:"Failed to load Pi settings.",loadSettingsFailed:"Failed to load Pi settings: {{error}}",noExtensions:"No extensions discovered.",noPackages:"No packages configured.",noPackagesHelp:"Add a package source above to get started.",packagePlaceholder:"npm:pi-extension-name or git:https://github.com/...",packageRemoved:"Package removed",refreshButton:"Refresh",refreshExtensions:"Refresh extensions",reinstallButton:"Reinstall Fusion skill",reinstallFailed:"Failed to reinstall Fusion skill: {{error}}",reinstalling:"Reinstalling Fusion…",reinstallSuccess:"Fusion skill reinstalled successfully",removeFailed:"Failed to remove package: {{error}}",removePackage:"Remove package",removePackageLabel:"Remove package {{label}}",removeResource:"Remove {{path}}",resourceRemoved:"{{resource}} removed",sectionExtensions:"Extensions",sectionPrompts:"Prompts",sectionSkills:"Skills",sectionThemes:"Themes",title:"Pi Extensions",toggleExtension:"Toggle {{name}}",updateFailed:"Failed to update extension: {{error}}",updateSettingsFailed:"Failed to update settings: {{error}}"},Se={additionalComments:"Additional comments (optional)",additionalCommentsPlaceholder:"Add any extra context or direction...",addSubtask:"Add subtask",advancedSettings:"Advanced planning settings",aiThinking:"AI is thinking...",archiveSession:"Archive session",backToSessions:"Back to sessions",backToSummary:"Back to Summary",baseBranch:"Merge target / base branch (optional)",baseBranchPlaceholder:"main",branchAutoNew:"Create auto-named branch per task",branchCustomNew:"Create custom new branch",branchExisting:"Use existing branch",branchName:"Branch name",branchNameRequired:"Branch name is required for this branch strategy.",branchProjectDefault:"Use project/default branch",branchStrategy:"Branch strategy",breakdownSubheading:"Review and edit the subtasks generated from your plan. Adjust titles, descriptions, sizes, priorities, and dependencies before creating.",breakingDown:"Breaking down...",breakIntoTasks:"Break into Tasks",breakIntoTasksTitle:"Break the plan into multiple tasks with dependencies",collapse:"Collapse",continue:"Continue",createSingleTask:"Create Single Task",createTasks:"Create Tasks",creating:"Creating...",delete:"Delete",deleteSession:"Delete session",dependencies:"Dependencies",dependencyCycle:"Dependencies contain a cycle. Remove circular references before creating tasks.",depthBlurb:"Plan size sets default interview depth. Questions lets you override with an exact count.",depthLarge:"Large",depthMedium:"Medium",depthSmall:"Small",description:"Description",dismiss:"Dismiss",dragToReorder:"Drag to reorder",examplePlan1:"Build a user authentication system with login and signup",examplePlan2:"Add dark mode support to the dashboard",examplePlan3:"Create an API endpoint for exporting tasks as CSV",examplePlan4:"Refactor the task card component for better performance",expand:"Expand",failedCreateTask:"Failed to create task",failedCreateTasks:"Failed to create tasks",failedDeleteSession:"Failed to delete session",failedGoBack:"Failed to go back to the previous question",failedLoadModels:"Failed to load models",failedLoadSession:"Failed to load session",failedRefinePlan:"Failed to refine plan",failedStartBreakdown:"Failed to start breakdown",failedStartSession:"Failed to start planning session",failedSubmitResponse:"Failed to submit response",firstSubtaskNoDeps:"First subtask cannot have dependencies.",generatingQuestion:"Generating next question...",generationStopped:"Generation stopped by user. You can retry or start a new session.",hideArchived:"Hide archived",hideThinking:"Hide thinking",initialHeading:"Transform your idea into a detailed task",initialSubheading:"Describe what you want to build in plain language. The AI will ask clarifying questions and help you structure a well-defined task.",keyDeliverables:"Key Deliverables",loadingModels:"Loading models…",markdown:"Markdown",moveDown:"Move down",moveSubtaskDown:"Move subtask down",moveSubtaskUp:"Move subtask up",moveUp:"Move up",newPlanningSession:"New planning session",newSession:"New session",noActiveQuestion:"No active question in session",noPreviousSubtasks:"No previous subtasks available.",noSavedSessions:"No saved sessions yet. Start one on the right to see it here.",plain:"Plain",planningComplete:"Planning Complete!",planningCompleteSubheading:"Review and refine your task before creating it.",planningDepth:"Planning depth",planningModel:"Planning Model",planningModelBlurb:"Selects which model runs the planning interview and writes the final draft.",planningSessions:"Planning sessions",priority:"Priority",questionProgress:"Question {{progress}} of ~3",questionsAuto:"Auto",questionsLabel:"Questions",reconnecting:"Reconnecting…",refineFurther:"Refine Further",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",relativeTimeWeeks_one:"{{count}}w ago",relativeTimeWeeks_other:"{{count}}w ago",remove:"Remove",retryFailed:"Retry failed. Please try again.",retrying:"Retrying...",sessionActiveOtherTab:"This session is active in another tab",sessionActiveOtherTabLive:"This session is active in another tab (live heartbeat)",sessionFailed:"Session failed while contacting the AI.",sessionFailed2:"Session failed",showArchived:"Show archived",showFormattedMarkdown:"Show formatted markdown",showQA:"Show user Q&A",showRawText:"Show raw text",showThinking:"Show thinking",sizeLarge:"L (Large)",sizeMedium:"M (Medium)",sizeSmall:"S (Small)",startPlanning:"Start Planning",statusComplete:"Complete",statusError:"Error",statusGenerating:"Generating",statusNeedsInput:"Needs input",stop:"Stop",subtaskDescription:"Description",subtaskPriority:"Priority",subtaskSize:"Size",subtaskTitle:"Title",suggestedDependencies:"Suggested Dependencies",suggestedSize:"Suggested Size",takeControl:"Take Control",takingControl:"Taking control...",thinkingElapsed:"Thinking… ({{seconds}}s)",title:"Planning Mode",tryAnExample:"Try an example:",typeAnswerPlaceholder:"Type your answer here...",unarchiveSession:"Unarchive session",untitled:"Untitled",untitledSession:"Untitled session",usingDefault:"Using default",whatToBuild:"What do you want to build?",whatToBuildPlaceholder:"e.g., Build a user authentication system with login, signup, and password reset..."},Ce={addItem:"Add Item",aiScanDisabled:"AI scan on load disabled",aiScanEnabled:"AI scan on load enabled",aiScanHint:"Turning this on only updates configuration. Use Rescan and Reload to run it now.",author:"Author:",backToList:"Back to plugin list",builtinInstalledGlobally:"{{name}} installed globally",builtinInstallFailed:"Failed to install {{name}}: {{error}}",builtinMetadataOnly:"Built-in metadata only",builtinNoPackage:"{{name}} is built in and does not have an installable package yet",builtinPluginRecommendations:"Built-in plugin recommendations",builtinPlugins:"Built-in Plugins",builtinPluginsCatalog:"Built-in plugin catalog for runtimes and integrations.",cancel:"Cancel",checkingSetup:"Checking setup...",componentUnavailable:"Plugin component unavailable",couldNotResolve:"The dashboard could not resolve this plugin surface from the static host registry.",disabledForProject:"{{name}} disabled for this project",disableInProject:"Disable in Project",disablePlugin:"Disable {{name}}",disablePluginFailed:"Failed to disable plugin: {{error}}",droidOnboardingTip:"Tip: Enable Droid CLI to reuse your Factory AI subscription without adding an API key.",droidRecommendDesc:"Use your local Droid CLI session as an AI provider in Fusion.",droidRecommendTitle:"Enable Droid CLI",enableAiScanBeforeLoad:"Enable AI scan before load/reload",enableAiSecurityScan:"Enable AI security scan on load",enabledForProject:"{{name}} enabled for this project",enableFailed:"Failed to enable {{name}}: {{error}}",enableInProject:"Enable in Project",enablePlugin:"Enable {{name}}",enablePluginFailed:"Failed to enable plugin: {{error}}",experimental:"Experimental",findings_one:"Findings ({{count}})",findings_other:"Findings ({{count}})",homepage:"Homepage:",install:"Install",installedGlobally:"Plugin installed globally",installedPlugins:"Installed Plugins",installFailed:"Failed to install plugin: {{error}}",installHint:"Browse to a plugin package root (contains manifest.json) or a built dist directory.",installing:"Installing...",installNamed:"Install {{name}}",installPathPlaceholder:"Absolute path to plugin directory or dist folder",installPathRequired:"Please enter a plugin path",installPluginGlobally:"Install Plugin Globally",installSetup:"Install Setup",loadFailed:"Failed to load plugins: {{error}}",loading:"Loading...",loadingPlugins:"Loading plugins...",manage:"Manage",noConfigurableSettings:"No configurable settings.",noPluginsHint:"Install a plugin to get started, or use the built-in catalog below.",noPluginsInstalled:"No plugins installed.",noSecurityScan:"No security scan has been run yet.",openAuthentication:"Open Authentication",openOnboarding:"Open Onboarding",refresh:"Refresh",refreshPluginList:"Refresh plugin list",reload:"Reload",reloaded:"{{name}} reloaded",reloadFailed:"Failed to reload plugin: {{error}}",reloading:"Reloading...",removeItem:"Remove item",rescanAndReload:"Rescan and Reload",rescanFailed:"Failed to rescan plugin: {{error}}",rescanned:"{{name}} rescanned",saveSettings:"Save Settings",saveSettingsFailed:"Failed to save settings: {{error}}",securityScan:"Security Scan",selectOption:"Select...",settings:"Settings",settingsSaved:"Settings saved",settingUp:"Setting up...",setupInstalled:"{{name}} setup installed",setupInstallFailed:"Failed to install {{name}} setup: {{error}}",setupReady:"Setup ready",setupRequired:"Setup required",startPluginToCheckSetup:"Start plugin to check setup",statusBuiltIn:"Built in",statusInstalled:"Installed",statusNotInstalled:"Not installed",uninstallConfirm:'Are you sure you want to uninstall "{{name}}" globally (all projects)?',uninstalledGlobally:"{{name}} uninstalled globally",uninstallFailed:"Failed to uninstall plugin: {{error}}",uninstallGlobally:"Uninstall Globally",uninstallGloballyTitle:"Uninstall globally",uninstallTitle:"Uninstall Plugin Globally",unknownError:"unknown error",updateFailed:"Failed to update plugin: {{error}}",version:"Version:"},Ae={authFail:"Run gh auth login and try again.",authOk:"GitHub CLI auth is available.",baseBranch:"Base branch",bodyLabel:"Body",branchRemoteFail:"Push branch to remote before creating a PR.",branchRemoteOk:"Remote branch is available.",changedFilesLabel:"Changed files",checkAuth:"GitHub auth available",checkBranch:"Branch pushed to remote",checkCommits:"Commits available",checkConflicts:"No conflicts with base",commitsFail:"No commits found for this branch.",commitsLabel:"Commits",commitsOk:"Commits are ready to submit.",conflictsDetected:"Conflicts detected. Resolve conflicts or re-run preflight.",createAsDraft:"Create as draft",createDraftPr:"Create draft PR",createPr:"Create PR",createTitle:"Create Pull Request",dismissError:"Dismiss PR error",noConflicts:"No merge conflicts detected.",preflightChecks:"Pre-flight checks",previewTitle:"Diff & commit preview",regenerate:"Regenerate",rerunPreflight:"Re-run preflight",revertToAi:"Revert to AI version",titleLabel:"Title",usingTemplate:"Using <code>.github/pull_request_template.md</code>"},Te={blockedDescription:"You can view the preview in a separate browser tab.",blockedTitle:"Preview cannot be embedded",errorTitle:"Unable to load preview",loading:"Loading preview...",openInNewTab:"Open in new tab"},Pe={activeTasks:"Active Tasks",agents:"Agents",cannotPauseWhileInitializing:"Cannot pause while initializing",completed:"Completed",confirm:"Confirm",confirmRemove:"Confirm remove",confirmRemoveProject:"Confirm remove project",daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",justNow:"Just now",lastActivity:"Last activity:",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago",moreItems_one:"+{{count}} more",moreItems_other:"+{{count}} more",never:"Never",nodeAvailability:"Project node availability",noHealthData:"No health data available",open:"Open",openProject:"Open project",pause:"Pause",pauseProject:"Pause project",removeProject:"Remove project",resume:"Resume",resumeProject:"Resume project"},Re={editName:"Edit name",empty:"No projects detected",emptyHint:"Try a different base path or add a project manually",noDbWarning:"No fn database found - will be initialized",registerAll:"Register All",registering:"Registering...",registerSelected_one:"Register Selected ({{count}})",registerSelected_other:"Register Selected ({{count}})",selectAll_one:"Select All ({{count}})",selectAll_other:"Select All ({{count}})",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected"},Fe={actions:{favoritesError:"Failed to update favorites",modelFavoritesError:"Failed to update model favorites",pauseError:"Failed to pause project {{name}}",pauseSuccess:"Project {{name}} paused",removeError:"Failed to remove project {{name}}",removeSuccess:"Project {{name}} removed",resumeError:"Failed to resume project {{name}}",resumeSuccess:"Project {{name}} resumed"},activeTasksLabel:"Active Tasks",addFirstProject:"Add Your First Project",addProject:"Add Project",allNodes:"All Nodes",completedLabel:"Completed",emptyStateDescription:"Get started by adding your first project. Projects allow you to organize and track tasks across multiple repositories.",erroredLabel:"Errored",filterActive:"Active",filterAll:"All",filterByNode:"Filter by node",filterErrored:"Errored",filterPaused:"Paused",nodesLabel:"Nodes",noMatch:"No projects match the current filter",noProjectsFound:"No Projects Found",setup:{success:"Project {{name}} registered successfully"},showAll:"Show All Projects",sortActivityNewest:"Last Activity (Newest)",sortActivityOldest:"Last Activity (Oldest)",sortNameAsc:"Name (A-Z)",sortNameDesc:"Name (Z-A)",sortProjects:"Sort projects",sortStatusAsc:"Status (Error → Active)",sortStatusDesc:"Status (Active → Error)",title:"Projects",totalLabel:"Total"},Le={allProjects:"All Projects",ariaLabel:"Select project",clearSearch:"Clear search",noResults:"No projects match your search",recent:"Recent",searchPlaceholder:"Search projects...",selectProject:"Select Project",viewAll:"View All Projects"},De={actions:{addModel:"+ Add model",detecting:"Detecting…",detectModels:"Detect Models",detectModelsTitle:"Call the provider's /models endpoint to discover available models",removeModel_one:"Remove model",removeModel_other:"Remove model",save:"Save Provider",saving:"Saving..."},addCustom:"Add Custom Provider",apiKeyKeepPlaceholder:"Leave blank to keep current key",apiKeyLabel:"API key",apiTypeAnthropic:"Anthropic-compatible",apiTypeGoogle:"Google Generative AI",apiTypeInvalid:"API type is invalid.",apiTypeLabel:"API type",apiTypeOpenAi:"OpenAI-compatible",apiTypeOpenAiResp:"OpenAI Responses",baseUrlLabel:"Base URL",deleteConfirm:'Delete custom provider "{{name}}"?',deleteLabel:"Delete {{name}}",detectError:{allDuplicate:"All discovered models are already in the list.",failed:"Failed to detect models",noModels:"No models found. The provider may require an API key.",urlRequired:"Base URL is required to detect models."},detecting:"Detecting…",detectModels:"Detect Models",detectTitle:"Auto-detect models from the provider's /models endpoint",editLabel:"Edit {{name}}",failedDelete:"Failed to delete provider.",failedDetect:"Failed to detect models",failedLoad:"Failed to load custom providers.",failedSave:"Failed to save provider.",fields:{apiKey:"API Key",apiType:"API Type",baseUrl:"Base URL",contextWindow:"Context window",id:"Provider ID",maxTokens:"Max tokens",modelId:"Model ID",modelName:"Display name",modelNameLabel:"Model name",models:"Models",name:"Display Name",reasoning:"Reasoning"},llamaCpp:{disable:"Disable",disabling:"Disabling…",enable:"Enable",enabling:"Enabling…",probing:"Probing llama.cpp server…",reachable:"Server reachable at {{url}}",test:"Test",testing:"Testing…",title:"llama.cpp — via HTTP server",unavailable:"Server unavailable: {{reason}}"},loading:"Loading custom providers…",modelsLabel:"Available models",nameLabel:"Provider name",nameRequired:"Provider name is required.",noModelsFound:"No models found. The provider may require an API key.",noneConfigured:"No custom providers configured.",placeholders:{apiKey:"sk-..., MY_API_KEY, or !command"},saveChanges:"Save Changes",saveProvider:"Save Provider",saving:"Saving…",urlInvalid:"Base URL must be a valid http/https URL.",urlRequired:"Base URL is required.",urlRequiredForDetect:"Base URL is required to detect models.",validation:{apiTypeRequired:"API type is required.",idConflict:"Provider ID conflicts with a built-in provider.",idKebabCase:"Provider ID must be kebab-case.",idRequired:"Provider ID is required.",modelId:"Each model must have a model ID.",modelRequired:"At least one model is required.",urlProtocol:"Base URL must use http or https.",urlRequired:"Base URL is required.",urlValid:"Base URL must be a valid URL."}},Me={errorAttachmentsBeforeSession:"Cannot send attachments before chat session is ready",errorAttachmentsWhileStreaming:"Cannot send attachments while a response is streaming",errorGettingResponse:"Failed to get response",errorInitializingChat:"Failed to initialize chat",errorRefreshingSessions:"Failed to refresh chat sessions",errorStartingNewChat:"Failed to start a new chat"},Ie={bouncedEntered:"{{bounced}} bounced / {{entered}} entered (last {{days}}d)",countingSince:"Counting since {{date}}",details:"Details",duration:{heading:"Duration",moreStats:"More stats",p50:"P50",p50Raw:"P50 raw: {{value}} ms",p95:"P95",p95Raw:"P95 raw: {{value}} ms",reason:"Reason: {{reason}}",sampleCount_one:"Sample count: {{count}}",sampleCount_other:"Sample count: {{count}}",samples_one:"Samples: {{count}}",samples_other:"Samples: {{count}}"},failureRate:"Failure rate: {{rate}}",heading:"Reliability",hideEmptyDays:"Hide empty days",inReviewFlow:"In-review flow",insufficientData:"Insufficient data — {{reason}}",mergeAttempts:{heading:"Merge attempts",histogramTotal_one:"Histogram total: {{count}}",histogramTotal_other:"Histogram total: {{count}}",max:"Max",mean:"Mean",moreStats:"More stats",reason:"Reason: {{reason}}",tasksCounted_one:"Tasks counted: {{count}}",tasksCounted_other:"Tasks counted: {{count}}"},reason:"Reason: {{reason}}",resetBaseline:"Reset baseline: {{date}}",resetModal:{confirm:"Confirm reset",description:"This sets a new baseline for reliability statistics. Historical events older than the reset time are excluded from counts but are not deleted.",failedError:"Failed to reset reliability stats",title:"Reset reliability stats?"},resetStats:"Reset stats",showEmptyDays:"Show empty days",successRateLabel:"In-review success rate (last 7d)",table:{bounced:"Bounced",date:"Date",entered:"Entered"},window:"Window: {{start}} → {{end}}"},Ne={actionFailed:"Action failed",addCredentialsHint:"Add provider credentials in Authentication settings.",alwaysOn:"Always on",attachExport:"Attach markdown export artifact",createRun:"Create Run",createRunFailed:"Failed to create run",createTask:"Create Task",createTaskButton:"Create Task",createTaskTitle:"Create task from finding",defaultFindingHeading:"Research finding",descriptionLabel:"Description",disabled:"Research is disabled for this project.",enableResearchHint:"Enable project research settings to create runs.",enrichTask:"Enrich Task",enrichTaskButton:"Enrich Task",enrichTaskTitle:"Enrich existing task",enterTaskId:"Enter task ID",exportedFile:"Exported {{filename}}",exportFailed:"Export failed",exportHtml:"Export HTML",exportJson:"Export JSON",exportMd:"Export MD",findingLabel:"Finding:",loadingRuns:"Loading research runs…",loadingTasks:"Loading tasks…",missingApiKey:"Missing API key for {{provider}}.",noPreview:"No preview available.",noRunSelected:"No run selected",noRunsYet:"No research runs yet",noSourcesAvailable:"No enabled research sources are available for this project.",noSummaryYet:"No summary yet.",openAuthSettings:"Open Authentication Settings",openResearchSettings:"Open Research Settings",priorityHigh:"High",priorityLabel:"Priority",priorityLow:"Low",priorityNormal:"Normal",priorityUrgent:"Urgent",providersLabel:"Providers",queryLabel:"Query",runCancelled:"Run cancelled",runCreated:"Research run created",runHistory:"Run history",runLabel:"Run:",runRetried:"Run retried",searchRunsPlaceholder:"Search runs",selectRunToViewDetails:"Select a run to view details.",statCompleted:"Completed",statFailed:"Failed",statRunning:"Running",subtitle:"Cited search and synthesis runs: gather sources, fetch content, and synthesize findings.",targetTaskLabel:"Target task",taskCreatedFromResearch:"Task created from research",taskEnrichedFromResearch:"Task enriched from research",title:"Research",titleLabel:"Title",unavailable:"Research is unavailable for this project.",viewLabel:"Research view"},xe={andMore_one:"…and {{count}} more",andMore_other:"…and {{count}} more",delete:"Delete",deleteMessage:"Delete routine {{name}}? This cannot be undone.",deleteName:"Delete {{name}}",deleteTitle:"Delete Routine",disable:"Disable",disableName:"Disable {{name}}",edit:"Edit",editName:"Edit {{name}}",enable:"Enable",enableName:"Enable {{name}}",resultFailed:"Failed",resultSuccess:"Success",runHistory_one:"Run History ({{count}})",runHistory_other:"Run History ({{count}})",runNameNow:"Run {{name}} now",running:"Running…",runNow:"Run now",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps"},He={cannotChangeWhileActive:"Node override cannot be changed while the task is active.",clearOverride:"Clear override",effectiveNode:"Effective node",errorLoadingNodes:"Failed to load nodes",errorUpdatingOverride:"Failed to update node override",intro:"View the effective execution node and control per-task node override.",localNoConfiguration:"Local (no routing configured)",lockedWhileActive:"Routing is locked while this task is active. Node override cannot be changed until the task is no longer active.",nodeUnavailable:"node unavailable or unknown",overrideCleared:"Node override cleared",overrideSection:"Node Override",overrideSetTo:"Override set to",overrideUpdated:"Node override updated",selectLabel:"Select execution node",source:{noRouting:"No routing",override:"Per-task override",projectDefault:"Project default"},summarySection:"Routing Summary",title:"Task Routing",unavailablePolicy:"Unavailable-node policy",unhealthy:"Unhealthy",useProjectDefault:"Use project default"},Ee=JSON.parse(`{"actionAiPrompt":"AI Prompt","actionCommand":"Command","actionCreateTask":"Create Task","actionModeAdvanced":"Multi-Step","actionModeAdvancedHint":"Run multiple actions sequentially","actionModeAriaLabel":"Action mode","actionModeLabel":"Action Mode","actionModeSimple":"Simple","actionModeSimpleHint":"Run one command, prompt, or task creation action","actionTypeAiPrompt":"AI Prompt","actionTypeAriaLabel":"Action type","actionTypeCommand":"Command","actionTypeCreateTask":"Create Task","actionTypeLabel":"Action Type","addAiPromptStep":"Add AI Prompt Step","addCommandStep":"Add Command Step","addCreateTaskStep":"Add Create Task Step","advancedMode":"Multi-Step","advancedModeHelp":"Run multiple steps sequentially (commands and AI prompts)","aiPromptType":"AI Prompt","andMore_one":"…and {{count}} more","andMore_other":"…and {{count}} more","apiEndpointHint":"API endpoint path that triggers this routine","apiEndpointLabel":"API Endpoint","apiEndpointPlaceholder":"/api/routine/my-routine","automationCount_one":"{{count}} automation{{plural}}","automationCount_other":"{{count}} automation{{plural}}","cancelButton":"Cancel","catchUpPolicyHint":"What to do when a scheduled run is missed","catchUpPolicyLabel":"Catch-up Policy","catchUpPolicyRunAll":"Run all missed runs","catchUpPolicyRunOne":"Run the most recent missed run","catchUpPolicySkip":"Skip missed runs","columnTodo":"To Do","columnTriage":"Triage","command":"Command","commandHelp":"Shell command to execute. Runs with your user permissions.","commandHint":"Shell command to execute.","commandLabel":"Command","commandPlaceholder":"e.g. npx runfusion.ai backup --create","commandRequired":"Command is required","commandType":"Command","continueOnFailure":"Continue on failure","continueOnFailureHelp":"If checked, the next step will run even if this one fails","continuesOnFailure":"Continues on failure","createButton":"Create Schedule","createError":"Failed to create routine","createFirst":"Create your first automation","createNew":"Create new automation","createRoutine":"Create Routine","createTaskType":"Create Task","cronAutoFilled":"Auto-filled from preset: {{cron}}","cronAutoFilledHint":"Auto-filled from preset: {{expression}}","cronCustomHint":"min hour day month weekday","cronExpressionLabel":"Cron Expression","cronHelp":"min hour day month weekday — ","cronInvalid":"Invalid cron format — expected 5 fields (e.g. '0 */6 * * *')","cronLabel":"Cron Expression","cronPresetCustom":"Custom cron expression","cronPresetDaily":"Every day (midnight)","cronPresetHourly":"Every hour","cronPresetMonthly":"Every month (1st)","cronPresetWeekly":"Every week (Monday)","cronRequired":"Cron expression is required for custom schedules","delete":"Delete","deleteError":"Failed to delete routine","deleteMessage":"Delete schedule {{name}}? This cannot be undone.","deleteName":"Delete {{name}}","deleteStep":"Delete {{name}}","deleteTitle":"Delete Schedule","descriptionLabel":"Description (optional)","descriptionPlaceholder":"What does this routine do?","disable":"Disable","disableName":"Disable {{name}}","edit":"Edit","editName":"Edit {{name}}","editRoutineHeading":"Edit Routine","editStep":"Edit {{name}}","editTitle":"Edit Schedule","emptyStateDescription":"Create an automation with a schedule, webhook, API, or manual trigger.","enable":"Enable","enabledHelp":"When disabled, the schedule will not run automatically","enabledHint":"When disabled, the routine will not run automatically","enabledLabel":"Enabled","enableName":"Enable {{name}}","errorApiEndpointRequired":"API endpoint is required","errorCommandRequired":"Command is required","errorCronInvalid":"Invalid cron format — expected 5 fields (e.g. '0 */6 * * *')","errorCronRequired":"Cron expression is required","errorLoadModels":"Failed to load models","errorModelIncomplete":"Both model provider and model ID must be set, or both must be empty","errorNameRequired":"Name is required","errorPromptRequired":"Prompt is required","errorScopeNoProject":"Project-specific entries require an active project.","errorStepCommandRequired":"Step {{n}}: Command is required","errorStepNameRequired":"Step {{n}}: Name is required","errorStepPromptRequired":"Step {{n}}: Prompt is required","errorStepsEditing":"Please save or cancel all step edits before saving the routine","errorStepsRequired":"At least one step is required","errorStepTaskDescRequired":"Step {{n}}: Task description is required","errorTaskDescriptionRequired":"Task description is required","errorTimeoutMin":"Timeout must be at least 1 second (1000ms)","errorWebhookPathRequired":"Webhook path is required","executionPolicyHint":"How to handle concurrent executions of this routine","executionPolicyLabel":"Execution Policy","executionPolicyParallel":"Allow concurrent runs","executionPolicyQueue":"Queue after current (one at a time)","executionPolicyReject":"Reject new runs while running","executorModelDropdownLabel":"Executor Model","executorModelHelp":"AI model used to execute the created task. Uses default if not selected.","executorModelLabel":"Executor Model (optional)","executorModelOptional":"Executor Model (optional)","executorModelPlaceholder":"Use default","frequencyLabel":"Frequency","global":"Global","globalScope":"Global","globalScoped":"This schedule will be created at global scope.","globalScopeTitle":"Global scope","loadRoutinesError":"Failed to load routines","manualTriggerInfo":"This routine will be triggered manually via the dashboard or API.","modeAriaLabel":"Execution mode","model":"Model","modeLabel":"Execution Mode","modelConsistency":"Both model provider and model ID must be set, or both must be empty","modelDropdownLabel":"Model","modelHelp":"AI model for this prompt. Uses default if not selected.","modelLabel":"Model (optional)","modelOptional":"Model (optional)","modelPlaceholder":"Use default","modelProviderRequired":"Both model provider and model ID must be set together","moveDown":"Move down","moveStepDown":"Move {{name}} down","moveStepUp":"Move {{name}} up","moveUp":"Move up","nameLabel":"Name","namePlaceholder":"e.g. Daily standup reminder","nameRequired":"Name is required","newAutomation":"New Automation","newRoutineHeading":"New Routine","newTitle":"New Schedule","noActiveProject":"No active project. Schedules will be created at global scope.","noAutomations":"No automations yet","noStepsEmpty":"No steps added yet. Add a command or AI prompt step to get started.","project":"Project","projectRequired":"Project-specific entries require an active project.","projectScope":"Project","projectScoped":"This schedule will be scoped to the current project.","projectScopeDisabled":"Select a project to enable project scope","projectScopeTitle":"Project scope","prompt":"Prompt","promptHelp":"AI prompt to execute. Provide clear instructions for the task.","promptHint":"AI prompt to execute.","promptLabel":"Prompt","promptPlaceholder":"e.g. Summarize recent activity and create action items","promptRequired":"Prompt is required","resultFailed":"Failed","resultSuccess":"Success","routineCreated":"Routine created","routineDeleted":"Deleted \\"{{name}}\\"","routineDisabled":"\\"{{name}}\\" disabled","routineEnabled":"\\"{{name}}\\" enabled","routineFailed":"\\"{{name}}\\" failed: {{error}}","routineSuccess":"\\"{{name}}\\" completed successfully","routineUpdated":"Routine updated","runError":"Failed to run routine","runHistory_one":"Run History ({{count}})","runHistory_other":"Run History ({{count}})","runNameNow":"Run {{name}} now","running":"Running…","runNow":"Run now","saveChanges":"Save Changes","saveStep":"Save Step","saving":"Saving…","scheduleLabel":"Schedule","scopeAriaLabel":"Routine scope","scopeGroup":"Scheduling scope","scopeHintGlobal":"This routine will be created at global scope.","scopeHintNoProject":"No active project. Routines will be created at global scope.","scopeHintProject":"This routine will be scoped to the current project.","scopeLabel":"Scope","scopeLocked":"Scope is locked to {{scope}} for existing schedules","scopeLockedTitle":"Scope is locked to {{scope}} for existing routines","selectProjectTitle":"Select a project to enable project scope","simpleMode":"Simple","simpleModeHelp":"Run a single shell command or AI prompt","stepCommandRequired":"Step {{index}}: Command is required","stepCount_one":"{{count}} step","stepCount_other":"{{count}} steps","stepName":"Step Name","stepNamePlaceholder":"e.g. Run tests","stepNameRequired":"Step {{index}}: Name is required","stepPromptRequired":"Step {{index}}: Prompt is required","steps":"Steps","stepsEditing":"Please save or cancel all step edits before saving the schedule","stepsRequired":"At least one step is required","stepType":"Step Type","targetColumn":"Target Column","targetColumnHelp":"Column where the new task will be created","targetColumnLabel":"Target Column","taskColumnLabel":"Target Column","taskColumnTodo":"To Do","taskColumnTriage":"Triage","taskDescription":"Task Description *","taskDescriptionHelp":"Describes the task that will be created.","taskDescriptionHint":"Describes the task that will be created.","taskDescriptionLabel":"Task Description","taskDescriptionPlaceholder":"e.g. Check npm dependencies for security vulnerabilities","taskDescriptionRequired":"Task description is required","taskTitleHelp":"Leave blank to auto-summarize from description","taskTitleLabel":"Task Title (optional)","taskTitleOptional":"Task Title (optional)","taskTitlePlaceholder":"e.g. Review weekly dependencies","timeoutHelp":"Maximum execution time in milliseconds (default 300000 = 5 min)","timeoutHint":"Maximum execution time in milliseconds.","timeoutLabel":"Timeout (ms)","timeoutMinimum":"Timeout must be at least 1 second (1000ms)","timeoutOptional":"Timeout (ms, optional)","timeoutPlaceholder":"Override schedule timeout","title":"Automations","todoColumn":"To Do","toggleError":"Failed to toggle routine","triageColumn":"Triage","triggerApi":"API","triggerCron":"Cron","triggerManual":"Manual","triggerTypeAriaLabel":"Trigger type","triggerTypeLabel":"Trigger Type","triggerWebhook":"Webhook","typeCustom":"Custom cron expression","typeDaily":"Every day (midnight)","typeEvery12Hours":"Every 12 hours","typeEvery15Min":"Every 15 minutes","typeEvery2Hours":"Every 2 hours","typeEvery30Min":"Every 30 minutes","typeEvery6Hours":"Every 6 hours","typeHourly":"Every hour","typeMonthly":"Every month (1st)","typeWeekdays":"Weekdays at 9 AM (Mon-Fri)","typeWeekly":"Every week (Monday)","unknownError":"Unknown error","updateError":"Failed to update routine","useDefault":"Use default","webhookPathHint":"URL path for the webhook endpoint","webhookPathLabel":"Webhook Path","webhookPathPlaceholder":"/trigger/my-routine","webhookSecretHint":"HMAC secret for signature verification. Leave empty for unauthenticated webhooks.","webhookSecretLabel":"Webhook Secret (optional)","webhookSecretPlaceholder":"Optional — leave empty for unauthenticated webhooks"}`),_e={addScript:"Add Script",addScriptsHint:"Add scripts to quickly run common commands from the dashboard.",cancelDelete:"Cancel delete",command:"Command",commandPlaceholder:"e.g., npm run build",confirmDelete:"Confirm delete",confirmDeleteNamed:"Confirm delete {{name}}",deleteScriptNamed:"Delete {{name}}",editScriptNamed:"Edit {{name}}",failedToDelete:"Failed to delete script",failedToLoadScripts:"Failed to load scripts",failedToSave:"Failed to save script",loadingScripts:"Loading scripts...",nameErrorMsg:"Name must contain only letters, numbers, hyphens, and underscores (no spaces)",nameHint:"Letters, numbers, hyphens, and underscores only",noScriptsDefined:"No scripts defined",noScriptsYet:"No scripts defined yet.",runScript:"Run script",runScriptNamed:"Run {{name}}",saving:"Saving...",scriptAlreadyExists:"A script with this name already exists",scriptCommandRequired:"Script command is required",scriptCount_one:"{{count}} script",scriptCount_other:"{{count}} scripts",scriptCreated:"Script created",scriptDeleted:"Script deleted",scriptName:"Script Name",scriptNamePlaceholder:"e.g., build, test, lint",scriptNameRequired:"Script name is required",scriptUpdated:"Script updated",title:"Scripts"},Be={accessPolicyAuto:"auto",accessPolicyDeny:"deny",accessPolicyLabel:"Access policy",accessPolicyPrompt:"prompt",addSecret:"Add Secret",addSecretModalTitle:"Add secret",cancelBtn:"Cancel",cancelDelete:"Cancel",clearSyncPassphrase:"Clear",closeAriaLabel:"Close",confirmClearSyncPassphrase:"Clear the cross-node sync passphrase? Existing sync pairs will stop working until you set a new passphrase.",confirmDelete:"Confirm",confirmPassphraseLabel:"Confirm passphrase",copied:"Copied",copyAriaLabel:"Copy",createBtn:"Create",deleteAriaLabel:"Delete",descriptionLabel:"Description",editAriaLabel:"Edit",editSecretModalTitle:"Edit secret",empty:"No secrets found.",envExportableChip:"env exportable",envKeyLabel:"Env key",errorClearSyncPassphrase:"Failed to clear sync passphrase: {{error}}",errorLoadSyncStatus:"Failed to load sync passphrase status: {{error}}",errorSaveSyncPassphrase:"Failed to save sync passphrase: {{error}}",exportToEnvLabel:"Export to env",hideAriaLabel:"Hide",hideValueAriaLabel:"Hide value",keyLabel:"Key",loading:"Loading…",neverRead:"Never read",passphraseLabel:"Passphrase",passphraseMustMatch:"Passphrases must match.",refresh:"Refresh",revealAriaLabel:"Reveal",revealed:"Revealed",rotateSyncPassphrase:"Rotate",rotateSyncPassphraseModalTitle:"Rotate sync passphrase",saveBtn:"Save",scopeGlobal:"Global",scopeLabel:"Scope",scopeProject:"Project",setPassphrase:"Set passphrase",setSyncPassphraseModalTitle:"Set sync passphrase",showValueAriaLabel:"Show value",syncConfigured:"Configured",syncNotConfigured:"Not configured",syncPassphraseCleared:"Sync passphrase cleared",syncPassphraseDescription:"Shared passphrase used to wrap cross-node secret bundles. Both nodes in a sync pair must share the same value. Stored locally only; never transmitted.",syncPassphraseRotated:"Sync passphrase rotated",syncPassphraseSet:"Sync passphrase set",syncPassphraseTitle:"Cross-Node Sync Passphrase",title:"Secrets",valueLabel:"Value"},Ue={dismissAll:"Dismiss all",dismissItem:"Dismiss {{title}}",failed:"Failed",headerAwaitingAndErrorPlural:"{{awaitingCount}} AI sessions need your input, {{errorCount}} failed",headerAwaitingAndErrorSingular:"{{awaitingCount}} AI session needs your input, {{errorCount}} failed",headerAwaitingPlural_one:"",headerAwaitingPlural_other:"",headerAwaitingSingular_one:"",headerAwaitingSingular_other:"",headerErrorPlural_one:"",headerErrorPlural_other:"",headerErrorSingular_one:"",headerErrorSingular_other:"",regionLabel:"AI sessions needing input or failed",resume:"Resume",retry:"Retry",typeLabel:{cliAgent:"CLI Agent"},cli:{advance:"Advance",retry:"Retry",cancelTask:"Cancel task",reauthenticate:"Re-authenticate",relaunch:"Relaunch fresh",userExited:"Agent exited before completing",authFailed:"CLI authentication failed",resumeExhausted:"Couldn't resume the session"}},Oe={actions:{cancel:"Cancel",save:"Save"},appearance:{language:"Language",languageAuto:"Auto",languageAutoHint:"Follow the browser language",title:"Appearance"},auth:{apiKeyCleared:"API key cleared",apiKeySaved:"API key saved",authCodeAlreadySubmitted:"That authorization code was already submitted. Waiting for login…",authCodeReceived:"Authorization code received. Finishing login…",clearKey:"Clear",continueToLogin:"Continue to login",copiedCodeToClipboard:"Copied code to clipboard",copyCode:"Copy code",enterCodeOnGitHub:"Enter this code on GitHub",failedToCopyCode:"Failed to copy code — copy it manually from the box above",groupAuthenticated:"Authenticated",groupAvailable:"Available",hint:"Authentication changes take effect immediately — no need to save.",loadingStatus:"Loading authentication status…",loggedOut:"Logged out",loggingOut:"Logging out…",login:"Login",loginAlreadyInProgress:"Login already in progress. You can cancel it and retry.",loginCancelled:"Login cancelled",loginDidNotComplete:"Login did not complete. Please try again.",loginSuccessful:"Login successful",logout:"Logout",manualPasteMessage:"After you sign in with {{name}}, the browser will try to redirect to a localhost address that this dashboard can't reach. The redirect tab will look like it failed. Before that happens, copy the full URL from the browser address bar — you'll paste it back here to finish login. Continue?",manualPasteTitle:"Heads up — manual paste-back required",noProviders:"No providers available",openGitHub:"Open GitHub",pasteRedirectUrlFirst:"Paste the full redirect URL or authorization code first.",reopenOnboarding:"Reopen onboarding guide",reopenOnboardingHint:"Re-run the setup wizard to review or update your AI provider and model configuration.",savingKey:"Saving…",signInHint:"Sign in to at least one provider to get started with AI models.",statusActive:"✓ Active",statusNotConnected:"✗ Not connected",title:"Authentication",waitingForLogin:"Waiting for login…"},backups:{backupCreated:"Backup created successfully",backupNow:"Backup Now",creating:"Creating…"},closeModal:"Close conflict modal",conflictModalTitle:"Resolve Settings Conflicts",footer:{help:"Help",version:"Version {{version}}"},general:{learnMore:"Learn more",settingsSaved:"Settings saved",updateAvailablePrefix:"v{{version}} available",upToDate:"You're up to date ✓"},header:{discord:"Discord"},importExport:{confirmImport:"Confirm Import",exportBtn:"Export",exportTitle:"Export settings to JSON file",importBtn:"Import",importing:"Importing…",importTitle:"Import Settings",loadingFile:"Loading…",reviewPrompt:"Review the settings to be imported:"},jsonPlaceholder:"Enter JSON value...",keepLocal:"Keep Local",keepRemote:"Keep Remote",loading:"Loading…",memory:{compacting:"Compacting…",compactSelectedFile:"Compact Selected File",dreamCompleted:"Dream processing completed",dreamNow:"Dream Now",installing:"Installing…",installQmd:"Install qmd",memoryCompacted:"Memory file compacted",memorySaved:"Memory saved",saveMemory:"Save Memory",testing:"Testing…",testRetrieval:"Test Retrieval"},mergeManually:"Merge Manually",mobileNav:{label:"Settings Section"},models:{deletePresetMessage:'Preset "{{name}}" is used in auto-selection. Delete it anyway?',deletePresetTitle:"Delete Preset",loadingModels:"Loading available models…",noModels:"No models available. Configure authentication first.",presetNameRequired:"Preset name is required",savePreset:"Save preset"},nav:{aria:{global:"Global setting",project:"Project setting"},tooltip:{global:"Shared across all projects",project:"Specific to this project"},cliAgents:"CLI Agents"},notifications:{sending:"Sending…",testMessageInbox:"Test message inbox",testNotification:"Test notification",testRoomReply:"Test room reply"},remote:{cloudflaredInstalled:"cloudflared installed successfully",persistentTokenRegenerated:"Persistent token regenerated",restarting:"Restarting…",shortLivedTokenGenerated:"Short-lived token generated",startFresh:"Start Fresh",starting:"Starting…",startTunnel:"Start Tunnel",stopping:"Stopping…",stopTunnel:"Stop Tunnel",tunnelRestarted:"Remote tunnel restarted",tunnelStarted:"Remote tunnel started",tunnelStopped:"Remote tunnel stopped",useExisting:"Use Existing"},resolveAllLocal:"Resolve All: Keep Local",resolveAllRemote:"Resolve All: Keep Remote",resolvedSuccess:"Settings conflicts resolved successfully",resolveFailed:"Failed to resolve conflicts",resolving:"Resolving...",scheduling:{selectCurrentDir:"Select current directory",selectIgnoredOverlapPath:"Select ignored overlap path"},scope:{globalBanner:"These settings are shared across all your Fusion projects.",projectBanner:"These settings only affect this project."},title:"Settings",worktrees:{awaitingApproval:"Awaiting approval — open Approvals to continue.",installWorktrunk:"Install worktrunk binary",openApprovals:"Open Approvals",selectWorktreesDir:"Select worktrees directory",tryAgain:"Try again"},movedStub:{openWorkflowSettings:"Open workflow settings",stepExecution:"Step execution settings (run steps in new sessions, max parallel steps) now live on the workflow.",reviewVerification:"Review, verification auto-fix, and scope-enforcement settings now live on the workflow.",modelLanes:"Per-phase model lanes (execution, planning, reviewer, their fallbacks, and the title summarizer) now live on the workflow.",summarizerModelInline:"The model used for summarization now lives on the workflow (title summarizer lane). Open workflow settings to choose it."},cliAgents:{heading:"CLI Agents",description:"Per-adapter launch configuration for CLI coding agents driven in engine-owned terminals.",adapterLabel:"Adapter",tier:{native:"native",hybrid:"hybrid",generic:"generic"},commandLabel:"Command override",commandHelp:"Path or name of the binary to launch. A non-default value is treated as privileged and requires autonomy approval.",extraArgsLabel:"Extra arguments",extraArgsHelp:"Appended after the adapter's computed arguments (space-separated). Bypass flags here are detected and gated.",envLabel:"Environment variable additions",envHelp:"Comma-separated variable NAMES forwarded from the parent process. Service credentials (FUSION_*) are always excluded.",autonomyLabel:"Autonomy mode",autonomyHelp:"Elevated autonomy requires a per-project approval before the agent can launch.",approvedNote:"Elevated autonomy is approved for this project.",autonomy:{default:"Default (request approvals)",elevated:"Elevated (bypass approvals)"},elevatedConfirmTitle:"Approve elevated autonomy?",elevatedConfirmBody:"Elevated autonomy lets this CLI agent bypass per-step approvals (e.g. --dangerously-skip-permissions). It can modify files and run commands without pausing. Approve only if you trust this adapter for this project.",elevatedConfirmAction:"Approve elevated autonomy",saveFailed:"Failed to save CLI agent settings",approveFailed:"Failed to record autonomy approval"}},qe=JSON.parse(`{"addCustomProvider":"Add custom provider","addMoreProjectsHint":"You can add more projects anytime from the project overview.","advancedProviderSettings":"Advanced provider settings","advancedSettings":"Advanced settings","advancedSetupDetails":"Advanced setup details","aiSetupDescription":"Fusion uses AI models to plan, write, and review code for you. Connect an AI provider below to get started — you can use a hosted service or enter an API key.","allProvidersShown":"All currently available providers are already shown above.","allSet":"All Set!","apiKeyFormatHint":"Format: {{hint}}","apiKeyHint":"Key: {{keyHint}}","apiKeyRemoved":"API key removed","apiKeySaved":"✓ API key saved","apiKeySavedToast":"API key saved","ariaDismissRecommendations":"Dismiss recommendations","ariaSetupRecommendations":"Setup recommendations","authCodeAlreadySubmitted":"That authorization code was already submitted. Waiting for login…","authCodeReceived":"Authorization code received. Finishing login…","authDescription":"This dashboard requires an auth token to communicate with the Fusion daemon. Paste the token below to continue.","authToken":"Auth Token","authTokenOptional":"Auth token (optional)","back":"← Back","browserAuthToken":"Browser Auth Token","cancelLogin":"Cancel","childProcess":"Child-Process","childProcessDesc":"Isolated execution with crash containment.","childProcessLabel":"Child Process (Isolated)","chooseModel":"Choose Model","claudeCli":{"active":"✓ Active","binaryNotFound":"\`claude\` binary not detected on PATH — install Claude CLI first.","binaryNotFoundPath":"\`claude\` not found on PATH","connected":"✓ Connected{{version}}","description":"Route AI calls through your locally-installed claude CLI. Uses your existing Claude subscription / quota instead of an API key.","details":"Details","detectedPrompt":"detected{{path}}. Click Enable to route AI calls through it.","disable":"Disable","disabledMessage":"Claude-CLI-routed models are hidden from the model picker.","disabledVerb":"Disabled","disabling":"Disabling…","enable":"Enable","enabledMessage":"Claude-CLI-routed models are now visible in the model picker.","enabledVerb":"Enabled","enabling":"Enabling…","extensionFailed":"Extension load failed: {{reason}}","name":"Anthropic — via Claude CLI","notConnected":"✗ Not connected","notInstalled":"✗ Not installed","probing":"Probing local CLI…","test":"Test","testing":"Testing…","validating":"Enabled. Validating…"},"cloneGitHint":"Fusion will run git clone into the destination directory, then register that cloned folder.","cloneGitRepository":"Clone Git Repository","clonePathHint":"Select or type an absolute destination path. Fusion will clone into this directory.","clonePathPlaceholder":"/path/for/new-clone","closeWizard":"Close wizard","compactWarning":"⚠ Setup incomplete — AI and/or GitHub features will be limited.","completeSetup":"Complete these setup items to get the most out of Fusion.","connect":"Connect","connectAiProvider":"Connect AI Provider","connectAiProviderDesc":"Connect an AI provider to enable AI agents for task planning and code generation","connectAnyway":"Connect anyway","connectedProviders":"Connected providers","connectGitHub":"Connect GitHub","connectGitHubAnytime":"No worries if you're not ready — connect GitHub anytime from Settings → Authentication.","connectGitHubButton":"Connect GitHub","connectGitHubDesc":"Connect GitHub to import issues and track pull requests","connectOauthOptional":"Connect OAuth (optional)","connectRemoteServer":"Connect remote Fusion server","continueToLogin":"Continue to login","continueWithGhCli":"Continue with gh CLI auth →","continueWithoutGitHub":"Continue without GitHub →","copiedCodeToClipboard":"Copied code to clipboard","copyCode":"Copy code","couldNotReachServer":"Could not reach the server. Check your connection and try again.","createFirstTask":"Create First Task","createNewTask":"Create a New Task","createNewTaskSubtitle":"Describe what you need built and AI will work on it","createProject":"Create Project","createTasksAnytimeNote":"You can create tasks anytime from the board, or use","createTasksAnytimeNoteTerminal":"in the terminal.","creating":"Creating...","creatingTask":"Creating task…","cursorCli":{"active":"✓ Active","binaryNotFound":"\`cursor-agent\` not found on PATH","connected":"Connected{{version}}","description":"Route AI calls through your local Cursor agent runtime.","detectedPrompt":"Detected. Click Enable to route calls through Cursor CLI.","disable":"Disable","disabling":"Disabling…","enable":"Enable","enabling":"Enabling…","notConnected":"✗ Not connected","probing":"Probing local CLI…","test":"Test","testing":"Testing…"},"defaultModelDescription":"Pick a default model for AI tasks, or leave this blank to choose later. Models vary in speed, capability, and cost.","defaultModelLabel":"Default model","defaultModelOptional":"Default Model (Optional)","describeFirstTask":"Describe your first task","destinationDirectory":"Destination Directory","directoryPath":"Directory Path","disconnect":"Disconnect","dismissWarning":"Dismiss setup warning","enterApiKey":"Enter API key","enterCodeOnGitHub":"Enter this code on GitHub","executionMode":"Execution Mode","failedToCancelLogin":"Failed to cancel login","failedToClearApiKey":"Failed to clear API key","failedToCopyCode":"Failed to copy code — copy it manually from the box above","failedToCreateCustomProvider":"Failed to create custom provider","failedToSaveApiKey":"Failed to save API key","failedToSaveShellConnection":"Failed to save shell connection","failedToSubmitAuthCode":"Failed to submit authorization code","finishSetup":"Finish Setup","firstTaskDescription":"Create your first task to start the board and launch AI execution.","firstTaskPlaceholder":"Example: Build a login page with email and password","firstTaskReady":"Your first task is ready!","getApiKeyLink":"Get your API key →","getStarted":"Get Started","githubCliAlreadyAuth":"GitHub CLI is already authenticated — issue imports and pull request tracking work right now. You're all set; no further action needed.","githubCliAuthNote":"GitHub CLI is already authenticated, so imports and PR tracking work now. OAuth from the dashboard is optional and only controls dashboard-managed connect/disconnect.","githubCliAuthSuccess":"GitHub CLI is authenticated. Imports and pull request tracking are available. Connect OAuth in Settings → Authentication if you want dashboard-managed sign-in controls.","githubConnected":"GitHub is connected — issue imports and pull request tracking are available. You're all set; no further action needed.","githubConnectionDescription":"Connecting GitHub unlocks issue imports and pull request tracking. You can skip this — task creation works without it.","githubConnectionFailed":"Connection failed or timed out.","githubOauthConnected":"GitHub OAuth is connected. You can import issues and track pull requests.","githubOauthNotConnected":"GitHub OAuth isn't connected yet. You can set it up in Settings → Authentication, or continue now and connect later.","githubSkipped":"GitHub was skipped. You can connect anytime from Settings → Authentication.","goBackToStep":"Go back to {{label}}","goToDashboard":"Go to Dashboard","howDoesLoginWork":"How does login work?","howDoesLoginWorkBody":"Clicking Login opens the provider's website in a new tab where you sign in. Once you authorize Fusion, this page will automatically detect the connection. Your credentials are never stored in Fusion.","howDoIChooseModel":"How do I choose a model?","howDoIChooseModelBody":"Models vary in speed, capability, and cost. A good default is usually the latest model from your connected provider. You can always change this later in Settings.","importFromGitHub":"Import from GitHub","importFromGitHubSubtitle":"Turn GitHub issues into tasks you can track here","inProcess":"In-Process","inProcessDesc":"Lower overhead, shared memory. Best for most projects.","inProcessLabel":"In-Process (Default)","isolationMode":"Isolation Mode","keySavedInline":"✓ Key saved","loadingProviders":"Loading providers…","localNode":"Local node","loggedOut":"Logged out","loggingOut":"Logging out…","login":"Login","loginAlreadyInProgress":"Login already in progress. Cancel it to retry.","loginCancelled":"Login cancelled","loginDidNotComplete":"Login did not complete. Please try again.","loginFailed":"Login failed","loginFailedInline":"Login failed. Please try again.","loginSuccessful":"Login successful","loginTimedOut":"Login timed out. Please try again.","loginTimedOutInline":"Login timed out. Please try again.","logout":"Logout","logoutFailed":"Logout failed","manualPastebackTitle":"Heads up — manual paste-back required","nameHint":"Use letters, numbers, hyphens, and underscores only","namePlaceholder":"my-project","needHelp":"Need help?","next":"Next →","noAiProvider":"No AI provider connected","noAiProviderBody":"AI features like task planning and code generation won't be available until you connect one. You can set this up later in Settings.","noAiProviderConnected":"No AI provider connected","noAiProviderDesc":"AI agents won't be able to work on tasks until you connect a provider. Set one up in Settings → AI Setup.","noGithub":"GitHub not connected","noGithubDesc":"You won't be able to import issues from GitHub, but you can still create tasks manually.","noModelsAvailable":"No models available yet. Connect a provider above to see model options.","noProvidersConfigured":"No AI providers are configured. Please check your Fusion configuration.","noProvidersConnectedYet":"No providers connected yet","noQuickStartProviders":"No quick-start providers are available in this environment.","noTokenHint":"No token is stored. Use the auth prompt at the top of the wizard, or set one here.","onlyNeedOneProvider":"You only need one provider to get started.","openGitHub":"Open GitHub","openManager":"Open manager","optionalBadge":"Optional","pasteRedirectUrlFirst":"Paste the full redirect URL or authorization code first.","pasteTokenForBrowserPlaceholder":"Paste the auth token for this browser","pasteTokenPlaceholder":"Paste the daemon auth token","pathHint":"Enter the absolute path to your project directory","pathPlaceholder":"/path/to/your/project","pleaseEnterTaskDescription":"Please enter a task description.","profileName":"Profile name","projectDirectory":"Project Directory","projectMustBeSelected":"A project must be selected before you can create tasks or import from GitHub.","projectName":"Project Name","projectNameHintClone":"By default this follows the destination folder name unless you edit it.","projectNameHintExisting":"By default this follows the selected directory name unless you edit it.","projectNamePlaceholder":"my-project","projectPathHint":"Select or type the absolute path to your project","projectPathPlaceholder":"/path/to/your/project","projectRegisteredSuccess":"Your project has been registered successfully.","projectRequired":"A project is required before first-task actions are available.","projectSelected":"Project selected — task creation and imports are available.","projectSetupDescription":"Choose your first project before creating or importing tasks. You can register an existing local directory or clone a GitHub repository URL through the setup wizard.","providersConnectedSummary":"✓ {{connected}} of {{total}} provider(s) connected","providersSkippedSummary_one_one":"{{count}} provider skipped","providersSkippedSummary_one_other":"{{count}} provider skipped","providersSkippedSummary_other_one":"{{count}} providers skipped","providersSkippedSummary_other_other":"{{count}} providers skipped","quickStartProviders":"Quick start providers","readinessAiProviderConnected":"{{name}} connected — AI agents can work on tasks","readinessAiProviderLabel":"AI Provider","readinessAiProviderMissing":"Connect a provider in Settings → AI Setup","readinessAiProviderSkipped":"AI agents won't be available until you connect a provider","readinessAllConnected":"✓ All integrations connected","readinessDefaultModelLabel":"Default Model","readinessGitHubConnected":"Issues and PRs can be imported","readinessGitHubLabel":"GitHub","readinessGitHubMissing":"Connect to import issues as tasks","readinessGitHubSkipped":"You can connect anytime from Settings","readinessGitHubViaCli":"Connected via GitHub CLI — imports and PR tracking are available","readinessProjectConnected":"Project selected — task creation and imports are available","readinessProjectLabel":"Project","readinessProjectMissing":"Register a project to enable task creation and imports","readinessSummaryHeader":"Setup Summary","recommended":"Recommended","recommendedNextSteps":"Recommended Next Steps","registering":"Registering...","registerProject":"Register Project","remoteServerNote":"Your native shell needs an active remote profile before dashboard handoff can complete.","remoteServerProfileSaved":"Remote server profile saved","removeKey":"Remove Key","removingKey":"Removing…","replaceTokenPlaceholder":"Enter a new token to replace the stored one","repositoryUrl":"Repository URL","repositoryUrlPlaceholder":"https://github.com/owner/repo.git","requiresGitHubConnection":"Requires GitHub connection","researchRunsNote":"Research runs require provider credentials and an enabled Research View. After onboarding, verify these in Settings → Authentication and Settings → Experimental Features.","resetToken":"Reset token","retry":"Retry","reviewStep":"Review {{label}}","runtimeNode":"Runtime Node","savedProfileButFailedToActivate":"Saved profile but failed to activate it","saveKey":"Save","saveRemoteServer":"Save remote server","saving":"Saving…","savingKey":"Saving…","savingRemoteServer":"Saving…","selectDefaultModel":"Select a default model…","selectDefaultModelDesc":"Choose a default AI model for task execution","selectedModel":"Selected:","serverUrl":"Server URL","serverUrlPlaceholder":"https://your-fusion-host","setAuthToken":"Set Auth Token","setToken":"Set token","setTokenContinue":"Set Token & Continue","setUpAi":"Set Up AI","setupComplete":"Setup complete! Head to the board to create your first task, or explore the dashboard to see what's available.","setupMode":"Setup Mode","setUpProject":"Set Up Project","setupWizardHint":"In the setup wizard, pick an existing directory or paste a GitHub clone URL.","skip":"Skip","skipForNow":"Skip for now","skipGitHub":"Skip GitHub →","skipOnboardingAriaLabel":"Skip onboarding","skipProviderHint":"Skip this step if you'd like — you can always add providers later from Settings.","skipSetup":"Skip setup →","statusConnected":"✓ Connected","statusConnecting":"⏳ Connecting…","statusConnectionFailed":"✗ Connection failed","statusNotConnected":"Not connected","statusRetry":"Retry","statusSkipped":"Skipped","stepAiSetup":"AI Setup","stepFirstTask":"First Task","stepGithub":"GitHub","stepProject":"Project","submitCode":"Submit code","submittingCode":"Submitting…","taskCreated":"Task created","taskCreatedHint":"Your task has been created and will appear on the board.","taskCreationFailed":"Something went wrong creating your task. Please try again.","taskErrorHint":"Your text has been preserved — fix the issue and try again.","titleAiSetup":"Set Up AI","titleAllSet":"All Set!","titleConnectGitHub":"Connect GitHub","titleCreateFirstTask":"Create Your First Task","titleSetUpProject":"Set Up Your Project","tokenEnvVar":"The token was set via the {{env}} environment variable when starting the dashboard.","tokenStoredHint":"A token is already stored in this browser. You can update or reset it below.","updateToken":"Update token","useExistingDirectory":"Use Existing Directory","viewTask":"View Task","waitingForGitHubAuth":"Waiting for GitHub authorization…","waitingForLogin":"Waiting for login…","waitingForOauthLogin":"Waiting for OAuth login…","welcomeToFusion":"Welcome to Fusion","whatAreAiProviders":"What are AI providers?","whatAreAiProvidersBody":"AI providers like OpenAI and Anthropic power the AI capabilities in Fusion. Connecting a provider lets Fusion's agents use AI models to help with your tasks.","whatDoesGitHubIntegrationDo":"What does GitHub integration do?","whatDoesGitHubIntegrationDoBody":"Without GitHub, you can still create and manage tasks manually. GitHub integration adds the ability to import issues as tasks, track pull request status alongside your work, and automatically link commits to tasks. Connect anytime from Settings → Authentication.","whatDoesProjectSetupDo":"What does project setup do?","whatDoesProjectSetupDoBody":"Project setup registers a workspace so Fusion knows where to read files, run commands, and track task changes.","whatHappensWhenCreateTask":"What happens when I create a task?","whatHappensWhenCreateTaskBody":"A task describes something you want done. Fusion's AI agents will read your description and work on implementing it. You can track progress on the board and review the results.","whatIsApiKey":"What is an API key?","whatIsApiKeyBody":"An API key is a secret token that authenticates Fusion with the provider. You can find your key in the provider's dashboard under API settings. Keys are stored securely on your machine.","withGitHub1":"Import issues as tasks","withGitHub2":"Sync pull request status","withGitHub3":"Link code changes to tasks","withGitHubHeading":"With GitHub (after connecting):","withoutGitHub1":"Create tasks manually","withoutGitHub2":"Describe work for AI agents","withoutGitHub3":"Track progress on the board","withoutGitHubHeading":"Without GitHub (available now):"}`),je={activePill:"Active",addConnection:"Add connection",addServer:"Add server",authTokenLabel:"Auth token (optional)",connectionManager:"Connection Manager",connectionManagerLabel:"Connection Manager",defaultProfileName:"Remote Server",deleteConfirmLabel:"Delete server confirmation",deleteConfirmMessage:"Delete {{name}}? This removes the saved profile.",deleteProfile:"Delete {{name}}",editProfile:"Edit {{name}}",modeLocal:"Local",modeRemote:"Remote",nameLabel:"Name",noServersSaved:"No remote servers saved yet.",scanQr:"Scan QR",serverUrlLabel:"Server URL",serverUrlProtocolError:"Server URL must use http or https",use:"Use",useProfile:"Use {{name}}"},Ge={addSkill:"Add a skill…",allSkillsSelected:"All skills selected",catalogSection:"Skills Catalog",catalogUnavailable:"Catalog is temporarily unavailable. Please try again later.",closeDetail:"Close skill detail",closeView:"Close skills view",disabled:"Skill disabled",disableSkill:"Disable {{name}}",discovered:"discovered",discoveredCount_one:"{{count}} discovered skills",discoveredCount_other:"{{count}} discovered skills",discoveredSection:"Discovered Skills",enabled:"Skill enabled",enableSkill:"Enable {{name}}",filesLabel:"Files",install:"Install",installError:"Failed to install skill",installFailed:"Failed to install {{name}}: {{message}}",installing:"Installing…",installsCount:"{{count}} installs",installSkill:"Install {{name}}",installSuccess:"Installed {{name}}",loadCatalogError:"Failed to load catalog",loadContentError:"Failed to load skill content",loadDiscoveredError:"Failed to load discovered skills",loading:"Loading skills…",loadingCatalog:"Loading catalog...",loadingContent:"Loading skill content...",loadingDiscovered:"Loading discovered skills...",noCatalogAvailable:"No skills available in the catalog.",noDiscovered:"No skills discovered in this project.",noMatchingDiscovered:"No discovered skills match your search.",noMatchingSearch:"No skills match your search.",noSkillMd:"(No SKILL.md found)",noSkillsDiscovered:"No skills discovered",removeSkill:"Remove {{name}}",searchLabel:"Search skills",searchPlaceholder:"Search skills...",title:"Skills",toggleError:"Failed to toggle skill",toggleFailed:"Failed to toggle skill: {{message}}",viewDetails:"View details for {{name}}"},We={edit:"Edit",empty:"(no specification)",feedbackPlaceholder:"e.g., 'Add more details about error handling', 'Split this into smaller steps', 'Include tests for the API endpoints'...",keyboardHint:"Press <ctrl>Ctrl</ctrl>+<enter>Enter</enter> (or <cmd>Cmd</cmd>+<enter2>Enter</enter2>) to save",placeholder:"Enter task specification in Markdown...",requesting:"Requesting…",requestRevision:"Request AI Revision",revisionHelp:"Provide feedback for the AI to improve this specification. The task will move to planning for replanning.",revisionTitle:"Ask AI to Revise",saving:"Saving…",view:"View"},Ve={applied:"Applied",apply:"Apply",applyFailed:"Apply failed",changedPathsLabel:"Changed paths",classificationLabel:"Classification",closeDiffDialog:"Close diff dialog",diffDialogLabel:"Diff for {{sha}}",diffHeader:"Diff for {{sha}}",diffTruncated:"Diff output truncated.",drop:"Drop",dropConfirm:"Drop",dropMessage:"This removes the stash entry permanently.",dropTitle:"Drop orphaned stash?",failedToLoadDiff:"Failed to load diff",failedToLoadOrphans:"Failed to load orphans",fileCount_one:"{{count}} files",fileCount_other:"{{count}} files",inspectDiff:"Inspect diff",loadingDiff:"Loading diff…",noDiffOutput:"No diff output available.",noOrphans:"No orphaned merger autostashes found.",orphanCount_one:"{{count}} orphans",orphanCount_other:"{{count}} orphans",shaLabel:"SHA",title:"Stash Recovery",unknownSource:"Unknown source"},ze={aiPrompt:"AI Prompt",aiPromptStepTitle:"AI Prompt step",command:"Command",commandStepTitle:"Command step",createTask:"Create Task",createTaskStepTitle:"Create Task step"},Ke={addSubtask:"Add subtask",baseBranchLabel:"Merge target / base branch (optional)",baseBranchPlaceholder:"main",branchAssignmentPerTask:"Per-task branches derived from planning branch",branchAssignmentShared:"Shared merge target — subtasks run on their own branches",branchModeAutoNew:"Create auto-named branch per task",branchModeCustomNew:"Create custom new branch",branchModeExisting:"Use existing branch",branchModeProjectDefault:"Use project/default branch",branchNameLabel:"Branch name",branchStrategyLabel:"Branch strategy",createTasks:"Create Tasks",creating:"Creating...",dependenciesLabel:"Dependencies",dependencyCycleError:"Dependencies contain a cycle. Remove circular references before creating tasks.",descriptionLabel:"Description",discardChangesMessage:"Close subtask breakdown? Unsaved changes will be lost.",discardChangesTitle:"Discard Changes",dragToReorder:"Drag to reorder",errorCreateTasks:"Failed to create tasks",errorRefreshSession:"Failed to refresh subtask session.",errorResumeSession:"Failed to resume session",errorRetryFailed:"Retry failed. Please try again.",errorSessionEncountered:"Session encountered an error",errorSessionFailed:"Session failed while contacting the AI.",errorSessionNoResult:"Subtask session is complete but has no result.",errorStartBreakdown:"Failed to start subtask breakdown",generatingSubtasks:"AI is generating subtasks...",groupedOnSharedBranch:"Grouped on shared branch",hideThinking:"Hide thinking",modalTitle:"Subtask Breakdown",moveDown:"Move down",moveSubtaskDownAriaLabel:"Move subtask down",moveSubtaskUpAriaLabel:"Move subtask up",moveUp:"Move up",noDepsFirstSubtask:"First subtask cannot have dependencies.",noPreviousSubtasks:"No previous subtasks available.",openGroupModal:"Open group modal",planningBranchModeLabel:"Planning branch mode",preparingBreakdown:"Preparing to break this task into subtasks.",reconnecting:"Reconnecting…",remove:"Remove",retry:"Retry",retrying:"Retrying...",reviewSubtasksHeading:"Review your subtasks",reviewSubtasksHint:"Edit titles, descriptions, sizes, and dependencies before creating all tasks at once.",sendToBackgroundAriaLabel:"Send to background",sendToBackgroundTitle:"Send to background",sessionActiveAnotherTab:"Session is active in another tab.",sessionActiveAnotherTabLive:"This session is active in another tab (live heartbeat)",sessionActiveAnotherTabTakeover:"This session is active in another tab",showThinking:"Show thinking",sizeLabel:"Size",takeControl:"Take Control",takingControl:"Taking control...",titleLabel:"Title",untitled:"Untitled"},Ye={entryCount_one:"{{count}} entry",entryCount_other:"{{count}} entries",filterAll:"All",filterAllNodes:"All Nodes",filterDirection:"Direction:",filterNode:"Node:",filterPull:"Pull",filterPush:"Push",loading:"Loading...",noHistory:"No sync history available",resultConflict:"Conflict",resultError:"Error",resultSuccess:"Success"},Qe={agentActive:"active",agentError:"error",agentIdle:"idle",agentRunning:"running",autoKillLabel:"Auto-kill vitest on memory pressure",autoRefresh:"Auto-refresh · 5s",closeAriaLabel:"Close",confirmKill:"Confirm Kill?",cpuFirstSamplePending:"First sample pending",cpuProcessUsage:"process usage",cpuProgressLabel:"App CPU usage: {{percent}}%",cpuProgressUnavailable:"App CPU usage unavailable: waiting for another sample",cpuSampling:"Sampling…",errorKillVitest:"Failed to kill vitest processes",errorLoadStats:"Failed to load system stats",errorLoadVitestSettings:"Failed to load vitest settings",errorSaveVitestSettings:"Failed to save vitest settings",footerRefreshFailed:"Latest refresh failed: {{error}}",killedProcesses_one:"Killed {{count}} processes",killedProcesses_other:"Killed {{count}} processes",killThresholdInputAriaLabel:"Kill threshold (%)",killThresholdLabel:"Kill threshold (%)",killThresholdSliderAriaLabel:"Kill threshold slider (%)",killVitest:"Kill Vitest Processes",lastAutoKill:"Last auto-kill: {{time}}",loading:"Loading system stats…",notYet:"Not yet",refreshAriaLabel:"Refresh system stats",refreshTitle:"Refresh",rowAppCpu:"App CPU",rowArrayBuffers:"Array Buffers",rowCores:"Cores",rowExternal:"External",rowHeapLimit:"Heap Limit",rowHeapLimitDetail:"V8 limit",rowHeapUsed:"Heap Used",rowHeapUsedDetail:"of {{total}}",rowLoadAvg:"Load Avg",rowMemoryFree:"Memory Free",rowMemoryUsed:"Memory Used",rowNode:"Node",rowPid:"PID",rowPlatform:"Platform",rowRss:"RSS",rowTotal:"Total",sectionAgents:"Agents",sectionAgentsAriaLabel:"Agent stats",sectionCpu:"CPU & Load",sectionCpuAriaLabel:"CPU and load stats",sectionProcess:"Process",sectionProcessAriaLabel:"Process stats",sectionSystem:"System",sectionSystemMemAriaLabel:"System memory stats",sectionTasks:"Tasks",sectionTasksAriaLabel:"Task stats",sectionVitest:"Vitest Controls",sectionVitestAriaLabel:"Vitest controls",systemMemProgressLabel:"System memory used: {{percent}}% ({{used}} of {{total}})",systemMemUnavailable:"System memory usage unavailable",title:"System Stats",updatedAt:"Updated {{time}}",vitestProcesses:"Vitest Processes",waitingFirstUpdate:"Waiting for first update"},Je={attributionFailed:"Landed-files set may include foreign commits (attribution unavailable).",disableWordWrap:"Disable word wrap",enableWordWrap:"Enable word wrap",error:"Error loading changes: {{error}}",expandDiff:"Expand to full-screen diff view",expandDiffView:"Expand diff view",filesChangedHeading_one:"Files Changed ({{count}})",filesChangedHeading_other:"Files Changed ({{count}})",loadError:"Failed to load task changes",loading:"Loading changes...",mergedAt:"Merged {{date}}",nextFile:"Next file",noExecutionModifications:"The agent did not modify any files during execution.",noFilesModified:"No files modified.",noMergeCommit:"No merge commit was recorded for this task.",noMergeFileChanges:"No file changes were recorded in the merge commit.",noOpShortCircuit:"Verified short-circuit — work was already on main (rebase walked foreign commits).",noWorktree:"No worktree available for this task.",noWorktreeHint:"Changes will be shown once the task is in progress.",previousFile:"Previous file",summaryHint:"Final commit summary: {{files}} file{{plural}} changed, +{{additions}} additions, -{{deletions}} deletions. Counts only the recorded merge/squash commit, not the full task lineage.",toggleWordWrap:"Toggle word wrap",unavailable:"Detailed file changes unavailable."},Ze=JSON.parse(`{"actions":{"menuBtn":"Actions"},"agent":{"assignBtn":"Assign Agent","assignedUpdated":"Assigned agent updated","assignFailed":"Failed to assign agent: {{error}}","label":"Agent","loadFailed":"Failed to load agents: {{error}}","loadingAgents":"Loading agents...","noAgents":"No agents available","unassigned":"Agent unassigned","unassignFailed":"Failed to unassign agent: {{error}}","unassignTitle":"Unassign agent"},"agentLink":"agent {{id}}","ageStaleness":{"active":"Active","age":"Age","column":"Column","critical":"Critical","observed":"Observed","paused":"Paused","title":"Task age staleness","warning":"Warning"},"attachments":{"attachBtn":"Attach Screenshot","attached":"Screenshot attached","deleted":"Attachment deleted","deleteTitle":"Delete attachment","heading":"Attachments","none":"(no attachments)","uploading":"Uploading…"},"blockedByLink":"blocked by {{id}}","blocking":{"heading":"Blocking","none":"(no downstream tasks blocked)","stale":"(stale)","staleTitle":"Stale blockedBy edge: self-healing clearStaleBlockedBy should clear this automatically"},"branchBinding":{"candidates":"Candidates:","copy":"This in-review task isn't currently attached to a fusion branch. If a live fusion branch still exists for it, you can reattach it here.","headline":"Branch needs reattachment","reattachBtn":"Reattach branch","reattached":"Reattached branch for {{id}} ({{branch}})","reattachedResult":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattachedResult_one":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattachedResult_other":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattaching":"Reattaching…","skipped":"Branch reattachment skipped for {{id}}: {{reason}}","skippedResult":"Reattachment skipped: {{reason}}"},"cacheBreakdown":"(read {{read}} / write {{write}} / input {{input}})","cacheHitRatio":"Cache hit ratio:","cacheRead":"Cache read","cacheWrite":"Cache write","checkoutLink":"checkout {{id}}","delete":{"actionClosed":"closed","actionDeleted":"deleted","actionLeft":"left","allowRecreation":"Allow re-creation later (operator unlock)","allowRecreationDesc":"Lets agents recreate this task ID without --force-resurrect. Leave unchecked to keep this task tombstoned.","archivedAfterUnlink":"Archived {{id}} after unlinking lineage references","archiveInstead":"Archive Instead","archiveUnlinkPrompt":"Archive anyway by unlinking these references first?","ariaLabel":"Delete task","btn":"Delete","closeIssue":"Close Issue","confirm":"Delete","deletedAfterRemovingDeps":"Deleted {{id}} after removing dependency references","deletedAfterUnlinkLineage":"Deleted {{id}} after unlinking lineage references","deletedToast":"Deleted {{id}}{{suffix}}","deleteIssue":"Delete Issue","deleteLinkedIssueMessage":"Delete {{issueRef}} on GitHub, or leave it unchanged?","deleteLinkedIssueTitle":"Delete Linked GitHub Issue","deleteUnlinkDepsPrompt":"Delete anyway by removing these dependency references first?","deleteUnlinkLineagePrompt":"Delete anyway by unlinking these references first?","forceDeleteTitle":"Force Delete Task","issueSuffix":"and {{action}} issue {{ref}}","leaveUnchanged":"Leave Unchanged","linkedIssueMessage":"Choose what to do with {{issueRef}} when deleting {{id}}.\\n\\nClose the issue?","linkedIssueTitle":"Linked GitHub Issue","message":"Delete {{id}}?","moreOptions":"More Options","title":"Delete Task"},"deps":{"addBtn":"Add Dependency","clearBlockerTitle":"Clear overlap blocker {{id}}","clearBtn":"Clear","clickToView":"Click to view {{id}}","heading":"Dependencies","loadFailed":"Failed to load dependency {{id}}","noAvailableTasks":"No available tasks","none":"(no dependencies)","overlapBlocker":"File scope overlap blocker:","removeTitle":"Remove dependency {{id}}","searchPlaceholder":"Search tasks…","stale":"(stale)"},"description":{"showLess":"Show less","showMore":"Show more"},"duplicate":{"btn":"Duplicate","message":"Duplicate {{id}}? This will create a new task in Triage with the same description and prompt.","success":"Duplicated {{id}} → {{newId}}","title":"Duplicate Task"},"edit":{"autosaveHint":"Changes autosave as you edit","autosaving":"Autosaving…","nodeOverrideLocked":"Execution node override is locked while a task is active/in progress.","saved":"Saved","saveFailed":"Save failed","saving":"Saving…","sourceExternalIdPlaceholder":"Issue identifier","sourceIssueHint":"Leave all fields empty to clear source issue metadata.","sourceIssueIdentifierNumeric":"Source issue identifier must be numeric for new metadata","sourceIssueLabel":"Source Issue","sourceIssueRequiredFields":"Source issue provider, repository, and issue identifier are required","sourceProviderPlaceholder":"Provider (e.g. github)","sourceRepositoryPlaceholder":"Repository (e.g. owner/repo)","sourceUrlPlaceholder":"Issue URL"},"error":{"taskFailed":"Task Failed"},"executionAndTokenStats":"Execution & Token Stats","executionDetails":"Execution Details","executionMode":{"ariaLabel":"Execution mode: {{mode}}","fast":"Fast","standard":"Standard","updated":"Execution mode updated to {{mode}}"},"executionModeFast":"Fast","executionModeStandard":"Standard","executionStatsAria":"Task execution statistics","executionTiming":"Execution Timing","executionTimingMetricsAria":"Execution timing metrics","firstUsed":"First used","githubTracking":{"addTitleBeforeCreating":"Add a title before creating a tracking issue","checking":"Checking tracking status","collapse":"Collapse GitHub tracking details","createIssueBtn":"Create tracking issue","createIssueDisabledTitle":"Add a title or description so a tracking issue can be created.","createIssueHelper":"Tracking issue will be created once this task has a title or description to summarize.","disabled":"Tracking is currently disabled","enableAriaLabel":"Enable GitHub tracking","enableBtn":"Enable","enableCheckboxLabel":"Enable GitHub tracking","enabling":"Enabling GitHub tracking…","enablingAriaLabel":"Enabling GitHub tracking","expand":"Expand GitHub tracking details","issue":"Issue","issueCreationRequested":"Requested GitHub tracking issue creation","issueUnlinked":"GitHub issue unlinked","label":"GitHub tracking","loading":"Loading GitHub tracking status…","loadingAriaLabel":"Loading GitHub tracking status","notYetCreated":"Issue not yet created","repoOverrideFormat":"Repository override must be in owner/repo format","state":"State","statusAriaLabel":"GitHub tracking status","statusDisabled":"Disabled","statusEnabled":"Enabled","statusLinked":"Linked","statusLoading":"Loading","unlinkBtn":"Unlink GitHub issue","unlinkConfirm":"Unlink","unlinkMessage":"This stops Fusion from syncing with the linked GitHub issue. The issue itself will not be modified.","unlinkTitle":"Unlink GitHub issue?"},"hasSession":"has session","header":{"back":"Back","backToList":"Back to task list","editTask":"Edit task"},"inputTokens":"Input","lastUsed":"Last used","loadingTokenStats":"Loading token statistics…","logs":{"activity":"Activity","activityHeading":"Activity","agentLog":"Agent Log","noActivity":"(no activity)","truncated_one":"Showing the most recent {{count}} activity entries.","truncated_other":"Showing the most recent {{count}} activity entries."},"longestTimingEvent":"Longest timing event","longestWorkflowStep":"Longest workflow step","merge":{"closed":"Closed {{id}} ({{reason}})","merged":"Merged {{id}} (branch: {{branch}})","merging":"Merging {{id}}…","message":"Merge {{id}} into the current branch?","noBranchToMerge":"no branch to merge","title":"Merge Task"},"move":{"backToInProgress":"Back to In Progress","cancelMove":"Cancel Move","keepProgress":"Keep Progress","movedTo":"Moved to {{column}}","moveTo":"Move to {{column}}","preserveProgressMessage":"This task has completed steps. Keep progress before moving?","preserveProgressTitle":"Preserve Progress?","resetProgress":"Reset Progress","resetProgressMessage":"Reset all step progress before moving this task?","resetProgressTitle":"Reset Progress?"},"nearDuplicate":{"actions":"Choose Archive to move this task to archived, or Keep to continue with this task.","archiveBtn":"Archive","archiveConfirm":"Archive","archived":"Archived {{id}}","archiveMessage":"Archive {{id}} as a duplicate of {{duplicateOf}}?","archiveTitle":"Archive near-duplicate task","copy":"This task appears to be a near-duplicate of","headline":"Potential duplicate detected","keepBtn":"Keep","kept":"Kept {{id}} and dismissed duplicate warning"},"nextRecoveryAt":"Next recovery at {{time}}","no":"No","noCommits":{"disabled":"No-commits expectation disabled","enabled":"No-commits expectation enabled","hint":"Allows the task to complete without producing git commits. Use for evaluation, verification, or audit tasks where the deliverable is the recorded decision.","label":"No commits expected (decision-only task)"},"noRuntimeLinks":"No runtime links","noScheduledRecovery":"No scheduled recovery","noSteps":"No steps","noTimedEvents":"No timed events recorded yet.","noTokenUsage":"No token usage recorded for this task yet.","notSet":"Not set","noWorkflowStepTimings":"No completed workflow step timings yet.","outputTokens":"Output","pause":{"pauseBtn":"Pause","paused":"Paused {{id}}","pausedByAgent":"Paused by agent","unpauseBtn":"Unpause","unpaused":"Unpaused {{id}}","worktrunkFailed":"Worktrunk operation failed"},"paused":"Paused","plan":{"approveBtn":"Approve Plan","approved":"Plan approved — {{id}} moved to Todo","rebuildMessage":"Rebuild the plan for this task? The task will move to planning for replanning.","rebuildTitle":"Rebuild Plan","rejectBtn":"Reject Plan","rejected":"Plan rejected — {{id}} returned to Planning for replanning","rejectMessage":"Reject this plan? The specification will be discarded and regenerated.","rejectTitle":"Reject Plan","replanning":"Replanning {{id}}…"},"pr":{"awaitingChecks":"Awaiting PR checks","checkPrStatus":"Check PR Status","creatingPr":"Creating PR…","finishAndClose":"Finish & Close","mergeAndClose":"Merge & Close","mergingFixes":"Merging fixes…","mergingPr":"Merging PR…","startPrReview":"Start PR Review","statusRefreshed":"PR status refreshed"},"priority":{"ariaLabel":"Task priority","label":"Priority:","updated":"Priority updated to {{priority}}"},"progress":{"heading":"Progress","noSteps":"(no steps defined)","stepCount_one":"{{count}}/{{total}} step","stepCount_other":"{{count}}/{{total}} steps"},"provenance":{"createdBy":"Created by","createdVia":"Created via"},"recoveryState":"Recovery state","refine":{"btn":"Refine","charCount_one":"{{count}}/2000 characters","charCount_other":"{{count}}/2000 characters","createBtn":"Create Refinement Task","creating":"Creating...","feedbackRequired":"Please enter feedback describing what needs refinement","feedbackTooLong":"Feedback must be 2000 characters or less","help":"Describe what needs to be refined or improved...","modalTitle":"Refine","placeholder":"Enter your feedback here...","taskCreated":"Refinement task created: {{id}}"},"reset":{"btn":"Reset","confirmMessage":"This will erase all progress for {{id}} and start the task from scratch. Continue?","resetSuccess":"Reset {{id}} — fresh run will be allocated"},"respecify":{"btn":"Respecify"},"retries":{"branchConflict":"Branch conflict recovery","branchConflictTitle":"FN-4068 branch-conflict recovery retries","capReached":"Retry cap reached for this task.","collapse":"Collapse retries details","expand":"Expand retries details","label":"Retries","mergeConflict":"Merge conflict bounces","mergeConflictTitle":"Merge conflict bounce retries","postReviewFix":"Post-review fixes","postReviewFixTitle":"Post-review remediation retries","recovery":"Recovery retries","recoveryTitle":"Transient executor recovery retries","reviewerContext":"Reviewer context retries","reviewerContextTitle":"FN-4082 compact reviewer retry","reviewerFallback":"Reviewer fallback retries","reviewerFallbackTitle":"FN-4092 fallback-model retry","stuckKill":"Stuck kills","stuckKillTitle":"Stuck-task detector forced agent kill retries","taskDone":"task_done retries","taskDoneTitle":"Agent exited without task_done and task was retried","verification":"Verification bounces","verificationTitle":"Verification failure bounce retries","workflowStep":"Workflow retries","workflowStepTitle":"Workflow step failure retries"},"retriesLabel":"Retries (recovery / workflow / merge / task_done)","retry":{"btn":"Retry","retried":"Retried {{id}}"},"runtimeLinks":"Runtime links","runtimeStatus":"Runtime status","selfHealCounters":"Self-heal counters","selfHealValues":"stuck kills: {{stuckKills}}, post-review fixes: {{postReviewFixes}}","sourceIssue":{"collapse":"Collapse source issue details","expand":"Expand source issue details","githubAriaLabel":"GitHub source issue","githubBadge":"GitHub","identifier":"Issue Identifier","label":"Source issue","none":"(none)","provider":"Provider","repository":"Repository","url":"URL"},"spec":{"aiReviseHeading":"Ask AI to Revise","aiReviseHelp":"Provide feedback for the AI to improve this specification. The task will move to planning for replanning.","editBtn":"Edit","feedbackPlaceholder":"e.g., 'Add more details about error handling', 'Split this into smaller steps', 'Include tests for the API endpoints'...","hintCancel":"to cancel","hintSave":"to save","loading":"Loading specification…","noPrompt":"(no prompt)","placeholder":"Enter task specification in Markdown...","requesting":"Requesting…","requestRevisionBtn":"Request AI Revision","revisionColumnError":"Cannot request revision: Task must be in 'triage', 'todo', 'in-progress', or 'in-review' column.","revisionRequested":"AI revision requested. Task moved to planning.","saving":"Saving…","updated":"Spec updated"},"stall":{"noLogEntry":"No log entry yet","noLogEntryTitle":"No 'In-review stall surfaced' entry on this task yet — self-healing may not have logged one within its rate-limit window.","observed":"Observed","threshold":"Threshold","viewActivityLog":"View activity log"},"stepProgress":"Step progress","summary":{"heading":"Summary"},"tabs":{"changes":"Changes","comments":"Comments","definition":"Definition","chat":"Chat","documents":"Documents","logs":"Logs","model":"Model","pullRequest":"Pull Request","review":"Review","routing":"Routing","stats":"Stats","workflow":"Workflow","terminal":"Terminal"},"timedDuration":"Timed duration","timestamps":{"ariaLabel":"Task timestamps","created":"Created","updated":"Updated"},"timingEvents":"Timing events","tokenTotalsAria":"Task token totals","tokenUsage":"Token Usage","totalExecutionTime":"Total execution time","totalTokens":"Total","updateFailed":"Failed to update {{id}}: {{error}}","updateSuccess":"Updated {{id}}","wallClockSinceFirst":"Wall-clock since first execution","workflow":{"loadFailed":"Failed to load workflow results: {{error}}","stepsUpdated":"Workflow steps updated","stepsUpdateFailed":"Failed to update workflow steps: {{error}}"},"workflowRuntime":"Workflow runtime","workflowTimedSteps":"Workflow timed steps","yes":"Yes","terminal":{"loading":"Loading terminal…"}}`),Xe={cancel:"Cancel",collapse:"Collapse",contentLabel:"Content",contentPlaceholder:"Enter document content…",contentRequired:"Content is required",create:"Create",created:"Document created",creating:"Creating…",deleteConfirm:"Delete?",deleted:"Document deleted",edit:"Edit",expand:"Expand",failedToCreate:"Failed to create document",failedToDelete:"Failed to delete document",failedToLoad:"Failed to load documents",failedToLoadRevisions:"Failed to load revisions",failedToSave:"Failed to save document",heading:"Documents",history:"History",invalidKeyFormat:"Invalid key format. Use 1-64 alphanumeric characters, hyphens, or underscores.",keyHint:"Alphanumeric, hyphens, underscores (1-64 chars)",keyLabel:"Key",keyPlaceholder:"e.g., plan, notes, research",keyRequired:"Document key is required",loading:"Loading documents…",loadingRevisions:"Loading…",modeMarkdown:"Markdown",modePlain:"Plain",newDocumentButton:"New Document",newDocumentTitle:"New Document",no:"No",noDocuments:"No documents yet.",noPreviousRevisions:"No previous revisions.",revisionHistory:"Revision History",save:"Save",saved:"Document saved",saving:"Saving…",switchToMarkdown:"Switch to markdown",switchToPlainText:"Switch to plain text",yes:"Yes"},$e={unset:"—",moreFields:"Additional fields",orphaned:"Orphaned fields",saveFailed:"Failed to save field"},et={addDependencies:"Add dependencies",attachHint:"You can also paste images or drag & drop",attachmentsLabel:"Attachments",attachScreenshot:"Attach Screenshot",autoMergeDefault:"Default (Follow project setting)",autoMergeDisabled:"Disabled",autoMergeEnabled:"Enabled",autoMergeHint:"Default follows the project auto-merge setting.",autoMergeLabel:"Auto-merge",autoSaveSaved:"Saved",autoSaveSaving:"Saving...",baseBranchCustom:"Custom…",baseBranchDefault:"(default / project branch)",baseBranchLabel:"Merge target / base branch",baseBranchPlaceholder:"e.g. main",branchModeAutoNew:"Create auto-named branch per task",branchModeCustomNew:"Create custom new branch",branchModeExisting:"Use existing branch",branchModeProjectDefault:"Use project/default branch",branchModeSharedGroup:"Merge into a shared feature branch",branchNameLabel:"Branch name",branchPlaceholder:"e.g. feature/my-task",branchSettingsLabel:"Branch Settings",branchStrategyLabel:"Branch strategy",collapseDescription:"Collapse description",dependenciesLabel:"Dependencies",dependenciesSelected_one:"{{count}} selected",dependenciesSelected_other:"{{count}} selected",descriptionLabel:"Description",descriptionPlaceholder:"What needs to be done?",descriptionRefinedToast:"Description refined with AI",editingDescription:"Editing Description",enterDescriptionFirst:"Enter a description first",executionModeFast:"Fast",executionModeLabel:"Execution mode",executionModeStandard:"Standard",executionOrderLabel:"Execution order:",executorLabel:"Executor",executorModelLabel:"Executor Model",expandDescription:"Expand description",githubRepoFormatError:"Repository must be in owner/repo format.",githubRepoLabel:"Repository (owner/repo)",githubTrackingEnable:"Enable GitHub issue tracking for this task",githubTrackingLabel:"GitHub Tracking",loadingModels:"Loading models…",modelConfigLabel:"Model Configuration",moreOptions:"More options",moveDown:"Move down",moveUp:"Move up",noAvailableTasks:"No available tasks",nodeDefaultOption:"Use project default / local",nodeOverrideHint:"Task override takes priority over project default node routing.",nodeOverrideLabel:"Execution Node Override",noModelsAvailable:"No models available. Configure authentication in Settings.",overridePreset:"Override",planButton:"Plan",planningLabel:"Planning",planningModelLabel:"Planning Model",presetCustom:"Custom",presetLabel:"Preset",presetUseDefault:"Use default",priorityLabel:"Priority",refineAddDetailsDesc:"Add implementation details and context",refineAddDetailsTitle:"Add details",refineButton:"Refine",refineClarifyDesc:"Make the description clearer and more specific",refineClarifyTitle:"Clarify",refineExpandDesc:"Expand into a more comprehensive description",refineExpandTitle:"Expand",refineInProgress:"Refining...",refineSimplifyDesc:"Simplify and make more concise",refineSimplifyTitle:"Simplify",refineTitle:"Refine description with AI",removeImage:"Remove image",removeStep:"Remove",reviewDefault:"Default (Auto — triage decides)",reviewerLabel:"Reviewer",reviewerModelLabel:"Reviewer Model",reviewLabel:"Review",reviewLevel0:"0 — None",reviewLevel1:"1 — Plan Only",reviewLevel2:"2 — Plan and Code",reviewLevel3:"3 — Full",searchTasksPlaceholder:"Search tasks…",sharedBranchPlaceholder:"e.g. clionboarding",sharedFeatureBranchLabel:"Shared feature branch",subtaskButton:"Subtask",thinkingDefault:"Default ({{level}})",thinkingHigh:"High",thinkingLabel:"Thinking",thinkingLow:"Low",thinkingMedium:"Medium",thinkingMinimal:"Minimal",thinkingOff:"Off",titleLabel:"Title",titlePlaceholder:"Task title",useDropdown:"Use dropdown",usingPreset:"Using preset: {{name}}",workflowDefaultBadge:"(default)",workflowHelp:"The selected workflow's steps run automatically around this task's execution.",workflowLabel:"Workflow",workflowNone:"No workflow",workflowsCta:"Set up workflows in the editor",workflowsLoading:"Loading workflows…",workingBranchLabel:"Working branch"},tt={githubImported:"Imported {{id}} from GitHub"},ot={autoMergeOff:"Auto-merge off",autoMergeOn:"Auto-merge on",autoMergePreferenceUpdated:"Per-task auto-merge preference updated",completedAtSep:" · Completed: {{timestamp}}",createPr:"Create PR",effective:"Effective: {{label}}",effectiveFrozen:"Effective: {{label}} — frozen on entry to review",errorSep:" · Error: {{message}}",followDefault:"Follow default",loadError:"Failed to load review data.",loadingData:"Loading review data…",markdown:"Markdown",noCapturedFeedback:"No review feedback captured yet.",noFeedbackDirect:"No reviewer feedback yet — this task has not produced reviewer-agent feedback in direct mode.",noReviewItems:"No review items yet.",perTaskAutoMerge:"Per-task auto-merge",plain:"Plain",prSummaryLine_one:"{{decision}} · {{count}} review item(s)",prSummaryLine_other:"{{decision}} · {{count}} review item(s)",queueing:"Queueing…",refresh:"Refresh",refreshDataFailed:"Failed to refresh review data.",refreshed:"Review refreshed",refreshFailed:"Refresh failed",refreshing:"Refreshing…",refreshStatusLine:"{{status}} · Last refreshed: {{timestamp}} · {{source}}",requestRevision:"Request revision",reviewerSummaryLine_one:"{{reviewer}} · {{count}} review item(s)",reviewerSummaryLine_other:"{{reviewer}} · {{count}} review item(s)",revisionQueueFailed:"Failed to queue revision",revisionStarted:"Same-task AI revision started from selected review feedback",selectedAt:"Selected: {{timestamp}}",showMarkdown:"Show formatted markdown",showRawText:"Show raw text",startedAtSep:" · Started: {{timestamp}}",updateFailed:"Failed to update {{taskId}}: {{error}}",upToDate:"Up to date"},at={addTaskPlaceholder:"Add a task...",agent:"Agent",agentLabel:"Agent",archive:"Archive",archived:"Archived {{taskId}}",archivedUnlinked:"Archived {{taskId}} after unlinking lineage references",archiveFailed:"Failed to archive {{taskId}}: {{error}}",archiveLineageConflict:`{{taskId}} has lineage children ({{children}}) that reference it as a source parent.
5
+ Delete anyway by unlinking these references first?`,listControlsLabel:"List controls",newTask:"+ New Task",noChange:"No change",nodeOverrideLabel:"Node Override",nodeStatusConnecting:"Connecting",nodeStatusError:"Error",nodeStatusOffline:"Offline",nodeStatusOnline:"Online",noTasks:"No tasks",noTasksMatch:"No tasks match your filter",noTasksYet:"No tasks yet",pausedByAgent:"paused by agent",pauseSelected:"Pause selected",pauseSelectedTitle:"Pause all selected tasks that are not already paused",pauseUnavailable:"Pause action is unavailable",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressTitle:"Preserve Progress?",resetProgress:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressTitle:"Reset Progress?",resizeSidebar:"Resize task list sidebar",reviewerModel:"Reviewer Model",selectAll:"Select all visible tasks",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",selectTask:"Select {{taskId}}",selectTaskPrompt:"Select a task to view details",showAll:"Show all",showAllTitle:"Show all tasks",showDone:"Show Done",showDoneTitle:"Show done tasks",staleOnly:"Stale only",staleOnlyTitle:"Show stale tasks only",stalePausedReview:"Stale paused review",stalePausedReviewTitle:"Show stale paused review tasks only",stats_one:"{{count}} of {{total}} tasks",stats_other:"{{count}} of {{total}} tasks",statsInColumn_one:"{{count}} of {{total}} tasks in {{column}}",statsInColumn_other:"{{count}} of {{total}} tasks in {{column}}",statusMergingFix:"Merging fixes…",stuck:"Stuck",taskCreationUnavailable:"Task creation not available",unpauseSelected:"Unpause selected",unpauseSelectedTitle:"Unpause selected tasks that are currently paused",unpauseUnavailable:"Unpause action is unavailable",useProjectDefault:"Use project default",viewOptions:"View options"},ie={agent:"Agent",agents:"Agents",agentsTab:"Agents",ago:"ago",allAgents:"All agents",allAgentsOption:"All agents",approvalApprove:"Approve",approvalCommentPlaceholder:"Optional comment",approvalDeny:"Deny",approvalRequested:"Requested",approvalRequester:"Requester",approvals:"Approvals",approvalTask:"Task",back:"Back",backButton:"← Back",closeAriaLabel:"Close",closeTitle:"Close",compose:"Compose",composeButton:"Compose",composeMessageTitle:"Compose message",composeTitle:"Compose message",conversation:"Conversation",conversationLabel:"Conversation",delete:"Delete",deleteButton:"Delete",deleteFailed:"Failed to delete message",from:"From",fromLabel:"From:",fromPrefix:"From: {{participant}}",history:"History",inbox:"Inbox",inboxTab:"Inbox",justNow:"Just now",labelAgent:"Agent: {{id}}",labelAgentNamed:"Agent: {{name}}",labelSystem:"System",labelUser:"User: {{id}}",labelYou:"You",markAllRead:"Mark all read",markAllReadButton:"Mark all read",markAllReadTitle:"Mark all as read",markedAsRead_one:"Marked {{count}} messages as read",markedAsRead_other:"Marked {{count}} messages as read",markReadFailed:"Failed to mark messages as read",messageDeleted:"Message deleted",messageSent:"Message sent",noAgentMessages:"No agent-to-agent messages",noAgents:"No agents found",noAgentsFound:"No agents found",noHistoricalApprovals:"No historical approvals",noInbox:"No messages in your inbox",noMessagesInbox:"No messages in your inbox",noOutbox:"No sent messages",noPendingApprovals:"No pending approvals",noReceivedMessages:"No received messages for this agent",noSentMessages:"No sent messages",noSentMessagesAgent:"No sent messages for this agent",outbox:"Outbox",outboxTab:"Outbox",pending:"Pending",refreshTitle:"Refresh",reply:"Reply",replyButton:"Reply",replyingTo:"Replying to",replyingToMessage:"Replying to message",replyLoadFailed:"Failed to load replied message. Click to retry.",selectMessageToRead:"Select a message to read",system:"System",timeDaysAgo_one:"{{count}}d ago",timeDaysAgo_other:"{{count}}d ago",timeHoursAgo_one:"{{count}}h ago",timeHoursAgo_other:"{{count}}h ago",timeJustNow:"Just now",timeMinsAgo_one:"{{count}}m ago",timeMinsAgo_other:"{{count}}m ago",title:"Mailbox",to:"To",toLabel:"To:",toPrefix:"To: {{recipient}}",typeAgentToAgent:"Agent ↔ Agent",typeAgentToUser:"Agent → You",typeSystem:"System",typeUserToAgent:"You → Agent",user:"User",you:"You"},ne={auditChecksTitle:"Audit Checks",autoSummarizeHint:"Automatically compact memory when it exceeds the threshold on a schedule",autoSummarizeLabel:"Auto-Summarize Memory",autoSummarizeScheduleHint:"Cron expression for auto-summarize schedule (default: daily at 3 AM)",autoSummarizeScheduleLabel:"Schedule (cron)",backendFile:"File (.fusion/memory/, agent/<agent-name>/memory/)",backendQmd:"QMD (Quantized Memory Distillation)",backendReadonly:"Read-Only",cancel:"Cancel",capAtomicWrites:"Atomic Writes",capPersistent:"Persistent",capReadable:"Readable",capWritable:"Writable",categories:"Categories",charCount_one:"{{count}} characters",charCount_other:"{{count}} characters",compactFailed:"Failed to compact memory",compacting:"Compacting…",compactionThresholdHint:"Memory will be compacted when it exceeds this character count",compactionThresholdLabel:"Compaction Threshold (chars)",compactSelectedFile:"Compact Selected File",currentBackendTitle:"Current Backend",description:"Working memory, long-term insights, and engine status",disabledMessage:"Memory is currently disabled. Enable memory tools in Settings to edit these automations.",dreaming:"Dreaming…",dreamNow:"Dream Now",dreamNowHint:"Manually trigger dream processing now.",dreamProcessingComplete:"Dream processing completed",dreamProcessingFailed:"Failed to run dream processing",dreamsEnabledHint:"Turns daily notes into DREAMS.md and promotes reusable lessons into MEMORY.md.",dreamsEnabledLabel:"Process dreams from daily memory",dreamsScheduleHint:"Cron expression for dream processing.",dreamsScheduleLabel:"Dream Schedule",editorDefaultDescription:"Edits the selected memory file.",editorLabel:"Memory Editor",editRaw:"Edit Raw",extracting:"Extracting…",extractInsightsFailed:"Failed to extract insights",extractionFailed:"Failed",extractionSuccess:"Success",extractNow:"Extract Now",fileCompacted:"Memory file compacted",fileLabel:"Memory File",fileSummary:"{{size}} bytes · updated {{updatedAt}}",fileSwitchDirtyHint:"Save or discard the current edits before switching files.",fileSwitchHint:"Choose any project memory file to view or edit.",healthHealthy:"Healthy",healthIssues:"Issues Found",healthStatusTitle:"Health Status",healthWarning:"Warning",insightCount_one:"{{count}} insights",insightCount_other:"{{count}} insights",insightsExtracted_one:"{{count}} insights extracted",insightsExtracted_other:"{{count}} insights extracted",insightsMemoryLabel:"Insights Memory",insightsSaved:"Insights saved",installing:"Installing…",installQmd:"Install qmd",installQmdFailed:"Failed to install qmd",lastExtractionLabel:"Last Extraction",lastUpdated:"Last Updated",layerDaily:"Daily",layerDescDaily:"Raw daily observations, open loops, and running context for dream processing.",layerDescDreams:"Synthesized patterns and open loops promoted from daily memory.",layerDescLongTerm:"Curated durable decisions, conventions, constraints, and pitfalls promoted from dreams.",layerDreams:"Dreams",layerLongTerm:"Long-term",loadFileFailed:"Failed to load memory file",loadingEngineStatus:"Loading engine status…",loadingFile:"Loading memory file…",loadingInsights:"Loading insights…",localFallbackUsed:"local fallback used",memorySaved:"Memory saved",noInsights:"No insights extracted yet.",noInsightsHint:'Insights are automatically extracted from working memory. Click "Extract Now" to trigger extraction manually.',noMatchingMemory:"No matching memory found.",pruningApplied:"Applied",pruningLabel:"Pruning",pruningNotNeeded:"Not needed",qmdAvailableOnPath:"qmd is available on PATH.",qmdChecking:"Checking",qmdCheckingAvailability:"Checking qmd availability…",qmdInstalled:"Installed",qmdInstallSuccess:"qmd installed successfully",qmdInstallUnavailable:"qmd install finished, but qmd is still unavailable",qmdIntegrationTitle:"QMD Integration",qmdNotInstalled:"qmd is not installed. Search will use local files. Install indexed retrieval:",qmdPathUsed:"qmd path used",qmdStatusAvailable:"available",qmdStatusMissing:"missing",readOnlyBanner:"This memory backend is read-only. Changes cannot be saved.",retrievalTestComplete:"Memory retrieval test complete",retrievalTestFailed:"Failed to test memory retrieval",retrievalTestFallback:"qmd is not installed; local fallback was used",runAudit:"Run Audit",save:"Save",saveInsights:"Save Insights",saveInsightsFailed:"Failed to save insights",saveMemoryFailed:"Failed to save memory",saveSettings:"Save Settings",saveSettingsFailed:"Failed to save memory settings",saving:"Saving…",searchPlaceholder:"Search memory with qmd",sectionCount_one:"{{count}} sections",sectionCount_other:"{{count}} sections",settingsNote:"Note: Change backend type in",settingsNoteLink:"Settings → Memory",settingsNoteToast:"Open Settings → Memory to change backend type",settingsSaved:"Memory settings saved",sizeChars:"{{size}} chars",tabEngines:"Engines",tabInsights:"Insights",tabWorking:"Working Memory",testing:"Testing…",testMemorySearchTitle:"Test Memory Search",testResultCount_one:'{{count}} result for "{{query}}"',testResultCount_other:'{{count}} results for "{{query}}"',testResultStatus:"qmd {{qmdStatus}} · {{fallbackStatus}}",testRetrieval:"Test Retrieval",testSearchHint:"Runs the same qmd-backed memory_search path agents use.",title:"Memory",totalInsights:"Total Insights",workingMemoryLabel:"Working Memory"},se={advanced:"Advanced",advancedTo:"{{branch}} advanced to {{sha}}.",changesWillAutoStash:" (local changes will be auto-stashed and restored)",checkedOutBehind:"Your checked-out copy at {{path}} is behind.",commit:"Commit",disabledMergeLocked:"Push paused — a Fusion merge is in progress.",disabledNoRemote:"No `origin` remote configured.",disabledNoUpstream:"Branch has no upstream on origin.",dismissNotice:"Dismiss merge advance notice",filesChanged:"Files in merge commit",forceWithLeaseLabel:"Allow force-with-lease (use only when you know origin diverged intentionally)",insertionsDeletions:"Merge-commit insertions / deletions",mergedAt:"Merged at",mergedSuccess:"Merged successfully",message:"Message",pr:"PR",pulling:"Pulling…",pushForceWithLease:"Push (force-with-lease)",pushHeading_one:"Push {{branch}} to origin — ahead by {{count}} commit{{plural}}.",pushHeading_other:"Push {{branch}} to origin — ahead by {{count}} commit{{plural}}.",pushing:"Pushing…",pushSuccess:"Pushed to origin/{{branch}} @ {{sha}}.",pushToOrigin:"Push to origin",recordedNoConfirm:"Recorded without local merge confirmation",shortstatTitle:"Final commit shortstat; for the full landed diff across all task commits, see the Changes tab.",smartPull:"Smart Pull",status:"Status",title:"Merge Details"},re={ariaLabel:"Node mesh topology visualization",connecting:"Connecting",error:"Error",failedToFetchMeshState:"Failed to fetch mesh state",noNodes:"No nodes to display",noPeers:"Peer-to-peer discovery data unavailable.",offline:"Offline",online:"Online"},le=JSON.parse('{"acceptance":"Acceptance:","acceptanceCriteriaOptional":"Acceptance criteria (optional)","actionGenerating":"Generating…","actionResume":"Resume","actionRetry":"Retry","actionReview":"Review","activateSlice":"Activate slice","activityTime":"Activity {{time}}","actual":"Actual: {{value}}","addAssertion":"Add assertion","addContext":"Add any extra context or direction...","addFeature":"Add feature","additionalComments":"Additional comments (optional)","addMilestone":"Add Milestone","addSlice":"Add slice","aiThinking":"AI is thinking...","aiValidatedAtRuntime":"AI-validated at runtime","aiValidatedMissionGate":"AI-validated mission gate","allFeaturesLinked":"All features already linked","approvePlan":"Approve Plan","assertionCreated":"Assertion created","assertionCreateFailed":"Failed to create assertion","assertionFieldsRequired":"Title and assertion text are required","assertionTextEditPlaceholder":"Assertion text","assertionTextPlaceholder":"Assertion text (what should be true when complete)","assertionTitlePlaceholder":"Assertion title","assertionUpdated":"Assertion updated","assertionUpdateFailed":"Failed to update assertion","attemptRetries_one":"Attempt {{attempt}} · {{count}} {{label}} left","attemptRetries_other":"Attempt {{attempt}} · {{count}} {{label}} left","autopilotActivatingSlice":"Activating slice","autopilotCompleting":"Completing","autopilotDescription":"When on, Fusion automatically activates the next slice and plans its features as work completes.","autopilotDisabled":"Autopilot disabled","autopilotEnabled":"Autopilot enabled","autopilotEnabledLabel":"Autopilot enabled","autopilotLabel":"Autopilot","autopilotLastActivation":"Last activation {{time}}","autopilotOff":"Off","autopilotUpdateFailed":"Failed to update autopilot","autopilotWatching":"Autopilot watching","autopilotWatchingSince":"Watching since {{time}}","autopilotWatchingState":"Watching","backToMissions":"Back to missions","backToMissionsList":"Back to missions list","blocked":"Blocked:","blockedReason":"Blocked reason:","branchName":"Branch name","branchNameAriaLabel":"Mission branch name","branchNamePlaceholder":"e.g. feature/mission-work","branchNameRequired":"Branch name is required for selected branch strategy","branchStrategy":"Branch strategy","branchStrategyAriaLabel":"Mission branch strategy","branchStrategyAutoPerTask":"Auto-name a branch per task (from details)","branchStrategyCustomNew":"Create custom branch","branchStrategyExisting":"Use existing branch","branchStrategyProjectDefault":"Use project/default branch","buildExample":"e.g., Build a real-time collaborative document editor with presence, comments, and version history...","cancelButton":"Cancel","clickToViewTask":"Click to view task","close":"Close","closeMissionManager":"Close Mission Manager","collapseDetails":"Collapse details","completedFeatures":"{{completed}}/{{total}} features","completedMilestones":"{{completed}}/{{total}} milestones","completedTasks":"{{completed}}/{{total}} tasks","confirmMilestonePlaceholder":"How to confirm this milestone is complete...","confirmSlicePlaceholder":"How to confirm this slice is done...","contractAssertions":"Contract assertions (AI-validated)","createButton":"Create","created":"Mission created","createdFromInterview":"Mission created from AI interview","createTask":"Create Task","creatingMission":"Creating Mission...","defaultInterviewTitle":"Mission interview","deleteAssertion":"Delete assertion","deleteButton":"Delete","deleteConfirm":"Delete this {{type}}? This cannot be undone.","deleted":"Mission deleted","deleteFailed":"Failed to delete mission","deleteFeature":"Delete feature","deleteMilestone":"Delete milestone","deleteMission":"Delete mission","deleteSlice":"Delete slice","describeGoal":"Describe what you want to build. The AI will interview you to understand scope, constraints, and requirements, then produce a structured plan with milestones, slices, and features.","descriptionLabel":"Mission Description","descriptionOptional":"Description (optional)","detailTabs":"Mission detail tabs","discardButton":"Discard","discardDraft":"Discard draft","discardDraftConfirm":"Discard this interview draft? This removes the saved draft and cannot be undone.","dismiss":"Dismiss","draftDiscardFailed":"Failed to discard draft","draftOpenInAnotherTab":"Draft is open in another tab","draftsLabel":"Drafts","editAssertion":"Edit assertion","editFeature":"Edit feature","editMilestone":"Edit milestone","editMission":"Edit mission","editSlice":"Edit slice","enrichedDescPreview":"Enriched Description Preview","expandRunHistory":"Expand to show run history","expected":"Expected: {{value}}","failedAssertions":"Failed assertions:","failedAssertionsTitle":"Failed Assertions:","failedLoadModels":"Failed to load models","featureCreated":"Feature created","featureCriteriaAwaitingSync":"Feature criteria awaiting assertion sync","featureDeleted":"Feature deleted","featureDeleteFailed":"Failed to delete feature","featureLinkedToAssertion":"Feature linked to assertion","featureLinkedToTask":"Feature linked to task","featureLinkFailed":"Failed to link feature","featureLinkTaskFailed":"Failed to link feature to task","featureSaveFailed":"Failed to save feature","featuresCount_one":"{{count}} features","featuresCount_other":"{{count}} features","featureTitlePlaceholder":"Feature title","featureTitleRequired":"Feature title is required","featureTriaged":"Feature triaged — task created","featureTriageFailed":"Failed to triage feature","featureUnlinkedFromAssertion":"Feature unlinked from assertion","featureUnlinkedFromTask":"Feature unlinked from task","featureUnlinkFailed":"Failed to unlink feature","featureUnlinkFromAssertionFailed":"Failed to unlink feature","featureUpdated":"Feature updated","filterAll":"All events","filterAutopilot":"Autopilot events","filterErrors":"Errors & warnings","filterLabel":"Filter","filterSlices":"Slice & milestone events","filterStateChanges":"State changes","filterTasks":"Task events","generatedFixFeatures":"Generated fix features:","generatedFixFeaturesTitle":"Generated Fix Features","generatedFromFeature":"Generated from feature: {{id}}","hideDetails":"Hide details","hideMetadata":"Hide metadata","hideThinking":"Hide thinking","hideValidationRounds":"Hide validation rounds","interviewActionGenerating":"Generating plan","interviewActionResume":"Resume interview","interviewActionRetry":"Retry interview","interviewActionReview":"Review plan","interviewComplete":"Plan ready — review and approve to create the mission.","interviewErrorDefault":"Session failed while contacting the AI.","interviewErrored":"Interview hit an error. Retry from this list item.","interviewGenerating":"Generating mission hierarchy from interview context.","interviewInProgress":"Interview in progress","interviewWaiting":"Interview is waiting for your next response.","lastValidatorStatus":"Last {{status}}","linkAFeature":"Link a feature","linkButton":"Link","linkedCount_one":"{{count}} linked","linkedCount_other":"{{count}} linked","linkedFeaturesCount_one":"{{count}} linked feature","linkedFeaturesCount_other":"{{count}} linked features","linkedFeaturesLabel":"Linked Features","linkedGoals":"Linked goals","linkedGoalsTitle":"Linked Goals","linkFeatureButton":"Link Feature","linkFeatureToTask":"Link feature to task:","linkToTask":"Link to task","loadActivityFailed":"Failed to load mission activity","loadDetailFailed":"Failed to load mission details","loadFailed":"Failed to load missions","loadingActivity":"Loading mission activity...","loadingMissionDetails":"Loading mission details...","loadingMissions":"Loading missions...","loadingModels":"Loading models…","loadMore":"Load more","loopState":"Loop state: {{state}}","milestoneCreated":"Milestone created","milestoneDeleted":"Milestone deleted","milestoneDeleteFailed":"Failed to delete milestone","milestoneDescriptionPlaceholder":"Milestone description...","milestoneSaveFailed":"Failed to save milestone","milestonesCount_one":"{{count}} milestones","milestonesCount_other":"{{count}} milestones","milestoneTitlePlaceholder":"Milestone title","milestoneTitleRequired":"Milestone title is required","milestoneUpdated":"Milestone updated","missionHealthAriaLabel":"Mission health: {{state}}","missionInterviewInProgressDesc":"Mission interview is still in progress. Open this mission to continue planning.","missionList":"Mission list","missionManagerAriaLabel":"Mission Manager","missionTargetBranchAriaLabel":"Mission target branch","missionTitlePlaceholder":"Mission title","noAssertionFailures":"No assertion failures","noAssertionsDefined":"No feature acceptance criteria or contract assertions defined yet.","noAssertionsYet":"No linked contract assertions are loaded yet. Feature criteria below will still be AI-validated when mission validation runs.","noEventsYet":"No events yet.","noFeaturesLinkedYet":"No features linked yet","noFixFeaturesGenerated":"No fix features generated.","noGoalsLinked":"No goals linked to this mission","noLinkedGoals":"No linked goals.","noMilestonesYet":"No milestones yet. Add one to get started.","noMissionsYetBody":"Missions are large initiatives that bundle milestones, slices, and features into a single plan. Plan a mission to break down a goal end-to-end and let agents work through it autopilot-style.","noMissionsYetTitle":"No missions yet","none":"None","noSlicesYet":"No slices yet","noValidationRunsYet":"No validation runs yet.","openMissionAriaLabel":"Open mission {{title}}","orSelect":"Or select:","planMilestone":"Plan milestone","planNewMission":"Plan New Mission","planningModel":"Planning Model","planReady":"Mission Plan Ready","planSlice":"Plan slice","planStateNeedsUpdate":"Needs update","planStateNotPlanned":"Not planned","planStatePlanned":"Planned","planTitle":"Plan Mission with AI","prepareQuestion":"Preparing next question...","progressText_one":"Question {{count}} of ~6","progressText_other":"Question {{count}} of ~6","reconnecting":"Reconnecting…","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","removeFeature":"Remove feature","removeMilestone":"Remove milestone","removeSlice":"Remove slice","resizeSidebar":"Resize mission sidebar","resumed":"Mission resumed","resumeFailed":"Failed to resume mission","resumeInterviewAriaLabel":"Resume interview {{title}}","resumeMission":"Resume mission","retries":"retries","retry":"retry","retryBudgetTitle":"Implementation attempts and remaining retry budget","retrying":"Retrying...","roadmapLabel":"Roadmap","run":"Run:","runSettings":"Mission run settings","runSettingsTitle":"Mission run settings","saveButton":"Save","saveFailed":"Failed to save mission","selectMissionToView":"Select a mission to view details","sendToBackground":"Send to background","sessionActiveAnother":"Session is active in another tab.","sessionActiveHeartbeat":"This session is active in another tab (live heartbeat)","sessionActiveTab":"This session is active in another tab","showDetails":"Show details","showMetadata":"Show metadata","showThinking":"Show thinking","showValidationRounds":"Show validation rounds","sliceActivated":"Slice activated","sliceActivateFailed":"Failed to activate slice","sliceCreated":"Slice created","sliceDeleted":"Slice deleted","sliceDeleteFailed":"Failed to delete slice","sliceSaveFailed":"Failed to save slice","slicesCount_one":"{{count}} slices","slicesCount_other":"{{count}} slices","sliceTitlePlaceholder":"Slice title","sliceTitleRequired":"Slice title is required","sliceTriaged_one":"Triaged {{count}} feature","sliceTriaged_other":"Triaged {{count}} features","sliceTriageFailed":"Failed to triage slice features","sliceUpdated":"Slice updated","sliceVerification":"Slice Verification","source":"Source:","started":"Mission started — first slice activated","startFailed":"Failed to start mission","startInterview":"Start Interview","startMission":"Start mission","startOver":"Start Over","statusActive":"Active","statusArchived":"Archived","statusBlocked":"Blocked","statusComplete":"Complete","statusDefined":"Defined","statusDone":"Done","statusFailed":"Failed","statusInProgress":"In Progress","statusPassed":"Passed","statusPending":"Pending","statusPlanning":"Planning","statusTriaged":"Triaged","stopFailed":"Failed to stop mission","stopMission":"Stop mission","stopped_one":"Mission stopped ({{count}} task paused)","stopped_other":"Mission stopped ({{count}} tasks paused)","summaryStats":"{{milestones}} milestones, {{features}} features. Review and edit before approving.","tabActivity_one":"Activity ({{count}})","tabActivity_other":"Activity ({{count}})","tabStructure":"Structure","takeControl":"Take Control","takingControl":"Taking control...","targetBranch":"Target branch","targetBranchPlaceholder":"e.g. main","taskIdPlaceholder":"Task ID (e.g., FN-001)","taskIdRequired":"Task ID is required","tasksFailed_one":"{{count}} failed","tasksFailed_other":"{{count}} failed","title":"Missions","titleLabel":"Mission Title","titleRequired":"Mission title is required","toggleDetails":"Toggle details","transformVision":"Transform your vision into a structured mission","triageAllFeatures":"Triage all features","triageCreateTask":"Triage — create task","tryExample":"Try an example:","typeAnswer":"Type your answer here...","unlinkedBadge":"Unlinked","unlinkFeature":"Unlink feature","unlinkTask":"Unlink task","untitled":"Untitled","updateButton":"Update","updated":"Mission updated","validateFeature":"Validate feature","validationRoundsCount_one":"{{count}} round","validationRoundsCount_other":"{{count}} rounds","validationRoundsLabel_one":"Validation rounds ({{count}})","validationRoundsLabel_other":"Validation rounds ({{count}})","validationRuns":"Validation Runs","validationState":"Validation state","validationStateNotStarted":"Not started","validationTelemetry":"Validation Telemetry","validationTriggered":"Validation triggered","validationTriggerFailed":"Failed to trigger validation","verification":"Verification:","verificationCriteria":"Verification Criteria","viewMissionFailures":"View mission failures","whatToBuild":"What do you want to build?"}'),de={createdFromPlanning:"Created {{id}} from planning mode",createdFromSubtask:"Created {{ids}} from subtask breakdown",createdMultipleFromPlanning:"Created {{ids}} from planning mode"},ce={noChange:"No change",selectPlaceholder:"Select a model…"},ue={addProviderToFavoritesAriaLabel:"Add {{provider}} to favorites",addToFavorites:"Add to favorites",addToFavoritesAriaLabel:"Add {{name}} to favorites",clearFilter:"Clear filter",count_one:"{{count}} model",count_other:"{{count}} models",descriptions:{executor:"The AI model used to implement this task.",override:"Override the AI models used for this task. When not specified, project or global defaults are used.",planning:"The AI model used for task specification (triage phase).",reviewer:"The AI model used to review code and plans for this task.",thinkingLevel:"Controls the reasoning effort for the AI agent. Higher levels use more tokens."},emptyStates:{noModels:"No models available. Configure authentication in Settings to enable model selection."},errors:{failedSaveSettings:"Failed to save model settings",failedSaveThinking:"Failed to save thinking level",failedUpdateFavorites:"Failed to update favorites",failedUpdateModelFavorites:"Failed to update model favorites"},filterPlaceholder:"Filter models…",labels:{executorModel:"Executor Model",planningModel:"Planning Model",reviewerModel:"Reviewer Model",thinkingLevel:"Thinking Level"},messages:{thinkingLevelSet:"Thinking level set to {{level}}",thinkingLevelSetDefault:"Thinking level set to default ({{level}})",upToDate:"Model settings are up to date.",usingDefaults:"Using project or global default models."},noResults:"No models match '{{filter}}'",options:{default:"Default",high:"High",low:"Low",medium:"Medium",minimal:"Minimal",off:"Off"},placeholders:{selectExecutor:"Select executor model…",selectPlanning:"Select planning model…",selectReviewer:"Select reviewer model…"},removeFromFavorites:"Remove from favorites",removeFromFavoritesAriaLabel:"Remove {{name}} from favorites",removeProviderFromFavoritesAriaLabel:"Remove {{provider}} from favorites",states:{loading:"Loading available models…",usingDefault:"Using default"},titles:{configuration:"Model Configuration"},useDefault:"Use default"},pe={choose:"Choose models for this task. If not selected, default models will be used.",custom:"Custom",executorModel:"Executor Model",executorPlaceholder:"Select executor model…",loading:"Loading models…",noModels:"No models available. Configure authentication in Settings to enable model selection.",preset:"Preset",reviewerModel:"Reviewer Model",reviewerPlaceholder:"Select reviewer model…",title:"Select Models",useDefault:"Use default",usingDefault:"Using default"},me={activityLog:"Activity Log",agents:"Agents",automation:"Automation",chat:"Chat",chatUnreadAriaLabel:"Unread chat response",devServer:"Dev Server",documents:"Documents",evals:"Evals",files:"Files",gitManager:"Git Manager",goals:"Goals",importFromGitHub:"Import from GitHub",insights:"Insights",loadingScripts:"Loading scripts…",mailbox:"Mailbox",mailboxPendingAriaLabel:"Pending approvals",manageScripts:"Manage Scripts…",memory:"Memory",missions:"Missions",more:"More",moreSheetTitle:"Navigate",nodes:"Nodes",noScriptsAddOne:"No scripts — add one…",planning:"Planning",primaryNavAriaLabel:"Primary navigation",projects:"Projects",reliability:"Reliability",research:"Research",scriptsSubmenuAriaLabel:"Scripts submenu",secrets:"Secrets",settings:"Settings",showScriptsAriaLabel:"Show scripts",skills:"Skills",stashRecovery:"Stash Recovery",systemStats:"System Stats",tasks:"Tasks",terminal:"Terminal",todos:"Todos",usage:"Usage",workflows:"Workflows"},ge={addDependencies:"Add dependencies",assignAgent:"Assign Agent",assignAgentButton:"Assign agent",branchRequired:"Branch name is required for this branch strategy.",clearSelection:"Clear selection",createTask:"Create Task",creating:"Creating...",dependencies:"Dependencies",discardChanges:"Discard Changes",failedToCreate:"Failed to create task",failedToUpload:"Failed to upload: {{files}}",loadingAgents:"Loading agents...",noAgentsAvailable:"No agents available",noAvailableTasks:"No available tasks",searchTasks:"Search tasks…",selectAgent:"Select agent",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",taskCreated:"Created {{taskId}}",title:"New Task",unsavedChanges:"You have unsaved changes. Discard them?"},he={actions:{connect:"Connect",connecting:"Connecting...",edit:{ariaLabel:"Edit node",label:"Edit",title:"Edit"},health:{ariaLabel:"Run node health check",label:"Health",title:"Health Check"},remove:{ariaLabel:"Remove node",ariaLabelConfirm:"Confirm remove node",label:"Remove",labelConfirm:"Confirm",title:"Remove",titleConfirm:"Confirm remove"},restart:{ariaLabel:"Restart node container",label:"Restart",title:"Available after FN-3113"},start:{ariaLabel:"Start node container",label:"Start",title:"Available after FN-3113"},stop:{ariaLabel:"Stop node container",label:"Stop",title:"Available after FN-3113"}},addCliButton:"Add CLI",addDockerNode:"Add Docker Node",addDockerNodeTitle:"Add a managed Docker node",addFirstNode:"Add First Node",adding:"Adding...",addMountButton:"Add Mount",addNode:"Add Node",addVariableButton:"Add Variable",apiKey:"API Key",apiKeyMode:"API Key Mode",apiKeyNotConfigured:"Not configured",apiKeyPlaceholder:"Enter node API key",attachProjects:"Attach Existing Projects",attachProjectsHint:"Select existing projects to run on this node and provide the node-specific absolute path for each one.",authSync:{differ:"credentials differ",label:"Auth sync: {{status}}",match:"credentials match",notSynced:"not synced"},autoAssignment:"Auto (no assignment)",autoGenerate:"Auto-generate",availableSoon:"Available after FN-3113",cancelButton:"Cancel",closeAriaLabel:"Close nodes view",closeButton:"Close",closeLogsAriaLabel:"Close logs",closeModalAriaLabel:"Close node detail modal",closeNodeModal:"Close add node modal",concurrencyMin:"Concurrency must be at least 1",concurrencyRange:"Concurrency must be between {{min}} and {{max}}",containerLogs:"Container Logs",description:"Register an existing Fusion node by providing its connection details and concurrency settings.",discoverBeforeAdding:"Discover remote projects before adding this node.",discoveredCount_one:"Discovered {{count}} remote project{{plural}}",discoveredCount_other:"Discovered {{count}} remote project{{plural}}",discovering:"Discovering...",discoverRemoteProjects:"Discover Remote Projects",discoveryFailed:"Failed to discover remote projects",dismissError:"Dismiss error",docker:"Docker",dockerBadge:"Managed Docker node",dockerConfigSaveFailed:"Failed to save Docker config",dockerConfigSaveSuccess:"Docker config saved",dockerConfiguration:"Docker Configuration",dockerContainerId:"Container ID",dockerContainerPath:"Container path",dockerContextName:"Context name",dockerCpuCount:"CPU count",dockerDefaultCpu:"Default CPU",dockerDefaultMemory:"Default memory",dockerEnvVars:"Environment Variables",dockerExitCode:"Exit code:",dockerExtraClis:"Extra CLIs",dockerFieldImage:"Image",dockerHost:{local:"Local Docker",remote:"Remote: {{host}}"},dockerHostConfig:"Host Config",dockerHostPath:"Host path",dockerHostUrl:"Docker host URL",dockerLabel:"Docker",dockerMemoryBytes:"Memory bytes (2 GB = 2147483648)",dockerNeedsRecreate:"Needs Recreate",dockerNodeCreated:'Docker node "{{name}}" created',dockerPersistence:"Persistence",dockerPersistentStorage:"Persistent Storage",dockerPidsLimit:"PIDs limit",dockerPort:"Port",dockerResourceDefault:"Default",dockerResources:"Resources",dockerResourceSizing:"Resource Sizing",dockerRetainOnDelete:"Retain on delete",dockerStatusUnknown:"Unknown",dockerTlsCaCert:"TLS CA cert path",dockerTlsCert:"TLS cert path",dockerTlsKey:"TLS key path",dockerTlsVerify:"TLS verify",dockerUptime:"Uptime:",dockerVolumeMounts:"Volume Mounts",dockerVolumeName:"Volume name",editButton:"Edit",errorFetching:"Failed to fetch nodes",errorPersistMappings:"Failed to persist project mappings",errors:{connectFailed:"Failed to connect",connectToNode:"Failed to connect to node"},errorUnregisterAfterMappingFailure:"Failed to unregister node after mapping failure",failedCreateDocker:"Failed to create Docker node",failedRefresh:"Failed to refresh nodes",failedRemove:"Failed to remove node",fetchContainerLogsFailed:"Failed to fetch container logs",fetchContainerStatusFailed:"Failed to fetch container status",fetchingLogs:"Fetching logs...",fieldApiKey:"API Key",fieldCreated:"Created",fieldMaxConcurrent:"Max Concurrent",fieldName:"Name",fields:{authKey:"Auth Key",host:"Host / IP Address",maxConcurrent:"Max Concurrent",name:"Node Name",port:"Port",url:"URL"},fieldStatus:"Status",fieldType:"Type",fieldUpdated:"Updated",fieldUrl:"URL",heading:"Nodes",healthCheckButton:"Health Check",healthCheckComplete:"Node health check complete",healthCheckFailed:"Health check failed",healthCheckSuccess:"Health check completed for {{name}}",healthLastCheck:"Last check:",healthStatus:"Status:",local:"Local",localDocker:"Local Docker",localNodeName:"Local",maxConcurrent:"Max Concurrent",maxConcurrentHint:"Max simultaneous task agents (1–10)",meshTopology:"Mesh Topology",meshTopologyAriaLabel:"Mesh Topology",metrics:{concurrency:"Concurrency",projects:"Projects"},modal:{closeButton:"Close connect node modal",title:"Connect to Node"},modalAriaLabel:"Node details for {{name}}",modalTitle:"Node Details",multipleMatches:"Multiple remote projects matched this name. Enter the correct path manually.",name:"Name",namePlaceholder:"Build Machine",nameRequired:"Name is required",no:"No",nodeLabel:"{{name}} ({{type}}) — {{status}}",noLogsAvailable:"No logs available",noMatch:"No exact remote name match. Enter this path manually.",noProjects:"No projects are currently registered.",noProjectsAssigned:"No projects are assigned to this node.",noProjectsDiscovered:"No projects discovered on remote node.",noProjectsRunning:"No projects are running on this node.",noRegistered:"No nodes are registered yet.",offline:"Offline",online:"Online",pathDiscovered:"Remote-authoritative path discovered: {{path}}",pathInvalid:"Path is invalid",pathOnNode:"Path on this node",placeholders:{host:"192.0.2.10 or my-server.local",name:"Build Server",optional:"Optional"},provideManually:"Provide key manually",pulling:"Pulling...",pullSettings:"Pull Settings",pullSettingsFailed:"Pull settings failed",pullSettingsSuccess:"Settings pulled successfully",pushing:"Pushing...",pushSettings:"Push Settings",pushSettingsFailed:"Push settings failed",pushSettingsSuccess:"Settings pushed successfully",reachableUrl:"Reachable URL / Hostname",readOnly:"Read-only",refresh:"Refresh",refreshing:"Refreshing...",refreshStatus:"Refresh Status",registered:'Node "{{name}}" registered',registeredCount_one:"{{count}} registered",registeredCount_other:"{{count}} registered",registerFailed:"Failed to register node",remote:"Remote",removeButton:"Remove",removed:"Node removed",restartButton:"Restart",runtimeNodeLabel:"Runtime Node",saveButton:"Save",saveDockerConfig:"Save Docker Config",saving:"Saving...",sectionAssignedProjects:"Assigned Projects",sectionDockerManagement:"Docker Management",sectionHealth:"Health",sectionOverview:"Overview",sectionProjects:"Projects",sectionSettingsSync:"Settings Sync",sectionSyncHistory:"Sync History",startButton:"Start",statusConnecting:"Connecting",statusError:"Error",statusOffline:"Offline",statusOnline:"Online",statusTitle:"Status: {{status}}",stopButton:"Stop",success:{connected:'Connected to "{{name}}"'},syncAuth:"Sync Auth",syncAuthFailed:"Auth sync failed",syncAuthSuccess:"Auth credentials synced successfully",syncDifferences:"Differences:",synced:"Synced",syncing:"Syncing...",syncLastSync:"Last sync:",syncNeverSynced:"Never synced",total:"Total",type:{local:"Local",remote:"Remote"},typeLocal:"Local",typeRemote:"Remote",updateFailed:"Failed to update node",updateSuccess:"Updated {{name}}",urlRequired:"URL is required for remote nodes",validation:{concurrencyRange:"Concurrency must be between {{min}} and {{max}}",hostRequired:"Host / IP address is required",nameRequired:"Node name is required",portRange:"Port must be between 1 and 65535"},viewLogsButton:"View Logs",yes:"Yes"},ve={local:"Local"},fe={error:{authSyncFailed:"Auth sync failed",failedToFetchStatus:"Failed to fetch sync status",pullFailed:"Pull settings failed",pushFailed:"Push settings failed",someRequestsFailed:"Some sync status requests failed"}},be={authToken:"Auth token (optional)",continue:"Continue",continueOnboarding:"Continue onboarding",continueSetup:"Continue Setup",defaultName:"Remote Server",description:"Fusion helps you plan, run, and review AI-assisted engineering work.",localFusion:"Local Fusion",onTheStep:"You're on the ",profileName:"Profile name",progressText:"{{completed}} of {{total}} step{{pluralS}} complete — You're on the ",remoteServer:"Remote Server",resumeOnboarding:"Resume onboarding",saving:"Saving…",scanning:"Scanning…",scanQr:"Scan QR",serverUrl:"Server URL",serverUrlPlaceholder:"https://your-fusion-host",stepContinue:"step. Continue where you left off to complete your dashboard setup.",welcome:"Welcome to Fusion"},ke={agentId:"Agent ID",agentIdHint:"OpenClaw agent definition to run (default: main).",agentIdPlaceholder:"main",binaryPath:"Binary path",binaryPathHint:"Leave blank to resolve openclaw from your PATH.",binaryPathPlaceholder:"openclaw (defaults to PATH)",cliTimeout:"OpenClaw timeout (sec)",cliTimeoutHint:"OpenClaw-side run timeout in seconds (0 = no timeout).",description:"Drives the local <code1>openclaw</code1> CLI as a subprocess. Each Fusion prompt is dispatched via <code2>openclaw agent --local --json</code2>; the agent definition, model, and thinking level are resolved by OpenClaw. This card only sets overrides and the binary path.",detected:"✓ openclaw detected{{version}}{{path}}.",gateway:"Route through OpenClaw gateway (otherwise embedded)",gatewayHint:"When enabled, calls pass through the OpenClaw gateway service.",githubLink:"openclaw on GitHub",model:"Model override",modelHint:"Optional — overrides the OpenClaw default model.",modelPlaceholder:"e.g. anthropic/claude-haiku-4-5, minimax/MiniMax-M3",notDetectedInstall:"<code>openclaw</code> not detected. Install the upstream agent:",notFound:"✗ openclaw not found",probing:"Probing local openclaw binary…",saved:"Settings saved.",savedDetected:"Saved · ✓ openclaw detected{{version}}{{path}}.",savedNotFound:"Saved · ✗ openclaw not found",savedProbeFailed:"Saved, but probe failed.",statusDetected:"✓ Detected{{version}}{{path}}",statusNotFound:"✗ not detected on PATH",subprocess:"CLI subprocess timeout (ms)",subprocessHint:"Fusion-side hard cap before the CLI subprocess is killed (default: {{default}}s).",testFailed:"Test failed — see status above.",thinking:"Thinking level",thinkingHint:"Controls how much extended thinking the model uses."},ye={agentHelp:"Pick the Paperclip agent this Fusion runtime will proxy.",agentLabel:"Agent",apiKeyHelp:"Agent API key. Local-trusted deployments may leave this blank.",apiKeyLabel:"API key",apiKeyMinted:"API key minted via paperclipai (key 'fusion-runtime' installed for agent {{agentId}}). Click Save to persist.",apiKeyPlaceholder:"•••••••• (leave blank to keep existing)",apiUrlHelp:"Base URL of the Paperclip server.",apiUrlLabel:"API URL",cliApiKeyHelp:"Local-trusted deployments do not require a key.",cliApiKeyLabel:"API key (override, optional)",cliApiKeyPlaceholder:"Optional — only required for non-local-trusted modes",cliBinaryHelp:"Optional — informational; the adapter currently reads the instance config file directly.",cliBinaryLabel:"paperclipai binary",cliConfigLabel:"CLI config:",cliConfigPathHelp:"Override the path to config.json. Leave blank for the default.",cliConfigPathLabel:"Instance config path",cliDiscoveryFailed:"CLI discovery failed: {{reason}}",cliDiscoveryFailedLabel:"CLI discovery failed: {{reason}}",companyHelp:"Select a Paperclip company.",companyIdRequired:"Company ID is required to mint a Paperclip API key.",companyLabel:"Company",connected:"Connected.",connectedAsAgent:"Connected as {{agentName}}{{companyInfo}}.",connectionModeAriaLabel:"Paperclip connection mode",connectToPopulate:"Connect to populate",description:"Drive a Paperclip agent (employee) in a Paperclip company. Each prompt dispatches a task-shaped request; governance, budgets, and approvals are enforced by Paperclip. Expect seconds-to-minutes latency per turn.",docsLink:"Paperclip docs",githubLink:"GitHub",goalIdHelp:"Associate work with a Paperclip goal.",goalIdLabel:"Goal ID (optional)",mintButton:"Mint API key via paperclipai",mintFailed:"Mint failed: {{reason}}. Run `paperclipai onboard` first if your CLI isn't authenticated.",modeLabel:"Conversation mode",name:"Paperclip",noAgentsDiscovered:"No agents discovered",noCompaniesDiscovered:"No companies discovered",onboardingStep1:"Make sure a Paperclip server is running. To install Paperclip:",optionalPlaceholder:"Optional",parentIssueIdHelp:"Scope work under an existing parent issue.",parentIssueIdLabel:"Parent issue ID (optional)",pickCompanyFirst:"Pick a company first",projectIdHelp:"Pin work to a specific Paperclip project.",projectIdLabel:"Project ID (optional)",resolved:"resolved",runTimeoutHelp:"Local cap before Fusion gives up on a Paperclip run.",runTimeoutLabel:"Run timeout (ms)",savedCliDiscoveryFailed:"Saved · CLI discovery failed: {{reason}}",savedConnected:"Saved · Connected.",savedConnectedAsAgent:"Saved · Connected as {{agentName}}{{companyInfo}}.",savedProbeFailed:"Saved, but probe failed.",savedUnreachable:"Saved · {{reason}}",settingsSaved:"Settings saved.",statusCliDiscoveryFailed:"CLI discovery failed: {{reason}}",statusConnected:"Connected",statusConnectedAs:"Connected as {{agentName}}{{roleInfo}}{{companyInfo}}",statusProbing:"Probing Paperclip server…",statusUnreachable:"{{reason}}",tabApi:"API (URL + token)",tabCliAutoDerve:"Local CLI (auto-derive)",testFailed:"Test failed — see status above.",unreachable:"{{reason}}"},we={addButton:"Add",discoveredDescription:"Installed extensions resolved from packages and configured paths.",discoveredTitle:"Discovered Extensions",enterSource:"Please enter a package source",extensionDisabled:"Extension disabled",extensionEnabled:"Extension enabled",filterExtensions:"Extensions:",filterPrompts:"Prompts:",filterSkills:"Skills:",filterThemes:"Themes:",installFailed:"Failed to install package: {{error}}",installing:"Installing…",installSuccess:"Package installed successfully",loadExtensionsFailed:"Failed to load extensions: {{error}}",loading:"Loading Pi settings…",loadingExtensions:"Loading extensions…",loadingFailed:"Failed to load Pi settings.",loadSettingsFailed:"Failed to load Pi settings: {{error}}",noExtensions:"No extensions discovered.",noPackages:"No packages configured.",noPackagesHelp:"Add a package source above to get started.",packagePlaceholder:"npm:pi-extension-name or git:https://github.com/...",packageRemoved:"Package removed",refreshButton:"Refresh",refreshExtensions:"Refresh extensions",reinstallButton:"Reinstall Fusion skill",reinstallFailed:"Failed to reinstall Fusion skill: {{error}}",reinstalling:"Reinstalling Fusion…",reinstallSuccess:"Fusion skill reinstalled successfully",removeFailed:"Failed to remove package: {{error}}",removePackage:"Remove package",removePackageLabel:"Remove package {{label}}",removeResource:"Remove {{path}}",resourceRemoved:"{{resource}} removed",sectionExtensions:"Extensions",sectionPrompts:"Prompts",sectionSkills:"Skills",sectionThemes:"Themes",title:"Pi Extensions",toggleExtension:"Toggle {{name}}",updateFailed:"Failed to update extension: {{error}}",updateSettingsFailed:"Failed to update settings: {{error}}"},Se={additionalComments:"Additional comments (optional)",additionalCommentsPlaceholder:"Add any extra context or direction...",addSubtask:"Add subtask",advancedSettings:"Advanced planning settings",aiThinking:"AI is thinking...",archiveSession:"Archive session",backToSessions:"Back to sessions",backToSummary:"Back to Summary",baseBranch:"Merge target / base branch (optional)",baseBranchPlaceholder:"main",branchAutoNew:"Create auto-named branch per task",branchCustomNew:"Create custom new branch",branchExisting:"Use existing branch",branchName:"Branch name",branchNameRequired:"Branch name is required for this branch strategy.",branchProjectDefault:"Use project/default branch",branchStrategy:"Branch strategy",breakdownSubheading:"Review and edit the subtasks generated from your plan. Adjust titles, descriptions, sizes, priorities, and dependencies before creating.",breakingDown:"Breaking down...",breakIntoTasks:"Break into Tasks",breakIntoTasksTitle:"Break the plan into multiple tasks with dependencies",collapse:"Collapse",continue:"Continue",createSingleTask:"Create Single Task",createTasks:"Create Tasks",creating:"Creating...",delete:"Delete",deleteSession:"Delete session",dependencies:"Dependencies",dependencyCycle:"Dependencies contain a cycle. Remove circular references before creating tasks.",depthBlurb:"Plan size sets default interview depth. Questions lets you override with an exact count.",depthLarge:"Large",depthMedium:"Medium",depthSmall:"Small",description:"Description",dismiss:"Dismiss",dragToReorder:"Drag to reorder",examplePlan1:"Build a user authentication system with login and signup",examplePlan2:"Add dark mode support to the dashboard",examplePlan3:"Create an API endpoint for exporting tasks as CSV",examplePlan4:"Refactor the task card component for better performance",expand:"Expand",failedCreateTask:"Failed to create task",failedCreateTasks:"Failed to create tasks",failedDeleteSession:"Failed to delete session",failedGoBack:"Failed to go back to the previous question",failedLoadModels:"Failed to load models",failedLoadSession:"Failed to load session",failedRefinePlan:"Failed to refine plan",failedStartBreakdown:"Failed to start breakdown",failedStartSession:"Failed to start planning session",failedSubmitResponse:"Failed to submit response",firstSubtaskNoDeps:"First subtask cannot have dependencies.",generatingQuestion:"Generating next question...",generationStopped:"Generation stopped by user. You can retry or start a new session.",hideArchived:"Hide archived",hideThinking:"Hide thinking",initialHeading:"Transform your idea into a detailed task",initialSubheading:"Describe what you want to build in plain language. The AI will ask clarifying questions and help you structure a well-defined task.",keyDeliverables:"Key Deliverables",loadingModels:"Loading models…",markdown:"Markdown",moveDown:"Move down",moveSubtaskDown:"Move subtask down",moveSubtaskUp:"Move subtask up",moveUp:"Move up",newPlanningSession:"New planning session",newSession:"New session",noActiveQuestion:"No active question in session",noPreviousSubtasks:"No previous subtasks available.",noSavedSessions:"No saved sessions yet. Start one on the right to see it here.",plain:"Plain",planningComplete:"Planning Complete!",planningCompleteSubheading:"Review and refine your task before creating it.",planningDepth:"Planning depth",planningModel:"Planning Model",planningModelBlurb:"Selects which model runs the planning interview and writes the final draft.",planningSessions:"Planning sessions",priority:"Priority",questionProgress:"Question {{progress}} of ~3",questionsAuto:"Auto",questionsLabel:"Questions",reconnecting:"Reconnecting…",refineFurther:"Refine Further",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",relativeTimeWeeks_one:"{{count}}w ago",relativeTimeWeeks_other:"{{count}}w ago",remove:"Remove",retryFailed:"Retry failed. Please try again.",retrying:"Retrying...",sessionActiveOtherTab:"This session is active in another tab",sessionActiveOtherTabLive:"This session is active in another tab (live heartbeat)",sessionFailed:"Session failed while contacting the AI.",sessionFailed2:"Session failed",showArchived:"Show archived",showFormattedMarkdown:"Show formatted markdown",showQA:"Show user Q&A",showRawText:"Show raw text",showThinking:"Show thinking",sizeLarge:"L (Large)",sizeMedium:"M (Medium)",sizeSmall:"S (Small)",startPlanning:"Start Planning",statusComplete:"Complete",statusError:"Error",statusGenerating:"Generating",statusNeedsInput:"Needs input",stop:"Stop",subtaskDescription:"Description",subtaskPriority:"Priority",subtaskSize:"Size",subtaskTitle:"Title",suggestedDependencies:"Suggested Dependencies",suggestedSize:"Suggested Size",takeControl:"Take Control",takingControl:"Taking control...",thinkingElapsed:"Thinking… ({{seconds}}s)",title:"Planning Mode",tryAnExample:"Try an example:",typeAnswerPlaceholder:"Type your answer here...",unarchiveSession:"Unarchive session",untitled:"Untitled",untitledSession:"Untitled session",usingDefault:"Using default",whatToBuild:"What do you want to build?",whatToBuildPlaceholder:"e.g., Build a user authentication system with login, signup, and password reset..."},Ce={addItem:"Add Item",aiScanDisabled:"AI scan on load disabled",aiScanEnabled:"AI scan on load enabled",aiScanHint:"Turning this on only updates configuration. Use Rescan and Reload to run it now.",author:"Author:",backToList:"Back to plugin list",builtinInstalledGlobally:"{{name}} installed globally",builtinInstallFailed:"Failed to install {{name}}: {{error}}",builtinMetadataOnly:"Built-in metadata only",builtinNoPackage:"{{name}} is built in and does not have an installable package yet",builtinPluginRecommendations:"Built-in plugin recommendations",builtinPlugins:"Built-in Plugins",builtinPluginsCatalog:"Built-in plugin catalog for runtimes and integrations.",cancel:"Cancel",checkingSetup:"Checking setup...",componentUnavailable:"Plugin component unavailable",couldNotResolve:"The dashboard could not resolve this plugin surface from the static host registry.",disabledForProject:"{{name}} disabled for this project",disableInProject:"Disable in Project",disablePlugin:"Disable {{name}}",disablePluginFailed:"Failed to disable plugin: {{error}}",droidOnboardingTip:"Tip: Enable Droid CLI to reuse your Factory AI subscription without adding an API key.",droidRecommendDesc:"Use your local Droid CLI session as an AI provider in Fusion.",droidRecommendTitle:"Enable Droid CLI",enableAiScanBeforeLoad:"Enable AI scan before load/reload",enableAiSecurityScan:"Enable AI security scan on load",enabledForProject:"{{name}} enabled for this project",enableFailed:"Failed to enable {{name}}: {{error}}",enableInProject:"Enable in Project",enablePlugin:"Enable {{name}}",enablePluginFailed:"Failed to enable plugin: {{error}}",experimental:"Experimental",findings_one:"Findings ({{count}})",findings_other:"Findings ({{count}})",homepage:"Homepage:",install:"Install",installedGlobally:"Plugin installed globally",installedPlugins:"Installed Plugins",installFailed:"Failed to install plugin: {{error}}",installHint:"Browse to a plugin package root (contains manifest.json) or a built dist directory.",installing:"Installing...",installNamed:"Install {{name}}",installPathPlaceholder:"Absolute path to plugin directory or dist folder",installPathRequired:"Please enter a plugin path",installPluginGlobally:"Install Plugin Globally",installSetup:"Install Setup",loadFailed:"Failed to load plugins: {{error}}",loading:"Loading...",loadingPlugins:"Loading plugins...",manage:"Manage",noConfigurableSettings:"No configurable settings.",noPluginsHint:"Install a plugin to get started, or use the built-in catalog below.",noPluginsInstalled:"No plugins installed.",noSecurityScan:"No security scan has been run yet.",openAuthentication:"Open Authentication",openOnboarding:"Open Onboarding",refresh:"Refresh",refreshPluginList:"Refresh plugin list",reload:"Reload",reloaded:"{{name}} reloaded",reloadFailed:"Failed to reload plugin: {{error}}",reloading:"Reloading...",removeItem:"Remove item",rescanAndReload:"Rescan and Reload",rescanFailed:"Failed to rescan plugin: {{error}}",rescanned:"{{name}} rescanned",saveSettings:"Save Settings",saveSettingsFailed:"Failed to save settings: {{error}}",securityScan:"Security Scan",selectOption:"Select...",settings:"Settings",settingsSaved:"Settings saved",settingUp:"Setting up...",setupInstalled:"{{name}} setup installed",setupInstallFailed:"Failed to install {{name}} setup: {{error}}",setupReady:"Setup ready",setupRequired:"Setup required",startPluginToCheckSetup:"Start plugin to check setup",statusBuiltIn:"Built in",statusInstalled:"Installed",statusNotInstalled:"Not installed",uninstallConfirm:'Are you sure you want to uninstall "{{name}}" globally (all projects)?',uninstalledGlobally:"{{name}} uninstalled globally",uninstallFailed:"Failed to uninstall plugin: {{error}}",uninstallGlobally:"Uninstall Globally",uninstallGloballyTitle:"Uninstall globally",uninstallTitle:"Uninstall Plugin Globally",unknownError:"unknown error",updateFailed:"Failed to update plugin: {{error}}",version:"Version:"},Ae={authFail:"Run gh auth login and try again.",authOk:"GitHub CLI auth is available.",baseBranch:"Base branch",bodyLabel:"Body",branchRemoteFail:"Push branch to remote before creating a PR.",branchRemoteOk:"Remote branch is available.",changedFilesLabel:"Changed files",checkAuth:"GitHub auth available",checkBranch:"Branch pushed to remote",checkCommits:"Commits available",checkConflicts:"No conflicts with base",commitsFail:"No commits found for this branch.",commitsLabel:"Commits",commitsOk:"Commits are ready to submit.",conflictsDetected:"Conflicts detected. Resolve conflicts or re-run preflight.",createAsDraft:"Create as draft",createDraftPr:"Create draft PR",createPr:"Create PR",createTitle:"Create Pull Request",dismissError:"Dismiss PR error",noConflicts:"No merge conflicts detected.",preflightChecks:"Pre-flight checks",previewTitle:"Diff & commit preview",regenerate:"Regenerate",rerunPreflight:"Re-run preflight",revertToAi:"Revert to AI version",titleLabel:"Title",usingTemplate:"Using <code>.github/pull_request_template.md</code>"},Te={blockedDescription:"You can view the preview in a separate browser tab.",blockedTitle:"Preview cannot be embedded",errorTitle:"Unable to load preview",loading:"Loading preview...",openInNewTab:"Open in new tab"},Pe={activeTasks:"Active Tasks",agents:"Agents",cannotPauseWhileInitializing:"Cannot pause while initializing",completed:"Completed",confirm:"Confirm",confirmRemove:"Confirm remove",confirmRemoveProject:"Confirm remove project",daysAgo_one:"{{count}}d ago",daysAgo_other:"{{count}}d ago",hoursAgo_one:"{{count}}h ago",hoursAgo_other:"{{count}}h ago",justNow:"Just now",lastActivity:"Last activity:",minutesAgo_one:"{{count}}m ago",minutesAgo_other:"{{count}}m ago",moreItems_one:"+{{count}} more",moreItems_other:"+{{count}} more",never:"Never",nodeAvailability:"Project node availability",noHealthData:"No health data available",open:"Open",openProject:"Open project",pause:"Pause",pauseProject:"Pause project",removeProject:"Remove project",resume:"Resume",resumeProject:"Resume project"},Re={editName:"Edit name",empty:"No projects detected",emptyHint:"Try a different base path or add a project manually",noDbWarning:"No fn database found - will be initialized",registerAll:"Register All",registering:"Registering...",registerSelected_one:"Register Selected ({{count}})",registerSelected_other:"Register Selected ({{count}})",selectAll_one:"Select All ({{count}})",selectAll_other:"Select All ({{count}})",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected"},Fe={actions:{favoritesError:"Failed to update favorites",modelFavoritesError:"Failed to update model favorites",pauseError:"Failed to pause project {{name}}",pauseSuccess:"Project {{name}} paused",removeError:"Failed to remove project {{name}}",removeSuccess:"Project {{name}} removed",resumeError:"Failed to resume project {{name}}",resumeSuccess:"Project {{name}} resumed"},activeTasksLabel:"Active Tasks",addFirstProject:"Add Your First Project",addProject:"Add Project",allNodes:"All Nodes",completedLabel:"Completed",emptyStateDescription:"Get started by adding your first project. Projects allow you to organize and track tasks across multiple repositories.",erroredLabel:"Errored",filterActive:"Active",filterAll:"All",filterByNode:"Filter by node",filterErrored:"Errored",filterPaused:"Paused",nodesLabel:"Nodes",noMatch:"No projects match the current filter",noProjectsFound:"No Projects Found",setup:{success:"Project {{name}} registered successfully"},showAll:"Show All Projects",sortActivityNewest:"Last Activity (Newest)",sortActivityOldest:"Last Activity (Oldest)",sortNameAsc:"Name (A-Z)",sortNameDesc:"Name (Z-A)",sortProjects:"Sort projects",sortStatusAsc:"Status (Error → Active)",sortStatusDesc:"Status (Active → Error)",title:"Projects",totalLabel:"Total"},Le={allProjects:"All Projects",ariaLabel:"Select project",clearSearch:"Clear search",noResults:"No projects match your search",recent:"Recent",searchPlaceholder:"Search projects...",selectProject:"Select Project",viewAll:"View All Projects"},De={actions:{addModel:"+ Add model",detecting:"Detecting…",detectModels:"Detect Models",detectModelsTitle:"Call the provider's /models endpoint to discover available models",removeModel_one:"Remove model",removeModel_other:"Remove model",save:"Save Provider",saving:"Saving..."},addCustom:"Add Custom Provider",apiKeyKeepPlaceholder:"Leave blank to keep current key",apiKeyLabel:"API key",apiTypeAnthropic:"Anthropic-compatible",apiTypeGoogle:"Google Generative AI",apiTypeInvalid:"API type is invalid.",apiTypeLabel:"API type",apiTypeOpenAi:"OpenAI-compatible",apiTypeOpenAiResp:"OpenAI Responses",baseUrlLabel:"Base URL",deleteConfirm:'Delete custom provider "{{name}}"?',deleteLabel:"Delete {{name}}",detectError:{allDuplicate:"All discovered models are already in the list.",failed:"Failed to detect models",noModels:"No models found. The provider may require an API key.",urlRequired:"Base URL is required to detect models."},detecting:"Detecting…",detectModels:"Detect Models",detectTitle:"Auto-detect models from the provider's /models endpoint",editLabel:"Edit {{name}}",failedDelete:"Failed to delete provider.",failedDetect:"Failed to detect models",failedLoad:"Failed to load custom providers.",failedSave:"Failed to save provider.",fields:{apiKey:"API Key",apiType:"API Type",baseUrl:"Base URL",contextWindow:"Context window",id:"Provider ID",maxTokens:"Max tokens",modelId:"Model ID",modelName:"Display name",modelNameLabel:"Model name",models:"Models",name:"Display Name",reasoning:"Reasoning"},llamaCpp:{disable:"Disable",disabling:"Disabling…",enable:"Enable",enabling:"Enabling…",probing:"Probing llama.cpp server…",reachable:"Server reachable at {{url}}",test:"Test",testing:"Testing…",title:"llama.cpp — via HTTP server",unavailable:"Server unavailable: {{reason}}"},loading:"Loading custom providers…",modelsLabel:"Available models",nameLabel:"Provider name",nameRequired:"Provider name is required.",noModelsFound:"No models found. The provider may require an API key.",noneConfigured:"No custom providers configured.",placeholders:{apiKey:"sk-..., MY_API_KEY, or !command"},saveChanges:"Save Changes",saveProvider:"Save Provider",saving:"Saving…",urlInvalid:"Base URL must be a valid http/https URL.",urlRequired:"Base URL is required.",urlRequiredForDetect:"Base URL is required to detect models.",validation:{apiTypeRequired:"API type is required.",idConflict:"Provider ID conflicts with a built-in provider.",idKebabCase:"Provider ID must be kebab-case.",idRequired:"Provider ID is required.",modelId:"Each model must have a model ID.",modelRequired:"At least one model is required.",urlProtocol:"Base URL must use http or https.",urlRequired:"Base URL is required.",urlValid:"Base URL must be a valid URL."}},Me={errorAttachmentsBeforeSession:"Cannot send attachments before chat session is ready",errorAttachmentsWhileStreaming:"Cannot send attachments while a response is streaming",errorGettingResponse:"Failed to get response",errorInitializingChat:"Failed to initialize chat",errorRefreshingSessions:"Failed to refresh chat sessions",errorStartingNewChat:"Failed to start a new chat"},Ie={bouncedEntered:"{{bounced}} bounced / {{entered}} entered (last {{days}}d)",countingSince:"Counting since {{date}}",details:"Details",duration:{heading:"Duration",moreStats:"More stats",p50:"P50",p50Raw:"P50 raw: {{value}} ms",p95:"P95",p95Raw:"P95 raw: {{value}} ms",reason:"Reason: {{reason}}",sampleCount_one:"Sample count: {{count}}",sampleCount_other:"Sample count: {{count}}",samples_one:"Samples: {{count}}",samples_other:"Samples: {{count}}"},failureRate:"Failure rate: {{rate}}",heading:"Reliability",hideEmptyDays:"Hide empty days",inReviewFlow:"In-review flow",insufficientData:"Insufficient data — {{reason}}",mergeAttempts:{heading:"Merge attempts",histogramTotal_one:"Histogram total: {{count}}",histogramTotal_other:"Histogram total: {{count}}",max:"Max",mean:"Mean",moreStats:"More stats",reason:"Reason: {{reason}}",tasksCounted_one:"Tasks counted: {{count}}",tasksCounted_other:"Tasks counted: {{count}}"},reason:"Reason: {{reason}}",resetBaseline:"Reset baseline: {{date}}",resetModal:{confirm:"Confirm reset",description:"This sets a new baseline for reliability statistics. Historical events older than the reset time are excluded from counts but are not deleted.",failedError:"Failed to reset reliability stats",title:"Reset reliability stats?"},resetStats:"Reset stats",showEmptyDays:"Show empty days",successRateLabel:"In-review success rate (last 7d)",table:{bounced:"Bounced",date:"Date",entered:"Entered"},window:"Window: {{start}} → {{end}}"},Ne={actionFailed:"Action failed",addCredentialsHint:"Add provider credentials in Authentication settings.",alwaysOn:"Always on",attachExport:"Attach markdown export artifact",createRun:"Create Run",createRunFailed:"Failed to create run",createTask:"Create Task",createTaskButton:"Create Task",createTaskTitle:"Create task from finding",defaultFindingHeading:"Research finding",descriptionLabel:"Description",disabled:"Research is disabled for this project.",enableResearchHint:"Enable project research settings to create runs.",enrichTask:"Enrich Task",enrichTaskButton:"Enrich Task",enrichTaskTitle:"Enrich existing task",enterTaskId:"Enter task ID",exportedFile:"Exported {{filename}}",exportFailed:"Export failed",exportHtml:"Export HTML",exportJson:"Export JSON",exportMd:"Export MD",findingLabel:"Finding:",loadingRuns:"Loading research runs…",loadingTasks:"Loading tasks…",missingApiKey:"Missing API key for {{provider}}.",noPreview:"No preview available.",noRunSelected:"No run selected",noRunsYet:"No research runs yet",noSourcesAvailable:"No enabled research sources are available for this project.",noSummaryYet:"No summary yet.",openAuthSettings:"Open Authentication Settings",openResearchSettings:"Open Research Settings",priorityHigh:"High",priorityLabel:"Priority",priorityLow:"Low",priorityNormal:"Normal",priorityUrgent:"Urgent",providersLabel:"Providers",queryLabel:"Query",runCancelled:"Run cancelled",runCreated:"Research run created",runHistory:"Run history",runLabel:"Run:",runRetried:"Run retried",searchRunsPlaceholder:"Search runs",selectRunToViewDetails:"Select a run to view details.",statCompleted:"Completed",statFailed:"Failed",statRunning:"Running",subtitle:"Cited search and synthesis runs: gather sources, fetch content, and synthesize findings.",targetTaskLabel:"Target task",taskCreatedFromResearch:"Task created from research",taskEnrichedFromResearch:"Task enriched from research",title:"Research",titleLabel:"Title",unavailable:"Research is unavailable for this project.",viewLabel:"Research view"},xe={andMore_one:"…and {{count}} more",andMore_other:"…and {{count}} more",delete:"Delete",deleteMessage:"Delete routine {{name}}? This cannot be undone.",deleteName:"Delete {{name}}",deleteTitle:"Delete Routine",disable:"Disable",disableName:"Disable {{name}}",edit:"Edit",editName:"Edit {{name}}",enable:"Enable",enableName:"Enable {{name}}",resultFailed:"Failed",resultSuccess:"Success",runHistory_one:"Run History ({{count}})",runHistory_other:"Run History ({{count}})",runNameNow:"Run {{name}} now",running:"Running…",runNow:"Run now",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps"},He={cannotChangeWhileActive:"Node override cannot be changed while the task is active.",clearOverride:"Clear override",effectiveNode:"Effective node",errorLoadingNodes:"Failed to load nodes",errorUpdatingOverride:"Failed to update node override",intro:"View the effective execution node and control per-task node override.",localNoConfiguration:"Local (no routing configured)",lockedWhileActive:"Routing is locked while this task is active. Node override cannot be changed until the task is no longer active.",nodeUnavailable:"node unavailable or unknown",overrideCleared:"Node override cleared",overrideSection:"Node Override",overrideSetTo:"Override set to",overrideUpdated:"Node override updated",selectLabel:"Select execution node",source:{noRouting:"No routing",override:"Per-task override",projectDefault:"Project default"},summarySection:"Routing Summary",title:"Task Routing",unavailablePolicy:"Unavailable-node policy",unhealthy:"Unhealthy",useProjectDefault:"Use project default"},Ee=JSON.parse(`{"actionAiPrompt":"AI Prompt","actionCommand":"Command","actionCreateTask":"Create Task","actionModeAdvanced":"Multi-Step","actionModeAdvancedHint":"Run multiple actions sequentially","actionModeAriaLabel":"Action mode","actionModeLabel":"Action Mode","actionModeSimple":"Simple","actionModeSimpleHint":"Run one command, prompt, or task creation action","actionTypeAiPrompt":"AI Prompt","actionTypeAriaLabel":"Action type","actionTypeCommand":"Command","actionTypeCreateTask":"Create Task","actionTypeLabel":"Action Type","addAiPromptStep":"Add AI Prompt Step","addCommandStep":"Add Command Step","addCreateTaskStep":"Add Create Task Step","advancedMode":"Multi-Step","advancedModeHelp":"Run multiple steps sequentially (commands and AI prompts)","aiPromptType":"AI Prompt","andMore_one":"…and {{count}} more","andMore_other":"…and {{count}} more","apiEndpointHint":"API endpoint path that triggers this routine","apiEndpointLabel":"API Endpoint","apiEndpointPlaceholder":"/api/routine/my-routine","automationCount_one":"{{count}} automation{{plural}}","automationCount_other":"{{count}} automation{{plural}}","cancelButton":"Cancel","catchUpPolicyHint":"What to do when a scheduled run is missed","catchUpPolicyLabel":"Catch-up Policy","catchUpPolicyRunAll":"Run all missed runs","catchUpPolicyRunOne":"Run the most recent missed run","catchUpPolicySkip":"Skip missed runs","columnTodo":"To Do","columnTriage":"Triage","command":"Command","commandHelp":"Shell command to execute. Runs with your user permissions.","commandHint":"Shell command to execute.","commandLabel":"Command","commandPlaceholder":"e.g. npx runfusion.ai backup --create","commandRequired":"Command is required","commandType":"Command","continueOnFailure":"Continue on failure","continueOnFailureHelp":"If checked, the next step will run even if this one fails","continuesOnFailure":"Continues on failure","createButton":"Create Schedule","createError":"Failed to create routine","createFirst":"Create your first automation","createNew":"Create new automation","createRoutine":"Create Routine","createTaskType":"Create Task","cronAutoFilled":"Auto-filled from preset: {{cron}}","cronAutoFilledHint":"Auto-filled from preset: {{expression}}","cronCustomHint":"min hour day month weekday","cronExpressionLabel":"Cron Expression","cronHelp":"min hour day month weekday — ","cronInvalid":"Invalid cron format — expected 5 fields (e.g. '0 */6 * * *')","cronLabel":"Cron Expression","cronPresetCustom":"Custom cron expression","cronPresetDaily":"Every day (midnight)","cronPresetHourly":"Every hour","cronPresetMonthly":"Every month (1st)","cronPresetWeekly":"Every week (Monday)","cronRequired":"Cron expression is required for custom schedules","delete":"Delete","deleteError":"Failed to delete routine","deleteMessage":"Delete schedule {{name}}? This cannot be undone.","deleteName":"Delete {{name}}","deleteStep":"Delete {{name}}","deleteTitle":"Delete Schedule","descriptionLabel":"Description (optional)","descriptionPlaceholder":"What does this routine do?","disable":"Disable","disableName":"Disable {{name}}","edit":"Edit","editName":"Edit {{name}}","editRoutineHeading":"Edit Routine","editStep":"Edit {{name}}","editTitle":"Edit Schedule","emptyStateDescription":"Create an automation with a schedule, webhook, API, or manual trigger.","enable":"Enable","enabledHelp":"When disabled, the schedule will not run automatically","enabledHint":"When disabled, the routine will not run automatically","enabledLabel":"Enabled","enableName":"Enable {{name}}","errorApiEndpointRequired":"API endpoint is required","errorCommandRequired":"Command is required","errorCronInvalid":"Invalid cron format — expected 5 fields (e.g. '0 */6 * * *')","errorCronRequired":"Cron expression is required","errorLoadModels":"Failed to load models","errorModelIncomplete":"Both model provider and model ID must be set, or both must be empty","errorNameRequired":"Name is required","errorPromptRequired":"Prompt is required","errorScopeNoProject":"Project-specific entries require an active project.","errorStepCommandRequired":"Step {{n}}: Command is required","errorStepNameRequired":"Step {{n}}: Name is required","errorStepPromptRequired":"Step {{n}}: Prompt is required","errorStepsEditing":"Please save or cancel all step edits before saving the routine","errorStepsRequired":"At least one step is required","errorStepTaskDescRequired":"Step {{n}}: Task description is required","errorTaskDescriptionRequired":"Task description is required","errorTimeoutMin":"Timeout must be at least 1 second (1000ms)","errorWebhookPathRequired":"Webhook path is required","executionPolicyHint":"How to handle concurrent executions of this routine","executionPolicyLabel":"Execution Policy","executionPolicyParallel":"Allow concurrent runs","executionPolicyQueue":"Queue after current (one at a time)","executionPolicyReject":"Reject new runs while running","executorModelDropdownLabel":"Executor Model","executorModelHelp":"AI model used to execute the created task. Uses default if not selected.","executorModelLabel":"Executor Model (optional)","executorModelOptional":"Executor Model (optional)","executorModelPlaceholder":"Use default","frequencyLabel":"Frequency","global":"Global","globalScope":"Global","globalScoped":"This schedule will be created at global scope.","globalScopeTitle":"Global scope","loadRoutinesError":"Failed to load routines","manualTriggerInfo":"This routine will be triggered manually via the dashboard or API.","modeAriaLabel":"Execution mode","model":"Model","modeLabel":"Execution Mode","modelConsistency":"Both model provider and model ID must be set, or both must be empty","modelDropdownLabel":"Model","modelHelp":"AI model for this prompt. Uses default if not selected.","modelLabel":"Model (optional)","modelOptional":"Model (optional)","modelPlaceholder":"Use default","modelProviderRequired":"Both model provider and model ID must be set together","moveDown":"Move down","moveStepDown":"Move {{name}} down","moveStepUp":"Move {{name}} up","moveUp":"Move up","nameLabel":"Name","namePlaceholder":"e.g. Daily standup reminder","nameRequired":"Name is required","newAutomation":"New Automation","newRoutineHeading":"New Routine","newTitle":"New Schedule","noActiveProject":"No active project. Schedules will be created at global scope.","noAutomations":"No automations yet","noStepsEmpty":"No steps added yet. Add a command or AI prompt step to get started.","project":"Project","projectRequired":"Project-specific entries require an active project.","projectScope":"Project","projectScoped":"This schedule will be scoped to the current project.","projectScopeDisabled":"Select a project to enable project scope","projectScopeTitle":"Project scope","prompt":"Prompt","promptHelp":"AI prompt to execute. Provide clear instructions for the task.","promptHint":"AI prompt to execute.","promptLabel":"Prompt","promptPlaceholder":"e.g. Summarize recent activity and create action items","promptRequired":"Prompt is required","resultFailed":"Failed","resultSuccess":"Success","routineCreated":"Routine created","routineDeleted":"Deleted \\"{{name}}\\"","routineDisabled":"\\"{{name}}\\" disabled","routineEnabled":"\\"{{name}}\\" enabled","routineFailed":"\\"{{name}}\\" failed: {{error}}","routineSuccess":"\\"{{name}}\\" completed successfully","routineUpdated":"Routine updated","runError":"Failed to run routine","runHistory_one":"Run History ({{count}})","runHistory_other":"Run History ({{count}})","runNameNow":"Run {{name}} now","running":"Running…","runNow":"Run now","saveChanges":"Save Changes","saveStep":"Save Step","saving":"Saving…","scheduleLabel":"Schedule","scopeAriaLabel":"Routine scope","scopeGroup":"Scheduling scope","scopeHintGlobal":"This routine will be created at global scope.","scopeHintNoProject":"No active project. Routines will be created at global scope.","scopeHintProject":"This routine will be scoped to the current project.","scopeLabel":"Scope","scopeLocked":"Scope is locked to {{scope}} for existing schedules","scopeLockedTitle":"Scope is locked to {{scope}} for existing routines","selectProjectTitle":"Select a project to enable project scope","simpleMode":"Simple","simpleModeHelp":"Run a single shell command or AI prompt","stepCommandRequired":"Step {{index}}: Command is required","stepCount_one":"{{count}} step","stepCount_other":"{{count}} steps","stepName":"Step Name","stepNamePlaceholder":"e.g. Run tests","stepNameRequired":"Step {{index}}: Name is required","stepPromptRequired":"Step {{index}}: Prompt is required","steps":"Steps","stepsEditing":"Please save or cancel all step edits before saving the schedule","stepsRequired":"At least one step is required","stepType":"Step Type","targetColumn":"Target Column","targetColumnHelp":"Column where the new task will be created","targetColumnLabel":"Target Column","taskColumnLabel":"Target Column","taskColumnTodo":"To Do","taskColumnTriage":"Triage","taskDescription":"Task Description *","taskDescriptionHelp":"Describes the task that will be created.","taskDescriptionHint":"Describes the task that will be created.","taskDescriptionLabel":"Task Description","taskDescriptionPlaceholder":"e.g. Check npm dependencies for security vulnerabilities","taskDescriptionRequired":"Task description is required","taskTitleHelp":"Leave blank to auto-summarize from description","taskTitleLabel":"Task Title (optional)","taskTitleOptional":"Task Title (optional)","taskTitlePlaceholder":"e.g. Review weekly dependencies","timeoutHelp":"Maximum execution time in milliseconds (default 300000 = 5 min)","timeoutHint":"Maximum execution time in milliseconds.","timeoutLabel":"Timeout (ms)","timeoutMinimum":"Timeout must be at least 1 second (1000ms)","timeoutOptional":"Timeout (ms, optional)","timeoutPlaceholder":"Override schedule timeout","title":"Automations","todoColumn":"To Do","toggleError":"Failed to toggle routine","triageColumn":"Triage","triggerApi":"API","triggerCron":"Cron","triggerManual":"Manual","triggerTypeAriaLabel":"Trigger type","triggerTypeLabel":"Trigger Type","triggerWebhook":"Webhook","typeCustom":"Custom cron expression","typeDaily":"Every day (midnight)","typeEvery12Hours":"Every 12 hours","typeEvery15Min":"Every 15 minutes","typeEvery2Hours":"Every 2 hours","typeEvery30Min":"Every 30 minutes","typeEvery6Hours":"Every 6 hours","typeHourly":"Every hour","typeMonthly":"Every month (1st)","typeWeekdays":"Weekdays at 9 AM (Mon-Fri)","typeWeekly":"Every week (Monday)","unknownError":"Unknown error","updateError":"Failed to update routine","useDefault":"Use default","webhookPathHint":"URL path for the webhook endpoint","webhookPathLabel":"Webhook Path","webhookPathPlaceholder":"/trigger/my-routine","webhookSecretHint":"HMAC secret for signature verification. Leave empty for unauthenticated webhooks.","webhookSecretLabel":"Webhook Secret (optional)","webhookSecretPlaceholder":"Optional — leave empty for unauthenticated webhooks"}`),_e={addScript:"Add Script",addScriptsHint:"Add scripts to quickly run common commands from the dashboard.",cancelDelete:"Cancel delete",command:"Command",commandPlaceholder:"e.g., npm run build",confirmDelete:"Confirm delete",confirmDeleteNamed:"Confirm delete {{name}}",deleteScriptNamed:"Delete {{name}}",editScriptNamed:"Edit {{name}}",failedToDelete:"Failed to delete script",failedToLoadScripts:"Failed to load scripts",failedToSave:"Failed to save script",loadingScripts:"Loading scripts...",nameErrorMsg:"Name must contain only letters, numbers, hyphens, and underscores (no spaces)",nameHint:"Letters, numbers, hyphens, and underscores only",noScriptsDefined:"No scripts defined",noScriptsYet:"No scripts defined yet.",runScript:"Run script",runScriptNamed:"Run {{name}}",saving:"Saving...",scriptAlreadyExists:"A script with this name already exists",scriptCommandRequired:"Script command is required",scriptCount_one:"{{count}} script",scriptCount_other:"{{count}} scripts",scriptCreated:"Script created",scriptDeleted:"Script deleted",scriptName:"Script Name",scriptNamePlaceholder:"e.g., build, test, lint",scriptNameRequired:"Script name is required",scriptUpdated:"Script updated",title:"Scripts"},Be={accessPolicyAuto:"auto",accessPolicyDeny:"deny",accessPolicyLabel:"Access policy",accessPolicyPrompt:"prompt",addSecret:"Add Secret",addSecretModalTitle:"Add secret",cancelBtn:"Cancel",cancelDelete:"Cancel",clearSyncPassphrase:"Clear",closeAriaLabel:"Close",confirmClearSyncPassphrase:"Clear the cross-node sync passphrase? Existing sync pairs will stop working until you set a new passphrase.",confirmDelete:"Confirm",confirmPassphraseLabel:"Confirm passphrase",copied:"Copied",copyAriaLabel:"Copy",createBtn:"Create",deleteAriaLabel:"Delete",descriptionLabel:"Description",editAriaLabel:"Edit",editSecretModalTitle:"Edit secret",empty:"No secrets found.",envExportableChip:"env exportable",envKeyLabel:"Env key",errorClearSyncPassphrase:"Failed to clear sync passphrase: {{error}}",errorLoadSyncStatus:"Failed to load sync passphrase status: {{error}}",errorSaveSyncPassphrase:"Failed to save sync passphrase: {{error}}",exportToEnvLabel:"Export to env",hideAriaLabel:"Hide",hideValueAriaLabel:"Hide value",keyLabel:"Key",loading:"Loading…",neverRead:"Never read",passphraseLabel:"Passphrase",passphraseMustMatch:"Passphrases must match.",refresh:"Refresh",revealAriaLabel:"Reveal",revealed:"Revealed",rotateSyncPassphrase:"Rotate",rotateSyncPassphraseModalTitle:"Rotate sync passphrase",saveBtn:"Save",scopeGlobal:"Global",scopeLabel:"Scope",scopeProject:"Project",setPassphrase:"Set passphrase",setSyncPassphraseModalTitle:"Set sync passphrase",showValueAriaLabel:"Show value",syncConfigured:"Configured",syncNotConfigured:"Not configured",syncPassphraseCleared:"Sync passphrase cleared",syncPassphraseDescription:"Shared passphrase used to wrap cross-node secret bundles. Both nodes in a sync pair must share the same value. Stored locally only; never transmitted.",syncPassphraseRotated:"Sync passphrase rotated",syncPassphraseSet:"Sync passphrase set",syncPassphraseTitle:"Cross-Node Sync Passphrase",title:"Secrets",valueLabel:"Value"},Ue={dismissAll:"Dismiss all",dismissItem:"Dismiss {{title}}",failed:"Failed",headerAwaitingAndErrorPlural:"{{awaitingCount}} AI sessions need your input, {{errorCount}} failed",headerAwaitingAndErrorSingular:"{{awaitingCount}} AI session needs your input, {{errorCount}} failed",headerAwaitingPlural_one:"",headerAwaitingPlural_other:"",headerAwaitingSingular_one:"",headerAwaitingSingular_other:"",headerErrorPlural_one:"",headerErrorPlural_other:"",headerErrorSingular_one:"",headerErrorSingular_other:"",regionLabel:"AI sessions needing input or failed",resume:"Resume",retry:"Retry",typeLabel:{cliAgent:"CLI Agent"},cli:{advance:"Advance",retry:"Retry",cancelTask:"Cancel task",reauthenticate:"Re-authenticate",relaunch:"Relaunch fresh",userExited:"Agent exited before completing",authFailed:"CLI authentication failed",resumeExhausted:"Couldn't resume the session"}},Oe={actions:{cancel:"Cancel",save:"Save"},appearance:{language:"Language",languageAuto:"Auto",languageAutoHint:"Follow the browser language",title:"Appearance"},auth:{apiKeyCleared:"API key cleared",apiKeySaved:"API key saved",authCodeAlreadySubmitted:"That authorization code was already submitted. Waiting for login…",authCodeReceived:"Authorization code received. Finishing login…",clearKey:"Clear",continueToLogin:"Continue to login",copiedCodeToClipboard:"Copied code to clipboard",copyCode:"Copy code",enterCodeOnGitHub:"Enter this code on GitHub",failedToCopyCode:"Failed to copy code — copy it manually from the box above",groupAuthenticated:"Authenticated",groupAvailable:"Available",hint:"Authentication changes take effect immediately — no need to save.",loadingStatus:"Loading authentication status…",loggedOut:"Logged out",loggingOut:"Logging out…",login:"Login",loginAlreadyInProgress:"Login already in progress. You can cancel it and retry.",loginCancelled:"Login cancelled",loginDidNotComplete:"Login did not complete. Please try again.",loginSuccessful:"Login successful",logout:"Logout",manualPasteMessage:"After you sign in with {{name}}, the browser will try to redirect to a localhost address that this dashboard can't reach. The redirect tab will look like it failed. Before that happens, copy the full URL from the browser address bar — you'll paste it back here to finish login. Continue?",manualPasteTitle:"Heads up — manual paste-back required",noProviders:"No providers available",openGitHub:"Open GitHub",pasteRedirectUrlFirst:"Paste the full redirect URL or authorization code first.",reopenOnboarding:"Reopen onboarding guide",reopenOnboardingHint:"Re-run the setup wizard to review or update your AI provider and model configuration.",savingKey:"Saving…",signInHint:"Sign in to at least one provider to get started with AI models.",statusActive:"✓ Active",statusNotConnected:"✗ Not connected",title:"Authentication",waitingForLogin:"Waiting for login…"},backups:{backupCreated:"Backup created successfully",backupNow:"Backup Now",creating:"Creating…"},closeModal:"Close conflict modal",conflictModalTitle:"Resolve Settings Conflicts",footer:{help:"Help",version:"Version {{version}}"},general:{learnMore:"Learn more",settingsSaved:"Settings saved",updateAvailablePrefix:"v{{version}} available",updateCheckFailed:"Failed to check for updates",updateFailed:"Update failed",updateFailedWithMessage:"Update failed: {{message}}",updateNow:"Update now",updateSuccess:"Updated to v{{version}} — restart Fusion to apply",updateSuccessToast:"Update installed. Restart Fusion to apply it.",updating:"Updating…",upToDate:"You're up to date ✓"},header:{discord:"Discord"},importExport:{confirmImport:"Confirm Import",exportBtn:"Export",exportTitle:"Export settings to JSON file",importBtn:"Import",importing:"Importing…",importTitle:"Import Settings",loadingFile:"Loading…",reviewPrompt:"Review the settings to be imported:"},jsonPlaceholder:"Enter JSON value...",keepLocal:"Keep Local",keepRemote:"Keep Remote",loading:"Loading…",memory:{compacting:"Compacting…",compactSelectedFile:"Compact Selected File",dreamCompleted:"Dream processing completed",dreamNow:"Dream Now",installing:"Installing…",installQmd:"Install qmd",memoryCompacted:"Memory file compacted",memorySaved:"Memory saved",saveMemory:"Save Memory",testing:"Testing…",testRetrieval:"Test Retrieval"},mergeManually:"Merge Manually",mobileNav:{label:"Settings Section"},models:{deletePresetMessage:'Preset "{{name}}" is used in auto-selection. Delete it anyway?',deletePresetTitle:"Delete Preset",loadingModels:"Loading available models…",noModels:"No models available. Configure authentication first.",presetNameRequired:"Preset name is required",savePreset:"Save preset"},nav:{aria:{global:"Global setting",project:"Project setting"},tooltip:{global:"Shared across all projects",project:"Specific to this project"},cliAgents:"CLI Agents"},notifications:{sending:"Sending…",testMessageInbox:"Test message inbox",testNotification:"Test notification",testRoomReply:"Test room reply"},remote:{cloudflaredInstalled:"cloudflared installed successfully",persistentTokenRegenerated:"Persistent token regenerated",restarting:"Restarting…",shortLivedTokenGenerated:"Short-lived token generated",startFresh:"Start Fresh",starting:"Starting…",startTunnel:"Start Tunnel",stopping:"Stopping…",stopTunnel:"Stop Tunnel",tunnelRestarted:"Remote tunnel restarted",tunnelStarted:"Remote tunnel started",tunnelStopped:"Remote tunnel stopped",useExisting:"Use Existing"},resolveAllLocal:"Resolve All: Keep Local",resolveAllRemote:"Resolve All: Keep Remote",resolvedSuccess:"Settings conflicts resolved successfully",resolveFailed:"Failed to resolve conflicts",resolving:"Resolving...",scheduling:{selectCurrentDir:"Select current directory",selectIgnoredOverlapPath:"Select ignored overlap path"},scope:{globalBanner:"These settings are shared across all your Fusion projects.",projectBanner:"These settings only affect this project."},title:"Settings",worktrees:{awaitingApproval:"Awaiting approval — open Approvals to continue.",installWorktrunk:"Install worktrunk binary",openApprovals:"Open Approvals",selectWorktreesDir:"Select worktrees directory",tryAgain:"Try again"},movedStub:{openWorkflowSettings:"Open workflow settings",stepExecution:"Step execution settings (run steps in new sessions, max parallel steps) now live on the workflow.",reviewVerification:"Review, verification auto-fix, and scope-enforcement settings now live on the workflow.",modelLanes:"Per-phase model lanes (execution, planning, reviewer, their fallbacks, and the title summarizer) now live on the workflow.",summarizerModelInline:"The model used for summarization now lives on the workflow (title summarizer lane). Open workflow settings to choose it."},cliAgents:{heading:"CLI Agents",description:"Per-adapter launch configuration for CLI coding agents driven in engine-owned terminals.",adapterLabel:"Adapter",tier:{native:"native",hybrid:"hybrid",generic:"generic"},commandLabel:"Command override",commandHelp:"Path or name of the binary to launch. A non-default value is treated as privileged and requires autonomy approval.",extraArgsLabel:"Extra arguments",extraArgsHelp:"Appended after the adapter's computed arguments (space-separated). Bypass flags here are detected and gated.",envLabel:"Environment variable additions",envHelp:"Comma-separated variable NAMES forwarded from the parent process. Service credentials (FUSION_*) are always excluded.",autonomyLabel:"Autonomy mode",autonomyHelp:"Elevated autonomy requires a per-project approval before the agent can launch.",approvedNote:"Elevated autonomy is approved for this project.",autonomy:{default:"Default (request approvals)",elevated:"Elevated (bypass approvals)"},elevatedConfirmTitle:"Approve elevated autonomy?",elevatedConfirmBody:"Elevated autonomy lets this CLI agent bypass per-step approvals (e.g. --dangerously-skip-permissions). It can modify files and run commands without pausing. Approve only if you trust this adapter for this project.",elevatedConfirmAction:"Approve elevated autonomy",saveFailed:"Failed to save CLI agent settings",approveFailed:"Failed to record autonomy approval"}},qe=JSON.parse(`{"addCustomProvider":"Add custom provider","addMoreProjectsHint":"You can add more projects anytime from the project overview.","advancedProviderSettings":"Advanced provider settings","advancedSettings":"Advanced settings","advancedSetupDetails":"Advanced setup details","aiSetupDescription":"Fusion uses AI models to plan, write, and review code for you. Connect an AI provider below to get started — you can use a hosted service or enter an API key.","allProvidersShown":"All currently available providers are already shown above.","allSet":"All Set!","apiKeyFormatHint":"Format: {{hint}}","apiKeyHint":"Key: {{keyHint}}","apiKeyRemoved":"API key removed","apiKeySaved":"✓ API key saved","apiKeySavedToast":"API key saved","ariaDismissRecommendations":"Dismiss recommendations","ariaSetupRecommendations":"Setup recommendations","authCodeAlreadySubmitted":"That authorization code was already submitted. Waiting for login…","authCodeReceived":"Authorization code received. Finishing login…","authDescription":"This dashboard requires an auth token to communicate with the Fusion daemon. Paste the token below to continue.","authToken":"Auth Token","authTokenOptional":"Auth token (optional)","back":"← Back","browserAuthToken":"Browser Auth Token","cancelLogin":"Cancel","childProcess":"Child-Process","childProcessDesc":"Isolated execution with crash containment.","childProcessLabel":"Child Process (Isolated)","chooseModel":"Choose Model","claudeCli":{"active":"✓ Active","binaryNotFound":"\`claude\` binary not detected on PATH — install Claude CLI first.","binaryNotFoundPath":"\`claude\` not found on PATH","connected":"✓ Connected{{version}}","description":"Route AI calls through your locally-installed claude CLI. Uses your existing Claude subscription / quota instead of an API key.","details":"Details","detectedPrompt":"detected{{path}}. Click Enable to route AI calls through it.","disable":"Disable","disabledMessage":"Claude-CLI-routed models are hidden from the model picker.","disabledVerb":"Disabled","disabling":"Disabling…","enable":"Enable","enabledMessage":"Claude-CLI-routed models are now visible in the model picker.","enabledVerb":"Enabled","enabling":"Enabling…","extensionFailed":"Extension load failed: {{reason}}","name":"Anthropic — via Claude CLI","notConnected":"✗ Not connected","notInstalled":"✗ Not installed","probing":"Probing local CLI…","test":"Test","testing":"Testing…","validating":"Enabled. Validating…"},"cloneGitHint":"Fusion will run git clone into the destination directory, then register that cloned folder.","cloneGitRepository":"Clone Git Repository","clonePathHint":"Select or type an absolute destination path. Fusion will clone into this directory.","clonePathPlaceholder":"/path/for/new-clone","closeWizard":"Close wizard","compactWarning":"⚠ Setup incomplete — AI and/or GitHub features will be limited.","completeSetup":"Complete these setup items to get the most out of Fusion.","connect":"Connect","connectAiProvider":"Connect AI Provider","connectAiProviderDesc":"Connect an AI provider to enable AI agents for task planning and code generation","connectAnyway":"Connect anyway","connectedProviders":"Connected providers","connectGitHub":"Connect GitHub","connectGitHubAnytime":"No worries if you're not ready — connect GitHub anytime from Settings → Authentication.","connectGitHubButton":"Connect GitHub","connectGitHubDesc":"Connect GitHub to import issues and track pull requests","connectOauthOptional":"Connect OAuth (optional)","connectRemoteServer":"Connect remote Fusion server","continueToLogin":"Continue to login","continueWithGhCli":"Continue with gh CLI auth →","continueWithoutGitHub":"Continue without GitHub →","copiedCodeToClipboard":"Copied code to clipboard","copyCode":"Copy code","couldNotReachServer":"Could not reach the server. Check your connection and try again.","createFirstTask":"Create First Task","createNewTask":"Create a New Task","createNewTaskSubtitle":"Describe what you need built and AI will work on it","createProject":"Create Project","createTasksAnytimeNote":"You can create tasks anytime from the board, or use","createTasksAnytimeNoteTerminal":"in the terminal.","creating":"Creating...","creatingTask":"Creating task…","cursorCli":{"active":"✓ Active","binaryNotFound":"\`cursor-agent\` not found on PATH","connected":"Connected{{version}}","description":"Route AI calls through your local Cursor agent runtime.","detectedPrompt":"Detected. Click Enable to route calls through Cursor CLI.","disable":"Disable","disabling":"Disabling…","enable":"Enable","enabling":"Enabling…","notConnected":"✗ Not connected","probing":"Probing local CLI…","test":"Test","testing":"Testing…"},"defaultModelDescription":"Pick a default model for AI tasks, or leave this blank to choose later. Models vary in speed, capability, and cost.","defaultModelLabel":"Default model","defaultModelOptional":"Default Model (Optional)","describeFirstTask":"Describe your first task","destinationDirectory":"Destination Directory","directoryPath":"Directory Path","disconnect":"Disconnect","dismissWarning":"Dismiss setup warning","enterApiKey":"Enter API key","enterCodeOnGitHub":"Enter this code on GitHub","executionMode":"Execution Mode","failedToCancelLogin":"Failed to cancel login","failedToClearApiKey":"Failed to clear API key","failedToCopyCode":"Failed to copy code — copy it manually from the box above","failedToCreateCustomProvider":"Failed to create custom provider","failedToSaveApiKey":"Failed to save API key","failedToSaveShellConnection":"Failed to save shell connection","failedToSubmitAuthCode":"Failed to submit authorization code","finishSetup":"Finish Setup","firstTaskDescription":"Create your first task to start the board and launch AI execution.","firstTaskPlaceholder":"Example: Build a login page with email and password","firstTaskReady":"Your first task is ready!","getApiKeyLink":"Get your API key →","getStarted":"Get Started","githubCliAlreadyAuth":"GitHub CLI is already authenticated — issue imports and pull request tracking work right now. You're all set; no further action needed.","githubCliAuthNote":"GitHub CLI is already authenticated, so imports and PR tracking work now. OAuth from the dashboard is optional and only controls dashboard-managed connect/disconnect.","githubCliAuthSuccess":"GitHub CLI is authenticated. Imports and pull request tracking are available. Connect OAuth in Settings → Authentication if you want dashboard-managed sign-in controls.","githubConnected":"GitHub is connected — issue imports and pull request tracking are available. You're all set; no further action needed.","githubConnectionDescription":"Connecting GitHub unlocks issue imports and pull request tracking. You can skip this — task creation works without it.","githubConnectionFailed":"Connection failed or timed out.","githubOauthConnected":"GitHub OAuth is connected. You can import issues and track pull requests.","githubOauthNotConnected":"GitHub OAuth isn't connected yet. You can set it up in Settings → Authentication, or continue now and connect later.","githubSkipped":"GitHub was skipped. You can connect anytime from Settings → Authentication.","goBackToStep":"Go back to {{label}}","goToDashboard":"Go to Dashboard","howDoesLoginWork":"How does login work?","howDoesLoginWorkBody":"Clicking Login opens the provider's website in a new tab where you sign in. Once you authorize Fusion, this page will automatically detect the connection. Your credentials are never stored in Fusion.","howDoIChooseModel":"How do I choose a model?","howDoIChooseModelBody":"Models vary in speed, capability, and cost. A good default is usually the latest model from your connected provider. You can always change this later in Settings.","importFromGitHub":"Import from GitHub","importFromGitHubSubtitle":"Turn GitHub issues into tasks you can track here","inProcess":"In-Process","inProcessDesc":"Lower overhead, shared memory. Best for most projects.","inProcessLabel":"In-Process (Default)","isolationMode":"Isolation Mode","keySavedInline":"✓ Key saved","loadingProviders":"Loading providers…","localNode":"Local node","loggedOut":"Logged out","loggingOut":"Logging out…","login":"Login","loginAlreadyInProgress":"Login already in progress. Cancel it to retry.","loginCancelled":"Login cancelled","loginDidNotComplete":"Login did not complete. Please try again.","loginFailed":"Login failed","loginFailedInline":"Login failed. Please try again.","loginSuccessful":"Login successful","loginTimedOut":"Login timed out. Please try again.","loginTimedOutInline":"Login timed out. Please try again.","logout":"Logout","logoutFailed":"Logout failed","manualPastebackTitle":"Heads up — manual paste-back required","nameHint":"Use letters, numbers, hyphens, and underscores only","namePlaceholder":"my-project","needHelp":"Need help?","next":"Next →","noAiProvider":"No AI provider connected","noAiProviderBody":"AI features like task planning and code generation won't be available until you connect one. You can set this up later in Settings.","noAiProviderConnected":"No AI provider connected","noAiProviderDesc":"AI agents won't be able to work on tasks until you connect a provider. Set one up in Settings → AI Setup.","noGithub":"GitHub not connected","noGithubDesc":"You won't be able to import issues from GitHub, but you can still create tasks manually.","noModelsAvailable":"No models available yet. Connect a provider above to see model options.","noProvidersConfigured":"No AI providers are configured. Please check your Fusion configuration.","noProvidersConnectedYet":"No providers connected yet","noQuickStartProviders":"No quick-start providers are available in this environment.","noTokenHint":"No token is stored. Use the auth prompt at the top of the wizard, or set one here.","onlyNeedOneProvider":"You only need one provider to get started.","openGitHub":"Open GitHub","openManager":"Open manager","optionalBadge":"Optional","pasteRedirectUrlFirst":"Paste the full redirect URL or authorization code first.","pasteTokenForBrowserPlaceholder":"Paste the auth token for this browser","pasteTokenPlaceholder":"Paste the daemon auth token","pathHint":"Enter the absolute path to your project directory","pathPlaceholder":"/path/to/your/project","pleaseEnterTaskDescription":"Please enter a task description.","profileName":"Profile name","projectDirectory":"Project Directory","projectMustBeSelected":"A project must be selected before you can create tasks or import from GitHub.","projectName":"Project Name","projectNameHintClone":"By default this follows the destination folder name unless you edit it.","projectNameHintExisting":"By default this follows the selected directory name unless you edit it.","projectNamePlaceholder":"my-project","projectPathHint":"Select or type the absolute path to your project","projectPathPlaceholder":"/path/to/your/project","projectRegisteredSuccess":"Your project has been registered successfully.","projectRequired":"A project is required before first-task actions are available.","projectSelected":"Project selected — task creation and imports are available.","projectSetupDescription":"Choose your first project before creating or importing tasks. You can register an existing local directory or clone a GitHub repository URL through the setup wizard.","providersConnectedSummary":"✓ {{connected}} of {{total}} provider(s) connected","providersSkippedSummary_one_one":"{{count}} provider skipped","providersSkippedSummary_one_other":"{{count}} provider skipped","providersSkippedSummary_other_one":"{{count}} providers skipped","providersSkippedSummary_other_other":"{{count}} providers skipped","quickStartProviders":"Quick start providers","readinessAiProviderConnected":"{{name}} connected — AI agents can work on tasks","readinessAiProviderLabel":"AI Provider","readinessAiProviderMissing":"Connect a provider in Settings → AI Setup","readinessAiProviderSkipped":"AI agents won't be available until you connect a provider","readinessAllConnected":"✓ All integrations connected","readinessDefaultModelLabel":"Default Model","readinessGitHubConnected":"Issues and PRs can be imported","readinessGitHubLabel":"GitHub","readinessGitHubMissing":"Connect to import issues as tasks","readinessGitHubSkipped":"You can connect anytime from Settings","readinessGitHubViaCli":"Connected via GitHub CLI — imports and PR tracking are available","readinessProjectConnected":"Project selected — task creation and imports are available","readinessProjectLabel":"Project","readinessProjectMissing":"Register a project to enable task creation and imports","readinessSummaryHeader":"Setup Summary","recommended":"Recommended","recommendedNextSteps":"Recommended Next Steps","registering":"Registering...","registerProject":"Register Project","remoteServerNote":"Your native shell needs an active remote profile before dashboard handoff can complete.","remoteServerProfileSaved":"Remote server profile saved","removeKey":"Remove Key","removingKey":"Removing…","replaceTokenPlaceholder":"Enter a new token to replace the stored one","repositoryUrl":"Repository URL","repositoryUrlPlaceholder":"https://github.com/owner/repo.git","requiresGitHubConnection":"Requires GitHub connection","researchRunsNote":"Research runs require provider credentials and an enabled Research View. After onboarding, verify these in Settings → Authentication and Settings → Experimental Features.","resetToken":"Reset token","retry":"Retry","reviewStep":"Review {{label}}","runtimeNode":"Runtime Node","savedProfileButFailedToActivate":"Saved profile but failed to activate it","saveKey":"Save","saveRemoteServer":"Save remote server","saving":"Saving…","savingKey":"Saving…","savingRemoteServer":"Saving…","selectDefaultModel":"Select a default model…","selectDefaultModelDesc":"Choose a default AI model for task execution","selectedModel":"Selected:","serverUrl":"Server URL","serverUrlPlaceholder":"https://your-fusion-host","setAuthToken":"Set Auth Token","setToken":"Set token","setTokenContinue":"Set Token & Continue","setUpAi":"Set Up AI","setupComplete":"Setup complete! Head to the board to create your first task, or explore the dashboard to see what's available.","setupMode":"Setup Mode","setUpProject":"Set Up Project","setupWizardHint":"In the setup wizard, pick an existing directory or paste a GitHub clone URL.","skip":"Skip","skipForNow":"Skip for now","skipGitHub":"Skip GitHub →","skipOnboardingAriaLabel":"Skip onboarding","skipProviderHint":"Skip this step if you'd like — you can always add providers later from Settings.","skipSetup":"Skip setup →","statusConnected":"✓ Connected","statusConnecting":"⏳ Connecting…","statusConnectionFailed":"✗ Connection failed","statusNotConnected":"Not connected","statusRetry":"Retry","statusSkipped":"Skipped","stepAiSetup":"AI Setup","stepFirstTask":"First Task","stepGithub":"GitHub","stepProject":"Project","submitCode":"Submit code","submittingCode":"Submitting…","taskCreated":"Task created","taskCreatedHint":"Your task has been created and will appear on the board.","taskCreationFailed":"Something went wrong creating your task. Please try again.","taskErrorHint":"Your text has been preserved — fix the issue and try again.","titleAiSetup":"Set Up AI","titleAllSet":"All Set!","titleConnectGitHub":"Connect GitHub","titleCreateFirstTask":"Create Your First Task","titleSetUpProject":"Set Up Your Project","tokenEnvVar":"The token was set via the {{env}} environment variable when starting the dashboard.","tokenStoredHint":"A token is already stored in this browser. You can update or reset it below.","updateToken":"Update token","useExistingDirectory":"Use Existing Directory","viewTask":"View Task","waitingForGitHubAuth":"Waiting for GitHub authorization…","waitingForLogin":"Waiting for login…","waitingForOauthLogin":"Waiting for OAuth login…","welcomeToFusion":"Welcome to Fusion","whatAreAiProviders":"What are AI providers?","whatAreAiProvidersBody":"AI providers like OpenAI and Anthropic power the AI capabilities in Fusion. Connecting a provider lets Fusion's agents use AI models to help with your tasks.","whatDoesGitHubIntegrationDo":"What does GitHub integration do?","whatDoesGitHubIntegrationDoBody":"Without GitHub, you can still create and manage tasks manually. GitHub integration adds the ability to import issues as tasks, track pull request status alongside your work, and automatically link commits to tasks. Connect anytime from Settings → Authentication.","whatDoesProjectSetupDo":"What does project setup do?","whatDoesProjectSetupDoBody":"Project setup registers a workspace so Fusion knows where to read files, run commands, and track task changes.","whatHappensWhenCreateTask":"What happens when I create a task?","whatHappensWhenCreateTaskBody":"A task describes something you want done. Fusion's AI agents will read your description and work on implementing it. You can track progress on the board and review the results.","whatIsApiKey":"What is an API key?","whatIsApiKeyBody":"An API key is a secret token that authenticates Fusion with the provider. You can find your key in the provider's dashboard under API settings. Keys are stored securely on your machine.","withGitHub1":"Import issues as tasks","withGitHub2":"Sync pull request status","withGitHub3":"Link code changes to tasks","withGitHubHeading":"With GitHub (after connecting):","withoutGitHub1":"Create tasks manually","withoutGitHub2":"Describe work for AI agents","withoutGitHub3":"Track progress on the board","withoutGitHubHeading":"Without GitHub (available now):"}`),je={activePill:"Active",addConnection:"Add connection",addServer:"Add server",authTokenLabel:"Auth token (optional)",connectionManager:"Connection Manager",connectionManagerLabel:"Connection Manager",defaultProfileName:"Remote Server",deleteConfirmLabel:"Delete server confirmation",deleteConfirmMessage:"Delete {{name}}? This removes the saved profile.",deleteProfile:"Delete {{name}}",editProfile:"Edit {{name}}",modeLocal:"Local",modeRemote:"Remote",nameLabel:"Name",noServersSaved:"No remote servers saved yet.",scanQr:"Scan QR",serverUrlLabel:"Server URL",serverUrlProtocolError:"Server URL must use http or https",use:"Use",useProfile:"Use {{name}}"},Ge={addSkill:"Add a skill…",allSkillsSelected:"All skills selected",catalogSection:"Skills Catalog",catalogUnavailable:"Catalog is temporarily unavailable. Please try again later.",closeDetail:"Close skill detail",closeView:"Close skills view",disabled:"Skill disabled",disableSkill:"Disable {{name}}",discovered:"discovered",discoveredCount_one:"{{count}} discovered skills",discoveredCount_other:"{{count}} discovered skills",discoveredSection:"Discovered Skills",enabled:"Skill enabled",enableSkill:"Enable {{name}}",filesLabel:"Files",install:"Install",installError:"Failed to install skill",installFailed:"Failed to install {{name}}: {{message}}",installing:"Installing…",installsCount:"{{count}} installs",installSkill:"Install {{name}}",installSuccess:"Installed {{name}}",loadCatalogError:"Failed to load catalog",loadContentError:"Failed to load skill content",loadDiscoveredError:"Failed to load discovered skills",loading:"Loading skills…",loadingCatalog:"Loading catalog...",loadingContent:"Loading skill content...",loadingDiscovered:"Loading discovered skills...",noCatalogAvailable:"No skills available in the catalog.",noDiscovered:"No skills discovered in this project.",noMatchingDiscovered:"No discovered skills match your search.",noMatchingSearch:"No skills match your search.",noSkillMd:"(No SKILL.md found)",noSkillsDiscovered:"No skills discovered",removeSkill:"Remove {{name}}",searchLabel:"Search skills",searchPlaceholder:"Search skills...",title:"Skills",toggleError:"Failed to toggle skill",toggleFailed:"Failed to toggle skill: {{message}}",viewDetails:"View details for {{name}}"},We={edit:"Edit",empty:"(no specification)",feedbackPlaceholder:"e.g., 'Add more details about error handling', 'Split this into smaller steps', 'Include tests for the API endpoints'...",keyboardHint:"Press <ctrl>Ctrl</ctrl>+<enter>Enter</enter> (or <cmd>Cmd</cmd>+<enter2>Enter</enter2>) to save",placeholder:"Enter task specification in Markdown...",requesting:"Requesting…",requestRevision:"Request AI Revision",revisionHelp:"Provide feedback for the AI to improve this specification. The task will move to planning for replanning.",revisionTitle:"Ask AI to Revise",saving:"Saving…",view:"View"},Ve={applied:"Applied",apply:"Apply",applyFailed:"Apply failed",changedPathsLabel:"Changed paths",classificationLabel:"Classification",closeDiffDialog:"Close diff dialog",diffDialogLabel:"Diff for {{sha}}",diffHeader:"Diff for {{sha}}",diffTruncated:"Diff output truncated.",drop:"Drop",dropConfirm:"Drop",dropMessage:"This removes the stash entry permanently.",dropTitle:"Drop orphaned stash?",failedToLoadDiff:"Failed to load diff",failedToLoadOrphans:"Failed to load orphans",fileCount_one:"{{count}} files",fileCount_other:"{{count}} files",inspectDiff:"Inspect diff",loadingDiff:"Loading diff…",noDiffOutput:"No diff output available.",noOrphans:"No orphaned merger autostashes found.",orphanCount_one:"{{count}} orphans",orphanCount_other:"{{count}} orphans",shaLabel:"SHA",title:"Stash Recovery",unknownSource:"Unknown source"},ze={aiPrompt:"AI Prompt",aiPromptStepTitle:"AI Prompt step",command:"Command",commandStepTitle:"Command step",createTask:"Create Task",createTaskStepTitle:"Create Task step"},Ke={addSubtask:"Add subtask",baseBranchLabel:"Merge target / base branch (optional)",baseBranchPlaceholder:"main",branchAssignmentPerTask:"Per-task branches derived from planning branch",branchAssignmentShared:"Shared merge target — subtasks run on their own branches",branchModeAutoNew:"Create auto-named branch per task",branchModeCustomNew:"Create custom new branch",branchModeExisting:"Use existing branch",branchModeProjectDefault:"Use project/default branch",branchNameLabel:"Branch name",branchStrategyLabel:"Branch strategy",createTasks:"Create Tasks",creating:"Creating...",dependenciesLabel:"Dependencies",dependencyCycleError:"Dependencies contain a cycle. Remove circular references before creating tasks.",descriptionLabel:"Description",discardChangesMessage:"Close subtask breakdown? Unsaved changes will be lost.",discardChangesTitle:"Discard Changes",dragToReorder:"Drag to reorder",errorCreateTasks:"Failed to create tasks",errorRefreshSession:"Failed to refresh subtask session.",errorResumeSession:"Failed to resume session",errorRetryFailed:"Retry failed. Please try again.",errorSessionEncountered:"Session encountered an error",errorSessionFailed:"Session failed while contacting the AI.",errorSessionNoResult:"Subtask session is complete but has no result.",errorStartBreakdown:"Failed to start subtask breakdown",generatingSubtasks:"AI is generating subtasks...",groupedOnSharedBranch:"Grouped on shared branch",hideThinking:"Hide thinking",modalTitle:"Subtask Breakdown",moveDown:"Move down",moveSubtaskDownAriaLabel:"Move subtask down",moveSubtaskUpAriaLabel:"Move subtask up",moveUp:"Move up",noDepsFirstSubtask:"First subtask cannot have dependencies.",noPreviousSubtasks:"No previous subtasks available.",openGroupModal:"Open group modal",planningBranchModeLabel:"Planning branch mode",preparingBreakdown:"Preparing to break this task into subtasks.",reconnecting:"Reconnecting…",remove:"Remove",retry:"Retry",retrying:"Retrying...",reviewSubtasksHeading:"Review your subtasks",reviewSubtasksHint:"Edit titles, descriptions, sizes, and dependencies before creating all tasks at once.",sendToBackgroundAriaLabel:"Send to background",sendToBackgroundTitle:"Send to background",sessionActiveAnotherTab:"Session is active in another tab.",sessionActiveAnotherTabLive:"This session is active in another tab (live heartbeat)",sessionActiveAnotherTabTakeover:"This session is active in another tab",showThinking:"Show thinking",sizeLabel:"Size",takeControl:"Take Control",takingControl:"Taking control...",titleLabel:"Title",untitled:"Untitled"},Ye={entryCount_one:"{{count}} entry",entryCount_other:"{{count}} entries",filterAll:"All",filterAllNodes:"All Nodes",filterDirection:"Direction:",filterNode:"Node:",filterPull:"Pull",filterPush:"Push",loading:"Loading...",noHistory:"No sync history available",resultConflict:"Conflict",resultError:"Error",resultSuccess:"Success"},Qe={agentActive:"active",agentError:"error",agentIdle:"idle",agentRunning:"running",autoKillLabel:"Auto-kill vitest on memory pressure",autoRefresh:"Auto-refresh · 5s",closeAriaLabel:"Close",confirmKill:"Confirm Kill?",cpuFirstSamplePending:"First sample pending",cpuProcessUsage:"process usage",cpuProgressLabel:"App CPU usage: {{percent}}%",cpuProgressUnavailable:"App CPU usage unavailable: waiting for another sample",cpuSampling:"Sampling…",errorKillVitest:"Failed to kill vitest processes",errorLoadStats:"Failed to load system stats",errorLoadVitestSettings:"Failed to load vitest settings",errorSaveVitestSettings:"Failed to save vitest settings",footerRefreshFailed:"Latest refresh failed: {{error}}",killedProcesses_one:"Killed {{count}} processes",killedProcesses_other:"Killed {{count}} processes",killThresholdInputAriaLabel:"Kill threshold (%)",killThresholdLabel:"Kill threshold (%)",killThresholdSliderAriaLabel:"Kill threshold slider (%)",killVitest:"Kill Vitest Processes",lastAutoKill:"Last auto-kill: {{time}}",loading:"Loading system stats…",notYet:"Not yet",refreshAriaLabel:"Refresh system stats",refreshTitle:"Refresh",rowAppCpu:"App CPU",rowArrayBuffers:"Array Buffers",rowCores:"Cores",rowExternal:"External",rowHeapLimit:"Heap Limit",rowHeapLimitDetail:"V8 limit",rowHeapUsed:"Heap Used",rowHeapUsedDetail:"of {{total}}",rowLoadAvg:"Load Avg",rowMemoryFree:"Memory Free",rowMemoryUsed:"Memory Used",rowNode:"Node",rowPid:"PID",rowPlatform:"Platform",rowRss:"RSS",rowTotal:"Total",sectionAgents:"Agents",sectionAgentsAriaLabel:"Agent stats",sectionCpu:"CPU & Load",sectionCpuAriaLabel:"CPU and load stats",sectionProcess:"Process",sectionProcessAriaLabel:"Process stats",sectionSystem:"System",sectionSystemMemAriaLabel:"System memory stats",sectionTasks:"Tasks",sectionTasksAriaLabel:"Task stats",sectionVitest:"Vitest Controls",sectionVitestAriaLabel:"Vitest controls",systemMemProgressLabel:"System memory used: {{percent}}% ({{used}} of {{total}})",systemMemUnavailable:"System memory usage unavailable",title:"System Stats",updatedAt:"Updated {{time}}",vitestProcesses:"Vitest Processes",waitingFirstUpdate:"Waiting for first update"},Je={attributionFailed:"Landed-files set may include foreign commits (attribution unavailable).",disableWordWrap:"Disable word wrap",enableWordWrap:"Enable word wrap",error:"Error loading changes: {{error}}",expandDiff:"Expand to full-screen diff view",expandDiffView:"Expand diff view",filesChangedHeading_one:"Files Changed ({{count}})",filesChangedHeading_other:"Files Changed ({{count}})",loadError:"Failed to load task changes",loading:"Loading changes...",mergedAt:"Merged {{date}}",nextFile:"Next file",noExecutionModifications:"The agent did not modify any files during execution.",noFilesModified:"No files modified.",noMergeCommit:"No merge commit was recorded for this task.",noMergeFileChanges:"No file changes were recorded in the merge commit.",noOpShortCircuit:"Verified short-circuit — work was already on main (rebase walked foreign commits).",noWorktree:"No worktree available for this task.",noWorktreeHint:"Changes will be shown once the task is in progress.",previousFile:"Previous file",summaryHint:"Final commit summary: {{files}} file{{plural}} changed, +{{additions}} additions, -{{deletions}} deletions. Counts only the recorded merge/squash commit, not the full task lineage.",toggleWordWrap:"Toggle word wrap",unavailable:"Detailed file changes unavailable."},Ze=JSON.parse(`{"actions":{"menuBtn":"Actions"},"agent":{"assignBtn":"Assign Agent","assignedUpdated":"Assigned agent updated","assignFailed":"Failed to assign agent: {{error}}","label":"Agent","loadFailed":"Failed to load agents: {{error}}","loadingAgents":"Loading agents...","noAgents":"No agents available","unassigned":"Agent unassigned","unassignFailed":"Failed to unassign agent: {{error}}","unassignTitle":"Unassign agent"},"agentLink":"agent {{id}}","ageStaleness":{"active":"Active","age":"Age","column":"Column","critical":"Critical","observed":"Observed","paused":"Paused","title":"Task age staleness","warning":"Warning"},"attachments":{"attachBtn":"Attach Screenshot","attached":"Screenshot attached","deleted":"Attachment deleted","deleteTitle":"Delete attachment","heading":"Attachments","none":"(no attachments)","uploading":"Uploading…"},"blockedByLink":"blocked by {{id}}","blocking":{"heading":"Blocking","none":"(no downstream tasks blocked)","stale":"(stale)","staleTitle":"Stale blockedBy edge: self-healing clearStaleBlockedBy should clear this automatically"},"branchBinding":{"candidates":"Candidates:","copy":"This in-review task isn't currently attached to a fusion branch. If a live fusion branch still exists for it, you can reattach it here.","headline":"Branch needs reattachment","reattachBtn":"Reattach branch","reattached":"Reattached branch for {{id}} ({{branch}})","reattachedResult":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattachedResult_one":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattachedResult_other":"Reattached {{branch}} ({{count}} commits ahead of {{base}}).","reattaching":"Reattaching…","skipped":"Branch reattachment skipped for {{id}}: {{reason}}","skippedResult":"Reattachment skipped: {{reason}}"},"cacheBreakdown":"(read {{read}} / write {{write}} / input {{input}})","cacheHitRatio":"Cache hit ratio:","cacheRead":"Cache read","cacheWrite":"Cache write","checkoutLink":"checkout {{id}}","delete":{"actionClosed":"closed","actionDeleted":"deleted","actionLeft":"left","allowRecreation":"Allow re-creation later (operator unlock)","allowRecreationDesc":"Lets agents recreate this task ID without --force-resurrect. Leave unchecked to keep this task tombstoned.","archivedAfterUnlink":"Archived {{id}} after unlinking lineage references","archiveInstead":"Archive Instead","archiveUnlinkPrompt":"Archive anyway by unlinking these references first?","ariaLabel":"Delete task","btn":"Delete","closeIssue":"Close Issue","confirm":"Delete","deletedAfterRemovingDeps":"Deleted {{id}} after removing dependency references","deletedAfterUnlinkLineage":"Deleted {{id}} after unlinking lineage references","deletedToast":"Deleted {{id}}{{suffix}}","deleteIssue":"Delete Issue","deleteLinkedIssueMessage":"Delete {{issueRef}} on GitHub, or leave it unchanged?","deleteLinkedIssueTitle":"Delete Linked GitHub Issue","deleteUnlinkDepsPrompt":"Delete anyway by removing these dependency references first?","deleteUnlinkLineagePrompt":"Delete anyway by unlinking these references first?","forceDeleteTitle":"Force Delete Task","issueSuffix":"and {{action}} issue {{ref}}","leaveUnchanged":"Leave Unchanged","linkedIssueMessage":"Choose what to do with {{issueRef}} when deleting {{id}}.\\n\\nClose the issue?","linkedIssueTitle":"Linked GitHub Issue","message":"Delete {{id}}?","moreOptions":"More Options","title":"Delete Task"},"deps":{"addBtn":"Add Dependency","clearBlockerTitle":"Clear overlap blocker {{id}}","clearBtn":"Clear","clickToView":"Click to view {{id}}","heading":"Dependencies","loadFailed":"Failed to load dependency {{id}}","noAvailableTasks":"No available tasks","none":"(no dependencies)","overlapBlocker":"File scope overlap blocker:","removeTitle":"Remove dependency {{id}}","searchPlaceholder":"Search tasks…","stale":"(stale)"},"description":{"showLess":"Show less","showMore":"Show more"},"duplicate":{"btn":"Duplicate","message":"Duplicate {{id}}? This will create a new task in Triage with the same description and prompt.","success":"Duplicated {{id}} → {{newId}}","title":"Duplicate Task"},"edit":{"autosaveHint":"Changes autosave as you edit","autosaving":"Autosaving…","nodeOverrideLocked":"Execution node override is locked while a task is active/in progress.","saved":"Saved","saveFailed":"Save failed","saving":"Saving…","sourceExternalIdPlaceholder":"Issue identifier","sourceIssueHint":"Leave all fields empty to clear source issue metadata.","sourceIssueIdentifierNumeric":"Source issue identifier must be numeric for new metadata","sourceIssueLabel":"Source Issue","sourceIssueRequiredFields":"Source issue provider, repository, and issue identifier are required","sourceProviderPlaceholder":"Provider (e.g. github)","sourceRepositoryPlaceholder":"Repository (e.g. owner/repo)","sourceUrlPlaceholder":"Issue URL"},"error":{"taskFailed":"Task Failed"},"executionAndTokenStats":"Execution & Token Stats","executionDetails":"Execution Details","executionMode":{"ariaLabel":"Execution mode: {{mode}}","fast":"Fast","standard":"Standard","updated":"Execution mode updated to {{mode}}"},"executionModeFast":"Fast","executionModeStandard":"Standard","executionStatsAria":"Task execution statistics","executionTiming":"Execution Timing","executionTimingMetricsAria":"Execution timing metrics","firstUsed":"First used","githubTracking":{"addTitleBeforeCreating":"Add a title before creating a tracking issue","checking":"Checking tracking status","collapse":"Collapse GitHub tracking details","createIssueBtn":"Create tracking issue","createIssueDisabledTitle":"Add a title or description so a tracking issue can be created.","createIssueHelper":"Tracking issue will be created once this task has a title or description to summarize.","disabled":"Tracking is currently disabled","enableAriaLabel":"Enable GitHub tracking","enableBtn":"Enable","enableCheckboxLabel":"Enable GitHub tracking","enabling":"Enabling GitHub tracking…","enablingAriaLabel":"Enabling GitHub tracking","expand":"Expand GitHub tracking details","issue":"Issue","issueCreationRequested":"Requested GitHub tracking issue creation","issueUnlinked":"GitHub issue unlinked","label":"GitHub tracking","loading":"Loading GitHub tracking status…","loadingAriaLabel":"Loading GitHub tracking status","notYetCreated":"Issue not yet created","repoOverrideFormat":"Repository override must be in owner/repo format","state":"State","statusAriaLabel":"GitHub tracking status","statusDisabled":"Disabled","statusEnabled":"Enabled","statusLinked":"Linked","statusLoading":"Loading","unlinkBtn":"Unlink GitHub issue","unlinkConfirm":"Unlink","unlinkMessage":"This stops Fusion from syncing with the linked GitHub issue. The issue itself will not be modified.","unlinkTitle":"Unlink GitHub issue?"},"hasSession":"has session","header":{"back":"Back","backToList":"Back to task list","editTask":"Edit task"},"inputTokens":"Input","lastUsed":"Last used","loadingTokenStats":"Loading token statistics…","logs":{"activity":"Activity","activityHeading":"Activity","agentLog":"Agent Log","noActivity":"(no activity)","truncated_one":"Showing the most recent {{count}} activity entries.","truncated_other":"Showing the most recent {{count}} activity entries."},"longestTimingEvent":"Longest timing event","longestWorkflowStep":"Longest workflow step","merge":{"closed":"Closed {{id}} ({{reason}})","merged":"Merged {{id}} (branch: {{branch}})","merging":"Merging {{id}}…","message":"Merge {{id}} into the current branch?","noBranchToMerge":"no branch to merge","title":"Merge Task"},"move":{"backToInProgress":"Back to In Progress","cancelMove":"Cancel Move","keepProgress":"Keep Progress","movedTo":"Moved to {{column}}","moveTo":"Move to {{column}}","preserveProgressMessage":"This task has completed steps. Keep progress before moving?","preserveProgressTitle":"Preserve Progress?","resetProgress":"Reset Progress","resetProgressMessage":"Reset all step progress before moving this task?","resetProgressTitle":"Reset Progress?"},"nearDuplicate":{"actions":"Choose Archive to move this task to archived, or Keep to continue with this task.","archiveBtn":"Archive","archiveConfirm":"Archive","archived":"Archived {{id}}","archiveMessage":"Archive {{id}} as a duplicate of {{duplicateOf}}?","archiveTitle":"Archive near-duplicate task","copy":"This task appears to be a near-duplicate of","headline":"Potential duplicate detected","keepBtn":"Keep","kept":"Kept {{id}} and dismissed duplicate warning"},"nextRecoveryAt":"Next recovery at {{time}}","no":"No","noCommits":{"disabled":"No-commits expectation disabled","enabled":"No-commits expectation enabled","hint":"Allows the task to complete without producing git commits. Use for evaluation, verification, or audit tasks where the deliverable is the recorded decision.","label":"No commits expected (decision-only task)"},"noRuntimeLinks":"No runtime links","noScheduledRecovery":"No scheduled recovery","noSteps":"No steps","noTimedEvents":"No timed events recorded yet.","noTokenUsage":"No token usage recorded for this task yet.","notSet":"Not set","noWorkflowStepTimings":"No completed workflow step timings yet.","outputTokens":"Output","pause":{"pauseBtn":"Pause","paused":"Paused {{id}}","pausedByAgent":"Paused by agent","unpauseBtn":"Unpause","unpaused":"Unpaused {{id}}","worktrunkFailed":"Worktrunk operation failed"},"paused":"Paused","plan":{"approveBtn":"Approve Plan","approved":"Plan approved — {{id}} moved to Todo","rebuildMessage":"Rebuild the plan for this task? The task will move to planning for replanning.","rebuildTitle":"Rebuild Plan","rejectBtn":"Reject Plan","rejected":"Plan rejected — {{id}} returned to Planning for replanning","rejectMessage":"Reject this plan? The specification will be discarded and regenerated.","rejectTitle":"Reject Plan","replanning":"Replanning {{id}}…"},"pr":{"awaitingChecks":"Awaiting PR checks","checkPrStatus":"Check PR Status","creatingPr":"Creating PR…","finishAndClose":"Finish & Close","mergeAndClose":"Merge & Close","mergingFixes":"Merging fixes…","mergingPr":"Merging PR…","startPrReview":"Start PR Review","statusRefreshed":"PR status refreshed"},"priority":{"ariaLabel":"Task priority","label":"Priority:","updated":"Priority updated to {{priority}}"},"progress":{"heading":"Progress","noSteps":"(no steps defined)","stepCount_one":"{{count}}/{{total}} step","stepCount_other":"{{count}}/{{total}} steps"},"provenance":{"createdBy":"Created by","createdVia":"Created via"},"recoveryState":"Recovery state","refine":{"btn":"Refine","charCount_one":"{{count}}/2000 characters","charCount_other":"{{count}}/2000 characters","createBtn":"Create Refinement Task","creating":"Creating...","feedbackRequired":"Please enter feedback describing what needs refinement","feedbackTooLong":"Feedback must be 2000 characters or less","help":"Describe what needs to be refined or improved...","modalTitle":"Refine","placeholder":"Enter your feedback here...","taskCreated":"Refinement task created: {{id}}"},"reset":{"btn":"Reset","confirmMessage":"This will erase all progress for {{id}} and start the task from scratch. Continue?","resetSuccess":"Reset {{id}} — fresh run will be allocated"},"respecify":{"btn":"Respecify"},"retries":{"branchConflict":"Branch conflict recovery","branchConflictTitle":"FN-4068 branch-conflict recovery retries","capReached":"Retry cap reached for this task.","collapse":"Collapse retries details","expand":"Expand retries details","label":"Retries","mergeConflict":"Merge conflict bounces","mergeConflictTitle":"Merge conflict bounce retries","postReviewFix":"Post-review fixes","postReviewFixTitle":"Post-review remediation retries","recovery":"Recovery retries","recoveryTitle":"Transient executor recovery retries","reviewerContext":"Reviewer context retries","reviewerContextTitle":"FN-4082 compact reviewer retry","reviewerFallback":"Reviewer fallback retries","reviewerFallbackTitle":"FN-4092 fallback-model retry","stuckKill":"Stuck kills","stuckKillTitle":"Stuck-task detector forced agent kill retries","taskDone":"task_done retries","taskDoneTitle":"Agent exited without task_done and task was retried","verification":"Verification bounces","verificationTitle":"Verification failure bounce retries","workflowStep":"Workflow retries","workflowStepTitle":"Workflow step failure retries"},"retriesLabel":"Retries (recovery / workflow / merge / task_done)","retry":{"btn":"Retry","retried":"Retried {{id}}"},"runtimeLinks":"Runtime links","runtimeStatus":"Runtime status","selfHealCounters":"Self-heal counters","selfHealValues":"stuck kills: {{stuckKills}}, post-review fixes: {{postReviewFixes}}","sourceIssue":{"collapse":"Collapse source issue details","expand":"Expand source issue details","githubAriaLabel":"GitHub source issue","githubBadge":"GitHub","identifier":"Issue Identifier","label":"Source issue","none":"(none)","provider":"Provider","repository":"Repository","url":"URL"},"spec":{"aiReviseHeading":"Ask AI to Revise","aiReviseHelp":"Provide feedback for the AI to improve this specification. The task will move to planning for replanning.","editBtn":"Edit","feedbackPlaceholder":"e.g., 'Add more details about error handling', 'Split this into smaller steps', 'Include tests for the API endpoints'...","hintCancel":"to cancel","hintSave":"to save","loading":"Loading specification…","noPrompt":"(no prompt)","placeholder":"Enter task specification in Markdown...","requesting":"Requesting…","requestRevisionBtn":"Request AI Revision","revisionColumnError":"Cannot request revision: Task must be in 'triage', 'todo', 'in-progress', or 'in-review' column.","revisionRequested":"AI revision requested. Task moved to planning.","saving":"Saving…","updated":"Spec updated"},"stall":{"noLogEntry":"No log entry yet","noLogEntryTitle":"No 'In-review stall surfaced' entry on this task yet — self-healing may not have logged one within its rate-limit window.","observed":"Observed","threshold":"Threshold","viewActivityLog":"View activity log"},"stepProgress":"Step progress","summary":{"heading":"Summary"},"tabs":{"changes":"Changes","comments":"Comments","definition":"Definition","chat":"Chat","documents":"Documents","logs":"Logs","model":"Model","pullRequest":"Pull Request","review":"Review","routing":"Routing","stats":"Stats","workflow":"Workflow","terminal":"Terminal"},"timedDuration":"Timed duration","timestamps":{"ariaLabel":"Task timestamps","created":"Created","updated":"Updated"},"timingEvents":"Timing events","tokenTotalsAria":"Task token totals","tokenUsage":"Token Usage","totalExecutionTime":"Total execution time","totalTokens":"Total","updateFailed":"Failed to update {{id}}: {{error}}","updateSuccess":"Updated {{id}}","wallClockSinceFirst":"Wall-clock since first execution","workflow":{"loadFailed":"Failed to load workflow results: {{error}}","stepsUpdated":"Workflow steps updated","stepsUpdateFailed":"Failed to update workflow steps: {{error}}"},"workflowRuntime":"Workflow runtime","workflowTimedSteps":"Workflow timed steps","yes":"Yes","terminal":{"loading":"Loading terminal…"}}`),Xe={cancel:"Cancel",collapse:"Collapse",contentLabel:"Content",contentPlaceholder:"Enter document content…",contentRequired:"Content is required",create:"Create",created:"Document created",creating:"Creating…",deleteConfirm:"Delete?",deleted:"Document deleted",edit:"Edit",expand:"Expand",failedToCreate:"Failed to create document",failedToDelete:"Failed to delete document",failedToLoad:"Failed to load documents",failedToLoadRevisions:"Failed to load revisions",failedToSave:"Failed to save document",heading:"Documents",history:"History",invalidKeyFormat:"Invalid key format. Use 1-64 alphanumeric characters, hyphens, or underscores.",keyHint:"Alphanumeric, hyphens, underscores (1-64 chars)",keyLabel:"Key",keyPlaceholder:"e.g., plan, notes, research",keyRequired:"Document key is required",loading:"Loading documents…",loadingRevisions:"Loading…",modeMarkdown:"Markdown",modePlain:"Plain",newDocumentButton:"New Document",newDocumentTitle:"New Document",no:"No",noDocuments:"No documents yet.",noPreviousRevisions:"No previous revisions.",revisionHistory:"Revision History",save:"Save",saved:"Document saved",saving:"Saving…",switchToMarkdown:"Switch to markdown",switchToPlainText:"Switch to plain text",yes:"Yes"},$e={unset:"—",moreFields:"Additional fields",orphaned:"Orphaned fields",saveFailed:"Failed to save field"},et={addDependencies:"Add dependencies",attachHint:"You can also paste images or drag & drop",attachmentsLabel:"Attachments",attachScreenshot:"Attach Screenshot",autoMergeDefault:"Default (Follow project setting)",autoMergeDisabled:"Disabled",autoMergeEnabled:"Enabled",autoMergeHint:"Default follows the project auto-merge setting.",autoMergeLabel:"Auto-merge",autoSaveSaved:"Saved",autoSaveSaving:"Saving...",baseBranchCustom:"Custom…",baseBranchDefault:"(default / project branch)",baseBranchLabel:"Merge target / base branch",baseBranchPlaceholder:"e.g. main",branchModeAutoNew:"Create auto-named branch per task",branchModeCustomNew:"Create custom new branch",branchModeExisting:"Use existing branch",branchModeProjectDefault:"Use project/default branch",branchModeSharedGroup:"Merge into a shared feature branch",branchNameLabel:"Branch name",branchPlaceholder:"e.g. feature/my-task",branchSettingsLabel:"Branch Settings",branchStrategyLabel:"Branch strategy",collapseDescription:"Collapse description",dependenciesLabel:"Dependencies",dependenciesSelected_one:"{{count}} selected",dependenciesSelected_other:"{{count}} selected",descriptionLabel:"Description",descriptionPlaceholder:"What needs to be done?",descriptionRefinedToast:"Description refined with AI",editingDescription:"Editing Description",enterDescriptionFirst:"Enter a description first",executionModeFast:"Fast",executionModeLabel:"Execution mode",executionModeStandard:"Standard",executionOrderLabel:"Execution order:",executorLabel:"Executor",executorModelLabel:"Executor Model",expandDescription:"Expand description",githubRepoFormatError:"Repository must be in owner/repo format.",githubRepoLabel:"Repository (owner/repo)",githubTrackingEnable:"Enable GitHub issue tracking for this task",githubTrackingLabel:"GitHub Tracking",loadingModels:"Loading models…",modelConfigLabel:"Model Configuration",moreOptions:"More options",moveDown:"Move down",moveUp:"Move up",noAvailableTasks:"No available tasks",nodeDefaultOption:"Use project default / local",nodeOverrideHint:"Task override takes priority over project default node routing.",nodeOverrideLabel:"Execution Node Override",noModelsAvailable:"No models available. Configure authentication in Settings.",overridePreset:"Override",planButton:"Plan",planningLabel:"Planning",planningModelLabel:"Planning Model",presetCustom:"Custom",presetLabel:"Preset",presetUseDefault:"Use default",priorityLabel:"Priority",refineAddDetailsDesc:"Add implementation details and context",refineAddDetailsTitle:"Add details",refineButton:"Refine",refineClarifyDesc:"Make the description clearer and more specific",refineClarifyTitle:"Clarify",refineExpandDesc:"Expand into a more comprehensive description",refineExpandTitle:"Expand",refineInProgress:"Refining...",refineSimplifyDesc:"Simplify and make more concise",refineSimplifyTitle:"Simplify",refineTitle:"Refine description with AI",removeImage:"Remove image",removeStep:"Remove",reviewDefault:"Default (Auto — triage decides)",reviewerLabel:"Reviewer",reviewerModelLabel:"Reviewer Model",reviewLabel:"Review",reviewLevel0:"0 — None",reviewLevel1:"1 — Plan Only",reviewLevel2:"2 — Plan and Code",reviewLevel3:"3 — Full",searchTasksPlaceholder:"Search tasks…",sharedBranchPlaceholder:"e.g. clionboarding",sharedFeatureBranchLabel:"Shared feature branch",subtaskButton:"Subtask",thinkingDefault:"Default ({{level}})",thinkingHigh:"High",thinkingLabel:"Thinking",thinkingLow:"Low",thinkingMedium:"Medium",thinkingMinimal:"Minimal",thinkingOff:"Off",titleLabel:"Title",titlePlaceholder:"Task title",useDropdown:"Use dropdown",usingPreset:"Using preset: {{name}}",workflowDefaultBadge:"(default)",workflowHelp:"The selected workflow's steps run automatically around this task's execution.",workflowLabel:"Workflow",workflowNone:"No workflow",workflowsCta:"Set up workflows in the editor",workflowsLoading:"Loading workflows…",workingBranchLabel:"Working branch"},tt={githubImported:"Imported {{id}} from GitHub"},ot={autoMergeOff:"Auto-merge off",autoMergeOn:"Auto-merge on",autoMergePreferenceUpdated:"Per-task auto-merge preference updated",completedAtSep:" · Completed: {{timestamp}}",createPr:"Create PR",effective:"Effective: {{label}}",effectiveFrozen:"Effective: {{label}} — frozen on entry to review",errorSep:" · Error: {{message}}",followDefault:"Follow default",loadError:"Failed to load review data.",loadingData:"Loading review data…",markdown:"Markdown",noCapturedFeedback:"No review feedback captured yet.",noFeedbackDirect:"No reviewer feedback yet — this task has not produced reviewer-agent feedback in direct mode.",noReviewItems:"No review items yet.",perTaskAutoMerge:"Per-task auto-merge",plain:"Plain",prSummaryLine_one:"{{decision}} · {{count}} review item(s)",prSummaryLine_other:"{{decision}} · {{count}} review item(s)",queueing:"Queueing…",refresh:"Refresh",refreshDataFailed:"Failed to refresh review data.",refreshed:"Review refreshed",refreshFailed:"Refresh failed",refreshing:"Refreshing…",refreshStatusLine:"{{status}} · Last refreshed: {{timestamp}} · {{source}}",requestRevision:"Request revision",reviewerSummaryLine_one:"{{reviewer}} · {{count}} review item(s)",reviewerSummaryLine_other:"{{reviewer}} · {{count}} review item(s)",revisionQueueFailed:"Failed to queue revision",revisionStarted:"Same-task AI revision started from selected review feedback",selectedAt:"Selected: {{timestamp}}",showMarkdown:"Show formatted markdown",showRawText:"Show raw text",startedAtSep:" · Started: {{timestamp}}",updateFailed:"Failed to update {{taskId}}: {{error}}",upToDate:"Up to date"},at={addTaskPlaceholder:"Add a task...",agent:"Agent",agentLabel:"Agent",archive:"Archive",archived:"Archived {{taskId}}",archivedUnlinked:"Archived {{taskId}} after unlinking lineage references",archiveFailed:"Failed to archive {{taskId}}: {{error}}",archiveLineageConflict:`{{taskId}} has lineage children ({{children}}) that reference it as a source parent.
6
6
 
7
7
  Archive anyway by unlinking these references first?`,archiveTask:"Archive task",assignedTo:"Assigned to {{name}}",attach:"Attach",attachCount_one:"Attach ({{count}})",attachCount_other:"Attach ({{count}})",attachedFile:"Attached {{fileName}} to {{taskId}}",attachFileFailed:"Failed to attach {{fileName}}: {{error}}",awaitingApproval:"Awaiting Approval",baseBranch:"Base",blockedByTooltip:"Blocked by {{taskId}} (file overlap)",branch:"Branch",branchMetadata:"Branch metadata",branchProgress:"{{done}}/{{total}} branches",branchProgressTitle:"Parallel branches in progress",cancelMove:"Cancel Move",clearSelection:"Clear selection",closeIssue:"Close Issue",collapse:"Collapse",createdByAgent:"Created by agent",createdByAgentNamed:"Created by agent: {{name}}",createdPr:"Created PR #{{number}}",createFailed:"Failed to create task",createPr:"Create PR",createPrAriaLabel:"Create pull request",createPrTitle:"Create a PR for this task",createTaskTitle:"Create task",creating:"Creating...",decisionOnly:"decision-only",decisionOnlyTitle:"Decision-only task",deleteConfirm:"Delete {{taskId}}?",deleted:"Deleted {{taskId}}{{suffix}}",deletedRemovedDeps:"Deleted {{taskId}} after removing dependency references",deletedUnlinked:"Deleted {{taskId}} after unlinking lineage references",deleteFailed:"Failed to delete {{taskId}}: {{error}}",deleteIssue:"Delete Issue",deleteLinkedIssueMessage:"Delete {{issueLabel}} on GitHub, or leave it unchanged?",deleteLinkedIssueTitle:"Delete Linked GitHub Issue",deleteTask:"Delete task",deleteTitle:"Delete Task",dependencyConflict:`{{taskId}} is a dependency of {{dependentList}}.
8
8
 
@@ -10,4 +10,4 @@ Delete anyway by removing these dependency references first?`,deps:"Deps",depsCo
10
10
 
11
11
  Delete anyway by unlinking these references first?`,linkedIssueChipAriaLabel:"Linked GitHub issue #{{number}}",linkedIssueChipTitle:"Linked GitHub issue: {{owner}}/{{repo}}#{{number}}",linkedIssueMessage:`Choose what to do with {{issueLabel}} when deleting {{taskId}}.
12
12
 
13
- Close the issue?`,linkedIssueTitle:"Linked GitHub Issue",loadAgentsFailed:"Failed to load agents: {{msg}}",loadAgentsFailedGeneric:"Failed to load agents",loadDependencyFailed:"Failed to load dependency {{depId}}",loadingAgents:"Loading agents...",loadModelsFailed:"Failed to load models",missionBadgeTitle:"Mission: {{name}}",modelExecutor:"Executor",modelPlan:"Plan",modelReviewer:"Reviewer",models:"Models",modelsCount_one:"{{count}} model",modelsCount_other:"{{count}} models",moreOptions:"More Options",move:"Move",moved:"Moved {{taskId}} to {{column}}",moveFailed:"Failed to move {{taskId}}: {{error}}",moveTask:"Move task",nearDuplicateTitle:"Potential near-duplicate of {{id}}",needsInput:"Needs input",noAgentsAvailable:"No agents available",node:"Node",noExistingTasks:"No existing tasks",openRetryBreakdown:"Open retry breakdown",paused:"paused",pausedByAgent:"paused by agent",plan:"Plan",planButtonTitle:"Open planning mode with current description",planModel:"Plan Model",prBadgeTitle:"PR #{{number}}: {{title}}",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressTitle:"Preserve Progress?",projectDefaultLocal:"Project default / local",queued:"Queued",quickEntryHint:"Enter to create · Esc to cancel",refine:"Refine",refineAddDetails:"Add details",refineAddDetailsDesc:"Add implementation details and context",refineButtonTitle:"Refine description with AI",refineClarify:"Clarify",refineClarifyDesc:"Make the description clearer and more specific",refineExpand:"Expand",refineExpandDesc:"Expand into a more comprehensive description",refineSimplify:"Simplify",refineSimplifyDesc:"Simplify and make more concise",refining:"Refining...",removeImage:"Remove image",resetProgress:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressTitle:"Reset Progress?",retriesAriaLabel_one:"{{count}} retries",retriesAriaLabel_other:"{{count}} retries",retry:"Retry",retryFailed:"Failed to retry {{taskId}}: {{error}}",retrying:"Retrying…",reviewerModel:"Reviewer Model",save:"Save",saving:"Saving...",searchTasksPlaceholder:"Search tasks…",selectAgent:"Select agent",selectExecutionNode:"Select execution node",selectPriority:"Select priority",sendBack:"Send back",sharedBranch:"Shared",showSteps:"Show steps",stalled:"Stalled",statusMergingFix:"Merging fixes…",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps",stuck:"Stuck",subtask:"Subtask",subtaskButtonTitle:"Break down into AI-generated subtasks",toggleFastMode:"Toggle fast execution mode",unarchive:"Unarchive",unarchived:"Unarchived {{taskId}}",unarchiveFailed:"Failed to unarchive {{taskId}}: {{error}}",unarchiveTask:"Unarchive task",updated:"Updated {{taskId}}",updateFailed:"Failed to update {{taskId}}: {{error}}",uploadFailed:"Failed to upload: {{files}}",usingDefault:"Using default",viewDependency:"Click to view {{depId}}",workflow:"workflow",workflowCheck:"Workflow check",cliWaitingOnInput:"Waiting on input",cliWaitingOnInputTitle:"The CLI agent is waiting for your input",cliNeedsAttention:"Needs attention",cliNeedsAttentionTitle:"The CLI agent needs your attention"},it={clear:"Clear",clearTerminal:"Clear terminal",closeTab:"Close tab",closeTerminal:"Close terminal",decreaseFontSize:"Decrease terminal font size",exitLabel:"Exit: {{code}}",failedToStartTerminal:"Failed to start terminal: {{error}}",helpText:"Ctrl++/- zoom • ⌨ Shortcuts panel • Esc close",increaseFontSize:"Increase terminal font size",initializeError:"Terminal UI failed to initialize: {{error}}",newSession:"New Session",newTerminal:"New terminal",reconnect:"Reconnect",refreshPage:"Refresh page",reinitialize:"Reinitialize",shortcuts:"Shortcuts",startingTerminal:"Starting terminal...",statusConnected:"Connected",statusConnecting:"Connecting...",statusDisconnected:"Disconnected",statusReconnecting:"Reconnecting..."},nt={colorTheme:"Color Theme",colorThemeLabel:"Color theme",currentTheme:"Current theme",fontSize:"Font Size",fontSizeLabel:"Dashboard font size",modeLabel:"Theme mode",resetButton:"Reset to defaults",resetLabel:"Reset to default theme"},st={addItemPlaceholder:"Add a todo item",addList:"Add list",assignAgent:"Assign {{text}} to agent",cancelItemEdit:"Cancel item edit",cancelList:"Cancel list",cancelListRename:"Cancel list rename",createList:"Create List",createTaskFrom:"Create task from {{text}}",deleteItem:"Delete {{text}}",deleteList:"Delete {{title}}",deleteListConfirm:"Delete this list and all its items?",deleteListTitle:"Delete List",editItem:"Edit {{text}}",failedCreateItem:"Failed to create item",failedCreateItemToast:"Failed to create todo item",failedCreateList:"Failed to create list",failedCreateListToast:"Failed to create todo list",failedDeleteItem:"Failed to delete item",failedDeleteItemToast:"Failed to delete todo item",failedDeleteList:"Failed to delete list",failedDeleteListToast:"Failed to delete todo list",failedLoadLists:"Failed to load todo lists",failedRenameList:"Failed to rename list",failedRenameListToast:"Failed to rename todo list",failedReorderItems:"Failed to reorder items",failedReorderItemsToast:"Failed to reorder todo items",failedToCreateAndAssign:"Failed to create and assign task: {{error}}",failedToCreateTask:"Failed to create task: {{error}}",failedToLoadAgents:"Failed to load agents: {{error}}",failedUpdateItem:"Failed to update item",failedUpdateItemToast:"Failed to update todo item",itemsLabel:"Todo items",lists:"Lists",listsLabel:"Todo lists sidebar",loading:"Loading todos...",loadingAgents:"Loading agents...",manageDescription:"Manage reusable todo lists for your project.",moveItemDown:"Move {{text}} down",moveItemUp:"Move {{text}} up",newListTitle:"New list title",noAgentsAvailable:"No agents available",noItemsEmpty:"No items in this list. Add one above.",noListsEmpty:"No todo lists yet. Create one to get started.",renameList:"Rename {{title}}",saveItemEdit:"Save item edit",saveList:"Save list",saveListRename:"Save list rename",selectList:"Select list {{title}}",selectListEmpty:"Select a list from the sidebar",startPlanning:"Start planning from {{text}}",taskCreatedAndAssigned:"Created {{id}} and assigned to {{agent}}",taskCreatedFromTodo:"Created {{id}} from todo",todoListsLabel:"Todo lists",todos:"Todos"},rt={customOption:"Custom…",loadingHint:"Loading detected GitHub remotes…"},lt={dismissLabel:"Dismiss update notice",learnMore:"Learn more",message:"Update available: v{{latestVersion}} (current: v{{currentVersion}}). Run fn update for an installed CLI, or pull this source checkout.",releaseNotes:"Release notes"},dt={configureAuthHint:"Configure authentication in Settings to see usage data.",failedToLoad:"Failed to load usage data",hideWindow:"Hide {{label}}",lastUpdated:"Last updated: {{time}}",moveProviderDown:"Move {{provider}} down",moveProviderUp:"Move {{provider}} up",noDataAvailable:"No usage data available",noProvidersConfigured:"No AI providers configured",percentLeft:"{{percent}}% left",percentRemaining:"{{percent}}% remaining",percentUsed:"{{percent}}% used",reorderProvider:"Reorder {{provider}}",resetsInDays:"resets in {{days}}d",resetsInDaysHours:"resets in {{days}}d {{hours}}h",resetsInHours:"resets in {{hours}}h",resetsInMinutes:"resets in {{mins}}m",showHidden_one:"Show hidden ({{count}})",showHidden_other:"Show hidden ({{count}})",statusError:"Error",statusNotConfigured:"Not configured",title:"Usage",viewModeLabel:"Usage view mode",viewModeRemaining:"Remaining",viewModeUsed:"Used"},ct={add:"Add",adding:"Adding...",addTemplate:"Add template",addWorkflowStep:"Add Workflow Step",advisoryExplanation:"Advisory workflow steps flagged non-blocking improvements:",agentPromptLabel:"Agent Prompt",agentPromptPlaceholder:"Leave empty to use AI refinement",badgeAdvisory:"Advisory",badgeAiPrompt:"AI Prompt",badgeDefaultOn:"Default on",badgeDisabled:"Disabled",badgeEnabled:"Enabled",badgeGate:"Gate",badgePostMerge:"Post-merge",badgePreMerge:"Pre-merge",badgeScript:"Script",cancelDeleteAriaLabel:"Cancel delete",cancelDeleteTitle:"Cancel delete",clearModelOverrideTitle:"Clear model override (use global default)",configuredSteps:"Configured Workflow Steps",confirmDeleteAriaLabel:"Confirm delete {{name}}",confirmDeleteTitle:"Confirm delete",createChooserHint:"Start from a built-in template or create a fully custom workflow step.",createChooserTitle:"How would you like to create this workflow step?",createCustomStep:"Custom workflow step",defaultOnCheckbox:"Default on for new tasks",deleteStepAriaLabel:"Delete {{name}}",done:"Done",doneEditingAriaLabel:"Done editing workflow steps",edit:"Edit",editAriaLabel:"Edit workflow steps",editStepAriaLabel:"Edit {{name}}",editStepTitle:"Edit Workflow Step",emptySteps:"No workflow steps defined. Create one to get started, or add one from the Templates tab.",enabledCheckbox:"Enabled (available for selection on new tasks)",errorAddTemplate:"Failed to add workflow step from template",errorDeleteStep:"Failed to delete workflow step",errorLoadSteps:"Failed to load workflow steps",errorLoadTemplates:"Failed to load templates",errorNameDescRequired:"Name and description are required",errorNameDescRequiredRefine:"Name and description are required before refining",errorRefinePrompt:"Failed to refine prompt",errorSaveStep:"Failed to save workflow step",errorTemplateAlreadyExists:"A workflow step named '{{name}}' already exists",executionModeLabel:"Execution Mode",executionOrder:"Execution order:",executionPhaseLabel:"Execution Phase",expandOutput:"Expand output",failureBehaviorLabel:"Failure Behavior",formDescriptionLabel:"Description",formDescriptionPlaceholder:"Brief description of what this step does",formNameLabel:"Name",formNamePlaceholder:"e.g. Documentation Review",gateModeAdvisory:"Advisory",gateModeAdvisoryHint:"Failures are recorded as advisory and do not block merge.",gateModeGate:"Gate",gateModeGateHint:"Failures block merge and request remediation.",graphEditor:"Graph editor",hideOutput:"Hide output",loadingBuiltInTemplates:"Loading built-in templates...",loadingResults:"Loading workflow results…",loadingTemplates:"Loading templates...",markdown:"Markdown",modalAriaLabel:"Workflow Steps",modalTitle:"Workflow Steps",modeAiPrompt:"AI Prompt",modelHintCustom:"Using {{provider}}/{{modelId}}",modelHintDefault:"Using global default model",modelOverrideDropdownLabel:"Model override for this workflow step",modelOverrideLabel:"Model Override",modelOverridePlaceholder:"Select a model override…",modeScript:"Run Script",moveDown:"Move down",moveUp:"Move up",needsReview:"Needs follow-up review.",newStepTitle:"New Workflow Step",noBuiltInTemplates:"No built-in templates are available right now. You can still create a custom step.",noScripts:"No scripts configured. Add scripts in Settings → Scripts first.",noStepsConfigured:"No workflow steps configured for this task.",noTemplates:"No templates available.",notes:"Notes:",output:"Output:",phasePostMerge:"Post-merge",phasePostMergeHint:"Runs after merge success — failures are logged but do not block",phasePreMerge:"Pre-merge",phasePreMergeHint:"Runs before merge — can block merge on failure",plain:"Plain",polishNotes:"Polish notes",promptRefined:"Prompt refined with AI",refineWithAi:"Refine with AI",refineWithAiAriaLabel:"Refine prompt with AI",refineWithAiTitle:"Refine with AI",remove:"Remove",scriptLabel:"Script",selectScript:"Select a script…",selectStepsDescription:"Select steps to run after task implementation completes",showOutput:"Show output",started:"Started:",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps",stepCreated:"Workflow step created",stepDefinitionNotFound:"Step definition not found.",stepDeleted:"Workflow step deleted",steps:"Workflow Steps",stepsExplanation:"Pre-merge steps run after implementation, before merge. Post-merge steps run after merge succeeds.",stepUpdated:"Workflow step updated",summaryAdvisory_one:"{{count}} advisory",summaryAdvisory_other:"{{count}} advisory",summaryFailed_one:"{{count}} failed",summaryFailed_other:"{{count}} failed",summaryPassed_one:"{{count}} passed",summaryPassed_other:"{{count}} passed",summaryRunning_one:"{{count}} running",summaryRunning_other:"{{count}} running",summarySeparator:" · ",summarySkipped_one:"{{count}} skipped",summarySkipped_other:"{{count}} skipped",summaryStepCount_one:"{{count}} step",summaryStepCount_other:"{{count}} steps",switchToMarkdown:"Switch to markdown",switchToPlain:"Switch to plain text",tabMySteps_one:"My Workflow Steps ({{count}})",tabMySteps_other:"My Workflow Steps ({{count}})",tabTemplates_one:"Templates ({{count}})",tabTemplates_other:"Templates ({{count}})",templateAdded:"Added {{name}} workflow step",useDefault:"Use default"},ut={add:"Add column",agent:"Column agent",agentBadgeDefer:"Column agent (defer)",agentBadgeOverride:"Column agent (override)",agentFlagHint:"Enable both experimentalFeatures.workflowColumns and experimentalFeatures.workflowGraphExecutor to staff columns with agents",agentLabel:"Column agent",agentMode:"Agent mode",agentModeDefer:"Defer",agentModeDeferHint:"Column agent applies only when the work carries no agent/model settings of its own",agentModeOverride:"Override",agentModeOverrideHint:"Column agent supersedes node- and task-level agent/model settings",agentNone:"(none)",agentNotFound:"Agent not found — {{id}}",agentsLoadFailed:"Failed to load agents",compositionBlocked:"Resolve trait conflicts on highlighted columns before saving",confirmPolicyEscalation:"Bind it anyway? The column agent will run with broader permissions than this project's default.",empty:"No columns yet. Add a column to place nodes into board lanes.",escalationDeclined:"Save cancelled — column agent binding not confirmed",overriddenByColumnAgent:"Overridden by column agent {{name}} — this node's executor settings are superseded.",moveDown:"Move column down",moveUp:"Move column up",nameLabel:"Column name",newColumnName:"New column",nodeUnplaced:"Not placed in a column",readOnlyHint:"Built-in workflows are read-only — duplicate to edit",remove:"Remove column",title:"Columns",traits:"Traits",traitsLoadFailed:"Failed to load traits",unplacedCount_one:"{{count}} nodes not placed in a column",unplacedCount_other:"{{count}} nodes not placed in a column"},pt={add:"Add field",addOption:"Add option",badge:"Render as badge",default:"Default",defaultLabel:"Default value",defaultTrue:"Default on",duplicateId:"A field with that id already exists",editId:"Edit id",empty:"No custom fields yet. Add a field to extend the task form and cards.",idLabel:"Field id",idWarn:"Changing the id discards values stored under the old id (remove + add).",nameLabel:"Field name",newFieldName:"New field",newOptionLabel:"Option 1",noDefault:"— none —",optionColor:"Option color",optionLabel:"Option label",optionN:"Option {{n}}",options:"Options",optionValue:"Option value",placement:"Placement",placementCard:"Card badge",placementDetail:"Detail (inline)",placementSection:"Detail section",readOnlyHint:"Built-in workflows are read-only — duplicate to edit",remove:"Remove field",removeOption:"Remove option",required:"Required",title:"Fields",typeLabel:"Type",widget:"Widget",widgetDefault:"Default"},mt={advisory:"Advisory",autoLayout:"Auto-layout",codeNote:"Runs sandboxed TypeScript. Syntax is validated at save.",codeSource:"Source (TypeScript)",codeTimeout:"Timeout (ms)",cycleBlocked:"That connection would create a cycle — only rework edges inside a for-each template may loop back",deleteEdge:"Delete edge",deleteNode:"Delete node",edgeCondition:"Condition",edgeConditionLabel:"Condition: {{condition}}",edgeInspector:"Edge",edgeNoVerdict:"— success (no verdict) —",edgeRework:"Rework edge (loop back, bounded)",edgeReworkNote:"Rework edges are the only legal cycles — they loop back within the for-each step instance, bounded by Max rework cycles.",edgeVerdict:"Review verdict",failureCollect:"Collect (wait for all)",failureFailFast:"Fail-fast (cancel siblings)",failurePolicy:"On branch failure",foreachConcurrency:"Concurrency",foreachEmptyHint:"Drag a step-execute node here",foreachIsolation:"Isolation",foreachMaxRework:"Max rework cycles",foreachMode:"Mode",foreachNote:"Expands once per planned step. Drop a step-execute node (and optional step-review) into the region.",foreachParallel:"Parallel",foreachSequential:"Sequential",foreachShared:"Shared worktree",foreachWorktree:"Per-step worktree",gateBlocks:"Gate (blocks)",gateMode:"Gate mode",insertTemplate:"Insert template {{name}}",interpreterOnly:"This workflow branches, so it runs on the graph interpreter — it can't compile to the linear step engine, but it will still run.",joinAll:"All branches",joinAny:"Any branch",joinMode:"Join mode",joinQuorum:"Quorum (n)",mergeBoundaryNote:"Steps before this marker run pre-merge; steps after run post-merge.",parseArtifact:"Artifact",parseParser:"Parser",quorumN:"Quorum count (n)",releaseCapacity:"Downstream capacity",releaseCondition:"Release condition",releaseDependency:"Dependency complete",releaseExternal:"External event",releaseManual:"Manual promote",releaseTimer:"Timer",reviewCode:"Code review",reviewModel:"Review model (optional)",reviewNote:"Verdicts route as outcome edges. Click an outgoing edge to set its verdict and rework behavior.",reviewPlan:"Plan review",reviewType:"Review type",splitNote:"Branches run concurrently from this node. Execute and merge seams are not allowed inside a branch.",stepExecuteLabel:"Step execute",summaryAwaitInput:"Waits for user input",summaryCodeDefault:"TypeScript",summaryGateAdvisory:"Advisory",summaryGateBlocks:"Gate (blocks)",summaryHoldRelease:"Release: {{release}}",summaryNotConfigured:"Not configured",summaryReviewType:"{{type}} review",templateFilterLabel:"Filter templates",templateFilterPlaceholder:"Filter templates",templateSeamConflict:`This fragment duplicates the "{{seam}}" seam already on the canvas, so it can't be inserted.`,templatesBuiltinSteps:"Built-in steps",templatesFragments:"Fragments",templatesPluginSteps:"Plugin steps",templatesSection:"Templates",trivialGraphHint:"This workflow only runs start → end. Add steps from the palette above to build it out."},gt={aiEdit:"Design with AI",aiFailed:"Failed to design workflow",aiPromptPlaceholder:"e.g. Run lint and tests before merge, then post a changelog comment after merge",aiPromptRequired:"Describe the workflow you want",aiReplaceConfirm:"Replace the current graph with the AI design? Unsaved changes will be lost.",aiReplaceConfirmLabel:"Replace",aiReplaceTitle:"Replace graph?",aiSubmit:"Design with AI",aiToggle:"Describe it instead",clickToEditDescription:"Click to edit description",clickToRename:"Click to rename",created:'Created workflow "{{name}}"',createDescription:"Description (optional)",createFailed:"Failed to create workflow",createName:"Name",createNameRequired:"Enter a workflow name",createSubmit:"Create",createTitle:"New workflow",deleted:"Workflow deleted",deleteFailed:"Failed to delete workflow",deleteMessage:'Delete workflow "{{name}}"? This cannot be undone.',deleteTitle:"Delete workflow?",descriptionLabel:"Workflow description",descriptionPlaceholder:"Add a description",discardConfirm:"Discard",discardMessage:"You have unsaved changes to this workflow. Discard them?",discardTitle:"Discard unsaved changes?",duplicateToCustomize:"Duplicate to customize",emptyDescription:"Workflows orchestrate the steps and gates that run around task execution. Create one to start arranging that flow.",emptyTitle:"No workflow selected",export:"Export",exportDirtyTooltip:"Save before exporting",exportFailed:"Failed to export workflow",exportTooltip:"Download as JSON — contains your full prompt and command text",import:"Import",imported:'Imported workflow "{{name}}"',importFailed:"Import failed",importInvalidJson:"That file isn't valid JSON.",importStripped:"Auto-approval flags were removed from imported nodes",importTooltip:"Import a workflow from a JSON file",migrationNotice:'Your legacy workflow steps were converted — find them as templates in the palette and as the "Migrated steps" workflow.',nameLabel:"Workflow name",newWorkflow:"New workflow",readOnlyBuiltin:"Read-only built-in workflow",saved:"Workflow saved",savedNotCompilable:"Workflow saved but cannot be compiled",saveFailed:"Failed to save workflow",selectOrCreate:"Select or create a workflow to start editing.",templateBlank:"Blank",templateBlankDescription:"Start from an empty start → end graph.",templateCopyName:"{{name}} copy",templateNodeCount_one:"{{count}} nodes",templateNodeCount_other:"{{count}} nodes",templatePickerLabel:"Start from",templateSectionBuiltin:"Built-in workflows",templateSectionYours:"Your workflows"},ht={switchActiveMessage:"This task has an active session. Switching workflows aborts it and re-homes the card into the new workflow's entry column. Continue?",switchActiveTitle:"Switch workflow?",switchCancel:"Cancel",switchConfirm:"Switch and abort"},vt={projectRoot:"Project Root",selectWorkspace:"Select workspace",taskWorktrees:"Task Worktrees"},ft={unassigned:"Unassigned",upNext:"Up Next"},bt={assetUrl:"Asset URL",installPath:"Install path",installRequestTitle:"Worktrunk install request",sha256:"SHA-256",version:"Version"},kt={cliAgent:{executorOption:"CLI agent",adapterLabel:"CLI adapter",adapterPlaceholder:"— select adapter —",adapterNote:"Drives a CLI coding agent in an engine-owned terminal for this step.",tier:{native:"native",hybrid:"hybrid",generic:"generic"},autonomyLabel:"Elevated autonomy (bypass approvals)",autonomyNote:"Elevated autonomy requires a per-project approval before the agent can launch. Until approved, launches with elevated posture fail.",notifyLabel:"Waiting-on-input notification",notify:{banner:"In-app banner",bannerNotify:"Banner + push notification"},notifyNote:"How you are alerted when the agent pauses waiting for input on this step."}},yt={replayIdle:"Session idle",replayEnded:"Session ended",readOnly:"Read-only",postureResolved:"Resolved posture",postureBaseline:"Baseline",adapterSettings:"Adapter settings",advancePrompt:"This session looks idle — advance to review?",advance:"Advance",notYet:"Not yet",mobileInputPlaceholder:"Type to send to the session…",mobileSend:"Send",mobileKeyEsc:"Send Escape",mobileKeyTab:"Send Tab",mobileKeyCtrlC:"Send Ctrl-C",mobileKeyCtrl:"Sticky Ctrl modifier",mobileKeyArrowUp:"Cursor up",mobileKeyArrowDown:"Cursor down",mobileKeyArrowLeft:"Cursor left",mobileKeyArrowRight:"Cursor right"},wt={actions:e,activityLog:t,agentError:o,agentLog:a,agentMention:i,agentPolicy:n,agentPrompts:s,agentProvisioning:r,agents:l,app:d,approval:c,auth:u,backend:p,backgroundTasks:m,board:g,branchGroup:h,capacity:v,changes:f,chat:b,chatRooms:k,cli:y,cliBinary:w,column:S,comments:C,commit:A,commitDiff:T,common:P,composer:R,confirm:F,conversation:L,createRoom:D,dashboard:M,dbBanner:I,deepLink:N,desktop:x,devserver:H,dirPicker:E,docker:_,documents:B,droidCli:U,duplicateWarning:O,editor:q,evals:j,executor:G,fileBrowser:W,fileEditor:V,fileMention:z,git:K,goals:Y,groupTask:Q,header:J,health:Z,hermes:X,inline:$,insights:ee,interview:te,lane:oe,listView:ae,mailbox:ie,memory:ne,merge:se,mesh:re,missions:le,modalManager:de,model:ce,models:ue,modelSelection:pe,nav:me,newTaskModal:ge,nodes:he,nodeStatus:ve,nodeSync:fe,onboarding:be,openclaw:ke,paperclip:ye,piManager:we,planning:Se,plugins:Ce,pr:Ae,preview:Te,projectCard:Pe,projectDetection:Re,projects:Fe,projectSelector:Le,providers:De,quickChat:Me,reliability:Ie,research:Ne,routine:xe,routing:He,schedule:Ee,scriptsModal:_e,secrets:Be,sessionBanner:Ue,settings:Oe,setup:qe,shell:je,skills:Ge,specEditor:We,stashRecovery:Ve,stepType:ze,subtasks:Ke,syncLog:Ye,systemStats:Qe,taskChanges:Je,taskDetail:Ze,taskDocuments:Xe,taskFields:$e,taskForm:et,taskHandlers:tt,taskReview:ot,tasks:at,terminal:it,theme:nt,todo:st,trackingRepoSelect:rt,updateBanner:lt,usage:dt,workflow:ct,workflowColumns:ut,workflowFields:pt,workflowNodes:mt,workflows:gt,workflowSelector:ht,workspace:vt,worktree:ft,worktrunk:bt,workflowEditor:kt,cliTerminal:yt};export{e as actions,t as activityLog,o as agentError,a as agentLog,i as agentMention,n as agentPolicy,s as agentPrompts,r as agentProvisioning,l as agents,d as app,c as approval,u as auth,p as backend,m as backgroundTasks,g as board,h as branchGroup,v as capacity,f as changes,b as chat,k as chatRooms,y as cli,w as cliBinary,yt as cliTerminal,S as column,C as comments,A as commit,T as commitDiff,P as common,R as composer,F as confirm,L as conversation,D as createRoom,M as dashboard,I as dbBanner,N as deepLink,wt as default,x as desktop,H as devserver,E as dirPicker,_ as docker,B as documents,U as droidCli,O as duplicateWarning,q as editor,j as evals,G as executor,W as fileBrowser,V as fileEditor,z as fileMention,K as git,Y as goals,Q as groupTask,J as header,Z as health,X as hermes,$ as inline,ee as insights,te as interview,oe as lane,ae as listView,ie as mailbox,ne as memory,se as merge,re as mesh,le as missions,de as modalManager,ce as model,pe as modelSelection,ue as models,me as nav,ge as newTaskModal,ve as nodeStatus,fe as nodeSync,he as nodes,be as onboarding,ke as openclaw,ye as paperclip,we as piManager,Se as planning,Ce as plugins,Ae as pr,Te as preview,Pe as projectCard,Re as projectDetection,Le as projectSelector,Fe as projects,De as providers,Me as quickChat,Ie as reliability,Ne as research,xe as routine,He as routing,Ee as schedule,_e as scriptsModal,Be as secrets,Ue as sessionBanner,Oe as settings,qe as setup,je as shell,Ge as skills,We as specEditor,Ve as stashRecovery,ze as stepType,Ke as subtasks,Ye as syncLog,Qe as systemStats,Je as taskChanges,Ze as taskDetail,Xe as taskDocuments,$e as taskFields,et as taskForm,tt as taskHandlers,ot as taskReview,at as tasks,it as terminal,nt as theme,st as todo,rt as trackingRepoSelect,lt as updateBanner,dt as usage,ct as workflow,ut as workflowColumns,kt as workflowEditor,pt as workflowFields,mt as workflowNodes,ht as workflowSelector,gt as workflows,vt as workspace,ft as worktree,bt as worktrunk};
13
+ Close the issue?`,linkedIssueTitle:"Linked GitHub Issue",loadAgentsFailed:"Failed to load agents: {{msg}}",loadAgentsFailedGeneric:"Failed to load agents",loadDependencyFailed:"Failed to load dependency {{depId}}",loadingAgents:"Loading agents...",loadModelsFailed:"Failed to load models",missionBadgeTitle:"Mission: {{name}}",modelExecutor:"Executor",modelPlan:"Plan",modelReviewer:"Reviewer",models:"Models",modelsCount_one:"{{count}} model",modelsCount_other:"{{count}} models",moreOptions:"More Options",move:"Move",moved:"Moved {{taskId}} to {{column}}",moveFailed:"Failed to move {{taskId}}: {{error}}",moveTask:"Move task",nearDuplicateTitle:"Potential near-duplicate of {{id}}",needsInput:"Needs input",noAgentsAvailable:"No agents available",node:"Node",noExistingTasks:"No existing tasks",openRetryBreakdown:"Open retry breakdown",paused:"paused",pausedByAgent:"paused by agent",plan:"Plan",planButtonTitle:"Open planning mode with current description",planModel:"Plan Model",prBadgeTitle:"PR #{{number}}: {{title}}",preserveProgressMessage:"This task has completed steps. Keep progress before moving?",preserveProgressTitle:"Preserve Progress?",projectDefaultLocal:"Project default / local",queued:"Queued",quickEntryHint:"Enter to create · Esc to cancel",refine:"Refine",refineAddDetails:"Add details",refineAddDetailsDesc:"Add implementation details and context",refineButtonTitle:"Refine description with AI",refineClarify:"Clarify",refineClarifyDesc:"Make the description clearer and more specific",refineExpand:"Expand",refineExpandDesc:"Expand into a more comprehensive description",refineSimplify:"Simplify",refineSimplifyDesc:"Simplify and make more concise",refining:"Refining...",removeImage:"Remove image",resetProgress:"Reset Progress",resetProgressMessage:"Reset all step progress before moving this task?",resetProgressTitle:"Reset Progress?",retriesAriaLabel_one:"{{count}} retries",retriesAriaLabel_other:"{{count}} retries",retry:"Retry",retryFailed:"Failed to retry {{taskId}}: {{error}}",retrying:"Retrying…",reviewerModel:"Reviewer Model",save:"Save",saving:"Saving...",searchTasksPlaceholder:"Search tasks…",selectAgent:"Select agent",selectExecutionNode:"Select execution node",selectPriority:"Select priority",sendBack:"Send back",sharedBranch:"Shared",showSteps:"Show steps",stalled:"Stalled",statusMergingFix:"Merging fixes…",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps",stuck:"Stuck",subtask:"Subtask",subtaskButtonTitle:"Break down into AI-generated subtasks",toggleFastMode:"Toggle fast execution mode",unarchive:"Unarchive",unarchived:"Unarchived {{taskId}}",unarchiveFailed:"Failed to unarchive {{taskId}}: {{error}}",unarchiveTask:"Unarchive task",updated:"Updated {{taskId}}",updateFailed:"Failed to update {{taskId}}: {{error}}",uploadFailed:"Failed to upload: {{files}}",usingDefault:"Using default",viewDependency:"Click to view {{depId}}",workflow:"workflow",workflowCheck:"Workflow check",cliWaitingOnInput:"Waiting on input",cliWaitingOnInputTitle:"The CLI agent is waiting for your input",cliNeedsAttention:"Needs attention",cliNeedsAttentionTitle:"The CLI agent needs your attention"},it={clear:"Clear",clearTerminal:"Clear terminal",closeTab:"Close tab",closeTerminal:"Close terminal",decreaseFontSize:"Decrease terminal font size",exitLabel:"Exit: {{code}}",failedToStartTerminal:"Failed to start terminal: {{error}}",helpText:"Ctrl++/- zoom • ⌨ Shortcuts panel • Esc close",increaseFontSize:"Increase terminal font size",initializeError:"Terminal UI failed to initialize: {{error}}",newSession:"New Session",newTerminal:"New terminal",reconnect:"Reconnect",refreshPage:"Refresh page",reinitialize:"Reinitialize",shortcuts:"Shortcuts",startingTerminal:"Starting terminal...",statusConnected:"Connected",statusConnecting:"Connecting...",statusDisconnected:"Disconnected",statusReconnecting:"Reconnecting..."},nt={colorTheme:"Color Theme",colorThemeLabel:"Color theme",currentTheme:"Current theme",fontSize:"Font Size",fontSizeLabel:"Dashboard font size",modeLabel:"Theme mode",resetButton:"Reset to defaults",resetLabel:"Reset to default theme"},st={addItemPlaceholder:"Add a todo item",addList:"Add list",assignAgent:"Assign {{text}} to agent",cancelItemEdit:"Cancel item edit",cancelList:"Cancel list",cancelListRename:"Cancel list rename",createList:"Create List",createTaskFrom:"Create task from {{text}}",deleteItem:"Delete {{text}}",deleteList:"Delete {{title}}",deleteListConfirm:"Delete this list and all its items?",deleteListTitle:"Delete List",editItem:"Edit {{text}}",failedCreateItem:"Failed to create item",failedCreateItemToast:"Failed to create todo item",failedCreateList:"Failed to create list",failedCreateListToast:"Failed to create todo list",failedDeleteItem:"Failed to delete item",failedDeleteItemToast:"Failed to delete todo item",failedDeleteList:"Failed to delete list",failedDeleteListToast:"Failed to delete todo list",failedLoadLists:"Failed to load todo lists",failedRenameList:"Failed to rename list",failedRenameListToast:"Failed to rename todo list",failedReorderItems:"Failed to reorder items",failedReorderItemsToast:"Failed to reorder todo items",failedToCreateAndAssign:"Failed to create and assign task: {{error}}",failedToCreateTask:"Failed to create task: {{error}}",failedToLoadAgents:"Failed to load agents: {{error}}",failedUpdateItem:"Failed to update item",failedUpdateItemToast:"Failed to update todo item",itemsLabel:"Todo items",lists:"Lists",listsLabel:"Todo lists sidebar",loading:"Loading todos...",loadingAgents:"Loading agents...",manageDescription:"Manage reusable todo lists for your project.",moveItemDown:"Move {{text}} down",moveItemUp:"Move {{text}} up",newListTitle:"New list title",noAgentsAvailable:"No agents available",noItemsEmpty:"No items in this list. Add one above.",noListsEmpty:"No todo lists yet. Create one to get started.",renameList:"Rename {{title}}",saveItemEdit:"Save item edit",saveList:"Save list",saveListRename:"Save list rename",selectList:"Select list {{title}}",selectListEmpty:"Select a list from the sidebar",startPlanning:"Start planning from {{text}}",taskCreatedAndAssigned:"Created {{id}} and assigned to {{agent}}",taskCreatedFromTodo:"Created {{id}} from todo",todoListsLabel:"Todo lists",todos:"Todos"},rt={customOption:"Custom…",loadingHint:"Loading detected GitHub remotes…"},lt={dismissLabel:"Dismiss update notice",learnMore:"Learn more",message:"Update available: v{{latestVersion}} (current: v{{currentVersion}}). Run fn update for an installed CLI, or pull this source checkout.",releaseNotes:"Release notes",updateFailed:"Update failed",updateFailedWithMessage:"Update failed: {{message}}",updateNow:"Update now",updateSuccess:"Updated to v{{version}} — restart Fusion to apply",updating:"Updating…"},dt={configureAuthHint:"Configure authentication in Settings to see usage data.",failedToLoad:"Failed to load usage data",hideWindow:"Hide {{label}}",lastUpdated:"Last updated: {{time}}",moveProviderDown:"Move {{provider}} down",moveProviderUp:"Move {{provider}} up",noDataAvailable:"No usage data available",noProvidersConfigured:"No AI providers configured",percentLeft:"{{percent}}% left",percentRemaining:"{{percent}}% remaining",percentUsed:"{{percent}}% used",reorderProvider:"Reorder {{provider}}",resetsInDays:"resets in {{days}}d",resetsInDaysHours:"resets in {{days}}d {{hours}}h",resetsInHours:"resets in {{hours}}h",resetsInMinutes:"resets in {{mins}}m",showHidden_one:"Show hidden ({{count}})",showHidden_other:"Show hidden ({{count}})",statusError:"Error",statusNotConfigured:"Not configured",title:"Usage",viewModeLabel:"Usage view mode",viewModeRemaining:"Remaining",viewModeUsed:"Used"},ct={add:"Add",adding:"Adding...",addTemplate:"Add template",addWorkflowStep:"Add Workflow Step",advisoryExplanation:"Advisory workflow steps flagged non-blocking improvements:",agentPromptLabel:"Agent Prompt",agentPromptPlaceholder:"Leave empty to use AI refinement",badgeAdvisory:"Advisory",badgeAiPrompt:"AI Prompt",badgeDefaultOn:"Default on",badgeDisabled:"Disabled",badgeEnabled:"Enabled",badgeGate:"Gate",badgePostMerge:"Post-merge",badgePreMerge:"Pre-merge",badgeScript:"Script",cancelDeleteAriaLabel:"Cancel delete",cancelDeleteTitle:"Cancel delete",clearModelOverrideTitle:"Clear model override (use global default)",configuredSteps:"Configured Workflow Steps",confirmDeleteAriaLabel:"Confirm delete {{name}}",confirmDeleteTitle:"Confirm delete",createChooserHint:"Start from a built-in template or create a fully custom workflow step.",createChooserTitle:"How would you like to create this workflow step?",createCustomStep:"Custom workflow step",defaultOnCheckbox:"Default on for new tasks",deleteStepAriaLabel:"Delete {{name}}",done:"Done",doneEditingAriaLabel:"Done editing workflow steps",edit:"Edit",editAriaLabel:"Edit workflow steps",editStepAriaLabel:"Edit {{name}}",editStepTitle:"Edit Workflow Step",emptySteps:"No workflow steps defined. Create one to get started, or add one from the Templates tab.",enabledCheckbox:"Enabled (available for selection on new tasks)",errorAddTemplate:"Failed to add workflow step from template",errorDeleteStep:"Failed to delete workflow step",errorLoadSteps:"Failed to load workflow steps",errorLoadTemplates:"Failed to load templates",errorNameDescRequired:"Name and description are required",errorNameDescRequiredRefine:"Name and description are required before refining",errorRefinePrompt:"Failed to refine prompt",errorSaveStep:"Failed to save workflow step",errorTemplateAlreadyExists:"A workflow step named '{{name}}' already exists",executionModeLabel:"Execution Mode",executionOrder:"Execution order:",executionPhaseLabel:"Execution Phase",expandOutput:"Expand output",failureBehaviorLabel:"Failure Behavior",formDescriptionLabel:"Description",formDescriptionPlaceholder:"Brief description of what this step does",formNameLabel:"Name",formNamePlaceholder:"e.g. Documentation Review",gateModeAdvisory:"Advisory",gateModeAdvisoryHint:"Failures are recorded as advisory and do not block merge.",gateModeGate:"Gate",gateModeGateHint:"Failures block merge and request remediation.",graphEditor:"Graph editor",hideOutput:"Hide output",loadingBuiltInTemplates:"Loading built-in templates...",loadingResults:"Loading workflow results…",loadingTemplates:"Loading templates...",markdown:"Markdown",modalAriaLabel:"Workflow Steps",modalTitle:"Workflow Steps",modeAiPrompt:"AI Prompt",modelHintCustom:"Using {{provider}}/{{modelId}}",modelHintDefault:"Using global default model",modelOverrideDropdownLabel:"Model override for this workflow step",modelOverrideLabel:"Model Override",modelOverridePlaceholder:"Select a model override…",modeScript:"Run Script",moveDown:"Move down",moveUp:"Move up",needsReview:"Needs follow-up review.",newStepTitle:"New Workflow Step",noBuiltInTemplates:"No built-in templates are available right now. You can still create a custom step.",noScripts:"No scripts configured. Add scripts in Settings → Scripts first.",noStepsConfigured:"No workflow steps configured for this task.",noTemplates:"No templates available.",notes:"Notes:",output:"Output:",phasePostMerge:"Post-merge",phasePostMergeHint:"Runs after merge success — failures are logged but do not block",phasePreMerge:"Pre-merge",phasePreMergeHint:"Runs before merge — can block merge on failure",plain:"Plain",polishNotes:"Polish notes",promptRefined:"Prompt refined with AI",refineWithAi:"Refine with AI",refineWithAiAriaLabel:"Refine prompt with AI",refineWithAiTitle:"Refine with AI",remove:"Remove",scriptLabel:"Script",selectScript:"Select a script…",selectStepsDescription:"Select steps to run after task implementation completes",showOutput:"Show output",started:"Started:",stepCount_one:"{{count}} step",stepCount_other:"{{count}} steps",stepCreated:"Workflow step created",stepDefinitionNotFound:"Step definition not found.",stepDeleted:"Workflow step deleted",steps:"Workflow Steps",stepsExplanation:"Pre-merge steps run after implementation, before merge. Post-merge steps run after merge succeeds.",stepUpdated:"Workflow step updated",summaryAdvisory_one:"{{count}} advisory",summaryAdvisory_other:"{{count}} advisory",summaryFailed_one:"{{count}} failed",summaryFailed_other:"{{count}} failed",summaryPassed_one:"{{count}} passed",summaryPassed_other:"{{count}} passed",summaryRunning_one:"{{count}} running",summaryRunning_other:"{{count}} running",summarySeparator:" · ",summarySkipped_one:"{{count}} skipped",summarySkipped_other:"{{count}} skipped",summaryStepCount_one:"{{count}} step",summaryStepCount_other:"{{count}} steps",switchToMarkdown:"Switch to markdown",switchToPlain:"Switch to plain text",tabMySteps_one:"My Workflow Steps ({{count}})",tabMySteps_other:"My Workflow Steps ({{count}})",tabTemplates_one:"Templates ({{count}})",tabTemplates_other:"Templates ({{count}})",templateAdded:"Added {{name}} workflow step",useDefault:"Use default"},ut={add:"Add column",agent:"Column agent",agentBadgeDefer:"Column agent (defer)",agentBadgeOverride:"Column agent (override)",agentFlagHint:"Enable both experimentalFeatures.workflowColumns and experimentalFeatures.workflowGraphExecutor to staff columns with agents",agentLabel:"Column agent",agentMode:"Agent mode",agentModeDefer:"Defer",agentModeDeferHint:"Column agent applies only when the work carries no agent/model settings of its own",agentModeOverride:"Override",agentModeOverrideHint:"Column agent supersedes node- and task-level agent/model settings",agentNone:"(none)",agentNotFound:"Agent not found — {{id}}",agentsLoadFailed:"Failed to load agents",compositionBlocked:"Resolve trait conflicts on highlighted columns before saving",confirmPolicyEscalation:"Bind it anyway? The column agent will run with broader permissions than this project's default.",empty:"No columns yet. Add a column to place nodes into board lanes.",escalationDeclined:"Save cancelled — column agent binding not confirmed",overriddenByColumnAgent:"Overridden by column agent {{name}} — this node's executor settings are superseded.",moveDown:"Move column down",moveUp:"Move column up",nameLabel:"Column name",newColumnName:"New column",nodeUnplaced:"Not placed in a column",readOnlyHint:"Built-in workflows are read-only — duplicate to edit",remove:"Remove column",title:"Columns",traits:"Traits",traitsLoadFailed:"Failed to load traits",unplacedCount_one:"{{count}} nodes not placed in a column",unplacedCount_other:"{{count}} nodes not placed in a column"},pt={add:"Add field",addOption:"Add option",badge:"Render as badge",default:"Default",defaultLabel:"Default value",defaultTrue:"Default on",duplicateId:"A field with that id already exists",editId:"Edit id",empty:"No custom fields yet. Add a field to extend the task form and cards.",idLabel:"Field id",idWarn:"Changing the id discards values stored under the old id (remove + add).",nameLabel:"Field name",newFieldName:"New field",newOptionLabel:"Option 1",noDefault:"— none —",optionColor:"Option color",optionLabel:"Option label",optionN:"Option {{n}}",options:"Options",optionValue:"Option value",placement:"Placement",placementCard:"Card badge",placementDetail:"Detail (inline)",placementSection:"Detail section",readOnlyHint:"Built-in workflows are read-only — duplicate to edit",remove:"Remove field",removeOption:"Remove option",required:"Required",title:"Fields",typeLabel:"Type",widget:"Widget",widgetDefault:"Default"},mt={advisory:"Advisory",autoLayout:"Auto-layout",codeNote:"Runs sandboxed TypeScript. Syntax is validated at save.",codeSource:"Source (TypeScript)",codeTimeout:"Timeout (ms)",cycleBlocked:"That connection would create a cycle — only rework edges inside a for-each template may loop back",deleteEdge:"Delete edge",deleteNode:"Delete node",edgeCondition:"Condition",edgeConditionLabel:"Condition: {{condition}}",edgeInspector:"Edge",edgeNoVerdict:"— success (no verdict) —",edgeRework:"Rework edge (loop back, bounded)",edgeReworkNote:"Rework edges are the only legal cycles — they loop back within the for-each step instance, bounded by Max rework cycles.",edgeVerdict:"Review verdict",failureCollect:"Collect (wait for all)",failureFailFast:"Fail-fast (cancel siblings)",failurePolicy:"On branch failure",foreachConcurrency:"Concurrency",foreachEmptyHint:"Drag a step-execute node here",foreachIsolation:"Isolation",foreachMaxRework:"Max rework cycles",foreachMode:"Mode",foreachNote:"Expands once per planned step. Drop a step-execute node (and optional step-review) into the region.",foreachParallel:"Parallel",foreachSequential:"Sequential",foreachShared:"Shared worktree",foreachWorktree:"Per-step worktree",gateBlocks:"Gate (blocks)",gateMode:"Gate mode",insertTemplate:"Insert template {{name}}",interpreterOnly:"This workflow branches, so it runs on the graph interpreter — it can't compile to the linear step engine, but it will still run.",joinAll:"All branches",joinAny:"Any branch",joinMode:"Join mode",joinQuorum:"Quorum (n)",mergeBoundaryNote:"Steps before this marker run pre-merge; steps after run post-merge.",parseArtifact:"Artifact",parseParser:"Parser",quorumN:"Quorum count (n)",releaseCapacity:"Downstream capacity",releaseCondition:"Release condition",releaseDependency:"Dependency complete",releaseExternal:"External event",releaseManual:"Manual promote",releaseTimer:"Timer",reviewCode:"Code review",reviewModel:"Review model (optional)",reviewNote:"Verdicts route as outcome edges. Click an outgoing edge to set its verdict and rework behavior.",reviewPlan:"Plan review",reviewType:"Review type",splitNote:"Branches run concurrently from this node. Execute and merge seams are not allowed inside a branch.",stepExecuteLabel:"Step execute",summaryAwaitInput:"Waits for user input",summaryCodeDefault:"TypeScript",summaryGateAdvisory:"Advisory",summaryGateBlocks:"Gate (blocks)",summaryHoldRelease:"Release: {{release}}",summaryNotConfigured:"Not configured",summaryReviewType:"{{type}} review",templateFilterLabel:"Filter templates",templateFilterPlaceholder:"Filter templates",templateSeamConflict:`This fragment duplicates the "{{seam}}" seam already on the canvas, so it can't be inserted.`,templatesBuiltinSteps:"Built-in steps",templatesFragments:"Fragments",templatesPluginSteps:"Plugin steps",templatesSection:"Templates",trivialGraphHint:"This workflow only runs start → end. Add steps from the palette above to build it out."},gt={aiEdit:"Design with AI",aiFailed:"Failed to design workflow",aiPromptPlaceholder:"e.g. Run lint and tests before merge, then post a changelog comment after merge",aiPromptRequired:"Describe the workflow you want",aiReplaceConfirm:"Replace the current graph with the AI design? Unsaved changes will be lost.",aiReplaceConfirmLabel:"Replace",aiReplaceTitle:"Replace graph?",aiSubmit:"Design with AI",aiToggle:"Describe it instead",clickToEditDescription:"Click to edit description",clickToRename:"Click to rename",created:'Created workflow "{{name}}"',createDescription:"Description (optional)",createFailed:"Failed to create workflow",createName:"Name",createNameRequired:"Enter a workflow name",createSubmit:"Create",createTitle:"New workflow",deleted:"Workflow deleted",deleteFailed:"Failed to delete workflow",deleteMessage:'Delete workflow "{{name}}"? This cannot be undone.',deleteTitle:"Delete workflow?",descriptionLabel:"Workflow description",descriptionPlaceholder:"Add a description",discardConfirm:"Discard",discardMessage:"You have unsaved changes to this workflow. Discard them?",discardTitle:"Discard unsaved changes?",duplicateToCustomize:"Duplicate to customize",emptyDescription:"Workflows orchestrate the steps and gates that run around task execution. Create one to start arranging that flow.",emptyTitle:"No workflow selected",export:"Export",exportDirtyTooltip:"Save before exporting",exportFailed:"Failed to export workflow",exportTooltip:"Download as JSON — contains your full prompt and command text",import:"Import",imported:'Imported workflow "{{name}}"',importFailed:"Import failed",importInvalidJson:"That file isn't valid JSON.",importStripped:"Auto-approval flags were removed from imported nodes",importTooltip:"Import a workflow from a JSON file",migrationNotice:'Your legacy workflow steps were converted — find them as templates in the palette and as the "Migrated steps" workflow.',nameLabel:"Workflow name",newWorkflow:"New workflow",readOnlyBuiltin:"Read-only built-in workflow",saved:"Workflow saved",savedNotCompilable:"Workflow saved but cannot be compiled",saveFailed:"Failed to save workflow",selectOrCreate:"Select or create a workflow to start editing.",templateBlank:"Blank",templateBlankDescription:"Start from an empty start → end graph.",templateCopyName:"{{name}} copy",templateNodeCount_one:"{{count}} nodes",templateNodeCount_other:"{{count}} nodes",templatePickerLabel:"Start from",templateSectionBuiltin:"Built-in workflows",templateSectionYours:"Your workflows"},ht={switchActiveMessage:"This task has an active session. Switching workflows aborts it and re-homes the card into the new workflow's entry column. Continue?",switchActiveTitle:"Switch workflow?",switchCancel:"Cancel",switchConfirm:"Switch and abort"},vt={projectRoot:"Project Root",selectWorkspace:"Select workspace",taskWorktrees:"Task Worktrees"},ft={unassigned:"Unassigned",upNext:"Up Next"},bt={assetUrl:"Asset URL",installPath:"Install path",installRequestTitle:"Worktrunk install request",sha256:"SHA-256",version:"Version"},kt={cliAgent:{executorOption:"CLI agent",adapterLabel:"CLI adapter",adapterPlaceholder:"— select adapter —",adapterNote:"Drives a CLI coding agent in an engine-owned terminal for this step.",tier:{native:"native",hybrid:"hybrid",generic:"generic"},autonomyLabel:"Elevated autonomy (bypass approvals)",autonomyNote:"Elevated autonomy requires a per-project approval before the agent can launch. Until approved, launches with elevated posture fail.",notifyLabel:"Waiting-on-input notification",notify:{banner:"In-app banner",bannerNotify:"Banner + push notification"},notifyNote:"How you are alerted when the agent pauses waiting for input on this step."}},yt={replayIdle:"Session idle",replayEnded:"Session ended",readOnly:"Read-only",postureResolved:"Resolved posture",postureBaseline:"Baseline",adapterSettings:"Adapter settings",advancePrompt:"This session looks idle — advance to review?",advance:"Advance",notYet:"Not yet",mobileInputPlaceholder:"Type to send to the session…",mobileSend:"Send",mobileKeyEsc:"Send Escape",mobileKeyTab:"Send Tab",mobileKeyCtrlC:"Send Ctrl-C",mobileKeyCtrl:"Sticky Ctrl modifier",mobileKeyArrowUp:"Cursor up",mobileKeyArrowDown:"Cursor down",mobileKeyArrowLeft:"Cursor left",mobileKeyArrowRight:"Cursor right"},wt={actions:e,activityLog:t,agentError:o,agentLog:a,agentMention:i,agentPolicy:n,agentPrompts:s,agentProvisioning:r,agents:l,app:d,approval:c,auth:u,backend:p,backgroundTasks:m,board:g,branchGroup:h,capacity:v,changes:f,chat:b,chatRooms:k,cli:y,cliBinary:w,column:S,comments:C,commit:A,commitDiff:T,common:P,composer:R,confirm:F,conversation:L,createRoom:D,dashboard:M,dbBanner:I,deepLink:N,desktop:x,devserver:H,dirPicker:E,docker:_,documents:B,droidCli:U,duplicateWarning:O,editor:q,evals:j,executor:G,fileBrowser:W,fileEditor:V,fileMention:z,git:K,goals:Y,groupTask:Q,header:J,health:Z,hermes:X,inline:$,insights:ee,interview:te,lane:oe,listView:ae,mailbox:ie,memory:ne,merge:se,mesh:re,missions:le,modalManager:de,model:ce,models:ue,modelSelection:pe,nav:me,newTaskModal:ge,nodes:he,nodeStatus:ve,nodeSync:fe,onboarding:be,openclaw:ke,paperclip:ye,piManager:we,planning:Se,plugins:Ce,pr:Ae,preview:Te,projectCard:Pe,projectDetection:Re,projects:Fe,projectSelector:Le,providers:De,quickChat:Me,reliability:Ie,research:Ne,routine:xe,routing:He,schedule:Ee,scriptsModal:_e,secrets:Be,sessionBanner:Ue,settings:Oe,setup:qe,shell:je,skills:Ge,specEditor:We,stashRecovery:Ve,stepType:ze,subtasks:Ke,syncLog:Ye,systemStats:Qe,taskChanges:Je,taskDetail:Ze,taskDocuments:Xe,taskFields:$e,taskForm:et,taskHandlers:tt,taskReview:ot,tasks:at,terminal:it,theme:nt,todo:st,trackingRepoSelect:rt,updateBanner:lt,usage:dt,workflow:ct,workflowColumns:ut,workflowFields:pt,workflowNodes:mt,workflows:gt,workflowSelector:ht,workspace:vt,worktree:ft,worktrunk:bt,workflowEditor:kt,cliTerminal:yt};export{e as actions,t as activityLog,o as agentError,a as agentLog,i as agentMention,n as agentPolicy,s as agentPrompts,r as agentProvisioning,l as agents,d as app,c as approval,u as auth,p as backend,m as backgroundTasks,g as board,h as branchGroup,v as capacity,f as changes,b as chat,k as chatRooms,y as cli,w as cliBinary,yt as cliTerminal,S as column,C as comments,A as commit,T as commitDiff,P as common,R as composer,F as confirm,L as conversation,D as createRoom,M as dashboard,I as dbBanner,N as deepLink,wt as default,x as desktop,H as devserver,E as dirPicker,_ as docker,B as documents,U as droidCli,O as duplicateWarning,q as editor,j as evals,G as executor,W as fileBrowser,V as fileEditor,z as fileMention,K as git,Y as goals,Q as groupTask,J as header,Z as health,X as hermes,$ as inline,ee as insights,te as interview,oe as lane,ae as listView,ie as mailbox,ne as memory,se as merge,re as mesh,le as missions,de as modalManager,ce as model,pe as modelSelection,ue as models,me as nav,ge as newTaskModal,ve as nodeStatus,fe as nodeSync,he as nodes,be as onboarding,ke as openclaw,ye as paperclip,we as piManager,Se as planning,Ce as plugins,Ae as pr,Te as preview,Pe as projectCard,Re as projectDetection,Le as projectSelector,Fe as projects,De as providers,Me as quickChat,Ie as reliability,Ne as research,xe as routine,He as routing,Ee as schedule,_e as scriptsModal,Be as secrets,Ue as sessionBanner,Oe as settings,qe as setup,je as shell,Ge as skills,We as specEditor,Ve as stashRecovery,ze as stepType,Ke as subtasks,Ye as syncLog,Qe as systemStats,Je as taskChanges,Ze as taskDetail,Xe as taskDocuments,$e as taskFields,et as taskForm,tt as taskHandlers,ot as taskReview,at as tasks,it as terminal,nt as theme,st as todo,rt as trackingRepoSelect,lt as updateBanner,dt as usage,ct as workflow,ut as workflowColumns,kt as workflowEditor,pt as workflowFields,mt as workflowNodes,ht as workflowSelector,gt as workflows,vt as workspace,ft as worktree,bt as worktrunk};