chainlesschain 0.161.8 → 0.161.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/package.json +2 -1
  2. package/src/assets/web-panel/.build-hash +1 -1
  3. package/src/assets/web-panel/assets/{AIOps-Uls1XIO4.js → AIOps-Cbnj25uU.js} +1 -1
  4. package/src/assets/web-panel/assets/{ActionButton-BpVrefl1.js → ActionButton-DY69UkxV.js} +1 -1
  5. package/src/assets/web-panel/assets/{Analytics-Z1Rgg9PA.js → Analytics-DUzoL75H.js} +2 -2
  6. package/src/assets/web-panel/assets/AppLayout-DATUppSv.js +1 -0
  7. package/src/assets/web-panel/assets/{AppLayout-P7jhSfLy.css → AppLayout-qr7ghxW7.css} +1 -1
  8. package/src/assets/web-panel/assets/{Audit-Co6yYgmX.js → Audit-CFJh6huz.js} +1 -1
  9. package/src/assets/web-panel/assets/{Backup-1IZDB3QD.js → Backup-CMTir4tV.js} +1 -1
  10. package/src/assets/web-panel/assets/{BaseInput-LYB_wIZP.js → BaseInput-BaWXBDdp.js} +1 -1
  11. package/src/assets/web-panel/assets/{Chat-D-6LDWGl.js → Chat-DjToexEx.js} +3 -3
  12. package/src/assets/web-panel/assets/{Checkbox-dLnnw7OE.js → Checkbox-DJnhKXhi.js} +1 -1
  13. package/src/assets/web-panel/assets/{Codegen-Wh6xypMx.js → Codegen-CgsgvRJX.js} +1 -1
  14. package/src/assets/web-panel/assets/{Col-BT8lkjSw.js → Col-MvMGDJAB.js} +1 -1
  15. package/src/assets/web-panel/assets/{Community-CdAeMHde.js → Community-q26VGOGu.js} +1 -1
  16. package/src/assets/web-panel/assets/{Compact-VsImrjgV.js → Compact-DyLYzWoX.js} +1 -1
  17. package/src/assets/web-panel/assets/{Compliance-PScuVx8d.js → Compliance-D_TF9eBc.js} +1 -1
  18. package/src/assets/web-panel/assets/{Cowork-qB8hRW0r.js → Cowork-B9bg988c.js} +3 -3
  19. package/src/assets/web-panel/assets/{Cron-CuSjuE-h.js → Cron-6k9vTFfd.js} +2 -2
  20. package/src/assets/web-panel/assets/{Crosschain-BqIRd8bv.js → Crosschain-B7fk2aHi.js} +1 -1
  21. package/src/assets/web-panel/assets/{DID-BT5BJ0DF.js → DID-XhCfTFm2.js} +2 -2
  22. package/src/assets/web-panel/assets/{Dashboard-BX-06zEm.js → Dashboard-Bqk7vtZM.js} +2 -2
  23. package/src/assets/web-panel/assets/{Dropdown-Pjo3G3Vf.js → Dropdown-CDOOZGv7.js} +1 -1
  24. package/src/assets/web-panel/assets/{Federation-BbnYcYhr.js → Federation-NajN4oRO.js} +1 -1
  25. package/src/assets/web-panel/assets/{FormItemContext-C3hf4K1_.js → FormItemContext-DgMHYlMB.js} +1 -1
  26. package/src/assets/web-panel/assets/{Git-Cmw6_HXW.js → Git-CZC5n1Zu.js} +2 -2
  27. package/src/assets/web-panel/assets/{Governance-BFBvB2G6.js → Governance-Br131eUW.js} +1 -1
  28. package/src/assets/web-panel/assets/{Inference-BBdX3YjM.js → Inference-BHlUfcT-.js} +1 -1
  29. package/src/assets/web-panel/assets/{KnowledgeGraph-BC-bcvNY.js → KnowledgeGraph-CByROhg-.js} +1 -1
  30. package/src/assets/web-panel/assets/{Logs-B9DuqFeW.js → Logs-D8Ghzk4B.js} +1 -1
  31. package/src/assets/web-panel/assets/{Marketplace-Bff1ja4R.js → Marketplace-CnjHPFm7.js} +1 -1
  32. package/src/assets/web-panel/assets/{McpTools-DnWqjtkb.js → McpTools-C_vszCBU.js} +1 -1
  33. package/src/assets/web-panel/assets/{Memory-C6YXBuM7.js → Memory-Cl5c_8In.js} +2 -2
  34. package/src/assets/web-panel/assets/MobileBridge-DkkMCDx9.css +1 -0
  35. package/src/assets/web-panel/assets/MobileBridge-K3KwwCKl.js +3 -0
  36. package/src/assets/web-panel/assets/{Mtc-r-J4WRfp.js → Mtc-NfZ8xzyu.js} +4 -4
  37. package/src/assets/web-panel/assets/{MtcAudit-DFqXLHn6.js → MtcAudit-BkktYSXj.js} +1 -1
  38. package/src/assets/web-panel/assets/Multisig-BLRYDn7_.css +1 -0
  39. package/src/assets/web-panel/assets/Multisig-qP51bs1T.js +1 -0
  40. package/src/assets/web-panel/assets/{NLProgramming-s5CrjYto.js → NLProgramming-BhFRuXyi.js} +1 -1
  41. package/src/assets/web-panel/assets/{Notes-TAbnvDCd.js → Notes-BpcAFy8i.js} +3 -3
  42. package/src/assets/web-panel/assets/{NotificationSettings-BZIKI219.js → NotificationSettings-DKNtYYeo.js} +1 -1
  43. package/src/assets/web-panel/assets/{Organization-BXbSljYa.js → Organization-C61VwQEW.js} +4 -4
  44. package/src/assets/web-panel/assets/{Overflow-O2RWHZxH.js → Overflow-WBloac1x.js} +1 -1
  45. package/src/assets/web-panel/assets/{P2P-B8jBZLh6.js → P2P-DGm7EvDg.js} +2 -2
  46. package/src/assets/web-panel/assets/{Permissions-Cexi8Jr6.js → Permissions-KFPtoOV6.js} +2 -2
  47. package/src/assets/web-panel/assets/{Pipeline-BwIBnNzj.js → Pipeline-CFjFtzZT.js} +1 -1
  48. package/src/assets/web-panel/assets/{Privacy-D-LOR9um.js → Privacy-T_Kewe_f.js} +1 -1
  49. package/src/assets/web-panel/assets/{ProjectSettings-DZ_fdRRJ.js → ProjectSettings-BQl8qTPQ.js} +1 -1
  50. package/src/assets/web-panel/assets/{Projects-Bis42Cb6.js → Projects-xGNn4Ov9.js} +2 -2
  51. package/src/assets/web-panel/assets/{Providers-DH6hY4Gx.js → Providers-ByuUztXe.js} +1 -1
  52. package/src/assets/web-panel/assets/{QuickAsk-Ur0bUXHK.js → QuickAsk-BwSXmXvL.js} +1 -1
  53. package/src/assets/web-panel/assets/{Recommend-CLDQjSf6.js → Recommend-Cp433_5Z.js} +1 -1
  54. package/src/assets/web-panel/assets/{Reputation-StG-zGil.js → Reputation-DE_JSjyi.js} +1 -1
  55. package/src/assets/web-panel/assets/{Row-DAWA1cwa.js → Row-DI36Fic1.js} +1 -1
  56. package/src/assets/web-panel/assets/{RssFeed-rb2CP-IS.js → RssFeed-DswpSUiI.js} +3 -3
  57. package/src/assets/web-panel/assets/{Search-Y9qsWaAE.js → Search-Crs2UKhh.js} +1 -1
  58. package/src/assets/web-panel/assets/{Security-BanZDWBe.js → Security-W8ViXXbq.js} +3 -3
  59. package/src/assets/web-panel/assets/{Services-DFOMZwqJ.js → Services-BIQdyLJM.js} +2 -2
  60. package/src/assets/web-panel/assets/{Skeleton-Cy48VmyC.js → Skeleton-DDiOevKX.js} +1 -1
  61. package/src/assets/web-panel/assets/{Skills-BqdkGRyO.js → Skills-v-Vw_jGa.js} +1 -1
  62. package/src/assets/web-panel/assets/{Sla-B8lXq9rJ.js → Sla-B-ULmz5m.js} +1 -1
  63. package/src/assets/web-panel/assets/{SpeechSettings-CmIkYpWT.js → SpeechSettings--8IIPHri.js} +1 -1
  64. package/src/assets/web-panel/assets/{SyncSettings-tZDaJZ0S.js → SyncSettings-D0QiEwJn.js} +1 -1
  65. package/src/assets/web-panel/assets/{Tasks-DxBlrylF.js → Tasks-BNSR9FlM.js} +1 -1
  66. package/src/assets/web-panel/assets/{Templates-ByshgJtu.js → Templates-CFVkaS-d.js} +1 -1
  67. package/src/assets/web-panel/assets/{Tenant-DCpEpRf1.js → Tenant-quU-tldS.js} +1 -1
  68. package/src/assets/web-panel/assets/{Tokens-BIUug_M_.js → Tokens-DTqFjS4k.js} +1 -1
  69. package/src/assets/web-panel/assets/{Trigger-DY4iT_Sv.js → Trigger-ZWVirxhN.js} +1 -1
  70. package/src/assets/web-panel/assets/{Trust-fAtm0ohe.js → Trust-DmaYf5tg.js} +1 -1
  71. package/src/assets/web-panel/assets/{UkeySign-CwbV_ITc.js → UkeySign-BeYyXtZW.js} +1 -1
  72. package/src/assets/web-panel/assets/{VideoEditing-CBJ5dw8E.js → VideoEditing-CRdDwD9C.js} +1 -1
  73. package/src/assets/web-panel/assets/{Wallet-B1fyWeNC.js → Wallet-H-38f7Pv.js} +4 -4
  74. package/src/assets/web-panel/assets/{WebAuthn-by6IZMeB.js → WebAuthn-CCQVzZ0W.js} +4 -4
  75. package/src/assets/web-panel/assets/{WorkflowEditor-DZkBKsSU.js → WorkflowEditor-B1RFE2oN.js} +1 -1
  76. package/src/assets/web-panel/assets/{chat-CKAWhBMH.js → chat-Z4UoBAeF.js} +1 -1
  77. package/src/assets/web-panel/assets/{colors-DgRS7Mb2.js → colors-AecMhEAZ.js} +1 -1
  78. package/src/assets/web-panel/assets/{compact-item-CQUZCSRU.js → compact-item-Dfhm05kA.js} +1 -1
  79. package/src/assets/web-panel/assets/{createContext-DgOciZHM.js → createContext-C7gBVuRm.js} +1 -1
  80. package/src/assets/web-panel/assets/{hasIn-DEXVOypF.js → hasIn-DQarK3iI.js} +1 -1
  81. package/src/assets/web-panel/assets/icons-B2mcO3YM.js +57 -0
  82. package/src/assets/web-panel/assets/{index-DjQzFo-O.js → index-1d6L3YWV.js} +1 -1
  83. package/src/assets/web-panel/assets/{index-jLpDpunJ.js → index-5I_kEh5L.js} +1 -1
  84. package/src/assets/web-panel/assets/{index-BjpS0vcp.js → index-5P_X26-m.js} +1 -1
  85. package/src/assets/web-panel/assets/{index-nMw96bEM.js → index-78eTUfD9.js} +1 -1
  86. package/src/assets/web-panel/assets/{index-BYrBEkTv.js → index-B1XdBIuG.js} +1 -1
  87. package/src/assets/web-panel/assets/{index-BQDGHgXQ.js → index-B52lOAOU.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-Bo43zHIV.js → index-BLYMiBRw.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-D8S-7oDQ.js → index-BxjOmfVA.js} +9 -9
  90. package/src/assets/web-panel/assets/{index-D2PDzVV6.js → index-C-4d1ug2.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-D1dIizuf.js → index-C0kyGID6.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-CS3fI6_d.js → index-C7nHW5ZW.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-Ce57JGJq.js → index-CCUfW7hO.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-nIXYg_tf.js → index-CFR1Scu8.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-hfGZzUzb.js → index-CS7_x1br.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-1EDbawpk.js → index-Ch9ExDNs.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-CEt0RfAY.js → index-CiVezMja.js} +1 -1
  98. package/src/assets/web-panel/assets/index-Cp5G30tN.js +1 -0
  99. package/src/assets/web-panel/assets/index-CuPmKar9.js +1 -0
  100. package/src/assets/web-panel/assets/{index-CCuIY7Ff.js → index-CxDBoEkf.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-B-g1My7q.js → index-Cy_80Fj7.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-CH5YkJC9.js → index-D3Pxfwcc.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-_Oe8Zr99.js → index-D4_1yL1c.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-HE37tYPs.js → index-D841tepe.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-ZOpqRGzA.js → index-DWbRHjgk.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-DkBSIb9k.js → index-DX4CKtlL.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-wPVZuwWm.js → index-DdtxWGjo.js} +2 -2
  108. package/src/assets/web-panel/assets/{index-DW_-28b4.js → index-DfA9S79c.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-CetlLBjh.js → index-DfAZSzZc.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-B1USa9q3.js → index-Dkh_4r1F.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-DBRA1wFF.js → index-DtrMx44i.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-BEnMJ3rw.js → index-Dy2fLm3i.js} +1 -1
  113. package/src/assets/web-panel/assets/index-L6kKxFAO.js +21 -0
  114. package/src/assets/web-panel/assets/{index-DpL-43E_.js → index-OqY41c_z.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-D3tqZAdL.js → index-QgJGoGAK.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-o6vVX9C_.js → index-YJxjR7t9.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-CQepaPId.js → index-aHqD7CZz.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-bRI-SvZ-.js → index-d0Iy6r2J.js} +1 -1
  119. package/src/assets/web-panel/assets/index-eoNKQdFC.js +1 -0
  120. package/src/assets/web-panel/assets/{index-BMx0R9Vw.js → index-nqKLHlmq.js} +1 -1
  121. package/src/assets/web-panel/assets/{initDefaultProps-BSTz5E8D.js → initDefaultProps-CDOGbz6v.js} +1 -1
  122. package/src/assets/web-panel/assets/{markdown-xjUYbPSW.js → markdown-CsiA8-E5.js} +1 -1
  123. package/src/assets/web-panel/assets/{markdown-vYH_ziAO.js → markdown-Yo_c6Krv.js} +1 -1
  124. package/src/assets/web-panel/assets/{motion-B10pjDA-.js → motion-ChIpIzUN.js} +1 -1
  125. package/src/assets/web-panel/assets/{move-B_PFOXXn.js → move-DbH3dyN8.js} +1 -1
  126. package/src/assets/web-panel/assets/{omit-Bf31gUOR.js → omit-BJ1K-IDI.js} +1 -1
  127. package/src/assets/web-panel/assets/{pickAttrs-CTOOvnV9.js → pickAttrs-B0q7EpvV.js} +1 -1
  128. package/src/assets/web-panel/assets/{placementArrow-DfXqIy1B.js → placementArrow-D7XkOUjs.js} +1 -1
  129. package/src/assets/web-panel/assets/{responsiveObserve-BonUzZVT.js → responsiveObserve-efcdE4ju.js} +1 -1
  130. package/src/assets/web-panel/assets/{slide-DtkoQrl3.js → slide-BgAktMzM.js} +1 -1
  131. package/src/assets/web-panel/assets/{statusUtils-BJlmtjwo.js → statusUtils-CV83LVbI.js} +1 -1
  132. package/src/assets/web-panel/assets/{styleChecker-CoQ2DFN_.js → styleChecker-D1npYi6G.js} +1 -1
  133. package/src/assets/web-panel/assets/{useFlexGapSupport-BD9H_ICR.js → useFlexGapSupport-DTH3yXTD.js} +1 -1
  134. package/src/assets/web-panel/assets/{useFs-DNCH6P7V.js → useFs-BEvSw9aX.js} +1 -1
  135. package/src/assets/web-panel/assets/{vnode-CAFNU-3N.js → vnode-Duw65sZ1.js} +1 -1
  136. package/src/assets/web-panel/assets/{zoom-Beg44Pk9.js → zoom-CLMtA8PG.js} +1 -1
  137. package/src/assets/web-panel/index.html +2 -2
  138. package/src/commands/marketplace.js +286 -0
  139. package/src/commands/multisig.js +471 -0
  140. package/src/commands/p2p.js +114 -7
  141. package/src/index.js +2 -0
  142. package/src/lib/multisig-runtime.js +160 -0
  143. package/src/lib/p2p-manager.js +96 -2
  144. package/src/assets/web-panel/assets/AppLayout-GvY1b95g.js +0 -1
  145. package/src/assets/web-panel/assets/icons-B2G69bhT.js +0 -57
  146. package/src/assets/web-panel/assets/index-DLnvncqr.js +0 -1
  147. package/src/assets/web-panel/assets/index-DsmrJv8Y.js +0 -21
  148. package/src/assets/web-panel/assets/index-Rvjbak1o.js +0 -1
@@ -1,2 +1,2 @@
1
- import{_ as se,u as ie,b as Se,d as D}from"./index-D8S-7oDQ.js";import{p as Ce}from"./mtc-parser-Cc3pB9Xm.js";import{z as de,f as ze,d as Ne,R as Ae,ap as Oe,J as Ie,K as Me,k as je}from"./icons-B2G69bhT.js";import{r as u,w as Fe,L as c,Q as h,N as t,c as a,O as g,u as A,Z as Te,P as r,R as w,S as v,_ as Pe,f as Z,K as i,o as Le,M as F}from"./vendor-Ci2pTZ_t.js";import"./community-parser-CO25nZFt.js";function te(s){if(!s)return null;const n=s.trim();try{return JSON.parse(n)}catch{const o=n.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function ee(s,n=0){if(!s||typeof s!="object")return null;const o=s.did||s.id||"";if(!o)return null;const f=s.displayName??s.display_name??s.name??"",x=s.isDefault===!0||s.is_default===1||s.is_default===!0||s.default===!0,_=s.publicKey??s.public_key??"",d=s.createdAt??s.created_at??s.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:f||"",publicKey:_||"",isDefault:!!x,createdAt:d||"",method:y,raw:s.document?s:null,_idx:n}}function Ke(s){const n=te(s);return Array.isArray(n)?n.map(ee).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(ee).filter(Boolean):Je(s||"")}function Je(s){const n=(s||"").split(`
2
- `),o=[];let f=null;for(const x of n){const _=x.trim();if(!_||_.startsWith("─")||_.startsWith("="))continue;const d=_.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(d&&/^did:/.test(_)){f&&o.push(f);const y=d[1],O=_.match(/\(([^)]+)\)/),T=/\[default\]|默认|\*/.test(_);f={key:y,did:y,displayName:O?O[1]:"",publicKey:"",isDefault:T,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(f){const y=_.match(/created\s*[::]\s*(.+)$/i);y&&(f.createdAt=y[1].trim())}}return f&&o.push(f),o}function Ue(s){const n=te(s);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=ee(n);return o?(o.document=n.document||null,o):null}function Ve(s){const n=te(s);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const f=(s||"").match(/Signature[::]\s*([a-f0-9]+)/i);return f?{did:"",message:"",signature:f[1]}:null}const Be={style:{"margin-left":"8px"}},He={class:"mono"},Re={class:"mono"},Ee={class:"mono"},We={class:"raw-pre"},Ze={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(s){const n=s,o=ie(),f=u(n.defaultEnvelopePath),x=u(n.defaultLandmarkPath),_=u(!1),d=u(null),y=u(""),O=Z(()=>n.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");Fe(()=>n.open,b=>{b&&(f.value=n.defaultEnvelopePath||f.value,x.value=n.defaultLandmarkPath||x.value,d.value=null,y.value="")});async function T(){_.value=!0,d.value=null,y.value="";try{const b=f.value.trim().replace(/"/g,'\\"'),k=x.value.trim().replace(/"/g,'\\"'),{output:I}=await o.execute(`mtc verify "${b}" --landmark "${k}" --json`,12e3),z=Ce(I);if(!z.raw){y.value="验证命令未返回 JSON。请检查路径是否正确。";return}d.value=z}catch(b){y.value=`验证失败: ${b?.message||b}`}finally{_.value=!1}}return(b,k)=>{const I=i("a-alert"),z=i("a-input"),M=i("a-form-item"),$=i("a-button"),P=i("a-form"),U=i("a-divider"),N=i("a-tag"),C=i("a-descriptions-item"),q=i("a-descriptions"),V=i("a-collapse-panel"),Q=i("a-collapse"),L=i("a-card"),G=i("a-drawer");return c(),h(G,{open:s.open,title:s.title,width:560,placement:"right","onUpdate:open":k[2]||(k[2]=K=>b.$emit("update:open",K))},{default:t(()=>[a(I,{type:"info","show-icon":"",message:O.value,style:{"margin-bottom":"16px"}},null,8,["message"]),a(P,{layout:"vertical"},{default:t(()=>[a(M,{label:"Envelope 文件路径"},{default:t(()=>[a(z,{value:f.value,"onUpdate:value":k[0]||(k[0]=K=>f.value=K),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,{label:"Landmark 文件路径"},{default:t(()=>[a(z,{value:x.value,"onUpdate:value":k[1]||(k[1]=K=>x.value=K),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,null,{default:t(()=>[a($,{type:"primary",loading:_.value,disabled:!f.value||!x.value,onClick:T},{icon:t(()=>[a(A(de))]),default:t(()=>[k[3]||(k[3]=g(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),a(U),d.value?(c(),h(L,{key:0,class:Te(["result-card",d.value.ok?"pass":"fail"]),size:"small"},{title:t(()=>[(c(),h(Pe(d.value.ok?A(ze):A(Ne)))),w("span",Be,r(d.value.ok?"验证通过":"验证失败"),1)]),default:t(()=>[a(q,{column:1,size:"small",bordered:""},{default:t(()=>[a(C,{label:"结果"},{default:t(()=>[a(N,{color:d.value.ok?"green":"red"},{default:t(()=>[g(r(d.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!d.value.ok&&d.value.code?(c(),h(C,{key:0,label:"错误码"},{default:t(()=>[w("span",He,r(d.value.code),1),d.value.recoverable?(c(),h(N,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:t(()=>[...k[4]||(k[4]=[g("可恢复",-1)])]),_:1})):v("",!0)]),_:1})):v("",!0),d.value.leaf?.subject?(c(),h(C,{key:1,label:"Subject"},{default:t(()=>[w("span",Re,r(d.value.leaf.subject),1)]),_:1})):v("",!0),d.value.leaf?.kind?(c(),h(C,{key:2,label:"Kind"},{default:t(()=>[a(N,null,{default:t(()=>[g(r(d.value.leaf.kind),1)]),_:1})]),_:1})):v("",!0),d.value.treeHead?.tree_size?(c(),h(C,{key:3,label:"Tree size"},{default:t(()=>[g(r(d.value.treeHead.tree_size),1)]),_:1})):v("",!0),d.value.treeHead?.issuer?(c(),h(C,{key:4,label:"Issuer"},{default:t(()=>[w("span",Ee,r(d.value.treeHead.issuer),1)]),_:1})):v("",!0)]),_:1}),d.value.raw?(c(),h(Q,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:t(()=>[a(V,{key:"raw",header:"原始 JSON 输出"},{default:t(()=>[w("pre",We,r(JSON.stringify(d.value.raw,null,2)),1)]),_:1})]),_:1})):v("",!0)]),_:1},8,["class"])):v("",!0),y.value?(c(),h(I,{key:1,type:"error",message:y.value,style:{"margin-top":"12px"}},null,8,["message"])):v("",!0)]),_:1},8,["open","title"])}}},qe=se(Ze,[["__scopeId","data-v-ee4997fa"]]),Qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ge={class:"page-title"},Xe={class:"page-sub"},Ye={key:1,style:{"text-align":"center",padding:"60px"}},et={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-primary)"}},at={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},lt={key:0,style:{"margin-top":"12px"}},ot={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},nt={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},st={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},it={key:0,style:{"margin-top":"16px"}},dt={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},rt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},ut={key:0,style:{"margin-top":"12px"}},ct={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},pt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}},mt={__name:"DID",setup(s){const n=ie(),{t:o}=Se(),f=u(!1),x=u(!1),_=u(!1),d=u(!1),y=u(""),O=u(""),T=u(!1),b=u([]),k=u(!1),I=u(!1),z=u(!1),M=u(""),$=u(null),P=u(""),U=u(""),N=u(""),C=u(null),q=Z(()=>[{title:o("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:o("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:o("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:o("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:o("did.cols.default"),key:"isDefault",width:"90px"},{title:o("did.cols.action"),key:"action",width:"280px"}]),V=Z(()=>{const e=b.value.find(p=>p.isDefault);if(!e)return o("did.stats.unsetDefault");const l=e.did;return l.length>24?l.slice(0,12)+"..."+l.slice(-8):l}),Q=Z(()=>{const e=new Set(b.value.map(l=>l.method).filter(Boolean));return e.size===0?o("did.stats.noMethod"):e.size===1?[...e][0]:[...e].join(", ")});async function L(){x.value=!0;try{const{output:e}=await n.execute("did list --json",15e3);b.value=Ke(e)}catch(e){D.error(o("did.msg.loadFailed")+": "+e.message),b.value=[]}finally{x.value=!1}}async function G(){_.value=!0;try{const e=M.value.trim(),l=e?`did create --name "${e.replace(/"/g,'\\"')}" --json`:"did create --json",{output:p}=await n.execute(l,2e4);/error|失败/i.test(p)&&!p.includes('"did"')?D.error(o("did.msg.createFailed")+": "+p.slice(0,120)):(D.success(o("did.msg.createSuccess")),k.value=!1,M.value="",await L())}catch(e){D.error(o("did.msg.createFailed")+": "+e.message)}finally{_.value=!1}}async function K(e){y.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did set-default ${e.did}`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.setDefaultFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.setDefaultSuccess")),await L())}catch(l){D.error(o("did.msg.setDefaultFailed")+": "+l.message)}finally{y.value=""}}async function re(e){O.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did delete ${e.did} --force`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.deleteFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.deleteSuccess")),await L())}catch(l){D.error(o("did.msg.deleteFailed")+": "+l.message)}finally{O.value=""}}async function ue(e){if($.value={...e},P.value="",I.value=!0,!e.publicKey)try{const{output:l}=await n.execute(`did show ${e.did} --json`,1e4),p=Ue(l);p&&($.value={...$.value,...p})}catch{}}async function ce(e){T.value=!0;try{const{output:l}=await n.execute(`did resolve ${e.did}`,1e4);try{P.value=JSON.stringify(JSON.parse(l.trim()),null,2)}catch{P.value=l.trim()}}catch(l){D.error(o("did.msg.loadDocFailed")+": "+l.message)}finally{T.value=!1}}function pe(e){U.value=e.did,N.value="",C.value=null,z.value=!0}const X=u(!1),ae=u("MTC 包含证明"),le=u("");function me(e){return e?e.length<=24?e:`${e.slice(0,16)}…${e.slice(-6)}`:""}function fe(e){ae.value=`MTC 包含证明 · ${me(e.did)}`,le.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",X.value=!0}async function ve(){if(!N.value.trim()){D.warning(o("did.msg.signEmpty"));return}d.value=!0,C.value=null;try{const l=`did sign "${N.value.replace(/"/g,'\\"')}" --did ${U.value} --json`,{output:p,exitCode:B}=await n.execute(l,15e3),j=Ve(p);j&&j.signature?(C.value=j,D.success(o("did.msg.signSuccess"))):D.error(o("did.msg.signFailed")+": "+(p||`exit ${B}`).slice(0,120))}catch(e){D.error(o("did.msg.signFailed")+": "+e.message)}finally{d.value=!1}}return Le(()=>{L()}),(e,l)=>{const p=i("a-button"),B=i("a-space"),j=i("a-statistic"),H=i("a-card"),R=i("a-col"),ye=i("a-row"),_e=i("a-alert"),ge=i("a-spin"),E=i("a-tag"),be=i("a-tooltip"),ke=i("a-popconfirm"),he=i("a-empty"),$e=i("a-table"),we=i("a-input"),oe=i("a-form-item"),ne=i("a-form"),Y=i("a-modal"),J=i("a-descriptions-item"),xe=i("a-descriptions"),De=i("a-textarea");return c(),F("div",null,[w("div",Qe,[w("div",null,[w("h2",Ge,r(e.$t("did.title")),1),w("p",Xe,r(e.$t("did.subtitle")),1)]),a(B,null,{default:t(()=>[a(p,{loading:x.value,onClick:L},{icon:t(()=>[a(A(Ae))]),default:t(()=>[g(" "+r(e.$t("did.refresh")),1)]),_:1},8,["loading"]),a(p,{type:"primary",onClick:l[0]||(l[0]=m=>k.value=!0)},{icon:t(()=>[a(A(Oe))]),default:t(()=>[g(" "+r(e.$t("did.create")),1)]),_:1})]),_:1})]),a(ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.count"),value:b.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(A(Ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.default"),value:V.value,"value-style":{color:V.value!==e.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.method"),value:Q.value,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.signable"),value:b.value.length>0?e.$t("did.stats.yes"):e.$t("did.stats.no"),"value-style":{color:b.value.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:t(()=>[a(A(Me))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),f.value?v("",!0):(c(),h(_e,{key:0,message:e.$t("did.webOnly.message"),description:e.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),x.value?(c(),F("div",Ye,[a(ge,{size:"large"})])):(c(),h($e,{key:2,columns:q.value,"data-source":b.value,pagination:{pageSize:20,showTotal:m=>e.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:t(({column:m,record:S})=>[m.key==="did"?(c(),F("span",et,r(S.did),1)):v("",!0),m.key==="displayName"?(c(),F("span",tt,r(S.displayName||"-"),1)):v("",!0),m.key==="method"?(c(),h(E,{key:2,color:"blue"},{default:t(()=>[g(r(S.method),1)]),_:2},1024)):v("",!0),m.key==="createdAt"?(c(),F("span",at,r(S.createdAt||"-"),1)):v("",!0),m.key==="isDefault"?(c(),h(E,{key:4,color:S.isDefault?"green":"default"},{default:t(()=>[g(r(S.isDefault?e.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):v("",!0),m.key==="action"?(c(),h(B,{key:5,size:"small"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>ue(S)},{default:t(()=>[g(r(e.$t("did.actions.details")),1)]),_:1},8,["onClick"]),a(p,{size:"small",type:"link",onClick:W=>pe(S)},{default:t(()=>[g(r(e.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),a(be,{title:"MTC 包含证明"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>fe(S)},{default:t(()=>[a(A(de))]),_:1},8,["onClick"])]),_:2},1024),S.isDefault?v("",!0):(c(),h(p,{key:0,size:"small",type:"link",loading:y.value===S.did,onClick:W=>K(S)},{default:t(()=>[g(r(e.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),a(ke,{title:e.$t("did.deleteConfirm.title"),"ok-text":e.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("did.deleteConfirm.cancel"),onConfirm:W=>re(S)},{default:t(()=>[a(p,{size:"small",type:"link",danger:"",loading:O.value===S.did},{default:t(()=>[g(r(e.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):v("",!0)]),emptyText:t(()=>[a(he,{description:e.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(Y,{open:k.value,"onUpdate:open":l[2]||(l[2]=m=>k.value=m),title:e.$t("did.create_modal.title"),"confirm-loading":_.value,onOk:G,"ok-text":e.$t("did.create_modal.ok"),"cancel-text":e.$t("did.create_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.create_modal.nameLabel")},{default:t(()=>[a(we,{value:M.value,"onUpdate:value":l[1]||(l[1]=m=>M.value=m),placeholder:e.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:I.value,"onUpdate:open":l[4]||(l[4]=m=>I.value=m),title:e.$t("did.details.title",{label:$.value?.displayName||$.value?.did?.slice(0,24)||""}),width:720,footer:null},{default:t(()=>[$.value?(c(),F("div",lt,[a(xe,{column:1,bordered:"",size:"small"},{default:t(()=>[a(J,{label:e.$t("did.details.did")},{default:t(()=>[w("span",ot,r($.value.did),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.name")},{default:t(()=>[g(r($.value.displayName||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.method")},{default:t(()=>[a(E,{color:"blue"},{default:t(()=>[g(r($.value.method),1)]),_:1})]),_:1},8,["label"]),a(J,{label:e.$t("did.details.default")},{default:t(()=>[a(E,{color:$.value.isDefault?"green":"default"},{default:t(()=>[g(r($.value.isDefault?e.$t("did.details.yes"):e.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("did.details.createdAt")},{default:t(()=>[g(r($.value.createdAt||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.publicKey")},{default:t(()=>[w("span",nt,r($.value.publicKey||e.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",st,[a(p,{loading:T.value,onClick:l[3]||(l[3]=m=>ce($.value))},{icon:t(()=>[a(A(je))]),default:t(()=>[g(" "+r(e.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),P.value?(c(),F("div",it,[w("p",dt,r(e.$t("did.details.docHeader")),1),w("pre",rt,r(P.value),1)])):v("",!0)])):v("",!0)]),_:1},8,["open","title"]),a(Y,{open:z.value,"onUpdate:open":l[6]||(l[6]=m=>z.value=m),title:e.$t("did.sign_modal.title",{label:U.value?.slice(0,28)||e.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":d.value,onOk:ve,"ok-text":e.$t("did.sign_modal.ok"),"cancel-text":e.$t("did.sign_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.sign_modal.messageLabel"),required:""},{default:t(()=>[a(De,{value:N.value,"onUpdate:value":l[5]||(l[5]=m=>N.value=m),placeholder:e.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),C.value?(c(),F("div",ut,[w("p",ct,r(e.$t("did.sign_modal.resultHeader")),1),w("pre",pt,r(C.value.signature),1)])):v("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(qe,{open:X.value,"onUpdate:open":l[7]||(l[7]=m=>X.value=m),title:ae.value,hint:le.value},null,8,["open","title","hint"])])}}},bt=se(mt,[["__scopeId","data-v-b17b31f4"]]);export{bt as default};
1
+ import{_ as se,u as ie,b as Se,d as D}from"./index-BxjOmfVA.js";import{p as Ce}from"./mtc-parser-Cc3pB9Xm.js";import{z as de,f as ze,d as Ne,R as Oe,aq as Ae,O as Ie,K as Me,k as je}from"./icons-B2mcO3YM.js";import{r as u,w as Fe,L as c,Q as h,N as t,c as a,O as g,u as O,Z as Te,P as r,R as w,S as v,_ as Pe,f as q,K as i,o as Le,M as F}from"./vendor-Ci2pTZ_t.js";import"./community-parser-CO25nZFt.js";function te(s){if(!s)return null;const n=s.trim();try{return JSON.parse(n)}catch{const o=n.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function ee(s,n=0){if(!s||typeof s!="object")return null;const o=s.did||s.id||"";if(!o)return null;const f=s.displayName??s.display_name??s.name??"",x=s.isDefault===!0||s.is_default===1||s.is_default===!0||s.default===!0,_=s.publicKey??s.public_key??"",d=s.createdAt??s.created_at??s.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:f||"",publicKey:_||"",isDefault:!!x,createdAt:d||"",method:y,raw:s.document?s:null,_idx:n}}function Ke(s){const n=te(s);return Array.isArray(n)?n.map(ee).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(ee).filter(Boolean):Je(s||"")}function Je(s){const n=(s||"").split(`
2
+ `),o=[];let f=null;for(const x of n){const _=x.trim();if(!_||_.startsWith("─")||_.startsWith("="))continue;const d=_.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(d&&/^did:/.test(_)){f&&o.push(f);const y=d[1],A=_.match(/\(([^)]+)\)/),T=/\[default\]|默认|\*/.test(_);f={key:y,did:y,displayName:A?A[1]:"",publicKey:"",isDefault:T,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(f){const y=_.match(/created\s*[::]\s*(.+)$/i);y&&(f.createdAt=y[1].trim())}}return f&&o.push(f),o}function Ue(s){const n=te(s);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=ee(n);return o?(o.document=n.document||null,o):null}function Ve(s){const n=te(s);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const f=(s||"").match(/Signature[::]\s*([a-f0-9]+)/i);return f?{did:"",message:"",signature:f[1]}:null}const Be={style:{"margin-left":"8px"}},He={class:"mono"},Re={class:"mono"},Ee={class:"mono"},We={class:"raw-pre"},qe={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(s){const n=s,o=ie(),f=u(n.defaultEnvelopePath),x=u(n.defaultLandmarkPath),_=u(!1),d=u(null),y=u(""),A=q(()=>n.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");Fe(()=>n.open,b=>{b&&(f.value=n.defaultEnvelopePath||f.value,x.value=n.defaultLandmarkPath||x.value,d.value=null,y.value="")});async function T(){_.value=!0,d.value=null,y.value="";try{const b=f.value.trim().replace(/"/g,'\\"'),k=x.value.trim().replace(/"/g,'\\"'),{output:I}=await o.execute(`mtc verify "${b}" --landmark "${k}" --json`,12e3),z=Ce(I);if(!z.raw){y.value="验证命令未返回 JSON。请检查路径是否正确。";return}d.value=z}catch(b){y.value=`验证失败: ${b?.message||b}`}finally{_.value=!1}}return(b,k)=>{const I=i("a-alert"),z=i("a-input"),M=i("a-form-item"),$=i("a-button"),P=i("a-form"),U=i("a-divider"),N=i("a-tag"),C=i("a-descriptions-item"),Z=i("a-descriptions"),V=i("a-collapse-panel"),Q=i("a-collapse"),L=i("a-card"),G=i("a-drawer");return c(),h(G,{open:s.open,title:s.title,width:560,placement:"right","onUpdate:open":k[2]||(k[2]=K=>b.$emit("update:open",K))},{default:t(()=>[a(I,{type:"info","show-icon":"",message:A.value,style:{"margin-bottom":"16px"}},null,8,["message"]),a(P,{layout:"vertical"},{default:t(()=>[a(M,{label:"Envelope 文件路径"},{default:t(()=>[a(z,{value:f.value,"onUpdate:value":k[0]||(k[0]=K=>f.value=K),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,{label:"Landmark 文件路径"},{default:t(()=>[a(z,{value:x.value,"onUpdate:value":k[1]||(k[1]=K=>x.value=K),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,null,{default:t(()=>[a($,{type:"primary",loading:_.value,disabled:!f.value||!x.value,onClick:T},{icon:t(()=>[a(O(de))]),default:t(()=>[k[3]||(k[3]=g(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),a(U),d.value?(c(),h(L,{key:0,class:Te(["result-card",d.value.ok?"pass":"fail"]),size:"small"},{title:t(()=>[(c(),h(Pe(d.value.ok?O(ze):O(Ne)))),w("span",Be,r(d.value.ok?"验证通过":"验证失败"),1)]),default:t(()=>[a(Z,{column:1,size:"small",bordered:""},{default:t(()=>[a(C,{label:"结果"},{default:t(()=>[a(N,{color:d.value.ok?"green":"red"},{default:t(()=>[g(r(d.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!d.value.ok&&d.value.code?(c(),h(C,{key:0,label:"错误码"},{default:t(()=>[w("span",He,r(d.value.code),1),d.value.recoverable?(c(),h(N,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:t(()=>[...k[4]||(k[4]=[g("可恢复",-1)])]),_:1})):v("",!0)]),_:1})):v("",!0),d.value.leaf?.subject?(c(),h(C,{key:1,label:"Subject"},{default:t(()=>[w("span",Re,r(d.value.leaf.subject),1)]),_:1})):v("",!0),d.value.leaf?.kind?(c(),h(C,{key:2,label:"Kind"},{default:t(()=>[a(N,null,{default:t(()=>[g(r(d.value.leaf.kind),1)]),_:1})]),_:1})):v("",!0),d.value.treeHead?.tree_size?(c(),h(C,{key:3,label:"Tree size"},{default:t(()=>[g(r(d.value.treeHead.tree_size),1)]),_:1})):v("",!0),d.value.treeHead?.issuer?(c(),h(C,{key:4,label:"Issuer"},{default:t(()=>[w("span",Ee,r(d.value.treeHead.issuer),1)]),_:1})):v("",!0)]),_:1}),d.value.raw?(c(),h(Q,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:t(()=>[a(V,{key:"raw",header:"原始 JSON 输出"},{default:t(()=>[w("pre",We,r(JSON.stringify(d.value.raw,null,2)),1)]),_:1})]),_:1})):v("",!0)]),_:1},8,["class"])):v("",!0),y.value?(c(),h(I,{key:1,type:"error",message:y.value,style:{"margin-top":"12px"}},null,8,["message"])):v("",!0)]),_:1},8,["open","title"])}}},Ze=se(qe,[["__scopeId","data-v-ee4997fa"]]),Qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ge={class:"page-title"},Xe={class:"page-sub"},Ye={key:1,style:{"text-align":"center",padding:"60px"}},et={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-primary)"}},at={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},lt={key:0,style:{"margin-top":"12px"}},ot={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},nt={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},st={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},it={key:0,style:{"margin-top":"16px"}},dt={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},rt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},ut={key:0,style:{"margin-top":"12px"}},ct={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},pt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}},mt={__name:"DID",setup(s){const n=ie(),{t:o}=Se(),f=u(!1),x=u(!1),_=u(!1),d=u(!1),y=u(""),A=u(""),T=u(!1),b=u([]),k=u(!1),I=u(!1),z=u(!1),M=u(""),$=u(null),P=u(""),U=u(""),N=u(""),C=u(null),Z=q(()=>[{title:o("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:o("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:o("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:o("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:o("did.cols.default"),key:"isDefault",width:"90px"},{title:o("did.cols.action"),key:"action",width:"280px"}]),V=q(()=>{const e=b.value.find(p=>p.isDefault);if(!e)return o("did.stats.unsetDefault");const l=e.did;return l.length>24?l.slice(0,12)+"..."+l.slice(-8):l}),Q=q(()=>{const e=new Set(b.value.map(l=>l.method).filter(Boolean));return e.size===0?o("did.stats.noMethod"):e.size===1?[...e][0]:[...e].join(", ")});async function L(){x.value=!0;try{const{output:e}=await n.execute("did list --json",15e3);b.value=Ke(e)}catch(e){D.error(o("did.msg.loadFailed")+": "+e.message),b.value=[]}finally{x.value=!1}}async function G(){_.value=!0;try{const e=M.value.trim(),l=e?`did create --name "${e.replace(/"/g,'\\"')}" --json`:"did create --json",{output:p}=await n.execute(l,2e4);/error|失败/i.test(p)&&!p.includes('"did"')?D.error(o("did.msg.createFailed")+": "+p.slice(0,120)):(D.success(o("did.msg.createSuccess")),k.value=!1,M.value="",await L())}catch(e){D.error(o("did.msg.createFailed")+": "+e.message)}finally{_.value=!1}}async function K(e){y.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did set-default ${e.did}`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.setDefaultFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.setDefaultSuccess")),await L())}catch(l){D.error(o("did.msg.setDefaultFailed")+": "+l.message)}finally{y.value=""}}async function re(e){A.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did delete ${e.did} --force`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.deleteFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.deleteSuccess")),await L())}catch(l){D.error(o("did.msg.deleteFailed")+": "+l.message)}finally{A.value=""}}async function ue(e){if($.value={...e},P.value="",I.value=!0,!e.publicKey)try{const{output:l}=await n.execute(`did show ${e.did} --json`,1e4),p=Ue(l);p&&($.value={...$.value,...p})}catch{}}async function ce(e){T.value=!0;try{const{output:l}=await n.execute(`did resolve ${e.did}`,1e4);try{P.value=JSON.stringify(JSON.parse(l.trim()),null,2)}catch{P.value=l.trim()}}catch(l){D.error(o("did.msg.loadDocFailed")+": "+l.message)}finally{T.value=!1}}function pe(e){U.value=e.did,N.value="",C.value=null,z.value=!0}const X=u(!1),ae=u("MTC 包含证明"),le=u("");function me(e){return e?e.length<=24?e:`${e.slice(0,16)}…${e.slice(-6)}`:""}function fe(e){ae.value=`MTC 包含证明 · ${me(e.did)}`,le.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",X.value=!0}async function ve(){if(!N.value.trim()){D.warning(o("did.msg.signEmpty"));return}d.value=!0,C.value=null;try{const l=`did sign "${N.value.replace(/"/g,'\\"')}" --did ${U.value} --json`,{output:p,exitCode:B}=await n.execute(l,15e3),j=Ve(p);j&&j.signature?(C.value=j,D.success(o("did.msg.signSuccess"))):D.error(o("did.msg.signFailed")+": "+(p||`exit ${B}`).slice(0,120))}catch(e){D.error(o("did.msg.signFailed")+": "+e.message)}finally{d.value=!1}}return Le(()=>{L()}),(e,l)=>{const p=i("a-button"),B=i("a-space"),j=i("a-statistic"),H=i("a-card"),R=i("a-col"),ye=i("a-row"),_e=i("a-alert"),ge=i("a-spin"),E=i("a-tag"),be=i("a-tooltip"),ke=i("a-popconfirm"),he=i("a-empty"),$e=i("a-table"),we=i("a-input"),oe=i("a-form-item"),ne=i("a-form"),Y=i("a-modal"),J=i("a-descriptions-item"),xe=i("a-descriptions"),De=i("a-textarea");return c(),F("div",null,[w("div",Qe,[w("div",null,[w("h2",Ge,r(e.$t("did.title")),1),w("p",Xe,r(e.$t("did.subtitle")),1)]),a(B,null,{default:t(()=>[a(p,{loading:x.value,onClick:L},{icon:t(()=>[a(O(Oe))]),default:t(()=>[g(" "+r(e.$t("did.refresh")),1)]),_:1},8,["loading"]),a(p,{type:"primary",onClick:l[0]||(l[0]=m=>k.value=!0)},{icon:t(()=>[a(O(Ae))]),default:t(()=>[g(" "+r(e.$t("did.create")),1)]),_:1})]),_:1})]),a(ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.count"),value:b.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(O(Ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.default"),value:V.value,"value-style":{color:V.value!==e.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.method"),value:Q.value,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.signable"),value:b.value.length>0?e.$t("did.stats.yes"):e.$t("did.stats.no"),"value-style":{color:b.value.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:t(()=>[a(O(Me))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),f.value?v("",!0):(c(),h(_e,{key:0,message:e.$t("did.webOnly.message"),description:e.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),x.value?(c(),F("div",Ye,[a(ge,{size:"large"})])):(c(),h($e,{key:2,columns:Z.value,"data-source":b.value,pagination:{pageSize:20,showTotal:m=>e.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:t(({column:m,record:S})=>[m.key==="did"?(c(),F("span",et,r(S.did),1)):v("",!0),m.key==="displayName"?(c(),F("span",tt,r(S.displayName||"-"),1)):v("",!0),m.key==="method"?(c(),h(E,{key:2,color:"blue"},{default:t(()=>[g(r(S.method),1)]),_:2},1024)):v("",!0),m.key==="createdAt"?(c(),F("span",at,r(S.createdAt||"-"),1)):v("",!0),m.key==="isDefault"?(c(),h(E,{key:4,color:S.isDefault?"green":"default"},{default:t(()=>[g(r(S.isDefault?e.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):v("",!0),m.key==="action"?(c(),h(B,{key:5,size:"small"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>ue(S)},{default:t(()=>[g(r(e.$t("did.actions.details")),1)]),_:1},8,["onClick"]),a(p,{size:"small",type:"link",onClick:W=>pe(S)},{default:t(()=>[g(r(e.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),a(be,{title:"MTC 包含证明"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>fe(S)},{default:t(()=>[a(O(de))]),_:1},8,["onClick"])]),_:2},1024),S.isDefault?v("",!0):(c(),h(p,{key:0,size:"small",type:"link",loading:y.value===S.did,onClick:W=>K(S)},{default:t(()=>[g(r(e.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),a(ke,{title:e.$t("did.deleteConfirm.title"),"ok-text":e.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("did.deleteConfirm.cancel"),onConfirm:W=>re(S)},{default:t(()=>[a(p,{size:"small",type:"link",danger:"",loading:A.value===S.did},{default:t(()=>[g(r(e.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):v("",!0)]),emptyText:t(()=>[a(he,{description:e.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(Y,{open:k.value,"onUpdate:open":l[2]||(l[2]=m=>k.value=m),title:e.$t("did.create_modal.title"),"confirm-loading":_.value,onOk:G,"ok-text":e.$t("did.create_modal.ok"),"cancel-text":e.$t("did.create_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.create_modal.nameLabel")},{default:t(()=>[a(we,{value:M.value,"onUpdate:value":l[1]||(l[1]=m=>M.value=m),placeholder:e.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:I.value,"onUpdate:open":l[4]||(l[4]=m=>I.value=m),title:e.$t("did.details.title",{label:$.value?.displayName||$.value?.did?.slice(0,24)||""}),width:720,footer:null},{default:t(()=>[$.value?(c(),F("div",lt,[a(xe,{column:1,bordered:"",size:"small"},{default:t(()=>[a(J,{label:e.$t("did.details.did")},{default:t(()=>[w("span",ot,r($.value.did),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.name")},{default:t(()=>[g(r($.value.displayName||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.method")},{default:t(()=>[a(E,{color:"blue"},{default:t(()=>[g(r($.value.method),1)]),_:1})]),_:1},8,["label"]),a(J,{label:e.$t("did.details.default")},{default:t(()=>[a(E,{color:$.value.isDefault?"green":"default"},{default:t(()=>[g(r($.value.isDefault?e.$t("did.details.yes"):e.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("did.details.createdAt")},{default:t(()=>[g(r($.value.createdAt||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.publicKey")},{default:t(()=>[w("span",nt,r($.value.publicKey||e.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",st,[a(p,{loading:T.value,onClick:l[3]||(l[3]=m=>ce($.value))},{icon:t(()=>[a(O(je))]),default:t(()=>[g(" "+r(e.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),P.value?(c(),F("div",it,[w("p",dt,r(e.$t("did.details.docHeader")),1),w("pre",rt,r(P.value),1)])):v("",!0)])):v("",!0)]),_:1},8,["open","title"]),a(Y,{open:z.value,"onUpdate:open":l[6]||(l[6]=m=>z.value=m),title:e.$t("did.sign_modal.title",{label:U.value?.slice(0,28)||e.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":d.value,onOk:ve,"ok-text":e.$t("did.sign_modal.ok"),"cancel-text":e.$t("did.sign_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.sign_modal.messageLabel"),required:""},{default:t(()=>[a(De,{value:N.value,"onUpdate:value":l[5]||(l[5]=m=>N.value=m),placeholder:e.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),C.value?(c(),F("div",ut,[w("p",ct,r(e.$t("did.sign_modal.resultHeader")),1),w("pre",pt,r(C.value.signature),1)])):v("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Ze,{open:X.value,"onUpdate:open":l[7]||(l[7]=m=>X.value=m),title:ae.value,hint:le.value},null,8,["open","title","hint"])])}}},bt=se(mt,[["__scopeId","data-v-b17b31f4"]]);export{bt as default};
@@ -1,3 +1,3 @@
1
- import{E as ae,r as M,o as oe,x as le,M as p,R as o,P as a,u as d,c as t,N as s,Q as U,S as W,f as S,K as C,I as re,L as u,O as h,$ as K,F as A,Y as F}from"./vendor-Ci2pTZ_t.js";import{u as G,_ as ne}from"./index-D8S-7oDQ.js";import{u as de}from"./chat-CKAWhBMH.js";import{s as ie}from"./community-parser-CO25nZFt.js";import{R as ue,F as ce,aa as Q,l as Y,M as X,a9 as ve,ab as me,k as Z,ac as pe,m as he}from"./icons-B2G69bhT.js";function fe(T){const R=ie(T);if(!R)return null;try{return JSON.parse(R)}catch{}const i=R.match(/\[[\s\S]*\]|\{[\s\S]*\}/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}function be(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const ye=ae("dashboard",()=>{const T=M(!1),R=M(!1),i=M({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),q=M(""),y=M(be()),v=M({windowPreset:"all",provider:"",model:""});let _=null;function B(r=G()){_||(_=r.onRuntimeEvent(m=>{m.type==="compression:summary"?P(m.payload?.summary||{}):m.type==="session:start"?i.value.sessionCount=(i.value.sessionCount||0)+1:m.type==="session:end"&&(i.value.sessionCount=Math.max(0,(i.value.sessionCount||0)-1))}))}function H(){_&&(_(),_=null)}function P(r){y.value={...y.value,...r||{}}}function V(r){return r==="1h"?3600*1e3:r==="24h"?1440*60*1e3:r==="7d"?10080*60*1e3:null}function j(r){i.value.appRunning=r.includes("Desktop app running"),i.value.setupDone=r.includes("Setup completed");const m=r.match(/Edition:\s+(\S+)/i);m&&(i.value.edition=m[1]);const $=r.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if($)i.value.activeLlm=$[1],i.value.activeModel=$[2];else{const b=r.match(/LLM:\s+(\S+)/i);b&&(i.value.activeLlm=b[1])}}async function f(){const r=G();B(r),R.value=!0;const m={type:"compression-stats",windowMs:V(v.value.windowPreset)};v.value.provider&&(m.provider=v.value.provider),v.value.model&&(m.model=v.value.model);try{const $=await r.sendRaw(m,1e4);P($.summary||{})}catch{}finally{R.value=!1}}async function g(){const r=G();B(r),T.value=!0,i.value.wsStatus=r.status,q.value="";try{const[m,$]=await Promise.allSettled([r.execute("status",15e3),r.listSessions()]);if(m.status==="fulfilled"){const b=m.value.output;q.value=b.split(`
1
+ import{E as ae,r as M,o as oe,x as le,M as p,R as o,P as a,u as d,c as t,N as s,Q as U,S as W,f as S,K as C,I as re,L as u,O as h,$ as K,F as A,Y as F}from"./vendor-Ci2pTZ_t.js";import{u as G,_ as ne}from"./index-BxjOmfVA.js";import{u as de}from"./chat-Z4UoBAeF.js";import{s as ie}from"./community-parser-CO25nZFt.js";import{R as ue,F as ce,ab as Q,l as Y,M as X,aa as ve,ac as me,k as Z,ad as pe,m as he}from"./icons-B2mcO3YM.js";function fe(T){const R=ie(T);if(!R)return null;try{return JSON.parse(R)}catch{}const i=R.match(/\[[\s\S]*\]|\{[\s\S]*\}/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}function be(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const ye=ae("dashboard",()=>{const T=M(!1),R=M(!1),i=M({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),q=M(""),y=M(be()),v=M({windowPreset:"all",provider:"",model:""});let _=null;function B(r=G()){_||(_=r.onRuntimeEvent(m=>{m.type==="compression:summary"?P(m.payload?.summary||{}):m.type==="session:start"?i.value.sessionCount=(i.value.sessionCount||0)+1:m.type==="session:end"&&(i.value.sessionCount=Math.max(0,(i.value.sessionCount||0)-1))}))}function H(){_&&(_(),_=null)}function P(r){y.value={...y.value,...r||{}}}function V(r){return r==="1h"?3600*1e3:r==="24h"?1440*60*1e3:r==="7d"?10080*60*1e3:null}function j(r){i.value.appRunning=r.includes("Desktop app running"),i.value.setupDone=r.includes("Setup completed");const m=r.match(/Edition:\s+(\S+)/i);m&&(i.value.edition=m[1]);const $=r.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if($)i.value.activeLlm=$[1],i.value.activeModel=$[2];else{const b=r.match(/LLM:\s+(\S+)/i);b&&(i.value.activeLlm=b[1])}}async function f(){const r=G();B(r),R.value=!0;const m={type:"compression-stats",windowMs:V(v.value.windowPreset)};v.value.provider&&(m.provider=v.value.provider),v.value.model&&(m.model=v.value.model);try{const $=await r.sendRaw(m,1e4);P($.summary||{})}catch{}finally{R.value=!1}}async function g(){const r=G();B(r),T.value=!0,i.value.wsStatus=r.status,q.value="";try{const[m,$]=await Promise.allSettled([r.execute("status",15e3),r.listSessions()]);if(m.status==="fulfilled"){const b=m.value.output;q.value=b.split(`
2
2
  `).slice(0,20).join(`
3
- `),j(b)}$.status==="fulfilled"&&(i.value.sessionCount=$.value.length),Promise.allSettled([r.execute("skill sources --json",15e3),r.execute("llm providers",15e3)]).then(([b,L])=>{if(b.status==="fulfilled"){const w=fe(b.value.output);Array.isArray(w)&&(i.value.skillCount=w.reduce((N,e)=>N+(typeof e?.count=="number"?e.count:0),0))}if(L.status==="fulfilled"){const N=L.value.output.match(/active[:\s]+(\S+)/i);N&&!i.value.activeLlm&&(i.value.activeLlm=N[1])}}),r.sendRaw({type:"mcp.list_tools"},5e3).then(b=>{const w=(b?.result??b)?.servers;i.value.mcpCount=Array.isArray(w)?w.length:0}).catch(()=>{i.value.mcpCount=0}),await f()}catch{}finally{T.value=!1}}return{loading:T,compressionLoading:R,stats:i,statusLog:q,compression:y,telemetryFilters:v,ensureRuntimeSubscription:B,stopRuntimeSubscription:H,refresh:g,refreshCompression:f,applyCompressionSummary:P,toWindowMs:V}}),_e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ge={class:"page-title"},$e={class:"page-sub"},ke={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},we={style:{color:"#91caff","font-weight":"600"}},Ce={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},Se={class:"stat-header"},Re={class:"stat-label"},De={class:"stat-sub"},je={class:"stat-header"},ze={class:"stat-label"},Oe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Pe={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Le={class:"stat-header"},Te={class:"stat-label"},Ne={class:"stat-value",style:{color:"#1677ff"}},Ee={class:"stat-sub"},Me={class:"stat-header"},Ae={class:"stat-label"},Fe={class:"stat-value",style:{color:"#c084fc"}},qe={class:"stat-sub"},Be={class:"stat-header"},He={class:"stat-label"},Ue={class:"stat-sub"},Ve={class:"stat-header"},Ge={class:"stat-label"},Ie={class:"stat-value",style:{color:"#13c2c2"}},Je={class:"stat-sub"},We={class:"stat-header"},Ke={class:"stat-label"},Qe={class:"stat-value",style:{color:"#faad14"}},Ye={class:"stat-sub"},Xe={class:"status-log"},Ze={class:"telemetry-filter"},xe={class:"telemetry-filter-label"},et={class:"telemetry-filter"},tt={class:"telemetry-filter-label"},st={class:"telemetry-filter"},at={class:"telemetry-filter-label"},ot={class:"telemetry-card"},lt={class:"telemetry-label"},rt={class:"telemetry-value"},nt={class:"telemetry-sub"},dt={class:"telemetry-card"},it={class:"telemetry-label"},ut={class:"telemetry-value"},ct={class:"telemetry-sub"},vt={class:"telemetry-card"},mt={class:"telemetry-label"},pt={class:"telemetry-value"},ht={class:"telemetry-sub"},ft={class:"telemetry-section"},bt={class:"telemetry-section-title"},yt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={class:"telemetry-section"},$t={class:"telemetry-section-title"},kt={key:0,class:"telemetry-empty"},wt={key:1,class:"telemetry-list"},Ct={class:"telemetry-section"},St={class:"telemetry-section-title"},Rt={key:0,class:"telemetry-empty"},Dt={key:1,class:"telemetry-list"},jt={class:"telemetry-section"},zt={class:"telemetry-section-title"},Ot={key:0,class:"telemetry-empty"},Pt={key:1,class:"telemetry-list"},Lt={style:{color:"#91caff"}},Tt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},Nt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)"}},Mt={__name:"Dashboard",setup(T){const R=re(),i=G(),q=de(),y=ye(),v=window.__CC_CONFIG__||{},_=S(()=>v.mode==="project"),B="v5.0.3.48",H=S(()=>i.status),P=S(()=>y.loading),V=S(()=>y.statusLog),j=S(()=>y.telemetryFilters),f=S(()=>y.compression),g=S(()=>y.stats),r=S(()=>Object.entries(f.value.variantDistribution||{})),m=S(()=>f.value.providerDistribution||[]),$=S(()=>f.value.modelDistribution||[]);async function b(){await y.refresh()}async function L(){await y.refreshCompression()}function w(e){return`${((e||0)*100).toFixed(1)}%`}async function N(){await q.createSession("agent"),R.push("/chat")}return oe(()=>{y.ensureRuntimeSubscription(i),setTimeout(b,300)}),le(()=>{y.stopRuntimeSubscription()}),(e,n)=>{const z=C("a-button"),I=C("a-tag"),k=C("a-card"),x=C("a-badge"),c=C("a-col"),D=C("a-row"),ee=C("a-space"),O=C("a-select-option"),J=C("a-select"),E=C("a-descriptions-item"),te=C("a-descriptions");return u(),p("div",null,[o("div",_e,[o("div",null,[o("h2",ge,a(e.$t("dashboard.title")),1),o("p",$e,a(_.value?e.$t("dashboard.subProject",{name:d(v).projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),t(z,{type:"primary",ghost:"",loading:P.value,onClick:b},{icon:s(()=>[t(d(ue))]),default:s(()=>[h(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),_.value?(u(),U(k,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:s(()=>[o("div",ke,[t(d(ce),{style:{color:"#1677ff","font-size":"18px"}}),o("div",null,[o("div",we,a(d(v).projectName||e.$t("dashboard.projectBanner.fallbackName")),1),o("div",Ce,a(d(v).projectRoot),1)]),t(I,{color:"blue",style:{"margin-left":"auto"}},{default:s(()=>[h(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):W("",!0),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card gateway-card",size:"small"},{default:s(()=>[o("div",Se,[o("span",Re,a(e.$t("dashboard.stats.wsGateway")),1),t(x,{status:H.value==="connected"?"success":"error"},null,8,["status"])]),o("div",{class:"stat-value",style:K({color:H.value==="connected"?"#52c41a":"#888"})},a(H.value==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),o("div",De,a(e.$t("dashboard.stats.wsPortLine",{port:d(v).wsPort||18800,host:d(v).wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",je,[o("span",ze,a(e.$t("dashboard.stats.currentLlm")),1),t(d(Q),{style:{color:"#1677ff"}})]),o("div",Oe,a(g.value.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),o("div",Pe,a(g.value.activeModel||"—"),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=l=>e.$router.push("/skills"))},{default:s(()=>[o("div",Le,[o("span",Te,a(e.$t("dashboard.stats.skills")),1),t(d(Y),{style:{color:"#1677ff"}})]),o("div",Ne,a(g.value.skillCount||"—"),1),o("div",Ee,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=l=>e.$router.push("/chat"))},{default:s(()=>[o("div",Me,[o("span",Ae,a(e.$t("dashboard.stats.sessions")),1),t(d(X),{style:{color:"#722ed1"}})]),o("div",Fe,a(g.value.sessionCount),1),o("div",qe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Be,[o("span",He,a(e.$t("dashboard.stats.appStatus")),1),t(d(ve),{style:K({color:g.value.appRunning?"#52c41a":"#888"})},null,8,["style"])]),o("div",{class:"stat-value",style:K({color:g.value.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(g.value.appRunning?e.$t("dashboard.stats.appRunning"):g.value.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),o("div",Ue,a(e.$t("dashboard.stats.edition",{name:g.value.edition||"Community"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=l=>e.$router.push("/mcp"))},{default:s(()=>[o("div",Ve,[o("span",Ge,a(e.$t("dashboard.stats.mcp")),1),t(d(me),{style:{color:"#13c2c2"}})]),o("div",Ie,a(g.value.mcpCount??"—"),1),o("div",Je,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=l=>e.$router.push("/notes"))},{default:s(()=>[o("div",We,[o("span",Ke,a(e.$t("dashboard.stats.notes")),1),t(d(Z),{style:{color:"#faad14"}})]),o("div",Qe,a(g.value.noteCount??"—"),1),o("div",Ye,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[16,16]},{default:s(()=>[t(c,{xs:24,lg:10},{default:s(()=>[t(k,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:s(()=>[t(ee,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:s(()=>[t(z,{type:"primary",block:"",onClick:n[4]||(n[4]=l=>e.$router.push("/chat"))},{icon:s(()=>[t(d(X))]),default:s(()=>[h(" "+a(_.value?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),t(z,{block:"",onClick:N,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:s(()=>[t(d(Q))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[5]||(n[5]=l=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(pe))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[6]||(n[6]=l=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Z))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[7]||(n[7]=l=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Y))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[8]||(n[8]=l=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(he))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),t(c,{xs:24,lg:14},{default:s(()=>[t(k,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:P.value},{extra:s(()=>[t(z,{type:"link",size:"small",onClick:n[9]||(n[9]=l=>e.$router.push("/logs"))},{default:s(()=>[h(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:s(()=>[o("pre",Xe,a(V.value||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),t(k,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:P.value},{default:s(()=>[t(D,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:s(()=>[t(c,{xs:24,md:8},{default:s(()=>[o("div",Ze,[o("div",xe,a(e.$t("dashboard.telemetry.filterWindow")),1),t(J,{value:j.value.windowPreset,"onUpdate:value":n[10]||(n[10]=l=>j.value.windowPreset=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:"all"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),t(O,{value:"1h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),t(O,{value:"24h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),t(O,{value:"7d"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",et,[o("div",tt,a(e.$t("dashboard.telemetry.filterProvider")),1),t(J,{value:j.value.provider,"onUpdate:value":n[11]||(n[11]=l=>j.value.provider=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(u(!0),p(A,null,F(m.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",st,[o("div",at,a(e.$t("dashboard.telemetry.filterModel")),1),t(J,{value:j.value.model,"onUpdate:value":n[12]||(n[12]=l=>j.value.model=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(u(!0),p(A,null,F($.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),t(D,{gutter:[12,12]},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[o("div",ot,[o("div",lt,a(e.$t("dashboard.telemetry.hitRate")),1),o("div",rt,a(w(f.value.hitRate)),1),o("div",nt,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:f.value.compressedSamples,total:f.value.samples})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",dt,[o("div",it,a(e.$t("dashboard.telemetry.savedTokens")),1),o("div",ut,a(f.value.totalSavedTokens),1),o("div",ct,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:f.value.averageSavedTokens})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",vt,[o("div",mt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),o("div",pt,a(w(f.value.netSavingsRate)),1),o("div",ht,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:f.value.totalOriginalTokens,compressed:f.value.totalCompressedTokens})),1)])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",ft,[o("div",bt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),f.value.strategyDistribution.length===0?(u(),p("div",yt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(u(),p("div",_t,[(u(!0),p(A,null,F(f.value.strategyDistribution.slice(0,6),l=>(u(),p("div",{key:l.strategy,class:"telemetry-row"},[o("span",null,a(l.strategy),1),o("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:l.hits,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",gt,[o("div",$t,a(e.$t("dashboard.telemetry.variantDistribution")),1),r.value.length===0?(u(),p("div",kt,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(u(),p("div",wt,[(u(!0),p(A,null,F(r.value,([l,se])=>(u(),p("div",{key:l,class:"telemetry-row"},[o("span",null,a(l),1),o("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:se})),1)]))),128))]))])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",Ct,[o("div",St,a(e.$t("dashboard.telemetry.providerSlice")),1),m.value.length===0?(u(),p("div",Rt,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(u(),p("div",Dt,[(u(!0),p(A,null,F(m.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:l.samples,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",jt,[o("div",zt,a(e.$t("dashboard.telemetry.modelSlice")),1),$.value.length===0?(u(),p("div",Ot,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(u(),p("div",Pt,[(u(!0),p(A,null,F($.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:l.samples,saved:l.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),t(k,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:s(()=>[t(te,{column:{xs:1,sm:2,lg:3},size:"small"},{default:s(()=>[t(E,{label:e.$t("dashboard.info.panelMode")},{default:s(()=>[t(I,{color:_.value?"blue":"purple"},{default:s(()=>[h(a(_.value?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),_.value?(u(),U(E,{key:0,label:e.$t("dashboard.info.projectName")},{default:s(()=>[o("span",Lt,a(d(v).projectName||"—"),1)]),_:1},8,["label"])):W("",!0),_.value?(u(),U(E,{key:1,label:e.$t("dashboard.info.projectPath")},{default:s(()=>[o("span",Tt,a(d(v).projectRoot),1)]),_:1},8,["label"])):W("",!0),t(E,{label:e.$t("dashboard.info.websocket")},{default:s(()=>[o("span",Nt," ws://"+a(d(v).wsHost||"127.0.0.1")+":"+a(d(v).wsPort||18800),1)]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.auth")},{default:s(()=>[t(I,{color:d(v).wsToken?"green":"default",style:{"font-size":"11px"}},{default:s(()=>[h(a(d(v).wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.version")},{default:s(()=>[o("span",Et,a(d(B)),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}}},Ut=ne(Mt,[["__scopeId","data-v-bf6b8d82"]]);export{Ut as default};
3
+ `),j(b)}$.status==="fulfilled"&&(i.value.sessionCount=$.value.length),Promise.allSettled([r.execute("skill sources --json",15e3),r.execute("llm providers",15e3)]).then(([b,L])=>{if(b.status==="fulfilled"){const w=fe(b.value.output);Array.isArray(w)&&(i.value.skillCount=w.reduce((N,e)=>N+(typeof e?.count=="number"?e.count:0),0))}if(L.status==="fulfilled"){const N=L.value.output.match(/active[:\s]+(\S+)/i);N&&!i.value.activeLlm&&(i.value.activeLlm=N[1])}}),r.sendRaw({type:"mcp.list_tools"},5e3).then(b=>{const w=(b?.result??b)?.servers;i.value.mcpCount=Array.isArray(w)?w.length:0}).catch(()=>{i.value.mcpCount=0}),await f()}catch{}finally{T.value=!1}}return{loading:T,compressionLoading:R,stats:i,statusLog:q,compression:y,telemetryFilters:v,ensureRuntimeSubscription:B,stopRuntimeSubscription:H,refresh:g,refreshCompression:f,applyCompressionSummary:P,toWindowMs:V}}),_e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ge={class:"page-title"},$e={class:"page-sub"},ke={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},we={style:{color:"#91caff","font-weight":"600"}},Ce={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},Se={class:"stat-header"},Re={class:"stat-label"},De={class:"stat-sub"},je={class:"stat-header"},ze={class:"stat-label"},Oe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Pe={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Le={class:"stat-header"},Te={class:"stat-label"},Ne={class:"stat-value",style:{color:"#1677ff"}},Ee={class:"stat-sub"},Me={class:"stat-header"},Ae={class:"stat-label"},Fe={class:"stat-value",style:{color:"#c084fc"}},qe={class:"stat-sub"},Be={class:"stat-header"},He={class:"stat-label"},Ue={class:"stat-sub"},Ve={class:"stat-header"},Ge={class:"stat-label"},Ie={class:"stat-value",style:{color:"#13c2c2"}},Je={class:"stat-sub"},We={class:"stat-header"},Ke={class:"stat-label"},Qe={class:"stat-value",style:{color:"#faad14"}},Ye={class:"stat-sub"},Xe={class:"status-log"},Ze={class:"telemetry-filter"},xe={class:"telemetry-filter-label"},et={class:"telemetry-filter"},tt={class:"telemetry-filter-label"},st={class:"telemetry-filter"},at={class:"telemetry-filter-label"},ot={class:"telemetry-card"},lt={class:"telemetry-label"},rt={class:"telemetry-value"},nt={class:"telemetry-sub"},dt={class:"telemetry-card"},it={class:"telemetry-label"},ut={class:"telemetry-value"},ct={class:"telemetry-sub"},vt={class:"telemetry-card"},mt={class:"telemetry-label"},pt={class:"telemetry-value"},ht={class:"telemetry-sub"},ft={class:"telemetry-section"},bt={class:"telemetry-section-title"},yt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={class:"telemetry-section"},$t={class:"telemetry-section-title"},kt={key:0,class:"telemetry-empty"},wt={key:1,class:"telemetry-list"},Ct={class:"telemetry-section"},St={class:"telemetry-section-title"},Rt={key:0,class:"telemetry-empty"},Dt={key:1,class:"telemetry-list"},jt={class:"telemetry-section"},zt={class:"telemetry-section-title"},Ot={key:0,class:"telemetry-empty"},Pt={key:1,class:"telemetry-list"},Lt={style:{color:"#91caff"}},Tt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},Nt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)"}},Mt={__name:"Dashboard",setup(T){const R=re(),i=G(),q=de(),y=ye(),v=window.__CC_CONFIG__||{},_=S(()=>v.mode==="project"),B="v5.0.3.49",H=S(()=>i.status),P=S(()=>y.loading),V=S(()=>y.statusLog),j=S(()=>y.telemetryFilters),f=S(()=>y.compression),g=S(()=>y.stats),r=S(()=>Object.entries(f.value.variantDistribution||{})),m=S(()=>f.value.providerDistribution||[]),$=S(()=>f.value.modelDistribution||[]);async function b(){await y.refresh()}async function L(){await y.refreshCompression()}function w(e){return`${((e||0)*100).toFixed(1)}%`}async function N(){await q.createSession("agent"),R.push("/chat")}return oe(()=>{y.ensureRuntimeSubscription(i),setTimeout(b,300)}),le(()=>{y.stopRuntimeSubscription()}),(e,n)=>{const z=C("a-button"),I=C("a-tag"),k=C("a-card"),x=C("a-badge"),c=C("a-col"),D=C("a-row"),ee=C("a-space"),O=C("a-select-option"),J=C("a-select"),E=C("a-descriptions-item"),te=C("a-descriptions");return u(),p("div",null,[o("div",_e,[o("div",null,[o("h2",ge,a(e.$t("dashboard.title")),1),o("p",$e,a(_.value?e.$t("dashboard.subProject",{name:d(v).projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),t(z,{type:"primary",ghost:"",loading:P.value,onClick:b},{icon:s(()=>[t(d(ue))]),default:s(()=>[h(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),_.value?(u(),U(k,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:s(()=>[o("div",ke,[t(d(ce),{style:{color:"#1677ff","font-size":"18px"}}),o("div",null,[o("div",we,a(d(v).projectName||e.$t("dashboard.projectBanner.fallbackName")),1),o("div",Ce,a(d(v).projectRoot),1)]),t(I,{color:"blue",style:{"margin-left":"auto"}},{default:s(()=>[h(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):W("",!0),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card gateway-card",size:"small"},{default:s(()=>[o("div",Se,[o("span",Re,a(e.$t("dashboard.stats.wsGateway")),1),t(x,{status:H.value==="connected"?"success":"error"},null,8,["status"])]),o("div",{class:"stat-value",style:K({color:H.value==="connected"?"#52c41a":"#888"})},a(H.value==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),o("div",De,a(e.$t("dashboard.stats.wsPortLine",{port:d(v).wsPort||18800,host:d(v).wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",je,[o("span",ze,a(e.$t("dashboard.stats.currentLlm")),1),t(d(Q),{style:{color:"#1677ff"}})]),o("div",Oe,a(g.value.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),o("div",Pe,a(g.value.activeModel||"—"),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=l=>e.$router.push("/skills"))},{default:s(()=>[o("div",Le,[o("span",Te,a(e.$t("dashboard.stats.skills")),1),t(d(Y),{style:{color:"#1677ff"}})]),o("div",Ne,a(g.value.skillCount||"—"),1),o("div",Ee,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=l=>e.$router.push("/chat"))},{default:s(()=>[o("div",Me,[o("span",Ae,a(e.$t("dashboard.stats.sessions")),1),t(d(X),{style:{color:"#722ed1"}})]),o("div",Fe,a(g.value.sessionCount),1),o("div",qe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Be,[o("span",He,a(e.$t("dashboard.stats.appStatus")),1),t(d(ve),{style:K({color:g.value.appRunning?"#52c41a":"#888"})},null,8,["style"])]),o("div",{class:"stat-value",style:K({color:g.value.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(g.value.appRunning?e.$t("dashboard.stats.appRunning"):g.value.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),o("div",Ue,a(e.$t("dashboard.stats.edition",{name:g.value.edition||"Community"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=l=>e.$router.push("/mcp"))},{default:s(()=>[o("div",Ve,[o("span",Ge,a(e.$t("dashboard.stats.mcp")),1),t(d(me),{style:{color:"#13c2c2"}})]),o("div",Ie,a(g.value.mcpCount??"—"),1),o("div",Je,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=l=>e.$router.push("/notes"))},{default:s(()=>[o("div",We,[o("span",Ke,a(e.$t("dashboard.stats.notes")),1),t(d(Z),{style:{color:"#faad14"}})]),o("div",Qe,a(g.value.noteCount??"—"),1),o("div",Ye,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[16,16]},{default:s(()=>[t(c,{xs:24,lg:10},{default:s(()=>[t(k,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:s(()=>[t(ee,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:s(()=>[t(z,{type:"primary",block:"",onClick:n[4]||(n[4]=l=>e.$router.push("/chat"))},{icon:s(()=>[t(d(X))]),default:s(()=>[h(" "+a(_.value?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),t(z,{block:"",onClick:N,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:s(()=>[t(d(Q))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[5]||(n[5]=l=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(pe))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[6]||(n[6]=l=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Z))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[7]||(n[7]=l=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Y))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[8]||(n[8]=l=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(he))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),t(c,{xs:24,lg:14},{default:s(()=>[t(k,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:P.value},{extra:s(()=>[t(z,{type:"link",size:"small",onClick:n[9]||(n[9]=l=>e.$router.push("/logs"))},{default:s(()=>[h(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:s(()=>[o("pre",Xe,a(V.value||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),t(k,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:P.value},{default:s(()=>[t(D,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:s(()=>[t(c,{xs:24,md:8},{default:s(()=>[o("div",Ze,[o("div",xe,a(e.$t("dashboard.telemetry.filterWindow")),1),t(J,{value:j.value.windowPreset,"onUpdate:value":n[10]||(n[10]=l=>j.value.windowPreset=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:"all"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),t(O,{value:"1h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),t(O,{value:"24h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),t(O,{value:"7d"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",et,[o("div",tt,a(e.$t("dashboard.telemetry.filterProvider")),1),t(J,{value:j.value.provider,"onUpdate:value":n[11]||(n[11]=l=>j.value.provider=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(u(!0),p(A,null,F(m.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",st,[o("div",at,a(e.$t("dashboard.telemetry.filterModel")),1),t(J,{value:j.value.model,"onUpdate:value":n[12]||(n[12]=l=>j.value.model=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(u(!0),p(A,null,F($.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),t(D,{gutter:[12,12]},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[o("div",ot,[o("div",lt,a(e.$t("dashboard.telemetry.hitRate")),1),o("div",rt,a(w(f.value.hitRate)),1),o("div",nt,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:f.value.compressedSamples,total:f.value.samples})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",dt,[o("div",it,a(e.$t("dashboard.telemetry.savedTokens")),1),o("div",ut,a(f.value.totalSavedTokens),1),o("div",ct,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:f.value.averageSavedTokens})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",vt,[o("div",mt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),o("div",pt,a(w(f.value.netSavingsRate)),1),o("div",ht,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:f.value.totalOriginalTokens,compressed:f.value.totalCompressedTokens})),1)])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",ft,[o("div",bt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),f.value.strategyDistribution.length===0?(u(),p("div",yt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(u(),p("div",_t,[(u(!0),p(A,null,F(f.value.strategyDistribution.slice(0,6),l=>(u(),p("div",{key:l.strategy,class:"telemetry-row"},[o("span",null,a(l.strategy),1),o("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:l.hits,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",gt,[o("div",$t,a(e.$t("dashboard.telemetry.variantDistribution")),1),r.value.length===0?(u(),p("div",kt,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(u(),p("div",wt,[(u(!0),p(A,null,F(r.value,([l,se])=>(u(),p("div",{key:l,class:"telemetry-row"},[o("span",null,a(l),1),o("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:se})),1)]))),128))]))])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",Ct,[o("div",St,a(e.$t("dashboard.telemetry.providerSlice")),1),m.value.length===0?(u(),p("div",Rt,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(u(),p("div",Dt,[(u(!0),p(A,null,F(m.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:l.samples,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",jt,[o("div",zt,a(e.$t("dashboard.telemetry.modelSlice")),1),$.value.length===0?(u(),p("div",Ot,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(u(),p("div",Pt,[(u(!0),p(A,null,F($.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:l.samples,saved:l.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),t(k,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:s(()=>[t(te,{column:{xs:1,sm:2,lg:3},size:"small"},{default:s(()=>[t(E,{label:e.$t("dashboard.info.panelMode")},{default:s(()=>[t(I,{color:_.value?"blue":"purple"},{default:s(()=>[h(a(_.value?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),_.value?(u(),U(E,{key:0,label:e.$t("dashboard.info.projectName")},{default:s(()=>[o("span",Lt,a(d(v).projectName||"—"),1)]),_:1},8,["label"])):W("",!0),_.value?(u(),U(E,{key:1,label:e.$t("dashboard.info.projectPath")},{default:s(()=>[o("span",Tt,a(d(v).projectRoot),1)]),_:1},8,["label"])):W("",!0),t(E,{label:e.$t("dashboard.info.websocket")},{default:s(()=>[o("span",Nt," ws://"+a(d(v).wsHost||"127.0.0.1")+":"+a(d(v).wsPort||18800),1)]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.auth")},{default:s(()=>[t(I,{color:d(v).wsToken?"green":"default",style:{"font-size":"11px"}},{default:s(()=>[h(a(d(v).wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.version")},{default:s(()=>[o("span",Et,a(d(B)),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}}},Ut=ne(Mt,[["__scopeId","data-v-bf6b8d82"]]);export{Ut as default};
@@ -1 +1 @@
1
- import{P as n,e as m,h as V,aq as B}from"./index-D8S-7oDQ.js";import{T as D}from"./Trigger-DY4iT_Sv.js";import{c as g}from"./vnode-CAFNU-3N.js";import{d as M,r as v,w as F,c as d,F as L,f as y}from"./vendor-Ci2pTZ_t.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)c.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(a[o[r]]=e[o[r]]);return a};const K=M({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:r}=c;const f=v(!!e.visible);F(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=v();r({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const i=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(L,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),g(i,u,!1)])},w=y(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const i=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&i?g(i[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):i},P=y(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:i,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(D,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:i}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{K as D};
1
+ import{P as n,e as m,h as V,aq as B}from"./index-BxjOmfVA.js";import{T as D}from"./Trigger-ZWVirxhN.js";import{c as g}from"./vnode-Duw65sZ1.js";import{d as M,r as v,w as F,c as d,F as L,f as y}from"./vendor-Ci2pTZ_t.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)c.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(a[o[r]]=e[o[r]]);return a};const K=M({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:r}=c;const f=v(!!e.visible);F(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=v();r({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const i=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(L,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),g(i,u,!1)])},w=y(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const i=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&i?g(i[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):i},P=y(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:i,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(D,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:i}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{K as D};
@@ -1 +1 @@
1
- import{_ as et,b as tt,u as at,E as ot,d as h}from"./index-D8S-7oDQ.js";import{s as nt}from"./community-parser-CO25nZFt.js";import{R as st,ap as lt,Z as rt,aI as it,m as ut,aj as ct,f as dt,s as ft}from"./icons-B2G69bhT.js";import{o as pt,M as I,R as A,P as c,u as s,c as t,N as a,K as m,r as x,L as f,O as p,F as D,Y as J,Q as T,S as K,f as B,a as ve}from"./vendor-Ci2pTZ_t.js";function P(l){const e=nt(l);if(!e)return null;try{return JSON.parse(e)}catch{}const i=e.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}const Fe=Object.freeze(["closed","open","half_open"]),be=Object.freeze(["healthy","degraded","unhealthy","unknown"]),$e=Object.freeze(["heartbeat","latency","success_rate","cpu_usage","memory_usage"]);function k(l,e=0){return typeof l=="number"&&Number.isFinite(l)?l:e}function mt(l,e=0){if(!l||typeof l!="object")return null;const i=l.node_id??l.nodeId??"";if(!i)return null;const b=String(l.state||"closed").toLowerCase();return{key:i,nodeId:i,state:b,failureCount:k(l.failure_count??l.failureCount,0),successCount:k(l.success_count??l.successCount,0),failureThreshold:k(l.failure_threshold??l.failureThreshold,0),successThreshold:k(l.success_threshold??l.successThreshold,0),openTimeout:k(l.open_timeout??l.openTimeout,0),lastFailureTime:l.last_failure_time??l.lastFailureTime??null,lastSuccessTime:l.last_success_time??l.lastSuccessTime??null,stateChangedAt:l.state_changed_at??l.stateChangedAt??null,metadata:l.metadata??null,createdAt:l.created_at??l.createdAt??null,updatedAt:l.updated_at??l.updatedAt??null,_idx:e}}function ht(l){const e=P(l);return Array.isArray(e)?e.map(mt).filter(Boolean):[]}function kt(l,e=0){if(!l||typeof l!="object")return null;const i=l.check_id??l.checkId??"";return i?{key:i,checkId:i,nodeId:l.node_id??l.nodeId??"",checkType:String(l.check_type??l.checkType??"").toLowerCase(),status:String(l.status||"unknown").toLowerCase(),metrics:l.metrics??null,checkedAt:l.checked_at??l.checkedAt??null,_idx:e}:null}function yt(l){const e=P(l);return Array.isArray(e)?e.map(kt).filter(Boolean):[]}function vt(l,e=0){if(!l||typeof l!="object")return null;const i=l.nodeId??l.node_id??"";return i?{key:i,nodeId:i,minConnections:k(l.minConnections,0),maxConnections:k(l.maxConnections,0),idleTimeout:k(l.idleTimeout,0),activeConnections:k(l.activeConnections,0),idleConnections:k(l.idleConnections,0),totalCreated:k(l.totalCreated,0),totalDestroyed:k(l.totalDestroyed,0),waitingRequests:k(l.waitingRequests,0),createdAt:l.createdAt??null,_idx:e}:null}function _t(l){const e=P(l);return Array.isArray(e)?e.map(vt).filter(Boolean):[]}function bt(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{nodeId:"",status:"unknown",checks:0,latestChecks:[]};const b=(Array.isArray(e.latestChecks)?e.latestChecks:[]).filter(y=>y&&typeof y=="object").map(y=>({checkType:String(y.checkType??y.check_type??"").toLowerCase(),status:String(y.status||"unknown").toLowerCase(),checkedAt:y.checkedAt??y.checked_at??null}));return{nodeId:e.nodeId??e.node_id??"",status:String(e.status||"unknown").toLowerCase(),checks:k(e.checks,0),latestChecks:b}}function _e(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,id:null,reason:""};const i=!!(e.registered||e.recorded||e.initialized),b=e.nodeId??e.checkId??null;return{ok:i,id:b?String(b):null,reason:e.reason?String(e.reason):""}}function gt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,state:"",previousState:"",failureCount:0,successCount:0,remainingMs:0,reason:""}:{ok:!!(e.updated||e.reset),state:String(e.state||""),previousState:String(e.previousState||""),failureCount:k(e.failureCount,0),successCount:k(e.successCount,0),remainingMs:k(e.remainingMs,0),reason:e.reason?String(e.reason):""}}function Ct(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,active:0,idle:0,waiting:0,reason:""}:{ok:!!(e.acquired||e.released||e.destroyed),active:k(e.active,0),idle:k(e.idle,0),waiting:k(e.waiting,0),reason:e.reason?String(e.reason):""}}function xt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,reason:""}:{ok:!!e.removed,reason:e.reason?String(e.reason):""}}const Tt={circuitBreakers:{total:0,byState:{}},healthChecks:{total:0,byStatus:{}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}};function St(l){const e=JSON.parse(JSON.stringify(Tt));for(const b of Fe)e.circuitBreakers.byState[b]=0;for(const b of be)e.healthChecks.byStatus[b]=0;const i=P(l);if(!i||typeof i!="object"||Array.isArray(i))return e;if(i.circuitBreakers&&typeof i.circuitBreakers=="object"&&(e.circuitBreakers.total=k(i.circuitBreakers.total,0),i.circuitBreakers.byState&&typeof i.circuitBreakers.byState=="object"))for(const[b,y]of Object.entries(i.circuitBreakers.byState))typeof y=="number"&&Number.isFinite(y)&&(e.circuitBreakers.byState[b]=y);if(i.healthChecks&&typeof i.healthChecks=="object"&&(e.healthChecks.total=k(i.healthChecks.total,0),i.healthChecks.byStatus&&typeof i.healthChecks.byStatus=="object"))for(const[b,y]of Object.entries(i.healthChecks.byStatus))typeof y=="number"&&Number.isFinite(y)&&(e.healthChecks.byStatus[b]=y);return i.connectionPools&&typeof i.connectionPools=="object"&&(e.connectionPools.total=k(i.connectionPools.total,0),e.connectionPools.totalActive=k(i.connectionPools.totalActive,0),e.connectionPools.totalIdle=k(i.connectionPools.totalIdle,0),e.connectionPools.totalConnections=k(i.connectionPools.totalConnections,0)),e}function ie(l){if(l==null||l==="")return"—";const e=typeof l=="number"?new Date(l):new Date(String(l));return isNaN(e.getTime())?String(l):e.toLocaleString("zh-CN",{hour12:!1})}const It={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},At={class:"page-title"},wt={class:"page-sub"},zt={class:"stat-sub"},jt={class:"stat-sub"},Pt={class:"stat-sub"},$t={class:"stat-sub"},Ft={class:"filter-bar"},Rt={key:1},Bt={key:2},Lt={key:3,class:"muted"},Ot={class:"filter-bar"},Mt={key:0,style:{"font-family":"monospace","font-size":"12px"}},qt={key:3,class:"muted",style:{"font-family":"monospace","font-size":"11px"}},Ut={key:4,class:"muted"},Nt={key:1,class:"muted"},Et={style:{"font-family":"monospace"}},Ht={style:{"margin-top":"16px"}},Dt={style:{color:"var(--text-primary)","margin-bottom":"8px"}},Jt={key:2,class:"muted"},Kt={__name:"Federation",setup(l){const{t:e}=tt(),i=at(),b=ot.PRESENTED_IMAGE_SIMPLE,y=x(!1),z=x(!1),ue=x(!1),ce=x([]),ge=x([]),Ce=x([]),S=x({circuitBreakers:{total:0,byState:{closed:0,open:0,half_open:0}},healthChecks:{total:0,byStatus:{healthy:0,degraded:0,unhealthy:0,unknown:0}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}}),xe=x("breakers"),V=x(""),G=x(""),Q=x(""),W=x(!1),Y=x(!1),Z=x(!1),v=ve({nodeId:"",failureThreshold:5,successThreshold:2,openTimeout:6e4}),g=ve({nodeId:"",checkType:"heartbeat",status:"healthy",metrics:""}),_=ve({nodeId:"",min:5,max:50,idleTimeout:3e5}),X=x(""),$=x(null),Re=B(()=>[{title:e("federation.breakerColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.breakerColumns.state"),key:"state",width:"100px"},{title:e("federation.breakerColumns.failure"),key:"failure",width:"120px"},{title:e("federation.breakerColumns.success"),key:"success",width:"120px"},{title:e("federation.breakerColumns.openTimeout"),key:"openTimeout",dataIndex:"openTimeout",width:"110px"},{title:e("federation.breakerColumns.updatedAt"),key:"updatedAt",width:"170px"},{title:e("federation.breakerColumns.action"),key:"action",width:"340px"}]),Be=B(()=>[{title:e("federation.checkColumns.id"),key:"checkId",width:"130px"},{title:e("federation.checkColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"180px"},{title:e("federation.checkColumns.metric"),key:"checkType",width:"120px"},{title:e("federation.checkColumns.status"),key:"status",width:"100px"},{title:e("federation.checkColumns.metrics"),key:"metrics"},{title:e("federation.checkColumns.checkedAt"),key:"checkedAt",width:"170px"}]),Le=B(()=>[{title:e("federation.poolColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.poolColumns.active"),key:"activeConnections",dataIndex:"activeConnections",width:"90px"},{title:e("federation.poolColumns.idle"),key:"idleConnections",dataIndex:"idleConnections",width:"90px"},{title:e("federation.poolColumns.max"),key:"maxConnections",dataIndex:"maxConnections",width:"90px"},{title:e("federation.poolColumns.utilization"),key:"utilization",width:"160px"},{title:e("federation.poolColumns.waiting"),key:"waitingRequests",dataIndex:"waitingRequests",width:"90px"},{title:e("federation.poolColumns.totalCreated"),key:"totalCreated",dataIndex:"totalCreated",width:"90px"},{title:e("federation.poolColumns.createdAt"),key:"createdAt",width:"170px"},{title:e("federation.poolColumns.action"),key:"action",width:"240px"}]),Oe=B(()=>[{title:e("federation.latestColumns.metric"),key:"checkType",width:"160px"},{title:e("federation.latestColumns.status"),key:"status",width:"120px"},{title:e("federation.latestColumns.checkedAt"),key:"checkedAt"}]),Me=B(()=>V.value?ce.value.filter(r=>r.state===V.value):ce.value),qe=B(()=>{let r=ge.value;return G.value&&(r=r.filter(n=>n.checkType===G.value)),Q.value&&(r=r.filter(n=>n.status===Q.value)),r}),Te=B(()=>(S.value.circuitBreakers.byState.open||0)+(S.value.circuitBreakers.byState.half_open||0)),Se=B(()=>{const r=S.value.circuitBreakers.total;return r?(S.value.circuitBreakers.byState.closed||0)/r*100:100});function Ie(r){return r.maxConnections?Math.round(r.activeConnections/r.maxConnections*100):0}function ee(r){const n=`federation.state.${r}`,u=e(n);return u===n?r:u}function Ue(r){return{closed:"green",open:"red",half_open:"gold"}[r]||"default"}function te(r){const n=`federation.metric.${r}`,u=e(n);return u===n?r:u}function N(r){const n=`federation.health.${r}`,u=e(n);return u===n?r:u}function de(r){return{healthy:"green",degraded:"gold",unhealthy:"red",unknown:"default"}[r]||"default"}function Ae(r){return r>=95?"#52c41a":r>=80?"#1677ff":r>=60?"#faad14":"#ff4d4f"}function Ne(r,n){return r?r.length<=n?r:r.slice(0,n)+"…":""}function F(r){return`"${String(r).replace(/"/g,'\\"')}"`}async function R(){y.value=!0;try{const[r,n,u,j]=await Promise.all([i.execute("federation breakers --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation checks --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation pools --json",8e3).catch(()=>({output:""})),i.execute("federation stats --json",8e3).catch(()=>({output:""}))]);ce.value=ht(r.output),ge.value=yt(n.output),Ce.value=_t(u.output),S.value=St(j.output)}catch(r){h.error(e("federation.messages.loadFailed",{err:r?.message||r}))}finally{y.value=!1}}async function Ee(){if(!v.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation register ${F(v.nodeId.trim())}`];v.failureThreshold&&r.push(`-f ${v.failureThreshold}`),v.successThreshold&&r.push(`-s ${v.successThreshold}`),v.openTimeout&&r.push(`-t ${v.openTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.registerFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.registerOk",{id:u.id})),W.value=!1,Ke(),await R()}catch(r){h.error(e("federation.messages.registerFailed",{err:r?.message||r}))}finally{z.value=!1}}async function He(){if(!g.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation check ${F(g.nodeId.trim())}`];r.push(`-t ${g.checkType}`),r.push(`-s ${g.status}`),g.metrics.trim()&&r.push(`-m ${F(g.metrics.trim())}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.checkFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.checkOk",{id:u.id?.slice(0,8)})),Y.value=!1,Ve(),await R()}catch(r){h.error(e("federation.messages.checkFailed",{err:r?.message||r}))}finally{z.value=!1}}async function De(){if(!_.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation pool-init ${F(_.nodeId.trim())}`];_.min&&r.push(`--min ${_.min}`),_.max&&r.push(`--max ${_.max}`),_.idleTimeout&&r.push(`--idle-timeout ${_.idleTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.poolFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.poolOk",{id:u.id})),Z.value=!1,Ge(),await R()}catch(r){h.error(e("federation.messages.poolFailed",{err:r?.message||r}))}finally{z.value=!1}}async function ae(r,n){try{const u=`federation ${n} ${F(r.nodeId)} --json`,{output:j}=await i.execute(u,8e3),C=gt(j);if(!C.ok){h.warning(C.remainingMs?e("federation.messages.operationCooldown",{ms:C.remainingMs}):C.reason||e("federation.messages.operationNoEffect"));return}C.previousState&&C.state&&C.previousState!==C.state?h.success(e("federation.messages.transitionMsg",{from:ee(C.previousState),to:ee(C.state)})):h.success(e(n==="reset"?"federation.messages.resetMsg":"federation.messages.recordedMsg")),await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function Je(r){try{const{output:n}=await i.execute(`federation remove ${F(r.nodeId)} --json`,8e3),u=xt(n);if(!u.ok){h.error(e("federation.messages.removeFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.removeOk")),await R()}catch(n){h.error(e("federation.messages.removeFailed",{err:n?.message||n}))}}async function fe(r,n){try{const u={acquire:"pool-acquire",release:"pool-release",destroy:"pool-destroy"}[n],{output:j}=await i.execute(`federation ${u} ${F(r.nodeId)} --json`,8e3),C=Ct(j);if(!C.ok){h.warning(C.reason||e("federation.messages.operationNoEffect"));return}if(n==="destroy")h.success(e("federation.messages.destroyMsg"));else{const pe=n==="acquire"?"federation.messages.acquireMsg":"federation.messages.releaseMsg";h.success(e(pe,{active:C.active,idle:C.idle}))}await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function we(){if(!X.value.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}ue.value=!0;try{const{output:r}=await i.execute(`federation node-health ${F(X.value.trim())} --json`,8e3);$.value=bt(r)}catch(r){h.error(e("federation.messages.queryFailed",{err:r?.message||r}))}finally{ue.value=!1}}function Ke(){v.nodeId="",v.failureThreshold=5,v.successThreshold=2,v.openTimeout=6e4}function Ve(){g.nodeId="",g.checkType="heartbeat",g.status="healthy",g.metrics=""}function Ge(){_.nodeId="",_.min=5,_.max=50,_.idleTimeout=3e5}return pt(R),(r,n)=>{const u=m("a-button"),j=m("a-menu-item"),C=m("a-menu"),pe=m("a-dropdown"),oe=m("a-space"),E=m("a-statistic"),L=m("a-card"),H=m("a-col"),Qe=m("a-row"),M=m("a-radio-button"),me=m("a-radio-group"),q=m("a-tag"),ze=m("a-popconfirm"),ne=m("a-empty"),se=m("a-table"),le=m("a-tab-pane"),We=m("a-progress"),re=m("a-input"),he=m("a-descriptions-item"),Ye=m("a-descriptions"),Ze=m("a-tabs"),w=m("a-form-item"),U=m("a-input-number"),ke=m("a-form"),ye=m("a-modal"),je=m("a-select-option"),Pe=m("a-select"),Xe=m("a-textarea");return f(),I("div",null,[A("div",It,[A("div",null,[A("h2",At,c(s(e)("federation.title")),1),A("p",wt,c(s(e)("federation.subtitle")),1)]),t(oe,null,{default:a(()=>[t(u,{loading:y.value,onClick:R},{icon:a(()=>[t(s(st))]),default:a(()=>[p(" "+c(s(e)("federation.refresh")),1)]),_:1},8,["loading"]),t(pe,null,{overlay:a(()=>[t(C,null,{default:a(()=>[t(j,{key:"register",onClick:n[0]||(n[0]=o=>W.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.register")),1)]),_:1}),t(j,{key:"check",onClick:n[1]||(n[1]=o=>Y.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.check")),1)]),_:1}),t(j,{key:"pool",onClick:n[2]||(n[2]=o=>Z.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.pool")),1)]),_:1})]),_:1})]),default:a(()=>[t(u,{type:"primary"},{icon:a(()=>[t(s(lt))]),default:a(()=>[p(" "+c(s(e)("federation.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.breakers"),value:S.value.circuitBreakers.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(s(rt))]),_:1},8,["title","value"]),A("div",zt,c(s(e)("federation.stats.breakerSub",{closed:S.value.circuitBreakers.byState.closed||0,open:S.value.circuitBreakers.byState.open||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.checks"),value:S.value.healthChecks.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(s(it))]),_:1},8,["title","value"]),A("div",jt,c(s(e)("federation.stats.checkSub",{healthy:S.value.healthChecks.byStatus.healthy||0,unhealthy:S.value.healthChecks.byStatus.unhealthy||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.pools"),value:S.value.connectionPools.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(s(ut))]),_:1},8,["title","value"]),A("div",Pt,c(s(e)("federation.stats.poolSub",{active:S.value.connectionPools.totalActive,idle:S.value.connectionPools.totalIdle})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.degraded"),value:Te.value,"value-style":{color:Te.value>0?"#faad14":"#8c8c8c",fontSize:"20px"}},{prefix:a(()=>[t(s(ct))]),_:1},8,["title","value","value-style"]),A("div",$t,c(s(e)("federation.stats.degradedSub",{halfOpen:S.value.circuitBreakers.byState.half_open||0})),1)]),_:1})]),_:1}),t(H,{xs:24,sm:8,lg:4},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.availability"),value:Se.value,suffix:"%",precision:0,"value-style":{color:Ae(Se.value),fontSize:"20px"}},{prefix:a(()=>[t(s(dt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),t(Ze,{activeKey:xe.value,"onUpdate:activeKey":n[7]||(n[7]=o=>xe.value=o),class:"fed-tabs"},{default:a(()=>[t(le,{key:"breakers",tab:s(e)("federation.tabs.breakers")},{default:a(()=>[A("div",Ft,[t(me,{value:V.value,"onUpdate:value":n[3]||(n[3]=o=>V.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,J(s(Fe),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(ee(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Re.value,"data-source":Me.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="state"?(f(),T(q,{key:0,color:Ue(d.state)},{default:a(()=>[p(c(ee(d.state)),1)]),_:2},1032,["color"])):o.key==="failure"?(f(),I("span",Rt,c(d.failureCount)+" / "+c(d.failureThreshold),1)):o.key==="success"?(f(),I("span",Bt,c(d.successCount)+" / "+c(d.successThreshold),1)):o.key==="updatedAt"?(f(),I("span",Lt,c(s(ie)(d.updatedAt)),1)):o.key==="action"?(f(),T(oe,{key:4,size:4},{default:a(()=>[t(u,{size:"small",danger:"",onClick:O=>ae(d,"failure")},{default:a(()=>[p(c(s(e)("federation.breakerActions.failure")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>ae(d,"success")},{default:a(()=>[p(c(s(e)("federation.breakerActions.success")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"dashed",onClick:O=>ae(d,"half-open")},{default:a(()=>[p(c(s(e)("federation.breakerActions.halfOpen")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>ae(d,"reset")},{default:a(()=>[p(c(s(e)("federation.breakerActions.reset")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.breakerActions.removeConfirm"),onConfirm:O=>Je(d)},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(c(s(e)("federation.breakerActions.remove")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):K("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.breakers")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"checks",tab:s(e)("federation.tabs.checks")},{default:a(()=>[A("div",Ot,[t(me,{value:G.value,"onUpdate:value":n[4]||(n[4]=o=>G.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allMetrics")),1)]),_:1}),(f(!0),I(D,null,J(s($e),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t(me,{value:Q.value,"onUpdate:value":n[5]||(n[5]=o=>Q.value=o),size:"small"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,J(s(be),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Be.value,"data-source":qe.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="checkId"?(f(),I("span",Mt,c(d.checkId.slice(0,12)),1)):o.key==="checkType"?(f(),T(q,{key:1,color:"blue"},{default:a(()=>[p(c(te(d.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:2,color:de(d.status)},{default:a(()=>[p(c(N(d.status)),1)]),_:2},1032,["color"])):o.key==="metrics"?(f(),I("span",qt,c(Ne(d.metrics||"",50)),1)):o.key==="checkedAt"?(f(),I("span",Ut,c(s(ie)(d.checkedAt)),1)):K("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.checks")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"pools",tab:s(e)("federation.tabs.pools")},{default:a(()=>[t(se,{columns:Le.value,"data-source":Ce.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="utilization"?(f(),T(We,{key:0,percent:Ie(d),"stroke-color":Ae(Ie(d)),size:"small"},null,8,["percent","stroke-color"])):o.key==="createdAt"?(f(),I("span",Nt,c(s(ie)(d.createdAt)),1)):o.key==="action"?(f(),T(oe,{key:2,size:4},{default:a(()=>[t(u,{size:"small",type:"primary",onClick:O=>fe(d,"acquire")},{default:a(()=>[p(c(s(e)("federation.poolActions.acquire")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>fe(d,"release")},{default:a(()=>[p(c(s(e)("federation.poolActions.release")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.poolActions.destroyConfirm"),onConfirm:O=>fe(d,"destroy")},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(c(s(e)("federation.poolActions.destroy")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):K("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.pools")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"node-health",tab:s(e)("federation.tabs.nodeHealth")},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:a(()=>[t(oe,null,{default:a(()=>[t(re,{value:X.value,"onUpdate:value":n[6]||(n[6]=o=>X.value=o),placeholder:s(e)("federation.nodeHealth.inputPlaceholder"),style:{width:"240px"},"allow-clear":"",onPressEnter:we},null,8,["value","placeholder"]),t(u,{type:"primary",loading:ue.value,onClick:we},{icon:a(()=>[t(s(ft))]),default:a(()=>[p(" "+c(s(e)("federation.nodeHealth.query")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),$.value?(f(),T(L,{key:0,style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(Ye,{column:3,size:"small",bordered:""},{default:a(()=>[t(he,{label:s(e)("federation.nodeHealth.node")},{default:a(()=>[A("span",Et,c($.value.nodeId),1)]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.status")},{default:a(()=>[t(q,{color:de($.value.status)},{default:a(()=>[p(c(N($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.checkCount")},{default:a(()=>[p(c($.value.checks),1)]),_:1},8,["label"])]),_:1}),A("div",Ht,[A("h4",Dt,c(s(e)("federation.nodeHealth.latestTitle")),1),$.value.latestChecks.length?(f(),T(se,{key:1,columns:Oe.value,"data-source":$.value.latestChecks,pagination:!1,size:"small","row-key":"checkType",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="checkType"?(f(),T(q,{key:0,color:"blue"},{default:a(()=>[p(c(te(d.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:1,color:de(d.status)},{default:a(()=>[p(c(N(d.status)),1)]),_:2},1032,["color"])):o.key==="checkedAt"?(f(),I("span",Jt,c(s(ie)(d.checkedAt)),1)):K("",!0)]),_:1},8,["columns","data-source"])):(f(),T(ne,{key:0,image:s(b),description:s(e)("federation.empty.noLatest")},null,8,["image","description"]))])]),_:1})):K("",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(ye,{open:W.value,"onUpdate:open":n[12]||(n[12]=o=>W.value=o),title:s(e)("federation.register.title"),"confirm-loading":z.value,onOk:Ee},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.register.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:v.nodeId,"onUpdate:value":n[8]||(n[8]=o=>v.nodeId=o),placeholder:s(e)("federation.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.failureThresholdLabel")},{default:a(()=>[t(U,{value:v.failureThreshold,"onUpdate:value":n[9]||(n[9]=o=>v.failureThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.successThresholdLabel")},{default:a(()=>[t(U,{value:v.successThreshold,"onUpdate:value":n[10]||(n[10]=o=>v.successThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.openTimeoutLabel")},{default:a(()=>[t(U,{value:v.openTimeout,"onUpdate:value":n[11]||(n[11]=o=>v.openTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:Y.value,"onUpdate:open":n[17]||(n[17]=o=>Y.value=o),title:s(e)("federation.check.title"),"confirm-loading":z.value,onOk:He},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.check.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:g.nodeId,"onUpdate:value":n[13]||(n[13]=o=>g.nodeId=o),placeholder:s(e)("federation.check.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricLabel"),required:""},{default:a(()=>[t(Pe,{value:g.checkType,"onUpdate:value":n[14]||(n[14]=o=>g.checkType=o)},{default:a(()=>[(f(!0),I(D,null,J(s($e),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(c(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.statusLabel"),required:""},{default:a(()=>[t(Pe,{value:g.status,"onUpdate:value":n[15]||(n[15]=o=>g.status=o)},{default:a(()=>[(f(!0),I(D,null,J(s(be),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(c(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricsLabel")},{default:a(()=>[t(Xe,{value:g.metrics,"onUpdate:value":n[16]||(n[16]=o=>g.metrics=o),rows:3,placeholder:s(e)("federation.check.metricsPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:Z.value,"onUpdate:open":n[22]||(n[22]=o=>Z.value=o),title:s(e)("federation.pool.title"),"confirm-loading":z.value,onOk:De},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.pool.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:_.nodeId,"onUpdate:value":n[18]||(n[18]=o=>_.nodeId=o),placeholder:s(e)("federation.pool.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.minLabel")},{default:a(()=>[t(U,{value:_.min,"onUpdate:value":n[19]||(n[19]=o=>_.min=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.maxLabel")},{default:a(()=>[t(U,{value:_.max,"onUpdate:value":n[20]||(n[20]=o=>_.max=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.idleTimeoutLabel")},{default:a(()=>[t(U,{value:_.idleTimeout,"onUpdate:value":n[21]||(n[21]=o=>_.idleTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}},Yt=et(Kt,[["__scopeId","data-v-45647e41"]]);export{Yt as default};
1
+ import{_ as et,b as tt,u as at,E as ot,d as h}from"./index-BxjOmfVA.js";import{s as nt}from"./community-parser-CO25nZFt.js";import{R as st,aq as lt,$ as rt,aK as it,m as ut,ak as ct,f as dt,s as ft}from"./icons-B2mcO3YM.js";import{o as pt,M as I,R as A,P as c,u as s,c as t,N as a,K as m,r as x,L as f,O as p,F as D,Y as K,Q as T,S as J,f as B,a as ve}from"./vendor-Ci2pTZ_t.js";function P(l){const e=nt(l);if(!e)return null;try{return JSON.parse(e)}catch{}const i=e.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}const Fe=Object.freeze(["closed","open","half_open"]),be=Object.freeze(["healthy","degraded","unhealthy","unknown"]),$e=Object.freeze(["heartbeat","latency","success_rate","cpu_usage","memory_usage"]);function k(l,e=0){return typeof l=="number"&&Number.isFinite(l)?l:e}function mt(l,e=0){if(!l||typeof l!="object")return null;const i=l.node_id??l.nodeId??"";if(!i)return null;const b=String(l.state||"closed").toLowerCase();return{key:i,nodeId:i,state:b,failureCount:k(l.failure_count??l.failureCount,0),successCount:k(l.success_count??l.successCount,0),failureThreshold:k(l.failure_threshold??l.failureThreshold,0),successThreshold:k(l.success_threshold??l.successThreshold,0),openTimeout:k(l.open_timeout??l.openTimeout,0),lastFailureTime:l.last_failure_time??l.lastFailureTime??null,lastSuccessTime:l.last_success_time??l.lastSuccessTime??null,stateChangedAt:l.state_changed_at??l.stateChangedAt??null,metadata:l.metadata??null,createdAt:l.created_at??l.createdAt??null,updatedAt:l.updated_at??l.updatedAt??null,_idx:e}}function ht(l){const e=P(l);return Array.isArray(e)?e.map(mt).filter(Boolean):[]}function kt(l,e=0){if(!l||typeof l!="object")return null;const i=l.check_id??l.checkId??"";return i?{key:i,checkId:i,nodeId:l.node_id??l.nodeId??"",checkType:String(l.check_type??l.checkType??"").toLowerCase(),status:String(l.status||"unknown").toLowerCase(),metrics:l.metrics??null,checkedAt:l.checked_at??l.checkedAt??null,_idx:e}:null}function yt(l){const e=P(l);return Array.isArray(e)?e.map(kt).filter(Boolean):[]}function vt(l,e=0){if(!l||typeof l!="object")return null;const i=l.nodeId??l.node_id??"";return i?{key:i,nodeId:i,minConnections:k(l.minConnections,0),maxConnections:k(l.maxConnections,0),idleTimeout:k(l.idleTimeout,0),activeConnections:k(l.activeConnections,0),idleConnections:k(l.idleConnections,0),totalCreated:k(l.totalCreated,0),totalDestroyed:k(l.totalDestroyed,0),waitingRequests:k(l.waitingRequests,0),createdAt:l.createdAt??null,_idx:e}:null}function _t(l){const e=P(l);return Array.isArray(e)?e.map(vt).filter(Boolean):[]}function bt(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{nodeId:"",status:"unknown",checks:0,latestChecks:[]};const b=(Array.isArray(e.latestChecks)?e.latestChecks:[]).filter(y=>y&&typeof y=="object").map(y=>({checkType:String(y.checkType??y.check_type??"").toLowerCase(),status:String(y.status||"unknown").toLowerCase(),checkedAt:y.checkedAt??y.checked_at??null}));return{nodeId:e.nodeId??e.node_id??"",status:String(e.status||"unknown").toLowerCase(),checks:k(e.checks,0),latestChecks:b}}function _e(l){const e=P(l);if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,id:null,reason:""};const i=!!(e.registered||e.recorded||e.initialized),b=e.nodeId??e.checkId??null;return{ok:i,id:b?String(b):null,reason:e.reason?String(e.reason):""}}function gt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,state:"",previousState:"",failureCount:0,successCount:0,remainingMs:0,reason:""}:{ok:!!(e.updated||e.reset),state:String(e.state||""),previousState:String(e.previousState||""),failureCount:k(e.failureCount,0),successCount:k(e.successCount,0),remainingMs:k(e.remainingMs,0),reason:e.reason?String(e.reason):""}}function Ct(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,active:0,idle:0,waiting:0,reason:""}:{ok:!!(e.acquired||e.released||e.destroyed),active:k(e.active,0),idle:k(e.idle,0),waiting:k(e.waiting,0),reason:e.reason?String(e.reason):""}}function xt(l){const e=P(l);return!e||typeof e!="object"||Array.isArray(e)?{ok:!1,reason:""}:{ok:!!e.removed,reason:e.reason?String(e.reason):""}}const Tt={circuitBreakers:{total:0,byState:{}},healthChecks:{total:0,byStatus:{}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}};function St(l){const e=JSON.parse(JSON.stringify(Tt));for(const b of Fe)e.circuitBreakers.byState[b]=0;for(const b of be)e.healthChecks.byStatus[b]=0;const i=P(l);if(!i||typeof i!="object"||Array.isArray(i))return e;if(i.circuitBreakers&&typeof i.circuitBreakers=="object"&&(e.circuitBreakers.total=k(i.circuitBreakers.total,0),i.circuitBreakers.byState&&typeof i.circuitBreakers.byState=="object"))for(const[b,y]of Object.entries(i.circuitBreakers.byState))typeof y=="number"&&Number.isFinite(y)&&(e.circuitBreakers.byState[b]=y);if(i.healthChecks&&typeof i.healthChecks=="object"&&(e.healthChecks.total=k(i.healthChecks.total,0),i.healthChecks.byStatus&&typeof i.healthChecks.byStatus=="object"))for(const[b,y]of Object.entries(i.healthChecks.byStatus))typeof y=="number"&&Number.isFinite(y)&&(e.healthChecks.byStatus[b]=y);return i.connectionPools&&typeof i.connectionPools=="object"&&(e.connectionPools.total=k(i.connectionPools.total,0),e.connectionPools.totalActive=k(i.connectionPools.totalActive,0),e.connectionPools.totalIdle=k(i.connectionPools.totalIdle,0),e.connectionPools.totalConnections=k(i.connectionPools.totalConnections,0)),e}function ie(l){if(l==null||l==="")return"—";const e=typeof l=="number"?new Date(l):new Date(String(l));return isNaN(e.getTime())?String(l):e.toLocaleString("zh-CN",{hour12:!1})}const It={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},At={class:"page-title"},wt={class:"page-sub"},zt={class:"stat-sub"},jt={class:"stat-sub"},Pt={class:"stat-sub"},$t={class:"stat-sub"},Ft={class:"filter-bar"},Rt={key:1},Bt={key:2},Lt={key:3,class:"muted"},Ot={class:"filter-bar"},Mt={key:0,style:{"font-family":"monospace","font-size":"12px"}},qt={key:3,class:"muted",style:{"font-family":"monospace","font-size":"11px"}},Ut={key:4,class:"muted"},Nt={key:1,class:"muted"},Et={style:{"font-family":"monospace"}},Ht={style:{"margin-top":"16px"}},Dt={style:{color:"var(--text-primary)","margin-bottom":"8px"}},Kt={key:2,class:"muted"},Jt={__name:"Federation",setup(l){const{t:e}=tt(),i=at(),b=ot.PRESENTED_IMAGE_SIMPLE,y=x(!1),z=x(!1),ue=x(!1),ce=x([]),ge=x([]),Ce=x([]),S=x({circuitBreakers:{total:0,byState:{closed:0,open:0,half_open:0}},healthChecks:{total:0,byStatus:{healthy:0,degraded:0,unhealthy:0,unknown:0}},connectionPools:{total:0,totalActive:0,totalIdle:0,totalConnections:0}}),xe=x("breakers"),V=x(""),G=x(""),Q=x(""),W=x(!1),Y=x(!1),X=x(!1),v=ve({nodeId:"",failureThreshold:5,successThreshold:2,openTimeout:6e4}),g=ve({nodeId:"",checkType:"heartbeat",status:"healthy",metrics:""}),_=ve({nodeId:"",min:5,max:50,idleTimeout:3e5}),Z=x(""),$=x(null),Re=B(()=>[{title:e("federation.breakerColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.breakerColumns.state"),key:"state",width:"100px"},{title:e("federation.breakerColumns.failure"),key:"failure",width:"120px"},{title:e("federation.breakerColumns.success"),key:"success",width:"120px"},{title:e("federation.breakerColumns.openTimeout"),key:"openTimeout",dataIndex:"openTimeout",width:"110px"},{title:e("federation.breakerColumns.updatedAt"),key:"updatedAt",width:"170px"},{title:e("federation.breakerColumns.action"),key:"action",width:"340px"}]),Be=B(()=>[{title:e("federation.checkColumns.id"),key:"checkId",width:"130px"},{title:e("federation.checkColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"180px"},{title:e("federation.checkColumns.metric"),key:"checkType",width:"120px"},{title:e("federation.checkColumns.status"),key:"status",width:"100px"},{title:e("federation.checkColumns.metrics"),key:"metrics"},{title:e("federation.checkColumns.checkedAt"),key:"checkedAt",width:"170px"}]),Le=B(()=>[{title:e("federation.poolColumns.node"),key:"nodeId",dataIndex:"nodeId",width:"200px"},{title:e("federation.poolColumns.active"),key:"activeConnections",dataIndex:"activeConnections",width:"90px"},{title:e("federation.poolColumns.idle"),key:"idleConnections",dataIndex:"idleConnections",width:"90px"},{title:e("federation.poolColumns.max"),key:"maxConnections",dataIndex:"maxConnections",width:"90px"},{title:e("federation.poolColumns.utilization"),key:"utilization",width:"160px"},{title:e("federation.poolColumns.waiting"),key:"waitingRequests",dataIndex:"waitingRequests",width:"90px"},{title:e("federation.poolColumns.totalCreated"),key:"totalCreated",dataIndex:"totalCreated",width:"90px"},{title:e("federation.poolColumns.createdAt"),key:"createdAt",width:"170px"},{title:e("federation.poolColumns.action"),key:"action",width:"240px"}]),Oe=B(()=>[{title:e("federation.latestColumns.metric"),key:"checkType",width:"160px"},{title:e("federation.latestColumns.status"),key:"status",width:"120px"},{title:e("federation.latestColumns.checkedAt"),key:"checkedAt"}]),Me=B(()=>V.value?ce.value.filter(r=>r.state===V.value):ce.value),qe=B(()=>{let r=ge.value;return G.value&&(r=r.filter(n=>n.checkType===G.value)),Q.value&&(r=r.filter(n=>n.status===Q.value)),r}),Te=B(()=>(S.value.circuitBreakers.byState.open||0)+(S.value.circuitBreakers.byState.half_open||0)),Se=B(()=>{const r=S.value.circuitBreakers.total;return r?(S.value.circuitBreakers.byState.closed||0)/r*100:100});function Ie(r){return r.maxConnections?Math.round(r.activeConnections/r.maxConnections*100):0}function ee(r){const n=`federation.state.${r}`,u=e(n);return u===n?r:u}function Ue(r){return{closed:"green",open:"red",half_open:"gold"}[r]||"default"}function te(r){const n=`federation.metric.${r}`,u=e(n);return u===n?r:u}function N(r){const n=`federation.health.${r}`,u=e(n);return u===n?r:u}function de(r){return{healthy:"green",degraded:"gold",unhealthy:"red",unknown:"default"}[r]||"default"}function Ae(r){return r>=95?"#52c41a":r>=80?"#1677ff":r>=60?"#faad14":"#ff4d4f"}function Ne(r,n){return r?r.length<=n?r:r.slice(0,n)+"…":""}function F(r){return`"${String(r).replace(/"/g,'\\"')}"`}async function R(){y.value=!0;try{const[r,n,u,j]=await Promise.all([i.execute("federation breakers --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation checks --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("federation pools --json",8e3).catch(()=>({output:""})),i.execute("federation stats --json",8e3).catch(()=>({output:""}))]);ce.value=ht(r.output),ge.value=yt(n.output),Ce.value=_t(u.output),S.value=St(j.output)}catch(r){h.error(e("federation.messages.loadFailed",{err:r?.message||r}))}finally{y.value=!1}}async function Ee(){if(!v.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation register ${F(v.nodeId.trim())}`];v.failureThreshold&&r.push(`-f ${v.failureThreshold}`),v.successThreshold&&r.push(`-s ${v.successThreshold}`),v.openTimeout&&r.push(`-t ${v.openTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.registerFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.registerOk",{id:u.id})),W.value=!1,Je(),await R()}catch(r){h.error(e("federation.messages.registerFailed",{err:r?.message||r}))}finally{z.value=!1}}async function He(){if(!g.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation check ${F(g.nodeId.trim())}`];r.push(`-t ${g.checkType}`),r.push(`-s ${g.status}`),g.metrics.trim()&&r.push(`-m ${F(g.metrics.trim())}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.checkFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.checkOk",{id:u.id?.slice(0,8)})),Y.value=!1,Ve(),await R()}catch(r){h.error(e("federation.messages.checkFailed",{err:r?.message||r}))}finally{z.value=!1}}async function De(){if(!_.nodeId.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}z.value=!0;try{const r=[`federation pool-init ${F(_.nodeId.trim())}`];_.min&&r.push(`--min ${_.min}`),_.max&&r.push(`--max ${_.max}`),_.idleTimeout&&r.push(`--idle-timeout ${_.idleTimeout}`),r.push("--json");const{output:n}=await i.execute(r.join(" "),1e4),u=_e(n);if(!u.ok){h.error(e("federation.messages.poolFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.poolOk",{id:u.id})),X.value=!1,Ge(),await R()}catch(r){h.error(e("federation.messages.poolFailed",{err:r?.message||r}))}finally{z.value=!1}}async function ae(r,n){try{const u=`federation ${n} ${F(r.nodeId)} --json`,{output:j}=await i.execute(u,8e3),C=gt(j);if(!C.ok){h.warning(C.remainingMs?e("federation.messages.operationCooldown",{ms:C.remainingMs}):C.reason||e("federation.messages.operationNoEffect"));return}C.previousState&&C.state&&C.previousState!==C.state?h.success(e("federation.messages.transitionMsg",{from:ee(C.previousState),to:ee(C.state)})):h.success(e(n==="reset"?"federation.messages.resetMsg":"federation.messages.recordedMsg")),await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function Ke(r){try{const{output:n}=await i.execute(`federation remove ${F(r.nodeId)} --json`,8e3),u=xt(n);if(!u.ok){h.error(e("federation.messages.removeFailed",{err:u.reason||n.slice(0,120)}));return}h.success(e("federation.messages.removeOk")),await R()}catch(n){h.error(e("federation.messages.removeFailed",{err:n?.message||n}))}}async function fe(r,n){try{const u={acquire:"pool-acquire",release:"pool-release",destroy:"pool-destroy"}[n],{output:j}=await i.execute(`federation ${u} ${F(r.nodeId)} --json`,8e3),C=Ct(j);if(!C.ok){h.warning(C.reason||e("federation.messages.operationNoEffect"));return}if(n==="destroy")h.success(e("federation.messages.destroyMsg"));else{const pe=n==="acquire"?"federation.messages.acquireMsg":"federation.messages.releaseMsg";h.success(e(pe,{active:C.active,idle:C.idle}))}await R()}catch(u){h.error(e("federation.messages.operationFailed",{err:u?.message||u}))}}async function we(){if(!Z.value.trim()){h.warning(e("federation.messages.nodeIdRequired"));return}ue.value=!0;try{const{output:r}=await i.execute(`federation node-health ${F(Z.value.trim())} --json`,8e3);$.value=bt(r)}catch(r){h.error(e("federation.messages.queryFailed",{err:r?.message||r}))}finally{ue.value=!1}}function Je(){v.nodeId="",v.failureThreshold=5,v.successThreshold=2,v.openTimeout=6e4}function Ve(){g.nodeId="",g.checkType="heartbeat",g.status="healthy",g.metrics=""}function Ge(){_.nodeId="",_.min=5,_.max=50,_.idleTimeout=3e5}return pt(R),(r,n)=>{const u=m("a-button"),j=m("a-menu-item"),C=m("a-menu"),pe=m("a-dropdown"),oe=m("a-space"),E=m("a-statistic"),L=m("a-card"),H=m("a-col"),Qe=m("a-row"),M=m("a-radio-button"),me=m("a-radio-group"),q=m("a-tag"),ze=m("a-popconfirm"),ne=m("a-empty"),se=m("a-table"),le=m("a-tab-pane"),We=m("a-progress"),re=m("a-input"),he=m("a-descriptions-item"),Ye=m("a-descriptions"),Xe=m("a-tabs"),w=m("a-form-item"),U=m("a-input-number"),ke=m("a-form"),ye=m("a-modal"),je=m("a-select-option"),Pe=m("a-select"),Ze=m("a-textarea");return f(),I("div",null,[A("div",It,[A("div",null,[A("h2",At,c(s(e)("federation.title")),1),A("p",wt,c(s(e)("federation.subtitle")),1)]),t(oe,null,{default:a(()=>[t(u,{loading:y.value,onClick:R},{icon:a(()=>[t(s(st))]),default:a(()=>[p(" "+c(s(e)("federation.refresh")),1)]),_:1},8,["loading"]),t(pe,null,{overlay:a(()=>[t(C,null,{default:a(()=>[t(j,{key:"register",onClick:n[0]||(n[0]=o=>W.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.register")),1)]),_:1}),t(j,{key:"check",onClick:n[1]||(n[1]=o=>Y.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.check")),1)]),_:1}),t(j,{key:"pool",onClick:n[2]||(n[2]=o=>X.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.pool")),1)]),_:1})]),_:1})]),default:a(()=>[t(u,{type:"primary"},{icon:a(()=>[t(s(lt))]),default:a(()=>[p(" "+c(s(e)("federation.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.breakers"),value:S.value.circuitBreakers.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(s(rt))]),_:1},8,["title","value"]),A("div",zt,c(s(e)("federation.stats.breakerSub",{closed:S.value.circuitBreakers.byState.closed||0,open:S.value.circuitBreakers.byState.open||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.checks"),value:S.value.healthChecks.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(s(it))]),_:1},8,["title","value"]),A("div",jt,c(s(e)("federation.stats.checkSub",{healthy:S.value.healthChecks.byStatus.healthy||0,unhealthy:S.value.healthChecks.byStatus.unhealthy||0})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.pools"),value:S.value.connectionPools.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(s(ut))]),_:1},8,["title","value"]),A("div",Pt,c(s(e)("federation.stats.poolSub",{active:S.value.connectionPools.totalActive,idle:S.value.connectionPools.totalIdle})),1)]),_:1})]),_:1}),t(H,{xs:12,sm:8,lg:5},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.degraded"),value:Te.value,"value-style":{color:Te.value>0?"#faad14":"#8c8c8c",fontSize:"20px"}},{prefix:a(()=>[t(s(ct))]),_:1},8,["title","value","value-style"]),A("div",$t,c(s(e)("federation.stats.degradedSub",{halfOpen:S.value.circuitBreakers.byState.half_open||0})),1)]),_:1})]),_:1}),t(H,{xs:24,sm:8,lg:4},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:s(e)("federation.stats.availability"),value:Se.value,suffix:"%",precision:0,"value-style":{color:Ae(Se.value),fontSize:"20px"}},{prefix:a(()=>[t(s(dt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),t(Xe,{activeKey:xe.value,"onUpdate:activeKey":n[7]||(n[7]=o=>xe.value=o),class:"fed-tabs"},{default:a(()=>[t(le,{key:"breakers",tab:s(e)("federation.tabs.breakers")},{default:a(()=>[A("div",Ft,[t(me,{value:V.value,"onUpdate:value":n[3]||(n[3]=o=>V.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,K(s(Fe),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(ee(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Re.value,"data-source":Me.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="state"?(f(),T(q,{key:0,color:Ue(d.state)},{default:a(()=>[p(c(ee(d.state)),1)]),_:2},1032,["color"])):o.key==="failure"?(f(),I("span",Rt,c(d.failureCount)+" / "+c(d.failureThreshold),1)):o.key==="success"?(f(),I("span",Bt,c(d.successCount)+" / "+c(d.successThreshold),1)):o.key==="updatedAt"?(f(),I("span",Lt,c(s(ie)(d.updatedAt)),1)):o.key==="action"?(f(),T(oe,{key:4,size:4},{default:a(()=>[t(u,{size:"small",danger:"",onClick:O=>ae(d,"failure")},{default:a(()=>[p(c(s(e)("federation.breakerActions.failure")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>ae(d,"success")},{default:a(()=>[p(c(s(e)("federation.breakerActions.success")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"dashed",onClick:O=>ae(d,"half-open")},{default:a(()=>[p(c(s(e)("federation.breakerActions.halfOpen")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>ae(d,"reset")},{default:a(()=>[p(c(s(e)("federation.breakerActions.reset")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.breakerActions.removeConfirm"),onConfirm:O=>Ke(d)},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(c(s(e)("federation.breakerActions.remove")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):J("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.breakers")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"checks",tab:s(e)("federation.tabs.checks")},{default:a(()=>[A("div",Ot,[t(me,{value:G.value,"onUpdate:value":n[4]||(n[4]=o=>G.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allMetrics")),1)]),_:1}),(f(!0),I(D,null,K(s($e),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t(me,{value:Q.value,"onUpdate:value":n[5]||(n[5]=o=>Q.value=o),size:"small"},{default:a(()=>[t(M,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,K(s(be),o=>(f(),T(M,{key:o,value:o},{default:a(()=>[p(c(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Be.value,"data-source":qe.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="checkId"?(f(),I("span",Mt,c(d.checkId.slice(0,12)),1)):o.key==="checkType"?(f(),T(q,{key:1,color:"blue"},{default:a(()=>[p(c(te(d.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:2,color:de(d.status)},{default:a(()=>[p(c(N(d.status)),1)]),_:2},1032,["color"])):o.key==="metrics"?(f(),I("span",qt,c(Ne(d.metrics||"",50)),1)):o.key==="checkedAt"?(f(),I("span",Ut,c(s(ie)(d.checkedAt)),1)):J("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.checks")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"pools",tab:s(e)("federation.tabs.pools")},{default:a(()=>[t(se,{columns:Le.value,"data-source":Ce.value,pagination:{pageSize:20,showTotal:o=>s(e)("federation.totals.rows",{count:o})},size:"small",loading:y.value,"row-key":"key",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="utilization"?(f(),T(We,{key:0,percent:Ie(d),"stroke-color":Ae(Ie(d)),size:"small"},null,8,["percent","stroke-color"])):o.key==="createdAt"?(f(),I("span",Nt,c(s(ie)(d.createdAt)),1)):o.key==="action"?(f(),T(oe,{key:2,size:4},{default:a(()=>[t(u,{size:"small",type:"primary",onClick:O=>fe(d,"acquire")},{default:a(()=>[p(c(s(e)("federation.poolActions.acquire")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:O=>fe(d,"release")},{default:a(()=>[p(c(s(e)("federation.poolActions.release")),1)]),_:1},8,["onClick"]),t(ze,{title:s(e)("federation.poolActions.destroyConfirm"),onConfirm:O=>fe(d,"destroy")},{default:a(()=>[t(u,{size:"small",danger:"",type:"text"},{default:a(()=>[p(c(s(e)("federation.poolActions.destroy")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):J("",!0)]),emptyText:a(()=>[t(ne,{image:s(b),description:s(e)("federation.empty.pools")},null,8,["image","description"])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(le,{key:"node-health",tab:s(e)("federation.tabs.nodeHealth")},{default:a(()=>[t(L,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:a(()=>[t(oe,null,{default:a(()=>[t(re,{value:Z.value,"onUpdate:value":n[6]||(n[6]=o=>Z.value=o),placeholder:s(e)("federation.nodeHealth.inputPlaceholder"),style:{width:"240px"},"allow-clear":"",onPressEnter:we},null,8,["value","placeholder"]),t(u,{type:"primary",loading:ue.value,onClick:we},{icon:a(()=>[t(s(ft))]),default:a(()=>[p(" "+c(s(e)("federation.nodeHealth.query")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),$.value?(f(),T(L,{key:0,style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(Ye,{column:3,size:"small",bordered:""},{default:a(()=>[t(he,{label:s(e)("federation.nodeHealth.node")},{default:a(()=>[A("span",Et,c($.value.nodeId),1)]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.status")},{default:a(()=>[t(q,{color:de($.value.status)},{default:a(()=>[p(c(N($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(he,{label:s(e)("federation.nodeHealth.checkCount")},{default:a(()=>[p(c($.value.checks),1)]),_:1},8,["label"])]),_:1}),A("div",Ht,[A("h4",Dt,c(s(e)("federation.nodeHealth.latestTitle")),1),$.value.latestChecks.length?(f(),T(se,{key:1,columns:Oe.value,"data-source":$.value.latestChecks,pagination:!1,size:"small","row-key":"checkType",style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="checkType"?(f(),T(q,{key:0,color:"blue"},{default:a(()=>[p(c(te(d.checkType)),1)]),_:2},1024)):o.key==="status"?(f(),T(q,{key:1,color:de(d.status)},{default:a(()=>[p(c(N(d.status)),1)]),_:2},1032,["color"])):o.key==="checkedAt"?(f(),I("span",Kt,c(s(ie)(d.checkedAt)),1)):J("",!0)]),_:1},8,["columns","data-source"])):(f(),T(ne,{key:0,image:s(b),description:s(e)("federation.empty.noLatest")},null,8,["image","description"]))])]),_:1})):J("",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(ye,{open:W.value,"onUpdate:open":n[12]||(n[12]=o=>W.value=o),title:s(e)("federation.register.title"),"confirm-loading":z.value,onOk:Ee},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.register.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:v.nodeId,"onUpdate:value":n[8]||(n[8]=o=>v.nodeId=o),placeholder:s(e)("federation.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.failureThresholdLabel")},{default:a(()=>[t(U,{value:v.failureThreshold,"onUpdate:value":n[9]||(n[9]=o=>v.failureThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.successThresholdLabel")},{default:a(()=>[t(U,{value:v.successThreshold,"onUpdate:value":n[10]||(n[10]=o=>v.successThreshold=o),min:1,max:100,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.register.openTimeoutLabel")},{default:a(()=>[t(U,{value:v.openTimeout,"onUpdate:value":n[11]||(n[11]=o=>v.openTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:Y.value,"onUpdate:open":n[17]||(n[17]=o=>Y.value=o),title:s(e)("federation.check.title"),"confirm-loading":z.value,onOk:He},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.check.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:g.nodeId,"onUpdate:value":n[13]||(n[13]=o=>g.nodeId=o),placeholder:s(e)("federation.check.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricLabel"),required:""},{default:a(()=>[t(Pe,{value:g.checkType,"onUpdate:value":n[14]||(n[14]=o=>g.checkType=o)},{default:a(()=>[(f(!0),I(D,null,K(s($e),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(c(te(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.statusLabel"),required:""},{default:a(()=>[t(Pe,{value:g.status,"onUpdate:value":n[15]||(n[15]=o=>g.status=o)},{default:a(()=>[(f(!0),I(D,null,K(s(be),o=>(f(),T(je,{key:o,value:o},{default:a(()=>[p(c(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.check.metricsLabel")},{default:a(()=>[t(Ze,{value:g.metrics,"onUpdate:value":n[16]||(n[16]=o=>g.metrics=o),rows:3,placeholder:s(e)("federation.check.metricsPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"]),t(ye,{open:X.value,"onUpdate:open":n[22]||(n[22]=o=>X.value=o),title:s(e)("federation.pool.title"),"confirm-loading":z.value,onOk:De},{default:a(()=>[t(ke,{layout:"vertical"},{default:a(()=>[t(w,{label:s(e)("federation.pool.nodeIdLabel"),required:""},{default:a(()=>[t(re,{value:_.nodeId,"onUpdate:value":n[18]||(n[18]=o=>_.nodeId=o),placeholder:s(e)("federation.pool.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.minLabel")},{default:a(()=>[t(U,{value:_.min,"onUpdate:value":n[19]||(n[19]=o=>_.min=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.maxLabel")},{default:a(()=>[t(U,{value:_.max,"onUpdate:value":n[20]||(n[20]=o=>_.max=o),min:1,max:500,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),t(w,{label:s(e)("federation.pool.idleTimeoutLabel")},{default:a(()=>[t(U,{value:_.idleTimeout,"onUpdate:value":n[21]||(n[21]=o=>_.idleTimeout=o),min:1e3,step:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}},Yt=et(Jt,[["__scopeId","data-v-45647e41"]]);export{Yt as default};
@@ -1 +1 @@
1
- import{c as I}from"./createContext-DgOciZHM.js";import{w as p,i as u,e as C,d as i,g as f,f as c,r as x,p as a}from"./vendor-Ci2pTZ_t.js";const r=Symbol("ContextProps"),s=Symbol("InternalContextProps"),S=function(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c(()=>!0);const e=x(new Map),t=(m,v)=>{e.value.set(m,v),e.value=new Map(e.value)},F=m=>{e.value.delete(m),e.value=new Map(e.value)};p([o,e],()=>{}),a(r,n),a(s,{addFormItemField:t,removeFormItemField:F})},l={id:c(()=>{}),onFieldBlur:()=>{},onFieldChange:()=>{},clearValidate:()=>{}},d={addFormItemField:()=>{},removeFormItemField:()=>{}},b=()=>{const n=u(s,d),o=Symbol("FormItemFieldKey"),e=f();return n.addFormItemField(o,e.type),C(()=>{n.removeFormItemField(o)}),a(s,d),a(r,l),u(r,l)},K=i({compatConfig:{MODE:3},name:"AFormItemRest",setup(n,o){let{slots:e}=o;return a(s,d),a(r,l),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}}),g=I({}),M=i({name:"NoFormStatus",setup(n,o){let{slots:e}=o;return g.useProvide({}),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}});export{g as F,M as N,b as a,K as b,S as u};
1
+ import{c as I}from"./createContext-C7gBVuRm.js";import{w as p,i as u,e as C,d as i,g as f,f as c,r as x,p as a}from"./vendor-Ci2pTZ_t.js";const r=Symbol("ContextProps"),s=Symbol("InternalContextProps"),S=function(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c(()=>!0);const e=x(new Map),t=(m,v)=>{e.value.set(m,v),e.value=new Map(e.value)},F=m=>{e.value.delete(m),e.value=new Map(e.value)};p([o,e],()=>{}),a(r,n),a(s,{addFormItemField:t,removeFormItemField:F})},l={id:c(()=>{}),onFieldBlur:()=>{},onFieldChange:()=>{},clearValidate:()=>{}},d={addFormItemField:()=>{},removeFormItemField:()=>{}},b=()=>{const n=u(s,d),o=Symbol("FormItemFieldKey"),e=f();return n.addFormItemField(o,e.type),C(()=>{n.removeFormItemField(o)}),a(s,d),a(r,l),u(r,l)},K=i({compatConfig:{MODE:3},name:"AFormItemRest",setup(n,o){let{slots:e}=o;return a(s,d),a(r,l),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}}),g=I({}),M=i({name:"NoFormStatus",setup(n,o){let{slots:e}=o;return g.useProvide({}),()=>{var t;return(t=e.default)===null||t===void 0?void 0:t.call(e)}}});export{g as F,M as N,b as a,K as b,S as u};
@@ -1,2 +1,2 @@
1
- import{_ as te,b as ae,u as oe,d as f}from"./index-D8S-7oDQ.js";import{R as se,af as le,t as G,aA as q,aB as ie}from"./icons-B2G69bhT.js";import{M as j,R as r,P as i,u as a,c as s,N as o,r as n,K as p,L as g,O as d,Q as _,S as x}from"./vendor-Ci2pTZ_t.js";const ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},re={class:"page-title"},ue={class:"page-sub"},ce={key:0,style:{"margin-bottom":"16px"}},de={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},pe={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},me={style:{flex:"1","min-width":"200px"}},ge={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},ve={style:{"min-width":"140px"}},fe={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},_e={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},ye={style:{flex:"1","min-width":"200px"}},be={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},xe={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},he={style:{color:"var(--text-secondary)"}},ke={__name:"Git",setup(we){const{t:e}=ae(),L=oe(),V=n("git"),A=n(!1),C=n(""),D=n(""),O=n(0),R=n(!1),h=n(""),F=n(!1),P=n(!1),S=n(""),E=n("markdown"),I=n(!1),B=n("./site"),T=n(!1),v=n(""),k=n(!1),w=n("");function H(l){const t=l.split(`
2
- `);let u="",c=0;for(const y of t){const b=y.match(/On branch\s+(.+)/)||y.match(/分支\s+(.+)/);b&&(u=b[1].trim());const M=y.trim();/^(M|A|D|R|C|U|\?\?|MM|AM|AD)\s/.test(M)&&c++,/^(modified|new file|deleted|renamed):/i.test(M)&&c++}return{branch:u,changed:c}}async function z(){A.value=!0;try{const{output:l}=await L.execute("git status",15e3);C.value=l;const t=H(l);D.value=t.branch,O.value=t.changed}catch(l){f.error(e("git.messages.statusFailed",{err:l.message})),C.value=""}finally{A.value=!1}}function Q(){P.value=!0}async function W(){P.value=!1,R.value=!0,h.value="";try{const{output:l}=await L.execute("git auto-commit",3e4);h.value=l,F.value=!l.includes("✖")&&!l.toLowerCase().includes("error"),F.value&&f.success(e("git.messages.commitOk")),await z()}catch(l){h.value=e("git.messages.commitFailedDetail",{err:l.message}),F.value=!1,f.error(e("git.messages.commitFailedToast"))}finally{R.value=!1}}async function J(){const l=S.value.trim();if(!l){f.warning(e("git.messages.importPathRequired"));return}I.value=!0,v.value="",w.value="";try{const t=`import ${E.value} ${l}`,{output:u}=await L.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.importIssue":"git.io.importDone"),c||f.success(e("git.messages.importOk"))}catch(t){v.value=e("git.messages.importFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.importFailed"))}finally{I.value=!1}}async function X(){const l=B.value.trim();if(!l){f.warning(e("git.messages.exportPathRequired"));return}T.value=!0,v.value="",w.value="";try{const t=`export site -o ${l}`,{output:u}=await L.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.exportIssue":"git.io.exportDone"),c||f.success(e("git.messages.exportOk"))}catch(t){v.value=e("git.messages.exportFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.exportFailed"))}finally{T.value=!1}}return(l,t)=>{const u=p("a-button"),c=p("a-space"),y=p("a-tag"),b=p("a-card"),M=p("a-empty"),N=p("a-alert"),$=p("a-tab-pane"),K=p("a-input"),U=p("a-select-option"),Y=p("a-select"),Z=p("a-tabs"),ee=p("a-modal");return g(),j("div",null,[r("div",ne,[r("div",null,[r("h2",re,i(a(e)("git.title")),1),r("p",ue,i(a(e)("git.subtitle")),1)])]),s(Z,{activeKey:V.value,"onUpdate:activeKey":t[5]||(t[5]=m=>V.value=m),type:"card"},{default:o(()=>[s($,{key:"git"},{tab:o(()=>[s(a(G)),d(" "+i(a(e)("git.tabs.git")),1)]),default:o(()=>[s(c,{style:{"margin-bottom":"16px"}},{default:o(()=>[s(u,{type:"primary",loading:A.value,onClick:z},{icon:o(()=>[s(a(se))]),default:o(()=>[d(" "+i(a(e)("git.actions.refresh")),1)]),_:1},8,["loading"]),s(u,{loading:R.value,onClick:Q},{icon:o(()=>[s(a(le))]),default:o(()=>[d(" "+i(a(e)("git.actions.autoCommit")),1)]),_:1},8,["loading"])]),_:1}),D.value||O.value>0?(g(),j("div",ce,[s(c,null,{default:o(()=>[D.value?(g(),_(y,{key:0,color:"blue"},{default:o(()=>[s(a(G)),d(" "+i(D.value),1)]),_:1})):x("",!0),O.value>0?(g(),_(y,{key:1,color:"orange"},{default:o(()=>[d(i(a(e)("git.status.changedCount",{count:O.value})),1)]),_:1})):C.value&&O.value===0?(g(),_(y,{key:2,color:"green"},{default:o(()=>[d(i(a(e)("git.status.clean")),1)]),_:1})):x("",!0)]),_:1})])):x("",!0),C.value?(g(),_(b,{key:1,bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)"}},{default:o(()=>[r("pre",de,i(C.value),1)]),_:1})):A.value?x("",!0):(g(),_(M,{key:2,description:a(e)("git.status.emptyHint"),style:{padding:"60px 0"}},null,8,["description"])),h.value?(g(),_(N,{key:3,message:F.value?a(e)("git.status.commitSuccessAlert"):a(e)("git.status.commitResultAlert"),description:h.value,type:F.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[0]||(t[0]=m=>h.value="")},null,8,["message","description","type"])):x("",!0)]),_:1}),s($,{key:"io"},{tab:o(()=>[s(a(q)),d(" "+i(a(e)("git.tabs.io")),1)]),default:o(()=>[s(b,{title:a(e)("git.import.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",pe,[r("div",me,[r("label",ge,i(a(e)("git.import.pathLabel")),1),s(K,{value:S.value,"onUpdate:value":t[1]||(t[1]=m=>S.value=m),placeholder:a(e)("git.import.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),r("div",ve,[r("label",fe,i(a(e)("git.import.formatLabel")),1),s(Y,{value:E.value,"onUpdate:value":t[2]||(t[2]=m=>E.value=m),style:{width:"140px"}},{default:o(()=>[s(U,{value:"markdown"},{default:o(()=>[...t[7]||(t[7]=[d("Markdown",-1)])]),_:1}),s(U,{value:"pdf"},{default:o(()=>[...t[8]||(t[8]=[d("PDF",-1)])]),_:1}),s(U,{value:"evernote"},{default:o(()=>[...t[9]||(t[9]=[d("Evernote",-1)])]),_:1})]),_:1},8,["value"])]),s(u,{type:"primary",loading:I.value,disabled:!S.value.trim(),onClick:J},{icon:o(()=>[s(a(q))]),default:o(()=>[d(" "+i(a(e)("git.import.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),s(b,{title:a(e)("git.export.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",_e,[r("div",ye,[r("label",be,i(a(e)("git.export.pathLabel")),1),s(K,{value:B.value,"onUpdate:value":t[3]||(t[3]=m=>B.value=m),placeholder:a(e)("git.export.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),s(u,{type:"primary",loading:T.value,disabled:!B.value.trim(),onClick:X},{icon:o(()=>[s(a(ie))]),default:o(()=>[d(" "+i(a(e)("git.export.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),v.value?(g(),_(N,{key:0,message:k.value?a(e)("git.io.successAlert"):a(e)("git.io.resultAlert"),description:v.value,type:k.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[4]||(t[4]=m=>v.value="")},null,8,["message","description","type"])):x("",!0),w.value?(g(),_(b,{key:1,title:a(e)("git.io.outputCardTitle"),bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","margin-top":"16px"}},{default:o(()=>[r("pre",xe,i(w.value),1)]),_:1},8,["title"])):x("",!0)]),_:1})]),_:1},8,["activeKey"]),s(ee,{open:P.value,"onUpdate:open":t[6]||(t[6]=m=>P.value=m),title:a(e)("git.confirm.title"),"ok-text":a(e)("git.confirm.ok"),"cancel-text":a(e)("common.cancel"),"confirm-loading":R.value,onOk:W},{default:o(()=>[r("p",he,[d(i(a(e)("git.confirm.intro1"))+" ",1),t[10]||(t[10]=r("code",null,"git auto-commit",-1)),d(" "+i(a(e)("git.confirm.intro2")),1)])]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])])}}},Le=te(ke,[["__scopeId","data-v-9c41946e"]]);export{Le as default};
1
+ import{_ as te,b as ae,u as oe,d as f}from"./index-BxjOmfVA.js";import{R as se,ag as le,t as G,aC as q,aD as ie}from"./icons-B2mcO3YM.js";import{M as j,R as r,P as i,u as a,c as s,N as o,r as n,K as p,L as g,O as d,Q as _,S as x}from"./vendor-Ci2pTZ_t.js";const ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},re={class:"page-title"},ue={class:"page-sub"},ce={key:0,style:{"margin-bottom":"16px"}},de={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},pe={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},me={style:{flex:"1","min-width":"200px"}},ge={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},ve={style:{"min-width":"140px"}},fe={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},_e={style:{display:"flex",gap:"12px","align-items":"flex-end","flex-wrap":"wrap"}},ye={style:{flex:"1","min-width":"200px"}},be={style:{display:"block","margin-bottom":"6px",color:"var(--text-secondary)","font-size":"13px"}},xe={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-primary)","font-family":"'Cascadia Code', 'Fira Code', Consolas, monospace","font-size":"13px","line-height":"1.7",margin:"0"}},he={style:{color:"var(--text-secondary)"}},ke={__name:"Git",setup(we){const{t:e}=ae(),L=oe(),V=n("git"),D=n(!1),C=n(""),A=n(""),O=n(0),R=n(!1),h=n(""),F=n(!1),P=n(!1),S=n(""),E=n("markdown"),I=n(!1),M=n("./site"),T=n(!1),v=n(""),k=n(!1),w=n("");function H(l){const t=l.split(`
2
+ `);let u="",c=0;for(const y of t){const b=y.match(/On branch\s+(.+)/)||y.match(/分支\s+(.+)/);b&&(u=b[1].trim());const B=y.trim();/^(M|A|D|R|C|U|\?\?|MM|AM|AD)\s/.test(B)&&c++,/^(modified|new file|deleted|renamed):/i.test(B)&&c++}return{branch:u,changed:c}}async function z(){D.value=!0;try{const{output:l}=await L.execute("git status",15e3);C.value=l;const t=H(l);A.value=t.branch,O.value=t.changed}catch(l){f.error(e("git.messages.statusFailed",{err:l.message})),C.value=""}finally{D.value=!1}}function Q(){P.value=!0}async function W(){P.value=!1,R.value=!0,h.value="";try{const{output:l}=await L.execute("git auto-commit",3e4);h.value=l,F.value=!l.includes("✖")&&!l.toLowerCase().includes("error"),F.value&&f.success(e("git.messages.commitOk")),await z()}catch(l){h.value=e("git.messages.commitFailedDetail",{err:l.message}),F.value=!1,f.error(e("git.messages.commitFailedToast"))}finally{R.value=!1}}async function J(){const l=S.value.trim();if(!l){f.warning(e("git.messages.importPathRequired"));return}I.value=!0,v.value="",w.value="";try{const t=`import ${E.value} ${l}`,{output:u}=await L.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.importIssue":"git.io.importDone"),c||f.success(e("git.messages.importOk"))}catch(t){v.value=e("git.messages.importFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.importFailed"))}finally{I.value=!1}}async function X(){const l=M.value.trim();if(!l){f.warning(e("git.messages.exportPathRequired"));return}T.value=!0,v.value="",w.value="";try{const t=`export site -o ${l}`,{output:u}=await L.execute(t,6e4);w.value=u;const c=u.includes("✖")||u.toLowerCase().includes("error");k.value=!c,v.value=e(c?"git.io.exportIssue":"git.io.exportDone"),c||f.success(e("git.messages.exportOk"))}catch(t){v.value=e("git.messages.exportFailedDetail",{err:t.message}),k.value=!1,f.error(e("git.messages.exportFailed"))}finally{T.value=!1}}return(l,t)=>{const u=p("a-button"),c=p("a-space"),y=p("a-tag"),b=p("a-card"),B=p("a-empty"),N=p("a-alert"),$=p("a-tab-pane"),K=p("a-input"),U=p("a-select-option"),Y=p("a-select"),Z=p("a-tabs"),ee=p("a-modal");return g(),j("div",null,[r("div",ne,[r("div",null,[r("h2",re,i(a(e)("git.title")),1),r("p",ue,i(a(e)("git.subtitle")),1)])]),s(Z,{activeKey:V.value,"onUpdate:activeKey":t[5]||(t[5]=m=>V.value=m),type:"card"},{default:o(()=>[s($,{key:"git"},{tab:o(()=>[s(a(G)),d(" "+i(a(e)("git.tabs.git")),1)]),default:o(()=>[s(c,{style:{"margin-bottom":"16px"}},{default:o(()=>[s(u,{type:"primary",loading:D.value,onClick:z},{icon:o(()=>[s(a(se))]),default:o(()=>[d(" "+i(a(e)("git.actions.refresh")),1)]),_:1},8,["loading"]),s(u,{loading:R.value,onClick:Q},{icon:o(()=>[s(a(le))]),default:o(()=>[d(" "+i(a(e)("git.actions.autoCommit")),1)]),_:1},8,["loading"])]),_:1}),A.value||O.value>0?(g(),j("div",ce,[s(c,null,{default:o(()=>[A.value?(g(),_(y,{key:0,color:"blue"},{default:o(()=>[s(a(G)),d(" "+i(A.value),1)]),_:1})):x("",!0),O.value>0?(g(),_(y,{key:1,color:"orange"},{default:o(()=>[d(i(a(e)("git.status.changedCount",{count:O.value})),1)]),_:1})):C.value&&O.value===0?(g(),_(y,{key:2,color:"green"},{default:o(()=>[d(i(a(e)("git.status.clean")),1)]),_:1})):x("",!0)]),_:1})])):x("",!0),C.value?(g(),_(b,{key:1,bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)"}},{default:o(()=>[r("pre",de,i(C.value),1)]),_:1})):D.value?x("",!0):(g(),_(B,{key:2,description:a(e)("git.status.emptyHint"),style:{padding:"60px 0"}},null,8,["description"])),h.value?(g(),_(N,{key:3,message:F.value?a(e)("git.status.commitSuccessAlert"):a(e)("git.status.commitResultAlert"),description:h.value,type:F.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[0]||(t[0]=m=>h.value="")},null,8,["message","description","type"])):x("",!0)]),_:1}),s($,{key:"io"},{tab:o(()=>[s(a(q)),d(" "+i(a(e)("git.tabs.io")),1)]),default:o(()=>[s(b,{title:a(e)("git.import.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",pe,[r("div",me,[r("label",ge,i(a(e)("git.import.pathLabel")),1),s(K,{value:S.value,"onUpdate:value":t[1]||(t[1]=m=>S.value=m),placeholder:a(e)("git.import.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),r("div",ve,[r("label",fe,i(a(e)("git.import.formatLabel")),1),s(Y,{value:E.value,"onUpdate:value":t[2]||(t[2]=m=>E.value=m),style:{width:"140px"}},{default:o(()=>[s(U,{value:"markdown"},{default:o(()=>[...t[7]||(t[7]=[d("Markdown",-1)])]),_:1}),s(U,{value:"pdf"},{default:o(()=>[...t[8]||(t[8]=[d("PDF",-1)])]),_:1}),s(U,{value:"evernote"},{default:o(()=>[...t[9]||(t[9]=[d("Evernote",-1)])]),_:1})]),_:1},8,["value"])]),s(u,{type:"primary",loading:I.value,disabled:!S.value.trim(),onClick:J},{icon:o(()=>[s(a(q))]),default:o(()=>[d(" "+i(a(e)("git.import.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),s(b,{title:a(e)("git.export.cardTitle"),bordered:!1,style:{background:"var(--bg-card)",border:"1px solid var(--border-color)","margin-bottom":"16px"}},{default:o(()=>[r("div",_e,[r("div",ye,[r("label",be,i(a(e)("git.export.pathLabel")),1),s(K,{value:M.value,"onUpdate:value":t[3]||(t[3]=m=>M.value=m),placeholder:a(e)("git.export.pathPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),s(u,{type:"primary",loading:T.value,disabled:!M.value.trim(),onClick:X},{icon:o(()=>[s(a(ie))]),default:o(()=>[d(" "+i(a(e)("git.export.submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["title"]),v.value?(g(),_(N,{key:0,message:k.value?a(e)("git.io.successAlert"):a(e)("git.io.resultAlert"),description:v.value,type:k.value?"success":"info","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:t[4]||(t[4]=m=>v.value="")},null,8,["message","description","type"])):x("",!0),w.value?(g(),_(b,{key:1,title:a(e)("git.io.outputCardTitle"),bordered:!1,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","margin-top":"16px"}},{default:o(()=>[r("pre",xe,i(w.value),1)]),_:1},8,["title"])):x("",!0)]),_:1})]),_:1},8,["activeKey"]),s(ee,{open:P.value,"onUpdate:open":t[6]||(t[6]=m=>P.value=m),title:a(e)("git.confirm.title"),"ok-text":a(e)("git.confirm.ok"),"cancel-text":a(e)("common.cancel"),"confirm-loading":R.value,onOk:W},{default:o(()=>[r("p",he,[d(i(a(e)("git.confirm.intro1"))+" ",1),t[10]||(t[10]=r("code",null,"git auto-commit",-1)),d(" "+i(a(e)("git.confirm.intro2")),1)])]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])])}}},Le=te(ke,[["__scopeId","data-v-9c41946e"]]);export{Le as default};