chainlesschain 0.161.3 → 0.161.5

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 (192) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +1 -1
  3. package/src/assets/web-panel/.build-hash +1 -1
  4. package/src/assets/web-panel/assets/{AIOps-FON6GZIt.js → AIOps-DGVHYt7m.js} +1 -1
  5. package/src/assets/web-panel/assets/{ActionButton-Byb_P_P9.js → ActionButton-B3a-9Af9.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-CDG1OwOr.js → Analytics-Bx3Oxl0X.js} +2 -2
  7. package/src/assets/web-panel/assets/AppLayout-BzejRYN2.js +1 -0
  8. package/src/assets/web-panel/assets/AppLayout-P7jhSfLy.css +1 -0
  9. package/src/assets/web-panel/assets/{Audit-p4krng5l.js → Audit-NY4P1SWh.js} +1 -1
  10. package/src/assets/web-panel/assets/Backup-DZq4lKGA.js +1 -0
  11. package/src/assets/web-panel/assets/BaseInput-CdsLMh-s.js +1 -0
  12. package/src/assets/web-panel/assets/Chat-BhwqdoXy.js +7 -0
  13. package/src/assets/web-panel/assets/Chat-D4oAhi11.css +1 -0
  14. package/src/assets/web-panel/assets/{Checkbox-CfDbHGdU.js → Checkbox-C5XnHFiF.js} +1 -1
  15. package/src/assets/web-panel/assets/{Codegen-D1mQ03ap.js → Codegen-BKxq1Elq.js} +1 -1
  16. package/src/assets/web-panel/assets/{Col-C0wS_dvU.js → Col-9_JZdhJl.js} +1 -1
  17. package/src/assets/web-panel/assets/Community-RjNSGqVo.js +1 -0
  18. package/src/assets/web-panel/assets/{Compact-CuVvz3Zf.js → Compact-COZAt3WB.js} +1 -1
  19. package/src/assets/web-panel/assets/{Compliance-D6bnHyjs.js → Compliance-hk2sypg0.js} +1 -1
  20. package/src/assets/web-panel/assets/{Cowork-Dh3yt9pL.js → Cowork-9CLNBbEQ.js} +3 -3
  21. package/src/assets/web-panel/assets/{Cron-DiuKXbnA.js → Cron-74hvFk4_.js} +2 -2
  22. package/src/assets/web-panel/assets/{Crosschain-BFgMa5sQ.js → Crosschain-M_9qbH-m.js} +1 -1
  23. package/src/assets/web-panel/assets/{DID-Dx7CFjrq.js → DID-BOx1xBNu.js} +2 -2
  24. package/src/assets/web-panel/assets/Dashboard-C3KfYy9t.js +3 -0
  25. package/src/assets/web-panel/assets/{Dropdown-sMGnnzUo.js → Dropdown-Buk4zcYG.js} +1 -1
  26. package/src/assets/web-panel/assets/{Federation-CGt7CYhN.js → Federation-96LSDwN_.js} +1 -1
  27. package/src/assets/web-panel/assets/{FormItemContext-DuVk39z3.js → FormItemContext-DY7VfLgy.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-glb99UzZ.js → Git-KCUcIFj0.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-CQXGee_r.js → Governance--yT5V49L.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-Czm-Q3w3.js → Inference-D0NeQyx6.js} +1 -1
  31. package/src/assets/web-panel/assets/KnowledgeGraph-DYRq64do.js +1 -0
  32. package/src/assets/web-panel/assets/{Logs-ChGXdo0Q.js → Logs-DHSi_Oi1.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-DW6P2uIY.js → Marketplace-TT0gv-wI.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-ChOwY-wy.js → McpTools-DfCzYzeM.js} +3 -3
  35. package/src/assets/web-panel/assets/{Memory-vIbbUTel.js → Memory-35QBk-VQ.js} +2 -2
  36. package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +1 -0
  37. package/src/assets/web-panel/assets/Mtc-Dvc-7WJs.js +6 -0
  38. package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +1 -0
  39. package/src/assets/web-panel/assets/MtcAudit-CzTgYL-a.js +19 -0
  40. package/src/assets/web-panel/assets/{NLProgramming-fRrjhjpW.js → NLProgramming-CrcJekBx.js} +1 -1
  41. package/src/assets/web-panel/assets/Notes-0B3NXKhh.js +7 -0
  42. package/src/assets/web-panel/assets/Notes-COE2q2gD.css +1 -0
  43. package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +1 -0
  44. package/src/assets/web-panel/assets/NotificationSettings-KlJUb1mE.js +1 -0
  45. package/src/assets/web-panel/assets/{Organization-Bebfm6lF.js → Organization-COS-etp0.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-D8ZjaRpc.js → Overflow-Cy4-usEJ.js} +1 -1
  47. package/src/assets/web-panel/assets/{OverrideContext-Nubhv68k.js → OverrideContext-DSwW21YS.js} +1 -1
  48. package/src/assets/web-panel/assets/{P2P-BjgamPxI.js → P2P-C0_fKvmV.js} +2 -2
  49. package/src/assets/web-panel/assets/{Permissions-uwoi4HnY.js → Permissions-C59VtMDt.js} +3 -3
  50. package/src/assets/web-panel/assets/{Pipeline-C2aHcq6n.js → Pipeline-BjFugIMn.js} +1 -1
  51. package/src/assets/web-panel/assets/{Privacy-lU34k_c5.js → Privacy-tAalWiJA.js} +1 -1
  52. package/src/assets/web-panel/assets/{ProjectSettings-Dy-Iie9L.js → ProjectSettings-CLRVvTkY.js} +1 -1
  53. package/src/assets/web-panel/assets/{Projects-B4Vt0iiH.js → Projects-ByvwUl9Z.js} +2 -2
  54. package/src/assets/web-panel/assets/{Providers-Cu9uRsVk.js → Providers-CP6aUtPG.js} +2 -2
  55. package/src/assets/web-panel/assets/QuickAsk-5wazQ8Rv.js +1 -0
  56. package/src/assets/web-panel/assets/{Recommend-DJ9nU8HM.js → Recommend-Z-lSAvhS.js} +1 -1
  57. package/src/assets/web-panel/assets/{Reputation-ThffxFwr.js → Reputation-DaCrszi3.js} +1 -1
  58. package/src/assets/web-panel/assets/Row-BFHRFhrC.js +1 -0
  59. package/src/assets/web-panel/assets/{RssFeed-DaxFEUe6.js → RssFeed-61djI0cm.js} +3 -3
  60. package/src/assets/web-panel/assets/{Search-4zVFnx_Y.js → Search-B4DqaBN0.js} +1 -1
  61. package/src/assets/web-panel/assets/{Security-BEfSoaTM.js → Security-8BvDlsI4.js} +3 -3
  62. package/src/assets/web-panel/assets/{Services-DTAaoYJC.js → Services-BOgC-V6e.js} +1 -1
  63. package/src/assets/web-panel/assets/{Skeleton-CIZErmoY.js → Skeleton-DxGa2EcF.js} +1 -1
  64. package/src/assets/web-panel/assets/{Skills-CacIwBCt.js → Skills-DsHzWQAl.js} +1 -1
  65. package/src/assets/web-panel/assets/{Sla-Si0g7a0u.js → Sla-3KdTHpSY.js} +1 -1
  66. package/src/assets/web-panel/assets/{SpeechSettings-H19DqdAG.js → SpeechSettings-C8xEI_J4.js} +1 -1
  67. package/src/assets/web-panel/assets/{SyncSettings-bsC4-4rU.js → SyncSettings-BrTgn_a6.js} +1 -1
  68. package/src/assets/web-panel/assets/{Tasks-Bxlj8OVW.js → Tasks-BsatF04-.js} +1 -1
  69. package/src/assets/web-panel/assets/Templates-BXG2BXzE.js +1 -0
  70. package/src/assets/web-panel/assets/Tenant-OjqSY3OD.js +1 -0
  71. package/src/assets/web-panel/assets/{Tokens-B2wJjOdI.js → Tokens-WrFIqGuF.js} +1 -1
  72. package/src/assets/web-panel/assets/{Trigger-DU9-3gN9.js → Trigger-ql7VwBhY.js} +1 -1
  73. package/src/assets/web-panel/assets/{Trust-_yan18qg.js → Trust-BnJxgiUu.js} +1 -1
  74. package/src/assets/web-panel/assets/UkeySign-DI1rcWZ-.js +1 -0
  75. package/src/assets/web-panel/assets/{VideoEditing-CUgere5i.js → VideoEditing-C1jgL5fG.js} +1 -1
  76. package/src/assets/web-panel/assets/{Wallet-DSnzYVqY.js → Wallet-CVMM1wf-.js} +4 -4
  77. package/src/assets/web-panel/assets/{WebAuthn-De4aHZ87.js → WebAuthn-Bz-7j8cP.js} +5 -5
  78. package/src/assets/web-panel/assets/{WorkflowEditor-C-QNGwia.js → WorkflowEditor-B_En7K3B.js} +1 -1
  79. package/src/assets/web-panel/assets/{_getTag-CWA3v-Ds.js → _getTag-BVc6NQ_K.js} +1 -1
  80. package/src/assets/web-panel/assets/chat-HZBXEHqE.js +1 -0
  81. package/src/assets/web-panel/assets/{collapseMotion-BIjDVXtT.js → collapseMotion-6-_FbiKl.js} +1 -1
  82. package/src/assets/web-panel/assets/{colors-CHuBSydj.js → colors-C-_WCP_I.js} +1 -1
  83. package/src/assets/web-panel/assets/{compact-item-DtCmGKIm.js → compact-item-DRlYnN0j.js} +1 -1
  84. package/src/assets/web-panel/assets/{createContext-Cetup5Fb.js → createContext-CQjz89ZD.js} +1 -1
  85. package/src/assets/web-panel/assets/{debounce-Q0BOJsYd.js → debounce-D9xTw4Sx.js} +1 -1
  86. package/src/assets/web-panel/assets/{echarts-DmBLM6YO.js → echarts-BrEnqXDv.js} +1 -1
  87. package/src/assets/web-panel/assets/{hasIn-Q509tIlQ.js → hasIn-DkvrU3Ng.js} +1 -1
  88. package/src/assets/web-panel/assets/icons-B2G69bhT.js +57 -0
  89. package/src/assets/web-panel/assets/index-B4WoTHzD.js +12 -0
  90. package/src/assets/web-panel/assets/{index-B2f4ltyM.js → index-BPtmPFwc.js} +19 -15
  91. package/src/assets/web-panel/assets/{index-DVQSXYwb.js → index-BQJBwuxS.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-Ctdt2gEP.js → index-BWrmR8z4.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-DaMTgJkE.js → index-Banf4rVv.js} +2 -2
  94. package/src/assets/web-panel/assets/index-BcIcrbaL.js +1 -0
  95. package/src/assets/web-panel/assets/{index-C8agLSzC.js → index-Bh1pl2no.js} +3 -3
  96. package/src/assets/web-panel/assets/index-Bm5beO8z.js +55 -0
  97. package/src/assets/web-panel/assets/index-BrE6wIhJ.js +13 -0
  98. package/src/assets/web-panel/assets/index-BrNvQLt8.js +1 -0
  99. package/src/assets/web-panel/assets/{index-CRZ8WjUK.js → index-BxGG_QJu.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-7kdZ5ox5.js → index-C5_IA35Q.js} +3 -3
  101. package/src/assets/web-panel/assets/{index-hSpRlh93.js → index-CAWrRKBV.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-DKWvx42k.js → index-CAXp9Lwm.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-BvAwpPN9.js → index-CW6aTL_U.js} +1 -1
  104. package/src/assets/web-panel/assets/index-CreE5ozl.js +1 -0
  105. package/src/assets/web-panel/assets/{index-CeXoNBLu.js → index-CwYZLSvq.js} +2 -2
  106. package/src/assets/web-panel/assets/index-D8kTtVhG.js +3 -0
  107. package/src/assets/web-panel/assets/{index-R5D_-l07.js → index-DDElQABk.js} +1 -1
  108. package/src/assets/web-panel/assets/index-DEEKNhJo.js +21 -0
  109. package/src/assets/web-panel/assets/{index-Dq6E-pj8.js → index-DFWu8Nod.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-B5d7Dkyp.js → index-DTCCIKB3.js} +2 -2
  111. package/src/assets/web-panel/assets/{index-C61WQXE3.js → index-DVvcsuh0.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-BmHsGJ8F.js → index-DWnUOEdQ.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-Bjz1Y3Gs.js → index-DZ0FDal8.js} +1 -1
  114. package/src/assets/web-panel/assets/index-D_UyFEni.js +1 -0
  115. package/src/assets/web-panel/assets/{index-C2y5MxfU.js → index-DaKiN39Q.js} +2 -2
  116. package/src/assets/web-panel/assets/index-Dcotn-Yi.js +1 -0
  117. package/src/assets/web-panel/assets/{index-HqJ94PSG.js → index-DhAdUGyf.js} +2 -2
  118. package/src/assets/web-panel/assets/index-Dp-9lS6Q.js +1 -0
  119. package/src/assets/web-panel/assets/index-DtjB2WpK.js +1 -0
  120. package/src/assets/web-panel/assets/{index-BTwIwesN.js → index-DuutOf_b.js} +1 -1
  121. package/src/assets/web-panel/assets/index-SGHpg8vZ.js +7 -0
  122. package/src/assets/web-panel/assets/{index-C7baQwUM.js → index-eZTZv_mW.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-nfLO3XrF.js → index-gyq6o1eH.js} +1 -1
  124. package/src/assets/web-panel/assets/index-nqPi_FUF.js +1 -0
  125. package/src/assets/web-panel/assets/index-qVl4nFNX.js +12 -0
  126. package/src/assets/web-panel/assets/{index-SR2lFA_W.js → index-spVYB7ka.js} +2 -2
  127. package/src/assets/web-panel/assets/{initDefaultProps-D7iOaKOY.js → initDefaultProps-DzCq75v2.js} +1 -1
  128. package/src/assets/web-panel/assets/{isPlainObject-DSTnI585.js → isPlainObject-_gz-soRW.js} +1 -1
  129. package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +1 -0
  130. package/src/assets/web-panel/assets/{motion-CvCFk7sy.js → motion-CwDCjQBX.js} +2 -2
  131. package/src/assets/web-panel/assets/{move-BVj5YZrV.js → move-CiyNq_dM.js} +1 -1
  132. package/src/assets/web-panel/assets/mtc-parser-Cc3pB9Xm.js +1 -0
  133. package/src/assets/web-panel/assets/{omit-N_JDguMt.js → omit-CV_avDvk.js} +1 -1
  134. package/src/assets/web-panel/assets/operationUnit-vCu2co3e.js +1 -0
  135. package/src/assets/web-panel/assets/{pickAttrs-BWcuLN5j.js → pickAttrs-BVSL31rv.js} +1 -1
  136. package/src/assets/web-panel/assets/{placementArrow--1l0FzZx.js → placementArrow-oxkKuQCJ.js} +1 -1
  137. package/src/assets/web-panel/assets/{responsiveObserve-CGX6EYRt.js → responsiveObserve-Dva2arKe.js} +1 -1
  138. package/src/assets/web-panel/assets/{slide-B3hJzlWm.js → slide-FbHwK4f8.js} +1 -1
  139. package/src/assets/web-panel/assets/{statusUtils-BJuExZuw.js → statusUtils-Pg-fsC5F.js} +1 -1
  140. package/src/assets/web-panel/assets/{styleChecker-pshnIK0r.js → styleChecker-CuXdVqkl.js} +1 -1
  141. package/src/assets/web-panel/assets/useFlexGapSupport-z-vK8Wcv.js +1 -0
  142. package/src/assets/web-panel/assets/{useFs-BW1piLQM.js → useFs-Cr5jQ4qa.js} +1 -1
  143. package/src/assets/web-panel/assets/{useMergedState-TP9VIF2K.js → useMergedState-n0f81Aew.js} +1 -1
  144. package/src/assets/web-panel/assets/{useRefs-BhIz_lC3.js → useRefs-CTh0C9xI.js} +1 -1
  145. package/src/assets/web-panel/assets/{useState-CpKsyozn.js → useState-4T1Ntfpx.js} +1 -1
  146. package/src/assets/web-panel/assets/{vendor-B6ToihkA.js → vendor-Ci2pTZ_t.js} +1 -1
  147. package/src/assets/web-panel/assets/{vnode-D98L6HI1.js → vnode-51kseDDa.js} +1 -1
  148. package/src/assets/web-panel/assets/{zoom-DnmMtXgZ.js → zoom-DSlt2Q3p.js} +1 -1
  149. package/src/assets/web-panel/index.html +3 -3
  150. package/src/commands/mtc.js +2 -0
  151. package/src/gateways/ws/chat-intent-protocol.js +192 -0
  152. package/src/gateways/ws/message-dispatcher.js +6 -0
  153. package/src/gateways/ws/ws-server.js +20 -0
  154. package/src/lib/chat-intent-service.js +530 -0
  155. package/src/assets/web-panel/assets/AppLayout-CtGprHSx.css +0 -1
  156. package/src/assets/web-panel/assets/AppLayout-lM1Y2Wgo.js +0 -1
  157. package/src/assets/web-panel/assets/Backup-G6AQe6k8.js +0 -1
  158. package/src/assets/web-panel/assets/BaseInput-tUASXi57.js +0 -1
  159. package/src/assets/web-panel/assets/Chat-B46MHHAs.js +0 -2
  160. package/src/assets/web-panel/assets/Chat-ByiYUboW.css +0 -1
  161. package/src/assets/web-panel/assets/Community-CB4KQIpB.js +0 -1
  162. package/src/assets/web-panel/assets/Dashboard-D3QHFHex.js +0 -3
  163. package/src/assets/web-panel/assets/KnowledgeGraph-DFrr-B78.js +0 -1
  164. package/src/assets/web-panel/assets/Mtc-60jSuMAz.js +0 -6
  165. package/src/assets/web-panel/assets/Mtc-Cc8OJxe_.css +0 -1
  166. package/src/assets/web-panel/assets/Notes-C0zhC6_B.js +0 -7
  167. package/src/assets/web-panel/assets/Notes-DKkPfXlY.css +0 -1
  168. package/src/assets/web-panel/assets/QuickAsk-BE29MB0d.js +0 -1
  169. package/src/assets/web-panel/assets/Row-CqBtO8lC.js +0 -1
  170. package/src/assets/web-panel/assets/Templates-B9YsJQcb.js +0 -1
  171. package/src/assets/web-panel/assets/Tenant-D4YncKb7.js +0 -1
  172. package/src/assets/web-panel/assets/UkeySign-CZ7Xrq96.js +0 -1
  173. package/src/assets/web-panel/assets/chat-DFt6UJUS.js +0 -1
  174. package/src/assets/web-panel/assets/icons-zXb7lDZs.js +0 -57
  175. package/src/assets/web-panel/assets/index-0KFwdHZg.js +0 -1
  176. package/src/assets/web-panel/assets/index-BDK2Fkgd.js +0 -13
  177. package/src/assets/web-panel/assets/index-BJFH7IlV.js +0 -21
  178. package/src/assets/web-panel/assets/index-BlPG_vWg.js +0 -55
  179. package/src/assets/web-panel/assets/index-CJjwnpac.js +0 -1
  180. package/src/assets/web-panel/assets/index-CX7WO0g5.js +0 -12
  181. package/src/assets/web-panel/assets/index-CbQ3AZcJ.js +0 -3
  182. package/src/assets/web-panel/assets/index-Cxk-8scO.js +0 -1
  183. package/src/assets/web-panel/assets/index-D0oJF6nX.js +0 -7
  184. package/src/assets/web-panel/assets/index-D7Smgwky.js +0 -1
  185. package/src/assets/web-panel/assets/index-DGAGIqDR.js +0 -1
  186. package/src/assets/web-panel/assets/index-Dd68wDHG.js +0 -12
  187. package/src/assets/web-panel/assets/index-Dem-mhfD.js +0 -1
  188. package/src/assets/web-panel/assets/index-DuQfQVBe.js +0 -1
  189. package/src/assets/web-panel/assets/index-jfzI94IT.js +0 -1
  190. package/src/assets/web-panel/assets/isSymbol-CsP9Ob42.js +0 -1
  191. package/src/assets/web-panel/assets/mtc-parser-pGMSt10g.js +0 -1
  192. package/src/assets/web-panel/assets/useFlexGapSupport-3FQZdpBd.js +0 -1
@@ -1,6 +1,6 @@
1
- import{E as oe,w as ne,r as d,f as z,o as ie,M as i,R as n,c as p,u as s,F as x,_ as b,Y as I,a1 as Z,P as r,S as _,O as g,Q as k,Z as X,N as v,a0 as re,K as C,L as a,n as ae}from"./vendor-B6ToihkA.js";import{u as ee,_ as ce}from"./index-B2f4ltyM.js";import{u as F}from"./chat-DFt6UJUS.js";import{r as te}from"./markdown-vYH_ziAO.js";import{i as H,h as ue,ag as le,ah as de,w as pe,a6 as ve,G as me,a7 as _e,o as ye,ai as fe,q as ge,$ as he,aj as ke,k as we,a9 as Se,ad as xe}from"./icons-zXb7lDZs.js";import"./markdown-xjUYbPSW.js";const be=[{id:"doc-convert",name:"文档格式转换",icon:"FileTextOutlined",category:"document",description:"Word、Markdown、HTML、PDF 之间的格式互转",examples:["把 report.docx 转成 PDF","合并多个 Markdown 为一个文档"],acceptsFiles:!0},{id:"media-process",name:"音视频处理",icon:"PlayCircleOutlined",category:"media",description:"视频压缩、音频提取、格式转换、剪辑",examples:["提取 MP4 的音频","压缩视频到 50MB 以内"],acceptsFiles:!0},{id:"data-analysis",name:"数据分析",icon:"BarChartOutlined",category:"data",description:"CSV/Excel 分析、统计、可视化图表",examples:["分析 sales.csv 的月度趋势"],acceptsFiles:!0},{id:"web-research",name:"信息检索与调研",icon:"SearchOutlined",category:"research",description:"网页抓取、API 调用、多源信息汇总",examples:["调研 AI Agent 框架对比"],acceptsFiles:!1},{id:"image-process",name:"图片处理",icon:"PictureOutlined",category:"media",description:"批量压缩、格式转换、加水印、OCR",examples:["批量压缩到 500KB"],acceptsFiles:!0},{id:"code-helper",name:"代码辅助",icon:"CodeOutlined",category:"development",description:"生成脚本、调试代码、自动化任务",examples:["写一个批量重命名脚本"],acceptsFiles:!0},{id:"system-admin",name:"系统运维",icon:"DesktopOutlined",category:"system",description:"磁盘分析、进程管理、日志分析",examples:["查看磁盘使用情况"],acceptsFiles:!1},{id:"file-organize",name:"文件整理",icon:"FolderOpenOutlined",category:"file",description:"批量重命名、分类整理、查找重复",examples:["按文件类型分类整理"],acceptsFiles:!1},{id:"network-tools",name:"网络工具",icon:"GlobalOutlined",category:"network",description:"API 调试、网页抓取、网络诊断",examples:["测试 API 接口"],acceptsFiles:!1},{id:"learning-assist",name:"学习辅助",icon:"ReadOutlined",category:"learning",description:"文档翻译、内容总结、论文分析",examples:["翻译 PDF 摘要"],acceptsFiles:!0}],Ce=oe("cowork",()=>{const W=d(be),t=d(null),y=d([]),w=d(!1),O=d([]),h=d([]),T=d(null),m=d(null),S=d(null),P=d([]),Q=d(!1),U=d(3),A=d(!1),R=d([]),D=F();ne(()=>D.isLoading,o=>{!o&&m.value&&(w.value=!1)});function j(o){t.value=o,q()}function q(){O.value=[],h.value=[],T.value=null,w.value=!1,m.value=null,S.value=null}function E(o){y.value.includes(o)||y.value.push(o)}function B(o){y.value=y.value.filter(e=>e!==o)}async function u(){const o=ee();try{await o.waitConnected(5e3);const e=await o.sendRaw({type:"cowork-templates"},1e4);e?.templates?.length&&(W.value=e.templates)}catch{}}async function l(){const o=ee();try{await o.waitConnected(5e3);const e=await o.sendRaw({type:"cowork-history",limit:50},1e4);e?.entries&&(P.value=e.entries)}catch{}}async function f(o){S.value={mode:"session",message:o},w.value=!0;const e=t.value;let c="";e&&(c=`## 当前任务类型: ${e.name}
1
+ import{E as oe,w as ne,r as d,f as z,o as ie,M as i,R as n,c as p,u as s,F as b,Y as x,Z as I,a1 as Z,P as r,S as _,O as g,Q as k,_ as X,N as v,a0 as re,K as C,L as a,n as ae}from"./vendor-Ci2pTZ_t.js";import{u as ee,_ as ce}from"./index-BPtmPFwc.js";import{u as F}from"./chat-HZBXEHqE.js";import{r as te}from"./markdown-vYH_ziAO.js";import{i as H,h as ue,ak as le,al as de,y as pe,a8 as ve,G as me,a9 as _e,q as ye,am as fe,s as ge,a1 as he,an as ke,k as we,ab as Se,ai as be}from"./icons-B2G69bhT.js";import"./markdown-xjUYbPSW.js";const xe=[{id:"doc-convert",name:"文档格式转换",icon:"FileTextOutlined",category:"document",description:"Word、Markdown、HTML、PDF 之间的格式互转",examples:["把 report.docx 转成 PDF","合并多个 Markdown 为一个文档"],acceptsFiles:!0},{id:"media-process",name:"音视频处理",icon:"PlayCircleOutlined",category:"media",description:"视频压缩、音频提取、格式转换、剪辑",examples:["提取 MP4 的音频","压缩视频到 50MB 以内"],acceptsFiles:!0},{id:"data-analysis",name:"数据分析",icon:"BarChartOutlined",category:"data",description:"CSV/Excel 分析、统计、可视化图表",examples:["分析 sales.csv 的月度趋势"],acceptsFiles:!0},{id:"web-research",name:"信息检索与调研",icon:"SearchOutlined",category:"research",description:"网页抓取、API 调用、多源信息汇总",examples:["调研 AI Agent 框架对比"],acceptsFiles:!1},{id:"image-process",name:"图片处理",icon:"PictureOutlined",category:"media",description:"批量压缩、格式转换、加水印、OCR",examples:["批量压缩到 500KB"],acceptsFiles:!0},{id:"code-helper",name:"代码辅助",icon:"CodeOutlined",category:"development",description:"生成脚本、调试代码、自动化任务",examples:["写一个批量重命名脚本"],acceptsFiles:!0},{id:"system-admin",name:"系统运维",icon:"DesktopOutlined",category:"system",description:"磁盘分析、进程管理、日志分析",examples:["查看磁盘使用情况"],acceptsFiles:!1},{id:"file-organize",name:"文件整理",icon:"FolderOpenOutlined",category:"file",description:"批量重命名、分类整理、查找重复",examples:["按文件类型分类整理"],acceptsFiles:!1},{id:"network-tools",name:"网络工具",icon:"GlobalOutlined",category:"network",description:"API 调试、网页抓取、网络诊断",examples:["测试 API 接口"],acceptsFiles:!1},{id:"learning-assist",name:"学习辅助",icon:"ReadOutlined",category:"learning",description:"文档翻译、内容总结、论文分析",examples:["翻译 PDF 摘要"],acceptsFiles:!0}],Ce=oe("cowork",()=>{const W=d(xe),t=d(null),y=d([]),w=d(!1),O=d([]),h=d([]),T=d(null),m=d(null),S=d(null),P=d([]),Q=d(!1),U=d(3),A=d(!1),R=d([]),D=F();ne(()=>D.isLoading,o=>{!o&&m.value&&(w.value=!1)});function G(o){t.value=o,q()}function q(){O.value=[],h.value=[],T.value=null,w.value=!1,m.value=null,S.value=null}function E(o){y.value.includes(o)||y.value.push(o)}function B(o){y.value=y.value.filter(e=>e!==o)}async function u(){const o=ee();try{await o.waitConnected(5e3);const e=await o.sendRaw({type:"cowork-templates"},1e4);e?.templates?.length&&(W.value=e.templates)}catch{}}async function l(){const o=ee();try{await o.waitConnected(5e3);const e=await o.sendRaw({type:"cowork-history",limit:50},1e4);e?.entries&&(P.value=e.entries)}catch{}}async function f(o){S.value={mode:"session",message:o},w.value=!0;const e=t.value;let c="";e&&(c=`## 当前任务类型: ${e.name}
2
2
  ${e.description||""}`);let $=o;y.value.length&&($+=`
3
3
 
4
- [用户提供的文件: ${y.value.join(", ")}]`),h.value.push({role:"user",content:o,timestamp:Date.now()});const M={systemPromptExtension:c};e?.shellPolicyOverrides&&(M.shellPolicyOverrides=e.shellPolicyOverrides);const se=await D.createSession("agent",M);m.value=se,await D.sendMessage(se,$)}async function N(o){S.value={mode:"direct",message:o};const e=ee();w.value=!0,h.value.push({role:"user",content:o,timestamp:Date.now()});try{await e.waitConnected(8e3);const c={type:"cowork-task",templateId:t.value?.id||null,userMessage:o,files:y.value};Q.value&&(c.parallel=!0,c.agents=U.value);const $=t.value;(A.value||$?.mode==="debate")&&(c.mode="debate",R.value.length&&(c.perspectives=R.value));const M=await e.sendRaw(c,3e5);h.value.push({role:"assistant",content:M.summary||"(No output)",timestamp:Date.now(),toolsUsed:M.toolsUsed||[],iterationCount:M.iterationCount||0}),T.value=M}catch(c){h.value.push({role:"assistant",content:`Error: ${c.message}`,timestamp:Date.now()})}finally{w.value=!1}}const G=z(()=>m.value?F().getMessages(m.value):[]),J=z(()=>{if(!m.value)return null;const e=F().streaming[m.value];return e?.active?e.content:null}),V=z(()=>m.value&&F().pendingQuestion[m.value]||null);function K(o){if(!m.value)return;F().answerQuestion(m.value,o)}async function L(){if(!S.value)return;const{mode:o,message:e}=S.value;o==="direct"?await N(e):await f(e)}async function Y(o){if(!m.value)return;const e=F();h.value.push({role:"user",content:o,timestamp:Date.now()});let c=o;y.value.length&&(c+=`
4
+ [用户提供的文件: ${y.value.join(", ")}]`),h.value.push({role:"user",content:o,timestamp:Date.now()});const M={systemPromptExtension:c};e?.shellPolicyOverrides&&(M.shellPolicyOverrides=e.shellPolicyOverrides);const se=await D.createSession("agent",M);m.value=se,await D.sendMessage(se,$)}async function N(o){S.value={mode:"direct",message:o};const e=ee();w.value=!0,h.value.push({role:"user",content:o,timestamp:Date.now()});try{await e.waitConnected(8e3);const c={type:"cowork-task",templateId:t.value?.id||null,userMessage:o,files:y.value};Q.value&&(c.parallel=!0,c.agents=U.value);const $=t.value;(A.value||$?.mode==="debate")&&(c.mode="debate",R.value.length&&(c.perspectives=R.value));const M=await e.sendRaw(c,3e5);h.value.push({role:"assistant",content:M.summary||"(No output)",timestamp:Date.now(),toolsUsed:M.toolsUsed||[],iterationCount:M.iterationCount||0}),T.value=M}catch(c){h.value.push({role:"assistant",content:`Error: ${c.message}`,timestamp:Date.now()})}finally{w.value=!1}}const J=z(()=>m.value?F().getMessages(m.value):[]),j=z(()=>{if(!m.value)return null;const e=F().streaming[m.value];return e?.active?e.content:null}),V=z(()=>m.value&&F().pendingQuestion[m.value]||null);function K(o){if(!m.value)return;F().answerQuestion(m.value,o)}async function L(){if(!S.value)return;const{mode:o,message:e}=S.value;o==="direct"?await N(e):await f(e)}async function Y(o){if(!m.value)return;const e=F();h.value.push({role:"user",content:o,timestamp:Date.now()});let c=o;y.value.length&&(c+=`
5
5
 
6
- [用户提供的文件: ${y.value.join(", ")}]`),await e.sendMessage(m.value,c)}return{selectedTemplate:t,files:y,isRunning:w,steps:O,messages:h,result:T,agentSessionId:m,currentAgentMessages:G,currentStreaming:J,currentQuestion:V,selectTemplate:j,reset:q,addFile:E,removeFile:B,execute:f,executeDirectWs:N,sendFollowUp:Y,answerQuestion:K,loadTemplates:u,templates:W,lastRequest:S,retry:L,history:P,loadHistory:l,parallelMode:Q,parallelAgents:U,debateMode:A,debatePerspectives:R}}),Te={class:"cowork-root"},Oe={class:"template-panel"},Me={class:"template-header"},Fe={class:"template-list"},Pe=["onClick"],Re={class:"card-icon"},De={class:"card-body"},Ae={class:"card-name"},Ee={class:"card-desc"},Le={class:"card-icon"},$e={class:"drop-text"},Ie={key:0,class:"file-list"},He={key:1,class:"history-section"},ze={key:0,class:"history-list"},Qe={class:"history-summary"},Ue={class:"history-meta"},qe={class:"exec-panel"},Be={key:0,class:"empty-state"},Ne={class:"empty-icon"},Ve={class:"example-grid"},Ke=["onClick"],We={key:1,class:"ready-state"},je={class:"ready-header"},Ge={class:"ready-name"},Je={key:0,class:"parallel-toggle"},Ye={key:1,class:"parallel-hint"},Ze={class:"ready-examples"},Xe=["onClick"],et={key:0,class:"tool-msg"},tt={class:"tool-input"},st={key:0,class:"tool-result-box"},at={class:"tool-result"},lt={key:1,class:"user-msg"},nt={class:"bubble user"},ot={key:2,class:"assistant-msg"},it=["innerHTML"],rt={key:0,class:"assistant-msg"},ct=["innerHTML"],ut={key:1,class:"question-card"},dt={class:"question-text"},pt={key:0,class:"question-choices"},vt={key:3,class:"debate-panel"},mt={class:"debate-verdict"},_t={class:"consensus"},yt=["innerHTML"],ft={key:4,class:"task-stats"},gt={class:"input-area"},ht={key:0,class:"input-context"},kt={class:"input-row"},wt={__name:"Cowork",setup(W){const t=Ce(),y=F(),w=d(""),O=d(null),h=d(!1),T=d(""),m=d(!1),S=d(!1),P={FileTextOutlined:we,PlayCircleOutlined:ke,BarChartOutlined:he,SearchOutlined:ge,PictureOutlined:fe,CodeOutlined:ye,DesktopOutlined:_e,FolderOpenOutlined:le,GlobalOutlined:me,ReadOutlined:ve,SafetyCertificateOutlined:pe},Q=["把 report.docx 转成 PDF","压缩视频到 50MB","分析 CSV 生成图表","查询今天的汇率","批量压缩图片","写一个自动化脚本"],U=z(()=>y.isLoading?"等待响应中...":t.selectedTemplate?t.selectedTemplate.examples?.[0]||"描述你的需求...":"描述你想完成的任务,Agent 会帮你搞定"),A=z(()=>t.currentAgentMessages);function R(u){return u==="APPROVE"?"green":u==="REJECT"?"red":u==="ERROR"?"default":"orange"}function D(u){return u.split(/[\\/]/).pop()||u}function j(u){h.value=!1;const l=u.dataTransfer?.files;if(l)for(const f of l)t.addFile(f.path||f.name)}function q(){const u=T.value.trim();u&&(t.addFile(u),T.value="")}async function E(){const u=w.value.trim();!u||y.isLoading||(w.value="",t.agentSessionId?await t.sendFollowUp(u):await t.execute(u))}function B(u){w.value=u,ae(()=>E())}return ne([A,()=>t.currentStreaming],()=>{ae(()=>{O.value&&(O.value.scrollTop=O.value.scrollHeight)})},{deep:!0}),ie(()=>{y.loadSessions(),t.loadTemplates(),t.loadHistory()}),(u,l)=>{const f=C("a-tag"),N=C("a-input"),G=C("a-switch"),J=C("a-input-number"),V=C("a-collapse-panel"),K=C("a-collapse"),L=C("a-button"),Y=C("a-input-search"),o=C("a-textarea");return a(),i("div",Te,[n("div",Oe,[n("div",Me,[p(s(H),{class:"header-icon"}),l[9]||(l[9]=n("span",{class:"header-title"},"日常协作",-1))]),l[11]||(l[11]=n("div",{class:"template-hint"},"选择任务类型,或直接输入需求",-1)),n("div",Fe,[(a(!0),i(x,null,b(s(t).templates,e=>(a(),i("div",{key:e.id,class:I(["template-card",{active:s(t).selectedTemplate?.id===e.id}]),onClick:c=>s(t).selectTemplate(e)},[n("div",Re,[(a(),k(X(P[e.icon]||s(H))))]),n("div",De,[n("div",Ae,r(e.name),1),n("div",Ee,r(e.description),1)])],10,Pe))),128)),n("div",{class:I(["template-card free",{active:s(t).selectedTemplate===null&&m.value}]),onClick:l[0]||(l[0]=e=>{s(t).selectTemplate(null),m.value=!0})},[n("div",Le,[p(s(ue))]),l[10]||(l[10]=n("div",{class:"card-body"},[n("div",{class:"card-name"},"自由提问"),n("div",{class:"card-desc"},"任意任务,Agent 自主完成")],-1))],2)]),s(t).selectedTemplate?.acceptsFiles!==!1?(a(),i("div",{key:0,class:I(["file-zone",{dragging:h.value}]),onDragover:l[2]||(l[2]=Z(e=>h.value=!0,["prevent"])),onDragleave:l[3]||(l[3]=e=>h.value=!1),onDrop:Z(j,["prevent"])},[p(s(le),{class:"drop-icon"}),n("div",$e,r(h.value?"松开以添加文件":"拖拽文件到此处"),1),s(t).files.length?(a(),i("div",Ie,[(a(!0),i(x,null,b(s(t).files,e=>(a(),k(f,{key:e,closable:"",onClose:c=>s(t).removeFile(e),class:"file-tag"},{default:v(()=>[g(r(D(e)),1)]),_:2},1032,["onClose"]))),128))])):_("",!0),p(N,{value:T.value,"onUpdate:value":l[1]||(l[1]=e=>T.value=e),placeholder:"或输入文件路径,按 Enter 添加",size:"small",class:"path-input",onPressEnter:q},null,8,["value"])],34)):_("",!0),s(t).history.length?(a(),i("div",He,[n("div",{class:"history-header",onClick:l[4]||(l[4]=e=>S.value=!S.value)},[p(s(de)),g(" 历史记录 ("+r(s(t).history.length)+") ",1)]),S.value?(a(),i("div",ze,[(a(!0),i(x,null,b(s(t).history.slice().reverse().slice(0,20),(e,c)=>(a(),i("div",{key:c,class:I(["history-item",e.status])},[n("div",Qe,r(e.userMessage),1),n("div",Ue,[n("span",null,r(e.templateName||"自由模式"),1),n("span",null,r(e.status),1)])],2))),128))])):_("",!0)])):_("",!0)]),n("div",qe,[!s(t).agentSessionId&&!s(t).selectedTemplate?(a(),i("div",Be,[n("div",Ne,[p(s(H))]),l[12]||(l[12]=n("div",{class:"empty-title"},"选择一个任务模板开始",-1)),l[13]||(l[13]=n("div",{class:"empty-sub"},"或选择「自由提问」处理任何问题",-1)),n("div",Ve,[(a(),i(x,null,b(Q,e=>n("div",{key:e,class:"example-chip",onClick:c=>B(e)},r(e),9,Ke)),64))])])):s(t).selectedTemplate&&!s(t).agentSessionId?(a(),i("div",We,[n("div",je,[(a(),k(X(P[s(t).selectedTemplate.icon]||s(H)),{class:"ready-icon"})),n("span",Ge,r(s(t).selectedTemplate.name),1)]),s(t).selectedTemplate.parallelStrategy&&s(t).selectedTemplate.parallelStrategy!=="none"?(a(),i("div",Je,[p(G,{checked:s(t).parallelMode,"onUpdate:checked":l[5]||(l[5]=e=>s(t).parallelMode=e),size:"small"},null,8,["checked"]),l[14]||(l[14]=n("span",{class:"parallel-label"},"多 Agent 并行",-1)),s(t).parallelMode?(a(),k(J,{key:0,value:s(t).parallelAgents,"onUpdate:value":l[6]||(l[6]=e=>s(t).parallelAgents=e),min:2,max:10,size:"small",class:"agent-count"},null,8,["value"])):_("",!0),s(t).parallelMode?(a(),i("span",Ye,"个 Agent")):_("",!0)])):_("",!0),n("div",Ze,[l[15]||(l[15]=n("div",{class:"example-label"},"试试这些:",-1)),(a(!0),i(x,null,b(s(t).selectedTemplate.examples,e=>(a(),i("div",{key:e,class:"example-chip",onClick:c=>B(e)},r(e),9,Xe))),128))])])):(a(),i("div",{key:2,class:"messages-area",ref_key:"messagesEl",ref:O},[(a(!0),i(x,null,b(A.value,(e,c)=>(a(),i("div",{key:c,class:I(["message-row",e.role])},[e.role==="tool"?(a(),i("div",et,[p(K,{ghost:"",size:"small"},{default:v(()=>[p(V,{class:"tool-collapse"},{header:v(()=>[p(s(Se)),g(" "+r(e.tool)+" "+r(e.status==="running"?"(执行中...)":"✓"),1)]),default:v(()=>[n("pre",tt,r(JSON.stringify(e.input,null,2)),1),e.result?(a(),i("div",st,[n("pre",at,r(typeof e.result=="string"?e.result:JSON.stringify(e.result,null,2)),1)])):_("",!0)]),_:2},1024)]),_:2},1024)])):e.role==="user"?(a(),i("div",lt,[n("div",nt,r(e.content),1)])):(a(),i("div",ot,[l[17]||(l[17]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant",innerHTML:s(te)(e.content)},null,8,it),e.content?.startsWith("Error:")&&!s(t).isRunning&&s(t).lastRequest?(a(),k(L,{key:0,size:"small",type:"link",onClick:l[7]||(l[7]=$=>s(t).retry())},{default:v(()=>[...l[16]||(l[16]=[g(" 重试 ",-1)])]),_:1})):_("",!0)]))],2))),128)),s(t).currentStreaming?(a(),i("div",rt,[l[18]||(l[18]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant streaming",innerHTML:s(te)(s(t).currentStreaming)},null,8,ct)])):_("",!0),s(t).currentQuestion?(a(),i("div",ut,[n("div",dt,r(s(t).currentQuestion.question),1),s(t).currentQuestion.choices?.length?(a(),i("div",pt,[(a(!0),i(x,null,b(s(t).currentQuestion.choices,e=>(a(),k(L,{key:e,size:"small",onClick:c=>s(t).answerQuestion(e)},{default:v(()=>[g(r(e),1)]),_:2},1032,["onClick"]))),128))])):(a(),k(Y,{key:1,placeholder:"输入回答...","enter-button":"发送",style:{"margin-top":"10px"},onSearch:s(t).answerQuestion},null,8,["onSearch"]))])):_("",!0)],512)),s(t).result?.mode==="debate"&&!s(t).isRunning?(a(),i("div",vt,[n("div",mt,[p(f,{color:R(s(t).result.verdict)},{default:v(()=>[g(r(s(t).result.verdict),1)]),_:1},8,["color"]),n("span",_t,"共识 "+r(s(t).result.consensusScore||0)+"/100",1)]),p(K,{ghost:"",size:"small"},{default:v(()=>[(a(!0),i(x,null,b(s(t).result.reviews||[],(e,c)=>(a(),k(V,{key:c,class:"review-collapse"},{header:v(()=>[p(f,{color:R(e.verdict)},{default:v(()=>[g(r(e.verdict),1)]),_:2},1032,["color"]),g(" "+r(e.role),1)]),default:v(()=>[n("div",{class:"review-body",innerHTML:s(te)(e.review)},null,8,yt)]),_:2},1024))),128))]),_:1})])):_("",!0),s(t).result&&!s(t).isRunning?(a(),i("div",ft,[s(t).result.mode==="debate"?(a(),k(f,{key:0,color:"magenta"},{default:v(()=>[...l[19]||(l[19]=[g("debate",-1)])]),_:1})):_("",!0),s(t).result.parallel?(a(),k(f,{key:1,color:"purple"},{default:v(()=>[g(r(s(t).result.subtaskCount||0)+" subtasks",1)]),_:1})):_("",!0),p(f,{color:"geekblue"},{default:v(()=>[g(r(s(t).result.iterationCount||0)+" iterations",1)]),_:1}),p(f,{color:"cyan"},{default:v(()=>[g("~"+r((s(t).result.tokenCount||0).toLocaleString())+" tokens",1)]),_:1}),s(t).result.toolsUsed?.length?(a(),k(f,{key:2,color:"green"},{default:v(()=>[g(r(s(t).result.toolsUsed.length)+" tools",1)]),_:1})):_("",!0)])):_("",!0),n("div",gt,[s(t).selectedTemplate?(a(),i("div",ht,[p(f,{color:"blue",class:"context-tag"},{default:v(()=>[(a(),k(X(P[s(t).selectedTemplate.icon]||s(H)))),g(" "+r(s(t).selectedTemplate.name),1)]),_:1}),(a(!0),i(x,null,b(s(t).files,e=>(a(),k(f,{key:e,class:"context-tag file"},{default:v(()=>[g(r(D(e)),1)]),_:2},1024))),128))])):_("",!0),n("div",kt,[p(o,{value:w.value,"onUpdate:value":l[8]||(l[8]=e=>w.value=e),placeholder:U.value,"auto-size":{minRows:1,maxRows:6},disabled:s(y).isLoading,class:"msg-input",onKeydown:re(Z(E,["exact","prevent"]),["enter"])},null,8,["value","placeholder","disabled","onKeydown"]),p(L,{type:"primary",loading:s(y).isLoading,class:"send-btn",onClick:E},{icon:v(()=>[p(s(xe))]),_:1},8,["loading"])])])])])}}},Mt=ce(wt,[["__scopeId","data-v-3ed36674"]]);export{Mt as default};
6
+ [用户提供的文件: ${y.value.join(", ")}]`),await e.sendMessage(m.value,c)}return{selectedTemplate:t,files:y,isRunning:w,steps:O,messages:h,result:T,agentSessionId:m,currentAgentMessages:J,currentStreaming:j,currentQuestion:V,selectTemplate:G,reset:q,addFile:E,removeFile:B,execute:f,executeDirectWs:N,sendFollowUp:Y,answerQuestion:K,loadTemplates:u,templates:W,lastRequest:S,retry:L,history:P,loadHistory:l,parallelMode:Q,parallelAgents:U,debateMode:A,debatePerspectives:R}}),Te={class:"cowork-root"},Oe={class:"template-panel"},Me={class:"template-header"},Fe={class:"template-list"},Pe=["onClick"],Re={class:"card-icon"},De={class:"card-body"},Ae={class:"card-name"},Ee={class:"card-desc"},Le={class:"card-icon"},$e={class:"drop-text"},Ie={key:0,class:"file-list"},He={key:1,class:"history-section"},ze={key:0,class:"history-list"},Qe={class:"history-summary"},Ue={class:"history-meta"},qe={class:"exec-panel"},Be={key:0,class:"empty-state"},Ne={class:"empty-icon"},Ve={class:"example-grid"},Ke=["onClick"],We={key:1,class:"ready-state"},Ge={class:"ready-header"},Je={class:"ready-name"},je={key:0,class:"parallel-toggle"},Ye={key:1,class:"parallel-hint"},Ze={class:"ready-examples"},Xe=["onClick"],et={key:0,class:"tool-msg"},tt={class:"tool-input"},st={key:0,class:"tool-result-box"},at={class:"tool-result"},lt={key:1,class:"user-msg"},nt={class:"bubble user"},ot={key:2,class:"assistant-msg"},it=["innerHTML"],rt={key:0,class:"assistant-msg"},ct=["innerHTML"],ut={key:1,class:"question-card"},dt={class:"question-text"},pt={key:0,class:"question-choices"},vt={key:3,class:"debate-panel"},mt={class:"debate-verdict"},_t={class:"consensus"},yt=["innerHTML"],ft={key:4,class:"task-stats"},gt={class:"input-area"},ht={key:0,class:"input-context"},kt={class:"input-row"},wt={__name:"Cowork",setup(W){const t=Ce(),y=F(),w=d(""),O=d(null),h=d(!1),T=d(""),m=d(!1),S=d(!1),P={FileTextOutlined:we,PlayCircleOutlined:ke,BarChartOutlined:he,SearchOutlined:ge,PictureOutlined:fe,CodeOutlined:ye,DesktopOutlined:_e,FolderOpenOutlined:le,GlobalOutlined:me,ReadOutlined:ve,SafetyCertificateOutlined:pe},Q=["把 report.docx 转成 PDF","压缩视频到 50MB","分析 CSV 生成图表","查询今天的汇率","批量压缩图片","写一个自动化脚本"],U=z(()=>y.isLoading?"等待响应中...":t.selectedTemplate?t.selectedTemplate.examples?.[0]||"描述你的需求...":"描述你想完成的任务,Agent 会帮你搞定"),A=z(()=>t.currentAgentMessages);function R(u){return u==="APPROVE"?"green":u==="REJECT"?"red":u==="ERROR"?"default":"orange"}function D(u){return u.split(/[\\/]/).pop()||u}function G(u){h.value=!1;const l=u.dataTransfer?.files;if(l)for(const f of l)t.addFile(f.path||f.name)}function q(){const u=T.value.trim();u&&(t.addFile(u),T.value="")}async function E(){const u=w.value.trim();!u||y.isLoading||(w.value="",t.agentSessionId?await t.sendFollowUp(u):await t.execute(u))}function B(u){w.value=u,ae(()=>E())}return ne([A,()=>t.currentStreaming],()=>{ae(()=>{O.value&&(O.value.scrollTop=O.value.scrollHeight)})},{deep:!0}),ie(()=>{y.loadSessions(),t.loadTemplates(),t.loadHistory()}),(u,l)=>{const f=C("a-tag"),N=C("a-input"),J=C("a-switch"),j=C("a-input-number"),V=C("a-collapse-panel"),K=C("a-collapse"),L=C("a-button"),Y=C("a-input-search"),o=C("a-textarea");return a(),i("div",Te,[n("div",Oe,[n("div",Me,[p(s(H),{class:"header-icon"}),l[9]||(l[9]=n("span",{class:"header-title"},"日常协作",-1))]),l[11]||(l[11]=n("div",{class:"template-hint"},"选择任务类型,或直接输入需求",-1)),n("div",Fe,[(a(!0),i(b,null,x(s(t).templates,e=>(a(),i("div",{key:e.id,class:I(["template-card",{active:s(t).selectedTemplate?.id===e.id}]),onClick:c=>s(t).selectTemplate(e)},[n("div",Re,[(a(),k(X(P[e.icon]||s(H))))]),n("div",De,[n("div",Ae,r(e.name),1),n("div",Ee,r(e.description),1)])],10,Pe))),128)),n("div",{class:I(["template-card free",{active:s(t).selectedTemplate===null&&m.value}]),onClick:l[0]||(l[0]=e=>{s(t).selectTemplate(null),m.value=!0})},[n("div",Le,[p(s(ue))]),l[10]||(l[10]=n("div",{class:"card-body"},[n("div",{class:"card-name"},"自由提问"),n("div",{class:"card-desc"},"任意任务,Agent 自主完成")],-1))],2)]),s(t).selectedTemplate?.acceptsFiles!==!1?(a(),i("div",{key:0,class:I(["file-zone",{dragging:h.value}]),onDragover:l[2]||(l[2]=Z(e=>h.value=!0,["prevent"])),onDragleave:l[3]||(l[3]=e=>h.value=!1),onDrop:Z(G,["prevent"])},[p(s(le),{class:"drop-icon"}),n("div",$e,r(h.value?"松开以添加文件":"拖拽文件到此处"),1),s(t).files.length?(a(),i("div",Ie,[(a(!0),i(b,null,x(s(t).files,e=>(a(),k(f,{key:e,closable:"",onClose:c=>s(t).removeFile(e),class:"file-tag"},{default:v(()=>[g(r(D(e)),1)]),_:2},1032,["onClose"]))),128))])):_("",!0),p(N,{value:T.value,"onUpdate:value":l[1]||(l[1]=e=>T.value=e),placeholder:"或输入文件路径,按 Enter 添加",size:"small",class:"path-input",onPressEnter:q},null,8,["value"])],34)):_("",!0),s(t).history.length?(a(),i("div",He,[n("div",{class:"history-header",onClick:l[4]||(l[4]=e=>S.value=!S.value)},[p(s(de)),g(" 历史记录 ("+r(s(t).history.length)+") ",1)]),S.value?(a(),i("div",ze,[(a(!0),i(b,null,x(s(t).history.slice().reverse().slice(0,20),(e,c)=>(a(),i("div",{key:c,class:I(["history-item",e.status])},[n("div",Qe,r(e.userMessage),1),n("div",Ue,[n("span",null,r(e.templateName||"自由模式"),1),n("span",null,r(e.status),1)])],2))),128))])):_("",!0)])):_("",!0)]),n("div",qe,[!s(t).agentSessionId&&!s(t).selectedTemplate?(a(),i("div",Be,[n("div",Ne,[p(s(H))]),l[12]||(l[12]=n("div",{class:"empty-title"},"选择一个任务模板开始",-1)),l[13]||(l[13]=n("div",{class:"empty-sub"},"或选择「自由提问」处理任何问题",-1)),n("div",Ve,[(a(),i(b,null,x(Q,e=>n("div",{key:e,class:"example-chip",onClick:c=>B(e)},r(e),9,Ke)),64))])])):s(t).selectedTemplate&&!s(t).agentSessionId?(a(),i("div",We,[n("div",Ge,[(a(),k(X(P[s(t).selectedTemplate.icon]||s(H)),{class:"ready-icon"})),n("span",Je,r(s(t).selectedTemplate.name),1)]),s(t).selectedTemplate.parallelStrategy&&s(t).selectedTemplate.parallelStrategy!=="none"?(a(),i("div",je,[p(J,{checked:s(t).parallelMode,"onUpdate:checked":l[5]||(l[5]=e=>s(t).parallelMode=e),size:"small"},null,8,["checked"]),l[14]||(l[14]=n("span",{class:"parallel-label"},"多 Agent 并行",-1)),s(t).parallelMode?(a(),k(j,{key:0,value:s(t).parallelAgents,"onUpdate:value":l[6]||(l[6]=e=>s(t).parallelAgents=e),min:2,max:10,size:"small",class:"agent-count"},null,8,["value"])):_("",!0),s(t).parallelMode?(a(),i("span",Ye,"个 Agent")):_("",!0)])):_("",!0),n("div",Ze,[l[15]||(l[15]=n("div",{class:"example-label"},"试试这些:",-1)),(a(!0),i(b,null,x(s(t).selectedTemplate.examples,e=>(a(),i("div",{key:e,class:"example-chip",onClick:c=>B(e)},r(e),9,Xe))),128))])])):(a(),i("div",{key:2,class:"messages-area",ref_key:"messagesEl",ref:O},[(a(!0),i(b,null,x(A.value,(e,c)=>(a(),i("div",{key:c,class:I(["message-row",e.role])},[e.role==="tool"?(a(),i("div",et,[p(K,{ghost:"",size:"small"},{default:v(()=>[p(V,{class:"tool-collapse"},{header:v(()=>[p(s(Se)),g(" "+r(e.tool)+" "+r(e.status==="running"?"(执行中...)":"✓"),1)]),default:v(()=>[n("pre",tt,r(JSON.stringify(e.input,null,2)),1),e.result?(a(),i("div",st,[n("pre",at,r(typeof e.result=="string"?e.result:JSON.stringify(e.result,null,2)),1)])):_("",!0)]),_:2},1024)]),_:2},1024)])):e.role==="user"?(a(),i("div",lt,[n("div",nt,r(e.content),1)])):(a(),i("div",ot,[l[17]||(l[17]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant",innerHTML:s(te)(e.content)},null,8,it),e.content?.startsWith("Error:")&&!s(t).isRunning&&s(t).lastRequest?(a(),k(L,{key:0,size:"small",type:"link",onClick:l[7]||(l[7]=$=>s(t).retry())},{default:v(()=>[...l[16]||(l[16]=[g(" 重试 ",-1)])]),_:1})):_("",!0)]))],2))),128)),s(t).currentStreaming?(a(),i("div",rt,[l[18]||(l[18]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant streaming",innerHTML:s(te)(s(t).currentStreaming)},null,8,ct)])):_("",!0),s(t).currentQuestion?(a(),i("div",ut,[n("div",dt,r(s(t).currentQuestion.question),1),s(t).currentQuestion.choices?.length?(a(),i("div",pt,[(a(!0),i(b,null,x(s(t).currentQuestion.choices,e=>(a(),k(L,{key:e,size:"small",onClick:c=>s(t).answerQuestion(e)},{default:v(()=>[g(r(e),1)]),_:2},1032,["onClick"]))),128))])):(a(),k(Y,{key:1,placeholder:"输入回答...","enter-button":"发送",style:{"margin-top":"10px"},onSearch:s(t).answerQuestion},null,8,["onSearch"]))])):_("",!0)],512)),s(t).result?.mode==="debate"&&!s(t).isRunning?(a(),i("div",vt,[n("div",mt,[p(f,{color:R(s(t).result.verdict)},{default:v(()=>[g(r(s(t).result.verdict),1)]),_:1},8,["color"]),n("span",_t,"共识 "+r(s(t).result.consensusScore||0)+"/100",1)]),p(K,{ghost:"",size:"small"},{default:v(()=>[(a(!0),i(b,null,x(s(t).result.reviews||[],(e,c)=>(a(),k(V,{key:c,class:"review-collapse"},{header:v(()=>[p(f,{color:R(e.verdict)},{default:v(()=>[g(r(e.verdict),1)]),_:2},1032,["color"]),g(" "+r(e.role),1)]),default:v(()=>[n("div",{class:"review-body",innerHTML:s(te)(e.review)},null,8,yt)]),_:2},1024))),128))]),_:1})])):_("",!0),s(t).result&&!s(t).isRunning?(a(),i("div",ft,[s(t).result.mode==="debate"?(a(),k(f,{key:0,color:"magenta"},{default:v(()=>[...l[19]||(l[19]=[g("debate",-1)])]),_:1})):_("",!0),s(t).result.parallel?(a(),k(f,{key:1,color:"purple"},{default:v(()=>[g(r(s(t).result.subtaskCount||0)+" subtasks",1)]),_:1})):_("",!0),p(f,{color:"geekblue"},{default:v(()=>[g(r(s(t).result.iterationCount||0)+" iterations",1)]),_:1}),p(f,{color:"cyan"},{default:v(()=>[g("~"+r((s(t).result.tokenCount||0).toLocaleString())+" tokens",1)]),_:1}),s(t).result.toolsUsed?.length?(a(),k(f,{key:2,color:"green"},{default:v(()=>[g(r(s(t).result.toolsUsed.length)+" tools",1)]),_:1})):_("",!0)])):_("",!0),n("div",gt,[s(t).selectedTemplate?(a(),i("div",ht,[p(f,{color:"blue",class:"context-tag"},{default:v(()=>[(a(),k(X(P[s(t).selectedTemplate.icon]||s(H)))),g(" "+r(s(t).selectedTemplate.name),1)]),_:1}),(a(!0),i(b,null,x(s(t).files,e=>(a(),k(f,{key:e,class:"context-tag file"},{default:v(()=>[g(r(D(e)),1)]),_:2},1024))),128))])):_("",!0),n("div",kt,[p(o,{value:w.value,"onUpdate:value":l[8]||(l[8]=e=>w.value=e),placeholder:U.value,"auto-size":{minRows:1,maxRows:6},disabled:s(y).isLoading,class:"msg-input",onKeydown:re(Z(E,["exact","prevent"]),["enter"])},null,8,["value","placeholder","disabled","onKeydown"]),p(L,{type:"primary",loading:s(y).isLoading,class:"send-btn",onClick:E},{icon:v(()=>[p(s(be))]),_:1},8,["loading"])])])])])}}},Mt=ce(wt,[["__scopeId","data-v-3ed36674"]]);export{Mt as default};
@@ -1,2 +1,2 @@
1
- import{b as ae,u as le,d as _}from"./index-B2f4ltyM.js";import{al as te,R as ne,u as oe}from"./icons-zXb7lDZs.js";import{o as se,M as g,R as f,P as i,u as n,c as a,N as t,K as c,r as z,L as p,O as b,F as R,_ as re,Q as L,S as C,f as P}from"./vendor-B6ToihkA.js";const ce={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ie={class:"page-title"},ue={class:"page-sub"},de={key:0,style:{"text-align":"center",padding:"40px"}},me={style:{color:"#e0e0e0","font-weight":"500"}},pe={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},ve={key:1,style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px",color:"#91caff","font-size":"11px"}},_e={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ye={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}},he={__name:"Cron",setup(fe){const{t:e}=ae(),k=le(),T=z(!1),O=z(!1),h=z(!1),y=z([]),q=P(()=>y.value.filter(l=>l.enabled).length),B=P(()=>y.value.filter(l=>!l.enabled).length),E=[{key:"every5m",cron:"*/5 * * * *"},{key:"every15m",cron:"*/15 * * * *"},{key:"everyHour",cron:"0 * * * *"},{key:"every9am",cron:"0 9 * * *"},{key:"every6pm",cron:"0 18 * * *"},{key:"weeklyMon9",cron:"0 9 * * 1"},{key:"monthly1",cron:"0 9 1 * *"}],U=P(()=>E.map(l=>({...l,label:e(`cron.presets.${l.key}`)}))),r=z({name:"",cron:"",payload:"",description:"",enabled:!0}),V=P(()=>[{title:e("cron.columns.name"),key:"name",width:"25%"},{title:e("cron.columns.cron"),key:"cron",width:"20%"},{title:e("cron.columns.status"),key:"status",width:"15%"},{title:e("cron.columns.actions"),key:"actions",width:"20%"}]);async function F(){T.value=!0;try{const{output:l}=await k.execute('skill run cron-scheduler "list all scheduled tasks"',2e4);y.value=M(l)}catch{y.value=[]}finally{T.value=!1}}function M(l){const o=[],v=l.split(`
2
- `);for(const x of v){const d=x.trim();if(!d||d.startsWith("─"))continue;const m=d.match(/^([^\t|]+?)[\t|]+([*\d/,\-?LW#\s]+)[\t|]+/);m&&o.push({key:o.length,name:m[1].trim(),cron:m[2].trim(),enabled:!d.toLowerCase().includes("pause")&&!d.toLowerCase().includes("disabled"),description:"",running:!1})}return o}function W(l){r.value.cron=l.cron,h.value=!0}async function A(){if(!r.value.name||!r.value.cron){_.warning(e("cron.messages.nameAndCronRequired"));return}O.value=!0;try{const l=`skill run cron-scheduler "add task: ${r.value.name}, schedule: ${r.value.cron}, payload: ${r.value.payload||"ping"}"`;await k.execute(l,2e4),_.success(e("cron.messages.createOk")),h.value=!1,r.value={name:"",cron:"",payload:"",description:"",enabled:!0},await F()}catch(l){_.error(e("cron.messages.createFailed",{err:l.message}))}finally{O.value=!1}}async function H(l){l.running=!0;try{await k.execute(`skill run cron-scheduler "run task: ${l.name}"`,3e4),_.success(e("cron.messages.runOk",{name:l.name}))}catch(o){_.error(e("cron.messages.runFailed",{err:o.message}))}finally{l.running=!1}}async function j(l){const o=l.enabled?"pause":"enable";try{await k.execute(`skill run cron-scheduler "${o} task: ${l.name}"`,1e4),l.enabled=!l.enabled,_.success(l.enabled?e("cron.messages.toggleEnabled"):e("cron.messages.togglePaused"))}catch{_.error(e("cron.messages.toggleFailed"))}}async function D(l){try{await k.execute(`skill run cron-scheduler "delete task: ${l.name}"`,1e4),y.value=y.value.filter(o=>o.key!==l.key),_.success(e("cron.messages.deleteOk"))}catch{_.error(e("cron.messages.deleteFailed"))}}return se(F),(l,o)=>{const v=c("a-button"),x=c("a-space"),d=c("a-statistic"),m=c("a-card"),$=c("a-col"),I=c("a-row"),K=c("a-spin"),Q=c("a-badge"),G=c("a-popconfirm"),J=c("a-table"),S=c("a-input"),w=c("a-form-item"),X=c("a-textarea"),Y=c("a-switch"),Z=c("a-form"),ee=c("a-modal");return p(),g("div",null,[f("div",ce,[f("div",null,[f("h2",ie,i(n(e)("cron.title")),1),f("p",ue,i(n(e)("cron.subtitle")),1)]),a(x,null,{default:t(()=>[a(v,{onClick:o[0]||(o[0]=s=>h.value=!0),type:"primary"},{icon:t(()=>[a(n(te))]),default:t(()=>[b(" "+i(n(e)("cron.newTask")),1)]),_:1}),a(v,{ghost:"",loading:T.value,onClick:F},{icon:t(()=>[a(n(ne))]),default:t(()=>[b(" "+i(n(e)("cron.refresh")),1)]),_:1},8,["loading"])]),_:1})]),a(I,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.all"),value:y.value.length,"value-style":"color: #ccc; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.active"),value:q.value,"value-style":"color: #52c41a; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.paused"),value:B.value,"value-style":"color: #faad14; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.presets"),value:U.value.length,"value-style":"color: #1677ff; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),a(m,{title:n(e)("cron.presetsCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},size:"small"},{default:t(()=>[a(x,{wrap:""},{default:t(()=>[(p(!0),g(R,null,re(U.value,s=>(p(),L(v,{key:s.key,size:"small",style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)","font-size":"12px"},onClick:u=>W(s)},{default:t(()=>[b(i(s.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["title"]),a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[T.value?(p(),g("div",de,[a(K,{size:"large"})])):(p(),L(J,{key:1,columns:V.value,"data-source":y.value,pagination:{pageSize:15},size:"small"},{bodyCell:t(({column:s,record:u})=>[s.key==="name"?(p(),g(R,{key:0},[f("div",me,i(u.name),1),u.description?(p(),g("div",pe,i(u.description),1)):C("",!0)],64)):C("",!0),s.key==="cron"?(p(),g("code",ve,i(u.cron),1)):C("",!0),s.key==="status"?(p(),L(Q,{key:2,status:u.enabled?"success":"warning",text:u.enabled?n(e)("cron.running"):n(e)("cron.paused")},null,8,["status","text"])):C("",!0),s.key==="actions"?(p(),L(x,{key:3,size:"small"},{default:t(()=>[a(v,{size:"small",type:"link",loading:u.running,onClick:N=>H(u)},{default:t(()=>[b(i(n(e)("cron.actions.run")),1)]),_:1},8,["loading","onClick"]),a(v,{size:"small",type:"link",onClick:N=>j(u)},{default:t(()=>[b(i(u.enabled?n(e)("cron.actions.pause"):n(e)("cron.actions.enable")),1)]),_:2},1032,["onClick"]),a(G,{title:n(e)("cron.actions.deleteConfirm"),onConfirm:N=>D(u)},{default:t(()=>[a(v,{size:"small",type:"link",danger:""},{default:t(()=>[b(i(n(e)("cron.actions.delete")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):C("",!0)]),emptyText:t(()=>[f("div",_e,[a(n(oe),{style:{"font-size":"36px","margin-bottom":"12px",display:"block"}}),b(" "+i(n(e)("cron.emptyText")),1)])]),_:1},8,["columns","data-source"]))]),_:1}),a(ee,{open:h.value,"onUpdate:open":o[6]||(o[6]=s=>h.value=s),title:n(e)("cron.modal.title"),"confirm-loading":O.value,onOk:A,width:"520px"},{default:t(()=>[a(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(w,{label:n(e)("cron.modal.nameLabel"),required:""},{default:t(()=>[a(S,{value:r.value.name,"onUpdate:value":o[1]||(o[1]=s=>r.value.name=s),placeholder:n(e)("cron.modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.cronLabel"),required:""},{default:t(()=>[a(S,{value:r.value.cron,"onUpdate:value":o[2]||(o[2]=s=>r.value.cron=s),placeholder:n(e)("cron.modal.cronPlaceholder")},null,8,["value","placeholder"]),f("div",ye,i(n(e)("cron.modal.cronHint")),1)]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.payloadLabel"),required:""},{default:t(()=>[a(X,{value:r.value.payload,"onUpdate:value":o[3]||(o[3]=s=>r.value.payload=s),rows:3,placeholder:n(e)("cron.modal.payloadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.descriptionLabel")},{default:t(()=>[a(S,{value:r.value.description,"onUpdate:value":o[4]||(o[4]=s=>r.value.description=s),placeholder:n(e)("cron.modal.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.enabledLabel")},{default:t(()=>[a(Y,{checked:r.value.enabled,"onUpdate:checked":o[5]||(o[5]=s=>r.value.enabled=s)},null,8,["checked"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}};export{he as default};
1
+ import{b as ae,u as le,d as _}from"./index-BPtmPFwc.js";import{ap as te,R as ne,w as oe}from"./icons-B2G69bhT.js";import{o as se,M as g,R as f,P as i,u as n,c as a,N as t,K as c,r as z,L as p,O as b,F as R,Y as re,Q as L,S as C,f as P}from"./vendor-Ci2pTZ_t.js";const ce={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ie={class:"page-title"},ue={class:"page-sub"},de={key:0,style:{"text-align":"center",padding:"40px"}},me={style:{color:"#e0e0e0","font-weight":"500"}},pe={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},ve={key:1,style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px",color:"#91caff","font-size":"11px"}},_e={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ye={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}},he={__name:"Cron",setup(fe){const{t:e}=ae(),k=le(),T=z(!1),O=z(!1),h=z(!1),y=z([]),q=P(()=>y.value.filter(l=>l.enabled).length),B=P(()=>y.value.filter(l=>!l.enabled).length),E=[{key:"every5m",cron:"*/5 * * * *"},{key:"every15m",cron:"*/15 * * * *"},{key:"everyHour",cron:"0 * * * *"},{key:"every9am",cron:"0 9 * * *"},{key:"every6pm",cron:"0 18 * * *"},{key:"weeklyMon9",cron:"0 9 * * 1"},{key:"monthly1",cron:"0 9 1 * *"}],U=P(()=>E.map(l=>({...l,label:e(`cron.presets.${l.key}`)}))),r=z({name:"",cron:"",payload:"",description:"",enabled:!0}),V=P(()=>[{title:e("cron.columns.name"),key:"name",width:"25%"},{title:e("cron.columns.cron"),key:"cron",width:"20%"},{title:e("cron.columns.status"),key:"status",width:"15%"},{title:e("cron.columns.actions"),key:"actions",width:"20%"}]);async function F(){T.value=!0;try{const{output:l}=await k.execute('skill run cron-scheduler "list all scheduled tasks"',2e4);y.value=M(l)}catch{y.value=[]}finally{T.value=!1}}function M(l){const o=[],v=l.split(`
2
+ `);for(const x of v){const d=x.trim();if(!d||d.startsWith("─"))continue;const m=d.match(/^([^\t|]+?)[\t|]+([*\d/,\-?LW#\s]+)[\t|]+/);m&&o.push({key:o.length,name:m[1].trim(),cron:m[2].trim(),enabled:!d.toLowerCase().includes("pause")&&!d.toLowerCase().includes("disabled"),description:"",running:!1})}return o}function W(l){r.value.cron=l.cron,h.value=!0}async function A(){if(!r.value.name||!r.value.cron){_.warning(e("cron.messages.nameAndCronRequired"));return}O.value=!0;try{const l=`skill run cron-scheduler "add task: ${r.value.name}, schedule: ${r.value.cron}, payload: ${r.value.payload||"ping"}"`;await k.execute(l,2e4),_.success(e("cron.messages.createOk")),h.value=!1,r.value={name:"",cron:"",payload:"",description:"",enabled:!0},await F()}catch(l){_.error(e("cron.messages.createFailed",{err:l.message}))}finally{O.value=!1}}async function H(l){l.running=!0;try{await k.execute(`skill run cron-scheduler "run task: ${l.name}"`,3e4),_.success(e("cron.messages.runOk",{name:l.name}))}catch(o){_.error(e("cron.messages.runFailed",{err:o.message}))}finally{l.running=!1}}async function j(l){const o=l.enabled?"pause":"enable";try{await k.execute(`skill run cron-scheduler "${o} task: ${l.name}"`,1e4),l.enabled=!l.enabled,_.success(l.enabled?e("cron.messages.toggleEnabled"):e("cron.messages.togglePaused"))}catch{_.error(e("cron.messages.toggleFailed"))}}async function D(l){try{await k.execute(`skill run cron-scheduler "delete task: ${l.name}"`,1e4),y.value=y.value.filter(o=>o.key!==l.key),_.success(e("cron.messages.deleteOk"))}catch{_.error(e("cron.messages.deleteFailed"))}}return se(F),(l,o)=>{const v=c("a-button"),x=c("a-space"),d=c("a-statistic"),m=c("a-card"),$=c("a-col"),I=c("a-row"),K=c("a-spin"),Q=c("a-badge"),Y=c("a-popconfirm"),G=c("a-table"),S=c("a-input"),w=c("a-form-item"),J=c("a-textarea"),X=c("a-switch"),Z=c("a-form"),ee=c("a-modal");return p(),g("div",null,[f("div",ce,[f("div",null,[f("h2",ie,i(n(e)("cron.title")),1),f("p",ue,i(n(e)("cron.subtitle")),1)]),a(x,null,{default:t(()=>[a(v,{onClick:o[0]||(o[0]=s=>h.value=!0),type:"primary"},{icon:t(()=>[a(n(te))]),default:t(()=>[b(" "+i(n(e)("cron.newTask")),1)]),_:1}),a(v,{ghost:"",loading:T.value,onClick:F},{icon:t(()=>[a(n(ne))]),default:t(()=>[b(" "+i(n(e)("cron.refresh")),1)]),_:1},8,["loading"])]),_:1})]),a(I,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.all"),value:y.value.length,"value-style":"color: #ccc; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.active"),value:q.value,"value-style":"color: #52c41a; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.paused"),value:B.value,"value-style":"color: #faad14; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),a($,{xs:12,sm:6},{default:t(()=>[a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[a(d,{title:n(e)("cron.stats.presets"),value:U.value.length,"value-style":"color: #1677ff; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),a(m,{title:n(e)("cron.presetsCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},size:"small"},{default:t(()=>[a(x,{wrap:""},{default:t(()=>[(p(!0),g(R,null,re(U.value,s=>(p(),L(v,{key:s.key,size:"small",style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)","font-size":"12px"},onClick:u=>W(s)},{default:t(()=>[b(i(s.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["title"]),a(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[T.value?(p(),g("div",de,[a(K,{size:"large"})])):(p(),L(G,{key:1,columns:V.value,"data-source":y.value,pagination:{pageSize:15},size:"small"},{bodyCell:t(({column:s,record:u})=>[s.key==="name"?(p(),g(R,{key:0},[f("div",me,i(u.name),1),u.description?(p(),g("div",pe,i(u.description),1)):C("",!0)],64)):C("",!0),s.key==="cron"?(p(),g("code",ve,i(u.cron),1)):C("",!0),s.key==="status"?(p(),L(Q,{key:2,status:u.enabled?"success":"warning",text:u.enabled?n(e)("cron.running"):n(e)("cron.paused")},null,8,["status","text"])):C("",!0),s.key==="actions"?(p(),L(x,{key:3,size:"small"},{default:t(()=>[a(v,{size:"small",type:"link",loading:u.running,onClick:N=>H(u)},{default:t(()=>[b(i(n(e)("cron.actions.run")),1)]),_:1},8,["loading","onClick"]),a(v,{size:"small",type:"link",onClick:N=>j(u)},{default:t(()=>[b(i(u.enabled?n(e)("cron.actions.pause"):n(e)("cron.actions.enable")),1)]),_:2},1032,["onClick"]),a(Y,{title:n(e)("cron.actions.deleteConfirm"),onConfirm:N=>D(u)},{default:t(()=>[a(v,{size:"small",type:"link",danger:""},{default:t(()=>[b(i(n(e)("cron.actions.delete")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):C("",!0)]),emptyText:t(()=>[f("div",_e,[a(n(oe),{style:{"font-size":"36px","margin-bottom":"12px",display:"block"}}),b(" "+i(n(e)("cron.emptyText")),1)])]),_:1},8,["columns","data-source"]))]),_:1}),a(ee,{open:h.value,"onUpdate:open":o[6]||(o[6]=s=>h.value=s),title:n(e)("cron.modal.title"),"confirm-loading":O.value,onOk:A,width:"520px"},{default:t(()=>[a(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(w,{label:n(e)("cron.modal.nameLabel"),required:""},{default:t(()=>[a(S,{value:r.value.name,"onUpdate:value":o[1]||(o[1]=s=>r.value.name=s),placeholder:n(e)("cron.modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.cronLabel"),required:""},{default:t(()=>[a(S,{value:r.value.cron,"onUpdate:value":o[2]||(o[2]=s=>r.value.cron=s),placeholder:n(e)("cron.modal.cronPlaceholder")},null,8,["value","placeholder"]),f("div",ye,i(n(e)("cron.modal.cronHint")),1)]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.payloadLabel"),required:""},{default:t(()=>[a(J,{value:r.value.payload,"onUpdate:value":o[3]||(o[3]=s=>r.value.payload=s),rows:3,placeholder:n(e)("cron.modal.payloadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.descriptionLabel")},{default:t(()=>[a(S,{value:r.value.description,"onUpdate:value":o[4]||(o[4]=s=>r.value.description=s),placeholder:n(e)("cron.modal.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(w,{label:n(e)("cron.modal.enabledLabel")},{default:t(()=>[a(X,{checked:r.value.enabled,"onUpdate:checked":o[5]||(o[5]=s=>r.value.enabled=s)},null,8,["checked"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}};export{he as default};
@@ -1 +1 @@
1
- import{_ as Ie,u as Re,b as He,d as k}from"./index-B2f4ltyM.js";import{s as qe}from"./community-parser-CO25nZFt.js";import{R as Ve,al as De,Q as ie,aP as ue,aQ as de,aR as Ee,ar as Je,ax as Ke,aG as ce}from"./icons-zXb7lDZs.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 Ge(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 We(a){const r=B(a);return Array.isArray(r)?r.map(Ge).filter(Boolean):[]}function Xe(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(Xe).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:{}}}),R=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 H(){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=We(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(),R.value="bridges",await H()}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(),R.value="swaps",await H()}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(),R.value="messages",await H()}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(H),(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"),G=g("a-input-number"),O=g("a-input"),W=g("a-form"),X=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:H},{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:R.value,"onUpdate:activeKey":n[1]||(n[1]=t=>R.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(X,{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(W,{"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(G,{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(X,{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(W,{"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(G,{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(G,{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(X,{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(W,{"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(X,{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(W,{"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(G,{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"])])}}},It=Ie(Ot,[["__scopeId","data-v-21e0fb7f"]]);export{It as default};
1
+ import{_ as Ie,u as He,b as Re,d as k}from"./index-BPtmPFwc.js";import{s as qe}from"./community-parser-CO25nZFt.js";import{R as Ve,ap as De,V as ie,aS as ue,aT as de,aU as Ee,ay as Je,aD as Ke,aK as ce}from"./icons-B2G69bhT.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 y,r as C,L as u,O as h,u as v,F as $,Y as U,f as pe,a as G}from"./vendor-Ci2pTZ_t.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 S(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:S(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 Ye(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:S(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:S(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 Ge(a){const r=B(a);return Array.isArray(r)?r.map(Ye).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:S(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:S(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=S(l.bridges.total,0),r.bridges.totalVolume=S(l.bridges.totalVolume??l.bridges.total_volume,0),r.bridges.totalFees=S(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=S(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=S(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:S(r.fee,0),breakdown:{sourceFee:S(r?.breakdown?.sourceFee??r?.breakdown?.source_fee,0),destFee:S(r?.breakdown?.destFee??r?.breakdown?.dest_fee,0),bridgeFee:S(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"}},yt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},gt={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)"}},St={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},At={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=He(),{t:l}=Re(),P=C(!1),Z=C(!1),ee=C(!1),te=C(!1),ae=C(!1),A=C([]),fe=C([]),he=C([]),ye=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=G({fromChain:"",toChain:"",amount:null,asset:"",sender:"",recipient:""}),d=G({fromChain:"",toChain:"",amount:null,fromAsset:"",toAsset:"",counterparty:"",timeoutMs:null}),g=G({fromChain:"",toChain:"",payload:"",contract:""}),w=G({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 Se(e){return $e[e]||"default"}function L(e){const n=A.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 Ae(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:""}))]);A.value=Xe(e.output),fe.value=Ge(n.output),he.value=et(F.output),ye.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,ge(),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(g)){te.value=!0;try{const e=[`crosschain send ${g.fromChain} ${g.toChain}`];g.payload.trim()&&e.push(`--payload "${g.payload.trim().replace(/"/g,'\\"')}"`),g.contract.trim()&&e.push(`--contract "${g.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 ge(){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(){g.fromChain="",g.toChain="",g.payload="",g.contract=""}return Qe(R),(e,n)=>{const F=y("a-button"),q=y("a-menu-item"),le=y("a-menu"),Pe=y("a-dropdown"),_e=y("a-space"),N=y("a-statistic"),M=y("a-card"),V=y("a-col"),Le=y("a-row"),D=y("a-tag"),ne=y("a-table"),re=y("a-tab-pane"),Ne=y("a-tabs"),T=y("a-select-option"),j=y("a-select"),b=y("a-form-item"),W=y("a-input-number"),O=y("a-input"),X=y("a-form"),Y=y("a-modal"),Be=y("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:A.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}),A.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(A.value,t=>(u(),x(D,{key:t.id,color:Se(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:Ae(p.status)},{default:o(()=>[h(i(oe(p.status)),1)]),_:2},1032,["color"])):_("",!0),t.key==="createdAt"?(u(),m("span",yt,i(v(me)(p.createdAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",gt,[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",St,i(v(me)(p.expiresAt)),1)):_("",!0)]),emptyText:o(()=>[f("div",At,[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":ye.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(Y,{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:ge},{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(A.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(A.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(Y,{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(A.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(A.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(Y,{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:g.fromChain,"onUpdate:value":n[17]||(n[17]=t=>g.fromChain=t),placeholder:e.$t("crosschain.message_modal.fromChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(A.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:g.toChain,"onUpdate:value":n[18]||(n[18]=t=>g.toChain=t),placeholder:e.$t("crosschain.message_modal.toChainPlaceholder")},{default:o(()=>[(u(!0),m($,null,U(A.value,t=>(u(),x(T,{key:t.id,value:t.id,disabled:t.id===g.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:g.payload,"onUpdate:value":n[19]||(n[19]=t=>g.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:g.contract,"onUpdate:value":n[20]||(n[20]=t=>g.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(Y,{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(A.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(A.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"])])}}},It=Ie(Ot,[["__scopeId","data-v-21e0fb7f"]]);export{It as default};
@@ -1,2 +1,2 @@
1
- import{_ as se,u as ie,b as Se,d as D}from"./index-B2f4ltyM.js";import{p as Ce}from"./mtc-parser-pGMSt10g.js";import{x as de,f as ze,d as Ne,R as Ae,al as Oe,z as Ie,K as Me,k as je}from"./icons-zXb7lDZs.js";import{r as u,w as Fe,L as c,Q as h,N as t,c as a,O as g,u as A,Y as Te,P as r,R as w,S as v,Z as Pe,f as Z,K as i,o as Le,M as F}from"./vendor-B6ToihkA.js";import"./community-parser-CO25nZFt.js";function te(s){if(!s)return null;const n=s.trim();try{return JSON.parse(n)}catch{const o=n.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function ee(s,n=0){if(!s||typeof s!="object")return null;const o=s.did||s.id||"";if(!o)return null;const f=s.displayName??s.display_name??s.name??"",x=s.isDefault===!0||s.is_default===1||s.is_default===!0||s.default===!0,_=s.publicKey??s.public_key??"",d=s.createdAt??s.created_at??s.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:f||"",publicKey:_||"",isDefault:!!x,createdAt:d||"",method:y,raw:s.document?s:null,_idx:n}}function Ke(s){const n=te(s);return Array.isArray(n)?n.map(ee).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(ee).filter(Boolean):Je(s||"")}function Je(s){const n=(s||"").split(`
2
- `),o=[];let f=null;for(const x of n){const _=x.trim();if(!_||_.startsWith("─")||_.startsWith("="))continue;const d=_.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(d&&/^did:/.test(_)){f&&o.push(f);const y=d[1],O=_.match(/\(([^)]+)\)/),T=/\[default\]|默认|\*/.test(_);f={key:y,did:y,displayName:O?O[1]:"",publicKey:"",isDefault:T,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(f){const y=_.match(/created\s*[::]\s*(.+)$/i);y&&(f.createdAt=y[1].trim())}}return f&&o.push(f),o}function Ue(s){const n=te(s);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=ee(n);return o?(o.document=n.document||null,o):null}function Ve(s){const n=te(s);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const f=(s||"").match(/Signature[::]\s*([a-f0-9]+)/i);return f?{did:"",message:"",signature:f[1]}:null}const Be={style:{"margin-left":"8px"}},He={class:"mono"},Re={class:"mono"},Ee={class:"mono"},We={class:"raw-pre"},Ze={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(s){const n=s,o=ie(),f=u(n.defaultEnvelopePath),x=u(n.defaultLandmarkPath),_=u(!1),d=u(null),y=u(""),O=Z(()=>n.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");Fe(()=>n.open,b=>{b&&(f.value=n.defaultEnvelopePath||f.value,x.value=n.defaultLandmarkPath||x.value,d.value=null,y.value="")});async function T(){_.value=!0,d.value=null,y.value="";try{const b=f.value.trim().replace(/"/g,'\\"'),k=x.value.trim().replace(/"/g,'\\"'),{output:I}=await o.execute(`mtc verify "${b}" --landmark "${k}" --json`,12e3),z=Ce(I);if(!z.raw){y.value="验证命令未返回 JSON。请检查路径是否正确。";return}d.value=z}catch(b){y.value=`验证失败: ${b?.message||b}`}finally{_.value=!1}}return(b,k)=>{const I=i("a-alert"),z=i("a-input"),M=i("a-form-item"),$=i("a-button"),P=i("a-form"),U=i("a-divider"),N=i("a-tag"),C=i("a-descriptions-item"),q=i("a-descriptions"),V=i("a-collapse-panel"),Q=i("a-collapse"),L=i("a-card"),Y=i("a-drawer");return c(),h(Y,{open:s.open,title:s.title,width:560,placement:"right","onUpdate:open":k[2]||(k[2]=K=>b.$emit("update:open",K))},{default:t(()=>[a(I,{type:"info","show-icon":"",message:O.value,style:{"margin-bottom":"16px"}},null,8,["message"]),a(P,{layout:"vertical"},{default:t(()=>[a(M,{label:"Envelope 文件路径"},{default:t(()=>[a(z,{value:f.value,"onUpdate:value":k[0]||(k[0]=K=>f.value=K),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,{label:"Landmark 文件路径"},{default:t(()=>[a(z,{value:x.value,"onUpdate:value":k[1]||(k[1]=K=>x.value=K),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,null,{default:t(()=>[a($,{type:"primary",loading:_.value,disabled:!f.value||!x.value,onClick:T},{icon:t(()=>[a(A(de))]),default:t(()=>[k[3]||(k[3]=g(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),a(U),d.value?(c(),h(L,{key:0,class:Te(["result-card",d.value.ok?"pass":"fail"]),size:"small"},{title:t(()=>[(c(),h(Pe(d.value.ok?A(ze):A(Ne)))),w("span",Be,r(d.value.ok?"验证通过":"验证失败"),1)]),default:t(()=>[a(q,{column:1,size:"small",bordered:""},{default:t(()=>[a(C,{label:"结果"},{default:t(()=>[a(N,{color:d.value.ok?"green":"red"},{default:t(()=>[g(r(d.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!d.value.ok&&d.value.code?(c(),h(C,{key:0,label:"错误码"},{default:t(()=>[w("span",He,r(d.value.code),1),d.value.recoverable?(c(),h(N,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:t(()=>[...k[4]||(k[4]=[g("可恢复",-1)])]),_:1})):v("",!0)]),_:1})):v("",!0),d.value.leaf?.subject?(c(),h(C,{key:1,label:"Subject"},{default:t(()=>[w("span",Re,r(d.value.leaf.subject),1)]),_:1})):v("",!0),d.value.leaf?.kind?(c(),h(C,{key:2,label:"Kind"},{default:t(()=>[a(N,null,{default:t(()=>[g(r(d.value.leaf.kind),1)]),_:1})]),_:1})):v("",!0),d.value.treeHead?.tree_size?(c(),h(C,{key:3,label:"Tree size"},{default:t(()=>[g(r(d.value.treeHead.tree_size),1)]),_:1})):v("",!0),d.value.treeHead?.issuer?(c(),h(C,{key:4,label:"Issuer"},{default:t(()=>[w("span",Ee,r(d.value.treeHead.issuer),1)]),_:1})):v("",!0)]),_:1}),d.value.raw?(c(),h(Q,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:t(()=>[a(V,{key:"raw",header:"原始 JSON 输出"},{default:t(()=>[w("pre",We,r(JSON.stringify(d.value.raw,null,2)),1)]),_:1})]),_:1})):v("",!0)]),_:1},8,["class"])):v("",!0),y.value?(c(),h(I,{key:1,type:"error",message:y.value,style:{"margin-top":"12px"}},null,8,["message"])):v("",!0)]),_:1},8,["open","title"])}}},qe=se(Ze,[["__scopeId","data-v-ee4997fa"]]),Qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ye={class:"page-title"},Ge={class:"page-sub"},Xe={key:1,style:{"text-align":"center",padding:"60px"}},et={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-primary)"}},at={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},lt={key:0,style:{"margin-top":"12px"}},ot={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},nt={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},st={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},it={key:0,style:{"margin-top":"16px"}},dt={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},rt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},ut={key:0,style:{"margin-top":"12px"}},ct={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},pt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}},mt={__name:"DID",setup(s){const n=ie(),{t:o}=Se(),f=u(!1),x=u(!1),_=u(!1),d=u(!1),y=u(""),O=u(""),T=u(!1),b=u([]),k=u(!1),I=u(!1),z=u(!1),M=u(""),$=u(null),P=u(""),U=u(""),N=u(""),C=u(null),q=Z(()=>[{title:o("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:o("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:o("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:o("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:o("did.cols.default"),key:"isDefault",width:"90px"},{title:o("did.cols.action"),key:"action",width:"280px"}]),V=Z(()=>{const e=b.value.find(p=>p.isDefault);if(!e)return o("did.stats.unsetDefault");const l=e.did;return l.length>24?l.slice(0,12)+"..."+l.slice(-8):l}),Q=Z(()=>{const e=new Set(b.value.map(l=>l.method).filter(Boolean));return e.size===0?o("did.stats.noMethod"):e.size===1?[...e][0]:[...e].join(", ")});async function L(){x.value=!0;try{const{output:e}=await n.execute("did list --json",15e3);b.value=Ke(e)}catch(e){D.error(o("did.msg.loadFailed")+": "+e.message),b.value=[]}finally{x.value=!1}}async function Y(){_.value=!0;try{const e=M.value.trim(),l=e?`did create --name "${e.replace(/"/g,'\\"')}" --json`:"did create --json",{output:p}=await n.execute(l,2e4);/error|失败/i.test(p)&&!p.includes('"did"')?D.error(o("did.msg.createFailed")+": "+p.slice(0,120)):(D.success(o("did.msg.createSuccess")),k.value=!1,M.value="",await L())}catch(e){D.error(o("did.msg.createFailed")+": "+e.message)}finally{_.value=!1}}async function K(e){y.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did set-default ${e.did}`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.setDefaultFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.setDefaultSuccess")),await L())}catch(l){D.error(o("did.msg.setDefaultFailed")+": "+l.message)}finally{y.value=""}}async function re(e){O.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did delete ${e.did} --force`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.deleteFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.deleteSuccess")),await L())}catch(l){D.error(o("did.msg.deleteFailed")+": "+l.message)}finally{O.value=""}}async function ue(e){if($.value={...e},P.value="",I.value=!0,!e.publicKey)try{const{output:l}=await n.execute(`did show ${e.did} --json`,1e4),p=Ue(l);p&&($.value={...$.value,...p})}catch{}}async function ce(e){T.value=!0;try{const{output:l}=await n.execute(`did resolve ${e.did}`,1e4);try{P.value=JSON.stringify(JSON.parse(l.trim()),null,2)}catch{P.value=l.trim()}}catch(l){D.error(o("did.msg.loadDocFailed")+": "+l.message)}finally{T.value=!1}}function pe(e){U.value=e.did,N.value="",C.value=null,z.value=!0}const G=u(!1),ae=u("MTC 包含证明"),le=u("");function me(e){return e?e.length<=24?e:`${e.slice(0,16)}…${e.slice(-6)}`:""}function fe(e){ae.value=`MTC 包含证明 · ${me(e.did)}`,le.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",G.value=!0}async function ve(){if(!N.value.trim()){D.warning(o("did.msg.signEmpty"));return}d.value=!0,C.value=null;try{const l=`did sign "${N.value.replace(/"/g,'\\"')}" --did ${U.value} --json`,{output:p,exitCode:B}=await n.execute(l,15e3),j=Ve(p);j&&j.signature?(C.value=j,D.success(o("did.msg.signSuccess"))):D.error(o("did.msg.signFailed")+": "+(p||`exit ${B}`).slice(0,120))}catch(e){D.error(o("did.msg.signFailed")+": "+e.message)}finally{d.value=!1}}return Le(()=>{L()}),(e,l)=>{const p=i("a-button"),B=i("a-space"),j=i("a-statistic"),H=i("a-card"),R=i("a-col"),ye=i("a-row"),_e=i("a-alert"),ge=i("a-spin"),E=i("a-tag"),be=i("a-tooltip"),ke=i("a-popconfirm"),he=i("a-empty"),$e=i("a-table"),we=i("a-input"),oe=i("a-form-item"),ne=i("a-form"),X=i("a-modal"),J=i("a-descriptions-item"),xe=i("a-descriptions"),De=i("a-textarea");return c(),F("div",null,[w("div",Qe,[w("div",null,[w("h2",Ye,r(e.$t("did.title")),1),w("p",Ge,r(e.$t("did.subtitle")),1)]),a(B,null,{default:t(()=>[a(p,{loading:x.value,onClick:L},{icon:t(()=>[a(A(Ae))]),default:t(()=>[g(" "+r(e.$t("did.refresh")),1)]),_:1},8,["loading"]),a(p,{type:"primary",onClick:l[0]||(l[0]=m=>k.value=!0)},{icon:t(()=>[a(A(Oe))]),default:t(()=>[g(" "+r(e.$t("did.create")),1)]),_:1})]),_:1})]),a(ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.count"),value:b.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(A(Ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.default"),value:V.value,"value-style":{color:V.value!==e.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.method"),value:Q.value,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.signable"),value:b.value.length>0?e.$t("did.stats.yes"):e.$t("did.stats.no"),"value-style":{color:b.value.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:t(()=>[a(A(Me))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),f.value?v("",!0):(c(),h(_e,{key:0,message:e.$t("did.webOnly.message"),description:e.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),x.value?(c(),F("div",Xe,[a(ge,{size:"large"})])):(c(),h($e,{key:2,columns:q.value,"data-source":b.value,pagination:{pageSize:20,showTotal:m=>e.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:t(({column:m,record:S})=>[m.key==="did"?(c(),F("span",et,r(S.did),1)):v("",!0),m.key==="displayName"?(c(),F("span",tt,r(S.displayName||"-"),1)):v("",!0),m.key==="method"?(c(),h(E,{key:2,color:"blue"},{default:t(()=>[g(r(S.method),1)]),_:2},1024)):v("",!0),m.key==="createdAt"?(c(),F("span",at,r(S.createdAt||"-"),1)):v("",!0),m.key==="isDefault"?(c(),h(E,{key:4,color:S.isDefault?"green":"default"},{default:t(()=>[g(r(S.isDefault?e.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):v("",!0),m.key==="action"?(c(),h(B,{key:5,size:"small"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>ue(S)},{default:t(()=>[g(r(e.$t("did.actions.details")),1)]),_:1},8,["onClick"]),a(p,{size:"small",type:"link",onClick:W=>pe(S)},{default:t(()=>[g(r(e.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),a(be,{title:"MTC 包含证明"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>fe(S)},{default:t(()=>[a(A(de))]),_:1},8,["onClick"])]),_:2},1024),S.isDefault?v("",!0):(c(),h(p,{key:0,size:"small",type:"link",loading:y.value===S.did,onClick:W=>K(S)},{default:t(()=>[g(r(e.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),a(ke,{title:e.$t("did.deleteConfirm.title"),"ok-text":e.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("did.deleteConfirm.cancel"),onConfirm:W=>re(S)},{default:t(()=>[a(p,{size:"small",type:"link",danger:"",loading:O.value===S.did},{default:t(()=>[g(r(e.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):v("",!0)]),emptyText:t(()=>[a(he,{description:e.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(X,{open:k.value,"onUpdate:open":l[2]||(l[2]=m=>k.value=m),title:e.$t("did.create_modal.title"),"confirm-loading":_.value,onOk:Y,"ok-text":e.$t("did.create_modal.ok"),"cancel-text":e.$t("did.create_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.create_modal.nameLabel")},{default:t(()=>[a(we,{value:M.value,"onUpdate:value":l[1]||(l[1]=m=>M.value=m),placeholder:e.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(X,{open:I.value,"onUpdate:open":l[4]||(l[4]=m=>I.value=m),title:e.$t("did.details.title",{label:$.value?.displayName||$.value?.did?.slice(0,24)||""}),width:720,footer:null},{default:t(()=>[$.value?(c(),F("div",lt,[a(xe,{column:1,bordered:"",size:"small"},{default:t(()=>[a(J,{label:e.$t("did.details.did")},{default:t(()=>[w("span",ot,r($.value.did),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.name")},{default:t(()=>[g(r($.value.displayName||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.method")},{default:t(()=>[a(E,{color:"blue"},{default:t(()=>[g(r($.value.method),1)]),_:1})]),_:1},8,["label"]),a(J,{label:e.$t("did.details.default")},{default:t(()=>[a(E,{color:$.value.isDefault?"green":"default"},{default:t(()=>[g(r($.value.isDefault?e.$t("did.details.yes"):e.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("did.details.createdAt")},{default:t(()=>[g(r($.value.createdAt||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.publicKey")},{default:t(()=>[w("span",nt,r($.value.publicKey||e.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",st,[a(p,{loading:T.value,onClick:l[3]||(l[3]=m=>ce($.value))},{icon:t(()=>[a(A(je))]),default:t(()=>[g(" "+r(e.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),P.value?(c(),F("div",it,[w("p",dt,r(e.$t("did.details.docHeader")),1),w("pre",rt,r(P.value),1)])):v("",!0)])):v("",!0)]),_:1},8,["open","title"]),a(X,{open:z.value,"onUpdate:open":l[6]||(l[6]=m=>z.value=m),title:e.$t("did.sign_modal.title",{label:U.value?.slice(0,28)||e.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":d.value,onOk:ve,"ok-text":e.$t("did.sign_modal.ok"),"cancel-text":e.$t("did.sign_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.sign_modal.messageLabel"),required:""},{default:t(()=>[a(De,{value:N.value,"onUpdate:value":l[5]||(l[5]=m=>N.value=m),placeholder:e.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),C.value?(c(),F("div",ut,[w("p",ct,r(e.$t("did.sign_modal.resultHeader")),1),w("pre",pt,r(C.value.signature),1)])):v("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(qe,{open:G.value,"onUpdate:open":l[7]||(l[7]=m=>G.value=m),title:ae.value,hint:le.value},null,8,["open","title","hint"])])}}},bt=se(mt,[["__scopeId","data-v-b17b31f4"]]);export{bt as default};
1
+ import{_ as se,u as ie,b as Se,d as D}from"./index-BPtmPFwc.js";import{p as Ce}from"./mtc-parser-Cc3pB9Xm.js";import{z as de,f as ze,d as Ne,R as Ae,ap as Oe,J as Ie,K as Me,k as je}from"./icons-B2G69bhT.js";import{r as u,w as Fe,L as c,Q as h,N as t,c as a,O as g,u as A,Z as Te,P as r,R as w,S as v,_ as Pe,f as Z,K as i,o as Le,M as F}from"./vendor-Ci2pTZ_t.js";import"./community-parser-CO25nZFt.js";function te(s){if(!s)return null;const n=s.trim();try{return JSON.parse(n)}catch{const o=n.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function ee(s,n=0){if(!s||typeof s!="object")return null;const o=s.did||s.id||"";if(!o)return null;const f=s.displayName??s.display_name??s.name??"",x=s.isDefault===!0||s.is_default===1||s.is_default===!0||s.default===!0,_=s.publicKey??s.public_key??"",d=s.createdAt??s.created_at??s.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:f||"",publicKey:_||"",isDefault:!!x,createdAt:d||"",method:y,raw:s.document?s:null,_idx:n}}function Ke(s){const n=te(s);return Array.isArray(n)?n.map(ee).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(ee).filter(Boolean):Je(s||"")}function Je(s){const n=(s||"").split(`
2
+ `),o=[];let f=null;for(const x of n){const _=x.trim();if(!_||_.startsWith("─")||_.startsWith("="))continue;const d=_.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(d&&/^did:/.test(_)){f&&o.push(f);const y=d[1],O=_.match(/\(([^)]+)\)/),T=/\[default\]|默认|\*/.test(_);f={key:y,did:y,displayName:O?O[1]:"",publicKey:"",isDefault:T,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(f){const y=_.match(/created\s*[::]\s*(.+)$/i);y&&(f.createdAt=y[1].trim())}}return f&&o.push(f),o}function Ue(s){const n=te(s);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=ee(n);return o?(o.document=n.document||null,o):null}function Ve(s){const n=te(s);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const f=(s||"").match(/Signature[::]\s*([a-f0-9]+)/i);return f?{did:"",message:"",signature:f[1]}:null}const Be={style:{"margin-left":"8px"}},He={class:"mono"},Re={class:"mono"},Ee={class:"mono"},We={class:"raw-pre"},Ze={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(s){const n=s,o=ie(),f=u(n.defaultEnvelopePath),x=u(n.defaultLandmarkPath),_=u(!1),d=u(null),y=u(""),O=Z(()=>n.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");Fe(()=>n.open,b=>{b&&(f.value=n.defaultEnvelopePath||f.value,x.value=n.defaultLandmarkPath||x.value,d.value=null,y.value="")});async function T(){_.value=!0,d.value=null,y.value="";try{const b=f.value.trim().replace(/"/g,'\\"'),k=x.value.trim().replace(/"/g,'\\"'),{output:I}=await o.execute(`mtc verify "${b}" --landmark "${k}" --json`,12e3),z=Ce(I);if(!z.raw){y.value="验证命令未返回 JSON。请检查路径是否正确。";return}d.value=z}catch(b){y.value=`验证失败: ${b?.message||b}`}finally{_.value=!1}}return(b,k)=>{const I=i("a-alert"),z=i("a-input"),M=i("a-form-item"),$=i("a-button"),P=i("a-form"),U=i("a-divider"),N=i("a-tag"),C=i("a-descriptions-item"),q=i("a-descriptions"),V=i("a-collapse-panel"),Q=i("a-collapse"),L=i("a-card"),G=i("a-drawer");return c(),h(G,{open:s.open,title:s.title,width:560,placement:"right","onUpdate:open":k[2]||(k[2]=K=>b.$emit("update:open",K))},{default:t(()=>[a(I,{type:"info","show-icon":"",message:O.value,style:{"margin-bottom":"16px"}},null,8,["message"]),a(P,{layout:"vertical"},{default:t(()=>[a(M,{label:"Envelope 文件路径"},{default:t(()=>[a(z,{value:f.value,"onUpdate:value":k[0]||(k[0]=K=>f.value=K),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,{label:"Landmark 文件路径"},{default:t(()=>[a(z,{value:x.value,"onUpdate:value":k[1]||(k[1]=K=>x.value=K),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),a(M,null,{default:t(()=>[a($,{type:"primary",loading:_.value,disabled:!f.value||!x.value,onClick:T},{icon:t(()=>[a(A(de))]),default:t(()=>[k[3]||(k[3]=g(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),a(U),d.value?(c(),h(L,{key:0,class:Te(["result-card",d.value.ok?"pass":"fail"]),size:"small"},{title:t(()=>[(c(),h(Pe(d.value.ok?A(ze):A(Ne)))),w("span",Be,r(d.value.ok?"验证通过":"验证失败"),1)]),default:t(()=>[a(q,{column:1,size:"small",bordered:""},{default:t(()=>[a(C,{label:"结果"},{default:t(()=>[a(N,{color:d.value.ok?"green":"red"},{default:t(()=>[g(r(d.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!d.value.ok&&d.value.code?(c(),h(C,{key:0,label:"错误码"},{default:t(()=>[w("span",He,r(d.value.code),1),d.value.recoverable?(c(),h(N,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:t(()=>[...k[4]||(k[4]=[g("可恢复",-1)])]),_:1})):v("",!0)]),_:1})):v("",!0),d.value.leaf?.subject?(c(),h(C,{key:1,label:"Subject"},{default:t(()=>[w("span",Re,r(d.value.leaf.subject),1)]),_:1})):v("",!0),d.value.leaf?.kind?(c(),h(C,{key:2,label:"Kind"},{default:t(()=>[a(N,null,{default:t(()=>[g(r(d.value.leaf.kind),1)]),_:1})]),_:1})):v("",!0),d.value.treeHead?.tree_size?(c(),h(C,{key:3,label:"Tree size"},{default:t(()=>[g(r(d.value.treeHead.tree_size),1)]),_:1})):v("",!0),d.value.treeHead?.issuer?(c(),h(C,{key:4,label:"Issuer"},{default:t(()=>[w("span",Ee,r(d.value.treeHead.issuer),1)]),_:1})):v("",!0)]),_:1}),d.value.raw?(c(),h(Q,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:t(()=>[a(V,{key:"raw",header:"原始 JSON 输出"},{default:t(()=>[w("pre",We,r(JSON.stringify(d.value.raw,null,2)),1)]),_:1})]),_:1})):v("",!0)]),_:1},8,["class"])):v("",!0),y.value?(c(),h(I,{key:1,type:"error",message:y.value,style:{"margin-top":"12px"}},null,8,["message"])):v("",!0)]),_:1},8,["open","title"])}}},qe=se(Ze,[["__scopeId","data-v-ee4997fa"]]),Qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ge={class:"page-title"},Xe={class:"page-sub"},Ye={key:1,style:{"text-align":"center",padding:"60px"}},et={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-primary)"}},at={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},lt={key:0,style:{"margin-top":"12px"}},ot={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},nt={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},st={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},it={key:0,style:{"margin-top":"16px"}},dt={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},rt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},ut={key:0,style:{"margin-top":"12px"}},ct={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},pt={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}},mt={__name:"DID",setup(s){const n=ie(),{t:o}=Se(),f=u(!1),x=u(!1),_=u(!1),d=u(!1),y=u(""),O=u(""),T=u(!1),b=u([]),k=u(!1),I=u(!1),z=u(!1),M=u(""),$=u(null),P=u(""),U=u(""),N=u(""),C=u(null),q=Z(()=>[{title:o("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:o("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:o("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:o("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:o("did.cols.default"),key:"isDefault",width:"90px"},{title:o("did.cols.action"),key:"action",width:"280px"}]),V=Z(()=>{const e=b.value.find(p=>p.isDefault);if(!e)return o("did.stats.unsetDefault");const l=e.did;return l.length>24?l.slice(0,12)+"..."+l.slice(-8):l}),Q=Z(()=>{const e=new Set(b.value.map(l=>l.method).filter(Boolean));return e.size===0?o("did.stats.noMethod"):e.size===1?[...e][0]:[...e].join(", ")});async function L(){x.value=!0;try{const{output:e}=await n.execute("did list --json",15e3);b.value=Ke(e)}catch(e){D.error(o("did.msg.loadFailed")+": "+e.message),b.value=[]}finally{x.value=!1}}async function G(){_.value=!0;try{const e=M.value.trim(),l=e?`did create --name "${e.replace(/"/g,'\\"')}" --json`:"did create --json",{output:p}=await n.execute(l,2e4);/error|失败/i.test(p)&&!p.includes('"did"')?D.error(o("did.msg.createFailed")+": "+p.slice(0,120)):(D.success(o("did.msg.createSuccess")),k.value=!1,M.value="",await L())}catch(e){D.error(o("did.msg.createFailed")+": "+e.message)}finally{_.value=!1}}async function K(e){y.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did set-default ${e.did}`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.setDefaultFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.setDefaultSuccess")),await L())}catch(l){D.error(o("did.msg.setDefaultFailed")+": "+l.message)}finally{y.value=""}}async function re(e){O.value=e.did;try{const{output:l,exitCode:p}=await n.execute(`did delete ${e.did} --force`,15e3);p!==0||/error|not found|失败/i.test(l)?D.error(o("did.msg.deleteFailed")+": "+l.slice(0,120)):(D.success(o("did.msg.deleteSuccess")),await L())}catch(l){D.error(o("did.msg.deleteFailed")+": "+l.message)}finally{O.value=""}}async function ue(e){if($.value={...e},P.value="",I.value=!0,!e.publicKey)try{const{output:l}=await n.execute(`did show ${e.did} --json`,1e4),p=Ue(l);p&&($.value={...$.value,...p})}catch{}}async function ce(e){T.value=!0;try{const{output:l}=await n.execute(`did resolve ${e.did}`,1e4);try{P.value=JSON.stringify(JSON.parse(l.trim()),null,2)}catch{P.value=l.trim()}}catch(l){D.error(o("did.msg.loadDocFailed")+": "+l.message)}finally{T.value=!1}}function pe(e){U.value=e.did,N.value="",C.value=null,z.value=!0}const X=u(!1),ae=u("MTC 包含证明"),le=u("");function me(e){return e?e.length<=24?e:`${e.slice(0,16)}…${e.slice(-6)}`:""}function fe(e){ae.value=`MTC 包含证明 · ${me(e.did)}`,le.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",X.value=!0}async function ve(){if(!N.value.trim()){D.warning(o("did.msg.signEmpty"));return}d.value=!0,C.value=null;try{const l=`did sign "${N.value.replace(/"/g,'\\"')}" --did ${U.value} --json`,{output:p,exitCode:B}=await n.execute(l,15e3),j=Ve(p);j&&j.signature?(C.value=j,D.success(o("did.msg.signSuccess"))):D.error(o("did.msg.signFailed")+": "+(p||`exit ${B}`).slice(0,120))}catch(e){D.error(o("did.msg.signFailed")+": "+e.message)}finally{d.value=!1}}return Le(()=>{L()}),(e,l)=>{const p=i("a-button"),B=i("a-space"),j=i("a-statistic"),H=i("a-card"),R=i("a-col"),ye=i("a-row"),_e=i("a-alert"),ge=i("a-spin"),E=i("a-tag"),be=i("a-tooltip"),ke=i("a-popconfirm"),he=i("a-empty"),$e=i("a-table"),we=i("a-input"),oe=i("a-form-item"),ne=i("a-form"),Y=i("a-modal"),J=i("a-descriptions-item"),xe=i("a-descriptions"),De=i("a-textarea");return c(),F("div",null,[w("div",Qe,[w("div",null,[w("h2",Ge,r(e.$t("did.title")),1),w("p",Xe,r(e.$t("did.subtitle")),1)]),a(B,null,{default:t(()=>[a(p,{loading:x.value,onClick:L},{icon:t(()=>[a(A(Ae))]),default:t(()=>[g(" "+r(e.$t("did.refresh")),1)]),_:1},8,["loading"]),a(p,{type:"primary",onClick:l[0]||(l[0]=m=>k.value=!0)},{icon:t(()=>[a(A(Oe))]),default:t(()=>[g(" "+r(e.$t("did.create")),1)]),_:1})]),_:1})]),a(ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.count"),value:b.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(A(Ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.default"),value:V.value,"value-style":{color:V.value!==e.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.method"),value:Q.value,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),a(R,{xs:24,sm:12,lg:6},{default:t(()=>[a(H,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(j,{title:e.$t("did.stats.signable"),value:b.value.length>0?e.$t("did.stats.yes"):e.$t("did.stats.no"),"value-style":{color:b.value.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:t(()=>[a(A(Me))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),f.value?v("",!0):(c(),h(_e,{key:0,message:e.$t("did.webOnly.message"),description:e.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),x.value?(c(),F("div",Ye,[a(ge,{size:"large"})])):(c(),h($e,{key:2,columns:q.value,"data-source":b.value,pagination:{pageSize:20,showTotal:m=>e.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:t(({column:m,record:S})=>[m.key==="did"?(c(),F("span",et,r(S.did),1)):v("",!0),m.key==="displayName"?(c(),F("span",tt,r(S.displayName||"-"),1)):v("",!0),m.key==="method"?(c(),h(E,{key:2,color:"blue"},{default:t(()=>[g(r(S.method),1)]),_:2},1024)):v("",!0),m.key==="createdAt"?(c(),F("span",at,r(S.createdAt||"-"),1)):v("",!0),m.key==="isDefault"?(c(),h(E,{key:4,color:S.isDefault?"green":"default"},{default:t(()=>[g(r(S.isDefault?e.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):v("",!0),m.key==="action"?(c(),h(B,{key:5,size:"small"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>ue(S)},{default:t(()=>[g(r(e.$t("did.actions.details")),1)]),_:1},8,["onClick"]),a(p,{size:"small",type:"link",onClick:W=>pe(S)},{default:t(()=>[g(r(e.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),a(be,{title:"MTC 包含证明"},{default:t(()=>[a(p,{size:"small",type:"link",onClick:W=>fe(S)},{default:t(()=>[a(A(de))]),_:1},8,["onClick"])]),_:2},1024),S.isDefault?v("",!0):(c(),h(p,{key:0,size:"small",type:"link",loading:y.value===S.did,onClick:W=>K(S)},{default:t(()=>[g(r(e.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),a(ke,{title:e.$t("did.deleteConfirm.title"),"ok-text":e.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("did.deleteConfirm.cancel"),onConfirm:W=>re(S)},{default:t(()=>[a(p,{size:"small",type:"link",danger:"",loading:O.value===S.did},{default:t(()=>[g(r(e.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):v("",!0)]),emptyText:t(()=>[a(he,{description:e.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(Y,{open:k.value,"onUpdate:open":l[2]||(l[2]=m=>k.value=m),title:e.$t("did.create_modal.title"),"confirm-loading":_.value,onOk:G,"ok-text":e.$t("did.create_modal.ok"),"cancel-text":e.$t("did.create_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.create_modal.nameLabel")},{default:t(()=>[a(we,{value:M.value,"onUpdate:value":l[1]||(l[1]=m=>M.value=m),placeholder:e.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:I.value,"onUpdate:open":l[4]||(l[4]=m=>I.value=m),title:e.$t("did.details.title",{label:$.value?.displayName||$.value?.did?.slice(0,24)||""}),width:720,footer:null},{default:t(()=>[$.value?(c(),F("div",lt,[a(xe,{column:1,bordered:"",size:"small"},{default:t(()=>[a(J,{label:e.$t("did.details.did")},{default:t(()=>[w("span",ot,r($.value.did),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.name")},{default:t(()=>[g(r($.value.displayName||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.method")},{default:t(()=>[a(E,{color:"blue"},{default:t(()=>[g(r($.value.method),1)]),_:1})]),_:1},8,["label"]),a(J,{label:e.$t("did.details.default")},{default:t(()=>[a(E,{color:$.value.isDefault?"green":"default"},{default:t(()=>[g(r($.value.isDefault?e.$t("did.details.yes"):e.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("did.details.createdAt")},{default:t(()=>[g(r($.value.createdAt||"-"),1)]),_:1},8,["label"]),a(J,{label:e.$t("did.details.publicKey")},{default:t(()=>[w("span",nt,r($.value.publicKey||e.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",st,[a(p,{loading:T.value,onClick:l[3]||(l[3]=m=>ce($.value))},{icon:t(()=>[a(A(je))]),default:t(()=>[g(" "+r(e.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),P.value?(c(),F("div",it,[w("p",dt,r(e.$t("did.details.docHeader")),1),w("pre",rt,r(P.value),1)])):v("",!0)])):v("",!0)]),_:1},8,["open","title"]),a(Y,{open:z.value,"onUpdate:open":l[6]||(l[6]=m=>z.value=m),title:e.$t("did.sign_modal.title",{label:U.value?.slice(0,28)||e.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":d.value,onOk:ve,"ok-text":e.$t("did.sign_modal.ok"),"cancel-text":e.$t("did.sign_modal.cancel")},{default:t(()=>[a(ne,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:t(()=>[a(oe,{label:e.$t("did.sign_modal.messageLabel"),required:""},{default:t(()=>[a(De,{value:N.value,"onUpdate:value":l[5]||(l[5]=m=>N.value=m),placeholder:e.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),C.value?(c(),F("div",ut,[w("p",ct,r(e.$t("did.sign_modal.resultHeader")),1),w("pre",pt,r(C.value.signature),1)])):v("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(qe,{open:X.value,"onUpdate:open":l[7]||(l[7]=m=>X.value=m),title:ae.value,hint:le.value},null,8,["open","title","hint"])])}}},bt=se(mt,[["__scopeId","data-v-b17b31f4"]]);export{bt as default};
@@ -0,0 +1,3 @@
1
+ import{E as ae,r as M,o as oe,x as le,M as p,R as o,P as a,u as d,c as t,N as s,Q as U,S as W,f as S,K as C,I as re,L as u,O as h,$ as K,F as A,Y as F}from"./vendor-Ci2pTZ_t.js";import{u as G,_ as ne}from"./index-BPtmPFwc.js";import{u as de}from"./chat-HZBXEHqE.js";import{s as ie}from"./community-parser-CO25nZFt.js";import{R as ue,F as ce,aa as Q,l as Y,M as X,a9 as ve,ab as me,k as Z,ac as pe,m as he}from"./icons-B2G69bhT.js";function fe(T){const R=ie(T);if(!R)return null;try{return JSON.parse(R)}catch{}const i=R.match(/\[[\s\S]*\]|\{[\s\S]*\}/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}function be(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const ye=ae("dashboard",()=>{const T=M(!1),R=M(!1),i=M({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),q=M(""),y=M(be()),v=M({windowPreset:"all",provider:"",model:""});let _=null;function B(r=G()){_||(_=r.onRuntimeEvent(m=>{m.type==="compression:summary"?P(m.payload?.summary||{}):m.type==="session:start"?i.value.sessionCount=(i.value.sessionCount||0)+1:m.type==="session:end"&&(i.value.sessionCount=Math.max(0,(i.value.sessionCount||0)-1))}))}function H(){_&&(_(),_=null)}function P(r){y.value={...y.value,...r||{}}}function V(r){return r==="1h"?3600*1e3:r==="24h"?1440*60*1e3:r==="7d"?10080*60*1e3:null}function j(r){i.value.appRunning=r.includes("Desktop app running"),i.value.setupDone=r.includes("Setup completed");const m=r.match(/Edition:\s+(\S+)/i);m&&(i.value.edition=m[1]);const $=r.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if($)i.value.activeLlm=$[1],i.value.activeModel=$[2];else{const b=r.match(/LLM:\s+(\S+)/i);b&&(i.value.activeLlm=b[1])}}async function f(){const r=G();B(r),R.value=!0;const m={type:"compression-stats",windowMs:V(v.value.windowPreset)};v.value.provider&&(m.provider=v.value.provider),v.value.model&&(m.model=v.value.model);try{const $=await r.sendRaw(m,1e4);P($.summary||{})}catch{}finally{R.value=!1}}async function g(){const r=G();B(r),T.value=!0,i.value.wsStatus=r.status,q.value="";try{const[m,$]=await Promise.allSettled([r.execute("status",15e3),r.listSessions()]);if(m.status==="fulfilled"){const b=m.value.output;q.value=b.split(`
2
+ `).slice(0,20).join(`
3
+ `),j(b)}$.status==="fulfilled"&&(i.value.sessionCount=$.value.length),Promise.allSettled([r.execute("skill sources --json",15e3),r.execute("llm providers",15e3)]).then(([b,L])=>{if(b.status==="fulfilled"){const w=fe(b.value.output);Array.isArray(w)&&(i.value.skillCount=w.reduce((N,e)=>N+(typeof e?.count=="number"?e.count:0),0))}if(L.status==="fulfilled"){const N=L.value.output.match(/active[:\s]+(\S+)/i);N&&!i.value.activeLlm&&(i.value.activeLlm=N[1])}}),r.sendRaw({type:"mcp.list_tools"},5e3).then(b=>{const w=(b?.result??b)?.servers;i.value.mcpCount=Array.isArray(w)?w.length:0}).catch(()=>{i.value.mcpCount=0}),await f()}catch{}finally{T.value=!1}}return{loading:T,compressionLoading:R,stats:i,statusLog:q,compression:y,telemetryFilters:v,ensureRuntimeSubscription:B,stopRuntimeSubscription:H,refresh:g,refreshCompression:f,applyCompressionSummary:P,toWindowMs:V}}),_e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ge={class:"page-title"},$e={class:"page-sub"},ke={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},we={style:{color:"#91caff","font-weight":"600"}},Ce={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},Se={class:"stat-header"},Re={class:"stat-label"},De={class:"stat-sub"},je={class:"stat-header"},ze={class:"stat-label"},Oe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Pe={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},Le={class:"stat-header"},Te={class:"stat-label"},Ne={class:"stat-value",style:{color:"#1677ff"}},Ee={class:"stat-sub"},Me={class:"stat-header"},Ae={class:"stat-label"},Fe={class:"stat-value",style:{color:"#c084fc"}},qe={class:"stat-sub"},Be={class:"stat-header"},He={class:"stat-label"},Ue={class:"stat-sub"},Ve={class:"stat-header"},Ge={class:"stat-label"},Ie={class:"stat-value",style:{color:"#13c2c2"}},Je={class:"stat-sub"},We={class:"stat-header"},Ke={class:"stat-label"},Qe={class:"stat-value",style:{color:"#faad14"}},Ye={class:"stat-sub"},Xe={class:"status-log"},Ze={class:"telemetry-filter"},xe={class:"telemetry-filter-label"},et={class:"telemetry-filter"},tt={class:"telemetry-filter-label"},st={class:"telemetry-filter"},at={class:"telemetry-filter-label"},ot={class:"telemetry-card"},lt={class:"telemetry-label"},rt={class:"telemetry-value"},nt={class:"telemetry-sub"},dt={class:"telemetry-card"},it={class:"telemetry-label"},ut={class:"telemetry-value"},ct={class:"telemetry-sub"},vt={class:"telemetry-card"},mt={class:"telemetry-label"},pt={class:"telemetry-value"},ht={class:"telemetry-sub"},ft={class:"telemetry-section"},bt={class:"telemetry-section-title"},yt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={class:"telemetry-section"},$t={class:"telemetry-section-title"},kt={key:0,class:"telemetry-empty"},wt={key:1,class:"telemetry-list"},Ct={class:"telemetry-section"},St={class:"telemetry-section-title"},Rt={key:0,class:"telemetry-empty"},Dt={key:1,class:"telemetry-list"},jt={class:"telemetry-section"},zt={class:"telemetry-section-title"},Ot={key:0,class:"telemetry-empty"},Pt={key:1,class:"telemetry-list"},Lt={style:{color:"#91caff"}},Tt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},Nt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)"}},Mt={__name:"Dashboard",setup(T){const R=re(),i=G(),q=de(),y=ye(),v=window.__CC_CONFIG__||{},_=S(()=>v.mode==="project"),B="v5.0.3.44",H=S(()=>i.status),P=S(()=>y.loading),V=S(()=>y.statusLog),j=S(()=>y.telemetryFilters),f=S(()=>y.compression),g=S(()=>y.stats),r=S(()=>Object.entries(f.value.variantDistribution||{})),m=S(()=>f.value.providerDistribution||[]),$=S(()=>f.value.modelDistribution||[]);async function b(){await y.refresh()}async function L(){await y.refreshCompression()}function w(e){return`${((e||0)*100).toFixed(1)}%`}async function N(){await q.createSession("agent"),R.push("/chat")}return oe(()=>{y.ensureRuntimeSubscription(i),setTimeout(b,300)}),le(()=>{y.stopRuntimeSubscription()}),(e,n)=>{const z=C("a-button"),I=C("a-tag"),k=C("a-card"),x=C("a-badge"),c=C("a-col"),D=C("a-row"),ee=C("a-space"),O=C("a-select-option"),J=C("a-select"),E=C("a-descriptions-item"),te=C("a-descriptions");return u(),p("div",null,[o("div",_e,[o("div",null,[o("h2",ge,a(e.$t("dashboard.title")),1),o("p",$e,a(_.value?e.$t("dashboard.subProject",{name:d(v).projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),t(z,{type:"primary",ghost:"",loading:P.value,onClick:b},{icon:s(()=>[t(d(ue))]),default:s(()=>[h(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),_.value?(u(),U(k,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:s(()=>[o("div",ke,[t(d(ce),{style:{color:"#1677ff","font-size":"18px"}}),o("div",null,[o("div",we,a(d(v).projectName||e.$t("dashboard.projectBanner.fallbackName")),1),o("div",Ce,a(d(v).projectRoot),1)]),t(I,{color:"blue",style:{"margin-left":"auto"}},{default:s(()=>[h(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):W("",!0),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card gateway-card",size:"small"},{default:s(()=>[o("div",Se,[o("span",Re,a(e.$t("dashboard.stats.wsGateway")),1),t(x,{status:H.value==="connected"?"success":"error"},null,8,["status"])]),o("div",{class:"stat-value",style:K({color:H.value==="connected"?"#52c41a":"#888"})},a(H.value==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),o("div",De,a(e.$t("dashboard.stats.wsPortLine",{port:d(v).wsPort||18800,host:d(v).wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",je,[o("span",ze,a(e.$t("dashboard.stats.currentLlm")),1),t(d(Q),{style:{color:"#1677ff"}})]),o("div",Oe,a(g.value.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),o("div",Pe,a(g.value.activeModel||"—"),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=l=>e.$router.push("/skills"))},{default:s(()=>[o("div",Le,[o("span",Te,a(e.$t("dashboard.stats.skills")),1),t(d(Y),{style:{color:"#1677ff"}})]),o("div",Ne,a(g.value.skillCount||"—"),1),o("div",Ee,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:12,lg:6},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=l=>e.$router.push("/chat"))},{default:s(()=>[o("div",Me,[o("span",Ae,a(e.$t("dashboard.stats.sessions")),1),t(d(X),{style:{color:"#722ed1"}})]),o("div",Fe,a(g.value.sessionCount),1),o("div",qe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small"},{default:s(()=>[o("div",Be,[o("span",He,a(e.$t("dashboard.stats.appStatus")),1),t(d(ve),{style:K({color:g.value.appRunning?"#52c41a":"#888"})},null,8,["style"])]),o("div",{class:"stat-value",style:K({color:g.value.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(g.value.appRunning?e.$t("dashboard.stats.appRunning"):g.value.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),o("div",Ue,a(e.$t("dashboard.stats.edition",{name:g.value.edition||"Community"})),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=l=>e.$router.push("/mcp"))},{default:s(()=>[o("div",Ve,[o("span",Ge,a(e.$t("dashboard.stats.mcp")),1),t(d(me),{style:{color:"#13c2c2"}})]),o("div",Ie,a(g.value.mcpCount??"—"),1),o("div",Je,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[t(k,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=l=>e.$router.push("/notes"))},{default:s(()=>[o("div",We,[o("span",Ke,a(e.$t("dashboard.stats.notes")),1),t(d(Z),{style:{color:"#faad14"}})]),o("div",Qe,a(g.value.noteCount??"—"),1),o("div",Ye,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:[16,16]},{default:s(()=>[t(c,{xs:24,lg:10},{default:s(()=>[t(k,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:s(()=>[t(ee,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:s(()=>[t(z,{type:"primary",block:"",onClick:n[4]||(n[4]=l=>e.$router.push("/chat"))},{icon:s(()=>[t(d(X))]),default:s(()=>[h(" "+a(_.value?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),t(z,{block:"",onClick:N,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:s(()=>[t(d(Q))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[5]||(n[5]=l=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(pe))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[6]||(n[6]=l=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Z))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),t(D,{gutter:8},{default:s(()=>[t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[7]||(n[7]=l=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(Y))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),t(c,{span:12},{default:s(()=>[t(z,{block:"",onClick:n[8]||(n[8]=l=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[t(d(he))]),default:s(()=>[h(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),t(c,{xs:24,lg:14},{default:s(()=>[t(k,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:P.value},{extra:s(()=>[t(z,{type:"link",size:"small",onClick:n[9]||(n[9]=l=>e.$router.push("/logs"))},{default:s(()=>[h(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:s(()=>[o("pre",Xe,a(V.value||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),t(k,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:P.value},{default:s(()=>[t(D,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:s(()=>[t(c,{xs:24,md:8},{default:s(()=>[o("div",Ze,[o("div",xe,a(e.$t("dashboard.telemetry.filterWindow")),1),t(J,{value:j.value.windowPreset,"onUpdate:value":n[10]||(n[10]=l=>j.value.windowPreset=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:"all"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),t(O,{value:"1h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),t(O,{value:"24h"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),t(O,{value:"7d"},{default:s(()=>[h(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",et,[o("div",tt,a(e.$t("dashboard.telemetry.filterProvider")),1),t(J,{value:j.value.provider,"onUpdate:value":n[11]||(n[11]=l=>j.value.provider=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(u(!0),p(A,null,F(m.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),t(c,{xs:24,md:8},{default:s(()=>[o("div",st,[o("div",at,a(e.$t("dashboard.telemetry.filterModel")),1),t(J,{value:j.value.model,"onUpdate:value":n[12]||(n[12]=l=>j.value.model=l),style:{width:"100%"},onChange:L},{default:s(()=>[t(O,{value:""},{default:s(()=>[h(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(u(!0),p(A,null,F($.value,l=>(u(),U(O,{key:l.key,value:l.key},{default:s(()=>[h(a(l.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),t(D,{gutter:[12,12]},{default:s(()=>[t(c,{xs:24,sm:8},{default:s(()=>[o("div",ot,[o("div",lt,a(e.$t("dashboard.telemetry.hitRate")),1),o("div",rt,a(w(f.value.hitRate)),1),o("div",nt,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:f.value.compressedSamples,total:f.value.samples})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",dt,[o("div",it,a(e.$t("dashboard.telemetry.savedTokens")),1),o("div",ut,a(f.value.totalSavedTokens),1),o("div",ct,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:f.value.averageSavedTokens})),1)])]),_:1}),t(c,{xs:24,sm:8},{default:s(()=>[o("div",vt,[o("div",mt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),o("div",pt,a(w(f.value.netSavingsRate)),1),o("div",ht,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:f.value.totalOriginalTokens,compressed:f.value.totalCompressedTokens})),1)])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",ft,[o("div",bt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),f.value.strategyDistribution.length===0?(u(),p("div",yt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(u(),p("div",_t,[(u(!0),p(A,null,F(f.value.strategyDistribution.slice(0,6),l=>(u(),p("div",{key:l.strategy,class:"telemetry-row"},[o("span",null,a(l.strategy),1),o("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:l.hits,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",gt,[o("div",$t,a(e.$t("dashboard.telemetry.variantDistribution")),1),r.value.length===0?(u(),p("div",kt,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(u(),p("div",wt,[(u(!0),p(A,null,F(r.value,([l,se])=>(u(),p("div",{key:l,class:"telemetry-row"},[o("span",null,a(l),1),o("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:se})),1)]))),128))]))])]),_:1})]),_:1}),t(D,{gutter:[16,16],style:{"margin-top":"12px"}},{default:s(()=>[t(c,{xs:24,lg:12},{default:s(()=>[o("div",Ct,[o("div",St,a(e.$t("dashboard.telemetry.providerSlice")),1),m.value.length===0?(u(),p("div",Rt,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(u(),p("div",Dt,[(u(!0),p(A,null,F(m.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:l.samples,rate:w(l.hitRate)})),1)]))),128))]))])]),_:1}),t(c,{xs:24,lg:12},{default:s(()=>[o("div",jt,[o("div",zt,a(e.$t("dashboard.telemetry.modelSlice")),1),$.value.length===0?(u(),p("div",Ot,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(u(),p("div",Pt,[(u(!0),p(A,null,F($.value.slice(0,6),l=>(u(),p("div",{key:l.key,class:"telemetry-row"},[o("span",null,a(l.key),1),o("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:l.samples,saved:l.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),t(k,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:s(()=>[t(te,{column:{xs:1,sm:2,lg:3},size:"small"},{default:s(()=>[t(E,{label:e.$t("dashboard.info.panelMode")},{default:s(()=>[t(I,{color:_.value?"blue":"purple"},{default:s(()=>[h(a(_.value?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),_.value?(u(),U(E,{key:0,label:e.$t("dashboard.info.projectName")},{default:s(()=>[o("span",Lt,a(d(v).projectName||"—"),1)]),_:1},8,["label"])):W("",!0),_.value?(u(),U(E,{key:1,label:e.$t("dashboard.info.projectPath")},{default:s(()=>[o("span",Tt,a(d(v).projectRoot),1)]),_:1},8,["label"])):W("",!0),t(E,{label:e.$t("dashboard.info.websocket")},{default:s(()=>[o("span",Nt," ws://"+a(d(v).wsHost||"127.0.0.1")+":"+a(d(v).wsPort||18800),1)]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.auth")},{default:s(()=>[t(I,{color:d(v).wsToken?"green":"default",style:{"font-size":"11px"}},{default:s(()=>[h(a(d(v).wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t(E,{label:e.$t("dashboard.info.version")},{default:s(()=>[o("span",Et,a(d(B)),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}}},Ut=ne(Mt,[["__scopeId","data-v-bf6b8d82"]]);export{Ut as default};
@@ -1 +1 @@
1
- import{P as n,e as m,h as V,a5 as B}from"./index-B2f4ltyM.js";import{T as D}from"./Trigger-DU9-3gN9.js";import{c as g}from"./vnode-D98L6HI1.js";import{d as M,r as v,w as F,c as d,F as L,f as y}from"./vendor-B6ToihkA.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)c.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(a[o[r]]=e[o[r]]);return a};const X=M({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:r}=c;const f=v(!!e.visible);F(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=v();r({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const i=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(L,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),g(i,u,!1)])},w=y(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const i=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&i?g(i[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):i},P=y(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:i,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(D,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:i}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{X as D};
1
+ import{P as n,e as m,h as V,aq as B}from"./index-BPtmPFwc.js";import{T as D}from"./Trigger-ql7VwBhY.js";import{c as g}from"./vnode-51kseDDa.js";import{d as M,r as v,w as F,c as d,F as L,f as y}from"./vendor-Ci2pTZ_t.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)c.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(a[o[r]]=e[o[r]]);return a};const K=M({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:r}=c;const f=v(!!e.visible);F(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=v();r({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const i=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(L,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),g(i,u,!1)])},w=y(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const i=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&i?g(i[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):i},P=y(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:i,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(D,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:i}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{K as D};