@runfusion/fusion 0.77.0-beta.2 → 0.77.0-beta.3
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.
- package/dist/bin.js +2912 -1774
- package/dist/child-process-worker.js +1458 -1311
- package/dist/client/.vite/manifest.json +266 -266
- package/dist/client/assets/{AgentDetailView-Dew3af1O.js → AgentDetailView-D-mPbGXe.js} +1 -1
- package/dist/client/assets/{AgentPermissionPolicyEditor-CxPQffiY.js → AgentPermissionPolicyEditor-Bq3z2QY0.js} +1 -1
- package/dist/client/assets/{AgentsView-Cr4LDGdt.js → AgentsView-CYg6b9n0.js} +3 -3
- package/dist/client/assets/{ChatView-cNYtYx05.js → ChatView-qnlDeWDu.js} +1 -1
- package/dist/client/assets/{CommandCenter-DCC90LOP.js → CommandCenter-DDCbSURT.js} +1 -1
- package/dist/client/assets/{DevServerView-B5b520w6.js → DevServerView-DJ459OYL.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-1JvRd5mC.js → DirectoryPicker-ClOKp7d1.js} +1 -1
- package/dist/client/assets/{DocumentsView-ksK9f7xt.js → DocumentsView-D3Yb4WqD.js} +1 -1
- package/dist/client/assets/{EvalsView-a3LhgRSo.js → EvalsView-DGJFQc1W.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-vdVa8h7F.js → ExperimentalAgentOnboardingModal-CMy3zvnk.js} +1 -1
- package/dist/client/assets/{GoalsView-Dz2o91fd.js → GoalsView-D-z3Rf4g.js} +1 -1
- package/dist/client/assets/{InsightsView-De3R_46d.js → InsightsView-By1AFGbM.js} +1 -1
- package/dist/client/assets/{MemoryView-Cagk2wZG.js → MemoryView-Dhe8ydZR.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-C9JABO_4.js → PiExtensionsManager-_8u94B1u.js} +1 -1
- package/dist/client/assets/{PluginManager-D2csmdQa.js → PluginManager-ByNlw3zN.js} +1 -1
- package/dist/client/assets/{PullRequestView-DT8vTeVi.js → PullRequestView-NkCEKKpG.js} +1 -1
- package/dist/client/assets/{ReportModal-YMP6V4vu.js → ReportModal-DovuZwdY.js} +1 -1
- package/dist/client/assets/{ResearchView-cNsjYu8F.js → ResearchView-BCxXqB8F.js} +1 -1
- package/dist/client/assets/{SecretsView-BAmf7KyS.js → SecretsView-CxK0XDc2.js} +1 -1
- package/dist/client/assets/SessionTerminal-CuVsOYc8.js +2 -0
- package/dist/client/assets/{SettingsModal-C_9RiEI7.js → SettingsModal-BtV1tIIf.js} +1 -1
- package/dist/client/assets/{SettingsModal-DLfy2e_5.js → SettingsModal-C-tiAvqQ.js} +3 -3
- package/dist/client/assets/{SettingsTextareaRow-D8RHSj8b.js → SettingsTextareaRow-YR4pGawU.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-DRJ96pHQ.js → SetupWizardModal-DrbeWku9.js} +2 -2
- package/dist/client/assets/{SkillsView-DyeCwYit.js → SkillsView-B4Jc91WM.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-C5Jc9w_A.js → WorkflowNodeEditor-DGtYlSHs.js} +1 -1
- package/dist/client/assets/{agent-import-generation-SCPNeF25.js → agent-import-generation-CHAXFtOA.js} +1 -1
- package/dist/client/assets/{agentsOrgChartLayout-CqKtNCjy.js → agentsOrgChartLayout-DsahEyq7.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-Cz2HYn0b.js → architectureDiagram-3BPJPVTR-BKJBR8ob.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-IimJVscG.js → blockDiagram-GPEHLZMM-CqpNEYwI.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-C-xii7zn.js → c4Diagram-AAUBKEIU-CouyKoYs.js} +1 -1
- package/dist/client/assets/channel-D7yWYIo9.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-DQ-9Xccu.js → chunk-2J33WTMH-WHWSsNaC.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-DmdAX9Bx.js → chunk-4BX2VUAB-B-EVACQc.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-IF2bk5IL.js → chunk-55IACEB6-CVvNjEpv.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-AeYpIzVu.js → chunk-727SXJPM-CV4EKLRh.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-DV942DD9.js → chunk-AQP2D5EJ-DtDpuURf.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Bt_riVlZ.js → chunk-FMBD7UC4-DPejtS21.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-CbyjNbXR.js → chunk-ND2GUHAM-DGDxBRA_.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DqiRniYQ.js → chunk-QZHKN3VN-D2k1MIuX.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-cuSqS34E.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-cuSqS34E.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-UCvthviL.js → cose-bilkent-S5V4N54A-Cr6PW7Dk.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-DnMlT1Oi.js → dagre-BM42HDAG-QKrqYGWy.js} +1 -1
- package/dist/client/assets/{dashboard-view-myjM9tr8.js → dashboard-view-BQRwsBoj.js} +1 -1
- package/dist/client/assets/{dashboard-view-Cz0sp2Wl.js → dashboard-view-BcNU4vFB.js} +1 -1
- package/dist/client/assets/{dashboard-view-JysoyDRX.js → dashboard-view-BksOkReD.js} +1 -1
- package/dist/client/assets/{dashboard-view-C9D0aoRW.js → dashboard-view-CkPDyljq.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BYFiqXGw.js → diagram-2AECGRRQ-BBFXrRQl.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-DZU3pSYq.js → diagram-5GNKFQAL-_T4nM0jp.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-0ybdKuMm.js → diagram-KO2AKTUF-BAKmsx_j.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-Rxbgnbsp.js → diagram-LMA3HP47-Xdsdd6Gx.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-BAU_hTeV.js → diagram-OG6HWLK6-tIHxhnE8.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-zr8HrwTt.js → erDiagram-TEJ5UH35-HZSbfe0g.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-CrTw0iFw.js → flowDiagram-I6XJVG4X-C4O3r0DX.js} +1 -1
- package/dist/client/assets/{folder-open-DnAlsXXn.js → folder-open-15UiPjYb.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CCORsxxz.js → ganttDiagram-6RSMTGT7-DGsKKMEu.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-C07wWSjj.js → gitGraphDiagram-PVQCEYII-BY4kgtHp.js} +1 -1
- package/dist/client/assets/index-4c8KmZSa.js +2818 -0
- package/dist/client/assets/{index-DPo-IAb2.css → index-Bg6JQgJj.css} +1 -1
- package/dist/client/assets/{infoDiagram-5YYISTIA-hAeccD_4.js → infoDiagram-5YYISTIA-lJBWxF8I.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-WLCzv-NH.js → ishikawaDiagram-YF4QCWOH-CrE_q16o.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-ClnasNhy.js → journeyDiagram-JHISSGLW-9V42jgFW.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CAuARhUz.js → kanban-definition-UN3LZRKU-B_T-7Vyf.js} +1 -1
- package/dist/client/assets/{mermaid.core-Bh02RvfX.js → mermaid.core-CwJ7S3PS.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-KNTlbW4V.js → mindmap-definition-RKZ34NQL-MYNSgM6G.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BouAfBEw.js → pieDiagram-4H26LBE5-CtT-wbYj.js} +1 -1
- package/dist/client/assets/{puzzle-CC8Ur3Cy.js → puzzle-CXdFNN8H.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-wTdkCUJU.js → quadrantDiagram-W4KKPZXB-3klC5x4k.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-BnjY4Tc_.js → requirementDiagram-4Y6WPE33-CHfFrsBL.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C-QsS08u.js → sankeyDiagram-5OEKKPKP-Dtktw7Dy.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-DD36MILE.js → sequenceDiagram-3UESZ5HK-CuXPMjTU.js} +1 -1
- package/dist/client/assets/{shield-alert-DcXc56Fy.js → shield-alert-D9xqzJwR.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-BF5y1BLz.js → standing-instructions-template-CcpV_LRP.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-WTq1wQr1.js → stateDiagram-AJRCARHV-Bj_rDJwQ.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-eILJdjII.js → stateDiagram-v2-BHNVJYJU-D-YYF-kX.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-PRNwI0NR.js → timeline-definition-PNZ67QCA-DXalwFMD.js} +1 -1
- package/dist/client/assets/{upload-qH_64O-B.js → upload-CWVc30BQ.js} +1 -1
- package/dist/client/assets/{useDiscoveredSkillsCache-C-GPCNaO.js → useDiscoveredSkillsCache-D2M95Nn0.js} +1 -1
- package/dist/client/assets/{users-D2UesRE4.js → users-q_-iLqv9.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-CG2Z4T4O.js → vennDiagram-CIIHVFJN-0-aTlrbe.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-gO_fGvF9.js → wardley-L42UT6IY-Bz_e_5wx.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BkyNpjUb.js → wardleyDiagram-YWT4CUSO-DsQu4YnA.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-CMlZsiPq.js → xychartDiagram-2RQKCTM6-K6GQdwVG.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +1587 -1355
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/SessionTerminal-BjGcxq22.js +0 -2
- package/dist/client/assets/channel-D-UHgx8G.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-Do-8MdAc.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Do-8MdAc.js +0 -1
- package/dist/client/assets/index-B_z7OKl4.js +0 -2818
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as s,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ds,bz as la,bA as oa,bB as ca,bC as da,L as K,bD as Pt,R as kt,bE as vs,Z as ua,bF as Ut,bG as Hs,F as yt,C as zs,k as Is,bH as ma,bI as ga,bJ as ha,ag as Os,aY as fa,bK as pa,bL as V,bM as ba,bN as xa,bO as va,bP as Bs,bQ as ss,bR as ja,bS as Et,bT as Vt,bh as Tt,K as js,bU as $s,ar as _s,bV as Wt,bW as Lt,bX as ys,bY as dt,bZ as ya,X as Us,aI as Nt,b_ as Na,b$ as Vs,c0 as Ws,c1 as ka,a3 as Sa,B as Ca,c2 as Gs,aS as Js,c3 as rs,aZ as wa,c4 as Ns,c5 as Ra,c6 as Ma,c7 as as,c8 as qs,c9 as Aa,h as Fa,ca as Pa,l as Ks,cb as Ys,b4 as Ta,as as je,cc as ks,cd as Ss,ce as Ea,cf as La,cg as Da,ch as Ha,ci as Ht,y as zt,n as It,o as Ot,aB as Zs,cj as za,ck as Ia,cl as Oa,aK as Xs,aL as Ba,cm as Gt,cn as $a,co as _a,cp as Cs,cq as Ua,cr as Va,cs as Jt,ct as Wa,cu as Ga,cv as Ja,cw as ns,G as qa,cx as ls,cy as Ka,cz as Ya,cA as Za,cB as Xa,cC as Qa,cD as en,aC as Qs,cE as tn,cF as sn,cG as an,cH as nn,cI as rn}from"./index-
|
|
1
|
+
import{r as s,j as e}from"./vendor-react-SZ_qB27O.js";import{c as Ds,bz as la,bA as oa,bB as ca,bC as da,L as K,bD as Pt,R as kt,bE as vs,Z as ua,bF as Ut,bG as Hs,F as yt,C as zs,k as Is,bH as ma,bI as ga,bJ as ha,ag as Os,aY as fa,bK as pa,bL as V,bM as ba,bN as xa,bO as va,bP as Bs,bQ as ss,bR as ja,bS as Et,bT as Vt,bh as Tt,K as js,bU as $s,ar as _s,bV as Wt,bW as Lt,bX as ys,bY as dt,bZ as ya,X as Us,aI as Nt,b_ as Na,b$ as Vs,c0 as Ws,c1 as ka,a3 as Sa,B as Ca,c2 as Gs,aS as Js,c3 as rs,aZ as wa,c4 as Ns,c5 as Ra,c6 as Ma,c7 as as,c8 as qs,c9 as Aa,h as Fa,ca as Pa,l as Ks,cb as Ys,b4 as Ta,as as je,cc as ks,cd as Ss,ce as Ea,cf as La,cg as Da,ch as Ha,ci as Ht,y as zt,n as It,o as Ot,aB as Zs,cj as za,ck as Ia,cl as Oa,aK as Xs,aL as Ba,cm as Gt,cn as $a,co as _a,cp as Cs,cq as Ua,cr as Va,cs as Jt,ct as Wa,cu as Ga,cv as Ja,cw as ns,G as qa,cx as ls,cy as Ka,cz as Ya,cA as Za,cB as Xa,cC as Qa,cD as en,aC as Qs,cE as tn,cF as sn,cG as an,cH as nn,cI as rn}from"./index-4c8KmZSa.js";import{r as ln,f as qt,c as Kt,S as on,a as cn,b as dn}from"./standing-instructions-template-CcpV_LRP.js";import{u as we}from"./vendor-i18n-Duky4gdQ.js";import{u as un}from"./useDiscoveredSkillsCache-D2M95Nn0.js";import{ExperimentalAgentOnboardingModal as mn}from"./ExperimentalAgentOnboardingModal-CMy3zvnk.js";import{B as gn,A as hn}from"./AgentPermissionPolicyEditor-Bq3z2QY0.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,b5 as N,b6 as R,b7 as O}from"./index-
|
|
1
|
+
import{c as B,b5 as N,b6 as R,b7 as O}from"./index-4c8KmZSa.js";import{r as b,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-
|
|
2
|
-
import{c as ma,bW as bt,ea as Vs,as as zt,Z as Bs,eb as Ws,bh as ns,bN as Us,ec as Ks,ca as na,ed as Gs,c2 as ls,ee as la,aI as ia,aA as Ys,C as Xs,k as is,c3 as ra,d6 as rs,K as os,cn as qs,cq as Zs,bS as Ot,ef as Js,ai as Qs,ao as en,dj as tn,I as an,ar as Vt,dZ as Da,c8 as sn,aK as Fa,cv as nn,ap as ln,aq as rn,eg as on,aJ as cn,L as Gt,a$ as kt,R as ht,X as $a,dR as dn,eh as un,dy as At,ag as gn,dA as Yt,aY as mn,da as hn,bL as ge,bT as De,ei as pn,cm as pt,dd as bn,ej as xn,ek as za,V as fn,el as vn,P as Oa,em as jn,bX as Ft,bV as wt,F as Va,en as yn,cB as Nn,eo as kn,ep as wn,dJ as Cn,c4 as Ba,cs as ut,cr as Ct,a8 as Sn,aZ as An,c6 as Rn,eq as En,cb as Wa,c5 as Tn}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AgentDetailView-D-mPbGXe.js","assets/vendor-react-SZ_qB27O.js","assets/index-4c8KmZSa.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-Bg6JQgJj.css","assets/standing-instructions-template-CcpV_LRP.js","assets/standing-instructions-template-w7Ouw_37.css","assets/useDiscoveredSkillsCache-D2M95Nn0.js","assets/ExperimentalAgentOnboardingModal-CMy3zvnk.js","assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css","assets/AgentPermissionPolicyEditor-Bq3z2QY0.js","assets/AgentPermissionPolicyEditor-CXib-igK.css","assets/AgentDetailView-jzgy1BAS.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{c as ma,bW as bt,ea as Vs,as as zt,Z as Bs,eb as Ws,bh as ns,bN as Us,ec as Ks,ca as na,ed as Gs,c2 as ls,ee as la,aI as ia,aA as Ys,C as Xs,k as is,c3 as ra,d6 as rs,K as os,cn as qs,cq as Zs,bS as Ot,ef as Js,ai as Qs,ao as en,dj as tn,I as an,ar as Vt,dZ as Da,c8 as sn,aK as Fa,cv as nn,ap as ln,aq as rn,eg as on,aJ as cn,L as Gt,a$ as kt,R as ht,X as $a,dR as dn,eh as un,dy as At,ag as gn,dA as Yt,aY as mn,da as hn,bL as ge,bT as De,ei as pn,cm as pt,dd as bn,ej as xn,ek as za,V as fn,el as vn,P as Oa,em as jn,bX as Ft,bV as wt,F as Va,en as yn,cB as Nn,eo as kn,ep as wn,dJ as Cn,c4 as Ba,cs as ut,cr as Ct,a8 as Sn,aZ as An,c6 as Rn,eq as En,cb as Wa,c5 as Tn}from"./index-4c8KmZSa.js";import{r as s,j as e,b as In}from"./vendor-react-SZ_qB27O.js";import{w as Ua,a as Mn,c as Ka,f as _n,r as Pn}from"./standing-instructions-template-CcpV_LRP.js";import{u as Te}from"./vendor-i18n-Duky4gdQ.js";import{g as Ln,i as Hn,p as Dn,w as Fn,c as Ga,a as $n,A as zn,F as On,O as Xt,b as Ya,r as Vn,d as Bn,e as Wn,o as Un}from"./agentsOrgChartLayout-DsahEyq7.js";import{c as qt,s as Kn,g as Gn,f as Xa}from"./agent-import-generation-CHAXFtOA.js";import{ExperimentalAgentOnboardingModal as Yn}from"./ExperimentalAgentOnboardingModal-CMy3zvnk.js";import{U as oa}from"./upload-CWVc30BQ.js";import{F as Xn}from"./folder-open-15UiPjYb.js";import{u as qn}from"./useDiscoveredSkillsCache-D2M95Nn0.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:y,onChange:c=>{x("paste"),N([]),S(c.target.value),U(null)},rows:8,"aria-label":a("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:a("agents.currentInput","Current input: {{method}}",{method:i})}),V&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(kt,{size:14}),V]})]}),C==="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:a("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:P})]}),k.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:k.map((c,w)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(kt,{size:12}),e.jsx("span",{children:c})]},w))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(ia,{size:14}),e.jsx("span",{children:a("agents.agentsFound","{{count}} agent{{plural}} found",{count:_.length,plural:_.length!==1?"s":""})})]}),_.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H(_.map(c=>c.name)),children:a("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H([]),children:a("agents.clearAgents","Clear agents")})]}),_.length>0?e.jsx("div",{className:"agent-import-agent-list",children:_.map((c,w)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":a("agents.selectAgent","Select agent {{name}}",{name:c.name}),checked:M.includes(c.name),onChange:()=>je(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:a("agents.importReportsTo"," · reports to {{agent}}",{agent:c.reportsTo})}),c.skills&&c.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:a("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?"...":""]})]})]},w))}):e.jsx("p",{className:"agent-import-empty",children:a("agents.noAgentsFound","No agents found in the manifest.")}),$.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(ia,{size:14}),e.jsx("span",{children:a("agents.skillsFound","{{count}} skill{{plural}} found",{count:$.length,plural:$.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>z($.map(c=>c.name)),children:a("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>z([]),children:a("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:$.map((c,w)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":a("agents.selectSkill","Select skill {{name}}",{name:c.name}),checked:E.includes(c.name),onChange:()=>et(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}-${w}`))})]}),Ae&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(kt,{size:14}),Ae]})]}),C==="result"&&A&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(zt,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:a("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[a("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:a("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:a("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:a("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,w)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(zt,{size:12}),e.jsx("span",{children:c.name})]},w))}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.errors.map((c,w)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx($a,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},w))}),A.warnings&&A.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:A.warnings.map((c,w)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(kt,{size:12}),e.jsx("span",{children:c})]},w))}),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:a("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:a("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:a("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:a("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:a("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,w)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(zt,{size:12}),e.jsx("span",{children:c.name})]},w))}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.skills.errors.map((c,w)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx($a,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},w))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[C==="preview"&&e.jsx("button",{className:"btn",onClick:()=>b("input"),disabled:ve,children:a("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Ce,disabled:ve,children:C==="result"?a("agents.close","Close"):a("agents.cancel","Cancel")}),C==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void Be(),disabled:Y||(i==="directory"?T.length===0:i==="browse"?!ae:!y.trim()),children:Y?e.jsxs(e.Fragment,{children:[e.jsx(Gt,{size:14,className:"spin"}),a("agents.parsing","Parsing...")]}):a("agents.preview","Preview")}),C==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void Qe(),disabled:ve||he===0&&G===0,children:ve?e.jsxs(e.Fragment,{children:[e.jsx(Gt,{size:14,className:"spin"}),Ve]}):a("agents.importButton","Import {{label}}",{label:_e})})]})]})}):null}const es="(prefers-reduced-motion: reduce)";function xl(){const[n,l]=s.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(es).matches);return s.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const g=window.matchMedia(es),u=()=>l(g.matches);return u(),g.addEventListener("change",u),()=>g.removeEventListener("change",u)},[]),n}const ts=s.lazy(()=>Sn(()=>import("./AgentDetailView-Dew3af1O.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])).then(n=>({default:n.AgentDetailView})));function fl(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 aa=[.1,.25,.5,1,2,3,5,10],sa="__disabled__",vl=.25,jl=3,$t=16,mt=32,as=320,ds=260,us=520,gs="kb-dashboard-agents-sidebar-width";function ca(n){return Math.max(ds,Math.min(us,n))}function ss(n){if(typeof window>"u")return as;const l=At(gs,n),g=l?Number(l):NaN;return Number.isFinite(g)?ca(g):as}function da(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 ua(n,l){switch(l){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 yl(n,l){const g=n.runtimeConfig??{},u=typeof g.runtimeHint=="string"?g.runtimeHint:"";if(u)return{label:u,isRuntime:!0};const h=typeof g.modelProvider=="string"?g.modelProvider:"",a=typeof g.modelId=="string"?g.modelId:"";if(h&&a)return{label:`${h}/${a}`,isRuntime:!1};const C=typeof g.model=="string"?g.model:"";if(C.includes("/")){const i=C.indexOf("/");return{label:C.slice(i+1),isRuntime:!1}}const b=Pn(n,l);return{label:b.provider&&b.modelId?`${b.provider}/${b.modelId}`:null,isRuntime:!1}}function ms(n){return n.children.length===0?1:n.children.reduce((l,g)=>l+ms(g),0)}function hs(n,l){for(const g of n){if(g.agent.id===l)return g.agent;const u=hs(g.children,l);if(u)return u}}function ga(n,l,g){return n.state==="error"?{title:void 0,label:g("agents.healthError","Error")}:{title:l.reason??l.label,label:l.stateDerived?null:l.label}}function Nl({agent:n,pending:l,onToggle:g}){const{t:u}=Te("app");if(De(n))return null;const h=pt(n),a=h?u("agents.disableHeartbeat","Disable heartbeat"):u("agents.enableHeartbeat","Enable heartbeat");return e.jsx("button",{type:"button",className:"btn btn-sm agent-heartbeat-toggle",disabled:l,"aria-pressed":h,"aria-label":u("agents.heartbeatActionForAgent","{{action}} for {{name}}",{action:a,name:n.name}),onClick:C=>{C.stopPropagation(),g(n)},children:l?u("agents.heartbeatUpdating","Updating heartbeat…"):a})}function ps({node:n,onSelect:l,getHealthStatus:g,selectedAgentId:u,registerNodeElement:h,linksRef:a,activityByAgentId:C,nowTick:b}){const{t:i}=Te("app"),{agent:x,children:y}=n,S=g(x),T=ga(x,S,i),N=da(x.state),P=ua("org-chart-node-card",x.state),I=ms(n),_=Bn(x,C.get(x.id),b,S),W=_==="unknown"?"":` org-chart-node-card--activity-${_}`,$={"--org-chart-subtree-leaves":String(I)};return e.jsxs("div",{className:`org-chart-node${y.length>0?" org-chart-node--has-children":""}`,style:$,children:[e.jsxs("div",{ref:R=>h(x.id,R),"data-agent-id":x.id,className:`org-chart-node-card ${P}${W}${u===x.id?" agent-card--selected":""}`,..._==="unknown"?{}:{"data-activity-state":_,"aria-label":`${x.name}: ${_}`},onClick:()=>l(x.id),role:"button",tabIndex:0,onKeyDown:R=>{(R.key==="Enter"||R.key===" ")&&(R.key===" "&&R.preventDefault(),l(x.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(Vt,{agent:x,size:20})}),e.jsx("span",{className:"org-chart-node__name",children:x.name})]}),e.jsxs("div",{className:"org-chart-node__meta",children:[e.jsx("span",{className:`org-chart-node__badge ${N}`,children:x.state}),e.jsxs("span",{className:"org-chart-node__health",style:{color:S.color},title:T.title,children:[S.icon,T.label&&e.jsx("span",{className:"text-secondary",children:T.label})]})]})]}),y.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":i("agents.orgChartEmployees","{{name}} employees",{name:x.name}),children:y.map(R=>(a.current.push({parentId:x.id,childId:R.agent.id}),e.jsx(ps,{node:R,onSelect:l,getHealthStatus:g,selectedAgentId:u,registerNodeElement:h,linksRef:a,activityByAgentId:C,nowTick:b},R.agent.id)))})]})}function kl({links:n,nodeElements:l,canvasRef:g,viewportRef:u,layoutMode:h,transform:a,activityEvents:C,nowTick:b}){const[i,x]=s.useState([]),y=xl(),S=s.useMemo(()=>Wn(n,C,b),[C,n,b]);return s.useLayoutEffect(()=>{const T=g.current,N=u.current;if(!T||!N||n.length===0){x([]);return}const P=()=>{const _=T.getBoundingClientRect(),W=n.flatMap(({parentId:$,childId:R})=>{const k=l.get($),L=l.get(R);if(!k||!L)return[];const M=k.getBoundingClientRect(),H=L.getBoundingClientRect(),E=(M.left-_.left)/a.scale,z=(M.top-_.top)/a.scale,Y=(H.left-_.left)/a.scale,X=(H.top-_.top)/a.scale;if(h==="vertical"){const ce=E,Ae=z+M.height/a.scale/2,pe=Y,ne=X+H.height/a.scale/2,de=ce-(ce-pe)/2;return[{d:`M ${ce} ${Ae} L ${de} ${Ae} L ${de} ${ne} L ${pe} ${ne}`,link:{parentId:$,childId:R}}]}const ve=E+M.width/a.scale/2,te=z+M.height/a.scale,V=Y+H.width/a.scale/2,U=X,A=te+(U-te)/2;return[{d:`M ${ve} ${te} L ${ve} ${A} L ${V} ${A} L ${V} ${U}`,link:{parentId:$,childId:R}}]});x(W)};P();const I=new ResizeObserver(P);return I.observe(T),I.observe(N),l.forEach(_=>I.observe(_)),()=>I.disconnect()},[g,h,n,l,a.scale,u]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:i.map(({d:T,link:N})=>{const P=S.get(Un(N.parentId,N.childId)),I=P?` agent-org-chart-connectors__flow--${y?"static ":""}${P}`:"";return e.jsx("path",{d:T,className:I||void 0,...P?{"data-flow-direction":P}:{}},`${N.parentId}-${N.childId}-${T}`)})})}function Dl({addToast:n,projectId:l,onOpenTaskLogs:g,agentOnboardingEnabled:u=!1,focusAgent:h}){const{t:a}=Te("app"),{skills:C,loading:b,error:i}=qn(l),x=cs(l),y=fl(a),[S,T]=s.useState(!1),N=s.useRef(new Map),P=s.useRef(new Map),I=s.useRef(new Map),[_,W]=s.useState(new Set),$=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{W(d=>{let m=!1;const f=new Set(d);for(const v of r){const F=P.current.get(v.target);F&&(v.isIntersecting?f.has(F)||(f.add(F),m=!0):f.has(F)&&(f.delete(F),m=!0))}return m?f:d})},{rootMargin:"200px"});return $.current=t,N.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),$.current=null}},[]);const R=s.useCallback(t=>{const r=I.current.get(t);if(r)return r;const d=m=>{const f=N.current.get(t);f&&($.current?.unobserve(f),P.current.delete(f)),m?(N.current.set(t,m),P.current.set(m,t),$.current?$.current.observe(m):W(v=>v.has(t)?v:new Set(v).add(t))):(N.current.delete(t),I.current.delete(t),W(v=>{if(!v.has(t))return v;const F=new Set(v);return F.delete(t),F}))};return I.current.set(t,d),d},[]),k=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:_.has(t),[_]),M=dn()==="mobile",[H,E]=s.useState(()=>ss(l)),[z,Y]=s.useState("all"),{agents:X,stats:ve,isLoading:te,loadAgents:V,refreshAgents:U}=un(l,{filterState:z,showSystemAgents:S}),[A,ce]=s.useState(!1),[Ae,pe]=s.useState(null),[ne,de]=s.useState(!1),[q,Re]=s.useState(null),[me,Fe]=s.useState(null),ae=M&&!!q,[ke,Ee]=s.useState("dashboard"),[we,$e]=s.useState(null),[le,Ie]=s.useState(!1),[K,ze]=s.useState(()=>{if(typeof window>"u")return"list";const t=At("fn-agent-view",l);return t==="list"||t==="board"||t==="org"?t:"list"}),[Ce,Je]=s.useState(()=>{if(typeof window>"u")return"auto";const t=At(Xt,l);return Ya(t)?t:"auto"}),[Me,Oe]=s.useState([]),[Be,Qe]=s.useState(!1),[he,G]=s.useState(0),[be,Q]=s.useState(!1),[_e,Ve]=s.useState(!1),[je,et]=s.useState(!1),[c,w]=s.useState(!1),[D,xe]=s.useState(0),[ee,B]=s.useState(0),[tt,at]=s.useState(0),[Et,xt]=s.useState(0),[ie,J]=s.useState({scale:1,x:0,y:0}),[We,Tt]=s.useState(!1),It=s.useRef(null),Pe=s.useRef(null),Le=s.useRef(null),Ue=s.useRef(new Map),st=s.useRef([]),fe=s.useRef(new Map),o=s.useRef(null),j=s.useRef(null),re=s.useRef(!1),{confirm:Mt}=gn(),nt=s.useRef(null),ha=s.useId();s.useEffect(()=>{E(ss(l))},[l]),s.useEffect(()=>{const t=At("fn-agent-view",l);if(t==="list"||t==="board"||t==="org"){ze(t);return}ze("list")},[l]),s.useEffect(()=>{Yt("fn-agent-view",K,l)},[K,l]),s.useEffect(()=>{const t=At(Xt,l);Je(Ya(t)?t:"auto")},[l]),s.useEffect(()=>{Yt(Xt,Ce,l)},[Ce,l]);const _t=s.useCallback(t=>{try{Yt(gs,String(t),l)}catch{}},[l]),bs=s.useCallback(t=>{if(M)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const d=t.clientX,m=H;let f=m;document.body.style.userSelect="none";const v=Z=>{const ue=Z.clientX-d,se=ca(m+ue);f=se,E(se)},F=Z=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(Z.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",F),_t(f)};document.addEventListener("pointermove",v),document.addEventListener("pointerup",F)},[M,_t,H]),xs=s.useCallback(t=>{if(M||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,d=t.key==="ArrowLeft"?-r:r,m=ca(H+d);E(m),_t(m)},[M,_t,H]),[fs,lt]=s.useState(null),vs=s.useRef(null),[js,it]=s.useState(null),[Ke,pa]=s.useState(new Set),[He,ba]=s.useState(!1),[xa,rt]=s.useState(null),[fa,Ge]=s.useState({}),[ft,va]=s.useState(1),[ys,Ns]=s.useState({}),[ja,ya]=s.useState(!1),[Ye,Na]=s.useState(new Set),[Bt,ot]=s.useState(new Map),Pt=s.useRef(!0);s.useEffect(()=>(Pt.current=!0,()=>{Pt.current=!1}),[]),s.useEffect(()=>{mn(l).then(t=>{Pt.current&&(va(t.heartbeatMultiplier??1),Ns(t))}).catch(()=>{})},[l]);const ka=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;va(r),ya(!0);try{await hn({heartbeatMultiplier:r},l),n(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(d){n(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:ge(d)}),"error")}finally{Pt.current&&ya(!1)}},[l,n]),Lt=s.useMemo(()=>Bt.size===0?X:X.map(t=>{const r=Bt.get(t.id);return r?{...t,state:r}:t}),[X,Bt]),vt=s.useMemo(()=>Lt.filter(t=>S||!De(t)),[Lt,S]),ks=s.useMemo(()=>Lt.filter(t=>t.state!=="active"&&t.state!=="running"?!1:S||!De(t)),[Lt,S]),Xe=s.useMemo(()=>{if(S)return Me;const t=r=>De(r.agent)?null:{...r,children:r.children.map(t).filter(d=>d!==null)};return Me.map(t).filter(r=>r!==null)},[Me,S]);s.useEffect(()=>{if(K!=="org")return;const t=Pe.current;if(!t)return;const r=()=>{G(t.clientWidth)};r();const d=typeof ResizeObserver<"u"?new ResizeObserver(r):null;return d?.observe(t),window.addEventListener("resize",r),()=>{d?.disconnect(),window.removeEventListener("resize",r)}},[K,Xe.length]),s.useEffect(()=>{if(K!=="org")return;let t=!1;return Qe(!0),pn(l,{includeEphemeral:S}).then(r=>{t||Oe(r)}).catch(r=>{t||(n(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:ge(r)}),"error"),Oe([]))}).finally(()=>{t||Qe(!1)}),()=>{t=!0}},[K,l,S,n]),s.useEffect(()=>{const t=setInterval(()=>{V()},3e4);return()=>{clearInterval(t)}},[V]),s.useEffect(()=>{if(!be)return;let t=!1;w(!0),Ot(void 0,l).then(m=>{if(t)return;const f=m.filter(v=>!De(v));xe(f.filter(v=>v.state==="active"||v.state==="running").length),B(f.filter(v=>v.state==="paused").length),at(f.filter(v=>!pt(v)).length),xt(f.filter(v=>pt(v)).length)}).catch(m=>{t||(xe(0),B(0),at(0),xt(0),n(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:ge(m)}),"error"))}).finally(()=>{t||w(!1)});const r=m=>{const f=m.target;f&&(It.current?.contains(f)||nt.current?.contains(f)||Cn(f)||Q(!1))},d=m=>{m.key==="Escape"&&(Q(!1),nt.current?.focus())};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),document.addEventListener("keydown",d),()=>{t=!0,document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r),document.removeEventListener("keydown",d)}},[n,be,l]);const wa=async t=>{if(!je){et(!0);try{const d=(await Ot(void 0,l)).filter(p=>!De(p)),m=d.filter(p=>t==="paused"?p.state==="active"||p.state==="running":p.state==="paused"),f=d.length-m.length;if(m.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 Mt({title:t==="paused"?a("agents.pauseAllTitle","Pause All Agents"):a("agents.resumeAllTitle","Resume All Agents"),message:t==="paused"?a("agents.pauseAllConfirm",{count:m.length,defaultValue_one:"Pause {{count}} agent in this project?",defaultValue_other:"Pause {{count}} agents in this project?"}):a("agents.resumeAllConfirm",{count:m.length,defaultValue_one:"Resume {{count}} agent in this project?",defaultValue_other:"Resume {{count}} agents in this project?"}),danger:t==="paused"}))return;const F=await Promise.allSettled(m.map(p=>Ba(p.id,t,l))),Z=F.map((p,O)=>({result:p,agent:m[O]})).filter(p=>p.result.status==="rejected"),ue=F.length-Z.length,se=Z.length,Ne=t==="paused"?a("agents.pausedSummary",{count:ue,skipped:f,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:ue,skipped:f,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(se>0){const p=Z.slice(0,3).map(({agent:O,result:Se})=>`${O.name||O.id}: ${ge(Se.reason)}`).join("; ");n(`${Ne}; failed ${se}${p?` (${p})`:""}`,"error")}else n(Ne,"success");await V()}catch(r){n(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:ge(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:ge(r)}),"error")}finally{et(!1)}}},Ca=async t=>{if(!(He||je||Ke.size>0)){ba(!0);try{const r=await Ot(void 0,l),m=r.filter(p=>!De(p)).filter(p=>pt(p)!==t),f=r.length-m.length;if(m.length===0){n(t?a("agents.noHeartbeatsToEnable","No agent heartbeats need enabling"):a("agents.noHeartbeatsToDisable","No agent heartbeats need disabling"),"error");return}if(!await Mt({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:m.length}):a("agents.disableAllHeartbeatsConfirm","Disable heartbeats for {{count}} project agents?",{count:m.length}),danger:!t}))return;const F=await Promise.allSettled(m.map(p=>ut(p.id,{runtimeConfig:Ct(p,t)},l))),Z=F.map((p,O)=>({result:p,agent:m[O]})).filter(p=>p.result.status==="rejected"),ue=F.length-Z.length,se=t?a("agents.enableHeartbeatsSummary","Enabled {{count}} heartbeats; skipped {{skipped}}",{count:ue,skipped:f}):a("agents.disableHeartbeatsSummary","Disabled {{count}} heartbeats; skipped {{skipped}}",{count:ue,skipped:f}),Ne=Z.slice(0,3).map(({agent:p,result:O})=>`${p.name||p.id}: ${ge(O.reason)}`).join("; ");n(Z.length?`${se}; ${a("agents.bulkFailures","failed {{count}}",{count:Z.length})}${Ne?` (${Ne})`:""}`:se,Z.length?"error":"success"),await V()}catch(r){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ge(r)}),"error")}finally{ba(!1)}}},jt=async(t,r)=>{if(!Ye.has(t)){Na(d=>new Set(d).add(t)),ot(d=>{const m=new Map(d);return m.set(t,r),m});try{await Ba(t,r,l),n(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await V(),ot(d=>{const m=new Map(d);return m.delete(t),m})}catch(d){ot(m=>{const f=new Map(m);return f.delete(t),f}),n(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:ge(d)}),"error")}finally{Na(d=>{const m=new Set(d);return m.delete(t),m})}}},Sa=async(t,r)=>{if(await Mt({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await Rn(t,l),n(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await V()}catch(m){n(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:ge(m)}),"error")}},ws=async(t,r)=>{const d=X.find(m=>m.id===t);if(d){if(d.role===r){lt(null);return}try{await ut(t,{role:r},l),n(a("agents.roleUpdated","Agent role updated to {{role}}",{role:y.find(m=>m.value===r)?.label??r}),"success"),lt(null),V()}catch(m){n(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:ge(m)}),"error")}}},Cs=(t,r)=>{t.key==="Escape"&<(null)},Ss=async(t,r)=>{if(!(He||Ke.has(t.id))){xa===t.id&&(rt(null),Ge(d=>{const m={...d};return delete m[t.id],m})),it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:r}},l),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Wa(r),name:t.name}),"success"),V()}catch(d){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(d)}),"error")}finally{it(null)}}},Aa=async(t,r)=>{if(!(De(t)||He||Ke.has(t.id))){pa(d=>new Set(d).add(t.id));try{await ut(t.id,{runtimeConfig:Ct(t,r)},l),n(r?a("agents.heartbeatEnabledForAgent","Heartbeat enabled for {{name}}",{name:t.name}):a("agents.heartbeatDisabled","Heartbeat disabled for {{name}}",{name:t.name}),"success"),await V()}catch(d){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ge(d)}),"error")}finally{pa(d=>{const m=new Set(d);return m.delete(t.id),m})}}},As=t=>Aa(t,!1),Ra=async t=>{if(He||Ke.has(t.id))return;const r=fa[t.id]??"";if(r.trim()===""){n(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const d=Number(r);if(isNaN(d)){n(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(d<=0){n(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(d>=1&&d<5){it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:En}},l),n(a("agents.heartbeatClampedToMin",{count:d,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),Ge(f=>{const v={...f};return delete v[t.id],v}),V()}catch(f){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(f)}),"error")}finally{it(null)}return}const m=Math.round(d*6e4);it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:m}},l),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Wa(m),name:t.name}),"success"),rt(null),Ge(f=>{const v={...f};return delete v[t.id],v}),V()}catch(f){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(f)}),"error")}finally{it(null)}},Rs=t=>{if(He||Ke.has(t.id))return;const r=na(t.runtimeConfig?.heartbeatIntervalMs),d=Math.round(r/6e4);rt(t.id),Ge(m=>({...m,[t.id]:String(d)}))},ye=s.useCallback((t,r)=>{Re(t),Ee(r?.initialTab??"dashboard"),$e(r?.initialRunId??null),Ie(r?.preferActiveRun??!1)},[]),qe=s.useCallback(()=>{Re(null),Ee("dashboard"),$e(null),Ie(!1)},[]),Ea=s.useCallback(t=>{ye(t)},[ye]),Es=s.useCallback(t=>{Fe(t),ye(t);const r=X.find(d=>d.id===t)?.taskId??hs(Me,t)?.taskId;r&&g&&g(r)},[X,g,ye,Me]),Ts=s.useCallback(async({agentId:t,deleted:r})=>{await U(),r&&q===t&&qe()},[U,q,qe]),Wt=s.useCallback(t=>{ye(t),M&&Ve(!1)},[M,ye]),Ta=s.useRef(void 0);s.useEffect(()=>{!h||Ta.current===h.requestId||(Ta.current=h.requestId,Wt(h.agentId))},[h,Wt]);const Is=async(t,r)=>{ot(d=>{const m=new Map(d);return m.set(t,"running"),m});try{await Tn(t,l,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),n(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await V(),ot(d=>{const m=new Map(d);return m.delete(t),m})}catch(d){ot(m=>{const f=new Map(m);return f.delete(t),f}),n(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:ge(d)}),"error")}},Ze=s.useCallback(t=>Math.min(jl,Math.max(vl,t)),[]),oe=s.useCallback(t=>{const r=Pe.current,d=Le.current?.querySelector(".agent-org-chart");if(!r||!d)return{...t,scale:Ze(t.scale)};const m=Ze(t.scale),f=d.scrollWidth*m,v=d.scrollHeight*m,F=r.clientWidth,Z=r.clientHeight,ue=Math.min(mt,F-f-mt),se=mt,Ne=Math.min(mt,Z-v-mt),p=mt;return{scale:m,x:Math.max(ue,Math.min(se,t.x)),y:Math.max(Ne,Math.min(p,t.y))}},[Ze]),Ht=s.useCallback((t,r,d)=>{const m=Pe.current;m&&J(f=>{const v=Ze(t),F=m.getBoundingClientRect(),Z=r-F.left,ue=d-F.top,se=(Z-f.x)/f.scale,Ne=(ue-f.y)/f.scale;return oe({scale:v,x:Z-se*v,y:ue-Ne*v})})},[Ze,oe]),ct=s.useCallback(()=>{const t=Pe.current,r=Le.current?.querySelector(".agent-org-chart");if(!t||!r)return;const d=t.clientWidth,m=t.clientHeight,f=r.scrollWidth,v=r.scrollHeight;if(f<=0||v<=0)return;const F=Ze(Math.min(d/f,m/v,1)),Z=(d-f*F)/2,ue=(m-v*F)/2;J(oe({scale:F,x:Z,y:ue}))},[Ze,oe]),Ut=s.useCallback(t=>{ze(t),t!=="org"&&J({scale:1,x:0,y:0}),M&&q&&qe()},[qe,M,q]),Ia=t=>y.find(r=>r.value===t)?.label??t,Dt=s.useMemo(()=>Vn({tree:Xe,availableWidth:he,preference:Ce}),[Xe,Ce,he]),Ma=s.useCallback(t=>{Je(t),J({scale:1,x:0,y:0})},[]);s.useEffect(()=>{J({scale:1,x:0,y:0}),re.current=!1},[l,Dt]),s.useLayoutEffect(()=>{K!=="org"||Be||Xe.length===0||re.current||(ct(),re.current=!0)},[K,Xe.length,ct,Be]);const Ms=s.useCallback((t,r)=>{r?Ue.current.set(t,r):Ue.current.delete(t)},[]),_a=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>J(t=>oe({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(tl,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(ie.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>J(t=>oe({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(Qn,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:ct,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(bn,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>J(t=>oe({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(xn,{size:16}),a("agents.center","Center")]})]}),[oe,ct,ie.scale]),_s=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;Ht(ie.scale*r,t.clientX,t.clientY)},[ie.scale,Ht]),Ps=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),fe.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),fe.current.size===1){o.current={x:t.clientX-ie.x,y:t.clientY-ie.y,pointerId:t.pointerId},Tt(!0);return}if(fe.current.size===2){const d=Array.from(fe.current.values()),m=d[0].x-d[1].x,f=d[0].y-d[1].y;j.current={distance:Math.hypot(m,f),scale:ie.scale,centerX:(d[0].x+d[1].x)/2,centerY:(d[0].y+d[1].y)/2},o.current=null}},[ie.scale,ie.x,ie.y]),Ls=s.useCallback(t=>{if(fe.current.has(t.pointerId)){if(fe.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),fe.current.size>=2){const r=Array.from(fe.current.values()),d=j.current;if(!d)return;const m=r[0].x-r[1].x,f=r[0].y-r[1].y,v=Math.hypot(m,f),F=d.scale*(v/d.distance);Ht(F,d.centerX,d.centerY);return}!o.current||o.current.pointerId!==t.pointerId||J(r=>oe({...r,x:t.clientX-o.current.x,y:t.clientY-o.current.y}))}},[oe,Ht]),Pa=s.useCallback(t=>{fe.current.delete(t.pointerId),fe.current.size<2&&(j.current=null),fe.current.size===0&&(o.current=null,Tt(!1))},[]),Hs=s.useCallback(t=>{if(t.key==="ArrowLeft")J(r=>oe({...r,x:r.x+$t}));else if(t.key==="ArrowRight")J(r=>oe({...r,x:r.x-$t}));else if(t.key==="ArrowUp")J(r=>oe({...r,y:r.y+$t}));else if(t.key==="ArrowDown")J(r=>oe({...r,y:r.y-$t}));else if(t.key==="+"||t.key==="=")J(r=>oe({...r,scale:r.scale*1.1}));else if(t.key==="-")J(r=>oe({...r,scale:r.scale*.9}));else if(t.key==="0")ct();else if(t.key==="Home")J({scale:1,x:0,y:0});else return;t.preventDefault()},[oe,ct]),La=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(qa,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(za,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(ht,{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 d=Ce===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${d?" btn-icon--active":""}`,onClick:()=>Ma(r.value),"aria-pressed":d,"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)})})},[Ma,Ce]),Ds=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Kt=t=>An(t,ft),Fs=c||je||D===0,$s=c||je||ee===0,zs=c||je||He||tt===0,Os=c||je||He||Et===0,Ha=te&&X.length===0,yt=s.useCallback(()=>{ce(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(fn,{icon:ra,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${K==="list"?" active":""}`,onClick:()=>Ut("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":K==="list",children:e.jsx(za,{size:16})}),e.jsx("button",{className:`view-toggle-btn${K==="board"?" active":""}`,onClick:()=>Ut("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":K==="board",children:e.jsx(bt,{size:16})}),e.jsx("button",{className:`view-toggle-btn${K==="org"?" active":""}`,onClick:()=>Ut("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":K==="org",children:e.jsx(qa,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${be?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:nt,className:`btn-icon agent-controls-trigger${be?" agent-controls-trigger--active":""}`,onClick:()=>Q(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":be,"aria-controls":ha,children:e.jsx(vn,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void V(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(ht,{size:16,className:te?"spin":void 0})}),!M&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{de(!0),Q(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(oa,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{yt(),Q(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(Oa,{size:16}),a("agents.newAgent","New Agent")]})]}),be&&e.jsxs("div",{ref:It,id:ha,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(jn,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:z,onChange:t=>Y(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:S,onChange:t=>T(t.target.checked),"aria-label":a("agents.showSystemAgents","Show system agents")}),a("agents.showSystemAgents","Show system agents")]})]})}),M&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{de(!0),Q(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(oa,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{yt(),Q(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(Oa,{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:Fs,onClick:()=>{Q(!1),wa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Ft,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:c?a("agents.loadingEligibility","Loading eligibility…"):D===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:D,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:zs,onClick:()=>{Q(!1),Ca(!0)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(wt,{}),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:tt})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:Os,onClick:()=>{Q(!1),Ca(!1)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Ft,{}),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:Et})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:$s,onClick:()=>{Q(!1),wa("active")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(wt,{}),e.jsx("span",{children:a("agents.resumeAllAgents","Resume All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:c?a("agents.loadingEligibility","Loading eligibility…"):ee===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:ee,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:ft,onChange:t=>{const r=Number(t.target.value);ka(Number.isFinite(r)&&r>0?r:1)},disabled:ja}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",ft.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(aa.reduce((t,r)=>Math.abs(r-ft)<Math.abs(t-ft)?r:t,aa[0])),onChange:t=>{const r=Number(t.target.value);ka(Number.isFinite(r)&&r>0?r:1)},disabled:ja,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:aa.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(al,{agents:vt})]})]})]})}),e.jsx(hl,{isOpen:A,onClose:()=>{ce(!1),pe(null)},onCreated:()=>{ce(!1),pe(null),V()},projectId:l,prefillDraft:Ae,agentOnboardingEnabled:u,existingAgents:X,onPrefillDraft:pe}),e.jsx(bl,{isOpen:ne,onClose:()=>de(!1),onImported:()=>void V(),projectId:l}),e.jsx(gl,{stats:ve,activeAgents:ks,projectId:l,isOpen:_e,onToggle:()=>Ve(t=>!t),onSelectAgent:Wt,onOpenTaskLogs:g}),K==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:q?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(ts,{inline:!0,showInlineBackButton:!1,agentId:q,projectId:l,onClose:qe,addToast:n,onChildClick:Ea,initialTab:ke,initialRunId:we,preferActiveRun:le},q)})]}):Ha?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{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:[M?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[La(),_a()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[La(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:_a()})]}),e.jsx("div",{ref:Pe,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:_s,onPointerDown:Ps,onPointerMove:Ls,onPointerUp:Pa,onPointerCancel:Pa,onKeyDown:Hs,"data-panning":We?"true":"false",children:e.jsxs("div",{ref:Le,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((ie.scale??1)*100)}`,"data-panning":We?"true":"false",style:{transform:`translate(${ie.x}px, ${ie.y}px) scale(${ie.scale})`},children:[e.jsx("div",{className:`agent-org-chart${Dt==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":Dt,children:Be?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Xe.length===0?e.jsx(Qt,{onCtaClick:yt}):(st.current=[],Xe.map(t=>e.jsx(ps,{node:t,onSelect:Es,getHealthStatus:Kt,selectedAgentId:me,registerNodeElement:Ms,linksRef:st,activityByAgentId:x.activityByAgentId,nowTick:x.nowTick},t.agent.id)))}),e.jsx(kl,{links:st.current,nodeElements:Ue.current,canvasRef:Le,viewportRef:Pe,layoutMode:Dt,transform:ie,activityEvents:x.events,nowTick:x.nowTick})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:M?void 0:{gridTemplateColumns:`${H}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${ae?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:Ha?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):K==="board"?e.jsx("div",{className:"agent-board",children:vt.length===0?e.jsx(Qt,{onCtaClick:yt}):vt.map(t=>{const r=Kt(t),d=ga(t,r,a),m=da(t.state),f=ua("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${f}${q===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:R(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>ye(t.id),role:"button",tabIndex:0,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.key===" "&&v.preventDefault(),ye(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(Vt,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:Ia(t.role)}),e.jsx("span",{className:`agent-board-badge badge ${m}`,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(la,{taskId:t.taskId,isInViewport:k(`board:${t.id}`),projectId:l}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:d.title,children:[r.icon,d.label?` ${d.label}`:""]})]}),e.jsxs("div",{className:"agent-board-actions",children:[e.jsx(Nl,{agent:t,pending:He||Ke.has(t.id),onToggle:v=>void Aa(v,!pt(v))}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void Sa(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(Va,{size:14})})]})]},t.id)})}):e.jsx("div",{className:"agent-list",children:vt.length===0?e.jsx(Qt,{onCtaClick:yt}):vt.map(t=>{const r=Kt(t),d=ga(t,r,a),m=da(t.state),f=ua("agent-card",t.state),v=na(t.runtimeConfig?.heartbeatIntervalMs),F=yn(v),ue=!pt(t)?sa:String(v),se=He||js===t.id||Ke.has(t.id),Ne=yl(t,ys);return e.jsxs("div",{ref:R(`list:${t.id}`),className:`agent-card agent-card--clickable ${f}${q===t.id?" agent-card--selected":""}`,onClick:p=>{const O=p.target;if(O===p.currentTarget){ye(t.id);return}const Se=O.closest('button, select, input, [role="button"]');Se&&Se!==p.currentTarget||ye(t.id)},role:"button",tabIndex:0,onKeyDown:p=>{p.target===p.currentTarget&&(p.key==="Enter"||p.key===" ")&&(p.key===" "&&p.preventDefault(),ye(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:[fs===t.id?e.jsx("select",{ref:vs,className:"select agent-role-select",value:t.role,onChange:p=>void ws(t.id,p.target.value),onKeyDown:p=>Cs(p,t.id),onBlur:()=>lt(null),autoFocus:!0,children:y.map(p=>e.jsxs("option",{value:p.value,children:[p.icon," ",p.label]},p.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:p=>{p.stopPropagation(),lt(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.stopPropagation(),lt(t.id))},children:e.jsx(Vt,{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(is,{size:20,className:"agent-card-chevron"})]}),e.jsxs("div",{className:"agent-badges",children:[e.jsx("span",{className:`badge ${m}`,children:t.state}),e.jsxs("span",{className:"badge",style:{color:r.color},title:d.title,children:[r.icon,d.label?` ${d.label}`:""]}),e.jsx("span",{className:"badge text-secondary",children:Ia(t.role)}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null,(()=>{const p=Ds(t);if(p.length===0)return null;const O=p.slice(0,2),Se=p.length-2;return e.jsxs(e.Fragment,{children:[O.map(dt=>{const Nt=Ka(dt,b||i?null:C,{forced:!0});return e.jsxs("span",{className:"badge badge-skill","data-skill-state":Nt.state,title:`${dt}: ${a(Nt.titleKey,Nt.defaultTitle)}`,children:[_n(dt)," ",e.jsx("span",{className:"skill-state-marker",children:a(Nt.labelKey,Nt.defaultLabel)})," ",e.jsx("span",{className:"skill-state-marker skill-state-marker--forced",children:a("skills.forced","Forced")})]},dt)}),Se>0&&e.jsxs("span",{className:"badge badge-skill",title:p.slice(2).some(dt=>["disabled","unknown"].includes(Ka(dt,b||i?null:C,{forced:!0}).state))?a("skills.hiddenUnavailable","Hidden skills include disabled or not-discovered entries"):void 0,children:["+",Se]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[Ne.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:Ne.label??a("agents.auto","Auto"),children:Ne.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(ls,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx(la,{taskId:t.taskId,isInViewport:k(`list:${t.id}`),projectId:l})]}),!De(t)&&e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),xa===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:fa[t.id]??"",onChange:p=>Ge(O=>({...O,[t.id]:p.target.value})),onKeyDown:p=>{p.key==="Enter"?Ra(t):p.key==="Escape"&&(rt(null),Ge(O=>{const Se={...O};return delete Se[t.id],Se}))},disabled:se,"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 Ra(t),disabled:se,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{rt(null),Ge(p=>{const O={...p};return delete O[t.id],O})},disabled:se,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:ue,onChange:p=>{const O=p.target.value;O===sa?As(t):O==="__custom__"?Rs(t):Ss(t,Number(O))},disabled:se,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[e.jsx("option",{value:sa,children:a("agents.heartbeatDisabledOption","Disabled")}),F.map(p=>e.jsx("option",{value:p.value,children:p.label},p.value)),kn.some(p=>p.value===v)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),se&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const p=new Date(t.lastHeartbeatAt),O=new Date(p.getTime()+v),Se=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:p.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:p.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),Se&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:O.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:O.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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.activate","Activate"),children:[e.jsx(wt,{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 Is(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(bt,{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 jt(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Ft,{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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.resume","Resume"),children:[e.jsx(wt,{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:()=>ye(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(bt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void jt(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Ft,{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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.retry","Retry"),children:[e.jsx(wt,{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:()=>ye(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(wn,{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 Sa(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(Va,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!M&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":ds,"aria-valuemax":us,"aria-valuenow":H,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:bs,onKeyDown:xs}),e.jsx("div",{className:`agents-split-detail${M&&!q?" agents-split-detail--hidden-mobile":""}`,children:q?e.jsx(s.Suspense,{fallback:null,children:e.jsx(ts,{inline:!0,showInlineBackButton:M,agentId:q,projectId:l,onClose:qe,addToast:n,onChildClick:Ea,initialTab:ke,initialRunId:we,preferActiveRun:le,onMutationSuccess:Ts},q)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(ra,{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{Dl as AgentsView};
|
|
24
|
+
Agent instructions go here...`),value:y,onChange:c=>{x("paste"),N([]),S(c.target.value),U(null)},rows:8,"aria-label":a("agents.manifestContent","Manifest content")})]}),e.jsx("p",{className:"agent-import-file-hint",children:a("agents.currentInput","Current input: {{method}}",{method:i})}),V&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(kt,{size:14}),V]})]}),C==="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:a("agents.company","Company")}),e.jsx("span",{className:"agent-import-company-name",children:P})]}),k.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:k.map((c,w)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(kt,{size:12}),e.jsx("span",{children:c})]},w))}),e.jsxs("div",{className:"agent-import-count",children:[e.jsx(ia,{size:14}),e.jsx("span",{children:a("agents.agentsFound","{{count}} agent{{plural}} found",{count:_.length,plural:_.length!==1?"s":""})})]}),_.length>0&&e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H(_.map(c=>c.name)),children:a("agents.selectAllAgents","Select all agents")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>H([]),children:a("agents.clearAgents","Clear agents")})]}),_.length>0?e.jsx("div",{className:"agent-import-agent-list",children:_.map((c,w)=>e.jsxs("div",{className:"agent-import-agent-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":a("agents.selectAgent","Select agent {{name}}",{name:c.name}),checked:M.includes(c.name),onChange:()=>je(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:a("agents.importReportsTo"," · reports to {{agent}}",{agent:c.reportsTo})}),c.skills&&c.skills.length>0&&e.jsx("span",{className:"agent-import-agent-model",children:a("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?"...":""]})]})]},w))}):e.jsx("p",{className:"agent-import-empty",children:a("agents.noAgentsFound","No agents found in the manifest.")}),$.length>0&&e.jsxs("div",{className:"agent-import-skills-section",children:[e.jsxs("div",{className:"agent-import-count",children:[e.jsx(ia,{size:14}),e.jsx("span",{children:a("agents.skillsFound","{{count}} skill{{plural}} found",{count:$.length,plural:$.length!==1?"s":""})})]}),e.jsxs("div",{className:"agent-import-selection-controls",children:[e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>z($.map(c=>c.name)),children:a("agents.selectAllSkills","Select all skills")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>z([]),children:a("agents.clearSkills","Clear skills")})]}),e.jsx("div",{className:"agent-import-skill-list",children:$.map((c,w)=>e.jsxs("div",{className:"agent-import-skill-item",children:[e.jsx("label",{className:"checkbox-label",children:e.jsx("input",{type:"checkbox","aria-label":a("agents.selectSkill","Select skill {{name}}",{name:c.name}),checked:E.includes(c.name),onChange:()=>et(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}-${w}`))})]}),Ae&&e.jsxs("p",{className:"agent-dialog-error",children:[e.jsx(kt,{size:14}),Ae]})]}),C==="result"&&A&&e.jsxs("div",{className:"agent-import-result",children:[e.jsx("div",{className:"agent-import-result-icon",children:e.jsx(zt,{size:32})}),e.jsx("h3",{className:"agent-import-result-title",children:a("agents.importComplete","Import Complete")}),e.jsxs("p",{className:"agent-import-result-company",children:[a("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:a("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:a("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:a("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,w)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(zt,{size:12}),e.jsx("span",{children:c.name})]},w))}),A.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.errors.map((c,w)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx($a,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},w))}),A.warnings&&A.warnings.length>0&&e.jsx("div",{className:"agent-import-result-warnings",children:A.warnings.map((c,w)=>e.jsxs("div",{className:"agent-import-result-warning",children:[e.jsx(kt,{size:12}),e.jsx("span",{children:c})]},w))}),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:a("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:a("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:a("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:a("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:a("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,w)=>e.jsxs("div",{className:"agent-import-result-agent",children:[e.jsx(zt,{size:12}),e.jsx("span",{children:c.name})]},w))}),A.skills.errors.length>0&&e.jsx("div",{className:"agent-import-result-errors",children:A.skills.errors.map((c,w)=>e.jsxs("div",{className:"agent-import-result-error",children:[e.jsx($a,{size:12}),e.jsxs("span",{children:[c.name,": ",c.error]})]},w))})]})]})]}),e.jsxs("div",{className:"agent-dialog-footer",children:[C==="preview"&&e.jsx("button",{className:"btn",onClick:()=>b("input"),disabled:ve,children:a("agents.back","Back")}),e.jsx("button",{className:"btn",onClick:Ce,disabled:ve,children:C==="result"?a("agents.close","Close"):a("agents.cancel","Cancel")}),C==="input"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void Be(),disabled:Y||(i==="directory"?T.length===0:i==="browse"?!ae:!y.trim()),children:Y?e.jsxs(e.Fragment,{children:[e.jsx(Gt,{size:14,className:"spin"}),a("agents.parsing","Parsing...")]}):a("agents.preview","Preview")}),C==="preview"&&e.jsx("button",{className:"btn btn-task-create",onClick:()=>void Qe(),disabled:ve||he===0&&G===0,children:ve?e.jsxs(e.Fragment,{children:[e.jsx(Gt,{size:14,className:"spin"}),Ve]}):a("agents.importButton","Import {{label}}",{label:_e})})]})]})}):null}const es="(prefers-reduced-motion: reduce)";function xl(){const[n,l]=s.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(es).matches);return s.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const g=window.matchMedia(es),u=()=>l(g.matches);return u(),g.addEventListener("change",u),()=>g.removeEventListener("change",u)},[]),n}const ts=s.lazy(()=>Sn(()=>import("./AgentDetailView-D-mPbGXe.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])).then(n=>({default:n.AgentDetailView})));function fl(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 aa=[.1,.25,.5,1,2,3,5,10],sa="__disabled__",vl=.25,jl=3,$t=16,mt=32,as=320,ds=260,us=520,gs="kb-dashboard-agents-sidebar-width";function ca(n){return Math.max(ds,Math.min(us,n))}function ss(n){if(typeof window>"u")return as;const l=At(gs,n),g=l?Number(l):NaN;return Number.isFinite(g)?ca(g):as}function da(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 ua(n,l){switch(l){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 yl(n,l){const g=n.runtimeConfig??{},u=typeof g.runtimeHint=="string"?g.runtimeHint:"";if(u)return{label:u,isRuntime:!0};const h=typeof g.modelProvider=="string"?g.modelProvider:"",a=typeof g.modelId=="string"?g.modelId:"";if(h&&a)return{label:`${h}/${a}`,isRuntime:!1};const C=typeof g.model=="string"?g.model:"";if(C.includes("/")){const i=C.indexOf("/");return{label:C.slice(i+1),isRuntime:!1}}const b=Pn(n,l);return{label:b.provider&&b.modelId?`${b.provider}/${b.modelId}`:null,isRuntime:!1}}function ms(n){return n.children.length===0?1:n.children.reduce((l,g)=>l+ms(g),0)}function hs(n,l){for(const g of n){if(g.agent.id===l)return g.agent;const u=hs(g.children,l);if(u)return u}}function ga(n,l,g){return n.state==="error"?{title:void 0,label:g("agents.healthError","Error")}:{title:l.reason??l.label,label:l.stateDerived?null:l.label}}function Nl({agent:n,pending:l,onToggle:g}){const{t:u}=Te("app");if(De(n))return null;const h=pt(n),a=h?u("agents.disableHeartbeat","Disable heartbeat"):u("agents.enableHeartbeat","Enable heartbeat");return e.jsx("button",{type:"button",className:"btn btn-sm agent-heartbeat-toggle",disabled:l,"aria-pressed":h,"aria-label":u("agents.heartbeatActionForAgent","{{action}} for {{name}}",{action:a,name:n.name}),onClick:C=>{C.stopPropagation(),g(n)},children:l?u("agents.heartbeatUpdating","Updating heartbeat…"):a})}function ps({node:n,onSelect:l,getHealthStatus:g,selectedAgentId:u,registerNodeElement:h,linksRef:a,activityByAgentId:C,nowTick:b}){const{t:i}=Te("app"),{agent:x,children:y}=n,S=g(x),T=ga(x,S,i),N=da(x.state),P=ua("org-chart-node-card",x.state),I=ms(n),_=Bn(x,C.get(x.id),b,S),W=_==="unknown"?"":` org-chart-node-card--activity-${_}`,$={"--org-chart-subtree-leaves":String(I)};return e.jsxs("div",{className:`org-chart-node${y.length>0?" org-chart-node--has-children":""}`,style:$,children:[e.jsxs("div",{ref:R=>h(x.id,R),"data-agent-id":x.id,className:`org-chart-node-card ${P}${W}${u===x.id?" agent-card--selected":""}`,..._==="unknown"?{}:{"data-activity-state":_,"aria-label":`${x.name}: ${_}`},onClick:()=>l(x.id),role:"button",tabIndex:0,onKeyDown:R=>{(R.key==="Enter"||R.key===" ")&&(R.key===" "&&R.preventDefault(),l(x.id))},children:[e.jsxs("div",{className:"org-chart-node__header",children:[e.jsx("span",{className:"org-chart-node__icon",children:e.jsx(Vt,{agent:x,size:20})}),e.jsx("span",{className:"org-chart-node__name",children:x.name})]}),e.jsxs("div",{className:"org-chart-node__meta",children:[e.jsx("span",{className:`org-chart-node__badge ${N}`,children:x.state}),e.jsxs("span",{className:"org-chart-node__health",style:{color:S.color},title:T.title,children:[S.icon,T.label&&e.jsx("span",{className:"text-secondary",children:T.label})]})]})]}),y.length>0&&e.jsx("div",{className:"org-chart-children",role:"group","aria-label":i("agents.orgChartEmployees","{{name}} employees",{name:x.name}),children:y.map(R=>(a.current.push({parentId:x.id,childId:R.agent.id}),e.jsx(ps,{node:R,onSelect:l,getHealthStatus:g,selectedAgentId:u,registerNodeElement:h,linksRef:a,activityByAgentId:C,nowTick:b},R.agent.id)))})]})}function kl({links:n,nodeElements:l,canvasRef:g,viewportRef:u,layoutMode:h,transform:a,activityEvents:C,nowTick:b}){const[i,x]=s.useState([]),y=xl(),S=s.useMemo(()=>Wn(n,C,b),[C,n,b]);return s.useLayoutEffect(()=>{const T=g.current,N=u.current;if(!T||!N||n.length===0){x([]);return}const P=()=>{const _=T.getBoundingClientRect(),W=n.flatMap(({parentId:$,childId:R})=>{const k=l.get($),L=l.get(R);if(!k||!L)return[];const M=k.getBoundingClientRect(),H=L.getBoundingClientRect(),E=(M.left-_.left)/a.scale,z=(M.top-_.top)/a.scale,Y=(H.left-_.left)/a.scale,X=(H.top-_.top)/a.scale;if(h==="vertical"){const ce=E,Ae=z+M.height/a.scale/2,pe=Y,ne=X+H.height/a.scale/2,de=ce-(ce-pe)/2;return[{d:`M ${ce} ${Ae} L ${de} ${Ae} L ${de} ${ne} L ${pe} ${ne}`,link:{parentId:$,childId:R}}]}const ve=E+M.width/a.scale/2,te=z+M.height/a.scale,V=Y+H.width/a.scale/2,U=X,A=te+(U-te)/2;return[{d:`M ${ve} ${te} L ${ve} ${A} L ${V} ${A} L ${V} ${U}`,link:{parentId:$,childId:R}}]});x(W)};P();const I=new ResizeObserver(P);return I.observe(T),I.observe(N),l.forEach(_=>I.observe(_)),()=>I.disconnect()},[g,h,n,l,a.scale,u]),e.jsx("svg",{className:"agent-org-chart-connectors","aria-hidden":"true",children:i.map(({d:T,link:N})=>{const P=S.get(Un(N.parentId,N.childId)),I=P?` agent-org-chart-connectors__flow--${y?"static ":""}${P}`:"";return e.jsx("path",{d:T,className:I||void 0,...P?{"data-flow-direction":P}:{}},`${N.parentId}-${N.childId}-${T}`)})})}function Dl({addToast:n,projectId:l,onOpenTaskLogs:g,agentOnboardingEnabled:u=!1,focusAgent:h}){const{t:a}=Te("app"),{skills:C,loading:b,error:i}=qn(l),x=cs(l),y=fl(a),[S,T]=s.useState(!1),N=s.useRef(new Map),P=s.useRef(new Map),I=s.useRef(new Map),[_,W]=s.useState(new Set),$=s.useRef(null);s.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const t=new IntersectionObserver(r=>{W(d=>{let m=!1;const f=new Set(d);for(const v of r){const F=P.current.get(v.target);F&&(v.isIntersecting?f.has(F)||(f.add(F),m=!0):f.has(F)&&(f.delete(F),m=!0))}return m?f:d})},{rootMargin:"200px"});return $.current=t,N.current.forEach(r=>t.observe(r)),()=>{t.disconnect(),$.current=null}},[]);const R=s.useCallback(t=>{const r=I.current.get(t);if(r)return r;const d=m=>{const f=N.current.get(t);f&&($.current?.unobserve(f),P.current.delete(f)),m?(N.current.set(t,m),P.current.set(m,t),$.current?$.current.observe(m):W(v=>v.has(t)?v:new Set(v).add(t))):(N.current.delete(t),I.current.delete(t),W(v=>{if(!v.has(t))return v;const F=new Set(v);return F.delete(t),F}))};return I.current.set(t,d),d},[]),k=s.useCallback(t=>typeof IntersectionObserver>"u"?!0:_.has(t),[_]),M=dn()==="mobile",[H,E]=s.useState(()=>ss(l)),[z,Y]=s.useState("all"),{agents:X,stats:ve,isLoading:te,loadAgents:V,refreshAgents:U}=un(l,{filterState:z,showSystemAgents:S}),[A,ce]=s.useState(!1),[Ae,pe]=s.useState(null),[ne,de]=s.useState(!1),[q,Re]=s.useState(null),[me,Fe]=s.useState(null),ae=M&&!!q,[ke,Ee]=s.useState("dashboard"),[we,$e]=s.useState(null),[le,Ie]=s.useState(!1),[K,ze]=s.useState(()=>{if(typeof window>"u")return"list";const t=At("fn-agent-view",l);return t==="list"||t==="board"||t==="org"?t:"list"}),[Ce,Je]=s.useState(()=>{if(typeof window>"u")return"auto";const t=At(Xt,l);return Ya(t)?t:"auto"}),[Me,Oe]=s.useState([]),[Be,Qe]=s.useState(!1),[he,G]=s.useState(0),[be,Q]=s.useState(!1),[_e,Ve]=s.useState(!1),[je,et]=s.useState(!1),[c,w]=s.useState(!1),[D,xe]=s.useState(0),[ee,B]=s.useState(0),[tt,at]=s.useState(0),[Et,xt]=s.useState(0),[ie,J]=s.useState({scale:1,x:0,y:0}),[We,Tt]=s.useState(!1),It=s.useRef(null),Pe=s.useRef(null),Le=s.useRef(null),Ue=s.useRef(new Map),st=s.useRef([]),fe=s.useRef(new Map),o=s.useRef(null),j=s.useRef(null),re=s.useRef(!1),{confirm:Mt}=gn(),nt=s.useRef(null),ha=s.useId();s.useEffect(()=>{E(ss(l))},[l]),s.useEffect(()=>{const t=At("fn-agent-view",l);if(t==="list"||t==="board"||t==="org"){ze(t);return}ze("list")},[l]),s.useEffect(()=>{Yt("fn-agent-view",K,l)},[K,l]),s.useEffect(()=>{const t=At(Xt,l);Je(Ya(t)?t:"auto")},[l]),s.useEffect(()=>{Yt(Xt,Ce,l)},[Ce,l]);const _t=s.useCallback(t=>{try{Yt(gs,String(t),l)}catch{}},[l]),bs=s.useCallback(t=>{if(M)return;t.preventDefault(),t.stopPropagation();const r=t.currentTarget;typeof r.setPointerCapture=="function"&&r.setPointerCapture(t.pointerId);const d=t.clientX,m=H;let f=m;document.body.style.userSelect="none";const v=Z=>{const ue=Z.clientX-d,se=ca(m+ue);f=se,E(se)},F=Z=>{typeof r.releasePointerCapture=="function"&&r.releasePointerCapture(Z.pointerId),document.body.style.userSelect="",document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",F),_t(f)};document.addEventListener("pointermove",v),document.addEventListener("pointerup",F)},[M,_t,H]),xs=s.useCallback(t=>{if(M||t.key!=="ArrowLeft"&&t.key!=="ArrowRight")return;t.preventDefault();const r=t.shiftKey?50:10,d=t.key==="ArrowLeft"?-r:r,m=ca(H+d);E(m),_t(m)},[M,_t,H]),[fs,lt]=s.useState(null),vs=s.useRef(null),[js,it]=s.useState(null),[Ke,pa]=s.useState(new Set),[He,ba]=s.useState(!1),[xa,rt]=s.useState(null),[fa,Ge]=s.useState({}),[ft,va]=s.useState(1),[ys,Ns]=s.useState({}),[ja,ya]=s.useState(!1),[Ye,Na]=s.useState(new Set),[Bt,ot]=s.useState(new Map),Pt=s.useRef(!0);s.useEffect(()=>(Pt.current=!0,()=>{Pt.current=!1}),[]),s.useEffect(()=>{mn(l).then(t=>{Pt.current&&(va(t.heartbeatMultiplier??1),Ns(t))}).catch(()=>{})},[l]);const ka=s.useCallback(async t=>{const r=Number.isFinite(t)&&t>0?t:1;va(r),ya(!0);try{await hn({heartbeatMultiplier:r},l),n(a("agents.heartbeatSpeedSet","Heartbeat speed set to ×{{value}}",{value:r.toFixed(1)}),"success")}catch(d){n(a("agents.heartbeatSpeedSaveFailed","Failed to save heartbeat multiplier: {{error}}",{error:ge(d)}),"error")}finally{Pt.current&&ya(!1)}},[l,n]),Lt=s.useMemo(()=>Bt.size===0?X:X.map(t=>{const r=Bt.get(t.id);return r?{...t,state:r}:t}),[X,Bt]),vt=s.useMemo(()=>Lt.filter(t=>S||!De(t)),[Lt,S]),ks=s.useMemo(()=>Lt.filter(t=>t.state!=="active"&&t.state!=="running"?!1:S||!De(t)),[Lt,S]),Xe=s.useMemo(()=>{if(S)return Me;const t=r=>De(r.agent)?null:{...r,children:r.children.map(t).filter(d=>d!==null)};return Me.map(t).filter(r=>r!==null)},[Me,S]);s.useEffect(()=>{if(K!=="org")return;const t=Pe.current;if(!t)return;const r=()=>{G(t.clientWidth)};r();const d=typeof ResizeObserver<"u"?new ResizeObserver(r):null;return d?.observe(t),window.addEventListener("resize",r),()=>{d?.disconnect(),window.removeEventListener("resize",r)}},[K,Xe.length]),s.useEffect(()=>{if(K!=="org")return;let t=!1;return Qe(!0),pn(l,{includeEphemeral:S}).then(r=>{t||Oe(r)}).catch(r=>{t||(n(a("agents.orgChartLoadFailed","Failed to load org chart: {{error}}",{error:ge(r)}),"error"),Oe([]))}).finally(()=>{t||Qe(!1)}),()=>{t=!0}},[K,l,S,n]),s.useEffect(()=>{const t=setInterval(()=>{V()},3e4);return()=>{clearInterval(t)}},[V]),s.useEffect(()=>{if(!be)return;let t=!1;w(!0),Ot(void 0,l).then(m=>{if(t)return;const f=m.filter(v=>!De(v));xe(f.filter(v=>v.state==="active"||v.state==="running").length),B(f.filter(v=>v.state==="paused").length),at(f.filter(v=>!pt(v)).length),xt(f.filter(v=>pt(v)).length)}).catch(m=>{t||(xe(0),B(0),at(0),xt(0),n(a("agents.bulkActionsLoadFailed","Failed to load bulk agent actions: {{error}}",{error:ge(m)}),"error"))}).finally(()=>{t||w(!1)});const r=m=>{const f=m.target;f&&(It.current?.contains(f)||nt.current?.contains(f)||Cn(f)||Q(!1))},d=m=>{m.key==="Escape"&&(Q(!1),nt.current?.focus())};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),document.addEventListener("keydown",d),()=>{t=!0,document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r),document.removeEventListener("keydown",d)}},[n,be,l]);const wa=async t=>{if(!je){et(!0);try{const d=(await Ot(void 0,l)).filter(p=>!De(p)),m=d.filter(p=>t==="paused"?p.state==="active"||p.state==="running":p.state==="paused"),f=d.length-m.length;if(m.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 Mt({title:t==="paused"?a("agents.pauseAllTitle","Pause All Agents"):a("agents.resumeAllTitle","Resume All Agents"),message:t==="paused"?a("agents.pauseAllConfirm",{count:m.length,defaultValue_one:"Pause {{count}} agent in this project?",defaultValue_other:"Pause {{count}} agents in this project?"}):a("agents.resumeAllConfirm",{count:m.length,defaultValue_one:"Resume {{count}} agent in this project?",defaultValue_other:"Resume {{count}} agents in this project?"}),danger:t==="paused"}))return;const F=await Promise.allSettled(m.map(p=>Ba(p.id,t,l))),Z=F.map((p,O)=>({result:p,agent:m[O]})).filter(p=>p.result.status==="rejected"),ue=F.length-Z.length,se=Z.length,Ne=t==="paused"?a("agents.pausedSummary",{count:ue,skipped:f,defaultValue_one:"Paused {{count}} agent; skipped {{skipped}}",defaultValue_other:"Paused {{count}} agents; skipped {{skipped}}"}):a("agents.resumedSummary",{count:ue,skipped:f,defaultValue_one:"Resumed {{count}} agent; skipped {{skipped}}",defaultValue_other:"Resumed {{count}} agents; skipped {{skipped}}"});if(se>0){const p=Z.slice(0,3).map(({agent:O,result:Se})=>`${O.name||O.id}: ${ge(Se.reason)}`).join("; ");n(`${Ne}; failed ${se}${p?` (${p})`:""}`,"error")}else n(Ne,"success");await V()}catch(r){n(t==="paused"?a("agents.pauseAgentsFailed","Failed to pause agents: {{error}}",{error:ge(r)}):a("agents.resumeAgentsFailed","Failed to resume agents: {{error}}",{error:ge(r)}),"error")}finally{et(!1)}}},Ca=async t=>{if(!(He||je||Ke.size>0)){ba(!0);try{const r=await Ot(void 0,l),m=r.filter(p=>!De(p)).filter(p=>pt(p)!==t),f=r.length-m.length;if(m.length===0){n(t?a("agents.noHeartbeatsToEnable","No agent heartbeats need enabling"):a("agents.noHeartbeatsToDisable","No agent heartbeats need disabling"),"error");return}if(!await Mt({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:m.length}):a("agents.disableAllHeartbeatsConfirm","Disable heartbeats for {{count}} project agents?",{count:m.length}),danger:!t}))return;const F=await Promise.allSettled(m.map(p=>ut(p.id,{runtimeConfig:Ct(p,t)},l))),Z=F.map((p,O)=>({result:p,agent:m[O]})).filter(p=>p.result.status==="rejected"),ue=F.length-Z.length,se=t?a("agents.enableHeartbeatsSummary","Enabled {{count}} heartbeats; skipped {{skipped}}",{count:ue,skipped:f}):a("agents.disableHeartbeatsSummary","Disabled {{count}} heartbeats; skipped {{skipped}}",{count:ue,skipped:f}),Ne=Z.slice(0,3).map(({agent:p,result:O})=>`${p.name||p.id}: ${ge(O.reason)}`).join("; ");n(Z.length?`${se}; ${a("agents.bulkFailures","failed {{count}}",{count:Z.length})}${Ne?` (${Ne})`:""}`:se,Z.length?"error":"success"),await V()}catch(r){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ge(r)}),"error")}finally{ba(!1)}}},jt=async(t,r)=>{if(!Ye.has(t)){Na(d=>new Set(d).add(t)),ot(d=>{const m=new Map(d);return m.set(t,r),m});try{await Ba(t,r,l),n(a("agents.stateUpdated","Agent state updated to {{state}}",{state:r}),"success"),await V(),ot(d=>{const m=new Map(d);return m.delete(t),m})}catch(d){ot(m=>{const f=new Map(m);return f.delete(t),f}),n(a("agents.stateUpdateFailed","Failed to update state: {{error}}",{error:ge(d)}),"error")}finally{Na(d=>{const m=new Set(d);return m.delete(t),m})}}},Sa=async(t,r)=>{if(await Mt({title:a("agents.deleteTitle","Delete Agent"),message:a("agents.deleteConfirm",'Delete agent "{{name}}"? This cannot be undone.',{name:r}),danger:!0}))try{await Rn(t,l),n(a("agents.deleted",'Agent "{{name}}" deleted',{name:r}),"success"),await V()}catch(m){n(a("agents.deleteFailed","Failed to delete agent: {{error}}",{error:ge(m)}),"error")}},ws=async(t,r)=>{const d=X.find(m=>m.id===t);if(d){if(d.role===r){lt(null);return}try{await ut(t,{role:r},l),n(a("agents.roleUpdated","Agent role updated to {{role}}",{role:y.find(m=>m.value===r)?.label??r}),"success"),lt(null),V()}catch(m){n(a("agents.roleUpdateFailed","Failed to update role: {{error}}",{error:ge(m)}),"error")}}},Cs=(t,r)=>{t.key==="Escape"&<(null)},Ss=async(t,r)=>{if(!(He||Ke.has(t.id))){xa===t.id&&(rt(null),Ge(d=>{const m={...d};return delete m[t.id],m})),it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:r}},l),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Wa(r),name:t.name}),"success"),V()}catch(d){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(d)}),"error")}finally{it(null)}}},Aa=async(t,r)=>{if(!(De(t)||He||Ke.has(t.id))){pa(d=>new Set(d).add(t.id));try{await ut(t.id,{runtimeConfig:Ct(t,r)},l),n(r?a("agents.heartbeatEnabledForAgent","Heartbeat enabled for {{name}}",{name:t.name}):a("agents.heartbeatDisabled","Heartbeat disabled for {{name}}",{name:t.name}),"success"),await V()}catch(d){n(a("agents.heartbeatUpdateFailed","Failed to update heartbeat: {{error}}",{error:ge(d)}),"error")}finally{pa(d=>{const m=new Set(d);return m.delete(t.id),m})}}},As=t=>Aa(t,!1),Ra=async t=>{if(He||Ke.has(t.id))return;const r=fa[t.id]??"";if(r.trim()===""){n(a("agents.heartbeatEnterMinutes","Please enter a heartbeat interval in minutes"),"error");return}const d=Number(r);if(isNaN(d)){n(a("agents.heartbeatMustBeNumber","Heartbeat interval must be a valid number"),"error");return}if(d<=0){n(a("agents.heartbeatMustBePositive","Heartbeat interval must be greater than 0"),"error");return}if(d>=1&&d<5){it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:En}},l),n(a("agents.heartbeatClampedToMin",{count:d,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),Ge(f=>{const v={...f};return delete v[t.id],v}),V()}catch(f){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(f)}),"error")}finally{it(null)}return}const m=Math.round(d*6e4);it(t.id);try{await ut(t.id,{runtimeConfig:{...Ct(t,!0),heartbeatIntervalMs:m}},l),n(a("agents.heartbeatIntervalUpdated","Heartbeat interval updated to {{interval}} for {{name}}",{interval:Wa(m),name:t.name}),"success"),rt(null),Ge(f=>{const v={...f};return delete v[t.id],v}),V()}catch(f){n(a("agents.heartbeatIntervalUpdateFailed","Failed to update heartbeat interval: {{error}}",{error:ge(f)}),"error")}finally{it(null)}},Rs=t=>{if(He||Ke.has(t.id))return;const r=na(t.runtimeConfig?.heartbeatIntervalMs),d=Math.round(r/6e4);rt(t.id),Ge(m=>({...m,[t.id]:String(d)}))},ye=s.useCallback((t,r)=>{Re(t),Ee(r?.initialTab??"dashboard"),$e(r?.initialRunId??null),Ie(r?.preferActiveRun??!1)},[]),qe=s.useCallback(()=>{Re(null),Ee("dashboard"),$e(null),Ie(!1)},[]),Ea=s.useCallback(t=>{ye(t)},[ye]),Es=s.useCallback(t=>{Fe(t),ye(t);const r=X.find(d=>d.id===t)?.taskId??hs(Me,t)?.taskId;r&&g&&g(r)},[X,g,ye,Me]),Ts=s.useCallback(async({agentId:t,deleted:r})=>{await U(),r&&q===t&&qe()},[U,q,qe]),Wt=s.useCallback(t=>{ye(t),M&&Ve(!1)},[M,ye]),Ta=s.useRef(void 0);s.useEffect(()=>{!h||Ta.current===h.requestId||(Ta.current=h.requestId,Wt(h.agentId))},[h,Wt]);const Is=async(t,r)=>{ot(d=>{const m=new Map(d);return m.set(t,"running"),m});try{await Tn(t,l,{source:"on_demand",triggerDetail:"Triggered from dashboard"}),n(a("agents.heartbeatRunStarted","Heartbeat run started for {{name}}",{name:r}),"success"),await V(),ot(d=>{const m=new Map(d);return m.delete(t),m})}catch(d){ot(m=>{const f=new Map(m);return f.delete(t),f}),n(a("agents.heartbeatRunFailed","Failed to start heartbeat run: {{error}}",{error:ge(d)}),"error")}},Ze=s.useCallback(t=>Math.min(jl,Math.max(vl,t)),[]),oe=s.useCallback(t=>{const r=Pe.current,d=Le.current?.querySelector(".agent-org-chart");if(!r||!d)return{...t,scale:Ze(t.scale)};const m=Ze(t.scale),f=d.scrollWidth*m,v=d.scrollHeight*m,F=r.clientWidth,Z=r.clientHeight,ue=Math.min(mt,F-f-mt),se=mt,Ne=Math.min(mt,Z-v-mt),p=mt;return{scale:m,x:Math.max(ue,Math.min(se,t.x)),y:Math.max(Ne,Math.min(p,t.y))}},[Ze]),Ht=s.useCallback((t,r,d)=>{const m=Pe.current;m&&J(f=>{const v=Ze(t),F=m.getBoundingClientRect(),Z=r-F.left,ue=d-F.top,se=(Z-f.x)/f.scale,Ne=(ue-f.y)/f.scale;return oe({scale:v,x:Z-se*v,y:ue-Ne*v})})},[Ze,oe]),ct=s.useCallback(()=>{const t=Pe.current,r=Le.current?.querySelector(".agent-org-chart");if(!t||!r)return;const d=t.clientWidth,m=t.clientHeight,f=r.scrollWidth,v=r.scrollHeight;if(f<=0||v<=0)return;const F=Ze(Math.min(d/f,m/v,1)),Z=(d-f*F)/2,ue=(m-v*F)/2;J(oe({scale:F,x:Z,y:ue}))},[Ze,oe]),Ut=s.useCallback(t=>{ze(t),t!=="org"&&J({scale:1,x:0,y:0}),M&&q&&qe()},[qe,M,q]),Ia=t=>y.find(r=>r.value===t)?.label??t,Dt=s.useMemo(()=>Vn({tree:Xe,availableWidth:he,preference:Ce}),[Xe,Ce,he]),Ma=s.useCallback(t=>{Je(t),J({scale:1,x:0,y:0})},[]);s.useEffect(()=>{J({scale:1,x:0,y:0}),re.current=!1},[l,Dt]),s.useLayoutEffect(()=>{K!=="org"||Be||Xe.length===0||re.current||(ct(),re.current=!0)},[K,Xe.length,ct,Be]);const Ms=s.useCallback((t,r)=>{r?Ue.current.set(t,r):Ue.current.delete(t)},[]),_a=s.useCallback(()=>e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>J(t=>oe({...t,scale:t.scale*.9})),"aria-label":a("agents.orgChartZoomOut","Zoom out org chart"),title:a("agents.zoomOut","Zoom out"),children:e.jsx(tl,{size:16})}),e.jsxs("span",{className:"agent-org-chart-controls__zoom-label","aria-live":"polite",children:[Math.round(ie.scale*100),"%"]}),e.jsx("button",{type:"button",className:"btn-icon touch-target",onClick:()=>J(t=>oe({...t,scale:t.scale*1.1})),"aria-label":a("agents.orgChartZoomIn","Zoom in org chart"),title:a("agents.zoomIn","Zoom in"),children:e.jsx(Qn,{size:16})}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm agent-org-chart-controls__fit-btn",onClick:ct,"aria-label":a("agents.orgChartFit","Fit org chart"),title:a("agents.orgChartFit","Fit org chart"),children:[e.jsx(bn,{size:16}),a("agents.fit","Fit")]}),e.jsxs("button",{type:"button",className:"btn touch-target btn-sm",onClick:()=>J(t=>oe({...t,x:0,y:0})),"aria-label":a("agents.orgChartCenter","Center org chart"),title:a("agents.orgChartCenter","Center org chart"),children:[e.jsx(xn,{size:16}),a("agents.center","Center")]})]}),[oe,ct,ie.scale]),_s=s.useCallback(t=>{if(!(t.ctrlKey||t.metaKey))return;t.preventDefault();const r=t.deltaY>0?.9:1.1;Ht(ie.scale*r,t.clientX,t.clientY)},[ie.scale,Ht]),Ps=s.useCallback(t=>{if(t.target.closest(".org-chart-node-card"))return;if(t.currentTarget.setPointerCapture?.(t.pointerId),fe.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),fe.current.size===1){o.current={x:t.clientX-ie.x,y:t.clientY-ie.y,pointerId:t.pointerId},Tt(!0);return}if(fe.current.size===2){const d=Array.from(fe.current.values()),m=d[0].x-d[1].x,f=d[0].y-d[1].y;j.current={distance:Math.hypot(m,f),scale:ie.scale,centerX:(d[0].x+d[1].x)/2,centerY:(d[0].y+d[1].y)/2},o.current=null}},[ie.scale,ie.x,ie.y]),Ls=s.useCallback(t=>{if(fe.current.has(t.pointerId)){if(fe.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),fe.current.size>=2){const r=Array.from(fe.current.values()),d=j.current;if(!d)return;const m=r[0].x-r[1].x,f=r[0].y-r[1].y,v=Math.hypot(m,f),F=d.scale*(v/d.distance);Ht(F,d.centerX,d.centerY);return}!o.current||o.current.pointerId!==t.pointerId||J(r=>oe({...r,x:t.clientX-o.current.x,y:t.clientY-o.current.y}))}},[oe,Ht]),Pa=s.useCallback(t=>{fe.current.delete(t.pointerId),fe.current.size<2&&(j.current=null),fe.current.size===0&&(o.current=null,Tt(!1))},[]),Hs=s.useCallback(t=>{if(t.key==="ArrowLeft")J(r=>oe({...r,x:r.x+$t}));else if(t.key==="ArrowRight")J(r=>oe({...r,x:r.x-$t}));else if(t.key==="ArrowUp")J(r=>oe({...r,y:r.y+$t}));else if(t.key==="ArrowDown")J(r=>oe({...r,y:r.y-$t}));else if(t.key==="+"||t.key==="=")J(r=>oe({...r,scale:r.scale*1.1}));else if(t.key==="-")J(r=>oe({...r,scale:r.scale*.9}));else if(t.key==="0")ct();else if(t.key==="Home")J({scale:1,x:0,y:0});else return;t.preventDefault()},[oe,ct]),La=s.useCallback(()=>{const t=[{value:"horizontal",label:a("agents.layoutHorizontal","Horizontal"),icon:e.jsx(qa,{size:16}),ariaLabel:a("agents.layoutHorizontalAria","Horizontal layout")},{value:"vertical",label:a("agents.layoutVertical","Vertical"),icon:e.jsx(za,{size:16}),ariaLabel:a("agents.layoutVerticalAria","Vertical layout")},{value:"auto",label:a("agents.layoutAuto","Auto"),icon:e.jsx(ht,{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 d=Ce===r.value;return e.jsxs("button",{type:"button",className:`btn-icon touch-target agent-org-chart-layout-toggle__button${d?" btn-icon--active":""}`,onClick:()=>Ma(r.value),"aria-pressed":d,"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)})})},[Ma,Ce]),Ds=t=>Array.isArray(t.metadata?.skills)?t.metadata.skills:[],Kt=t=>An(t,ft),Fs=c||je||D===0,$s=c||je||ee===0,zs=c||je||He||tt===0,Os=c||je||He||Et===0,Ha=te&&X.length===0,yt=s.useCallback(()=>{ce(!0)},[]);return e.jsxs("div",{className:"agents-view",children:[e.jsx(fn,{icon:ra,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${K==="list"?" active":""}`,onClick:()=>Ut("list"),title:a("agents.listView","List view"),"aria-label":a("agents.listView","List view"),"aria-pressed":K==="list",children:e.jsx(za,{size:16})}),e.jsx("button",{className:`view-toggle-btn${K==="board"?" active":""}`,onClick:()=>Ut("board"),title:a("agents.boardView","Board view"),"aria-label":a("agents.boardView","Board view"),"aria-pressed":K==="board",children:e.jsx(bt,{size:16})}),e.jsx("button",{className:`view-toggle-btn${K==="org"?" active":""}`,onClick:()=>Ut("org"),title:a("agents.orgChartView","Org Chart view"),"aria-label":a("agents.orgChartView","Org Chart view"),"aria-pressed":K==="org",children:e.jsx(qa,{size:16})})]}),e.jsxs("div",{className:`agents-view-primary-actions${be?" agents-view-primary-actions--controls-open":""}`,children:[e.jsx("button",{ref:nt,className:`btn-icon agent-controls-trigger${be?" agent-controls-trigger--active":""}`,onClick:()=>Q(t=>!t),title:a("agents.controls","Controls"),"aria-label":a("agents.controls","Controls"),"aria-haspopup":"dialog","aria-expanded":be,"aria-controls":ha,children:e.jsx(vn,{size:16})}),e.jsx("button",{className:"btn-icon",onClick:()=>void V(),title:a("agents.refresh","Refresh"),"aria-label":a("agents.refresh","Refresh"),children:e.jsx(ht,{size:16,className:te?"spin":void 0})}),!M&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{de(!0),Q(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(oa,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{yt(),Q(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(Oa,{size:16}),a("agents.newAgent","New Agent")]})]}),be&&e.jsxs("div",{ref:It,id:ha,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(jn,{size:14}),e.jsxs("select",{className:"agent-state-filter-select",value:z,onChange:t=>Y(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:S,onChange:t=>T(t.target.checked),"aria-label":a("agents.showSystemAgents","Show system agents")}),a("agents.showSystemAgents","Show system agents")]})]})}),M&&e.jsxs("div",{className:"agent-controls-mobile-actions",children:[e.jsxs("button",{className:"btn btn-sm agent-import-trigger",onClick:()=>{de(!0),Q(!1)},"aria-label":a("agents.import","Import"),title:a("agents.import","Import"),children:[e.jsx(oa,{size:16}),a("agents.import","Import")]}),e.jsxs("button",{className:"btn btn-task-create btn-sm",onClick:()=>{yt(),Q(!1)},"aria-label":a("agents.newAgent","New Agent"),title:a("agents.newAgent","New Agent"),children:[e.jsx(Oa,{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:Fs,onClick:()=>{Q(!1),wa("paused")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Ft,{}),e.jsx("span",{children:a("agents.pauseAllAgents","Pause All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:c?a("agents.loadingEligibility","Loading eligibility…"):D===0?a("agents.noAgentsToPauseHint","No active or running project agents to pause"):a("agents.pauseCountHint",{count:D,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:zs,onClick:()=>{Q(!1),Ca(!0)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(wt,{}),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:tt})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:Os,onClick:()=>{Q(!1),Ca(!1)},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(Ft,{}),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:Et})})]}),e.jsxs("button",{type:"button",className:"agent-detail-bulk-menu-item",role:"menuitem",disabled:$s,onClick:()=>{Q(!1),wa("active")},children:[e.jsxs("span",{className:"agent-controls-bulk-actions__label",children:[e.jsx(wt,{}),e.jsx("span",{children:a("agents.resumeAllAgents","Resume All Agents")})]}),e.jsx("span",{className:"agent-detail-bulk-menu-item-hint",children:c?a("agents.loadingEligibility","Loading eligibility…"):ee===0?a("agents.noAgentsToResumeHint","No paused project agents to resume"):a("agents.resumeCountHint",{count:ee,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:ft,onChange:t=>{const r=Number(t.target.value);ka(Number.isFinite(r)&&r>0?r:1)},disabled:ja}),e.jsxs("span",{className:"heartbeat-multiplier-value",children:["×",ft.toFixed(1)]}),e.jsx("select",{className:"heartbeat-multiplier-preset",value:String(aa.reduce((t,r)=>Math.abs(r-ft)<Math.abs(t-ft)?r:t,aa[0])),onChange:t=>{const r=Number(t.target.value);ka(Number.isFinite(r)&&r>0?r:1)},disabled:ja,"aria-label":a("agents.heartbeatSpeedPreset","Heartbeat speed preset"),children:aa.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(al,{agents:vt})]})]})]})}),e.jsx(hl,{isOpen:A,onClose:()=>{ce(!1),pe(null)},onCreated:()=>{ce(!1),pe(null),V()},projectId:l,prefillDraft:Ae,agentOnboardingEnabled:u,existingAgents:X,onPrefillDraft:pe}),e.jsx(bl,{isOpen:ne,onClose:()=>de(!1),onImported:()=>void V(),projectId:l}),e.jsx(gl,{stats:ve,activeAgents:ks,projectId:l,isOpen:_e,onToggle:()=>Ve(t=>!t),onSelectAgent:Wt,onOpenTaskLogs:g}),K==="org"?e.jsx("div",{className:"agents-org-full-view",children:e.jsx("div",{className:"agents-view-content agents-view-content--org-full",children:q?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(ts,{inline:!0,showInlineBackButton:!1,agentId:q,projectId:l,onClose:qe,addToast:n,onChildClick:Ea,initialTab:ke,initialRunId:we,preferActiveRun:le},q)})]}):Ha?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{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:[M?e.jsxs("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:[La(),_a()]}):e.jsxs("div",{className:"agent-org-chart-toolbar",children:[La(),e.jsx("div",{className:"agent-org-chart-controls","data-testid":"agent-org-chart-controls",children:_a()})]}),e.jsx("div",{ref:Pe,className:"agent-org-chart-viewport","data-testid":"agent-org-chart-viewport",tabIndex:0,role:"region","aria-label":a("agents.orgChartCanvas","Org chart canvas"),onWheel:_s,onPointerDown:Ps,onPointerMove:Ls,onPointerUp:Pa,onPointerCancel:Pa,onKeyDown:Hs,"data-panning":We?"true":"false",children:e.jsxs("div",{ref:Le,className:`agent-org-chart-canvas agent-org-chart-canvas--zoom-${Math.round((ie.scale??1)*100)}`,"data-panning":We?"true":"false",style:{transform:`translate(${ie.x}px, ${ie.y}px) scale(${ie.scale})`},children:[e.jsx("div",{className:`agent-org-chart${Dt==="vertical"?" agent-org-chart--vertical":""}`,"data-testid":"agent-org-chart","data-layout-mode":Dt,children:Be?e.jsxs("div",{className:"agent-org-chart__loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingOrgChart","Loading org chart...")})]}):Xe.length===0?e.jsx(Qt,{onCtaClick:yt}):(st.current=[],Xe.map(t=>e.jsx(ps,{node:t,onSelect:Es,getHealthStatus:Kt,selectedAgentId:me,registerNodeElement:Ms,linksRef:st,activityByAgentId:x.activityByAgentId,nowTick:x.nowTick},t.agent.id)))}),e.jsx(kl,{links:st.current,nodeElements:Ue.current,canvasRef:Le,viewportRef:Pe,layoutMode:Dt,transform:ie,activityEvents:x.events,nowTick:x.nowTick})]})})]})})}):e.jsxs("div",{className:"agents-split-layout",style:M?void 0:{gridTemplateColumns:`${H}px var(--space-sm) minmax(0, 1fr)`},children:[e.jsx("div",{className:`agents-split-sidebar${ae?" agents-split-sidebar--hidden-mobile":""}`,children:e.jsx("div",{className:"agents-view-content",children:Ha?e.jsxs("div",{className:"agents-view-loading",role:"status","aria-live":"polite",children:[e.jsx(ht,{size:18,className:"spin"}),e.jsx("span",{children:a("agents.loadingAgents","Loading agents...")})]}):K==="board"?e.jsx("div",{className:"agent-board",children:vt.length===0?e.jsx(Qt,{onCtaClick:yt}):vt.map(t=>{const r=Kt(t),d=ga(t,r,a),m=da(t.state),f=ua("agent-board-card",t.state);return e.jsxs("div",{className:`agent-board-card ${f}${q===t.id?" agent-card--selected":""}`,children:[e.jsxs("div",{ref:R(`board:${t.id}`),className:"agent-board-clickable",onClick:()=>ye(t.id),role:"button",tabIndex:0,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.key===" "&&v.preventDefault(),ye(t.id))},children:[e.jsxs("div",{className:"agent-board-header",children:[e.jsx("span",{className:"agent-board-icon",children:e.jsx(Vt,{agent:t,size:20})}),e.jsx("span",{className:"agent-board-badge badge text-secondary",children:Ia(t.role)}),e.jsx("span",{className:`agent-board-badge badge ${m}`,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(la,{taskId:t.taskId,isInViewport:k(`board:${t.id}`),projectId:l}),e.jsxs("div",{className:"agent-board-health",style:{color:r.color},title:d.title,children:[r.icon,d.label?` ${d.label}`:""]})]}),e.jsxs("div",{className:"agent-board-actions",children:[e.jsx(Nl,{agent:t,pending:He||Ke.has(t.id),onToggle:v=>void Aa(v,!pt(v))}),(t.state==="idle"||t.state==="paused"||t.state==="error")&&e.jsx("button",{className:"btn btn-sm btn-danger",onClick:()=>void Sa(t.id,t.name),title:a("agents.delete","Delete"),children:e.jsx(Va,{size:14})})]})]},t.id)})}):e.jsx("div",{className:"agent-list",children:vt.length===0?e.jsx(Qt,{onCtaClick:yt}):vt.map(t=>{const r=Kt(t),d=ga(t,r,a),m=da(t.state),f=ua("agent-card",t.state),v=na(t.runtimeConfig?.heartbeatIntervalMs),F=yn(v),ue=!pt(t)?sa:String(v),se=He||js===t.id||Ke.has(t.id),Ne=yl(t,ys);return e.jsxs("div",{ref:R(`list:${t.id}`),className:`agent-card agent-card--clickable ${f}${q===t.id?" agent-card--selected":""}`,onClick:p=>{const O=p.target;if(O===p.currentTarget){ye(t.id);return}const Se=O.closest('button, select, input, [role="button"]');Se&&Se!==p.currentTarget||ye(t.id)},role:"button",tabIndex:0,onKeyDown:p=>{p.target===p.currentTarget&&(p.key==="Enter"||p.key===" ")&&(p.key===" "&&p.preventDefault(),ye(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:[fs===t.id?e.jsx("select",{ref:vs,className:"select agent-role-select",value:t.role,onChange:p=>void ws(t.id,p.target.value),onKeyDown:p=>Cs(p,t.id),onBlur:()=>lt(null),autoFocus:!0,children:y.map(p=>e.jsxs("option",{value:p.value,children:[p.icon," ",p.label]},p.value))}):e.jsx("span",{className:"agent-icon agent-icon--clickable",onClick:p=>{p.stopPropagation(),lt(t.id)},title:a("agents.clickToChangeRole","Click to change role"),role:"button",tabIndex:0,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.stopPropagation(),lt(t.id))},children:e.jsx(Vt,{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(is,{size:20,className:"agent-card-chevron"})]}),e.jsxs("div",{className:"agent-badges",children:[e.jsx("span",{className:`badge ${m}`,children:t.state}),e.jsxs("span",{className:"badge",style:{color:r.color},title:d.title,children:[r.icon,d.label?` ${d.label}`:""]}),e.jsx("span",{className:"badge text-secondary",children:Ia(t.role)}),(t.pendingApprovalCount??0)>0?e.jsxs("span",{className:"badge agent-approval-badge",title:a("agents.pendingApprovals","Pending approvals"),children:[e.jsx("span",{className:"status-dot status-dot--pending"}),t.pendingApprovalCount]}):null,(()=>{const p=Ds(t);if(p.length===0)return null;const O=p.slice(0,2),Se=p.length-2;return e.jsxs(e.Fragment,{children:[O.map(dt=>{const Nt=Ka(dt,b||i?null:C,{forced:!0});return e.jsxs("span",{className:"badge badge-skill","data-skill-state":Nt.state,title:`${dt}: ${a(Nt.titleKey,Nt.defaultTitle)}`,children:[_n(dt)," ",e.jsx("span",{className:"skill-state-marker",children:a(Nt.labelKey,Nt.defaultLabel)})," ",e.jsx("span",{className:"skill-state-marker skill-state-marker--forced",children:a("skills.forced","Forced")})]},dt)}),Se>0&&e.jsxs("span",{className:"badge badge-skill",title:p.slice(2).some(dt=>["disabled","unknown"].includes(Ka(dt,b||i?null:C,{forced:!0}).state))?a("skills.hiddenUnavailable","Hidden skills include disabled or not-discovered entries"):void 0,children:["+",Se]})]})})()]})]}),e.jsxs("div",{className:"agent-card-body",children:[e.jsxs("div",{className:"agent-model-runtime",children:[e.jsxs("span",{className:"text-secondary",children:[Ne.isRuntime?a("agents.runtime","Runtime"):a("agents.model","Model"),":"]}),e.jsx("span",{className:"badge agent-model-runtime__value",title:Ne.label??a("agents.auto","Auto"),children:Ne.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(ls,{taskId:t.taskId,taskColumn:t.taskColumn})}),e.jsx(la,{taskId:t.taskId,isInViewport:k(`list:${t.id}`),projectId:l})]}),!De(t)&&e.jsxs("div",{className:"agent-heartbeat-control",children:[e.jsx("span",{className:"text-secondary",children:a("agents.heartbeat","Heartbeat:")}),xa===t.id?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"input agent-heartbeat-custom-input",value:fa[t.id]??"",onChange:p=>Ge(O=>({...O,[t.id]:p.target.value})),onKeyDown:p=>{p.key==="Enter"?Ra(t):p.key==="Escape"&&(rt(null),Ge(O=>{const Se={...O};return delete Se[t.id],Se}))},disabled:se,"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 Ra(t),disabled:se,title:a("agents.saveCustomInterval","Save custom interval"),children:a("agents.save","Save")}),e.jsx("button",{className:"btn btn-sm",onClick:()=>{rt(null),Ge(p=>{const O={...p};return delete O[t.id],O})},disabled:se,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:ue,onChange:p=>{const O=p.target.value;O===sa?As(t):O==="__custom__"?Rs(t):Ss(t,Number(O))},disabled:se,"aria-label":a("agents.setHeartbeatAria","Set heartbeat interval for {{name}}",{name:t.name}),children:[e.jsx("option",{value:sa,children:a("agents.heartbeatDisabledOption","Disabled")}),F.map(p=>e.jsx("option",{value:p.value,children:p.label},p.value)),kn.some(p=>p.value===v)&&e.jsx("option",{value:"__custom__",children:a("agents.customHeartbeatOption","Custom...")})]})}),se&&e.jsx("span",{className:"agent-heartbeat-saving text-secondary",children:a("agents.saving","Saving…")}),t.lastHeartbeatAt&&(()=>{const p=new Date(t.lastHeartbeatAt),O=new Date(p.getTime()+v),Se=t.state==="active"||t.state==="running";return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-heartbeat-last text-secondary",title:p.toLocaleString(),children:a("agents.lastHeartbeatAt","Last: {{time}}",{time:p.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})})}),Se&&e.jsx("span",{className:"agent-heartbeat-next text-secondary",title:O.toLocaleString(),children:a("agents.nextHeartbeatAt","Next: {{time}}",{time:O.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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.activate","Activate"),children:[e.jsx(wt,{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 Is(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(bt,{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 jt(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Ft,{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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.resume","Resume"),children:[e.jsx(wt,{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:()=>ye(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(bt,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.running","Running")})]}),e.jsxs("button",{className:"btn btn-sm",onClick:()=>void jt(t.id,"paused"),disabled:Ye.has(t.id),title:a("agents.pause","Pause"),children:[e.jsx(Ft,{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 jt(t.id,"active"),disabled:Ye.has(t.id),title:a("agents.retry","Retry"),children:[e.jsx(wt,{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:()=>ye(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(wn,{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 Sa(t.id,t.name),title:a("agents.delete","Delete"),children:[e.jsx(Va,{size:14})," ",e.jsx("span",{className:"agent-card-action-label",children:a("agents.delete","Delete")})]})]})]})]},t.id)})})})}),!M&&e.jsx("div",{className:"agents-split-resize-handle","data-testid":"agents-sidebar-resize-handle",role:"separator","aria-orientation":"vertical","aria-valuemin":ds,"aria-valuemax":us,"aria-valuenow":H,"aria-label":a("agents.resizeSidebar","Resize agents sidebar"),tabIndex:0,onPointerDown:bs,onKeyDown:xs}),e.jsx("div",{className:`agents-split-detail${M&&!q?" agents-split-detail--hidden-mobile":""}`,children:q?e.jsx(s.Suspense,{fallback:null,children:e.jsx(ts,{inline:!0,showInlineBackButton:M,agentId:q,projectId:l,onClose:qe,addToast:n,onChildClick:Ea,initialTab:ke,initialRunId:we,preferActiveRun:le,onMutationSuccess:Ts},q)}):e.jsxs("div",{className:"agents-detail-empty-state",children:[e.jsx(ra,{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{Dl as AgentsView};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as a,j as t}from"./vendor-react-SZ_qB27O.js";import{c as si,S as mn,r as jt,e as Rs,cJ as js,du as Xi,dv as qi,dw as da,b as J,dx as Gi,dy as Dt,dz as At,dA as ya,dB as Qi,dC as Yi,dD as Ji,dE as Zi,dF as eo,dG as to,bh as no,c_ as Ca,dH as Ce,db as ao,cv as ii,c3 as wn,dI as so,dJ as io,ar as yn,dK as oo,dL as ro,bS as co,K as lo,aK as uo,b3 as xn,a2 as mo,d9 as ho,dM as fo,aY as go,dN as po,dO as oi,dP as ri,dQ as vo,dR as bo,W as xo,dS as wo,dT as yo,dU as As,dV as Co,dW as ko,dX as Ts,G as So,dY as Mo,z as No,B as Ro,aI as jo,dZ as ua,C as hn,d_ as fn,d$ as Es,cW as Ds,D as ma,P as pt,V as Ao,bU as Is,de as Ls,dd as To,X as Ps,aJ as Eo,e0 as Do,F as ha,e1 as fa,e2 as Fs,e3 as ga,e4 as $s,e5 as _s,e6 as zs,e7 as Io,dj as ci,e8 as Lo,cV as Bs}from"./index-
|
|
1
|
+
import{r as a,j as t}from"./vendor-react-SZ_qB27O.js";import{c as si,S as mn,r as jt,e as Rs,cJ as js,du as Xi,dv as qi,dw as da,b as J,dx as Gi,dy as Dt,dz as At,dA as ya,dB as Qi,dC as Yi,dD as Ji,dE as Zi,dF as eo,dG as to,bh as no,c_ as Ca,dH as Ce,db as ao,cv as ii,c3 as wn,dI as so,dJ as io,ar as yn,dK as oo,dL as ro,bS as co,K as lo,aK as uo,b3 as xn,a2 as mo,d9 as ho,dM as fo,aY as go,dN as po,dO as oi,dP as ri,dQ as vo,dR as bo,W as xo,dS as wo,dT as yo,dU as As,dV as Co,dW as ko,dX as Ts,G as So,dY as Mo,z as No,B as Ro,aI as jo,dZ as ua,C as hn,d_ as fn,d$ as Es,cW as Ds,D as ma,P as pt,V as Ao,bU as Is,de as Ls,dd as To,X as Ps,aJ as Eo,e0 as Do,F as ha,e1 as fa,e2 as Fs,e3 as ga,e4 as $s,e5 as _s,e6 as zs,e7 as Io,dj as ci,e8 as Lo,cV as Bs}from"./index-4c8KmZSa.js";import{u as _e}from"./vendor-i18n-Duky4gdQ.js";import{SessionTerminal as Os}from"./SessionTerminal-CuVsOYc8.js";import{u as Po}from"./useDiscoveredSkillsCache-D2M95Nn0.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-reactflow-BlIeoTu4.js";import"./vendor-xterm-BNq00GSj.js";import"./shield-alert-D9xqzJwR.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 mn,a as aj,b as Jl,c as ij}from"./vendor-react-SZ_qB27O.js";import{c as Vt,h6 as sj,dZ as Nh,L as Ql,l as Mi,h7 as Ii,a as fr,w as mr,aX as vn,h8 as ec,h9 as oj,a$ as Zr,as as el,ae as Ph,a3 as La,F as tn,b2 as lj,b4 as cj,P as zn,b0 as uj,ha as Ah,bV as Di,bh as qa,ag as tc,hb as $u,R as Gt,az as dj,hc as fj,aM as mj,aT as Ri,hd as Oh,ei as vj,aY as Eh,da as _h,bL as hj,aK as rc,bX as pj,he as yj,ar as gj,fw as bj,hf as xj,aj as Th,hg as jj,hh as wj,cV as Fu,hi as Bu,fI as Cj,gM as Ps,hj as zu,hk as ga,hl as kj,hm as Sj,hn as Nj,ho as Pj,gN as Aj,hp as Oj,hq as Ej,hr as _j,gJ as Tj,hs as Mj,G as Ij,aN as Dj,gO as Mh,ht as Rj,c3 as Lj,B as $j,hu as Fj,au as Bj,hv as As,hw as zj,hx as Kj,hy as Vj,hz as Uj,hA as qj,hB as Wj,hC as nc,hD as ac,hE as Ku,c_ as Wa,hF as Vu,hG as tl,hH as Ih,hI as rl,bi as Dh,bW as Rh,bY as Lh,dl as Hj,d6 as Gj,K as ic,C as sc,hJ as Xj,hK as Yj,D as Zj,eZ as Uu,X as $a,E as Jj,y as Qj,b1 as qu,aI as e0,hL as Wu,hM as t0,hN as r0,hO as n0,hP as a0,eg as i0,hQ as Os,hR as s0,hS as o0,hT as l0}from"./index-
|
|
1
|
+
import{r as f,j as s,g as mn,a as aj,b as Jl,c as ij}from"./vendor-react-SZ_qB27O.js";import{c as Vt,h6 as sj,dZ as Nh,L as Ql,l as Mi,h7 as Ii,a as fr,w as mr,aX as vn,h8 as ec,h9 as oj,a$ as Zr,as as el,ae as Ph,a3 as La,F as tn,b2 as lj,b4 as cj,P as zn,b0 as uj,ha as Ah,bV as Di,bh as qa,ag as tc,hb as $u,R as Gt,az as dj,hc as fj,aM as mj,aT as Ri,hd as Oh,ei as vj,aY as Eh,da as _h,bL as hj,aK as rc,bX as pj,he as yj,ar as gj,fw as bj,hf as xj,aj as Th,hg as jj,hh as wj,cV as Fu,hi as Bu,fI as Cj,gM as Ps,hj as zu,hk as ga,hl as kj,hm as Sj,hn as Nj,ho as Pj,gN as Aj,hp as Oj,hq as Ej,hr as _j,gJ as Tj,hs as Mj,G as Ij,aN as Dj,gO as Mh,ht as Rj,c3 as Lj,B as $j,hu as Fj,au as Bj,hv as As,hw as zj,hx as Kj,hy as Vj,hz as Uj,hA as qj,hB as Wj,hC as nc,hD as ac,hE as Ku,c_ as Wa,hF as Vu,hG as tl,hH as Ih,hI as rl,bi as Dh,bW as Rh,bY as Lh,dl as Hj,d6 as Gj,K as ic,C as sc,hJ as Xj,hK as Yj,D as Zj,eZ as Uu,X as $a,E as Jj,y as Qj,b1 as qu,aI as e0,hL as Wu,hM as t0,hN as r0,hO as n0,hP as a0,eg as i0,hQ as Os,hR as s0,hS as o0,hT as l0}from"./index-4c8KmZSa.js";import{u as se}from"./vendor-i18n-Duky4gdQ.js";import{a as $h,b as Fh,p as c0,w as u0}from"./vendor-reactflow-BlIeoTu4.js";import{w as Bh,n as zh,a as Me,A as oc,G as d0,H as f0,l as Kh,t as Li,b as _t,p as nl,s as Ha,c as Vh,q as m0,r as v0,u as h0,v as p0,x as y0,y as g0,z as b0,C as x0,D as j0,k as w0,E as C0,F as k0}from"./step-yuy0qJer.js";import{b as S0,p as N0}from"./band-CquvqAHh.js";import{d as Ga,n as P0,e as A0,f as al,g as Br,h as lc,a as cc,i as Hu,j as Ht,c as O0,k as $i,l as E0,m as _0}from"./linear-Dyk9wory.js";import{i as pr,a as Qt}from"./init-Dmth1JHB.js";import{m as Gu,a as Xu,p as T0,q as M0,u as I0,s as D0,r as R0,v as L0,w as $0,x as F0,y as B0,z as z0,A as K0,B as V0,t as U0}from"./time-2wBVBf9F.js";import{f as q0,b as W0}from"./defaultLocale-DX6XiGOO.js";import{i as H0,o as G0}from"./ordinal-DILIJJjt.js";import{g as X0,i as il,r as Y0}from"./agentsOrgChartLayout-DsahEyq7.js";import{U as uc}from"./upload-CWVc30BQ.js";import{S as Z0}from"./shield-alert-D9xqzJwR.js";import{b as J0}from"./agent-import-generation-CHAXFtOA.js";import{r as Q0,B as ew,R as tw,b as rw,a as nw}from"./ReportModal-DovuZwdY.js";import{PluginManager as aw}from"./PluginManager-ByNlw3zN.js";import{v as iw}from"./projectDetection-G3XuxD2X.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./DirectoryPicker-ClOKp7d1.js";import"./folder-open-15UiPjYb.js";/**
|
|
2
2
|
* @license lucide-react v1.7.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|