@wrongstack/webui 0.313.1 → 0.316.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/dist/assets/AgentRosterView-CESYPVXA.js +9 -0
  2. package/dist/assets/AnalyticsDashboard-zDBIqTxO.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-BnNJ0EhQ.js +3 -0
  4. package/dist/assets/ChangesView-CGwCocSR.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-CFxZwJBI.js +1 -0
  6. package/dist/assets/ChronicleDashboard-DKiMK5nl.js +1 -0
  7. package/dist/assets/CodeEditor-CZcMPNTH.js +2 -0
  8. package/dist/assets/CodeMap-zPUlmh5G.js +1 -0
  9. package/dist/assets/ConfirmModal-CUGk-0lT.js +1 -0
  10. package/dist/assets/{CronJobsPanel-BzH_InFe.js → CronJobsPanel-C_wutCVP.js} +1 -1
  11. package/dist/assets/{DeadCodeScanPanel-Dj-5SAEE.js → DeadCodeScanPanel-DCCjg17Q.js} +2 -2
  12. package/dist/assets/{DebugDashboard-C-lpnxsJ.js → DebugDashboard-D-ogYAbO.js} +1 -1
  13. package/dist/assets/DesignGalleryView-CtlHZWOn.js +1 -0
  14. package/dist/assets/GoalView-Czksj2nD.js +1 -0
  15. package/dist/assets/KanbanView-C5_GD0qk.js +3 -0
  16. package/dist/assets/MailboxDetailView-2rWp3cTv.js +1 -0
  17. package/dist/assets/MemoryDrawer-D9Chtt6v.js +1 -0
  18. package/dist/assets/MemoryManager-Bj41s3KW.js +1 -0
  19. package/dist/assets/ModelPicker-vwrqLOL4.js +1 -0
  20. package/dist/assets/OfficeMapPanel-BfuePIGH.js +4 -0
  21. package/dist/assets/ProcessMonitor-CHPTCtyu.js +1 -0
  22. package/dist/assets/PromptJournalView-tOTjKpi8.js +1 -0
  23. package/dist/assets/QueuePanel-BIwoG-tG.js +1 -0
  24. package/dist/assets/RefreshDebugView-DesPEAAq.js +1 -0
  25. package/dist/assets/RequirementIntakeView-BonXC1a5.js +1 -0
  26. package/dist/assets/SageTabs-82lpgRh-.js +2 -0
  27. package/dist/assets/SddFlowGraph-CMedulJi.js +1 -0
  28. package/dist/assets/SddHub-D3Gm4Io2.js +2 -0
  29. package/dist/assets/SessionInspectView-BUs2B4mF.js +1 -0
  30. package/dist/assets/SessionList-DxQgJqgl.js +1 -0
  31. package/dist/assets/SessionsDashboard-JtwQf-N5.js +1 -0
  32. package/dist/assets/SetupScreen-XFBFjPbd.js +1 -0
  33. package/dist/assets/SkillDetailView-C_P_-783.js +3 -0
  34. package/dist/assets/{SpecsView-B9Aj1qpe.js → SpecsView-D6GqoZ2L.js} +1 -1
  35. package/dist/assets/TechStackView-BE4tdEYZ.js +2 -0
  36. package/dist/assets/TerminalPanel-BcizpYrZ.js +1 -0
  37. package/dist/assets/activity-B2_Vr2oD.js +10 -0
  38. package/dist/assets/activity-BF1idM4Y.js +10 -0
  39. package/dist/assets/activity-C-kOJZXC.js +10 -0
  40. package/dist/assets/activity-DPpMW8BU.js +10 -0
  41. package/dist/assets/activity-DYMBKGt0.js +10 -0
  42. package/dist/assets/activity-IxgYWPDt.js +10 -0
  43. package/dist/assets/activity-q85HXQNv.js +10 -0
  44. package/dist/assets/{button-Dhmop_yM.js → button-C_EYpeP-.js} +1 -1
  45. package/dist/assets/{chat-CR2B97dj.js → chat-B5a3cvps.js} +1 -1
  46. package/dist/assets/{chat-DResBrkV.js → chat-B60h8Cji.js} +1 -1
  47. package/dist/assets/{chat-BnkVCZ3Q.js → chat-BNWqeV-N.js} +1 -1
  48. package/dist/assets/chat-BlllxfpP.js +1 -0
  49. package/dist/assets/{chat-BfQBSiII.js → chat-BvKkSd09.js} +1 -1
  50. package/dist/assets/{chat-BPuAsrkF.js → chat-DTI7lNDx.js} +1 -1
  51. package/dist/assets/{chat-Di8o0wDz.js → chat-DlhXGxxi.js} +1 -1
  52. package/dist/assets/chat-store-x5w4ss_D.js +1 -0
  53. package/dist/assets/{codemap-activity-store-BWt_a7Gs.js → codemap-activity-store-ZCXcHlwd.js} +1 -1
  54. package/dist/assets/codemap-index-store-Cb5mn74P.js +1 -0
  55. package/dist/assets/{dialog-DPl7DolS.js → dialog-9eW9sG90.js} +1 -1
  56. package/dist/assets/{empty-state-IT10GzRA.js → empty-state-DJb_tw7Q.js} +1 -1
  57. package/dist/assets/i18n-DkMSw3tI.js +2 -0
  58. package/dist/assets/index-BSpLtv9S.css +1 -0
  59. package/dist/assets/index-CTyM4bm8.js +137 -0
  60. package/dist/assets/{input-C3rIQ26u.js → input-CsEvo8Oo.js} +1 -1
  61. package/dist/assets/{mailbox-store-DhAVkVJQ.js → mailbox-store-KHcrg_Fm.js} +1 -1
  62. package/dist/assets/{roster-ws-Ch6O90eT.js → roster-ws-CXnrEaEu.js} +1 -1
  63. package/dist/assets/settings-1o1gooaL.js +1 -0
  64. package/dist/assets/settings-BGvRM3vJ.js +1 -0
  65. package/dist/assets/{settings-BV1_j8_-.js → settings-BV8EFmpH.js} +1 -1
  66. package/dist/assets/settings-Ci_RMpCQ.js +1 -0
  67. package/dist/assets/settings-Cy_xp4Jt.js +1 -0
  68. package/dist/assets/settings-D-LlBmzO.js +1 -0
  69. package/dist/assets/settings-nWMBX3xS.js +1 -0
  70. package/dist/assets/{shared-BUXBOqyO.js → shared-sYlGVRJI.js} +1 -1
  71. package/dist/assets/stores-5ynEAenb.js +7 -0
  72. package/dist/assets/toasts-BsmyGP95.js +1 -0
  73. package/dist/assets/toasts-CgXHu8ZB.js +1 -0
  74. package/dist/assets/toasts-DZ6HdKgG.js +1 -0
  75. package/dist/assets/toasts-DizCJjAR.js +1 -0
  76. package/dist/assets/toasts-NC2MT4uN.js +1 -0
  77. package/dist/assets/toasts-bPl097de.js +1 -0
  78. package/dist/assets/toasts-tCVo15mP.js +1 -0
  79. package/dist/assets/ui-store-9b7zzi3V.js +1 -0
  80. package/dist/assets/useWebSocket-1kxFH7f8.js +27 -0
  81. package/dist/assets/utils-DIo8iytt.js +1 -0
  82. package/dist/assets/{vector-memory-panel-CBA4CK6N.js → vector-memory-panel-Dd3jXXYA.js} +1 -1
  83. package/dist/assets/{vendor-DZ9_OO6N.js → vendor-UFryhfbN.js} +30 -30
  84. package/dist/assets/view-navigation-ICwpL9qw.js +1 -0
  85. package/dist/assets/ws-client-Ccf_VLRQ.js +22 -0
  86. package/dist/components/AgentOfficeView/model.d.ts +4 -3
  87. package/dist/components/AgentRosterView.d.ts +8 -1
  88. package/dist/components/ChatInput/composer-button-bar.d.ts +6 -2
  89. package/dist/components/ChatInput/image-attachments.d.ts +2 -1
  90. package/dist/components/ChatInput/next-steps-helpers.d.ts +0 -16
  91. package/dist/components/ChatInput/refine-panel-host.d.ts +2 -2
  92. package/dist/components/ChatInput/session-effort-select.d.ts +16 -0
  93. package/dist/components/ChatInput/slash-commands.d.ts +2 -1
  94. package/dist/components/ChatInput/slash-routing.d.ts +8 -0
  95. package/dist/components/ChatInput/use-chat-input-mcp.d.ts +2 -1
  96. package/dist/components/ChatInput/use-paste-drop.d.ts +2 -1
  97. package/dist/components/ChatInput/use-refine-timeout.d.ts +2 -1
  98. package/dist/components/ChatInput/use-speech-recognition.d.ts +9 -0
  99. package/dist/components/ChatView/AgentTabs.d.ts +1 -1
  100. package/dist/components/ChatView/BrainDecisionCard.d.ts +9 -0
  101. package/dist/components/ChatView/ChatHeader.d.ts +3 -3
  102. package/dist/components/ChatView/ChatRowView.d.ts +3 -1
  103. package/dist/components/ChatView/ChimeraReportCard.d.ts +22 -0
  104. package/dist/components/ChatView/CouncilDecisionCard.d.ts +9 -0
  105. package/dist/components/ChatView/auto-collapse.d.ts +2 -1
  106. package/dist/components/ChatView/useChatViewState.d.ts +14 -28
  107. package/dist/components/ChatView/utils.d.ts +2 -1
  108. package/dist/components/ChimeraReviewsView.d.ts +2 -0
  109. package/dist/components/CodeMapActivityStreamPanel.d.ts +2 -1
  110. package/dist/components/CodeMapDirectoryTree.d.ts +2 -1
  111. package/dist/components/CodeMapLiveOverlay.d.ts +0 -3
  112. package/dist/components/CodeMapSelectedNodeSummary.d.ts +2 -1
  113. package/dist/components/CollabPanel.d.ts +2 -7
  114. package/dist/components/ConfirmModal.d.ts +6 -13
  115. package/dist/components/CronJobsPanel.d.ts +2 -1
  116. package/dist/components/CustomRosterPanel.d.ts +0 -1
  117. package/dist/components/DependencyGraph.d.ts +2 -1
  118. package/dist/components/FileActivityDrawer.d.ts +2 -2
  119. package/dist/components/FileExplorer/FileExplorerModals.d.ts +11 -6
  120. package/dist/components/FileExplorer/TreeRow.d.ts +2 -6
  121. package/dist/components/FileExplorer/tree-helpers.d.ts +7 -0
  122. package/dist/components/FleetPanel.d.ts +4 -13
  123. package/dist/components/InspectorPanel.d.ts +6 -1
  124. package/dist/components/KanbanBoardSidebar.d.ts +2 -1
  125. package/dist/components/KanbanBoardState.d.ts +1 -1
  126. package/dist/components/KanbanContractGraphView.d.ts +3 -2
  127. package/dist/components/KanbanQueueHealthBar.d.ts +2 -1
  128. package/dist/components/KanbanTaskActivityRecorder.d.ts +2 -1
  129. package/dist/components/MemoryManager/MemoryDetail.d.ts +2 -1
  130. package/dist/components/MemoryManager/MemoryEditor.d.ts +2 -1
  131. package/dist/components/MemoryManager/MemoryFilters.d.ts +2 -1
  132. package/dist/components/MemoryManager/MemoryList.d.ts +2 -1
  133. package/dist/components/MemoryManager/MemorySearchBreakdown.d.ts +2 -1
  134. package/dist/components/MemoryManager/ReviewQueue.d.ts +2 -1
  135. package/dist/components/MemoryManager/SageTabs.d.ts +2 -1
  136. package/dist/components/MemoryManager/shared.d.ts +0 -1
  137. package/dist/components/MessageBubble/FailedRunContinue.d.ts +12 -0
  138. package/dist/components/MessageBubble/utils.d.ts +6 -0
  139. package/dist/components/ModelPickDialog.d.ts +1 -1
  140. package/dist/components/ModelSelectDialog.d.ts +4 -3
  141. package/dist/components/NextStepsBar.d.ts +1 -6
  142. package/dist/components/NotificationMenu.d.ts +6 -0
  143. package/dist/components/OfficeMapCanvas/edges.d.ts +0 -6
  144. package/dist/components/OfficeMapCanvas/nodes.d.ts +0 -32
  145. package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts +2 -1
  146. package/dist/components/OfficeMapCanvas/utils.d.ts +4 -10
  147. package/dist/components/ProcessMonitor.d.ts +2 -1
  148. package/dist/components/ProviderWaitingRoom.d.ts +8 -0
  149. package/dist/components/QueuePanel.d.ts +1 -1
  150. package/dist/components/QuickModelSwitcher.filter.d.ts +23 -7
  151. package/dist/components/RestoreTabsModal.d.ts +20 -0
  152. package/dist/components/SddFlowGraph.d.ts +3 -2
  153. package/dist/components/SessionTabBar/TabMap.d.ts +19 -0
  154. package/dist/components/SessionTabBar/summaries.d.ts +39 -0
  155. package/dist/components/SessionTabBar.d.ts +14 -0
  156. package/dist/components/SettingsPanel/ClearAllowlistDialog.d.ts +2 -1
  157. package/dist/components/SettingsPanel/ModelCatalogPicker.d.ts +2 -14
  158. package/dist/components/SettingsPanel/ModelEffortSelect.d.ts +12 -0
  159. package/dist/components/SettingsPanel/ModelListEditor.d.ts +2 -1
  160. package/dist/components/SettingsPanel/ModelSchemaEditor.d.ts +2 -1
  161. package/dist/components/SettingsPanel/ModelSection.d.ts +3 -1
  162. package/dist/components/SettingsPanel/ModelTiersSection.d.ts +7 -0
  163. package/dist/components/SettingsPanel/OAuthLoginSection.d.ts +2 -2
  164. package/dist/components/SettingsPanel/PluginToggleList.d.ts +3 -1
  165. package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts +2 -1
  166. package/dist/components/SettingsPanel/ProviderModelsPanel.filter.d.ts +2 -1
  167. package/dist/components/SettingsPanel/ProviderSection.d.ts +2 -2
  168. package/dist/components/SettingsPanel/ToolsSection.d.ts +0 -10
  169. package/dist/components/SettingsPanel/brain-section-options.d.ts +3 -10
  170. package/dist/components/SettingsPanel/contracts.d.ts +5 -3
  171. package/dist/components/SettingsPanel/sync-settings-preference.d.ts +8 -0
  172. package/dist/components/SettingsPanel/undo-send-decision.d.ts +2 -1
  173. package/dist/components/SidePanel/ChangesPanel.d.ts +0 -6
  174. package/dist/components/SidePanel/DesignStudioPanel.d.ts +7 -0
  175. package/dist/components/SidePanel/SessionList.d.ts +6 -6
  176. package/dist/components/SystemPromptDialog.d.ts +18 -0
  177. package/dist/components/TaskActivityTimeline.d.ts +3 -3
  178. package/dist/components/TaskBoard.d.ts +1 -1
  179. package/dist/components/TaskCard.d.ts +2 -7
  180. package/dist/components/TaskExecutionAttempts.d.ts +2 -1
  181. package/dist/components/TaskIntelligencePanel.d.ts +1 -1
  182. package/dist/components/TaskRiskPanel.d.ts +4 -3
  183. package/dist/components/TechStackView/DependencyDetail.d.ts +2 -1
  184. package/dist/components/TechStackView/DependencyTable.d.ts +2 -1
  185. package/dist/components/TechStackView/FindingsPanel.d.ts +2 -1
  186. package/dist/components/TechStackView/TechStackToolbar.d.ts +2 -1
  187. package/dist/components/TechStackView/shared.d.ts +5 -5
  188. package/dist/components/Toaster.d.ts +3 -31
  189. package/dist/components/ToolStatsModal.d.ts +15 -0
  190. package/dist/components/UpdateBanner.d.ts +6 -4
  191. package/dist/components/WorkbenchTopbar.d.ts +1 -3
  192. package/dist/components/agent-roster-data.d.ts +1 -1
  193. package/dist/components/agents/AgentDetailSection.d.ts +2 -1
  194. package/dist/components/agents/AgentRosterCard.d.ts +2 -1
  195. package/dist/components/agents/FleetSummaryBar.d.ts +6 -3
  196. package/dist/components/codemap-model.d.ts +3 -2
  197. package/dist/components/ui/PickerCardList.d.ts +3 -2
  198. package/dist/components/ui/badge.d.ts +2 -2
  199. package/dist/components/ui/button.d.ts +2 -2
  200. package/dist/components/ui/concurrency-gauge.d.ts +2 -1
  201. package/dist/components/ui/dialog.d.ts +5 -5
  202. package/dist/components/ui/dropdown-menu.d.ts +8 -8
  203. package/dist/components/ui/event-timeline.d.ts +2 -1
  204. package/dist/components/ui/fleet-agent-row.d.ts +2 -7
  205. package/dist/components/ui/scroll-area.d.ts +2 -2
  206. package/dist/components/ui/sheet.d.ts +2 -2
  207. package/dist/components/ui/sparkline.d.ts +2 -1
  208. package/dist/components/vector-memory-panel/model.d.ts +2 -7
  209. package/dist/hooks/index.d.ts +1 -0
  210. package/dist/hooks/useDesktopBridge.d.ts +2 -1
  211. package/dist/hooks/useF5Resilience.d.ts +0 -14
  212. package/dist/hooks/useFleetPolling.d.ts +2 -1
  213. package/dist/hooks/useGlobalKeyboardShortcuts.d.ts +4 -1
  214. package/dist/hooks/useIntegrationStatus.d.ts +10 -0
  215. package/dist/hooks/useKanbanMeta.d.ts +4 -3
  216. package/dist/hooks/useLiveContextDebug.d.ts +4 -3
  217. package/dist/hooks/useMemoryForFile.d.ts +3 -2
  218. package/dist/hooks/usePagination.d.ts +2 -1
  219. package/dist/hooks/useProviderModels.d.ts +1 -0
  220. package/dist/hooks/useSessionSubscription.d.ts +15 -0
  221. package/dist/hooks/useViewport.d.ts +2 -3
  222. package/dist/hooks/useWebSocket.d.ts +6 -1
  223. package/dist/hooks/ws-handlers/chat-handlers.d.ts +22 -10
  224. package/dist/hooks/ws-handlers/coordinator-handlers.d.ts +7 -0
  225. package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +1 -3
  226. package/dist/hooks/ws-handlers/misc-handlers.d.ts +22 -0
  227. package/dist/hooks/ws-handlers/session-context-handlers.d.ts +24 -2
  228. package/dist/hooks/ws-handlers/session-execution-handlers.d.ts +12 -0
  229. package/dist/hooks/ws-handlers/session-handlers.d.ts +3 -3
  230. package/dist/hooks/ws-handlers/session-replay-handlers.d.ts +31 -2
  231. package/dist/hooks/ws-handlers/techstack-handlers.d.ts +0 -3
  232. package/dist/index.html +30 -26
  233. package/dist/index.js +77572 -66789
  234. package/dist/lib/agent-office.d.ts +3 -3
  235. package/dist/lib/agent-session.d.ts +19 -0
  236. package/dist/lib/agent-status.d.ts +5 -4
  237. package/dist/lib/completion.d.ts +3 -2
  238. package/dist/lib/delegate-format.d.ts +33 -0
  239. package/dist/lib/favicon.d.ts +2 -1
  240. package/dist/lib/kanban-verification.d.ts +3 -2
  241. package/dist/lib/model-matrix-routes.d.ts +3 -3
  242. package/dist/lib/plugin-enablement.d.ts +1 -1
  243. package/dist/lib/reasoning-effort.d.ts +76 -0
  244. package/dist/lib/sdd-theme.d.ts +4 -3
  245. package/dist/lib/task-brief-preview.d.ts +5 -0
  246. package/dist/lib/terminal-dock.d.ts +0 -1
  247. package/dist/lib/view-navigation.d.ts +2 -2
  248. package/dist/lib/ws-client-actions.d.ts +1 -0
  249. package/dist/lib/ws-client-domain-methods.d.ts +45 -5
  250. package/dist/lib/ws-client-utils.d.ts +33 -0
  251. package/dist/lib/ws-client.d.ts +135 -6
  252. package/dist/manifest.json +17 -0
  253. package/dist/protocol-compatibility.d.ts +0 -10
  254. package/dist/stores/auto-submit-streak.d.ts +3 -1
  255. package/dist/stores/chat-lanes.d.ts +279 -0
  256. package/dist/stores/chat-retention.d.ts +2 -4
  257. package/dist/stores/chat-store-types.d.ts +1 -0
  258. package/dist/stores/chat-store.d.ts +46 -25
  259. package/dist/stores/chimera-hub-store.d.ts +140 -0
  260. package/dist/stores/chimera-reports-store.d.ts +45 -0
  261. package/dist/stores/codemap-activity-store.d.ts +4 -4
  262. package/dist/stores/context-editor-store.d.ts +4 -5
  263. package/dist/stores/coordinator-monitor-store.d.ts +3 -2
  264. package/dist/stores/council-log-store.d.ts +6 -20
  265. package/dist/stores/file-store.d.ts +32 -13
  266. package/dist/stores/fleet-store.d.ts +49 -5
  267. package/dist/stores/git-changes-store.d.ts +25 -1
  268. package/dist/stores/goal-run-store.d.ts +2 -2
  269. package/dist/stores/history-store.d.ts +11 -0
  270. package/dist/stores/index.d.ts +17 -9
  271. package/dist/stores/local-prefs.d.ts +87 -0
  272. package/dist/stores/mailbox-store.d.ts +2 -2
  273. package/dist/stores/memory-injector-store.d.ts +2 -2
  274. package/dist/stores/memory-lifecycle-store.d.ts +6 -2
  275. package/dist/stores/monitor-store.d.ts +3 -2
  276. package/dist/stores/notification-store.d.ts +141 -0
  277. package/dist/stores/provider-status-store.d.ts +19 -0
  278. package/dist/stores/restore-tabs-store.d.ts +29 -0
  279. package/dist/stores/resume-progress-store.d.ts +58 -0
  280. package/dist/stores/session-inspect-store.d.ts +1 -1
  281. package/dist/stores/session-lanes.d.ts +242 -0
  282. package/dist/stores/session-scoped-store.d.ts +56 -0
  283. package/dist/stores/session-store.d.ts +97 -154
  284. package/dist/stores/session-tab-store.d.ts +197 -0
  285. package/dist/stores/side-effect-store.d.ts +9 -1
  286. package/dist/stores/system-prompt-store.d.ts +48 -0
  287. package/dist/stores/tool-stats-store.d.ts +52 -0
  288. package/dist/stores/types.d.ts +81 -4
  289. package/dist/stores/ui-store.d.ts +113 -11
  290. package/dist/types/brain.d.ts +17 -16
  291. package/dist/types/chronicle.d.ts +3 -2
  292. package/dist/types/client-message.d.ts +139 -23
  293. package/dist/types/collab.d.ts +0 -2
  294. package/dist/types/protocol-core.d.ts +62 -6
  295. package/dist/types/server-message.d.ts +204 -3
  296. package/dist/types/skills-design.d.ts +2 -1
  297. package/package.json +11 -11
  298. package/dist/assets/AgentRosterView-p5iiedCA.js +0 -9
  299. package/dist/assets/AnalyticsDashboard-B0sbSAxw.js +0 -1
  300. package/dist/assets/AudienceMemoryPanel-DcDONq7t.js +0 -3
  301. package/dist/assets/ChangesView-CD3JR3qY.js +0 -1
  302. package/dist/assets/ChronicleDashboard-3tJUiU7K.js +0 -1
  303. package/dist/assets/CodeEditor-0RJa9mSq.js +0 -2
  304. package/dist/assets/CodeMap-BvqQN6MG.js +0 -1
  305. package/dist/assets/ConfirmModal-CRSE2t_c.js +0 -1
  306. package/dist/assets/DesignGalleryView-BKl6Ce71.js +0 -1
  307. package/dist/assets/GoalView-Db55m-Nq.js +0 -1
  308. package/dist/assets/KanbanView-BQ7duNsz.js +0 -3
  309. package/dist/assets/MailboxDetailView-CgHzqllF.js +0 -1
  310. package/dist/assets/MemoryDrawer-BNTsi4jl.js +0 -1
  311. package/dist/assets/MemoryManager-B4NAvfYx.js +0 -1
  312. package/dist/assets/ModelPicker-BtK3pwfC.js +0 -1
  313. package/dist/assets/OfficeMapPanel-Bk9q12hP.js +0 -4
  314. package/dist/assets/ProcessMonitor-BTndLGIV.js +0 -1
  315. package/dist/assets/PromptJournalView-DbwN6AWe.js +0 -1
  316. package/dist/assets/QueuePanel-Cb1mIIuO.js +0 -1
  317. package/dist/assets/RefreshDebugView-CzGncYqB.js +0 -1
  318. package/dist/assets/RequirementIntakeView-BgKJbUlD.js +0 -1
  319. package/dist/assets/SageTabs-mB6lxkdD.js +0 -2
  320. package/dist/assets/SddFlowGraph-C484p5L9.js +0 -1
  321. package/dist/assets/SddHub-DsD8ORZo.js +0 -2
  322. package/dist/assets/SessionInspectView-DtM6MBbL.js +0 -1
  323. package/dist/assets/SessionList-CCaEa3iW.js +0 -1
  324. package/dist/assets/SessionsDashboard-CxatSEv6.js +0 -1
  325. package/dist/assets/SetupScreen-CBkuOnoN.js +0 -1
  326. package/dist/assets/SkillDetailView-DKVIAnwb.js +0 -3
  327. package/dist/assets/TechStackView-B6WDU-tt.js +0 -2
  328. package/dist/assets/TerminalPanel-Dfkt3xtA.js +0 -1
  329. package/dist/assets/Toaster-CcgCyzaU.js +0 -1
  330. package/dist/assets/activity-BA8C9ueU.js +0 -9
  331. package/dist/assets/activity-BYnOci5N.js +0 -9
  332. package/dist/assets/activity-COQ9xSFu.js +0 -9
  333. package/dist/assets/activity-CuJqhGz7.js +0 -9
  334. package/dist/assets/activity-D3ZccGOh.js +0 -9
  335. package/dist/assets/activity-YMES6OPI.js +0 -9
  336. package/dist/assets/activity-zlMMaNE1.js +0 -9
  337. package/dist/assets/chat-CzaGXz_W.js +0 -1
  338. package/dist/assets/chat-store-BiEXyguk.js +0 -17
  339. package/dist/assets/codemap-index-store-CDhApwWQ.js +0 -1
  340. package/dist/assets/i18n-BeHaHx3x.js +0 -2
  341. package/dist/assets/index-B8J_xxU5.css +0 -1
  342. package/dist/assets/index-BLI23QVE.js +0 -134
  343. package/dist/assets/session-store-CKpAwNIm.js +0 -1
  344. package/dist/assets/settings-BNbqEBSr.js +0 -1
  345. package/dist/assets/settings-BsZgLIo2.js +0 -1
  346. package/dist/assets/settings-C3OnmFrY.js +0 -1
  347. package/dist/assets/settings-C3bNf1Bx.js +0 -1
  348. package/dist/assets/settings-C9FOpDBt.js +0 -1
  349. package/dist/assets/settings-oeXlO4HA.js +0 -1
  350. package/dist/assets/stores-BskP1BVl.js +0 -7
  351. package/dist/assets/toasts-BCDGDcyq.js +0 -1
  352. package/dist/assets/toasts-BwQJwYLe.js +0 -1
  353. package/dist/assets/toasts-CFzweRH5.js +0 -1
  354. package/dist/assets/toasts-DDYQsJV8.js +0 -1
  355. package/dist/assets/toasts-DOfXc7Rt.js +0 -1
  356. package/dist/assets/toasts-Dm12Nq8t.js +0 -1
  357. package/dist/assets/toasts-frBt6fvE.js +0 -1
  358. package/dist/assets/ui-store-3HoYrTu5.js +0 -1
  359. package/dist/assets/useWebSocket-6jp275vG.js +0 -29
  360. package/dist/assets/utils-BecmXwgG.js +0 -1
  361. package/dist/assets/view-navigation-C1UDTk5R.js +0 -1
  362. package/dist/assets/ws-client-C6jAU4nL.js +0 -1
@@ -0,0 +1,10 @@
1
+ import{n as ee}from"./rolldown-runtime-hePW80VL.js";var te=ee({agentOffice:()=>Ae,agentRoster:()=>Ie,agents:()=>s,agentsMonitor:()=>C,agentsPanel:()=>yt,analytics:()=>xe,apikeydisplay:()=>on,app:()=>Mt,audienceMem:()=>Be,audienceMemoryPanel:()=>Pt,autonomy:()=>X,availability:()=>it,board:()=>y,boardChrome:()=>bt,brainDecision:()=>fn,brand:()=>t,changes:()=>c,changesView:()=>Ft,chatInput:()=>Lt,chatView:()=>ct,checkpoint:()=>Q,chipMultiSelect:()=>Rt,chronicle:()=>qe,chroniclePipelineStrip:()=>zt,codeEditor:()=>ye,codeMap:()=>Ke,codeMapTree:()=>nt,codeMapVisuals:()=>Bt,collab:()=>N,connection:()=>n,context:()=>h,cost:()=>F,costChip:()=>Vt,councilDecision:()=>dn,councilLogTimeline:()=>Ht,cronJobs:()=>Fe,ctxBreakdown:()=>lt,ctxDash:()=>et,ctxEditor:()=>ut,ctxMode:()=>J,ctxMonitor:()=>pt,customProviderSection:()=>nn,customRoster:()=>Re,deadCode:()=>xt,debug:()=>b,debugDash:()=>tt,default:()=>pn,deleteMemoryDialog:()=>Gt,depGraph:()=>At,design:()=>j,designStudio:()=>De,diff:()=>ae,displaySection:()=>Yt,dock:()=>S,errorBody:()=>le,failedRun:()=>un,fallback:()=>oe,fallbacksSection:()=>Xt,fileActivity:()=>be,fileExplorer:()=>ve,filePicker:()=>W,fileRef:()=>H,fleet:()=>m,fleetSection:()=>Zt,fleetSummaryBar:()=>Nt,goal:()=>ne,goalRun:()=>M,history:()=>o,hud:()=>St,index:()=>Qt,inspector:()=>l,integrationsSection:()=>$t,kanban:()=>Pe,kanbanBoundaryEditor:()=>Ut,kanbanDecomp:()=>at,kanbanInspector:()=>dt,kanbanRecorder:()=>rt,kanbanRun:()=>jt,kanbanTaskCompletionChecks:()=>Wt,kanbanTree:()=>ot,liveSessions:()=>se,mCPSection:()=>en,mailbox:()=>d,memEditor:()=>ft,memoryManager:()=>Ne,menu:()=>i,message:()=>fe,mode:()=>P,model:()=>I,modelListEditor:()=>tn,modelPickDialog:()=>Kt,modelSchema:()=>mt,modelSelectDialog:()=>qt,modelSwitcher:()=>L,monacoDiff:()=>ce,monitor:()=>D,nav:()=>e,nextSteps:()=>u,oauth:()=>ht,office:()=>we,officeMap:()=>ue,officeSettings:()=>ke,pagination:()=>Ct,panels:()=>ze,phase:()=>q,plan:()=>U,process:()=>ie,progressring:()=>sn,promptJournal:()=>cn,promptLib:()=>Se,provider:()=>gt,providerKey:()=>_t,providerModels:()=>x,providerWait:()=>st,queue:()=>Z,refine:()=>g,refresh:()=>v,reqIntake:()=>Ze,rosterRoles:()=>Le,runtimePolicy:()=>Ye,sageMemory:()=>A,sdd:()=>O,sddBoard:()=>he,sddBoardView:()=>Jt,sddTask:()=>ge,sddWizard:()=>_e,sddhub:()=>je,search:()=>K,sessionInspect:()=>Je,sessionList:()=>wt,sessionPanel:()=>p,sessionWatch:()=>T,sessions:()=>f,sessionsDash:()=>Tt,shadow:()=>Et,shortcuts:()=>me,sideEffects:()=>E,sidePanel:()=>a,sidebar:()=>Me,skillDetail:()=>Ce,skillsList:()=>Te,slashpopup:()=>It,specs:()=>_,status:()=>r,systemPrompt:()=>ln,task:()=>B,taskExecutionAttempts:()=>rn,taskIntel:()=>$,taskRisk:()=>Xe,taskTimeline:()=>$e,taskVerify:()=>Dt,techStack:()=>Ve,techStackAction:()=>We,techStackCoverage:()=>Ge,techStackSeverity:()=>Ue,techStackStatus:()=>He,terminal:()=>w,timeline:()=>Ee,toast:()=>G,toaster:()=>an,todos:()=>z,toolGroup:()=>V,toolInput:()=>de,toolResult:()=>k,toolsSec:()=>Ot,topbar:()=>vt,transcript:()=>Y,updateBanner:()=>kt,verifyReport:()=>Qe,watch:()=>pe,work:()=>R,worktree:()=>re,worktrees:()=>Oe}),e={chat:`Session`,agents:`Agents`,history:`History`,files:`Files`,changes:`Changes`,mailbox:`Mailbox`,skills:`Skills`,worktrees:`Worktrees`,design:`Design Studio`,settings:`Settings`,sddhub:`SDD`,goal:`Goal`,memory:`Memory`,fleet:`Fleet`,inspector:`Inspector`,prompts:`Prompts`,kanban:`Kanban`,codemap:`CodeMap`,techstack:`TechStack`,chronicle:`Chronicle`,intake:`Requirements`,roster:`Agent Roster`,chimera:`Chimera Reviews`},t={returnToChat:`{{name}} — return to chat`,returnToChatDefault:`WrongStack — return to chat`},n={connected:`Connected`,disconnected:`Disconnected from backend`,reconnecting:`Reconnecting to backend (attempt {{attempt}}) — retrying in {{remaining}}s`,retry:`Retry now`,retryTitle:`Retry connection now`,dismissTitle:`Dismiss (chip in topbar still shows status)`},r={connected:`Connected`,disconnected:`Disconnected`,idle:`Idle`,thinking:`Thinking`,running:`Running`,waiting:`Waiting`,done:`Done`,stopped:`Stopped`},i={moreWithHidden:`More, {{count}} hidden items`,moreOptions:`More options`,moreCompactHidden:`More — {{count}} hidden panels/views, palette, theme, monitors`,moreCompact:`More — palette, theme, monitors`,moreFull:`More — palette, theme, shortcuts, monitors`,commandPalette:`Command Palette`,keyboardShortcuts:`Keyboard Shortcuts`,panels:`Panels`,views:`Views`,theme:`Theme`,monitors:`Monitors`,fleetMonitor:`Fleet Inspector`},a={dragHint:`Drag to resize · double-click to reset`,collapse:`Collapse panel (Ctrl+\\)`},o={openDashboard:`Open sessions dashboard`},s={pending:`pending…`,empty:`No agents yet`,emptyHint:`Subagents appear here when the fleet is active.`,runningCount:`{{count}} running`,totalCount:`{{count}} total`,openFull:`Open fleet inspector`,agentsLive:`AGENTS · LIVE`,doneCount:`{{count}} done`,failedCount:`{{count}} failed`,modelsLabel:`models`,shownLabel:`shown`,totalLabel:`total`,leaderFleetTotals:`(leader {{leader}} · fleet {{fleet}})`,navHintJk:`j/k or ↑↓ to navigate`,escCloseDetail:`· Esc to close detail`,noAgentsRunning:`No agents running.`,contextUsage:`Context Usage`,lastToolLabel:`last:`,unknownSession:`Unknown session`,sessionCopyTitle:`Session: {{sid}} — click to copy ID`,sessionWord:`session`,agentsCountSuffix_one:`{{count}} agent`,agentsCountSuffix_other:`{{count}} agents`,sessionTitle:`Session: {{sid}}`,projectSuffix:` · Project: {{name}}`,statusIdle:`idle`,filterAll:`All`,filterRunning:`Running`,filterDone:`Done`,filterCompleted:`Done`,filterFailed:`Failed`,clearFinished:`Clear`,clearFinishedTitle:`Remove finished agents`,rosterHint:`Arrow keys to navigate · Enter to expand`,itSuffix:`it`,tcSuffix:`tc`,toolLog:`Tool Log`,showAll:`Show all`,showFewer:`Show fewer`,streaming:`Streaming`,failure:`Failure`,timeout:`Timeout`,reRun:`Re-run`,reRunTitle:`Re-run this agent (not yet implemented)`,lastToolCalls_one:`Last {{count}} tool call`,lastToolCalls_other:`Last {{count}} tool calls`,config:`Config`,configProvider:`Provider`,configModel:`Model`,configDescription:`Description`,configTaskId:`Task ID`,transcript:`Transcript`,openInspector:`Open in Fleet Inspector`,openChat:`Open chat`,leaderTab:`Leader`,tabsLabel:`Switch agent view`,emptyFilteredTitle:`No agents match the filter`,emptyFilteredHint:`Change the filter or clear it to see all agents.`,emptyFilteredClear:`Show all`,emptyFinishedTitle:`All tasks complete`,emptyFinishedHint:`All agents have finished — clear finished or spawn new tasks to see activity here.`,emptyFinishedStats:`{{completed}} done · {{failed}} failed`},c={fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`,refreshTitle:`Refresh changes`,loading:`Loading changes…`,clean:`No changes — working tree is clean.`,selectPrompt:`Select a changed file to view its diff.`,unified:`Unified`,unifiedTitle:`Unified diff`,edit:`Edit`,editTitle:`Side-by-side editable diff`,loadingDiff:`Loading diff…`,diffTimeout:`The diff didn't arrive. The file may have changed or the connection dropped.`,binary:`Binary file — diff not shown.`,tooLarge:`File too large to diff.`},l={openAgentsPanel:`Open Agents panel (live fleet)`,hidePanel:`Hide inspector panel`,label:`Inspector`,openAudit:`Open Audit tab`,tabFleet:`Fleet`,tabAgents:`Agents`,tabAudit:`Audit`,tabCouncil:`Council`,councilCount:`{{count}} panel`,councilCount_other:`{{count}} panels`,councilClear:`Clear`,councilEmpty:`No council has convened yet in this session.`,councilEmptyHint:`The Brain convenes a multi-model panel for questions at or above its council risk floor. Configure it under Settings › Brain › Council.`,collapseAria:`Collapse inspector panel`,collapseTitle:`Collapse (Esc)`,noAgentsActive:`No agents active`,agentsAppearHint:`Agents appear here when the fleet is active.`,selected:`{{name}} (selected)`},u={header:`Next steps`,autoSubmitting:`auto-submitting in`,clickToFill:`click to fill input`,clickToFillTitle:`Click to fill: {{text}}`,auto:`auto`,willAutoSubmit:`Will auto-submit after countdown`,autoFilling:`Filling in`,autoModeIdle:`Auto — waiting for auto="true" marker`,nSelected:`{{count}} selected`,submitN:`Submit {{count}}`,deselectTitle:`Deselect`,selectTitle:`Select for batch submit`,nSelected_one:`{{count}} selected`,nSelected_other:`{{count}} selected`,submitN_one:`Submit {{count}}`,submitN_other:`Submit {{count}}`},d={onlineCount:`{{count}} online`,messages:`Messages`,compose:`Compose message`,recipient:`Recipient`,messageType:`Type`,audience:`Audience`,audienceAll:`All agents`,audienceLeaders:`Leaders only`,priority:`Priority`,priorityLow:`Low`,priorityNormal:`Normal`,priorityHigh:`High`,subjectPlaceholder:`Subject (optional)`,bodyPlaceholder:`Message body`,leadersOnlyHint:`Only leader agents and leader surfaces can consume this message.`,leadersLabel:`leaders`,send:`Send`,sending:`Sending…`,sent:`Sent`,sendFailed:`Mailbox send failed.`,defaultSubject:`WebUI message`,deleteAllTitle:`Delete all messages`,deleteAll:`Delete all`,deleting:`Deleting…`,purgeTitle:`Purge stale/orphaned messages`,purge:`Purge`,purging:`Purging…`,compact:`Compact`,compacting:`Compacting…`,compactTitle:`Auto-compact: remove expired, read-by-all, and stale messages`,compactRemoved:`Removed {{count}}`,compactExpired:`{{count}} expired`,compactReadByAll:`{{count}} read-by-all`,compactStale:`{{count}} stale`,compactRemaining:`{{count}} remaining`,newLabel:`NEW`,empty:`No messages yet.`,offlineCount:`+{{count}} offline`,timeNow:`now`,deleteAllConfirmTitle_one:`Delete {{count}} message?`,deleteAllConfirmTitle_other:`Delete all {{count}} messages?`,deleteAllConfirmBody:`The mailbox file is truncated for every agent. This cannot be undone.`,purgeConfirmTitle:`Purge stale messages?`,purgeConfirmBody:`Removes completed messages older than 1 day and incomplete messages older than 7 days. Active messages are preserved.`,type:{note:`Note`,ask:`Question`,assign:`Assignment`,steer:`Steer`,btw:`By the way`,broadcast:`Broadcast`,status:`Status`,result:`Result`,review:`Review`},emptyDetail:`No message selected`,emptyDetailHint:`Click a message in the Mailbox panel to view it here.`,readBy:`Read by`,backToChat:`Back to chat`,completed:`Completed`,everyone:`everyone`,closeTitle:`Close (Esc)`,replyTo:`In reply to: {{id}}`,completedBy:`Completed by {{name}}`,completedByAt:`Completed by {{name}} at {{time}}`,outcome:`Outcome:`,task:`Task:`,messageNotFound:`Message not found`,messageNotFoundHint:`This message may have been deleted or purged.`,sessionLabel:`Session`,sessionScope:`Session {{sid}}`,sessionScopeTitle:`Only delivered to agents in session {{sid}}`,projectLabel:`Project`,projectScope:`Project (every agent)`,directScope:`Direct`,scopeLabel:`Scope`},f={recentSessions:`Recent sessions`,deleteEmptyTitle_one:`Delete {{count}} empty session?`,deleteEmptyTitle_other:`Delete {{count}} empty sessions?`,deleteEmptyConfirmBody:`Sessions without any token usage are removed from disk.`,filterPlaceholder:`Filter title, model, provider…`,clearFilter:`Clear filter`,noHistory:`No history yet`,noHistoryHint:`Your conversations will appear here`,noMatches:`No matches`,noMatchesHint:`Try a different filter`,group:{favorites:`Favorites`,today:`Today`,yesterday:`Yesterday`,thisWeek:`This week`,earlier:`Earlier`},nicknamePlaceholder:`Nickname`,empty:`(empty)`,resuming:`resuming…`,active:`active`,activeTab:`Active Tab`,tabNumber:`Tab {{count}}`,renameTitleNickname:`{{nickname}} — original: {{title}}`,renameTitle:`{{title}}
2
+
3
+ Double-click to rename`,unfavorite:`Unfavorite`,markFavorite:`Mark as favorite`,deleteSessionConfirmTitle:`Delete session?`,deleteSessionConfirmBody:`"{{name}}" will be removed from disk. This cannot be undone.`,deleteSessionTitle:`Delete session`,deleteKeptLastTab:`Session not deleted — at least one tab must stay open.`,closeOngoingTabTitle:`There is an ongoing operation in this session`,closeOngoingTabQuestion:`Are you sure you want to close this tab?`,closeHistoryTabTitle:`Close this tab?`,closeHistoryTabMessage:`This tab contains agent history. Are you sure you want to close it?`,closeTabAction:`Close Tab`,warnLeaderRunning:`Leader run in progress`,warnSubagentLine:`{{name}} — running{{suffix}}`,warnFinishedAgents:`{{count}} finished subagent(s) on record`,warnQueuedMessages:`{{count}} queued message(s)`,stillRunningToast:`"{{title}}" keeps running in background:
4
+ {{lines}}`,interruptAndClose:`Interrupt and Close`,allTabsRunning:`All 4 tab slots are full. Close a tab before opening a new session.`,rename:`Session name`,renameAction:`Rename`,resume:`Resume session`,resumeShort:`Resume`,workspaceEyebrow:`Conversation control`,workspaceTitle:`Sessions`,workspaceHint:`Search, inspect, pin and resume every project conversation.`,tabs:{history:`History`,live:`Live sessions`},filters:{all:`All`,favorites:`Pinned`,active:`Active`,completed:`Completed`,issues:`Issues`},status:{active:`Active`,completed:`Completed`,error:`Error`,timeout:`Timed out`,aborted:`Aborted`,saved:`Saved session`},sort:{label:`Sort sessions`,recent:`Recent`,tokens:`Most tokens`,activity:`Most activity`},stats:{sessions:`Sessions`,tokens:`Tokens`,tools:`Tool calls`,files:`Files changed`,errors:`Errors`},inspect:`Inspect session`},p={actions:{abort:`Abort`,newSession:`New session`,export:`Export`,compact:`Compact`,newSessionConfirm:`Are you sure?`,newSessionConfirmMessage:`A job is still in progress. Start a new session anyway?`,newSessionTitle:`Start a new session (Ctrl+N)`,exportTitle:`Export chat as markdown (Ctrl+E)`,compactTitle:`Compact the context window`,clearTitle:`Clear context (Ctrl+L)`},model:`Model`,modelTitle:`Change model (Ctrl+M)`,context:`Context`,contextTitle:`Click for a context breakdown`,sessionLabel:`Session`,stats:{messages:`Messages`,elapsed:`Elapsed`,tokens:`Tokens`,cost:`Cost`,iteration:`Iteration`,agents:`Agents`,tokensSub:`{{in}} in / {{out}} out`,iterationOf:`of {{max}}`,agentsRunning:`{{count}} running`},plan:`Plan`,planComplete:`{{pct}}% complete`,pinned:`Pinned`,quickSettings:`Quick settings`,autonomy:`Autonomy`,autonomyTitle:`Stop auto-running next steps. Toggle off to halt the agent's autonomous loop`,autonomyOptions:{off:`Off`,suggest:`Suggest`,auto:`Auto`,eternal:`Eternal`,"eternal-parallel":`Eternal Parallel`},yolo:`YOLO mode`,yoloTitle:`Bypass tool confirmation prompts`,refine:`Refine prompts`,refineTitle:`Rewrite prompts before sending`,sound:`Sound on completion`,soundTitle:`Play a soft chime when a run finishes`,sessionId:`session {{id}}`},m={status:{running:`running`,completed:`done`,failed:`failed`,timeout:`timeout`,stopped:`stopped`},leader:`leader`,providerModel:`Provider / Model`,elapsed:`Elapsed`,running:`running…`,iterations:`Iterations`,toolCalls:`Tool Calls`,cost:`Cost`,budgetExtensions:`Budget Extensions`,activity:`Activity`,contextWindow:`Context window`,tokensUsed:`{{used}} / {{max}} tokens`,toolRunning:`running…`,lastTool:`last tool`,error:`Error`,finalOutput:`Final Output`,copyOutput:`Copy output`,liveOutput:`Live Output`,waitingOutput:`Waiting for output…`,outputHint:`Output appears here as the agent streams text.`,toolLog:`Tool Log ({{count}} calls)`,fail:`fail`,moreTools:`+{{count}} more tools`,cardRunning:`running {{tool}}`,cardLastTool:`last: {{tool}}`,contextPercent:`Context {{pct}}%`,doneCount:`{{count}} done`,errCount:`{{count}} err`,statusRunning:`running`,statusDone:`done`,statusFailed:`failed`,statusTimeout:`timeout`,statusStopped:`stopped`,hittingLimitTitle:`⚡ hitting {{kind}} limit ({{used}}/{{limit}})`,budgetExt_one:`{{count}} Budget Extension`,budgetExt_other:`{{count}} Budget Extensions`,extendedTimes_one:`Agent extended its budget {{count}} time due to long-running tasks`,extendedTimes_other:`Agent extended its budget {{count}} times due to long-running tasks`,errorLabel:`Error`,failureReason:`Failure Reason`,failed:`Failed`},h={wsNotConnected:`WebSocket not connected`,noData:`No debug data received. The server may not support context debugging.`,title:`Context Breakdown`,windowUsage:`Window Usage`,contextMode:`Context Mode`,fetching:`Fetching context breakdown…`,systemPrompt:`System Prompt`,tools:`Tools`,messages:`Messages`,tokenAllocation:`Token Allocation`,systemTitle:`System: {{tokens}}`,toolsTitle:`Tools: {{tokens}}`,messagesTitle:`Messages: {{tokens}}`,system:`System`,toolBreakdown:`Tool Breakdown`,messagesSummary:`Messages ({{count}}) — {{total}} tok`,barWithTokens:`Context window: {{tokens}} / {{max}} tokens ({{pct}})`,barPct:`Context window: {{pct}}`,barClick:` — click for breakdown`},g={header:`✨ Refine Prompt`,autoSend:`auto-send in {{count}}s`,cancelTitle:`Cancel (Esc)`,editLabel:`Edit refined prompt:`,editPlaceholder:`Edit the refined prompt...`,useEdit:`Use Edit`,original:`Original`,refined:`Refined`,yourLanguage:`(your language)`,refinedTitle:`Click or press Enter to use this version`,copyToInputTitle:`Copy to input without sending`,english:`English`,englishTitle:`Press e to use English version`,hintRefined:`refined`,hintEnglish:`English`,hintOriginal:`original`,hintEdit:`edit`,hintRetry:`retry`,edit:`Edit`,useRefined:`Use Refined`,langOriginal:`Original`,langEnglish:`English`,languageTitle:`Switch default refine language — Original vs English`,yolo:`YOLO`,yoloTitle:`Bypass tool confirmation prompts`,refining:`Refining…`,sendAsIs:`Send as-is`,failedHeader:`Refinement failed`,retry:`Retry (more time)`,retryBetter:`Try again better`,retryFallback:`Retry with {{model}}`,pickModel:`Another model…`,pickModelTitle:`Retry refinement with another model`,pickModelHint:`Pick a provider/model to re-run this refinement on. Your session model stays unchanged.`,countdownHeader:`✨ Refining starts in…`,countdownYourMessage:`Your message`,countdownHint:`Refining starts in {{seconds}}s. Click "Send as-is" to skip.`,countdownStartNow:`Refine now`,countdownSendAsIs:`Send as-is`,cancelRefineSendOriginal:`Cancel & send original`},_={heading:`Specifications`,subtitle:`View and manage specification-driven development`,empty:`No specs found. Use {{command}} to create one.`,tasks:`Tasks ({{count}})`,doneCount:`{{count}} done`,runningCount:`{{count}} running`,pendingCount:`{{count}} pending`,runTitle:`Run this spec as a live multi-agent job`,run:`Run`,runAsSdd:`Run as SDD`,runAsSddTitle:`Start a multi-agent SDD parallel run (worktrees, verification, live board)`,runAsGoal:`Run as Goal`,runAsGoalTitle:`Start a phased Goal run from this spec's task columns`,list:`List`,graph:`Graph`,loadingTasks:`Loading tasks…`},v={heading:`F5 Resilience Verifier`,subtitle:`Confirms the latest active session, transcript, and UI state survive a page refresh. Open this view, then press F5 — every green row should remain green.`,recordProbe:`Record probe`,latestSession:`Latest active session`,restoredLocal:`Restored from localStorage`,sessionIdExtra:`session id: {{id}}`,noSessionYet:`no session has been started yet`,activePointer:`Active session pointer`,lastVisited:`lastVisitedAt timestamp`,never:`never`,persistedEnv:`Persisted environment`,transcriptRehydrate:`Chat transcript rehydration`,localTranscript:`Local transcript recovered`,messagesExtra:`{{count}} messages, {{queued}} queued`,noMessages:`0 messages`,noBleed:`No cross-session bleed`,bleedExtra:`bound={{bound}} vs active={{active}}`,transcriptBinds:`transcript binds to the active session`,uiWorkspace:`UI workspace`,noneValue:`(none)`,payloadSize:`localStorage payload (4 keys): {{count}} chars`,probeLog:`Probe log`,noProbes:`No probes yet — press the "Record probe" button at the top, or press F5 in this view, to record a rehydration check.`,simulatedF5:`simulated F5: re-running persist rehydrate`},y={status:{pending:`Pending`,in_progress:`In Progress`,review:`Review`,failed:`Failed`,completed:`Done`,queued:`Queued`,blocked:`Blocked`,cancelled:`Cancelled`},newTaskTitle:`New task`,newTaskPlaceholder:`Task title…`,addTask:`Add task`,empty:`No phases yet — start a Goal run to populate the board.`,summary:`{{phases}} phases · {{tasks}} tasks`,phases:`Phases`,statusTab:`Status`,dropHere:`Drop tasks here`,emptySpec:`No tasks in this spec yet.`,depGraphHeading:`Dependency Graph`,worktreePrefix:`worktree: {{branch}}`},b={trendUp:`Increasing`,trendDown:`Decreasing`,trendStable:`Stable`,heading:`Debug Dashboard`,subtitle:`Real-time monitoring for WrongStack WebUI`,refreshLabel:`Refresh:`,lastUpdated:`Last updated: {{time}}`,fetchFailed:`Failed to fetch metrics`,fileWatcher:`File Watcher`,watcherStatus:`Watcher Status`,running:`Running`,stopped:`Stopped`,activeProjects:`Active Projects`,projectsWatched:`Projects being watched`,fileChanges:`File Changes`,totalDetected:`Total detected`,filesProcessed:`Files Processed`,afterHash:`After hash filter`,broadcastsSent:`Broadcasts Sent`,toClients:`To WebUI clients`,debounceResets:`Debounce Resets`,rapidWrites:`Rapid successive writes`,avgDebounce:`Avg Debounce Delay`,actualDelay:`Actual delay applied`,totalDelay:`Total Delay`,sumDelays:`Sum of all delays`,browserPerf:`Browser Performance`,heapUsed:`Heap Used`,jsHeap:`JavaScript heap`,heapTotal:`Heap Total`,totalHeap:`Total heap size`,pageUptime:`Page Uptime`,sinceLoad:`Since page load`,rawData:`Raw Data`},x={allowlistTitle:`Model allowlist`,modelCount_one:`{{count}} model`,modelCount_other:`{{count}} models`,using:`Using`,noModelPicked:`(no model picked)`,clearAllowlist:`Clear allowlist`,clearAllowlistAria:`Clear saved allowlist for {{provider}}`,refresh:`Refresh from server`,refreshAria:`Refresh model list for {{provider}}`,probing:`Probing…`,searchPlaceholder:`Search models…`,use:`Use`,useModelAria:`Use model {{model}} for {{provider}}`},S={expandChip:`Expand {{label}}`,collapseChip:`Collapse {{label}}`,ahead:`{{count}} ahead`,behind:`{{count}} behind`,linesAdded:`{{count}} lines added`,linesDeleted:`{{count}} lines deleted`,untrackedFiles:`{{count}} untracked files`,customizeTitle:`Customize dock chips`,dockChips:`Dock chips`,noActiveGoal:`No active goal`,noActiveGoalDetail:`Start a goal from chat or the goal command.`,closeWorkspaceInspector:`Close workspace inspector`,goal:`Goal`,goalState:`Goal State`,goalStateDetail:`Active objective and progress`,fleet:`Fleet`,fleetDetail:`Live agent roster and activity`,work:`Work`,workDetail:`Todos, tasks, and plan`,worktrees:`Worktrees`,worktreesDetail:`Parallel branches and lanes`,collab:`Collab`,collabDetail:`Session participants and controls`,inspector:`Workspace inspector`,inspectorNamed:`{{name}} workspace inspector`,workspace:`Workspace`,workspaceDetails:`Workspace details`},C={leaderBadge:`LEADER`,iters:`Iters`,tools:`Tools`,activityBins:`Activity (12 bins)`,streamingOutput:`Streaming output`,recentTools:`Recent tools`,finalOutput:`Final output`,heading:`Agents Monitor`,prevAgent:`Previous agent`,nextAgent:`Next agent`,closeAria:`Close agents monitor`,hintPage:`←→ page`,hintNavigate:`↑↓ navigate list`,hintEsc:`Esc close`},w={resize:`Resize terminals`,labelSingular:`Terminal`,labelPlural:`Terminals`,projectShell:`Project shell`,maxTerminals:`Maximum {{count}} terminals`,newTerminal:`New terminal`,restart:`Restart active terminal`,closeAll:`Close all terminals`,closeDock:"Close terminal dock (Ctrl+`)",closeTab:`Close {{name}}`,processExited:`[process exited with code {{code}}]`},T={liveStream:`Live stream`,events_one:`{{count}} event`,events_other:`{{count}} events`,interruptTitle:`Cooperatively stop this agent at its next step (not a process kill)`,interrupt:`⏸ Interrupt`,interrupting:`…`,loading:`Loading session…`,done:`✓✓ done`,read:`✓ read`,delivered:`⏳ delivered`,agent:`Agent`,you:`You`,working:`{{name}} · working`,claude:`Claude`,priority:`Priority`,placeholder:`{{label}} → this session…`,send:`Send`,sendHint:`⌘/Ctrl+Enter to send · seen on the agent's next iteration`,msgType:{steerLabel:`🔄 Steer`,steerHint:`Adjust behavior mid-task`,askLabel:`❓ Ask`,askHint:`Question — expects a reply`,assignLabel:`📋 Assign`,assignHint:`A task to act on`,noteLabel:`💬 Note`,noteHint:`FYI, non-urgent`},sentRunning:`Delivered — the running agent sees it on its next step`,sentIdle:`Delivered — target is idle; appears in its mailbox, read when it next runs`,sentFailed:`Failed: {{error}}`,interruptReason:`Operator requested stop from Fleet HQ`,interruptSent:`Interrupt sent — agent stops at its next step (not a kill)`,interruptFailed:`Interrupt failed: {{error}}`},E={empty:`No side effects recorded yet.`,emptyHint:`Bash commands, package installs, and network requests will appear here.`,heading:`Side Effects`,exportTitle:`Export filtered side effects as CSV`,all:`All`,colTime:`Time`,colTool:`Tool`,colRisk:`Risk`,colDetail:`Detail`,colOutcome:`Outcome`},D={elapsedHm:`{{h}}h {{m}}m ago`,elapsedMs:`{{m}}m {{s}}s ago`,elapsedS:`{{s}}s ago`,heading:`Fleet Monitor`,clientsHeading:`Connected Clients`,terminal:`Terminal`,webui:`Web UI`,repl:`REPL`,totalConnected:`total connected`,mailQueue:`Mail Queue`,total:`Total`,open:`Open`,unread:`Unread`,agents:`Agents`,messagesSub:`messages`,uncompletedSub:`uncompleted`,waitingSub:`waiting`,ofTotal:`of {{count}} total`,agentRoster:`Agent Roster`,liveMailActivity:`Live Mail Activity`,noActivity:`No recent activity`,mailboxAgents:`Mailbox Agents`,noMailboxAgents:`No agents registered`,moreCount:`+{{count}} more`,agentFallback:`agent`,fleetAgents:`Fleet Agents`,noFleetAgents:`No fleet agents running`,iter:`iter`,mailType:{sent:`Sent`,delivered:`Delivered`,read:`Read`,completed:`Completed`}},O={status:{pending:`pending`,queued:`queued`,in_progress:`running`,blocked:`blocked`,review:`review`,failed:`failed`,completed:`done`,cancelled:`cancelled`},activityHeading:`Activity`,feedEmpty:`Nothing yet — events appear here as agents pick up and finish tasks.`,destroyTitle:`Destroy SDD project?`,destroyDesc:`This wipes the run and its work. It cannot be undone (the optional commit revert is history-preserving).`,stopRun:`Stop the run`,stopRunAgents_one:`Stop the run ({{count}} agent working)`,stopRunAgents_other:`Stop the run ({{count}} agents working)`,removeWorktreesAll:`Remove all git worktrees + wstack/ap/* branches — including un-merged work`,removeWorktreesCount_one:`Remove {{count}} git worktree + wstack/ap/* branches — including un-merged work`,removeWorktreesCount_other:`Remove {{count}} git worktrees + wstack/ap/* branches — including un-merged work`,deleteArtifacts:`Delete all SDD artifacts (specs, task graph, board, session)`,revertMerged_one:`Also revert {{count}} merged commit`,revertMerged_other:`Also revert {{count}} merged commits`,revertHint:`Adds revert commits (history preserved). Refused if the working tree is dirty.`,baseBranchFallback:`the base branch`,noteLeaveMerged:`Merged commits will be left on the base branch. Tick the box above to undo them too.`,noteAbandon:`Make sure you really want to abandon this run.`,destroying:`Destroying…`,destroyAll:`Destroy everything`,kanbanBacklog:`Backlog`,kanbanReady:`Ready`,kanbanRunning:`Running`,kanbanReview:`Review`,kanbanFailed:`Failed`,kanbanDone:`Done`,kanbanEmpty:`empty`},k={collapseToLines:`Collapse to first {{count}} lines`,showAllLines:`Show all {{total}} lines ({{more}} more)`,exitCode:`exit code:`,jsonLines:`JSON · {{count}} lines`,collapse:`collapse`,expand:`expand`},A={injectedHeading:`SAGE Memory Injected`,memoriesLabel_one:`{{count}} memory`,memoriesLabel_other:`{{count}} memories`},j={heading:`Design Studio — Gallery`,kitsCount:`{{count}} kits`,searchPlaceholder:`Search kits…`,stackTitle:`Stack for Use + Materialize`,wrote:`Wrote {{path}}`,materializeFailed:`Materialize failed: {{error}}`,verifyError:`Verify: {{error}}`,verifyOffPalette:`Verify: {{pct}}% on-palette — {{count}} off-palette in {{files}} file(s)`,verifyClean:`Verify: clean ✓ ({{files}} file(s) on-palette)`,writing:`Writing theme file…`,scanning:`Scanning UI files…`,active:`Active`,reapply:`Reapply`,use:`Use`,materializeTitle:`Write tokens to a {{stack}} theme file`,materialize:`Materialize`,verifyTitle:`Scan UI files for off-palette colors`,verify:`Verify`,colors:`Colors`},M={summary_one:`{{count}} phase · {{pct}}% complete`,summary_other:`{{count}} phases · {{pct}}% complete`,switchBoard:`Switch board`,boardsCount_one:`{{count}} board…`,boardsCount_other:`{{count}} boards…`,toggleAutonomousTitle:`Toggle autonomous mode`,autonomous:`Autonomous`,manual:`Manual`,resumeTitle:`Resume the run`,pauseTitle:`Pause the run`,resume:`Resume`,pause:`Pause`,stopTitle:`Stop the run — aborts in-flight agents immediately`,stop:`Stop`,newTitle:`Clear this board and start a new Goal run`,newLabel:`New`,revertConfirm:`Revert run's commits?`,revertTitle:`Undo this run — git-revert the commits it landed and remove its worktrees`,revert:`Revert`,goal:`Goal`,planning:`Planning phases…`,planningBody:`Your goal was received. WrongStack is breaking it into phases and tasks — the board appears here the moment the plan is ready.`,startHeading:`Start a Phase Plan`,startBody:`Describe what you want to build. WrongStack will plan phases and tasks, then execute them — watch and steer the run on the board.`,startPlaceholder:`e.g. Build a REST API for user management with Express and SQLite...`,isolateLabel:`Isolate each phase in its own git worktree`,startButton:`Start Goal`,ctrlHint:`Ctrl+Enter to start`,isolateOn:`phases run in isolated worktrees, squash-merged back`,isolateOff:`phases run directly on the current branch`,lanes:`Lanes`,graph:`Graph`,planningAck:`🚀 **Goal** — got it. Planning phases for your goal now…`,assess:{analyzing:`Analyzing goal scope…`,realistic:`✓ Scope looks realistic`,durationConcern:`⚠ Duration concern`,durationClaimed:`Claimed duration: {{duration}}`,recommendation:`Recommended: {{duration}}`,concerns:`Concerns`,analysisFailed:`Could not analyze goal scope`,override:`Start anyway`,overrideTitle:`Clear the assessment warning and enable the start button`,disableTitle:`This goal has an unrealistic duration assessment — use "Start anyway" to override`},multiBoardLabel:`Split into multiple kanban boards`,verifyTasksLabel:`Require verification for each task`,chimeraReviewLabel:`Enable chimera auto-review`},N={noObservers:`No live observers`,observerTitle:`Join as a read-only observer (Phase 1)`,observerRole:`observer`,annotatorTitle:`Join as an annotator — leave inline notes on tool calls (Phase 2)`,annotatorRole:`annotator`,controllerTitle:`Join as a controller — can pause the agent loop (Phase 3)`,controllerRole:`controller`,errorPrefix:`Collab: {{error}}`,dismiss:`dismiss`,observers_one:`{{count}} observer`,observers_other:`{{count}} observers`,annotationsTitle:`{{count}} open annotation(s) — annotators reviewing this session`,notes_one:`{{count}} note`,notes_other:`{{count}} notes`,pausedTitle:`Agent loop is paused — a controller is reviewing`,paused:`paused`,joinedTitle:`Joined {{time}}`,grantTitle:`Grant control — promote this participant to controller`,injectTitle:`Inject a synthetic result for an in-flight tool call`,inject:`Inject`,resumeTitle:`Resume the agent loop`,resume:`Resume`,pauseTitle:`Pause the agent before the next tool call`,pauseAgent:`Pause agent`,leaveTitle:`Leave the observer session`,leave:`Leave`,injectToolResult:`Inject tool result`,close:`close`,targetTool:`Target tool_use id`,targetPlaceholder:`pick an in-flight call or type a tool_use id`,toolFallback:`tool`,noPendingTools:`No in-flight tool calls — type a tool_use id to pre-queue, or pause the agent first.`,resultContent:`Result content`,resultPlaceholder:`Synthetic tool result fed to the agent in place of running the tool`,markError:`mark as error`,reasonPlaceholder:`reason (audit log)`,queueInjection:`Queue injection`,controllerInjection:`controller injection`},P={modePrefix:`mode:`,activeTitle:`Active mode`,heading:`Mode`,defaultName:`Default`,defaultDesc:`Standard agent behaviour`},F={clickTitle:`Click for per-turn cost breakdown`,heading:`Cost breakdown`,noPricing:`No pricing for the current model — cost figures are zero.`,noTurns:`No completed turns yet. Run a prompt to see per-turn cost here.`,topExpensive_one:`Top {{count}} expensive turn`,topExpensive_other:`Top {{count}} expensive turns`},I={runDefault:`Run default`,useRunDefault:`Use run default`,filterPlaceholder:`Filter models…`,loading:`Loading models…`,noMatch:`No match`},L={heading:`Switch model`,filterPlaceholder:`Filter providers and models…`,providerFilter:`Provider`,providerFilterAll:`All providers`,favoritesOnly:`Favorites only`,favoriteModel:`Favorite model`,noFavoritesConfigured:`No favorite models configured (add in Settings → Fallbacks).`,noFavoritesMatch:`No favorite models match the filter.`,noSavedProviders:`No saved providers — register a key in Settings first.`,noMatch:`No matching models`,active:`active`},R={todos:`Todos`,tasks:`Tasks`,plan:`Plan`},z={toggleAria:`Toggle: {{content}}`,removeTitle:`Remove todo`,removeAria:`Remove "{{content}}"`,completedCount_one:`{{count}} completed`,completedCount_other:`{{count}} completed`,blockedBy:`Waiting on: {{work}}`},B={start:`Start`,complete:`Complete`,retry:`Retry`,assign:`Assign`,assignTitle:`Assign agent`,unassigned:`Unassigned`,statusPending:`Pending`,statusInProgress:`In Progress`,statusBlocked:`Blocked`,statusFailed:`Failed`,statusReview:`Review`,statusDone:`Done`,startTitle:`Start`,completeTitle:`Complete`,fail:`Fail`,failTitle:`Mark failed`,boardCount:`{{total}} tasks · {{done}} completed`},V={toolCalls_one:`{{count}} tool call`,toolCalls_other:`{{count}} tool calls`},H={removeTitle:`Remove reference`,linesCount_one:`{{count}} line`,linesCount_other:`{{count}} lines`},U={statusOpen:`Open`,statusInProgress:`In Progress`,statusDone:`Done`,startTitle:`Start`,doneTitle:`Mark done`,reopenTitle:`Reopen`,reopen:`Reopen`},W={heading:`@ Files`,noMatch:`No files match "{{query}}"`,searching:`Searching project…`,selectInsertEscDismiss:`↑/↓ select · ↵ insert · Esc dismiss`},G={dismiss:`Dismiss`},K={placeholder:`Search in chat…`,prevHit:`Previous hit`,nextHit:`Next hit`,close:`Close (Esc)`},q={statusPending:`Pending`,statusReady:`Ready`,statusRunning:`Running`,statusPaused:`Paused`,statusCompleted:`Completed`,statusFailed:`Failed`,statusSkipped:`Skipped`,heading:`Phases`,autonomousOn:`● Autonomous`,autonomousOff:`○ Manual`,autonomousOnTitle:`Autonomous mode active — click to pause`,autonomousOffTitle:`Manual mode — click to enable autonomous`,overallProgress:`Overall Progress`,tasksSuffix:`{{done}}/{{total}} tasks`,agentsSuffix_one:`{{count}} agent`,agentsSuffix_other:`{{count}} agents`},J={triggerTitle:`Context-window mode`,ctxPrefix:`ctx:`,opsHeading:`Context Operations`,compactNow:`Compact Now`,compactNowDesc:`Elide old tool output`,compactAggressive:`Compact Aggressive`,compactAggressiveDesc:`Maximum elision now`,repairContext:`Repair Context`,repairDesc:`Fix orphan tool-use blocks`,debugContext:`Debug Context`,debugDesc:`Size breakdown per section`,windowHeading:`Context Window`,keepElide:`keep {{k}} recent · elide {{t}}+ tokens`,fallbackName:`Balanced`,fallbackDesc:`Default rolling compaction`},Y={kindAssistant:`Assistant`,kindThinking:`Thinking`,kindToolCall:`Tool call`,kindToolResult:`Tool result`,kindError:`Error`,kindStatus:`Status`,kindSystem:`System`,title:`Chat history`,copyTitle:`Copy agent chat history`,empty:`No chat history for this agent yet.`,taskLabel:`Task`,taskChars:`{{count}} chars`,taskExpand:`Show`,taskExpandTitle:`Show full task brief`,taskModalTitle:`Task brief`,taskModalDescription:`The complete task this agent was spawned to run.`,readOnly:`Read-only`,returnToLeader:`Return to chat`},X={heading:`Autonomy Mode`,titlePrefix:`Autonomy: {{label}}`,descOff:`Full manual control — agent waits for your input.`,descSuggest:`Agent suggests next steps but waits for approval.`,descAuto:`Agent auto-proceeds after brief confirmation delay.`,descEternal:`Agent runs autonomously until goal is complete.`,descEternalParallel:`Multi-agent autonomous execution — fleet mode.`,labelOff:`Off`,labelSuggest:`Suggest`,labelAuto:`Auto`,labelEternal:`Eternal`,labelEternalParallel:`Eternal Parallel`},Z={heading:`Message Queue`,subtitle:`{{count}} queued · messages sent before the agent finishes`,btwTitle:`By-the-way — sent as follow-up without interrupting the running agent`,steerTitle:`Steer — interrupts the running agent and redirects it with this message`,queueTitle:`Queued — held until the current agent run completes, then sent in order`,sortNewestTitle:`Sorted newest first — click to sort oldest first`,sortOldestTitle:`Sorted oldest first — click to sort newest first`,newest:`Newest`,oldest:`Oldest`,clear:`Clear`,clearTitle:`Clear all queued messages`,closeTitle:`Close`,emptyTitle:`Queue is empty`,emptyBody:`Use the btw / steer / add queue buttons beside the input to add messages. Queued items are sent in order when the current agent run completes.`,removeTitle:`Remove from queue`,clearDispatchedTitle:`Clear queued messages — already-sent notes cannot be retracted`,dispatchedTitle:`Already sent to the agent`,dispatchedLabel:`Sent`,footer:`Messages are sent in arrival order when the current agent run completes. Use the sort toggle to view newest-first.`},Q={heading:`Session Checkpoints`,countSuffix_one:`{{count}} checkpoint`,countSuffix_other:`{{count}} checkpoints`,description:`Rewind the session to any checkpoint. Messages and file changes revert to that point — the LLM continues from there as if nothing happened after.`,emptyTitle:`No checkpoints yet`,emptyBody:`Checkpoints are automatically created each time you send a message. Send a few messages and come back.`,latest:`latest`,msgSuffix_one:`{{count}} msg`,msgSuffix_other:`{{count}} msgs`,footerPre:`Click any checkpoint to rewind`,footerPost:`to close`},ne={statusActive:`Active`,statusPaused:`Paused`,statusDone:`Done`,statusFailed:`Failed`,statusAbandoned:`Abandoned`,heading:`Goal`,refined:`Refined`,progress:`Progress`,iterations:`iterations`,deliverables:`Deliverables`,recentActivity:`Recent Activity`},re={cleanTitle_one:`Clean {{count}} orphaned worktree?`,cleanTitle_other:`Clean {{count}} orphaned worktrees?`,cleanMessage:`Force-removes every leftover git worktree + wstack/ap branch from previous runs. Un-merged work in them is discarded.`,cleanConfirm:`Clean orphans`,orphanCount_one:`{{count}} orphaned worktree from previous runs`,orphanCount_other:`{{count}} orphaned worktrees from previous runs`,andMore:`…and {{count}} more`,cleanButtonTitle:`Force-remove all orphaned worktrees + branches`,removed_one:`✓ Removed {{count}} orphaned worktree.`,removed_other:`✓ Removed {{count}} orphaned worktrees.`,cleanupFailed:`cleanup failed`,lanesHeading:`Worktrees`,base:`base`,isolatedCount_one:`{{count}} isolated`,isolatedCount_other:`{{count}} isolated`,statusAllocating:`allocating`,statusActive:`active`,statusCommitting:`committing`,statusMerging:`merging`,statusMerged:`merged`,statusConflict:`conflict`,statusFailed:`failed`,conflictBadge:`CONFLICT`,graphAria:`Worktree branch graph off {{base}}`,mergedLabel:`✓ merged → {{base}}`},ie={heading:`Running Processes`,subtitle:`{{active}} active · {{total}} total`,killAll:`Kill All`,emptyTitle:`No processes tracked`,emptyBody:`Processes appear here when the agent runs bash or exec tools. Active processes show a pulsing LED.`,pidLabel:`PID {{pid}}`,protected:`protected`,protectedTitle:`Protected — survives kill/killAll`,background:`background`,backgroundTitle:`Detached job — survives CLI/WebUI shutdown`,confirmKillBackground:`Terminate detached background process {{pid}}?`,confirmKillAll:`Terminate all {{count}} running processes?`,killTitle:`Kill PID {{pid}}`},ae={tooLarge:`Diff omitted (file too large to render inline).`},oe={placeholder:`Add a fallback model…`,emptyHint:`Tried in order when the primary model rate-limits or stalls.`,moveUp:`Move up`,moveDown:`Move down`},se={loading:`Loading sessions...`,apiUnavailable:`Session API unavailable:`,empty:`No live sessions. Open another wstack instance to see it here.`,heading:`Live Sessions ({{count}})`,autoRefresh:`auto-refresh every 5s`,pidLabel:`PID {{pid}}`,agentMeta:`{{iter}} iter · {{tools}} tools · {{ago}}`,andMore:`... and {{count}} more`,noAgents:`No agents`},ce={applyTitle:`Write the edited version back to disk`,applying:`Applying…`,applied:`Applied`,apply:`Apply`},le={showStack_one:`Show stack trace ({{count}} frame)`,showStack_other:`Show stack trace ({{count}} frames)`,hideStack_one:`Hide stack trace ({{count}} frame)`,hideStack_other:`Hide stack trace ({{count}} frames)`},ue={liveHeading:`Live`,clients:`Clients`,agents:`Agents`,model:`Model`,mode:`Mode`,toolCalls:`Tool calls`,displayHeading:`Display`,statsHud:`Stats HUD`,legends:`Legends`,minimap:`Minimap`,zoomControls:`Zoom controls`,animateWires:`Animate wires`,backgroundHeading:`Background`,waitThresholdHeading:`Waiting threshold`,waitThresholdHint:`Flag a live desk as waiting after this much silence`,bgDots:`Dots`,bgLines:`Lines`,bgCross:`Cross`,bgNone:`None`},de={noParams:`(no params)`,itemCount_one:`{{count}} item`,itemCount_other:`{{count}} items`,keyCount_one:`{{count}} key`,keyCount_other:`{{count}} keys`},fe={roleYou:`You`,roleTool:`Tool`,roleThinking:`Thinking`,roleAssistant:`Assistant`,inputLabel:`Input`,downloadTitle:`Download as file`,empty:`(empty)`,hideDetails:`Hide details`,showDetails:`Show details`,showDetailsLines_one:`Show details ({{count}} line)`,showDetailsLines_other:`Show details ({{count}} lines)`,editHint:`⌘/Ctrl+Enter to save · Esc to cancel`,saveResend:`Save & resend`,thinkingProcess:`Model Reasoning`,thinkingMeta:`iter {{iter}} · {{dur}} · {{lines}}`,replay:`replay`,linesSuffix_one:`{{count}} line`,linesSuffix_other:`{{count}} lines`,copyLog:`Copy log`,showFullLog:`Show full log`,typing:`Typing…`,noContent:`No content`,imageNotRetained:`Image preview not kept after refresh`,failedToSend:`⚠ Failed to send`,autoPaused:`⚠️ _Auto-proceed paused — maximum consecutive automatic turns reached. Type anything to continue (autonomy stays on)._`,autoLoopHalted:`⚠️ _Auto-submit halted because the same prompt repeated. Autonomy remains on; enter a new prompt to reset the loop guard._`,rsIterations:`Iterations: {{n}}`,rsTools:`Tool calls: {{n}}`,rsElapsed:`Elapsed: {{s}}`,rsCost:`Cost: {{c}}`,useInput:`Input: {{n}}`,useOutput:`Output: {{n}}`,useCacheRead:`Cache read: {{n}}`,useCost:`Cost: {{c}}`,renderedLabel:`Rendered`,rawLabel:`Raw`,showRenderedTitle:`Show rendered markdown`,showRawTitle:`Show raw markdown source`,editTitle:`Edit & resend this prompt`,editLabel:`Edit`,unpinTitle:`Unpin`,pinTitle:`Pin this answer`,pinnedLabel:`Pinned`,pinLabel:`Pin`,regenerateTitle:`Regenerate this response`,retryLabel:`Retry`},pe={toolFallback:`tool`,toolFailed:`Tool failed`},me={heading:`Keyboard shortcuts`,footerPre:`Press`,footerPost:`any time to reopen this list.`,sectionGlobal:`Global`,sectionTuiParity:`TUI Panel Parity`,sectionFleet:`Fleet & Agents`,sectionChatInput:`Chat input`,sectionChat:`Chat`,sectionChatNav:`Chat navigation (when not typing)`,dCommandPalette:`Open command palette`,dShowOverlay:`Show this shortcuts overlay`,dToggleSidebar:`Toggle sidebar`,dOpenPanel:`Open side panel (Session, Agents, History, Files, Changes, Mailbox, Skills)`,dDesignStudio:`Open Design Studio side panel`,dWorktrees:`Open Worktrees tab in Changes panel`,dSettings:`Open Settings`,dMemory:`Open Memory`,dFocusInput:`Focus the message input`,dSessionPanel:`Session panel`,dFleetOverlay:`Fleet monitor overlay`,dAgentsOverlay:`Agents monitor overlay`,dWorktreeMonitor:`Worktree monitor`,dPlanPanel:`Plan panel`,dTodosPanel:`Todos panel`,dQueuePanel:`Queue panel`,dProcessMonitor:`Process monitor`,dGoalPanel:`Goal panel`,dSessionsDashboard:`Sessions dashboard`,dOfficeMap:`Office map (Agent Roster tab)`,dDockPicker:`Dock chip picker`,dOpenFleet:`Open Fleet Monitor overlay`,dOpenAgents:`Open Agents Monitor overlay`,dNavigateAgents:`Navigate agents in monitor`,dSelectAgent:`Select focused agent`,dCloseOverlay:`Close active overlay`,dSendMessage:`Send message`,dNewline:`Insert a newline`,dRecallPrev:`Recall previous prompt (in empty input)`,dRecallNext:`Recall next prompt`,dSlashPopup:`Open slash command popup`,dAutocomplete:`Autocomplete highlighted command`,dDismissPopup:`Dismiss popup / clear input`,dSearchChat:`Search within current chat`,dClearContext:`Clear context (same as /clear)`,dNewSession:`Start a new session (same as /new)`,dExportMarkdown:`Export chat as markdown`,dModelSwitcher:`Quick model switcher overlay`,dCompactDensity:`Toggle compact UI density`,dAbortRun:`Abort the current run (when running)`,dFocusNext:`Focus next message (alias: ↓)`,dFocusPrev:`Focus previous message (alias: ↑)`,dJumpFirst:`Jump to first message`,dJumpLast:`Jump to last message`,dCopyFocused:`Copy focused message text`,dClearFocused:`Clear focused message`},he={titleFallback:`Live SDD Board`,defaultModelTitle:`Run-level default worker model (per-task overrides take precedence)`,graphLabel:`Graph`,kanbanLabel:`Kanban`,retryAllTitle:`Requeue every failed task to pending`,retryFailed:`Retry failed ({{count}})`,resume:`Resume`,pause:`Pause`,stop:`Stop`,cleanTitle:`Remove the run's git worktrees + wstack/ap branches`,cleanWorktrees:`Clean worktrees`,rollbackTitle:`Revert {{count}} merged commit(s) on {{base}}`,rollback:`Rollback ({{count}})`,stopping:`Stopping…`,destroying:`Destroying…`,destroyTitle:`Stop, remove all worktrees, optionally revert merged commits, and delete the SDD project`,destroy:`Destroy`,statDone:`done`,statRunning:`running`,statFailed:`failed`,statWave:`wave`,statElapsed:`elapsed`,noActiveWorkers:`no active workers`,deadlock:`Deadlock — tasks blocked by failed work:`,noRunTitle:`No active SDD run.`,noRunBody:`Start one from the New SDD Project wizard, or via /sdd execute in the CLI — agents appear here live, each working an isolated worktree.`,clickTaskHint:`click a task for details`,lcClean:`Clean`,lcRollback:`Rollback`,lcDestroy:`Destroy`,lcFailed:`{{op}} failed: {{reason}}`,lcUnknownError:`unknown error`,lcWorktrees_one:`{{count}} worktree removed`,lcWorktrees_other:`{{count}} worktrees removed`,lcCommits_one:`{{count}} commit reverted`,lcCommits_other:`{{count}} commits reverted`,lcDeleted:`deleted {{items}}`,lcNothing:`nothing to do`,lcNote:`{{op}}: {{body}} — note: {{reason}}`,lcOk:`{{op}}: {{body}}`},ge={backTitle:`Back to activity`,expandTitle:`Expand task details`,collapseTitle:`Collapse task details`,eventLog:`Task event log`,newestFirst:`newest first`,noEvents:`No task activity has been recorded yet.`,workingOn:`working on this task`,assigned:`assigned`,metaPriority:`Priority`,metaType:`Type`,metaDuration:`Duration`,metaElapsed:`Elapsed`,metaRetries:`Retries`,metaWorktree:`Worktree`,workerModel:`Worker model`,runDefault:`run default: {{model}}`,runDefaultPlaceholder:`Run default`,runDefaultPlaceholderModel:`Run default ({{model}})`,verificationCmd:`Verification command`,gatesCompletion:`gates completion (exit 0)`,verifyPlaceholder:`e.g. pnpm vitest run path/to/file`,addVerify:`+ Add verification command`,description:`Description`,timeline:`Timeline`,dependsOn:`Depends on`,blocks:`Blocks`,newWorkerPlaceholder:`New worker name…`,confirmStop:`Stop this running task?`,confirmDelete:`Delete this task from the run?`,retryTitle:`Requeue this task to pending`,reassign:`Reassign`,stopTitle:`Abort the worker on this task`,splitTitle:`Split this task into sub-tasks delegated to separate workers`,split:`Split`,splitHint:`One sub-task per line — Title :: description (description optional)`,splitPlaceholder:`Write the data layer :: add the repository
5
+ Wire the UI`,splitInto:`Split into sub-tasks`,deleteTitle:`Remove this not-started task from the run`},_e={phaseStart:`Start`,phaseInterview:`Interview`,phaseSpecReview:`Spec Review`,phasePlanning:`Planning`,phaseTaskReview:`Task Review`,phaseRunning:`Running`,phaseDone:`Done`,titleFallback:`New SDD Project`,questionsSuffix:`{{cur}}/{{max}} questions`,tasksSuffix:`{{count}} tasks`,runCfgTitle:`Run config — default model + fallback chain`,modelsLabel:`Models`,startRun:`Start Run`,defaultWorkerModel:`Default worker model`,leaderDefaultPlaceholder:`Leader / session default`,useSessionDefault:`Use session default`,fallbackChain:`Fallback chain`,appliesToAll:`Applies to every task. Override per-task from the live board after the run starts.`,parallelAgents:`Parallel agents`,isolateWorktrees:`Isolate in git worktrees`,worktreeOn:`Each task runs in its own worktree, squash-merged back on completion.`,worktreeOff:`Tasks run directly on the current branch (no isolation).`,planDecompose:`Auto-split large tasks`,planDecomposeOn:`Before dispatch, split tasks the atomicity engine flags as too large.`,planDecomposeOff:`Keep the approved task graph as-is (still split at runtime if a task fails).`,goalPrompt:`What do you want to build?`,goalPlaceholder:`e.g. Add OAuth login (Google + GitHub) with session management`,startingInterview:`Starting interview…`,startInterview:`Start Interview`,introBody:`An isolated agent interviews you to build a spec, decomposes it into a dependency-ordered task graph, then a real multi-agent fleet executes it — watch live on the board. If you refresh or restart, the interview resumes automatically.`,taskGraphSummary:`Task graph · {{count}} tasks, dependency-ordered`,dragToExplore:`drag to explore`,show:`show`,goalLabel:`Goal`,implementationPlan:`Implementation plan`,approveSpec:`Approve spec → plan implementation`,approveTasks:`Approve tasks`,approvePlan:`Approve plan`,backToQuestions:`Back to Questions`,backToQuestionsTitle:`Reject spec and return to questioning`,backToSpec:`Back to Spec`,backToSpecTitle:`Reject plan and return to spec review`,rewindToPhaseTitle:`Return to this phase to revise`,quickBestPractice:`Use Best Practice`,quickBestPracticeDirective:`Use standard industry best practices for this.`,generateSpecNow:`Generate Spec Now`,generateSpecNowTitle:`Generate the specification now with gathered requirements`,interviewProgress:`Interview Progress`,questionOf:`Question {{current}} of {{max}}`,minRequiredMet:`Minimum questions met ✓`,minRequiredRemaining:`{{count}} more required`,answerPlaceholder:`Answer the question…`,changePlaceholder:`Request a change…`,resumeBanner:`Resumed interview from a previous session — continue where you left off.`,openLiveBoard:`Open live board`,discardInterview:`Discard & start over`,discardTitle:`Abandon this interview and clear the saved session`},ve={emptyDir:`empty`,loadFailed:`Failed to load files: {{error}}`,expandAllTitle:`Expand all directories`,expandAll:`Expand all`,collapseAllTitle:`Collapse all directories`,collapse:`Collapse`,folders_one:`{{count}} folder`,folders_other:`{{count}} folders`,currentDirTitle:`Current directory: {{path}}`,navigateToTitle:`Navigate to {{path}}`,filesSuffix_one:`{{count}} file`,filesSuffix_other:`{{count}} files`,goToDir:`go to dir`,navigateParentTitle:`Navigate to parent directory of {{path}}`,parentDirectory:`parent directory`,noFiles:`No files found`,copyAbsPath:`Copy absolute path`,copyRelPath:`Copy relative path`,openInTerminal:`Open in terminal`,openInFileManager:`Open in file manager`,mentionInChat:`Mention in chat`,copyPath:`Copy path`,newFile:`New File`,newFolder:`New Folder`,newFileTitle:`Create new file`,newFolderTitle:`Create new folder`,newFileNamePlaceholder:`file.ts`,newFolderNamePlaceholder:`folder`,delete:`Delete`,confirmDeleteDir:`Delete "{{name}}" and all its contents?`,confirmDeleteFile:`Delete file "{{name}}"? This cannot be undone.`,rename:`Rename`,renameTitle:`Enter new name`,sortByName:`Name`,sortByNameTitle:`Sort by name (default)`,sortBySize:`Size`,sortBySizeTitle:`Sort by file size (largest first)`,search:`Search files`,searchPlaceholder:`Filter…`},ye={sendSelectionAction:`Send selection to chat`,noFilesOpen:`No files open`,selectToEdit:`Select a file from the explorer to start editing`,sendSelectedTitle:`Send selected lines to chat`,mentionFileTitle:`Mention this file in chat`,sendToChat:`Send to chat`,mentionFile:`Mention file`,loadingEditor:`Loading editor…`,selectTab:`Select a tab to view its content`},be={title:`File activity`,overview:`Overview`,changes:`Changes`,context:`Context`,logs:`Logs`,memory:`Memory`,lines:`lines`,resizeHint:`Drag to resize · double-click to reset`,refresh:`Refresh file evidence`,evidenceCount_one:`{{count}} event`,evidenceCount_other:`{{count}} events`,mutations30m:`Edits · 30m`,sessions:`Sessions`,actors:`Actors`,linkedWork:`Work links`,lifetimeTitle:`All history`,lifetimeChanges:`changes`,lifetimeSessions:`sessions`,lifetimeTasks:`tasks`,lifetimeBoards:`boards`,lifetimeSince:`since {{date}}`,lifetimeTools:`via {{tools}}`,workLinks:`Kanban / todo`,recentActivity:`Recent file activity`,events:`events`,noEvidence:`No activity has been attributed to this file yet.`,noSessions:`No session attribution yet.`,noActors:`No actor attribution yet.`,noWorkLinks:`No Kanban, SDD or todo link recorded.`,taskOrTodo:`Task / todo`,loadingEvidence:`Loading file evidence…`,gitToBuffer:`Git HEAD → current Monaco buffer`,savedToBuffer:`Last saved version → current Monaco buffer`,unsaved:`unsaved buffer`,level:{quiet:`quiet`,active:`active`,churn:`high churn`},analysisTitle:{quiet:`No recent edit churn`,active:`This file is being changed`,churn:`Repeated edits detected`},analysisBody:{quiet:`No attributed mutations were recorded in the last 30 minutes.`,active:`{{mutations}} mutations across {{actors}} actors and {{sessions}} sessions in the last 30 minutes.`,churn:`High churn: {{mutations}} mutations across {{actors}} actors and {{sessions}} sessions. Check overlapping work before the next edit.`}},xe={loading:`Loading analytics…`,heading:`Analytics Dashboard`,autoRefresh:`auto-refresh every 10s`,liveSessions:`Live Sessions`,agents:`Agents`,agentsActive:`{{count}} active`,totalEvents:`Total Events`,categoriesSub:`{{count}} categories`,toolCalls:`Tool Calls`,iterationsSub:`{{count}} iterations`,sessionCost:`Session Cost`,tokensSub:`{{input}} in / {{output}} out`,sessionDuration:`Session Duration`,messagesSub:`{{count}} messages`,eventsByCategory:`Events by Category`,noEvents:`No events recorded yet.`,topEvents:`Top Events`,activeSessionUsage:`Active Session Usage`,provider:`Provider`,model:`Model`,inputTokens:`Input Tokens`,outputTokens:`Output Tokens`,cacheRatio:`Cache Ratio`,filesRead:`Files Read`,noSession:`No active session or waiting for data…`,healthErrors:`Health & Errors`,errorEvents:`Error events`,warningEvents:`Warning events`,cacheHitRate:`Cache hit rate`,totalCategories:`Total categories`,waitingData:`Waiting for data…`,recentEvents:`Recent Events`,noRecentEvents:`No recent events. Interact with the UI to generate events.`},Se={heading:`Prompt library`,searchPlaceholder:`Search prompts…`,newPrompt:`+ New prompt`,all:`All`,recent:`🕘 Recent`,favorites:`★ Favorites`,noMatch:`No prompts match.`,newPromptHeading:`New prompt`,titlePlaceholder:`Title *`,descPlaceholder:`One-line description`,categoryPlaceholder:`Category`,tagsPlaceholder:`tags, comma, separated`,contentPlaceholder:`Prompt content * — use {{name}} for variables`,variables:`Variables`,addVar:`+ var`,varNamePlaceholder:`name`,varDescPlaceholder:`description`,removeVarTitle:`Remove variable`,required:`required`,multiline:`multiline`,enumPlaceholder:`enum: a, b, c`,savePrompt:`Save prompt`,saveFailed:`Could not save the prompt.`,titleContentRequired:`Title and content are required.`,toggleFavoriteTitle:`Toggle favorite`,selectOption:`— select —`,fillMissing:`Fill: {{missing}}`,insertIntoChat:`Insert into chat`,selectPromptHint:`Select a prompt to preview and insert.`},Ce={scopeProject:`Project`,scopeGlobal:`Global`,scopeBundled:`Bundled`,timeoutError:`Request timed out. Please try again.`,updateFailed:`Update failed`,saveFailed:`Save failed`,uninstallFailed:`Uninstall failed`,noSkillSelected:`No skill selected`,selectSkillHint:`Select a skill from the sidebar to view its documentation`,goToChat:`Go to chat`,openSourceRepo:`Open source repo`,copySourceUrl:`Copy source URL`,updatedLabel:`↑ Updated: {{list}}`,upToDateLabel:`— Up to date: {{list}}`,errorsLabel:`✗ {{list}}`,checkUpdatesTitle:`Check for updates`,exportTitle:`Export skill as .md`,editTitle:`Edit skill`,uninstallTitle:`Uninstall skill`,closeTitle:`Close and go to chat`,backTitle:`Go back`,forwardTitle:`Go forward`,relatedFiles:`Related Files`,references:`References`,goToSkillTitle:`Go to {{name}}`,loadingContent:`Loading skill content…`,editingLabel:`Editing {{name}}`,editStats:`{{lines}} lines · {{words}} words · {{chars}} chars`,charsWarningFmt:`⚠ {{used}} MB / {{limit}} MB`,draftSaved:`Draft saved`,draftRestored:`Draft restored`,discardDraft:`Discard draft`,splitViewTitle:`Split view`,hidePreviewTitle:`Hide preview`,contentPlaceholder:`Skill content (markdown)...`,loadFailed:`Failed to load skill content`,noContent:`No skill content available`,uninstallSkillHeading:`Uninstall Skill`,uninstallConfirm:`Uninstall {{name}}?`,uninstallRemovePath:`This will remove the skill from {{path}} and cannot be undone.`,uninstallAction:`Uninstall`},we={sessionStats:`Session Stats`,clients:`Clients`,input:`Input`,output:`Output`,cost:`Cost`,agentsSuffix:`agents`,upPrefix:`up {{time}}`,webuiClient:`WebUI Client`,disconnected:`Disconnected`,connected:`Connected`,tuiClient:`TUI Client`,terminal:`Terminal`,repl:`REPL`,coordinator:`COORDINATOR`,fleetSummary:`Fleet summary`,toolCallsLabel:`Tool calls`,tokensLabel:`Tokens`,coordinatingFleet:`Coordinating fleet`,donePrefix:`✓ done ·`,failedPrefix:`✕ failed ·`,seenPrefix:`seen {{time}}`,availableDesk:`Available desk`,mailboxHub:`Mailbox Hub`,unreadSuffix_one:`{{count}} unread`,unreadSuffix_other:`{{count}} unread`,allClear:`All clear`,total:`Total`,unreadLabel:`Unread`,liveActivity:`Live activity`,waitingActivity:`Waiting for activity…`,now:`now`,fleetHq:`WrongStack Fleet HQ`,live:`LIVE`,legendStatus:`Status`,legendActive:`Active`,legendIdle:`Idle`,legendError:`Error`,legendConnections:`Connections`,legendMail:`Mail`,legendTask:`Task`,legendStatusConn:`Status`,arrange:`Arrange`,arrangeTitle:`Arrange nodes to fit the available canvas`,feed:`Feed`,feedTitle:`Toggle the live activity feed`,broadcast:`Broadcast`,broadcastTitle:`Broadcast a message to every live session in this project`,broadcastToAll:`Broadcast to all sessions`,broadcastPlaceholder:`Message every live agent in this project…`,broadcastSendHint:`⌘/Ctrl+Enter to send`,openFullView:`Open full operation view`,rowStatus:`Status`,rowModel:`Model`,rowTool:`Tool`,rowIterations:`Iterations`,rowToolCalls:`Tool calls`,rowTokensIn:`Tokens in`,rowTokensOut:`Tokens out`,rowTokensTotal:`Tokens total`,rowContext:`Context`,rowCost:`Cost`,rowLastSeen:`Last seen`,rowSurface:`Surface`,rowBranch:`Branch`,rowPid:`PID`,rowDir:`Dir`,rowAgents:`Agents`,rowUptime:`Uptime`,rowConnections:`Connections`,rowTotalMessages:`Total messages`,rowUnread:`Unread`,recent:`Recent`,noSubject:`(no subject)`,fullOperationStream:`Full operation stream`,closeEsc:`Close (Esc)`,idleDesk:`Idle desk`,fleetHqLabel:`Fleet HQ`,clientsSuffix_one:`{{count}} client`,clientsSuffix_other:`{{count}} clients`,taskFallback:`task`,controlLabel:`control`},Te={installTitle:`Install skill`,createTitle:`Create skill`,exportTitle:`Export all skills as .zip`,checkUpdatesTitle:`Check for updates (all skills)`,searchPlaceholder:`Search skills…`,loading:`Loading…`,noSkills:`No skills installed`,noMatch:`No skills match filter`,noDescription:`No description`,scopeForeign:`Foreign`,installHeading:`Install Skill`,installHint:`Enter a GitHub repository reference (owner/repo) or full URL.`,installPlaceholder:`e.g. wrongstack/skill-name or https://github.com/owner/repo`,installScope:`Install scope:`,installBtn:`Install`,installedMsg:`Installed: {{names}}`,installFailed:`Installation failed`,createHeading:`Create Skill`,createHint:`Scaffold a new skill. The first line is the trigger; additional lines form the description.`,nameLabel:`Name`,namePlaceholder:`e.g. my-new-skill`,descLabel:`Description / Trigger`,descPlaceholder:`Use this skill when <trigger situation>.
6
+ Triggers: user says "keyword", "another".`,saveIn:`Save in:`,createBtn:`Create Skill`,createdMsg:`Created: {{name}}`,createFailed:`Creation failed`},Ee={noEvents:`No events yet.`},De={pickHint:`Pick a kit — the agent will adhere to it.`,gallery:`Gallery`,galleryTitle:`Open live preview gallery`,stackTitle:`Target stack`,loading:`Loading kits…`,notFound:`No design kits found.`,bestFor:`Best for:`,light:`Light`,dark:`Dark`,tune:`Tune`,font:`Font`,set:`Set`,spaceGrotesk:`Space Grotesk…`,aaHeading:`Aa Heading`,theQuickBrownFoxJumpsOver:`The quick brown fox jumps over the lazy dog.`,primary:`Primary`,ghost:`Ghost`,badge:`Badge`,inputField:`Input field…`,radius:`Radius`,density:`Density`,motion:`Motion`},Oe={detached:`(detached)`,count_one:`{{count}} worktree`,count_other:`{{count}} worktrees`,baseSuffix:` · base {{base}}`,baseLabel:`base`,cleanOrphans:`Clean orphans`,cleanOrphansTitle:`Remove all orphaned worktrees`,liveBusyTitle:`A run is live — stop it first`,rescanTitle:`Rescan`,removed_one:`Removed {{count}} worktree.`,removed_other:`Removed {{count}} worktrees.`,failed:`Failed`,mergedIntoBase:`Merged {{branch}} into base.`,conflictMerge:`Conflict merging {{branch}}: {{files}}`,seeGit:`see git`,mergeFailed:`Merge failed: {{reason}}`,unknownReason:`unknown`,mergeConfirmTitle:`Merge {{branch}} into {{base}}?`,mergeConfirmMsg:`Squash-merges this branch onto the base branch. Aborts cleanly if it conflicts.`,mergeAction:`Merge`,removeConfirmTitle:`Remove {{branch}}?`,removeConfirmMsg:`Force-removes the worktree checkout and deletes its branch. Un-merged work is discarded.`,empty:`No worktrees.`,emptyHint:`SDD / Goal runs create isolated worktrees here. Orphans from crashed runs show up too.`,actOpenTerm:`Open in terminal`,actOpenFolder:`Open folder`,actViewChanges:`View changes`,actMerge:`Merge to base`,actRemove:`Remove / discard`,live:`live`,noUncommitted:`No uncommitted changes`,commitsAhead_one:`{{count}} commit ahead`,commitsAhead_other:`{{count}} commits ahead`,more:`…{{count}} more`},ke={heading:`Office Map`,headingHint:`Visualize your fleet as an office floor plan with live agent status.`,statAgents:`Agents`,statMail:`Mail`,unreadSuffix:` unread`,sectionView:`View`,sectionDisplay:`Display`,sectionBackground:`Background`,sectionRecent:`Recent Activity`,eventsTrackedSuffix:` events tracked`,recentHint:`Mail sends, agent spawns, and status changes appear here.`,sectionShortcuts:`Shortcuts`,sectionLegend:`Legend`,hudLabel:`HUD`,hudDesc:`Show real-time session stats overlay`,hudToggle:`Toggle HUD`,minimapLabel:`Minimap`,minimapDesc:`Show the overview minimap`,minimapToggle:`Toggle minimap`,controlsLabel:`Controls`,controlsDesc:`Show zoom and fit controls`,controlsToggle:`Toggle controls`,animateLabel:`Animate edges`,animateDesc:`Animate flow on active connections`,animateToggle:`Toggle edge animation`,legendLabel:`Show legend`,legendDesc:`Display status and connection legend`,legendToggle:`Toggle legend`,feedLabel:`Live feed`,feedDesc:`Bottom strip of recent cross-process activity`,feedToggle:`Toggle live feed`,fitView:`Fit view`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetZoom:`Reset zoom`,legendActive:`Active (running)`,legendIdle:`Idle`,legendError:`Error`,legendOffline:`Offline`,bg:{dots:`Dots`,lines:`Lines`,cross:`Cross`,none:`None`}},Ae={liveProjectOffice:`Live project office`,agents:`agents`,working:`working`,toolCalls:`tool calls`,office:`Office`,topology:`Topology`,officeDescription:`Live agent desks and work`,topologyDescription:`Clients, agents and connections`,team:`Team`,liveDesk:`Live desk & incoming work`,lastActions:`Recent work`,leadAgent:`Lead agent`,agent:`Agent`,callsCount:`{{count}} calls`,recent:`Recent`,noCalls:`No completed calls yet`,telemetryReconnect:`Reconnect this terminal to start tool history`,thinking:`Thinking`,waiting:`Waiting for work`,preparing:`Preparing the next action…`,deskReady:`Desk is ready`,toolCall:`Tool call`,execution:`Execution`,started:`Started`,duration:`Duration`,session:`Session`,target:`Target`,resultSize:`Result size`,lines:`lines`,bytes:`bytes`,tokens:`tokens`,input:`Input`,outputPreview:`Output preview`,readyTitle:`The office is ready`,readyBody:`Agents will take a desk as soon as they join this project.`,liveEvent:`live event stream`,connectedSessions_one:`{{count}} connected session`,connectedSessions_other:`{{count}} connected sessions`,detailHint:`click any action for exact input and result details`,officeBriefing:`Office briefing`,leaderPrompt:`Leader's latest prompt`,activeInstruction:`Active instruction`,telemetryWaiting:`Reconnect this terminal to receive live instructions`,syncWaiting:`waiting for sync`,todoTelemetryWaiting:`Reconnect this terminal to receive the live todo list`,taskNotReported:`Working, but no task description was reported`,waitingForReply:`Waiting for a reply to "{{subject}}" — sent {{duration}} ago`,waitingMailFallback:`a recent message`,waitingTelemetry:`Waiting — no telemetry from this terminal yet`,waitingNoWork:`Waiting for work — no activity for {{duration}} (last: {{last}})`,waitingNothingYet:`nothing yet`,contextUsed:`Context window used`,cost:`cost`,noPrompt:`No prompt received in this session yet`,activeTodos:`Active todos`,todoProgress:`{{done}}/{{total}} done`,allTodosDone:`All todos completed`,noActiveTodos:`No active todos yet`,moreTodos:`+{{count}} more`,currentTask:`Current task`,task:`Task`,promptReceived:`Received`,todos:`Todos`,todoStatus:{pending:`Pending`,in_progress:`In progress`,completed:`Completed`},breakRoom:`Break room`,onBreak:`{{count}} on break`,desksEmpty:`Everyone is on break — the desks are ready for the next task`,files:`FILES`,read:`READ`,write:`WRITE`,edit:`EDIT`,term:`TERM`,live:`LIVE`,uniqueFilesTouched:`Unique files touched`,fileReads:`File reads`,filesWritten:`Files written`,filesEdited:`Files edited`,linesAddedAndRemoved:`Lines added and removed`,terminalCommands:`Terminal commands`,incomingAndOutgoingMail:`Incoming and outgoing mail`,sessionActivityTotals:`Session activity totals`,closeToolDetails:`Close tool details`,closeDetails:`Close details`,closeMailDetails:`Close mail details`,closeTaskDetails:`Close task details`,closeOfficeBriefing:`Close office briefing`,priority:`Priority`,route:`Route`},je={tabProject:`SDD Project`,tabBoard:`Live SDD Board`,tabSpecs:`Specifications`},Me={label:`Side panel`},Ne={deleteTitle:`Delete this memory?`,backToList:`Back to memory list`,copyId:`Copy memory ID`,deletedMemory:`Deleted memory`,anchorCursorHint:`Cursor line range matches this memory's anchor`,statusDeleted:`deleted`,statusSuperseded:`superseded`,restoreTitle:`Restore this memory to active status`,supersededJumpTitle:`This version is superseded — jump to the active version`,acceptSuggestionTitle:`Accept hygiene's deletion suggestion — memory will be forgotten`,rejectSuggestionTitle:`Reject the suggestion — memory stays as-is and may be re-suggested later`,updateTitle:`Update the memory's content — versioning creates a new active record`,promoteTitle:"Promote to `permanent` — hygiene will never surface this again",openRecordTitle:`Open the full record in MemoryManager`,fileDrawerAria:`File memory drawer`,requeryTitle:`Re-query for this file`,closeDrawerAria:`Close drawer`,closeDrawerTitle:`Close memory drawer`,showRecoverable:`Show recoverable (deleted)`,cursorBoostTitle:`Cursor boost`,fileScopedTitle:`File-scoped`,mentionedInTitle:`Mentioned in`,editorKnowledge:`Knowledge`,editorContentPlaceholder:`Example: WebUI state is owned by Zustand stores; server messages update those stores through singleton WebSocket handlers.`,editorImportance:`Importance`,editorConfidence:`Confidence`,editorFreshness:`Freshness`,editorAnchors:`Anchors`,editorSymbolPlaceholder:`Symbol name`,editorRelationships:`Relationships`,searchAria:`Search memories`,searchPlaceholder:`Search content, IDs, tags, anchors…`,clearSearchAria:`Clear search`,audienceFilterAria:`Filter audience-scoped only`,audienceFilterTitle:`Show only audience-scoped memories`,clearFiltersAria:`Clear all filters`,clearFiltersTitle:`Clear all filters`,allStatuses:`All statuses`,allKinds:`All kinds`,tagsLabel:`Tags`,popularTags:`Popular tags`,graphAria:`Memory relationship graph`,graphFullscreenAria:`Open full screen graph`,clearTracesTitle:`Clear all traces`,closePanelTitle:`Close panel`,traceMatched:`matched`,traceInjected:`injected`,traceFiltered:`filtered`,traceActive:`active`,traceExited:`exited`,traceScore:`score`,traceError:`error`,lifecycleAria:`Memory lifecycle live ledger`,listAria:`Memories`,emptyTitle:`Your project's long-term context`,emptyVerifiedAnchors:`Verified anchors`,emptyTypedRelations:`Typed relations`,emptyAgentRecall:`Agent recall`,lensesAria:`SAGE memory lenses`,loadingSage:`Loading SAGE`,loadingAudience:`Loading audience memories`,loadingVectorMemory:`Loading vector memory`,storeUnavailable:`Memory store unavailable`,backToChat:`Back to chat`,sageHeading:`SAGE`,refreshAria:`Refresh memories`,tabMemories:`Memories`,tabActive:`Active`,tabReview:`Review`,tabNeedsReview:`Needs review`,tabGraphEdges:`Graph edges`,reviewLoading:`Loading review queue…`,reviewLoadTimeout:`Review queue did not respond in time.`,reviewEmptyTitle:`No pending reviews`,reviewEmptyHint:`Hygiene and triage proposals show up here for accept/reject.`,reviewPendingCount_one:`{{count}} pending review`,reviewPendingCount_other:`{{count}} pending reviews`,reviewSelectAll:`Select all`,reviewClearSelection:`Clear selection`,reviewSelectOne:`Select review item`,reviewBulkAccept:`Accept selected`,reviewBulkKeep:`Keep selected`,libraryAria:`Memory library`,viewAria:`Memory view`,detailAria:`Memory detail`,fileForDrawerAria:`File for memory drawer`,cursorLabel:`cursor`,reviewLabel:`review`,hygieneReviewTitle:`Hygiene review: {{reason}} ({{days}}d old)`,updatedSuffix:`updated {{date}}`,actionRecover:`Recover`,actionGoToActive:`Go to active`,actionAcceptDeletion:`Accept Deletion`,actionKeep:`Keep`,actionUpdate:`Update`,actionMarkPermanent:`Mark as Permanent`,actionShowFull:`Show full`,itemLabel:`memories`,noFile:`(no file)`,memoriesCount_one:`{{count}} memory`,memoriesCount_other:`{{count}} memories`,pendingReviewCount_one:`{{count}} pending review`,pendingReviewCount_other:`{{count}} pending reviews`,supersededCount:`{{count}} superseded`,linesRange:`lines {{start}}–{{end}}`,emptyOpenFile:`Open a file to see its memories.`,loadingMemories:`Loading memories…`,errorPrefix:`Error: {{message}}`,emptyNoMemories:`No memories attached to {{file}} yet.`,pendingAccepting:`accepting…`,pendingKeeping:`keeping…`,pendingUpdating:`updating…`,pendingMarking:`marking…`,pendingRecovering:`recovering…`,deletedNeverPolicy:`This record is audit-only and carries an absolute ban: it can never enter LLM context.`,deletedEligiblePolicy:`The record is inactive and cannot be edited, but remains eligible as historical evidence when retrieval finds it relevant.`,deletingLabel:`Deleting…`,actionDeleteMemory:`Delete memory`,copiedNotice:`Memory ID copied.`,revisionSuffix:`revision {{n}}`,memoryRelationships:`Memory relationships`,captureMemory:`Capture a memory`,editMemory:`Edit memory`,editorCreateHint:`Add durable knowledge with retrieval metadata.`,editorEditHint:`Update content without losing provenance.`,createMemory:`Create memory`,saveChanges:`Save changes`,addAnchor:`Add anchor`,noAnchors:`No anchors yet — add one to improve retrieval precision`,loadingGraph:`loading real graph…`,graphStats:`{{nodes}} nodes · {{edges}} edges`,lifecycleHeading:`Memory lifecycle`,statusWaiting:`waiting`,statusLive:`live · {{count}}/100`,noMatching:`No matching memories`,buildGraph:`Build your memory graph`,clearFilters:`Clear filters`,createFirst:`Create first memory`,captureButton:`Capture memory`,memoryCaptured:`Memory captured.`,memoryUpdated:`Memory updated.`,liveStore:`live store`,reconnecting:`reconnecting`,newMemory:`New memory`,hideFileDrawer:`Hide file memory drawer`,showFileDrawer:`Show file memory drawer`,hideDrawer:`Hide drawer`,showDrawer:`Show drawer`,editorCharCount:`{{count}} chars`,editorContentLabel:`Memory content`,editorKind:`Kind`,editorScope:`Scope`,editorLifecycleStatus:`Lifecycle status`,editorSupersedes:`Supersedes`,editorContradicts:`Contradicts`,filterByStatus:`Filter by status`,filterByKind:`Filter by kind`,graphHeading:`Relationship map`,graphHeadingFull:`Relationship map — {{id}}`,graphOpenFullscreen:`Open full screen`,projectKnowledge:`project knowledge`,sageSubtitle:`Inspect, connect, curate, and retire durable context used across agent sessions.`,emptyBody:`Select a memory to inspect its metadata and relationship graph, or capture knowledge that future agents should retrieve automatically.`,tabDeleted:`Deleted`,fileDrawerLabel:`File drawer`,selectFilePlaceholder:`— select a file —`,memoryCountSummary:`{{shown}} of {{total}} memories`,updatedSortLabel:`updated ↓`,searchBreakdownAria:`Search breakdown`,searchBreakdownTitle:`Search: {{query}}`,searchBreakdownDual:`dual-channel`,searchBreakdownLexicalOnly:`lexical only`,searchBreakdownLoading:`Running dual-channel search…`,searchBreakdownEmpty:`No matches in either channel.`,searchBreakdownSourceLabel:`Source: {{source}}`,tabAllMemories:`All memories`,tabAllMemoriesHint:`Inspect, curate, retire`,tabAudience:`Audience-scoped`,tabAudienceHint:`Guidance routed to agents`,tabVectorMemory:`Vector memory`,tabVectorMemoryHint:`Semantic embedding store`,editorRelationshipsHint:`Reference exact memory IDs. Relationships are validated and graph edges are rebuilt by SAGE.`,editorTaskTypes:`Task types`,createAction:`Create`,mutationTimeout:`{{verb}} timed out. Your draft is still here.`,loadingSageContent:`Loading SAGE content`,injectorActiveInContext:`Active in context`,injectorInjectionHistory:`Injection history`,injectorContextTransitions:`Context transitions`,metaCreated:`Created`,metaUpdated:`Updated`,metaLastAccessed:`Last accessed`,metaLastVerified:`Last verified`,referencedUnavailable:`Referenced memory is unavailable`,emptyFiltered:`Change the filters or clear the search query.`,emptyCapture:`Capture durable facts, decisions, conventions, and file-bound notes for every agent.`,memoryUnavailable:`Memory is unavailable or has been removed.`,staleConflicts:`stale + conflicts`},Pe={enableLayer:`Enable this boundary layer`,outsideScope:`Outside scope`,askPermission:`Ask permission`,alwaysBlock:`Always block`,allow:`Allow`,allowSelectors:`Allow selectors`,denySelectors:`Deny selectors`,crossPathSelectors:`Shell “Allow” is opaque and can cross path selectors.`,removeLayer:`Remove layer`,taskInspector:`Task inspector`,task:`Task`,dispatched:`Dispatched`,collapseDetails:`Collapse task details`,taskBoundary:`Task boundary`,title:`Title`,managedStage:`Managed stage`,status:`Status`,priority:`Priority`,type:`Type`,labelsCommaSeparated:`Labels (comma separated)`,dueDatePlaceholder:`Due date (ISO or YYYY-MM-DD)`,estimatedHours:`Estimated hours`,actualHours:`Actual hours`,selectBlockingTasks:`Select blocking tasks…`,selectSequentialChain:`Add tasks to a sequential chain…`,enforceChainOrder:`Enforce chain order as dependencies`,assignmentReason:`Change / assignment reason (persisted to activity)`,managedLifecycle:`Managed lifecycle transition`,kanbanAgentTransition:`Kanban Agent transition`,completedAction:`Completed action / reviewer action`,progressComment:`Truthful progress comment (required)`,evidenceUrl:`Evidence attachment URL`,source:`Source`,taskId:`Task ID`,run:`Run`,column:`Column`,primaryModelSource:`Primary model source`,selectProviderModel:`Select exact provider / model…`,fallbackProfile:`Fallback profile (first model is primary)`,selectProfile:`Select configured profile…`,fallbackModels:`Fallback models`,addFallbackModel:`Add fallback model…`,role:`Role`,selectRole:`Select a role…`,assignSkills:`Assign required skills…`,restrictTools:`Restrict to specific tools…`,agentNameOptional:`Agent name (optional)`,retryPolicy:`Retry policy`,maxAttempts:`Max attempts`,costCeilingUsd:`Cost ceiling USD`,grantCapability:`Grant a capability…`,targetBoard:`Target board`,boardPresence:`Board presence`,liveBoardUsers:`Live board users`,kanbanAgent:`Kanban Agent`,watchThisBoard:`Watch this board`,supervisorEngine:`Supervisor engine`,kanbanAgentModelSource:`Kanban Agent model source`,supervisorSkills:`Supervisor skills`,forceLoadSkills:`Force-load agentic skills…`,extraFallbackModels:`Extra fallback models`,optionalFallbacks:`Optional ordered fallbacks…`,queueHealth:`Queue health`,claimableTasks:`Claimable tasks`,runningAssignments:`Running assignments`,inReview:`In review`,manuallyBlocked:`Manually blocked`,failedTasks:`Failed tasks`,blockedByDeps:`Ready/pending tasks blocked by dependencies`,expiredLeases:`Expired lease assignments`,healthy:`healthy`,costCeilingSum:`Sum of costCeilingUsd for running/queued tasks`,liveRunSteer:`Live run — steer it from here`,openLiveRun:`Open the live run view (SDD Hub)`,runAsLiveJob:`Run this board as a live agent job:`,startAsGoal:`Start as Goal`,startAsSdd:`Start as SDD`,runControls:`Run controls`,workerModel:`Worker model`,setModelForTask:`Set model for this task…`,newWorkerName:`New worker name`,duration:`Duration`,liveRun:`Live run`,lastResult:`Last result`,definitionOfDone:`Definition of Done`,failingChecks:`Failing checks`,evidenceMissing:`Evidence missing (agent/council checks without backing refs)`,needsDecomposition:`Needs decomposition`,decompositionPending:`Decomposition proposals awaiting approval`,noOutstanding:`No outstanding verification or decomposition issues on this board.`,kanban:`Kanban`,newBoard:`New board`,createBoard:`Create board`,deleteTask:`Delete task`,runFailed:`run failed`,splitPendingApproval:`split pending approval`,newTask:`New task`,addTask:`Add task`,duplicateBoard:`Duplicate board`,boardHistory:`Board history`,noHistory:`No history yet`,confirmDelete:`Confirm?`,confirmDeleteBoard:`Click again to confirm board deletion`,deleteBoard:`Delete board`,boardBoundary:`Board boundary`,noBoardSelected:`No kanban board selected.`,expandDetails:`Expand task details`,elapsed:`Elapsed`,assigned:`Assigned`,configuredAgentRoute:`the configured agent route`,subagent:`Subagent`,checkedAgo:`checked {{ago}} ago`,notChecked:`not checked`,auditInterval:`Audit interval (seconds)`,statusReady:`ready`,statusRunning:`running`,statusReview:`review`,statusBlocked:`blocked`,statusFailed:`failed`,statusBlockedByDeps:`blocked by deps`,statusStale:`stale`,runningCost:"~${{cost}} running cost",actionPause:`Pause`,actionResume:`Resume`,actionRetryFailed:`Retry failed`,actionStop:`Stop`,actionReassign:`Reassign`,actionRunNow:`Run now`,deleteTaskAria:`Delete task: {{title}}`,confirmDeleteTask:`Click again to confirm task deletion`,confirmDeleteTaskAria:`Confirm delete: {{title}}`,moveTaskToColumn:`Move {{title}} to column`,activityNoteTemplate:`{{action}} from WebUI to {{target}}.`},Fe={heading:`Cron Jobs`,subtitle:`Scheduled recurring tasks managed by the cron plugin.`,statusDisabled:`Disabled`,statusOverdue:`Overdue`,statusActive:`Active`,jobCount_one:`{{count}} job`,jobCount_other:`{{count}} jobs`,enabledCount:`{{count}} enabled`,overdueCount:`{{count}} overdue`,totalRuns:`{{count}} total runs`,maxConcurrent:`max {{count}} concurrent`,emptyTitle:`No cron jobs scheduled.`,emptyUse:`Use`,emptyToAdd:`to add one.`,thStatus:`Status`,thName:`Name`,thInterval:`Interval`,thRuns:`Runs`,thNextRun:`Next Run`,thLastRun:`Last Run`,thAction:`Action`,lastFiredAtTitle:`Last fired at {{time}}`,footerUse:`Use`,footerToAdd:`to add,`,footerToRemove:`to remove.`},Ie={refreshRosterData:`Refresh roster data`,liveEmpty:`Agents appear here when subagents spawn`,fleetInspector:`Fleet Inspector`,openAgentsPanel:`Open Agents panel`,toolCalls:`Tool Calls`,running:`Running`,projectAgents:`Project Agents`,createOrCloneTitle:`Create or Clone Project Agent`,createOrCloneHint:`Inherit any roster agent as a template, then develop an independent identity, runtime policy and learned history.`,cloneFromRole:`Clone from roster role`,cloneHint:`Prompt, tools, skills and defaults are inherited. Learning and later edits remain isolated to the new agent.`,displayName:`Display name`,descriptionPlaceholder:`Own X, Y and Z workflows for this project and verify their results.`,creating:`Creating…`,noCustomizations:`No customizations yet`,selectAgentEmpty:`Select an agent to edit customizations`,saving:`Saving…`,saveFailed:`Save failed`,failed:`Failed`,learningResumed:`Automatic learning resumed`,optimizationEmptyToast:`Optimization produced an empty result. Try again.`,noActiveModelToast:`No active model on server. Optimization sent to the chat agent.`,learningsEmpty:`Learning entries appear when agents capture output`,allRosterAgents:`All Roster Agents`,optimizing:`Optimizing…`,paused:`paused`,selectLearningAgent:`Select an agent to view learning details`,learningOn:`Learning on`,lastCapture:`Last Capture`,lifetimeCaptures:`Lifetime Captures`,hitRate:`Hit Rate`,neverUsed:`Never Used`,learningsLimitExceeded:`Learned data exceeds soft limit ({{bytes}}B / 8,192B). Optimize to synthesize raw entries into a consolidated document and reduce context volume.`,newPending:`new pending`,viewAction:`View`,applying:`Applying…`,searchPlaceholder:`Search agents by name, role, or description…`,maxIterations:`Max Iterations`,maxToolCalls:`Max Tool Calls`,projectCustomizations:`Project Customizations`,learnedEntries:`learned entries`,teachFailed:`Teach failed`,selectRoleEmpty:`Select a role to inspect or edit`,captureLearned:`Capture learned`,teachThisAgent:`Teach this agent`,teachPlaceholder:`Describe what you want this agent to do better… e.g. 'This agent should always verify versions from npm before recommending'`,heading:`Agent Roster`,headerSummary:`{{customized}} customized · {{entries}} learned entries`,tabLive:`Live Fleet`,tabOfficeMap:`Office Map`,tabCatalog:`Roster Catalog`,tabLearning:`Self-Learning`,tabMemory:`Audience Memory`,tabCustomize:`Customization`,learning:`learning`,learningPaused:`Learning paused`,autoLearningPaused:`Automatic learning paused`,toolsCount_one:`{{count}} tool`,toolsCount_other:`{{count}} tools`,maxItShort:`{{value}} max it`,customizedBadge:`Customized`,needsSummary:`⚠ Needs summary`,timeout:`Timeout`,learnedEntriesCount_one:`{{count}} learned entry`,learnedEntriesCount_other:`{{count}} learned entries`,sessionCapturesCount_one:`{{count}} session capture`,sessionCapturesCount_other:`{{count}} session captures`,noAgentsMatch:`No agents match "{{query}}"`,footerRosterRoles_one:`roster role`,footerRosterRoles_other:`roster roles`,footerCustomized:`customized`,footerTotalLearned_one:`total learned entry`,footerTotalLearned_other:`total learned entries`,clone:`+ Clone`,abc:`ABC`,abcGeneratedFromName:`abc (generated from name)`,roleIdOptional:`Role id (optional)`,purpose:`Purpose`,taskTypesCommaOrOnePer:`Task types (comma or one per line)`,cancel:`Cancel`,selectAnAgentToEditCustomizations:`Select an agent to edit customizations`,llmImprove:`LLM Improve`,reset:`Reset`,editIdentityMd:`Edit identity.md`,editLearnedMd:`Edit learned.md`,editConfigJson:`Edit config.json`,runtimePolicy:`Runtime policy`,retry:`Retry`,noSelfLearningDataYet:`No self-learning data yet`,review:`review →`,selectAnAgentToViewLearning:`Select an agent to view learning details`,entries:`Entries`,size:`Size`,optimizeLearnings:`Optimize Learnings`,keep:`Keep`,drop:`Drop`,describeACommandPatternOrBehavior:`Describe a command, pattern, or behavior you want this agent to remember.`,eGAlwaysUsePnpmForThisProject:`e.g. Always use pnpm for this project`,teach:`Teach`,noActiveFleetAgents:`No active fleet agents`,clear:`Clear`,agentsTotal:`agents total`,leader:`Leader`,iterations:`Iterations`,cost:`Cost`,context:`Context`,contextWindow:`Context Window`,error:`Error`,filterAll:`All ({{count}})`,filterRunning:`Running ({{count}})`,filterDone:`Done ({{count}})`,filterFailed:`Failed ({{count}})`,optimizeAll:`Optimize All ({{count}})`,policyUpdateFailed:`Policy update failed`,noRawEntries:`No raw entries to optimize yet.`,optimizedOk:`Optimized. Consolidated knowledge updated.`,emptySynthesis:`The model returned an empty result. Nothing was changed — try again.`,consolidatedWithModel:`Learnings consolidated with {{model}}.`,consolidatedPlain:`Learnings consolidated.`,resetConfirm:`Reset all project-specific data for agent "{{role}}"?`,loadCustomizationFailed:`Failed to load customization`,loadRuntimePolicyFailed:`Failed to load runtime policy`,runtimePolicySaveFailed:`Runtime policy save failed`,llmImprovementFailed:`LLM improvement failed`,agentCreationFailed:`Agent creation failed`,noActiveModelMsg:`No active model on server — optimization sent to chat agent instead.`,optimizationFailed:`Optimization failed`,bulkOptimizationFailed:`Bulk optimization failed`,taskTypesPlaceholder:`X workflow
7
+ Y analysis
8
+ Z verification`},Le={generic:{name:`Generic Project Agent`,summary:`Flexible template that can be cloned into independently learning project roles.`},"audit-log":{name:`Audit Log`,summary:`Analyzes session logs, event streams, and system traces.`},"bug-hunter":{name:`Bug Hunter`,summary:`Scans code for bugs, code smells, and anti-patterns.`},"refactor-planner":{name:`Refactor Planner`,summary:`Analyzes code structure and produces phased refactoring plans.`},"security-scanner":{name:`Security Scanner`,summary:`Scans code, configs, and dependencies for security issues.`},critic:{name:`Critic`,summary:`Evaluates decisions, plans, and implementations.`},"shadow-agent":{name:`Shadow Agent`,summary:`Background monitoring agent that watches fleet health.`},executor:{name:`Executor`,summary:`General-purpose task executor for delegated work.`},chimera:{name:`Chimera`,summary:`Post-session code quality review of changed files.`},researcher:{name:`Researcher`,summary:`Web research and data gathering specialist.`},"tech-stack":{name:`Tech Stack Validator`,summary:`Validates package/library/framework choices.`},orchestrator:{name:`Orchestrator`,summary:`Coordinates multi-agent task execution.`},supervisor:{name:`Supervisor`,summary:`Oversees subagent execution and handles escalations.`},"quality-gate":{name:`Quality Gate`,summary:`Enforces quality gates on implementations.`},architect:{name:`Architect`,summary:`Makes design and architecture decisions.`},"prompt-engineer":{name:`Prompt Engineer`,summary:`Designs and optimizes system prompts.`},mnemosyne:{name:`Mnemosyne`,summary:`Memory curator — reviews and maintains SAGE integrity.`},autophase:{name:`AutoPhase`,summary:`Manages multi-phase autonomous task execution.`}},Re={heading:`Custom Roster`,loading:`Loading custom roster…`,loadFailed:`Failed to load roster`,invalidJson:`Invalid JSON`,noImprovement:`No improvement suggestion generated.`,improveFailed:`LLM improve failed`,behaviorSaved:`Behavior saved to learned.md`,saveFailedServer:`Save failed — see server logs`,emptyTitle:`No Custom Roster Agents`,emptyBody:`Project-custom agents appear here when you create or edit files under`,createExecutorIdentity:`+ Create executor identity`,entries:`Entries`,size:`Size`,sessionCaptures:`Session Captures`,editIdentity:`Edit identity.md`,editLearned:`Edit learned.md`,editConfig:`Edit config.json`,reviewEntries:`Review entries ({{count}})`,reviewLearnedEntries:`Review learned entries ({{kept}}/{{total}} kept)`,applySelection:`Apply selection`,keep:`✓ Keep`,drop:`✗ Drop`,identityPlaceholder:`# Project identity for {{role}}
9
+
10
+ Describe this agent's role in the project…`,teachHint:`Describe a command, pattern, or behavior you want this agent to remember. Saved to`,teachInputPlaceholder:`e.g. "Always use pnpm for this project"`,teach:`Teach`,llmImprove:`LLM Improve`,improve:`Improve`,dismiss:`Dismiss`},$={heading:`Task intelligence`,none:`None`,eventsCount_one:`{{count}} event`,eventsCount_other:`{{count}} events`,stagePrefix:`stage:`,legacyStage:`legacy`,priorityPrefix:`priority:`,typePrefix:`type:`,inferredType:`inferred`,whyHere:`Why here:`,unresolvedBlockers_one:`{{count}} unresolved blocker`,unresolvedBlockers_other:`{{count}} unresolved blockers`,ownershipRuntime:`Ownership & runtime`,owner:`Owner`,assignee:`Assignee`,agentId:`Agent ID`,agentNameRole:`Agent name / role`,runStatus:`Run status`,subagent:`Subagent`,runTask:`Run task`,sessionS:`Session(s)`,usersPresence:`Users / presence`,modelRouteFallback:`Model route & fallback`,routingMode:`Routing mode`,primary:`Primary`,provider:`Provider`,model:`Model`,fallbackRoute:`Fallback route`,skills:`Skills`,tools:`Tools`,capabilities:`Capabilities`,executionPolicyOutcome:`Execution policy & outcome`,attempts:`Attempts`,retryPolicy:`Retry policy`,costCeiling:`Cost ceiling`,failuresDone:`Failures / done`,checks:`Checks`,lastFailure:`Last failure`,result:`Result`,timingAuditCoverage:`Timing & audit coverage`,created:`Created`,updated:`Updated`,due:`Due`,dispatched:`Dispatched`,completed:`Completed`,duration:`Duration`,heartbeat:`Heartbeat`,leaseExpires:`Lease expires`,actors:`Actors`,dependenciesChainProvenance:`Dependencies, chain & provenance`,dependencies:`Dependencies`,otherRelations:`Other relations`,chain:`Chain`,originSystem:`Origin system`,originIds:`Origin IDs`,taskId:`Task ID`,boardId:`Board ID`},ze={chat:`Chat`,settings:`Settings`,sageMemory:`SAGE Memory`,agentRoster:`Agent Roster`,contextDashboard:`Context Dashboard`,setup:`Setup`,goal:`Goal`,sddHub:`SDD Hub`,kanban:`Kanban`,sessions:`Sessions`,sessionInspect:`Session Inspect`,chronicle:`Chronicle`,requirementsIntake:`Requirements Intake`,debugDashboard:`Debug Dashboard`,refreshDebug:`Refresh Debug`,editor:`Editor`,changes:`Changes`,mailbox:`Mailbox`,designGallery:`Design Gallery`,skill:`Skill`,analytics:`Analytics`,codemap:`CodeMap`,techstack:`TechStack`,deadcode:`Dead Code Scan`,terminal:`Terminal`,inspector:`Inspector`,workspaceInspector:`Workspace Inspector`,processMonitor:`Process Monitor`,queue:`Queue`,cronJobs:`Cron Jobs`},Be={heading:`Audience Memory`,subheading:`Guidance routed to matching agents`,statMemories:`Memories`,statRoles:`Roles`,statTasks:`Tasks`,statModes:`Modes`,fieldMemory:`Memory`,fieldKind:`Kind`,fieldTaskTypes:`Task types`,selectors:`Audience selectors`,selectorsHint:`Comma-separate multiple values. At least one selector is required.`,scopeRemoved:`Audience scope removed. The memory is now general.`,deleted:`Audience memory deleted.`,copiedAsJson_one:`{{count}} audience memory copied as JSON.`,copiedAsJson_other:`{{count}} audience memories copied as JSON.`,copyFailed:`Failed to copy JSON to the clipboard.`,noValidInJson:`No valid audience-scoped memories were found in the JSON.`,queuedForImport_one:`{{count}} memory queued for import`,queuedForImport_other:`{{count}} memories queued for import`,skippedSuffix_one:`; {{count}} invalid entry was skipped.`,skippedSuffix_other:`; {{count}} invalid entries were skipped.`,clearFilter:`Clear filter`,noMatching:`No matching memories`,noMatchingHint:`Try another role, task, mode, or phrase.`,deleteTitle:`Delete this audience memory?`,deleteBody:`This removes the memory from active use. To keep it as general project guidance, cancel and use the un-scope action instead.`,emptyTitle:`Route guidance to the right agents`,emptyBody:`Scope a memory by role, task type, or operating mode. Matching agents receive it automatically.`,addScoped:`Add scoped memory`,createTitle:`Add audience-scoped memory`,createBody:`This guidance is injected only when an agent matches at least one supplied selector.`,importTitle:`Import audience memories`,importBodyBefore:`Paste the JSON produced here or by`,importBodyAfter:`Entries without a valid audience selector are skipped.`,jsonArray:`JSON array`,importAction:`Import memories`,searchAudienceMemories:`Search audience memories`,clearAudienceMemorySearch:`Clear audience memory search`,refreshAudienceMemories:`Refresh audience memories`,importAudienceMemories:`Import audience memories`,copyAudienceMemoriesAsJson:`Copy audience memories as JSON`,dismissMessage:`Dismiss message`,loadingAudienceMemories:`Loading audience memories`,refresh:`Refresh`,importJson:`Import JSON`,copyJson:`Copy JSON`,makeGeneralMemory:`Make general memory`,delete:`Delete`,searchTextRoleTaskOrMode:`Search text, role, task or mode…`,whatShouldMatchingAgentsRemember:`What should matching agents remember?`,reviewerRefactorPlanner:`reviewer, refactor-planner`,reviewRefactorBugfix:`review, refactor, bugfix`,teachCodeReview:`teach, code-review`},Ve={techstack:`TechStack`,staleGt24h:`stale >24h`,refresh:`Refresh`,analyze:`Analyze`,retry:`Retry`,dependencies:`Dependencies`,outdated:`Outdated`,vulnerable:`Vulnerable`,findings:`Findings`,package:`Package`,installedLatest:`Installed → Latest`,status:`Status`,constraint:`Constraint`,locked:`Locked`,latestStable:`Latest stable`,license:`License`,wanted:`Wanted`,resolvable:`Resolvable`,purl:`PURL`,registryFlags:`Registry flags`,evidence:`Evidence`,noEvidenceRecorded:`No evidence recorded.`,nothingFlaggedRunADeepDive:`Nothing flagged. Run a deep dive to have the model research this package against the web.`,backToDependencyList:`Back to dependency list`,dependencyList:`Dependency list`,dependencyDetail:`Dependency detail`,selectADependencyToSeeIts:`Select a dependency to see its versions, evidence, and findings.`,requiresAManualPackageChoice:`Requires a manual package choice.`,noRemediationNeeded:`No remediation needed.`,noWorkspacesDetected:`No workspaces detected.`,loadingSnapshot:`Loading snapshot…`,noInventoryYet:`No inventory yet`,scanThisProject:`Scan this project`,noFindingsRun:`No findings. Run`,toCheckVersionsAndAdvisoriesAgainst:`to check versions and advisories against upstream registries, then interpret the results.`,offlineReReadManifestsAndLockfiles:`Offline: re-read manifests and lockfiles`,checkRegistriesAndAdvisoriesThenInterpretTheResultsWithTheModel:`Check registries and advisories, then interpret the results with the model`,exportSnapshotAsJson:`Export snapshot as JSON`,exportSbomSpdx:`Export SPDX 2.3 SBOM`,exportSbomCycloneDx:`Export CycloneDX 1.5 SBOM`,exportReportMd:`Export Markdown Report`,exportOptions:`Export reports and SBOM`,cancelJob:`Cancel job`,showOnlyDependenciesThisProjectDeclaresItself:`Show only dependencies this project declares itself`,clearAllFilters:`Clear all filters`,searchByPackageName:`Search by package name…`,searchDependencies:`Search dependencies`,clearSearch:`Clear search`,directOnly:`Direct only`,filterByEcosystem:`Filter by ecosystem`,allEcosystems:`All ecosystems`,filterByStatus:`Filter by status`,allStatuses:`All statuses`,sortDependencies:`Sort dependencies`,sortNeedsAttention:`Sort: needs attention`,sortMostOutOfDate:`Sort: most out of date`,sortName:`Sort: name`,tabDependencies:`Dependencies`,tabFindings:`Findings`,tabWorkspaces:`Workspaces`,tabTrends:`Trends`,tabRemediation:`Remediation`,majorsBehind:`majors behind`,knownAdvisories:`known advisories`},He={current:`Current`,update_available_safe:`Update available`,update_available_breaking:`Major update`,vulnerable:`Vulnerable`,deprecated:`Deprecated`,yanked:`Yanked`,unmaintained_suspected:`Unmaintained?`,blocked_by_constraints:`Blocked`,private_or_unresolved:`Private`,local_path:`Local path`,git_dependency:`Git`,unsupported:`Unsupported`,unknown:`Unknown`},Ue={critical:`Critical`,high:`High`,medium:`Medium`,low:`Low`,info:`Info`},We={none:`No action`,upgrade_patch:`Patch upgrade`,upgrade_minor:`Minor upgrade`,upgrade_major:`Major upgrade`,replace:`Replace`,remove:`Remove`,investigate:`Investigate`},Ge={full:`Full`,partial:`Partial`,partialNote:`limited`,unsupported:`Unsupported`,unsupportedNote:`best-effort`},Ke={codeAtlas:`Code Atlas`,architectureIntelligence:`Architecture intelligence`,codeMapBreadcrumb:`Code map breadcrumb`,back:`Back`,layers:`Layers`,relations:`Relations`,all:`ALL`,keepTheFullTreeShowTheStrongestRelationsAndSelectedNeighbourhood:`Keep the full tree, show the strongest relations and selected neighbourhood`,renderEveryNodeAndRelationInThisScope:`Render every node and relation in this scope`,mappingRelationships:`Mapping relationships`,onceThenReopenThisView:`once, then reopen this view.`,noIndexedNodesAtThisLevel:`No indexed nodes at this level.`,noResolvedRelationsInThisScope:`No resolved relations in this scope`,theUpgradedIndexWillRebuildAnd:`The upgraded index will rebuild and resolve call/import/type links automatically.`,liveOperation:`Live operation`,openSymbolMap:`Open symbol map`,closeActivity:`Close activity`,noActivityRecordedForThisFile:`No activity recorded for this file yet.`,fsVerified:`fs verified`,activeNow:`Active now`,eventStream:`Event stream`,selectANodeOrWaitFor:`Select a node or wait for an agent`,relationsAppearOnSelectionToolCalls:`Relations appear on selection. Tool calls and external filesystem touches stream here live.`,live:`LIVE`,correlated:`~ correlated`,correlatedFromTheOnlyActiveTool:`Correlated from the only active tool`,liveAgentOperations:`Live agent operations`,follow:`Follow`,automaticallyEnterTheFileFunctionUsedByTheNewestVisibleAgent:`Automatically enter the file/function used by the newest visible agent`,agent:`Agent`,allAgents:`ALL AGENTS`,filesystemConfirmed:`Filesystem confirmed`,filterCodemapByAgentAndSession:`Filter CodeMap by agent and session`,incoming:`Incoming`,outgoing:`Outgoing`,clearSelection:`Clear selection`,relationInspector:`Relation inspector`,agentsOnThisNode:`Agents on this node`,noRelationshipsInThisView:`No relationships in this view.`,activity:`Activity`,whoDependsOnThis:`Who depends on this`,whatThisDependsOn:`What this depends on`},qe={codingIntelligence:`Coding Intelligence`,chronicle:`CHRONICLE`,llmAgentToolAndFileEvidence:`LLM, agent, tool and file evidence — connected from decision to code change.`,tokenEconomics:`Token economics`,freshInput:`fresh input`,cacheRead:`cache read`,cacheHit:`cache hit`,estimatedCost:`estimated cost`,modelReliability:`Model reliability`,taskOutcomes:`Task outcomes`,apply:`Apply`,clear:`Clear`,time:`Time`,signal:`Signal`,outcome:`Outcome`,modelAgent:`Model / agent`,resource:`Resource`,evidenceLineage:`Evidence & lineage`,collectorHealthy:`Collector healthy`,lineageTruncatedAtSafetyLimit:`Lineage truncated at safety limit.`,refreshEvidence:`Refresh evidence`,searchEventEvidence:`Search event evidence`,fileOrDirectory:`File or directory`,provider:`Provider`,model:`Model`,session:`Session`,llmRequests:`LLM requests`,agentWork:`Agent work`,toolCalls:`Tool calls`,fileEvidence:`File evidence`,retries:`Retries`,providerP95:`Provider p95`,evidenceHash:`Evidence hash`,sequence:`Sequence`,signalAllSignals:`All signals`,signalLlm:`LLM`,signalAgents:`Agents`,signalTools:`Tools`,signalFiles:`Files`,signalFailures:`Failures`},Je={loadingSessionInspection:`Loading session inspection…`,backToSessions:`Back to sessions`,noSessionSelected:`No session selected`,selectASessionFromTheSessions:`Select a session from the Sessions dashboard or sidebar to inspect it.`,refresh:`Refresh`,filterEvents:`Filter events…`,eventTimeline:`Event timeline`,noEventsMatchTheFilter:`No events match the filter.`,toolBreakdown:`Tool breakdown`,fileChanges:`File changes`,tokens:`Tokens`,messages:`Messages`,iterations:`Iterations`,toolCalls:`Tool calls`,files:`Files`,compactions:`Compactions`,events:`Events`,outcomeCompleted:`Completed`,outcomeError:`Error`,outcomeTimeout:`Timed out`,outcomeAborted:`Aborted`,outcomeUnknown:`Unknown`},Ye={protectedSystemAgentRequiredToolsAnd:`Protected system agent: required tools and capabilities are retained, minimum budgets are enforced, working hours remain advisory, and emergency model recovery stays enabled so core operations cannot be disabled.`,providerAndModelPolicy:`Provider and model policy`,restrictThisAgentToAnExplicit:`Restrict this agent to an explicit model allowlist`,allowedModels:`Allowed models`,orderedFallbackChain:`Ordered fallback chain`,workspaceAndIsolation:`Workspace and isolation`,projectRelativeWorkingDirectory:`Project-relative working directory`,gitWorktreeIsolation:`Git worktree isolation`,automatic:`Automatic`,required:`Required`,off:`Off`,limits:`Limits`,workingHours:`Working hours`,enforce:`Enforce`,advisory:`Advisory`,cancel:`Cancel`,useProjectDefaultModel:`Use project default model`,addAllowedModel:`Add allowed model`,addFallbackModel:`Add fallback model`,packagesWebui:`packages/webui`,europeKiev:`Europe/Kiev`},Xe={riskAuditQuality:`Risk & audit quality`,noDeterministicTaskRisksDetected:`No deterministic task risks detected.`,next:`Next:`,auditScore:`audit {{score}}/100`,criticalCount:`{{count}} critical`,itemLabel:`risk findings`,covEvents:`Events`,covActor:`Actor`,covSession:`Session`,covReasons:`Reasons`,covRoute:`Route`,covOutcome:`Outcome`,cat:{operational:`operational`,audit:`audit`},sev:{critical:`critical`,warning:`warning`,info:`info`},overdueTitle:`Task is overdue`,overdueDetail:`Due date {{dueDate}} has passed while status is {{status}}.`,overdueFix:`Re-plan the due date or record the blocker and owner response.`,missingDependencyTitle:`Dependency references are broken`,missingDependencyDetail_one:`{{count}} dependency task cannot be found.`,missingDependencyDetail_other:`{{count}} dependency tasks cannot be found.`,missingDependencyFix:`Repair or remove the missing dependency IDs before dispatch.`,unresolvedDependencyTitle:`Dependencies are unresolved`,unresolvedDependencyDetail_one:`{{count}} dependency task still blocks execution.`,unresolvedDependencyDetail_other:`{{count}} dependency tasks still block execution.`,unresolvedDependencyFix:`Complete dependencies or explicitly waive them with a decision event.`,assignmentFailedTitle:`Latest agent run failed`,assignmentFailedDetail:`{{reason}}`,assignmentFailedDetailGeneric:`Assignment status is failed.`,assignmentFailedFix:`Review the failed attempt evidence, adjust routing, then retry or block the task.`,retryExhaustedTitle:`Retry budget is exhausted`,retryExhaustedDetail:`{{used}}/{{max}} attempts have been consumed.`,retryExhaustedFix:`Escalate for a new route or explicitly increase the attempt budget.`,leaseExpiredTitle:`Assignment lease has expired`,leaseExpiredDetail:`Lease expired at {{expiresAt}} while run status is {{status}}.`,leaseExpiredFix:`Recover, release, or retry the stale assignment.`,staleHeartbeatTitle:`Agent heartbeat is stale`,staleHeartbeatDetail:`No heartbeat has been recorded since {{since}}.`,staleHeartbeatFix:`Inspect the subagent/run and recover the assignment if it is no longer alive.`,noAssignmentTitle:`In-progress task has no assignment`,noAssignmentDetail:`The task claims active work but has no inspectable agent assignment.`,noAssignmentFix:`Assign an agent or return the task to ready/blocked.`,failedChecksTitle:`Acceptance checks failed`,failedChecksDetail_one:`{{count}} completion check failed.`,failedChecksDetail_other:`{{count}} completion checks failed.`,failedChecksFix:`Resolve or explicitly waive failed acceptance evidence.`,pendingChecksTitle:`Completed task still has pending checks`,pendingChecksDetail_one:`{{count}} acceptance check remains pending.`,pendingChecksDetail_other:`{{count}} acceptance checks remain pending.`,pendingChecksFix:`Move the task back to review or complete the missing checks.`,noEventsTitle:`No durable activity events loaded`,noEventsDetail:`Current state cannot be traced to an append-only task event.`,noEventsFix:`Refresh activity; migrate legacy state or record an observation event.`,noProvenanceTitle:`Creation provenance is missing`,noProvenanceDetail:`The loaded event range does not contain task.created.`,noProvenanceFix:`Load deeper history or record the legacy origin explicitly.`,actorCoverageTitle:`Some mutations have no actor`,actorCoverageDetail:`Actor coverage is {{percent}}%.`,actorCoverageFix:`Ensure every route/tool mutation supplies agent or operator identity.`,sessionCoverageTitle:`Some mutations have no session`,sessionCoverageDetail:`Session coverage is {{percent}}%.`,sessionCoverageFix:`Propagate session identity into all task event contexts.`,reasonCoverageTitle:`Decision rationale is sparse`,reasonCoverageDetail:`Only {{percent}}% of mutations include a reason or outcome.`,reasonCoverageFix:`Use the change-reason and decision/outcome fields for meaningful mutations.`,noRouteTitle:`Execution route is not inspectable`,noRouteDetail:`Assignment has no routing mode, provider, or model.`,noRouteFix:`Reassign with explicit session/fixed/fallback routing metadata.`,missingTerminalEvidenceTitle:`Terminal run has no result or error evidence`,missingTerminalEvidenceDetail:`Assignment ended as {{status}} without an inspectable output.`,missingTerminalEvidenceFix:`Record the final result/error and supporting evidence.`},Ze={requirementsIntake:`Requirements Intake`,collectAndPreserveSoftwareDevelopmentRequests:`Collect and preserve software development requests as structured intake records`,retry:`Retry`,fileANewRequest:`File a new request`,fileANewIntake:`File a new intake`,requestText:`Request text`,storedVerbatimAsTheRecordApos:`Stored verbatim as the record's original request — never rewritten.`,titleOptional:`Title (optional)`,shortDisplayTitle:`Short display title`,type:`Type`,priority:`Priority`,clear:`Clear`,records:`Records`,intakeRecords:`Intake records`,loading:`Loading…`,noIntakeRecordsYetFileThe:`No intake records yet — file the first one above.`,describeTheFeatureBugFixRefactorOrChange:`Describe the feature, bug fix, refactor, or change…`},Qe={verificationReport:`Verification Report`,checkResults:`Check Results`,fileScope:`File Scope`,subTasks:`Sub-Tasks`,expected:`Expected`,actual:`Actual`,total:`Total`,completed:`Completed`,failed:`Failed`,verdictPassed:`Passed`,verdictFailed:`Failed`,verdictIncomplete:`Incomplete`,checkPassed:`Passed`,checkFailed:`Failed`,checkSkipped:`Skipped`,checkError:`Error`,verdictNeedsHuman:`Needs Review`},$e={activityLedger:`Activity ledger`,noActivityMatchesThisFilter:`No activity matches this filter.`,fullEventPayload:`Full event payload`,taskActivity:`Task activity`,copyFilteredActivityJson:`Copy filtered activity JSON`,downloadFullActivityJson:`Download full activity JSON`,searchAgentSessionModelResultField:`Search agent, session, model, result, field…`,copyVisibleTaskActivityJson:`Copy visible task activity JSON`,downloadFullTaskActivityJson:`Download full task activity JSON`,refreshTaskActivity:`Refresh task activity`,searchTaskActivity:`Search task activity`,clearTaskActivitySearch:`Clear task activity search`},et={contextDashboard:`Context Dashboard`,contextPressure:`Context Pressure`,contextComposition:`Context Composition`,thresholdMap:`Threshold Map`,compactionEngine:`Compaction Engine`,perAgentFootprint:`Per-Agent Footprint`,tokenMetrics:`Token Metrics`,session:`Session`,refreshDebugData:`Refresh debug data`,currentPosition:`Current position`,compactTrigger:`Compact trigger`,hardLimit:`Hard limit`,nextTrigger:`Next trigger`,recommendation:`Recommendation`,used:`Used`,free:`Free`,capacity:`Capacity`,model:`Model`,mode:`Mode`,contextMode:`Context mode`,iteration:`Iteration`,uptime:`Uptime`,provider:`Provider`,project:`Project`,fetchingCompositionData:`Fetching composition data...`,noCompositionDataAvailableYetRun:`No composition data available yet. Run an agent iteration to populate.`,toolBreakdown:`Tool breakdown`,strategy:`Strategy`,auto:`auto ✓`,current:`Current`,estRecovery:`Est. recovery`,utilization:`Utilization`,zoneSafe:`Safe`,zoneSafeDesc:`normal operation`,zoneWarning:`Warning`,zoneWarningDesc:`compaction advised`,zoneCritical:`Critical`,zoneCriticalDesc:`compact now`,zoneDanger:`Danger`,zoneDangerDesc:`context nearly full`,systemPrompt:`System Prompt`,tools:`Tools`,messages:`Messages`},tt={webuiServerProcess:`WebUI Server Process`,liveWrongstackProcesses:`Live WrongStack Processes`,surface:`Surface`,memory:`Memory`,growthSignal:`Growth / signal`,workload:`Workload`,hqOfflineQueue:`HQ offline queue`,resourcesHotspot:`Resources / hotspot`,waitingForHeapFlightRecorderSamples:`Waiting for heap flight-recorder samples…`,codebaseIndexServer:`Codebase Index Server`,processRamRss:`Process RAM (RSS)`,v8HeapLimit:`V8 Heap Limit`,serverUptime:`Server Uptime`,connection:`Connection`,indexRamRss:`Index RAM (RSS)`,indexWorkload:`Index Workload`,indexWatcher:`Index Watcher`,oldSpaceCeiling:`Configured old-space ceiling`,sinceProcessStart:`Since process start`},nt={codeTree:`Code tree`,openFileMap:`Open file map`,findPackageFileSymbol:`Find package, file, symbol…`,clearSearch:`Clear search`,noMatchInLoadedBranches:`No match in loaded branches.`,expandAPackageToSearchIts:`Expand a package to search its files.`,clickToFocusDoubleClickTo:`Click to focus · double-click to enter`,branchesStayOpenWhileTheMap:`Branches stay open while the map changes`},rt={recordDecisionOutcome:`Record decision / outcome`,whatWasDecidedAttemptedOrProduced:`What was decided, attempted, or produced?`,optionalEvidenceRationaleCommandLinkOrFailureDetail:`Optional evidence, rationale, command, link, or failure detail…`,taskActivityKind:`Task activity kind`,taskActivityOutcome:`Task activity outcome`,recordTaskDecisionOrOutcome:`Record task decision or outcome`,taskActivityDetails:`Task activity details`},it={europeKiev:`Europe/Kiev`,doNotUseInsideThisWindow:`Do not use inside this window`,useOnlyInsideThisWindow:`Use only inside this window`,applyThisScheduleToTheWhole:`Apply this schedule to the whole provider`,doNotUseDuringSelectedTimes:`Do not use during selected times`,useOnlyDuringSelectedTimes:`Use only during selected times`,addSchedule:`Add schedule`},at={decomposition:`Decomposition`,thisTaskShouldBeSplitBefore:`This task should be split before dispatch:`,approve:`Approve`,reject:`Reject`,approveAmpSplit:`Approve & split`,parent:`Parent`},ot={noTasksOnThisBoardYet:`No tasks on this board yet.`,proposalPending:`proposal pending`,verifyUnverified:`unverified`,verifyVerifying:`verifying…`,verifyVerified:`verified`,verifyFailed:`verification failed`,verifyNeedsReview:`needs review`,verifyIncomplete:`incomplete`},st={providerModelAvailability:`Provider/model availability`,recentBlockOpenEvents:`Recent block/open events ({{count}})`,noBlockOpenEventsYet:`No block/open events recorded yet.`,refreshStatus:`Refresh status`,lastError:`Last error:`,reopenHalfOpenProbe:`Reopen (half-open probe)`,clearTracking:`Clear tracking`,wrongstackRoutesAroundActiveSchedulesAnd:`WrongStack routes around active schedules and unhealthy models automatically, then restores recovered routes on their next eligible use. Click an entry for details and manual controls.`},ct={editContextWindow:`Edit context window`,messages:`Messages`,currentIteration:`Current iteration`,chatTranscript:`Chat transcript`,edit:`Edit`,top:`Top`,thinking:`Thinking…`,toolWord:`tool`,runningTool:`Running {{tool}}…`,runningTools:`Running {{count}} tools ({{preview}})…`,writingReply:`Writing reply…`,thinkingNextStep:`Thinking about the next step…`,autoCollapse:`↕️ Auto-collapse`,reasoning:`🧠 Reasoning`,groupTools:`🔧 Group Tools`,compact:`📦 Compact`,providerLimit:`Provider limit {{limit}}`,providerLimitDecreased:`Provider context window decreased from {{previous}} to {{current}} tokens.`,restoringTranscript:`Restoring transcript…`,restoringTranscriptHint:`Reading this session's journal. A long conversation can take a while.`},lt={tokenAllocation:`Token Allocation`,toolBreakdown:`Tool Breakdown`,messageBreakdown:`Message Breakdown`,refresh:`Refresh`,toolsRegistered:`Tools registered`},ut={contextWindowEditor:`Context Window Editor`,system:`System`,messages:`Messages`,total:`Total`,loadingContextSnapshot:`Loading context snapshot…`,emptyConversation:`No conversation messages yet. System prompt and tool schemas still occupy the context window.`,snapshotTimedOut:`Timed out waiting for the context snapshot.`,repairPreviewWillRemove:`Repair preview: will remove`,agentRunningApplyDisabled:`Agent running — apply disabled`,providerLimitDecreased:`Provider context window decreased from {{previous}} to {{current}} tokens. Context recovery now uses the provider limit before the next request.`,clear:`Clear`},dt={descriptionWorkingContext:`Description / working context`,dependencies:`Dependencies`,taskChainSelectionOrder:`Task chain (selection order)`,saveTaskContract:`Save task contract`,fixedProviderModel:`Fixed provider / model`,forceLoadedIntoTheWorker:`· force-loaded into the worker`,blankFullDefaultToolset:`· blank = full default toolset`,advanced:`Advanced`,blankSafeDefaults:`· blank = safe defaults`,assign:`Assign`,dispatch:`Dispatch`,copy:`Copy`,transfer:`Transfer`,tabDefinition:`Definition`,tabExecution:`Execution`,tabEvidence:`Evidence`,tabBreakdown:`Breakdown`,tabHistory:`History`,waitingOn:`Waiting on:`,taskStatusSummary:`Task status`},ft={writeTheDurableFactOrDecision:`Write the durable fact or decision in complete, searchable language.`,bindKnowledgeToFilesSymbolsPackages:`Bind knowledge to files, symbols, packages, tests, Git paths, or commands.`,audienceOptional:`Audience (Optional)`,targetThisMemoryToSpecificAgent:`Target this memory to specific agent types. Leave empty for general project memory.`,roles:`Roles`,modes:`Modes`,architectureWebuiWorkflow:`architecture, webui, workflow`,memIdMemId:`mem_id, mem_id`,reviewerRefactorPlanner:`reviewer, refactor-planner`,reviewRefactorBugfix:`review, refactor, bugfix`,teachCodeReview:`teach, code-review`},pt={contextMemoryMonitor:`Context Memory Monitor`,exactProviderBoundPresence:`exact provider-bound presence`,noSageHasEnteredThisSession:`No SAGE has entered this session context yet.`,memoryPresence:`Memory presence`,cameWent:`Came / went`},mt={modelId:`model-id`},ht={httpLocalhostCallbackCode:`http://localhost:.../callback?code=…`},gt={baseUrlOptionalEGHttpLocalhost11434V1:`Base URL (optional, e.g. http://localhost:11434/v1)`,anthropic:`Anthropic`,openai:`OpenAI`,openaiCompatible:`OpenAI Compatible`,google:`Google`},_t={url:`URL:`,models:`Models:`,linkedin:`LinkedIn`,telegram:`Telegram`,whatsapp:`WhatsApp`,reddit:`Reddit`,facebook:`Facebook`,email:`Email`},vt={searchChat:`Search chat`,commandPalette:`Command palette`,switchModel:`Switch model`,settings:`Settings`,search:`Search`,command:`Command`,model:`Model`},yt={agentRoster:`Agent roster`},bt={save:`Save`,auditNow:`Audit now`,fixedProviderModel:`Fixed provider / model`,deterministicModeUsesNoProviderModel:`Deterministic mode uses no provider, model, token, or billing. It repairs assignment/status/column drift and recovers expired leases.`},xt={deadCodeScan:`🔍 Dead-Code Scan`,actionPlan:`📋 Action Plan`,totalSymbols:`Total Symbols`,alive:`Alive`,dead:`Dead`},St={tui:`TUI`,webui:`WebUI`,repl:`REPL`,out:`OUT`},Ct={previousPage:`Previous page`,nextPage:`Next page`,previous:`Previous`,next:`Next`},wt={historyFilters:`History filters`},Tt={sessions:`Sessions`,active:`Active`,agents:`Agents`,status:`Status`,runtime:`Runtime`},Et={shadowAgent:`Shadow Agent`,running:`● running`,stopped:`○ stopped`,agentId:`Agent ID:`,theShadowAgentMonitorsAllFleet:`The Shadow Agent monitors all fleet agents, tracks their tasks, and detects anomalies (spike tasks, stuck agents, mailbox loops).`},Dt={verificationRunningChecksAreBeingExecuted:`Verification running — checks are being executed…`,reRunVerification:`Re-run verification`,unverified:`Unverified`,noVerificationReportExistsForThis:`— no verification report exists for this task yet.`,runVerification:`Run verification`},Ot={filterToolsByNameOrOwner:`Filter tools by name or owner…`,toolsList:`Tools list`,params:`Params:`,tools:`Tools`,loadingTools:`Loading tools…`},kt={dismiss:`Dismiss`,run:`Run`,wstackUpdate:`wstack update`,orYourPackageManagerToUpgrade:`(or your package manager) to upgrade.`,refresh:`Refresh`,newBuildReady:`New build ready. Cache cleared.`},At={prioCrit:`Crit`,prioHigh:`High`,prioMed:`Med`,prioLow:`Low`},jt={agent:`Agent`,role:`Role`,modelSource:`Model source`,model:`Model`,attempt:`Attempt`,costCeiling:`Cost ceiling`,fallbackProfile:`Fallback profile`,fallbacks:`Fallbacks`,skills:`Skills`,tools:`Tools`,leaseExpires:`Lease expires`},Mt={skipToContent:`Skip to content`},Nt={fleetIdle:`Fleet idle`},Pt={clearSearch:`Clear search`,memoryAudienceExport:`/memory audience export`},Ft={sourceChanges:`Source changes`,sourceControl:`Source control`},It={selectTabCompleteEnterDispatchEsc:`↑/↓ select · Tab complete · Enter dispatch · Esc dismiss`},Lt={promptLibrary:`Prompt library`},Rt={filter:`Filter…`},zt={chronicleOwnership:`Chronicle ownership`,inlineFallback:`INLINE FALLBACK`},Bt={incomingRelationships:`Incoming relationships`,outgoingRelationships:`Outgoing relationships`},Vt={input1m:`input /1M`,output1m:`output /1M`,cache1m:`cache /1M`},Ht={judgeUsed:`judge used`,panelNotDiverse:`panel not diverse`,veto:`veto`},Ut={boardPolicyRemainsAuthoritativeThisTask:`Board policy remains authoritative. This task policy can only narrow that scope.`,shellOpaqueTools:`Shell / opaque tools`,saveBoundary:`Save boundary`},Wt={addAVerifiableCompletionCheck:`Add a verifiable completion check…`,completionChecks:`Completion checks`},Gt={sageWillMarkTheRecordDeleted:`SAGE will mark the record deleted, remove graph edges, and clean references from related memories. The record remains in the audit trail but cannot be restored from this page.`},Kt={navigateEnterSelectEscClose:`↑/↓ navigate · Enter select · Esc close`},qt={fallbackProfiles:`Fallback Profiles`,noFallbackProfilesConfigured:`No fallback profiles configured.`},Jt={openTheMirroredKanbanBoardSForThisRunOnePerDependencyWave:`Open the mirrored kanban board(s) for this run (one per dependency wave)`},Yt={thinking:`thinking`},Xt={fallback1:`fallback1`},Zt={configureHowSubagentsAndFleetOperations:`Configure how subagents and fleet operations behave.`},Qt={sessionModel:`(session model)`},$t={httpHost3499:`http://host:3499`,clientTokenFromWstackHq:`Client token from wstack --hq`,mcpServers:`MCP Servers`},en={httpsMcpExampleComMcp:`https://mcp.example.com/mcp`,operationalHealth:`Operational health`,failuresTransportProtocolTool:`Failures (transport/protocol/tool)`,callLatencyP50P95:`Call latency p50/p95`,reconnectWakeSleep:`Reconnect / wake / sleep`,callsInFlightPeak:`Calls in flight / peak`},tn={tools:`tools`,reasoning:`reasoning`,vision:`vision`},nn={eGMyLlm:`e.g. my-llm`,eGHttpLocalhost11434V1:`e.g. http://localhost:11434/v1`},rn={executionAttempts:`Execution attempts`,error:`Error:`,result:`Result:`},an={notifications:`Notifications`},on={copyApiKeyToClipboard:`Copy API key to clipboard`},sn={progress:`Progress`},cn={title:`Prompt Journal`,subtitle:`Every prompt recorded for this project, newest first.`,refresh:`Refresh`,statEntries:`{{count}} prompts`,statTokens:`~{{count}} tokens (est.)`,filterCategory:`Category`,filterAll:`All`,filterSession:`Session`,filterLimit:`Limit`,loading:`Loading prompt journal…`,disabled:`The prompt journal is not available for this project.`,emptyTitle:`No prompts recorded yet`,emptyHint:`Prompts you send will appear here once the journal has entries.`,tokens:`tokens`,rawInput:`Raw input`,refinedBody:`Refined copy`,model:`Model`,provider:`Provider`,iteration:`Iteration`,stats:`Stats`,chars:`chars`,lines:`lines`,duration:`Duration`,tools:`Tools`,files:`Context files`,rationale:`Rationale`,cat:{raw_user:`Raw user`,refined_user:`Refined user`,system_prompt:`System prompt`,autonomous_next_step:`Autonomous next step`,self_healing_retry:`Self-healing retry`,clarify_interaction:`Clarify interaction`,subagent_delegation:`Subagent delegation`}},ln={title:`System prompt`,description:`Choose how much built-in guidance the agent starts with. A larger prompt costs tokens on every request.`,firstRunDescription:`Pick a system prompt size before your first message. A larger prompt costs tokens on every request.`,tokens:`~{{count}} tokens`,current:`Current`,apply:`Apply`,applyAndStart:`Apply & start session`,cancel:`Cancel`,unavailable:`System prompt selection is not available on this server.`,openTitle:`Choose system prompt size`},un={continue:`Continue`,cancel:`Cancel`,continuePrompt:`The previous run failed — continue from where it stopped and finish the remaining work.`},dn={title:`Council Consensus`,subtitle:`Multi-LLM independent deliberative decision panel`,voting:`Voting in flight…`,judgeUsed:`Judge Broke Tie`,correlated:`Correlated Panel`,evaluatedQuestion:`Deliberated Proposal / Question:`,votingDistribution:`Consensus Voting Distribution`,quorumWeight:`Total Weight: {{weight}}`,voterSeats:`Deliberating Model Seats`,judgeResolutionTitle:`Judicial Arbiter Tie-Breaker`,judgeResolutionDesc:`The voting seats were evenly divided or deadlocked; the independent judge reviewed all voter stances and rendered the binding final verdict.`,warningsTitle:`Council Diagnostics & Notices`},fn={title:`Brain Arbiter Decision`,subtitle:`Cognitive reasoning & safety oversight layer`,interventionTitle:`Brain Intervention`,interventionSubtitle:`Autonomous steering signal injected to keep agent on track`,deniedTitle:`Brain Policy Guardrail`,askHumanTitle:`Brain Human Escalation`,checkTitle:`Brain Distress Review`,evaluatedPrompt:`Context / Evaluated Trigger:`,steeringGuidance:`Corrective Guidance Issued to Agent:`,deniedReason:`Safety Policy Block:`,humanJudgement:`Escalated for Human Judgement:`,decisionResult:`Brain Strategy & Answer:`,cognitiveRationale:`Cognitive Rationale & Policy Trace`},pn={nav:e,brand:t,connection:n,status:r,menu:i,sidePanel:a,history:o,agents:s,changes:c,inspector:l,nextSteps:u,mailbox:d,sessions:f,sessionPanel:p,fleet:m,context:h,refine:g,specs:_,refresh:v,board:y,debug:b,providerModels:x,dock:S,agentsMonitor:C,terminal:w,sessionWatch:T,sideEffects:E,monitor:D,sdd:O,toolResult:k,sageMemory:A,design:j,goalRun:M,collab:N,mode:P,cost:F,model:I,modelSwitcher:L,work:R,todos:z,task:B,toolGroup:V,fileRef:H,plan:U,filePicker:W,toast:G,search:K,phase:q,ctxMode:J,transcript:Y,autonomy:X,queue:Z,checkpoint:Q,goal:ne,worktree:re,process:ie,diff:ae,fallback:oe,liveSessions:se,monacoDiff:ce,errorBody:le,officeMap:ue,toolInput:de,message:fe,watch:pe,shortcuts:me,sddBoard:he,sddTask:ge,sddWizard:_e,fileExplorer:ve,codeEditor:ye,fileActivity:be,analytics:xe,promptLib:Se,skillDetail:Ce,office:we,skillsList:Te,timeline:Ee,designStudio:De,worktrees:Oe,officeSettings:ke,agentOffice:Ae,sddhub:je,sidebar:Me,memoryManager:Ne,kanban:Pe,cronJobs:Fe,agentRoster:Ie,rosterRoles:Le,customRoster:Re,taskIntel:$,panels:ze,audienceMem:Be,techStack:Ve,techStackStatus:He,techStackSeverity:Ue,techStackAction:We,techStackCoverage:Ge,codeMap:Ke,chronicle:qe,sessionInspect:Je,runtimePolicy:Ye,taskRisk:Xe,reqIntake:Ze,verifyReport:Qe,taskTimeline:$e,ctxDash:et,debugDash:tt,codeMapTree:nt,kanbanRecorder:rt,availability:it,kanbanDecomp:at,kanbanTree:ot,providerWait:st,chatView:ct,ctxBreakdown:lt,ctxEditor:ut,kanbanInspector:dt,memEditor:ft,ctxMonitor:pt,modelSchema:mt,oauth:ht,provider:gt,providerKey:_t,topbar:vt,agentsPanel:yt,boardChrome:bt,deadCode:xt,hud:St,pagination:Ct,sessionList:wt,sessionsDash:Tt,shadow:Et,taskVerify:Dt,toolsSec:Ot,updateBanner:kt,depGraph:At,kanbanRun:jt,app:Mt,fleetSummaryBar:Nt,audienceMemoryPanel:Pt,changesView:Ft,slashpopup:It,chatInput:Lt,chipMultiSelect:Rt,chroniclePipelineStrip:zt,codeMapVisuals:Bt,costChip:Vt,councilLogTimeline:Ht,kanbanBoundaryEditor:Ut,kanbanTaskCompletionChecks:Wt,deleteMemoryDialog:Gt,modelPickDialog:Kt,modelSelectDialog:qt,sddBoardView:Jt,displaySection:Yt,fallbacksSection:Xt,fleetSection:Zt,index:Qt,integrationsSection:$t,mCPSection:en,modelListEditor:tn,customProviderSection:nn,taskExecutionAttempts:rn,toaster:an,apikeydisplay:on,progressring:sn,promptJournal:cn,systemPrompt:ln,failedRun:un,councilDecision:dn,brainDecision:fn};export{te as n,pn as t};