@runfusion/fusion 0.73.0-beta.3 → 0.73.0-beta.4

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 (279) hide show
  1. package/dist/bin.js +994 -292
  2. package/dist/child-process-worker.js +632 -153
  3. package/dist/client/.vite/manifest.json +256 -256
  4. package/dist/client/assets/{AgentDetailView-lJqxsPOR.js → AgentDetailView-BBOL6AgZ.js} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-De4wK_UT.js → AgentPermissionPolicyEditor-DV7OPUhR.js} +1 -1
  6. package/dist/client/assets/{AgentsView-CwizRdcA.js → AgentsView-B6xoAHyV.js} +3 -3
  7. package/dist/client/assets/{ChatView-BeQXaz7_.js → ChatView-DwVjnxM8.js} +1 -1
  8. package/dist/client/assets/{CommandCenter-BJZCaPLj.js → CommandCenter-DYWaoYFD.js} +1 -1
  9. package/dist/client/assets/{DevServerView-DQgwQXKx.js → DevServerView-BY5up-NA.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-B2UVwp6F.js → DirectoryPicker-fM8MJa2r.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-DOeYrhvg.js → DocumentsView-D2KxsPG_.js} +1 -1
  12. package/dist/client/assets/{EvalsView-LwepJ9Ud.js → EvalsView-U8dOvTRM.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-DVNSzflw.js → ExperimentalAgentOnboardingModal-C27y8Y-1.js} +1 -1
  14. package/dist/client/assets/{GoalsView-__LpXw4S.js → GoalsView-D-2wmy-O.js} +1 -1
  15. package/dist/client/assets/{InsightsView-Dv388uaO.js → InsightsView-zLyuQL_l.js} +1 -1
  16. package/dist/client/assets/{MemoryView-ChCbEfZT.js → MemoryView-D-tSn48u.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-DehAjrqN.js → PiExtensionsManager-DvwmvGEY.js} +1 -1
  18. package/dist/client/assets/PluginManager-BACOwQAN.js +1 -0
  19. package/dist/client/assets/{PullRequestView-BvmajsBq.js → PullRequestView-DULyv21u.js} +1 -1
  20. package/dist/client/assets/{ReportModal-DM9B_h_w.js → ReportModal-CUlKMFWa.js} +1 -1
  21. package/dist/client/assets/{ResearchView-BzXSgUhp.js → ResearchView-DM_O3IFc.js} +1 -1
  22. package/dist/client/assets/{SecretsView-COBqEdJj.js → SecretsView-Bq3u_nAf.js} +1 -1
  23. package/dist/client/assets/{SessionTerminal-BUw_FTlh.js → SessionTerminal-D00ByR6U.js} +1 -1
  24. package/dist/client/assets/SettingsModal-Bb3pIxiX.js +21 -0
  25. package/dist/client/assets/SettingsModal-CMLHZBhX.css +1 -0
  26. package/dist/client/assets/{SettingsModal-CsLaIrqt.js → SettingsModal-QRaBE1ds.js} +1 -1
  27. package/dist/client/assets/{SettingsTextareaRow-Bv3aZ9aU.js → SettingsTextareaRow-CHOJ-qHz.js} +1 -1
  28. package/dist/client/assets/{SetupWizardModal-C-yMHTlW.js → SetupWizardModal-DriQyd81.js} +2 -2
  29. package/dist/client/assets/{SkillsView-kSHgkBar.js → SkillsView-BtDyujiZ.js} +1 -1
  30. package/dist/client/assets/{TodoView-DYoicJNY.js → TodoView-BNHUnz50.js} +1 -1
  31. package/dist/client/assets/{WorkflowNodeEditor-BtWrziOX.css → WorkflowNodeEditor-BNgkFJ_P.css} +1 -1
  32. package/dist/client/assets/WorkflowNodeEditor-BXikFpra.js +8 -0
  33. package/dist/client/assets/{agent-import-generation-D6P8OUuV.js → agent-import-generation-B2kYEm1O.js} +1 -1
  34. package/dist/client/assets/{app-DegRNirF.js → app-B_HrdDXZ.js} +1 -1
  35. package/dist/client/assets/{app-BsIXfnu-.js → app-C6yo-M_n.js} +1 -1
  36. package/dist/client/assets/{app-B-IdUeIu.js → app-CH8ZgPm4.js} +1 -1
  37. package/dist/client/assets/{app-D9ktpVhR.js → app-D4DpgDss.js} +1 -1
  38. package/dist/client/assets/{app-nBTNvNKK.js → app-Qv0blCyY.js} +1 -1
  39. package/dist/client/assets/{app-C8muVNUU.js → app-kFdtajPy.js} +1 -1
  40. package/dist/client/assets/{architectureDiagram-3BPJPVTR-DLqKCckA.js → architectureDiagram-3BPJPVTR-B-Efjj4Z.js} +1 -1
  41. package/dist/client/assets/{blockDiagram-GPEHLZMM-DRz6F8wZ.js → blockDiagram-GPEHLZMM-CaOVxrlM.js} +1 -1
  42. package/dist/client/assets/{c4Diagram-AAUBKEIU-CJ9glQAp.js → c4Diagram-AAUBKEIU-D8aYt5F1.js} +1 -1
  43. package/dist/client/assets/channel-5bPK6pTS.js +1 -0
  44. package/dist/client/assets/{chunk-2J33WTMH-CjIBb3ln.js → chunk-2J33WTMH-VSDT0J0r.js} +1 -1
  45. package/dist/client/assets/{chunk-4BX2VUAB-DrcoEr1E.js → chunk-4BX2VUAB-Chx1wQgD.js} +1 -1
  46. package/dist/client/assets/{chunk-55IACEB6-DU-WcuA9.js → chunk-55IACEB6-MlqjhIJg.js} +1 -1
  47. package/dist/client/assets/{chunk-727SXJPM-C5Lklr3l.js → chunk-727SXJPM-BheQNUi8.js} +1 -1
  48. package/dist/client/assets/{chunk-AQP2D5EJ-DlyTTghY.js → chunk-AQP2D5EJ-C5EoJhfJ.js} +1 -1
  49. package/dist/client/assets/{chunk-FMBD7UC4-D3C65m5Y.js → chunk-FMBD7UC4-B8_8qP3j.js} +1 -1
  50. package/dist/client/assets/{chunk-ND2GUHAM-BZY-4WZF.js → chunk-ND2GUHAM-BuglCGRx.js} +1 -1
  51. package/dist/client/assets/{chunk-QZHKN3VN-CKUtTYy5.js → chunk-QZHKN3VN-B7_06dxp.js} +1 -1
  52. package/dist/client/assets/classDiagram-4FO5ZUOK-Dv9RQDqG.js +1 -0
  53. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dv9RQDqG.js +1 -0
  54. package/dist/client/assets/{cose-bilkent-S5V4N54A-DbpsF4N5.js → cose-bilkent-S5V4N54A-Cm-ZOycx.js} +1 -1
  55. package/dist/client/assets/{dagre-BM42HDAG-BwIo4me1.js → dagre-BM42HDAG-Dj_Gwjpv.js} +1 -1
  56. package/dist/client/assets/{dashboard-view-C94UCci5.js → dashboard-view-B4CRL5Fy.js} +1 -1
  57. package/dist/client/assets/{dashboard-view-BvAsW6UZ.js → dashboard-view-noD9p0Zs.js} +1 -1
  58. package/dist/client/assets/{dashboard-view-BMQm7Lt_.js → dashboard-view-pXXSUxG9.js} +1 -1
  59. package/dist/client/assets/{diagram-2AECGRRQ-C-d8XY1c.js → diagram-2AECGRRQ-C_9BfShy.js} +1 -1
  60. package/dist/client/assets/{diagram-5GNKFQAL-ByRrlL9w.js → diagram-5GNKFQAL-Cmg2qpCj.js} +1 -1
  61. package/dist/client/assets/{diagram-KO2AKTUF-BK7jb_J-.js → diagram-KO2AKTUF-2FNo2HXb.js} +1 -1
  62. package/dist/client/assets/{diagram-LMA3HP47-u2o4bYk6.js → diagram-LMA3HP47-DgnVeCp-.js} +1 -1
  63. package/dist/client/assets/{diagram-OG6HWLK6-Dakk1V3D.js → diagram-OG6HWLK6-iAIR50HH.js} +1 -1
  64. package/dist/client/assets/{erDiagram-TEJ5UH35-Yp33v-Cf.js → erDiagram-TEJ5UH35-Da4I04eN.js} +1 -1
  65. package/dist/client/assets/{flowDiagram-I6XJVG4X-C4-dR2TA.js → flowDiagram-I6XJVG4X-Bv9r2T0m.js} +1 -1
  66. package/dist/client/assets/{folder-open-C9qq38qV.js → folder-open-CwWtrDh6.js} +1 -1
  67. package/dist/client/assets/{ganttDiagram-6RSMTGT7-C0CTCkFN.js → ganttDiagram-6RSMTGT7-BMeO84U_.js} +1 -1
  68. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DK0Dd5mm.js → gitGraphDiagram-PVQCEYII-CWDh_RIb.js} +1 -1
  69. package/dist/client/assets/index-CB3mYxAB.css +1 -0
  70. package/dist/client/assets/{index-BqLVwYoA.js → index-CE7C_XsS.js} +294 -294
  71. package/dist/client/assets/{infoDiagram-5YYISTIA-u5MwFb7j.js → infoDiagram-5YYISTIA-BAE4KtCL.js} +1 -1
  72. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-C7R6TziI.js → ishikawaDiagram-YF4QCWOH-C_iXAuOy.js} +1 -1
  73. package/dist/client/assets/{journeyDiagram-JHISSGLW-Dom8W5Ab.js → journeyDiagram-JHISSGLW-BnxSHwDo.js} +1 -1
  74. package/dist/client/assets/{kanban-definition-UN3LZRKU-_47C02t3.js → kanban-definition-UN3LZRKU-DYNRm3Nu.js} +1 -1
  75. package/dist/client/assets/{mermaid.core-Cd3LKosp.js → mermaid.core-B3hvDDep.js} +4 -4
  76. package/dist/client/assets/{mindmap-definition-RKZ34NQL-D-qVOEin.js → mindmap-definition-RKZ34NQL-s7KBEuPD.js} +1 -1
  77. package/dist/client/assets/{pieDiagram-4H26LBE5-B0TXvVbM.js → pieDiagram-4H26LBE5-Cy1_IPUD.js} +1 -1
  78. package/dist/client/assets/{puzzle-BBYTjDQK.js → puzzle-DWc6gFQ7.js} +1 -1
  79. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-KcFvcZPm.js → quadrantDiagram-W4KKPZXB-DqgVGp41.js} +1 -1
  80. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DEObokVc.js → requirementDiagram-4Y6WPE33-CA5-TDeF.js} +1 -1
  81. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BGYnEp22.js → sankeyDiagram-5OEKKPKP-Cuvi3RgE.js} +1 -1
  82. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BcYgyJRU.js → sequenceDiagram-3UESZ5HK-Da3GfmGP.js} +1 -1
  83. package/dist/client/assets/{shield-alert-CZg8yaFA.js → shield-alert-_iY63ED4.js} +1 -1
  84. package/dist/client/assets/{standing-instructions-template-BsTtbEqp.js → standing-instructions-template-CCd2YY9c.js} +1 -1
  85. package/dist/client/assets/{stateDiagram-AJRCARHV-CfZQIqmX.js → stateDiagram-AJRCARHV-CZ_I9ENR.js} +1 -1
  86. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-nBEPRSH7.js → stateDiagram-v2-BHNVJYJU-BomoRVhY.js} +1 -1
  87. package/dist/client/assets/{timeline-definition-PNZ67QCA-DySyabS_.js → timeline-definition-PNZ67QCA-C3CYvIuR.js} +1 -1
  88. package/dist/client/assets/{upload-DMd3zMLx.js → upload-D0RrO65v.js} +1 -1
  89. package/dist/client/assets/{users-9Pyvnn8K.js → users-CGszBY2v.js} +1 -1
  90. package/dist/client/assets/{vennDiagram-CIIHVFJN-DPomfxp_.js → vennDiagram-CIIHVFJN-By9fi8NW.js} +1 -1
  91. package/dist/client/assets/{wardley-L42UT6IY-BPfzngS8.js → wardley-L42UT6IY-DErnXPkI.js} +1 -1
  92. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Yp4nidAP.js → wardleyDiagram-YWT4CUSO-DFfXZVPk.js} +1 -1
  93. package/dist/client/assets/{xychartDiagram-2RQKCTM6-REgng603.js → xychartDiagram-2RQKCTM6-9Y5oZ5mi.js} +1 -1
  94. package/dist/client/index.html +4 -2
  95. package/dist/client/version.json +1 -1
  96. package/dist/extension.js +752 -207
  97. package/dist/migrations/0000_initial.sql +2 -0
  98. package/dist/migrations/0033_fn-8505_wedge_notification.sql +5 -0
  99. package/dist/plugin-sdk/index.js +1 -0
  100. package/dist/plugins/.fusion-ce-agents/.fusion-ce-upstream-provenance.json +7 -0
  101. package/dist/plugins/.fusion-ce-agents/ce-adversarial-document-reviewer.md +115 -0
  102. package/dist/plugins/.fusion-ce-agents/ce-adversarial-reviewer.md +111 -0
  103. package/dist/plugins/.fusion-ce-agents/ce-agent-native-planning-strategist.md +71 -0
  104. package/dist/plugins/.fusion-ce-agents/ce-agent-native-reviewer.md +181 -0
  105. package/dist/plugins/.fusion-ce-agents/ce-ankane-readme-writer.md +50 -0
  106. package/dist/plugins/.fusion-ce-agents/ce-api-contract-reviewer.md +52 -0
  107. package/dist/plugins/.fusion-ce-agents/ce-architecture-strategist.md +53 -0
  108. package/dist/plugins/.fusion-ce-agents/ce-best-practices-researcher.md +122 -0
  109. package/dist/plugins/.fusion-ce-agents/ce-code-simplicity-reviewer.md +87 -0
  110. package/dist/plugins/.fusion-ce-agents/ce-coherence-reviewer.md +73 -0
  111. package/dist/plugins/.fusion-ce-agents/ce-correctness-reviewer.md +52 -0
  112. package/dist/plugins/.fusion-ce-agents/ce-data-integrity-guardian.md +75 -0
  113. package/dist/plugins/.fusion-ce-agents/ce-data-migration-reviewer.md +119 -0
  114. package/dist/plugins/.fusion-ce-agents/ce-deployment-verification-agent.md +164 -0
  115. package/dist/plugins/.fusion-ce-agents/ce-design-implementation-reviewer.md +94 -0
  116. package/dist/plugins/.fusion-ce-agents/ce-design-iterator.md +197 -0
  117. package/dist/plugins/.fusion-ce-agents/ce-design-lens-reviewer.md +56 -0
  118. package/dist/plugins/.fusion-ce-agents/ce-feasibility-reviewer.md +65 -0
  119. package/dist/plugins/.fusion-ce-agents/ce-figma-design-sync.md +172 -0
  120. package/dist/plugins/.fusion-ce-agents/ce-framework-docs-researcher.md +100 -0
  121. package/dist/plugins/.fusion-ce-agents/ce-git-history-analyzer.md +47 -0
  122. package/dist/plugins/.fusion-ce-agents/ce-issue-intelligence-analyst.md +207 -0
  123. package/dist/plugins/.fusion-ce-agents/ce-julik-frontend-races-reviewer.md +52 -0
  124. package/dist/plugins/.fusion-ce-agents/ce-learnings-researcher.md +254 -0
  125. package/dist/plugins/.fusion-ce-agents/ce-maintainability-reviewer.md +77 -0
  126. package/dist/plugins/.fusion-ce-agents/ce-pattern-recognition-specialist.md +62 -0
  127. package/dist/plugins/.fusion-ce-agents/ce-performance-oracle.md +115 -0
  128. package/dist/plugins/.fusion-ce-agents/ce-performance-reviewer.md +54 -0
  129. package/dist/plugins/.fusion-ce-agents/ce-pr-comment-resolver.md +63 -0
  130. package/dist/plugins/.fusion-ce-agents/ce-previous-comments-reviewer.md +68 -0
  131. package/dist/plugins/.fusion-ce-agents/ce-product-lens-reviewer.md +92 -0
  132. package/dist/plugins/.fusion-ce-agents/ce-project-standards-reviewer.md +84 -0
  133. package/dist/plugins/.fusion-ce-agents/ce-reliability-reviewer.md +52 -0
  134. package/dist/plugins/.fusion-ce-agents/ce-repo-research-analyst.md +263 -0
  135. package/dist/plugins/.fusion-ce-agents/ce-scope-guardian-reviewer.md +79 -0
  136. package/dist/plugins/.fusion-ce-agents/ce-security-lens-reviewer.md +48 -0
  137. package/dist/plugins/.fusion-ce-agents/ce-security-reviewer.md +54 -0
  138. package/dist/plugins/.fusion-ce-agents/ce-security-sentinel.md +98 -0
  139. package/dist/plugins/.fusion-ce-agents/ce-session-historian.md +89 -0
  140. package/dist/plugins/.fusion-ce-agents/ce-slack-researcher.md +133 -0
  141. package/dist/plugins/.fusion-ce-agents/ce-spec-flow-analyzer.md +87 -0
  142. package/dist/plugins/.fusion-ce-agents/ce-swift-ios-reviewer.md +107 -0
  143. package/dist/plugins/.fusion-ce-agents/ce-testing-reviewer.md +52 -0
  144. package/dist/plugins/.fusion-ce-agents/ce-web-researcher.md +127 -0
  145. package/dist/plugins/.fusion-ce-skills/.fusion-ce-upstream-provenance.json +7 -0
  146. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/SKILL.md +318 -0
  147. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/agents/slack-researcher.md +127 -0
  148. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/brainstorm-sections.md +354 -0
  149. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/handoff.md +172 -0
  150. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/html-rendering.md +662 -0
  151. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/markdown-rendering.md +236 -0
  152. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/synthesis-summary.md +271 -0
  153. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/universal-brainstorming.md +71 -0
  154. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/references/visual-probes.md +128 -0
  155. package/dist/plugins/.fusion-ce-skills/ce-brainstorm/scripts/visual-probe-server.js +419 -0
  156. package/dist/plugins/.fusion-ce-skills/ce-code-review/SKILL.md +821 -0
  157. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/action-class-rubric.md +26 -0
  158. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/bulk-preview.md +112 -0
  159. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/cross-model-review.md +63 -0
  160. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/diff-scope.md +41 -0
  161. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/findings-schema.json +137 -0
  162. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/persona-catalog.md +63 -0
  163. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/adversarial-reviewer.md +102 -0
  164. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/agent-native-reviewer.md +173 -0
  165. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/api-contract-reviewer.md +43 -0
  166. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/correctness-reviewer.md +43 -0
  167. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/data-migration-reviewer.md +111 -0
  168. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/deployment-verification-agent.md +157 -0
  169. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/julik-frontend-races-reviewer.md +44 -0
  170. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/learnings-researcher.md +247 -0
  171. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/maintainability-reviewer.md +68 -0
  172. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/performance-reviewer.md +45 -0
  173. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/previous-comments-reviewer.md +59 -0
  174. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/project-standards-reviewer.md +75 -0
  175. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/reliability-reviewer.md +43 -0
  176. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/security-reviewer.md +45 -0
  177. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/swift-ios-reviewer.md +99 -0
  178. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/personas/testing-reviewer.md +43 -0
  179. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/review-output-template.md +170 -0
  180. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/subagent-template.md +199 -0
  181. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/tracker-defer.md +149 -0
  182. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/validator-template.md +89 -0
  183. package/dist/plugins/.fusion-ce-skills/ce-code-review/references/walkthrough.md +249 -0
  184. package/dist/plugins/.fusion-ce-skills/ce-code-review/scripts/cross-model-adversarial-review.sh +218 -0
  185. package/dist/plugins/.fusion-ce-skills/ce-commit/SKILL.md +105 -0
  186. package/dist/plugins/.fusion-ce-skills/ce-commit-push-pr/SKILL.md +134 -0
  187. package/dist/plugins/.fusion-ce-skills/ce-commit-push-pr/references/branch-creation.md +55 -0
  188. package/dist/plugins/.fusion-ce-skills/ce-commit-push-pr/references/pr-description-writing.md +115 -0
  189. package/dist/plugins/.fusion-ce-skills/ce-compound/SKILL.md +712 -0
  190. package/dist/plugins/.fusion-ce-skills/ce-compound/assets/resolution-template.md +94 -0
  191. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/best-practices-researcher.md +115 -0
  192. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/data-integrity-guardian.md +68 -0
  193. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/framework-docs-researcher.md +93 -0
  194. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/pattern-recognition-specialist.md +55 -0
  195. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/performance-oracle.md +108 -0
  196. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/security-sentinel.md +91 -0
  197. package/dist/plugins/.fusion-ce-skills/ce-compound/references/agents/session-historian.md +83 -0
  198. package/dist/plugins/.fusion-ce-skills/ce-compound/references/concepts-vocabulary.md +78 -0
  199. package/dist/plugins/.fusion-ce-skills/ce-compound/references/schema.yaml +231 -0
  200. package/dist/plugins/.fusion-ce-skills/ce-compound/references/yaml-schema.md +118 -0
  201. package/dist/plugins/.fusion-ce-skills/ce-compound/scripts/session-history/discover-sessions.sh +130 -0
  202. package/dist/plugins/.fusion-ce-skills/ce-compound/scripts/session-history/extract-errors.py +254 -0
  203. package/dist/plugins/.fusion-ce-skills/ce-compound/scripts/session-history/extract-metadata.py +456 -0
  204. package/dist/plugins/.fusion-ce-skills/ce-compound/scripts/session-history/extract-skeleton.py +570 -0
  205. package/dist/plugins/.fusion-ce-skills/ce-compound/scripts/validate-frontmatter.py +137 -0
  206. package/dist/plugins/.fusion-ce-skills/ce-debug/SKILL.md +257 -0
  207. package/dist/plugins/.fusion-ce-skills/ce-debug/references/anti-patterns.md +91 -0
  208. package/dist/plugins/.fusion-ce-skills/ce-debug/references/defense-in-depth.md +35 -0
  209. package/dist/plugins/.fusion-ce-skills/ce-debug/references/investigation-techniques.md +374 -0
  210. package/dist/plugins/.fusion-ce-skills/ce-doc-review/SKILL.md +70 -0
  211. package/dist/plugins/.fusion-ce-skills/ce-ideate/SKILL.md +401 -0
  212. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/agents/issue-intelligence-analyst.md +200 -0
  213. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/agents/learnings-researcher.md +247 -0
  214. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/agents/slack-researcher.md +127 -0
  215. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/agents/web-researcher.md +121 -0
  216. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/divergent-ideation.md +89 -0
  217. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/html-rendering.md +662 -0
  218. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/ideation-sections.md +191 -0
  219. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/markdown-rendering.md +236 -0
  220. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/post-ideation-workflow.md +166 -0
  221. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/universal-ideation.md +107 -0
  222. package/dist/plugins/.fusion-ce-skills/ce-ideate/references/web-research-cache.md +55 -0
  223. package/dist/plugins/.fusion-ce-skills/ce-plan/SKILL.md +858 -0
  224. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/agent-native-planning-strategist.md +62 -0
  225. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/architecture-strategist.md +46 -0
  226. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/best-practices-researcher.md +114 -0
  227. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/data-integrity-guardian.md +68 -0
  228. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/data-migration-reviewer.md +103 -0
  229. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/deployment-verification-agent.md +157 -0
  230. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/framework-docs-researcher.md +93 -0
  231. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/git-history-analyzer.md +40 -0
  232. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/learnings-researcher.md +247 -0
  233. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/pattern-recognition-specialist.md +55 -0
  234. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/performance-oracle.md +108 -0
  235. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/repo-research-analyst.md +256 -0
  236. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/security-sentinel.md +91 -0
  237. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/slack-researcher.md +127 -0
  238. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/spec-flow-analyzer.md +80 -0
  239. package/dist/plugins/.fusion-ce-skills/ce-plan/references/agents/web-researcher.md +121 -0
  240. package/dist/plugins/.fusion-ce-skills/ce-plan/references/approach-altitude.md +55 -0
  241. package/dist/plugins/.fusion-ce-skills/ce-plan/references/deepening-workflow.md +259 -0
  242. package/dist/plugins/.fusion-ce-skills/ce-plan/references/html-rendering.md +668 -0
  243. package/dist/plugins/.fusion-ce-skills/ce-plan/references/markdown-rendering.md +236 -0
  244. package/dist/plugins/.fusion-ce-skills/ce-plan/references/plan-handoff.md +126 -0
  245. package/dist/plugins/.fusion-ce-skills/ce-plan/references/plan-sections.md +405 -0
  246. package/dist/plugins/.fusion-ce-skills/ce-plan/references/synthesis-summary.md +396 -0
  247. package/dist/plugins/.fusion-ce-skills/ce-plan/references/universal-planning.md +168 -0
  248. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/SKILL.md +53 -0
  249. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/references/agents/pr-comment-resolver.md +56 -0
  250. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/references/evaluation-rubric.md +106 -0
  251. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/references/full-mode.md +283 -0
  252. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/references/targeted-mode.md +45 -0
  253. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/scripts/get-pr-comments +159 -0
  254. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/scripts/get-thread-for-comment +76 -0
  255. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/scripts/reply-to-pr-thread +33 -0
  256. package/dist/plugins/.fusion-ce-skills/ce-resolve-pr-feedback/scripts/resolve-pr-thread +23 -0
  257. package/dist/plugins/.fusion-ce-skills/ce-strategy/SKILL.md +97 -0
  258. package/dist/plugins/.fusion-ce-skills/ce-strategy/references/interview.md +143 -0
  259. package/dist/plugins/.fusion-ce-skills/ce-strategy/references/strategy-template.md +89 -0
  260. package/dist/plugins/.fusion-ce-skills/ce-work/SKILL.md +429 -0
  261. package/dist/plugins/.fusion-ce-skills/ce-work/references/agents/figma-design-sync.md +165 -0
  262. package/dist/plugins/.fusion-ce-skills/ce-work/references/execution-engines.md +85 -0
  263. package/dist/plugins/.fusion-ce-skills/ce-work/references/non-code-execution.md +23 -0
  264. package/dist/plugins/.fusion-ce-skills/ce-work/references/review-findings-followup.md +104 -0
  265. package/dist/plugins/.fusion-ce-skills/ce-work/references/shipping-workflow.md +133 -0
  266. package/dist/plugins/.fusion-ce-skills/ce-work/references/tracker-defer.md +149 -0
  267. package/dist/plugins/fusion-plugin-compound-engineering/.bundled.reload-3.js +11266 -0
  268. package/dist/plugins/fusion-plugin-compound-engineering/.bundled.reload-4.js +11266 -0
  269. package/dist/plugins/fusion-plugin-dependency-graph/.bundled.reload-1.js +8206 -0
  270. package/dist/plugins/fusion-plugin-grok-runtime/.bundled.reload-2.js +26623 -0
  271. package/package.json +1 -1
  272. package/dist/client/assets/PluginManager-DBhJ1i27.js +0 -1
  273. package/dist/client/assets/SettingsModal-BDgH9XID.js +0 -21
  274. package/dist/client/assets/SettingsModal-BXDnzDkJ.css +0 -1
  275. package/dist/client/assets/WorkflowNodeEditor-DLno6bSJ.js +0 -8
  276. package/dist/client/assets/channel-Dj4nOgJO.js +0 -1
  277. package/dist/client/assets/classDiagram-4FO5ZUOK-DnkFo5Qy.js +0 -1
  278. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DnkFo5Qy.js +0 -1
  279. package/dist/client/assets/index-6FBJPKkr.css +0 -1
@@ -1,4 +1,4 @@
1
- import{r as a,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ss,bO as Qs,bP as Xs,bQ as ea,bR as ta,L as G,bS as kt,R as At,bM as ds,Z as sa,bu as Ht,bT as ks,x as ct,C as Cs,g as ws,bU as aa,bV as na,bW as ia,aa as Rs,bX as ra,aV as la,bY as oa,bp as U,bZ as ca,b_ as Ms,b$ as As,c0 as da,bo as wt,c1 as It,bc as Ct,bt as Fs,al as Ps,c2 as Bt,bJ as Rt,c3 as us,c4 as Xe,c5 as ua,X as Ts,aG as dt,c6 as ma,bs as Es,c7 as Ls,c8 as ga,Y as ha,u as fa,c9 as Ds,aQ as zs,bv as Zt,ca as pa,cb as ms,cc as ba,cd as xa,ce as Yt,cf as Hs,cg as va,d as ja,ch as ya,h as Is,ci as Bs,b2 as Na,am as fe,cj as Os,ck as gs,cl as hs,cm as Sa,cn as ka,co as Ca,cp as wa,cq as Ft,p as Pt,j as Tt,r as Et,az as $s,cr as Ra,cs as Ma,aJ as Aa,ct as Fa,cu as Pa,bH as Ta,cv as Ot,cw as Ea,cx as La,bL as Da,aI as za,cy as Kt,y as Ha,cz as Ia,cA as Ba,cB as Oa,cC as $a,cD as _a,aA as _s,cE as Ua,cF as Va,cG as Wa,cH as Ja,cI as Ga}from"./index-BqLVwYoA.js";import{B as qa,A as fs,a as Ya}from"./AgentPermissionPolicyEditor-De4wK_UT.js";import{u as Se}from"./vendor-i18n-GF3RlKbq.js";import{f as $t,S as Ka,a as Za}from"./standing-instructions-template-BsTtbEqp.js";import{ExperimentalAgentOnboardingModal as Qa}from"./ExperimentalAgentOnboardingModal-DVNSzflw.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";/**
1
+ import{r as a,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ss,bO as Qs,bP as Xs,bQ as ea,bR as ta,L as G,bS as kt,R as At,bM as ds,Z as sa,bu as Ht,bT as ks,x as ct,C as Cs,g as ws,bU as aa,bV as na,bW as ia,aa as Rs,bX as ra,aV as la,bY as oa,bp as U,bZ as ca,b_ as Ms,b$ as As,c0 as da,bo as wt,c1 as It,bc as Ct,bt as Fs,al as Ps,c2 as Bt,bJ as Rt,c3 as us,c4 as Xe,c5 as ua,X as Ts,aG as dt,c6 as ma,bs as Es,c7 as Ls,c8 as ga,Y as ha,u as fa,c9 as Ds,aQ as zs,bv as Zt,ca as pa,cb as ms,cc as ba,cd as xa,ce as Yt,cf as Hs,cg as va,d as ja,ch as ya,h as Is,ci as Bs,b2 as Na,am as fe,cj as Os,ck as gs,cl as hs,cm as Sa,cn as ka,co as Ca,cp as wa,cq as Ft,p as Pt,j as Tt,r as Et,az as $s,cr as Ra,cs as Ma,aJ as Aa,ct as Fa,cu as Pa,bH as Ta,cv as Ot,cw as Ea,cx as La,bL as Da,aI as za,cy as Kt,y as Ha,cz as Ia,cA as Ba,cB as Oa,cC as $a,cD as _a,aA as _s,cE as Ua,cF as Va,cG as Wa,cH as Ja,cI as Ga}from"./index-CE7C_XsS.js";import{B as qa,A as fs,a as Ya}from"./AgentPermissionPolicyEditor-DV7OPUhR.js";import{u as Se}from"./vendor-i18n-GF3RlKbq.js";import{f as $t,S as Ka,a as Za}from"./standing-instructions-template-CCd2YY9c.js";import{ExperimentalAgentOnboardingModal as Qa}from"./ExperimentalAgentOnboardingModal-C27y8Y-1.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as B}from"./index-BqLVwYoA.js";import{r as h,j as e}from"./vendor-react-SZ_qB27O.js";import{u as F}from"./vendor-i18n-GF3RlKbq.js";/**
1
+ import{c as B}from"./index-CE7C_XsS.js";import{r as h,j as e}from"./vendor-react-SZ_qB27O.js";import{u as F}from"./vendor-i18n-GF3RlKbq.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AgentDetailView-lJqxsPOR.js","assets/vendor-react-SZ_qB27O.js","assets/index-BqLVwYoA.js","assets/vendor-i18n-GF3RlKbq.js","assets/vendor-codemirror-jBKmHyH0.js","assets/vendor-reactflow-9C3XTE7_.js","assets/vendor-reactflow-C5ap-Sga.css","assets/vendor-xterm-BNq00GSj.js","assets/vendor-xterm-LZoznX6r.css","assets/index-6FBJPKkr.css","assets/AgentPermissionPolicyEditor-De4wK_UT.js","assets/AgentPermissionPolicyEditor-TpdlOWZW.css","assets/standing-instructions-template-BsTtbEqp.js","assets/standing-instructions-template-bQJ4X1gH.css","assets/ExperimentalAgentOnboardingModal-DVNSzflw.js","assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css","assets/AgentDetailView-C4vItBCo.css"])))=>i.map(i=>d[i]);
2
- import{c as Xt,bJ as rt,dK as rs,am as Ct,Z as is,bc as os,ch as Dt,dL as cs,c9 as _a,dM as $t,aG as Ht,ay as ds,C as us,g as Ma,bv as Ot,cT as Ia,ct as gs,bH as ms,bo as Vt,dN as hs,ac as ps,ai as bs,B as xs,al as wt,dz as ma,cf as fs,aI as ha,bL as vs,aj as js,ak as Ns,dO as ys,aH as ks,L as Tt,aZ as ht,R as lt,X as pa,du as Cs,dP as ws,bw as bt,aa as Ss,bq as Et,aV as As,aW as Rs,bp as pe,c1 as pt,dQ as Ts,cW as Es,dR as Ps,dS as ba,V as _s,dT as Ms,P as xa,dU as Is,c3 as Pt,c2 as Nt,x as fa,dV as Ls,cB as Fs,dW as zs,dX as Ds,cb as va,a2 as $s,ca as Hs,cd as Os,cv as yt,dY as Vs,ci as ja,cc as Bs}from"./index-BqLVwYoA.js";import{r as s,j as e,b as Ws}from"./vendor-react-SZ_qB27O.js";import{u as Pe}from"./vendor-i18n-GF3RlKbq.js";import{c as _t,s as Us,g as Gs,f as Na}from"./agent-import-generation-D6P8OUuV.js";import{w as ya,a as Ks,f as Xs}from"./standing-instructions-template-BsTtbEqp.js";import{ExperimentalAgentOnboardingModal as Ys}from"./ExperimentalAgentOnboardingModal-DVNSzflw.js";import{U as Bt}from"./upload-DMd3zMLx.js";import{F as Zs}from"./folder-open-C9qq38qV.js";import{O as Mt,i as ka,r as qs}from"./agentsOrgChartLayout-BMvyuaLA.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AgentDetailView-BBOL6AgZ.js","assets/vendor-react-SZ_qB27O.js","assets/index-CE7C_XsS.js","assets/vendor-i18n-GF3RlKbq.js","assets/vendor-codemirror-jBKmHyH0.js","assets/vendor-reactflow-9C3XTE7_.js","assets/vendor-reactflow-C5ap-Sga.css","assets/vendor-xterm-BNq00GSj.js","assets/vendor-xterm-LZoznX6r.css","assets/index-CB3mYxAB.css","assets/AgentPermissionPolicyEditor-DV7OPUhR.js","assets/AgentPermissionPolicyEditor-TpdlOWZW.css","assets/standing-instructions-template-CCd2YY9c.js","assets/standing-instructions-template-bQJ4X1gH.css","assets/ExperimentalAgentOnboardingModal-C27y8Y-1.js","assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css","assets/AgentDetailView-C4vItBCo.css"])))=>i.map(i=>d[i]);
2
+ import{c as Xt,bJ as rt,dK as rs,am as Ct,Z as is,bc as os,ch as Dt,dL as cs,c9 as _a,dM as $t,aG as Ht,ay as ds,C as us,g as Ma,bv as Ot,cT as Ia,ct as gs,bH as ms,bo as Vt,dN as hs,ac as ps,ai as bs,B as xs,al as wt,dz as ma,cf as fs,aI as ha,bL as vs,aj as js,ak as Ns,dO as ys,aH as ks,L as Tt,aZ as ht,R as lt,X as pa,du as Cs,dP as ws,bw as bt,aa as Ss,bq as Et,aV as As,aW as Rs,bp as pe,c1 as pt,dQ as Ts,cW as Es,dR as Ps,dS as ba,V as _s,dT as Ms,P as xa,dU as Is,c3 as Pt,c2 as Nt,x as fa,dV as Ls,cB as Fs,dW as zs,dX as Ds,cb as va,a2 as $s,ca as Hs,cd as Os,cv as yt,dY as Vs,ci as ja,cc as Bs}from"./index-CE7C_XsS.js";import{r as s,j as e,b as Ws}from"./vendor-react-SZ_qB27O.js";import{u as Pe}from"./vendor-i18n-GF3RlKbq.js";import{c as _t,s as Us,g as Gs,f as Na}from"./agent-import-generation-B2kYEm1O.js";import{w as ya,a as Ks,f as Xs}from"./standing-instructions-template-CCd2YY9c.js";import{ExperimentalAgentOnboardingModal as Ys}from"./ExperimentalAgentOnboardingModal-C27y8Y-1.js";import{U as Bt}from"./upload-D0RrO65v.js";import{F as Zs}from"./folder-open-CwWtrDh6.js";import{O as Mt,i as ka,r as qs}from"./agentsOrgChartLayout-BMvyuaLA.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";/**
3
3
  * @license lucide-react v1.7.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
@@ -21,4 +21,4 @@ reportsTo: null
21
21
  skills:
22
22
  - review
23
23
  ---
24
- Agent instructions go here...`),value:j,onChange:o=>{v("paste"),C([]),P(o.target.value),H(null)},rows:8,"aria-label":i("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:i("agents.currentInput","Current input: {{method}}",{method:n})}),ue&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(ht,{size:14}),ue]})]}),f==="preview"&&e.jsxs("div",{className:"agent-import-preview",children:[e.jsxs("div",{className:"agent-import-company",children:[e.jsx("span",{className:"agent-import-company-label",children:i("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:B})]}),R.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:R.map((o,h)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(ht,{size:12}),e.jsx("span",{children:o})]},h))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Ht,{size:14}),e.jsx("span",{children:i("agents.agentsFound","{{count}} agent{{plural}} found",{count:D.length,plural:D.length!==1?"s":""})})]}),D.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>$(D.map(o=>o.name)),children:i("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>$([]),children:i("agents.clearAgents","Clear agents")})]}),D.length>0?e.jsx("div",{className:"agent-import-agent-list",children:D.map((o,h)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":i("agents.selectAgent","Select agent {{name}}",{name:o.name}),checked:M.includes(o.name),onChange:()=>Fe(o.name)})}),e.jsx("span",{className:"agent-import-agent-icon",children:o.icon||"🤖"}),e.jsxs("div",{className:"agent-import-agent-details",children:[e.jsx("span",{className:"agent-import-agent-name",children:o.name}),e.jsxs("span",{className:"agent-import-agent-meta",children:[o.title&&e.jsxs("span",{className:"agent-import-agent-title",children:[o.title," · "]}),e.jsx("span",{className:"agent-import-agent-role",children:o.role}),o.reportsTo&&e.jsx("span",{className:"agent-import-agent-reports",children:i("agents.importReportsTo"," · reports to {{agent}}",{agent:o.reportsTo})}),o.skills&&o.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:i("agents.importSkills"," · skills: {{skills}}",{skills:o.skills.join(", ")})})]}),o.instructionsText&&e.jsxs("span",{className:"agent-import-agent-instructions",children:[o.instructionsText.slice(0,100),o.instructionsText.length>100?"...":""]})]})]},h))}):e.jsx("p",{className:"agent-import-empty",children:i("agents.noAgentsFound","No agents found in the manifest.")}),I.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Ht,{size:14}),e.jsx("span",{children:i("agents.skillsFound","{{count}} skill{{plural}} found",{count:I.length,plural:I.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>L(I.map(o=>o.name)),children:i("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>L([]),children:i("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:I.map((o,h)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":i("agents.selectSkill","Select skill {{name}}",{name:o.name}),checked:Y.includes(o.name),onChange:()=>ze(o.name)})}),e.jsx("span",{className:"agent-import-skill-icon",children:"⚡"}),e.jsxs("div",{className:"agent-import-skill-details",children:[e.jsx("span",{className:"agent-import-skill-name",children:o.name}),o.description&&e.jsx("span",{className:"agent-import-skill-description",children:o.description})]})]},`${o.name}-${h}`))})]}),re&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(ht,{size:14}),re]})]}),f==="result"&&w&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(Ct,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:i("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[i("agents.from","From")," ",e.jsx("strong",{children:w.companyName??"Unknown"})]}),e.jsxs("div",{className:"agent-import-result-stats",children:[w.created.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:i("agents.resultCreated","{{count}} created",{count:w.created.length})})}),w.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.resultSkipped","{{count}} skipped (already exist)",{count:w.skipped.length})})}),w.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:i("agents.resultErrors","{{count}} error{{plural}}",{count:w.errors.length,plural:w.errors.length!==1?"s":""})})})]}),w.created.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:w.created.map((o,h)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Ct,{size:12}),e.jsx("span",{children:o.name})]},h))}),w.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:w.errors.map((o,h)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(pa,{size:12}),e.jsxs("span",{children:[o.name,": ",o.error]})]},h))}),w.warnings&&w.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:w.warnings.map((o,h)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(ht,{size:12}),e.jsx("span",{children:o})]},h))}),w.skills&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"agent-import-result-divider"}),e.jsx("h4",{className:"agent-import-result-section-title",children:i("agents.skills","Skills")}),e.jsxs("div",{className:"agent-import-result-stats",children:[w.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:i("agents.skillsImported","{{count}} skill{{plural}} imported",{count:w.skills.imported.length,plural:w.skills.imported.length!==1?"s":""})})}),w.skills.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.skillsSkipped","{{count}} skill{{plural}} skipped (already exist)",{count:w.skills.skipped.length,plural:w.skills.skipped.length!==1?"s":""})})}),w.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:i("agents.skillsErrors","{{count}} skill{{plural}} error{{pluralError}}",{count:w.skills.errors.length,plural:w.skills.errors.length!==1?"s":"",pluralError:w.skills.errors.length!==1?"s":""})})}),w.skills.imported.length===0&&w.skills.skipped.length===0&&w.skills.errors.length===0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.noSkillsInPackage","No skills in package")})})]}),w.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:w.skills.imported.map((o,h)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Ct,{size:12}),e.jsx("span",{children:o.name})]},h))}),w.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:w.skills.errors.map((o,h)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(pa,{size:12}),e.jsxs("span",{children:[o.name,": ",o.error]})]},h))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[f==="preview"&&e.jsx("button",{className:"btn",onClick:()=>m("input"),disabled:le,children:i("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Le,disabled:le,children:f==="result"?i("agents.close","Close"):i("agents.cancel","Cancel")}),f==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void de(),disabled:be||(n==="directory"?T.length===0:n==="browse"?!Z:!j.trim()),children:be?e.jsxs(e.Fragment,{children:[e.jsx(Tt,{size:14,className:"spin"}),i("agents.parsing","Parsing...")]}):i("agents.preview","Preview")}),f==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void me(),disabled:le||J===0&&K===0,children:le?e.jsxs(e.Fragment,{children:[e.jsx(Tt,{size:14,className:"spin"}),Ve]}):i("agents.importButton","Import {{label}}",{label:Ae})})]})]})}):null}const Ta=s.lazy(()=>$s(()=>import("./AgentDetailView-lJqxsPOR.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(l=>({default:l.AgentDetailView})));function bn(l){return[{value:"triage",label:l("agents.roleTriage","Triage"),icon:"⊕"},{value:"executor",label:l("agents.roleExecutor","Executor"),icon:"▶"},{value:"reviewer",label:l("agents.roleReviewer","Reviewer"),icon:"⊙"},{value:"merger",label:l("agents.roleMerger","Merger"),icon:"⊞"},{value:"scheduler",label:l("agents.roleScheduler","Scheduler"),icon:"◷"},{value:"engineer",label:l("agents.roleEngineer","Engineer"),icon:"⎔"},{value:"custom",label:l("agents.roleCustom","Custom"),icon:"✦"}]}const zt=[.1,.25,.5,1,2,3,5,10],xn=.25,fn=3,kt=16,nt=32,Ea=320,La=260,Fa=520,za="kb-dashboard-agents-sidebar-width";function Wt(l){return Math.max(La,Math.min(Fa,l))}function Pa(l){if(typeof window>"u")return Ea;const d=bt(za,l),y=d?Number(d):NaN;return Number.isFinite(y)?Wt(y):Ea}function Ut(l){switch(l){case"running":return"agent-badge--running";case"active":return"agent-badge--active";case"paused":return"agent-badge--paused";case"error":return"agent-badge--error";case"idle":default:return"agent-badge--idle"}}function Gt(l,d){switch(d){case"running":return`${l}--running`;case"active":return`${l}--active`;case"paused":return`${l}--paused`;case"error":return`${l}--error`;case"idle":default:return`${l}--idle`}}function vn(l){const d=l.runtimeConfig??{},y=typeof d.runtimeHint=="string"?d.runtimeHint:"";if(y)return{label:y,isRuntime:!0};const p=typeof d.modelProvider=="string"?d.modelProvider:"",a=typeof d.modelId=="string"?d.modelId:"";if(p&&a)return{label:`${p}/${a}`,isRuntime:!1};const i=typeof d.model=="string"?d.model:"";if(i.includes("/")){const f=i.indexOf("/");return{label:i.slice(f+1),isRuntime:!1}}return{label:null,isRuntime:!1}}function Da(l){return l.children.length===0?1:l.children.reduce((d,y)=>d+Da(y),0)}function Kt(l,d,y){return l.state==="error"?{title:void 0,label:y("agents.healthError","Error")}:{title:d.reason??d.label,label:d.stateDerived?null:d.label}}function $a({node:l,onSelect:d,getHealthStatus:y,selectedAgentId:p,registerNodeElement:a,linksRef:i}){const{t:f}=Pe("app"),{agent:m,children:n}=l,v=y(m),j=Kt(m,v,f),P=Ut(m.state),T=Gt("org-chart-node-card",m.state),C=Da(l),B={"--org-chart-subtree-leaves":String(C)};return e.jsxs("div",{className:`org-chart-node${n.length>0?" org-chart-node--has-children":""}`,style:B,children:[e.jsxs("div",{ref:A=>a(m.id,A),"data-agent-id":m.id,className:`org-chart-node-card ${T}${p===m.id?" agent-card--selected":""}`,onClick:()=>d(m.id),role:"button",tabIndex:0,onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.key===" "&&A.preventDefault(),d(m.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(wt,{agent:m,size:20})}),e.jsx("span",{className:"org-chart-node__name",children:m.name})]}),e.jsxs("div",{className:"org-chart-node__meta",children:[e.jsx("span",{className:`org-chart-node__badge ${P}`,children:m.state}),e.jsxs("span",{className:"org-chart-node__health",style:{color:v.color},title:j.title,children:[v.icon,j.label&&e.jsx("span",{className:"text-secondary",children:j.label})]})]})]}),n.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":f("agents.orgChartEmployees","{{name}} employees",{name:m.name}),children:n.map(A=>(i.current.push({parentId:m.id,childId:A.agent.id}),e.jsx($a,{node:A,onSelect:d,getHealthStatus:y,selectedAgentId:p,registerNodeElement:a,linksRef:i},A.agent.id)))})]})}function jn({links:l,nodeElements:d,canvasRef:y,viewportRef:p,layoutMode:a,transform:i}){const[f,m]=s.useState([]);return s.useLayoutEffect(()=>{const n=y.current,v=p.current;if(!n||!v||l.length===0){m([]);return}const j=()=>{const T=n.getBoundingClientRect(),C=l.flatMap(({parentId:B,childId:A})=>{const D=d.get(B),_=d.get(A);if(!D||!_)return[];const I=D.getBoundingClientRect(),U=_.getBoundingClientRect(),R=(I.left-T.left)/i.scale,E=(I.top-T.top)/i.scale,M=(U.left-T.left)/i.scale,$=(U.top-T.top)/i.scale;if(a==="vertical"){const oe=R,ue=E+I.height/i.scale/2,H=M,w=$+U.height/i.scale/2,O=oe-(oe-H)/2;return[`M ${oe} ${ue} L ${O} ${ue} L ${O} ${w} L ${H} ${w}`]}const Y=R+I.width/i.scale/2,L=E+I.height/i.scale,be=M+U.width/i.scale/2,ae=$,le=L+(ae-L)/2;return[`M ${Y} ${L} L ${Y} ${le} L ${be} ${le} L ${be} ${ae}`]});m(C)};j();const P=new ResizeObserver(j);return P.observe(n),P.observe(v),d.forEach(T=>P.observe(T)),()=>P.disconnect()},[y,a,l,d,i.scale,p]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:f.map((n,v)=>e.jsx("path",{d:n},`${v}-${n}`))})}function Mn({addToast:l,projectId:d,onOpenTaskLogs:y,agentOnboardingEnabled:p=!1}){const{t:a}=Pe("app"),i=bn(a),[f,m]=s.useState(!1),n=s.useRef(new Map),v=s.useRef(new Map),j=s.useRef(new Map),[P,T]=s.useState(new Set),C=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{T(u=>{let g=!1;const x=new Set(u);for(const N of r){const F=v.current.get(N.target);F&&(N.isIntersecting?x.has(F)||(x.add(F),g=!0):x.has(F)&&(x.delete(F),g=!0))}return g?x:u})},{rootMargin:"200px"});return C.current=t,n.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),C.current=null}},[]);const B=s.useCallback(t=>{const r=j.current.get(t);if(r)return r;const u=g=>{const x=n.current.get(t);x&&(C.current?.unobserve(x),v.current.delete(x)),g?(n.current.set(t,g),v.current.set(g,t),C.current?C.current.observe(g):T(N=>N.has(t)?N:new Set(N).add(t))):(n.current.delete(t),j.current.delete(t),T(N=>{if(!N.has(t))return N;const F=new Set(N);return F.delete(t),F}))};return j.current.set(t,u),u},[]),A=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:P.has(t),[P]),_=Cs()==="mobile",[I,U]=s.useState(()=>Pa(d)),[R,E]=s.useState("all"),{agents:M,stats:$,isLoading:Y,loadAgents:L,refreshAgents:be}=ws(d,{filterState:R,showSystemAgents:f}),[ae,le]=s.useState(!1),[oe,ue]=s.useState(null),[H,w]=s.useState(!1),[O,re]=s.useState(null),[xe,_e]=s.useState(null),He=_&&!!O,[Ce,ve]=s.useState("dashboard"),[se,Me]=s.useState(null),[Z,ge]=s.useState(!1),[W,ce]=s.useState(()=>{if(typeof window>"u")return"list";const t=bt("fn-agent-view",d);return t==="list"||t==="board"||t==="org"?t:"list"}),[fe,q]=s.useState(()=>{if(typeof window>"u")return"auto";const t=bt(Mt,d);return ka(t)?t:"auto"}),[we,Ye]=s.useState([]),[Ie,Le]=s.useState(!1),[Oe,it]=s.useState(0),[je,de]=s.useState(!1),[me,J]=s.useState(!1),[K,Ne]=s.useState(!1),[ye,Ae]=s.useState(!1),[Ve,Fe]=s.useState(0),[ze,o]=s.useState(0),[h,S]=s.useState({scale:1,x:0,y:0}),[G,Q]=s.useState(!1),ee=s.useRef(null),Se=s.useRef(null),Re=s.useRef(null),ot=s.useRef(new Map),Be=s.useRef([]),ne=s.useRef(new Map),Te=s.useRef(null),Ze=s.useRef(null),De=s.useRef(!1),{confirm:qe}=Ss(),Je=s.useRef(null),ct=s.useId();s.useEffect(()=>{U(Pa(d))},[d]),s.useEffect(()=>{const t=bt("fn-agent-view",d);if(t==="list"||t==="board"||t==="org"){ce(t);return}ce("list")},[d]),s.useEffect(()=>{Et("fn-agent-view",W,d)},[W,d]),s.useEffect(()=>{const t=bt(Mt,d);q(ka(t)?t:"auto")},[d]),s.useEffect(()=>{Et(Mt,fe,d)},[fe,d]);const c=s.useCallback(t=>{try{Et(za,String(t),d)}catch{}},[d]),k=s.useCallback(t=>{if(_)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const u=t.clientX,g=I;let x=g;document.body.style.userSelect="none";const N=X=>{const ie=X.clientX-u,b=Wt(g+ie);x=b,U(b)},F=X=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(X.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",N),document.removeEventListener("pointerup",F),c(x)};document.addEventListener("pointermove",N),document.addEventListener("pointerup",F)},[_,c,I]),ke=s.useCallback(t=>{if(_||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,u=t.key==="ArrowLeft"?-r:r,g=Wt(I+u);U(g),c(g)},[_,c,I]),[Yt,Ee]=s.useState(null),Ha=s.useRef(null),[Oa,Qe]=s.useState(null),[Zt,et]=s.useState(null),[qt,We]=s.useState({}),[dt,Jt]=s.useState(1),[Qt,ea]=s.useState(!1),[Ue,ta]=s.useState(new Set),[St,tt]=s.useState(new Map),xt=s.useRef(!0);s.useEffect(()=>(xt.current=!0,()=>{xt.current=!1}),[]),s.useEffect(()=>{As(d).then(t=>{xt.current&&Jt(t.heartbeatMultiplier??1)}).catch(()=>{})},[d]);const aa=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;Jt(r),ea(!0);try{await Rs({heartbeatMultiplier:r},d),l(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(u){l(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:pe(u)}),"error")}finally{xt.current&&ea(!1)}},[d,l]),ft=s.useMemo(()=>St.size===0?M:M.map(t=>{const r=St.get(t.id);return r?{...t,state:r}:t}),[M,St]),ut=s.useMemo(()=>ft.filter(t=>f||!pt(t)),[ft,f]),Va=s.useMemo(()=>ft.filter(t=>t.state!=="active"&&t.state!=="running"?!1:f||!pt(t)),[ft,f]),Ge=s.useMemo(()=>{if(f)return we;const t=r=>pt(r.agent)?null:{...r,children:r.children.map(t).filter(u=>u!==null)};return we.map(t).filter(r=>r!==null)},[we,f]);s.useEffect(()=>{if(W!=="org")return;const t=Se.current;if(!t)return;const r=()=>{it(t.clientWidth)};r();const u=typeof ResizeObserver<"u"?new ResizeObserver(r):null;return u?.observe(t),window.addEventListener("resize",r),()=>{u?.disconnect(),window.removeEventListener("resize",r)}},[W,Ge.length]),s.useEffect(()=>{if(W!=="org")return;let t=!1;return Le(!0),Ts(d,{includeEphemeral:f}).then(r=>{t||Ye(r)}).catch(r=>{t||(l(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:pe(r)}),"error"),Ye([]))}).finally(()=>{t||Le(!1)}),()=>{t=!0}},[W,d,f,l]),s.useEffect(()=>{const t=setInterval(()=>{L()},3e4);return()=>{clearInterval(t)}},[L]),s.useEffect(()=>{if(!je)return;let t=!1;Ae(!0),Vt(void 0,d).then(g=>{if(t)return;const x=g.filter(N=>!pt(N));Fe(x.filter(N=>N.state==="active"||N.state==="running").length),o(x.filter(N=>N.state==="paused").length)}).catch(g=>{t||(Fe(0),o(0),l(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:pe(g)}),"error"))}).finally(()=>{t||Ae(!1)});const r=g=>{const x=g.target;x&&(ee.current?.contains(x)||Je.current?.contains(x)||de(!1))},u=g=>{g.key==="Escape"&&(de(!1),Je.current?.focus())};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),document.addEventListener("keydown",u),()=>{t=!0,document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r),document.removeEventListener("keydown",u)}},[l,je,d]);const sa=async t=>{if(!K){Ne(!0);try{const u=(await Vt(void 0,d)).filter(z=>!pt(z)),g=u.filter(z=>t==="paused"?z.state==="active"||z.state==="running":z.state==="paused"),x=u.length-g.length;if(g.length===0){l(t==="paused"?a("agents.noAgentsToPause","No agents eligible to pause"):a("agents.noAgentsToResume","No agents eligible to resume"),"error");return}if(!await qe({title:t==="paused"?a("agents.pauseAllTitle","Pause All Agents"):a("agents.resumeAllTitle","Resume All Agents"),message:t==="paused"?a("agents.pauseAllConfirm",{count:g.length,defaultValue_one:"Pause {{count}} agent in this project?",defaultValue_other:"Pause {{count}} agents in this project?"}):a("agents.resumeAllConfirm",{count:g.length,defaultValue_one:"Resume {{count}} agent in this project?",defaultValue_other:"Resume {{count}} agents in this project?"}),danger:t==="paused"}))return;const F=await Promise.allSettled(g.map(z=>va(z.id,t,d))),X=F.map((z,$e)=>({result:z,agent:g[$e]})).filter(z=>z.result.status==="rejected"),ie=F.length-X.length,b=X.length,V=t==="paused"?a("agents.pausedSummary",{count:ie,skipped:x,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:ie,skipped:x,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(b>0){const z=X.slice(0,3).map(({agent:$e,result:ls})=>`${$e.name||$e.id}: ${pe(ls.reason)}`).join("; ");l(`${V}; failed ${b}${z?` (${z})`:""}`,"error")}else l(V,"success");await L()}catch(r){l(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:pe(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:pe(r)}),"error")}finally{Ne(!1)}}},gt=async(t,r)=>{if(!Ue.has(t)){ta(u=>new Set(u).add(t)),tt(u=>{const g=new Map(u);return g.set(t,r),g});try{await va(t,r,d),l(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await L(),tt(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){tt(g=>{const x=new Map(g);return x.delete(t),x}),l(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:pe(u)}),"error")}finally{ta(u=>{const g=new Set(u);return g.delete(t),g})}}},na=async(t,r)=>{if(await qe({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await Os(t,d),l(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await L()}catch(g){l(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:pe(g)}),"error")}},Ba=async(t,r)=>{const u=M.find(g=>g.id===t);if(u){if(u.role===r){Ee(null);return}try{await yt(t,{role:r},d),l(a("agents.roleUpdated","Agent role updated to {{role}}",{role:i.find(g=>g.value===r)?.label??r}),"success"),Ee(null),L()}catch(g){l(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:pe(g)}),"error")}}},Wa=(t,r)=>{t.key==="Escape"&&Ee(null)},Ua=async(t,r)=>{Zt===t.id&&(et(null),We(u=>{const g={...u};return delete g[t.id],g})),Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:r}},d),l(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:ja(r),name:t.name}),"success"),L()}catch(u){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(u)}),"error")}finally{Qe(null)}},la=async t=>{const r=qt[t.id]??"";if(r.trim()===""){l(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const u=Number(r);if(isNaN(u)){l(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(u<=0){l(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(u>=1&&u<5){Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:Vs}},d),l(a("agents.heartbeatClampedToMin",{count:u,defaultValue_one:"Heartbeat interval set to 5 minutes (minimum). {{count}} minute was below the 5-minute minimum.",defaultValue_other:"Heartbeat interval set to 5 minutes (minimum). {{count}} minutes was below the 5-minute minimum."}),"success"),et(null),We(x=>{const N={...x};return delete N[t.id],N}),L()}catch(x){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(x)}),"error")}finally{Qe(null)}return}const g=Math.round(u*6e4);Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:g}},d),l(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:ja(g),name:t.name}),"success"),et(null),We(x=>{const N={...x};return delete N[t.id],N}),L()}catch(x){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(x)}),"error")}finally{Qe(null)}},Ga=t=>{const r=Dt(t.runtimeConfig?.heartbeatIntervalMs),u=Math.round(r/6e4);et(t.id),We(g=>({...g,[t.id]:String(u)}))},he=s.useCallback((t,r)=>{re(t),ve(r?.initialTab??"dashboard"),Me(r?.initialRunId??null),ge(r?.preferActiveRun??!1)},[]),Ke=s.useCallback(()=>{re(null),ve("dashboard"),Me(null),ge(!1)},[]),ra=s.useCallback(t=>{he(t)},[he]),Ka=s.useCallback(t=>{_e(t),he(t)},[he]),Xa=s.useCallback(async({agentId:t,deleted:r})=>{await be(),r&&O===t&&Ke()},[be,O,Ke]),Ya=s.useCallback(t=>{he(t),_&&J(!1)},[_,he]),Za=async(t,r)=>{tt(u=>{const g=new Map(u);return g.set(t,"running"),g});try{await Bs(t,d,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),l(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await L(),tt(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){tt(g=>{const x=new Map(g);return x.delete(t),x}),l(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:pe(u)}),"error")}},Xe=s.useCallback(t=>Math.min(fn,Math.max(xn,t)),[]),te=s.useCallback(t=>{const r=Se.current,u=Re.current?.querySelector(".agent-org-chart");if(!r||!u)return{...t,scale:Xe(t.scale)};const g=Xe(t.scale),x=u.scrollWidth*g,N=u.scrollHeight*g,F=r.clientWidth,X=r.clientHeight,ie=Math.min(nt,F-x-nt),b=nt,V=Math.min(nt,X-N-nt),z=nt;return{scale:g,x:Math.max(ie,Math.min(b,t.x)),y:Math.max(V,Math.min(z,t.y))}},[Xe]),vt=s.useCallback((t,r,u)=>{const g=Se.current;g&&S(x=>{const N=Xe(t),F=g.getBoundingClientRect(),X=r-F.left,ie=u-F.top,b=(X-x.x)/x.scale,V=(ie-x.y)/x.scale;return te({scale:N,x:X-b*N,y:ie-V*N})})},[Xe,te]),at=s.useCallback(()=>{const t=Se.current,r=Re.current?.querySelector(".agent-org-chart");if(!t||!r)return;const u=t.clientWidth,g=t.clientHeight,x=r.scrollWidth,N=r.scrollHeight;if(x<=0||N<=0)return;const F=Xe(Math.min(u/x,g/N,1)),X=(u-x*F)/2,ie=(g-N*F)/2;S(te({scale:F,x:X,y:ie}))},[Xe,te]),At=s.useCallback(t=>{ce(t),t!=="org"&&S({scale:1,x:0,y:0}),_&&O&&Ke()},[Ke,_,O]),ia=t=>i.find(r=>r.value===t)?.label??t,jt=s.useMemo(()=>qs({tree:Ge,availableWidth:Oe,preference:fe}),[Ge,fe,Oe]),oa=s.useCallback(t=>{q(t),S({scale:1,x:0,y:0})},[]);s.useEffect(()=>{S({scale:1,x:0,y:0}),De.current=!1},[d,jt]),s.useLayoutEffect(()=>{W!=="org"||Ie||Ge.length===0||De.current||(at(),De.current=!0)},[W,Ge.length,at,Ie]);const qa=s.useCallback((t,r)=>{r?ot.current.set(t,r):ot.current.delete(t)},[]),ca=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>S(t=>te({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(an,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(h.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>S(t=>te({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(en,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:at,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(Es,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>S(t=>te({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(Ps,{size:16}),a("agents.center","Center")]})]}),[te,at,h.scale]),Ja=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;vt(h.scale*r,t.clientX,t.clientY)},[h.scale,vt]),Qa=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),ne.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),ne.current.size===1){Te.current={x:t.clientX-h.x,y:t.clientY-h.y,pointerId:t.pointerId},Q(!0);return}if(ne.current.size===2){const u=Array.from(ne.current.values()),g=u[0].x-u[1].x,x=u[0].y-u[1].y;Ze.current={distance:Math.hypot(g,x),scale:h.scale,centerX:(u[0].x+u[1].x)/2,centerY:(u[0].y+u[1].y)/2},Te.current=null}},[h.scale,h.x,h.y]),es=s.useCallback(t=>{if(ne.current.has(t.pointerId)){if(ne.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),ne.current.size>=2){const r=Array.from(ne.current.values()),u=Ze.current;if(!u)return;const g=r[0].x-r[1].x,x=r[0].y-r[1].y,N=Math.hypot(g,x),F=u.scale*(N/u.distance);vt(F,u.centerX,u.centerY);return}!Te.current||Te.current.pointerId!==t.pointerId||S(r=>te({...r,x:t.clientX-Te.current.x,y:t.clientY-Te.current.y}))}},[te,vt]),da=s.useCallback(t=>{ne.current.delete(t.pointerId),ne.current.size<2&&(Ze.current=null),ne.current.size===0&&(Te.current=null,Q(!1))},[]),ts=s.useCallback(t=>{if(t.key==="ArrowLeft")S(r=>te({...r,x:r.x+kt}));else if(t.key==="ArrowRight")S(r=>te({...r,x:r.x-kt}));else if(t.key==="ArrowUp")S(r=>te({...r,y:r.y+kt}));else if(t.key==="ArrowDown")S(r=>te({...r,y:r.y-kt}));else if(t.key==="+"||t.key==="=")S(r=>te({...r,scale:r.scale*1.1}));else if(t.key==="-")S(r=>te({...r,scale:r.scale*.9}));else if(t.key==="0")at();else if(t.key==="Home")S({scale:1,x:0,y:0});else return;t.preventDefault()},[te,at]),ua=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(Ca,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(ba,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(lt,{size:16}),ariaLabel:a("agents.layoutAutoAria","Automatic layout")}];return e.jsx("div",{className:"agent-org-chart-layout-toggle","data-testid":"agent-org-chart-layout-toggle",children:t.map(r=>{const u=fe===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${u?" btn-icon--active":""}`,onClick:()=>oa(r.value),"aria-pressed":u,"aria-label":r.ariaLabel,title:r.ariaLabel,"data-layout-value":r.value,children:[r.icon,e.jsx("span",{className:"agent-org-chart-layout-toggle__text",children:r.label})]},r.value)})})},[oa,fe]),as=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Rt=t=>Hs(t,dt),ss=ye||K||Ve===0,ns=ye||K||ze===0,ga=Y&&M.length===0,mt=s.useCallback(()=>{le(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(_s,{icon:Ot,title:a("agents.title","Agents"),actions:e.jsxs("div",{className:"agents-view-controls",children:[e.jsxs("div",{className:"view-toggle",children:[e.jsx("button",{className:`view-toggle-btn${W==="list"?" active":""}`,onClick:()=>At("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":W==="list",children:e.jsx(ba,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="board"?" active":""}`,onClick:()=>At("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":W==="board",children:e.jsx(rt,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="org"?" active":""}`,onClick:()=>At("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":W==="org",children:e.jsx(Ca,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${je?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:Je,className:`btn-icon agent-controls-trigger${je?" agent-controls-trigger--active":""}`,onClick:()=>de(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":je,"aria-controls":ct,children:e.jsx(Ms,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void L(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(lt,{size:16,className:Y?"spin":void 0})}),!_&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{w(!0),de(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(Bt,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{mt(),de(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(xa,{size:16}),a("agents.newAgent","New Agent")]})]}),je&&e.jsxs("div",{ref:ee,id:ct,className:"agent-controls-panel agent-controls-panel--scrollable",role:"dialog","aria-label":a("agents.agentControls","Agent controls"),"aria-modal":"false",children:[e.jsx("div",{className:"agent-controls",children:e.jsxs("div",{className:"agent-controls-filters",children:[e.jsxs("div",{className:"agent-state-filter",children:[e.jsx(Is,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:R,onChange:t=>E(t.target.value),"aria-label":a("agents.filterByState","Filter agents by state"),children:[e.jsx("option",{value:"all",children:a("agents.stateAll","All States")}),e.jsx("option",{value:"idle",children:a("agents.stateIdle","Idle")}),e.jsx("option",{value:"active",children:a("agents.stateActive","Active")}),e.jsx("option",{value:"running",children:a("agents.stateRunning","Running")}),e.jsx("option",{value:"paused",children:a("agents.statePaused","Paused")}),e.jsx("option",{value:"error",children:a("agents.stateError","Error")})]})]}),e.jsxs("label",{className:"checkbox-label agent-system-filter",children:[e.jsx("input",{type:"checkbox",checked:f,onChange:t=>m(t.target.checked),"aria-label":a("agents.showSystemAgents","Show system agents")}),a("agents.showSystemAgents","Show system agents")]})]})}),_&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{w(!0),de(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(Bt,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{mt(),de(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(xa,{size:16}),a("agents.newAgent","New Agent")]})]}),e.jsxs("div",{className:"agent-controls-bulk-actions",role:"menu","aria-label":a("agents.bulkAgentActions","Bulk agent actions"),children:[e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ss,onClick:()=>{de(!1),sa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Pt,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:ye?a("agents.loadingEligibility","Loading eligibility…"):Ve===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:Ve,defaultValue_one:"Pause {{count}} active/running agent",defaultValue_other:"Pause {{count}} active/running agents"})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ns,onClick:()=>{de(!1),sa("active")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Nt,{}),e.jsx("span",{children:a("agents.resumeAllAgents","Resume All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:ye?a("agents.loadingEligibility","Loading eligibility…"):ze===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:ze,defaultValue_one:"Resume {{count}} paused agent",defaultValue_other:"Resume {{count}} paused agents"})})]})]}),e.jsx("div",{className:"agent-global-controls agent-controls-actions",children:e.jsxs("div",{className:"heartbeat-multiplier-group",children:[e.jsxs("div",{className:"heartbeat-multiplier-controls",children:[e.jsx("label",{htmlFor:"globalHeartbeatMultiplier",className:"heartbeat-multiplier-label",children:a("agents.heartbeatSpeed","Heartbeat Speed")}),e.jsx("input",{id:"globalHeartbeatMultiplier",className:"heartbeat-multiplier-slider touch-target",type:"range",min:.1,max:10,step:.1,value:dt,onChange:t=>{const r=Number(t.target.value);aa(Number.isFinite(r)&&r>0?r:1)},disabled:Qt}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",dt.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(zt.reduce((t,r)=>Math.abs(r-dt)<Math.abs(t-dt)?r:t,zt[0])),onChange:t=>{const r=Number(t.target.value);aa(Number.isFinite(r)&&r>0?r:1)},disabled:Qt,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:zt.map(t=>e.jsxs("option",{value:String(t),children:["×",t]},t))})]}),e.jsx("small",{className:"text-secondary",children:a("agents.heartbeatSpeedHint","Scales all agent heartbeat intervals. ×0.5 = twice as fast, ×2.0 = twice as slow. Default: ×1.0")})]})}),e.jsx(sn,{agents:ut})]})]})]})}),e.jsx(mn,{isOpen:ae,onClose:()=>{le(!1),ue(null)},onCreated:()=>{le(!1),ue(null),L()},projectId:d,prefillDraft:oe,agentOnboardingEnabled:p,existingAgents:M,onPrefillDraft:ue}),e.jsx(pn,{isOpen:H,onClose:()=>w(!1),onImported:()=>void L(),projectId:d}),e.jsx(un,{stats:$,activeAgents:Va,projectId:d,isOpen:me,onToggle:()=>J(t=>!t),onSelectAgent:Ya,onOpenTaskLogs:y}),W==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:O?e.jsxs("div",{className:"agents-org-detail-view","data-testid":"agents-org-detail-view",children:[e.jsx("button",{type:"button",className:"btn btn-sm agents-org-detail-back",onClick:Ke,"aria-label":a("agents.backToOrgChart","Back to org chart"),children:a("agents.backToOrgChart","Back to org chart")}),e.jsx(s.Suspense,{fallback:null,children:e.jsx(Ta,{inline:!0,showInlineBackButton:!1,agentId:O,projectId:d,onClose:Ke,addToast:l,onChildClick:ra,initialTab:Ce,initialRunId:se,preferActiveRun:Z},O)})]}):ga?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):e.jsxs("div",{className:"agent-org-chart-shell","data-testid":"agent-org-chart-shell",children:[_?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[ua(),ca()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[ua(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:ca()})]}),e.jsx("div",{ref:Se,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:Ja,onPointerDown:Qa,onPointerMove:es,onPointerUp:da,onPointerCancel:da,onKeyDown:ts,"data-panning":G?"true":"false",children:e.jsxs("div",{ref:Re,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((h.scale??1)*100)}`,"data-panning":G?"true":"false",style:{transform:`translate(${h.x}px, ${h.y}px) scale(${h.scale})`},children:[e.jsx("div",{className:`agent-org-chart${jt==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":jt,children:Ie?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Ge.length===0?e.jsx(Lt,{onCtaClick:mt}):(Be.current=[],Ge.map(t=>e.jsx($a,{node:t,onSelect:Ka,getHealthStatus:Rt,selectedAgentId:xe,registerNodeElement:qa,linksRef:Be},t.agent.id)))}),e.jsx(jn,{links:Be.current,nodeElements:ot.current,canvasRef:Re,viewportRef:Se,layoutMode:jt,transform:h})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:_?void 0:{gridTemplateColumns:`${I}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${He?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:ga?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):W==="board"?e.jsx("div",{className:"agent-board",children:ut.length===0?e.jsx(Lt,{onCtaClick:mt}):ut.map(t=>{const r=Rt(t),u=Kt(t,r,a),g=Ut(t.state),x=Gt("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${x}${O===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:B(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>he(t.id),role:"button",tabIndex:0,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.key===" "&&N.preventDefault(),he(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(wt,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:ia(t.role)}),e.jsx("span",{className:`agent-board-badge badge ${g}`,children:t.state}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"agent-board-badge badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null]}),e.jsx("div",{className:"agent-board-name",children:t.name}),e.jsx("div",{className:"agent-board-id",children:t.id}),t.taskId&&e.jsx($t,{taskId:t.taskId,isInViewport:A(`board:${t.id}`),projectId:d}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]})]}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("div",{className:"agent-board-actions",children:e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void na(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(fa,{size:14})})})]},t.id)})}):e.jsx("div",{className:"agent-list",children:ut.length===0?e.jsx(Lt,{onCtaClick:mt}):ut.map(t=>{const r=Rt(t),u=Kt(t,r,a),g=Ut(t.state),x=Gt("agent-card",t.state),N=Dt(t.runtimeConfig?.heartbeatIntervalMs),F=Ls(N),X=Oa===t.id,ie=vn(t);return e.jsxs("div",{ref:B(`list:${t.id}`),className:`agent-card agent-card--clickable ${x}${O===t.id?" agent-card--selected":""}`,onClick:b=>{const V=b.target;if(V===b.currentTarget){he(t.id);return}const z=V.closest('button, select, input, [role="button"]');z&&z!==b.currentTarget||he(t.id)},role:"button",tabIndex:0,onKeyDown:b=>{b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.key===" "&&b.preventDefault(),he(t.id))},"aria-label":a("agents.openDetails","Open details for {{name}}",{name:t.name}),children:[e.jsxs("div",{className:"agent-card-header",children:[e.jsxs("div",{className:"agent-info",children:[Yt===t.id?e.jsx("select",{ref:Ha,className:"select agent-role-select",value:t.role,onChange:b=>void Ba(t.id,b.target.value),onKeyDown:b=>Wa(b,t.id),onBlur:()=>Ee(null),autoFocus:!0,children:i.map(b=>e.jsxs("option",{value:b.value,children:[b.icon," ",b.label]},b.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:b=>{b.stopPropagation(),Ee(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.stopPropagation(),Ee(t.id))},children:e.jsx(wt,{agent:t,size:20})}),e.jsxs("div",{className:"agent-meta",children:[e.jsx("span",{className:"agent-name",children:t.name}),e.jsx("span",{className:"agent-id text-secondary",children:t.id})]}),e.jsx(Ma,{size:20,className:"agent-card-chevron"})]}),e.jsxs("div",{className:"agent-badges",children:[e.jsx("span",{className:`badge ${g}`,children:t.state}),e.jsxs("span",{className:"badge",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]}),e.jsx("span",{className:"badge text-secondary",children:ia(t.role)}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null,(()=>{const b=as(t);if(b.length===0)return null;const V=b.slice(0,2),z=b.length-2;return e.jsxs(e.Fragment,{children:[V.map($e=>e.jsx("span",{className:"badge badge-skill",title:$e,children:Xs($e)},$e)),z>0&&e.jsxs("span",{className:"badge badge-skill",children:["+",z]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[ie.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:ie.label??a("agents.auto","Auto"),children:ie.label??a("agents.auto","Auto")})]}),t.state==="error"&&t.lastError?e.jsx(Fs,{errorText:t.lastError,issueContext:{surface:"AgentsView list",agentId:t.id,agentName:t.name,agentState:t.state,taskId:t.taskId}}):null,t.taskId&&e.jsxs("div",{className:"agent-task",children:[e.jsx("span",{className:"text-secondary",children:a("agents.workingOn","Working on:")}),e.jsx("span",{className:"badge",children:e.jsx(_a,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx($t,{taskId:t.taskId,isInViewport:A(`list:${t.id}`),projectId:d})]}),e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),Zt===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:qt[t.id]??"",onChange:b=>We(V=>({...V,[t.id]:b.target.value})),onKeyDown:b=>{b.key==="Enter"?la(t):b.key==="Escape"&&(et(null),We(V=>{const z={...V};return delete z[t.id],z}))},disabled:X,"aria-label":a("agents.customHeartbeatAria","Custom heartbeat interval in minutes for {{name}}",{name:t.name})}),e.jsx("span",{className:"text-secondary",children:a("agents.minutesUnit","min")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>void la(t),disabled:X,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{et(null),We(b=>{const V={...b};return delete V[t.id],V})},disabled:X,title:a("agents.cancelCustomInterval","Cancel custom interval"),children:a("agents.cancel","Cancel")})]}):e.jsx(e.Fragment,{children:e.jsxs("select",{className:"select agent-heartbeat-select",value:N,onChange:b=>{const V=b.target.value;V==="__custom__"?Ga(t):Ua(t,Number(V))},disabled:X,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[F.map(b=>e.jsx("option",{value:b.value,children:b.label},b.value)),zs.some(b=>b.value===N)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),X&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const b=new Date(t.lastHeartbeatAt),V=new Date(b.getTime()+N),z=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:b.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:b.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),z&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:V.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:V.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})})]})})()]})]}),e.jsxs("div",{className:"agent-card-actions",children:[e.jsxs("div",{className:"agent-card-actions-group agent-card-actions-group--primary",children:[t.state==="idle"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.activate","Activate"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.start","Start")})]}),t.state==="active"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm",onClick:()=>void Za(t.id,t.name),disabled:Ue.has(t.id),title:a("agents.runNow","Run Now"),"aria-label":a("agents.runNowAria","Run now for {{name}}",{name:t.name}),children:[e.jsx(rt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.runNow","Run Now")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"paused"),disabled:Ue.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Pt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.pause","Pause")})]})]}),t.state==="paused"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.resume","Resume"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.resume","Resume")})]}),t.state==="running"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm",onClick:()=>he(t.id,{initialTab:"runs",initialRunId:null,preferActiveRun:!0}),title:a("agents.viewLiveRun","View live run details"),"aria-label":a("agents.viewLiveRunAria","View live run details for {{name}}",{name:t.name}),children:[e.jsx(rt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"paused"),disabled:Ue.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Pt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.pause","Pause")})]})]}),t.state==="error"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.retry","Retry"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.retry","Retry")})]})]}),e.jsxs("div",{className:"agent-card-actions-group agent-card-actions-group--secondary",children:[e.jsxs("button",{className:"btn btn-sm agent-card-details-btn",onClick:()=>he(t.id),title:a("agents.viewDetailsFor","View details for {{name}}",{name:t.name}),"aria-label":a("agents.viewDetailsFor","View details for {{name}}",{name:t.name}),children:[e.jsx(Ds,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.details","Details")})]}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsxs("button",{className:"btn btn-sm btn-danger",onClick:()=>void na(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(fa,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!_&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":La,"aria-valuemax":Fa,"aria-valuenow":I,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:k,onKeyDown:ke}),e.jsx("div",{className:`agents-split-detail${_&&!O?" agents-split-detail--hidden-mobile":""}`,children:O?e.jsx(s.Suspense,{fallback:null,children:e.jsx(Ta,{inline:!0,showInlineBackButton:_,agentId:O,projectId:d,onClose:Ke,addToast:l,onChildClick:ra,initialTab:Ce,initialRunId:se,preferActiveRun:Z,onMutationSuccess:Xa},O)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(Ot,{size:48}),e.jsx("h3",{children:a("agents.selectAnAgent","Select an agent")}),e.jsx("p",{children:a("agents.selectAgentHint","Choose an agent from the sidebar to view details")})]})})]})]})}export{Mn as AgentsView};
24
+ Agent instructions go here...`),value:j,onChange:o=>{v("paste"),C([]),P(o.target.value),H(null)},rows:8,"aria-label":i("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:i("agents.currentInput","Current input: {{method}}",{method:n})}),ue&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(ht,{size:14}),ue]})]}),f==="preview"&&e.jsxs("div",{className:"agent-import-preview",children:[e.jsxs("div",{className:"agent-import-company",children:[e.jsx("span",{className:"agent-import-company-label",children:i("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:B})]}),R.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:R.map((o,h)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(ht,{size:12}),e.jsx("span",{children:o})]},h))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Ht,{size:14}),e.jsx("span",{children:i("agents.agentsFound","{{count}} agent{{plural}} found",{count:D.length,plural:D.length!==1?"s":""})})]}),D.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>$(D.map(o=>o.name)),children:i("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>$([]),children:i("agents.clearAgents","Clear agents")})]}),D.length>0?e.jsx("div",{className:"agent-import-agent-list",children:D.map((o,h)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":i("agents.selectAgent","Select agent {{name}}",{name:o.name}),checked:M.includes(o.name),onChange:()=>Fe(o.name)})}),e.jsx("span",{className:"agent-import-agent-icon",children:o.icon||"🤖"}),e.jsxs("div",{className:"agent-import-agent-details",children:[e.jsx("span",{className:"agent-import-agent-name",children:o.name}),e.jsxs("span",{className:"agent-import-agent-meta",children:[o.title&&e.jsxs("span",{className:"agent-import-agent-title",children:[o.title," · "]}),e.jsx("span",{className:"agent-import-agent-role",children:o.role}),o.reportsTo&&e.jsx("span",{className:"agent-import-agent-reports",children:i("agents.importReportsTo"," · reports to {{agent}}",{agent:o.reportsTo})}),o.skills&&o.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:i("agents.importSkills"," · skills: {{skills}}",{skills:o.skills.join(", ")})})]}),o.instructionsText&&e.jsxs("span",{className:"agent-import-agent-instructions",children:[o.instructionsText.slice(0,100),o.instructionsText.length>100?"...":""]})]})]},h))}):e.jsx("p",{className:"agent-import-empty",children:i("agents.noAgentsFound","No agents found in the manifest.")}),I.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Ht,{size:14}),e.jsx("span",{children:i("agents.skillsFound","{{count}} skill{{plural}} found",{count:I.length,plural:I.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>L(I.map(o=>o.name)),children:i("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>L([]),children:i("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:I.map((o,h)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":i("agents.selectSkill","Select skill {{name}}",{name:o.name}),checked:Y.includes(o.name),onChange:()=>ze(o.name)})}),e.jsx("span",{className:"agent-import-skill-icon",children:"⚡"}),e.jsxs("div",{className:"agent-import-skill-details",children:[e.jsx("span",{className:"agent-import-skill-name",children:o.name}),o.description&&e.jsx("span",{className:"agent-import-skill-description",children:o.description})]})]},`${o.name}-${h}`))})]}),re&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(ht,{size:14}),re]})]}),f==="result"&&w&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(Ct,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:i("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[i("agents.from","From")," ",e.jsx("strong",{children:w.companyName??"Unknown"})]}),e.jsxs("div",{className:"agent-import-result-stats",children:[w.created.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:i("agents.resultCreated","{{count}} created",{count:w.created.length})})}),w.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.resultSkipped","{{count}} skipped (already exist)",{count:w.skipped.length})})}),w.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:i("agents.resultErrors","{{count}} error{{plural}}",{count:w.errors.length,plural:w.errors.length!==1?"s":""})})})]}),w.created.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:w.created.map((o,h)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Ct,{size:12}),e.jsx("span",{children:o.name})]},h))}),w.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:w.errors.map((o,h)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(pa,{size:12}),e.jsxs("span",{children:[o.name,": ",o.error]})]},h))}),w.warnings&&w.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:w.warnings.map((o,h)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(ht,{size:12}),e.jsx("span",{children:o})]},h))}),w.skills&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"agent-import-result-divider"}),e.jsx("h4",{className:"agent-import-result-section-title",children:i("agents.skills","Skills")}),e.jsxs("div",{className:"agent-import-result-stats",children:[w.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:i("agents.skillsImported","{{count}} skill{{plural}} imported",{count:w.skills.imported.length,plural:w.skills.imported.length!==1?"s":""})})}),w.skills.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.skillsSkipped","{{count}} skill{{plural}} skipped (already exist)",{count:w.skills.skipped.length,plural:w.skills.skipped.length!==1?"s":""})})}),w.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:i("agents.skillsErrors","{{count}} skill{{plural}} error{{pluralError}}",{count:w.skills.errors.length,plural:w.skills.errors.length!==1?"s":"",pluralError:w.skills.errors.length!==1?"s":""})})}),w.skills.imported.length===0&&w.skills.skipped.length===0&&w.skills.errors.length===0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:i("agents.noSkillsInPackage","No skills in package")})})]}),w.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:w.skills.imported.map((o,h)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Ct,{size:12}),e.jsx("span",{children:o.name})]},h))}),w.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:w.skills.errors.map((o,h)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(pa,{size:12}),e.jsxs("span",{children:[o.name,": ",o.error]})]},h))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[f==="preview"&&e.jsx("button",{className:"btn",onClick:()=>m("input"),disabled:le,children:i("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Le,disabled:le,children:f==="result"?i("agents.close","Close"):i("agents.cancel","Cancel")}),f==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void de(),disabled:be||(n==="directory"?T.length===0:n==="browse"?!Z:!j.trim()),children:be?e.jsxs(e.Fragment,{children:[e.jsx(Tt,{size:14,className:"spin"}),i("agents.parsing","Parsing...")]}):i("agents.preview","Preview")}),f==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void me(),disabled:le||J===0&&K===0,children:le?e.jsxs(e.Fragment,{children:[e.jsx(Tt,{size:14,className:"spin"}),Ve]}):i("agents.importButton","Import {{label}}",{label:Ae})})]})]})}):null}const Ta=s.lazy(()=>$s(()=>import("./AgentDetailView-BBOL6AgZ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(l=>({default:l.AgentDetailView})));function bn(l){return[{value:"triage",label:l("agents.roleTriage","Triage"),icon:"⊕"},{value:"executor",label:l("agents.roleExecutor","Executor"),icon:"▶"},{value:"reviewer",label:l("agents.roleReviewer","Reviewer"),icon:"⊙"},{value:"merger",label:l("agents.roleMerger","Merger"),icon:"⊞"},{value:"scheduler",label:l("agents.roleScheduler","Scheduler"),icon:"◷"},{value:"engineer",label:l("agents.roleEngineer","Engineer"),icon:"⎔"},{value:"custom",label:l("agents.roleCustom","Custom"),icon:"✦"}]}const zt=[.1,.25,.5,1,2,3,5,10],xn=.25,fn=3,kt=16,nt=32,Ea=320,La=260,Fa=520,za="kb-dashboard-agents-sidebar-width";function Wt(l){return Math.max(La,Math.min(Fa,l))}function Pa(l){if(typeof window>"u")return Ea;const d=bt(za,l),y=d?Number(d):NaN;return Number.isFinite(y)?Wt(y):Ea}function Ut(l){switch(l){case"running":return"agent-badge--running";case"active":return"agent-badge--active";case"paused":return"agent-badge--paused";case"error":return"agent-badge--error";case"idle":default:return"agent-badge--idle"}}function Gt(l,d){switch(d){case"running":return`${l}--running`;case"active":return`${l}--active`;case"paused":return`${l}--paused`;case"error":return`${l}--error`;case"idle":default:return`${l}--idle`}}function vn(l){const d=l.runtimeConfig??{},y=typeof d.runtimeHint=="string"?d.runtimeHint:"";if(y)return{label:y,isRuntime:!0};const p=typeof d.modelProvider=="string"?d.modelProvider:"",a=typeof d.modelId=="string"?d.modelId:"";if(p&&a)return{label:`${p}/${a}`,isRuntime:!1};const i=typeof d.model=="string"?d.model:"";if(i.includes("/")){const f=i.indexOf("/");return{label:i.slice(f+1),isRuntime:!1}}return{label:null,isRuntime:!1}}function Da(l){return l.children.length===0?1:l.children.reduce((d,y)=>d+Da(y),0)}function Kt(l,d,y){return l.state==="error"?{title:void 0,label:y("agents.healthError","Error")}:{title:d.reason??d.label,label:d.stateDerived?null:d.label}}function $a({node:l,onSelect:d,getHealthStatus:y,selectedAgentId:p,registerNodeElement:a,linksRef:i}){const{t:f}=Pe("app"),{agent:m,children:n}=l,v=y(m),j=Kt(m,v,f),P=Ut(m.state),T=Gt("org-chart-node-card",m.state),C=Da(l),B={"--org-chart-subtree-leaves":String(C)};return e.jsxs("div",{className:`org-chart-node${n.length>0?" org-chart-node--has-children":""}`,style:B,children:[e.jsxs("div",{ref:A=>a(m.id,A),"data-agent-id":m.id,className:`org-chart-node-card ${T}${p===m.id?" agent-card--selected":""}`,onClick:()=>d(m.id),role:"button",tabIndex:0,onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.key===" "&&A.preventDefault(),d(m.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(wt,{agent:m,size:20})}),e.jsx("span",{className:"org-chart-node__name",children:m.name})]}),e.jsxs("div",{className:"org-chart-node__meta",children:[e.jsx("span",{className:`org-chart-node__badge ${P}`,children:m.state}),e.jsxs("span",{className:"org-chart-node__health",style:{color:v.color},title:j.title,children:[v.icon,j.label&&e.jsx("span",{className:"text-secondary",children:j.label})]})]})]}),n.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":f("agents.orgChartEmployees","{{name}} employees",{name:m.name}),children:n.map(A=>(i.current.push({parentId:m.id,childId:A.agent.id}),e.jsx($a,{node:A,onSelect:d,getHealthStatus:y,selectedAgentId:p,registerNodeElement:a,linksRef:i},A.agent.id)))})]})}function jn({links:l,nodeElements:d,canvasRef:y,viewportRef:p,layoutMode:a,transform:i}){const[f,m]=s.useState([]);return s.useLayoutEffect(()=>{const n=y.current,v=p.current;if(!n||!v||l.length===0){m([]);return}const j=()=>{const T=n.getBoundingClientRect(),C=l.flatMap(({parentId:B,childId:A})=>{const D=d.get(B),_=d.get(A);if(!D||!_)return[];const I=D.getBoundingClientRect(),U=_.getBoundingClientRect(),R=(I.left-T.left)/i.scale,E=(I.top-T.top)/i.scale,M=(U.left-T.left)/i.scale,$=(U.top-T.top)/i.scale;if(a==="vertical"){const oe=R,ue=E+I.height/i.scale/2,H=M,w=$+U.height/i.scale/2,O=oe-(oe-H)/2;return[`M ${oe} ${ue} L ${O} ${ue} L ${O} ${w} L ${H} ${w}`]}const Y=R+I.width/i.scale/2,L=E+I.height/i.scale,be=M+U.width/i.scale/2,ae=$,le=L+(ae-L)/2;return[`M ${Y} ${L} L ${Y} ${le} L ${be} ${le} L ${be} ${ae}`]});m(C)};j();const P=new ResizeObserver(j);return P.observe(n),P.observe(v),d.forEach(T=>P.observe(T)),()=>P.disconnect()},[y,a,l,d,i.scale,p]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:f.map((n,v)=>e.jsx("path",{d:n},`${v}-${n}`))})}function Mn({addToast:l,projectId:d,onOpenTaskLogs:y,agentOnboardingEnabled:p=!1}){const{t:a}=Pe("app"),i=bn(a),[f,m]=s.useState(!1),n=s.useRef(new Map),v=s.useRef(new Map),j=s.useRef(new Map),[P,T]=s.useState(new Set),C=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{T(u=>{let g=!1;const x=new Set(u);for(const N of r){const F=v.current.get(N.target);F&&(N.isIntersecting?x.has(F)||(x.add(F),g=!0):x.has(F)&&(x.delete(F),g=!0))}return g?x:u})},{rootMargin:"200px"});return C.current=t,n.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),C.current=null}},[]);const B=s.useCallback(t=>{const r=j.current.get(t);if(r)return r;const u=g=>{const x=n.current.get(t);x&&(C.current?.unobserve(x),v.current.delete(x)),g?(n.current.set(t,g),v.current.set(g,t),C.current?C.current.observe(g):T(N=>N.has(t)?N:new Set(N).add(t))):(n.current.delete(t),j.current.delete(t),T(N=>{if(!N.has(t))return N;const F=new Set(N);return F.delete(t),F}))};return j.current.set(t,u),u},[]),A=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:P.has(t),[P]),_=Cs()==="mobile",[I,U]=s.useState(()=>Pa(d)),[R,E]=s.useState("all"),{agents:M,stats:$,isLoading:Y,loadAgents:L,refreshAgents:be}=ws(d,{filterState:R,showSystemAgents:f}),[ae,le]=s.useState(!1),[oe,ue]=s.useState(null),[H,w]=s.useState(!1),[O,re]=s.useState(null),[xe,_e]=s.useState(null),He=_&&!!O,[Ce,ve]=s.useState("dashboard"),[se,Me]=s.useState(null),[Z,ge]=s.useState(!1),[W,ce]=s.useState(()=>{if(typeof window>"u")return"list";const t=bt("fn-agent-view",d);return t==="list"||t==="board"||t==="org"?t:"list"}),[fe,q]=s.useState(()=>{if(typeof window>"u")return"auto";const t=bt(Mt,d);return ka(t)?t:"auto"}),[we,Ye]=s.useState([]),[Ie,Le]=s.useState(!1),[Oe,it]=s.useState(0),[je,de]=s.useState(!1),[me,J]=s.useState(!1),[K,Ne]=s.useState(!1),[ye,Ae]=s.useState(!1),[Ve,Fe]=s.useState(0),[ze,o]=s.useState(0),[h,S]=s.useState({scale:1,x:0,y:0}),[G,Q]=s.useState(!1),ee=s.useRef(null),Se=s.useRef(null),Re=s.useRef(null),ot=s.useRef(new Map),Be=s.useRef([]),ne=s.useRef(new Map),Te=s.useRef(null),Ze=s.useRef(null),De=s.useRef(!1),{confirm:qe}=Ss(),Je=s.useRef(null),ct=s.useId();s.useEffect(()=>{U(Pa(d))},[d]),s.useEffect(()=>{const t=bt("fn-agent-view",d);if(t==="list"||t==="board"||t==="org"){ce(t);return}ce("list")},[d]),s.useEffect(()=>{Et("fn-agent-view",W,d)},[W,d]),s.useEffect(()=>{const t=bt(Mt,d);q(ka(t)?t:"auto")},[d]),s.useEffect(()=>{Et(Mt,fe,d)},[fe,d]);const c=s.useCallback(t=>{try{Et(za,String(t),d)}catch{}},[d]),k=s.useCallback(t=>{if(_)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const u=t.clientX,g=I;let x=g;document.body.style.userSelect="none";const N=X=>{const ie=X.clientX-u,b=Wt(g+ie);x=b,U(b)},F=X=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(X.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",N),document.removeEventListener("pointerup",F),c(x)};document.addEventListener("pointermove",N),document.addEventListener("pointerup",F)},[_,c,I]),ke=s.useCallback(t=>{if(_||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,u=t.key==="ArrowLeft"?-r:r,g=Wt(I+u);U(g),c(g)},[_,c,I]),[Yt,Ee]=s.useState(null),Ha=s.useRef(null),[Oa,Qe]=s.useState(null),[Zt,et]=s.useState(null),[qt,We]=s.useState({}),[dt,Jt]=s.useState(1),[Qt,ea]=s.useState(!1),[Ue,ta]=s.useState(new Set),[St,tt]=s.useState(new Map),xt=s.useRef(!0);s.useEffect(()=>(xt.current=!0,()=>{xt.current=!1}),[]),s.useEffect(()=>{As(d).then(t=>{xt.current&&Jt(t.heartbeatMultiplier??1)}).catch(()=>{})},[d]);const aa=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;Jt(r),ea(!0);try{await Rs({heartbeatMultiplier:r},d),l(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(u){l(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:pe(u)}),"error")}finally{xt.current&&ea(!1)}},[d,l]),ft=s.useMemo(()=>St.size===0?M:M.map(t=>{const r=St.get(t.id);return r?{...t,state:r}:t}),[M,St]),ut=s.useMemo(()=>ft.filter(t=>f||!pt(t)),[ft,f]),Va=s.useMemo(()=>ft.filter(t=>t.state!=="active"&&t.state!=="running"?!1:f||!pt(t)),[ft,f]),Ge=s.useMemo(()=>{if(f)return we;const t=r=>pt(r.agent)?null:{...r,children:r.children.map(t).filter(u=>u!==null)};return we.map(t).filter(r=>r!==null)},[we,f]);s.useEffect(()=>{if(W!=="org")return;const t=Se.current;if(!t)return;const r=()=>{it(t.clientWidth)};r();const u=typeof ResizeObserver<"u"?new ResizeObserver(r):null;return u?.observe(t),window.addEventListener("resize",r),()=>{u?.disconnect(),window.removeEventListener("resize",r)}},[W,Ge.length]),s.useEffect(()=>{if(W!=="org")return;let t=!1;return Le(!0),Ts(d,{includeEphemeral:f}).then(r=>{t||Ye(r)}).catch(r=>{t||(l(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:pe(r)}),"error"),Ye([]))}).finally(()=>{t||Le(!1)}),()=>{t=!0}},[W,d,f,l]),s.useEffect(()=>{const t=setInterval(()=>{L()},3e4);return()=>{clearInterval(t)}},[L]),s.useEffect(()=>{if(!je)return;let t=!1;Ae(!0),Vt(void 0,d).then(g=>{if(t)return;const x=g.filter(N=>!pt(N));Fe(x.filter(N=>N.state==="active"||N.state==="running").length),o(x.filter(N=>N.state==="paused").length)}).catch(g=>{t||(Fe(0),o(0),l(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:pe(g)}),"error"))}).finally(()=>{t||Ae(!1)});const r=g=>{const x=g.target;x&&(ee.current?.contains(x)||Je.current?.contains(x)||de(!1))},u=g=>{g.key==="Escape"&&(de(!1),Je.current?.focus())};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),document.addEventListener("keydown",u),()=>{t=!0,document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r),document.removeEventListener("keydown",u)}},[l,je,d]);const sa=async t=>{if(!K){Ne(!0);try{const u=(await Vt(void 0,d)).filter(z=>!pt(z)),g=u.filter(z=>t==="paused"?z.state==="active"||z.state==="running":z.state==="paused"),x=u.length-g.length;if(g.length===0){l(t==="paused"?a("agents.noAgentsToPause","No agents eligible to pause"):a("agents.noAgentsToResume","No agents eligible to resume"),"error");return}if(!await qe({title:t==="paused"?a("agents.pauseAllTitle","Pause All Agents"):a("agents.resumeAllTitle","Resume All Agents"),message:t==="paused"?a("agents.pauseAllConfirm",{count:g.length,defaultValue_one:"Pause {{count}} agent in this project?",defaultValue_other:"Pause {{count}} agents in this project?"}):a("agents.resumeAllConfirm",{count:g.length,defaultValue_one:"Resume {{count}} agent in this project?",defaultValue_other:"Resume {{count}} agents in this project?"}),danger:t==="paused"}))return;const F=await Promise.allSettled(g.map(z=>va(z.id,t,d))),X=F.map((z,$e)=>({result:z,agent:g[$e]})).filter(z=>z.result.status==="rejected"),ie=F.length-X.length,b=X.length,V=t==="paused"?a("agents.pausedSummary",{count:ie,skipped:x,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:ie,skipped:x,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(b>0){const z=X.slice(0,3).map(({agent:$e,result:ls})=>`${$e.name||$e.id}: ${pe(ls.reason)}`).join("; ");l(`${V}; failed ${b}${z?` (${z})`:""}`,"error")}else l(V,"success");await L()}catch(r){l(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:pe(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:pe(r)}),"error")}finally{Ne(!1)}}},gt=async(t,r)=>{if(!Ue.has(t)){ta(u=>new Set(u).add(t)),tt(u=>{const g=new Map(u);return g.set(t,r),g});try{await va(t,r,d),l(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await L(),tt(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){tt(g=>{const x=new Map(g);return x.delete(t),x}),l(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:pe(u)}),"error")}finally{ta(u=>{const g=new Set(u);return g.delete(t),g})}}},na=async(t,r)=>{if(await qe({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await Os(t,d),l(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await L()}catch(g){l(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:pe(g)}),"error")}},Ba=async(t,r)=>{const u=M.find(g=>g.id===t);if(u){if(u.role===r){Ee(null);return}try{await yt(t,{role:r},d),l(a("agents.roleUpdated","Agent role updated to {{role}}",{role:i.find(g=>g.value===r)?.label??r}),"success"),Ee(null),L()}catch(g){l(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:pe(g)}),"error")}}},Wa=(t,r)=>{t.key==="Escape"&&Ee(null)},Ua=async(t,r)=>{Zt===t.id&&(et(null),We(u=>{const g={...u};return delete g[t.id],g})),Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:r}},d),l(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:ja(r),name:t.name}),"success"),L()}catch(u){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(u)}),"error")}finally{Qe(null)}},la=async t=>{const r=qt[t.id]??"";if(r.trim()===""){l(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const u=Number(r);if(isNaN(u)){l(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(u<=0){l(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(u>=1&&u<5){Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:Vs}},d),l(a("agents.heartbeatClampedToMin",{count:u,defaultValue_one:"Heartbeat interval set to 5 minutes (minimum). {{count}} minute was below the 5-minute minimum.",defaultValue_other:"Heartbeat interval set to 5 minutes (minimum). {{count}} minutes was below the 5-minute minimum."}),"success"),et(null),We(x=>{const N={...x};return delete N[t.id],N}),L()}catch(x){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(x)}),"error")}finally{Qe(null)}return}const g=Math.round(u*6e4);Qe(t.id);try{await yt(t.id,{runtimeConfig:{...t.runtimeConfig??{},heartbeatIntervalMs:g}},d),l(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:ja(g),name:t.name}),"success"),et(null),We(x=>{const N={...x};return delete N[t.id],N}),L()}catch(x){l(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:pe(x)}),"error")}finally{Qe(null)}},Ga=t=>{const r=Dt(t.runtimeConfig?.heartbeatIntervalMs),u=Math.round(r/6e4);et(t.id),We(g=>({...g,[t.id]:String(u)}))},he=s.useCallback((t,r)=>{re(t),ve(r?.initialTab??"dashboard"),Me(r?.initialRunId??null),ge(r?.preferActiveRun??!1)},[]),Ke=s.useCallback(()=>{re(null),ve("dashboard"),Me(null),ge(!1)},[]),ra=s.useCallback(t=>{he(t)},[he]),Ka=s.useCallback(t=>{_e(t),he(t)},[he]),Xa=s.useCallback(async({agentId:t,deleted:r})=>{await be(),r&&O===t&&Ke()},[be,O,Ke]),Ya=s.useCallback(t=>{he(t),_&&J(!1)},[_,he]),Za=async(t,r)=>{tt(u=>{const g=new Map(u);return g.set(t,"running"),g});try{await Bs(t,d,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),l(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await L(),tt(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){tt(g=>{const x=new Map(g);return x.delete(t),x}),l(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:pe(u)}),"error")}},Xe=s.useCallback(t=>Math.min(fn,Math.max(xn,t)),[]),te=s.useCallback(t=>{const r=Se.current,u=Re.current?.querySelector(".agent-org-chart");if(!r||!u)return{...t,scale:Xe(t.scale)};const g=Xe(t.scale),x=u.scrollWidth*g,N=u.scrollHeight*g,F=r.clientWidth,X=r.clientHeight,ie=Math.min(nt,F-x-nt),b=nt,V=Math.min(nt,X-N-nt),z=nt;return{scale:g,x:Math.max(ie,Math.min(b,t.x)),y:Math.max(V,Math.min(z,t.y))}},[Xe]),vt=s.useCallback((t,r,u)=>{const g=Se.current;g&&S(x=>{const N=Xe(t),F=g.getBoundingClientRect(),X=r-F.left,ie=u-F.top,b=(X-x.x)/x.scale,V=(ie-x.y)/x.scale;return te({scale:N,x:X-b*N,y:ie-V*N})})},[Xe,te]),at=s.useCallback(()=>{const t=Se.current,r=Re.current?.querySelector(".agent-org-chart");if(!t||!r)return;const u=t.clientWidth,g=t.clientHeight,x=r.scrollWidth,N=r.scrollHeight;if(x<=0||N<=0)return;const F=Xe(Math.min(u/x,g/N,1)),X=(u-x*F)/2,ie=(g-N*F)/2;S(te({scale:F,x:X,y:ie}))},[Xe,te]),At=s.useCallback(t=>{ce(t),t!=="org"&&S({scale:1,x:0,y:0}),_&&O&&Ke()},[Ke,_,O]),ia=t=>i.find(r=>r.value===t)?.label??t,jt=s.useMemo(()=>qs({tree:Ge,availableWidth:Oe,preference:fe}),[Ge,fe,Oe]),oa=s.useCallback(t=>{q(t),S({scale:1,x:0,y:0})},[]);s.useEffect(()=>{S({scale:1,x:0,y:0}),De.current=!1},[d,jt]),s.useLayoutEffect(()=>{W!=="org"||Ie||Ge.length===0||De.current||(at(),De.current=!0)},[W,Ge.length,at,Ie]);const qa=s.useCallback((t,r)=>{r?ot.current.set(t,r):ot.current.delete(t)},[]),ca=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>S(t=>te({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(an,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(h.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>S(t=>te({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(en,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:at,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(Es,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>S(t=>te({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(Ps,{size:16}),a("agents.center","Center")]})]}),[te,at,h.scale]),Ja=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;vt(h.scale*r,t.clientX,t.clientY)},[h.scale,vt]),Qa=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),ne.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),ne.current.size===1){Te.current={x:t.clientX-h.x,y:t.clientY-h.y,pointerId:t.pointerId},Q(!0);return}if(ne.current.size===2){const u=Array.from(ne.current.values()),g=u[0].x-u[1].x,x=u[0].y-u[1].y;Ze.current={distance:Math.hypot(g,x),scale:h.scale,centerX:(u[0].x+u[1].x)/2,centerY:(u[0].y+u[1].y)/2},Te.current=null}},[h.scale,h.x,h.y]),es=s.useCallback(t=>{if(ne.current.has(t.pointerId)){if(ne.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),ne.current.size>=2){const r=Array.from(ne.current.values()),u=Ze.current;if(!u)return;const g=r[0].x-r[1].x,x=r[0].y-r[1].y,N=Math.hypot(g,x),F=u.scale*(N/u.distance);vt(F,u.centerX,u.centerY);return}!Te.current||Te.current.pointerId!==t.pointerId||S(r=>te({...r,x:t.clientX-Te.current.x,y:t.clientY-Te.current.y}))}},[te,vt]),da=s.useCallback(t=>{ne.current.delete(t.pointerId),ne.current.size<2&&(Ze.current=null),ne.current.size===0&&(Te.current=null,Q(!1))},[]),ts=s.useCallback(t=>{if(t.key==="ArrowLeft")S(r=>te({...r,x:r.x+kt}));else if(t.key==="ArrowRight")S(r=>te({...r,x:r.x-kt}));else if(t.key==="ArrowUp")S(r=>te({...r,y:r.y+kt}));else if(t.key==="ArrowDown")S(r=>te({...r,y:r.y-kt}));else if(t.key==="+"||t.key==="=")S(r=>te({...r,scale:r.scale*1.1}));else if(t.key==="-")S(r=>te({...r,scale:r.scale*.9}));else if(t.key==="0")at();else if(t.key==="Home")S({scale:1,x:0,y:0});else return;t.preventDefault()},[te,at]),ua=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(Ca,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(ba,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(lt,{size:16}),ariaLabel:a("agents.layoutAutoAria","Automatic layout")}];return e.jsx("div",{className:"agent-org-chart-layout-toggle","data-testid":"agent-org-chart-layout-toggle",children:t.map(r=>{const u=fe===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${u?" btn-icon--active":""}`,onClick:()=>oa(r.value),"aria-pressed":u,"aria-label":r.ariaLabel,title:r.ariaLabel,"data-layout-value":r.value,children:[r.icon,e.jsx("span",{className:"agent-org-chart-layout-toggle__text",children:r.label})]},r.value)})})},[oa,fe]),as=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Rt=t=>Hs(t,dt),ss=ye||K||Ve===0,ns=ye||K||ze===0,ga=Y&&M.length===0,mt=s.useCallback(()=>{le(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(_s,{icon:Ot,title:a("agents.title","Agents"),actions:e.jsxs("div",{className:"agents-view-controls",children:[e.jsxs("div",{className:"view-toggle",children:[e.jsx("button",{className:`view-toggle-btn${W==="list"?" active":""}`,onClick:()=>At("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":W==="list",children:e.jsx(ba,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="board"?" active":""}`,onClick:()=>At("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":W==="board",children:e.jsx(rt,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="org"?" active":""}`,onClick:()=>At("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":W==="org",children:e.jsx(Ca,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${je?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:Je,className:`btn-icon agent-controls-trigger${je?" agent-controls-trigger--active":""}`,onClick:()=>de(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":je,"aria-controls":ct,children:e.jsx(Ms,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void L(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(lt,{size:16,className:Y?"spin":void 0})}),!_&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{w(!0),de(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(Bt,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{mt(),de(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(xa,{size:16}),a("agents.newAgent","New Agent")]})]}),je&&e.jsxs("div",{ref:ee,id:ct,className:"agent-controls-panel agent-controls-panel--scrollable",role:"dialog","aria-label":a("agents.agentControls","Agent controls"),"aria-modal":"false",children:[e.jsx("div",{className:"agent-controls",children:e.jsxs("div",{className:"agent-controls-filters",children:[e.jsxs("div",{className:"agent-state-filter",children:[e.jsx(Is,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:R,onChange:t=>E(t.target.value),"aria-label":a("agents.filterByState","Filter agents by state"),children:[e.jsx("option",{value:"all",children:a("agents.stateAll","All States")}),e.jsx("option",{value:"idle",children:a("agents.stateIdle","Idle")}),e.jsx("option",{value:"active",children:a("agents.stateActive","Active")}),e.jsx("option",{value:"running",children:a("agents.stateRunning","Running")}),e.jsx("option",{value:"paused",children:a("agents.statePaused","Paused")}),e.jsx("option",{value:"error",children:a("agents.stateError","Error")})]})]}),e.jsxs("label",{className:"checkbox-label agent-system-filter",children:[e.jsx("input",{type:"checkbox",checked:f,onChange:t=>m(t.target.checked),"aria-label":a("agents.showSystemAgents","Show system agents")}),a("agents.showSystemAgents","Show system agents")]})]})}),_&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{w(!0),de(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(Bt,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{mt(),de(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(xa,{size:16}),a("agents.newAgent","New Agent")]})]}),e.jsxs("div",{className:"agent-controls-bulk-actions",role:"menu","aria-label":a("agents.bulkAgentActions","Bulk agent actions"),children:[e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ss,onClick:()=>{de(!1),sa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Pt,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:ye?a("agents.loadingEligibility","Loading eligibility…"):Ve===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:Ve,defaultValue_one:"Pause {{count}} active/running agent",defaultValue_other:"Pause {{count}} active/running agents"})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ns,onClick:()=>{de(!1),sa("active")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Nt,{}),e.jsx("span",{children:a("agents.resumeAllAgents","Resume All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:ye?a("agents.loadingEligibility","Loading eligibility…"):ze===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:ze,defaultValue_one:"Resume {{count}} paused agent",defaultValue_other:"Resume {{count}} paused agents"})})]})]}),e.jsx("div",{className:"agent-global-controls agent-controls-actions",children:e.jsxs("div",{className:"heartbeat-multiplier-group",children:[e.jsxs("div",{className:"heartbeat-multiplier-controls",children:[e.jsx("label",{htmlFor:"globalHeartbeatMultiplier",className:"heartbeat-multiplier-label",children:a("agents.heartbeatSpeed","Heartbeat Speed")}),e.jsx("input",{id:"globalHeartbeatMultiplier",className:"heartbeat-multiplier-slider touch-target",type:"range",min:.1,max:10,step:.1,value:dt,onChange:t=>{const r=Number(t.target.value);aa(Number.isFinite(r)&&r>0?r:1)},disabled:Qt}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",dt.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(zt.reduce((t,r)=>Math.abs(r-dt)<Math.abs(t-dt)?r:t,zt[0])),onChange:t=>{const r=Number(t.target.value);aa(Number.isFinite(r)&&r>0?r:1)},disabled:Qt,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:zt.map(t=>e.jsxs("option",{value:String(t),children:["×",t]},t))})]}),e.jsx("small",{className:"text-secondary",children:a("agents.heartbeatSpeedHint","Scales all agent heartbeat intervals. ×0.5 = twice as fast, ×2.0 = twice as slow. Default: ×1.0")})]})}),e.jsx(sn,{agents:ut})]})]})]})}),e.jsx(mn,{isOpen:ae,onClose:()=>{le(!1),ue(null)},onCreated:()=>{le(!1),ue(null),L()},projectId:d,prefillDraft:oe,agentOnboardingEnabled:p,existingAgents:M,onPrefillDraft:ue}),e.jsx(pn,{isOpen:H,onClose:()=>w(!1),onImported:()=>void L(),projectId:d}),e.jsx(un,{stats:$,activeAgents:Va,projectId:d,isOpen:me,onToggle:()=>J(t=>!t),onSelectAgent:Ya,onOpenTaskLogs:y}),W==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:O?e.jsxs("div",{className:"agents-org-detail-view","data-testid":"agents-org-detail-view",children:[e.jsx("button",{type:"button",className:"btn btn-sm agents-org-detail-back",onClick:Ke,"aria-label":a("agents.backToOrgChart","Back to org chart"),children:a("agents.backToOrgChart","Back to org chart")}),e.jsx(s.Suspense,{fallback:null,children:e.jsx(Ta,{inline:!0,showInlineBackButton:!1,agentId:O,projectId:d,onClose:Ke,addToast:l,onChildClick:ra,initialTab:Ce,initialRunId:se,preferActiveRun:Z},O)})]}):ga?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):e.jsxs("div",{className:"agent-org-chart-shell","data-testid":"agent-org-chart-shell",children:[_?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[ua(),ca()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[ua(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:ca()})]}),e.jsx("div",{ref:Se,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:Ja,onPointerDown:Qa,onPointerMove:es,onPointerUp:da,onPointerCancel:da,onKeyDown:ts,"data-panning":G?"true":"false",children:e.jsxs("div",{ref:Re,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((h.scale??1)*100)}`,"data-panning":G?"true":"false",style:{transform:`translate(${h.x}px, ${h.y}px) scale(${h.scale})`},children:[e.jsx("div",{className:`agent-org-chart${jt==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":jt,children:Ie?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Ge.length===0?e.jsx(Lt,{onCtaClick:mt}):(Be.current=[],Ge.map(t=>e.jsx($a,{node:t,onSelect:Ka,getHealthStatus:Rt,selectedAgentId:xe,registerNodeElement:qa,linksRef:Be},t.agent.id)))}),e.jsx(jn,{links:Be.current,nodeElements:ot.current,canvasRef:Re,viewportRef:Se,layoutMode:jt,transform:h})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:_?void 0:{gridTemplateColumns:`${I}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${He?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:ga?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(lt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):W==="board"?e.jsx("div",{className:"agent-board",children:ut.length===0?e.jsx(Lt,{onCtaClick:mt}):ut.map(t=>{const r=Rt(t),u=Kt(t,r,a),g=Ut(t.state),x=Gt("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${x}${O===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:B(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>he(t.id),role:"button",tabIndex:0,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.key===" "&&N.preventDefault(),he(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(wt,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:ia(t.role)}),e.jsx("span",{className:`agent-board-badge badge ${g}`,children:t.state}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"agent-board-badge badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null]}),e.jsx("div",{className:"agent-board-name",children:t.name}),e.jsx("div",{className:"agent-board-id",children:t.id}),t.taskId&&e.jsx($t,{taskId:t.taskId,isInViewport:A(`board:${t.id}`),projectId:d}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]})]}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("div",{className:"agent-board-actions",children:e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void na(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(fa,{size:14})})})]},t.id)})}):e.jsx("div",{className:"agent-list",children:ut.length===0?e.jsx(Lt,{onCtaClick:mt}):ut.map(t=>{const r=Rt(t),u=Kt(t,r,a),g=Ut(t.state),x=Gt("agent-card",t.state),N=Dt(t.runtimeConfig?.heartbeatIntervalMs),F=Ls(N),X=Oa===t.id,ie=vn(t);return e.jsxs("div",{ref:B(`list:${t.id}`),className:`agent-card agent-card--clickable ${x}${O===t.id?" agent-card--selected":""}`,onClick:b=>{const V=b.target;if(V===b.currentTarget){he(t.id);return}const z=V.closest('button, select, input, [role="button"]');z&&z!==b.currentTarget||he(t.id)},role:"button",tabIndex:0,onKeyDown:b=>{b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.key===" "&&b.preventDefault(),he(t.id))},"aria-label":a("agents.openDetails","Open details for {{name}}",{name:t.name}),children:[e.jsxs("div",{className:"agent-card-header",children:[e.jsxs("div",{className:"agent-info",children:[Yt===t.id?e.jsx("select",{ref:Ha,className:"select agent-role-select",value:t.role,onChange:b=>void Ba(t.id,b.target.value),onKeyDown:b=>Wa(b,t.id),onBlur:()=>Ee(null),autoFocus:!0,children:i.map(b=>e.jsxs("option",{value:b.value,children:[b.icon," ",b.label]},b.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:b=>{b.stopPropagation(),Ee(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.stopPropagation(),Ee(t.id))},children:e.jsx(wt,{agent:t,size:20})}),e.jsxs("div",{className:"agent-meta",children:[e.jsx("span",{className:"agent-name",children:t.name}),e.jsx("span",{className:"agent-id text-secondary",children:t.id})]}),e.jsx(Ma,{size:20,className:"agent-card-chevron"})]}),e.jsxs("div",{className:"agent-badges",children:[e.jsx("span",{className:`badge ${g}`,children:t.state}),e.jsxs("span",{className:"badge",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]}),e.jsx("span",{className:"badge text-secondary",children:ia(t.role)}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null,(()=>{const b=as(t);if(b.length===0)return null;const V=b.slice(0,2),z=b.length-2;return e.jsxs(e.Fragment,{children:[V.map($e=>e.jsx("span",{className:"badge badge-skill",title:$e,children:Xs($e)},$e)),z>0&&e.jsxs("span",{className:"badge badge-skill",children:["+",z]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[ie.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:ie.label??a("agents.auto","Auto"),children:ie.label??a("agents.auto","Auto")})]}),t.state==="error"&&t.lastError?e.jsx(Fs,{errorText:t.lastError,issueContext:{surface:"AgentsView list",agentId:t.id,agentName:t.name,agentState:t.state,taskId:t.taskId}}):null,t.taskId&&e.jsxs("div",{className:"agent-task",children:[e.jsx("span",{className:"text-secondary",children:a("agents.workingOn","Working on:")}),e.jsx("span",{className:"badge",children:e.jsx(_a,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx($t,{taskId:t.taskId,isInViewport:A(`list:${t.id}`),projectId:d})]}),e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),Zt===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:qt[t.id]??"",onChange:b=>We(V=>({...V,[t.id]:b.target.value})),onKeyDown:b=>{b.key==="Enter"?la(t):b.key==="Escape"&&(et(null),We(V=>{const z={...V};return delete z[t.id],z}))},disabled:X,"aria-label":a("agents.customHeartbeatAria","Custom heartbeat interval in minutes for {{name}}",{name:t.name})}),e.jsx("span",{className:"text-secondary",children:a("agents.minutesUnit","min")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>void la(t),disabled:X,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{et(null),We(b=>{const V={...b};return delete V[t.id],V})},disabled:X,title:a("agents.cancelCustomInterval","Cancel custom interval"),children:a("agents.cancel","Cancel")})]}):e.jsx(e.Fragment,{children:e.jsxs("select",{className:"select agent-heartbeat-select",value:N,onChange:b=>{const V=b.target.value;V==="__custom__"?Ga(t):Ua(t,Number(V))},disabled:X,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[F.map(b=>e.jsx("option",{value:b.value,children:b.label},b.value)),zs.some(b=>b.value===N)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),X&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const b=new Date(t.lastHeartbeatAt),V=new Date(b.getTime()+N),z=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:b.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:b.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),z&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:V.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:V.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})})]})})()]})]}),e.jsxs("div",{className:"agent-card-actions",children:[e.jsxs("div",{className:"agent-card-actions-group agent-card-actions-group--primary",children:[t.state==="idle"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.activate","Activate"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.start","Start")})]}),t.state==="active"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm",onClick:()=>void Za(t.id,t.name),disabled:Ue.has(t.id),title:a("agents.runNow","Run Now"),"aria-label":a("agents.runNowAria","Run now for {{name}}",{name:t.name}),children:[e.jsx(rt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.runNow","Run Now")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"paused"),disabled:Ue.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Pt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.pause","Pause")})]})]}),t.state==="paused"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.resume","Resume"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.resume","Resume")})]}),t.state==="running"&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm",onClick:()=>he(t.id,{initialTab:"runs",initialRunId:null,preferActiveRun:!0}),title:a("agents.viewLiveRun","View live run details"),"aria-label":a("agents.viewLiveRunAria","View live run details for {{name}}",{name:t.name}),children:[e.jsx(rt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"paused"),disabled:Ue.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Pt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.pause","Pause")})]})]}),t.state==="error"&&e.jsxs("button",{className:"btn btn-sm",onClick:()=>void gt(t.id,"active"),disabled:Ue.has(t.id),title:a("agents.retry","Retry"),children:[e.jsx(Nt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.retry","Retry")})]})]}),e.jsxs("div",{className:"agent-card-actions-group agent-card-actions-group--secondary",children:[e.jsxs("button",{className:"btn btn-sm agent-card-details-btn",onClick:()=>he(t.id),title:a("agents.viewDetailsFor","View details for {{name}}",{name:t.name}),"aria-label":a("agents.viewDetailsFor","View details for {{name}}",{name:t.name}),children:[e.jsx(Ds,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.details","Details")})]}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsxs("button",{className:"btn btn-sm btn-danger",onClick:()=>void na(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(fa,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!_&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":La,"aria-valuemax":Fa,"aria-valuenow":I,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:k,onKeyDown:ke}),e.jsx("div",{className:`agents-split-detail${_&&!O?" agents-split-detail--hidden-mobile":""}`,children:O?e.jsx(s.Suspense,{fallback:null,children:e.jsx(Ta,{inline:!0,showInlineBackButton:_,agentId:O,projectId:d,onClose:Ke,addToast:l,onChildClick:ra,initialTab:Ce,initialRunId:se,preferActiveRun:Z,onMutationSuccess:Xa},O)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(Ot,{size:48}),e.jsx("h3",{children:a("agents.selectAnAgent","Select an agent")}),e.jsx("p",{children:a("agents.selectAgentHint","Choose an agent from the sidebar to view details")})]})})]})]})}export{Mn as AgentsView};
@@ -1,4 +1,4 @@
1
- import{r as s,j as t,b as pi}from"./vendor-react-SZ_qB27O.js";import{c as vi,aq as Nt,ao as ht,ap as os,bx as la,d7 as bi,d8 as wi,d9 as Qn,au as q,da as xi,bw as jt,db as St,bq as rs,dc as yi,dd as ki,de as Ci,df as Mi,dg as Si,dh as Ri,bc as Ni,cL as cs,di as xe,aX as ji,bL as $a,bv as hn,dj as Ai,al as fn,dk as Ti,dl as Ei,dm as Di,bo as Ii,aI as Li,b1 as un,W as Pi,cU as Fi,dn as $i,dp as _i,f as Bi,aV as zi,dq as Oi,dr as _a,ds as Ba,dt as Ui,du as Hi,J as Ki,dv as Vi,dw as Wi,dx as Xi,dy as da,y as qi,q as Gi,u as Qi,dz as Yn,C as an,dA as on,dB as ua,v as ma,P as dt,V as Yi,bt as ha,cX as fa,cW as Ji,X as Zi,aH as eo,dC as to,x as ga,bK as no,dD as Jn,dE as pa,dF as Zn,dG as va,dH as ba,dI as so,dJ as ao,bI as wa}from"./index-BqLVwYoA.js";import{u as $e}from"./vendor-i18n-GF3RlKbq.js";import{SessionTerminal as xa}from"./SessionTerminal-BUw_FTlh.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";import"./shield-alert-CZg8yaFA.js";/**
1
+ import{r as s,j as t,b as pi}from"./vendor-react-SZ_qB27O.js";import{c as vi,aq as Nt,ao as ht,ap as os,bx as la,d7 as bi,d8 as wi,d9 as Qn,au as q,da as xi,bw as jt,db as St,bq as rs,dc as yi,dd as ki,de as Ci,df as Mi,dg as Si,dh as Ri,bc as Ni,cL as cs,di as xe,aX as ji,bL as $a,bv as hn,dj as Ai,al as fn,dk as Ti,dl as Ei,dm as Di,bo as Ii,aI as Li,b1 as un,W as Pi,cU as Fi,dn as $i,dp as _i,f as Bi,aV as zi,dq as Oi,dr as _a,ds as Ba,dt as Ui,du as Hi,J as Ki,dv as Vi,dw as Wi,dx as Xi,dy as da,y as qi,q as Gi,u as Qi,dz as Yn,C as an,dA as on,dB as ua,v as ma,P as dt,V as Yi,bt as ha,cX as fa,cW as Ji,X as Zi,aH as eo,dC as to,x as ga,bK as no,dD as Jn,dE as pa,dF as Zn,dG as va,dH as ba,dI as so,dJ as ao,bI as wa}from"./index-CE7C_XsS.js";import{u as $e}from"./vendor-i18n-GF3RlKbq.js";import{SessionTerminal as xa}from"./SessionTerminal-D00ByR6U.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-reactflow-9C3XTE7_.js";import"./vendor-xterm-BNq00GSj.js";import"./shield-alert-_iY63ED4.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{r as f,j as s,g as on,a as Vx,b as El,c as Ux}from"./vendor-react-SZ_qB27O.js";import{c as Ht,gB as qx,dz as uh,L as _l,h as gi,gC as bi,a as or,w as lr,gD as Ml,aa as Tl,gE as yu,R as Kt,ax as Wx,gF as Hx,aK as Gx,aR as xi,gG as dh,dQ as Xx,aV as fh,aW as mh,bp as Yx,aI as Il,c2 as Dl,c3 as Zx,gH as Jx,al as Qx,f3 as ej,gI as tj,ad as vh,gJ as rj,gK as nj,bI as gu,gL as bu,fh as aj,gg as xu,gM as ij,bc as To,gN as sj,gO as oj,gP as lj,gQ as cj,gh as uj,gR as dj,gS as fj,gT as mj,gd as vj,gU as hj,y as pj,aL as yj,gi as hh,gV as gj,bv as bj,u as xj,gW as jj,ar as wj,gX as ju,gY as Cj,gZ as kj,g_ as Sj,g$ as Pj,h0 as Nj,h1 as Oj,h2 as Rl,h3 as Ll,h4 as wu,cL as Ea,h5 as Cu,h6 as Io,h7 as ph,h8 as Do,bd as yh,bJ as gh,Y as Aj,c4 as bh,c$ as Ej,x as Ro,cT as _j,C as $l,P as _a,h9 as Mj,ha as Tj,v as Ij,ex as ku,X as Ca,E as Dj,p as Rj,a$ as Su,aG as Lj,hb as Pu,hc as $j,hd as Bj,he as Fj,hf as zj,dO as Kj,hg as Vj,hh as Uj}from"./index-BqLVwYoA.js";import{u as oe}from"./vendor-i18n-GF3RlKbq.js";import{a as xh,b as jh,p as qj,w as Wj}from"./vendor-reactflow-9C3XTE7_.js";import{w as wh,n as Ch,a as Ee,A as Bl,G as Hj,H as Gj,l as kh,t as ji,b as Pt,p as Lo,s as Ma,c as Sh,q as Xj,r as Yj,u as Zj,v as Jj,x as Qj,y as e0,z as t0,C as r0,D as n0,k as a0,E as i0,F as s0}from"./step-yuy0qJer.js";import{b as o0,p as l0}from"./band-CquvqAHh.js";import{d as Ta,n as c0,e as u0,f as $o,g as Rr,h as Fl,a as zl,i as Nu,j as zt,c as d0,k as wi,l as f0,m as m0}from"./linear-BX4tvjNK.js";import{i as dr,a as Gt}from"./init-Dmth1JHB.js";import{m as Ou,a as Au,p as v0,q as h0,u as p0,s as y0,r as g0,v as b0,w as x0,x as j0,y as w0,z as C0,A as k0,B as S0,t as P0}from"./time-DMMzMWYg.js";import{f as N0,b as O0}from"./defaultLocale-DX6XiGOO.js";import{i as A0,o as E0}from"./ordinal-DILIJJjt.js";import{r as _0}from"./agentsOrgChartLayout-BMvyuaLA.js";import{U as Kl}from"./upload-DMd3zMLx.js";import{S as M0}from"./shield-alert-CZg8yaFA.js";import{b as T0}from"./agent-import-generation-D6P8OUuV.js";import{r as I0,B as D0,R as R0,b as L0,a as $0}from"./ReportModal-DM9B_h_w.js";import{PluginManager as B0}from"./PluginManager-DBhJ1i27.js";import{v as F0}from"./projectDetection-G3XuxD2X.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-xterm-BNq00GSj.js";import"./DirectoryPicker-B2UVwp6F.js";import"./folder-open-C9qq38qV.js";/**
1
+ import{r as f,j as s,g as on,a as Vx,b as El,c as Ux}from"./vendor-react-SZ_qB27O.js";import{c as Ht,gA as qx,dz as uh,L as _l,h as gi,gB as bi,a as or,w as lr,gC as Ml,aa as Tl,gD as yu,R as Kt,ax as Wx,gE as Hx,aK as Gx,aR as xi,gF as dh,dQ as Xx,aV as fh,aW as mh,bp as Yx,aI as Il,c2 as Dl,c3 as Zx,gG as Jx,al as Qx,f3 as ej,gH as tj,ad as vh,gI as rj,gJ as nj,bI as gu,gK as bu,fg as aj,gf as xu,gL as ij,bc as To,gM as sj,gN as oj,gO as lj,gP as cj,gg as uj,gQ as dj,gR as fj,gS as mj,gc as vj,gT as hj,y as pj,aL as yj,gh as hh,gU as gj,bv as bj,u as xj,gV as jj,ar as wj,gW as ju,gX as Cj,gY as kj,gZ as Sj,g_ as Pj,g$ as Nj,h0 as Oj,h1 as Rl,h2 as Ll,h3 as wu,cL as Ea,h4 as Cu,h5 as Io,h6 as ph,h7 as Do,bd as yh,bJ as gh,Y as Aj,c4 as bh,c$ as Ej,x as Ro,cT as _j,C as $l,P as _a,h8 as Mj,h9 as Tj,v as Ij,ex as ku,X as Ca,E as Dj,p as Rj,a$ as Su,aG as Lj,ha as Pu,hb as $j,hc as Bj,hd as Fj,he as zj,dO as Kj,hf as Vj,hg as Uj}from"./index-CE7C_XsS.js";import{u as oe}from"./vendor-i18n-GF3RlKbq.js";import{a as xh,b as jh,p as qj,w as Wj}from"./vendor-reactflow-9C3XTE7_.js";import{w as wh,n as Ch,a as Ee,A as Bl,G as Hj,H as Gj,l as kh,t as ji,b as Pt,p as Lo,s as Ma,c as Sh,q as Xj,r as Yj,u as Zj,v as Jj,x as Qj,y as e0,z as t0,C as r0,D as n0,k as a0,E as i0,F as s0}from"./step-yuy0qJer.js";import{b as o0,p as l0}from"./band-CquvqAHh.js";import{d as Ta,n as c0,e as u0,f as $o,g as Rr,h as Fl,a as zl,i as Nu,j as zt,c as d0,k as wi,l as f0,m as m0}from"./linear-BX4tvjNK.js";import{i as dr,a as Gt}from"./init-Dmth1JHB.js";import{m as Ou,a as Au,p as v0,q as h0,u as p0,s as y0,r as g0,v as b0,w as x0,x as j0,y as w0,z as C0,A as k0,B as S0,t as P0}from"./time-DMMzMWYg.js";import{f as N0,b as O0}from"./defaultLocale-DX6XiGOO.js";import{i as A0,o as E0}from"./ordinal-DILIJJjt.js";import{r as _0}from"./agentsOrgChartLayout-BMvyuaLA.js";import{U as Kl}from"./upload-D0RrO65v.js";import{S as M0}from"./shield-alert-_iY63ED4.js";import{b as T0}from"./agent-import-generation-B2kYEm1O.js";import{r as I0,B as D0,R as R0,b as L0,a as $0}from"./ReportModal-CUlKMFWa.js";import{PluginManager as B0}from"./PluginManager-BACOwQAN.js";import{v as F0}from"./projectDetection-G3XuxD2X.js";import"./vendor-codemirror-jBKmHyH0.js";import"./vendor-xterm-BNq00GSj.js";import"./DirectoryPicker-fM8MJa2r.js";import"./folder-open-CwWtrDh6.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.