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,4 +1,4 @@
1
- import{_ as Le,b as Oe,u as Fe,d as _}from"./index-B2f4ltyM.js";import{R as V,Y as E,Q as Se,al as de,ad as ue}from"./icons-zXb7lDZs.js";import{o as We,M as g,R as h,P as i,u as o,c as a,N as s,r as w,K as m,L as u,O as v,Q as T,S as k,F as Ue,f as J,a as ce}from"./vendor-B6ToihkA.js";const $e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ne={class:"page-title"},Pe={class:"page-sub"},Re={key:0,style:{"text-align":"center",padding:"60px"}},qe={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},Be={key:1,style:{color:"var(--text-primary)"}},je={key:3,style:{color:"#52c41a","font-family":"monospace"}},Me={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},He={key:0,style:{"text-align":"center",padding:"60px"}},Ke={key:0,style:{color:"#e0e0e0"}},Ve={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},Ee={key:3,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"12px"}},Je={key:0,style:{"margin-top":"8px"}},Qe={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px","margin-top":"8px",background:"var(--bg-base)",padding:"10px","border-radius":"6px",border:"1px solid var(--border-color)"}},Ye={key:0,style:{"text-align":"center",padding:"30px"}},Ge={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},Xe={key:2,style:{color:"#e0e0e0","font-family":"monospace"}},Ze={key:3,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},et={style:{"margin-top":"16px"}},tt={style:{color:"var(--text-primary)"}},at={style:{"font-family":"monospace",color:"#ccc"}},lt={style:{"font-family":"monospace",color:"#ccc"}},st={style:{"font-family":"monospace",color:"#52c41a"}},ot={__name:"Wallet",setup(nt){const{t:e}=Oe(),A=Fe(),O=w("wallets"),Q=w(!1);function Y(n){try{return JSON.parse(n)}catch{return null}}async function pe(){Q.value=!0;try{O.value==="wallets"?await S():O.value==="assets"?await q():O.value==="transfer"&&await M()}finally{Q.value=!1}}function me(n){n==="assets"&&z.value.length===0&&q(),n==="transfer"&&L.value.length===0&&M()}const $=w(!1),G=w(!1),X=w(""),I=w([]),N=w(!1),F=w(""),fe=J(()=>[{title:e("wallet.walletColumns.address"),key:"address",dataIndex:"address",ellipsis:!0},{title:e("wallet.walletColumns.name"),key:"name",dataIndex:"name",width:"150px"},{title:e("wallet.walletColumns.isDefault"),key:"isDefault",width:"80px"},{title:e("wallet.walletColumns.balance"),key:"balance",dataIndex:"balance",width:"120px"},{title:e("wallet.walletColumns.action"),key:"action",width:"100px"}]),ie=J(()=>{const n=I.value.find(l=>l.isDefault);if(!n||!n.address)return e("wallet.stats.defaultUnset");const t=n.address;return t.length>16?t.slice(0,8)+"..."+t.slice(-6):t});async function S(){$.value=!0;try{const{output:n}=await A.execute("wallet list --json",15e3),t=Y(n);t&&Array.isArray(t)?I.value=t.map((l,c)=>({key:l.address||l.id||c,address:l.address||l.id||"-",name:l.name||l.label||"-",isDefault:l.isDefault||l.default||!1,balance:l.balance??"-"})):t&&t.wallets&&Array.isArray(t.wallets)?I.value=t.wallets.map((l,c)=>({key:l.address||l.id||c,address:l.address||l.id||"-",name:l.name||l.label||"-",isDefault:l.isDefault||l.default||!1,balance:l.balance??"-"})):I.value=ye(n)}catch(n){_.error(e("wallet.messages.loadWalletsFailed",{err:n.message}))}finally{$.value=!1}}function ye(n){const t=[],l=n.split(`
2
- `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ wallet/i))continue;const p=d.match(/(0x[a-fA-F0-9]{8,})/);if(p){const H=/default|默认|\*/.test(d),W=d.match(/name[:\s]+(\S+)/i);t.push({key:p[1],address:p[1],name:W?W[1]:"-",isDefault:H,balance:"-"})}}return t}async function we(){if(!F.value.trim()){_.warning(e("wallet.messages.walletNameRequired"));return}G.value=!0;try{const{output:n}=await A.execute(`wallet create --name "${F.value.trim()}" --json`,2e4);n.includes("error")||n.includes("失败")?_.error(e("wallet.messages.walletCreateFailed",{err:n.slice(0,120)})):(_.success(e("wallet.messages.walletCreateOk")),N.value=!1,F.value="",await S())}catch(n){_.error(e("wallet.messages.walletCreateFailed",{err:n.message}))}finally{G.value=!1}}async function ve(n){X.value=n;try{const{output:t}=await A.execute(`wallet set-default ${n}`,15e3);t.includes("error")||t.includes("失败")?_.error(e("wallet.messages.setDefaultFailed",{err:t.slice(0,120)})):(_.success(e("wallet.messages.setDefaultOk")),await S())}catch(t){_.error(e("wallet.messages.setDefaultFailed",{err:t.message}))}finally{X.value=""}}const P=w(!1),Z=w(!1),z=w([]),R=w(!1),b=ce({name:"",type:"token",description:""}),_e=J(()=>[{title:e("wallet.assetColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("wallet.assetColumns.type"),key:"type",dataIndex:"type",width:"100px"},{title:e("wallet.assetColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("wallet.assetColumns.address"),key:"address",dataIndex:"address",ellipsis:!0}]);function ge(n){return{token:"blue",nft:"purple",data:"cyan"}[(n||"").toLowerCase()]||"default"}async function q(){P.value=!0;try{const{output:n}=await A.execute("wallet assets --json",15e3),t=Y(n);t&&Array.isArray(t)?z.value=t.map((l,c)=>({key:l.id||l.address||c,name:l.name||"-",type:l.type||"-",description:l.description||"",address:l.address||l.id||"-"})):t&&t.assets&&Array.isArray(t.assets)?z.value=t.assets.map((l,c)=>({key:l.id||l.address||c,name:l.name||"-",type:l.type||"-",description:l.description||"",address:l.address||l.id||"-"})):z.value=be(n)}catch(n){_.error(e("wallet.messages.loadAssetsFailed",{err:n.message}))}finally{P.value=!1}}function be(n){const t=[],l=n.split(`
3
- `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ asset/i))continue;const p=d.split(/\s*[|│]\s*/);p.length>=2&&t.push({key:t.length,name:p[0]||"-",type:p[1]||"-",description:p[2]||"",address:p[3]||"-"})}return t}async function ke(){if(!b.name.trim()){_.warning(e("wallet.messages.assetNameRequired"));return}Z.value=!0;try{let n=`wallet asset "${b.name.trim()}" --type ${b.type}`;b.description.trim()&&(n+=` --description "${b.description.trim().replace(/"/g,'\\"')}"`),n+=" --json";const{output:t}=await A.execute(n,2e4);t.includes("error")||t.includes("失败")?_.error(e("wallet.messages.assetRegisterFailed",{err:t.slice(0,120)})):(_.success(e("wallet.messages.assetRegisterOk")),R.value=!1,b.name="",b.type="token",b.description="",await q())}catch(n){_.error(e("wallet.messages.assetRegisterFailed",{err:n.message}))}finally{Z.value=!1}}const B=w(!1),j=w(!1),D=w(!1),x=w(null),L=w([]),y=ce({assetId:"",toAddress:"",amount:null}),he=J(()=>[{title:e("wallet.historyColumns.time"),key:"time",dataIndex:"time",width:"150px"},{title:e("wallet.historyColumns.type"),key:"type",dataIndex:"type",width:"80px"},{title:e("wallet.historyColumns.amount"),key:"amount",dataIndex:"amount",width:"100px"},{title:e("wallet.historyColumns.to"),key:"to",dataIndex:"to",ellipsis:!0}]);function xe(){if(!y.assetId.trim()||!y.toAddress.trim()||!y.amount){_.warning(e("wallet.messages.transferIncomplete"));return}D.value=!0}async function Ce(){B.value=!0,x.value=null;try{const n=`wallet transfer ${y.assetId.trim()} ${y.toAddress.trim()} --amount ${y.amount}`,{output:t,exitCode:l}=await A.execute(n,3e4);x.value={success:l===0&&!t.includes("error")&&!t.includes("失败"),output:t||e("wallet.messages.transferDefault")},x.value.success?(_.success(e("wallet.messages.transferOk")),D.value=!1,await M()):D.value=!1}catch(n){x.value={success:!1,output:e("wallet.messages.transferFailed",{err:n.message})},D.value=!1}finally{B.value=!1}}async function M(){j.value=!0;try{const{output:n}=await A.execute("wallet history --limit 20 --json",15e3),t=Y(n);t&&Array.isArray(t)?L.value=t.map((l,c)=>({key:l.id||l.hash||c,time:l.time||l.timestamp||l.createdAt||"-",type:l.type||l.direction||"-",amount:l.amount??"-",to:l.to||l.recipient||"-"})):t&&t.history&&Array.isArray(t.history)?L.value=t.history.map((l,c)=>({key:l.id||l.hash||c,time:l.time||l.timestamp||l.createdAt||"-",type:l.type||l.direction||"-",amount:l.amount??"-",to:l.to||l.recipient||"-"})):L.value=Ae(n)}catch(n){_.error(e("wallet.messages.loadHistoryFailed",{err:n.message}))}finally{j.value=!1}}function Ae(n){const t=[],l=n.split(`
4
- `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ transaction/i))continue;const p=d.split(/\s*[|│]\s*/);p.length>=3&&t.push({key:t.length,time:p[0]||"-",type:p[1]||"-",amount:p[2]||"-",to:p[3]||"-"})}return t}return We(()=>{S()}),(n,t)=>{const l=m("a-button"),c=m("a-statistic"),d=m("a-card"),p=m("a-col"),H=m("a-row"),W=m("a-space"),ee=m("a-spin"),K=m("a-tag"),te=m("a-empty"),ae=m("a-table"),U=m("a-input"),C=m("a-form-item"),le=m("a-form"),se=m("a-modal"),oe=m("a-tab-pane"),ne=m("a-select-option"),Te=m("a-select"),Ie=m("a-input-number"),re=m("a-descriptions-item"),ze=m("a-descriptions"),De=m("a-tabs");return u(),g("div",null,[h("div",$e,[h("div",null,[h("h2",Ne,i(o(e)("wallet.title")),1),h("p",Pe,i(o(e)("wallet.subtitle")),1)]),a(l,{type:"primary",ghost:"",loading:Q.value,onClick:pe},{icon:s(()=>[a(o(V))]),default:s(()=>[v(" "+i(o(e)("wallet.refresh")),1)]),_:1},8,["loading"])]),a(H,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.walletCount"),value:I.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:s(()=>[a(o(E))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.assetCount"),value:z.value.length,"value-style":{color:"#52c41a",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.defaultWallet"),value:ie.value,"value-style":{color:ie.value!==o(e)("wallet.stats.defaultUnset")?"#faad14":"#888",fontSize:"14px",fontFamily:"monospace"}},{prefix:s(()=>[a(o(E))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.totalTx"),value:L.value.length,"value-style":{color:"#ff4d4f",fontSize:"20px"}},{prefix:s(()=>[a(o(Se))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),a(De,{activeKey:O.value,"onUpdate:activeKey":t[12]||(t[12]=r=>O.value=r),type:"card",onChange:me},{default:s(()=>[a(oe,{key:"wallets"},{tab:s(()=>[a(o(E)),v(" "+i(o(e)("wallet.tabs.wallets")),1)]),default:s(()=>[a(W,{style:{"margin-bottom":"16px"}},{default:s(()=>[a(l,{type:"primary",loading:$.value,onClick:S},{icon:s(()=>[a(o(V))]),default:s(()=>[v(" "+i(o(e)("wallet.wallets.refreshList")),1)]),_:1},8,["loading"]),a(l,{onClick:t[0]||(t[0]=r=>N.value=!0)},{icon:s(()=>[a(o(de))]),default:s(()=>[v(" "+i(o(e)("wallet.wallets.createButton")),1)]),_:1})]),_:1}),$.value?(u(),g("div",Re,[a(ee,{size:"large"})])):(u(),T(ae,{key:1,columns:fe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:r=>o(e)("wallet.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="address"?(u(),g("span",qe,i(f.address),1)):k("",!0),r.key==="name"?(u(),g("span",Be,i(f.name||"-"),1)):k("",!0),r.key==="isDefault"?(u(),T(K,{key:2,color:f.isDefault?"green":"default"},{default:s(()=>[v(i(f.isDefault?o(e)("wallet.wallets.default"):"-"),1)]),_:2},1032,["color"])):k("",!0),r.key==="balance"?(u(),g("span",je,i(f.balance??"-"),1)):k("",!0),r.key==="action"?(u(),g(Ue,{key:4},[f.isDefault?(u(),g("span",Me,i(o(e)("wallet.wallets.currentDefault")),1)):(u(),T(l,{key:0,size:"small",type:"link",loading:X.value===f.address,onClick:rt=>ve(f.address)},{default:s(()=>[v(i(o(e)("wallet.wallets.setDefault")),1)]),_:1},8,["loading","onClick"]))],64)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.wallets.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(se,{open:N.value,"onUpdate:open":t[2]||(t[2]=r=>N.value=r),title:o(e)("wallet.wallets.createTitle"),"confirm-loading":G.value,onOk:we,"ok-text":o(e)("wallet.wallets.createOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:s(()=>[a(C,{label:o(e)("wallet.wallets.nameLabel"),required:""},{default:s(()=>[a(U,{value:F.value,"onUpdate:value":t[1]||(t[1]=r=>F.value=r),placeholder:o(e)("wallet.wallets.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),a(oe,{key:"assets"},{tab:s(()=>[a(o(E)),v(" "+i(o(e)("wallet.tabs.assets")),1)]),default:s(()=>[a(W,{style:{"margin-bottom":"16px"}},{default:s(()=>[a(l,{type:"primary",loading:P.value,onClick:q},{icon:s(()=>[a(o(V))]),default:s(()=>[v(" "+i(o(e)("wallet.assets.refreshAssets")),1)]),_:1},8,["loading"]),a(l,{onClick:t[3]||(t[3]=r=>R.value=!0)},{icon:s(()=>[a(o(de))]),default:s(()=>[v(" "+i(o(e)("wallet.assets.registerButton")),1)]),_:1})]),_:1}),P.value?(u(),g("div",He,[a(ee,{size:"large"})])):(u(),T(ae,{key:1,columns:_e.value,"data-source":z.value,pagination:{pageSize:20,showTotal:r=>o(e)("wallet.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="name"?(u(),g("span",Ke,i(f.name),1)):k("",!0),r.key==="type"?(u(),T(K,{key:1,color:ge(f.type)},{default:s(()=>[v(i(f.type),1)]),_:2},1032,["color"])):k("",!0),r.key==="description"?(u(),g("span",Ve,i(f.description||"-"),1)):k("",!0),r.key==="address"?(u(),g("span",Ee,i(f.address||"-"),1)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.assets.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(se,{open:R.value,"onUpdate:open":t[7]||(t[7]=r=>R.value=r),title:o(e)("wallet.assets.registerTitle"),"confirm-loading":Z.value,onOk:ke,"ok-text":o(e)("wallet.assets.registerOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:s(()=>[a(C,{label:o(e)("wallet.assets.nameLabel"),required:""},{default:s(()=>[a(U,{value:b.name,"onUpdate:value":t[4]||(t[4]=r=>b.name=r),placeholder:o(e)("wallet.assets.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.assets.typeLabel"),required:""},{default:s(()=>[a(Te,{value:b.type,"onUpdate:value":t[5]||(t[5]=r=>b.type=r),placeholder:o(e)("wallet.assets.typePlaceholder")},{default:s(()=>[a(ne,{value:"token"},{default:s(()=>[...t[13]||(t[13]=[v("Token",-1)])]),_:1}),a(ne,{value:"nft"},{default:s(()=>[...t[14]||(t[14]=[v("NFT",-1)])]),_:1}),a(ne,{value:"data"},{default:s(()=>[...t[15]||(t[15]=[v("Data",-1)])]),_:1})]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.assets.descLabel")},{default:s(()=>[a(U,{value:b.description,"onUpdate:value":t[6]||(t[6]=r=>b.description=r),placeholder:o(e)("wallet.assets.descPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),a(oe,{key:"transfer"},{tab:s(()=>[a(o(ue)),v(" "+i(o(e)("wallet.tabs.transfer")),1)]),default:s(()=>[a(H,{gutter:[24,24]},{default:s(()=>[a(p,{xs:24,md:12},{default:s(()=>[a(d,{title:o(e)("wallet.transfer.formCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18}},{default:s(()=>[a(C,{label:o(e)("wallet.transfer.assetIdLabel"),required:""},{default:s(()=>[a(U,{value:y.assetId,"onUpdate:value":t[8]||(t[8]=r=>y.assetId=r),placeholder:o(e)("wallet.transfer.assetIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.transfer.toAddressLabel"),required:""},{default:s(()=>[a(U,{value:y.toAddress,"onUpdate:value":t[9]||(t[9]=r=>y.toAddress=r),placeholder:o(e)("wallet.transfer.toAddressPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.transfer.amountLabel"),required:""},{default:s(()=>[a(Ie,{value:y.amount,"onUpdate:value":t[10]||(t[10]=r=>y.amount=r),min:0,step:.01,placeholder:o(e)("wallet.transfer.amountPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{"wrapper-col":{offset:6,span:18}},{default:s(()=>[a(l,{type:"primary",loading:B.value,disabled:!y.assetId.trim()||!y.toAddress.trim()||!y.amount,onClick:xe},{icon:s(()=>[a(o(ue))]),default:s(()=>[v(" "+i(o(e)("wallet.transfer.submitButton")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),x.value?(u(),g("div",Je,[a(K,{color:x.value.success?"green":"red"},{default:s(()=>[v(i(x.value.success?o(e)("wallet.transfer.successTag"):o(e)("wallet.transfer.failureTag")),1)]),_:1},8,["color"]),h("pre",Qe,i(x.value.output),1)])):k("",!0)]),_:1},8,["title"])]),_:1}),a(p,{xs:24,md:12},{default:s(()=>[a(d,{title:o(e)("wallet.transfer.historyCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:s(()=>[a(l,{size:"small",loading:j.value,onClick:M},{icon:s(()=>[a(o(V))]),_:1},8,["loading"])]),default:s(()=>[j.value?(u(),g("div",Ye,[a(ee)])):(u(),T(ae,{key:1,columns:he.value,"data-source":L.value,pagination:{pageSize:10,showTotal:r=>o(e)("wallet.totals.rows",{count:r}),size:"small"},size:"small","row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="time"?(u(),g("span",Ge,i(f.time),1)):k("",!0),r.key==="type"?(u(),T(K,{key:1,color:f.type==="send"?"orange":"green"},{default:s(()=>[v(i(f.type),1)]),_:2},1032,["color"])):k("",!0),r.key==="amount"?(u(),g("span",Xe,i(f.amount),1)):k("",!0),r.key==="to"?(u(),g("span",Ze,i(f.to),1)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.transfer.historyEmpty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"]))]),_:1},8,["title"])]),_:1})]),_:1}),a(se,{open:D.value,"onUpdate:open":t[11]||(t[11]=r=>D.value=r),title:o(e)("wallet.transfer.confirmTitle"),"confirm-loading":B.value,onOk:Ce,"ok-text":o(e)("wallet.transfer.confirmOk"),"cancel-text":o(e)("common.cancel"),"ok-type":"primary"},{default:s(()=>[h("div",et,[h("p",tt,i(o(e)("wallet.transfer.confirmIntro")),1),a(ze,{column:1,bordered:"",size:"small",style:{"margin-top":"12px"}},{default:s(()=>[a(re,{label:o(e)("wallet.transfer.assetIdLabel")},{default:s(()=>[h("span",at,i(y.assetId),1)]),_:1},8,["label"]),a(re,{label:o(e)("wallet.transfer.toAddressLabel")},{default:s(()=>[h("span",lt,i(y.toAddress),1)]),_:1},8,["label"]),a(re,{label:o(e)("wallet.transfer.amountLabel")},{default:s(()=>[h("span",st,i(y.amount),1)]),_:1},8,["label"])]),_:1})])]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},ct=Le(ot,[["__scopeId","data-v-4ac0c1f5"]]);export{ct as default};
1
+ import{_ as Le,b as Oe,u as Fe,d as _}from"./index-BPtmPFwc.js";import{R as K,_ as E,V as Se,ap as de,ai as ue}from"./icons-B2G69bhT.js";import{o as We,M as g,R as h,P as i,u as o,c as a,N as s,r as w,K as m,L as u,O as v,Q as T,S as k,F as Ue,f as J,a as ce}from"./vendor-Ci2pTZ_t.js";const $e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ne={class:"page-title"},Pe={class:"page-sub"},Re={key:0,style:{"text-align":"center",padding:"60px"}},qe={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},Be={key:1,style:{color:"var(--text-primary)"}},je={key:3,style:{color:"#52c41a","font-family":"monospace"}},Me={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Ve={key:0,style:{"text-align":"center",padding:"60px"}},He={key:0,style:{color:"#e0e0e0"}},Ke={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},Ee={key:3,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"12px"}},Je={key:0,style:{"margin-top":"8px"}},Qe={style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px","margin-top":"8px",background:"var(--bg-base)",padding:"10px","border-radius":"6px",border:"1px solid var(--border-color)"}},Ge={key:0,style:{"text-align":"center",padding:"30px"}},Xe={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},Ye={key:2,style:{color:"#e0e0e0","font-family":"monospace"}},Ze={key:3,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},et={style:{"margin-top":"16px"}},tt={style:{color:"var(--text-primary)"}},at={style:{"font-family":"monospace",color:"#ccc"}},lt={style:{"font-family":"monospace",color:"#ccc"}},st={style:{"font-family":"monospace",color:"#52c41a"}},ot={__name:"Wallet",setup(nt){const{t:e}=Oe(),A=Fe(),O=w("wallets"),Q=w(!1);function G(n){try{return JSON.parse(n)}catch{return null}}async function pe(){Q.value=!0;try{O.value==="wallets"?await S():O.value==="assets"?await q():O.value==="transfer"&&await M()}finally{Q.value=!1}}function me(n){n==="assets"&&z.value.length===0&&q(),n==="transfer"&&L.value.length===0&&M()}const $=w(!1),X=w(!1),Y=w(""),I=w([]),N=w(!1),F=w(""),fe=J(()=>[{title:e("wallet.walletColumns.address"),key:"address",dataIndex:"address",ellipsis:!0},{title:e("wallet.walletColumns.name"),key:"name",dataIndex:"name",width:"150px"},{title:e("wallet.walletColumns.isDefault"),key:"isDefault",width:"80px"},{title:e("wallet.walletColumns.balance"),key:"balance",dataIndex:"balance",width:"120px"},{title:e("wallet.walletColumns.action"),key:"action",width:"100px"}]),ie=J(()=>{const n=I.value.find(l=>l.isDefault);if(!n||!n.address)return e("wallet.stats.defaultUnset");const t=n.address;return t.length>16?t.slice(0,8)+"..."+t.slice(-6):t});async function S(){$.value=!0;try{const{output:n}=await A.execute("wallet list --json",15e3),t=G(n);t&&Array.isArray(t)?I.value=t.map((l,c)=>({key:l.address||l.id||c,address:l.address||l.id||"-",name:l.name||l.label||"-",isDefault:l.isDefault||l.default||!1,balance:l.balance??"-"})):t&&t.wallets&&Array.isArray(t.wallets)?I.value=t.wallets.map((l,c)=>({key:l.address||l.id||c,address:l.address||l.id||"-",name:l.name||l.label||"-",isDefault:l.isDefault||l.default||!1,balance:l.balance??"-"})):I.value=ye(n)}catch(n){_.error(e("wallet.messages.loadWalletsFailed",{err:n.message}))}finally{$.value=!1}}function ye(n){const t=[],l=n.split(`
2
+ `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ wallet/i))continue;const p=d.match(/(0x[a-fA-F0-9]{8,})/);if(p){const V=/default|默认|\*/.test(d),W=d.match(/name[:\s]+(\S+)/i);t.push({key:p[1],address:p[1],name:W?W[1]:"-",isDefault:V,balance:"-"})}}return t}async function we(){if(!F.value.trim()){_.warning(e("wallet.messages.walletNameRequired"));return}X.value=!0;try{const{output:n}=await A.execute(`wallet create --name "${F.value.trim()}" --json`,2e4);n.includes("error")||n.includes("失败")?_.error(e("wallet.messages.walletCreateFailed",{err:n.slice(0,120)})):(_.success(e("wallet.messages.walletCreateOk")),N.value=!1,F.value="",await S())}catch(n){_.error(e("wallet.messages.walletCreateFailed",{err:n.message}))}finally{X.value=!1}}async function ve(n){Y.value=n;try{const{output:t}=await A.execute(`wallet set-default ${n}`,15e3);t.includes("error")||t.includes("失败")?_.error(e("wallet.messages.setDefaultFailed",{err:t.slice(0,120)})):(_.success(e("wallet.messages.setDefaultOk")),await S())}catch(t){_.error(e("wallet.messages.setDefaultFailed",{err:t.message}))}finally{Y.value=""}}const P=w(!1),Z=w(!1),z=w([]),R=w(!1),b=ce({name:"",type:"token",description:""}),_e=J(()=>[{title:e("wallet.assetColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("wallet.assetColumns.type"),key:"type",dataIndex:"type",width:"100px"},{title:e("wallet.assetColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("wallet.assetColumns.address"),key:"address",dataIndex:"address",ellipsis:!0}]);function ge(n){return{token:"blue",nft:"purple",data:"cyan"}[(n||"").toLowerCase()]||"default"}async function q(){P.value=!0;try{const{output:n}=await A.execute("wallet assets --json",15e3),t=G(n);t&&Array.isArray(t)?z.value=t.map((l,c)=>({key:l.id||l.address||c,name:l.name||"-",type:l.type||"-",description:l.description||"",address:l.address||l.id||"-"})):t&&t.assets&&Array.isArray(t.assets)?z.value=t.assets.map((l,c)=>({key:l.id||l.address||c,name:l.name||"-",type:l.type||"-",description:l.description||"",address:l.address||l.id||"-"})):z.value=be(n)}catch(n){_.error(e("wallet.messages.loadAssetsFailed",{err:n.message}))}finally{P.value=!1}}function be(n){const t=[],l=n.split(`
3
+ `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ asset/i))continue;const p=d.split(/\s*[|│]\s*/);p.length>=2&&t.push({key:t.length,name:p[0]||"-",type:p[1]||"-",description:p[2]||"",address:p[3]||"-"})}return t}async function ke(){if(!b.name.trim()){_.warning(e("wallet.messages.assetNameRequired"));return}Z.value=!0;try{let n=`wallet asset "${b.name.trim()}" --type ${b.type}`;b.description.trim()&&(n+=` --description "${b.description.trim().replace(/"/g,'\\"')}"`),n+=" --json";const{output:t}=await A.execute(n,2e4);t.includes("error")||t.includes("失败")?_.error(e("wallet.messages.assetRegisterFailed",{err:t.slice(0,120)})):(_.success(e("wallet.messages.assetRegisterOk")),R.value=!1,b.name="",b.type="token",b.description="",await q())}catch(n){_.error(e("wallet.messages.assetRegisterFailed",{err:n.message}))}finally{Z.value=!1}}const B=w(!1),j=w(!1),D=w(!1),x=w(null),L=w([]),y=ce({assetId:"",toAddress:"",amount:null}),he=J(()=>[{title:e("wallet.historyColumns.time"),key:"time",dataIndex:"time",width:"150px"},{title:e("wallet.historyColumns.type"),key:"type",dataIndex:"type",width:"80px"},{title:e("wallet.historyColumns.amount"),key:"amount",dataIndex:"amount",width:"100px"},{title:e("wallet.historyColumns.to"),key:"to",dataIndex:"to",ellipsis:!0}]);function xe(){if(!y.assetId.trim()||!y.toAddress.trim()||!y.amount){_.warning(e("wallet.messages.transferIncomplete"));return}D.value=!0}async function Ce(){B.value=!0,x.value=null;try{const n=`wallet transfer ${y.assetId.trim()} ${y.toAddress.trim()} --amount ${y.amount}`,{output:t,exitCode:l}=await A.execute(n,3e4);x.value={success:l===0&&!t.includes("error")&&!t.includes("失败"),output:t||e("wallet.messages.transferDefault")},x.value.success?(_.success(e("wallet.messages.transferOk")),D.value=!1,await M()):D.value=!1}catch(n){x.value={success:!1,output:e("wallet.messages.transferFailed",{err:n.message})},D.value=!1}finally{B.value=!1}}async function M(){j.value=!0;try{const{output:n}=await A.execute("wallet history --limit 20 --json",15e3),t=G(n);t&&Array.isArray(t)?L.value=t.map((l,c)=>({key:l.id||l.hash||c,time:l.time||l.timestamp||l.createdAt||"-",type:l.type||l.direction||"-",amount:l.amount??"-",to:l.to||l.recipient||"-"})):t&&t.history&&Array.isArray(t.history)?L.value=t.history.map((l,c)=>({key:l.id||l.hash||c,time:l.time||l.timestamp||l.createdAt||"-",type:l.type||l.direction||"-",amount:l.amount??"-",to:l.to||l.recipient||"-"})):L.value=Ae(n)}catch(n){_.error(e("wallet.messages.loadHistoryFailed",{err:n.message}))}finally{j.value=!1}}function Ae(n){const t=[],l=n.split(`
4
+ `);for(const c of l){const d=c.trim();if(!d||d.startsWith("─")||d.match(/^\d+ transaction/i))continue;const p=d.split(/\s*[|│]\s*/);p.length>=3&&t.push({key:t.length,time:p[0]||"-",type:p[1]||"-",amount:p[2]||"-",to:p[3]||"-"})}return t}return We(()=>{S()}),(n,t)=>{const l=m("a-button"),c=m("a-statistic"),d=m("a-card"),p=m("a-col"),V=m("a-row"),W=m("a-space"),ee=m("a-spin"),H=m("a-tag"),te=m("a-empty"),ae=m("a-table"),U=m("a-input"),C=m("a-form-item"),le=m("a-form"),se=m("a-modal"),oe=m("a-tab-pane"),ne=m("a-select-option"),Te=m("a-select"),Ie=m("a-input-number"),re=m("a-descriptions-item"),ze=m("a-descriptions"),De=m("a-tabs");return u(),g("div",null,[h("div",$e,[h("div",null,[h("h2",Ne,i(o(e)("wallet.title")),1),h("p",Pe,i(o(e)("wallet.subtitle")),1)]),a(l,{type:"primary",ghost:"",loading:Q.value,onClick:pe},{icon:s(()=>[a(o(K))]),default:s(()=>[v(" "+i(o(e)("wallet.refresh")),1)]),_:1},8,["loading"])]),a(V,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.walletCount"),value:I.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:s(()=>[a(o(E))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.assetCount"),value:z.value.length,"value-style":{color:"#52c41a",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.defaultWallet"),value:ie.value,"value-style":{color:ie.value!==o(e)("wallet.stats.defaultUnset")?"#faad14":"#888",fontSize:"14px",fontFamily:"monospace"}},{prefix:s(()=>[a(o(E))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(p,{xs:24,sm:12,lg:6},{default:s(()=>[a(d,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(c,{title:o(e)("wallet.stats.totalTx"),value:L.value.length,"value-style":{color:"#ff4d4f",fontSize:"20px"}},{prefix:s(()=>[a(o(Se))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),a(De,{activeKey:O.value,"onUpdate:activeKey":t[12]||(t[12]=r=>O.value=r),type:"card",onChange:me},{default:s(()=>[a(oe,{key:"wallets"},{tab:s(()=>[a(o(E)),v(" "+i(o(e)("wallet.tabs.wallets")),1)]),default:s(()=>[a(W,{style:{"margin-bottom":"16px"}},{default:s(()=>[a(l,{type:"primary",loading:$.value,onClick:S},{icon:s(()=>[a(o(K))]),default:s(()=>[v(" "+i(o(e)("wallet.wallets.refreshList")),1)]),_:1},8,["loading"]),a(l,{onClick:t[0]||(t[0]=r=>N.value=!0)},{icon:s(()=>[a(o(de))]),default:s(()=>[v(" "+i(o(e)("wallet.wallets.createButton")),1)]),_:1})]),_:1}),$.value?(u(),g("div",Re,[a(ee,{size:"large"})])):(u(),T(ae,{key:1,columns:fe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:r=>o(e)("wallet.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="address"?(u(),g("span",qe,i(f.address),1)):k("",!0),r.key==="name"?(u(),g("span",Be,i(f.name||"-"),1)):k("",!0),r.key==="isDefault"?(u(),T(H,{key:2,color:f.isDefault?"green":"default"},{default:s(()=>[v(i(f.isDefault?o(e)("wallet.wallets.default"):"-"),1)]),_:2},1032,["color"])):k("",!0),r.key==="balance"?(u(),g("span",je,i(f.balance??"-"),1)):k("",!0),r.key==="action"?(u(),g(Ue,{key:4},[f.isDefault?(u(),g("span",Me,i(o(e)("wallet.wallets.currentDefault")),1)):(u(),T(l,{key:0,size:"small",type:"link",loading:Y.value===f.address,onClick:rt=>ve(f.address)},{default:s(()=>[v(i(o(e)("wallet.wallets.setDefault")),1)]),_:1},8,["loading","onClick"]))],64)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.wallets.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(se,{open:N.value,"onUpdate:open":t[2]||(t[2]=r=>N.value=r),title:o(e)("wallet.wallets.createTitle"),"confirm-loading":X.value,onOk:we,"ok-text":o(e)("wallet.wallets.createOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:s(()=>[a(C,{label:o(e)("wallet.wallets.nameLabel"),required:""},{default:s(()=>[a(U,{value:F.value,"onUpdate:value":t[1]||(t[1]=r=>F.value=r),placeholder:o(e)("wallet.wallets.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),a(oe,{key:"assets"},{tab:s(()=>[a(o(E)),v(" "+i(o(e)("wallet.tabs.assets")),1)]),default:s(()=>[a(W,{style:{"margin-bottom":"16px"}},{default:s(()=>[a(l,{type:"primary",loading:P.value,onClick:q},{icon:s(()=>[a(o(K))]),default:s(()=>[v(" "+i(o(e)("wallet.assets.refreshAssets")),1)]),_:1},8,["loading"]),a(l,{onClick:t[3]||(t[3]=r=>R.value=!0)},{icon:s(()=>[a(o(de))]),default:s(()=>[v(" "+i(o(e)("wallet.assets.registerButton")),1)]),_:1})]),_:1}),P.value?(u(),g("div",Ve,[a(ee,{size:"large"})])):(u(),T(ae,{key:1,columns:_e.value,"data-source":z.value,pagination:{pageSize:20,showTotal:r=>o(e)("wallet.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="name"?(u(),g("span",He,i(f.name),1)):k("",!0),r.key==="type"?(u(),T(H,{key:1,color:ge(f.type)},{default:s(()=>[v(i(f.type),1)]),_:2},1032,["color"])):k("",!0),r.key==="description"?(u(),g("span",Ke,i(f.description||"-"),1)):k("",!0),r.key==="address"?(u(),g("span",Ee,i(f.address||"-"),1)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.assets.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),a(se,{open:R.value,"onUpdate:open":t[7]||(t[7]=r=>R.value=r),title:o(e)("wallet.assets.registerTitle"),"confirm-loading":Z.value,onOk:ke,"ok-text":o(e)("wallet.assets.registerOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:s(()=>[a(C,{label:o(e)("wallet.assets.nameLabel"),required:""},{default:s(()=>[a(U,{value:b.name,"onUpdate:value":t[4]||(t[4]=r=>b.name=r),placeholder:o(e)("wallet.assets.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.assets.typeLabel"),required:""},{default:s(()=>[a(Te,{value:b.type,"onUpdate:value":t[5]||(t[5]=r=>b.type=r),placeholder:o(e)("wallet.assets.typePlaceholder")},{default:s(()=>[a(ne,{value:"token"},{default:s(()=>[...t[13]||(t[13]=[v("Token",-1)])]),_:1}),a(ne,{value:"nft"},{default:s(()=>[...t[14]||(t[14]=[v("NFT",-1)])]),_:1}),a(ne,{value:"data"},{default:s(()=>[...t[15]||(t[15]=[v("Data",-1)])]),_:1})]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.assets.descLabel")},{default:s(()=>[a(U,{value:b.description,"onUpdate:value":t[6]||(t[6]=r=>b.description=r),placeholder:o(e)("wallet.assets.descPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),a(oe,{key:"transfer"},{tab:s(()=>[a(o(ue)),v(" "+i(o(e)("wallet.tabs.transfer")),1)]),default:s(()=>[a(V,{gutter:[24,24]},{default:s(()=>[a(p,{xs:24,md:12},{default:s(()=>[a(d,{title:o(e)("wallet.transfer.formCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[a(le,{"label-col":{span:6},"wrapper-col":{span:18}},{default:s(()=>[a(C,{label:o(e)("wallet.transfer.assetIdLabel"),required:""},{default:s(()=>[a(U,{value:y.assetId,"onUpdate:value":t[8]||(t[8]=r=>y.assetId=r),placeholder:o(e)("wallet.transfer.assetIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.transfer.toAddressLabel"),required:""},{default:s(()=>[a(U,{value:y.toAddress,"onUpdate:value":t[9]||(t[9]=r=>y.toAddress=r),placeholder:o(e)("wallet.transfer.toAddressPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{label:o(e)("wallet.transfer.amountLabel"),required:""},{default:s(()=>[a(Ie,{value:y.amount,"onUpdate:value":t[10]||(t[10]=r=>y.amount=r),min:0,step:.01,placeholder:o(e)("wallet.transfer.amountPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(C,{"wrapper-col":{offset:6,span:18}},{default:s(()=>[a(l,{type:"primary",loading:B.value,disabled:!y.assetId.trim()||!y.toAddress.trim()||!y.amount,onClick:xe},{icon:s(()=>[a(o(ue))]),default:s(()=>[v(" "+i(o(e)("wallet.transfer.submitButton")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),x.value?(u(),g("div",Je,[a(H,{color:x.value.success?"green":"red"},{default:s(()=>[v(i(x.value.success?o(e)("wallet.transfer.successTag"):o(e)("wallet.transfer.failureTag")),1)]),_:1},8,["color"]),h("pre",Qe,i(x.value.output),1)])):k("",!0)]),_:1},8,["title"])]),_:1}),a(p,{xs:24,md:12},{default:s(()=>[a(d,{title:o(e)("wallet.transfer.historyCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:s(()=>[a(l,{size:"small",loading:j.value,onClick:M},{icon:s(()=>[a(o(K))]),_:1},8,["loading"])]),default:s(()=>[j.value?(u(),g("div",Ge,[a(ee)])):(u(),T(ae,{key:1,columns:he.value,"data-source":L.value,pagination:{pageSize:10,showTotal:r=>o(e)("wallet.totals.rows",{count:r}),size:"small"},size:"small","row-class-name":()=>"wallet-row"},{bodyCell:s(({column:r,record:f})=>[r.key==="time"?(u(),g("span",Xe,i(f.time),1)):k("",!0),r.key==="type"?(u(),T(H,{key:1,color:f.type==="send"?"orange":"green"},{default:s(()=>[v(i(f.type),1)]),_:2},1032,["color"])):k("",!0),r.key==="amount"?(u(),g("span",Ye,i(f.amount),1)):k("",!0),r.key==="to"?(u(),g("span",Ze,i(f.to),1)):k("",!0)]),emptyText:s(()=>[a(te,{description:o(e)("wallet.transfer.historyEmpty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"]))]),_:1},8,["title"])]),_:1})]),_:1}),a(se,{open:D.value,"onUpdate:open":t[11]||(t[11]=r=>D.value=r),title:o(e)("wallet.transfer.confirmTitle"),"confirm-loading":B.value,onOk:Ce,"ok-text":o(e)("wallet.transfer.confirmOk"),"cancel-text":o(e)("common.cancel"),"ok-type":"primary"},{default:s(()=>[h("div",et,[h("p",tt,i(o(e)("wallet.transfer.confirmIntro")),1),a(ze,{column:1,bordered:"",size:"small",style:{"margin-top":"12px"}},{default:s(()=>[a(re,{label:o(e)("wallet.transfer.assetIdLabel")},{default:s(()=>[h("span",at,i(y.assetId),1)]),_:1},8,["label"]),a(re,{label:o(e)("wallet.transfer.toAddressLabel")},{default:s(()=>[h("span",lt,i(y.toAddress),1)]),_:1},8,["label"]),a(re,{label:o(e)("wallet.transfer.amountLabel")},{default:s(()=>[h("span",st,i(y.amount),1)]),_:1},8,["label"])]),_:1})])]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},ct=Le(ot,[["__scopeId","data-v-4ac0c1f5"]]);export{ct as default};
@@ -1,5 +1,5 @@
1
- import{_ as Oe,b as ze,u as Te,d}from"./index-B2f4ltyM.js";import{R as le,al as Fe,az as Pe,K as se,x as Ne,H as ne}from"./icons-zXb7lDZs.js";import{o as Re,M as h,R as g,P as i,u as a,c as s,N as n,r as p,K as u,L as c,O as f,Q as L,S as U,F as j,_ as oe,f as re}from"./vendor-B6ToihkA.js";const $e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Be={class:"page-title"},De={class:"page-sub"},je={key:0,style:{"text-align":"center",padding:"60px"}},qe=["title"],Ke={key:1,style:{color:"var(--text-primary)"}},Me={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Ee={key:4,style:{color:"var(--text-secondary)","font-size":"12px"}},We={key:0,style:{"text-align":"center",padding:"60px"}},Ve={style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},He={style:{color:"var(--text-secondary)","font-size":"12px"}},Je={style:{"margin-top":"16px"}},Qe={key:0,style:{"text-align":"center",padding:"60px"}},Ze={style:{display:"flex","align-items":"center",gap:"16px","margin-bottom":"16px"}},Ge={style:{color:"var(--text-primary)","font-size":"14px"}},Xe={key:0,style:{"margin-top":"16px"}},Ye={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)"}},et={style:{color:"var(--text-secondary)","margin-bottom":"12px"}},tt={key:0,style:{"margin-top":"16px"}},at={style:{background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},lt={__name:"WebAuthn",setup(st){const{t:e}=ze(),x=Te(),O=p("webauthn"),q=p(!1);async function ie(){q.value=!0;try{O.value==="webauthn"?await R():O.value==="sso"?await H():O.value==="2fa"&&await ee()}finally{q.value=!1}}function ue(l){l==="sso"&&!W.value&&H(),l==="2fa"&&!Q.value&&ee()}function z(l){try{return JSON.parse(l)}catch{return null}}function ce(l){return l?l.length<=16?l:l.slice(0,8)+"..."+l.slice(-8):"-"}const K=p(!1),M=p(!1),F=p([]),P=p(!1),N=p(""),de=re(()=>[{title:e("webauthn.credentialColumns.id"),key:"id",dataIndex:"id",width:"180px"},{title:e("webauthn.credentialColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:e("webauthn.credentialColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("webauthn.credentialColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:e("webauthn.credentialColumns.lastUsed"),key:"lastUsed",dataIndex:"lastUsed",width:"180px"},{title:e("webauthn.credentialColumns.actions"),key:"actions",width:"100px",fixed:"right"}]);async function R(){K.value=!0;try{const{output:l}=await x.execute("webauthn list --json",15e3),t=z(l);t&&Array.isArray(t)?F.value=t.map((o,y)=>({key:o.id||y,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):t&&t.credentials?F.value=t.credentials.map((o,y)=>({key:o.id||y,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):F.value=pe(l)}catch(l){d.error(e("webauthn.messages.loadFailed",{err:l.message}))}finally{K.value=!1}}function pe(l){const t=[],o=l.split(`
2
- `);for(const y of o){const _=y.trim();if(!_||_.startsWith("─")||_.startsWith("No "))continue;const b=_.split(/\s*[|│]\s*/);b.length>=2&&t.push({key:t.length,id:b[0]||"-",name:b[1]||"-",type:b[2]||"public-key",createdAt:b[3]||"-",lastUsed:b[4]||"-"})}return t}async function be(){const l=N.value.trim();if(!l){d.warning(e("webauthn.messages.credNameRequired"));return}M.value=!0;try{const t=l.replace(/"/g,'\\"'),{output:o}=await x.execute(`webauthn register --name "${t}" --json`,3e4);o.includes("error")||o.includes("失败")?d.error(e("webauthn.messages.registerFailed",{err:o.slice(0,120)})):(d.success(e("webauthn.messages.registerOk")),P.value=!1,N.value="",await R())}catch(t){d.error(e("webauthn.messages.registerFailed",{err:t.message}))}finally{M.value=!1}}async function fe(l){try{const{output:t}=await x.execute(`webauthn delete "${l.id}"`,15e3);t.includes("error")||t.includes("失败")?d.error(e("webauthn.messages.deleteFailed",{err:t.slice(0,120)})):(d.success(e("webauthn.messages.deleteOk")),await R())}catch(t){d.error(e("webauthn.messages.deleteFailed",{err:t.message}))}}const E=p(!1),W=p(!1),V=p(!1),$=p(!1),v=p({provider:"",clientId:"",redirectUrl:"",enabled:!1}),m=p({provider:void 0,clientId:"",clientSecret:"",issuerUrl:""}),ve=re(()=>[{key:"provider",label:e("webauthn.sso.providerLabel"),value:v.value.provider||e("webauthn.sso.notConfigured"),color:v.value.provider?"#1677ff":"#999"},{key:"status",label:e("webauthn.sso.statusLabel"),value:v.value.enabled?e("webauthn.sso.enabled"):e("webauthn.sso.disabled"),color:v.value.enabled?"#52c41a":"#faad14"}]);async function H(){E.value=!0;try{const{output:l}=await x.execute("sso status --json",15e3),t=z(l);if(t)v.value={provider:t.provider||"",clientId:t.clientId||t.client_id||"",redirectUrl:t.redirectUrl||t.redirect_url||t.callbackUrl||"",enabled:t.enabled||t.active||!1};else{const o=l.split(`
3
- `);for(const y of o){const _=y.trim().match(/^(.+?)\s*[:=:]\s*(.+)$/);if(_){const b=_[1].toLowerCase(),A=_[2].trim();b.includes("provider")?v.value.provider=A:b.includes("client")&&b.includes("id")?v.value.clientId=A:b.includes("redirect")||b.includes("callback")?v.value.redirectUrl=A:(b.includes("status")||b.includes("enabled"))&&(v.value.enabled=/true|enabled|active|已启用/i.test(A))}}}W.value=!0}catch{v.value={provider:"",clientId:"",redirectUrl:"",enabled:!1},W.value=!0}finally{E.value=!1}}async function me(){if(!m.value.provider){d.warning(e("webauthn.messages.providerRequired"));return}if(!m.value.clientId.trim()){d.warning(e("webauthn.messages.clientIdRequired"));return}V.value=!0;try{const l=[`config set sso.provider ${m.value.provider}`,`config set sso.clientId ${m.value.clientId.trim()}`];m.value.clientSecret.trim()&&l.push(`config set sso.clientSecret ${m.value.clientSecret.trim()}`),m.value.issuerUrl.trim()&&l.push(`config set sso.issuerUrl ${m.value.issuerUrl.trim()}`);for(const t of l)await x.execute(t,1e4);d.success(e("webauthn.messages.ssoSaveOk")),$.value=!1,await H()}catch(l){d.error(e("webauthn.messages.ssoSaveFailed",{err:l.message}))}finally{V.value=!1}}const J=p(!1),Q=p(!1),k=p(!1),S=p(!1),I=p(""),Z=p(!1),C=p([]);async function ee(){J.value=!0;try{const{output:l}=await x.execute("auth 2fa status --json",15e3),t=z(l);t?k.value=t.enabled||t.active||!1:k.value=/enabled|已启用|active/i.test(l),Q.value=!0}catch{k.value=!1,Q.value=!0}finally{J.value=!1}}async function ye(){S.value=!0,I.value="";try{const{output:l}=await x.execute("auth 2fa enable --type totp --json",2e4);if(l.includes("error")||l.includes("失败"))d.error(e("webauthn.messages.totpEnableFailed",{err:l.slice(0,120)}));else{const t=z(l);if(t&&t.secret){const o=[e("webauthn.tfa.totpResultPrefix",{secret:t.secret}),e("webauthn.tfa.totpResultUrl",{url:t.otpAuthUrl||t.uri||""})];I.value=o.join(`
4
- `)}else I.value=l;k.value=!0,d.success(e("webauthn.messages.totpEnableOk"))}}catch(l){d.error(e("webauthn.messages.totpEnableFailed",{err:l.message}))}finally{S.value=!1}}async function he(){S.value=!0,I.value="";try{const{output:l}=await x.execute("auth 2fa disable",15e3);l.includes("error")||l.includes("失败")?d.error(e("webauthn.messages.totpDisableFailed",{err:l.slice(0,120)})):(k.value=!1,d.success(e("webauthn.messages.totpDisableOk")))}catch(l){d.error(e("webauthn.messages.totpDisableFailed",{err:l.message}))}finally{S.value=!1}}async function _e(){Z.value=!0,C.value=[];try{const{output:l}=await x.execute("auth 2fa recovery-codes --json",15e3),t=z(l);if(t&&Array.isArray(t.codes))C.value=t.codes;else if(t&&Array.isArray(t))C.value=t;else{const o=l.split(`
5
- `).map(y=>y.trim()).filter(y=>y&&/^[A-Za-z0-9-]{6,}$/.test(y));C.value=o.length>0?o:[l.trim()||e("webauthn.messages.codesUnable")]}C.value.length>0&&C.value[0]!==e("webauthn.messages.codesUnable")&&d.success(e("webauthn.messages.codesOk"))}catch(l){d.error(e("webauthn.messages.codesFailed",{err:l.message}))}finally{Z.value=!1}}return Re(()=>{R()}),(l,t)=>{const o=u("a-button"),y=u("a-space"),_=u("a-spin"),b=u("a-tag"),A=u("a-popconfirm"),ge=u("a-empty"),we=u("a-table"),G=u("a-input"),T=u("a-form-item"),te=u("a-form"),ae=u("a-modal"),X=u("a-tab-pane"),xe=u("a-statistic"),B=u("a-card"),ke=u("a-col"),Ce=u("a-row"),D=u("a-descriptions-item"),Ue=u("a-descriptions"),Y=u("a-select-option"),Ae=u("a-select"),Se=u("a-input-password"),Ie=u("a-alert"),Le=u("a-tabs");return c(),h("div",null,[g("div",$e,[g("div",null,[g("h2",Be,i(a(e)("webauthn.title")),1),g("p",De,i(a(e)("webauthn.subtitle")),1)]),s(o,{type:"primary",ghost:"",loading:q.value,onClick:ie},{icon:n(()=>[s(a(le))]),default:n(()=>[f(" "+i(a(e)("webauthn.refresh")),1)]),_:1},8,["loading"])]),s(Le,{activeKey:O.value,"onUpdate:activeKey":t[9]||(t[9]=r=>O.value=r),type:"card",onChange:ue},{default:n(()=>[s(X,{key:"webauthn"},{tab:n(()=>[s(a(se)),f(" "+i(a(e)("webauthn.tabs.webauthn")),1)]),default:n(()=>[s(y,{style:{"margin-bottom":"16px"}},{default:n(()=>[s(o,{type:"primary",onClick:t[0]||(t[0]=r=>P.value=!0)},{icon:n(()=>[s(a(Fe))]),default:n(()=>[f(" "+i(a(e)("webauthn.credentials.registerButton")),1)]),_:1})]),_:1}),K.value?(c(),h("div",je,[s(_,{size:"large"})])):(c(),L(we,{key:1,columns:de.value,"data-source":F.value,pagination:{pageSize:20,showTotal:r=>a(e)("webauthn.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"auth-row"},{bodyCell:n(({column:r,record:w})=>[r.key==="id"?(c(),h("span",{key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"},title:w.id},i(ce(w.id)),9,qe)):U("",!0),r.key==="name"?(c(),h("span",Ke,i(w.name),1)):U("",!0),r.key==="type"?(c(),L(b,{key:2,color:"blue"},{default:n(()=>[f(i(w.type||"public-key"),1)]),_:2},1024)):U("",!0),r.key==="createdAt"?(c(),h("span",Me,i(w.createdAt||"-"),1)):U("",!0),r.key==="lastUsed"?(c(),h("span",Ee,i(w.lastUsed||"-"),1)):U("",!0),r.key==="actions"?(c(),L(A,{key:5,title:a(e)("webauthn.credentials.deleteConfirm"),"ok-text":a(e)("webauthn.credentials.deleteOk"),"cancel-text":a(e)("common.cancel"),onConfirm:nt=>fe(w)},{default:n(()=>[s(o,{type:"link",danger:"",size:"small"},{icon:n(()=>[s(a(Pe))]),default:n(()=>[f(" "+i(a(e)("webauthn.credentials.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):U("",!0)]),emptyText:n(()=>[s(ge,{description:a(e)("webauthn.credentials.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),s(ae,{open:P.value,"onUpdate:open":t[2]||(t[2]=r=>P.value=r),title:a(e)("webauthn.credentials.registerTitle"),"confirm-loading":M.value,onOk:be,"ok-text":a(e)("webauthn.credentials.registerOk"),"cancel-text":a(e)("common.cancel")},{default:n(()=>[s(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[s(T,{label:a(e)("webauthn.credentials.nameLabel"),required:""},{default:n(()=>[s(G,{value:N.value,"onUpdate:value":t[1]||(t[1]=r=>N.value=r),placeholder:a(e)("webauthn.credentials.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),s(X,{key:"sso"},{tab:n(()=>[s(a(Ne)),f(" "+i(a(e)("webauthn.tabs.sso")),1)]),default:n(()=>[E.value?(c(),h("div",We,[s(_,{size:"large"})])):(c(),h(j,{key:1},[s(Ce,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[(c(!0),h(j,null,oe(ve.value,r=>(c(),L(ke,{xs:12,sm:6,key:r.key},{default:n(()=>[s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:n(()=>[s(xe,{title:r.label,value:r.value,"value-style":{color:r.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:a(e)("webauthn.sso.currentTitle")},{default:n(()=>[s(Ue,{column:{xs:1,sm:2},bordered:"",size:"small",style:{background:"var(--bg-card)"}},{default:n(()=>[s(D,{label:a(e)("webauthn.sso.providerLabel")},{default:n(()=>[s(b,{color:v.value.provider?"blue":"default"},{default:n(()=>[f(i(v.value.provider||a(e)("webauthn.sso.notConfigured")),1)]),_:1},8,["color"])]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.clientIdLabel")},{default:n(()=>[g("span",Ve,i(v.value.clientId||"-"),1)]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.redirectUrlLabel")},{default:n(()=>[g("span",He,i(v.value.redirectUrl||"-"),1)]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.statusLabel")},{default:n(()=>[s(b,{color:v.value.enabled?"green":"default"},{default:n(()=>[f(i(v.value.enabled?a(e)("webauthn.sso.enabled"):a(e)("webauthn.sso.disabled")),1)]),_:1},8,["color"])]),_:1},8,["label"])]),_:1}),g("div",Je,[s(o,{type:"primary",onClick:t[3]||(t[3]=r=>$.value=!0)},{icon:n(()=>[s(a(se))]),default:n(()=>[f(" "+i(a(e)("webauthn.sso.configureButton")),1)]),_:1})])]),_:1},8,["title"])],64)),s(ae,{open:$.value,"onUpdate:open":t[8]||(t[8]=r=>$.value=r),title:a(e)("webauthn.sso.modalTitle"),"confirm-loading":V.value,onOk:me,"ok-text":a(e)("webauthn.sso.modalOk"),"cancel-text":a(e)("common.cancel"),width:"520px"},{default:n(()=>[s(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[s(T,{label:a(e)("webauthn.sso.providerLabel"),required:""},{default:n(()=>[s(Ae,{value:m.value.provider,"onUpdate:value":t[4]||(t[4]=r=>m.value.provider=r),placeholder:a(e)("webauthn.sso.providerPlaceholder")},{default:n(()=>[s(Y,{value:"OIDC"},{default:n(()=>[...t[10]||(t[10]=[f("OIDC",-1)])]),_:1}),s(Y,{value:"SAML"},{default:n(()=>[...t[11]||(t[11]=[f("SAML",-1)])]),_:1}),s(Y,{value:"LDAP"},{default:n(()=>[...t[12]||(t[12]=[f("LDAP",-1)])]),_:1})]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.clientIdLabel"),required:""},{default:n(()=>[s(G,{value:m.value.clientId,"onUpdate:value":t[5]||(t[5]=r=>m.value.clientId=r),placeholder:a(e)("webauthn.sso.clientIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.clientSecretLabel")},{default:n(()=>[s(Se,{value:m.value.clientSecret,"onUpdate:value":t[6]||(t[6]=r=>m.value.clientSecret=r),placeholder:a(e)("webauthn.sso.clientSecretPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.issuerLabel")},{default:n(()=>[s(G,{value:m.value.issuerUrl,"onUpdate:value":t[7]||(t[7]=r=>m.value.issuerUrl=r),placeholder:a(e)("webauthn.sso.issuerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),s(X,{key:"2fa"},{tab:n(()=>[s(a(ne)),f(" "+i(a(e)("webauthn.tabs.tfa")),1)]),default:n(()=>[J.value?(c(),h("div",Qe,[s(_,{size:"large"})])):(c(),h(j,{key:1},[s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},title:a(e)("webauthn.tfa.totpCardTitle")},{default:n(()=>[g("div",Ze,[g("span",Ge,i(a(e)("webauthn.tfa.statusPrefix")),1),s(b,{color:k.value?"green":"default",style:{"font-size":"13px"}},{default:n(()=>[f(i(k.value?a(e)("webauthn.tfa.enabled"):a(e)("webauthn.tfa.disabled")),1)]),_:1},8,["color"])]),s(y,null,{default:n(()=>[k.value?(c(),L(A,{key:1,title:a(e)("webauthn.tfa.disableConfirm"),"ok-text":a(e)("webauthn.tfa.disableOk"),"cancel-text":a(e)("common.cancel"),onConfirm:he},{default:n(()=>[s(o,{danger:"",loading:S.value},{default:n(()=>[f(i(a(e)("webauthn.tfa.disableButton")),1)]),_:1},8,["loading"])]),_:1},8,["title","ok-text","cancel-text"])):(c(),L(o,{key:0,type:"primary",loading:S.value,onClick:ye},{icon:n(()=>[s(a(ne))]),default:n(()=>[f(" "+i(a(e)("webauthn.tfa.enableButton")),1)]),_:1},8,["loading"]))]),_:1}),I.value?(c(),h("div",Xe,[g("pre",Ye,i(I.value),1)])):U("",!0)]),_:1},8,["title"]),s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:a(e)("webauthn.tfa.recoveryCardTitle")},{default:n(()=>[g("p",et,i(a(e)("webauthn.tfa.recoveryHint")),1),s(o,{loading:Z.value,onClick:_e},{icon:n(()=>[s(a(le))]),default:n(()=>[f(" "+i(a(e)("webauthn.tfa.generateButton")),1)]),_:1},8,["loading"]),C.value.length>0?(c(),h("div",tt,[s(Ie,{type:"warning","show-icon":"",style:{"margin-bottom":"12px"},message:a(e)("webauthn.tfa.saveAlert")},null,8,["message"]),g("div",at,[(c(!0),h(j,null,oe(C.value,(r,w)=>(c(),h("div",{key:w,style:{"font-family":"monospace","font-size":"14px",color:"#e0e0e0",padding:"4px 0","letter-spacing":"2px"}},i(w+1)+". "+i(r),1))),128))])])):U("",!0)]),_:1},8,["title"])],64))]),_:1})]),_:1},8,["activeKey"])])}}},ut=Oe(lt,[["__scopeId","data-v-4aeb9054"]]);export{ut as default};
1
+ import{_ as Le,b as ze,u as Te,d}from"./index-BPtmPFwc.js";import{R as le,ap as Fe,aF as Pe,K as se,z as Ne,O as ne}from"./icons-B2G69bhT.js";import{o as Re,M as h,R as g,P as i,u as a,c as s,N as n,r as p,K as u,L as c,O as f,Q as O,S as U,F as j,Y as oe,f as re}from"./vendor-Ci2pTZ_t.js";const $e={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Be={class:"page-title"},De={class:"page-sub"},je={key:0,style:{"text-align":"center",padding:"60px"}},qe=["title"],Ke={key:1,style:{color:"var(--text-primary)"}},Me={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Ee={key:4,style:{color:"var(--text-secondary)","font-size":"12px"}},We={key:0,style:{"text-align":"center",padding:"60px"}},Ve={style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},Je={style:{color:"var(--text-secondary)","font-size":"12px"}},He={style:{"margin-top":"16px"}},Qe={key:0,style:{"text-align":"center",padding:"60px"}},Ye={style:{display:"flex","align-items":"center",gap:"16px","margin-bottom":"16px"}},Ze={style:{color:"var(--text-primary)","font-size":"14px"}},Ge={key:0,style:{"margin-top":"16px"}},Xe={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)"}},et={style:{color:"var(--text-secondary)","margin-bottom":"12px"}},tt={key:0,style:{"margin-top":"16px"}},at={style:{background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},lt={__name:"WebAuthn",setup(st){const{t:e}=ze(),x=Te(),L=p("webauthn"),q=p(!1);async function ie(){q.value=!0;try{L.value==="webauthn"?await R():L.value==="sso"?await J():L.value==="2fa"&&await ee()}finally{q.value=!1}}function ue(l){l==="sso"&&!W.value&&J(),l==="2fa"&&!Q.value&&ee()}function z(l){try{return JSON.parse(l)}catch{return null}}function ce(l){return l?l.length<=16?l:l.slice(0,8)+"..."+l.slice(-8):"-"}const K=p(!1),M=p(!1),F=p([]),P=p(!1),N=p(""),de=re(()=>[{title:e("webauthn.credentialColumns.id"),key:"id",dataIndex:"id",width:"180px"},{title:e("webauthn.credentialColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:e("webauthn.credentialColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("webauthn.credentialColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:e("webauthn.credentialColumns.lastUsed"),key:"lastUsed",dataIndex:"lastUsed",width:"180px"},{title:e("webauthn.credentialColumns.actions"),key:"actions",width:"100px",fixed:"right"}]);async function R(){K.value=!0;try{const{output:l}=await x.execute("webauthn list --json",15e3),t=z(l);t&&Array.isArray(t)?F.value=t.map((o,y)=>({key:o.id||y,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):t&&t.credentials?F.value=t.credentials.map((o,y)=>({key:o.id||y,id:o.id||"-",name:o.name||o.displayName||"-",type:o.type||"public-key",createdAt:o.createdAt||o.created||"-",lastUsed:o.lastUsed||o.lastAuthentication||"-"})):F.value=pe(l)}catch(l){d.error(e("webauthn.messages.loadFailed",{err:l.message}))}finally{K.value=!1}}function pe(l){const t=[],o=l.split(`
2
+ `);for(const y of o){const _=y.trim();if(!_||_.startsWith("─")||_.startsWith("No "))continue;const b=_.split(/\s*[|│]\s*/);b.length>=2&&t.push({key:t.length,id:b[0]||"-",name:b[1]||"-",type:b[2]||"public-key",createdAt:b[3]||"-",lastUsed:b[4]||"-"})}return t}async function be(){const l=N.value.trim();if(!l){d.warning(e("webauthn.messages.credNameRequired"));return}M.value=!0;try{const t=l.replace(/"/g,'\\"'),{output:o}=await x.execute(`webauthn register --name "${t}" --json`,3e4);o.includes("error")||o.includes("失败")?d.error(e("webauthn.messages.registerFailed",{err:o.slice(0,120)})):(d.success(e("webauthn.messages.registerOk")),P.value=!1,N.value="",await R())}catch(t){d.error(e("webauthn.messages.registerFailed",{err:t.message}))}finally{M.value=!1}}async function fe(l){try{const{output:t}=await x.execute(`webauthn delete "${l.id}"`,15e3);t.includes("error")||t.includes("失败")?d.error(e("webauthn.messages.deleteFailed",{err:t.slice(0,120)})):(d.success(e("webauthn.messages.deleteOk")),await R())}catch(t){d.error(e("webauthn.messages.deleteFailed",{err:t.message}))}}const E=p(!1),W=p(!1),V=p(!1),$=p(!1),v=p({provider:"",clientId:"",redirectUrl:"",enabled:!1}),m=p({provider:void 0,clientId:"",clientSecret:"",issuerUrl:""}),ve=re(()=>[{key:"provider",label:e("webauthn.sso.providerLabel"),value:v.value.provider||e("webauthn.sso.notConfigured"),color:v.value.provider?"#1677ff":"#999"},{key:"status",label:e("webauthn.sso.statusLabel"),value:v.value.enabled?e("webauthn.sso.enabled"):e("webauthn.sso.disabled"),color:v.value.enabled?"#52c41a":"#faad14"}]);async function J(){E.value=!0;try{const{output:l}=await x.execute("sso status --json",15e3),t=z(l);if(t)v.value={provider:t.provider||"",clientId:t.clientId||t.client_id||"",redirectUrl:t.redirectUrl||t.redirect_url||t.callbackUrl||"",enabled:t.enabled||t.active||!1};else{const o=l.split(`
3
+ `);for(const y of o){const _=y.trim().match(/^(.+?)\s*[:=:]\s*(.+)$/);if(_){const b=_[1].toLowerCase(),A=_[2].trim();b.includes("provider")?v.value.provider=A:b.includes("client")&&b.includes("id")?v.value.clientId=A:b.includes("redirect")||b.includes("callback")?v.value.redirectUrl=A:(b.includes("status")||b.includes("enabled"))&&(v.value.enabled=/true|enabled|active|已启用/i.test(A))}}}W.value=!0}catch{v.value={provider:"",clientId:"",redirectUrl:"",enabled:!1},W.value=!0}finally{E.value=!1}}async function me(){if(!m.value.provider){d.warning(e("webauthn.messages.providerRequired"));return}if(!m.value.clientId.trim()){d.warning(e("webauthn.messages.clientIdRequired"));return}V.value=!0;try{const l=[`config set sso.provider ${m.value.provider}`,`config set sso.clientId ${m.value.clientId.trim()}`];m.value.clientSecret.trim()&&l.push(`config set sso.clientSecret ${m.value.clientSecret.trim()}`),m.value.issuerUrl.trim()&&l.push(`config set sso.issuerUrl ${m.value.issuerUrl.trim()}`);for(const t of l)await x.execute(t,1e4);d.success(e("webauthn.messages.ssoSaveOk")),$.value=!1,await J()}catch(l){d.error(e("webauthn.messages.ssoSaveFailed",{err:l.message}))}finally{V.value=!1}}const H=p(!1),Q=p(!1),k=p(!1),S=p(!1),I=p(""),Y=p(!1),C=p([]);async function ee(){H.value=!0;try{const{output:l}=await x.execute("auth 2fa status --json",15e3),t=z(l);t?k.value=t.enabled||t.active||!1:k.value=/enabled|已启用|active/i.test(l),Q.value=!0}catch{k.value=!1,Q.value=!0}finally{H.value=!1}}async function ye(){S.value=!0,I.value="";try{const{output:l}=await x.execute("auth 2fa enable --type totp --json",2e4);if(l.includes("error")||l.includes("失败"))d.error(e("webauthn.messages.totpEnableFailed",{err:l.slice(0,120)}));else{const t=z(l);if(t&&t.secret){const o=[e("webauthn.tfa.totpResultPrefix",{secret:t.secret}),e("webauthn.tfa.totpResultUrl",{url:t.otpAuthUrl||t.uri||""})];I.value=o.join(`
4
+ `)}else I.value=l;k.value=!0,d.success(e("webauthn.messages.totpEnableOk"))}}catch(l){d.error(e("webauthn.messages.totpEnableFailed",{err:l.message}))}finally{S.value=!1}}async function he(){S.value=!0,I.value="";try{const{output:l}=await x.execute("auth 2fa disable",15e3);l.includes("error")||l.includes("失败")?d.error(e("webauthn.messages.totpDisableFailed",{err:l.slice(0,120)})):(k.value=!1,d.success(e("webauthn.messages.totpDisableOk")))}catch(l){d.error(e("webauthn.messages.totpDisableFailed",{err:l.message}))}finally{S.value=!1}}async function _e(){Y.value=!0,C.value=[];try{const{output:l}=await x.execute("auth 2fa recovery-codes --json",15e3),t=z(l);if(t&&Array.isArray(t.codes))C.value=t.codes;else if(t&&Array.isArray(t))C.value=t;else{const o=l.split(`
5
+ `).map(y=>y.trim()).filter(y=>y&&/^[A-Za-z0-9-]{6,}$/.test(y));C.value=o.length>0?o:[l.trim()||e("webauthn.messages.codesUnable")]}C.value.length>0&&C.value[0]!==e("webauthn.messages.codesUnable")&&d.success(e("webauthn.messages.codesOk"))}catch(l){d.error(e("webauthn.messages.codesFailed",{err:l.message}))}finally{Y.value=!1}}return Re(()=>{R()}),(l,t)=>{const o=u("a-button"),y=u("a-space"),_=u("a-spin"),b=u("a-tag"),A=u("a-popconfirm"),ge=u("a-empty"),we=u("a-table"),Z=u("a-input"),T=u("a-form-item"),te=u("a-form"),ae=u("a-modal"),G=u("a-tab-pane"),xe=u("a-statistic"),B=u("a-card"),ke=u("a-col"),Ce=u("a-row"),D=u("a-descriptions-item"),Ue=u("a-descriptions"),X=u("a-select-option"),Ae=u("a-select"),Se=u("a-input-password"),Ie=u("a-alert"),Oe=u("a-tabs");return c(),h("div",null,[g("div",$e,[g("div",null,[g("h2",Be,i(a(e)("webauthn.title")),1),g("p",De,i(a(e)("webauthn.subtitle")),1)]),s(o,{type:"primary",ghost:"",loading:q.value,onClick:ie},{icon:n(()=>[s(a(le))]),default:n(()=>[f(" "+i(a(e)("webauthn.refresh")),1)]),_:1},8,["loading"])]),s(Oe,{activeKey:L.value,"onUpdate:activeKey":t[9]||(t[9]=r=>L.value=r),type:"card",onChange:ue},{default:n(()=>[s(G,{key:"webauthn"},{tab:n(()=>[s(a(se)),f(" "+i(a(e)("webauthn.tabs.webauthn")),1)]),default:n(()=>[s(y,{style:{"margin-bottom":"16px"}},{default:n(()=>[s(o,{type:"primary",onClick:t[0]||(t[0]=r=>P.value=!0)},{icon:n(()=>[s(a(Fe))]),default:n(()=>[f(" "+i(a(e)("webauthn.credentials.registerButton")),1)]),_:1})]),_:1}),K.value?(c(),h("div",je,[s(_,{size:"large"})])):(c(),O(we,{key:1,columns:de.value,"data-source":F.value,pagination:{pageSize:20,showTotal:r=>a(e)("webauthn.totals.rows",{count:r})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"auth-row"},{bodyCell:n(({column:r,record:w})=>[r.key==="id"?(c(),h("span",{key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"},title:w.id},i(ce(w.id)),9,qe)):U("",!0),r.key==="name"?(c(),h("span",Ke,i(w.name),1)):U("",!0),r.key==="type"?(c(),O(b,{key:2,color:"blue"},{default:n(()=>[f(i(w.type||"public-key"),1)]),_:2},1024)):U("",!0),r.key==="createdAt"?(c(),h("span",Me,i(w.createdAt||"-"),1)):U("",!0),r.key==="lastUsed"?(c(),h("span",Ee,i(w.lastUsed||"-"),1)):U("",!0),r.key==="actions"?(c(),O(A,{key:5,title:a(e)("webauthn.credentials.deleteConfirm"),"ok-text":a(e)("webauthn.credentials.deleteOk"),"cancel-text":a(e)("common.cancel"),onConfirm:nt=>fe(w)},{default:n(()=>[s(o,{type:"link",danger:"",size:"small"},{icon:n(()=>[s(a(Pe))]),default:n(()=>[f(" "+i(a(e)("webauthn.credentials.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):U("",!0)]),emptyText:n(()=>[s(ge,{description:a(e)("webauthn.credentials.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),s(ae,{open:P.value,"onUpdate:open":t[2]||(t[2]=r=>P.value=r),title:a(e)("webauthn.credentials.registerTitle"),"confirm-loading":M.value,onOk:be,"ok-text":a(e)("webauthn.credentials.registerOk"),"cancel-text":a(e)("common.cancel")},{default:n(()=>[s(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[s(T,{label:a(e)("webauthn.credentials.nameLabel"),required:""},{default:n(()=>[s(Z,{value:N.value,"onUpdate:value":t[1]||(t[1]=r=>N.value=r),placeholder:a(e)("webauthn.credentials.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),s(G,{key:"sso"},{tab:n(()=>[s(a(Ne)),f(" "+i(a(e)("webauthn.tabs.sso")),1)]),default:n(()=>[E.value?(c(),h("div",We,[s(_,{size:"large"})])):(c(),h(j,{key:1},[s(Ce,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[(c(!0),h(j,null,oe(ve.value,r=>(c(),O(ke,{xs:12,sm:6,key:r.key},{default:n(()=>[s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:n(()=>[s(xe,{title:r.label,value:r.value,"value-style":{color:r.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:a(e)("webauthn.sso.currentTitle")},{default:n(()=>[s(Ue,{column:{xs:1,sm:2},bordered:"",size:"small",style:{background:"var(--bg-card)"}},{default:n(()=>[s(D,{label:a(e)("webauthn.sso.providerLabel")},{default:n(()=>[s(b,{color:v.value.provider?"blue":"default"},{default:n(()=>[f(i(v.value.provider||a(e)("webauthn.sso.notConfigured")),1)]),_:1},8,["color"])]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.clientIdLabel")},{default:n(()=>[g("span",Ve,i(v.value.clientId||"-"),1)]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.redirectUrlLabel")},{default:n(()=>[g("span",Je,i(v.value.redirectUrl||"-"),1)]),_:1},8,["label"]),s(D,{label:a(e)("webauthn.sso.statusLabel")},{default:n(()=>[s(b,{color:v.value.enabled?"green":"default"},{default:n(()=>[f(i(v.value.enabled?a(e)("webauthn.sso.enabled"):a(e)("webauthn.sso.disabled")),1)]),_:1},8,["color"])]),_:1},8,["label"])]),_:1}),g("div",He,[s(o,{type:"primary",onClick:t[3]||(t[3]=r=>$.value=!0)},{icon:n(()=>[s(a(se))]),default:n(()=>[f(" "+i(a(e)("webauthn.sso.configureButton")),1)]),_:1})])]),_:1},8,["title"])],64)),s(ae,{open:$.value,"onUpdate:open":t[8]||(t[8]=r=>$.value=r),title:a(e)("webauthn.sso.modalTitle"),"confirm-loading":V.value,onOk:me,"ok-text":a(e)("webauthn.sso.modalOk"),"cancel-text":a(e)("common.cancel"),width:"520px"},{default:n(()=>[s(te,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[s(T,{label:a(e)("webauthn.sso.providerLabel"),required:""},{default:n(()=>[s(Ae,{value:m.value.provider,"onUpdate:value":t[4]||(t[4]=r=>m.value.provider=r),placeholder:a(e)("webauthn.sso.providerPlaceholder")},{default:n(()=>[s(X,{value:"OIDC"},{default:n(()=>[...t[10]||(t[10]=[f("OIDC",-1)])]),_:1}),s(X,{value:"SAML"},{default:n(()=>[...t[11]||(t[11]=[f("SAML",-1)])]),_:1}),s(X,{value:"LDAP"},{default:n(()=>[...t[12]||(t[12]=[f("LDAP",-1)])]),_:1})]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.clientIdLabel"),required:""},{default:n(()=>[s(Z,{value:m.value.clientId,"onUpdate:value":t[5]||(t[5]=r=>m.value.clientId=r),placeholder:a(e)("webauthn.sso.clientIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.clientSecretLabel")},{default:n(()=>[s(Se,{value:m.value.clientSecret,"onUpdate:value":t[6]||(t[6]=r=>m.value.clientSecret=r),placeholder:a(e)("webauthn.sso.clientSecretPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(T,{label:a(e)("webauthn.sso.issuerLabel")},{default:n(()=>[s(Z,{value:m.value.issuerUrl,"onUpdate:value":t[7]||(t[7]=r=>m.value.issuerUrl=r),placeholder:a(e)("webauthn.sso.issuerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),s(G,{key:"2fa"},{tab:n(()=>[s(a(ne)),f(" "+i(a(e)("webauthn.tabs.tfa")),1)]),default:n(()=>[H.value?(c(),h("div",Qe,[s(_,{size:"large"})])):(c(),h(j,{key:1},[s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},title:a(e)("webauthn.tfa.totpCardTitle")},{default:n(()=>[g("div",Ye,[g("span",Ze,i(a(e)("webauthn.tfa.statusPrefix")),1),s(b,{color:k.value?"green":"default",style:{"font-size":"13px"}},{default:n(()=>[f(i(k.value?a(e)("webauthn.tfa.enabled"):a(e)("webauthn.tfa.disabled")),1)]),_:1},8,["color"])]),s(y,null,{default:n(()=>[k.value?(c(),O(A,{key:1,title:a(e)("webauthn.tfa.disableConfirm"),"ok-text":a(e)("webauthn.tfa.disableOk"),"cancel-text":a(e)("common.cancel"),onConfirm:he},{default:n(()=>[s(o,{danger:"",loading:S.value},{default:n(()=>[f(i(a(e)("webauthn.tfa.disableButton")),1)]),_:1},8,["loading"])]),_:1},8,["title","ok-text","cancel-text"])):(c(),O(o,{key:0,type:"primary",loading:S.value,onClick:ye},{icon:n(()=>[s(a(ne))]),default:n(()=>[f(" "+i(a(e)("webauthn.tfa.enableButton")),1)]),_:1},8,["loading"]))]),_:1}),I.value?(c(),h("div",Ge,[g("pre",Xe,i(I.value),1)])):U("",!0)]),_:1},8,["title"]),s(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},title:a(e)("webauthn.tfa.recoveryCardTitle")},{default:n(()=>[g("p",et,i(a(e)("webauthn.tfa.recoveryHint")),1),s(o,{loading:Y.value,onClick:_e},{icon:n(()=>[s(a(le))]),default:n(()=>[f(" "+i(a(e)("webauthn.tfa.generateButton")),1)]),_:1},8,["loading"]),C.value.length>0?(c(),h("div",tt,[s(Ie,{type:"warning","show-icon":"",style:{"margin-bottom":"12px"},message:a(e)("webauthn.tfa.saveAlert")},null,8,["message"]),g("div",at,[(c(!0),h(j,null,oe(C.value,(r,w)=>(c(),h("div",{key:w,style:{"font-family":"monospace","font-size":"14px",color:"#e0e0e0",padding:"4px 0","letter-spacing":"2px"}},i(w+1)+". "+i(r),1))),128))])])):U("",!0)]),_:1},8,["title"])],64))]),_:1})]),_:1},8,["activeKey"])])}}},ut=Le(lt,[["__scopeId","data-v-4aeb9054"]]);export{ut as default};
@@ -1 +1 @@
1
- import{E as Q,r as C,o as X,M as m,R as _,P as i,c as a,N as l,K as f,L as p,O as y,u as b,Q as N,Y as Z,a1 as x,F as q,_ as V,S as R,f as ee}from"./vendor-B6ToihkA.js";import{u as te,_ as oe,b as ae,d as k}from"./index-B2f4ltyM.js";import{u as le}from"./useFs-BW1piLQM.js";import{al as se,R as ne}from"./icons-zXb7lDZs.js";import"./useShellMode-CgR0wCYM.js";const re=Q("workflow",()=>{const w=te(),c=C([]),d=C(null),t=C([]),h=C("idle"),S=C(!1),P=C(null);async function F(){S.value=!0,P.value=null;try{await w.waitConnected();const s=await w.sendRaw({type:"workflow-list"});return c.value=Array.isArray(s.workflows)?s.workflows:[],c.value}catch(s){throw P.value=s.message,s}finally{S.value=!1}}async function I(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-get",id:s});return d.value=e.workflow||null,d.value}async function W(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-save",workflow:s});if(e.saved){const r=c.value.findIndex(n=>n.id===s.id);r>=0?c.value.splice(r,1,s):c.value.push(s)}return e}async function E(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-remove",id:s});return e.removed&&(c.value=c.value.filter(r=>r.id!==s)),e}async function A(s,{onEvent:e}={}){await w.waitConnected(),t.value=[],h.value="running";const r=w.onMessage(n=>{!n||typeof n.type!="string"||n.type.startsWith("workflow:")&&(t.value.push(n),e&&e(n),n.type==="workflow:done"&&(h.value=n.status||"completed"))});try{return await w.sendRaw({type:"workflow-run",id:s},12e4)}catch(n){throw h.value="failed",P.value=n.message,n}finally{r()}}function M(s){const e=[];if(!s||typeof s!="object")return{valid:!1,errors:["workflow must be an object"]};if(s.id||e.push("id required"),s.name||e.push("name required"),!Array.isArray(s.steps)||s.steps.length===0)e.push("steps required");else{let z=function(u){U.set(u,J);for(const v of n.get(u)||[]){if(!n.has(v)){e.push(`unknown dependency: ${v}`);continue}const L=U.get(v);if(L===J){e.push(`cycle via ${u} -> ${v}`);return}L===g&&z(v)}U.set(u,j)};const r=new Set;for(const u of s.steps)u.id||e.push("step.id required"),r.has(u.id)&&e.push(`duplicate step id: ${u.id}`),r.add(u.id);const n=new Map;for(const u of s.steps)n.set(u.id,u.dependsOn||[]);const g=0,J=1,j=2,U=new Map([...n.keys()].map(u=>[u,g]));for(const u of n.keys())U.get(u)===g&&z(u)}return{valid:e.length===0,errors:e}}function B(s){return JSON.stringify(s,null,2)}return{workflows:c,current:d,runEvents:t,runStatus:h,loading:S,error:P,list:F,get:I,save:W,remove:E,run:A,validateLocal:M,exportJson:B}}),ie={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ue={class:"page-title"},de={class:"page-sub"},ce={style:{flex:"1"}},pe={style:{"font-weight":"500"}},fe={style:{color:"#888","font-size":"12px"}},we={style:{color:"#888","font-size":"12px"}},ve={key:0,style:{"margin-top":"12px",color:"#d32f2f"}},me={style:{color:"#1976d2"}},ye={key:0},ke={key:1},_e={key:2,style:{color:"#555"}},he={__name:"WorkflowEditor",setup(w){const{t:c}=ae(),d=re(),t=C(null),h=C(!1),S=ee(()=>t.value?d.validateLocal(t.value):null);X(()=>d.list().catch(()=>{}));function P(){t.value={id:"",name:"",description:"",steps:[{id:"step1",message:"",dependsOn:[]}]}}async function F(e){try{const r=await d.get(e);r&&(t.value=JSON.parse(JSON.stringify(r)),t.value.steps||(t.value.steps=[]))}catch(r){k.error(c("workflow.msg.loadFailed",{err:r.message}))}}function I(){t.value.steps||(t.value.steps=[]),t.value.steps.push({id:`step${t.value.steps.length+1}`,message:"",dependsOn:[]})}function W(e){t.value.steps.splice(e,1)}async function E(){const e=d.validateLocal(t.value);if(!e.valid){k.error(e.errors[0]);return}try{await d.save(t.value),k.success(c("workflow.msg.saveSuccess"))}catch(r){k.error(c("workflow.msg.saveFailed",{err:r.message}))}}async function A(e){try{await d.remove(e),t.value?.id===e&&(t.value=null),k.success(c("workflow.msg.deleteSuccess"))}catch(r){k.error(c("workflow.msg.deleteFailed",{err:r.message}))}}async function M(){h.value=!0;try{await d.run(t.value.id),k.success(c("workflow.msg.runSuccess",{status:d.runStatus}))}catch(e){k.error(c("workflow.msg.runFailed",{err:e.message}))}finally{h.value=!1}}const B=le();async function s(){try{const e=await B.saveJson(JSON.parse(d.exportJson(t.value)),{defaultPath:`${t.value.id||"workflow"}.json`});if(e.canceled)return;e.path&&k.success(c("workflow.msg.exportSuccess",{path:e.path}))}catch(e){k.error(c("workflow.msg.exportFailed",{err:e.message}))}}return(e,r)=>{const n=f("a-button"),g=f("a-space"),J=f("a-empty"),j=f("a-list-item"),U=f("a-list"),z=f("a-card"),u=f("a-col"),v=f("a-input"),L=f("a-form-item"),D=f("a-divider"),H=f("a-select"),K=f("a-input-group"),T=f("a-textarea"),Y=f("a-form"),G=f("a-row");return p(),m("div",null,[_("div",ie,[_("div",null,[_("h2",ue,i(e.$t("workflow.title")),1),_("p",de,i(e.$t("workflow.subtitle")),1)]),a(g,null,{default:l(()=>[a(n,{onClick:P,type:"primary"},{icon:l(()=>[a(b(se))]),default:l(()=>[y(" "+i(e.$t("workflow.new")),1)]),_:1}),a(n,{ghost:"",loading:b(d).loading,onClick:r[0]||(r[0]=o=>b(d).list())},{icon:l(()=>[a(b(ne))]),default:l(()=>[y(" "+i(e.$t("workflow.refresh")),1)]),_:1},8,["loading"])]),_:1})]),a(G,{gutter:16},{default:l(()=>[a(u,{span:8},{default:l(()=>[a(z,{title:e.$t("workflow.list.title"),size:"small"},{default:l(()=>[b(d).workflows.length?(p(),N(U,{key:1,"data-source":b(d).workflows,size:"small"},{renderItem:l(({item:o})=>[a(j,{class:Z({active:t.value?.id===o.id}),style:{cursor:"pointer"},onClick:O=>F(o.id)},{default:l(()=>[_("div",ce,[_("div",pe,i(o.name||o.id),1),_("div",fe,i(e.$t("workflow.list.stepCount",{n:(o.steps||[]).length})),1)]),a(n,{size:"small",danger:"",type:"text",onClick:x(O=>A(o.id),["stop"])},{default:l(()=>[y(i(e.$t("workflow.list.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["class","onClick"])]),_:1},8,["data-source"])):(p(),N(J,{key:0,description:e.$t("workflow.list.empty")},null,8,["description"]))]),_:1},8,["title"])]),_:1}),a(u,{span:16},{default:l(()=>[t.value?(p(),N(z,{key:0,size:"small"},{title:l(()=>[y(i(e.$t("workflow.editor.headerPrefix"))+" "+i(t.value.name||t.value.id),1)]),extra:l(()=>[a(g,null,{default:l(()=>[a(n,{size:"small",onClick:s},{default:l(()=>[y(i(e.$t("workflow.editor.exportJson")),1)]),_:1}),a(n,{size:"small",loading:h.value,onClick:M,disabled:!t.value.id},{default:l(()=>[y(i(e.$t("workflow.editor.run")),1)]),_:1},8,["loading","disabled"]),a(n,{size:"small",type:"primary",onClick:E},{default:l(()=>[y(i(e.$t("workflow.editor.save")),1)]),_:1})]),_:1})]),default:l(()=>[a(Y,{layout:"vertical",model:t.value},{default:l(()=>[a(L,{label:e.$t("workflow.editor.idLabel")},{default:l(()=>[a(v,{value:t.value.id,"onUpdate:value":r[1]||(r[1]=o=>t.value.id=o),placeholder:e.$t("workflow.editor.idPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("workflow.editor.nameLabel")},{default:l(()=>[a(v,{value:t.value.name,"onUpdate:value":r[2]||(r[2]=o=>t.value.name=o),placeholder:e.$t("workflow.editor.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("workflow.editor.descLabel")},{default:l(()=>[a(v,{value:t.value.description,"onUpdate:value":r[3]||(r[3]=o=>t.value.description=o),placeholder:e.$t("workflow.editor.descPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(D,null,{default:l(()=>[y(i(e.$t("workflow.editor.stepsDivider")),1)]),_:1}),(p(!0),m(q,null,V(t.value.steps,(o,O)=>(p(),m("div",{key:O,class:"step-card"},[a(g,{style:{width:"100%","margin-bottom":"8px"},direction:"vertical"},{default:l(()=>[a(K,{compact:""},{default:l(()=>[a(v,{value:o.id,"onUpdate:value":$=>o.id=$,placeholder:e.$t("workflow.editor.stepIdPlaceholder"),style:{width:"30%"}},null,8,["value","onUpdate:value","placeholder"]),a(H,{value:o.dependsOn,"onUpdate:value":$=>o.dependsOn=$,mode:"tags",placeholder:e.$t("workflow.editor.dependsOnPlaceholder"),style:{width:"70%"}},null,8,["value","onUpdate:value","placeholder"])]),_:2},1024),a(T,{value:o.message,"onUpdate:value":$=>o.message=$,rows:2,placeholder:e.$t("workflow.editor.messagePlaceholder")},null,8,["value","onUpdate:value","placeholder"]),a(v,{value:o.when,"onUpdate:value":$=>o.when=$,placeholder:e.$t("workflow.editor.whenPlaceholder")},null,8,["value","onUpdate:value","placeholder"]),a(g,null,{default:l(()=>[a(n,{size:"small",danger:"",onClick:$=>W(O)},{default:l(()=>[y(i(e.$t("workflow.editor.stepDelete")),1)]),_:1},8,["onClick"]),_("span",we,i(e.$t("workflow.editor.stepCounter",{idx:O+1,total:t.value.steps.length})),1)]),_:2},1024)]),_:2},1024)]))),128)),a(n,{block:"",onClick:I},{default:l(()=>[y(i(e.$t("workflow.editor.addStep")),1)]),_:1})]),_:1},8,["model"]),S.value&&!S.value.valid?(p(),m("div",ve,[(p(!0),m(q,null,V(S.value.errors,o=>(p(),m("div",{key:o},"• "+i(o),1))),128))])):R("",!0)]),_:1})):(p(),N(z,{key:1,size:"small"},{default:l(()=>[a(J,{description:e.$t("workflow.editor.emptyHint")},null,8,["description"])]),_:1})),b(d).runEvents.length?(p(),N(z,{key:2,size:"small",title:e.$t("workflow.runLog.title"),style:{"margin-top":"12px"}},{default:l(()=>[(p(!0),m(q,null,V(b(d).runEvents,(o,O)=>(p(),m("div",{key:O,style:{"font-family":"monospace","font-size":"12px","margin-bottom":"4px"}},[_("span",me,i(o.type),1),o.stepId?(p(),m("span",ye," ["+i(o.stepId)+"]",1)):R("",!0),o.status?(p(),m("span",ke," → "+i(o.status),1)):R("",!0),o.summary?(p(),m("span",_e," — "+i(o.summary),1)):R("",!0)]))),128))]),_:1},8,["title"])):R("",!0)]),_:1})]),_:1})])}}},ze=oe(he,[["__scopeId","data-v-0ae438ac"]]);export{ze as default};
1
+ import{E as Q,r as C,o as Z,M as m,R as _,P as i,c as a,N as l,K as f,L as p,O as y,u as b,Q as N,Z as X,a1 as x,F as q,Y as V,S as R,f as ee}from"./vendor-Ci2pTZ_t.js";import{u as te,_ as oe,b as ae,d as k}from"./index-BPtmPFwc.js";import{u as le}from"./useFs-Cr5jQ4qa.js";import{ap as se,R as ne}from"./icons-B2G69bhT.js";import"./useShellMode-CgR0wCYM.js";const re=Q("workflow",()=>{const w=te(),c=C([]),d=C(null),t=C([]),h=C("idle"),S=C(!1),P=C(null);async function F(){S.value=!0,P.value=null;try{await w.waitConnected();const s=await w.sendRaw({type:"workflow-list"});return c.value=Array.isArray(s.workflows)?s.workflows:[],c.value}catch(s){throw P.value=s.message,s}finally{S.value=!1}}async function I(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-get",id:s});return d.value=e.workflow||null,d.value}async function W(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-save",workflow:s});if(e.saved){const r=c.value.findIndex(n=>n.id===s.id);r>=0?c.value.splice(r,1,s):c.value.push(s)}return e}async function E(s){await w.waitConnected();const e=await w.sendRaw({type:"workflow-remove",id:s});return e.removed&&(c.value=c.value.filter(r=>r.id!==s)),e}async function A(s,{onEvent:e}={}){await w.waitConnected(),t.value=[],h.value="running";const r=w.onMessage(n=>{!n||typeof n.type!="string"||n.type.startsWith("workflow:")&&(t.value.push(n),e&&e(n),n.type==="workflow:done"&&(h.value=n.status||"completed"))});try{return await w.sendRaw({type:"workflow-run",id:s},12e4)}catch(n){throw h.value="failed",P.value=n.message,n}finally{r()}}function M(s){const e=[];if(!s||typeof s!="object")return{valid:!1,errors:["workflow must be an object"]};if(s.id||e.push("id required"),s.name||e.push("name required"),!Array.isArray(s.steps)||s.steps.length===0)e.push("steps required");else{let z=function(u){U.set(u,J);for(const v of n.get(u)||[]){if(!n.has(v)){e.push(`unknown dependency: ${v}`);continue}const L=U.get(v);if(L===J){e.push(`cycle via ${u} -> ${v}`);return}L===g&&z(v)}U.set(u,j)};const r=new Set;for(const u of s.steps)u.id||e.push("step.id required"),r.has(u.id)&&e.push(`duplicate step id: ${u.id}`),r.add(u.id);const n=new Map;for(const u of s.steps)n.set(u.id,u.dependsOn||[]);const g=0,J=1,j=2,U=new Map([...n.keys()].map(u=>[u,g]));for(const u of n.keys())U.get(u)===g&&z(u)}return{valid:e.length===0,errors:e}}function B(s){return JSON.stringify(s,null,2)}return{workflows:c,current:d,runEvents:t,runStatus:h,loading:S,error:P,list:F,get:I,save:W,remove:E,run:A,validateLocal:M,exportJson:B}}),ie={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ue={class:"page-title"},de={class:"page-sub"},ce={style:{flex:"1"}},pe={style:{"font-weight":"500"}},fe={style:{color:"#888","font-size":"12px"}},we={style:{color:"#888","font-size":"12px"}},ve={key:0,style:{"margin-top":"12px",color:"#d32f2f"}},me={style:{color:"#1976d2"}},ye={key:0},ke={key:1},_e={key:2,style:{color:"#555"}},he={__name:"WorkflowEditor",setup(w){const{t:c}=ae(),d=re(),t=C(null),h=C(!1),S=ee(()=>t.value?d.validateLocal(t.value):null);Z(()=>d.list().catch(()=>{}));function P(){t.value={id:"",name:"",description:"",steps:[{id:"step1",message:"",dependsOn:[]}]}}async function F(e){try{const r=await d.get(e);r&&(t.value=JSON.parse(JSON.stringify(r)),t.value.steps||(t.value.steps=[]))}catch(r){k.error(c("workflow.msg.loadFailed",{err:r.message}))}}function I(){t.value.steps||(t.value.steps=[]),t.value.steps.push({id:`step${t.value.steps.length+1}`,message:"",dependsOn:[]})}function W(e){t.value.steps.splice(e,1)}async function E(){const e=d.validateLocal(t.value);if(!e.valid){k.error(e.errors[0]);return}try{await d.save(t.value),k.success(c("workflow.msg.saveSuccess"))}catch(r){k.error(c("workflow.msg.saveFailed",{err:r.message}))}}async function A(e){try{await d.remove(e),t.value?.id===e&&(t.value=null),k.success(c("workflow.msg.deleteSuccess"))}catch(r){k.error(c("workflow.msg.deleteFailed",{err:r.message}))}}async function M(){h.value=!0;try{await d.run(t.value.id),k.success(c("workflow.msg.runSuccess",{status:d.runStatus}))}catch(e){k.error(c("workflow.msg.runFailed",{err:e.message}))}finally{h.value=!1}}const B=le();async function s(){try{const e=await B.saveJson(JSON.parse(d.exportJson(t.value)),{defaultPath:`${t.value.id||"workflow"}.json`});if(e.canceled)return;e.path&&k.success(c("workflow.msg.exportSuccess",{path:e.path}))}catch(e){k.error(c("workflow.msg.exportFailed",{err:e.message}))}}return(e,r)=>{const n=f("a-button"),g=f("a-space"),J=f("a-empty"),j=f("a-list-item"),U=f("a-list"),z=f("a-card"),u=f("a-col"),v=f("a-input"),L=f("a-form-item"),D=f("a-divider"),H=f("a-select"),K=f("a-input-group"),T=f("a-textarea"),Y=f("a-form"),G=f("a-row");return p(),m("div",null,[_("div",ie,[_("div",null,[_("h2",ue,i(e.$t("workflow.title")),1),_("p",de,i(e.$t("workflow.subtitle")),1)]),a(g,null,{default:l(()=>[a(n,{onClick:P,type:"primary"},{icon:l(()=>[a(b(se))]),default:l(()=>[y(" "+i(e.$t("workflow.new")),1)]),_:1}),a(n,{ghost:"",loading:b(d).loading,onClick:r[0]||(r[0]=o=>b(d).list())},{icon:l(()=>[a(b(ne))]),default:l(()=>[y(" "+i(e.$t("workflow.refresh")),1)]),_:1},8,["loading"])]),_:1})]),a(G,{gutter:16},{default:l(()=>[a(u,{span:8},{default:l(()=>[a(z,{title:e.$t("workflow.list.title"),size:"small"},{default:l(()=>[b(d).workflows.length?(p(),N(U,{key:1,"data-source":b(d).workflows,size:"small"},{renderItem:l(({item:o})=>[a(j,{class:X({active:t.value?.id===o.id}),style:{cursor:"pointer"},onClick:O=>F(o.id)},{default:l(()=>[_("div",ce,[_("div",pe,i(o.name||o.id),1),_("div",fe,i(e.$t("workflow.list.stepCount",{n:(o.steps||[]).length})),1)]),a(n,{size:"small",danger:"",type:"text",onClick:x(O=>A(o.id),["stop"])},{default:l(()=>[y(i(e.$t("workflow.list.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["class","onClick"])]),_:1},8,["data-source"])):(p(),N(J,{key:0,description:e.$t("workflow.list.empty")},null,8,["description"]))]),_:1},8,["title"])]),_:1}),a(u,{span:16},{default:l(()=>[t.value?(p(),N(z,{key:0,size:"small"},{title:l(()=>[y(i(e.$t("workflow.editor.headerPrefix"))+" "+i(t.value.name||t.value.id),1)]),extra:l(()=>[a(g,null,{default:l(()=>[a(n,{size:"small",onClick:s},{default:l(()=>[y(i(e.$t("workflow.editor.exportJson")),1)]),_:1}),a(n,{size:"small",loading:h.value,onClick:M,disabled:!t.value.id},{default:l(()=>[y(i(e.$t("workflow.editor.run")),1)]),_:1},8,["loading","disabled"]),a(n,{size:"small",type:"primary",onClick:E},{default:l(()=>[y(i(e.$t("workflow.editor.save")),1)]),_:1})]),_:1})]),default:l(()=>[a(Y,{layout:"vertical",model:t.value},{default:l(()=>[a(L,{label:e.$t("workflow.editor.idLabel")},{default:l(()=>[a(v,{value:t.value.id,"onUpdate:value":r[1]||(r[1]=o=>t.value.id=o),placeholder:e.$t("workflow.editor.idPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("workflow.editor.nameLabel")},{default:l(()=>[a(v,{value:t.value.name,"onUpdate:value":r[2]||(r[2]=o=>t.value.name=o),placeholder:e.$t("workflow.editor.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(L,{label:e.$t("workflow.editor.descLabel")},{default:l(()=>[a(v,{value:t.value.description,"onUpdate:value":r[3]||(r[3]=o=>t.value.description=o),placeholder:e.$t("workflow.editor.descPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(D,null,{default:l(()=>[y(i(e.$t("workflow.editor.stepsDivider")),1)]),_:1}),(p(!0),m(q,null,V(t.value.steps,(o,O)=>(p(),m("div",{key:O,class:"step-card"},[a(g,{style:{width:"100%","margin-bottom":"8px"},direction:"vertical"},{default:l(()=>[a(K,{compact:""},{default:l(()=>[a(v,{value:o.id,"onUpdate:value":$=>o.id=$,placeholder:e.$t("workflow.editor.stepIdPlaceholder"),style:{width:"30%"}},null,8,["value","onUpdate:value","placeholder"]),a(H,{value:o.dependsOn,"onUpdate:value":$=>o.dependsOn=$,mode:"tags",placeholder:e.$t("workflow.editor.dependsOnPlaceholder"),style:{width:"70%"}},null,8,["value","onUpdate:value","placeholder"])]),_:2},1024),a(T,{value:o.message,"onUpdate:value":$=>o.message=$,rows:2,placeholder:e.$t("workflow.editor.messagePlaceholder")},null,8,["value","onUpdate:value","placeholder"]),a(v,{value:o.when,"onUpdate:value":$=>o.when=$,placeholder:e.$t("workflow.editor.whenPlaceholder")},null,8,["value","onUpdate:value","placeholder"]),a(g,null,{default:l(()=>[a(n,{size:"small",danger:"",onClick:$=>W(O)},{default:l(()=>[y(i(e.$t("workflow.editor.stepDelete")),1)]),_:1},8,["onClick"]),_("span",we,i(e.$t("workflow.editor.stepCounter",{idx:O+1,total:t.value.steps.length})),1)]),_:2},1024)]),_:2},1024)]))),128)),a(n,{block:"",onClick:I},{default:l(()=>[y(i(e.$t("workflow.editor.addStep")),1)]),_:1})]),_:1},8,["model"]),S.value&&!S.value.valid?(p(),m("div",ve,[(p(!0),m(q,null,V(S.value.errors,o=>(p(),m("div",{key:o},"• "+i(o),1))),128))])):R("",!0)]),_:1})):(p(),N(z,{key:1,size:"small"},{default:l(()=>[a(J,{description:e.$t("workflow.editor.emptyHint")},null,8,["description"])]),_:1})),b(d).runEvents.length?(p(),N(z,{key:2,size:"small",title:e.$t("workflow.runLog.title"),style:{"margin-top":"12px"}},{default:l(()=>[(p(!0),m(q,null,V(b(d).runEvents,(o,O)=>(p(),m("div",{key:O,style:{"font-family":"monospace","font-size":"12px","margin-bottom":"4px"}},[_("span",me,i(o.type),1),o.stepId?(p(),m("span",ye," ["+i(o.stepId)+"]",1)):R("",!0),o.status?(p(),m("span",ke," → "+i(o.status),1)):R("",!0),o.summary?(p(),m("span",_e," — "+i(o.summary),1)):R("",!0)]))),128))]),_:1},8,["title"])):R("",!0)]),_:1})]),_:1})])}}},ze=oe(he,[["__scopeId","data-v-0ae438ac"]]);export{ze as default};
@@ -1 +1 @@
1
- var C=typeof global=="object"&&global&&global.Object===Object&&global,G=typeof self=="object"&&self&&self.Object===Object&&self,o=C||G||Function("return this")(),p=o.Symbol,F=Object.prototype,W=F.hasOwnProperty,q=F.toString,i=p?p.toStringTag:void 0;function K(r){var t=W.call(r,i),a=r[i];try{r[i]=void 0;var g=!0}catch{}var R=q.call(r);return g&&(t?r[i]=a:delete r[i]),R}var L=Object.prototype,H=L.toString;function J(r){return H.call(r)}var X="[object Null]",z="[object Undefined]",O=p?p.toStringTag:void 0;function u(r){return r==null?r===void 0?z:X:O&&O in Object(r)?K(r):J(r)}function B(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}var Q="[object AsyncFunction]",Y="[object Function]",Z="[object GeneratorFunction]",rr="[object Proxy]";function _(r){if(!B(r))return!1;var t=u(r);return t==Y||t==Z||t==Q||t==rr}var b=o["__core-js_shared__"],S=(function(){var r=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function tr(r){return!!S&&S in r}var er=Function.prototype,ar=er.toString;function n(r){if(r!=null){try{return ar.call(r)}catch{}try{return r+""}catch{}}return""}var or=/[\\^$.*+?()[\]{}|]/g,nr=/^\[object .+?Constructor\]$/,cr=Function.prototype,ir=Object.prototype,sr=cr.toString,ur=ir.hasOwnProperty,fr=RegExp("^"+sr.call(ur).replace(or,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gr(r){if(!B(r)||tr(r))return!1;var t=_(r)?fr:nr;return t.test(n(r))}function pr(r,t){return r?.[t]}function f(r,t){var a=pr(r,t);return gr(a)?a:void 0}var j=f(o,"Map"),ct=Array.isArray;function m(r){return r!=null&&typeof r=="object"}var br="[object Arguments]";function $(r){return m(r)&&u(r)==br}var V=Object.prototype,yr=V.hasOwnProperty,jr=V.propertyIsEnumerable,it=$((function(){return arguments})())?$:function(r){return m(r)&&yr.call(r,"callee")&&!jr.call(r,"callee")};function lr(){return!1}var U=typeof exports=="object"&&exports&&!exports.nodeType&&exports,A=U&&typeof module=="object"&&module&&!module.nodeType&&module,Tr=A&&A.exports===U,w=Tr?o.Buffer:void 0,dr=w?w.isBuffer:void 0,st=dr||lr,vr=9007199254740991;function D(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=vr}var mr="[object Arguments]",Or="[object Array]",Sr="[object Boolean]",$r="[object Date]",Ar="[object Error]",wr="[object Function]",Pr="[object Map]",hr="[object Number]",xr="[object Object]",Mr="[object RegExp]",Er="[object Set]",Ir="[object String]",kr="[object WeakMap]",Cr="[object ArrayBuffer]",Fr="[object DataView]",Br="[object Float32Array]",_r="[object Float64Array]",Vr="[object Int8Array]",Ur="[object Int16Array]",Dr="[object Int32Array]",Nr="[object Uint8Array]",Rr="[object Uint8ClampedArray]",Gr="[object Uint16Array]",Wr="[object Uint32Array]",e={};e[Br]=e[_r]=e[Vr]=e[Ur]=e[Dr]=e[Nr]=e[Rr]=e[Gr]=e[Wr]=!0;e[mr]=e[Or]=e[Cr]=e[Sr]=e[Fr]=e[$r]=e[Ar]=e[wr]=e[Pr]=e[hr]=e[xr]=e[Mr]=e[Er]=e[Ir]=e[kr]=!1;function qr(r){return m(r)&&D(r.length)&&!!e[u(r)]}function Kr(r){return function(t){return r(t)}}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports,s=N&&typeof module=="object"&&module&&!module.nodeType&&module,Lr=s&&s.exports===N,y=Lr&&C.process,P=(function(){try{var r=s&&s.require&&s.require("util").types;return r||y&&y.binding&&y.binding("util")}catch{}})(),h=P&&P.isTypedArray,ut=h?Kr(h):qr,Hr=Object.prototype;function Jr(r){var t=r&&r.constructor,a=typeof t=="function"&&t.prototype||Hr;return r===a}function Xr(r,t){return function(a){return r(t(a))}}var zr=Xr(Object.keys,Object),Qr=Object.prototype,Yr=Qr.hasOwnProperty;function ft(r){if(!Jr(r))return zr(r);var t=[];for(var a in Object(r))Yr.call(r,a)&&a!="constructor"&&t.push(a);return t}function gt(r){return r!=null&&D(r.length)&&!_(r)}var l=f(o,"DataView"),T=f(o,"Promise"),d=f(o,"Set"),v=f(o,"WeakMap"),x="[object Map]",Zr="[object Object]",M="[object Promise]",E="[object Set]",I="[object WeakMap]",k="[object DataView]",rt=n(l),tt=n(j),et=n(T),at=n(d),ot=n(v),c=u;(l&&c(new l(new ArrayBuffer(1)))!=k||j&&c(new j)!=x||T&&c(T.resolve())!=M||d&&c(new d)!=E||v&&c(new v)!=I)&&(c=function(r){var t=u(r),a=t==Zr?r.constructor:void 0,g=a?n(a):"";if(g)switch(g){case rt:return k;case tt:return x;case et:return M;case at:return E;case ot:return I}return t});export{j as M,p as S,ct as a,st as b,ut as c,it as d,Jr as e,ft as f,c as g,B as h,gt as i,m as j,u as k,f as l,D as m,d as n,Xr as o,Kr as p,P as q,o as r};
1
+ var C=typeof global=="object"&&global&&global.Object===Object&&global,G=typeof self=="object"&&self&&self.Object===Object&&self,o=C||G||Function("return this")(),p=o.Symbol,F=Object.prototype,W=F.hasOwnProperty,q=F.toString,i=p?p.toStringTag:void 0;function K(r){var t=W.call(r,i),a=r[i];try{r[i]=void 0;var g=!0}catch{}var R=q.call(r);return g&&(t?r[i]=a:delete r[i]),R}var L=Object.prototype,H=L.toString;function J(r){return H.call(r)}var X="[object Null]",z="[object Undefined]",O=p?p.toStringTag:void 0;function u(r){return r==null?r===void 0?z:X:O&&O in Object(r)?K(r):J(r)}function B(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}var Q="[object AsyncFunction]",Y="[object Function]",Z="[object GeneratorFunction]",rr="[object Proxy]";function _(r){if(!B(r))return!1;var t=u(r);return t==Y||t==Z||t==Q||t==rr}var b=o["__core-js_shared__"],S=(function(){var r=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function tr(r){return!!S&&S in r}var er=Function.prototype,ar=er.toString;function n(r){if(r!=null){try{return ar.call(r)}catch{}try{return r+""}catch{}}return""}var or=/[\\^$.*+?()[\]{}|]/g,nr=/^\[object .+?Constructor\]$/,cr=Function.prototype,ir=Object.prototype,sr=cr.toString,ur=ir.hasOwnProperty,fr=RegExp("^"+sr.call(ur).replace(or,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gr(r){if(!B(r)||tr(r))return!1;var t=_(r)?fr:nr;return t.test(n(r))}function pr(r,t){return r?.[t]}function f(r,t){var a=pr(r,t);return gr(a)?a:void 0}var j=f(o,"Map"),ct=Array.isArray;function m(r){return r!=null&&typeof r=="object"}var br="[object Arguments]";function $(r){return m(r)&&u(r)==br}var V=Object.prototype,yr=V.hasOwnProperty,jr=V.propertyIsEnumerable,it=$((function(){return arguments})())?$:function(r){return m(r)&&yr.call(r,"callee")&&!jr.call(r,"callee")};function lr(){return!1}var U=typeof exports=="object"&&exports&&!exports.nodeType&&exports,A=U&&typeof module=="object"&&module&&!module.nodeType&&module,Tr=A&&A.exports===U,w=Tr?o.Buffer:void 0,dr=w?w.isBuffer:void 0,st=dr||lr,vr=9007199254740991;function D(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=vr}var mr="[object Arguments]",Or="[object Array]",Sr="[object Boolean]",$r="[object Date]",Ar="[object Error]",wr="[object Function]",Pr="[object Map]",hr="[object Number]",xr="[object Object]",Mr="[object RegExp]",Er="[object Set]",Ir="[object String]",kr="[object WeakMap]",Cr="[object ArrayBuffer]",Fr="[object DataView]",Br="[object Float32Array]",_r="[object Float64Array]",Vr="[object Int8Array]",Ur="[object Int16Array]",Dr="[object Int32Array]",Nr="[object Uint8Array]",Rr="[object Uint8ClampedArray]",Gr="[object Uint16Array]",Wr="[object Uint32Array]",e={};e[Br]=e[_r]=e[Vr]=e[Ur]=e[Dr]=e[Nr]=e[Rr]=e[Gr]=e[Wr]=!0;e[mr]=e[Or]=e[Cr]=e[Sr]=e[Fr]=e[$r]=e[Ar]=e[wr]=e[Pr]=e[hr]=e[xr]=e[Mr]=e[Er]=e[Ir]=e[kr]=!1;function qr(r){return m(r)&&D(r.length)&&!!e[u(r)]}function Kr(r){return function(t){return r(t)}}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports,s=N&&typeof module=="object"&&module&&!module.nodeType&&module,Lr=s&&s.exports===N,y=Lr&&C.process,P=(function(){try{var r=s&&s.require&&s.require("util").types;return r||y&&y.binding&&y.binding("util")}catch{}})(),h=P&&P.isTypedArray,ut=h?Kr(h):qr,Hr=Object.prototype;function Jr(r){var t=r&&r.constructor,a=typeof t=="function"&&t.prototype||Hr;return r===a}function Xr(r,t){return function(a){return r(t(a))}}var zr=Xr(Object.keys,Object),Qr=Object.prototype,Yr=Qr.hasOwnProperty;function ft(r){if(!Jr(r))return zr(r);var t=[];for(var a in Object(r))Yr.call(r,a)&&a!="constructor"&&t.push(a);return t}function gt(r){return r!=null&&D(r.length)&&!_(r)}var l=f(o,"DataView"),T=f(o,"Promise"),d=f(o,"Set"),v=f(o,"WeakMap"),x="[object Map]",Zr="[object Object]",M="[object Promise]",E="[object Set]",I="[object WeakMap]",k="[object DataView]",rt=n(l),tt=n(j),et=n(T),at=n(d),ot=n(v),c=u;(l&&c(new l(new ArrayBuffer(1)))!=k||j&&c(new j)!=x||T&&c(T.resolve())!=M||d&&c(new d)!=E||v&&c(new v)!=I)&&(c=function(r){var t=u(r),a=t==Zr?r.constructor:void 0,g=a?n(a):"";if(g)switch(g){case rt:return k;case tt:return x;case et:return M;case at:return E;case ot:return I}return t});export{j as M,p as S,ct as a,st as b,ut as c,it as d,Jr as e,ft as f,c as g,B as h,gt as i,m as j,Kr as k,f as l,u as m,P as n,Xr as o,D as p,d as q,o as r};
@@ -0,0 +1 @@
1
+ import{E as dt,r as h,a as A,f as pt}from"./vendor-Ci2pTZ_t.js";import{u as g}from"./index-BPtmPFwc.js";let L=0;function Y(s){return L+=1,`msg_${Date.now()}_${L}_${s}`}const v=Object.freeze({USER:"user",ASSISTANT:"assistant",SYSTEM:"system",INTENT_RECOGNITION:"intent-recognition",INTENT_CONFIRMATION:"intent-confirmation",TASK_ANALYSIS:"task-analysis",INTERVIEW:"interview",TASK_PLAN:"task-plan",PROGRESS:"progress",ERROR:"error"}),Q=Object.freeze({USER:"user",ASSISTANT:"assistant",SYSTEM:"system"});function mt(s,i){return{id:Y("intent_confirmation"),role:Q.ASSISTANT,type:v.INTENT_CONFIRMATION,content:"我理解您的需求如下,请确认:",timestamp:Date.now(),metadata:{originalInput:s,understanding:i||{},status:"pending",correction:null}}}function gt(s,i,u={}){const{reason:c,extractedInfo:p}=u,m={CONTINUE_EXECUTION:"✅ 收到,继续执行任务...",MODIFY_REQUIREMENT:`⚠️ 检测到需求变更:${p||i}`,CLARIFICATION:`📝 已记录补充信息:${p||i}`,CANCEL_TASK:"❌ 任务已取消"};return{id:Y("intent_system"),role:Q.SYSTEM,type:v.SYSTEM,content:m[s]||"⚠️ 未识别意图",timestamp:Date.now(),metadata:{intent:s,reason:c,userInput:i,extractedInfo:p}}}const I="新对话",b="新 Agent",K="cc.web-panel.chat.contextMode",G=["project","file","global"],B="cc.web-panel.chat.intentDecisions",$=200;function St(){try{const s=typeof localStorage<"u"?localStorage.getItem(K):null;return G.includes(s)?s:null}catch{return null}}function J(){try{if(typeof localStorage>"u")return{};const s=localStorage.getItem(B);if(!s)return{};const i=JSON.parse(s);return i&&typeof i=="object"?i:{}}catch{return{}}}function yt(s){try{if(typeof localStorage>"u")return;const i=Object.entries(s);if(i.length>$){i.sort((c,p)=>(c[1]?.ts||0)-(p[1]?.ts||0));const u=i.slice(-$);s=Object.fromEntries(u)}localStorage.setItem(B,JSON.stringify(s))}catch{}}function F(s,i,u){if(!s||!i)return;const c=J();c[`${s}::${i}`]={...u,ts:Date.now()},yt(c)}function Tt(s,i){return!s||!i?null:J()[`${s}::${i}`]||null}const ht={"assistant.delta":"response-token","assistant.final":"response-complete","assistant.message":"response-complete","tool.call.started":"tool-executing","tool.call.completed":"tool-result","tool.call.failed":"tool-result","slot.filling":"question","approval.requested":"question",error:"error"},vt=dt("chat",()=>{const s=h([]),i=h(null),u=A({}),c=A({}),p=A({}),m=A({}),P=(typeof window<"u"&&window.__CC_CONFIG__||{}).mode==="project",X=P?"project":"global",C=St(),O=h(C==="file"||C==="project"&&!P?"global":C||X);function z(t){if(G.includes(t)){O.value=t;try{typeof localStorage<"u"&&localStorage.setItem(K,t)}catch{}}}const w="cc.web-panel.chat.customQuickPrompts";function V(){try{if(typeof localStorage>"u")return null;const t=localStorage.getItem(w);if(!t)return null;const e=JSON.parse(t);if(!Array.isArray(e))return null;const n=e.map(o=>typeof o=="string"?o.trim():"").filter(o=>o.length>0&&o.length<=120).slice(0,12);return n.length>0?n:null}catch{return null}}const M=h(V());function W(t){if(t==null){M.value=null;try{typeof localStorage<"u"&&localStorage.removeItem(w)}catch{}return}if(!Array.isArray(t))return;const e=t.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0&&n.length<=120).slice(0,12);M.value=e.length>0?e:null;try{typeof localStorage<"u"&&(e.length>0?localStorage.setItem(w,JSON.stringify(e)):localStorage.removeItem(w))}catch{}}const D=h(null);let j=0;function H({prompt:t,autoSend:e=!0,session:n=null}={}){!t||!String(t).trim()||(j+=1,D.value={prompt:String(t),autoSend:e!==!1,session:n||null,token:`staged::${j}::${Date.now()}`})}function Z(){D.value=null}let U=null;const q=new Set;function S(t){return u[t]||(u[t]=[]),u[t]}function x(t){return!!(t&&m[t])}function y(t,e){t&&(m[t]=!!e)}function R(t){if(!t?.id)return;const e=s.value.find(n=>n.id===t.id);if(e){Object.assign(e,t);return}s.value.unshift(t)}function k(t,e=g()){u[t]||(u[t]=[]),c[t]||(c[t]={content:"",active:!1}),m[t]==null&&(m[t]=!1),!q.has(t)&&(q.add(t),e.onSession(t,n=>nt(t,n)))}function _(t=g()){U||(U=t.onRuntimeEvent(e=>{const n=e.payload||{},o=n.record||{};if(e.type==="session:start"){const a=n.sessionType||o.type||"chat";y(n.sessionId,!1),R({id:n.sessionId,type:a,provider:o.provider||null,model:o.model||null,projectRoot:o.projectRoot||null,status:o.status||"created",title:a==="chat"?I:b,createdAt:Date.now(),messageCount:o.messageCount??0})}else if(e.type==="session:resume"){const a=n.sessionId;if(!a)return;Array.isArray(n.history)&&(u[a]=n.history.map(r=>({role:r.role,content:r.content,timestamp:r.timestamp||Date.now()}))),c[a]||(c[a]={content:"",active:!1}),m[a]==null&&(m[a]=!1),R({id:a,type:o.type||null,provider:o.provider||null,model:o.model||null,projectRoot:o.projectRoot||null,status:o.status||"resumed",messageCount:o.messageCount??(Array.isArray(n.history)?n.history.length:0)})}else if(e.type==="session:end"){const a=n.sessionId;s.value=s.value.filter(r=>r.id!==a),delete m[a],i.value===a&&(i.value=s.value[0]?.id||null)}}))}async function tt(){const t=g();_(t),s.value=await t.listSessions(),s.value.forEach(e=>{k(e.id,t)})}async function et(t="chat",e={}){const n=g();_(n);const o=await n.createSession(t,null,e);return R({id:o,type:t,title:t==="chat"?I:b,createdAt:Date.now(),messageCount:0}),y(o,!1),k(o,n),i.value=o,o}function nt(t,e){const n=S(t),o=ht[e.type]||e.type,a=e.payload||{};if(o==="response-token"){c[t]||(c[t]={content:"",active:!0});const r=e.token||a.token||a.delta||a.content||"";c[t].content+=r,c[t].active=!0,y(t,!0)}else if(o==="response-complete"){const r=e.content||a.content||c[t]?.content||"";n.push({role:"assistant",content:r,timestamp:Date.now()}),c[t]&&(c[t].content="",c[t].active=!1);const f=s.value.find(l=>l.id===t);if(f&&(f.title===I||f.title===b)){const l=n.find(E=>E.role==="user");l&&(f.title=l.content.slice(0,30))}f&&(f.messageCount=n.filter(l=>l.role!=="tool").length),y(t,!1)}else if(o==="tool-executing")n.push({role:"tool",tool:e.tool||a.tool||a.toolName||"unknown",input:e.input||a.input||a.args||null,status:"running",timestamp:Date.now()}),y(t,!0);else if(o==="tool-result"){const r=e.tool||a.tool||a.toolName||"unknown",f=[...n].reverse().find(l=>l.role==="tool"&&l.tool===r);f&&(f.result=e.result||a.result||a.output||null,f.status="done")}else if(o==="question")p[t]={requestId:e.requestId||a.requestId||e.id,question:e.question||a.question||a.message||"",choices:e.choices||a.choices||a.options||[]},y(t,!1);else if(o==="error"){const r=e.message||a.message||"Unknown error";n.push({role:"assistant",content:`Error: ${r}`,timestamp:Date.now()}),y(t,!1),c[t]&&(c[t].active=!1)}}async function T(t,e){const n=g();_(n),S(t).push({role:"user",content:e,timestamp:Date.now()}),c[t]||(c[t]={content:"",active:!1}),c[t].active=!0,y(t,!0),n.sendSessionMessage(t,e)}async function ot(t,e){if(!t||!e?.trim())return;const n=O.value;if(n==="global"){await T(t,e);return}const o=g(),a=S(t).filter(d=>d.role==="user"||d.role==="assistant").slice(-5).map(d=>({role:d.role,content:String(d.content||"").slice(0,500)})),r=mt(e,{});r.metadata&&(r.metadata.streaming=!0,r.metadata.streamingTokens=0),r.content="理解中…";const f=S(t);f.push(r);let l=null;const E=new AbortController,ft=setTimeout(()=>E.abort(new Error("Intent understand wall-clock timeout")),9e4);try{const d=await o.sendStream({type:"chat.intent.understand-stream",sessionId:t,userInput:e,contextMode:n,history:a},{onChunk:()=>{r.metadata&&(r.metadata.streamingTokens=(r.metadata.streamingTokens||0)+1)},idleMs:6e4,signal:E.signal});d?.success&&(l=d)}catch{}finally{clearTimeout(ft)}if(!(l&&(l.correctedInput&&l.correctedInput!==e||Array.isArray(l.keyPoints)&&l.keyPoints.length>0))){const d=f.indexOf(r);d>=0&&f.splice(d,1),await T(t,e);return}r.content="我理解您的需求如下,请确认:",r.metadata&&(r.metadata.streaming=!1,r.metadata.understanding={correctedInput:l.correctedInput,intent:l.intent,keyPoints:l.keyPoints});const N=Tt(t,r.id);N?.status&&r.metadata&&(r.metadata.status=N.status,N.correction&&(r.metadata.correction=N.correction))}async function at(t,e){const o=S(t).find(r=>r.id===e);if(!o||o.type!==v.INTENT_CONFIRMATION)return;o.metadata&&(o.metadata.status="confirmed"),F(t,e,{status:"confirmed",correction:null});const a=o.metadata?.originalInput||"";a.trim()&&await T(t,a)}async function rt(t,e,n){const a=S(t).find(f=>f.id===e);if(!a||a.type!==v.INTENT_CONFIRMATION)return;a.metadata&&(a.metadata.status="corrected",a.metadata.correction=n),F(t,e,{status:"corrected",correction:n});const r=(n||"").trim();r&&await T(t,r)}async function st(t,e,n={}){const o=g();try{return await o.sendRaw({type:"chat.intent.classify-followup",sessionId:t,input:e,context:n},2e4)}catch{return null}}function it(t,e,n,o={}){S(t).push(gt(e,n,o))}function ct(t,e){const n=g(),o=p[t];o&&(n.answerQuestion(t,o.requestId,e),delete p[t])}async function lt(t){const e=g();if(_(e),i.value=t,k(t,e),!u[t]||u[t].length===0)try{await e.resumeSession(t)}catch{}}const ut=pt(()=>x(i.value));return{sessions:s,currentSessionId:i,messages:u,streaming:c,pendingQuestion:p,loadingBySession:m,isLoading:ut,contextMode:O,setContextMode:z,customQuickPrompts:M,setCustomQuickPrompts:W,pendingAutoSend:D,scheduleAutoSend:H,clearAutoSend:Z,getIsLoading:x,loadSessions:tt,createSession:et,sendMessage:T,submitUserInput:ot,confirmIntent:at,correctIntent:rt,classifyFollowupIntent:st,pushFollowupIntentBanner:it,answerQuestion:ct,switchSession:lt,getMessages:S}});export{v as M,vt as u};
@@ -1,3 +1,3 @@
1
- import{n}from"./vendor-B6ToihkA.js";const r=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut},
1
+ import{n}from"./vendor-Ci2pTZ_t.js";const r=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut},
2
2
  opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}},[`${t.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${t.motionDurationMid} ${t.motionEaseInOut},
3
3
  opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}}});function e(t,i){return t.classList?t.classList.contains(i):` ${t.className} `.indexOf(` ${i} `)>-1}function a(t,i){t.classList?t.classList.add(i):e(t,i)||(t.className=`${t.className} ${i}`)}function l(t,i){if(t.classList)t.classList.remove(i);else if(e(t,i)){const s=t.className;t.className=` ${s} `.replace(` ${i} `," ")}}const c=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant-motion-collapse",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return{name:t,appear:i,css:!0,onBeforeEnter:s=>{s.style.height="0px",s.style.opacity="0",a(s,t)},onEnter:s=>{n(()=>{s.style.height=`${s.scrollHeight}px`,s.style.opacity="1"})},onAfterEnter:s=>{s&&(l(s,t),s.style.height=null,s.style.opacity=null)},onBeforeLeave:s=>{a(s,t),s.style.height=`${s.offsetHeight}px`,s.style.opacity=null},onLeave:s=>{setTimeout(()=>{s.style.height="0px",s.style.opacity="0"})},onAfterLeave:s=>{s&&(l(s,t),s.style&&(s.style.height=null,s.style.opacity=null))}}};export{a,c,r as g,l as r};
@@ -1 +1 @@
1
- import{f as t}from"./index-B2f4ltyM.js";const n=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"];function C(e,s){return n.reduce((o,r)=>{const u=e[`${r}-1`],l=e[`${r}-3`],i=e[`${r}-6`],a=e[`${r}-7`];return t(t({},o),s(r,{lightColor:u,lightBorderColor:l,darkColor:i,textColor:a}))},{})}const c=n.map(e=>`${e}-inverse`),g=["success","processing","error","default","warning"];function f(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[...c,...n].includes(e):n.includes(e)}function m(e){return g.includes(e)}export{n as P,m as a,C as g,f as i};
1
+ import{f as t}from"./index-BPtmPFwc.js";const n=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"];function C(e,s){return n.reduce((o,r)=>{const u=e[`${r}-1`],l=e[`${r}-3`],i=e[`${r}-6`],a=e[`${r}-7`];return t(t({},o),s(r,{lightColor:u,lightBorderColor:l,darkColor:i,textColor:a}))},{})}const c=n.map(e=>`${e}-inverse`),g=["success","processing","error","default","warning"];function f(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[...c,...n].includes(e):n.includes(e)}function m(e){return g.includes(e)}export{n as P,m as a,C as g,f as i};
@@ -1 +1 @@
1
- import{f as r}from"./index-B2f4ltyM.js";function a(o,t,i){const{focusElCls:e,focus:n,borderElCls:s}=i,m=s?"> *":"",d=["hover",n?"focus":null,"active"].filter(Boolean).map(c=>`&:${c} ${m}`).join(",");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:-o.lineWidth},"&-item":r(r({[d]:{zIndex:2}},e?{[`&${e}`]:{zIndex:2}}:{}),{[`&[disabled] ${m}`]:{zIndex:0}})}}function $(o,t,i){const{borderElCls:e}=i,n=e?`> ${e}`:"";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${n}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function l(o){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:i}=o,e=`${i}-compact`;return{[e]:r(r({},a(o,e,t)),$(i,e,t))}}export{l as g};
1
+ import{f as r}from"./index-BPtmPFwc.js";function a(o,t,i){const{focusElCls:e,focus:n,borderElCls:s}=i,m=s?"> *":"",d=["hover",n?"focus":null,"active"].filter(Boolean).map(c=>`&:${c} ${m}`).join(",");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:-o.lineWidth},"&-item":r(r({[d]:{zIndex:2}},e?{[`&${e}`]:{zIndex:2}}:{}),{[`&[disabled] ${m}`]:{zIndex:0}})}}function $(o,t,i){const{borderElCls:e}=i,n=e?`> ${e}`:"";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${n}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${n}, &${o}-sm ${n}, &${o}-lg ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function l(o){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:i}=o,e=`${i}-compact`;return{[e]:r(r({},a(o,e,t)),$(i,e,t))}}export{l as g};
@@ -1 +1 @@
1
- import{f as s}from"./index-B2f4ltyM.js";import{i as c,b as a,a as i,p as u}from"./vendor-B6ToihkA.js";function x(o){const t=Symbol("contextKey");return{useProvide:(r,n)=>{const e=i({});return u(t,e),a(()=>{s(e,r,n||{})}),e},useInject:()=>c(t,o)||{}}}export{x as c};
1
+ import{f as s}from"./index-BPtmPFwc.js";import{i as c,b as a,a as i,p as u}from"./vendor-Ci2pTZ_t.js";function x(o){const t=Symbol("contextKey");return{useProvide:(r,n)=>{const e=i({});return u(t,e),a(()=>{s(e,r,n||{})}),e},useInject:()=>c(t,o)||{}}}export{x as c};
@@ -1 +1 @@
1
- import{h as v,r as L}from"./_getTag-CWA3v-Ds.js";import{i as M}from"./isSymbol-CsP9Ob42.js";var N=/\s/;function B(n){for(var r=n.length;r--&&N.test(n.charAt(r)););return r}var R=/^\s+/;function $(n){return n&&n.slice(0,B(n)+1).replace(R,"")}var k=NaN,F=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,j=/^0o[0-7]+$/i,D=parseInt;function S(n){if(typeof n=="number")return n;if(M(n))return k;if(v(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=v(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=$(n);var t=_.test(n);return t||j.test(n)?D(n.slice(2),t?2:8):F.test(n)?k:+n}var I=function(){return L.Date.now()},H="Expected a function",P=Math.max,U=Math.min;function z(n,r,t){var u,o,l,s,i,f,c=0,p=!1,d=!1,T=!0;if(typeof n!="function")throw new TypeError(H);r=S(r)||0,v(t)&&(p=!!t.leading,d="maxWait"in t,l=d?P(S(t.maxWait)||0,r):l,T="trailing"in t?!!t.trailing:T);function x(e){var a=u,m=o;return u=o=void 0,c=e,s=n.apply(m,a),s}function W(e){return c=e,i=setTimeout(g,r),p?x(e):s}function O(e){var a=e-f,m=e-c,E=r-a;return d?U(E,l-m):E}function y(e){var a=e-f,m=e-c;return f===void 0||a>=r||a<0||d&&m>=l}function g(){var e=I();if(y(e))return b(e);i=setTimeout(g,O(e))}function b(e){return i=void 0,T&&u?x(e):(u=o=void 0,s)}function A(){i!==void 0&&clearTimeout(i),c=0,u=f=o=i=void 0}function C(){return i===void 0?s:b(I())}function h(){var e=I(),a=y(e);if(u=arguments,o=this,f=e,a){if(i===void 0)return W(f);if(d)return clearTimeout(i),i=setTimeout(g,r),x(f)}return i===void 0&&(i=setTimeout(g,r)),s}return h.cancel=A,h.flush=C,h}export{z as d,S as t};
1
+ import{h as v,r as L}from"./_getTag-BVc6NQ_K.js";import{i as M}from"./isSymbol-DAy2hlR5.js";var N=/\s/;function B(n){for(var r=n.length;r--&&N.test(n.charAt(r)););return r}var R=/^\s+/;function $(n){return n&&n.slice(0,B(n)+1).replace(R,"")}var k=NaN,F=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,j=/^0o[0-7]+$/i,D=parseInt;function S(n){if(typeof n=="number")return n;if(M(n))return k;if(v(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=v(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=$(n);var t=_.test(n);return t||j.test(n)?D(n.slice(2),t?2:8):F.test(n)?k:+n}var I=function(){return L.Date.now()},H="Expected a function",P=Math.max,U=Math.min;function z(n,r,t){var u,o,l,s,i,f,c=0,p=!1,d=!1,T=!0;if(typeof n!="function")throw new TypeError(H);r=S(r)||0,v(t)&&(p=!!t.leading,d="maxWait"in t,l=d?P(S(t.maxWait)||0,r):l,T="trailing"in t?!!t.trailing:T);function x(e){var a=u,m=o;return u=o=void 0,c=e,s=n.apply(m,a),s}function W(e){return c=e,i=setTimeout(g,r),p?x(e):s}function O(e){var a=e-f,m=e-c,E=r-a;return d?U(E,l-m):E}function y(e){var a=e-f,m=e-c;return f===void 0||a>=r||a<0||d&&m>=l}function g(){var e=I();if(y(e))return b(e);i=setTimeout(g,O(e))}function b(e){return i=void 0,T&&u?x(e):(u=o=void 0,s)}function A(){i!==void 0&&clearTimeout(i),c=0,u=f=o=i=void 0}function C(){return i===void 0?s:b(I())}function h(){var e=I(),a=y(e);if(u=arguments,o=this,f=e,a){if(i===void 0)return W(f);if(d)return clearTimeout(i),i=setTimeout(g,r),x(f)}return i===void 0&&(i=setTimeout(g,r)),s}return h.cancel=A,h.flush=C,h}export{z as d,S as t};