chainlesschain 0.160.1 → 0.161.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +6 -6
  3. package/src/assets/web-panel/.build-hash +1 -1
  4. package/src/assets/web-panel/assets/AIOps-FON6GZIt.js +1 -0
  5. package/src/assets/web-panel/assets/{ActionButton-5QD5uzWP.js → ActionButton-Byb_P_P9.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-D1JxsGBN.js → Analytics-CDG1OwOr.js} +2 -2
  7. package/src/assets/web-panel/assets/AppLayout-lM1Y2Wgo.js +1 -0
  8. package/src/assets/web-panel/assets/Audit-p4krng5l.js +1 -0
  9. package/src/assets/web-panel/assets/Backup-G6AQe6k8.js +1 -0
  10. package/src/assets/web-panel/assets/{BaseInput-joQlVauq.js → BaseInput-tUASXi57.js} +1 -1
  11. package/src/assets/web-panel/assets/Chat-B46MHHAs.js +2 -0
  12. package/src/assets/web-panel/assets/{Checkbox-OEOFA9GM.js → Checkbox-CfDbHGdU.js} +1 -1
  13. package/src/assets/web-panel/assets/Codegen-D1mQ03ap.js +1 -0
  14. package/src/assets/web-panel/assets/{Col-BnLUipDp.js → Col-C0wS_dvU.js} +1 -1
  15. package/src/assets/web-panel/assets/Community-CB4KQIpB.js +1 -0
  16. package/src/assets/web-panel/assets/Compact-CuVvz3Zf.js +1 -0
  17. package/src/assets/web-panel/assets/Compliance-D6bnHyjs.js +1 -0
  18. package/src/assets/web-panel/assets/{Cowork-CCgGSKVR.js → Cowork-Dh3yt9pL.js} +2 -2
  19. package/src/assets/web-panel/assets/{Cron-CZ5pjRxn.js → Cron-DiuKXbnA.js} +2 -2
  20. package/src/assets/web-panel/assets/Crosschain-BFgMa5sQ.js +1 -0
  21. package/src/assets/web-panel/assets/{DID-DPZKMApP.js → DID-Dx7CFjrq.js} +2 -2
  22. package/src/assets/web-panel/assets/Dashboard-D3QHFHex.js +3 -0
  23. package/src/assets/web-panel/assets/{Dropdown-CeywCcVQ.js → Dropdown-sMGnnzUo.js} +1 -1
  24. package/src/assets/web-panel/assets/Federation-CGt7CYhN.js +1 -0
  25. package/src/assets/web-panel/assets/{FormItemContext-CFSiPqbu.js → FormItemContext-DuVk39z3.js} +1 -1
  26. package/src/assets/web-panel/assets/{Git-CjVRJDLg.js → Git-glb99UzZ.js} +2 -2
  27. package/src/assets/web-panel/assets/Governance-CQXGee_r.js +1 -0
  28. package/src/assets/web-panel/assets/Inference-Czm-Q3w3.js +1 -0
  29. package/src/assets/web-panel/assets/KnowledgeGraph-DFrr-B78.js +1 -0
  30. package/src/assets/web-panel/assets/{Logs-BD5C-wTx.js → Logs-ChGXdo0Q.js} +2 -2
  31. package/src/assets/web-panel/assets/Marketplace-DW6P2uIY.js +1 -0
  32. package/src/assets/web-panel/assets/{McpTools-x-Tibae-.js → McpTools-ChOwY-wy.js} +2 -2
  33. package/src/assets/web-panel/assets/{Memory-CR8LXq37.js → Memory-vIbbUTel.js} +2 -2
  34. package/src/assets/web-panel/assets/Mtc-60jSuMAz.js +6 -0
  35. package/src/assets/web-panel/assets/Mtc-Cc8OJxe_.css +1 -0
  36. package/src/assets/web-panel/assets/NLProgramming-fRrjhjpW.js +1 -0
  37. package/src/assets/web-panel/assets/{Notes-BYIn2GOe.js → Notes-C0zhC6_B.js} +3 -3
  38. package/src/assets/web-panel/assets/{Organization-CybJTFN9.js → Organization-Bebfm6lF.js} +4 -4
  39. package/src/assets/web-panel/assets/{Overflow-W4YLQ7yY.js → Overflow-D8ZjaRpc.js} +1 -1
  40. package/src/assets/web-panel/assets/{P2P-kVj43R4j.js → P2P-BjgamPxI.js} +2 -2
  41. package/src/assets/web-panel/assets/{Permissions-CfYE4XFJ.js → Permissions-uwoi4HnY.js} +2 -2
  42. package/src/assets/web-panel/assets/Pipeline-C2aHcq6n.js +1 -0
  43. package/src/assets/web-panel/assets/Privacy-lU34k_c5.js +1 -0
  44. package/src/assets/web-panel/assets/{ProjectSettings-cBqrIhNN.js → ProjectSettings-Dy-Iie9L.js} +2 -2
  45. package/src/assets/web-panel/assets/{Projects-BYY38oZd.js → Projects-B4Vt0iiH.js} +2 -2
  46. package/src/assets/web-panel/assets/{Providers-BsS27cWs.js → Providers-Cu9uRsVk.js} +2 -2
  47. package/src/assets/web-panel/assets/QuickAsk-BE29MB0d.js +1 -0
  48. package/src/assets/web-panel/assets/Recommend-DJ9nU8HM.js +1 -0
  49. package/src/assets/web-panel/assets/Reputation-ThffxFwr.js +1 -0
  50. package/src/assets/web-panel/assets/{Row-N-X7EJ3w.js → Row-CqBtO8lC.js} +1 -1
  51. package/src/assets/web-panel/assets/{RssFeed-D9TjnwgF.js → RssFeed-DaxFEUe6.js} +3 -3
  52. package/src/assets/web-panel/assets/Search-4zVFnx_Y.js +1 -0
  53. package/src/assets/web-panel/assets/{Security-DWbFJK10.js → Security-BEfSoaTM.js} +2 -2
  54. package/src/assets/web-panel/assets/{Services-BPUmhVoH.js → Services-DTAaoYJC.js} +2 -2
  55. package/src/assets/web-panel/assets/{Skeleton-Bo5qPHbE.js → Skeleton-CIZErmoY.js} +2 -2
  56. package/src/assets/web-panel/assets/Skills-CacIwBCt.js +1 -0
  57. package/src/assets/web-panel/assets/Sla-Si0g7a0u.js +1 -0
  58. package/src/assets/web-panel/assets/SpeechSettings-H19DqdAG.js +1 -0
  59. package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +1 -0
  60. package/src/assets/web-panel/assets/SyncSettings-bsC4-4rU.js +1 -0
  61. package/src/assets/web-panel/assets/Tasks-Bxlj8OVW.js +1 -0
  62. package/src/assets/web-panel/assets/Templates-B9YsJQcb.js +1 -0
  63. package/src/assets/web-panel/assets/Tenant-D4YncKb7.js +1 -0
  64. package/src/assets/web-panel/assets/Tokens-B2wJjOdI.js +1 -0
  65. package/src/assets/web-panel/assets/{Trigger-Bhjmjsc5.js → Trigger-DU9-3gN9.js} +1 -1
  66. package/src/assets/web-panel/assets/Trust-_yan18qg.js +1 -0
  67. package/src/assets/web-panel/assets/UkeySign-CZ7Xrq96.js +1 -0
  68. package/src/assets/web-panel/assets/VideoEditing-CUgere5i.js +1 -0
  69. package/src/assets/web-panel/assets/{Wallet-dcRAYsdL.js → Wallet-DSnzYVqY.js} +2 -2
  70. package/src/assets/web-panel/assets/{WebAuthn-oqIS5PCi.js → WebAuthn-De4aHZ87.js} +2 -2
  71. package/src/assets/web-panel/assets/WorkflowEditor-C-QNGwia.js +1 -0
  72. package/src/assets/web-panel/assets/chat-DFt6UJUS.js +1 -0
  73. package/src/assets/web-panel/assets/{colors-D2P6CqS5.js → colors-CHuBSydj.js} +1 -1
  74. package/src/assets/web-panel/assets/{compact-item-CG7qutT_.js → compact-item-DtCmGKIm.js} +1 -1
  75. package/src/assets/web-panel/assets/{createContext-y4UPKgbA.js → createContext-Cetup5Fb.js} +1 -1
  76. package/src/assets/web-panel/assets/{hasIn-Butbu9jZ.js → hasIn-Q509tIlQ.js} +1 -1
  77. package/src/assets/web-panel/assets/icons-zXb7lDZs.js +57 -0
  78. package/src/assets/web-panel/assets/{index-BEfvpbz-.js → index-0KFwdHZg.js} +1 -1
  79. package/src/assets/web-panel/assets/{index-Bs9aHxDD.js → index-7kdZ5ox5.js} +1 -1
  80. package/src/assets/web-panel/assets/index-B2f4ltyM.js +65 -0
  81. package/src/assets/web-panel/assets/{index-C_8hWf5_.js → index-B5d7Dkyp.js} +2 -2
  82. package/src/assets/web-panel/assets/index-BDK2Fkgd.js +13 -0
  83. package/src/assets/web-panel/assets/index-BJFH7IlV.js +21 -0
  84. package/src/assets/web-panel/assets/{index-89HJLKZ-.js → index-BTwIwesN.js} +1 -1
  85. package/src/assets/web-panel/assets/index-Bjz1Y3Gs.js +1 -0
  86. package/src/assets/web-panel/assets/index-BlPG_vWg.js +55 -0
  87. package/src/assets/web-panel/assets/{index-BtuwtDUE.js → index-BmHsGJ8F.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-CWh3IxEh.js → index-BvAwpPN9.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-YmGOWX7h.js → index-C2y5MxfU.js} +2 -2
  90. package/src/assets/web-panel/assets/{index-BYZPJS7A.js → index-C61WQXE3.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-BQr8Y0o5.js → index-C7baQwUM.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-B6U6cYUa.js → index-C8agLSzC.js} +8 -8
  93. package/src/assets/web-panel/assets/{index-DdgjeX4z.js → index-CJjwnpac.js} +1 -1
  94. package/src/assets/web-panel/assets/index-CRZ8WjUK.js +1 -0
  95. package/src/assets/web-panel/assets/index-CX7WO0g5.js +12 -0
  96. package/src/assets/web-panel/assets/index-CbQ3AZcJ.js +3 -0
  97. package/src/assets/web-panel/assets/{index-BvJgRWBq.js → index-CeXoNBLu.js} +2 -2
  98. package/src/assets/web-panel/assets/{index-C1ucrJLg.js → index-Ctdt2gEP.js} +1 -1
  99. package/src/assets/web-panel/assets/index-Cxk-8scO.js +1 -0
  100. package/src/assets/web-panel/assets/index-D0oJF6nX.js +7 -0
  101. package/src/assets/web-panel/assets/index-D7Smgwky.js +1 -0
  102. package/src/assets/web-panel/assets/index-DGAGIqDR.js +1 -0
  103. package/src/assets/web-panel/assets/index-DKWvx42k.js +1 -0
  104. package/src/assets/web-panel/assets/{index-Cc77JZKd.js → index-DVQSXYwb.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-vC5cTycG.js → index-DaMTgJkE.js} +2 -2
  106. package/src/assets/web-panel/assets/index-Dd68wDHG.js +12 -0
  107. package/src/assets/web-panel/assets/{index-BCQ0WlB2.js → index-Dem-mhfD.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-CYlDKn3O.js → index-Dq6E-pj8.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-Dx_ZTZo_.js → index-DuQfQVBe.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DLMJy9pE.js → index-HqJ94PSG.js} +4 -4
  111. package/src/assets/web-panel/assets/{index-B4Jfv4EB.js → index-R5D_-l07.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-DnI4Aq0q.js → index-SR2lFA_W.js} +2 -2
  113. package/src/assets/web-panel/assets/{index-BJN_3RTO.js → index-hSpRlh93.js} +1 -1
  114. package/src/assets/web-panel/assets/index-jfzI94IT.js +1 -0
  115. package/src/assets/web-panel/assets/{index-DrVnyYpX.js → index-nfLO3XrF.js} +1 -1
  116. package/src/assets/web-panel/assets/{initDefaultProps-CZRZ-1bk.js → initDefaultProps-D7iOaKOY.js} +1 -1
  117. package/src/assets/web-panel/assets/{motion-CvU8SiWF.js → motion-CvCFk7sy.js} +1 -1
  118. package/src/assets/web-panel/assets/{move-ipAfWhya.js → move-BVj5YZrV.js} +1 -1
  119. package/src/assets/web-panel/assets/{omit-D6bJEjz9.js → omit-N_JDguMt.js} +1 -1
  120. package/src/assets/web-panel/assets/{pickAttrs-Dpvzf7sL.js → pickAttrs-BWcuLN5j.js} +1 -1
  121. package/src/assets/web-panel/assets/{placementArrow-D_tEolP1.js → placementArrow--1l0FzZx.js} +1 -1
  122. package/src/assets/web-panel/assets/{responsiveObserve-BEFI7neO.js → responsiveObserve-CGX6EYRt.js} +1 -1
  123. package/src/assets/web-panel/assets/{slide-Bte_KOqM.js → slide-B3hJzlWm.js} +1 -1
  124. package/src/assets/web-panel/assets/{statusUtils-K4xaDRuO.js → statusUtils-BJuExZuw.js} +1 -1
  125. package/src/assets/web-panel/assets/{styleChecker-Cl9YgOVY.js → styleChecker-pshnIK0r.js} +1 -1
  126. package/src/assets/web-panel/assets/{useFlexGapSupport-DNstl1wK.js → useFlexGapSupport-3FQZdpBd.js} +1 -1
  127. package/src/assets/web-panel/assets/useFs-BW1piLQM.js +1 -0
  128. package/src/assets/web-panel/assets/{vnode-ChB-8cXr.js → vnode-D98L6HI1.js} +1 -1
  129. package/src/assets/web-panel/assets/{zoom-meTNBulL.js → zoom-DnmMtXgZ.js} +1 -1
  130. package/src/assets/web-panel/index.html +2 -2
  131. package/src/commands/crosschain.js +564 -8
  132. package/src/commands/mtc.js +1334 -0
  133. package/src/lib/config-manager.js +3 -1
  134. package/src/lib/cross-chain-mtc.js +904 -0
  135. package/src/lib/governance-v2-helpers.js +1 -1
  136. package/src/lib/sync-manager.js +119 -25
  137. package/src/assets/web-panel/assets/AIOps-BHiKMxFI.js +0 -1
  138. package/src/assets/web-panel/assets/AppLayout-DykU9tOE.js +0 -1
  139. package/src/assets/web-panel/assets/Audit-TGBqld9c.js +0 -1
  140. package/src/assets/web-panel/assets/Backup-DjpzIwA6.js +0 -1
  141. package/src/assets/web-panel/assets/Chat-9TYfosy-.js +0 -2
  142. package/src/assets/web-panel/assets/Codegen-5H5UgHJu.js +0 -1
  143. package/src/assets/web-panel/assets/Community-BF3R5GAl.js +0 -1
  144. package/src/assets/web-panel/assets/Compact-C1EkTFek.js +0 -1
  145. package/src/assets/web-panel/assets/Compliance-CpP-ODRU.js +0 -1
  146. package/src/assets/web-panel/assets/Crosschain-C0P-5sm3.js +0 -1
  147. package/src/assets/web-panel/assets/Dashboard-G-BDDAov.js +0 -3
  148. package/src/assets/web-panel/assets/Federation-DuFRY867.js +0 -1
  149. package/src/assets/web-panel/assets/Governance-C0lyocJc.js +0 -1
  150. package/src/assets/web-panel/assets/Inference-BVSAexgk.js +0 -1
  151. package/src/assets/web-panel/assets/KnowledgeGraph-SE4jCwIn.js +0 -1
  152. package/src/assets/web-panel/assets/Marketplace-CL93dFBs.js +0 -1
  153. package/src/assets/web-panel/assets/Mtc-C-PfF5B3.css +0 -1
  154. package/src/assets/web-panel/assets/Mtc-CEtRtMcc.js +0 -1
  155. package/src/assets/web-panel/assets/NLProgramming-B09F6gt2.js +0 -1
  156. package/src/assets/web-panel/assets/Pipeline-BVLo32Ak.js +0 -1
  157. package/src/assets/web-panel/assets/Privacy-Efyb3xpJ.js +0 -1
  158. package/src/assets/web-panel/assets/QuickAsk-6FgX9DC6.js +0 -1
  159. package/src/assets/web-panel/assets/Recommend-BvMXwWFN.js +0 -1
  160. package/src/assets/web-panel/assets/Reputation-DmwTtBfl.js +0 -1
  161. package/src/assets/web-panel/assets/Search-Hapv-QkV.js +0 -1
  162. package/src/assets/web-panel/assets/Skills-JJ8uInMW.js +0 -1
  163. package/src/assets/web-panel/assets/Sla-CEDF9zdV.js +0 -1
  164. package/src/assets/web-panel/assets/SpeechSettings-oIoX_vCx.js +0 -1
  165. package/src/assets/web-panel/assets/Tasks-Cx5wgv5Z.js +0 -1
  166. package/src/assets/web-panel/assets/Templates-BomcBlkN.js +0 -1
  167. package/src/assets/web-panel/assets/Tenant-BxSQZUNh.js +0 -1
  168. package/src/assets/web-panel/assets/Tokens-BlPPoB3C.js +0 -1
  169. package/src/assets/web-panel/assets/Trust-Dsjv7rkb.js +0 -1
  170. package/src/assets/web-panel/assets/UkeySign-Cux8_Ib_.js +0 -1
  171. package/src/assets/web-panel/assets/VideoEditing-BsVR1PN8.js +0 -1
  172. package/src/assets/web-panel/assets/WorkflowEditor-C_fYMBvB.js +0 -1
  173. package/src/assets/web-panel/assets/chat-BQ-Nk2XY.js +0 -1
  174. package/src/assets/web-panel/assets/icons-DvZE-RKs.js +0 -57
  175. package/src/assets/web-panel/assets/index-38mVlGHc.js +0 -1
  176. package/src/assets/web-panel/assets/index-B5FRjJMb.js +0 -1
  177. package/src/assets/web-panel/assets/index-B7FV5EnN.js +0 -1
  178. package/src/assets/web-panel/assets/index-BQfow_sh.js +0 -1
  179. package/src/assets/web-panel/assets/index-C1mK1Ga3.js +0 -1
  180. package/src/assets/web-panel/assets/index-C2K61jP8.js +0 -55
  181. package/src/assets/web-panel/assets/index-CAeKBs9n.js +0 -1
  182. package/src/assets/web-panel/assets/index-Ceaxjpqh.js +0 -13
  183. package/src/assets/web-panel/assets/index-Ci6jXp3l.js +0 -7
  184. package/src/assets/web-panel/assets/index-CyqU4Tck.js +0 -65
  185. package/src/assets/web-panel/assets/index-DtNHlrxp.js +0 -1
  186. package/src/assets/web-panel/assets/index-gWmZm8_Q.js +0 -21
  187. package/src/assets/web-panel/assets/index-hSilB_Q-.js +0 -12
  188. package/src/assets/web-panel/assets/index-qXvwlbkq.js +0 -3
  189. package/src/assets/web-panel/assets/index-rIbVsjde.js +0 -12
  190. package/src/assets/web-panel/assets/useFs-BD-YRwbU.js +0 -1
  191. package/src/assets/web-panel/assets/ws-D_5-FRIb.js +0 -1
@@ -1 +0,0 @@
1
- import{_ as st,a as it,M as rt,c as A}from"./index-CyqU4Tck.js";import{u as ut}from"./ws-D_5-FRIb.js";import{s as dt}from"./community-parser-CO25nZFt.js";import{R as ct,x as ye,al as ft,o as ze,a2 as pt,af as Ae,aK as Fe,G as gt,f as mt}from"./icons-DvZE-RKs.js";import{o as vt,M as c,R as v,P as i,c as t,N as a,K as g,r as w,L as u,O as f,u as _,F as P,_ as Q,Q as k,$ as je,S as p,f as Y,a as _e}from"./vendor-B6ToihkA.js";function B(n){const r=dt(n);if(!r)return null;try{return JSON.parse(r)}catch{}const l=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}const ne=Object.freeze(["react","vue","express","fastapi","spring_boot"]),se=Object.freeze(["critical","high","medium","low","info"]);function C(n,r=0){return typeof n=="number"&&Number.isFinite(n)?n:r}function Pe(n,r=null){if(n==null)return r;if(typeof n!="string")return n;try{return JSON.parse(n)}catch{return r}}function yt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,prompt:String(n.prompt||""),language:n.language??"",framework:n.framework??"",generatedCode:n.generated_code??n.generatedCode??"",fileCount:C(n.file_count??n.fileCount,0),tokenCount:C(n.token_count??n.tokenCount,0),metadata:n.metadata??null,createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function _t(n){const r=B(n);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function bt(n,r=0){return!n||typeof n!="object"?null:{key:r,rule:String(n.rule||""),severity:String(n.severity||"info").toLowerCase(),match:String(n.match||""),pattern:String(n.pattern||"")}}function kt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";if(!l)return null;const R=Pe(n.severity_summary??n.severitySummary,null)??n.severity_summary??n.severitySummary,S={};for(const E of se)S[E]=0;if(R&&typeof R=="object"&&!Array.isArray(R))for(const[E,J]of Object.entries(R))typeof J=="number"&&Number.isFinite(J)&&(S[E]=J);const L=Pe(n.issues_detail??n.issuesDetail,null)??n.issues_detail??n.issuesDetail,T=Array.isArray(L)?L.map(bt).filter(Boolean):[];return{key:l,id:l,generationId:n.generation_id??n.generationId??"",codeHash:String(n.code_hash??n.codeHash??""),language:n.language??"",issuesFound:C(n.issues_found??n.issuesFound,0),securityIssues:C(n.security_issues??n.securityIssues,0),severitySummary:S,issuesDetail:T,reviewedAt:n.reviewed_at??n.reviewedAt??null,_idx:r}}function wt(n){const r=B(n);return Array.isArray(r)?r.map(kt).filter(Boolean):[]}function ht(n){const r={};for(const L of se)r[L]=0;const l=B(n);if(!l||typeof l!="object"||Array.isArray(l))return{ok:!1,reviewId:null,reason:"",issuesFound:0,securityIssues:0,severitySummary:r};const R=!!l.reviewId,S={...r};if(l.severitySummary&&typeof l.severitySummary=="object"&&!Array.isArray(l.severitySummary))for(const[L,T]of Object.entries(l.severitySummary))typeof T=="number"&&Number.isFinite(T)&&(S[L]=T);return{ok:R,reviewId:l.reviewId?String(l.reviewId):null,reason:l.reason?String(l.reason):"",issuesFound:C(l.issuesFound,0),securityIssues:C(l.securityIssues,0),severitySummary:S}}function $t(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,template:String(n.template||""),projectName:n.project_name??n.projectName??"",options:n.options??null,filesGenerated:C(n.files_generated??n.filesGenerated,0),outputPath:n.output_path??n.outputPath??"",createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function St(n){const r=B(n);return Array.isArray(r)?r.map($t).filter(Boolean):[]}const Ct={generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}};function xt(n){const r=JSON.parse(JSON.stringify(Ct));for(const R of ne)r.scaffolds.byTemplate[R]=0;const l=B(n);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.generations&&typeof l.generations=="object"&&(r.generations.total=C(l.generations.total,0),r.generations.totalTokens=C(l.generations.totalTokens,0),r.generations.totalFiles=C(l.generations.totalFiles,0),r.generations.uniqueLanguages=C(l.generations.uniqueLanguages,0)),l.reviews&&typeof l.reviews=="object"&&(r.reviews.total=C(l.reviews.total,0),r.reviews.totalIssues=C(l.reviews.totalIssues,0),r.reviews.totalSecurityIssues=C(l.reviews.totalSecurityIssues,0),r.reviews.avgIssuesPerReview=C(l.reviews.avgIssuesPerReview,0)),l.scaffolds&&typeof l.scaffolds=="object"&&(r.scaffolds.total=C(l.scaffolds.total,0),l.scaffolds.byTemplate&&typeof l.scaffolds.byTemplate=="object"))for(const[R,S]of Object.entries(l.scaffolds.byTemplate))typeof S=="number"&&Number.isFinite(S)&&(r.scaffolds.byTemplate[R]=S);return r}function Re(n){const r=B(n);if(!r||typeof r!="object"||Array.isArray(r))return{ok:!1,id:null,reason:""};const l=r.generationId||r.scaffoldId||r.reviewId||null;return{ok:!!l,id:l?String(l):null,reason:r.reason?String(r.reason):""}}function X(n){if(n==null||n==="")return"—";const r=typeof n=="number"?new Date(n):new Date(String(n));return isNaN(r.getTime())?String(n):r.toLocaleString("zh-CN",{hour12:!1})}const It={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Ft={class:"tmpl-count"},jt={class:"filter-bar"},Pt={style:{color:"var(--text-primary)","font-weight":"500"}},Rt={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Lt={key:1,style:{color:"var(--text-muted)"}},Nt={key:1,style:{color:"var(--text-muted)"}},Tt={key:3,style:{color:"var(--text-secondary)"}},Ot={key:4,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Ut={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Gt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Dt={style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Jt={key:1,style:{color:"var(--text-muted)"}},Mt={key:4,class:"sev-mini"},Bt={key:0,style:{color:"#ff4d4f"}},qt={key:1,style:{color:"#fa8c16"}},Ht={key:2,style:{color:"#faad14"}},Vt={key:3,style:{color:"#888"}},Kt={key:4,style:{color:"#1677ff"}},Wt={key:5,style:{color:"#52c41a"}},Qt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Xt={class:"filter-bar"},Zt={style:{color:"var(--text-primary)","font-weight":"500"}},ea={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ta={key:2,style:{color:"var(--text-secondary)"}},aa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},oa={key:1,style:{color:"var(--text-muted)"}},la={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},na={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},sa={style:{"padding-top":"8px"}},ia={key:1},ra={style:{color:"var(--text-primary)","font-size":"12px",margin:"12px 0 6px"}},ua={key:0,style:{"padding-top":"8px"}},da={style:{"font-family":"monospace","font-size":"12px"}},ca={key:1,style:{color:"var(--text-muted)"}},fa={key:1,style:{color:"var(--text-muted)"}},pa={class:"code-pre"},ga={class:"code-pre"},ma={key:0,style:{"padding-top":"8px"}},va={style:{"font-family":"monospace","font-size":"12px"}},ya={style:{"font-family":"monospace","font-size":"12px"}},_a={style:{"font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"var(--text-muted)"}},ka={style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},wa={key:0,style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},ha={style:{"margin-left":"8px","font-family":"monospace","font-size":"12px"}},$a={style:{"margin-left":"8px",padding:"1px 6px",background:"var(--bg-base)","border-radius":"3px","font-size":"11px"}},Sa={__name:"Codegen",setup(n){const r=ut(),{t:l}=it(),R=rt.PRESENTED_IMAGE_SIMPLE,S=w(!1),L=w(!1),T=w(!1),E=w(!1),J=w([]),be=w([]),ie=w([]),U=w({generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}}),ke=w("generations"),q=w(""),H=w(""),V=w(""),Z=w(!1),ee=w(!1),te=w(!1),re=w(!1),ue=w(!1),m=_e({prompt:"",language:"",framework:"",code:"",files:0,tokens:0}),x=_e({generationId:"",language:"",code:""}),y=_e({template:"react",projectName:"",optionsJson:"",files:0,outputPath:""}),h=w(null),F=w(null),$=w(null),Le=Y(()=>[{title:l("codegen.generationCols.prompt"),key:"prompt"},{title:l("codegen.generationCols.language"),key:"language",width:"110px"},{title:l("codegen.generationCols.framework"),key:"framework",width:"110px"},{title:l("codegen.generationCols.fileCount"),key:"fileCount",width:"70px"},{title:l("codegen.generationCols.tokenCount"),key:"tokenCount",width:"110px"},{title:l("codegen.generationCols.createdAt"),key:"createdAt",width:"160px"},{title:l("codegen.generationCols.action"),key:"action",width:"140px"}]),Ne=Y(()=>[{title:l("codegen.reviewCols.codeHash"),key:"codeHash",width:"180px"},{title:l("codegen.reviewCols.language"),key:"language",width:"110px"},{title:l("codegen.reviewCols.issuesFound"),key:"issuesFound",width:"90px"},{title:l("codegen.reviewCols.securityIssues"),key:"securityIssues",width:"90px"},{title:l("codegen.reviewCols.severityBreak"),key:"severityBreak"},{title:l("codegen.reviewCols.reviewedAt"),key:"reviewedAt",width:"160px"},{title:l("codegen.reviewCols.action"),key:"action",width:"90px"}]),Te=Y(()=>[{title:l("codegen.scaffoldCols.projectName"),key:"projectName"},{title:l("codegen.scaffoldCols.template"),key:"template",width:"120px"},{title:l("codegen.scaffoldCols.filesGenerated"),key:"filesGenerated",width:"90px"},{title:l("codegen.scaffoldCols.outputPath"),key:"outputPath",width:"300px"},{title:l("codegen.scaffoldCols.createdAt"),key:"createdAt",width:"160px"}]),Oe=Y(()=>{let e=J.value;if(q.value.trim()){const s=q.value.trim().toLowerCase();e=e.filter(b=>(b.language||"").toLowerCase().includes(s))}if(H.value.trim()){const s=H.value.trim().toLowerCase();e=e.filter(b=>(b.framework||"").toLowerCase().includes(s))}return e}),Ue=Y(()=>V.value?ie.value.filter(e=>e.template===V.value):ie.value);function we(e){return{react:"cyan",vue:"green",express:"gold",fastapi:"magenta",spring_boot:"red"}[e]||"default"}function Ge(e){return{react:"#13c2c2",vue:"#52c41a",express:"#faad14",fastapi:"#eb2f96",spring_boot:"#ff4d4f"}[e]||"#888"}function de(e){const s=`codegen.severityLabels.${e}`,b=l(s);return b===s?e:b}function ce(e){return{critical:"red",high:"orange",medium:"gold",low:"default",info:"blue"}[e]||"default"}function De(e){return{critical:"#ff4d4f",high:"#fa8c16",medium:"#faad14",low:"#888",info:"#1677ff"}[e]||"#888"}function Ee(e,s){return s?Math.round(e/s*100):0}function ae(e,s){return e?e.length<=s?e:e.slice(0,s)+"…":""}function N(e){return`"${String(e).replace(/"/g,'\\"')}"`}async function K(){S.value=!0;try{const[e,s,b,oe]=await Promise.all([r.execute("codegen list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen reviews --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen scaffolds --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen stats --json",8e3).catch(()=>({output:""}))]);J.value=_t(e.output),be.value=wt(s.output),ie.value=St(b.output),U.value=xt(oe.output)}catch(e){A.error(l("codegen.msg.loadFailed")+": "+(e?.message||e))}finally{S.value=!1}}async function Je(){if(!m.prompt.trim()){A.warning(l("codegen.msg.promptEmpty"));return}L.value=!0;try{const e=[`codegen generate -p ${N(m.prompt.trim())}`];m.language.trim()&&e.push(`-l ${N(m.language.trim())}`),m.framework.trim()&&e.push(`-f ${N(m.framework.trim())}`),m.code.trim()&&e.push(`--code ${N(m.code.trim())}`),m.files>0&&e.push(`--files ${m.files}`),m.tokens>0&&e.push(`--tokens ${m.tokens}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.generateFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.generateSuccess",{id:b.id?.slice(0,8)})),Z.value=!1,he(),await K()}catch(e){A.error(l("codegen.msg.generateFailed")+": "+(e?.message||e))}finally{L.value=!1}}async function Me(){if(!x.code.trim()){A.warning(l("codegen.msg.codeEmpty"));return}T.value=!0,h.value=null;try{const e=[`codegen review -c ${N(x.code)}`];x.language.trim()&&e.push(`-l ${N(x.language.trim())}`),x.generationId.trim()&&e.push(`-g ${N(x.generationId.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4);h.value=ht(s),!h.value.ok&&h.value.reason?A.error(l("codegen.msg.reviewFailed")+": "+h.value.reason):h.value.ok?(A.success(l("codegen.msg.reviewSuccess",{n:h.value.issuesFound,sec:h.value.securityIssues})),await K()):A.error(l("codegen.msg.reviewFailed")+": "+s.slice(0,120))}catch(e){A.error(l("codegen.msg.reviewFailed")+": "+(e?.message||e))}finally{T.value=!1}}async function Be(e){x.generationId=e.id,x.language=e.language||"",x.code=e.generatedCode||"",h.value=null,ee.value=!0}async function qe(){if(!y.projectName.trim()){A.warning(l("codegen.msg.projectEmpty"));return}if(y.optionsJson.trim())try{JSON.parse(y.optionsJson)}catch{A.warning(l("codegen.msg.optionsBadJson"));return}E.value=!0;try{const e=[`codegen scaffold -t ${y.template}`,`-n ${N(y.projectName.trim())}`];y.optionsJson.trim()&&e.push(`-o ${N(y.optionsJson.trim())}`),y.files>0&&e.push(`--files ${y.files}`),y.outputPath.trim()&&e.push(`--output ${N(y.outputPath.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.scaffoldFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.scaffoldSuccess",{id:b.id?.slice(0,8)})),te.value=!1,$e(),await K()}catch(e){A.error(l("codegen.msg.scaffoldFailed")+": "+(e?.message||e))}finally{E.value=!1}}function He(e){F.value=e,re.value=!0}function Ve(e){$.value=e,ue.value=!0}function he(){m.prompt="",m.language="",m.framework="",m.code="",m.files=0,m.tokens=0}function $e(){y.template="react",y.projectName="",y.optionsJson="",y.files=0,y.outputPath=""}return vt(K),(e,s)=>{const b=g("a-button"),oe=g("a-menu-item"),Ke=g("a-menu"),We=g("a-dropdown"),Se=g("a-space"),G=g("a-statistic"),M=g("a-card"),O=g("a-col"),fe=g("a-row"),j=g("a-tag"),D=g("a-input"),pe=g("a-table"),ge=g("a-tab-pane"),Ce=g("a-radio-button"),Qe=g("a-radio-group"),Ye=g("a-tabs"),le=g("a-textarea"),I=g("a-form-item"),me=g("a-input-number"),ve=g("a-form"),W=g("a-modal"),Xe=g("a-divider"),Ze=g("a-empty"),et=g("a-alert"),tt=g("a-select-option"),at=g("a-select"),z=g("a-descriptions-item"),xe=g("a-descriptions"),ot=g("a-progress"),lt=g("a-list-item"),nt=g("a-list");return u(),c("div",null,[v("div",It,[v("div",null,[v("h2",zt,i(e.$t("codegen.title")),1),v("p",At,i(e.$t("codegen.subtitle")),1)]),t(Se,null,{default:a(()=>[t(b,{loading:S.value,onClick:K},{icon:a(()=>[t(_(ct))]),default:a(()=>[f(" "+i(e.$t("codegen.refresh")),1)]),_:1},8,["loading"]),t(b,{onClick:s[0]||(s[0]=o=>ee.value=!0)},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review")),1)]),_:1}),t(We,null,{overlay:a(()=>[t(Ke,null,{default:a(()=>[t(oe,{key:"generate",onClick:s[1]||(s[1]=o=>Z.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.generate")),1)]),_:1}),t(oe,{key:"scaffold",onClick:s[2]||(s[2]=o=>te.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.scaffold")),1)]),_:1})]),_:1})]),default:a(()=>[t(b,{type:"primary"},{icon:a(()=>[t(_(ft))]),default:a(()=>[f(" "+i(e.$t("codegen.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(fe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.generations"),value:U.value.generations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(_(ze))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.reviews"),value:U.value.reviews.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(_(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.securityIssues"),value:U.value.reviews.totalSecurityIssues,"value-style":{color:U.value.reviews.totalSecurityIssues>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(_(Ae))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.scaffolds"),value:U.value.scaffolds.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[t(_(Fe))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:24,sm:8,lg:4},{default:a(()=>[t(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.languages"),value:U.value.generations.uniqueLanguages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[t(_(gt))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(M,{title:e.$t("codegen.templatesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[t(fe,{gutter:[12,12]},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(O,{key:o,xs:12,sm:8,lg:4},{default:a(()=>[v("div",{class:"tmpl-pill",style:je({borderLeftColor:Ge(o)})},[t(j,{color:we(o),style:{"font-family":"monospace"}},{default:a(()=>[f(i(o),1)]),_:2},1032,["color"]),v("span",Ft,i(U.value.scaffolds.byTemplate[o]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),t(Ye,{activeKey:ke.value,"onUpdate:activeKey":s[6]||(s[6]=o=>ke.value=o),class:"codegen-tabs"},{default:a(()=>[t(ge,{key:"generations",tab:e.$t("codegen.tabs.generations")},{default:a(()=>[v("div",jt,[t(D,{value:q.value,"onUpdate:value":s[3]||(s[3]=o=>q.value=o),placeholder:e.$t("codegen.filter.languagePlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"]),t(D,{value:H.value,"onUpdate:value":s[4]||(s[4]=o=>H.value=o),placeholder:e.$t("codegen.filter.frameworkPlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"])]),t(pe,{columns:Le.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="prompt"?(u(),c(P,{key:0},[v("span",Pt,i(ae(d.prompt,60)),1),v("div",Rt,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Lt,"—"))],64)):p("",!0),o.key==="framework"?(u(),c(P,{key:2},[d.framework?(u(),k(j,{key:0,color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.framework),1)]),_:2},1024)):(u(),c("span",Nt,"—"))],64)):p("",!0),o.key==="fileCount"?(u(),c("span",Tt,i(d.fileCount),1)):p("",!0),o.key==="tokenCount"?(u(),c("span",Ot,i(d.tokenCount),1)):p("",!0),o.key==="createdAt"?(u(),c("span",Ut,i(_(X)(d.createdAt)),1)):p("",!0),o.key==="action"?(u(),c(P,{key:6},[t(b,{size:"small",type:"link",onClick:Ie=>He(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"]),d.generatedCode?(u(),k(b,{key:0,size:"small",type:"link",onClick:Ie=>Be(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionReview")),1)]),_:1},8,["onClick"])):p("",!0)],64)):p("",!0)]),emptyText:a(()=>[v("div",Gt,[t(_(ze),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(q.value||H.value?e.$t("codegen.table.emptyGenerationsFiltered"):e.$t("codegen.table.emptyGenerations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"reviews",tab:e.$t("codegen.tabs.reviews")},{default:a(()=>[t(pe,{columns:Ne.value,"data-source":be.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="codeHash"?(u(),c(P,{key:0},[v("span",Dt,i(d.codeHash),1),v("div",Et,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Jt,"—"))],64)):p("",!0),o.key==="issuesFound"?(u(),k(j,{key:2,color:d.issuesFound===0?"green":d.issuesFound>5?"red":"orange"},{default:a(()=>[f(i(e.$t("codegen.table.issuesSuffix",{n:d.issuesFound})),1)]),_:2},1032,["color"])):p("",!0),o.key==="securityIssues"?(u(),c(P,{key:3},[d.securityIssues>0?(u(),k(j,{key:0,color:"red"},{default:a(()=>[t(_(Ae)),f(" "+i(d.securityIssues),1)]),_:2},1024)):(u(),k(j,{key:1,color:"green"},{default:a(()=>[t(_(mt)),s[26]||(s[26]=f(" 0 ",-1))]),_:1}))],64)):p("",!0),o.key==="severityBreak"?(u(),c("span",Mt,[d.severitySummary.critical>0?(u(),c("span",Bt,"C:"+i(d.severitySummary.critical),1)):p("",!0),d.severitySummary.high>0?(u(),c("span",qt,"H:"+i(d.severitySummary.high),1)):p("",!0),d.severitySummary.medium>0?(u(),c("span",Ht,"M:"+i(d.severitySummary.medium),1)):p("",!0),d.severitySummary.low>0?(u(),c("span",Vt,"L:"+i(d.severitySummary.low),1)):p("",!0),d.severitySummary.info>0?(u(),c("span",Kt,"I:"+i(d.severitySummary.info),1)):p("",!0),d.issuesFound===0?(u(),c("span",Wt,i(e.$t("codegen.table.noIssues")),1)):p("",!0)])):p("",!0),o.key==="reviewedAt"?(u(),c("span",Qt,i(_(X)(d.reviewedAt)),1)):p("",!0),o.key==="action"?(u(),k(b,{key:6,size:"small",type:"link",onClick:Ie=>Ve(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"])):p("",!0)]),emptyText:a(()=>[v("div",Yt,[t(_(ye),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(e.$t("codegen.table.emptyReviews")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"scaffolds",tab:e.$t("codegen.tabs.scaffolds")},{default:a(()=>[v("div",Xt,[t(Qe,{value:V.value,"onUpdate:value":s[5]||(s[5]=o=>V.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(Ce,{value:""},{default:a(()=>[f(i(e.$t("codegen.filter.allTemplates")),1)]),_:1}),(u(!0),c(P,null,Q(_(ne),o=>(u(),k(Ce,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(pe,{columns:Te.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="projectName"?(u(),c(P,{key:0},[v("span",Zt,i(d.projectName||e.$t("codegen.table.unnamed")),1),v("div",ea,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="template"?(u(),k(j,{key:1,color:we(d.template),style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.template),1)]),_:2},1032,["color"])):p("",!0),o.key==="filesGenerated"?(u(),c("span",ta,i(d.filesGenerated),1)):p("",!0),o.key==="outputPath"?(u(),c(P,{key:3},[d.outputPath?(u(),c("span",aa,i(ae(d.outputPath,40)),1)):(u(),c("span",oa,"—"))],64)):p("",!0),o.key==="createdAt"?(u(),c("span",la,i(_(X)(d.createdAt)),1)):p("",!0)]),emptyText:a(()=>[v("div",na,[t(_(Fe),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(V.value?e.$t("codegen.table.emptyScaffoldsFiltered"):e.$t("codegen.table.emptyScaffolds")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(W,{open:Z.value,"onUpdate:open":s[13]||(s[13]=o=>Z.value=o),title:e.$t("codegen.generate_modal.title"),"confirm-loading":L.value,width:560,"ok-text":e.$t("codegen.generate_modal.ok"),"cancel-text":e.$t("codegen.generate_modal.cancel"),onOk:Je,onCancel:he},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.generate_modal.promptLabel"),required:""},{default:a(()=>[t(le,{value:m.prompt,"onUpdate:value":s[7]||(s[7]=o=>m.prompt=o),placeholder:e.$t("codegen.generate_modal.promptPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.languageLabel")},{default:a(()=>[t(D,{value:m.language,"onUpdate:value":s[8]||(s[8]=o=>m.language=o),placeholder:e.$t("codegen.generate_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.frameworkLabel")},{default:a(()=>[t(D,{value:m.framework,"onUpdate:value":s[9]||(s[9]=o=>m.framework=o),placeholder:e.$t("codegen.generate_modal.frameworkPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.codeLabel")},{default:a(()=>[t(le,{value:m.code,"onUpdate:value":s[10]||(s[10]=o=>m.code=o),placeholder:e.$t("codegen.generate_modal.codePlaceholder"),"auto-size":{minRows:3,maxRows:10}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.filesLabel")},{default:a(()=>[t(me,{value:m.files,"onUpdate:value":s[11]||(s[11]=o=>m.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.tokensLabel")},{default:a(()=>[t(me,{value:m.tokens,"onUpdate:value":s[12]||(s[12]=o=>m.tokens=o),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:ee.value,"onUpdate:open":s[17]||(s[17]=o=>ee.value=o),title:e.$t("codegen.review_modal.title"),width:720,footer:null},{default:a(()=>[v("div",sa,[t(ve,{"label-col":{span:5},"wrapper-col":{span:19}},{default:a(()=>[t(I,{label:e.$t("codegen.review_modal.languageLabel")},{default:a(()=>[t(D,{value:x.language,"onUpdate:value":s[14]||(s[14]=o=>x.language=o),placeholder:e.$t("codegen.review_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.generationIdLabel")},{default:a(()=>[t(D,{value:x.generationId,"onUpdate:value":s[15]||(s[15]=o=>x.generationId=o),placeholder:e.$t("codegen.review_modal.generationIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.codeLabel"),required:""},{default:a(()=>[t(le,{value:x.code,"onUpdate:value":s[16]||(s[16]=o=>x.code=o),placeholder:e.$t("codegen.review_modal.codePlaceholder"),"auto-size":{minRows:6,maxRows:16}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{"wrapper-col":{offset:5,span:19}},{default:a(()=>[t(b,{type:"primary",loading:T.value,onClick:Me},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),t(Xe),h.value?(u(),c("div",ia,[t(fe,{gutter:12,style:{"margin-bottom":"12px"}},{default:a(()=>[t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.issuesStat"),value:h.value.issuesFound,"value-style":{color:h.value.issuesFound>0?"#fa8c16":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.securityStat"),value:h.value.securityIssues,"value-style":{color:h.value.securityIssues>0?"#ff4d4f":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.reviewIdStat"),value:h.value.reviewId?h.value.reviewId.slice(0,8):"—","value-style":{fontSize:"14px",fontFamily:"monospace"}},null,8,["title","value"])]),_:1})]),_:1}),v("h5",ra,i(e.$t("codegen.review_modal.bySeverity")),1),t(Se,null,{default:a(()=>[(u(!0),c(P,null,Q(_(se),o=>(u(),k(j,{key:o,color:ce(o)},{default:a(()=>[f(i(de(o))+": "+i(h.value.severitySummary[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1}),h.value.reason?(u(),k(et,{key:0,type:"warning","show-icon":"",message:e.$t("codegen.review_modal.failedReason",{reason:h.value.reason}),style:{"margin-top":"12px"}},null,8,["message"])):p("",!0)])):(u(),k(Ze,{key:0,description:e.$t("codegen.review_modal.notReviewed"),image:_(R)},null,8,["description","image"]))])]),_:1},8,["open","title"]),t(W,{open:te.value,"onUpdate:open":s[23]||(s[23]=o=>te.value=o),title:e.$t("codegen.scaffold_modal.title"),"confirm-loading":E.value,width:560,"ok-text":e.$t("codegen.scaffold_modal.ok"),"cancel-text":e.$t("codegen.scaffold_modal.cancel"),onOk:qe,onCancel:$e},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.scaffold_modal.templateLabel"),required:""},{default:a(()=>[t(at,{value:y.template,"onUpdate:value":s[18]||(s[18]=o=>y.template=o)},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(tt,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.projectLabel"),required:""},{default:a(()=>[t(D,{value:y.projectName,"onUpdate:value":s[19]||(s[19]=o=>y.projectName=o),placeholder:e.$t("codegen.scaffold_modal.projectPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.optionsLabel")},{default:a(()=>[t(le,{value:y.optionsJson,"onUpdate:value":s[20]||(s[20]=o=>y.optionsJson=o),placeholder:e.$t("codegen.scaffold_modal.optionsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.filesLabel")},{default:a(()=>[t(me,{value:y.files,"onUpdate:value":s[21]||(s[21]=o=>y.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.outputLabel")},{default:a(()=>[t(D,{value:y.outputPath,"onUpdate:value":s[22]||(s[22]=o=>y.outputPath=o),placeholder:e.$t("codegen.scaffold_modal.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:re.value,"onUpdate:open":s[24]||(s[24]=o=>re.value=o),title:e.$t("codegen.gen_details.title",{id:F.value?.id?.slice(0,12)||""}),width:780,footer:null},{default:a(()=>[F.value?(u(),c("div",ua,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.gen_details.id"),span:2},{default:a(()=>[v("span",da,i(F.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.language")},{default:a(()=>[F.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i(F.value.language),1)]),_:1})):(u(),c("span",ca,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.framework")},{default:a(()=>[F.value.framework?(u(),k(j,{key:0,color:"purple"},{default:a(()=>[f(i(F.value.framework),1)]),_:1})):(u(),c("span",fa,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.fileCount")},{default:a(()=>[f(i(F.value.fileCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.tokenCount")},{default:a(()=>[f(i(F.value.tokenCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.createdAt"),span:2},{default:a(()=>[f(i(_(X)(F.value.createdAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.prompt"),span:2},{default:a(()=>[v("pre",pa,i(F.value.prompt),1)]),_:1},8,["label"]),F.value.generatedCode?(u(),k(z,{key:0,label:e.$t("codegen.gen_details.code"),span:2},{default:a(()=>[v("pre",ga,i(ae(F.value.generatedCode,2e3)),1)]),_:1},8,["label"])):p("",!0)]),_:1})])):p("",!0)]),_:1},8,["open","title"]),t(W,{open:ue.value,"onUpdate:open":s[25]||(s[25]=o=>ue.value=o),title:e.$t("codegen.review_details.title",{id:$.value?.id?.slice(0,12)||""}),width:720,footer:null},{default:a(()=>[$.value?(u(),c("div",ma,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.review_details.id"),span:2},{default:a(()=>[v("span",va,i($.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.codeHash"),span:2},{default:a(()=>[v("span",ya,i($.value.codeHash),1)]),_:1},8,["label"]),$.value.generationId?(u(),k(z,{key:0,label:e.$t("codegen.review_details.generationId"),span:2},{default:a(()=>[v("span",_a,i($.value.generationId),1)]),_:1},8,["label"])):p("",!0),t(z,{label:e.$t("codegen.review_details.language")},{default:a(()=>[$.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i($.value.language),1)]),_:1})):(u(),c("span",ba,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.reviewedAt")},{default:a(()=>[f(i(_(X)($.value.reviewedAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.issuesFound")},{default:a(()=>[f(i($.value.issuesFound),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.securityIssues")},{default:a(()=>[v("span",{style:je({color:$.value.securityIssues>0?"#ff4d4f":"#52c41a"})},i($.value.securityIssues),5)]),_:1},8,["label"])]),_:1}),v("h4",ka,i(e.$t("codegen.review_details.bySeverity")),1),(u(!0),c(P,null,Q(_(se),o=>(u(),c("div",{key:o,class:"bd-row"},[t(j,{color:ce(o),style:{"min-width":"70px","text-align":"center"}},{default:a(()=>[f(i(de(o)),1)]),_:2},1032,["color"]),t(ot,{percent:Ee($.value.severitySummary[o]||0,$.value.issuesFound),"stroke-color":De(o),format:()=>`${$.value.severitySummary[o]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128)),$.value.issuesDetail.length?(u(),c("h4",wa,i(e.$t("codegen.review_details.issues")),1)):p("",!0),$.value.issuesDetail.length?(u(),k(nt,{key:1,size:"small","data-source":$.value.issuesDetail,pagination:{pageSize:8}},{renderItem:a(({item:o})=>[t(lt,null,{default:a(()=>[t(j,{color:ce(o.severity),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[f(i(de(o.severity)),1)]),_:2},1032,["color"]),v("span",ha,i(o.rule),1),v("code",$a,i(ae(o.match,60)),1)]),_:2},1024)]),_:1},8,["data-source"])):p("",!0)])):p("",!0)]),_:1},8,["open","title"])])}}},Fa=st(Sa,[["__scopeId","data-v-c77cb6a0"]]);export{Fa as default};
@@ -1 +0,0 @@
1
- import{_ as Ct,a as wt,c as d}from"./index-CyqU4Tck.js";import{u as zt}from"./ws-D_5-FRIb.js";import{S as Ft,p as Ot,a as Rt,b as St,c as Tt}from"./community-parser-CO25nZFt.js";import{R as $t,aA as At,au as It,Z as Y,aB as tt,k as et,M as Ut,aC as Lt,aD as Nt}from"./icons-DvZE-RKs.js";import{r as g,o as Pt,M as y,R as v,P as i,u as o,c as a,N as n,K as p,L as r,O as f,F as S,_ as qt,Q as T,$ as Bt,S as k,f as L,a as at}from"./vendor-B6ToihkA.js";const jt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Mt={class:"page-title"},Dt={class:"page-sub"},Kt={key:0,style:{"text-align":"center",padding:"60px"}},Vt={key:1,style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}},Et={key:2,class:"post-feed"},Ht={class:"post-head"},Qt={class:"post-meta"},Wt={class:"post-author"},Zt={class:"post-time"},Gt={class:"post-body"},Jt={style:{color:"var(--text-primary)","font-weight":"500"}},Xt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},te={key:0,style:{color:"var(--text-primary)","font-weight":"500"}},ee={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ae={key:1,style:{color:"var(--text-muted)"}},oe={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},ne={key:1,style:{color:"var(--text-muted)"}},se={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},le={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ce={__name:"Community",setup(ie){const{t,locale:ot}=wt(),x=zt(),F=g(!1),N=g(!1),P=g(!1),q=g(""),z=g({...Ft}),B=g([]),j=g([]),$=g([]),M=g("posts"),A=g(!1),I=g(!1),h=at({author:"",content:""}),u=at({name:"",did:"",email:"",notes:""}),nt=L(()=>[{title:t("community.contactColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:t("community.contactColumns.did"),key:"did",dataIndex:"did"},{title:t("community.contactColumns.email"),key:"email",dataIndex:"email",width:"200px"},{title:t("community.contactColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.contactColumns.action"),key:"action",width:"180px"}]),st=L(()=>[{title:t("community.friendColumns.contact"),key:"contact"},{title:t("community.friendColumns.status"),key:"status",width:"120px"},{title:t("community.friendColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.friendColumns.action"),key:"action",width:"100px"}]),lt=L(()=>j.value.map(s=>{const e=B.value.find(c=>c.id===s.contactId);return{...s,contactName:e?e.name:""}})),ct=L(()=>new Set(j.value.map(s=>s.contactId)));function it(s){return ct.value.has(s)}function rt(s){const e=["#1677ff","#52c41a","#722ed1","#faad14","#ff4d4f","#13c2c2","#eb2f96"];let c=0;for(let b=0;b<s.length;b++)c=c*31+s.charCodeAt(b)>>>0;return e[c%e.length]}function ut(s){return s?s.length>28?s.slice(0,16)+"..."+s.slice(-8):s:""}function K(s){if(!s)return"—";if(typeof s!="string")return String(s);const e=new Date(s);if(isNaN(e.getTime()))return s;const c=ot.value==="zh-CN"?"zh-CN":"en-US";return e.toLocaleString(c,{hour12:!1})}function mt(s){return{accepted:"green",pending:"orange",blocked:"red"}[s]||"default"}function dt(s){const e=`community.status.${s}`,c=t(e);return c===e?s:c}async function C(){F.value=!0;try{const[s,e,c,b]=await Promise.all([x.execute("social stats --json",1e4).catch(()=>({output:""})),x.execute("social contact list --json",1e4).catch(()=>({output:""})),x.execute("social friend list --json",1e4).catch(()=>({output:""})),x.execute("social post list --json",1e4).catch(()=>({output:""}))]);z.value=Ot(s.output),B.value=Rt(e.output),j.value=St(c.output),$.value=Tt(b.output).sort((_,w)=>(w.createdAt||"").localeCompare(_.createdAt||""))}catch(s){d.error(t("community.messages.loadFailed",{err:s?.message||s}))}finally{F.value=!1}}async function pt(){const s=h.content.trim();if(!s){d.warning(t("community.messages.contentRequired"));return}N.value=!0;try{const e=s.replace(/"/g,'\\"'),c=h.author.trim(),b=c?`social post publish "${e}" --author "${c.replace(/"/g,'\\"')}"`:`social post publish "${e}"`,{output:_}=await x.execute(b,15e3);if(/error|失败/i.test(_)&&!/"id"/.test(_)){d.error(t("community.messages.publishFailed",{err:_.slice(0,120)}));return}d.success(t("community.messages.publishOk")),A.value=!1,V(),await C()}catch(e){d.error(t("community.messages.publishFailed",{err:e?.message||e}))}finally{N.value=!1}}async function yt(){const s=u.name.trim();if(!s){d.warning(t("community.messages.nameRequired"));return}P.value=!0;try{const e=[`social contact add "${s.replace(/"/g,'\\"')}"`];u.did.trim()&&e.push(`--did "${u.did.trim().replace(/"/g,'\\"')}"`),u.email.trim()&&e.push(`--email "${u.email.trim().replace(/"/g,'\\"')}"`),u.notes.trim()&&e.push(`--notes "${u.notes.trim().replace(/"/g,'\\"')}"`);const{output:c}=await x.execute(e.join(" "),15e3);if(/error|失败/i.test(c)&&!/"id"/.test(c)){d.error(t("community.messages.addFailed",{err:c.slice(0,120)}));return}d.success(t("community.messages.addOk")),I.value=!1,E(),await C()}catch(e){d.error(t("community.messages.addFailed",{err:e?.message||e}))}finally{P.value=!1}}async function ft(s){try{const{output:e}=await x.execute(`social contact delete ${s.id}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.deleteFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.deleteOk")),await C()}catch(e){d.error(t("community.messages.deleteFailed",{err:e?.message||e}))}}async function vt(s){q.value=s.id;try{const{output:e}=await x.execute(`social friend add ${s.id}`,1e4);if(/error|失败/i.test(e)&&!/"id"/.test(e)){d.error(t("community.messages.friendRequestFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.friendRequestOk")),await C(),M.value="friends"}catch(e){d.error(t("community.messages.friendRequestFailed",{err:e?.message||e}))}finally{q.value=""}}async function _t(s){try{const{output:e}=await x.execute(`social friend remove ${s.contactId}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.removeFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.removeOk")),await C()}catch(e){d.error(t("community.messages.removeFailed",{err:e?.message||e}))}}async function gt(s){try{await x.execute(`social post like ${s.id}`,1e4),s.likes++,C()}catch(e){d.error(t("community.messages.likeFailed",{err:e?.message||e}))}}function V(){h.author="",h.content=""}function E(){u.name="",u.did="",u.email="",u.notes=""}return Pt(C),(s,e)=>{const c=p("a-button"),b=p("a-space"),_=p("a-statistic"),w=p("a-card"),R=p("a-col"),xt=p("a-row"),bt=p("a-spin"),kt=p("a-avatar"),D=p("a-tab-pane"),H=p("a-tag"),Q=p("a-popconfirm"),W=p("a-table"),ht=p("a-tabs"),U=p("a-input"),O=p("a-form-item"),Z=p("a-textarea"),G=p("a-form"),J=p("a-modal");return r(),y("div",null,[v("div",jt,[v("div",null,[v("h2",Mt,i(o(t)("community.title")),1),v("p",Dt,i(o(t)("community.subtitle")),1)]),a(b,null,{default:n(()=>[a(c,{loading:F.value,onClick:C},{icon:n(()=>[a(o($t))]),default:n(()=>[f(" "+i(o(t)("community.refresh")),1)]),_:1},8,["loading"]),a(c,{type:"primary",onClick:e[0]||(e[0]=l=>A.value=!0)},{icon:n(()=>[a(o(At))]),default:n(()=>[f(" "+i(o(t)("community.publishButton")),1)]),_:1}),a(c,{onClick:e[1]||(e[1]=l=>I.value=!0)},{icon:n(()=>[a(o(It))]),default:n(()=>[f(" "+i(o(t)("community.addContactButton")),1)]),_:1})]),_:1})]),a(xt,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(R,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.contacts"),value:z.value.contacts,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[a(o(Y))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.friends"),value:z.value.friends,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[a(o(tt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.posts"),value:z.value.posts,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[a(o(et))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.messages"),value:z.value.messages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:n(()=>[a(o(Ut))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:8,lg:4},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.pendingRequests"),value:z.value.pendingRequests,"value-style":{color:z.value.pendingRequests>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:n(()=>[a(o(Lt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),a(ht,{activeKey:M.value,"onUpdate:activeKey":e[2]||(e[2]=l=>M.value=l),class:"community-tabs"},{default:n(()=>[a(D,{key:"posts",tab:o(t)("community.tabs.posts")},{default:n(()=>[F.value&&!$.value.length?(r(),y("div",Kt,[a(bt,{size:"large"})])):$.value.length?(r(),y("div",Et,[(r(!0),y(S,null,qt($.value,l=>(r(),T(w,{key:l.key,class:"post-card","body-style":{padding:"16px"}},{default:n(()=>[v("div",Ht,[a(kt,{style:Bt({backgroundColor:rt(l.author)})},{default:n(()=>[f(i(l.author.slice(0,1).toUpperCase()),1)]),_:2},1032,["style"]),v("div",Qt,[v("div",Wt,i(l.author),1),v("div",Zt,i(K(l.createdAt)),1)]),a(c,{size:"small",type:"text",onClick:m=>gt(l)},{icon:n(()=>[a(o(Nt))]),default:n(()=>[f(" "+i(l.likes),1)]),_:2},1032,["onClick"])]),v("div",Gt,i(l.content),1)]),_:2},1024))),128))])):(r(),y("div",Vt,[a(o(et),{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),f(" "+i(o(t)("community.posts.emptyText")),1)]))]),_:1},8,["tab"]),a(D,{key:"friends",tab:o(t)("community.tabs.friends")},{default:n(()=>[a(W,{columns:st.value,"data-source":lt.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="contact"?(r(),y(S,{key:0},[v("span",Jt,i(m.contactName||m.contactId),1),m.contactName?(r(),y("div",Xt,i(m.contactId),1)):k("",!0)],64)):k("",!0),l.key==="status"?(r(),T(H,{key:1,color:mt(m.status)},{default:n(()=>[f(i(dt(m.status)),1)]),_:2},1032,["color"])):k("",!0),l.key==="action"?(r(),T(Q,{key:2,title:o(t)("community.friends.removeConfirm"),"ok-text":o(t)("community.friends.removeOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>_t(m)},{default:n(()=>[a(c,{size:"small",type:"link",danger:""},{default:n(()=>[f(i(o(t)("community.friends.remove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):k("",!0)]),emptyText:n(()=>[v("div",Yt,[a(o(tt),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(o(t)("community.friends.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(D,{key:"contacts",tab:o(t)("community.tabs.contacts")},{default:n(()=>[a(W,{columns:nt.value,"data-source":B.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="name"?(r(),y("span",te,i(m.name),1)):k("",!0),l.key==="did"?(r(),y(S,{key:1},[m.did?(r(),y("span",ee,i(ut(m.did)),1)):(r(),y("span",ae,"—"))],64)):k("",!0),l.key==="email"?(r(),y(S,{key:2},[m.email?(r(),y("span",oe,i(m.email),1)):(r(),y("span",ne,"—"))],64)):k("",!0),l.key==="createdAt"?(r(),y("span",se,i(K(m.createdAt)),1)):k("",!0),l.key==="action"?(r(),y(S,{key:4},[it(m.id)?(r(),T(H,{key:1,color:"green",style:{"font-size":"11px"}},{default:n(()=>[f(i(o(t)("community.contacts.alreadyFriend")),1)]),_:1})):(r(),T(c,{key:0,size:"small",type:"link",loading:q.value===m.id,onClick:X=>vt(m)},{default:n(()=>[f(i(o(t)("community.contacts.addFriend")),1)]),_:1},8,["loading","onClick"])),a(Q,{title:o(t)("community.contacts.deleteConfirm"),"ok-text":o(t)("community.contacts.deleteOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>ft(m)},{default:n(()=>[a(c,{size:"small",type:"link",danger:"",style:{"margin-left":"4px"}},{default:n(()=>[f(i(o(t)("community.contacts.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):k("",!0)]),emptyText:n(()=>[v("div",le,[a(o(Y),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(o(t)("community.contacts.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(J,{open:A.value,"onUpdate:open":e[5]||(e[5]=l=>A.value=l),title:o(t)("community.posts.publishTitle"),"confirm-loading":N.value,"ok-text":o(t)("community.posts.publishOk"),"cancel-text":o(t)("common.cancel"),onOk:pt,onCancel:V},{default:n(()=>[a(G,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:n(()=>[a(O,{label:o(t)("community.posts.authorLabel")},{default:n(()=>[a(U,{value:h.author,"onUpdate:value":e[3]||(e[3]=l=>h.author=l),placeholder:o(t)("community.posts.authorPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(O,{label:o(t)("community.posts.contentLabel"),required:""},{default:n(()=>[a(Z,{value:h.content,"onUpdate:value":e[4]||(e[4]=l=>h.content=l),placeholder:o(t)("community.posts.contentPlaceholder"),"auto-size":{minRows:4,maxRows:10},maxlength:2e3,"show-count":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(J,{open:I.value,"onUpdate:open":e[10]||(e[10]=l=>I.value=l),title:o(t)("community.contacts.addTitle"),"confirm-loading":P.value,"ok-text":o(t)("community.contacts.addOk"),"cancel-text":o(t)("common.cancel"),onOk:yt,onCancel:E},{default:n(()=>[a(G,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[a(O,{label:o(t)("community.contacts.nameLabel"),required:""},{default:n(()=>[a(U,{value:u.name,"onUpdate:value":e[6]||(e[6]=l=>u.name=l),placeholder:o(t)("community.contacts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(O,{label:o(t)("community.contacts.didLabel")},{default:n(()=>[a(U,{value:u.did,"onUpdate:value":e[7]||(e[7]=l=>u.did=l),placeholder:o(t)("community.contacts.didPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(O,{label:o(t)("community.contacts.emailLabel")},{default:n(()=>[a(U,{value:u.email,"onUpdate:value":e[8]||(e[8]=l=>u.email=l),placeholder:o(t)("community.contacts.emailPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(O,{label:o(t)("community.contacts.notesLabel")},{default:n(()=>[a(Z,{value:u.notes,"onUpdate:value":e[9]||(e[9]=l=>u.notes=l),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},ye=Ct(ce,[["__scopeId","data-v-a3181cb0"]]);export{ye as default};
@@ -1 +0,0 @@
1
- import{j,f as x,o as D,G as k,d as I,D as S,P as v,L as y}from"./index-CyqU4Tck.js";import{c as A}from"./createContext-y4UPKgbA.js";import{i as L,a as N,b as O,c as T,d as _,g as w,e as F,f as B}from"./_getTag-CWA3v-Ds.js";import{f as s,d as g,c as b}from"./vendor-B6ToihkA.js";const E=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},G=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${o}-item`]:{"&:empty":{display:"none"}}}}},H=j("Space",t=>[G(t),E(t)]);var K="[object Map]",M="[object Set]",R=Object.prototype,V=R.hasOwnProperty;function h(t){if(t==null)return!0;if(L(t)&&(N(t)||typeof t=="string"||typeof t.splice=="function"||O(t)||T(t)||_(t)))return!t.length;var o=w(t);if(o==K||o==M)return!t.size;if(F(t))return!B(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}const q=()=>({compactSize:String,compactDirection:v.oneOf(y("horizontal","vertical")).def("horizontal"),isFirstItem:S(),isLastItem:S()}),i=A(null),Z=(t,o)=>{const e=i.useInject(),a=s(()=>{if(!e||h(e))return"";const{compactDirection:r,isFirstItem:l,isLastItem:n}=e,c=r==="vertical"?"-vertical-":"-";return x({[`${t.value}-compact${c}item`]:!0,[`${t.value}-compact${c}first-item`]:l,[`${t.value}-compact${c}last-item`]:n,[`${t.value}-compact${c}item-rtl`]:o.value==="rtl"})});return{compactSize:s(()=>e?.compactSize),compactDirection:s(()=>e?.compactDirection),compactItemClassnames:a}},tt=g({name:"NoCompactStyle",setup(t,o){let{slots:e}=o;return i.useProvide(null),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),J=()=>({prefixCls:String,size:{type:String},direction:v.oneOf(y("horizontal","vertical")).def("horizontal"),align:v.oneOf(y("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),Q=g({name:"CompactItem",props:q(),setup(t,o){let{slots:e}=o;return i.useProvide(t),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),et=g({name:"ASpaceCompact",inheritAttrs:!1,props:J(),setup(t,o){let{attrs:e,slots:a}=o;const{prefixCls:r,direction:l}=D("space-compact",t),n=i.useInject(),[c,$]=H(r),z=s(()=>x(r.value,$.value,{[`${r.value}-rtl`]:l.value==="rtl",[`${r.value}-block`]:t.block,[`${r.value}-vertical`]:t.direction==="vertical"}));return()=>{var m;const p=k(((m=a.default)===null||m===void 0?void 0:m.call(a))||[]);return p.length===0?null:c(b("div",I(I({},e),{},{class:[z.value,e.class]}),[p.map((u,d)=>{var f;const P=u&&u.key||`${r.value}-item-${d}`,C=!n||h(n);return b(Q,{key:P,compactSize:(f=t.size)!==null&&f!==void 0?f:"middle",compactDirection:t.direction,isFirstItem:d===0&&(C||n?.isFirstItem),isLastItem:d===p.length-1&&(C||n?.isLastItem)},{default:()=>[u]})})]))}}});export{et as C,tt as N,H as a,Z as u};
@@ -1 +0,0 @@
1
- import{_ as Ee,a as Ie,c as v}from"./index-CyqU4Tck.js";import{u as qe}from"./ws-D_5-FRIb.js";import{s as Me}from"./community-parser-CO25nZFt.js";import{R as Pe,al as De,aR as Ke,aw as Ve,aQ as Je,w as de,a0 as We,aF as me,af as Qe,A as Ye}from"./icons-DvZE-RKs.js";import{o as He,M as p,R as b,P as r,c as a,N as l,Q as h,S as m,K as d,r as g,L as c,O as f,u as _,F,_ as M,$ as ye,f as N,a as le}from"./vendor-B6ToihkA.js";function P(t){const i=Me(t);if(!i)return null;try{return JSON.parse(i)}catch{}const n=i.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!n)return null;try{return JSON.parse(n[0])}catch{return null}}const Ge=Object.freeze(["file-md5","file-sha1","file-sha256","file-sha512","ipv4","ipv6","domain","url","email"]);function S(t,i=0){return typeof t=="number"&&Number.isFinite(t)?t:i}function fe(t,i=0){if(!t||typeof t!="object")return null;const n=t.id||"";if(!n)return null;const z=Array.isArray(t.labels)?t.labels:[];return{key:n,id:n,type:String(t.type||""),value:String(t.value||""),labels:z,confidence:t.confidence!=null?S(t.confidence,null):null,sourceId:t.sourceId??t.source_id??null,sourceName:t.sourceName??t.source_name??null,validFrom:t.validFrom??t.valid_from??null,validUntil:t.validUntil??t.valid_until??null,firstSeenAt:t.firstSeenAt??t.first_seen_at??null,lastSeenAt:t.lastSeenAt??t.last_seen_at??null,_idx:i}}function Xe(t){const i=P(t);return Array.isArray(i)?i.map(fe).filter(Boolean):[]}function Ze(t){const i=P(t);return!i||typeof i!="object"||Array.isArray(i)?null:{matched:!!i.matched,type:String(i.type||"unknown"),indicator:i.indicator?fe(i.indicator):null}}function et(t){const i={total:0,byType:{}},n=P(t);if(!n||typeof n!="object"||Array.isArray(n))return i;if(i.total=S(n.total,0),n.byType&&typeof n.byType=="object")for(const[z,R]of Object.entries(n.byType))typeof R=="number"&&Number.isFinite(R)&&(i.byType[z]=R);return i}function tt(t,i=0){if(!t||typeof t!="object")return null;const n=t.entity||"";return n?{key:n,entity:n,eventCount:S(t.eventCount??t.event_count,0),failureRate:S(t.failureRate??t.failure_rate,0),uniqueResources:S(t.uniqueResources??t.unique_resources,0),uniqueActions:S(t.uniqueActions??t.unique_actions,0),burstiness:S(t.burstiness,0),riskScore:S(t.riskScore??t.risk_score,0),_idx:i}:null}function at(t){const i=P(t);return Array.isArray(i)?i.map(tt).filter(Boolean):[]}function lt(t,i=0){return!t||typeof t!="object"?null:{key:i,score:S(t.score,0),reasons:Array.isArray(t.reasons)?t.reasons:[],event:t.event&&typeof t.event=="object"?t.event:null,_idx:i}}function ot(t){const i=P(t);return Array.isArray(i)?i.map(lt).filter(Boolean):[]}function oe(t){if(!t)return{noAuditLog:!1,error:""};const i=/no such table:\s*audit_log/i.test(t),n=t.match(/Failed:\s*(.+?)(?:\r?\n|$)/i);return{noAuditLog:i,error:n?n[1].trim():""}}function nt(t){if(t==null||t==="")return"—";const i=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(i.getTime())?String(t):i.toLocaleString("zh-CN",{hour12:!1})}const it={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},st={class:"page-title"},rt={class:"page-sub"},ct={class:"filter-bar"},ut={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px","word-break":"break-all"}},pt={key:0,style:{color:"var(--text-muted)"}},dt={key:1,style:{color:"var(--text-muted)"}},mt={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},yt={key:1,style:{color:"var(--text-muted)"}},ft={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},vt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},bt={style:{color:"var(--text-primary)",margin:"16px 0 8px","font-size":"14px"}},gt={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},ht={key:2,style:{color:"var(--text-secondary)"}},_t={key:5,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},kt={style:{padding:"30px",color:"var(--text-muted)","text-align":"center"}},xt={key:2,style:{color:"var(--text-primary)",margin:"24px 0 8px","font-size":"14px"}},$t={style:{flex:"1"}},zt={style:{display:"flex",gap:"8px","align-items":"center"}},St={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},At={key:1,style:{color:"var(--text-secondary)","font-size":"11px"}},Tt={key:0,style:{"margin-top":"4px"}},Ct={style:{"margin-top":"8px","font-size":"12px",color:"var(--text-secondary)"}},Ft={key:0,style:{"margin-top":"12px","font-size":"12px"}},Rt={style:{color:"var(--text-secondary)"}},Ot={style:{color:"var(--text-secondary)"}},jt={key:0,style:{"margin-top":"4px"}},wt={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}},Lt={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}},Nt={__name:"Compliance",setup(t){const i=qe(),{t:n}=Ie(),z=g(!1),R=g(!1),J=g(!1),W=g(!1),Q=g([]),U=g({total:0,byType:{}}),B=g([]),O=g([]),A=g({noAuditLog:!1,error:""}),D=g("threat"),K=g(""),Y=g(!1),E=g(!1),I=g(!1),H=le({observable:""}),k=g(null),T=le({entity:"",days:30}),x=le({entity:"",threshold:.7,days:1}),ve=N(()=>[{title:n("compliance.cols.type"),key:"type",width:"120px"},{title:n("compliance.cols.value"),key:"value"},{title:n("compliance.cols.labels"),key:"labels",width:"160px"},{title:n("compliance.cols.confidence"),key:"confidence",width:"90px"},{title:n("compliance.cols.source"),key:"source",width:"160px"},{title:n("compliance.cols.lastSeen"),key:"lastSeen",width:"160px"},{title:n("compliance.cols.action"),key:"action",width:"90px"}]),be=N(()=>[{title:n("compliance.cols.entity"),key:"entity",width:"180px"},{title:n("compliance.cols.riskScore"),key:"riskScore"},{title:n("compliance.cols.eventCount"),key:"eventCount",width:"90px"},{title:n("compliance.cols.failureRate"),key:"failureRate",width:"90px"},{title:n("compliance.cols.uniqueResources"),key:"uniqueResources",width:"90px"},{title:n("compliance.cols.burstiness"),key:"burstiness",width:"90px"}]),ge=N(()=>K.value?Q.value.filter(e=>e.type===K.value):Q.value),he=N(()=>Object.keys(U.value.byType).length),_e=N(()=>Object.entries(U.value.byType).sort((e,s)=>s[1]-e[1])),ne=N(()=>B.value.filter(e=>e.riskScore>=70).length),ke={ipv4:"blue",ipv6:"cyan",domain:"purple",url:"magenta",email:"gold","file-md5":"orange","file-sha1":"orange","file-sha256":"red","file-sha512":"red",unknown:"default"};function G(e){return ke[e]||"default"}function xe(e){return e>=80?"#ff4d4f":e>=50?"#faad14":"#52c41a"}function ie(e){return e>=70?"#ff4d4f":e>=40?"#faad14":"#52c41a"}function $e(e,s){return e?e.length>s?e.slice(0,s)+"...":e:""}function ze({key:e}){e==="match"?(k.value=null,Y.value=!0):e==="ueba-build"?E.value=!0:e==="ueba-analyze"&&(I.value=!0)}async function V(){z.value=!0;try{const[e,s,y]=await Promise.all([i.execute("compliance threat-intel list --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("compliance threat-intel stats --json",8e3).catch(()=>({output:""})),i.execute("compliance ueba top --top-k 20 --json",1e4).catch(()=>({output:""}))]);Q.value=Xe(e.output),U.value=et(s.output),A.value=oe(y.output),B.value=A.value.noAuditLog?[]:at(y.output)}catch(e){v.error(n("compliance.msg.loadFailed")+": "+(e?.message||e))}finally{z.value=!1}}async function Se(){const e=H.observable.trim();if(!e){v.warning(n("compliance.msg.matchEmpty"));return}R.value=!0,k.value=null;try{const s=`compliance threat-intel match "${e.replace(/"/g,'\\"')}" --json`,{output:y}=await i.execute(s,8e3),$=Ze(y);if(!$){v.error(n("compliance.msg.matchFailed")+": "+y.slice(0,120));return}k.value=$,$.matched?v.warning(n("compliance.msg.matchHit",{type:$.type})):$.type==="unknown"?v.info(n("compliance.msg.matchUnknownType")):v.success(n("compliance.msg.matchMiss",{type:$.type}))}catch(s){v.error(n("compliance.msg.matchFailed")+": "+(s?.message||s))}finally{R.value=!1}}async function Ae(e){try{const s=`compliance threat-intel remove ${e.type} "${e.value.replace(/"/g,'\\"')}" --json`,{output:y}=await i.execute(s,8e3);if(/error|失败/i.test(y)&&!/"removed"/.test(y)){v.error(n("compliance.msg.deleteFailed")+": "+y.slice(0,120));return}v.success(n("compliance.msg.deleteSuccess")),await V()}catch(s){v.error(n("compliance.msg.deleteFailed")+": "+(s?.message||s))}}async function Te(){J.value=!0;try{const e=["compliance ueba baseline"];T.entity.trim()&&e.push(`--entity "${T.entity.trim().replace(/"/g,'\\"')}"`),T.days!=null&&e.push(`--days ${T.days}`),e.push("--json");const{output:s}=await i.execute(e.join(" "),3e4),y=oe(s);if(y.noAuditLog){A.value=y,v.warning(n("compliance.msg.auditEmptyBuild")),E.value=!1;return}if(y.error){v.error(n("compliance.msg.buildFailed")+": "+y.error);return}v.success(n("compliance.msg.buildSuccess")),E.value=!1,D.value="ueba",await V()}catch(e){v.error(n("compliance.msg.buildFailed")+": "+(e?.message||e))}finally{J.value=!1}}async function Ce(){W.value=!0;try{const e=["compliance ueba analyze"];x.entity.trim()&&e.push(`--entity "${x.entity.trim().replace(/"/g,'\\"')}"`),x.threshold!=null&&e.push(`--threshold ${x.threshold}`),x.days!=null&&e.push(`--days ${x.days}`),e.push("--json");const{output:s}=await i.execute(e.join(" "),3e4),y=oe(s);if(y.noAuditLog){A.value=y,v.warning(n("compliance.msg.auditEmptyAnalyze")),I.value=!1;return}if(y.error&&!s.includes("[")){v.error(n("compliance.msg.analyzeFailed")+": "+y.error);return}O.value=ot(s),v.success(n("compliance.msg.analyzeSuccess",{n:O.value.length})),I.value=!1,D.value="ueba"}catch(e){v.error(n("compliance.msg.analyzeFailed")+": "+(e?.message||e))}finally{W.value=!1}}return He(V),(e,s)=>{const y=d("a-button"),$=d("a-menu-item"),Fe=d("a-menu"),Re=d("a-dropdown"),se=d("a-space"),w=d("a-statistic"),j=d("a-card"),q=d("a-col"),Oe=d("a-row"),C=d("a-tag"),re=d("a-radio-button"),je=d("a-radio-group"),we=d("a-popconfirm"),ce=d("a-table"),ue=d("a-tab-pane"),pe=d("a-alert"),Le=d("a-progress"),Ne=d("a-list-item"),Ue=d("a-list"),Be=d("a-tabs"),X=d("a-input"),L=d("a-form-item"),Z=d("a-form"),ee=d("a-modal"),te=d("a-input-number");return c(),p("div",null,[b("div",it,[b("div",null,[b("h2",st,r(e.$t("compliance.title")),1),b("p",rt,r(e.$t("compliance.subtitle")),1)]),a(se,null,{default:l(()=>[a(y,{loading:z.value,onClick:V},{icon:l(()=>[a(_(Pe))]),default:l(()=>[f(" "+r(e.$t("compliance.refresh")),1)]),_:1},8,["loading"]),a(Re,{trigger:["click"]},{overlay:l(()=>[a(Fe,{onClick:ze},{default:l(()=>[a($,{key:"match"},{default:l(()=>[a(_(Ke)),f(" "+r(e.$t("compliance.actions.match")),1)]),_:1}),a($,{key:"ueba-build"},{default:l(()=>[a(_(Ve)),f(" "+r(e.$t("compliance.actions.uebaBuild")),1)]),_:1}),a($,{key:"ueba-analyze"},{default:l(()=>[a(_(Je)),f(" "+r(e.$t("compliance.actions.uebaAnalyze")),1)]),_:1})]),_:1})]),default:l(()=>[a(y,{type:"primary"},{icon:l(()=>[a(_(De))]),default:l(()=>[f(" "+r(e.$t("compliance.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Oe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:l(()=>[a(q,{xs:12,sm:8,lg:5},{default:l(()=>[a(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(w,{title:e.$t("compliance.stats.iocTotal"),value:U.value.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:l(()=>[a(_(de))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(q,{xs:12,sm:8,lg:5},{default:l(()=>[a(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(w,{title:e.$t("compliance.stats.iocTypes"),value:he.value,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:l(()=>[a(_(We))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(q,{xs:12,sm:8,lg:5},{default:l(()=>[a(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(w,{title:e.$t("compliance.stats.riskEntities"),value:B.value.length,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:l(()=>[a(_(me))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(q,{xs:12,sm:8,lg:5},{default:l(()=>[a(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(w,{title:e.$t("compliance.stats.highRisk"),value:ne.value,"value-style":{color:ne.value>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:l(()=>[a(_(Qe))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(q,{xs:24,sm:8,lg:4},{default:l(()=>[a(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(w,{title:e.$t("compliance.stats.recentAnomalies"),value:O.value.length,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:l(()=>[a(_(Ye))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),U.value.total>0?(c(),h(j,{key:0,title:e.$t("compliance.typeBreakdown"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:l(()=>[a(se,{size:[12,8],wrap:""},{default:l(()=>[(c(!0),p(F,null,M(_e.value,([o,u])=>(c(),h(C,{key:o,color:G(o)},{default:l(()=>[f(r(o)+": "+r(u),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):m("",!0),a(Be,{activeKey:D.value,"onUpdate:activeKey":s[1]||(s[1]=o=>D.value=o),class:"compliance-tabs"},{default:l(()=>[a(ue,{key:"threat",tab:e.$t("compliance.tabs.threat")},{default:l(()=>[b("div",ct,[a(je,{value:K.value,"onUpdate:value":s[0]||(s[0]=o=>K.value=o),size:"small"},{default:l(()=>[a(re,{value:""},{default:l(()=>[f(r(e.$t("compliance.filter.all")),1)]),_:1}),(c(!0),p(F,null,M(_(Ge),o=>(c(),h(re,{key:o,value:o},{default:l(()=>[f(r(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(ce,{columns:ve.value,"data-source":ge.value,pagination:{pageSize:20,showTotal:o=>e.$t("compliance.table.totalSuffix",{n:o})},size:"small",loading:z.value,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:o,record:u})=>[o.key==="type"?(c(),h(C,{key:0,color:G(u.type),style:{"font-family":"monospace"}},{default:l(()=>[f(r(u.type),1)]),_:2},1032,["color"])):m("",!0),o.key==="value"?(c(),p("span",ut,r($e(u.value,64)),1)):m("",!0),o.key==="labels"?(c(),p(F,{key:2},[(c(!0),p(F,null,M(u.labels,ae=>(c(),h(C,{key:ae,color:"orange",style:{"font-size":"10px",margin:"1px"}},{default:l(()=>[f(r(ae),1)]),_:2},1024))),128)),u.labels.length?m("",!0):(c(),p("span",pt,"—"))],64)):m("",!0),o.key==="confidence"?(c(),p(F,{key:3},[u.confidence!=null?(c(),p("span",{key:0,style:ye({color:xe(u.confidence),fontWeight:500})},r(u.confidence),5)):(c(),p("span",dt,"—"))],64)):m("",!0),o.key==="source"?(c(),p(F,{key:4},[u.sourceName?(c(),p("span",mt,r(u.sourceName),1)):(c(),p("span",yt,"—"))],64)):m("",!0),o.key==="lastSeen"?(c(),p("span",ft,r(_(nt)(u.lastSeenAt)),1)):m("",!0),o.key==="action"?(c(),h(we,{key:6,title:e.$t("compliance.table.deleteConfirm"),"ok-text":e.$t("compliance.table.deleteOk"),"cancel-text":e.$t("compliance.table.cancel"),onConfirm:ae=>Ae(u)},{default:l(()=>[a(y,{size:"small",type:"link",danger:""},{default:l(()=>[f(r(e.$t("compliance.table.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):m("",!0)]),emptyText:l(()=>[b("div",vt,[a(_(de),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+r(e.$t("compliance.table.emptyThreatsLine1"))+" ",1),s[11]||(s[11]=b("code",{style:{"font-size":"11px"}},"cc compliance threat-intel import <file.json>",-1))])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(ue,{key:"ueba",tab:e.$t("compliance.tabs.ueba")},{default:l(()=>[A.value.noAuditLog?(c(),h(pe,{key:0,type:"info","show-icon":"",message:e.$t("compliance.ueba.noAuditLog"),description:e.$t("compliance.ueba.noAuditLogDesc"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):A.value.error?(c(),h(pe,{key:1,type:"error","show-icon":"",message:e.$t("compliance.ueba.errorMessage",{err:A.value.error}),style:{"margin-bottom":"16px"}},null,8,["message"])):m("",!0),b("h3",bt,r(e.$t("compliance.ueba.topRiskTitle",{count:B.value.length})),1),a(ce,{columns:be.value,"data-source":B.value,pagination:!1,size:"small",loading:z.value,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:o,record:u})=>[o.key==="entity"?(c(),p("span",gt,r(u.entity),1)):m("",!0),o.key==="riskScore"?(c(),h(Le,{key:1,percent:Math.min(u.riskScore,100),"stroke-color":ie(u.riskScore),size:"small",format:()=>u.riskScore.toFixed(1)},null,8,["percent","stroke-color","format"])):m("",!0),o.key==="eventCount"?(c(),p("span",ht,r(u.eventCount),1)):m("",!0),o.key==="failureRate"?(c(),p("span",{key:3,style:ye({color:u.failureRate>.3?"#ff4d4f":"var(--text-secondary)",fontFamily:"monospace"})},r((u.failureRate*100).toFixed(1))+"% ",5)):m("",!0),o.key==="uniqueResources"?(c(),h(C,{key:4,color:"cyan",style:{"font-size":"11px"}},{default:l(()=>[f(r(u.uniqueResources),1)]),_:2},1024)):m("",!0),o.key==="burstiness"?(c(),p("span",_t,r((u.burstiness*100).toFixed(0))+"% ",1)):m("",!0)]),emptyText:l(()=>[b("div",kt,[a(_(me),{style:{"font-size":"32px","margin-bottom":"8px",display:"block"}}),f(" "+r(A.value.noAuditLog?e.$t("compliance.table.emptyAuditEntities"):e.$t("compliance.table.emptyRiskEntities")),1)])]),_:1},8,["columns","data-source","loading"]),O.value.length?(c(),p("h3",xt,r(e.$t("compliance.ueba.anomalyTitle",{count:O.value.length})),1)):m("",!0),O.value.length?(c(),h(Ue,{key:3,size:"small","data-source":O.value,locale:{emptyText:e.$t("compliance.table.noAnomalies")}},{renderItem:l(({item:o})=>[a(Ne,{style:{background:"var(--bg-card)",padding:"10px 16px"}},{default:l(()=>[b("div",$t,[b("div",zt,[a(C,{color:ie(o.score*100)},{default:l(()=>[f("score "+r(o.score.toFixed(2)),1)]),_:2},1032,["color"]),o.event?.entity?(c(),p("span",St,r(o.event.entity),1)):m("",!0),o.event?.action?(c(),p("span",At," → "+r(o.event.action),1)):m("",!0)]),o.reasons.length?(c(),p("div",Tt,[(c(!0),p(F,null,M(o.reasons,u=>(c(),h(C,{key:u,color:"volcano",style:{"font-size":"10px",margin:"1px"}},{default:l(()=>[f(r(u),1)]),_:2},1024))),128))])):m("",!0)])]),_:2},1024)]),_:1},8,["data-source","locale"])):m("",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ee,{open:Y.value,"onUpdate:open":s[3]||(s[3]=o=>Y.value=o),title:e.$t("compliance.match.modalTitle"),"confirm-loading":R.value,width:500,"ok-text":e.$t("compliance.match.ok"),"cancel-text":e.$t("compliance.match.close"),onOk:Se},{default:l(()=>[a(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[a(L,{label:e.$t("compliance.match.label"),required:""},{default:l(()=>[a(X,{value:H.observable,"onUpdate:value":s[2]||(s[2]=o=>H.observable=o),placeholder:e.$t("compliance.match.placeholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),k.value?(c(),h(j,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:l(()=>[a(w,{title:e.$t("compliance.match.result"),value:k.value.matched?e.$t("compliance.match.hit"):e.$t("compliance.match.miss"),"value-style":{color:k.value.matched?"#ff4d4f":"#52c41a"}},null,8,["title","value","value-style"]),b("div",Ct,[f(r(e.$t("compliance.match.detectType"))+" ",1),a(C,{color:G(k.value.type)},{default:l(()=>[f(r(k.value.type),1)]),_:1},8,["color"])]),k.value.indicator?(c(),p("div",Ft,[b("div",Rt,r(e.$t("compliance.match.sourcePrefix"))+" "+r(k.value.indicator.sourceName||"—"),1),b("div",Ot,r(e.$t("compliance.match.confidencePrefix"))+" "+r(k.value.indicator.confidence??"—"),1),k.value.indicator.labels.length?(c(),p("div",jt,[(c(!0),p(F,null,M(k.value.indicator.labels,o=>(c(),h(C,{key:o,color:"orange",style:{"font-size":"10px"}},{default:l(()=>[f(r(o),1)]),_:2},1024))),128))])):m("",!0)])):m("",!0)]),_:1})):m("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ee,{open:E.value,"onUpdate:open":s[6]||(s[6]=o=>E.value=o),title:e.$t("compliance.build.modalTitle"),"confirm-loading":J.value,width:480,"ok-text":e.$t("compliance.build.ok"),"cancel-text":e.$t("compliance.build.cancel"),onOk:Te},{default:l(()=>[a(Z,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(L,{label:e.$t("compliance.build.entityLabel")},{default:l(()=>[a(X,{value:T.entity,"onUpdate:value":s[4]||(s[4]=o=>T.entity=o),placeholder:e.$t("compliance.build.entityPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("compliance.build.daysLabel")},{default:l(()=>[a(te,{value:T.days,"onUpdate:value":s[5]||(s[5]=o=>T.days=o),min:1,max:365,placeholder:e.$t("compliance.build.daysPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),b("p",wt,r(e.$t("compliance.build.footnote")),1)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ee,{open:I.value,"onUpdate:open":s[10]||(s[10]=o=>I.value=o),title:e.$t("compliance.analyze.modalTitle"),"confirm-loading":W.value,width:480,"ok-text":e.$t("compliance.analyze.ok"),"cancel-text":e.$t("compliance.analyze.cancel"),onOk:Ce},{default:l(()=>[a(Z,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(L,{label:e.$t("compliance.analyze.entityLabel")},{default:l(()=>[a(X,{value:x.entity,"onUpdate:value":s[7]||(s[7]=o=>x.entity=o),placeholder:e.$t("compliance.analyze.entityPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("compliance.analyze.thresholdLabel")},{default:l(()=>[a(te,{value:x.threshold,"onUpdate:value":s[8]||(s[8]=o=>x.threshold=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(L,{label:e.$t("compliance.analyze.daysLabel")},{default:l(()=>[a(te,{value:x.days,"onUpdate:value":s[9]||(s[9]=o=>x.days=o),min:1,max:30,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),b("p",Lt,r(e.$t("compliance.analyze.footnote")),1)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},Mt=Ee(Nt,[["__scopeId","data-v-81155fa8"]]);export{Mt as default};
@@ -1 +0,0 @@
1
- import{_ as Ie,a as He,c as k}from"./index-CyqU4Tck.js";import{u as Re}from"./ws-D_5-FRIb.js";import{s as qe}from"./community-parser-CO25nZFt.js";import{R as Ve,al as De,Q as ie,aN as ue,aO as de,aP as Ee,ap as Je,av as Ke,aE as ce}from"./icons-DvZE-RKs.js";import{o as Qe,M as m,R as f,P as i,c as s,N as o,Q as x,S as _,K as g,r as C,L as u,O as h,u as v,F as $,_ as U,f as pe,a as Y}from"./vendor-B6ToihkA.js";function B(a){const r=qe(a);if(!r)return null;try{return JSON.parse(r)}catch{}const l=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}function A(a,r=0){return typeof a=="number"&&Number.isFinite(a)?a:r}function We(a,r=0){if(!a||typeof a!="object")return null;const l=a.id||"";return l?{key:l,id:l,name:String(a.name||l),symbol:String(a.symbol||""),chainId:A(a.chainId??a.chain_id,0),_idx:r}:null}function Xe(a){const r=B(a);return Array.isArray(r)?r.map(We).filter(Boolean):[]}function Ge(a,r=0){if(!a||typeof a!="object")return null;const l=a.id||"";return l?{key:l,id:l,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",asset:String(a.asset||"native"),amount:A(a.amount,0),senderAddress:a.senderAddress??a.sender_address??"",recipientAddress:a.recipientAddress??a.recipient_address??"",lockTxHash:a.lockTxHash??a.lock_tx_hash??"",mintTxHash:a.mintTxHash??a.mint_tx_hash??"",status:String(a.status||"pending").toLowerCase(),feeAmount:A(a.feeAmount??a.fee_amount,0),feeChain:a.feeChain??a.fee_chain??"",errorMessage:a.errorMessage??a.error_message??"",createdAt:a.createdAt??a.created_at??null,completedAt:a.completedAt??a.completed_at??null,_idx:r}:null}function Ye(a){const r=B(a);return Array.isArray(r)?r.map(Ge).filter(Boolean):[]}function Ze(a,r=0){if(!a||typeof a!="object")return null;const l=a.id||"";return l?{key:l,id:l,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",fromAsset:a.fromAsset??a.from_asset??"native",toAsset:a.toAsset??a.to_asset??"native",amount:A(a.amount,0),counterpartyAddress:a.counterpartyAddress??a.counterparty_address??"",hashLock:a.hashLock??a.hash_lock??"",expiresAt:a.expiresAt??a.expires_at??null,status:String(a.status||"initiated").toLowerCase(),claimTxHash:a.claimTxHash??a.claim_tx_hash??"",refundTxHash:a.refundTxHash??a.refund_tx_hash??"",createdAt:a.createdAt??a.created_at??null,_idx:r}:null}function et(a){const r=B(a);return Array.isArray(r)?r.map(Ze).filter(Boolean):[]}function tt(a,r=0){if(!a||typeof a!="object")return null;const l=a.id||"";return l?{key:l,id:l,fromChain:a.fromChain??a.from_chain??"",toChain:a.toChain??a.to_chain??"",payload:String(a.payload||""),targetContract:a.targetContract??a.target_contract??"",sourceTxHash:a.sourceTxHash??a.source_tx_hash??"",destinationTxHash:a.destinationTxHash??a.destination_tx_hash??"",status:String(a.status||"pending").toLowerCase(),retries:A(a.retries,0),createdAt:a.createdAt??a.created_at??null,deliveredAt:a.deliveredAt??a.delivered_at??null,_idx:r}:null}function at(a){const r=B(a);return Array.isArray(r)?r.map(tt).filter(Boolean):[]}const st={bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}};function ot(a){const r=JSON.parse(JSON.stringify(st)),l=B(a);return!l||typeof l!="object"||Array.isArray(l)||(l.bridges&&typeof l.bridges=="object"&&(r.bridges.total=A(l.bridges.total,0),r.bridges.totalVolume=A(l.bridges.totalVolume??l.bridges.total_volume,0),r.bridges.totalFees=A(l.bridges.totalFees??l.bridges.total_fees,0),l.bridges.byStatus&&typeof l.bridges.byStatus=="object"&&(r.bridges.byStatus={...l.bridges.byStatus})),l.swaps&&typeof l.swaps=="object"&&(r.swaps.total=A(l.swaps.total,0),l.swaps.byStatus&&typeof l.swaps.byStatus=="object"&&(r.swaps.byStatus={...l.swaps.byStatus})),l.messages&&typeof l.messages=="object"&&(r.messages.total=A(l.messages.total,0),l.messages.byStatus&&typeof l.messages.byStatus=="object"&&(r.messages.byStatus={...l.messages.byStatus}))),r}function lt(a){const r=B(a);return!r||typeof r!="object"||Array.isArray(r)?null:{fee:A(r.fee,0),breakdown:{sourceFee:A(r?.breakdown?.sourceFee??r?.breakdown?.source_fee,0),destFee:A(r?.breakdown?.destFee??r?.breakdown?.dest_fee,0),bridgeFee:A(r?.breakdown?.bridgeFee??r?.breakdown?.bridge_fee,0)},currency:String(r.currency||"USD")}}function me(a){if(a==null||a==="")return"—";const r=typeof a=="number"?new Date(a):new Date(String(a));return isNaN(r.getTime())?String(a):r.toLocaleString("zh-CN",{hour12:!1})}const nt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},rt={class:"page-title"},it={class:"page-sub"},ut={style:{opacity:"0.7"}},dt={key:0,style:{opacity:"0.55","font-size":"10px","margin-left":"4px"}},ct={style:{color:"var(--text-primary)"}},pt={style:{color:"var(--text-primary)"}},mt={style:{color:"#722ed1","font-weight":"500"}},ft={style:{color:"var(--text-secondary)","margin-left":"4px","font-size":"11px"}},ht={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},gt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},bt={style:{color:"var(--text-primary)"}},vt={style:{color:"var(--text-secondary)","font-size":"11px",margin:"0 4px"}},_t={style:{color:"var(--text-primary)"}},kt={style:{color:"var(--text-secondary)","font-size":"11px","margin-left":"4px"}},Ct={key:1,style:{color:"#722ed1","font-weight":"500"}},xt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},$t={key:1,style:{color:"var(--text-muted)"}},At={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},St={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},wt={style:{color:"var(--text-primary)"}},Ft={style:{color:"var(--text-primary)"}},zt={key:1,style:{color:"var(--text-secondary)","font-size":"12px"}},Ut={key:1,style:{color:"var(--text-muted)"}},Tt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},jt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Mt={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Ot={__name:"Crosschain",setup(a){const r=Re(),{t:l}=He(),P=C(!1),Z=C(!1),ee=C(!1),te=C(!1),ae=C(!1),S=C([]),fe=C([]),he=C([]),ge=C([]),I=C({bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}}),H=C("bridges"),E=C(!1),J=C(!1),K=C(!1),se=C(!1),c=Y({fromChain:"",toChain:"",amount:null,asset:"",sender:"",recipient:""}),d=Y({fromChain:"",toChain:"",amount:null,fromAsset:"",toAsset:"",counterparty:"",timeoutMs:null}),y=Y({fromChain:"",toChain:"",payload:"",contract:""}),w=Y({fromChain:"",toChain:"",amount:null}),z=C(null),ke=pe(()=>[{title:l("crosschain.bridgeCols.route"),key:"route"},{title:l("crosschain.bridgeCols.amount"),key:"amount",width:"160px"},{title:l("crosschain.bridgeCols.fee"),key:"fee",width:"100px"},{title:l("crosschain.bridgeCols.status"),key:"status",width:"110px"},{title:l("crosschain.bridgeCols.createdAt"),key:"createdAt",width:"160px"}]),Ce=pe(()=>[{title:l("crosschain.swapCols.route"),key:"route"},{title:l("crosschain.swapCols.amount"),key:"amount",width:"110px"},{title:l("crosschain.swapCols.hashLock"),key:"hashLock",width:"160px"},{title:l("crosschain.swapCols.status"),key:"status",width:"120px"},{title:l("crosschain.swapCols.expiresAt"),key:"expiresAt",width:"160px"}]),xe=pe(()=>[{title:l("crosschain.messageCols.route"),key:"route",width:"220px"},{title:l("crosschain.messageCols.payload"),key:"payload"},{title:l("crosschain.messageCols.retries"),key:"retries",width:"80px"},{title:l("crosschain.messageCols.status"),key:"status",width:"110px"},{title:l("crosschain.messageCols.createdAt"),key:"createdAt",width:"160px"}]),$e={ethereum:"blue",polygon:"purple",bsc:"gold",arbitrum:"cyan",solana:"magenta"};function Ae(e){return $e[e]||"default"}function L(e){const n=S.value.find(F=>F.id===e);return n?n.name:e||"—"}function oe(e){const n=`crosschain.statusLabels.${e}`,F=l(n);return F===n?e:F}function Se(e){return{pending:"default",locked:"processing",minted:"cyan",completed:"green",refunded:"orange",failed:"red"}[e]||"default"}function we(e){return{initiated:"default",hash_locked:"processing",claimed:"green",refunded:"orange",expired:"red"}[e]||"default"}function Fe(e){return{pending:"default",sent:"processing",delivered:"green",failed:"red"}[e]||"default"}function ze(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function Ue({key:e}){e==="bridge"?E.value=!0:e==="swap"?J.value=!0:e==="message"&&(K.value=!0)}async function R(){P.value=!0;try{const[e,n,F,q,le]=await Promise.all([r.execute("crosschain chains --json",8e3).catch(()=>({output:""})),r.execute("crosschain bridges --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain swaps --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain messages --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("crosschain stats --json",8e3).catch(()=>({output:""}))]);S.value=Xe(e.output),fe.value=Ye(n.output),he.value=et(F.output),ge.value=at(q.output),I.value=ot(le.output)}catch(e){k.error(l("crosschain.msg.loadFailed")+": "+(e?.message||e))}finally{P.value=!1}}function Q(e){return!e.fromChain||!e.toChain?(k.warning(l("crosschain.msg.pairEmpty")),!1):e.fromChain===e.toChain?(k.warning(l("crosschain.msg.pairSame")),!1):!0}async function Te(){if(Q(c)){if(!c.amount||c.amount<=0){k.warning(l("crosschain.msg.amountInvalid"));return}Z.value=!0;try{const e=[`crosschain bridge ${c.fromChain} ${c.toChain} ${c.amount}`];c.asset.trim()&&e.push(`--asset "${c.asset.trim().replace(/"/g,'\\"')}"`),c.sender.trim()&&e.push(`--sender "${c.sender.trim().replace(/"/g,'\\"')}"`),c.recipient.trim()&&e.push(`--recipient "${c.recipient.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:n}=await r.execute(e.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(n)&&!/"bridgeId"/.test(n)){k.error(l("crosschain.msg.bridgeFailed")+": "+n.slice(0,120));return}k.success(l("crosschain.msg.bridgeSuccess")),E.value=!1,ye(),H.value="bridges",await R()}catch(e){k.error(l("crosschain.msg.bridgeFailed")+": "+(e?.message||e))}finally{Z.value=!1}}}async function je(){if(Q(d)){if(!d.amount||d.amount<=0){k.warning(l("crosschain.msg.amountInvalid"));return}ee.value=!0;try{const e=[`crosschain swap ${d.fromChain} ${d.toChain} ${d.amount}`];d.fromAsset.trim()&&e.push(`--from-asset "${d.fromAsset.trim().replace(/"/g,'\\"')}"`),d.toAsset.trim()&&e.push(`--to-asset "${d.toAsset.trim().replace(/"/g,'\\"')}"`),d.counterparty.trim()&&e.push(`--counterparty "${d.counterparty.trim().replace(/"/g,'\\"')}"`),d.timeoutMs!=null&&e.push(`--timeout ${d.timeoutMs}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(n)&&!/"swapId"/.test(n)){k.error(l("crosschain.msg.swapFailed")+": "+n.slice(0,120));return}k.success(l("crosschain.msg.swapSuccess")),J.value=!1,be(),H.value="swaps",await R()}catch(e){k.error(l("crosschain.msg.swapFailed")+": "+(e?.message||e))}finally{ee.value=!1}}}async function Me(){if(Q(y)){te.value=!0;try{const e=[`crosschain send ${y.fromChain} ${y.toChain}`];y.payload.trim()&&e.push(`--payload "${y.payload.trim().replace(/"/g,'\\"')}"`),y.contract.trim()&&e.push(`--contract "${y.contract.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:n}=await r.execute(e.join(" "),12e3);if(/error|failed|失败|unsupported/i.test(n)&&!/"messageId"/.test(n)){k.error(l("crosschain.msg.sendFailed")+": "+n.slice(0,120));return}k.success(l("crosschain.msg.sendSuccess")),K.value=!1,ve(),H.value="messages",await R()}catch(e){k.error(l("crosschain.msg.sendFailed")+": "+(e?.message||e))}finally{te.value=!1}}}async function Oe(){if(Q(w)){if(!w.amount||w.amount<=0){k.warning(l("crosschain.msg.amountInvalid"));return}ae.value=!0,z.value=null;try{const e=`crosschain estimate-fee ${w.fromChain} ${w.toChain} ${w.amount} --json`,{output:n}=await r.execute(e,8e3),F=lt(n);if(!F){k.error(l("crosschain.msg.feeFailed")+": "+n.slice(0,120));return}z.value=F}catch(e){k.error(l("crosschain.msg.feeFailed")+": "+(e?.message||e))}finally{ae.value=!1}}}function ye(){c.fromChain="",c.toChain="",c.amount=null,c.asset="",c.sender="",c.recipient=""}function be(){d.fromChain="",d.toChain="",d.amount=null,d.fromAsset="",d.toAsset="",d.counterparty="",d.timeoutMs=null}function ve(){y.fromChain="",y.toChain="",y.payload="",y.contract=""}return Qe(R),(e,n)=>{const F=g("a-button"),q=g("a-menu-item"),le=g("a-menu"),Pe=g("a-dropdown"),_e=g("a-space"),N=g("a-statistic"),M=g("a-card"),V=g("a-col"),Le=g("a-row"),D=g("a-tag"),ne=g("a-table"),re=g("a-tab-pane"),Ne=g("a-tabs"),T=g("a-select-option"),j=g("a-select"),b=g("a-form-item"),W=g("a-input-number"),O=g("a-input"),X=g("a-form"),G=g("a-modal"),Be=g("a-textarea");return u(),m("div",null,[f("div",nt,[f("div",null,[f("h2",rt,i(e.$t("crosschain.title")),1),f("p",it,i(e.$t("crosschain.subtitle")),1)]),s(_e,null,{default:o(()=>[s(F,{loading:P.value,onClick:R},{icon:o(()=>[s(v(Ve))]),default:o(()=>[h(" "+i(e.$t("crosschain.refresh")),1)]),_:1},8,["loading"]),s(Pe,{trigger:["click"]},{overlay:o(()=>[s(le,{onClick:Ue},{default:o(()=>[s(q,{key:"bridge"},{default:o(()=>[s(v(ie)),h(" "+i(e.$t("crosschain.actions.bridge")),1)]),_:1}),s(q,{key:"swap"},{default:o(()=>[s(v(ue)),h(" "+i(e.$t("crosschain.actions.swap")),1)]),_:1}),s(q,{key:"message"},{default:o(()=>[s(v(de)),h(" "+i(e.$t("crosschain.actions.message")),1)]),_:1})]),_:1})]),default:o(()=>[s(F,{type:"primary"},{icon:o(()=>[s(v(De))]),default:o(()=>[h(" "+i(e.$t("crosschain.newDropdown")),1)]),_:1})]),_:1}),s(F,{onClick:n[0]||(n[0]=t=>se.value=!0)},{icon:o(()=>[s(v(Ee))]),default:o(()=>[h(" "+i(e.$t("crosschain.feeEstimate")),1)]),_:1})]),_:1})]),s(Le,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(N,{title:e.$t("crosschain.stats.chains"),value:S.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:o(()=>[s(v(Je))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(N,{title:e.$t("crosschain.stats.bridges"),value:I.value.bridges.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:o(()=>[s(v(ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(N,{title:e.$t("crosschain.stats.swaps"),value:I.value.swaps.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:o(()=>[s(v(ue))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:12,sm:8,lg:5},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(N,{title:e.$t("crosschain.stats.messages"),value:I.value.messages.total,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:o(()=>[s(v(de))]),_:1},8,["title","value"])]),_:1})]),_:1}),s(V,{xs:24,sm:8,lg:4},{default:o(()=>[s(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[s(N,{title:e.$t("crosschain.stats.volume"),value:I.value.bridges.totalVolume,precision:2,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:o(()=>[s(v(Ke))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),S.value.length?(u(),x(M,{key:0,title:e.$t("crosschain.chainsCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:o(()=>[s(_e,{size:[12,8],wrap:""},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(D,{key:t.id,color:Ae(t.id)},{default:o(()=>[h(i(t.name)+" ",1),f("span",ut,"("+i(t.symbol)+")",1),t.chainId>0?(u(),m("span",dt,"#"+i(t.chainId),1)):_("",!0)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),s(Ne,{activeKey:H.value,"onUpdate:activeKey":n[1]||(n[1]=t=>H.value=t),class:"xchain-tabs"},{default:o(()=>[s(re,{key:"bridges",tab:e.$t("crosschain.tabs.bridges")},{default:o(()=>[s(ne,{columns:ke.value,"data-source":fe.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:P.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",ct,i(L(p.fromChain)),1),s(v(ce),{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",pt,i(L(p.toChain)),1)],64)):_("",!0),t.key==="amount"?(u(),m($,{key:1},[f("span",mt,i(p.amount),1),f("span",ft,i(p.asset),1)],64)):_("",!0),t.key==="fee"?(u(),m("span",ht,i(p.feeAmount),1)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:Se(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="createdAt"?(u(),m("span",gt,i(v(me)(p.createdAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",yt,[s(v(ie),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptyBridges")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),s(re,{key:"swaps",tab:e.$t("crosschain.tabs.swaps")},{default:o(()=>[s(ne,{columns:Ce.value,"data-source":he.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:P.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",bt,i(L(p.fromChain)),1),f("span",vt,"("+i(p.fromAsset)+")",1),s(v(ce),{style:{margin:"0 4px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",_t,i(L(p.toChain)),1),f("span",kt,"("+i(p.toAsset)+")",1)],64)):_("",!0),t.key==="amount"?(u(),m("span",Ct,i(p.amount),1)):_("",!0),t.key==="hashLock"?(u(),m($,{key:2},[p.hashLock?(u(),m("span",xt,i(p.hashLock.slice(0,14))+"... ",1)):(u(),m("span",$t,"—"))],64)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:we(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="expiresAt"?(u(),m("span",At,i(v(me)(p.expiresAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",St,[s(v(ue),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptySwaps")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),s(re,{key:"messages",tab:e.$t("crosschain.tabs.messages")},{default:o(()=>[s(ne,{columns:xe.value,"data-source":ge.value,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:P.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="route"?(u(),m($,{key:0},[f("span",wt,i(L(p.fromChain)),1),s(v(ce),{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),f("span",Ft,i(L(p.toChain)),1)],64)):_("",!0),t.key==="payload"?(u(),m("span",zt,i(ze(p.payload,60)||"—"),1)):_("",!0),t.key==="retries"?(u(),m($,{key:2},[p.retries>0?(u(),x(D,{key:0,color:"orange",style:{"font-size":"11px"}},{default:o(()=>[h(i(e.$t("crosschain.table.retrySuffix",{n:p.retries})),1)]),_:2},1024)):(u(),m("span",Ut,"—"))],64)):_("",!0),t.key==="status"?(u(),x(D,{key:3,color:Fe(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="createdAt"?(u(),m("span",Tt,i(v(me)(p.createdAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",jt,[s(v(de),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),h(" "+i(e.$t("crosschain.table.emptyMessages")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),s(G,{open:E.value,"onUpdate:open":n[8]||(n[8]=t=>E.value=t),title:e.$t("crosschain.bridge_modal.title"),"confirm-loading":Z.value,width:540,"ok-text":e.$t("crosschain.bridge_modal.ok"),"cancel-text":e.$t("crosschain.bridge_modal.cancel"),onOk:Te,onCancel:ye},{default:o(()=>[s(X,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.bridge_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:c.fromChain,"onUpdate:value":n[2]||(n[2]=t=>c.fromChain=t),placeholder:e.$t("crosschain.bridge_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.toChain"),required:""},{default:o(()=>[s(j,{value:c.toChain,"onUpdate:value":n[3]||(n[3]=t=>c.toChain=t),placeholder:e.$t("crosschain.bridge_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===c.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.amount"),required:""},{default:o(()=>[s(W,{value:c.amount,"onUpdate:value":n[4]||(n[4]=t=>c.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.asset")},{default:o(()=>[s(O,{value:c.asset,"onUpdate:value":n[5]||(n[5]=t=>c.asset=t),placeholder:e.$t("crosschain.bridge_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.sender")},{default:o(()=>[s(O,{value:c.sender,"onUpdate:value":n[6]||(n[6]=t=>c.sender=t),placeholder:e.$t("crosschain.bridge_modal.senderPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.bridge_modal.recipient")},{default:o(()=>[s(O,{value:c.recipient,"onUpdate:value":n[7]||(n[7]=t=>c.recipient=t),placeholder:e.$t("crosschain.bridge_modal.recipientPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(G,{open:J.value,"onUpdate:open":n[16]||(n[16]=t=>J.value=t),title:e.$t("crosschain.swap_modal.title"),"confirm-loading":ee.value,width:540,"ok-text":e.$t("crosschain.swap_modal.ok"),"cancel-text":e.$t("crosschain.swap_modal.cancel"),onOk:je,onCancel:be},{default:o(()=>[s(X,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.swap_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:d.fromChain,"onUpdate:value":n[9]||(n[9]=t=>d.fromChain=t),placeholder:e.$t("crosschain.swap_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.toChain"),required:""},{default:o(()=>[s(j,{value:d.toChain,"onUpdate:value":n[10]||(n[10]=t=>d.toChain=t),placeholder:e.$t("crosschain.swap_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===d.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.amount"),required:""},{default:o(()=>[s(W,{value:d.amount,"onUpdate:value":n[11]||(n[11]=t=>d.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.fromAsset")},{default:o(()=>[s(O,{value:d.fromAsset,"onUpdate:value":n[12]||(n[12]=t=>d.fromAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.toAsset")},{default:o(()=>[s(O,{value:d.toAsset,"onUpdate:value":n[13]||(n[13]=t=>d.toAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.counterparty")},{default:o(()=>[s(O,{value:d.counterparty,"onUpdate:value":n[14]||(n[14]=t=>d.counterparty=t),placeholder:e.$t("crosschain.swap_modal.counterpartyPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.swap_modal.timeoutMs")},{default:o(()=>[s(W,{value:d.timeoutMs,"onUpdate:value":n[15]||(n[15]=t=>d.timeoutMs=t),min:0,placeholder:e.$t("crosschain.swap_modal.timeoutPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(G,{open:K.value,"onUpdate:open":n[21]||(n[21]=t=>K.value=t),title:e.$t("crosschain.message_modal.title"),"confirm-loading":te.value,width:520,"ok-text":e.$t("crosschain.message_modal.ok"),"cancel-text":e.$t("crosschain.message_modal.cancel"),onOk:Me,onCancel:ve},{default:o(()=>[s(X,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.message_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:y.fromChain,"onUpdate:value":n[17]||(n[17]=t=>y.fromChain=t),placeholder:e.$t("crosschain.message_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.toChain"),required:""},{default:o(()=>[s(j,{value:y.toChain,"onUpdate:value":n[18]||(n[18]=t=>y.toChain=t),placeholder:e.$t("crosschain.message_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===y.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.payload")},{default:o(()=>[s(Be,{value:y.payload,"onUpdate:value":n[19]||(n[19]=t=>y.payload=t),"auto-size":{minRows:3,maxRows:8}},null,8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.message_modal.contract")},{default:o(()=>[s(O,{value:y.contract,"onUpdate:value":n[20]||(n[20]=t=>y.contract=t),placeholder:e.$t("crosschain.message_modal.contractPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),s(G,{open:se.value,"onUpdate:open":n[25]||(n[25]=t=>se.value=t),title:e.$t("crosschain.fee_modal.title"),"confirm-loading":ae.value,width:480,"ok-text":e.$t("crosschain.fee_modal.ok"),"cancel-text":e.$t("crosschain.fee_modal.cancel"),onOk:Oe},{default:o(()=>[s(X,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[s(b,{label:e.$t("crosschain.fee_modal.fromChain"),required:""},{default:o(()=>[s(j,{value:w.fromChain,"onUpdate:value":n[22]||(n[22]=t=>w.fromChain=t)},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.fee_modal.toChain"),required:""},{default:o(()=>[s(j,{value:w.toChain,"onUpdate:value":n[23]||(n[23]=t=>w.toChain=t)},{default:o(()=>[(u(!0),m($,null,U(S.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===w.fromChain},{default:o(()=>[h(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(b,{label:e.$t("crosschain.fee_modal.amount"),required:""},{default:o(()=>[s(W,{value:w.amount,"onUpdate:value":n[24]||(n[24]=t=>w.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),z.value?(u(),x(M,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:o(()=>[s(N,{title:e.$t("crosschain.fee_modal.resultTitle"),value:z.value.fee,precision:4,suffix:z.value.currency,"value-style":{color:"#1677ff"}},null,8,["title","value","suffix"]),f("div",Mt,[f("div",null,i(e.$t("crosschain.fee_modal.sourceFee",{fee:z.value.breakdown.sourceFee,currency:z.value.currency})),1),f("div",null,i(e.$t("crosschain.fee_modal.destFee",{fee:z.value.breakdown.destFee,currency:z.value.currency})),1),f("div",null,i(e.$t("crosschain.fee_modal.bridgeFee",{fee:z.value.breakdown.bridgeFee,currency:z.value.currency})),1)])]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},Ht=Ie(Ot,[["__scopeId","data-v-21e0fb7f"]]);export{Ht as default};
@@ -1,3 +0,0 @@
1
- import{E as ae,r as O,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 B,S as K,f as C,K as w,I as re,L as i,O as h,$ as Q,F as E,_ as M}from"./vendor-B6ToihkA.js";import{u as V}from"./ws-D_5-FRIb.js";import{u as ne}from"./chat-BQ-Nk2XY.js";import{_ as de}from"./index-CyqU4Tck.js";import{R as ie,F as ue,a8 as J,l as X,M as Y,a7 as ce,a9 as ve,k as Z,aa as me,m as pe}from"./icons-DvZE-RKs.js";function he(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const fe=ae("dashboard",()=>{const H=O(!1),N=O(!1),c=O({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),F=O(""),b=O(he()),v=O({windowPreset:"all",provider:"",model:""});let y=null;function q(r=V()){y||(y=r.onRuntimeEvent(m=>{m.type==="compression:summary"?L(m.payload?.summary||{}):m.type==="session:start"?c.value.sessionCount=(c.value.sessionCount||0)+1:m.type==="session:end"&&(c.value.sessionCount=Math.max(0,(c.value.sessionCount||0)-1))}))}function A(){y&&(y(),y=null)}function L(r){b.value={...b.value,...r||{}}}function U(r){return r==="1h"?3600*1e3:r==="24h"?1440*60*1e3:r==="7d"?10080*60*1e3:null}function R(r){c.value.appRunning=r.includes("Desktop app running"),c.value.setupDone=r.includes("Setup completed");const m=r.match(/Edition:\s+(\S+)/i);m&&(c.value.edition=m[1]);const g=r.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if(g)c.value.activeLlm=g[1],c.value.activeModel=g[2];else{const $=r.match(/LLM:\s+(\S+)/i);$&&(c.value.activeLlm=$[1])}}async function f(){const r=V();q(r),N.value=!0;const m={type:"compression-stats",windowMs:U(v.value.windowPreset)};v.value.provider&&(m.provider=v.value.provider),v.value.model&&(m.model=v.value.model);try{const g=await r.sendRaw(m,1e4);L(g.summary||{})}catch{}finally{N.value=!1}}async function _(){const r=V();q(r),H.value=!0,c.value.wsStatus=r.status,F.value="";try{const[m,g]=await Promise.allSettled([r.execute("status",15e3),r.listSessions()]);if(m.status==="fulfilled"){const $=m.value.output;F.value=$.split(`
2
- `).slice(0,20).join(`
3
- `),R($)}g.status==="fulfilled"&&(c.value.sessionCount=g.value.length),Promise.allSettled([r.execute("skill sources",15e3),r.execute("llm providers",15e3)]).then(([$,D])=>{if($.status==="fulfilled"){const z=$.value.output.match(/(\d+)\s*(?:skills|技能)/i);z&&(c.value.skillCount=parseInt(z[1],10))}if(D.status==="fulfilled"){const I=D.value.output.match(/active[:\s]+(\S+)/i);I&&!c.value.activeLlm&&(c.value.activeLlm=I[1])}}),r.execute("mcp servers",1e4).then(({output:$})=>{const D=($.match(/^[a-z]/gm)||[]).length;c.value.mcpCount=D}).catch(()=>{c.value.mcpCount=0}),await f()}catch{}finally{H.value=!1}}return{loading:H,compressionLoading:N,stats:c,statusLog:F,compression:b,telemetryFilters:v,ensureRuntimeSubscription:q,stopRuntimeSubscription:A,refresh:_,refreshCompression:f,applyCompressionSummary:L,toWindowMs:U}}),be={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ye={class:"page-title"},_e={class:"page-sub"},ge={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},$e={style:{color:"#91caff","font-weight":"600"}},ke={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},we={class:"stat-header"},Ce={class:"stat-label"},Se={class:"stat-sub"},Re={class:"stat-header"},De={class:"stat-label"},ze={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"}},je={class:"stat-header"},Le={class:"stat-label"},Te={class:"stat-value",style:{color:"#1677ff"}},Oe={class:"stat-sub"},Ee={class:"stat-header"},Me={class:"stat-label"},Ne={class:"stat-value",style:{color:"#c084fc"}},Fe={class:"stat-sub"},qe={class:"stat-header"},Ae={class:"stat-label"},Be={class:"stat-sub"},He={class:"stat-header"},Ue={class:"stat-label"},Ie={class:"stat-value",style:{color:"#13c2c2"}},Ve={class:"stat-sub"},Ge={class:"stat-header"},We={class:"stat-label"},Ke={class:"stat-value",style:{color:"#faad14"}},Qe={class:"stat-sub"},Je={class:"status-log"},Xe={class:"telemetry-filter"},Ye={class:"telemetry-filter-label"},Ze={class:"telemetry-filter"},xe={class:"telemetry-filter-label"},et={class:"telemetry-filter"},tt={class:"telemetry-filter-label"},st={class:"telemetry-card"},at={class:"telemetry-label"},ot={class:"telemetry-value"},lt={class:"telemetry-sub"},rt={class:"telemetry-card"},nt={class:"telemetry-label"},dt={class:"telemetry-value"},it={class:"telemetry-sub"},ut={class:"telemetry-card"},ct={class:"telemetry-label"},vt={class:"telemetry-value"},mt={class:"telemetry-sub"},pt={class:"telemetry-section"},ht={class:"telemetry-section-title"},ft={key:0,class:"telemetry-empty"},bt={key:1,class:"telemetry-list"},yt={class:"telemetry-section"},_t={class:"telemetry-section-title"},gt={key:0,class:"telemetry-empty"},$t={key:1,class:"telemetry-list"},kt={class:"telemetry-section"},wt={class:"telemetry-section-title"},Ct={key:0,class:"telemetry-empty"},St={key:1,class:"telemetry-list"},Rt={class:"telemetry-section"},Dt={class:"telemetry-section-title"},zt={key:0,class:"telemetry-empty"},Pt={key:1,class:"telemetry-list"},jt={style:{color:"#91caff"}},Lt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},Tt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Ot={style:{color:"var(--text-muted)"}},Et={__name:"Dashboard",setup(H){const N=re(),c=V(),F=ne(),b=fe(),v=window.__CC_CONFIG__||{},y=C(()=>v.mode==="project"),q="v5.0.3.4",A=C(()=>c.status),L=C(()=>b.loading),U=C(()=>b.statusLog),R=C(()=>b.telemetryFilters),f=C(()=>b.compression),_=C(()=>b.stats),r=C(()=>Object.entries(f.value.variantDistribution||{})),m=C(()=>f.value.providerDistribution||[]),g=C(()=>f.value.modelDistribution||[]);async function $(){await b.refresh()}async function D(){await b.refreshCompression()}function z(e){return`${((e||0)*100).toFixed(1)}%`}async function I(){await F.createSession("agent"),N.push("/chat")}return oe(()=>{b.ensureRuntimeSubscription(c),setTimeout($,300)}),le(()=>{b.stopRuntimeSubscription()}),(e,n)=>{const P=w("a-button"),G=w("a-tag"),k=w("a-card"),x=w("a-badge"),u=w("a-col"),S=w("a-row"),ee=w("a-space"),j=w("a-select-option"),W=w("a-select"),T=w("a-descriptions-item"),te=w("a-descriptions");return i(),p("div",null,[o("div",be,[o("div",null,[o("h2",ye,a(e.$t("dashboard.title")),1),o("p",_e,a(y.value?e.$t("dashboard.subProject",{name:d(v).projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),t(P,{type:"primary",ghost:"",loading:L.value,onClick:$},{icon:s(()=>[t(d(ie))]),default:s(()=>[h(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),y.value?(i(),B(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",ge,[t(d(ue),{style:{color:"#1677ff","font-size":"18px"}}),o("div",null,[o("div",$e,a(d(v).projectName||e.$t("dashboard.projectBanner.fallbackName")),1),o("div",ke,a(d(v).projectRoot),1)]),t(G,{color:"blue",style:{"margin-left":"auto"}},{default:s(()=>[h(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):K("",!0),t(S,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card gateway-card",size:"small"},{default:s(()=>[o("div",we,[o("span",Ce,a(e.$t("dashboard.stats.wsGateway")),1),t(x,{status:A.value==="connected"?"success":"error"},null,8,["status"])]),o("div",{class:"stat-value",style:Q({color:A.value==="connected"?"#52c41a":"#888"})},a(A.value==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),o("div",Se,a(e.$t("dashboard.stats.wsPortLine",{port:d(v).wsPort||18800,host:d(v).wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),t(u,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Re,[o("span",De,a(e.$t("dashboard.stats.currentLlm")),1),t(d(J),{style:{color:"#1677ff"}})]),o("div",ze,a(_.value.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),o("div",Pe,a(_.value.activeModel||"—"),1)]),_:1})]),_:1}),t(u,{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",je,[o("span",Le,a(e.$t("dashboard.stats.skills")),1),t(d(X),{style:{color:"#1677ff"}})]),o("div",Te,a(_.value.skillCount||"—"),1),o("div",Oe,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),t(u,{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",Ee,[o("span",Me,a(e.$t("dashboard.stats.sessions")),1),t(d(Y),{style:{color:"#722ed1"}})]),o("div",Ne,a(_.value.sessionCount),1),o("div",Fe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),t(S,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(u,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",qe,[o("span",Ae,a(e.$t("dashboard.stats.appStatus")),1),t(d(ce),{style:Q({color:_.value.appRunning?"#52c41a":"#888"})},null,8,["style"])]),o("div",{class:"stat-value",style:Q({color:_.value.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(_.value.appRunning?e.$t("dashboard.stats.appRunning"):_.value.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),o("div",Be,a(e.$t("dashboard.stats.edition",{name:_.value.edition||"Community"})),1)]),_:1})]),_:1}),t(u,{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",He,[o("span",Ue,a(e.$t("dashboard.stats.mcp")),1),t(d(ve),{style:{color:"#13c2c2"}})]),o("div",Ie,a(_.value.mcpCount??"—"),1),o("div",Ve,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),t(u,{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",Ge,[o("span",We,a(e.$t("dashboard.stats.notes")),1),t(d(Z),{style:{color:"#faad14"}})]),o("div",Ke,a(_.value.noteCount??"—"),1),o("div",Qe,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),t(S,{gutter:[16,16]},{default:s(()=>[t(u,{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(P,{type:"primary",block:"",onClick:n[4]||(n[4]=l=>e.$router.push("/chat"))},{icon:s(()=>[t(d(Y))]),default:s(()=>[h(" "+a(y.value?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),t(P,{block:"",onClick:I,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:s(()=>[t(d(J))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),t(S,{gutter:8},{default:s(()=>[t(u,{span:12},{default:s(()=>[t(P,{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(me))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),t(u,{span:12},{default:s(()=>[t(P,{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(S,{gutter:8},{default:s(()=>[t(u,{span:12},{default:s(()=>[t(P,{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(X))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),t(u,{span:12},{default:s(()=>[t(P,{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(pe))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),t(u,{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:L.value},{extra:s(()=>[t(P,{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",Je,a(U.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:L.value},{default:s(()=>[t(S,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:s(()=>[t(u,{xs:24,md:8},{default:s(()=>[o("div",Xe,[o("div",Ye,a(e.$t("dashboard.telemetry.filterWindow")),1),t(W,{value:R.value.windowPreset,"onUpdate:value":n[10]||(n[10]=l=>R.value.windowPreset=l),style:{width:"100%"},onChange:D},{default:s(()=>[t(j,{value:"all"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),t(j,{value:"1h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),t(j,{value:"24h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),t(j,{value:"7d"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),t(u,{xs:24,md:8},{default:s(()=>[o("div",Ze,[o("div",xe,a(e.$t("dashboard.telemetry.filterProvider")),1),t(W,{value:R.value.provider,"onUpdate:value":n[11]||(n[11]=l=>R.value.provider=l),style:{width:"100%"},onChange:D},{default:s(()=>[t(j,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(i(!0),p(E,null,M(m.value,l=>(i(),B(j,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),t(u,{xs:24,md:8},{default:s(()=>[o("div",et,[o("div",tt,a(e.$t("dashboard.telemetry.filterModel")),1),t(W,{value:R.value.model,"onUpdate:value":n[12]||(n[12]=l=>R.value.model=l),style:{width:"100%"},onChange:D},{default:s(()=>[t(j,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(i(!0),p(E,null,M(g.value,l=>(i(),B(j,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),t(S,{gutter:[12,12]},{default:s(()=>[t(u,{xs:24,sm:8},{default:s(()=>[o("div",st,[o("div",at,a(e.$t("dashboard.telemetry.hitRate")),1),o("div",ot,a(z(f.value.hitRate)),1),o("div",lt,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:f.value.compressedSamples,total:f.value.samples})),1)])]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[o("div",rt,[o("div",nt,a(e.$t("dashboard.telemetry.savedTokens")),1),o("div",dt,a(f.value.totalSavedTokens),1),o("div",it,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:f.value.averageSavedTokens})),1)])]),_:1}),t(u,{xs:24,sm:8},{default:s(()=>[o("div",ut,[o("div",ct,a(e.$t("dashboard.telemetry.netSavingsRate")),1),o("div",vt,a(z(f.value.netSavingsRate)),1),o("div",mt,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:f.value.totalOriginalTokens,compressed:f.value.totalCompressedTokens})),1)])]),_:1})]),_:1}),t(S,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(u,{xs:24,lg:12},{default:s(()=>[o("div",pt,[o("div",ht,a(e.$t("dashboard.telemetry.strategyDistribution")),1),f.value.strategyDistribution.length===0?(i(),p("div",ft,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(i(),p("div",bt,[(i(!0),p(E,null,M(f.value.strategyDistribution.slice(0,6),l=>(i(),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:z(l.hitRate)})),1)]))),128))]))])]),_:1}),t(u,{xs:24,lg:12},{default:s(()=>[o("div",yt,[o("div",_t,a(e.$t("dashboard.telemetry.variantDistribution")),1),r.value.length===0?(i(),p("div",gt,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(i(),p("div",$t,[(i(!0),p(E,null,M(r.value,([l,se])=>(i(),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(S,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(u,{xs:24,lg:12},{default:s(()=>[o("div",kt,[o("div",wt,a(e.$t("dashboard.telemetry.providerSlice")),1),m.value.length===0?(i(),p("div",Ct,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(i(),p("div",St,[(i(!0),p(E,null,M(m.value.slice(0,6),l=>(i(),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:z(l.hitRate)})),1)]))),128))]))])]),_:1}),t(u,{xs:24,lg:12},{default:s(()=>[o("div",Rt,[o("div",Dt,a(e.$t("dashboard.telemetry.modelSlice")),1),g.value.length===0?(i(),p("div",zt,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(i(),p("div",Pt,[(i(!0),p(E,null,M(g.value.slice(0,6),l=>(i(),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(T,{label:e.$t("dashboard.info.panelMode")},{default:s(()=>[t(G,{color:y.value?"blue":"purple"},{default:s(()=>[h(a(y.value?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),y.value?(i(),B(T,{key:0,label:e.$t("dashboard.info.projectName")},{default:s(()=>[o("span",jt,a(d(v).projectName||"—"),1)]),_:1},8,["label"])):K("",!0),y.value?(i(),B(T,{key:1,label:e.$t("dashboard.info.projectPath")},{default:s(()=>[o("span",Lt,a(d(v).projectRoot),1)]),_:1},8,["label"])):K("",!0),t(T,{label:e.$t("dashboard.info.websocket")},{default:s(()=>[o("span",Tt," ws://"+a(d(v).wsHost||"127.0.0.1")+":"+a(d(v).wsPort||18800),1)]),_:1},8,["label"]),t(T,{label:e.$t("dashboard.info.auth")},{default:s(()=>[t(G,{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(T,{label:e.$t("dashboard.info.version")},{default:s(()=>[o("span",Ot,a(d(q)),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}}},Bt=de(Et,[["__scopeId","data-v-bf6b8d82"]]);export{Bt as default};
@@ -1 +0,0 @@
1
- import{_ as et,a as tt,M as at,c as h}from"./index-CyqU4Tck.js";import{u as ot}from"./ws-D_5-FRIb.js";import{s as nt}from"./community-parser-CO25nZFt.js";import{R as st,al as lt,X as rt,aB as it,m as ut,af as ct,f as dt,q as ft}from"./icons-DvZE-RKs.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,_ as J,Q as T,S as K,f as R,a as ve}from"./vendor-B6ToihkA.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"},Bt={key:1},Rt={key:2},Lt={key:3,class:"muted"},Mt={class:"filter-bar"},Ot={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=ot(),b=at.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),X=x(!1),Y=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),Be=R(()=>[{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"}]),Re=R(()=>[{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=R(()=>[{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"}]),Me=R(()=>[{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"}]),Oe=R(()=>V.value?ce.value.filter(r=>r.state===V.value):ce.value),qe=R(()=>{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=R(()=>(S.value.circuitBreakers.byState.open||0)+(S.value.circuitBreakers.byState.half_open||0)),Se=R(()=>{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 B(){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 B()}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)})),X.value=!1,Ve(),await B()}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})),Y.value=!1,Ge(),await B()}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 B()}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 B()}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 B()}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 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(B),(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"),O=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"),Xe=m("a-descriptions"),Ye=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:B},{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=>X.value=!0)},{default:a(()=>[p(c(s(e)("federation.newMenu.check")),1)]),_:1}),t(j,{key:"pool",onClick:n[2]||(n[2]=o=>Y.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(Ye,{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(O,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,J(s(Fe),o=>(f(),T(O,{key:o,value:o},{default:a(()=>[p(c(ee(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Be.value,"data-source":Oe.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",Bt,c(d.failureCount)+" / "+c(d.failureThreshold),1)):o.key==="success"?(f(),I("span",Rt,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:M=>ae(d,"failure")},{default:a(()=>[p(c(s(e)("federation.breakerActions.failure")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>ae(d,"success")},{default:a(()=>[p(c(s(e)("federation.breakerActions.success")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"dashed",onClick:M=>ae(d,"half-open")},{default:a(()=>[p(c(s(e)("federation.breakerActions.halfOpen")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>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:M=>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",Mt,[t(me,{value:G.value,"onUpdate:value":n[4]||(n[4]=o=>G.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(O,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allMetrics")),1)]),_:1}),(f(!0),I(D,null,J(s($e),o=>(f(),T(O,{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(O,{value:""},{default:a(()=>[p(c(s(e)("federation.filter.allStates")),1)]),_:1}),(f(!0),I(D,null,J(s(be),o=>(f(),T(O,{key:o,value:o},{default:a(()=>[p(c(N(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(se,{columns:Re.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",Ot,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:M=>fe(d,"acquire")},{default:a(()=>[p(c(s(e)("federation.poolActions.acquire")),1)]),_:1},8,["onClick"]),t(u,{size:"small",onClick:M=>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:M=>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: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(Xe,{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:Me.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:X.value,"onUpdate:open":n[17]||(n[17]=o=>X.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(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:Y.value,"onUpdate:open":n[22]||(n[22]=o=>Y.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 +0,0 @@
1
- import{_ as ot,a as nt,M as lt,c as g}from"./index-CyqU4Tck.js";import{u as rt}from"./ws-D_5-FRIb.js";import{s as De}from"./community-parser-CO25nZFt.js";import{R as st,al as it,k as we,aj as ut,f as ct,d as dt,aD as pt,aE as vt}from"./icons-DvZE-RKs.js";import{o as ft,M as m,R as v,P as s,c as t,N as a,Q as _,S as b,K as f,r as h,L as u,O as d,u as k,F,_ as M,$ as yt,f as Le,a as Pe}from"./vendor-B6ToihkA.js";function V(i){const l=De(i);if(!l)return null;try{return JSON.parse(l)}catch{}const r=l.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!r)return null;try{return JSON.parse(r[0])}catch{return null}}const fe=Object.freeze(["draft","active","passed","rejected","expired"]),oe=Object.freeze(["parameter_change","feature_request","policy_update","budget_allocation"]),mt=Object.freeze(["yes","no","abstain"]);function P(i,l=0){return typeof i=="number"&&Number.isFinite(i)?i:l}function R(i){if(!i)return{noDb:!1,error:""};const l=De(i),r=/Database not available/i.test(l);return{noDb:r,error:r?"Database not available":""}}function gt(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";return r?{key:r,id:r,name:String(i.name||""),description:String(i.description||""),_idx:l}:null}function bt(i){const l=V(i);return Array.isArray(l)?l.map(gt).filter(Boolean):[]}function _t(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";return r?{key:r,id:r,title:String(i.title||""),description:i.description??"",type:String(i.type||"feature_request"),proposerDid:i.proposerDid??"",status:String(i.status||"draft").toLowerCase(),impactLevel:i.impactLevel??"",impactAnalysis:i.impactAnalysis??null,voteYes:P(i.voteYes,0),voteNo:P(i.voteNo,0),voteAbstain:P(i.voteAbstain,0),votingStartsAt:i.votingStartsAt??null,votingEndsAt:i.votingEndsAt??null,metadata:i.metadata??null,createdAt:i.createdAt??null,_idx:l}:null}function kt(i){const l=V(i);return Array.isArray(l)?l.map(_t).filter(Boolean):[]}function $t(i,l=0){if(!i||typeof i!="object")return null;const r=i.id||"";if(!r)return null;const x=String(i.vote||"").toLowerCase();return{key:r,id:r,proposalId:String(i.proposalId||""),voterDid:String(i.voterDid||""),vote:(mt.includes(x),x),reason:i.reason??"",weight:P(i.weight,1),createdAt:i.createdAt??null,_idx:l}}function ht(i){const l=V(i);return Array.isArray(l)?l.map($t).filter(Boolean):[]}function St(i){const l=V(i);return!l||typeof l!="object"||Array.isArray(l)?null:{impactLevel:String(l.impactLevel||""),affectedComponents:Array.isArray(l.affectedComponents)?l.affectedComponents.filter(r=>typeof r=="string"):[],riskScore:P(l.riskScore,0),benefitScore:P(l.benefitScore,0),estimatedEffort:String(l.estimatedEffort||""),communitySentiment:String(l.communitySentiment||""),recommendations:Array.isArray(l.recommendations)?l.recommendations.filter(r=>typeof r=="string"):[],analyzedAt:l.analyzedAt??null}}function zt(i){const l=V(i);return!l||typeof l!="object"||Array.isArray(l)?null:{proposalId:String(l.proposalId||""),predictedOutcome:String(l.predictedOutcome||""),confidence:P(l.confidence,0),yesProb:P(l.yesProb,0),noProb:P(l.noProb,0),abstainProb:P(l.abstainProb,0),basedOn:String(l.basedOn||""),sampleSize:P(l.sampleSize,0)}}const Ct={proposalCount:0,voteCount:0,byStatus:{},byType:{}};function At(i){const l=JSON.parse(JSON.stringify(Ct));for(const x of fe)l.byStatus[x]=0;for(const x of oe)l.byType[x]=0;const r=V(i);if(!r||typeof r!="object"||Array.isArray(r))return l;if(l.proposalCount=P(r.proposalCount,0),l.voteCount=P(r.voteCount,0),r.byStatus&&typeof r.byStatus=="object")for(const[x,D]of Object.entries(r.byStatus))typeof D=="number"&&Number.isFinite(D)&&(l.byStatus[x]=D);if(r.byType&&typeof r.byType=="object")for(const[x,D]of Object.entries(r.byType))typeof D=="number"&&Number.isFinite(D)&&(l.byType[x]=D);return l}function W(i){if(i==null||i==="")return"—";const l=typeof i=="number"?new Date(i):new Date(String(i));return isNaN(l.getTime())?String(i):l.toLocaleString("zh-CN",{hour12:!1})}const xt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},wt={class:"page-title"},Lt={class:"page-sub"},Pt={class:"type-head"},Dt={class:"type-count"},Ot={class:"type-name"},jt={class:"type-desc"},Tt={class:"filter-bar"},Ft={style:{color:"var(--text-primary)","font-weight":"500"}},Et={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Nt={style:{"font-family":"monospace","font-size":"12px"}},Ut={style:{color:"#52c41a"}},Mt={style:{color:"#ff4d4f"}},It={style:{color:"var(--text-muted)"}},Rt={key:1,style:{color:"var(--text-muted)"}},Vt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Bt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Yt={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"12px"}},qt={key:0,style:{"padding-top":"8px"}},Gt={style:{"font-family":"monospace","font-size":"12px"}},Jt={key:0,style:{"font-family":"monospace","font-size":"12px"}},Kt={key:1,style:{color:"var(--text-muted)"}},Ht={key:0,style:{"white-space":"pre-wrap"}},Qt={key:1,style:{color:"var(--text-muted)"}},Wt={style:{color:"var(--text-primary)","font-size":"13px",margin:"20px 0 10px"}},Xt={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"11px"}},Zt={style:{"margin-left":"8px","font-family":"monospace","font-size":"11px",color:"var(--text-secondary)"}},ea={key:0,style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},ta={style:{"margin-left":"auto",color:"var(--text-muted)","font-size":"11px"}},aa={key:0,style:{"padding-top":"8px"}},oa={style:{"margin-bottom":"8px"}},na={style:{color:"var(--text-secondary)","font-size":"12px"}},la={style:{color:"var(--text-secondary)","font-size":"12px"}},ra={key:0,style:{"padding-top":"8px"}},sa={style:{"text-align":"center","margin-bottom":"20px"}},ia={style:{color:"#52c41a"}},ua={style:{color:"#ff4d4f"}},ca={style:{color:"var(--text-muted)"}},da={__name:"Governance",setup(i){const l=rt(),{t:r}=nt(),x=lt.PRESENTED_IMAGE_SIMPLE,D=h(!1),ne=h(!1),le=h(!1),ye=h([]),me=h([]),A=h({proposalCount:0,voteCount:0,byStatus:{},byType:{}}),re=h({noDb:!1,error:""}),ge=h("proposals"),B=h(""),Y=h(""),X=h(!1),Z=h(!1),se=h(!1),ie=h(!1),ue=h(!1),$=Pe({title:"",type:"feature_request",proposerDid:"",description:""}),S=Pe({voterDid:"",value:"yes",weight:1,reason:""}),p=h(null),ee=h([]),w=h(null),L=h(null),Oe=Le(()=>[{title:r("governance.cols.title"),key:"title"},{title:r("governance.cols.type"),key:"type",width:"130px"},{title:r("governance.cols.status"),key:"status",width:"100px"},{title:r("governance.cols.tally"),key:"tally",width:"180px"},{title:r("governance.cols.impact"),key:"impact",width:"100px"},{title:r("governance.cols.createdAt"),key:"createdAt",width:"160px"},{title:r("governance.cols.action"),key:"action",width:"320px"}]),je=Le(()=>{let e=ye.value;return B.value&&(e=e.filter(o=>o.status===B.value)),Y.value&&(e=e.filter(o=>o.type===Y.value)),e});function te(e){const o=`governance.statusLabels.${e}`,c=r(o);return c===o?e:c}function ce(e){return{draft:"default",active:"processing",passed:"green",rejected:"red",expired:"default"}[e]||"default"}function Te(e){return{draft:"#888",active:"#1677ff",passed:"#52c41a",rejected:"#ff4d4f",expired:"#888"}[e]||"#888"}function q(e){const o=`governance.typeLabels.${e}`,c=r(o);return c===o?e:c}function G(e){return{parameter_change:"cyan",feature_request:"blue",policy_update:"purple",budget_allocation:"gold"}[e]||"default"}function Fe(e){return{parameter_change:"#13c2c2",feature_request:"#1677ff",policy_update:"#722ed1",budget_allocation:"#faad14"}[e]||"#888"}function de(e){const o=`governance.impactLabels.${e}`,c=r(o);return c===o?e:c}function be(e){return{low:"default",medium:"blue",high:"orange",critical:"red"}[e]||"default"}function Ee(e){return{low:"#888",medium:"#1677ff",high:"#faad14",critical:"#ff4d4f"}[e]||"#888"}function Ne(e){const o=`governance.voteLabels.${e}`,c=r(o);return c===o?e:c}function Ue(e){return{yes:"green",no:"red",abstain:"default"}[e]||"default"}function Me(e){if(!e)return"—";const o=`governance.effortLabels.${e}`,c=r(o);return c===o?e:c}function Ie(e){if(!e)return"—";const o=`governance.sentimentLabels.${e}`,c=r(o);return c===o?e:c}function Re(e){const o=e.voteYes+e.voteNo;return o?Math.round(e.voteYes/o*100):0}function _e(e,o){return o?Math.round(e/o*100):0}async function J(){D.value=!0,re.value={noDb:!1,error:""};try{const[e,o,c]=await Promise.all([l.execute("governance types --json",8e3).catch(()=>({output:""})),l.execute("governance list --json",1e4).catch(()=>({output:""})),l.execute("governance stats --json",8e3).catch(()=>({output:""}))]),O=[o,c].map(K=>R(K.output)).find(K=>K.noDb);O&&(re.value=O),me.value=bt(e.output),ye.value=kt(o.output),A.value=At(c.output)}catch(e){g.error(r("governance.msg.loadFailed")+": "+(e?.message||e))}finally{D.value=!1}}async function Ve(){if(!$.title.trim()){g.warning(r("governance.msg.titleEmpty"));return}ne.value=!0;try{const e=[`governance create "${$.title.trim().replace(/"/g,'\\"')}"`];e.push(`-t ${$.type}`),$.proposerDid.trim()&&e.push(`-p "${$.proposerDid.trim().replace(/"/g,'\\"')}"`),$.description.trim()&&e.push(`-d "${$.description.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:o}=await l.execute(e.join(" "),1e4);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"/.test(o)){g.error(r("governance.msg.createFailed")+": "+o.slice(0,120));return}g.success(r("governance.msg.createSuccess")),X.value=!1,$e(),await J()}catch(e){g.error(r("governance.msg.createFailed")+": "+(e?.message||e))}finally{ne.value=!1}}async function Be(e){await ke(`governance activate ${e.id} --json`,r("governance.msg.activated"))}async function Ye(e){await ke(`governance close ${e.id} --json`,r("governance.msg.closed"))}async function ke(e,o){try{const{output:c}=await l.execute(e,1e4);if(R(c).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"|"proposalId"|"passed"/.test(c)){g.error(r("governance.msg.actionFailed")+": "+c.slice(0,120));return}g.success(o),await J()}catch(c){g.error(r("governance.msg.actionFailed")+": "+(c?.message||c))}}function qe(e){p.value=e,S.voterDid="",S.value="yes",S.weight=1,S.reason="",Z.value=!0}async function Ge(){if(p.value){if(!S.voterDid.trim()){g.warning(r("governance.msg.voterEmpty"));return}le.value=!0;try{const e=[`governance vote ${p.value.id}`,`"${S.voterDid.trim().replace(/"/g,'\\"')}"`,S.value,`-w ${S.weight}`];S.reason.trim()&&e.push(`-r "${S.reason.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:o}=await l.execute(e.join(" "),8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}if(!/"id"/.test(o)){g.error(r("governance.msg.voteFailed")+": "+o.slice(0,120));return}g.success(r("governance.msg.voteSuccess")),Z.value=!1,await J()}catch(e){g.error(r("governance.msg.voteFailed")+": "+(e?.message||e))}finally{le.value=!1}}}async function Je(e){p.value=e,ee.value=[],se.value=!0;try{const{output:o}=await l.execute(`governance votes ${e.id} --json`,8e3);ee.value=ht(o)}catch{}}async function Ke(e){p.value=e,w.value=null;try{const{output:o}=await l.execute(`governance analyze ${e.id} --json`,8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}const O=St(o);if(!O){g.error(r("governance.msg.analyzeFailed")+": "+o.slice(0,120));return}w.value=O,ie.value=!0}catch(o){g.error(r("governance.msg.analyzeFailed")+": "+(o?.message||o))}}async function He(e){p.value=e,L.value=null;try{const{output:o}=await l.execute(`governance predict ${e.id} --json`,8e3);if(R(o).noDb){g.error(r("governance.msg.needCcInit"));return}const O=zt(o);if(!O){g.error(r("governance.msg.predictFailed")+": "+o.slice(0,120));return}L.value=O,ue.value=!0}catch(o){g.error(r("governance.msg.predictFailed")+": "+(o?.message||o))}}function $e(){$.title="",$.type="feature_request",$.proposerDid="",$.description=""}return ft(J),(e,o)=>{const c=f("a-button"),O=f("a-space"),K=f("a-alert"),E=f("a-statistic"),j=f("a-card"),T=f("a-col"),ae=f("a-row"),z=f("a-tag"),U=f("a-radio-button"),pe=f("a-radio-group"),I=f("a-progress"),Qe=f("a-popconfirm"),We=f("a-table"),he=f("a-tab-pane"),Xe=f("a-tabs"),ve=f("a-input"),N=f("a-form-item"),Ze=f("a-select-option"),et=f("a-select"),Se=f("a-textarea"),ze=f("a-form"),H=f("a-modal"),tt=f("a-input-number"),C=f("a-descriptions-item"),Ce=f("a-descriptions"),at=f("a-empty"),Ae=f("a-list-item"),xe=f("a-list");return u(),m("div",null,[v("div",xt,[v("div",null,[v("h2",wt,s(e.$t("governance.title")),1),v("p",Lt,s(e.$t("governance.subtitle")),1)]),t(O,null,{default:a(()=>[t(c,{loading:D.value,onClick:J},{icon:a(()=>[t(k(st))]),default:a(()=>[d(" "+s(e.$t("governance.refresh")),1)]),_:1},8,["loading"]),t(c,{type:"primary",onClick:o[0]||(o[0]=n=>X.value=!0)},{icon:a(()=>[t(k(it))]),default:a(()=>[d(" "+s(e.$t("governance.create")),1)]),_:1})]),_:1})]),re.value.noDb?(u(),_(K,{key:0,type:"info","show-icon":"",message:e.$t("governance.noDb.message"),description:e.$t("governance.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):b("",!0),t(ae,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.total"),value:A.value.proposalCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(k(we))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.active"),value:A.value.byStatus.active||0,"value-style":{color:(A.value.byStatus.active||0)>0?"#1677ff":"#888",fontSize:"20px"}},{prefix:a(()=>[t(k(ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.passed"),value:A.value.byStatus.passed||0,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(k(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:12,sm:8,lg:5},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.rejected"),value:A.value.byStatus.rejected||0,"value-style":{color:"#ff4d4f",fontSize:"20px"}},{prefix:a(()=>[t(k(dt))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(T,{xs:24,sm:8,lg:4},{default:a(()=>[t(j,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(E,{title:e.$t("governance.stats.votes"),value:A.value.voteCount,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[t(k(pt))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(j,{title:e.$t("governance.typesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[t(ae,{gutter:[12,12]},{default:a(()=>[(u(!0),m(F,null,M(me.value,n=>(u(),_(T,{key:n.id,xs:12,sm:12,lg:6},{default:a(()=>[v("div",{class:"type-pill",style:yt({borderLeftColor:G(n.id)})},[v("div",Pt,[t(z,{color:G(n.id),style:{"font-family":"monospace"}},{default:a(()=>[d(s(n.id),1)]),_:2},1032,["color"]),v("span",Dt,s(A.value.byType[n.id]||0),1)]),v("div",Ot,s(n.name),1),v("div",jt,s(n.description),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),t(Xe,{activeKey:ge.value,"onUpdate:activeKey":o[3]||(o[3]=n=>ge.value=n),class:"governance-tabs"},{default:a(()=>[t(he,{key:"proposals",tab:e.$t("governance.tabs.proposals")},{default:a(()=>[v("div",Tt,[t(pe,{value:B.value,"onUpdate:value":o[1]||(o[1]=n=>B.value=n),size:"small","button-style":"solid"},{default:a(()=>[t(U,{value:""},{default:a(()=>[d(s(e.$t("governance.filter.allStatuses")),1)]),_:1}),(u(!0),m(F,null,M(k(fe),n=>(u(),_(U,{key:n,value:n},{default:a(()=>[d(s(te(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t(pe,{value:Y.value,"onUpdate:value":o[2]||(o[2]=n=>Y.value=n),size:"small"},{default:a(()=>[t(U,{value:""},{default:a(()=>[d(s(e.$t("governance.filter.allTypes")),1)]),_:1}),(u(!0),m(F,null,M(k(oe),n=>(u(),_(U,{key:n,value:n},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(We,{columns:Oe.value,"data-source":je.value,pagination:{pageSize:20,showTotal:n=>e.$t("governance.table.totalSuffix",{n})},size:"small",loading:D.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:n,record:y})=>[n.key==="title"?(u(),m(F,{key:0},[v("span",Ft,s(y.title||e.$t("governance.table.unnamed")),1),v("div",Et,s(y.id.slice(0,16)),1)],64)):b("",!0),n.key==="type"?(u(),_(z,{key:1,color:G(y.type),style:{"font-family":"monospace"}},{default:a(()=>[d(s(q(y.type)),1)]),_:2},1032,["color"])):b("",!0),n.key==="status"?(u(),_(z,{key:2,color:ce(y.status)},{default:a(()=>[d(s(te(y.status)),1)]),_:2},1032,["color"])):b("",!0),n.key==="tally"?(u(),m(F,{key:3},[v("span",Nt,[v("span",Ut,"+"+s(y.voteYes),1),o[17]||(o[17]=d(" / ",-1)),v("span",Mt,"-"+s(y.voteNo),1),o[18]||(o[18]=d(" / ",-1)),v("span",It,"~"+s(y.voteAbstain),1)]),y.voteYes+y.voteNo>0?(u(),_(I,{key:0,percent:Re(y),size:"small","show-info":!1,"stroke-color":y.voteYes>=y.voteNo?"#52c41a":"#ff4d4f",style:{"margin-top":"4px"}},null,8,["percent","stroke-color"])):b("",!0)],64)):b("",!0),n.key==="impact"?(u(),m(F,{key:4},[y.impactLevel?(u(),_(z,{key:0,color:be(y.impactLevel)},{default:a(()=>[d(s(de(y.impactLevel)),1)]),_:2},1032,["color"])):(u(),m("span",Rt,"—"))],64)):b("",!0),n.key==="createdAt"?(u(),m("span",Vt,s(k(W)(y.createdAt)),1)):b("",!0),n.key==="action"?(u(),m(F,{key:6},[t(c,{size:"small",type:"link",onClick:Q=>Je(y)},{default:a(()=>[d(s(e.$t("governance.actions.details")),1)]),_:1},8,["onClick"]),y.status==="draft"?(u(),_(c,{key:0,size:"small",type:"link",onClick:Q=>Be(y)},{default:a(()=>[d(s(e.$t("governance.actions.activate")),1)]),_:1},8,["onClick"])):b("",!0),y.status==="active"?(u(),_(c,{key:1,size:"small",type:"link",style:{color:"#52c41a"},onClick:Q=>qe(y)},{default:a(()=>[d(s(e.$t("governance.actions.vote")),1)]),_:1},8,["onClick"])):b("",!0),y.status==="active"?(u(),_(Qe,{key:2,title:e.$t("governance.closeConfirm.title"),"ok-text":e.$t("governance.closeConfirm.ok"),"cancel-text":e.$t("governance.closeConfirm.cancel"),onConfirm:Q=>Ye(y)},{default:a(()=>[t(c,{size:"small",type:"link",danger:""},{default:a(()=>[d(s(e.$t("governance.actions.close")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):b("",!0),t(c,{size:"small",type:"link",onClick:Q=>Ke(y)},{default:a(()=>[d(s(e.$t("governance.actions.analyze")),1)]),_:1},8,["onClick"]),t(c,{size:"small",type:"link",onClick:Q=>He(y)},{default:a(()=>[d(s(e.$t("governance.actions.predict")),1)]),_:1},8,["onClick"])],64)):b("",!0)]),emptyText:a(()=>[v("div",Bt,[t(k(we),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),d(" "+s(B.value||Y.value?e.$t("governance.table.emptyFiltered"):e.$t("governance.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(he,{key:"breakdown",tab:e.$t("governance.tabs.breakdown")},{default:a(()=>[t(ae,{gutter:[16,16]},{default:a(()=>[t(T,{xs:24,lg:12},{default:a(()=>[t(j,{title:e.$t("governance.breakdown.byStatus"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(u(!0),m(F,null,M(k(fe),n=>(u(),m("div",{key:n,class:"bd-row"},[t(z,{color:ce(n),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[d(s(te(n)),1)]),_:2},1032,["color"]),t(I,{percent:_e(A.value.byStatus[n]||0,A.value.proposalCount),"stroke-color":Te(n),format:()=>`${A.value.byStatus[n]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1}),t(T,{xs:24,lg:12},{default:a(()=>[t(j,{title:e.$t("governance.breakdown.byType"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[(u(!0),m(F,null,M(k(oe),n=>(u(),m("div",{key:n,class:"bd-row"},[t(z,{color:G(n),style:{"min-width":"90px","text-align":"center"}},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["color"]),t(I,{percent:_e(A.value.byType[n]||0,A.value.proposalCount),"stroke-color":Fe(n),format:()=>`${A.value.byType[n]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1},8,["title"])]),_:1})]),_:1})]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(H,{open:X.value,"onUpdate:open":o[8]||(o[8]=n=>X.value=n),title:e.$t("governance.create_modal.title"),"confirm-loading":ne.value,width:560,"ok-text":e.$t("governance.create_modal.ok"),"cancel-text":e.$t("governance.create_modal.cancel"),onOk:Ve,onCancel:$e},{default:a(()=>[t(ze,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(N,{label:e.$t("governance.create_modal.titleLabel"),required:""},{default:a(()=>[t(ve,{value:$.title,"onUpdate:value":o[4]||(o[4]=n=>$.title=n),placeholder:e.$t("governance.create_modal.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.typeLabel"),required:""},{default:a(()=>[t(et,{value:$.type,"onUpdate:value":o[5]||(o[5]=n=>$.type=n)},{default:a(()=>[(u(!0),m(F,null,M(k(oe),n=>(u(),_(Ze,{key:n,value:n},{default:a(()=>[d(s(q(n)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.proposerLabel")},{default:a(()=>[t(ve,{value:$.proposerDid,"onUpdate:value":o[6]||(o[6]=n=>$.proposerDid=n),placeholder:e.$t("governance.create_modal.proposerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.create_modal.descLabel")},{default:a(()=>[t(Se,{value:$.description,"onUpdate:value":o[7]||(o[7]=n=>$.description=n),placeholder:e.$t("governance.create_modal.descPlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(H,{open:Z.value,"onUpdate:open":o[13]||(o[13]=n=>Z.value=n),title:e.$t("governance.vote_modal.title",{title:p.value?.title||""}),"confirm-loading":le.value,width:540,"ok-text":e.$t("governance.vote_modal.ok"),"cancel-text":e.$t("governance.vote_modal.cancel"),onOk:Ge},{default:a(()=>[t(ze,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(N,{label:e.$t("governance.vote_modal.voterLabel"),required:""},{default:a(()=>[t(ve,{value:S.voterDid,"onUpdate:value":o[9]||(o[9]=n=>S.voterDid=n),placeholder:"did:key:..."},null,8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.valueLabel"),required:""},{default:a(()=>[t(pe,{value:S.value,"onUpdate:value":o[10]||(o[10]=n=>S.value=n),"button-style":"solid"},{default:a(()=>[t(U,{value:"yes",style:{color:"#52c41a"}},{default:a(()=>[d(s(e.$t("governance.vote_modal.yes")),1)]),_:1}),t(U,{value:"no",style:{color:"#ff4d4f"}},{default:a(()=>[d(s(e.$t("governance.vote_modal.no")),1)]),_:1}),t(U,{value:"abstain"},{default:a(()=>[d(s(e.$t("governance.vote_modal.abstain")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.weightLabel")},{default:a(()=>[t(tt,{value:S.weight,"onUpdate:value":o[11]||(o[11]=n=>S.weight=n),min:.1,step:.1,style:{width:"120px"}},null,8,["value"]),v("span",Yt,s(e.$t("governance.vote_modal.weightHint")),1)]),_:1},8,["label"]),t(N,{label:e.$t("governance.vote_modal.reasonLabel")},{default:a(()=>[t(Se,{value:S.reason,"onUpdate:value":o[12]||(o[12]=n=>S.reason=n),placeholder:e.$t("governance.vote_modal.reasonPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(H,{open:se.value,"onUpdate:open":o[14]||(o[14]=n=>se.value=n),title:e.$t("governance.details.title",{title:p.value?.title||""}),width:780,footer:null},{default:a(()=>[p.value?(u(),m("div",qt,[t(Ce,{column:2,size:"small",bordered:""},{default:a(()=>[t(C,{label:e.$t("governance.details.id"),span:2},{default:a(()=>[v("span",Gt,s(p.value.id),1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.type")},{default:a(()=>[t(z,{color:G(p.value.type)},{default:a(()=>[d(s(q(p.value.type)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.status")},{default:a(()=>[t(z,{color:ce(p.value.status)},{default:a(()=>[d(s(te(p.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.proposer"),span:2},{default:a(()=>[p.value.proposerDid?(u(),m("span",Jt,s(p.value.proposerDid),1)):(u(),m("span",Kt,s(e.$t("governance.details.proposerUnset")),1))]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.description"),span:2},{default:a(()=>[p.value.description?(u(),m("div",Ht,s(p.value.description),1)):(u(),m("span",Qt,"—"))]),_:1},8,["label"]),t(C,{label:e.$t("governance.details.tally"),span:2},{default:a(()=>[t(O,null,{default:a(()=>[t(z,{color:"green"},{default:a(()=>[d(s(e.$t("governance.details.tallyYes",{n:p.value.voteYes})),1)]),_:1}),t(z,{color:"red"},{default:a(()=>[d(s(e.$t("governance.details.tallyNo",{n:p.value.voteNo})),1)]),_:1}),t(z,null,{default:a(()=>[d(s(e.$t("governance.details.tallyAbstain",{n:p.value.voteAbstain})),1)]),_:1})]),_:1})]),_:1},8,["label"]),p.value.impactLevel?(u(),_(C,{key:0,label:e.$t("governance.details.impact")},{default:a(()=>[t(z,{color:be(p.value.impactLevel)},{default:a(()=>[d(s(de(p.value.impactLevel)),1)]),_:1},8,["color"])]),_:1},8,["label"])):b("",!0),t(C,{label:e.$t("governance.details.createdAt")},{default:a(()=>[d(s(k(W)(p.value.createdAt)),1)]),_:1},8,["label"]),p.value.votingStartsAt?(u(),_(C,{key:1,label:e.$t("governance.details.votingStartsAt")},{default:a(()=>[d(s(k(W)(p.value.votingStartsAt)),1)]),_:1},8,["label"])):b("",!0),p.value.votingEndsAt?(u(),_(C,{key:2,label:e.$t("governance.details.votingEndsAt")},{default:a(()=>[d(s(k(W)(p.value.votingEndsAt)),1)]),_:1},8,["label"])):b("",!0)]),_:1}),v("h4",Wt,s(e.$t("governance.details.votesHeader")),1),ee.value.length?(u(),_(xe,{key:1,size:"small","data-source":ee.value,pagination:{pageSize:8}},{renderItem:a(({item:n})=>[t(Ae,null,{default:a(()=>[t(z,{color:Ue(n.vote),style:{"min-width":"50px","text-align":"center"}},{default:a(()=>[d(s(Ne(n.vote)),1)]),_:2},1032,["color"]),v("span",Xt,"w="+s(n.weight),1),v("span",Zt,s(n.voterDid),1),n.reason?(u(),m("span",ea,"— "+s(n.reason),1)):b("",!0),v("span",ta,s(k(W)(n.createdAt)),1)]),_:2},1024)]),_:1},8,["data-source"])):(u(),_(at,{key:0,description:e.$t("governance.details.votesEmpty"),image:k(x)},null,8,["description","image"]))])):b("",!0)]),_:1},8,["open","title"]),t(H,{open:ie.value,"onUpdate:open":o[15]||(o[15]=n=>ie.value=n),title:e.$t("governance.analysis.title",{title:p.value?.title||""}),width:640,footer:null},{default:a(()=>[w.value?(u(),m("div",aa,[t(ae,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:a(()=>[t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.impactLevel"),value:de(w.value.impactLevel),"value-style":{color:Ee(w.value.impactLevel),fontSize:"16px"}},null,8,["title","value","value-style"])]),_:1}),t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.effort"),value:Me(w.value.estimatedEffort),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1}),t(T,{span:8},{default:a(()=>[t(E,{title:e.$t("governance.analysis.sentiment"),value:Ie(w.value.communitySentiment),"value-style":{fontSize:"16px"}},null,8,["title","value"])]),_:1})]),_:1}),t(j,{title:e.$t("governance.analysis.riskBenefit"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[v("div",oa,[v("span",na,s(e.$t("governance.analysis.riskScore")),1),t(I,{percent:Math.round(w.value.riskScore*100),"stroke-color":"#ff4d4f"},null,8,["percent"])]),v("div",null,[v("span",la,s(e.$t("governance.analysis.benefitScore")),1),t(I,{percent:Math.round(w.value.benefitScore*100),"stroke-color":"#52c41a"},null,8,["percent"])])]),_:1},8,["title"]),w.value.affectedComponents.length?(u(),_(j,{key:0,title:e.$t("governance.analysis.components"),size:"small",style:{"margin-bottom":"12px"}},{default:a(()=>[(u(!0),m(F,null,M(w.value.affectedComponents,n=>(u(),_(z,{key:n,color:"blue"},{default:a(()=>[d(s(n),1)]),_:2},1024))),128))]),_:1},8,["title"])):b("",!0),w.value.recommendations.length?(u(),_(j,{key:1,title:e.$t("governance.analysis.recommendations"),size:"small"},{default:a(()=>[t(xe,{size:"small","data-source":w.value.recommendations},{renderItem:a(({item:n})=>[t(Ae,null,{default:a(()=>[t(k(vt),{style:{color:"#faad14","margin-right":"8px"}}),d(" "+s(n),1)]),_:2},1024)]),_:1},8,["data-source"])]),_:1},8,["title"])):b("",!0)])):b("",!0)]),_:1},8,["open","title"]),t(H,{open:ue.value,"onUpdate:open":o[16]||(o[16]=n=>ue.value=n),title:e.$t("governance.prediction.title",{title:p.value?.title||""}),width:540,footer:null},{default:a(()=>[L.value?(u(),m("div",ra,[v("div",sa,[t(z,{color:L.value.predictedOutcome==="pass"?"green":"red",style:{"font-size":"16px",padding:"6px 14px"}},{default:a(()=>[d(s(L.value.predictedOutcome==="pass"?e.$t("governance.prediction.outcomePass"):e.$t("governance.prediction.outcomeReject")),1)]),_:1},8,["color"])]),t(Ce,{column:2,size:"small",bordered:""},{default:a(()=>[t(C,{label:e.$t("governance.prediction.confidence"),span:2},{default:a(()=>[t(I,{percent:Math.round(L.value.confidence*100),"stroke-color":L.value.confidence>=.6?"#52c41a":"#faad14"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.basedOn")},{default:a(()=>[t(z,{color:L.value.basedOn==="votes"?"blue":"orange"},{default:a(()=>[d(s(L.value.basedOn==="votes"?e.$t("governance.prediction.basedOnVotes"):e.$t("governance.prediction.basedOnHeuristic")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.sampleSize")},{default:a(()=>[d(s(L.value.sampleSize),1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.yesProb")},{default:a(()=>[v("span",ia,s((L.value.yesProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.noProb")},{default:a(()=>[v("span",ua,s((L.value.noProb*100).toFixed(1))+"%",1)]),_:1},8,["label"]),t(C,{label:e.$t("governance.prediction.abstainProb"),span:2},{default:a(()=>[v("span",ca,s((L.value.abstainProb*100).toFixed(1))+"%",1)]),_:1},8,["label"])]),_:1})])):b("",!0)]),_:1},8,["open","title"])])}}},ga=ot(da,[["__scopeId","data-v-6b8682f4"]]);export{ga as default};