chainlesschain 0.160.1 → 0.161.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +6 -6
  3. package/src/assets/web-panel/.build-hash +1 -1
  4. package/src/assets/web-panel/assets/AIOps-FON6GZIt.js +1 -0
  5. package/src/assets/web-panel/assets/{ActionButton-5QD5uzWP.js → ActionButton-Byb_P_P9.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-D1JxsGBN.js → Analytics-CDG1OwOr.js} +2 -2
  7. package/src/assets/web-panel/assets/AppLayout-lM1Y2Wgo.js +1 -0
  8. package/src/assets/web-panel/assets/Audit-p4krng5l.js +1 -0
  9. package/src/assets/web-panel/assets/Backup-G6AQe6k8.js +1 -0
  10. package/src/assets/web-panel/assets/{BaseInput-joQlVauq.js → BaseInput-tUASXi57.js} +1 -1
  11. package/src/assets/web-panel/assets/Chat-B46MHHAs.js +2 -0
  12. package/src/assets/web-panel/assets/{Checkbox-OEOFA9GM.js → Checkbox-CfDbHGdU.js} +1 -1
  13. package/src/assets/web-panel/assets/Codegen-D1mQ03ap.js +1 -0
  14. package/src/assets/web-panel/assets/{Col-BnLUipDp.js → Col-C0wS_dvU.js} +1 -1
  15. package/src/assets/web-panel/assets/Community-CB4KQIpB.js +1 -0
  16. package/src/assets/web-panel/assets/Compact-CuVvz3Zf.js +1 -0
  17. package/src/assets/web-panel/assets/Compliance-D6bnHyjs.js +1 -0
  18. package/src/assets/web-panel/assets/{Cowork-CCgGSKVR.js → Cowork-Dh3yt9pL.js} +2 -2
  19. package/src/assets/web-panel/assets/{Cron-CZ5pjRxn.js → Cron-DiuKXbnA.js} +2 -2
  20. package/src/assets/web-panel/assets/Crosschain-BFgMa5sQ.js +1 -0
  21. package/src/assets/web-panel/assets/{DID-DPZKMApP.js → DID-Dx7CFjrq.js} +2 -2
  22. package/src/assets/web-panel/assets/Dashboard-D3QHFHex.js +3 -0
  23. package/src/assets/web-panel/assets/{Dropdown-CeywCcVQ.js → Dropdown-sMGnnzUo.js} +1 -1
  24. package/src/assets/web-panel/assets/Federation-CGt7CYhN.js +1 -0
  25. package/src/assets/web-panel/assets/{FormItemContext-CFSiPqbu.js → FormItemContext-DuVk39z3.js} +1 -1
  26. package/src/assets/web-panel/assets/{Git-CjVRJDLg.js → Git-glb99UzZ.js} +2 -2
  27. package/src/assets/web-panel/assets/Governance-CQXGee_r.js +1 -0
  28. package/src/assets/web-panel/assets/Inference-Czm-Q3w3.js +1 -0
  29. package/src/assets/web-panel/assets/KnowledgeGraph-DFrr-B78.js +1 -0
  30. package/src/assets/web-panel/assets/{Logs-BD5C-wTx.js → Logs-ChGXdo0Q.js} +2 -2
  31. package/src/assets/web-panel/assets/Marketplace-DW6P2uIY.js +1 -0
  32. package/src/assets/web-panel/assets/{McpTools-x-Tibae-.js → McpTools-ChOwY-wy.js} +2 -2
  33. package/src/assets/web-panel/assets/{Memory-CR8LXq37.js → Memory-vIbbUTel.js} +2 -2
  34. package/src/assets/web-panel/assets/Mtc-60jSuMAz.js +6 -0
  35. package/src/assets/web-panel/assets/Mtc-Cc8OJxe_.css +1 -0
  36. package/src/assets/web-panel/assets/NLProgramming-fRrjhjpW.js +1 -0
  37. package/src/assets/web-panel/assets/{Notes-BYIn2GOe.js → Notes-C0zhC6_B.js} +3 -3
  38. package/src/assets/web-panel/assets/{Organization-CybJTFN9.js → Organization-Bebfm6lF.js} +4 -4
  39. package/src/assets/web-panel/assets/{Overflow-W4YLQ7yY.js → Overflow-D8ZjaRpc.js} +1 -1
  40. package/src/assets/web-panel/assets/{P2P-kVj43R4j.js → P2P-BjgamPxI.js} +2 -2
  41. package/src/assets/web-panel/assets/{Permissions-CfYE4XFJ.js → Permissions-uwoi4HnY.js} +2 -2
  42. package/src/assets/web-panel/assets/Pipeline-C2aHcq6n.js +1 -0
  43. package/src/assets/web-panel/assets/Privacy-lU34k_c5.js +1 -0
  44. package/src/assets/web-panel/assets/{ProjectSettings-cBqrIhNN.js → ProjectSettings-Dy-Iie9L.js} +2 -2
  45. package/src/assets/web-panel/assets/{Projects-BYY38oZd.js → Projects-B4Vt0iiH.js} +2 -2
  46. package/src/assets/web-panel/assets/{Providers-BsS27cWs.js → Providers-Cu9uRsVk.js} +2 -2
  47. package/src/assets/web-panel/assets/QuickAsk-BE29MB0d.js +1 -0
  48. package/src/assets/web-panel/assets/Recommend-DJ9nU8HM.js +1 -0
  49. package/src/assets/web-panel/assets/Reputation-ThffxFwr.js +1 -0
  50. package/src/assets/web-panel/assets/{Row-N-X7EJ3w.js → Row-CqBtO8lC.js} +1 -1
  51. package/src/assets/web-panel/assets/{RssFeed-D9TjnwgF.js → RssFeed-DaxFEUe6.js} +3 -3
  52. package/src/assets/web-panel/assets/Search-4zVFnx_Y.js +1 -0
  53. package/src/assets/web-panel/assets/{Security-DWbFJK10.js → Security-BEfSoaTM.js} +2 -2
  54. package/src/assets/web-panel/assets/{Services-BPUmhVoH.js → Services-DTAaoYJC.js} +2 -2
  55. package/src/assets/web-panel/assets/{Skeleton-Bo5qPHbE.js → Skeleton-CIZErmoY.js} +2 -2
  56. package/src/assets/web-panel/assets/Skills-CacIwBCt.js +1 -0
  57. package/src/assets/web-panel/assets/Sla-Si0g7a0u.js +1 -0
  58. package/src/assets/web-panel/assets/SpeechSettings-H19DqdAG.js +1 -0
  59. package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +1 -0
  60. package/src/assets/web-panel/assets/SyncSettings-bsC4-4rU.js +1 -0
  61. package/src/assets/web-panel/assets/Tasks-Bxlj8OVW.js +1 -0
  62. package/src/assets/web-panel/assets/Templates-B9YsJQcb.js +1 -0
  63. package/src/assets/web-panel/assets/Tenant-D4YncKb7.js +1 -0
  64. package/src/assets/web-panel/assets/Tokens-B2wJjOdI.js +1 -0
  65. package/src/assets/web-panel/assets/{Trigger-Bhjmjsc5.js → Trigger-DU9-3gN9.js} +1 -1
  66. package/src/assets/web-panel/assets/Trust-_yan18qg.js +1 -0
  67. package/src/assets/web-panel/assets/UkeySign-CZ7Xrq96.js +1 -0
  68. package/src/assets/web-panel/assets/VideoEditing-CUgere5i.js +1 -0
  69. package/src/assets/web-panel/assets/{Wallet-dcRAYsdL.js → Wallet-DSnzYVqY.js} +2 -2
  70. package/src/assets/web-panel/assets/{WebAuthn-oqIS5PCi.js → WebAuthn-De4aHZ87.js} +2 -2
  71. package/src/assets/web-panel/assets/WorkflowEditor-C-QNGwia.js +1 -0
  72. package/src/assets/web-panel/assets/chat-DFt6UJUS.js +1 -0
  73. package/src/assets/web-panel/assets/{colors-D2P6CqS5.js → colors-CHuBSydj.js} +1 -1
  74. package/src/assets/web-panel/assets/{compact-item-CG7qutT_.js → compact-item-DtCmGKIm.js} +1 -1
  75. package/src/assets/web-panel/assets/{createContext-y4UPKgbA.js → createContext-Cetup5Fb.js} +1 -1
  76. package/src/assets/web-panel/assets/{hasIn-Butbu9jZ.js → hasIn-Q509tIlQ.js} +1 -1
  77. package/src/assets/web-panel/assets/icons-zXb7lDZs.js +57 -0
  78. package/src/assets/web-panel/assets/{index-BEfvpbz-.js → index-0KFwdHZg.js} +1 -1
  79. package/src/assets/web-panel/assets/{index-Bs9aHxDD.js → index-7kdZ5ox5.js} +1 -1
  80. package/src/assets/web-panel/assets/index-B2f4ltyM.js +65 -0
  81. package/src/assets/web-panel/assets/{index-C_8hWf5_.js → index-B5d7Dkyp.js} +2 -2
  82. package/src/assets/web-panel/assets/index-BDK2Fkgd.js +13 -0
  83. package/src/assets/web-panel/assets/index-BJFH7IlV.js +21 -0
  84. package/src/assets/web-panel/assets/{index-89HJLKZ-.js → index-BTwIwesN.js} +1 -1
  85. package/src/assets/web-panel/assets/index-Bjz1Y3Gs.js +1 -0
  86. package/src/assets/web-panel/assets/index-BlPG_vWg.js +55 -0
  87. package/src/assets/web-panel/assets/{index-BtuwtDUE.js → index-BmHsGJ8F.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-CWh3IxEh.js → index-BvAwpPN9.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-YmGOWX7h.js → index-C2y5MxfU.js} +2 -2
  90. package/src/assets/web-panel/assets/{index-BYZPJS7A.js → index-C61WQXE3.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-BQr8Y0o5.js → index-C7baQwUM.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-B6U6cYUa.js → index-C8agLSzC.js} +8 -8
  93. package/src/assets/web-panel/assets/{index-DdgjeX4z.js → index-CJjwnpac.js} +1 -1
  94. package/src/assets/web-panel/assets/index-CRZ8WjUK.js +1 -0
  95. package/src/assets/web-panel/assets/index-CX7WO0g5.js +12 -0
  96. package/src/assets/web-panel/assets/index-CbQ3AZcJ.js +3 -0
  97. package/src/assets/web-panel/assets/{index-BvJgRWBq.js → index-CeXoNBLu.js} +2 -2
  98. package/src/assets/web-panel/assets/{index-C1ucrJLg.js → index-Ctdt2gEP.js} +1 -1
  99. package/src/assets/web-panel/assets/index-Cxk-8scO.js +1 -0
  100. package/src/assets/web-panel/assets/index-D0oJF6nX.js +7 -0
  101. package/src/assets/web-panel/assets/index-D7Smgwky.js +1 -0
  102. package/src/assets/web-panel/assets/index-DGAGIqDR.js +1 -0
  103. package/src/assets/web-panel/assets/index-DKWvx42k.js +1 -0
  104. package/src/assets/web-panel/assets/{index-Cc77JZKd.js → index-DVQSXYwb.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-vC5cTycG.js → index-DaMTgJkE.js} +2 -2
  106. package/src/assets/web-panel/assets/index-Dd68wDHG.js +12 -0
  107. package/src/assets/web-panel/assets/{index-BCQ0WlB2.js → index-Dem-mhfD.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-CYlDKn3O.js → index-Dq6E-pj8.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-Dx_ZTZo_.js → index-DuQfQVBe.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DLMJy9pE.js → index-HqJ94PSG.js} +4 -4
  111. package/src/assets/web-panel/assets/{index-B4Jfv4EB.js → index-R5D_-l07.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-DnI4Aq0q.js → index-SR2lFA_W.js} +2 -2
  113. package/src/assets/web-panel/assets/{index-BJN_3RTO.js → index-hSpRlh93.js} +1 -1
  114. package/src/assets/web-panel/assets/index-jfzI94IT.js +1 -0
  115. package/src/assets/web-panel/assets/{index-DrVnyYpX.js → index-nfLO3XrF.js} +1 -1
  116. package/src/assets/web-panel/assets/{initDefaultProps-CZRZ-1bk.js → initDefaultProps-D7iOaKOY.js} +1 -1
  117. package/src/assets/web-panel/assets/{motion-CvU8SiWF.js → motion-CvCFk7sy.js} +1 -1
  118. package/src/assets/web-panel/assets/{move-ipAfWhya.js → move-BVj5YZrV.js} +1 -1
  119. package/src/assets/web-panel/assets/{omit-D6bJEjz9.js → omit-N_JDguMt.js} +1 -1
  120. package/src/assets/web-panel/assets/{pickAttrs-Dpvzf7sL.js → pickAttrs-BWcuLN5j.js} +1 -1
  121. package/src/assets/web-panel/assets/{placementArrow-D_tEolP1.js → placementArrow--1l0FzZx.js} +1 -1
  122. package/src/assets/web-panel/assets/{responsiveObserve-BEFI7neO.js → responsiveObserve-CGX6EYRt.js} +1 -1
  123. package/src/assets/web-panel/assets/{slide-Bte_KOqM.js → slide-B3hJzlWm.js} +1 -1
  124. package/src/assets/web-panel/assets/{statusUtils-K4xaDRuO.js → statusUtils-BJuExZuw.js} +1 -1
  125. package/src/assets/web-panel/assets/{styleChecker-Cl9YgOVY.js → styleChecker-pshnIK0r.js} +1 -1
  126. package/src/assets/web-panel/assets/{useFlexGapSupport-DNstl1wK.js → useFlexGapSupport-3FQZdpBd.js} +1 -1
  127. package/src/assets/web-panel/assets/useFs-BW1piLQM.js +1 -0
  128. package/src/assets/web-panel/assets/{vnode-ChB-8cXr.js → vnode-D98L6HI1.js} +1 -1
  129. package/src/assets/web-panel/assets/{zoom-meTNBulL.js → zoom-DnmMtXgZ.js} +1 -1
  130. package/src/assets/web-panel/index.html +2 -2
  131. package/src/commands/crosschain.js +564 -8
  132. package/src/commands/mtc.js +1334 -0
  133. package/src/lib/config-manager.js +3 -1
  134. package/src/lib/cross-chain-mtc.js +904 -0
  135. package/src/lib/governance-v2-helpers.js +1 -1
  136. package/src/lib/sync-manager.js +119 -25
  137. package/src/assets/web-panel/assets/AIOps-BHiKMxFI.js +0 -1
  138. package/src/assets/web-panel/assets/AppLayout-DykU9tOE.js +0 -1
  139. package/src/assets/web-panel/assets/Audit-TGBqld9c.js +0 -1
  140. package/src/assets/web-panel/assets/Backup-DjpzIwA6.js +0 -1
  141. package/src/assets/web-panel/assets/Chat-9TYfosy-.js +0 -2
  142. package/src/assets/web-panel/assets/Codegen-5H5UgHJu.js +0 -1
  143. package/src/assets/web-panel/assets/Community-BF3R5GAl.js +0 -1
  144. package/src/assets/web-panel/assets/Compact-C1EkTFek.js +0 -1
  145. package/src/assets/web-panel/assets/Compliance-CpP-ODRU.js +0 -1
  146. package/src/assets/web-panel/assets/Crosschain-C0P-5sm3.js +0 -1
  147. package/src/assets/web-panel/assets/Dashboard-G-BDDAov.js +0 -3
  148. package/src/assets/web-panel/assets/Federation-DuFRY867.js +0 -1
  149. package/src/assets/web-panel/assets/Governance-C0lyocJc.js +0 -1
  150. package/src/assets/web-panel/assets/Inference-BVSAexgk.js +0 -1
  151. package/src/assets/web-panel/assets/KnowledgeGraph-SE4jCwIn.js +0 -1
  152. package/src/assets/web-panel/assets/Marketplace-CL93dFBs.js +0 -1
  153. package/src/assets/web-panel/assets/Mtc-C-PfF5B3.css +0 -1
  154. package/src/assets/web-panel/assets/Mtc-CEtRtMcc.js +0 -1
  155. package/src/assets/web-panel/assets/NLProgramming-B09F6gt2.js +0 -1
  156. package/src/assets/web-panel/assets/Pipeline-BVLo32Ak.js +0 -1
  157. package/src/assets/web-panel/assets/Privacy-Efyb3xpJ.js +0 -1
  158. package/src/assets/web-panel/assets/QuickAsk-6FgX9DC6.js +0 -1
  159. package/src/assets/web-panel/assets/Recommend-BvMXwWFN.js +0 -1
  160. package/src/assets/web-panel/assets/Reputation-DmwTtBfl.js +0 -1
  161. package/src/assets/web-panel/assets/Search-Hapv-QkV.js +0 -1
  162. package/src/assets/web-panel/assets/Skills-JJ8uInMW.js +0 -1
  163. package/src/assets/web-panel/assets/Sla-CEDF9zdV.js +0 -1
  164. package/src/assets/web-panel/assets/SpeechSettings-oIoX_vCx.js +0 -1
  165. package/src/assets/web-panel/assets/Tasks-Cx5wgv5Z.js +0 -1
  166. package/src/assets/web-panel/assets/Templates-BomcBlkN.js +0 -1
  167. package/src/assets/web-panel/assets/Tenant-BxSQZUNh.js +0 -1
  168. package/src/assets/web-panel/assets/Tokens-BlPPoB3C.js +0 -1
  169. package/src/assets/web-panel/assets/Trust-Dsjv7rkb.js +0 -1
  170. package/src/assets/web-panel/assets/UkeySign-Cux8_Ib_.js +0 -1
  171. package/src/assets/web-panel/assets/VideoEditing-BsVR1PN8.js +0 -1
  172. package/src/assets/web-panel/assets/WorkflowEditor-C_fYMBvB.js +0 -1
  173. package/src/assets/web-panel/assets/chat-BQ-Nk2XY.js +0 -1
  174. package/src/assets/web-panel/assets/icons-DvZE-RKs.js +0 -57
  175. package/src/assets/web-panel/assets/index-38mVlGHc.js +0 -1
  176. package/src/assets/web-panel/assets/index-B5FRjJMb.js +0 -1
  177. package/src/assets/web-panel/assets/index-B7FV5EnN.js +0 -1
  178. package/src/assets/web-panel/assets/index-BQfow_sh.js +0 -1
  179. package/src/assets/web-panel/assets/index-C1mK1Ga3.js +0 -1
  180. package/src/assets/web-panel/assets/index-C2K61jP8.js +0 -55
  181. package/src/assets/web-panel/assets/index-CAeKBs9n.js +0 -1
  182. package/src/assets/web-panel/assets/index-Ceaxjpqh.js +0 -13
  183. package/src/assets/web-panel/assets/index-Ci6jXp3l.js +0 -7
  184. package/src/assets/web-panel/assets/index-CyqU4Tck.js +0 -65
  185. package/src/assets/web-panel/assets/index-DtNHlrxp.js +0 -1
  186. package/src/assets/web-panel/assets/index-gWmZm8_Q.js +0 -21
  187. package/src/assets/web-panel/assets/index-hSilB_Q-.js +0 -12
  188. package/src/assets/web-panel/assets/index-qXvwlbkq.js +0 -3
  189. package/src/assets/web-panel/assets/index-rIbVsjde.js +0 -12
  190. package/src/assets/web-panel/assets/useFs-BD-YRwbU.js +0 -1
  191. package/src/assets/web-panel/assets/ws-D_5-FRIb.js +0 -1
@@ -1 +0,0 @@
1
- import{_ as zt,a as Bt,c as A}from"./index-CyqU4Tck.js";import{u as Ot}from"./ws-D_5-FRIb.js";import{s as lt}from"./community-parser-CO25nZFt.js";import{R as At,m as Rt,N as ot,u as st,aw as Ut,ax as at}from"./icons-DvZE-RKs.js";import{o as Et,M as y,R as m,P as c,u as a,c as o,N as n,Q as w,S as _,K as v,r as O,L as p,O as S,F as U,_ as K,f as G}from"./vendor-B6ToihkA.js";function D(e){const t=lt(e);if(!t)return null;try{return JSON.parse(t)}catch{}const r=t.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!r)return null;try{return JSON.parse(r[0])}catch{return null}}const Mt=Object.freeze(["today","week","month","all"]),ct=Object.freeze(["planning","active","suspended","archived"]),ut=Object.freeze(["pending","recorded","billed","rejected","refunded"]);function i(e,t=0){return typeof e=="number"&&Number.isFinite(e)?e:t}function V(e){if(!e)return{noDb:!1,error:""};const t=lt(e),r=/Database not available/i.test(t);return{noDb:r,error:r?"Database not available":""}}const Q={totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0};function nt(e){const t={...Q};return!e||typeof e!="object"||Array.isArray(e)||(t.totalCalls=i(e.total_calls??e.totalCalls,0),t.totalInputTokens=i(e.total_input_tokens??e.totalInputTokens,0),t.totalOutputTokens=i(e.total_output_tokens??e.totalOutputTokens,0),t.totalTokens=i(e.total_tokens??e.totalTokens,0),t.totalCostUsd=i(e.total_cost_usd??e.totalCostUsd,0),t.avgResponseTimeMs=i(e.avg_response_time_ms??e.avgResponseTimeMs,0)),t}function rt(e){const t=D(e);return!t||typeof t!="object"||Array.isArray(t)?{stats:{...Q},today:{...Q}}:{stats:nt(t.stats),today:nt(t.today)}}function wt(e,t=0){if(!e||typeof e!="object")return null;const r=e.provider||"",f=e.model||"";return!r&&!f?null:{key:`${r}/${f}/${t}`,provider:String(r),model:String(f),calls:i(e.calls,0),inputTokens:i(e.input_tokens??e.inputTokens,0),outputTokens:i(e.output_tokens??e.outputTokens,0),totalTokens:i(e.total_tokens??e.totalTokens,0),costUsd:i(e.cost_usd??e.costUsd,0),_idx:t}}function Dt(e){const t=D(e);return Array.isArray(t)?t.map(wt).filter(Boolean):[]}function jt(e,t=0){if(!e||typeof e!="object")return null;const r=e.id||"";return r?{key:r,id:r,provider:String(e.provider||""),model:String(e.model||""),inputTokens:i(e.input_tokens??e.inputTokens,0),outputTokens:i(e.output_tokens??e.outputTokens,0),totalTokens:i(e.total_tokens??e.totalTokens,0),costUsd:i(e.cost_usd??e.costUsd,0),responseTimeMs:i(e.response_time_ms??e.responseTimeMs,0),endpoint:String(e.endpoint||""),createdAt:e.created_at??e.createdAt??"",_idx:t}:null}function Nt(e){const t=D(e);return Array.isArray(t)?t.map(jt).filter(Boolean):[]}const It={totalEntries:0,totalHits:0,totalTokensSaved:0,expiredEntries:0};function Vt(e){const t={...It},r=D(e);return!r||typeof r!="object"||Array.isArray(r)||(t.totalEntries=i(r.total_entries??r.totalEntries,0),t.totalHits=i(r.total_hits??r.totalHits,0),t.totalTokensSaved=i(r.total_tokens_saved??r.totalTokensSaved,0),t.expiredEntries=i(r.expired_entries??r.expiredEntries,0)),t}const Pt={totalBudgetsV2:0,totalRecordsV2:0,maxActiveBudgetsPerOwner:0,maxPendingRecordsPerBudget:0,budgetIdleMs:0,recordStuckMs:0,budgetsByStatus:{},recordsByStatus:{}};function Ft(e){const t=JSON.parse(JSON.stringify(Pt));for(const f of ct)t.budgetsByStatus[f]=0;for(const f of ut)t.recordsByStatus[f]=0;const r=D(e);if(!r||typeof r!="object"||Array.isArray(r))return t;if(t.totalBudgetsV2=i(r.totalBudgetsV2,0),t.totalRecordsV2=i(r.totalRecordsV2,0),t.maxActiveBudgetsPerOwner=i(r.maxActiveBudgetsPerOwner,0),t.maxPendingRecordsPerBudget=i(r.maxPendingRecordsPerBudget,0),t.budgetIdleMs=i(r.budgetIdleMs,0),t.recordStuckMs=i(r.recordStuckMs,0),r.budgetsByStatus&&typeof r.budgetsByStatus=="object")for(const[f,b]of Object.entries(r.budgetsByStatus))typeof b=="number"&&Number.isFinite(b)&&(t.budgetsByStatus[f]=b);if(r.recordsByStatus&&typeof r.recordsByStatus=="object")for(const[f,b]of Object.entries(r.recordsByStatus))typeof b=="number"&&Number.isFinite(b)&&(t.recordsByStatus[f]=b);return t}function Lt(e){if(e==null||e==="")return"—";const t=String(e),r=t.includes(" ")&&!t.includes("T")?t.replace(" ","T")+"Z":t,f=typeof e=="number"?new Date(e):new Date(r);return isNaN(f.getTime())?t:f.toLocaleString("zh-CN",{hour12:!1})}function P(e){return typeof e!="number"||!Number.isFinite(e)?"$0":"$"+(Math.abs(e)<1?e.toFixed(4):e.toFixed(2))}const $t={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ht={class:"page-title"},Jt={class:"page-sub"},Kt={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},Gt={style:{color:"var(--text-secondary)","font-size":"12px"}},Qt={class:"stat-sub"},Wt={class:"stat-sub"},Yt={class:"stat-sub"},Zt={class:"stat-sub"},qt={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Xt={key:2,style:{color:"var(--text-secondary)"}},te={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ee={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},oe={style:{color:"#faad14","font-weight":"500","font-family":"monospace"}},se={key:5,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"12px"}},ae={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ne={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},re={key:2,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},le={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ce={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},ue={key:4,style:{color:"#faad14","font-weight":"500","font-family":"monospace"}},ie={key:0,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},de={key:1,style:{color:"var(--text-muted)"}},pe={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},fe={style:{"font-size":"12px",color:"var(--text-secondary)",margin:"0 0 8px"}},ke={style:{"font-size":"12px",color:"var(--text-secondary)",margin:"0 0 8px"}},me={__name:"Tokens",setup(e){const{t}=Bt(),r=Ot(),f=O(!1),b=O("all"),g=O({stats:{totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0},today:{totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0}}),F=O([]),W=O([]),h=O({totalEntries:0,totalHits:0,totalTokensSaved:0,expiredEntries:0}),R=O({totalBudgetsV2:0,totalRecordsV2:0,maxActiveBudgetsPerOwner:0,maxPendingRecordsPerBudget:0,budgetIdleMs:0,recordStuckMs:0,budgetsByStatus:{},recordsByStatus:{}}),j=O({noDb:!1,error:""}),Y=O("breakdown"),it=G(()=>[{title:t("tokens.breakdownColumns.provider"),key:"provider",width:"130px"},{title:t("tokens.breakdownColumns.model"),key:"model"},{title:t("tokens.breakdownColumns.calls"),key:"calls",width:"90px"},{title:t("tokens.breakdownColumns.totalTokens"),key:"totalTokens",width:"180px"},{title:t("tokens.breakdownColumns.costUsd"),key:"costUsd",width:"180px"},{title:t("tokens.breakdownColumns.avgCost"),key:"avgCost",width:"110px"}]),dt=G(()=>[{title:t("tokens.recentColumns.createdAt"),key:"createdAt",width:"160px"},{title:t("tokens.recentColumns.provider"),key:"provider",width:"130px"},{title:t("tokens.recentColumns.model"),key:"model",width:"180px"},{title:t("tokens.recentColumns.tokens"),key:"tokens",width:"160px"},{title:t("tokens.recentColumns.costUsd"),key:"costUsd",width:"110px"},{title:t("tokens.recentColumns.responseTimeMs"),key:"responseTimeMs",width:"100px"},{title:t("tokens.recentColumns.endpoint"),key:"endpoint"}]),Z=G(()=>F.value.reduce((s,u)=>s+u.costUsd,0));function pt(s){const u=`tokens.period.${s}`,k=t(u);return k===u?s:k}function q(s){const u=["blue","green","purple","orange","cyan","magenta","gold","volcano"];let k=0;for(let z=0;z<(s||"").length;z++)k=k*31+s.charCodeAt(z)>>>0;return u[k%u.length]}function ft(s){return s<=500?"#52c41a":s<=1500?"#1677ff":s<=3e3?"#faad14":"#ff4d4f"}function kt(s){return s<=500?"green":s<=1500?"blue":s<=3e3?"gold":"red"}function C(s){return typeof s!="number"||!Number.isFinite(s)?"0":s.toLocaleString("en-US")}function mt(s){return!Z.value||s<=0?0:Math.min(100,Math.round(s/Z.value*100))}function X(s,u){return u?Math.round(s/u*100):0}function yt(s){const u=`tokens.budgetStatus.${s}`,k=t(u);return k===u?s:k}function vt(s){return{planning:"default",active:"green",suspended:"orange",archived:"default"}[s]||"default"}function _t(s){return{planning:"#888",active:"#52c41a",suspended:"#faad14",archived:"#666"}[s]||"#888"}function bt(s){const u=`tokens.recordStatus.${s}`,k=t(u);return k===u?s:k}function gt(s){return{pending:"default",recorded:"blue",billed:"green",rejected:"red",refunded:"orange"}[s]||"default"}function xt(s){return{pending:"#888",recorded:"#1677ff",billed:"#52c41a",rejected:"#ff4d4f",refunded:"#faad14"}[s]||"#888"}async function N(){f.value=!0,j.value={noDb:!1,error:""};try{const[s,u,k,z,L]=await Promise.all([r.execute(`tokens show --period ${b.value} --json`,8e3).catch(()=>({output:""})),r.execute("tokens breakdown --json",8e3).catch(()=>({output:""})),r.execute("tokens recent -n 100 --json",1e4).catch(()=>({output:""})),r.execute("tokens cache --json",6e3).catch(()=>({output:""})),r.execute("tokens stats-v2",6e3).catch(()=>({output:""}))]),I=[s,u,k,z].map(E=>V(E.output)).find(E=>E.noDb);I&&(j.value=I),g.value=rt(s.output),F.value=Dt(u.output),W.value=Nt(k.output),h.value=Vt(z.output),R.value=Ft(L.output)}catch(s){A.error(t("tokens.messages.loadFailed",{err:s?.message||s}))}finally{f.value=!1}}async function ht(){try{const{output:s}=await r.execute(`tokens show --period ${b.value} --json`,8e3),u=V(s);if(u.noDb){j.value=u;return}g.value=rt(s)}catch(s){A.error(t("tokens.messages.loadShowFailed",{err:s?.message||s}))}}async function Tt(){try{const{output:s}=await r.execute("tokens cache --cleanup",8e3);if(V(s).noDb){A.error(t("tokens.messages.needInit"));return}A.success(t("tokens.messages.cleanupOk")),await N()}catch(s){A.error(t("tokens.messages.cleanupFailed",{err:s?.message||s}))}}async function St(){try{const{output:s}=await r.execute("tokens cache --clear",8e3);if(V(s).noDb){A.error(t("tokens.messages.needInit"));return}A.success(t("tokens.messages.clearOk")),await N()}catch(s){A.error(t("tokens.messages.clearFailed",{err:s?.message||s}))}}return Et(N),(s,u)=>{const k=v("a-button"),z=v("a-space"),L=v("a-alert"),I=v("a-radio-button"),E=v("a-radio-group"),x=v("a-card"),B=v("a-statistic"),T=v("a-col"),$=v("a-row"),M=v("a-tag"),H=v("a-progress"),tt=v("a-table"),J=v("a-tab-pane"),et=v("a-popconfirm"),Ct=v("a-tabs");return p(),y("div",null,[m("div",$t,[m("div",null,[m("h2",Ht,c(a(t)("tokens.title")),1),m("p",Jt,c(a(t)("tokens.subtitle")),1)]),o(z,null,{default:n(()=>[o(k,{loading:f.value,onClick:N},{icon:n(()=>[o(a(At))]),default:n(()=>[S(" "+c(a(t)("tokens.refresh")),1)]),_:1},8,["loading"])]),_:1})]),j.value.noDb?(p(),w(L,{key:0,type:"info","show-icon":"",message:a(t)("tokens.noDb.message"),description:a(t)("tokens.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):_("",!0),o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},"body-style":{padding:"10px 16px"}},{default:n(()=>[m("div",Kt,[m("span",Gt,c(a(t)("tokens.periodLabel")),1),o(E,{value:b.value,"onUpdate:value":u[0]||(u[0]=l=>b.value=l),size:"small","button-style":"solid",onChange:ht},{default:n(()=>[(p(!0),y(U,null,K(a(Mt),l=>(p(),w(I,{key:l,value:l},{default:n(()=>[S(c(pt(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),o($,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.calls"),value:g.value.stats.totalCalls,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[o(a(Rt))]),_:1},8,["title","value"]),m("div",Qt,c(a(t)("tokens.stats.callsToday",{count:g.value.today.totalCalls})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.totalTokens"),value:g.value.stats.totalTokens,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[o(a(ot))]),_:1},8,["title","value"]),m("div",Wt,c(a(t)("tokens.stats.tokensInOut",{inputs:C(g.value.stats.totalInputTokens),outputs:C(g.value.stats.totalOutputTokens)})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.totalCost"),value:g.value.stats.totalCostUsd,precision:g.value.stats.totalCostUsd<1?4:2,prefix:"$","value-style":{color:"#faad14",fontSize:"20px"}},null,8,["title","value","precision"]),m("div",Yt,c(a(t)("tokens.stats.costToday",{amount:a(P)(g.value.today.totalCostUsd)})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.avgResponse"),value:g.value.stats.avgResponseTimeMs,suffix:"ms",precision:0,"value-style":{color:ft(g.value.stats.avgResponseTimeMs),fontSize:"20px"}},{prefix:n(()=>[o(a(st))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(T,{xs:24,sm:8,lg:4},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.cacheHits"),value:h.value.totalHits,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:n(()=>[o(a(Ut))]),_:1},8,["title","value"]),m("div",Zt,c(a(t)("tokens.stats.cacheTokensSaved",{count:C(h.value.totalTokensSaved)})),1)]),_:1})]),_:1})]),_:1}),o(Ct,{activeKey:Y.value,"onUpdate:activeKey":u[1]||(u[1]=l=>Y.value=l),class:"tokens-tabs"},{default:n(()=>[o(J,{key:"breakdown",tab:a(t)("tokens.tabs.breakdown")},{default:n(()=>[o(tt,{columns:it.value,"data-source":F.value,pagination:{pageSize:20,showTotal:l=>a(t)("tokens.totals.models",{count:l})},size:"small",loading:f.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:d})=>[l.key==="provider"?(p(),w(M,{key:0,color:q(d.provider),style:{"font-family":"monospace"}},{default:n(()=>[S(c(d.provider),1)]),_:2},1032,["color"])):_("",!0),l.key==="model"?(p(),y("span",qt,c(d.model),1)):_("",!0),l.key==="calls"?(p(),y("span",Xt,c(C(d.calls)),1)):_("",!0),l.key==="totalTokens"?(p(),y(U,{key:3},[m("span",te,c(C(d.totalTokens)),1),m("div",ee,c(a(t)("tokens.breakdownDetails.tokensInOut",{inputs:C(d.inputTokens),outputs:C(d.outputTokens)})),1)],64)):_("",!0),l.key==="costUsd"?(p(),y(U,{key:4},[m("span",oe,c(a(P)(d.costUsd)),1),o(H,{percent:mt(d.costUsd),"show-info":!1,"stroke-color":"#faad14",size:"small",style:{"margin-top":"2px"}},null,8,["percent"])],64)):_("",!0),l.key==="avgCost"?(p(),y("span",se,c(d.calls>0?a(P)(d.costUsd/d.calls):"—"),1)):_("",!0)]),emptyText:n(()=>[m("div",ae,[o(a(ot),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),S(" "+c(a(t)("tokens.empty.breakdown")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),o(J,{key:"recent",tab:a(t)("tokens.tabs.recent")},{default:n(()=>[o(tt,{columns:dt.value,"data-source":W.value,pagination:{pageSize:20,showTotal:l=>a(t)("tokens.totals.rows",{count:l})},size:"small",loading:f.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:d})=>[l.key==="createdAt"?(p(),y("span",ne,c(a(Lt)(d.createdAt)),1)):_("",!0),l.key==="provider"?(p(),w(M,{key:1,color:q(d.provider),style:{"font-family":"monospace"}},{default:n(()=>[S(c(d.provider),1)]),_:2},1032,["color"])):_("",!0),l.key==="model"?(p(),y("span",re,c(d.model),1)):_("",!0),l.key==="tokens"?(p(),y(U,{key:3},[m("span",le,c(C(d.totalTokens)),1),m("div",ce,c(C(d.inputTokens))+" / "+c(C(d.outputTokens)),1)],64)):_("",!0),l.key==="costUsd"?(p(),y("span",ue,c(a(P)(d.costUsd)),1)):_("",!0),l.key==="responseTimeMs"?(p(),w(M,{key:5,color:kt(d.responseTimeMs)},{default:n(()=>[S(c(d.responseTimeMs)+"ms",1)]),_:2},1032,["color"])):_("",!0),l.key==="endpoint"?(p(),y(U,{key:6},[d.endpoint?(p(),y("span",ie,c(d.endpoint),1)):(p(),y("span",de,"—"))],64)):_("",!0)]),emptyText:n(()=>[m("div",pe,[o(a(st),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),S(" "+c(a(t)("tokens.empty.recent")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),o(J,{key:"cache",tab:a(t)("tokens.tabs.cache")},{default:n(()=>[o($,{gutter:[16,16],style:{"margin-bottom":"16px"}},{default:n(()=>[o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalEntries"),value:h.value.totalEntries,"value-style":{color:"#1677ff",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalHits"),value:h.value.totalHits,"value-style":{color:"#52c41a",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalTokensSaved"),value:h.value.totalTokensSaved,"value-style":{color:"#13c2c2",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.expiredEntries"),value:h.value.expiredEntries,"value-style":{color:h.value.expiredEntries>0?"#faad14":"#888",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),o(x,{title:a(t)("tokens.cache.maintenanceTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(z,null,{default:n(()=>[o(et,{title:a(t)("tokens.cache.cleanupConfirm"),"ok-text":a(t)("tokens.cache.cleanupOk"),"cancel-text":a(t)("common.cancel"),onConfirm:Tt},{default:n(()=>[o(k,{disabled:h.value.expiredEntries===0},{icon:n(()=>[o(a(at))]),default:n(()=>[S(" "+c(a(t)("tokens.cache.cleanupButton",{count:h.value.expiredEntries})),1)]),_:1},8,["disabled"])]),_:1},8,["title","ok-text","cancel-text"]),o(et,{title:a(t)("tokens.cache.clearConfirm"),"ok-text":a(t)("tokens.cache.clearOk"),"ok-type":"danger","cancel-text":a(t)("common.cancel"),onConfirm:St},{default:n(()=>[o(k,{danger:"",disabled:h.value.totalEntries===0},{icon:n(()=>[o(a(at))]),default:n(()=>[S(" "+c(a(t)("tokens.cache.clearButton")),1)]),_:1},8,["disabled"])]),_:1},8,["title","ok-text","cancel-text"])]),_:1})]),_:1},8,["title"]),o(x,{title:a(t)("tokens.v2.cardTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:n(()=>[o($,{gutter:[16,16]},{default:n(()=>[o(T,{xs:24,lg:12},{default:n(()=>[m("h5",fe,c(a(t)("tokens.v2.budgetsTitle")),1),(p(!0),y(U,null,K(a(ct),l=>(p(),y("div",{key:l,class:"bd-row"},[o(M,{color:vt(l),style:{"min-width":"80px","text-align":"center"}},{default:n(()=>[S(c(yt(l)),1)]),_:2},1032,["color"]),o(H,{percent:X(R.value.budgetsByStatus[l]||0,R.value.totalBudgetsV2),"stroke-color":_t(l),format:()=>`${R.value.budgetsByStatus[l]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1}),o(T,{xs:24,lg:12},{default:n(()=>[m("h5",ke,c(a(t)("tokens.v2.recordsTitle")),1),(p(!0),y(U,null,K(a(ut),l=>(p(),y("div",{key:l,class:"bd-row"},[o(M,{color:gt(l),style:{"min-width":"80px","text-align":"center"}},{default:n(()=>[S(c(bt(l)),1)]),_:2},1032,["color"]),o(H,{percent:X(R.value.recordsByStatus[l]||0,R.value.totalRecordsV2),"stroke-color":xt(l),format:()=>`${R.value.recordsByStatus[l]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1})]),_:1})]),_:1},8,["title"])]),_:1},8,["tab"])]),_:1},8,["activeKey"])])}}},xe=zt(me,[["__scopeId","data-v-605706da"]]);export{xe as default};
@@ -1 +0,0 @@
1
- import{_ as ke,a as he,M as $e,c as _}from"./index-CyqU4Tck.js";import{u as Se}from"./ws-D_5-FRIb.js";import{s as Ce}from"./community-parser-CO25nZFt.js";import{R as xe,al as Ae,w as Nt,U as Et,G as Pt,K as _t,f as Vt,d as we}from"./icons-DvZE-RKs.js";import{o as ze,M as c,R as S,P as u,c as l,N as a,K as y,r as k,L as i,O as m,u as v,F as h,_ as N,Q as g,S as f,f as D,a as et}from"./vendor-B6ToihkA.js";function E(n){const r=Ce(n);if(!r)return null;try{return JSON.parse(r)}catch{}const s=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!s)return null;try{return JSON.parse(s[0])}catch{return null}}const ht=Object.freeze(["tpm","tee","secure_element"]),Le=Object.freeze(["valid","expired","failed","pending"]),qt=Object.freeze(["iridium","starlink","beidou"]),Te=Object.freeze(["queued","sent","confirmed","failed"]),$t=Object.freeze(["yubikey","ledger","trezor","generic"]),Fe=Object.freeze(["fips_140_2","fips_140_3","cc_eal4"]);function F(n,r=0){return typeof n=="number"&&Number.isFinite(n)?n:r}function je(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,anchor:String(n.anchor||"").toLowerCase(),status:String(n.status||"pending").toLowerCase(),challenge:n.challenge??"",response:n.response??"",deviceFingerprint:n.device_fingerprint??n.deviceFingerprint??"",createdAt:n.created_at??n.createdAt??null,expiresAt:n.expires_at??n.expiresAt??null,_idx:r}:null}function Me(n){const r=E(n);return Array.isArray(r)?r.map(je).filter(Boolean):[]}function Ue(n){const r=E(n);return!r||typeof r!="object"||Array.isArray(r)?{ok:!1,attestationId:null,status:"",response:"",reason:""}:{ok:!!r.attestationId,attestationId:r.attestationId?String(r.attestationId):null,status:String(r.status||""),response:String(r.response||""),reason:r.reason?String(r.reason):""}}function Re(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,algorithm:String(n.algorithm||""),peer:n.peer??"",compatible:!!n.compatible,result:String(n.result||""),latencyMs:F(n.latency_ms??n.latencyMs,0),createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function Ie(n){const r=E(n);return Array.isArray(r)?r.map(Re).filter(Boolean):[]}function Oe(n){const r=E(n);return!r||typeof r!="object"||Array.isArray(r)?{ok:!1,testId:null,compatible:!1,result:"",latencyMs:0,reason:""}:{ok:!!r.testId,testId:r.testId?String(r.testId):null,compatible:!!r.compatible,result:String(r.result||""),latencyMs:F(r.latencyMs,0),reason:r.reason?String(r.reason):""}}function Ne(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,provider:String(n.provider||"").toLowerCase(),priority:F(n.priority,5),status:String(n.status||"queued").toLowerCase(),payload:String(n.payload||""),sentAt:n.sent_at??n.sentAt??null,confirmedAt:n.confirmed_at??n.confirmedAt??null,createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function Ee(n){const r=E(n);return Array.isArray(r)?r.map(Ne).filter(Boolean):[]}function Pe(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,vendor:String(n.vendor||"").toLowerCase(),model:n.model??"",serialNumber:n.serial_number??n.serialNumber??"",complianceLevel:n.compliance_level??n.complianceLevel??"",firmwareVersion:n.firmware_version??n.firmwareVersion??"",createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function Ve(n){const r=E(n);return Array.isArray(r)?r.map(Pe).filter(Boolean):[]}function qe(n){const r=E(n);return!r||typeof r!="object"||Array.isArray(r)?{ok:!1,signature:"",algorithm:"",reason:""}:{ok:!!r.signature,signature:r.signature?String(r.signature):"",algorithm:String(r.algorithm||""),reason:r.reason?String(r.reason):""}}function pt(n){const r=E(n);if(!r||typeof r!="object"||Array.isArray(r))return{ok:!1,id:null,reason:""};const s=r.deviceId||r.messageId||r.attestationId||r.testId||null;return{ok:!!(s||r.removed||r.updated),id:s?String(s):null,reason:r.reason?String(r.reason):""}}const De={attestations:{total:0,valid:0,byAnchor:{}},interopTests:{total:0,compatible:0,avgLatencyMs:0},satellite:{total:0,queued:0,confirmed:0},hsm:{total:0,byVendor:{}}};function He(n){const r=JSON.parse(JSON.stringify(De));for(const j of ht)r.attestations.byAnchor[j]=0;for(const j of $t)r.hsm.byVendor[j]=0;const s=E(n);if(!s||typeof s!="object"||Array.isArray(s))return r;if(s.attestations&&typeof s.attestations=="object"&&(r.attestations.total=F(s.attestations.total,0),r.attestations.valid=F(s.attestations.valid,0),s.attestations.byAnchor&&typeof s.attestations.byAnchor=="object"))for(const[j,C]of Object.entries(s.attestations.byAnchor))typeof C=="number"&&Number.isFinite(C)&&(r.attestations.byAnchor[j]=C);if(s.interopTests&&typeof s.interopTests=="object"&&(r.interopTests.total=F(s.interopTests.total,0),r.interopTests.compatible=F(s.interopTests.compatible,0),r.interopTests.avgLatencyMs=F(s.interopTests.avgLatencyMs,0)),s.satellite&&typeof s.satellite=="object"&&(r.satellite.total=F(s.satellite.total,0),r.satellite.queued=F(s.satellite.queued,0),r.satellite.confirmed=F(s.satellite.confirmed,0)),s.hsm&&typeof s.hsm=="object"&&(r.hsm.total=F(s.hsm.total,0),s.hsm.byVendor&&typeof s.hsm.byVendor=="object"))for(const[j,C]of Object.entries(s.hsm.byVendor))typeof C=="number"&&Number.isFinite(C)&&(r.hsm.byVendor[j]=C);return r}function kt(n){if(n==null||n==="")return"—";const r=typeof n=="number"?new Date(n):new Date(String(n));return isNaN(r.getTime())?String(n):r.toLocaleString("zh-CN",{hour12:!1})}const Be={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ke={class:"page-title"},Ge={class:"page-sub"},Je={class:"stat-sub"},Qe={class:"stat-sub"},We={class:"stat-sub"},Ye={class:"filter-bar"},Xe={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Ze={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ta={key:1,style:{color:"var(--text-muted)"}},ea={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},aa={key:1,style:{color:"var(--text-muted)"}},la={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},sa={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},oa={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},ra={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},na={key:1,style:{color:"var(--text-muted)"}},ia={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ua={key:1,style:{color:"var(--text-muted)"}},da={key:6,style:{color:"var(--text-secondary)","font-size":"11px"}},pa={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ca={class:"filter-bar"},ma={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},fa={key:4,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},ya={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},va={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ga={class:"filter-bar"},ba={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},_a={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},ka={key:1,style:{color:"var(--text-muted)"}},ha={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},$a={key:1,style:{color:"var(--text-muted)"}},Sa={key:1,style:{color:"var(--text-muted)"}},Ca={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},xa={key:1,style:{color:"var(--text-muted)"}},Aa={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},wa={style:{"margin-left":"8px",color:"var(--text-muted)","font-size":"12px"}},za={key:0,style:{"padding-top":"8px"}},La={style:{"margin-left":"8px"}},Ta={key:1},Fa={class:"sig-pre"},ja={__name:"Trust",setup(n){const r=Se(),{t:s}=he(),j=$e.PRESENTED_IMAGE_SIMPLE,C=k(!1),L=k(!1),ct=k(!1),St=k([]),Ct=k([]),xt=k([]),mt=k([]),w=k({attestations:{total:0,valid:0,byAnchor:{}},interopTests:{total:0,compatible:0,avgLatencyMs:0},satellite:{total:0,queued:0,confirmed:0},hsm:{total:0,byVendor:{}}}),At=k("attestations"),H=k(""),B=k(""),K=k(""),G=k(""),J=k(""),at=k(!1),lt=k(!1),st=k(!1),ot=k(!1),ft=k(!1),A=et({anchor:"tpm",challenge:"",fingerprint:""}),x=et({algorithm:"ml_kem_768",peer:"",latency:50}),z=et({provider:"iridium",priority:5,payload:""}),b=et({vendor:"yubikey",model:"",serial:"",compliance:void 0,firmware:""}),M=et({data:"",algorithm:""}),P=k(null),I=k(null),Dt=D(()=>[{title:s("trust.attestCols.id"),key:"id",width:"130px"},{title:s("trust.attestCols.anchor"),key:"anchor",width:"160px"},{title:s("trust.attestCols.status"),key:"status",width:"110px"},{title:s("trust.attestCols.fingerprint"),key:"fingerprint",width:"180px"},{title:s("trust.attestCols.response"),key:"response"},{title:s("trust.attestCols.createdAt"),key:"createdAt",width:"160px"}]),Ht=D(()=>[{title:s("trust.interopCols.id"),key:"id",width:"130px"},{title:s("trust.interopCols.algorithm"),key:"algorithm",width:"180px"},{title:s("trust.interopCols.compatible"),key:"compatible",width:"110px"},{title:s("trust.interopCols.result"),key:"result",width:"110px"},{title:s("trust.interopCols.latency"),key:"latencyMs",width:"100px"},{title:s("trust.interopCols.peer"),key:"peer",width:"150px"},{title:s("trust.interopCols.createdAt"),key:"createdAt",width:"160px"}]),Bt=D(()=>[{title:s("trust.satCols.id"),key:"id",width:"130px"},{title:s("trust.satCols.provider"),key:"provider",width:"110px"},{title:s("trust.satCols.priority"),key:"priority",width:"90px"},{title:s("trust.satCols.status"),key:"status",width:"110px"},{title:s("trust.satCols.payload"),key:"payload"},{title:s("trust.satCols.createdAt"),key:"createdAt",width:"160px"},{title:s("trust.satCols.action"),key:"action",width:"210px"}]),Kt=D(()=>[{title:s("trust.hsmCols.id"),key:"id",width:"130px"},{title:s("trust.hsmCols.vendor"),key:"vendor",width:"110px"},{title:s("trust.hsmCols.model"),key:"model",width:"140px"},{title:s("trust.hsmCols.serial"),key:"serialNumber",width:"180px"},{title:s("trust.hsmCols.compliance"),key:"complianceLevel",width:"140px"},{title:s("trust.hsmCols.firmware"),key:"firmwareVersion",width:"110px"},{title:s("trust.hsmCols.action"),key:"action",width:"160px"}]),Gt=D(()=>{let t=St.value;return H.value&&(t=t.filter(o=>o.anchor===H.value)),B.value&&(t=t.filter(o=>o.status===B.value)),t}),Jt=D(()=>{let t=xt.value;return K.value&&(t=t.filter(o=>o.provider===K.value)),G.value&&(t=t.filter(o=>o.status===G.value)),t}),Qt=D(()=>J.value?mt.value.filter(t=>t.vendor===J.value):mt.value),wt=D(()=>w.value.attestations.total?w.value.attestations.valid/w.value.attestations.total*100:0);function yt(t){const o=`trust.anchorLabels.${t}`,p=s(o);return p===o?t:p}function Wt(t){return{tpm:"blue",tee:"purple",secure_element:"cyan"}[t]||"default"}function zt(t){const o=`trust.attestStatusLabels.${t}`,p=s(o);return p===o?t:p}function Yt(t){return{valid:"green",expired:"default",failed:"red",pending:"processing"}[t]||"default"}function Lt(t){const o=`trust.satStatusLabels.${t}`,p=s(o);return p===o?t:p}function Xt(t){return{queued:"default",sent:"blue",confirmed:"green",failed:"red"}[t]||"default"}function Zt(t){return t>=8?"red":t>=6?"orange":t>=4?"gold":"default"}function te(t){return{iridium:"blue",starlink:"purple",beidou:"red"}[t]||"default"}function Tt(t){return{yubikey:"green",ledger:"blue",trezor:"orange",generic:"default"}[t]||"default"}function ee(t){return{fips_140_2:"cyan",fips_140_3:"blue",cc_eal4:"purple"}[t]||"default"}function ae(t){return t<=50?"green":t<=200?"blue":t<=1e3?"gold":"red"}function le(t){return t>=95?"#52c41a":t>=80?"#1677ff":t>=60?"#faad14":"#ff4d4f"}function vt(t,o){return t?t.length<=o?t:t.slice(0,o)+"…":""}function U(t){return`"${String(t).replace(/"/g,'\\"')}"`}async function V(){C.value=!0;try{const[t,o,p,O,bt]=await Promise.all([r.execute("trust attestations --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("trust interop-tests --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("trust sat-messages --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("trust hsm-devices --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("trust stats --json",8e3).catch(()=>({output:""}))]);St.value=Me(t.output),Ct.value=Ie(o.output),xt.value=Ee(p.output),mt.value=Ve(O.output),w.value=He(bt.output)}catch(t){_.error(s("trust.msg.loadFailed")+": "+(t?.message||t))}finally{C.value=!1}}async function se(){L.value=!0;try{const t=[`trust attest ${A.anchor}`];A.challenge.trim()&&t.push(`-c ${U(A.challenge.trim())}`),A.fingerprint.trim()&&t.push(`-f ${U(A.fingerprint.trim())}`),t.push("--json");const{output:o}=await r.execute(t.join(" "),1e4),p=Ue(o);if(!p.ok){_.error(s("trust.msg.attestFailed")+": "+(p.reason||o.slice(0,120)));return}_.success(s("trust.msg.attestSuccess",{status:p.status})),at.value=!1,Ft(),await V()}catch(t){_.error(s("trust.msg.attestFailed")+": "+(t?.message||t))}finally{L.value=!1}}async function oe(){if(!x.algorithm.trim()){_.warning(s("trust.msg.interopAlgEmpty"));return}L.value=!0;try{const t=[`trust interop-test ${U(x.algorithm.trim())}`];x.peer.trim()&&t.push(`-p ${U(x.peer.trim())}`),x.latency>0&&t.push(`-l ${x.latency}`),t.push("--json");const{output:o}=await r.execute(t.join(" "),1e4),p=Oe(o);if(!p.ok){_.error(s("trust.msg.interopFailed")+": "+(p.reason||o.slice(0,120)));return}_.success(s("trust.msg.interopSuccess",{compat:p.compatible?s("trust.table.compatible"):s("trust.table.incompatible"),latency:p.latencyMs})),lt.value=!1,jt(),await V()}catch(t){_.error(s("trust.msg.interopFailed")+": "+(t?.message||t))}finally{L.value=!1}}async function re(){if(!z.payload.trim()){_.warning(s("trust.msg.satPayloadEmpty"));return}L.value=!0;try{const t=[`trust sat-send ${U(z.payload.trim())}`,`-p ${z.provider}`,`-r ${z.priority}`,"--json"],{output:o}=await r.execute(t.join(" "),1e4),p=pt(o);if(!p.ok){_.error(s("trust.msg.satFailed")+": "+(p.reason||o.slice(0,120)));return}_.success(s("trust.msg.satSuccess",{id:p.id?.slice(0,8)})),st.value=!1,Mt(),await V()}catch(t){_.error(s("trust.msg.satFailed")+": "+(t?.message||t))}finally{L.value=!1}}async function gt(t,o){try{const{output:p}=await r.execute(`trust sat-status ${t.id} ${o} --json`,8e3),O=pt(p);if(!O.ok){_.error(s("trust.msg.satUpdateFailed")+": "+(O.reason||p.slice(0,120)));return}_.success(s("trust.msg.satUpdateSuccess")),await V()}catch(p){_.error(s("trust.msg.satUpdateFailed")+": "+(p?.message||p))}}async function ne(){L.value=!0;try{const t=[`trust hsm-register ${b.vendor}`];b.model.trim()&&t.push(`-m ${U(b.model.trim())}`),b.serial.trim()&&t.push(`-s ${U(b.serial.trim())}`),b.compliance&&t.push(`-c ${b.compliance}`),b.firmware.trim()&&t.push(`-f ${U(b.firmware.trim())}`),t.push("--json");const{output:o}=await r.execute(t.join(" "),1e4),p=pt(o);if(!p.ok){_.error(s("trust.msg.hsmRegisterFailed")+": "+(p.reason||o.slice(0,120)));return}_.success(s("trust.msg.hsmRegisterSuccess",{id:p.id?.slice(0,8)})),ot.value=!1,Ut(),await V()}catch(t){_.error(s("trust.msg.hsmRegisterFailed")+": "+(t?.message||t))}finally{L.value=!1}}async function ie(t){try{const{output:o}=await r.execute(`trust hsm-remove ${t.id} --json`,8e3),p=pt(o);if(!p.ok){_.error(s("trust.msg.hsmRemoveFailed")+": "+(p.reason||o.slice(0,120)));return}_.success(s("trust.msg.hsmRemoveSuccess")),await V()}catch(o){_.error(s("trust.msg.hsmRemoveFailed")+": "+(o?.message||o))}}function ue(t){P.value=t,M.data="",M.algorithm="",I.value=null,ft.value=!0}async function de(){if(!M.data.trim()){_.warning(s("trust.msg.signEmpty"));return}if(P.value){ct.value=!0,I.value=null;try{const t=[`trust hsm-sign ${P.value.id}`];t.push(`-d ${U(M.data)}`),M.algorithm.trim()&&t.push(`-a ${U(M.algorithm.trim())}`),t.push("--json");const{output:o}=await r.execute(t.join(" "),1e4);I.value=qe(o),I.value.ok&&_.success(s("trust.msg.signSuccess"))}catch(t){_.error(s("trust.msg.signFailed")+": "+(t?.message||t))}finally{ct.value=!1}}}function Ft(){A.anchor="tpm",A.challenge="",A.fingerprint=""}function jt(){x.algorithm="ml_kem_768",x.peer="",x.latency=50}function Mt(){z.provider="iridium",z.priority=5,z.payload=""}function Ut(){b.vendor="yubikey",b.model="",b.serial="",b.compliance=void 0,b.firmware=""}return ze(V),(t,o)=>{const p=y("a-button"),O=y("a-menu-item"),bt=y("a-menu"),pe=y("a-dropdown"),ce=y("a-space"),Q=y("a-statistic"),W=y("a-card"),Y=y("a-col"),me=y("a-row"),R=y("a-radio-button"),X=y("a-radio-group"),T=y("a-tag"),rt=y("a-table"),nt=y("a-tab-pane"),fe=y("a-popconfirm"),ye=y("a-tabs"),it=y("a-select-option"),ut=y("a-select"),$=y("a-form-item"),q=y("a-input"),Z=y("a-form"),tt=y("a-modal"),Rt=y("a-input-number"),It=y("a-textarea"),ve=y("a-divider"),ge=y("a-empty"),Ot=y("a-descriptions-item"),be=y("a-descriptions"),_e=y("a-alert");return i(),c("div",null,[S("div",Be,[S("div",null,[S("h2",Ke,u(t.$t("trust.title")),1),S("p",Ge,u(t.$t("trust.subtitle")),1)]),l(ce,null,{default:a(()=>[l(p,{loading:C.value,onClick:V},{icon:a(()=>[l(v(xe))]),default:a(()=>[m(" "+u(t.$t("trust.refresh")),1)]),_:1},8,["loading"]),l(pe,null,{overlay:a(()=>[l(bt,null,{default:a(()=>[l(O,{key:"attest",onClick:o[0]||(o[0]=e=>at.value=!0)},{default:a(()=>[m(u(t.$t("trust.actions.attest")),1)]),_:1}),l(O,{key:"interop",onClick:o[1]||(o[1]=e=>lt.value=!0)},{default:a(()=>[m(u(t.$t("trust.actions.interop")),1)]),_:1}),l(O,{key:"sat",onClick:o[2]||(o[2]=e=>st.value=!0)},{default:a(()=>[m(u(t.$t("trust.actions.sat")),1)]),_:1}),l(O,{key:"hsm",onClick:o[3]||(o[3]=e=>ot.value=!0)},{default:a(()=>[m(u(t.$t("trust.actions.hsm")),1)]),_:1})]),_:1})]),default:a(()=>[l(p,{type:"primary"},{icon:a(()=>[l(v(Ae))]),default:a(()=>[m(" "+u(t.$t("trust.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),l(me,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[l(Y,{xs:12,sm:8,lg:5},{default:a(()=>[l(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(Q,{title:t.$t("trust.stats.attestations"),value:w.value.attestations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[l(v(Nt))]),_:1},8,["title","value"]),S("div",Je,u(t.$t("trust.stats.validSuffix",{n:w.value.attestations.valid})),1)]),_:1})]),_:1}),l(Y,{xs:12,sm:8,lg:5},{default:a(()=>[l(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(Q,{title:t.$t("trust.stats.interop"),value:w.value.interopTests.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[l(v(Et))]),_:1},8,["title","value"]),S("div",Qe,u(t.$t("trust.stats.interopSub",{compatible:w.value.interopTests.compatible,avg:w.value.interopTests.avgLatencyMs})),1)]),_:1})]),_:1}),l(Y,{xs:12,sm:8,lg:5},{default:a(()=>[l(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(Q,{title:t.$t("trust.stats.satellite"),value:w.value.satellite.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[l(v(Pt))]),_:1},8,["title","value"]),S("div",We,u(t.$t("trust.stats.satelliteSub",{queued:w.value.satellite.queued,confirmed:w.value.satellite.confirmed})),1)]),_:1})]),_:1}),l(Y,{xs:12,sm:8,lg:5},{default:a(()=>[l(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(Q,{title:t.$t("trust.stats.hsm"),value:w.value.hsm.total,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[l(v(_t))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(Y,{xs:24,sm:8,lg:4},{default:a(()=>[l(W,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(Q,{title:t.$t("trust.stats.passRate"),value:wt.value,suffix:"%",precision:0,"value-style":{color:le(wt.value),fontSize:"20px"}},{prefix:a(()=>[l(v(Vt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),l(ye,{activeKey:At.value,"onUpdate:activeKey":o[9]||(o[9]=e=>At.value=e),class:"trust-tabs"},{default:a(()=>[l(nt,{key:"attestations",tab:t.$t("trust.tabs.attestations")},{default:a(()=>[S("div",Ye,[l(X,{value:H.value,"onUpdate:value":o[4]||(o[4]=e=>H.value=e),size:"small","button-style":"solid"},{default:a(()=>[l(R,{value:""},{default:a(()=>[m(u(t.$t("trust.filter.allAnchors")),1)]),_:1}),(i(!0),c(h,null,N(v(ht),e=>(i(),g(R,{key:e,value:e},{default:a(()=>[m(u(yt(e)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l(X,{value:B.value,"onUpdate:value":o[5]||(o[5]=e=>B.value=e),size:"small"},{default:a(()=>[l(R,{value:""},{default:a(()=>[m(u(t.$t("trust.filter.allStatuses")),1)]),_:1}),(i(!0),c(h,null,N(v(Le),e=>(i(),g(R,{key:e,value:e},{default:a(()=>[m(u(zt(e)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),l(rt,{columns:Dt.value,"data-source":Gt.value,pagination:{pageSize:20,showTotal:e=>t.$t("trust.table.totalSuffix",{n:e})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:e,record:d})=>[e.key==="id"?(i(),c("span",Xe,u(d.id.slice(0,12)),1)):f("",!0),e.key==="anchor"?(i(),g(T,{key:1,color:Wt(d.anchor),style:{"font-family":"monospace"}},{default:a(()=>[m(u(yt(d.anchor)),1)]),_:2},1032,["color"])):f("",!0),e.key==="status"?(i(),g(T,{key:2,color:Yt(d.status)},{default:a(()=>[m(u(zt(d.status)),1)]),_:2},1032,["color"])):f("",!0),e.key==="fingerprint"?(i(),c(h,{key:3},[d.deviceFingerprint?(i(),c("span",Ze,u(vt(d.deviceFingerprint,24)),1)):(i(),c("span",ta,"—"))],64)):f("",!0),e.key==="response"?(i(),c(h,{key:4},[d.response?(i(),c("span",ea,u(vt(d.response,24)),1)):(i(),c("span",aa,"—"))],64)):f("",!0),e.key==="createdAt"?(i(),c("span",la,u(v(kt)(d.createdAt)),1)):f("",!0)]),emptyText:a(()=>[S("div",sa,[l(v(Nt),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+u(H.value||B.value?t.$t("trust.table.emptyAttestFiltered"):t.$t("trust.table.emptyAttest")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(nt,{key:"interop",tab:t.$t("trust.tabs.interop")},{default:a(()=>[l(rt,{columns:Ht.value,"data-source":Ct.value,pagination:{pageSize:20,showTotal:e=>t.$t("trust.table.totalSuffix",{n:e})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:e,record:d})=>[e.key==="id"?(i(),c("span",oa,u(d.id.slice(0,12)),1)):f("",!0),e.key==="algorithm"?(i(),g(T,{key:1,color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[m(u(d.algorithm),1)]),_:2},1024)):f("",!0),e.key==="compatible"?(i(),g(T,{key:2,color:d.compatible?"green":"red"},{default:a(()=>[d.compatible?(i(),g(v(Vt),{key:0})):(i(),g(v(we),{key:1})),m(" "+u(d.compatible?t.$t("trust.table.compatible"):t.$t("trust.table.incompatible")),1)]),_:2},1032,["color"])):f("",!0),e.key==="result"?(i(),c(h,{key:3},[d.result?(i(),c("span",ra,u(d.result),1)):(i(),c("span",na,"—"))],64)):f("",!0),e.key==="latencyMs"?(i(),g(T,{key:4,color:ae(d.latencyMs)},{default:a(()=>[m(u(d.latencyMs)+"ms",1)]),_:2},1032,["color"])):f("",!0),e.key==="peer"?(i(),c(h,{key:5},[d.peer?(i(),c("span",ia,u(d.peer),1)):(i(),c("span",ua,"—"))],64)):f("",!0),e.key==="createdAt"?(i(),c("span",da,u(v(kt)(d.createdAt)),1)):f("",!0)]),emptyText:a(()=>[S("div",pa,[l(v(Et),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+u(t.$t("trust.table.emptyInterop")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(nt,{key:"satellite",tab:t.$t("trust.tabs.satellite")},{default:a(()=>[S("div",ca,[l(X,{value:K.value,"onUpdate:value":o[6]||(o[6]=e=>K.value=e),size:"small","button-style":"solid"},{default:a(()=>[l(R,{value:""},{default:a(()=>[m(u(t.$t("trust.filter.allProviders")),1)]),_:1}),(i(!0),c(h,null,N(v(qt),e=>(i(),g(R,{key:e,value:e},{default:a(()=>[m(u(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l(X,{value:G.value,"onUpdate:value":o[7]||(o[7]=e=>G.value=e),size:"small"},{default:a(()=>[l(R,{value:""},{default:a(()=>[m(u(t.$t("trust.filter.allStatuses")),1)]),_:1}),(i(!0),c(h,null,N(v(Te),e=>(i(),g(R,{key:e,value:e},{default:a(()=>[m(u(Lt(e)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),l(rt,{columns:Bt.value,"data-source":Jt.value,pagination:{pageSize:20,showTotal:e=>t.$t("trust.table.totalSuffix",{n:e})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:e,record:d})=>[e.key==="id"?(i(),c("span",ma,u(d.id.slice(0,12)),1)):f("",!0),e.key==="provider"?(i(),g(T,{key:1,color:te(d.provider),style:{"font-family":"monospace"}},{default:a(()=>[m(u(d.provider),1)]),_:2},1032,["color"])):f("",!0),e.key==="priority"?(i(),g(T,{key:2,color:Zt(d.priority)},{default:a(()=>[m("P"+u(d.priority),1)]),_:2},1032,["color"])):f("",!0),e.key==="status"?(i(),g(T,{key:3,color:Xt(d.status)},{default:a(()=>[m(u(Lt(d.status)),1)]),_:2},1032,["color"])):f("",!0),e.key==="payload"?(i(),c("span",fa,u(vt(d.payload,60)),1)):f("",!0),e.key==="createdAt"?(i(),c("span",ya,u(v(kt)(d.createdAt)),1)):f("",!0),e.key==="action"?(i(),c(h,{key:6},[d.status==="queued"?(i(),g(p,{key:0,size:"small",type:"link",onClick:dt=>gt(d,"sent")},{default:a(()=>[m(u(t.$t("trust.table.satMarkSent")),1)]),_:1},8,["onClick"])):f("",!0),d.status==="sent"?(i(),g(p,{key:1,size:"small",type:"link",style:{color:"#52c41a"},onClick:dt=>gt(d,"confirmed")},{default:a(()=>[m(u(t.$t("trust.table.satConfirm")),1)]),_:1},8,["onClick"])):f("",!0),["queued","sent"].includes(d.status)?(i(),g(p,{key:2,size:"small",type:"link",danger:"",onClick:dt=>gt(d,"failed")},{default:a(()=>[m(u(t.$t("trust.table.satFail")),1)]),_:1},8,["onClick"])):f("",!0)],64)):f("",!0)]),emptyText:a(()=>[S("div",va,[l(v(Pt),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+u(K.value||G.value?t.$t("trust.table.emptySatFiltered"):t.$t("trust.table.emptySat")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(nt,{key:"hsm",tab:t.$t("trust.tabs.hsm")},{default:a(()=>[S("div",ga,[l(X,{value:J.value,"onUpdate:value":o[8]||(o[8]=e=>J.value=e),size:"small","button-style":"solid"},{default:a(()=>[l(R,{value:""},{default:a(()=>[m(u(t.$t("trust.filter.allVendors")),1)]),_:1}),(i(!0),c(h,null,N(v($t),e=>(i(),g(R,{key:e,value:e},{default:a(()=>[m(u(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),l(rt,{columns:Kt.value,"data-source":Qt.value,pagination:{pageSize:20,showTotal:e=>t.$t("trust.table.deviceSuffix",{n:e})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:e,record:d})=>[e.key==="id"?(i(),c("span",ba,u(d.id.slice(0,12)),1)):f("",!0),e.key==="vendor"?(i(),g(T,{key:1,color:Tt(d.vendor),style:{"font-family":"monospace"}},{default:a(()=>[m(u(d.vendor),1)]),_:2},1032,["color"])):f("",!0),e.key==="model"?(i(),c(h,{key:2},[d.model?(i(),c("span",_a,u(d.model),1)):(i(),c("span",ka,"—"))],64)):f("",!0),e.key==="serialNumber"?(i(),c(h,{key:3},[d.serialNumber?(i(),c("span",ha,u(d.serialNumber),1)):(i(),c("span",$a,"—"))],64)):f("",!0),e.key==="complianceLevel"?(i(),c(h,{key:4},[d.complianceLevel?(i(),g(T,{key:0,color:ee(d.complianceLevel),style:{"font-family":"monospace","font-size":"11px"}},{default:a(()=>[m(u(d.complianceLevel),1)]),_:2},1032,["color"])):(i(),c("span",Sa,"—"))],64)):f("",!0),e.key==="firmwareVersion"?(i(),c(h,{key:5},[d.firmwareVersion?(i(),c("span",Ca,u(d.firmwareVersion),1)):(i(),c("span",xa,"—"))],64)):f("",!0),e.key==="action"?(i(),c(h,{key:6},[l(p,{size:"small",type:"link",onClick:dt=>ue(d)},{default:a(()=>[m(u(t.$t("trust.table.hsmSign")),1)]),_:1},8,["onClick"]),l(fe,{title:t.$t("trust.removeConfirm.title"),"ok-text":t.$t("trust.removeConfirm.ok"),"ok-type":"danger","cancel-text":t.$t("trust.removeConfirm.cancel"),onConfirm:dt=>ie(d)},{default:a(()=>[l(p,{size:"small",type:"link",danger:""},{default:a(()=>[m(u(t.$t("trust.table.hsmRemove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):f("",!0)]),emptyText:a(()=>[S("div",Aa,[l(v(_t),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),m(" "+u(J.value?t.$t("trust.table.emptyHsmFiltered"):t.$t("trust.table.emptyHsm")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),l(tt,{open:at.value,"onUpdate:open":o[13]||(o[13]=e=>at.value=e),title:t.$t("trust.attest_modal.title"),"confirm-loading":L.value,width:540,"ok-text":t.$t("trust.attest_modal.ok"),"cancel-text":t.$t("trust.attest_modal.cancel"),onOk:se,onCancel:Ft},{default:a(()=>[l(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l($,{label:t.$t("trust.attest_modal.anchorLabel"),required:""},{default:a(()=>[l(ut,{value:A.anchor,"onUpdate:value":o[10]||(o[10]=e=>A.anchor=e)},{default:a(()=>[(i(!0),c(h,null,N(v(ht),e=>(i(),g(it,{key:e,value:e},{default:a(()=>[m(u(yt(e))+" ("+u(e)+")",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l($,{label:t.$t("trust.attest_modal.challengeLabel")},{default:a(()=>[l(q,{value:A.challenge,"onUpdate:value":o[11]||(o[11]=e=>A.challenge=e),placeholder:t.$t("trust.attest_modal.challengePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.attest_modal.fingerprintLabel")},{default:a(()=>[l(q,{value:A.fingerprint,"onUpdate:value":o[12]||(o[12]=e=>A.fingerprint=e),placeholder:t.$t("trust.attest_modal.fingerprintPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(tt,{open:lt.value,"onUpdate:open":o[17]||(o[17]=e=>lt.value=e),title:t.$t("trust.interop_modal.title"),"confirm-loading":L.value,width:540,"ok-text":t.$t("trust.interop_modal.ok"),"cancel-text":t.$t("trust.interop_modal.cancel"),onOk:oe,onCancel:jt},{default:a(()=>[l(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l($,{label:t.$t("trust.interop_modal.algorithmLabel"),required:""},{default:a(()=>[l(q,{value:x.algorithm,"onUpdate:value":o[14]||(o[14]=e=>x.algorithm=e),placeholder:t.$t("trust.interop_modal.algorithmPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.interop_modal.peerLabel")},{default:a(()=>[l(q,{value:x.peer,"onUpdate:value":o[15]||(o[15]=e=>x.peer=e),placeholder:t.$t("trust.interop_modal.peerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.interop_modal.latencyLabel")},{default:a(()=>[l(Rt,{value:x.latency,"onUpdate:value":o[16]||(o[16]=e=>x.latency=e),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(tt,{open:st.value,"onUpdate:open":o[21]||(o[21]=e=>st.value=e),title:t.$t("trust.sat_modal.title"),"confirm-loading":L.value,width:540,"ok-text":t.$t("trust.sat_modal.ok"),"cancel-text":t.$t("trust.sat_modal.cancel"),onOk:re,onCancel:Mt},{default:a(()=>[l(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l($,{label:t.$t("trust.sat_modal.providerLabel"),required:""},{default:a(()=>[l(ut,{value:z.provider,"onUpdate:value":o[18]||(o[18]=e=>z.provider=e)},{default:a(()=>[(i(!0),c(h,null,N(v(qt),e=>(i(),g(it,{key:e,value:e},{default:a(()=>[m(u(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l($,{label:t.$t("trust.sat_modal.priorityLabel")},{default:a(()=>[l(Rt,{value:z.priority,"onUpdate:value":o[19]||(o[19]=e=>z.priority=e),min:1,max:10,style:{width:"120px"}},null,8,["value"]),S("span",wa,u(t.$t("trust.sat_modal.priorityHint")),1)]),_:1},8,["label"]),l($,{label:t.$t("trust.sat_modal.payloadLabel"),required:""},{default:a(()=>[l(It,{value:z.payload,"onUpdate:value":o[20]||(o[20]=e=>z.payload=e),placeholder:t.$t("trust.sat_modal.payloadPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(tt,{open:ot.value,"onUpdate:open":o[27]||(o[27]=e=>ot.value=e),title:t.$t("trust.hsm_modal.title"),"confirm-loading":L.value,width:560,"ok-text":t.$t("trust.hsm_modal.ok"),"cancel-text":t.$t("trust.hsm_modal.cancel"),onOk:ne,onCancel:Ut},{default:a(()=>[l(Z,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l($,{label:t.$t("trust.hsm_modal.vendorLabel"),required:""},{default:a(()=>[l(ut,{value:b.vendor,"onUpdate:value":o[22]||(o[22]=e=>b.vendor=e)},{default:a(()=>[(i(!0),c(h,null,N(v($t),e=>(i(),g(it,{key:e,value:e},{default:a(()=>[m(u(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l($,{label:t.$t("trust.hsm_modal.modelLabel")},{default:a(()=>[l(q,{value:b.model,"onUpdate:value":o[23]||(o[23]=e=>b.model=e),placeholder:t.$t("trust.hsm_modal.modelPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.hsm_modal.serialLabel")},{default:a(()=>[l(q,{value:b.serial,"onUpdate:value":o[24]||(o[24]=e=>b.serial=e),placeholder:t.$t("trust.hsm_modal.serialPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.hsm_modal.complianceLabel")},{default:a(()=>[l(ut,{value:b.compliance,"onUpdate:value":o[25]||(o[25]=e=>b.compliance=e),"allow-clear":""},{default:a(()=>[(i(!0),c(h,null,N(v(Fe),e=>(i(),g(it,{key:e,value:e},{default:a(()=>[m(u(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l($,{label:t.$t("trust.hsm_modal.firmwareLabel")},{default:a(()=>[l(q,{value:b.firmware,"onUpdate:value":o[26]||(o[26]=e=>b.firmware=e),placeholder:t.$t("trust.hsm_modal.firmwarePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(tt,{open:ft.value,"onUpdate:open":o[30]||(o[30]=e=>ft.value=e),title:t.$t("trust.sign_modal.title",{id:P.value?.id?.slice(0,12)||""}),width:640,footer:null},{default:a(()=>[P.value?(i(),c("div",za,[l(Z,{"label-col":{span:5},"wrapper-col":{span:19}},{default:a(()=>[l($,{label:t.$t("trust.sign_modal.deviceLabel")},{default:a(()=>[l(T,{color:Tt(P.value.vendor),style:{"font-family":"monospace"}},{default:a(()=>[m(u(P.value.vendor),1)]),_:1},8,["color"]),S("span",La,u(P.value.model||"—"),1)]),_:1},8,["label"]),l($,{label:t.$t("trust.sign_modal.algorithmLabel")},{default:a(()=>[l(q,{value:M.algorithm,"onUpdate:value":o[28]||(o[28]=e=>M.algorithm=e),placeholder:t.$t("trust.sign_modal.algorithmPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{label:t.$t("trust.sign_modal.dataLabel"),required:""},{default:a(()=>[l(It,{value:M.data,"onUpdate:value":o[29]||(o[29]=e=>M.data=e),placeholder:t.$t("trust.sign_modal.dataPlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"]),l($,{"wrapper-col":{offset:5,span:19}},{default:a(()=>[l(p,{type:"primary",loading:ct.value,onClick:de},{icon:a(()=>[l(v(_t))]),default:a(()=>[m(" "+u(t.$t("trust.sign_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),l(ve),I.value?(i(),c("div",Ta,[l(be,{column:1,size:"small",bordered:""},{default:a(()=>[l(Ot,{label:t.$t("trust.sign_modal.resultAlgorithm")},{default:a(()=>[l(T,{color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[m(u(I.value.algorithm),1)]),_:1})]),_:1},8,["label"]),l(Ot,{label:t.$t("trust.sign_modal.resultSignature")},{default:a(()=>[S("pre",Fa,u(I.value.signature),1)]),_:1},8,["label"])]),_:1}),I.value.reason?(i(),g(_e,{key:0,type:"warning","show-icon":"",message:t.$t("trust.sign_modal.failedReason",{reason:I.value.reason}),style:{"margin-top":"12px"}},null,8,["message"])):f("",!0)])):(i(),g(ge,{key:0,description:t.$t("trust.sign_modal.notSigned"),image:v(j)},null,8,["description","image"]))])):f("",!0)]),_:1},8,["open","title"])])}}},Na=ke(ja,[["__scopeId","data-v-c6ee2f3e"]]);export{Na as default};
@@ -1 +0,0 @@
1
- import{u as F}from"./ws-D_5-FRIb.js";import{u as R}from"./useShellMode-CgR0wCYM.js";import{ae as j,b as q,w as H,f as P,af as Q,d as T}from"./icons-DvZE-RKs.js";import{M as g,R as a,O as l,c as r,N as o,Q as d,S as c,K as f,f as G,r as b,L as t,P as u,u as x,F as I,_ as J}from"./vendor-B6ToihkA.js";function X(){const z=F();async function C(_,s={}){if(typeof _!="string"||_.length===0)throw new Error("data is required");const p=typeof s.onStage=="function"?s.onStage:()=>{};return z.sendStream({type:"ukey.sign",data:_},{onChunk:i=>{i&&typeof i.stage=="string"&&p(i.stage)},idleMs:s.idleMs??6e4,signal:s.signal})}return{sign:C}}const Y={style:{"margin-bottom":"24px"}},Z={class:"page-sub"},$={style:{"margin-bottom":"12px"}},ee={style:{display:"flex","justify-content":"space-between","align-items":"center"}},te={style:{display:"flex",gap:"8px","align-items":"center",color:"var(--text-muted)","font-size":"11px"}},oe={key:0},ne={key:1,style:{color:"#1677ff"}},ae={key:0},se={style:{"margin-bottom":"12px"}},le={style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},re={style:{background:"var(--bg-card-hover)",padding:"8px","border-radius":"4px","font-size":"11px","word-break":"break-all","white-space":"pre-wrap",margin:"0"}},ie={key:1},ue={style:{color:"var(--text-muted)","font-size":"12px"}},de={style:{"font-size":"11px",color:"#999","margin-top":"4px","font-family":"monospace"}},ce={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px"}},pe={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},ve={key:3,style:{"margin-top":"16px"}},me={style:{color:"var(--text-muted)","font-size":"10px","margin-left":"4px"}},be={__name:"UkeySign",setup(z){const C=X(),_=G(()=>R().isEmbedded),s=b(""),p=b(!1),i=b(""),k=b([]),n=b(null),v=b("");let w=null;function O(m){return{pre_check:"检查驱动 / 设备状态",signing:"正在与硬件通信,等待用户确认..."}[m]||m}function B(m){return{driver_not_initialized:"驱动未初始化",device_locked:"设备已锁定",no_result:"无结果"}[m]||m||"失败"}async function M(){if(p.value||!s.value.trim())return;p.value=!0,n.value=null,v.value="",i.value="",k.value=[];const m=Date.now();w=new AbortController;try{const e=await C.sign(s.value,{onStage:y=>{i.value=y,k.value.push({stage:y,t:Date.now()-m})},signal:w.signal});n.value=e}catch(e){v.value=e?.message||String(e)}finally{p.value=!1,i.value="",w=null}}function N(){w&&w.abort(new Error("aborted"))}function U(){n.value=null,v.value="",k.value=[],i.value=""}return(m,e)=>{const y=f("a-tag"),K=f("a-alert"),L=f("a-textarea"),h=f("a-button"),V=f("a-space"),E=f("a-card"),D=f("a-timeline-item"),W=f("a-timeline");return t(),g("div",null,[a("div",Y,[e[3]||(e[3]=a("h2",{class:"page-title"},"U-Key 签名",-1)),a("p",Z,[e[2]||(e[2]=l(" 硬件签名 demo — 走 ukey.sign WS topic,仅常规签名(非高危操作)。 ",-1)),r(y,{color:"orange",style:{"margin-left":"8px","font-size":"10px"}},{default:o(()=>[...e[1]||(e[1]=[l("仅桌面 web-shell",-1)])]),_:1})])]),_.value?c("",!0):(t(),d(K,{key:0,type:"warning","show-icon":"",message:"此页面仅在桌面 web-shell 模式下可用",description:"ukey.sign 由 Electron 主进程的 UKeyManager 提供 — 浏览器模式无法访问硬件。请使用桌面应用打开。",style:{"margin-bottom":"16px"}})),r(E,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a("div",$,[e[4]||(e[4]=a("div",{style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},"待签名数据",-1)),r(L,{value:s.value,"onUpdate:value":e[0]||(e[0]=S=>s.value=S),rows:4,placeholder:"任意字符串(建议是已哈希的摘要,最多 64 KiB)",disabled:p.value||!_.value},null,8,["value","disabled"])]),a("div",ee,[a("div",te,[s.value?(t(),g("span",oe,u(s.value.length)+" 字符",1)):c("",!0),i.value?(t(),g("span",ne,[r(x(j),{spin:!0}),l(" "+u(O(i.value)),1)])):c("",!0)]),r(V,null,{default:o(()=>[n.value||v.value?(t(),d(h,{key:0,disabled:p.value,onClick:U},{default:o(()=>[...e[5]||(e[5]=[l("清空",-1)])]),_:1},8,["disabled"])):c("",!0),p.value?(t(),d(h,{key:1,danger:"",onClick:N},{icon:o(()=>[r(x(q))]),default:o(()=>[e[6]||(e[6]=l(" 取消 ",-1))]),_:1})):(t(),d(h,{key:2,type:"primary",disabled:!s.value.trim()||!_.value,onClick:M},{icon:o(()=>[r(x(H))]),default:o(()=>[e[7]||(e[7]=l(" 签名 ",-1))]),_:1},8,["disabled"]))]),_:1})])]),_:1}),n.value||v.value?(t(),d(E,{key:1,title:"结果",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{extra:o(()=>[n.value?.success?(t(),d(y,{key:0,color:"green"},{default:o(()=>[r(x(P)),e[8]||(e[8]=l(" 签名成功 ",-1))]),_:1})):n.value&&!n.value.success?(t(),d(y,{key:1,color:"orange"},{default:o(()=>[r(x(Q)),l(" "+u(B(n.value.reason)),1)]),_:1})):v.value?(t(),d(y,{key:2,color:"red"},{default:o(()=>[r(x(T)),e[9]||(e[9]=l(" 协议错误 ",-1))]),_:1})):c("",!0)]),default:o(()=>[n.value?.success?(t(),g("div",ae,[a("div",se,[a("div",le,"签名("+u(n.value.algorithm||"unknown")+")",1),a("pre",re,u(n.value.signature),1)])])):n.value?(t(),g("div",ie,[a("div",ue,u(n.value.message||"签名未完成"),1),a("div",de," reason: "+u(n.value.reason||"unknown"),1)])):c("",!0),v.value?(t(),g("div",ce,[a("pre",pe,u(v.value),1)])):c("",!0),k.value.length?(t(),g("div",ve,[e[11]||(e[11]=a("div",{style:{color:"var(--text-muted)","font-size":"11px","margin-bottom":"4px"}},"阶段时间线",-1)),r(W,null,{default:o(()=>[(t(!0),g(I,null,J(k.value,(S,A)=>(t(),d(D,{key:A},{color:o(()=>[...e[10]||(e[10]=[l("blue",-1)])]),default:o(()=>[l(" "+u(O(S.stage))+" ",1),a("span",me,u(S.t)+"ms",1)]),_:2},1024))),128))]),_:1})])):c("",!0)]),_:1})):c("",!0)])}}};export{be as default};
@@ -1 +0,0 @@
1
- import{_ as te,a as ae,c as T}from"./index-CyqU4Tck.js";import{u as oe}from"./ws-D_5-FRIb.js";import{R as ie}from"./icons-DvZE-RKs.js";import{o as ne,M as v,R as c,P as r,u as i,c as t,N as s,r as m,K as f,L as u,O as h,Q as L,F as D,_ as M,Y as le,S as w,$ as se,a as de,n as re}from"./vendor-B6ToihkA.js";const ue={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ce={class:"page-title"},pe={class:"page-sub"},ve={key:1,style:{color:"var(--text-muted)","text-align":"center",padding:"20px"}},fe={key:2},_e=["onClick"],ge={style:{"font-weight":"500","font-family":"monospace","font-size":"12px"}},me={style:{color:"var(--text-muted)","font-size":"11px","word-break":"break-all"}},he={style:{color:"var(--text-muted)","font-size":"11px"}},be={style:{display:"flex",gap:"8px","margin-top":"12px"}},ye={key:0,style:{color:"var(--text-muted)","text-align":"center",padding:"20px"}},ke={key:1},xe={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"4px"}},we={style:{"font-weight":"500"}},Pe={key:0,style:{color:"var(--text-muted)","font-size":"12px"}},Ee={key:1,style:{color:"var(--text-muted)","font-size":"11px"}},Ce={class:"timeline-container"},ze=["title"],Se={class:"timeline-label"},Le={style:{color:"var(--text-muted)","font-size":"11px","margin-top":"4px"}},Re={class:"event-type"},$e={class:"event-detail"},Ue={style:{"text-align":"center"}},De={style:{color:"var(--text-muted)","margin-bottom":"8px"}},Me={__name:"VideoEditing",setup(Ve){const{t:a}=ae(),P=oe(),R=m([]),V=m(!1),E=m(null),_=m(!1),$=m([]),C=m([]),b=m(null),z=m(null),U=m(null);let B=null;const l=de({videoPath:"",audioPath:"",existingSrt:"",instruction:"",fps:2,mainCharacter:"",outputPath:"./output.mp4"});ne(()=>{N()});async function N(){V.value=!0;try{await P.waitConnected();const o=await P.sendRaw({type:"video.assets.list"});R.value=o.assets||[]}catch{R.value=[]}finally{V.value=!1}}function A(o,n){$.value=[],C.value=[],b.value=null,z.value=null,_.value=!0;const p=`video-${Date.now()}`;B=p;const k=P.onMessage(d=>{d.id===p&&(d.type==="stream.event"&&d.event&&I(d.event),d.type===`${o}.end`&&(_.value=!1,k(),d.ok?(d.shotPlan&&(b.value=d.shotPlan),d.outputPath&&(z.value=d.outputPath),d.assetDir&&N(),T.success(a("videoEditing.messages.completed"))):T.error(d.error?.message||a("videoEditing.messages.failed"))))});P.sendRaw({type:o,id:p,...n}).catch(()=>{_.value=!1,k()})}function I(o){if($.value.push(o),o.type==="phase.start")C.value.push({phase:o.phase,pct:0,message:"",done:!1});else if(o.type==="phase.progress"){const n=C.value.find(p=>p.phase===o.phase);n&&(n.pct=o.pct,n.message=o.message||"")}else if(o.type==="phase.end"){const n=C.value.find(p=>p.phase===o.phase);n&&(n.pct=1,n.done=!0)}re(()=>{U.value&&(U.value.scrollTop=U.value.scrollHeight)})}function H(){A("video.edit",{videoPath:l.videoPath,audioPath:l.audioPath||void 0,instruction:l.instruction,outputPath:l.outputPath,existingSrt:l.existingSrt||void 0,fps:l.fps,mainCharacter:l.mainCharacter||void 0})}function O(){A("video.deconstruct",{videoPath:l.videoPath,audioPath:l.audioPath||void 0,existingSrt:l.existingSrt||void 0,fps:l.fps})}function W(){E.value&&A("video.plan",{assetDir:E.value.hash,instruction:l.instruction,mainCharacter:l.mainCharacter||void 0})}function j(){B&&P.sendRaw({type:"cancel",id:B}).catch(()=>{}),_.value=!1}function q(o){return o.done?"success":o.pct>0?"processing":"default"}function J(o){const n=(b.value?.sections||[]).reduce((k,d)=>k+(d.music_segment?.end||0)-(d.music_segment?.start||0),0),p=((o.music_segment?.end||0)-(o.music_segment?.start||0))/(n||1)*100;return Math.max(p,2)}function K(o){return o.phase?o.message||o.phase:o.tool?`${o.agent}.${o.tool}`:o.reason?o.reason:""}function Q(o){navigator.clipboard?.writeText(o),T.success(a("videoEditing.messages.copied"))}return(o,n)=>{const p=f("a-button"),k=f("a-spin"),d=f("a-card"),x=f("a-col"),S=f("a-input"),y=f("a-form-item"),Y=f("a-textarea"),G=f("a-input-number"),F=f("a-row"),X=f("a-form"),Z=f("a-badge"),ee=f("a-progress");return u(),v("div",null,[c("div",ue,[c("div",null,[c("h2",ce,r(i(a)("videoEditing.title")),1),c("p",pe,r(i(a)("videoEditing.subtitle")),1)]),t(p,{type:"primary",ghost:"",onClick:N},{icon:s(()=>[t(i(ie))]),default:s(()=>[h(" "+r(i(a)("videoEditing.refreshAssets")),1)]),_:1})]),t(F,{gutter:16},{default:s(()=>[t(x,{span:6},{default:s(()=>[t(d,{title:i(a)("videoEditing.library.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[V.value?(u(),L(k,{key:0})):R.value.length===0?(u(),v("div",ve,[h(r(i(a)("videoEditing.library.empty")),1),n[8]||(n[8]=c("br",null,null,-1)),h(r(i(a)("videoEditing.library.emptyHint")),1)])):(u(),v("div",fe,[(u(!0),v(D,null,M(R.value,e=>(u(),v("div",{key:e.hash,class:le(["asset-item",{active:E.value?.hash===e.hash}]),onClick:g=>E.value=e},[c("div",ge,r(e.hash),1),c("div",me,r(e.videoPath),1),c("div",he,r(e.modifiedAt?.slice(0,10)),1)],10,_e))),128))]))]),_:1},8,["title"])]),_:1}),t(x,{span:10},{default:s(()=>[t(d,{title:i(a)("videoEditing.workspace.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[t(X,{layout:"vertical",style:{"max-width":"100%"}},{default:s(()=>[t(y,{label:i(a)("videoEditing.workspace.videoLabel")},{default:s(()=>[t(S,{value:l.videoPath,"onUpdate:value":n[0]||(n[0]=e=>l.videoPath=e),placeholder:i(a)("videoEditing.workspace.videoPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(y,{label:i(a)("videoEditing.workspace.audioLabel")},{default:s(()=>[t(S,{value:l.audioPath,"onUpdate:value":n[1]||(n[1]=e=>l.audioPath=e),placeholder:i(a)("videoEditing.workspace.audioPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(y,{label:i(a)("videoEditing.workspace.srtLabel")},{default:s(()=>[t(S,{value:l.existingSrt,"onUpdate:value":n[2]||(n[2]=e=>l.existingSrt=e),placeholder:i(a)("videoEditing.workspace.srtPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(y,{label:i(a)("videoEditing.workspace.instructionLabel")},{default:s(()=>[t(Y,{value:l.instruction,"onUpdate:value":n[3]||(n[3]=e=>l.instruction=e),rows:3,placeholder:i(a)("videoEditing.workspace.instructionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(F,{gutter:12},{default:s(()=>[t(x,{span:8},{default:s(()=>[t(y,{label:i(a)("videoEditing.workspace.fpsLabel")},{default:s(()=>[t(G,{value:l.fps,"onUpdate:value":n[4]||(n[4]=e=>l.fps=e),min:1,max:30,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),t(x,{span:8},{default:s(()=>[t(y,{label:i(a)("videoEditing.workspace.characterLabel")},{default:s(()=>[t(S,{value:l.mainCharacter,"onUpdate:value":n[5]||(n[5]=e=>l.mainCharacter=e),placeholder:"Joker"},null,8,["value"])]),_:1},8,["label"])]),_:1}),t(x,{span:8},{default:s(()=>[t(y,{label:i(a)("videoEditing.workspace.outputLabel")},{default:s(()=>[t(S,{value:l.outputPath,"onUpdate:value":n[6]||(n[6]=e=>l.outputPath=e),placeholder:i(a)("videoEditing.workspace.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1}),c("div",be,[t(p,{type:"primary",loading:_.value,disabled:!l.videoPath,onClick:H},{default:s(()=>[h(r(i(a)("videoEditing.workspace.actions.fullPipeline")),1)]),_:1},8,["loading","disabled"]),t(p,{loading:_.value,disabled:!l.videoPath,onClick:O},{default:s(()=>[h(r(i(a)("videoEditing.workspace.actions.deconstruct")),1)]),_:1},8,["loading","disabled"]),t(p,{loading:_.value,disabled:!E.value,onClick:W},{default:s(()=>[h(r(i(a)("videoEditing.workspace.actions.plan")),1)]),_:1},8,["loading","disabled"]),_.value?(u(),L(p,{key:0,danger:"",onClick:j},{default:s(()=>[h(r(i(a)("videoEditing.workspace.actions.cancel")),1)]),_:1})):w("",!0)])]),_:1},8,["title"])]),_:1}),t(x,{span:8},{default:s(()=>[t(d,{title:i(a)("videoEditing.progress.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:s(()=>[!_.value&&$.value.length===0?(u(),v("div",ye,r(i(a)("videoEditing.progress.waiting")),1)):(u(),v("div",ke,[(u(!0),v(D,null,M(C.value,(e,g)=>(u(),v("div",{key:g,style:{"margin-bottom":"12px"}},[c("div",xe,[t(Z,{status:q(e)},null,8,["status"]),c("span",we,r(e.phase),1),e.pct!=null?(u(),v("span",Pe,r(Math.round(e.pct*100))+"% ",1)):w("",!0)]),e.pct!=null?(u(),L(ee,{key:0,percent:Math.round(e.pct*100),"show-info":!1,size:"small",status:e.done?"success":"active"},null,8,["percent","status"])):w("",!0),e.message?(u(),v("div",Ee,r(e.message),1)):w("",!0)]))),128))]))]),_:1},8,["title"]),b.value?(u(),L(d,{key:0,title:i(a)("videoEditing.shotPlan.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:s(()=>[c("div",Ce,[(u(!0),v(D,null,M(b.value.sections||[],(e,g)=>(u(),v("div",{key:g,class:"timeline-section",style:se({width:J(e)+"%"}),title:`Section ${e.section_idx}: ${e.shots?.length||0} shots`},[c("div",Se,r(e.music_segment?.label||g),1)],12,ze))),128))]),c("div",Le,r(i(a)("videoEditing.shotPlan.summary",{sections:(b.value.sections||[]).length,shots:(b.value.sections||[]).reduce((e,g)=>e+(g.shots?.length||0),0)})),1)]),_:1},8,["title"])):w("",!0),t(d,{title:i(a)("videoEditing.events.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[c("div",{class:"event-log",ref_key:"eventLogRef",ref:U},[(u(!0),v(D,null,M($.value.slice(-50),(e,g)=>(u(),v("div",{key:g,class:"event-item"},[c("span",Re,r(e.type),1),c("span",$e,r(K(e)),1)]))),128))],512)]),_:1},8,["title"]),z.value?(u(),L(d,{key:1,title:i(a)("videoEditing.preview.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:s(()=>[c("div",Ue,[c("div",De,r(z.value),1),t(p,{type:"primary",ghost:"",size:"small",onClick:n[7]||(n[7]=e=>Q(z.value))},{default:s(()=>[h(r(i(a)("videoEditing.preview.copyButton")),1)]),_:1})])]),_:1},8,["title"])):w("",!0)]),_:1})]),_:1})])}}},Fe=te(Me,[["__scopeId","data-v-6abdd611"]]);export{Fe as default};
@@ -1 +0,0 @@
1
- import{E as Q,r as b,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 C,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}from"./ws-D_5-FRIb.js";import{u as oe}from"./useFs-BD-YRwbU.js";import{_ as ae,a as le,c as k}from"./index-CyqU4Tck.js";import{al as se,R as ne}from"./icons-DvZE-RKs.js";import"./useShellMode-CgR0wCYM.js";const re=Q("workflow",()=>{const w=te(),c=b([]),d=b(null),t=b([]),h=b("idle"),S=b(!1),P=b(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}=le(),d=re(),t=b(null),h=b(!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=oe();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(C(se))]),default:l(()=>[y(" "+i(e.$t("workflow.new")),1)]),_:1}),a(n,{ghost:"",loading:C(d).loading,onClick:r[0]||(r[0]=o=>C(d).list())},{icon:l(()=>[a(C(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(()=>[C(d).workflows.length?(p(),N(U,{key:1,"data-source":C(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})),C(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(C(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})])}}},Oe=ae(he,[["__scopeId","data-v-0ae438ac"]]);export{Oe as default};
@@ -1 +0,0 @@
1
- import{E as N,r as D,a as y,f as U}from"./vendor-B6ToihkA.js";import{u as m}from"./ws-D_5-FRIb.js";const T="新对话",q="新 Agent",B={"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"},F=N("chat",()=>{const i=D([]),h=D(null),u=y({}),a=y({}),d=y({}),f=y({});let A=null;const E=new Set;function g(t){return u[t]||(u[t]=[]),u[t]}function C(t){return!!(t&&f[t])}function p(t,e){t&&(f[t]=!!e)}function w(t){if(!t?.id)return;const e=i.value.find(o=>o.id===t.id);if(e){Object.assign(e,t);return}i.value.unshift(t)}function S(t,e=m()){u[t]||(u[t]=[]),a[t]||(a[t]={content:"",active:!1}),f[t]==null&&(f[t]=!1),!E.has(t)&&(E.add(t),e.onSession(t,o=>L(t,o)))}function v(t=m()){A||(A=t.onRuntimeEvent(e=>{const o=e.payload||{},s=o.record||{};if(e.type==="session:start"){const n=o.sessionType||s.type||"chat";p(o.sessionId,!1),w({id:o.sessionId,type:n,provider:s.provider||null,model:s.model||null,projectRoot:s.projectRoot||null,status:s.status||"created",title:n==="chat"?T:q,createdAt:Date.now(),messageCount:s.messageCount??0})}else if(e.type==="session:resume"){const n=o.sessionId;if(!n)return;Array.isArray(o.history)&&(u[n]=o.history.map(l=>({role:l.role,content:l.content,timestamp:l.timestamp||Date.now()}))),a[n]||(a[n]={content:"",active:!1}),f[n]==null&&(f[n]=!1),w({id:n,type:s.type||null,provider:s.provider||null,model:s.model||null,projectRoot:s.projectRoot||null,status:s.status||"resumed",messageCount:s.messageCount??(Array.isArray(o.history)?o.history.length:0)})}else if(e.type==="session:end"){const n=o.sessionId;i.value=i.value.filter(l=>l.id!==n),delete f[n],h.value===n&&(h.value=i.value[0]?.id||null)}}))}async function _(){const t=m();v(t),i.value=await t.listSessions(),i.value.forEach(e=>{S(e.id,t)})}async function k(t="chat",e={}){const o=m();v(o);const s=await o.createSession(t,null,e);return w({id:s,type:t,title:t==="chat"?T:q,createdAt:Date.now(),messageCount:0}),p(s,!1),S(s,o),h.value=s,s}function L(t,e){const o=g(t),s=B[e.type]||e.type,n=e.payload||{};if(s==="response-token"){a[t]||(a[t]={content:"",active:!0});const l=e.token||n.token||n.delta||n.content||"";a[t].content+=l,a[t].active=!0,p(t,!0)}else if(s==="response-complete"){const l=e.content||n.content||a[t]?.content||"";o.push({role:"assistant",content:l,timestamp:Date.now()}),a[t]&&(a[t].content="",a[t].active=!1);const r=i.value.find(c=>c.id===t);if(r&&(r.title===T||r.title===q)){const c=o.find(x=>x.role==="user");c&&(r.title=c.content.slice(0,30))}r&&(r.messageCount=o.filter(c=>c.role!=="tool").length),p(t,!1)}else if(s==="tool-executing")o.push({role:"tool",tool:e.tool||n.tool||n.toolName||"unknown",input:e.input||n.input||n.args||null,status:"running",timestamp:Date.now()}),p(t,!0);else if(s==="tool-result"){const l=e.tool||n.tool||n.toolName||"unknown",r=[...o].reverse().find(c=>c.role==="tool"&&c.tool===l);r&&(r.result=e.result||n.result||n.output||null,r.status="done")}else if(s==="question")d[t]={requestId:e.requestId||n.requestId||e.id,question:e.question||n.question||n.message||"",choices:e.choices||n.choices||n.options||[]},p(t,!1);else if(s==="error"){const l=e.message||n.message||"Unknown error";o.push({role:"assistant",content:`Error: ${l}`,timestamp:Date.now()}),p(t,!1),a[t]&&(a[t].active=!1)}}async function R(t,e){const o=m();v(o),g(t).push({role:"user",content:e,timestamp:Date.now()}),a[t]||(a[t]={content:"",active:!1}),a[t].active=!0,p(t,!0),o.sendSessionMessage(t,e)}function j(t,e){const o=m(),s=d[t];s&&(o.answerQuestion(t,s.requestId,e),delete d[t])}async function M(t){const e=m();if(v(e),h.value=t,S(t,e),!u[t]||u[t].length===0)try{await e.resumeSession(t)}catch{}}const b=U(()=>C(h.value));return{sessions:i,currentSessionId:h,messages:u,streaming:a,pendingQuestion:d,loadingBySession:f,isLoading:b,getIsLoading:C,loadSessions:_,createSession:k,sendMessage:R,answerQuestion:j,switchSession:M,getMessages:g}});export{F as u};