@runfusion/fusion 0.75.0-beta.0 → 0.75.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/bin.js +2858 -1801
  2. package/dist/child-process-worker.js +2650 -1824
  3. package/dist/client/.vite/manifest.json +249 -249
  4. package/dist/client/assets/{AgentDetailView-lS4k3-0w.js → AgentDetailView-C4Xpag_i.js} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-D7LB_f1m.js → AgentPermissionPolicyEditor-D-Fp7-sy.js} +1 -1
  6. package/dist/client/assets/{AgentsView-DwCNc9_x.js → AgentsView-BmFsoY1Q.js} +3 -3
  7. package/dist/client/assets/{ChatView-CVxDxKOu.js → ChatView-5KsB3BVO.js} +1 -1
  8. package/dist/client/assets/{CommandCenter-Da3AiDs-.js → CommandCenter-CacGI8AV.js} +1 -1
  9. package/dist/client/assets/{DevServerView-C0UWmEhO.js → DevServerView-DufjauVn.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-JH2ahFj8.js → DirectoryPicker-DvwqfQDS.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-BA4Pqnfr.js → DocumentsView-BbYJFIQ1.js} +1 -1
  12. package/dist/client/assets/{EvalsView-DW88MPta.js → EvalsView-NBC8kOc-.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-DOih_5nN.js → ExperimentalAgentOnboardingModal-C809yXXY.js} +1 -1
  14. package/dist/client/assets/{GoalsView-DDIorLyM.js → GoalsView-CpNO9eI0.js} +1 -1
  15. package/dist/client/assets/{InsightsView-B5VUUsmJ.js → InsightsView-Cahy5FcR.js} +1 -1
  16. package/dist/client/assets/{MemoryView-sDMj6cEL.js → MemoryView-BNJAQjqn.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-SpcPEzpg.js → PiExtensionsManager-DCHTyOmJ.js} +1 -1
  18. package/dist/client/assets/{PluginManager-lIMMAJYt.js → PluginManager-CBt-CqUz.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-BfAHOr3-.js → PullRequestView-Dsb9RwmX.js} +1 -1
  20. package/dist/client/assets/{ReportModal-6RDeUqQG.js → ReportModal-8FjZOcbC.js} +1 -1
  21. package/dist/client/assets/{ResearchView-BUGq2GsN.js → ResearchView-DlSG7dOd.js} +1 -1
  22. package/dist/client/assets/{SecretsView-CTwukpAq.js → SecretsView-BSajNE-f.js} +1 -1
  23. package/dist/client/assets/{SessionTerminal-Dspbb2NO.js → SessionTerminal-M2fIpHrL.js} +1 -1
  24. package/dist/client/assets/{SettingsModal-B6guaVe8.js → SettingsModal-DLcvlp44.js} +3 -3
  25. package/dist/client/assets/{SettingsModal-D2DahTWc.js → SettingsModal-z6gOf7dG.js} +1 -1
  26. package/dist/client/assets/{SettingsTextareaRow-BZZnVXGb.js → SettingsTextareaRow-DeC19053.js} +1 -1
  27. package/dist/client/assets/{SetupWizardModal-xTlxjulj.js → SetupWizardModal-BOjMePFh.js} +2 -2
  28. package/dist/client/assets/{SkillsView-CMG1fM0H.js → SkillsView-BSBEC-Xm.js} +1 -1
  29. package/dist/client/assets/{WorkflowNodeEditor-BBrY5D7F.js → WorkflowNodeEditor-DZ9-RBqo.js} +1 -1
  30. package/dist/client/assets/{agent-import-generation-DV3YE8Rc.js → agent-import-generation-COItiXMT.js} +1 -1
  31. package/dist/client/assets/{architectureDiagram-3BPJPVTR-gMbSnyDo.js → architectureDiagram-3BPJPVTR-BwlCePoB.js} +1 -1
  32. package/dist/client/assets/{blockDiagram-GPEHLZMM-BRPa9ADn.js → blockDiagram-GPEHLZMM-KKrLi9v4.js} +1 -1
  33. package/dist/client/assets/{c4Diagram-AAUBKEIU-BZhZDOqG.js → c4Diagram-AAUBKEIU-CkIDt_8M.js} +1 -1
  34. package/dist/client/assets/channel-CeYcnOtQ.js +1 -0
  35. package/dist/client/assets/{chunk-2J33WTMH-bcODs8jt.js → chunk-2J33WTMH-D9sbdaqY.js} +1 -1
  36. package/dist/client/assets/{chunk-4BX2VUAB-BRVq7S5r.js → chunk-4BX2VUAB-D3DtFoAY.js} +1 -1
  37. package/dist/client/assets/{chunk-55IACEB6-Cl7bhvca.js → chunk-55IACEB6-gxblxRIN.js} +1 -1
  38. package/dist/client/assets/{chunk-727SXJPM-B9loHJy3.js → chunk-727SXJPM-D0AEDoHN.js} +1 -1
  39. package/dist/client/assets/{chunk-AQP2D5EJ-CFA8hWsC.js → chunk-AQP2D5EJ-BweoM7qY.js} +1 -1
  40. package/dist/client/assets/{chunk-FMBD7UC4-Buu3h7wx.js → chunk-FMBD7UC4-sjblhrjI.js} +1 -1
  41. package/dist/client/assets/{chunk-ND2GUHAM-DN_GDbIs.js → chunk-ND2GUHAM-CYuRENSs.js} +1 -1
  42. package/dist/client/assets/{chunk-QZHKN3VN-1t7Gs0aF.js → chunk-QZHKN3VN-CFKJr4kG.js} +1 -1
  43. package/dist/client/assets/classDiagram-4FO5ZUOK-CZwh2k1X.js +1 -0
  44. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CZwh2k1X.js +1 -0
  45. package/dist/client/assets/{cose-bilkent-S5V4N54A-QqcFhiY1.js → cose-bilkent-S5V4N54A-6Jb6SgHM.js} +1 -1
  46. package/dist/client/assets/{dagre-BM42HDAG-DjGM9BIi.js → dagre-BM42HDAG-FQJ87Ol3.js} +1 -1
  47. package/dist/client/assets/{dashboard-view-BO_R8jyX.js → dashboard-view-B1Rq2-73.js} +1 -1
  48. package/dist/client/assets/{dashboard-view-CxXlYApd.js → dashboard-view-DH1Zo0m4.js} +1 -1
  49. package/dist/client/assets/{dashboard-view-UqmC6VTb.js → dashboard-view-DVMZNVoc.js} +1 -1
  50. package/dist/client/assets/{dashboard-view-C6rmfIOU.js → dashboard-view-DgLbkn5n.js} +1 -1
  51. package/dist/client/assets/{diagram-2AECGRRQ-BmCGpU8P.js → diagram-2AECGRRQ-CKYOu9to.js} +1 -1
  52. package/dist/client/assets/{diagram-5GNKFQAL-CKRL1dki.js → diagram-5GNKFQAL-DPwjFnde.js} +1 -1
  53. package/dist/client/assets/{diagram-KO2AKTUF-DE9deYyi.js → diagram-KO2AKTUF-DzZS9Nk3.js} +1 -1
  54. package/dist/client/assets/{diagram-LMA3HP47-BmUGF67J.js → diagram-LMA3HP47-DW9e5YSP.js} +1 -1
  55. package/dist/client/assets/{diagram-OG6HWLK6-DLUATSuY.js → diagram-OG6HWLK6-C7V3Mj63.js} +1 -1
  56. package/dist/client/assets/{erDiagram-TEJ5UH35-nl31ZyQ8.js → erDiagram-TEJ5UH35-DSQzBA0e.js} +1 -1
  57. package/dist/client/assets/{flowDiagram-I6XJVG4X-BZdpCw1-.js → flowDiagram-I6XJVG4X-BUuOq9tO.js} +1 -1
  58. package/dist/client/assets/{folder-open-DKvxGzrx.js → folder-open-DXNu4ED4.js} +1 -1
  59. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DLsqztRx.js → ganttDiagram-6RSMTGT7-Bc32G_Ef.js} +1 -1
  60. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-Dk_Sy9NG.js → gitGraphDiagram-PVQCEYII-Cvfa0W6a.js} +1 -1
  61. package/dist/client/assets/index-C5YdAqNQ.js +2767 -0
  62. package/dist/client/assets/index-DHk_s6rA.css +1 -0
  63. package/dist/client/assets/{infoDiagram-5YYISTIA-DoQ0ID21.js → infoDiagram-5YYISTIA-TqRUTfvy.js} +1 -1
  64. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-By5pgTzr.js → ishikawaDiagram-YF4QCWOH-D33iop1_.js} +1 -1
  65. package/dist/client/assets/{journeyDiagram-JHISSGLW-296a-u4u.js → journeyDiagram-JHISSGLW-DH-TDR5Y.js} +1 -1
  66. package/dist/client/assets/{kanban-definition-UN3LZRKU-CgcRr3lQ.js → kanban-definition-UN3LZRKU-CAcebzyW.js} +1 -1
  67. package/dist/client/assets/{mermaid.core-BMcqO-oY.js → mermaid.core-C3Nh1Sak.js} +4 -4
  68. package/dist/client/assets/{mindmap-definition-RKZ34NQL-C6poaNyh.js → mindmap-definition-RKZ34NQL-CSIccWV8.js} +1 -1
  69. package/dist/client/assets/{pieDiagram-4H26LBE5-D5kkHa4c.js → pieDiagram-4H26LBE5-hXJ3G3MR.js} +1 -1
  70. package/dist/client/assets/{puzzle-Dn0zAogb.js → puzzle-DI3elldh.js} +1 -1
  71. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-XYE61FOQ.js → quadrantDiagram-W4KKPZXB-B3wpvneC.js} +1 -1
  72. package/dist/client/assets/{requirementDiagram-4Y6WPE33-ChSV14Ej.js → requirementDiagram-4Y6WPE33-DPpYL2ca.js} +1 -1
  73. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-ToxhxAPY.js → sankeyDiagram-5OEKKPKP-BS9QXSEF.js} +1 -1
  74. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-shNTGnMF.js → sequenceDiagram-3UESZ5HK-C_fqU0MW.js} +1 -1
  75. package/dist/client/assets/{shield-alert-DoqrZ4qS.js → shield-alert-CzZYSqmH.js} +1 -1
  76. package/dist/client/assets/{standing-instructions-template-CbBEfZ8s.js → standing-instructions-template-CsXA4WMZ.js} +1 -1
  77. package/dist/client/assets/{stateDiagram-AJRCARHV-CRNXfwiP.js → stateDiagram-AJRCARHV-DbSZrprS.js} +1 -1
  78. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-atxeIHh0.js → stateDiagram-v2-BHNVJYJU-Cf_ckwmM.js} +1 -1
  79. package/dist/client/assets/{timeline-definition-PNZ67QCA-CguHqKR6.js → timeline-definition-PNZ67QCA-B1ohvKjs.js} +1 -1
  80. package/dist/client/assets/{upload-BF3YtpBl.js → upload-D7nNe9wD.js} +1 -1
  81. package/dist/client/assets/{users-CN7wFV_l.js → users-B79Dvre4.js} +1 -1
  82. package/dist/client/assets/{vennDiagram-CIIHVFJN-BpgXesnN.js → vennDiagram-CIIHVFJN-CxZYCQ72.js} +1 -1
  83. package/dist/client/assets/{wardley-L42UT6IY-4QN1B18l.js → wardley-L42UT6IY-clJem8VU.js} +1 -1
  84. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BuYjCimN.js → wardleyDiagram-YWT4CUSO-zE8lyaWe.js} +1 -1
  85. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DL8viWGe.js → xychartDiagram-2RQKCTM6-DsdjuSxQ.js} +1 -1
  86. package/dist/client/index.html +2 -2
  87. package/dist/client/version.json +1 -1
  88. package/dist/droid-cli/package.json +1 -1
  89. package/dist/extension.js +2594 -1746
  90. package/dist/migrations/0000_initial.sql +1 -0
  91. package/dist/migrations/0043_fn8768_dispatch_dedupe.sql +17 -0
  92. package/dist/migrations/0044_fn_8785_queued_episode_signature.sql +3 -0
  93. package/dist/pi-claude-cli/package.json +1 -1
  94. package/dist/plugin-sdk/index.d.ts +38 -1
  95. package/dist/plugin-sdk/index.js +71 -20
  96. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +71 -20
  97. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  98. package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +71 -20
  99. package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
  100. package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +71 -20
  101. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  102. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +71 -20
  103. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  104. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +71 -20
  105. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  106. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +71 -20
  107. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  108. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +71 -20
  109. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  110. package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +71 -20
  111. package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
  112. package/dist/plugins/fusion-plugin-hermes-runtime/.bundled.reload-3.js +19167 -0
  113. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +71 -20
  114. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  115. package/dist/plugins/fusion-plugin-linear-import/bundled.js +71 -20
  116. package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
  117. package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +71 -20
  118. package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
  119. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +71 -20
  120. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  121. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +71 -20
  122. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  123. package/dist/plugins/fusion-plugin-quality/bundled.js +71 -20
  124. package/dist/plugins/fusion-plugin-quality/package.json +1 -1
  125. package/dist/plugins/fusion-plugin-reports/bundled.js +71 -20
  126. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  127. package/dist/plugins/fusion-plugin-roadmap/bundled.js +71 -20
  128. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  129. package/dist/plugins/fusion-plugin-todos/bundled.js +71 -20
  130. package/dist/plugins/fusion-plugin-todos/package.json +1 -1
  131. package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +71 -20
  132. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  133. package/package.json +1 -1
  134. package/dist/client/assets/channel-CcVVD2V-.js +0 -1
  135. package/dist/client/assets/classDiagram-4FO5ZUOK-Bdeei39Q.js +0 -1
  136. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bdeei39Q.js +0 -1
  137. package/dist/client/assets/index-DTimvpMD.js +0 -2685
  138. package/dist/client/assets/index-DjY0GTMz.css +0 -1
@@ -1,4 +1,4 @@
1
- import{r as a,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ts,bI as aa,bJ as na,bK as ia,bL as ra,L as J,bM as Mt,R as Et,bF as ps,Z as la,bG as Bt,bN as Es,x as vt,C as Ls,g as Ds,bO as oa,bP as ca,bQ as da,ab as Hs,aX as ua,bR as ma,bS as U,bT as ga,bU as ha,bV as fa,bW as zs,bX as Zt,bY as pa,bZ as Ft,b_ as $t,be as At,F as bs,b$ as Is,am as Os,c0 as _t,bC as Pt,c1 as xs,c2 as it,c3 as ba,X as Bs,aH as jt,c4 as xa,c5 as $s,c6 as _s,c7 as va,_ as ja,u as ya,c8 as Us,aR as Vs,c9 as ss,ca as Na,cb as vs,cc as Sa,cd as ka,ce as Qt,cf as Ws,cg as Ca,d as wa,ch as Ra,h as Gs,ci as Js,b4 as Ma,an as pe,cj as js,ck as ys,cl as Aa,cm as Fa,cn as Pa,co as Ta,cp as Lt,p as Dt,j as Ht,r as zt,aA as qs,cq as Ea,cr as La,aK as Da,cs as Ut,ct as Ha,cu as za,bA as Ia,cv as Oa,cw as Vt,cx as Ba,cy as $a,bE as _a,aJ as Ua,cz as es,y as Va,cA as as,cB as Wa,cC as Ga,cD as Ja,cE as qa,cF as Ka,cG as Ya,aB as Ks,cH as Xa,cI as Za,cJ as Qa,cK as en,cL as tn}from"./index-DTimvpMD.js";import{B as sn,A as Ns,a as an}from"./AgentPermissionPolicyEditor-D7LB_f1m.js";import{u as Ne}from"./vendor-i18n-Duky4gdQ.js";import{f as Wt,S as nn,a as rn}from"./standing-instructions-template-CbBEfZ8s.js";import{ExperimentalAgentOnboardingModal as ln}from"./ExperimentalAgentOnboardingModal-DOih_5nN.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.js";import"./vendor-xterm-BNq00GSj.js";/**
1
+ import{r as a,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ts,bI as aa,bJ as na,bK as ia,bL as ra,L as J,bM as Mt,R as Et,bF as ps,Z as la,bG as Bt,bN as Es,x as vt,C as Ls,g as Ds,bO as oa,bP as ca,bQ as da,ab as Hs,aX as ua,bR as ma,bS as U,bT as ga,bU as ha,bV as fa,bW as zs,bX as Zt,bY as pa,bZ as Ft,b_ as $t,be as At,F as bs,b$ as Is,am as Os,c0 as _t,bC as Pt,c1 as xs,c2 as it,c3 as ba,X as Bs,aH as jt,c4 as xa,c5 as $s,c6 as _s,c7 as va,_ as ja,u as ya,c8 as Us,aR as Vs,c9 as ss,ca as Na,cb as vs,cc as Sa,cd as ka,ce as Qt,cf as Ws,cg as Ca,d as wa,ch as Ra,h as Gs,ci as Js,b4 as Ma,an as pe,cj as js,ck as ys,cl as Aa,cm as Fa,cn as Pa,co as Ta,cp as Lt,p as Dt,j as Ht,r as zt,aA as qs,cq as Ea,cr as La,aK as Da,cs as Ut,ct as Ha,cu as za,bA as Ia,cv as Oa,cw as Vt,cx as Ba,cy as $a,bE as _a,aJ as Ua,cz as es,y as Va,cA as as,cB as Wa,cC as Ga,cD as Ja,cE as qa,cF as Ka,cG as Ya,aB as Ks,cH as Xa,cI as Za,cJ as Qa,cK as en,cL as tn}from"./index-C5YdAqNQ.js";import{B as sn,A as Ns,a as an}from"./AgentPermissionPolicyEditor-D-Fp7-sy.js";import{u as Ne}from"./vendor-i18n-Duky4gdQ.js";import{f as Wt,S as nn,a as rn}from"./standing-instructions-template-CsXA4WMZ.js";import{ExperimentalAgentOnboardingModal as ln}from"./ExperimentalAgentOnboardingModal-C809yXXY.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.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-DTimvpMD.js";import{r as h,j as e}from"./vendor-react-SZ_qB27O.js";import{u as F}from"./vendor-i18n-Duky4gdQ.js";/**
1
+ import{c as B}from"./index-C5YdAqNQ.js";import{r as h,j as e}from"./vendor-react-SZ_qB27O.js";import{u as F}from"./vendor-i18n-Duky4gdQ.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-lS4k3-0w.js","assets/vendor-react-SZ_qB27O.js","assets/index-DTimvpMD.js","assets/vendor-i18n-Duky4gdQ.js","assets/vendor-codemirror-CcrtqoCy.js","assets/vendor-reactflow-BlIeoTu4.js","assets/vendor-reactflow-BnuhLJ6X.css","assets/vendor-xterm-BNq00GSj.js","assets/vendor-xterm-LZoznX6r.css","assets/index-DjY0GTMz.css","assets/AgentPermissionPolicyEditor-D7LB_f1m.js","assets/AgentPermissionPolicyEditor-CXib-igK.css","assets/standing-instructions-template-CbBEfZ8s.js","assets/standing-instructions-template-Ddi_4TIk.css","assets/ExperimentalAgentOnboardingModal-DOih_5nN.js","assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css","assets/AgentDetailView-C8-9_SOC.css"])))=>i.map(i=>d[i]);
2
- import{c as la,bC as ht,df as Cs,an as Pt,Z as Ss,dg as As,be as Rs,bU as Es,dh as Ts,ch as Zt,di as _s,c8 as Wa,dj as qt,aH as Jt,az as Ps,C as Ms,g as Ga,c9 as Qt,cW as Ka,F as Xa,ct as Is,bA as Ls,bZ as Mt,dk as Hs,ad as Ds,aj as Fs,B as zs,am as It,dl as Aa,cf as $s,aJ as Ra,bE as Os,ak as Vs,al as Bs,dm as Us,aI as Ws,L as $t,a$ as jt,R as gt,X as Ea,dn as Gs,dp as Ks,dq as kt,ab as Xs,dr as Ot,aX as Ys,aY as Zs,bS as ie,b_ as Ie,ds as qs,cs as mt,c$ as Js,dt as Qs,du as Ta,V as en,dv as tn,P as _a,dw as an,c1 as Tt,c0 as Nt,x as Pa,dx as sn,cE as nn,dy as ln,dz as rn,cb as Ma,cw as ct,cv as yt,a3 as on,ca as cn,cd as dn,dA as un,ci as Ia,cc as gn}from"./index-DTimvpMD.js";import{r as s,j as e,b as mn}from"./vendor-react-SZ_qB27O.js";import{u as _e}from"./vendor-i18n-Duky4gdQ.js";import{c as Vt,s as hn,g as pn,f as La}from"./agent-import-generation-DV3YE8Rc.js";import{w as Ha,a as bn,f as xn}from"./standing-instructions-template-CbBEfZ8s.js";import{ExperimentalAgentOnboardingModal as fn}from"./ExperimentalAgentOnboardingModal-DOih_5nN.js";import{U as ea}from"./upload-BF3YtpBl.js";import{F as vn}from"./folder-open-DKvxGzrx.js";import{O as Bt,i as Da,r as jn}from"./agentsOrgChartLayout-BMvyuaLA.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.js";import"./vendor-xterm-BNq00GSj.js";/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AgentDetailView-C4Xpag_i.js","assets/vendor-react-SZ_qB27O.js","assets/index-C5YdAqNQ.js","assets/vendor-i18n-Duky4gdQ.js","assets/vendor-codemirror-CcrtqoCy.js","assets/vendor-reactflow-BlIeoTu4.js","assets/vendor-reactflow-BnuhLJ6X.css","assets/vendor-xterm-BNq00GSj.js","assets/vendor-xterm-LZoznX6r.css","assets/index-DHk_s6rA.css","assets/AgentPermissionPolicyEditor-D-Fp7-sy.js","assets/AgentPermissionPolicyEditor-CXib-igK.css","assets/standing-instructions-template-CsXA4WMZ.js","assets/standing-instructions-template-Ddi_4TIk.css","assets/ExperimentalAgentOnboardingModal-C809yXXY.js","assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css","assets/AgentDetailView-C8-9_SOC.css"])))=>i.map(i=>d[i]);
2
+ import{c as la,bC as ht,df as Cs,an as Pt,Z as Ss,dg as As,be as Rs,bU as Es,dh as Ts,ch as Zt,di as _s,c8 as Wa,dj as qt,aH as Jt,az as Ps,C as Ms,g as Ga,c9 as Qt,cW as Ka,F as Xa,ct as Is,bA as Ls,bZ as Mt,dk as Hs,ad as Ds,aj as Fs,B as zs,am as It,dl as Aa,cf as $s,aJ as Ra,bE as Os,ak as Vs,al as Bs,dm as Us,aI as Ws,L as $t,a$ as jt,R as gt,X as Ea,dn as Gs,dp as Ks,dq as kt,ab as Xs,dr as Ot,aX as Ys,aY as Zs,bS as ie,b_ as Ie,ds as qs,cs as mt,c$ as Js,dt as Qs,du as Ta,V as en,dv as tn,P as _a,dw as an,c1 as Tt,c0 as Nt,x as Pa,dx as sn,cE as nn,dy as ln,dz as rn,cb as Ma,cw as ct,cv as yt,a3 as on,ca as cn,cd as dn,dA as un,ci as Ia,cc as gn}from"./index-C5YdAqNQ.js";import{r as s,j as e,b as mn}from"./vendor-react-SZ_qB27O.js";import{u as _e}from"./vendor-i18n-Duky4gdQ.js";import{c as Vt,s as hn,g as pn,f as La}from"./agent-import-generation-COItiXMT.js";import{w as Ha,a as bn,f as xn}from"./standing-instructions-template-CsXA4WMZ.js";import{ExperimentalAgentOnboardingModal as fn}from"./ExperimentalAgentOnboardingModal-C809yXXY.js";import{U as ea}from"./upload-D7nNe9wD.js";import{F as vn}from"./folder-open-DXNu4ED4.js";import{O as Bt,i as Da,r as jn}from"./agentsOrgChartLayout-BMvyuaLA.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.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:c=>{v("paste"),w([]),_(c.target.value),V(null)},rows:8,"aria-label":o("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:o("agents.currentInput","Current input: {{method}}",{method:l})}),me&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(jt,{size:14}),me]})]}),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:o("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:O})]}),C.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:C.map((c,y)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(jt,{size:12}),e.jsx("span",{children:c})]},y))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Jt,{size:14}),e.jsx("span",{children:o("agents.agentsFound","{{count}} agent{{plural}} found",{count:U.length,plural:U.length!==1?"s":""})})]}),U.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>D(U.map(c=>c.name)),children:o("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>D([]),children:o("agents.clearAgents","Clear agents")})]}),U.length>0?e.jsx("div",{className:"agent-import-agent-list",children:U.map((c,y)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":o("agents.selectAgent","Select agent {{name}}",{name:c.name}),checked:P.includes(c.name),onChange:()=>ze(c.name)})}),e.jsx("span",{className:"agent-import-agent-icon",children:c.icon||"🤖"}),e.jsxs("div",{className:"agent-import-agent-details",children:[e.jsx("span",{className:"agent-import-agent-name",children:c.name}),e.jsxs("span",{className:"agent-import-agent-meta",children:[c.title&&e.jsxs("span",{className:"agent-import-agent-title",children:[c.title," · "]}),e.jsx("span",{className:"agent-import-agent-role",children:c.role}),c.reportsTo&&e.jsx("span",{className:"agent-import-agent-reports",children:o("agents.importReportsTo"," · reports to {{agent}}",{agent:c.reportsTo})}),c.skills&&c.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:o("agents.importSkills"," · skills: {{skills}}",{skills:c.skills.join(", ")})})]}),c.instructionsText&&e.jsxs("span",{className:"agent-import-agent-instructions",children:[c.instructionsText.slice(0,100),c.instructionsText.length>100?"...":""]})]})]},y))}):e.jsx("p",{className:"agent-import-empty",children:o("agents.noAgentsFound","No agents found in the manifest.")}),L.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Jt,{size:14}),e.jsx("span",{children:o("agents.skillsFound","{{count}} skill{{plural}} found",{count:L.length,plural:L.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H(L.map(c=>c.name)),children:o("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H([]),children:o("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:L.map((c,y)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":o("agents.selectSkill","Select skill {{name}}",{name:c.name}),checked:Z.includes(c.name),onChange:()=>$e(c.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:c.name}),c.description&&e.jsx("span",{className:"agent-import-skill-description",children:c.description})]})]},`${c.name}-${y}`))})]}),ce&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(jt,{size:14}),ce]})]}),f==="result"&&A&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(Pt,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:o("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[o("agents.from","From")," ",e.jsx("strong",{children:A.companyName??"Unknown"})]}),e.jsxs("div",{className:"agent-import-result-stats",children:[A.created.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:o("agents.resultCreated","{{count}} created",{count:A.created.length})})}),A.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.resultSkipped","{{count}} skipped (already exist)",{count:A.skipped.length})})}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:o("agents.resultErrors","{{count}} error{{plural}}",{count:A.errors.length,plural:A.errors.length!==1?"s":""})})})]}),A.created.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:A.created.map((c,y)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Pt,{size:12}),e.jsx("span",{children:c.name})]},y))}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.errors.map((c,y)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(Ea,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},y))}),A.warnings&&A.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:A.warnings.map((c,y)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(jt,{size:12}),e.jsx("span",{children:c})]},y))}),A.skills&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"agent-import-result-divider"}),e.jsx("h4",{className:"agent-import-result-section-title",children:o("agents.skills","Skills")}),e.jsxs("div",{className:"agent-import-result-stats",children:[A.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:o("agents.skillsImported","{{count}} skill{{plural}} imported",{count:A.skills.imported.length,plural:A.skills.imported.length!==1?"s":""})})}),A.skills.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.skillsSkipped","{{count}} skill{{plural}} skipped (already exist)",{count:A.skills.skipped.length,plural:A.skills.skipped.length!==1?"s":""})})}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:o("agents.skillsErrors","{{count}} skill{{plural}} error{{pluralError}}",{count:A.skills.errors.length,plural:A.skills.errors.length!==1?"s":"",pluralError:A.skills.errors.length!==1?"s":""})})}),A.skills.imported.length===0&&A.skills.skipped.length===0&&A.skills.errors.length===0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.noSkillsInPackage","No skills in package")})})]}),A.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:A.skills.imported.map((c,y)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Pt,{size:12}),e.jsx("span",{children:c.name})]},y))}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.skills.errors.map((c,y)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(Ea,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},y))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[f==="preview"&&e.jsx("button",{className:"btn",onClick:()=>m("input"),disabled:oe,children:o("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Fe,disabled:oe,children:f==="result"?o("agents.close","Close"):o("agents.cancel","Cancel")}),f==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void le(),disabled:je||(l==="directory"?T.length===0:l==="browse"?!J:!j.trim()),children:je?e.jsxs(e.Fragment,{children:[e.jsx($t,{size:14,className:"spin"}),o("agents.parsing","Parsing...")]}):o("agents.preview","Preview")}),f==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void pe(),disabled:oe||ee===0&&G===0,children:oe?e.jsxs(e.Fragment,{children:[e.jsx($t,{size:14,className:"spin"}),Ue]}):o("agents.importButton","Import {{label}}",{label:Pe})})]})]})}):null}const Va=s.lazy(()=>on(()=>import("./AgentDetailView-lS4k3-0w.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(n=>({default:n.AgentDetailView})));function Fn(n){return[{value:"triage",label:n("agents.roleTriage","Triage"),icon:"⊕"},{value:"executor",label:n("agents.roleExecutor","Executor"),icon:"▶"},{value:"reviewer",label:n("agents.roleReviewer","Reviewer"),icon:"⊙"},{value:"merger",label:n("agents.roleMerger","Merger"),icon:"⊞"},{value:"scheduler",label:n("agents.roleScheduler","Scheduler"),icon:"◷"},{value:"engineer",label:n("agents.roleEngineer","Engineer"),icon:"⎔"},{value:"custom",label:n("agents.roleCustom","Custom"),icon:"✦"}]}const Xt=[.1,.25,.5,1,2,3,5,10],Yt="__disabled__",zn=.25,$n=3,_t=16,ut=32,Ba=320,Ya=260,Za=520,qa="kb-dashboard-agents-sidebar-width";function ta(n){return Math.max(Ya,Math.min(Za,n))}function Ua(n){if(typeof window>"u")return Ba;const i=kt(qa,n),N=i?Number(i):NaN;return Number.isFinite(N)?ta(N):Ba}function aa(n){switch(n){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 sa(n,i){switch(i){case"running":return`${n}--running`;case"active":return`${n}--active`;case"paused":return`${n}--paused`;case"error":return`${n}--error`;case"idle":default:return`${n}--idle`}}function On(n){const i=n.runtimeConfig??{},N=typeof i.runtimeHint=="string"?i.runtimeHint:"";if(N)return{label:N,isRuntime:!0};const p=typeof i.modelProvider=="string"?i.modelProvider:"",a=typeof i.modelId=="string"?i.modelId:"";if(p&&a)return{label:`${p}/${a}`,isRuntime:!1};const o=typeof i.model=="string"?i.model:"";if(o.includes("/")){const f=o.indexOf("/");return{label:o.slice(f+1),isRuntime:!1}}return{label:null,isRuntime:!1}}function Ja(n){return n.children.length===0?1:n.children.reduce((i,N)=>i+Ja(N),0)}function na(n,i,N){return n.state==="error"?{title:void 0,label:N("agents.healthError","Error")}:{title:i.reason??i.label,label:i.stateDerived?null:i.label}}function Vn({agent:n,pending:i,onToggle:N}){const{t:p}=_e("app");if(Ie(n))return null;const a=mt(n),o=a?p("agents.disableHeartbeat","Disable heartbeat"):p("agents.enableHeartbeat","Enable heartbeat");return e.jsx("button",{type:"button",className:"btn btn-sm agent-heartbeat-toggle",disabled:i,"aria-pressed":a,"aria-label":p("agents.heartbeatActionForAgent","{{action}} for {{name}}",{action:o,name:n.name}),onClick:f=>{f.stopPropagation(),N(n)},children:i?p("agents.heartbeatUpdating","Updating heartbeat…"):o})}function Qa({node:n,onSelect:i,getHealthStatus:N,selectedAgentId:p,registerNodeElement:a,linksRef:o}){const{t:f}=_e("app"),{agent:m,children:l}=n,v=N(m),j=na(m,v,f),_=aa(m.state),T=sa("org-chart-node-card",m.state),w=Ja(n),O={"--org-chart-subtree-leaves":String(w)};return e.jsxs("div",{className:`org-chart-node${l.length>0?" org-chart-node--has-children":""}`,style:O,children:[e.jsxs("div",{ref:R=>a(m.id,R),"data-agent-id":m.id,className:`org-chart-node-card ${T}${p===m.id?" agent-card--selected":""}`,onClick:()=>i(m.id),role:"button",tabIndex:0,onKeyDown:R=>{(R.key==="Enter"||R.key===" ")&&(R.key===" "&&R.preventDefault(),i(m.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(It,{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 ${_}`,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})]})]})]}),l.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":f("agents.orgChartEmployees","{{name}} employees",{name:m.name}),children:l.map(R=>(o.current.push({parentId:m.id,childId:R.agent.id}),e.jsx(Qa,{node:R,onSelect:i,getHealthStatus:N,selectedAgentId:p,registerNodeElement:a,linksRef:o},R.agent.id)))})]})}function Bn({links:n,nodeElements:i,canvasRef:N,viewportRef:p,layoutMode:a,transform:o}){const[f,m]=s.useState([]);return s.useLayoutEffect(()=>{const l=N.current,v=p.current;if(!l||!v||n.length===0){m([]);return}const j=()=>{const T=l.getBoundingClientRect(),w=n.flatMap(({parentId:O,childId:R})=>{const U=i.get(O),E=i.get(R);if(!U||!E)return[];const L=U.getBoundingClientRect(),z=E.getBoundingClientRect(),C=(L.left-T.left)/o.scale,S=(L.top-T.top)/o.scale,P=(z.left-T.left)/o.scale,D=(z.top-T.top)/o.scale;if(a==="vertical"){const ue=C,me=S+L.height/o.scale/2,V=P,A=D+z.height/o.scale/2,B=ue-(ue-V)/2;return[`M ${ue} ${me} L ${B} ${me} L ${B} ${A} L ${V} ${A}`]}const Z=C+L.width/o.scale/2,H=S+L.height/o.scale,je=P+z.width/o.scale/2,se=D,oe=H+(se-H)/2;return[`M ${Z} ${H} L ${Z} ${oe} L ${je} ${oe} L ${je} ${se}`]});m(w)};j();const _=new ResizeObserver(j);return _.observe(l),_.observe(v),i.forEach(T=>_.observe(T)),()=>_.disconnect()},[N,a,n,i,o.scale,p]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:f.map((l,v)=>e.jsx("path",{d:l},`${v}-${l}`))})}function al({addToast:n,projectId:i,onOpenTaskLogs:N,agentOnboardingEnabled:p=!1}){const{t:a}=_e("app"),o=Fn(a),[f,m]=s.useState(!1),l=s.useRef(new Map),v=s.useRef(new Map),j=s.useRef(new Map),[_,T]=s.useState(new Set),w=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{T(u=>{let g=!1;const b=new Set(u);for(const x of r){const I=v.current.get(x.target);I&&(x.isIntersecting?b.has(I)||(b.add(I),g=!0):b.has(I)&&(b.delete(I),g=!0))}return g?b:u})},{rootMargin:"200px"});return w.current=t,l.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),w.current=null}},[]);const O=s.useCallback(t=>{const r=j.current.get(t);if(r)return r;const u=g=>{const b=l.current.get(t);b&&(w.current?.unobserve(b),v.current.delete(b)),g?(l.current.set(t,g),v.current.set(g,t),w.current?w.current.observe(g):T(x=>x.has(t)?x:new Set(x).add(t))):(l.current.delete(t),j.current.delete(t),T(x=>{if(!x.has(t))return x;const I=new Set(x);return I.delete(t),I}))};return j.current.set(t,u),u},[]),R=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:_.has(t),[_]),E=Gs()==="mobile",[L,z]=s.useState(()=>Ua(i)),[C,S]=s.useState("all"),{agents:P,stats:D,isLoading:Z,loadAgents:H,refreshAgents:je}=Ks(i,{filterState:C,showSystemAgents:f}),[se,oe]=s.useState(!1),[ue,me]=s.useState(null),[V,A]=s.useState(!1),[B,ce]=s.useState(null),[Ne,Le]=s.useState(null),Ve=E&&!!B,[Re,we]=s.useState("dashboard"),[ne,He]=s.useState(null),[J,he]=s.useState(!1),[W,ge]=s.useState(()=>{if(typeof window>"u")return"list";const t=kt("fn-agent-view",i);return t==="list"||t==="board"||t==="org"?t:"list"}),[ye,Q]=s.useState(()=>{if(typeof window>"u")return"auto";const t=kt(Bt,i);return Da(t)?t:"auto"}),[Ee,Qe]=s.useState([]),[De,Fe]=s.useState(!1),[Be,pt]=s.useState(0),[Ce,le]=s.useState(!1),[pe,ee]=s.useState(!1),[G,Se]=s.useState(!1),[be,Pe]=s.useState(!1),[Ue,ze]=s.useState(0),[$e,c]=s.useState(0),[y,F]=s.useState(0),[K,te]=s.useState(0),[M,Y]=s.useState({scale:1,x:0,y:0}),[We,Ct]=s.useState(!1),et=s.useRef(null),Ae=s.useRef(null),tt=s.useRef(null),at=s.useRef(new Map),Oe=s.useRef([]),de=s.useRef(new Map),Te=s.useRef(null),st=s.useRef(null),d=s.useRef(!1),{confirm:k}=Xs(),xe=s.useRef(null),Lt=s.useId();s.useEffect(()=>{z(Ua(i))},[i]),s.useEffect(()=>{const t=kt("fn-agent-view",i);if(t==="list"||t==="board"||t==="org"){ge(t);return}ge("list")},[i]),s.useEffect(()=>{Ot("fn-agent-view",W,i)},[W,i]),s.useEffect(()=>{const t=kt(Bt,i);Q(Da(t)?t:"auto")},[i]),s.useEffect(()=>{Ot(Bt,ye,i)},[ye,i]);const Ge=s.useCallback(t=>{try{Ot(qa,String(t),i)}catch{}},[i]),es=s.useCallback(t=>{if(E)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const u=t.clientX,g=L;let b=g;document.body.style.userSelect="none";const x=X=>{const re=X.clientX-u,q=ta(g+re);b=q,z(q)},I=X=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(X.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",I),Ge(b)};document.addEventListener("pointermove",x),document.addEventListener("pointerup",I)},[E,Ge,L]),ts=s.useCallback(t=>{if(E||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,u=t.key==="ArrowLeft"?-r:r,g=ta(L+u);z(g),Ge(g)},[E,Ge,L]),[as,nt]=s.useState(null),ss=s.useRef(null),[ns,lt]=s.useState(null),[Ke,ra]=s.useState(new Set),[Me,ia]=s.useState(!1),[oa,rt]=s.useState(null),[ca,Xe]=s.useState({}),[bt,da]=s.useState(1),[ua,ga]=s.useState(!1),[Ye,ma]=s.useState(new Set),[Ht,it]=s.useState(new Map),St=s.useRef(!0);s.useEffect(()=>(St.current=!0,()=>{St.current=!1}),[]),s.useEffect(()=>{Ys(i).then(t=>{St.current&&da(t.heartbeatMultiplier??1)}).catch(()=>{})},[i]);const ha=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;da(r),ga(!0);try{await Zs({heartbeatMultiplier:r},i),n(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(u){n(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:ie(u)}),"error")}finally{St.current&&ga(!1)}},[i,n]),At=s.useMemo(()=>Ht.size===0?P:P.map(t=>{const r=Ht.get(t.id);return r?{...t,state:r}:t}),[P,Ht]),xt=s.useMemo(()=>At.filter(t=>f||!Ie(t)),[At,f]),ls=s.useMemo(()=>At.filter(t=>t.state!=="active"&&t.state!=="running"?!1:f||!Ie(t)),[At,f]),Ze=s.useMemo(()=>{if(f)return Ee;const t=r=>Ie(r.agent)?null:{...r,children:r.children.map(t).filter(u=>u!==null)};return Ee.map(t).filter(r=>r!==null)},[Ee,f]);s.useEffect(()=>{if(W!=="org")return;const t=Ae.current;if(!t)return;const r=()=>{pt(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,Ze.length]),s.useEffect(()=>{if(W!=="org")return;let t=!1;return Fe(!0),qs(i,{includeEphemeral:f}).then(r=>{t||Qe(r)}).catch(r=>{t||(n(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:ie(r)}),"error"),Qe([]))}).finally(()=>{t||Fe(!1)}),()=>{t=!0}},[W,i,f,n]),s.useEffect(()=>{const t=setInterval(()=>{H()},3e4);return()=>{clearInterval(t)}},[H]),s.useEffect(()=>{if(!Ce)return;let t=!1;Pe(!0),Mt(void 0,i).then(g=>{if(t)return;const b=g.filter(x=>!Ie(x));ze(b.filter(x=>x.state==="active"||x.state==="running").length),c(b.filter(x=>x.state==="paused").length),F(b.filter(x=>!mt(x)).length),te(b.filter(x=>mt(x)).length)}).catch(g=>{t||(ze(0),c(0),F(0),te(0),n(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:ie(g)}),"error"))}).finally(()=>{t||Pe(!1)});const r=g=>{const b=g.target;b&&(et.current?.contains(b)||xe.current?.contains(b)||le(!1))},u=g=>{g.key==="Escape"&&(le(!1),xe.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)}},[n,Ce,i]);const pa=async t=>{if(!G){Se(!0);try{const u=(await Mt(void 0,i)).filter(h=>!Ie(h)),g=u.filter(h=>t==="paused"?h.state==="active"||h.state==="running":h.state==="paused"),b=u.length-g.length;if(g.length===0){n(t==="paused"?a("agents.noAgentsToPause","No agents eligible to pause"):a("agents.noAgentsToResume","No agents eligible to resume"),"error");return}if(!await k({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 I=await Promise.allSettled(g.map(h=>Ma(h.id,t,i))),X=I.map((h,$)=>({result:h,agent:g[$]})).filter(h=>h.result.status==="rejected"),re=I.length-X.length,q=X.length,ve=t==="paused"?a("agents.pausedSummary",{count:re,skipped:b,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:re,skipped:b,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(q>0){const h=X.slice(0,3).map(({agent:$,result:ke})=>`${$.name||$.id}: ${ie(ke.reason)}`).join("; ");n(`${ve}; failed ${q}${h?` (${h})`:""}`,"error")}else n(ve,"success");await H()}catch(r){n(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:ie(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:ie(r)}),"error")}finally{Se(!1)}}},ba=async t=>{if(!(Me||G||Ke.size>0)){ia(!0);try{const r=await Mt(void 0,i),g=r.filter(h=>!Ie(h)).filter(h=>mt(h)!==t),b=r.length-g.length;if(g.length===0){n(t?a("agents.noHeartbeatsToEnable","No agent heartbeats need enabling"):a("agents.noHeartbeatsToDisable","No agent heartbeats need disabling"),"error");return}if(!await k({title:t?a("agents.enableAllHeartbeats","Enable all heartbeats"):a("agents.disableAllHeartbeats","Disable all heartbeats"),message:t?a("agents.enableAllHeartbeatsConfirm","Enable heartbeats for {{count}} project agents?",{count:g.length}):a("agents.disableAllHeartbeatsConfirm","Disable heartbeats for {{count}} project agents?",{count:g.length}),danger:!t}))return;const I=await Promise.allSettled(g.map(h=>ct(h.id,{runtimeConfig:yt(h,t)},i))),X=I.map((h,$)=>({result:h,agent:g[$]})).filter(h=>h.result.status==="rejected"),re=I.length-X.length,q=t?a("agents.enableHeartbeatsSummary","Enabled {{count}} heartbeats; skipped {{skipped}}",{count:re,skipped:b}):a("agents.disableHeartbeatsSummary","Disabled {{count}} heartbeats; skipped {{skipped}}",{count:re,skipped:b}),ve=X.slice(0,3).map(({agent:h,result:$})=>`${h.name||h.id}: ${ie($.reason)}`).join("; ");n(X.length?`${q}; ${a("agents.bulkFailures","failed {{count}}",{count:X.length})}${ve?` (${ve})`:""}`:q,X.length?"error":"success"),await H()}catch(r){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ie(r)}),"error")}finally{ia(!1)}}},ft=async(t,r)=>{if(!Ye.has(t)){ma(u=>new Set(u).add(t)),it(u=>{const g=new Map(u);return g.set(t,r),g});try{await Ma(t,r,i),n(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await H(),it(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){it(g=>{const b=new Map(g);return b.delete(t),b}),n(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:ie(u)}),"error")}finally{ma(u=>{const g=new Set(u);return g.delete(t),g})}}},xa=async(t,r)=>{if(await k({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await dn(t,i),n(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await H()}catch(g){n(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:ie(g)}),"error")}},rs=async(t,r)=>{const u=P.find(g=>g.id===t);if(u){if(u.role===r){nt(null);return}try{await ct(t,{role:r},i),n(a("agents.roleUpdated","Agent role updated to {{role}}",{role:o.find(g=>g.value===r)?.label??r}),"success"),nt(null),H()}catch(g){n(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:ie(g)}),"error")}}},is=(t,r)=>{t.key==="Escape"&&nt(null)},os=async(t,r)=>{if(!(Me||Ke.has(t.id))){oa===t.id&&(rt(null),Xe(u=>{const g={...u};return delete g[t.id],g})),lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:r}},i),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Ia(r),name:t.name}),"success"),H()}catch(u){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(u)}),"error")}finally{lt(null)}}},fa=async(t,r)=>{if(!(Ie(t)||Me||Ke.has(t.id))){ra(u=>new Set(u).add(t.id));try{await ct(t.id,{runtimeConfig:yt(t,r)},i),n(r?a("agents.heartbeatEnabledForAgent","Heartbeat enabled for {{name}}",{name:t.name}):a("agents.heartbeatDisabled","Heartbeat disabled for {{name}}",{name:t.name}),"success"),await H()}catch(u){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ie(u)}),"error")}finally{ra(u=>{const g=new Set(u);return g.delete(t.id),g})}}},cs=t=>fa(t,!1),va=async t=>{if(Me||Ke.has(t.id))return;const r=ca[t.id]??"";if(r.trim()===""){n(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const u=Number(r);if(isNaN(u)){n(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(u<=0){n(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(u>=1&&u<5){lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:un}},i),n(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"),rt(null),Xe(b=>{const x={...b};return delete x[t.id],x}),H()}catch(b){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(b)}),"error")}finally{lt(null)}return}const g=Math.round(u*6e4);lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:g}},i),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Ia(g),name:t.name}),"success"),rt(null),Xe(b=>{const x={...b};return delete x[t.id],x}),H()}catch(b){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(b)}),"error")}finally{lt(null)}},ds=t=>{if(Me||Ke.has(t.id))return;const r=Zt(t.runtimeConfig?.heartbeatIntervalMs),u=Math.round(r/6e4);rt(t.id),Xe(g=>({...g,[t.id]:String(u)}))},fe=s.useCallback((t,r)=>{ce(t),we(r?.initialTab??"dashboard"),He(r?.initialRunId??null),he(r?.preferActiveRun??!1)},[]),qe=s.useCallback(()=>{ce(null),we("dashboard"),He(null),he(!1)},[]),ja=s.useCallback(t=>{fe(t)},[fe]),us=s.useCallback(t=>{Le(t),fe(t)},[fe]),gs=s.useCallback(async({agentId:t,deleted:r})=>{await je(),r&&B===t&&qe()},[je,B,qe]),ms=s.useCallback(t=>{fe(t),E&&ee(!1)},[E,fe]),hs=async(t,r)=>{it(u=>{const g=new Map(u);return g.set(t,"running"),g});try{await gn(t,i,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),n(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await H(),it(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){it(g=>{const b=new Map(g);return b.delete(t),b}),n(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:ie(u)}),"error")}},Je=s.useCallback(t=>Math.min($n,Math.max(zn,t)),[]),ae=s.useCallback(t=>{const r=Ae.current,u=tt.current?.querySelector(".agent-org-chart");if(!r||!u)return{...t,scale:Je(t.scale)};const g=Je(t.scale),b=u.scrollWidth*g,x=u.scrollHeight*g,I=r.clientWidth,X=r.clientHeight,re=Math.min(ut,I-b-ut),q=ut,ve=Math.min(ut,X-x-ut),h=ut;return{scale:g,x:Math.max(re,Math.min(q,t.x)),y:Math.max(ve,Math.min(h,t.y))}},[Je]),Rt=s.useCallback((t,r,u)=>{const g=Ae.current;g&&Y(b=>{const x=Je(t),I=g.getBoundingClientRect(),X=r-I.left,re=u-I.top,q=(X-b.x)/b.scale,ve=(re-b.y)/b.scale;return ae({scale:x,x:X-q*x,y:re-ve*x})})},[Je,ae]),ot=s.useCallback(()=>{const t=Ae.current,r=tt.current?.querySelector(".agent-org-chart");if(!t||!r)return;const u=t.clientWidth,g=t.clientHeight,b=r.scrollWidth,x=r.scrollHeight;if(b<=0||x<=0)return;const I=Je(Math.min(u/b,g/x,1)),X=(u-b*I)/2,re=(g-x*I)/2;Y(ae({scale:I,x:X,y:re}))},[Je,ae]),Dt=s.useCallback(t=>{ge(t),t!=="org"&&Y({scale:1,x:0,y:0}),E&&B&&qe()},[qe,E,B]),Na=t=>o.find(r=>r.value===t)?.label??t,Et=s.useMemo(()=>jn({tree:Ze,availableWidth:Be,preference:ye}),[Ze,ye,Be]),ya=s.useCallback(t=>{Q(t),Y({scale:1,x:0,y:0})},[]);s.useEffect(()=>{Y({scale:1,x:0,y:0}),d.current=!1},[i,Et]),s.useLayoutEffect(()=>{W!=="org"||De||Ze.length===0||d.current||(ot(),d.current=!0)},[W,Ze.length,ot,De]);const ps=s.useCallback((t,r)=>{r?at.current.set(t,r):at.current.delete(t)},[]),ka=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>Y(t=>ae({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(Cn,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(M.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>Y(t=>ae({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(kn,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:ot,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(Js,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>Y(t=>ae({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(Qs,{size:16}),a("agents.center","Center")]})]}),[ae,ot,M.scale]),bs=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;Rt(M.scale*r,t.clientX,t.clientY)},[M.scale,Rt]),xs=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),de.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),de.current.size===1){Te.current={x:t.clientX-M.x,y:t.clientY-M.y,pointerId:t.pointerId},Ct(!0);return}if(de.current.size===2){const u=Array.from(de.current.values()),g=u[0].x-u[1].x,b=u[0].y-u[1].y;st.current={distance:Math.hypot(g,b),scale:M.scale,centerX:(u[0].x+u[1].x)/2,centerY:(u[0].y+u[1].y)/2},Te.current=null}},[M.scale,M.x,M.y]),fs=s.useCallback(t=>{if(de.current.has(t.pointerId)){if(de.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),de.current.size>=2){const r=Array.from(de.current.values()),u=st.current;if(!u)return;const g=r[0].x-r[1].x,b=r[0].y-r[1].y,x=Math.hypot(g,b),I=u.scale*(x/u.distance);Rt(I,u.centerX,u.centerY);return}!Te.current||Te.current.pointerId!==t.pointerId||Y(r=>ae({...r,x:t.clientX-Te.current.x,y:t.clientY-Te.current.y}))}},[ae,Rt]),wa=s.useCallback(t=>{de.current.delete(t.pointerId),de.current.size<2&&(st.current=null),de.current.size===0&&(Te.current=null,Ct(!1))},[]),vs=s.useCallback(t=>{if(t.key==="ArrowLeft")Y(r=>ae({...r,x:r.x+_t}));else if(t.key==="ArrowRight")Y(r=>ae({...r,x:r.x-_t}));else if(t.key==="ArrowUp")Y(r=>ae({...r,y:r.y+_t}));else if(t.key==="ArrowDown")Y(r=>ae({...r,y:r.y-_t}));else if(t.key==="+"||t.key==="=")Y(r=>ae({...r,scale:r.scale*1.1}));else if(t.key==="-")Y(r=>ae({...r,scale:r.scale*.9}));else if(t.key==="0")ot();else if(t.key==="Home")Y({scale:1,x:0,y:0});else return;t.preventDefault()},[ae,ot]),Ca=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(Fa,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(Ta,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(gt,{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=ye===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${u?" btn-icon--active":""}`,onClick:()=>ya(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)})})},[ya,ye]),js=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Ft=t=>cn(t,bt),Ns=be||G||Ue===0,ys=be||G||$e===0,ks=be||G||Me||y===0,ws=be||G||Me||K===0,Sa=Z&&P.length===0,vt=s.useCallback(()=>{oe(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(en,{icon:Qt,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:()=>Dt("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":W==="list",children:e.jsx(Ta,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="board"?" active":""}`,onClick:()=>Dt("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":W==="board",children:e.jsx(ht,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="org"?" active":""}`,onClick:()=>Dt("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":W==="org",children:e.jsx(Fa,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${Ce?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:xe,className:`btn-icon agent-controls-trigger${Ce?" agent-controls-trigger--active":""}`,onClick:()=>le(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":Ce,"aria-controls":Lt,children:e.jsx(tn,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void H(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(gt,{size:16,className:Z?"spin":void 0})}),!E&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{A(!0),le(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(ea,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{vt(),le(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(_a,{size:16}),a("agents.newAgent","New Agent")]})]}),Ce&&e.jsxs("div",{ref:et,id:Lt,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(an,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:C,onChange:t=>S(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&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{A(!0),le(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(ea,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{vt(),le(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(_a,{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:Ns,onClick:()=>{le(!1),pa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Tt,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:be?a("agents.loadingEligibility","Loading eligibility…"):Ue===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:Ue,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:ks,onClick:()=>{le(!1),ba(!0)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Nt,{}),e.jsx("span",{children:a("agents.enableAllHeartbeats","Enable all heartbeats")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:a("agents.enableHeartbeatsCountHint","Enable {{count}} disabled project heartbeats",{count:y})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ws,onClick:()=>{le(!1),ba(!1)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Tt,{}),e.jsx("span",{children:a("agents.disableAllHeartbeats","Disable all heartbeats")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:a("agents.disableHeartbeatsCountHint","Disable {{count}} enabled project heartbeats",{count:K})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ys,onClick:()=>{le(!1),pa("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:be?a("agents.loadingEligibility","Loading eligibility…"):$e===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:$e,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:bt,onChange:t=>{const r=Number(t.target.value);ha(Number.isFinite(r)&&r>0?r:1)},disabled:ua}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",bt.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(Xt.reduce((t,r)=>Math.abs(r-bt)<Math.abs(t-bt)?r:t,Xt[0])),onChange:t=>{const r=Number(t.target.value);ha(Number.isFinite(r)&&r>0?r:1)},disabled:ua,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:Xt.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:xt})]})]})]})}),e.jsx(Ln,{isOpen:se,onClose:()=>{oe(!1),me(null)},onCreated:()=>{oe(!1),me(null),H()},projectId:i,prefillDraft:ue,agentOnboardingEnabled:p,existingAgents:P,onPrefillDraft:me}),e.jsx(Dn,{isOpen:V,onClose:()=>A(!1),onImported:()=>void H(),projectId:i}),e.jsx(Mn,{stats:D,activeAgents:ls,projectId:i,isOpen:pe,onToggle:()=>ee(t=>!t),onSelectAgent:ms,onOpenTaskLogs:N}),W==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:B?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:qe,"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(Va,{inline:!0,showInlineBackButton:!1,agentId:B,projectId:i,onClose:qe,addToast:n,onChildClick:ja,initialTab:Re,initialRunId:ne,preferActiveRun:J},B)})]}):Sa?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{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?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[Ca(),ka()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[Ca(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:ka()})]}),e.jsx("div",{ref:Ae,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:bs,onPointerDown:xs,onPointerMove:fs,onPointerUp:wa,onPointerCancel:wa,onKeyDown:vs,"data-panning":We?"true":"false",children:e.jsxs("div",{ref:tt,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((M.scale??1)*100)}`,"data-panning":We?"true":"false",style:{transform:`translate(${M.x}px, ${M.y}px) scale(${M.scale})`},children:[e.jsx("div",{className:`agent-org-chart${Et==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":Et,children:De?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Ze.length===0?e.jsx(Gt,{onCtaClick:vt}):(Oe.current=[],Ze.map(t=>e.jsx(Qa,{node:t,onSelect:us,getHealthStatus:Ft,selectedAgentId:Ne,registerNodeElement:ps,linksRef:Oe},t.agent.id)))}),e.jsx(Bn,{links:Oe.current,nodeElements:at.current,canvasRef:tt,viewportRef:Ae,layoutMode:Et,transform:M})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:E?void 0:{gridTemplateColumns:`${L}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${Ve?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:Sa?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):W==="board"?e.jsx("div",{className:"agent-board",children:xt.length===0?e.jsx(Gt,{onCtaClick:vt}):xt.map(t=>{const r=Ft(t),u=na(t,r,a),g=aa(t.state),b=sa("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${b}${B===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:O(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>fe(t.id),role:"button",tabIndex:0,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.key===" "&&x.preventDefault(),fe(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(It,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:Na(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(qt,{taskId:t.taskId,isInViewport:R(`board:${t.id}`),projectId:i}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]})]}),e.jsxs("div",{className:"agent-board-actions",children:[e.jsx(Vn,{agent:t,pending:Me||Ke.has(t.id),onToggle:x=>void fa(x,!mt(x))}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void xa(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(Pa,{size:14})})]})]},t.id)})}):e.jsx("div",{className:"agent-list",children:xt.length===0?e.jsx(Gt,{onCtaClick:vt}):xt.map(t=>{const r=Ft(t),u=na(t,r,a),g=aa(t.state),b=sa("agent-card",t.state),x=Zt(t.runtimeConfig?.heartbeatIntervalMs),I=sn(x),re=!mt(t)?Yt:String(x),q=Me||ns===t.id||Ke.has(t.id),ve=On(t);return e.jsxs("div",{ref:O(`list:${t.id}`),className:`agent-card agent-card--clickable ${b}${B===t.id?" agent-card--selected":""}`,onClick:h=>{const $=h.target;if($===h.currentTarget){fe(t.id);return}const ke=$.closest('button, select, input, [role="button"]');ke&&ke!==h.currentTarget||fe(t.id)},role:"button",tabIndex:0,onKeyDown:h=>{h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.key===" "&&h.preventDefault(),fe(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:[as===t.id?e.jsx("select",{ref:ss,className:"select agent-role-select",value:t.role,onChange:h=>void rs(t.id,h.target.value),onKeyDown:h=>is(h,t.id),onBlur:()=>nt(null),autoFocus:!0,children:o.map(h=>e.jsxs("option",{value:h.value,children:[h.icon," ",h.label]},h.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:h=>{h.stopPropagation(),nt(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.stopPropagation(),nt(t.id))},children:e.jsx(It,{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(Ga,{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:Na(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 h=js(t);if(h.length===0)return null;const $=h.slice(0,2),ke=h.length-2;return e.jsxs(e.Fragment,{children:[$.map(zt=>e.jsx("span",{className:"badge badge-skill",title:zt,children:xn(zt)},zt)),ke>0&&e.jsxs("span",{className:"badge badge-skill",children:["+",ke]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[ve.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:ve.label??a("agents.auto","Auto"),children:ve.label??a("agents.auto","Auto")})]}),t.state==="error"&&t.lastError?e.jsx(nn,{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(Wa,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx(qt,{taskId:t.taskId,isInViewport:R(`list:${t.id}`),projectId:i})]}),!Ie(t)&&e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),oa===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:ca[t.id]??"",onChange:h=>Xe($=>({...$,[t.id]:h.target.value})),onKeyDown:h=>{h.key==="Enter"?va(t):h.key==="Escape"&&(rt(null),Xe($=>{const ke={...$};return delete ke[t.id],ke}))},disabled:q,"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 va(t),disabled:q,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{rt(null),Xe(h=>{const $={...h};return delete $[t.id],$})},disabled:q,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:re,onChange:h=>{const $=h.target.value;$===Yt?cs(t):$==="__custom__"?ds(t):os(t,Number($))},disabled:q,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[e.jsx("option",{value:Yt,children:a("agents.heartbeatDisabledOption","Disabled")}),I.map(h=>e.jsx("option",{value:h.value,children:h.label},h.value)),ln.some(h=>h.value===x)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),q&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const h=new Date(t.lastHeartbeatAt),$=new Date(h.getTime()+x),ke=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:h.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:h.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),ke&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:$.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:$.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 ft(t.id,"active"),disabled:Ye.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 hs(t.id,t.name),disabled:Ye.has(t.id),title:a("agents.runNow","Run Now"),"aria-label":a("agents.runNowAria","Run now for {{name}}",{name:t.name}),children:[e.jsx(ht,{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 ft(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Tt,{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 ft(t.id,"active"),disabled:Ye.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:()=>fe(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(ht,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void ft(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Tt,{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 ft(t.id,"active"),disabled:Ye.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:()=>fe(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(rn,{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 xa(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(Pa,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!E&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":Ya,"aria-valuemax":Za,"aria-valuenow":L,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:es,onKeyDown:ts}),e.jsx("div",{className:`agents-split-detail${E&&!B?" agents-split-detail--hidden-mobile":""}`,children:B?e.jsx(s.Suspense,{fallback:null,children:e.jsx(Va,{inline:!0,showInlineBackButton:E,agentId:B,projectId:i,onClose:qe,addToast:n,onChildClick:ja,initialTab:Re,initialRunId:ne,preferActiveRun:J,onMutationSuccess:gs},B)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(Qt,{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{al as AgentsView};
24
+ Agent instructions go here...`),value:j,onChange:c=>{v("paste"),w([]),_(c.target.value),V(null)},rows:8,"aria-label":o("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:o("agents.currentInput","Current input: {{method}}",{method:l})}),me&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(jt,{size:14}),me]})]}),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:o("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:O})]}),C.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:C.map((c,y)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(jt,{size:12}),e.jsx("span",{children:c})]},y))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Jt,{size:14}),e.jsx("span",{children:o("agents.agentsFound","{{count}} agent{{plural}} found",{count:U.length,plural:U.length!==1?"s":""})})]}),U.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>D(U.map(c=>c.name)),children:o("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>D([]),children:o("agents.clearAgents","Clear agents")})]}),U.length>0?e.jsx("div",{className:"agent-import-agent-list",children:U.map((c,y)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":o("agents.selectAgent","Select agent {{name}}",{name:c.name}),checked:P.includes(c.name),onChange:()=>ze(c.name)})}),e.jsx("span",{className:"agent-import-agent-icon",children:c.icon||"🤖"}),e.jsxs("div",{className:"agent-import-agent-details",children:[e.jsx("span",{className:"agent-import-agent-name",children:c.name}),e.jsxs("span",{className:"agent-import-agent-meta",children:[c.title&&e.jsxs("span",{className:"agent-import-agent-title",children:[c.title," · "]}),e.jsx("span",{className:"agent-import-agent-role",children:c.role}),c.reportsTo&&e.jsx("span",{className:"agent-import-agent-reports",children:o("agents.importReportsTo"," · reports to {{agent}}",{agent:c.reportsTo})}),c.skills&&c.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:o("agents.importSkills"," · skills: {{skills}}",{skills:c.skills.join(", ")})})]}),c.instructionsText&&e.jsxs("span",{className:"agent-import-agent-instructions",children:[c.instructionsText.slice(0,100),c.instructionsText.length>100?"...":""]})]})]},y))}):e.jsx("p",{className:"agent-import-empty",children:o("agents.noAgentsFound","No agents found in the manifest.")}),L.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(Jt,{size:14}),e.jsx("span",{children:o("agents.skillsFound","{{count}} skill{{plural}} found",{count:L.length,plural:L.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H(L.map(c=>c.name)),children:o("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H([]),children:o("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:L.map((c,y)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":o("agents.selectSkill","Select skill {{name}}",{name:c.name}),checked:Z.includes(c.name),onChange:()=>$e(c.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:c.name}),c.description&&e.jsx("span",{className:"agent-import-skill-description",children:c.description})]})]},`${c.name}-${y}`))})]}),ce&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(jt,{size:14}),ce]})]}),f==="result"&&A&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(Pt,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:o("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[o("agents.from","From")," ",e.jsx("strong",{children:A.companyName??"Unknown"})]}),e.jsxs("div",{className:"agent-import-result-stats",children:[A.created.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:o("agents.resultCreated","{{count}} created",{count:A.created.length})})}),A.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.resultSkipped","{{count}} skipped (already exist)",{count:A.skipped.length})})}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:o("agents.resultErrors","{{count}} error{{plural}}",{count:A.errors.length,plural:A.errors.length!==1?"s":""})})})]}),A.created.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:A.created.map((c,y)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Pt,{size:12}),e.jsx("span",{children:c.name})]},y))}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.errors.map((c,y)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(Ea,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},y))}),A.warnings&&A.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:A.warnings.map((c,y)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(jt,{size:12}),e.jsx("span",{children:c})]},y))}),A.skills&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"agent-import-result-divider"}),e.jsx("h4",{className:"agent-import-result-section-title",children:o("agents.skills","Skills")}),e.jsxs("div",{className:"agent-import-result-stats",children:[A.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--success",children:e.jsx("span",{children:o("agents.skillsImported","{{count}} skill{{plural}} imported",{count:A.skills.imported.length,plural:A.skills.imported.length!==1?"s":""})})}),A.skills.skipped.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.skillsSkipped","{{count}} skill{{plural}} skipped (already exist)",{count:A.skills.skipped.length,plural:A.skills.skipped.length!==1?"s":""})})}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--error",children:e.jsx("span",{children:o("agents.skillsErrors","{{count}} skill{{plural}} error{{pluralError}}",{count:A.skills.errors.length,plural:A.skills.errors.length!==1?"s":"",pluralError:A.skills.errors.length!==1?"s":""})})}),A.skills.imported.length===0&&A.skills.skipped.length===0&&A.skills.errors.length===0&&e.jsx("div",{className:"agent-import-result-stat agent-import-result-stat--skipped",children:e.jsx("span",{children:o("agents.noSkillsInPackage","No skills in package")})})]}),A.skills.imported.length>0&&e.jsx("div",{className:"agent-import-result-agents",children:A.skills.imported.map((c,y)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(Pt,{size:12}),e.jsx("span",{children:c.name})]},y))}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.skills.errors.map((c,y)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx(Ea,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},y))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[f==="preview"&&e.jsx("button",{className:"btn",onClick:()=>m("input"),disabled:oe,children:o("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Fe,disabled:oe,children:f==="result"?o("agents.close","Close"):o("agents.cancel","Cancel")}),f==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void le(),disabled:je||(l==="directory"?T.length===0:l==="browse"?!J:!j.trim()),children:je?e.jsxs(e.Fragment,{children:[e.jsx($t,{size:14,className:"spin"}),o("agents.parsing","Parsing...")]}):o("agents.preview","Preview")}),f==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void pe(),disabled:oe||ee===0&&G===0,children:oe?e.jsxs(e.Fragment,{children:[e.jsx($t,{size:14,className:"spin"}),Ue]}):o("agents.importButton","Import {{label}}",{label:Pe})})]})]})}):null}const Va=s.lazy(()=>on(()=>import("./AgentDetailView-C4Xpag_i.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(n=>({default:n.AgentDetailView})));function Fn(n){return[{value:"triage",label:n("agents.roleTriage","Triage"),icon:"⊕"},{value:"executor",label:n("agents.roleExecutor","Executor"),icon:"▶"},{value:"reviewer",label:n("agents.roleReviewer","Reviewer"),icon:"⊙"},{value:"merger",label:n("agents.roleMerger","Merger"),icon:"⊞"},{value:"scheduler",label:n("agents.roleScheduler","Scheduler"),icon:"◷"},{value:"engineer",label:n("agents.roleEngineer","Engineer"),icon:"⎔"},{value:"custom",label:n("agents.roleCustom","Custom"),icon:"✦"}]}const Xt=[.1,.25,.5,1,2,3,5,10],Yt="__disabled__",zn=.25,$n=3,_t=16,ut=32,Ba=320,Ya=260,Za=520,qa="kb-dashboard-agents-sidebar-width";function ta(n){return Math.max(Ya,Math.min(Za,n))}function Ua(n){if(typeof window>"u")return Ba;const i=kt(qa,n),N=i?Number(i):NaN;return Number.isFinite(N)?ta(N):Ba}function aa(n){switch(n){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 sa(n,i){switch(i){case"running":return`${n}--running`;case"active":return`${n}--active`;case"paused":return`${n}--paused`;case"error":return`${n}--error`;case"idle":default:return`${n}--idle`}}function On(n){const i=n.runtimeConfig??{},N=typeof i.runtimeHint=="string"?i.runtimeHint:"";if(N)return{label:N,isRuntime:!0};const p=typeof i.modelProvider=="string"?i.modelProvider:"",a=typeof i.modelId=="string"?i.modelId:"";if(p&&a)return{label:`${p}/${a}`,isRuntime:!1};const o=typeof i.model=="string"?i.model:"";if(o.includes("/")){const f=o.indexOf("/");return{label:o.slice(f+1),isRuntime:!1}}return{label:null,isRuntime:!1}}function Ja(n){return n.children.length===0?1:n.children.reduce((i,N)=>i+Ja(N),0)}function na(n,i,N){return n.state==="error"?{title:void 0,label:N("agents.healthError","Error")}:{title:i.reason??i.label,label:i.stateDerived?null:i.label}}function Vn({agent:n,pending:i,onToggle:N}){const{t:p}=_e("app");if(Ie(n))return null;const a=mt(n),o=a?p("agents.disableHeartbeat","Disable heartbeat"):p("agents.enableHeartbeat","Enable heartbeat");return e.jsx("button",{type:"button",className:"btn btn-sm agent-heartbeat-toggle",disabled:i,"aria-pressed":a,"aria-label":p("agents.heartbeatActionForAgent","{{action}} for {{name}}",{action:o,name:n.name}),onClick:f=>{f.stopPropagation(),N(n)},children:i?p("agents.heartbeatUpdating","Updating heartbeat…"):o})}function Qa({node:n,onSelect:i,getHealthStatus:N,selectedAgentId:p,registerNodeElement:a,linksRef:o}){const{t:f}=_e("app"),{agent:m,children:l}=n,v=N(m),j=na(m,v,f),_=aa(m.state),T=sa("org-chart-node-card",m.state),w=Ja(n),O={"--org-chart-subtree-leaves":String(w)};return e.jsxs("div",{className:`org-chart-node${l.length>0?" org-chart-node--has-children":""}`,style:O,children:[e.jsxs("div",{ref:R=>a(m.id,R),"data-agent-id":m.id,className:`org-chart-node-card ${T}${p===m.id?" agent-card--selected":""}`,onClick:()=>i(m.id),role:"button",tabIndex:0,onKeyDown:R=>{(R.key==="Enter"||R.key===" ")&&(R.key===" "&&R.preventDefault(),i(m.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(It,{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 ${_}`,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})]})]})]}),l.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":f("agents.orgChartEmployees","{{name}} employees",{name:m.name}),children:l.map(R=>(o.current.push({parentId:m.id,childId:R.agent.id}),e.jsx(Qa,{node:R,onSelect:i,getHealthStatus:N,selectedAgentId:p,registerNodeElement:a,linksRef:o},R.agent.id)))})]})}function Bn({links:n,nodeElements:i,canvasRef:N,viewportRef:p,layoutMode:a,transform:o}){const[f,m]=s.useState([]);return s.useLayoutEffect(()=>{const l=N.current,v=p.current;if(!l||!v||n.length===0){m([]);return}const j=()=>{const T=l.getBoundingClientRect(),w=n.flatMap(({parentId:O,childId:R})=>{const U=i.get(O),E=i.get(R);if(!U||!E)return[];const L=U.getBoundingClientRect(),z=E.getBoundingClientRect(),C=(L.left-T.left)/o.scale,S=(L.top-T.top)/o.scale,P=(z.left-T.left)/o.scale,D=(z.top-T.top)/o.scale;if(a==="vertical"){const ue=C,me=S+L.height/o.scale/2,V=P,A=D+z.height/o.scale/2,B=ue-(ue-V)/2;return[`M ${ue} ${me} L ${B} ${me} L ${B} ${A} L ${V} ${A}`]}const Z=C+L.width/o.scale/2,H=S+L.height/o.scale,je=P+z.width/o.scale/2,se=D,oe=H+(se-H)/2;return[`M ${Z} ${H} L ${Z} ${oe} L ${je} ${oe} L ${je} ${se}`]});m(w)};j();const _=new ResizeObserver(j);return _.observe(l),_.observe(v),i.forEach(T=>_.observe(T)),()=>_.disconnect()},[N,a,n,i,o.scale,p]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:f.map((l,v)=>e.jsx("path",{d:l},`${v}-${l}`))})}function al({addToast:n,projectId:i,onOpenTaskLogs:N,agentOnboardingEnabled:p=!1}){const{t:a}=_e("app"),o=Fn(a),[f,m]=s.useState(!1),l=s.useRef(new Map),v=s.useRef(new Map),j=s.useRef(new Map),[_,T]=s.useState(new Set),w=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{T(u=>{let g=!1;const b=new Set(u);for(const x of r){const I=v.current.get(x.target);I&&(x.isIntersecting?b.has(I)||(b.add(I),g=!0):b.has(I)&&(b.delete(I),g=!0))}return g?b:u})},{rootMargin:"200px"});return w.current=t,l.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),w.current=null}},[]);const O=s.useCallback(t=>{const r=j.current.get(t);if(r)return r;const u=g=>{const b=l.current.get(t);b&&(w.current?.unobserve(b),v.current.delete(b)),g?(l.current.set(t,g),v.current.set(g,t),w.current?w.current.observe(g):T(x=>x.has(t)?x:new Set(x).add(t))):(l.current.delete(t),j.current.delete(t),T(x=>{if(!x.has(t))return x;const I=new Set(x);return I.delete(t),I}))};return j.current.set(t,u),u},[]),R=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:_.has(t),[_]),E=Gs()==="mobile",[L,z]=s.useState(()=>Ua(i)),[C,S]=s.useState("all"),{agents:P,stats:D,isLoading:Z,loadAgents:H,refreshAgents:je}=Ks(i,{filterState:C,showSystemAgents:f}),[se,oe]=s.useState(!1),[ue,me]=s.useState(null),[V,A]=s.useState(!1),[B,ce]=s.useState(null),[Ne,Le]=s.useState(null),Ve=E&&!!B,[Re,we]=s.useState("dashboard"),[ne,He]=s.useState(null),[J,he]=s.useState(!1),[W,ge]=s.useState(()=>{if(typeof window>"u")return"list";const t=kt("fn-agent-view",i);return t==="list"||t==="board"||t==="org"?t:"list"}),[ye,Q]=s.useState(()=>{if(typeof window>"u")return"auto";const t=kt(Bt,i);return Da(t)?t:"auto"}),[Ee,Qe]=s.useState([]),[De,Fe]=s.useState(!1),[Be,pt]=s.useState(0),[Ce,le]=s.useState(!1),[pe,ee]=s.useState(!1),[G,Se]=s.useState(!1),[be,Pe]=s.useState(!1),[Ue,ze]=s.useState(0),[$e,c]=s.useState(0),[y,F]=s.useState(0),[K,te]=s.useState(0),[M,Y]=s.useState({scale:1,x:0,y:0}),[We,Ct]=s.useState(!1),et=s.useRef(null),Ae=s.useRef(null),tt=s.useRef(null),at=s.useRef(new Map),Oe=s.useRef([]),de=s.useRef(new Map),Te=s.useRef(null),st=s.useRef(null),d=s.useRef(!1),{confirm:k}=Xs(),xe=s.useRef(null),Lt=s.useId();s.useEffect(()=>{z(Ua(i))},[i]),s.useEffect(()=>{const t=kt("fn-agent-view",i);if(t==="list"||t==="board"||t==="org"){ge(t);return}ge("list")},[i]),s.useEffect(()=>{Ot("fn-agent-view",W,i)},[W,i]),s.useEffect(()=>{const t=kt(Bt,i);Q(Da(t)?t:"auto")},[i]),s.useEffect(()=>{Ot(Bt,ye,i)},[ye,i]);const Ge=s.useCallback(t=>{try{Ot(qa,String(t),i)}catch{}},[i]),es=s.useCallback(t=>{if(E)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const u=t.clientX,g=L;let b=g;document.body.style.userSelect="none";const x=X=>{const re=X.clientX-u,q=ta(g+re);b=q,z(q)},I=X=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(X.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",I),Ge(b)};document.addEventListener("pointermove",x),document.addEventListener("pointerup",I)},[E,Ge,L]),ts=s.useCallback(t=>{if(E||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,u=t.key==="ArrowLeft"?-r:r,g=ta(L+u);z(g),Ge(g)},[E,Ge,L]),[as,nt]=s.useState(null),ss=s.useRef(null),[ns,lt]=s.useState(null),[Ke,ra]=s.useState(new Set),[Me,ia]=s.useState(!1),[oa,rt]=s.useState(null),[ca,Xe]=s.useState({}),[bt,da]=s.useState(1),[ua,ga]=s.useState(!1),[Ye,ma]=s.useState(new Set),[Ht,it]=s.useState(new Map),St=s.useRef(!0);s.useEffect(()=>(St.current=!0,()=>{St.current=!1}),[]),s.useEffect(()=>{Ys(i).then(t=>{St.current&&da(t.heartbeatMultiplier??1)}).catch(()=>{})},[i]);const ha=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;da(r),ga(!0);try{await Zs({heartbeatMultiplier:r},i),n(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(u){n(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:ie(u)}),"error")}finally{St.current&&ga(!1)}},[i,n]),At=s.useMemo(()=>Ht.size===0?P:P.map(t=>{const r=Ht.get(t.id);return r?{...t,state:r}:t}),[P,Ht]),xt=s.useMemo(()=>At.filter(t=>f||!Ie(t)),[At,f]),ls=s.useMemo(()=>At.filter(t=>t.state!=="active"&&t.state!=="running"?!1:f||!Ie(t)),[At,f]),Ze=s.useMemo(()=>{if(f)return Ee;const t=r=>Ie(r.agent)?null:{...r,children:r.children.map(t).filter(u=>u!==null)};return Ee.map(t).filter(r=>r!==null)},[Ee,f]);s.useEffect(()=>{if(W!=="org")return;const t=Ae.current;if(!t)return;const r=()=>{pt(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,Ze.length]),s.useEffect(()=>{if(W!=="org")return;let t=!1;return Fe(!0),qs(i,{includeEphemeral:f}).then(r=>{t||Qe(r)}).catch(r=>{t||(n(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:ie(r)}),"error"),Qe([]))}).finally(()=>{t||Fe(!1)}),()=>{t=!0}},[W,i,f,n]),s.useEffect(()=>{const t=setInterval(()=>{H()},3e4);return()=>{clearInterval(t)}},[H]),s.useEffect(()=>{if(!Ce)return;let t=!1;Pe(!0),Mt(void 0,i).then(g=>{if(t)return;const b=g.filter(x=>!Ie(x));ze(b.filter(x=>x.state==="active"||x.state==="running").length),c(b.filter(x=>x.state==="paused").length),F(b.filter(x=>!mt(x)).length),te(b.filter(x=>mt(x)).length)}).catch(g=>{t||(ze(0),c(0),F(0),te(0),n(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:ie(g)}),"error"))}).finally(()=>{t||Pe(!1)});const r=g=>{const b=g.target;b&&(et.current?.contains(b)||xe.current?.contains(b)||le(!1))},u=g=>{g.key==="Escape"&&(le(!1),xe.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)}},[n,Ce,i]);const pa=async t=>{if(!G){Se(!0);try{const u=(await Mt(void 0,i)).filter(h=>!Ie(h)),g=u.filter(h=>t==="paused"?h.state==="active"||h.state==="running":h.state==="paused"),b=u.length-g.length;if(g.length===0){n(t==="paused"?a("agents.noAgentsToPause","No agents eligible to pause"):a("agents.noAgentsToResume","No agents eligible to resume"),"error");return}if(!await k({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 I=await Promise.allSettled(g.map(h=>Ma(h.id,t,i))),X=I.map((h,$)=>({result:h,agent:g[$]})).filter(h=>h.result.status==="rejected"),re=I.length-X.length,q=X.length,ve=t==="paused"?a("agents.pausedSummary",{count:re,skipped:b,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:re,skipped:b,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(q>0){const h=X.slice(0,3).map(({agent:$,result:ke})=>`${$.name||$.id}: ${ie(ke.reason)}`).join("; ");n(`${ve}; failed ${q}${h?` (${h})`:""}`,"error")}else n(ve,"success");await H()}catch(r){n(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:ie(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:ie(r)}),"error")}finally{Se(!1)}}},ba=async t=>{if(!(Me||G||Ke.size>0)){ia(!0);try{const r=await Mt(void 0,i),g=r.filter(h=>!Ie(h)).filter(h=>mt(h)!==t),b=r.length-g.length;if(g.length===0){n(t?a("agents.noHeartbeatsToEnable","No agent heartbeats need enabling"):a("agents.noHeartbeatsToDisable","No agent heartbeats need disabling"),"error");return}if(!await k({title:t?a("agents.enableAllHeartbeats","Enable all heartbeats"):a("agents.disableAllHeartbeats","Disable all heartbeats"),message:t?a("agents.enableAllHeartbeatsConfirm","Enable heartbeats for {{count}} project agents?",{count:g.length}):a("agents.disableAllHeartbeatsConfirm","Disable heartbeats for {{count}} project agents?",{count:g.length}),danger:!t}))return;const I=await Promise.allSettled(g.map(h=>ct(h.id,{runtimeConfig:yt(h,t)},i))),X=I.map((h,$)=>({result:h,agent:g[$]})).filter(h=>h.result.status==="rejected"),re=I.length-X.length,q=t?a("agents.enableHeartbeatsSummary","Enabled {{count}} heartbeats; skipped {{skipped}}",{count:re,skipped:b}):a("agents.disableHeartbeatsSummary","Disabled {{count}} heartbeats; skipped {{skipped}}",{count:re,skipped:b}),ve=X.slice(0,3).map(({agent:h,result:$})=>`${h.name||h.id}: ${ie($.reason)}`).join("; ");n(X.length?`${q}; ${a("agents.bulkFailures","failed {{count}}",{count:X.length})}${ve?` (${ve})`:""}`:q,X.length?"error":"success"),await H()}catch(r){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ie(r)}),"error")}finally{ia(!1)}}},ft=async(t,r)=>{if(!Ye.has(t)){ma(u=>new Set(u).add(t)),it(u=>{const g=new Map(u);return g.set(t,r),g});try{await Ma(t,r,i),n(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await H(),it(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){it(g=>{const b=new Map(g);return b.delete(t),b}),n(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:ie(u)}),"error")}finally{ma(u=>{const g=new Set(u);return g.delete(t),g})}}},xa=async(t,r)=>{if(await k({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await dn(t,i),n(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await H()}catch(g){n(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:ie(g)}),"error")}},rs=async(t,r)=>{const u=P.find(g=>g.id===t);if(u){if(u.role===r){nt(null);return}try{await ct(t,{role:r},i),n(a("agents.roleUpdated","Agent role updated to {{role}}",{role:o.find(g=>g.value===r)?.label??r}),"success"),nt(null),H()}catch(g){n(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:ie(g)}),"error")}}},is=(t,r)=>{t.key==="Escape"&&nt(null)},os=async(t,r)=>{if(!(Me||Ke.has(t.id))){oa===t.id&&(rt(null),Xe(u=>{const g={...u};return delete g[t.id],g})),lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:r}},i),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Ia(r),name:t.name}),"success"),H()}catch(u){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(u)}),"error")}finally{lt(null)}}},fa=async(t,r)=>{if(!(Ie(t)||Me||Ke.has(t.id))){ra(u=>new Set(u).add(t.id));try{await ct(t.id,{runtimeConfig:yt(t,r)},i),n(r?a("agents.heartbeatEnabledForAgent","Heartbeat enabled for {{name}}",{name:t.name}):a("agents.heartbeatDisabled","Heartbeat disabled for {{name}}",{name:t.name}),"success"),await H()}catch(u){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ie(u)}),"error")}finally{ra(u=>{const g=new Set(u);return g.delete(t.id),g})}}},cs=t=>fa(t,!1),va=async t=>{if(Me||Ke.has(t.id))return;const r=ca[t.id]??"";if(r.trim()===""){n(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const u=Number(r);if(isNaN(u)){n(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(u<=0){n(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(u>=1&&u<5){lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:un}},i),n(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"),rt(null),Xe(b=>{const x={...b};return delete x[t.id],x}),H()}catch(b){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(b)}),"error")}finally{lt(null)}return}const g=Math.round(u*6e4);lt(t.id);try{await ct(t.id,{runtimeConfig:{...yt(t,!0),heartbeatIntervalMs:g}},i),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Ia(g),name:t.name}),"success"),rt(null),Xe(b=>{const x={...b};return delete x[t.id],x}),H()}catch(b){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ie(b)}),"error")}finally{lt(null)}},ds=t=>{if(Me||Ke.has(t.id))return;const r=Zt(t.runtimeConfig?.heartbeatIntervalMs),u=Math.round(r/6e4);rt(t.id),Xe(g=>({...g,[t.id]:String(u)}))},fe=s.useCallback((t,r)=>{ce(t),we(r?.initialTab??"dashboard"),He(r?.initialRunId??null),he(r?.preferActiveRun??!1)},[]),qe=s.useCallback(()=>{ce(null),we("dashboard"),He(null),he(!1)},[]),ja=s.useCallback(t=>{fe(t)},[fe]),us=s.useCallback(t=>{Le(t),fe(t)},[fe]),gs=s.useCallback(async({agentId:t,deleted:r})=>{await je(),r&&B===t&&qe()},[je,B,qe]),ms=s.useCallback(t=>{fe(t),E&&ee(!1)},[E,fe]),hs=async(t,r)=>{it(u=>{const g=new Map(u);return g.set(t,"running"),g});try{await gn(t,i,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),n(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await H(),it(u=>{const g=new Map(u);return g.delete(t),g})}catch(u){it(g=>{const b=new Map(g);return b.delete(t),b}),n(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:ie(u)}),"error")}},Je=s.useCallback(t=>Math.min($n,Math.max(zn,t)),[]),ae=s.useCallback(t=>{const r=Ae.current,u=tt.current?.querySelector(".agent-org-chart");if(!r||!u)return{...t,scale:Je(t.scale)};const g=Je(t.scale),b=u.scrollWidth*g,x=u.scrollHeight*g,I=r.clientWidth,X=r.clientHeight,re=Math.min(ut,I-b-ut),q=ut,ve=Math.min(ut,X-x-ut),h=ut;return{scale:g,x:Math.max(re,Math.min(q,t.x)),y:Math.max(ve,Math.min(h,t.y))}},[Je]),Rt=s.useCallback((t,r,u)=>{const g=Ae.current;g&&Y(b=>{const x=Je(t),I=g.getBoundingClientRect(),X=r-I.left,re=u-I.top,q=(X-b.x)/b.scale,ve=(re-b.y)/b.scale;return ae({scale:x,x:X-q*x,y:re-ve*x})})},[Je,ae]),ot=s.useCallback(()=>{const t=Ae.current,r=tt.current?.querySelector(".agent-org-chart");if(!t||!r)return;const u=t.clientWidth,g=t.clientHeight,b=r.scrollWidth,x=r.scrollHeight;if(b<=0||x<=0)return;const I=Je(Math.min(u/b,g/x,1)),X=(u-b*I)/2,re=(g-x*I)/2;Y(ae({scale:I,x:X,y:re}))},[Je,ae]),Dt=s.useCallback(t=>{ge(t),t!=="org"&&Y({scale:1,x:0,y:0}),E&&B&&qe()},[qe,E,B]),Na=t=>o.find(r=>r.value===t)?.label??t,Et=s.useMemo(()=>jn({tree:Ze,availableWidth:Be,preference:ye}),[Ze,ye,Be]),ya=s.useCallback(t=>{Q(t),Y({scale:1,x:0,y:0})},[]);s.useEffect(()=>{Y({scale:1,x:0,y:0}),d.current=!1},[i,Et]),s.useLayoutEffect(()=>{W!=="org"||De||Ze.length===0||d.current||(ot(),d.current=!0)},[W,Ze.length,ot,De]);const ps=s.useCallback((t,r)=>{r?at.current.set(t,r):at.current.delete(t)},[]),ka=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>Y(t=>ae({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(Cn,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(M.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>Y(t=>ae({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(kn,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:ot,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(Js,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>Y(t=>ae({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(Qs,{size:16}),a("agents.center","Center")]})]}),[ae,ot,M.scale]),bs=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;Rt(M.scale*r,t.clientX,t.clientY)},[M.scale,Rt]),xs=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),de.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),de.current.size===1){Te.current={x:t.clientX-M.x,y:t.clientY-M.y,pointerId:t.pointerId},Ct(!0);return}if(de.current.size===2){const u=Array.from(de.current.values()),g=u[0].x-u[1].x,b=u[0].y-u[1].y;st.current={distance:Math.hypot(g,b),scale:M.scale,centerX:(u[0].x+u[1].x)/2,centerY:(u[0].y+u[1].y)/2},Te.current=null}},[M.scale,M.x,M.y]),fs=s.useCallback(t=>{if(de.current.has(t.pointerId)){if(de.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),de.current.size>=2){const r=Array.from(de.current.values()),u=st.current;if(!u)return;const g=r[0].x-r[1].x,b=r[0].y-r[1].y,x=Math.hypot(g,b),I=u.scale*(x/u.distance);Rt(I,u.centerX,u.centerY);return}!Te.current||Te.current.pointerId!==t.pointerId||Y(r=>ae({...r,x:t.clientX-Te.current.x,y:t.clientY-Te.current.y}))}},[ae,Rt]),wa=s.useCallback(t=>{de.current.delete(t.pointerId),de.current.size<2&&(st.current=null),de.current.size===0&&(Te.current=null,Ct(!1))},[]),vs=s.useCallback(t=>{if(t.key==="ArrowLeft")Y(r=>ae({...r,x:r.x+_t}));else if(t.key==="ArrowRight")Y(r=>ae({...r,x:r.x-_t}));else if(t.key==="ArrowUp")Y(r=>ae({...r,y:r.y+_t}));else if(t.key==="ArrowDown")Y(r=>ae({...r,y:r.y-_t}));else if(t.key==="+"||t.key==="=")Y(r=>ae({...r,scale:r.scale*1.1}));else if(t.key==="-")Y(r=>ae({...r,scale:r.scale*.9}));else if(t.key==="0")ot();else if(t.key==="Home")Y({scale:1,x:0,y:0});else return;t.preventDefault()},[ae,ot]),Ca=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(Fa,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(Ta,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(gt,{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=ye===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${u?" btn-icon--active":""}`,onClick:()=>ya(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)})})},[ya,ye]),js=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Ft=t=>cn(t,bt),Ns=be||G||Ue===0,ys=be||G||$e===0,ks=be||G||Me||y===0,ws=be||G||Me||K===0,Sa=Z&&P.length===0,vt=s.useCallback(()=>{oe(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(en,{icon:Qt,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:()=>Dt("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":W==="list",children:e.jsx(Ta,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="board"?" active":""}`,onClick:()=>Dt("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":W==="board",children:e.jsx(ht,{size:16})}),e.jsx("button",{className:`view-toggle-btn${W==="org"?" active":""}`,onClick:()=>Dt("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":W==="org",children:e.jsx(Fa,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${Ce?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:xe,className:`btn-icon agent-controls-trigger${Ce?" agent-controls-trigger--active":""}`,onClick:()=>le(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":Ce,"aria-controls":Lt,children:e.jsx(tn,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void H(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(gt,{size:16,className:Z?"spin":void 0})}),!E&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{A(!0),le(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(ea,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{vt(),le(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(_a,{size:16}),a("agents.newAgent","New Agent")]})]}),Ce&&e.jsxs("div",{ref:et,id:Lt,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(an,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:C,onChange:t=>S(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&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{A(!0),le(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(ea,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{vt(),le(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(_a,{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:Ns,onClick:()=>{le(!1),pa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Tt,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:be?a("agents.loadingEligibility","Loading eligibility…"):Ue===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:Ue,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:ks,onClick:()=>{le(!1),ba(!0)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Nt,{}),e.jsx("span",{children:a("agents.enableAllHeartbeats","Enable all heartbeats")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:a("agents.enableHeartbeatsCountHint","Enable {{count}} disabled project heartbeats",{count:y})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ws,onClick:()=>{le(!1),ba(!1)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Tt,{}),e.jsx("span",{children:a("agents.disableAllHeartbeats","Disable all heartbeats")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:a("agents.disableHeartbeatsCountHint","Disable {{count}} enabled project heartbeats",{count:K})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:ys,onClick:()=>{le(!1),pa("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:be?a("agents.loadingEligibility","Loading eligibility…"):$e===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:$e,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:bt,onChange:t=>{const r=Number(t.target.value);ha(Number.isFinite(r)&&r>0?r:1)},disabled:ua}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",bt.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(Xt.reduce((t,r)=>Math.abs(r-bt)<Math.abs(t-bt)?r:t,Xt[0])),onChange:t=>{const r=Number(t.target.value);ha(Number.isFinite(r)&&r>0?r:1)},disabled:ua,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:Xt.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:xt})]})]})]})}),e.jsx(Ln,{isOpen:se,onClose:()=>{oe(!1),me(null)},onCreated:()=>{oe(!1),me(null),H()},projectId:i,prefillDraft:ue,agentOnboardingEnabled:p,existingAgents:P,onPrefillDraft:me}),e.jsx(Dn,{isOpen:V,onClose:()=>A(!1),onImported:()=>void H(),projectId:i}),e.jsx(Mn,{stats:D,activeAgents:ls,projectId:i,isOpen:pe,onToggle:()=>ee(t=>!t),onSelectAgent:ms,onOpenTaskLogs:N}),W==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:B?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:qe,"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(Va,{inline:!0,showInlineBackButton:!1,agentId:B,projectId:i,onClose:qe,addToast:n,onChildClick:ja,initialTab:Re,initialRunId:ne,preferActiveRun:J},B)})]}):Sa?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{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?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[Ca(),ka()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[Ca(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:ka()})]}),e.jsx("div",{ref:Ae,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:bs,onPointerDown:xs,onPointerMove:fs,onPointerUp:wa,onPointerCancel:wa,onKeyDown:vs,"data-panning":We?"true":"false",children:e.jsxs("div",{ref:tt,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((M.scale??1)*100)}`,"data-panning":We?"true":"false",style:{transform:`translate(${M.x}px, ${M.y}px) scale(${M.scale})`},children:[e.jsx("div",{className:`agent-org-chart${Et==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":Et,children:De?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Ze.length===0?e.jsx(Gt,{onCtaClick:vt}):(Oe.current=[],Ze.map(t=>e.jsx(Qa,{node:t,onSelect:us,getHealthStatus:Ft,selectedAgentId:Ne,registerNodeElement:ps,linksRef:Oe},t.agent.id)))}),e.jsx(Bn,{links:Oe.current,nodeElements:at.current,canvasRef:tt,viewportRef:Ae,layoutMode:Et,transform:M})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:E?void 0:{gridTemplateColumns:`${L}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${Ve?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:Sa?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(gt,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):W==="board"?e.jsx("div",{className:"agent-board",children:xt.length===0?e.jsx(Gt,{onCtaClick:vt}):xt.map(t=>{const r=Ft(t),u=na(t,r,a),g=aa(t.state),b=sa("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${b}${B===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:O(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>fe(t.id),role:"button",tabIndex:0,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.key===" "&&x.preventDefault(),fe(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(It,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:Na(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(qt,{taskId:t.taskId,isInViewport:R(`board:${t.id}`),projectId:i}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:u.title,children:[r.icon,u.label?` ${u.label}`:""]})]}),e.jsxs("div",{className:"agent-board-actions",children:[e.jsx(Vn,{agent:t,pending:Me||Ke.has(t.id),onToggle:x=>void fa(x,!mt(x))}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void xa(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(Pa,{size:14})})]})]},t.id)})}):e.jsx("div",{className:"agent-list",children:xt.length===0?e.jsx(Gt,{onCtaClick:vt}):xt.map(t=>{const r=Ft(t),u=na(t,r,a),g=aa(t.state),b=sa("agent-card",t.state),x=Zt(t.runtimeConfig?.heartbeatIntervalMs),I=sn(x),re=!mt(t)?Yt:String(x),q=Me||ns===t.id||Ke.has(t.id),ve=On(t);return e.jsxs("div",{ref:O(`list:${t.id}`),className:`agent-card agent-card--clickable ${b}${B===t.id?" agent-card--selected":""}`,onClick:h=>{const $=h.target;if($===h.currentTarget){fe(t.id);return}const ke=$.closest('button, select, input, [role="button"]');ke&&ke!==h.currentTarget||fe(t.id)},role:"button",tabIndex:0,onKeyDown:h=>{h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.key===" "&&h.preventDefault(),fe(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:[as===t.id?e.jsx("select",{ref:ss,className:"select agent-role-select",value:t.role,onChange:h=>void rs(t.id,h.target.value),onKeyDown:h=>is(h,t.id),onBlur:()=>nt(null),autoFocus:!0,children:o.map(h=>e.jsxs("option",{value:h.value,children:[h.icon," ",h.label]},h.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:h=>{h.stopPropagation(),nt(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.stopPropagation(),nt(t.id))},children:e.jsx(It,{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(Ga,{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:Na(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 h=js(t);if(h.length===0)return null;const $=h.slice(0,2),ke=h.length-2;return e.jsxs(e.Fragment,{children:[$.map(zt=>e.jsx("span",{className:"badge badge-skill",title:zt,children:xn(zt)},zt)),ke>0&&e.jsxs("span",{className:"badge badge-skill",children:["+",ke]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[ve.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:ve.label??a("agents.auto","Auto"),children:ve.label??a("agents.auto","Auto")})]}),t.state==="error"&&t.lastError?e.jsx(nn,{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(Wa,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx(qt,{taskId:t.taskId,isInViewport:R(`list:${t.id}`),projectId:i})]}),!Ie(t)&&e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),oa===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:ca[t.id]??"",onChange:h=>Xe($=>({...$,[t.id]:h.target.value})),onKeyDown:h=>{h.key==="Enter"?va(t):h.key==="Escape"&&(rt(null),Xe($=>{const ke={...$};return delete ke[t.id],ke}))},disabled:q,"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 va(t),disabled:q,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{rt(null),Xe(h=>{const $={...h};return delete $[t.id],$})},disabled:q,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:re,onChange:h=>{const $=h.target.value;$===Yt?cs(t):$==="__custom__"?ds(t):os(t,Number($))},disabled:q,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[e.jsx("option",{value:Yt,children:a("agents.heartbeatDisabledOption","Disabled")}),I.map(h=>e.jsx("option",{value:h.value,children:h.label},h.value)),ln.some(h=>h.value===x)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),q&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const h=new Date(t.lastHeartbeatAt),$=new Date(h.getTime()+x),ke=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:h.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:h.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),ke&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:$.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:$.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 ft(t.id,"active"),disabled:Ye.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 hs(t.id,t.name),disabled:Ye.has(t.id),title:a("agents.runNow","Run Now"),"aria-label":a("agents.runNowAria","Run now for {{name}}",{name:t.name}),children:[e.jsx(ht,{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 ft(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Tt,{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 ft(t.id,"active"),disabled:Ye.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:()=>fe(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(ht,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void ft(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Tt,{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 ft(t.id,"active"),disabled:Ye.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:()=>fe(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(rn,{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 xa(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(Pa,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!E&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":Ya,"aria-valuemax":Za,"aria-valuenow":L,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:es,onKeyDown:ts}),e.jsx("div",{className:`agents-split-detail${E&&!B?" agents-split-detail--hidden-mobile":""}`,children:B?e.jsx(s.Suspense,{fallback:null,children:e.jsx(Va,{inline:!0,showInlineBackButton:E,agentId:B,projectId:i,onClose:qe,addToast:n,onChildClick:ja,initialTab:Re,initialRunId:ne,preferActiveRun:J,onMutationSuccess:gs},B)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(Qt,{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{al as AgentsView};
@@ -1,4 +1,4 @@
1
- import{r as a,j as t}from"./vendor-react-SZ_qB27O.js";import{c as ei,ar as Et,ap as bt,aq as wa,bq as Ms,dB as zi,dC as Oi,dD as ra,av as W,dE as Ui,dq as Dt,dF as At,dr as xa,dG as Hi,dH as Ki,dI as Vi,dJ as Wi,dK as Xi,dL as qi,be as Gi,cO as ya,dM as ke,aZ as Yi,bE as ti,c9 as wn,dN as Qi,am as xn,dO as Ji,dP as Zi,bZ as eo,F as to,aJ as no,b3 as vn,Y as ao,cZ as so,dQ as io,dR as oo,f as ro,aX as co,dS as lo,dT as ni,dU as ai,dV as uo,dn as mo,K as ho,dW as fo,dX as go,dY as Ns,dZ as po,d_ as vo,d$ as Rs,y as bo,q as wo,u as xo,dl as ca,C as un,e0 as mn,e1 as js,v as la,P as gt,V as yo,b$ as As,d0 as Ts,c$ as ko,X as Es,aI as Co,e2 as So,x as da,bD as Mo,e3 as ua,e4 as Ds,e5 as ma,e6 as Is,e7 as Ls,e8 as Ps,e9 as No,ea as Ro,bB as Fs}from"./index-DTimvpMD.js";import{u as Be}from"./vendor-i18n-Duky4gdQ.js";import{SessionTerminal as $s}from"./SessionTerminal-Dspbb2NO.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.js";import"./vendor-xterm-BNq00GSj.js";import"./shield-alert-DoqrZ4qS.js";/**
1
+ import{r as a,j as t}from"./vendor-react-SZ_qB27O.js";import{c as ei,ar as Et,ap as bt,aq as wa,bq as Ms,dB as zi,dC as Oi,dD as ra,av as W,dE as Ui,dq as Dt,dF as At,dr as xa,dG as Hi,dH as Ki,dI as Vi,dJ as Wi,dK as Xi,dL as qi,be as Gi,cO as ya,dM as ke,aZ as Yi,bE as ti,c9 as wn,dN as Qi,am as xn,dO as Ji,dP as Zi,bZ as eo,F as to,aJ as no,b3 as vn,Y as ao,cZ as so,dQ as io,dR as oo,f as ro,aX as co,dS as lo,dT as ni,dU as ai,dV as uo,dn as mo,K as ho,dW as fo,dX as go,dY as Ns,dZ as po,d_ as vo,d$ as Rs,y as bo,q as wo,u as xo,dl as ca,C as un,e0 as mn,e1 as js,v as la,P as gt,V as yo,b$ as As,d0 as Ts,c$ as ko,X as Es,aI as Co,e2 as So,x as da,bD as Mo,e3 as ua,e4 as Ds,e5 as ma,e6 as Is,e7 as Ls,e8 as Ps,e9 as No,ea as Ro,bB as Fs}from"./index-C5YdAqNQ.js";import{u as Be}from"./vendor-i18n-Duky4gdQ.js";import{SessionTerminal as $s}from"./SessionTerminal-M2fIpHrL.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.js";import"./vendor-xterm-BNq00GSj.js";import"./shield-alert-CzZYSqmH.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 dn,a as Wx,b as Wl,c as Hx}from"./vendor-react-SZ_qB27O.js";import{c as Jt,gR as Gx,dl as xh,L as Hl,h as Ai,gS as Ei,a as fr,w as mr,aW as fn,gT as Gl,ab as Xl,gU as Tu,R as Ht,ay as Xx,gV as Yx,aL as Zx,aS as _i,gW as jh,ds as Jx,aX as wh,aY as Ch,bS as Qx,aJ as Yl,c0 as Zl,c1 as ej,gX as tj,am as rj,fj as nj,gY as aj,ae as kh,gZ as ij,g_ as sj,bB as Mu,g$ as Iu,fu as oj,gx as ws,h0 as Du,h1 as ha,be as Go,h2 as lj,h3 as cj,h4 as uj,h5 as dj,gy as fj,h6 as mj,h7 as vj,h8 as hj,gu as pj,h9 as yj,y as gj,aM as bj,gz as Sh,ha as xj,c9 as jj,u as wj,hb as Cj,as as kj,hc as Cs,hd as Sj,he as Pj,hf as Nj,hg as Oj,hh as Aj,hi as Ej,hj as Jl,hk as Ql,hl as Ru,cO as za,hm as Lu,hn as Xo,ho as Ph,hp as Yo,bf as Nh,bC as Oh,_ as _j,c2 as Ah,d7 as Tj,x as Zo,cW as Mj,F as ec,C as tc,P as Ka,hq as Ij,hr as Dj,v as Rj,eL as $u,X as Ia,E as Lj,p as $j,b1 as Bu,aH as Bj,hs as Fu,ht as Fj,hu as zj,hv as Kj,hw as Vj,dm as Uj,hx as ks,hy as qj,hz as Wj,hA as Hj}from"./index-DTimvpMD.js";import{u as oe}from"./vendor-i18n-Duky4gdQ.js";import{a as Eh,b as _h,p as Gj,w as Xj}from"./vendor-reactflow-BlIeoTu4.js";import{w as Th,n as Mh,a as Me,A as rc,G as Yj,H as Zj,l as Ih,t as Ti,b as _t,p as Jo,s as Va,c as Dh,q as Jj,r as Qj,u as e0,v as t0,x as r0,y as n0,z as a0,C as i0,D as s0,k as o0,E as l0,F as c0}from"./step-yuy0qJer.js";import{b as u0,p as d0}from"./band-CquvqAHh.js";import{d as Ua,n as f0,e as m0,f as Qo,g as Fr,h as nc,a as ac,i as zu,j as Wt,c as v0,k as Mi,l as h0,m as p0}from"./linear-Dyk9wory.js";import{i as pr,a as Qt}from"./init-Dmth1JHB.js";import{m as Ku,a as Vu,p as y0,q as g0,u as b0,s as x0,r as j0,v as w0,w as C0,x as k0,y as S0,z as P0,A as N0,B as O0,t as A0}from"./time-2wBVBf9F.js";import{f as E0,b as _0}from"./defaultLocale-DX6XiGOO.js";import{i as T0,o as M0}from"./ordinal-DILIJJjt.js";import{r as I0}from"./agentsOrgChartLayout-BMvyuaLA.js";import{U as ic}from"./upload-BF3YtpBl.js";import{S as D0}from"./shield-alert-DoqrZ4qS.js";import{b as R0}from"./agent-import-generation-DV3YE8Rc.js";import{r as L0,B as $0,R as B0,b as F0,a as z0}from"./ReportModal-6RDeUqQG.js";import{PluginManager as K0}from"./PluginManager-lIMMAJYt.js";import{v as V0}from"./projectDetection-G3XuxD2X.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./DirectoryPicker-JH2ahFj8.js";import"./folder-open-DKvxGzrx.js";/**
1
+ import{r as f,j as s,g as dn,a as Wx,b as Wl,c as Hx}from"./vendor-react-SZ_qB27O.js";import{c as Jt,gR as Gx,dl as xh,L as Hl,h as Ai,gS as Ei,a as fr,w as mr,aW as fn,gT as Gl,ab as Xl,gU as Tu,R as Ht,ay as Xx,gV as Yx,aL as Zx,aS as _i,gW as jh,ds as Jx,aX as wh,aY as Ch,bS as Qx,aJ as Yl,c0 as Zl,c1 as ej,gX as tj,am as rj,fj as nj,gY as aj,ae as kh,gZ as ij,g_ as sj,bB as Mu,g$ as Iu,fu as oj,gx as ws,h0 as Du,h1 as ha,be as Go,h2 as lj,h3 as cj,h4 as uj,h5 as dj,gy as fj,h6 as mj,h7 as vj,h8 as hj,gu as pj,h9 as yj,y as gj,aM as bj,gz as Sh,ha as xj,c9 as jj,u as wj,hb as Cj,as as kj,hc as Cs,hd as Sj,he as Pj,hf as Nj,hg as Oj,hh as Aj,hi as Ej,hj as Jl,hk as Ql,hl as Ru,cO as za,hm as Lu,hn as Xo,ho as Ph,hp as Yo,bf as Nh,bC as Oh,_ as _j,c2 as Ah,d7 as Tj,x as Zo,cW as Mj,F as ec,C as tc,P as Ka,hq as Ij,hr as Dj,v as Rj,eL as $u,X as Ia,E as Lj,p as $j,b1 as Bu,aH as Bj,hs as Fu,ht as Fj,hu as zj,hv as Kj,hw as Vj,dm as Uj,hx as ks,hy as qj,hz as Wj,hA as Hj}from"./index-C5YdAqNQ.js";import{u as oe}from"./vendor-i18n-Duky4gdQ.js";import{a as Eh,b as _h,p as Gj,w as Xj}from"./vendor-reactflow-BlIeoTu4.js";import{w as Th,n as Mh,a as Me,A as rc,G as Yj,H as Zj,l as Ih,t as Ti,b as _t,p as Jo,s as Va,c as Dh,q as Jj,r as Qj,u as e0,v as t0,x as r0,y as n0,z as a0,C as i0,D as s0,k as o0,E as l0,F as c0}from"./step-yuy0qJer.js";import{b as u0,p as d0}from"./band-CquvqAHh.js";import{d as Ua,n as f0,e as m0,f as Qo,g as Fr,h as nc,a as ac,i as zu,j as Wt,c as v0,k as Mi,l as h0,m as p0}from"./linear-Dyk9wory.js";import{i as pr,a as Qt}from"./init-Dmth1JHB.js";import{m as Ku,a as Vu,p as y0,q as g0,u as b0,s as x0,r as j0,v as w0,w as C0,x as k0,y as S0,z as P0,A as N0,B as O0,t as A0}from"./time-2wBVBf9F.js";import{f as E0,b as _0}from"./defaultLocale-DX6XiGOO.js";import{i as T0,o as M0}from"./ordinal-DILIJJjt.js";import{r as I0}from"./agentsOrgChartLayout-BMvyuaLA.js";import{U as ic}from"./upload-D7nNe9wD.js";import{S as D0}from"./shield-alert-CzZYSqmH.js";import{b as R0}from"./agent-import-generation-COItiXMT.js";import{r as L0,B as $0,R as B0,b as F0,a as z0}from"./ReportModal-8FjZOcbC.js";import{PluginManager as K0}from"./PluginManager-CBt-CqUz.js";import{v as V0}from"./projectDetection-G3XuxD2X.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./DirectoryPicker-DvwqfQDS.js";import"./folder-open-DXNu4ED4.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.