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 He,a as Ee,c as y}from"./index-CyqU4Tck.js";import{u as Je}from"./ws-D_5-FRIb.js";import{s as Ke}from"./community-parser-CO25nZFt.js";import{R as Ve,al as Ge,n as Z,h as ee,f as We,u as Qe}from"./icons-DvZE-RKs.js";import{o as Ye,M as m,R as z,P as u,u as o,c as a,N as n,Q as x,S as g,K as v,r as h,L as c,O as p,F as C,_ as I,$ as Xe,f as K,a as ge}from"./vendor-B6ToihkA.js";function te(l){const e=Ke(l);if(!e)return null;try{return JSON.parse(e)}catch{}const r=e.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!r)return null;try{return JSON.parse(r[0])}catch{return null}}const ve=Object.freeze(["online","offline","busy","degraded"]),Ze=Object.freeze(["queued","dispatched","running","complete","failed"]),_e=Object.freeze(["standard","encrypted","federated"]);function w(l,e=0){return typeof l=="number"&&Number.isFinite(l)?l:e}function et(l){if(Array.isArray(l))return l.filter(e=>typeof e=="string");if(typeof l=="string")try{const e=JSON.parse(l);if(Array.isArray(e))return e.filter(r=>typeof r=="string")}catch{}return[]}function tt(l,e=0){if(!l||typeof l!="object")return null;const r=l.id||"";return r?{key:r,id:r,nodeId:l.nodeId??l.node_id??"",endpoint:l.endpoint||"",capabilities:et(l.capabilities),gpuMemoryMb:w(l.gpuMemoryMb??l.gpu_memory_mb,0),status:String(l.status||"offline").toLowerCase(),lastHeartbeat:l.lastHeartbeat??l.last_heartbeat??null,taskCount:w(l.taskCount??l.task_count,0),createdAt:l.createdAt??l.created_at??null,_idx:e}:null}function nt(l){const e=te(l);return Array.isArray(e)?e.map(tt).filter(Boolean):[]}function at(l,e=0){if(!l||typeof l!="object")return null;const r=l.id||"";return r?{key:r,id:r,model:String(l.model||""),input:l.input??"",output:l.output??"",privacyMode:String(l.privacyMode??l.privacy_mode??"standard").toLowerCase(),priority:w(l.priority,5),assignedNode:l.assignedNode??l.assigned_node??null,status:String(l.status||"queued").toLowerCase(),durationMs:l.durationMs??l.duration_ms??null,createdAt:l.createdAt??l.created_at??null,completedAt:l.completedAt??l.completed_at??null,_idx:e}:null}function ot(l){const e=te(l);return Array.isArray(e)?e.map(at).filter(Boolean):[]}const st={nodes:{total:0,online:0,offline:0,busy:0},tasks:{total:0,queued:0,completed:0,failed:0,avgDurationMs:0}};function it(l){const e=JSON.parse(JSON.stringify(st)),r=te(l);return!r||typeof r!="object"||Array.isArray(r)||(r.nodes&&typeof r.nodes=="object"&&(e.nodes.total=w(r.nodes.total,0),e.nodes.online=w(r.nodes.online,0),e.nodes.offline=w(r.nodes.offline,0),e.nodes.busy=w(r.nodes.busy,0)),r.tasks&&typeof r.tasks=="object"&&(e.tasks.total=w(r.tasks.total,0),e.tasks.queued=w(r.tasks.queued,0),e.tasks.completed=w(r.tasks.completed,0),e.tasks.failed=w(r.tasks.failed,0),e.tasks.avgDurationMs=w(r.tasks.avgDurationMs??r.tasks.avg_duration_ms,0))),e}function ke(l){if(l==null||l==="")return"—";const e=typeof l=="number"?new Date(l):new Date(String(l));return isNaN(e.getTime())?String(l):e.toLocaleString("zh-CN",{hour12:!1})}const lt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},rt={class:"page-title"},ut={class:"page-sub"},ct={style:{color:"var(--text-secondary)","font-size":"12px","margin-left":"8px"}},dt={class:"filter-bar"},ft={style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},pt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},mt={key:1,style:{color:"var(--text-muted)"}},yt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace"}},gt={key:1,style:{color:"var(--text-muted)"}},vt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},_t={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},kt={class:"filter-bar"},bt={style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},xt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},ht={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Ct={key:1,style:{color:"var(--text-muted)"}},St={key:0,style:{"font-family":"monospace",color:"var(--text-secondary)","font-size":"12px"}},wt={key:1,style:{color:"var(--text-muted)"}},zt={key:6,style:{color:"var(--text-secondary)","font-size":"11px"}},Mt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},At={__name:"Inference",setup(l){const{t:e}=Ee(),r=Je(),$=h(!1),V=h(!1),G=h(!1),W=h(""),Q=h(""),R=h([]),ne=h([]),b=h({nodes:{total:0,online:0,offline:0,busy:0},tasks:{total:0,queued:0,completed:0,failed:0,avgDurationMs:0}}),Y=h("nodes"),j=h(""),L=h(""),U=h(""),P=h(!1),B=h(!1),_=ge({nodeId:"",endpoint:"",capabilities:"",gpuMemory:null}),k=ge({model:"",input:"",priority:5,mode:"standard"}),be=K(()=>[{title:e("inference.nodeColumns.nodeId"),key:"nodeId"},{title:e("inference.nodeColumns.capabilities"),key:"capabilities",width:"220px"},{title:e("inference.nodeColumns.gpu"),key:"gpu",width:"100px"},{title:e("inference.nodeColumns.status"),key:"status",width:"100px"},{title:e("inference.nodeColumns.taskCount"),key:"taskCount",width:"90px"},{title:e("inference.nodeColumns.lastHeartbeat"),key:"lastHeartbeat",width:"160px"},{title:e("inference.nodeColumns.action"),key:"action",width:"210px"}]),xe=K(()=>[{title:e("inference.taskColumns.model"),key:"model"},{title:e("inference.taskColumns.privacyMode"),key:"privacyMode",width:"110px"},{title:e("inference.taskColumns.priority"),key:"priority",width:"80px"},{title:e("inference.taskColumns.assignedNode"),key:"assignedNode",width:"140px"},{title:e("inference.taskColumns.status"),key:"status",width:"110px"},{title:e("inference.taskColumns.duration"),key:"duration",width:"110px"},{title:e("inference.taskColumns.createdAt"),key:"createdAt",width:"160px"},{title:e("inference.taskColumns.action"),key:"action",width:"140px"}]),he=K(()=>j.value?R.value.filter(s=>s.status===j.value):R.value),Ce=K(()=>{let s=ne.value;return L.value&&(s=s.filter(t=>t.status===L.value)),U.value&&(s=s.filter(t=>t.privacyMode===U.value)),s});function H(s){const t=`inference.nodeStatus.${s}`,f=e(t);return f===t?s:f}function Se(s){return{online:"green",offline:"default",busy:"orange",degraded:"red"}[s]||"default"}function ae(s){const t=`inference.taskStatus.${s}`,f=e(t);return f===t?s:f}function we(s){return{queued:"default",dispatched:"processing",running:"cyan",complete:"green",failed:"red"}[s]||"default"}function X(s){const t=`inference.privacy.${s}`,f=e(t);return f===t?s:f}function ze(s){return{standard:"default",encrypted:"purple",federated:"cyan"}[s]||"default"}function Me(s){return s>=8?"#ff4d4f":s>=5?"#faad14":"#52c41a"}function Ae(s){const t=R.value.find(f=>f.id===s);return t?t.nodeId:s.slice(0,8)}function oe(s,t){return s?s.length>t?s.slice(0,t)+"...":s:""}function Ne(s){return s>=1024?`${(s/1024).toFixed(1)} GB`:`${s} MB`}function Fe(s){return s.status==="queued"||s.status==="dispatched"||s.status==="running"}function Oe(s){return s.status!=="complete"&&s.status!=="failed"}function Te({key:s}){s==="register"?P.value=!0:s==="submit"&&(B.value=!0)}async function M(){$.value=!0;try{const[s,t,f]=await Promise.all([r.execute("inference nodes --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("inference tasks --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("inference stats --json",8e3).catch(()=>({output:""}))]);R.value=nt(s.output),ne.value=ot(t.output),b.value=it(f.output)}catch(s){y.error(e("inference.messages.loadFailed",{err:s?.message||s}))}finally{$.value=!1}}async function Ie(){const s=_.nodeId.trim();if(!s){y.warning(e("inference.messages.nodeIdRequired"));return}V.value=!0;try{const t=[`inference register "${s.replace(/"/g,'\\"')}"`];if(_.endpoint.trim()&&t.push(`--endpoint "${_.endpoint.trim().replace(/"/g,'\\"')}"`),_.capabilities.trim()){const O=_.capabilities.split(/[,\s]+/).filter(Boolean).join(",");O&&t.push(`--capabilities "${O}"`)}_.gpuMemory!=null&&t.push(`--gpu ${_.gpuMemory}`),t.push("--json");const{output:f}=await r.execute(t.join(" "),1e4);if(/error|failed|失败/i.test(f)&&!/"nodeId"/.test(f)){y.error(e("inference.messages.registerFailed",{err:f.slice(0,120)}));return}y.success(e("inference.messages.registerOk")),P.value=!1,se(),await M()}catch(t){y.error(e("inference.messages.registerFailed",{err:t?.message||t}))}finally{V.value=!1}}async function $e(){const s=k.model.trim();if(!s){y.warning(e("inference.messages.modelRequired"));return}G.value=!0;try{const t=[`inference submit "${s.replace(/"/g,'\\"')}"`];k.input.trim()&&t.push(`--input "${k.input.trim().replace(/"/g,'\\"')}"`),k.priority!=null&&t.push(`--priority ${k.priority}`),t.push(`--mode ${k.mode}`),t.push("--json");const{output:f}=await r.execute(t.join(" "),12e3);if(/error|failed|失败/i.test(f)&&!/"taskId"/.test(f)){y.error(e("inference.messages.submitFailed",{err:f.slice(0,120)}));return}y.success(e("inference.messages.submitOk")),B.value=!1,ie(),Y.value="tasks",await M()}catch(t){y.error(e("inference.messages.submitFailed",{err:t?.message||t}))}finally{G.value=!1}}async function je(s){W.value=s.id;try{const{output:t}=await r.execute(`inference heartbeat ${s.id} --json`,8e3);if(/error/i.test(t)&&!/"updated"/.test(t)){y.error(e("inference.messages.heartbeatFailed",{err:t.slice(0,120)}));return}y.success(e("inference.messages.heartbeatOk")),await M()}catch(t){y.error(e("inference.messages.heartbeatFailed",{err:t?.message||t}))}finally{W.value=""}}async function Le(s,t){if(t!==s.status)try{const{output:f}=await r.execute(`inference node-status ${s.id} ${t} --json`,8e3);if(/error|invalid/i.test(f)&&!/"updated"/.test(f)){y.error(e("inference.messages.statusFailed",{err:f.slice(0,120)}));return}y.success(e("inference.messages.statusOk",{status:H(t)})),await M()}catch(f){y.error(e("inference.messages.statusFailed",{err:f?.message||f}))}}async function Ue(s){try{const{output:t}=await r.execute(`inference unregister ${s.id} --json`,8e3);if(/error/i.test(t)&&!/"removed"/.test(t)){y.error(e("inference.messages.unregisterFailed",{err:t.slice(0,120)}));return}y.success(e("inference.messages.unregisterOk")),await M()}catch(t){y.error(e("inference.messages.unregisterFailed",{err:t?.message||t}))}}async function qe(s){Q.value=s.id;try{const{output:t}=await r.execute(`inference complete ${s.id} --json`,1e4);if(/error|failed/i.test(t)&&!/"completed"/.test(t)){y.error(e("inference.messages.completeFailed",{err:t.slice(0,120)}));return}y.success(e("inference.messages.completeOk")),await M()}catch(t){y.error(e("inference.messages.completeFailed",{err:t?.message||t}))}finally{Q.value=""}}async function De(s){try{const{output:t}=await r.execute(`inference fail-task ${s.id} --json`,8e3);if(/error/i.test(t)&&!/"failed"/.test(t)){y.error(e("inference.messages.failFailed",{err:t.slice(0,120)}));return}y.success(e("inference.messages.failOk")),await M()}catch(t){y.error(e("inference.messages.failFailed",{err:t?.message||t}))}}function se(){_.nodeId="",_.endpoint="",_.capabilities="",_.gpuMemory=null}function ie(){k.model="",k.input="",k.priority=5,k.mode="standard"}return Ye(M),(s,t)=>{const f=v("a-button"),O=v("a-menu-item"),le=v("a-menu"),re=v("a-dropdown"),ue=v("a-space"),q=v("a-statistic"),T=v("a-card"),D=v("a-col"),Re=v("a-row"),A=v("a-tag"),F=v("a-radio-button"),E=v("a-radio-group"),ce=v("a-popconfirm"),de=v("a-table"),fe=v("a-tab-pane"),Pe=v("a-tabs"),J=v("a-input"),N=v("a-form-item"),pe=v("a-input-number"),me=v("a-form"),ye=v("a-modal"),Be=v("a-textarea");return c(),m("div",null,[z("div",lt,[z("div",null,[z("h2",rt,u(o(e)("inference.title")),1),z("p",ut,u(o(e)("inference.subtitle")),1)]),a(ue,null,{default:n(()=>[a(f,{loading:$.value,onClick:M},{icon:n(()=>[a(o(Ve))]),default:n(()=>[p(" "+u(o(e)("inference.refresh")),1)]),_:1},8,["loading"]),a(re,{trigger:["click"]},{overlay:n(()=>[a(le,{onClick:Te},{default:n(()=>[a(O,{key:"register"},{default:n(()=>[a(o(Z)),p(" "+u(o(e)("inference.actions.register")),1)]),_:1}),a(O,{key:"submit"},{default:n(()=>[a(o(ee)),p(" "+u(o(e)("inference.actions.submit")),1)]),_:1})]),_:1})]),default:n(()=>[a(f,{type:"primary"},{icon:n(()=>[a(o(Ge))]),default:n(()=>[p(" "+u(o(e)("inference.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Re,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(D,{xs:12,sm:8,lg:5},{default:n(()=>[a(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(q,{title:o(e)("inference.stats.totalNodes"),value:b.value.nodes.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[a(o(Z))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(D,{xs:12,sm:8,lg:5},{default:n(()=>[a(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(q,{title:o(e)("inference.stats.onlineNodes"),value:b.value.nodes.online,"value-style":{color:b.value.nodes.online>0?"#52c41a":"#888",fontSize:"20px"}},{prefix:n(()=>[a(o(We))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(D,{xs:12,sm:8,lg:5},{default:n(()=>[a(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(q,{title:o(e)("inference.stats.totalTasks"),value:b.value.tasks.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[a(o(ee))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(D,{xs:12,sm:8,lg:5},{default:n(()=>[a(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(q,{title:o(e)("inference.stats.queued"),value:b.value.tasks.queued,"value-style":{color:b.value.tasks.queued>0?"#faad14":"#52c41a",fontSize:"20px"}},{prefix:n(()=>[a(o(Qe))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(D,{xs:24,sm:8,lg:4},{default:n(()=>[a(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(q,{title:o(e)("inference.stats.avgDuration"),value:b.value.tasks.avgDurationMs,suffix:"ms","value-style":{color:"#13c2c2",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),b.value.nodes.total>0?(c(),x(T,{key:0,title:o(e)("inference.breakdown.title"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:n(()=>[a(ue,{size:[12,8],wrap:""},{default:n(()=>[a(A,{color:"green"},{default:n(()=>[p(u(o(e)("inference.breakdown.online",{count:b.value.nodes.online})),1)]),_:1}),a(A,{color:"orange"},{default:n(()=>[p(u(o(e)("inference.breakdown.busy",{count:b.value.nodes.busy})),1)]),_:1}),a(A,{color:"default"},{default:n(()=>[p(u(o(e)("inference.breakdown.offline",{count:b.value.nodes.offline})),1)]),_:1}),z("span",ct,u(o(e)("inference.breakdown.extra",{complete:b.value.tasks.completed,failed:b.value.tasks.failed})),1)]),_:1})]),_:1},8,["title"])):g("",!0),a(Pe,{activeKey:Y.value,"onUpdate:activeKey":t[3]||(t[3]=i=>Y.value=i),class:"inference-tabs"},{default:n(()=>[a(fe,{key:"nodes",tab:o(e)("inference.tabs.nodes")},{default:n(()=>[z("div",dt,[a(E,{value:j.value,"onUpdate:value":t[0]||(t[0]=i=>j.value=i),size:"small","button-style":"solid"},{default:n(()=>[a(F,{value:""},{default:n(()=>[p(u(o(e)("inference.filter.all")),1)]),_:1}),(c(!0),m(C,null,I(o(ve),i=>(c(),x(F,{key:i,value:i},{default:n(()=>[p(u(H(i)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(de,{columns:be.value,"data-source":he.value,pagination:{pageSize:20,showTotal:i=>o(e)("inference.totals.rows",{count:i})},size:"small",loading:$.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:i,record:d})=>[i.key==="nodeId"?(c(),m(C,{key:0},[z("span",ft,u(d.nodeId),1),d.endpoint?(c(),m("div",pt,u(oe(d.endpoint,50)),1)):g("",!0)],64)):g("",!0),i.key==="capabilities"?(c(),m(C,{key:1},[(c(!0),m(C,null,I(d.capabilities.slice(0,4),S=>(c(),x(A,{key:S,color:"blue",style:{"font-size":"10px",margin:"1px"}},{default:n(()=>[p(u(S),1)]),_:2},1024))),128)),d.capabilities.length>4?(c(),x(A,{key:0,color:"default",style:{"font-size":"10px"}},{default:n(()=>[p("+"+u(d.capabilities.length-4),1)]),_:2},1024)):g("",!0),d.capabilities.length?g("",!0):(c(),m("span",mt,"—"))],64)):g("",!0),i.key==="gpu"?(c(),m(C,{key:2},[d.gpuMemoryMb>0?(c(),m("span",yt,u(Ne(d.gpuMemoryMb)),1)):(c(),m("span",gt,"—"))],64)):g("",!0),i.key==="status"?(c(),x(A,{key:3,color:Se(d.status)},{default:n(()=>[p(u(H(d.status)),1)]),_:2},1032,["color"])):g("",!0),i.key==="taskCount"?(c(),x(A,{key:4,color:"purple",style:{"font-size":"11px"}},{default:n(()=>[p(u(d.taskCount),1)]),_:2},1024)):g("",!0),i.key==="lastHeartbeat"?(c(),m("span",vt,u(o(ke)(d.lastHeartbeat)),1)):g("",!0),i.key==="action"?(c(),m(C,{key:6},[a(f,{size:"small",type:"link",loading:W.value===d.id,onClick:S=>je(d)},{default:n(()=>[p(u(o(e)("inference.rowActions.heartbeat")),1)]),_:1},8,["loading","onClick"]),a(re,{trigger:["click"]},{overlay:n(()=>[a(le,{onClick:S=>Le(d,S.key)},{default:n(()=>[(c(!0),m(C,null,I(o(ve),S=>(c(),x(O,{key:S,disabled:S===d.status},{default:n(()=>[p(u(H(S)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:n(()=>[a(f,{size:"small",type:"link"},{default:n(()=>[p(u(o(e)("inference.rowActions.statusDropdown")),1)]),_:1})]),_:2},1024),a(ce,{title:o(e)("inference.rowActions.unregisterConfirm"),"ok-text":o(e)("inference.rowActions.unregisterOk"),"cancel-text":o(e)("common.cancel"),onConfirm:S=>Ue(d)},{default:n(()=>[a(f,{size:"small",type:"link",danger:""},{default:n(()=>[p(u(o(e)("inference.rowActions.unregister")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):g("",!0)]),emptyText:n(()=>[z("div",_t,[a(o(Z),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(j.value?o(e)("inference.empty.filteredNodes"):o(e)("inference.empty.noNodes")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(fe,{key:"tasks",tab:o(e)("inference.tabs.tasks")},{default:n(()=>[z("div",kt,[a(E,{value:L.value,"onUpdate:value":t[1]||(t[1]=i=>L.value=i),size:"small"},{default:n(()=>[a(F,{value:""},{default:n(()=>[p(u(o(e)("inference.filter.allStatuses")),1)]),_:1}),(c(!0),m(C,null,I(o(Ze),i=>(c(),x(F,{key:i,value:i},{default:n(()=>[p(u(ae(i)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(E,{value:U.value,"onUpdate:value":t[2]||(t[2]=i=>U.value=i),size:"small"},{default:n(()=>[a(F,{value:""},{default:n(()=>[p(u(o(e)("inference.filter.allModes")),1)]),_:1}),(c(!0),m(C,null,I(o(_e),i=>(c(),x(F,{key:i,value:i},{default:n(()=>[p(u(X(i)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(de,{columns:xe.value,"data-source":Ce.value,pagination:{pageSize:20,showTotal:i=>o(e)("inference.totals.rows",{count:i})},size:"small",loading:$.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:i,record:d})=>[i.key==="model"?(c(),m(C,{key:0},[z("span",bt,u(d.model),1),d.input?(c(),m("div",xt,u(oe(d.input,60)),1)):g("",!0)],64)):g("",!0),i.key==="privacyMode"?(c(),x(A,{key:1,color:ze(d.privacyMode)},{default:n(()=>[p(u(X(d.privacyMode)),1)]),_:2},1032,["color"])):g("",!0),i.key==="priority"?(c(),m("span",{key:2,style:Xe({color:Me(d.priority),fontWeight:500})},u(d.priority),5)):g("",!0),i.key==="assignedNode"?(c(),m(C,{key:3},[d.assignedNode?(c(),m("span",ht,u(Ae(d.assignedNode)),1)):(c(),m("span",Ct,"—"))],64)):g("",!0),i.key==="status"?(c(),x(A,{key:4,color:we(d.status)},{default:n(()=>[p(u(ae(d.status)),1)]),_:2},1032,["color"])):g("",!0),i.key==="duration"?(c(),m(C,{key:5},[d.durationMs!=null?(c(),m("span",St,u(d.durationMs)+" ms ",1)):(c(),m("span",wt,"—"))],64)):g("",!0),i.key==="createdAt"?(c(),m("span",zt,u(o(ke)(d.createdAt)),1)):g("",!0),i.key==="action"?(c(),m(C,{key:7},[Fe(d)?(c(),x(f,{key:0,size:"small",type:"link",loading:Q.value===d.id,onClick:S=>qe(d)},{default:n(()=>[p(u(o(e)("inference.rowActions.complete")),1)]),_:1},8,["loading","onClick"])):g("",!0),Oe(d)?(c(),x(ce,{key:1,title:o(e)("inference.rowActions.failConfirm"),"ok-text":o(e)("inference.rowActions.failOk"),"cancel-text":o(e)("common.cancel"),onConfirm:S=>De(d)},{default:n(()=>[a(f,{size:"small",type:"link",danger:""},{default:n(()=>[p(u(o(e)("inference.rowActions.fail")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):g("",!0)],64)):g("",!0)]),emptyText:n(()=>[z("div",Mt,[a(o(ee),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(L.value||U.value?o(e)("inference.empty.filteredTasks"):o(e)("inference.empty.noTasks")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ye,{open:P.value,"onUpdate:open":t[8]||(t[8]=i=>P.value=i),title:o(e)("inference.register.title"),"confirm-loading":V.value,width:520,"ok-text":o(e)("inference.register.ok"),"cancel-text":o(e)("common.cancel"),onOk:Ie,onCancel:se},{default:n(()=>[a(me,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[a(N,{label:o(e)("inference.register.nodeIdLabel"),required:""},{default:n(()=>[a(J,{value:_.nodeId,"onUpdate:value":t[4]||(t[4]=i=>_.nodeId=i),placeholder:o(e)("inference.register.nodeIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.register.endpointLabel")},{default:n(()=>[a(J,{value:_.endpoint,"onUpdate:value":t[5]||(t[5]=i=>_.endpoint=i),placeholder:o(e)("inference.register.endpointPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.register.capabilitiesLabel")},{default:n(()=>[a(J,{value:_.capabilities,"onUpdate:value":t[6]||(t[6]=i=>_.capabilities=i),placeholder:o(e)("inference.register.capabilitiesPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.register.gpuLabel")},{default:n(()=>[a(pe,{value:_.gpuMemory,"onUpdate:value":t[7]||(t[7]=i=>_.gpuMemory=i),min:0,max:2e5,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ye,{open:B.value,"onUpdate:open":t[13]||(t[13]=i=>B.value=i),title:o(e)("inference.submit.title"),"confirm-loading":G.value,width:520,"ok-text":o(e)("inference.submit.ok"),"cancel-text":o(e)("common.cancel"),onOk:$e,onCancel:ie},{default:n(()=>[a(me,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:n(()=>[a(N,{label:o(e)("inference.submit.modelLabel"),required:""},{default:n(()=>[a(J,{value:k.model,"onUpdate:value":t[9]||(t[9]=i=>k.model=i),placeholder:o(e)("inference.submit.modelPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.submit.inputLabel")},{default:n(()=>[a(Be,{value:k.input,"onUpdate:value":t[10]||(t[10]=i=>k.input=i),"auto-size":{minRows:3,maxRows:6}},null,8,["value"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.submit.priorityLabel")},{default:n(()=>[a(pe,{value:k.priority,"onUpdate:value":t[11]||(t[11]=i=>k.priority=i),min:1,max:10,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(N,{label:o(e)("inference.submit.modeLabel")},{default:n(()=>[a(E,{value:k.mode,"onUpdate:value":t[12]||(t[12]=i=>k.mode=i)},{default:n(()=>[(c(!0),m(C,null,I(o(_e),i=>(c(),x(F,{key:i,value:i},{default:n(()=>[p(u(X(i)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},$t=He(At,[["__scopeId","data-v-849fc966"]]);export{$t as default};
@@ -1 +0,0 @@
1
- import{_ as Be,a as Pe,c as h}from"./index-CyqU4Tck.js";import{u as Me,i as Ne,a as Ke,b as qe,c as Ve,d as Je,E as Qe}from"./echarts-DmBLM6YO.js";import{u as We}from"./ws-D_5-FRIb.js";import{R as Ye,al as Ze,ap as le,V as ke,s as He,$ as Xe}from"./icons-DvZE-RKs.js";import{o as et,M as m,R as $,P as s,c as t,N as a,Q as R,S as G,K as p,r as v,L as d,O as c,u as S,F as A,_ as L,f as U,a as re}from"./vendor-B6ToihkA.js";function N(l){if(!l)return null;const i=l.trim();try{return JSON.parse(i)}catch{const n=i.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);if(!n)return null;try{return JSON.parse(n[1])}catch{return null}}}function ie(l,i=0){if(!l||typeof l!="object")return null;const n=l.id||l.entity_id||"";if(!n)return null;const k=Array.isArray(l.tags)?l.tags:typeof l.tags=="string"&&l.tags.length>0?l.tags.split(",").map(_=>_.trim()).filter(Boolean):[];return{key:n,id:n,name:l.name||"",type:l.type||"",tags:k,properties:l.properties&&typeof l.properties=="object"?l.properties:null,createdAt:l.created_at||l.createdAt||"",updatedAt:l.updated_at||l.updatedAt||"",_idx:i}}function _e(l,i=0){if(!l||typeof l!="object")return null;const n=l.id||l.relation_id||"";if(!n)return null;const k=l.sourceId||l.source_id||"",_=l.targetId||l.target_id||"";if(!k||!_)return null;const T=typeof l.weight=="number"?l.weight:typeof l.weight=="string"?parseFloat(l.weight):1;return{key:n,id:n,sourceId:k,targetId:_,relationType:l.relationType||l.relation_type||"",weight:Number.isFinite(T)?T:1,properties:l.properties&&typeof l.properties=="object"?l.properties:null,createdAt:l.created_at||l.createdAt||"",_idx:i}}function tt(l){const i=N(l);return Array.isArray(i)?i.map(ie).filter(Boolean):i&&Array.isArray(i.entities)?i.entities.map(ie).filter(Boolean):[]}function at(l){const i=N(l);return Array.isArray(i)?i.map(_e).filter(Boolean):i&&Array.isArray(i.relations)?i.relations.map(_e).filter(Boolean):[]}function ot(l){const i=N(l);if(!i||typeof i!="object"||Array.isArray(i))return{entityCount:0,relationCount:0,avgDegree:0,density:0,typeDistribution:{},relationTypeDistribution:{}};const n=k=>{const _=typeof k=="number"?k:parseFloat(k);return Number.isFinite(_)?_:0};return{entityCount:n(i.entityCount??i.entity_count),relationCount:n(i.relationCount??i.relation_count),avgDegree:n(i.avgDegree??i.avg_degree),density:n(i.density),typeDistribution:i.typeDistribution||i.type_distribution||{},relationTypeDistribution:i.relationTypeDistribution||i.relation_type_distribution||{}}}function nt(l){const i=N(l);return Array.isArray(i)?i.map((n,k)=>{if(!n||typeof n!="object"||!n.entity)return null;const _=ie(n.entity,k);return _?{key:`${_.id}-${k}`,depth:typeof n.depth=="number"?n.depth:0,entity:_}:null}).filter(Boolean):[]}function lt(l){const i=N(l);return Array.isArray(i)?i.map(n=>!n||typeof n!="object"||!n.name?null:{name:String(n.name),description:String(n.description||"")}).filter(Boolean):[]}function rt(l,i){const n=new Map,k=[];for(const f of l)n.has(f.type)||(n.set(f.type,k.length),k.push({name:f.type||"unknown"}));const _=l.map(f=>({id:f.id,name:f.name||f.id.slice(0,8),category:n.get(f.type)??0,value:1,symbolSize:24})),T=new Set(l.map(f=>f.id)),O=[];for(const f of i)!T.has(f.sourceId)||!T.has(f.targetId)||O.push({source:f.sourceId,target:f.targetId,value:f.relationType,lineStyle:{width:Math.max(1,Math.min(6,f.weight*2))}});return{nodes:_,links:O,categories:k}}const it={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},st={class:"page-title"},dt={class:"page-sub"},ut={key:0,style:{padding:"60px","text-align":"center"}},pt={key:1,style:{height:"540px"}},ct={key:0,style:{color:"#888","font-family":"monospace","font-size":"11px"}},yt={key:1,style:{color:"var(--text-primary)"}},gt={key:0,style:{color:"var(--text-muted)"}},mt={key:0,style:{color:"#888","font-family":"monospace","font-size":"11px"}},ft={key:1,style:{color:"var(--text-muted)"}},ht={key:2,style:{color:"#888","font-family":"monospace","font-size":"11px"}},vt={key:4,style:{color:"var(--text-secondary)","font-family":"monospace"}},kt={key:0,style:{padding:"40px","text-align":"center",color:"var(--text-muted)"}},_t={style:{display:"flex","justify-content":"space-between","margin-bottom":"4px"}},bt={style:{color:"var(--text-secondary)","font-family":"monospace"}},wt={key:0,style:{padding:"40px","text-align":"center",color:"var(--text-muted)"}},Gt={style:{display:"flex","justify-content":"space-between","margin-bottom":"4px"}},$t={style:{color:"var(--text-secondary)","font-family":"monospace"}},xt={style:{color:"var(--text-muted)","font-size":"11px"}},Ct={key:0,style:{padding:"30px","text-align":"center",color:"var(--text-muted)"}},St={style:{"margin-left":"12px",color:"var(--text-primary)"}},Tt={style:{"margin-left":"8px",color:"#888","font-family":"monospace","font-size":"11px"}},Rt={__name:"KnowledgeGraph",setup(l){Me([Ne,Ke,qe,Ve,Je]);const i=We(),{t:n}=Pe(),k=v(!1),_=v(!1),T=v(!1),O=v(!1),f=v(!1),Z=v(""),K=v(!1),se=v("graph"),x=v([]),B=v([]),H=v([]),E=v({entityCount:0,relationCount:0,avgDegree:0,density:0,typeDistribution:{},relationTypeDistribution:{}}),q=v(!1),V=v(!1),X=v(!1),b=re({name:"",type:"",tags:""}),y=re({sourceId:"",targetId:"",relationType:"",weight:1}),j=re({maxDepth:3,direction:"out"}),de=v(""),ue=v(""),P=v([]),be=U(()=>[{title:n("knowledgeGraph.entityCols.id"),key:"id",width:"120px"},{title:n("knowledgeGraph.entityCols.name"),key:"name",dataIndex:"name",ellipsis:!0},{title:n("knowledgeGraph.entityCols.type"),key:"type",dataIndex:"type",width:"140px"},{title:n("knowledgeGraph.entityCols.tags"),key:"tags",width:"200px"},{title:n("knowledgeGraph.entityCols.action"),key:"action",width:"160px"}]),we=U(()=>[{title:n("knowledgeGraph.relationCols.source"),key:"source",width:"120px"},{title:"",key:"arrow",width:"40px"},{title:n("knowledgeGraph.relationCols.target"),key:"target",width:"120px"},{title:n("knowledgeGraph.relationCols.relationType"),key:"relationType",width:"160px"},{title:n("knowledgeGraph.relationCols.weight"),key:"weight",width:"100px"}]),Ge={Person:"magenta",Organization:"blue",Project:"cyan",Technology:"geekblue",Document:"gold",Concept:"purple",Event:"volcano"};function ee(e){return Ge[e]||"default"}const $e=U(()=>{const e=new Map;for(const r of x.value)e.set(r.id,r.name||r.id.slice(0,8));return e});function pe(e){return $e.value.get(e)||e.slice(0,12)}function ce(e,r){return String(r?.children?.[0]?.children||"").toLowerCase().includes(String(e).toLowerCase())}const ye=U(()=>{const e=E.value.typeDistribution||{},r=Object.values(e).reduce((u,g)=>u+g,0)||1;return Object.entries(e).map(([u,g])=>({type:u,count:g,percent:Math.round(g/r*100)})).sort((u,g)=>g.count-u.count)}),ge=U(()=>{const e=E.value.relationTypeDistribution||{},r=Object.values(e).reduce((u,g)=>u+g,0)||1;return Object.entries(e).map(([u,g])=>({type:u,count:g,percent:Math.round(g/r*100)})).sort((u,g)=>g.count-u.count)}),xe=U(()=>{const{nodes:e,links:r,categories:u}=rt(x.value,B.value);return{tooltip:{show:!0},legend:[{data:u.map(g=>g.name),textStyle:{color:"#aaa"},bottom:0}],series:[{type:"graph",layout:"force",data:e,links:r,categories:u,roam:!0,label:{show:!0,position:"right",color:"#ddd",fontSize:11},lineStyle:{color:"source",curveness:.1,opacity:.6},emphasis:{focus:"adjacency",lineStyle:{width:4}},force:{repulsion:180,edgeLength:[60,140],gravity:.05}}]}});async function M(){_.value=!0;try{await Promise.all([Ce(),Se(),Te()])}finally{_.value=!1}}async function Ce(){try{const{output:e}=await i.execute("kg list --limit 500 --json",15e3);x.value=tt(e)}catch(e){h.error(n("knowledgeGraph.msg.loadEntitiesFailed")+": "+e.message),x.value=[]}}async function Se(){try{const{output:e}=await i.execute("kg relations --limit 1000 --json",15e3);B.value=at(e)}catch(e){h.error(n("knowledgeGraph.msg.loadRelationsFailed")+": "+e.message),B.value=[]}}async function Te(){try{const{output:e}=await i.execute("kg stats --json",1e4);E.value=ot(e)}catch(e){h.error(n("knowledgeGraph.msg.loadStatsFailed")+": "+e.message)}}async function Re(){if(!(H.value.length>0)){T.value=!0;try{const{output:e}=await i.execute("kg entity-types --json",1e4);H.value=lt(e)}catch(e){h.error(n("knowledgeGraph.msg.loadEntityTypesFailed")+": "+e.message)}finally{T.value=!1}}}async function Ee(){if(!b.name.trim()||!b.type){h.warning(n("knowledgeGraph.msg.addEntityEmpty"));return}O.value=!0;try{let r=`kg add "${b.name.trim().replace(/"/g,'\\"')}" ${b.type} --json`;b.tags.trim()&&(r+=` --tags "${b.tags.trim().replace(/"/g,'\\"')}"`);const{output:u,exitCode:g}=await i.execute(r,15e3);g!==0||/error|失败/i.test(u)?h.error(n("knowledgeGraph.msg.addEntityFailed")+": "+u.slice(0,120)):(h.success(n("knowledgeGraph.msg.addEntitySuccess")),q.value=!1,b.name="",b.type="",b.tags="",await M())}catch(e){h.error(n("knowledgeGraph.msg.addEntityFailed")+": "+e.message)}finally{O.value=!1}}async function Ie(){if(!y.sourceId||!y.targetId||!y.relationType.trim()){h.warning(n("knowledgeGraph.msg.addRelationEmpty"));return}if(y.sourceId===y.targetId){h.warning(n("knowledgeGraph.msg.addRelationSelfLoop"));return}f.value=!0;try{const e=y.relationType.trim().replace(/"/g,'\\"'),r=`kg add-relation ${y.sourceId} ${y.targetId} "${e}" --weight ${y.weight} --json`,{output:u,exitCode:g}=await i.execute(r,15e3);g!==0||/error|失败/i.test(u)?h.error(n("knowledgeGraph.msg.addRelationFailed")+": "+u.slice(0,120)):(h.success(n("knowledgeGraph.msg.addRelationSuccess")),V.value=!1,y.sourceId="",y.targetId="",y.relationType="",y.weight=1,await M())}catch(e){h.error(n("knowledgeGraph.msg.addRelationFailed")+": "+e.message)}finally{f.value=!1}}async function De(e){Z.value=e.id;try{const{output:r,exitCode:u}=await i.execute(`kg remove ${e.id}`,15e3);u!==0||/error|失败/i.test(r)?h.error(n("knowledgeGraph.msg.deleteFailed")+": "+r.slice(0,120)):(h.success(n("knowledgeGraph.msg.deleteSuccess")),await M())}catch(r){h.error(n("knowledgeGraph.msg.deleteFailed")+": "+r.message)}finally{Z.value=""}}function Ae(e){de.value=e.id,ue.value=e.name,P.value=[],X.value=!0}async function Oe(){K.value=!0;try{const e=`kg reason ${de.value} --max-depth ${j.maxDepth} --direction ${j.direction} --json`,{output:r}=await i.execute(e,15e3);P.value=nt(r),P.value.length===0&&h.info(n("knowledgeGraph.msg.reasonEmpty"))}catch(e){h.error(n("knowledgeGraph.msg.reasonFailed")+": "+e.message)}finally{K.value=!1}}return et(()=>{M(),Re()}),(e,r)=>{const u=p("a-button"),g=p("a-space"),J=p("a-statistic"),I=p("a-card"),z=p("a-col"),me=p("a-row"),je=p("a-alert"),te=p("a-empty"),Q=p("a-tab-pane"),D=p("a-tag"),ze=p("a-popconfirm"),fe=p("a-table"),he=p("a-progress"),Fe=p("a-tabs"),ae=p("a-input"),C=p("a-form-item"),F=p("a-select-option"),W=p("a-select"),oe=p("a-form"),ne=p("a-modal"),ve=p("a-input-number"),Le=p("a-list-item"),Ue=p("a-list");return d(),m("div",null,[$("div",it,[$("div",null,[$("h2",st,s(e.$t("knowledgeGraph.title")),1),$("p",dt,s(e.$t("knowledgeGraph.subtitle")),1)]),t(g,null,{default:a(()=>[t(u,{loading:_.value,onClick:M},{icon:a(()=>[t(S(Ye))]),default:a(()=>[c(" "+s(e.$t("knowledgeGraph.refresh")),1)]),_:1},8,["loading"]),t(u,{type:"primary",onClick:r[0]||(r[0]=o=>q.value=!0)},{icon:a(()=>[t(S(Ze))]),default:a(()=>[c(" "+s(e.$t("knowledgeGraph.addEntity")),1)]),_:1}),t(u,{onClick:r[1]||(r[1]=o=>V.value=!0),disabled:x.value.length<2},{icon:a(()=>[t(S(le))]),default:a(()=>[c(" "+s(e.$t("knowledgeGraph.addRelation")),1)]),_:1},8,["disabled"])]),_:1})]),t(me,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(z,{xs:24,sm:12,lg:6},{default:a(()=>[t(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(J,{title:e.$t("knowledgeGraph.stats.entityCount"),value:E.value.entityCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(S(ke))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(z,{xs:24,sm:12,lg:6},{default:a(()=>[t(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(J,{title:e.$t("knowledgeGraph.stats.relationCount"),value:E.value.relationCount,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(S(le))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(z,{xs:24,sm:12,lg:6},{default:a(()=>[t(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(J,{title:e.$t("knowledgeGraph.stats.avgDegree"),value:E.value.avgDegree,precision:2,"value-style":{color:"#faad14",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1}),t(z,{xs:24,sm:12,lg:6},{default:a(()=>[t(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(J,{title:e.$t("knowledgeGraph.stats.density"),value:E.value.density,precision:4,"value-style":{color:"#722ed1",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),k.value?G("",!0):(d(),R(je,{key:0,message:e.$t("knowledgeGraph.webOnly.message"),description:e.$t("knowledgeGraph.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),t(Fe,{activeKey:se.value,"onUpdate:activeKey":r[2]||(r[2]=o=>se.value=o),type:"card"},{default:a(()=>[t(Q,{key:"graph"},{tab:a(()=>[t(S(He)),c(" "+s(e.$t("knowledgeGraph.tabs.graph")),1)]),default:a(()=>[t(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[x.value.length===0?(d(),m("div",ut,[t(te,{description:e.$t("knowledgeGraph.table.emptyGraph")},null,8,["description"])])):(d(),m("div",pt,[t(S(Qe),{option:xe.value,autoresize:""},null,8,["option"])]))]),_:1})]),_:1}),t(Q,{key:"entities"},{tab:a(()=>[t(S(ke)),c(" "+s(e.$t("knowledgeGraph.tabs.entities",{n:x.value.length})),1)]),default:a(()=>[t(fe,{columns:be.value,"data-source":x.value,pagination:{pageSize:20,showTotal:o=>e.$t("knowledgeGraph.table.totalSuffix",{n:o})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"kg-row"},{bodyCell:a(({column:o,record:w})=>[o.key==="id"?(d(),m("span",ct,s(w.id.slice(0,12)),1)):G("",!0),o.key==="name"?(d(),m("span",yt,s(w.name),1)):G("",!0),o.key==="type"?(d(),R(D,{key:2,color:ee(w.type)},{default:a(()=>[c(s(w.type),1)]),_:2},1032,["color"])):G("",!0),o.key==="tags"?(d(),m(A,{key:3},[(d(!0),m(A,null,L(w.tags,Y=>(d(),R(D,{key:Y,color:"default"},{default:a(()=>[c(s(Y),1)]),_:2},1024))),128)),w.tags.length===0?(d(),m("span",gt,"-")):G("",!0)],64)):G("",!0),o.key==="action"?(d(),R(g,{key:4,size:"small"},{default:a(()=>[t(u,{size:"small",type:"link",onClick:Y=>Ae(w)},{default:a(()=>[c(s(e.$t("knowledgeGraph.actions.reason")),1)]),_:1},8,["onClick"]),t(ze,{title:e.$t("knowledgeGraph.deleteConfirm.title"),"ok-text":e.$t("knowledgeGraph.deleteConfirm.ok"),"ok-type":"danger","cancel-text":e.$t("knowledgeGraph.deleteConfirm.cancel"),onConfirm:Y=>De(w)},{default:a(()=>[t(u,{size:"small",type:"link",danger:"",loading:Z.value===w.id},{default:a(()=>[c(s(e.$t("knowledgeGraph.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):G("",!0)]),emptyText:a(()=>[t(te,{description:e.$t("knowledgeGraph.table.emptyEntities")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])]),_:1}),t(Q,{key:"relations"},{tab:a(()=>[t(S(le)),c(" "+s(e.$t("knowledgeGraph.tabs.relations",{n:B.value.length})),1)]),default:a(()=>[t(fe,{columns:we.value,"data-source":B.value,pagination:{pageSize:20,showTotal:o=>e.$t("knowledgeGraph.table.totalSuffix",{n:o})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"kg-row"},{bodyCell:a(({column:o,record:w})=>[o.key==="source"?(d(),m("span",mt,s(pe(w.sourceId)),1)):G("",!0),o.key==="arrow"?(d(),m("span",ft,"→")):G("",!0),o.key==="target"?(d(),m("span",ht,s(pe(w.targetId)),1)):G("",!0),o.key==="relationType"?(d(),R(D,{key:3,color:"cyan"},{default:a(()=>[c(s(w.relationType),1)]),_:2},1024)):G("",!0),o.key==="weight"?(d(),m("span",vt,s(w.weight.toFixed(2)),1)):G("",!0)]),emptyText:a(()=>[t(te,{description:e.$t("knowledgeGraph.table.emptyRelations")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])]),_:1}),t(Q,{key:"distribution"},{tab:a(()=>[t(S(Xe)),c(" "+s(e.$t("knowledgeGraph.tabs.distribution")),1)]),default:a(()=>[t(me,{gutter:[24,24]},{default:a(()=>[t(z,{xs:24,md:12},{default:a(()=>[t(I,{title:e.$t("knowledgeGraph.distribution.entityTypes"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[ye.value.length===0?(d(),m("div",kt,s(e.$t("knowledgeGraph.table.emptyData")),1)):G("",!0),(d(!0),m(A,null,L(ye.value,o=>(d(),m("div",{key:o.type,style:{"margin-bottom":"8px"}},[$("div",_t,[t(D,{color:ee(o.type)},{default:a(()=>[c(s(o.type),1)]),_:2},1032,["color"]),$("span",bt,s(o.count),1)]),t(he,{percent:o.percent,"show-info":!1,"stroke-color":"#1677ff"},null,8,["percent"])]))),128))]),_:1},8,["title"])]),_:1}),t(z,{xs:24,md:12},{default:a(()=>[t(I,{title:e.$t("knowledgeGraph.distribution.relationTypes"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[ge.value.length===0?(d(),m("div",wt,s(e.$t("knowledgeGraph.table.emptyData")),1)):G("",!0),(d(!0),m(A,null,L(ge.value,o=>(d(),m("div",{key:o.type,style:{"margin-bottom":"8px"}},[$("div",Gt,[t(D,{color:"cyan"},{default:a(()=>[c(s(o.type),1)]),_:2},1024),$("span",$t,s(o.count),1)]),t(he,{percent:o.percent,"show-info":!1,"stroke-color":"#52c41a"},null,8,["percent"])]))),128))]),_:1},8,["title"])]),_:1})]),_:1})]),_:1})]),_:1},8,["activeKey"]),t(ne,{open:q.value,"onUpdate:open":r[6]||(r[6]=o=>q.value=o),title:e.$t("knowledgeGraph.addEntity_modal.title"),"confirm-loading":O.value,onOk:Ee,"ok-text":e.$t("knowledgeGraph.addEntity_modal.ok"),"cancel-text":e.$t("knowledgeGraph.addEntity_modal.cancel")},{default:a(()=>[t(oe,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:a(()=>[t(C,{label:e.$t("knowledgeGraph.addEntity_modal.nameLabel"),required:""},{default:a(()=>[t(ae,{value:b.name,"onUpdate:value":r[3]||(r[3]=o=>b.name=o),placeholder:e.$t("knowledgeGraph.addEntity_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.addEntity_modal.typeLabel"),required:""},{default:a(()=>[t(W,{value:b.type,"onUpdate:value":r[4]||(r[4]=o=>b.type=o),placeholder:e.$t("knowledgeGraph.addEntity_modal.typePlaceholder"),loading:T.value},{default:a(()=>[(d(!0),m(A,null,L(H.value,o=>(d(),R(F,{key:o.name,value:o.name},{default:a(()=>[c(s(o.name)+" ",1),$("span",xt,"— "+s(o.description),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder","loading"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.addEntity_modal.tagsLabel")},{default:a(()=>[t(ae,{value:b.tags,"onUpdate:value":r[5]||(r[5]=o=>b.tags=o),placeholder:e.$t("knowledgeGraph.addEntity_modal.tagsPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(ne,{open:V.value,"onUpdate:open":r[11]||(r[11]=o=>V.value=o),title:e.$t("knowledgeGraph.addRelation_modal.title"),"confirm-loading":f.value,onOk:Ie,"ok-text":e.$t("knowledgeGraph.addRelation_modal.ok"),"cancel-text":e.$t("knowledgeGraph.addRelation_modal.cancel")},{default:a(()=>[t(oe,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:a(()=>[t(C,{label:e.$t("knowledgeGraph.addRelation_modal.sourceLabel"),required:""},{default:a(()=>[t(W,{value:y.sourceId,"onUpdate:value":r[7]||(r[7]=o=>y.sourceId=o),placeholder:e.$t("knowledgeGraph.addRelation_modal.sourcePlaceholder"),"show-search":"","filter-option":ce},{default:a(()=>[(d(!0),m(A,null,L(x.value,o=>(d(),R(F,{key:o.id,value:o.id},{default:a(()=>[c(s(o.name)+" ("+s(o.type)+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.addRelation_modal.targetLabel"),required:""},{default:a(()=>[t(W,{value:y.targetId,"onUpdate:value":r[8]||(r[8]=o=>y.targetId=o),placeholder:e.$t("knowledgeGraph.addRelation_modal.targetPlaceholder"),"show-search":"","filter-option":ce},{default:a(()=>[(d(!0),m(A,null,L(x.value,o=>(d(),R(F,{key:o.id,value:o.id,disabled:o.id===y.sourceId},{default:a(()=>[c(s(o.name)+" ("+s(o.type)+") ",1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.addRelation_modal.relationTypeLabel"),required:""},{default:a(()=>[t(ae,{value:y.relationType,"onUpdate:value":r[9]||(r[9]=o=>y.relationType=o),placeholder:e.$t("knowledgeGraph.addRelation_modal.relationTypePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.addRelation_modal.weightLabel")},{default:a(()=>[t(ve,{value:y.weight,"onUpdate:value":r[10]||(r[10]=o=>y.weight=o),min:.1,max:10,step:.1,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(ne,{open:X.value,"onUpdate:open":r[14]||(r[14]=o=>X.value=o),title:e.$t("knowledgeGraph.reason_modal.title",{name:ue.value}),width:640,footer:null},{default:a(()=>[t(oe,{layout:"inline",style:{"margin-bottom":"16px"}},{default:a(()=>[t(C,{label:e.$t("knowledgeGraph.reason_modal.maxDepth")},{default:a(()=>[t(ve,{value:j.maxDepth,"onUpdate:value":r[12]||(r[12]=o=>j.maxDepth=o),min:1,max:10},null,8,["value"])]),_:1},8,["label"]),t(C,{label:e.$t("knowledgeGraph.reason_modal.direction")},{default:a(()=>[t(W,{value:j.direction,"onUpdate:value":r[13]||(r[13]=o=>j.direction=o),style:{width:"100px"}},{default:a(()=>[t(F,{value:"out"},{default:a(()=>[c(s(e.$t("knowledgeGraph.reason_modal.directionOut")),1)]),_:1}),t(F,{value:"in"},{default:a(()=>[c(s(e.$t("knowledgeGraph.reason_modal.directionIn")),1)]),_:1}),t(F,{value:"both"},{default:a(()=>[c(s(e.$t("knowledgeGraph.reason_modal.directionBoth")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),t(C,null,{default:a(()=>[t(u,{type:"primary",loading:K.value,onClick:Oe},{default:a(()=>[c(s(e.$t("knowledgeGraph.reason_modal.run")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),P.value.length===0&&!K.value?(d(),m("div",Ct,s(e.$t("knowledgeGraph.reason_modal.hint")),1)):(d(),R(Ue,{key:1,"data-source":P.value,size:"small"},{renderItem:a(({item:o})=>[t(Le,null,{default:a(()=>[t(D,{color:"purple"},{default:a(()=>[c("depth="+s(o.depth),1)]),_:2},1024),t(D,{color:ee(o.entity.type),style:{"margin-left":"8px"}},{default:a(()=>[c(s(o.entity.type),1)]),_:2},1032,["color"]),$("span",St,s(o.entity.name),1),$("span",Tt,s(o.entity.id.slice(0,12)),1)]),_:2},1024)]),_:1},8,["data-source"]))]),_:1},8,["open","title"])])}}},jt=Be(Rt,[["__scopeId","data-v-d675e73f"]]);export{jt as default};
@@ -1 +0,0 @@
1
- import{_ as Oe,a as je,c as g}from"./index-CyqU4Tck.js";import{u as Ne}from"./ws-D_5-FRIb.js";import{s as Pe}from"./community-parser-CO25nZFt.js";import{R as De,J as Be,l as ie,f as Ee,h as ue,aM as Ve,u as Je}from"./icons-DvZE-RKs.js";import{o as Ke,M as f,R as h,P as d,c as l,N as o,K as v,r as _,L as i,O as k,u as y,F as $,_ as P,Q as S,S as b,f as R,a as ce}from"./vendor-B6ToihkA.js";function Y(n){const r=Pe(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 X=Object.freeze(["draft","published","deprecated","suspended"]),qe=Object.freeze(["pending","running","success","failed","timeout"]);function D(n,r=0){return typeof n=="number"&&Number.isFinite(n)?n:r}function Qe(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,name:String(n.name||""),version:String(n.version||""),description:String(n.description||""),endpoint:n.endpoint||"",pricing:n.pricing??null,status:String(n.status||"draft").toLowerCase(),owner:n.owner||"",invocationCount:D(n.invocationCount??n.invocation_count,0),createdAt:n.createdAt??n.created_at??null,updatedAt:n.updatedAt??n.updated_at??null,_idx:r}:null}function We(n){const r=Y(n);return Array.isArray(r)?r.map(Qe).filter(Boolean):[]}function Ge(n,r=0){if(!n||typeof n!="object")return null;const s=n.id||"";return s?{key:s,id:s,serviceId:n.serviceId||n.service_id||"",callerId:n.callerId||n.caller_id||"",input:n.input??null,output:n.output??null,status:String(n.status||"success").toLowerCase(),durationMs:n.durationMs??n.duration_ms??null,error:n.error||"",createdAt:n.createdAt??n.created_at??null,_idx:r}:null}function He(n){const r=Y(n);return Array.isArray(r)?r.map(Ge).filter(Boolean):[]}function Xe(n){const r={total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null},s=Y(n);if(!s||typeof s!="object"||Array.isArray(s))return r;r.total=D(s.total,0),r.successRate=D(s.successRate??s.success_rate,0),r.avgDurationMs=D(s.avgDurationMs??s.avg_duration_ms,0),r.scopedToService=s.scopedToService??s.scoped_to_service??null;const C=s.counts&&typeof s.counts=="object"?s.counts:{};for(const w of Object.keys(r.counts))r.counts[w]=D(C[w],0);return r}function de(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 Ye={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ze={class:"page-title"},et={class:"page-sub"},tt={class:"filter-bar"},at={style:{color:"var(--text-primary)","font-weight":"500"}},lt={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},ot={key:2,style:{color:"#722ed1","font-weight":"500"}},nt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},st={key:1,style:{color:"var(--text-muted)"}},rt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},it={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ut={class:"filter-bar"},ct={style:{color:"var(--text-primary)"}},dt={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},pt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},mt={key:1,style:{color:"var(--text-muted)"}},vt={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},ft={key:1,style:{color:"var(--text-muted)"}},kt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},bt={__name:"Marketplace",setup(n){const r=Ne(),{t:s}=je(),C=_(!1),w=_(!1),J=_(!1),z=_([]),K=_([]),I=_({total:0,counts:{success:0,failed:0,timeout:0,pending:0,running:0},successRate:0,avgDurationMs:0,scopedToService:null}),q=_("services"),L=_(""),T=_(""),B=_(null),E=_(!1),V=_(!1),c=ce({name:"",version:"",description:"",endpoint:"",owner:"",status:"published"}),u=ce({serviceId:"",caller:"",status:"success",durationMs:null,error:""}),Q=_(""),pe=R(()=>[{title:s("marketplace.serviceCols.name"),key:"name"},{title:s("marketplace.serviceCols.status"),key:"status",width:"120px"},{title:s("marketplace.serviceCols.invocationCount"),key:"invocationCount",width:"110px"},{title:s("marketplace.serviceCols.owner"),key:"owner",width:"180px"},{title:s("marketplace.serviceCols.createdAt"),key:"createdAt",width:"160px"},{title:s("marketplace.serviceCols.action"),key:"action",width:"180px"}]),me=R(()=>[{title:s("marketplace.invocationCols.service"),key:"service"},{title:s("marketplace.invocationCols.caller"),key:"caller",width:"180px"},{title:s("marketplace.invocationCols.status"),key:"status",width:"100px"},{title:s("marketplace.invocationCols.durationMs"),key:"durationMs",width:"110px"},{title:s("marketplace.invocationCols.createdAt"),key:"createdAt",width:"160px"}]),ve=R(()=>z.value.filter(e=>e.status==="published").length),fe=R(()=>I.value.successRate*100),ke=R(()=>{let e=z.value;if(L.value&&(e=e.filter(t=>t.status===L.value)),T.value){const t=T.value.toLowerCase();e=e.filter(p=>p.name.toLowerCase().includes(t))}return e}),ye=R(()=>B.value?K.value.filter(e=>e.serviceId===B.value):K.value);function M(e){const t=`marketplace.serviceStatusLabels.${e}`,p=s(t);return p===t?e:p}function be(e){return{draft:"default",published:"green",deprecated:"orange",suspended:"red"}[e]||"default"}function Z(e){const t=`marketplace.invocationStatusLabels.${e}`,p=s(t);return p===t?e:p}function _e(e){return{pending:"default",running:"processing",success:"green",failed:"red",timeout:"orange"}[e]||"default"}function ee(e){return e?e.length>28?e.slice(0,16)+"..."+e.slice(-8):e:""}function ge(e,t){return e?e.length>t?e.slice(0,t)+"...":e:""}function he(e){const t=z.value.find(p=>p.id===e);return t?t.name:s("marketplace.deletedService")}async function U(){C.value=!0;try{const[e,t,p]=await Promise.all([r.execute("marketplace list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("marketplace invocations --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("marketplace stats --json",1e4).catch(()=>({output:""}))]);z.value=We(e.output),K.value=He(t.output),I.value=Xe(p.output)}catch(e){g.error(s("marketplace.msg.loadFailed")+": "+(e?.message||e))}finally{C.value=!1}}async function $e(){const e=c.name.trim();if(!e){g.warning(s("marketplace.msg.publishEmpty"));return}w.value=!0;try{const t=[`marketplace publish "${e.replace(/"/g,'\\"')}"`];c.version.trim()&&t.push(`--version "${c.version.trim().replace(/"/g,'\\"')}"`),c.description.trim()&&t.push(`--description "${c.description.trim().replace(/"/g,'\\"')}"`),c.endpoint.trim()&&t.push(`--endpoint "${c.endpoint.trim().replace(/"/g,'\\"')}"`),c.owner.trim()&&t.push(`--owner "${c.owner.trim().replace(/"/g,'\\"')}"`),t.push(`--status ${c.status}`),t.push("--json");const{output:p}=await r.execute(t.join(" "),15e3);if(/error|failed|失败/i.test(p)&&!/"id"/.test(p)){g.error(s("marketplace.msg.publishFailed")+": "+p.slice(0,120));return}g.success(s("marketplace.msg.publishSuccess")),E.value=!1,te(),await U()}catch(t){g.error(s("marketplace.msg.publishFailed")+": "+(t?.message||t))}finally{w.value=!1}}function xe(e){if(e.status!=="published"){g.warning(s("marketplace.msg.recordOnlyPublished"));return}u.serviceId=e.id,u.caller="",u.status="success",u.durationMs=null,u.error="",Q.value=e.name,V.value=!0}async function Se(){J.value=!0;try{const e=[`marketplace record ${u.serviceId}`];u.caller.trim()&&e.push(`--caller "${u.caller.trim().replace(/"/g,'\\"')}"`),e.push(`--status ${u.status}`),u.durationMs!=null&&e.push(`--duration-ms ${u.durationMs}`),(u.status==="failed"||u.status==="timeout")&&u.error.trim()&&e.push(`--error "${u.error.trim().replace(/"/g,'\\"')}"`),e.push("--json");const{output:t}=await r.execute(e.join(" "),15e3);if(/error|failed|失败/i.test(t)&&!/"id"/.test(t)){g.error(s("marketplace.msg.recordFailed")+": "+t.slice(0,120));return}g.success(s("marketplace.msg.recordSuccess")),V.value=!1,q.value="invocations",await U()}catch(e){g.error(s("marketplace.msg.recordFailed")+": "+(e?.message||e))}finally{J.value=!1}}async function Ce(e,t){if(t!==e.status)try{const{output:p}=await r.execute(`marketplace status ${e.id} ${t} --json`,1e4);if(/error|invalid|失败/i.test(p)&&!/"status"/.test(p)){g.error(s("marketplace.msg.transitionFailed")+": "+p.slice(0,120));return}g.success(s("marketplace.msg.transitionSuccess",{label:M(t)})),await U()}catch(p){g.error(s("marketplace.msg.transitionFailed")+": "+(p?.message||p))}}function te(){c.name="",c.version="",c.description="",c.endpoint="",c.owner="",c.status="published"}function we(){u.serviceId="",u.caller="",u.status="success",u.durationMs=null,u.error="",Q.value=""}return Ke(U),(e,t)=>{const p=v("a-button"),ze=v("a-space"),F=v("a-statistic"),O=v("a-card"),j=v("a-col"),Me=v("a-row"),ae=v("a-radio-button"),Ae=v("a-radio-group"),Re=v("a-input-search"),W=v("a-tag"),Ie=v("a-menu-item"),Le=v("a-menu"),Te=v("a-dropdown"),le=v("a-table"),oe=v("a-tab-pane"),G=v("a-select-option"),H=v("a-select"),Ue=v("a-tabs"),N=v("a-input"),x=v("a-form-item"),ne=v("a-textarea"),se=v("a-form"),re=v("a-modal"),Fe=v("a-input-number");return i(),f("div",null,[h("div",Ye,[h("div",null,[h("h2",Ze,d(e.$t("marketplace.title")),1),h("p",et,d(e.$t("marketplace.subtitle")),1)]),l(ze,null,{default:o(()=>[l(p,{loading:C.value,onClick:U},{icon:o(()=>[l(y(De))]),default:o(()=>[k(" "+d(e.$t("marketplace.refresh")),1)]),_:1},8,["loading"]),l(p,{type:"primary",onClick:t[0]||(t[0]=a=>E.value=!0)},{icon:o(()=>[l(y(Be))]),default:o(()=>[k(" "+d(e.$t("marketplace.publish")),1)]),_:1})]),_:1})]),l(Me,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[l(j,{xs:12,sm:8,lg:5},{default:o(()=>[l(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[l(F,{title:e.$t("marketplace.stats.total"),value:z.value.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:o(()=>[l(y(ie))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(j,{xs:12,sm:8,lg:5},{default:o(()=>[l(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[l(F,{title:e.$t("marketplace.stats.published"),value:ve.value,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:o(()=>[l(y(Ee))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(j,{xs:12,sm:8,lg:5},{default:o(()=>[l(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[l(F,{title:e.$t("marketplace.stats.invocations"),value:I.value.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:o(()=>[l(y(ue))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(j,{xs:12,sm:8,lg:5},{default:o(()=>[l(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[l(F,{title:e.$t("marketplace.stats.successRate"),value:fe.value,suffix:"%",precision:1,"value-style":{color:I.value.successRate>=.9?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:o(()=>[l(y(Ve))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),l(j,{xs:24,sm:8,lg:4},{default:o(()=>[l(O,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[l(F,{title:e.$t("marketplace.stats.avgDuration"),value:I.value.avgDurationMs,suffix:"ms","value-style":{color:"#faad14",fontSize:"20px"}},{prefix:o(()=>[l(y(Je))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),l(Ue,{activeKey:q.value,"onUpdate:activeKey":t[4]||(t[4]=a=>q.value=a),class:"market-tabs"},{default:o(()=>[l(oe,{key:"services",tab:e.$t("marketplace.tabs.services")},{default:o(()=>[h("div",tt,[l(Ae,{value:L.value,"onUpdate:value":t[1]||(t[1]=a=>L.value=a),size:"small","button-style":"solid"},{default:o(()=>[l(ae,{value:""},{default:o(()=>[k(d(e.$t("marketplace.filter.all")),1)]),_:1}),(i(!0),f($,null,P(y(X),a=>(i(),S(ae,{key:a,value:a},{default:o(()=>[k(d(M(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l(Re,{value:T.value,"onUpdate:value":t[2]||(t[2]=a=>T.value=a),placeholder:e.$t("marketplace.filter.namePlaceholder"),"allow-clear":"",style:{"max-width":"280px"}},null,8,["value","placeholder"])]),l(le,{columns:pe.value,"data-source":ke.value,pagination:{pageSize:20,showTotal:a=>e.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:a,record:m})=>[a.key==="name"?(i(),f($,{key:0},[h("span",at,d(m.name),1),m.version?(i(),S(W,{key:0,color:"blue",style:{"margin-left":"6px","font-size":"10px"}},{default:o(()=>[k(" v"+d(m.version),1)]),_:2},1024)):b("",!0),m.description?(i(),f("div",lt,d(ge(m.description,80)),1)):b("",!0)],64)):b("",!0),a.key==="status"?(i(),S(W,{key:1,color:be(m.status)},{default:o(()=>[k(d(M(m.status)),1)]),_:2},1032,["color"])):b("",!0),a.key==="invocationCount"?(i(),f("span",ot,d(m.invocationCount),1)):b("",!0),a.key==="owner"?(i(),f($,{key:3},[m.owner?(i(),f("span",nt,d(ee(m.owner)),1)):(i(),f("span",st,"—"))],64)):b("",!0),a.key==="createdAt"?(i(),f("span",rt,d(y(de)(m.createdAt)),1)):b("",!0),a.key==="action"?(i(),f($,{key:5},[l(p,{size:"small",type:"link",onClick:A=>xe(m)},{default:o(()=>[k(d(e.$t("marketplace.table.actionRecord")),1)]),_:1},8,["onClick"]),l(Te,{trigger:["click"]},{overlay:o(()=>[l(Le,{onClick:A=>Ce(m,A.key)},{default:o(()=>[(i(!0),f($,null,P(y(X),A=>(i(),S(Ie,{key:A,disabled:A===m.status},{default:o(()=>[k(d(M(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:o(()=>[l(p,{size:"small",type:"link"},{default:o(()=>[k(d(e.$t("marketplace.table.statusDropdown")),1)]),_:1})]),_:2},1024)],64)):b("",!0)]),emptyText:o(()=>[h("div",it,[l(y(ie),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),k(" "+d(L.value||T.value?e.$t("marketplace.table.emptyFiltered"):e.$t("marketplace.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(oe,{key:"invocations",tab:e.$t("marketplace.tabs.invocations")},{default:o(()=>[h("div",ut,[l(H,{value:B.value,"onUpdate:value":t[3]||(t[3]=a=>B.value=a),placeholder:e.$t("marketplace.filter.byService"),"allow-clear":"",style:{width:"280px"},size:"small"},{default:o(()=>[(i(!0),f($,null,P(z.value,a=>(i(),S(G,{key:a.id,value:a.id},{default:o(()=>[k(d(a.name)+" ("+d(M(a.status))+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),l(le,{columns:me.value,"data-source":ye.value,pagination:{pageSize:20,showTotal:a=>e.$t("marketplace.table.totalSuffix",{n:a})},size:"small",loading:C.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:a,record:m})=>[a.key==="service"?(i(),f($,{key:0},[h("span",ct,d(he(m.serviceId)),1),h("div",dt,d(m.serviceId.slice(0,8)),1)],64)):b("",!0),a.key==="caller"?(i(),f($,{key:1},[m.callerId?(i(),f("span",pt,d(ee(m.callerId)),1)):(i(),f("span",mt,"—"))],64)):b("",!0),a.key==="status"?(i(),S(W,{key:2,color:_e(m.status)},{default:o(()=>[k(d(Z(m.status)),1)]),_:2},1032,["color"])):b("",!0),a.key==="durationMs"?(i(),f($,{key:3},[m.durationMs!=null?(i(),f("span",vt,d(m.durationMs)+" ms ",1)):(i(),f("span",ft,"—"))],64)):b("",!0),a.key==="createdAt"?(i(),f("span",kt,d(y(de)(m.createdAt)),1)):b("",!0)]),emptyText:o(()=>[h("div",yt,[l(y(ue),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),k(" "+d(e.$t("marketplace.table.emptyInvocations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),l(re,{open:E.value,"onUpdate:open":t[11]||(t[11]=a=>E.value=a),title:e.$t("marketplace.publish_modal.title"),"confirm-loading":w.value,width:560,"ok-text":e.$t("marketplace.publish_modal.ok"),"cancel-text":e.$t("marketplace.publish_modal.cancel"),onOk:$e,onCancel:te},{default:o(()=>[l(se,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[l(x,{label:e.$t("marketplace.publish_modal.nameLabel"),required:""},{default:o(()=>[l(N,{value:c.name,"onUpdate:value":t[5]||(t[5]=a=>c.name=a),placeholder:e.$t("marketplace.publish_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.publish_modal.versionLabel")},{default:o(()=>[l(N,{value:c.version,"onUpdate:value":t[6]||(t[6]=a=>c.version=a),placeholder:e.$t("marketplace.publish_modal.versionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.publish_modal.descLabel")},{default:o(()=>[l(ne,{value:c.description,"onUpdate:value":t[7]||(t[7]=a=>c.description=a),"auto-size":{minRows:2,maxRows:5}},null,8,["value"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.publish_modal.endpointLabel")},{default:o(()=>[l(N,{value:c.endpoint,"onUpdate:value":t[8]||(t[8]=a=>c.endpoint=a),placeholder:e.$t("marketplace.publish_modal.endpointPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.publish_modal.ownerLabel")},{default:o(()=>[l(N,{value:c.owner,"onUpdate:value":t[9]||(t[9]=a=>c.owner=a),placeholder:e.$t("marketplace.publish_modal.ownerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.publish_modal.statusLabel")},{default:o(()=>[l(H,{value:c.status,"onUpdate:value":t[10]||(t[10]=a=>c.status=a)},{default:o(()=>[(i(!0),f($,null,P(y(X),a=>(i(),S(G,{key:a,value:a},{default:o(()=>[k(d(M(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(re,{open:V.value,"onUpdate:open":t[16]||(t[16]=a=>V.value=a),title:e.$t("marketplace.record_modal.title",{name:Q.value}),"confirm-loading":J.value,width:520,"ok-text":e.$t("marketplace.record_modal.ok"),"cancel-text":e.$t("marketplace.record_modal.cancel"),onOk:Se,onCancel:we},{default:o(()=>[l(se,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[l(x,{label:e.$t("marketplace.record_modal.callerLabel")},{default:o(()=>[l(N,{value:u.caller,"onUpdate:value":t[12]||(t[12]=a=>u.caller=a),placeholder:e.$t("marketplace.record_modal.callerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.record_modal.statusLabel")},{default:o(()=>[l(H,{value:u.status,"onUpdate:value":t[13]||(t[13]=a=>u.status=a)},{default:o(()=>[(i(!0),f($,null,P(y(qe),a=>(i(),S(G,{key:a,value:a},{default:o(()=>[k(d(Z(a)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(x,{label:e.$t("marketplace.record_modal.durationLabel")},{default:o(()=>[l(Fe,{value:u.durationMs,"onUpdate:value":t[14]||(t[14]=a=>u.durationMs=a),min:0,max:36e5,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),u.status==="failed"||u.status==="timeout"?(i(),S(x,{key:0,label:e.$t("marketplace.record_modal.errorLabel")},{default:o(()=>[l(ne,{value:u.error,"onUpdate:value":t[15]||(t[15]=a=>u.error=a),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])):b("",!0)]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},St=Oe(bt,[["__scopeId","data-v-72a2b91d"]]);export{St as default};
@@ -1 +0,0 @@
1
- .page-title[data-v-aa7b2ea6]{margin:0;font-size:22px;color:var(--text-primary)}.page-sub[data-v-aa7b2ea6]{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.mtc-tabs[data-v-aa7b2ea6] .ant-tabs-tab{font-size:13px}.raw-pre[data-v-aa7b2ea6]{margin:0;padding:8px 12px;background:var(--bg-hover);border-radius:4px;font-family:monospace;font-size:11px;line-height:1.5;max-height:320px;overflow:auto}
@@ -1 +0,0 @@
1
- import{r as g,o as le,M as x,R as b,P as s,u as a,c as t,N as e,K as u,L as o,O as y,Q as d,Z as se,a6 as oe,F as re,S as m,a1 as U,$ as ne,f as ie}from"./vendor-B6ToihkA.js";import{_ as ue,a as ce,c as S}from"./index-CyqU4Tck.js";import{u as de}from"./ws-D_5-FRIb.js";import{a as $,b as J,f as me,c as fe,d as R,p as pe}from"./mtc-parser-pGMSt10g.js";import{R as ve,f as _e,e as be,u as Q,aT as ye,aw as ge,N as he,ah as ke,x as xe}from"./icons-DvZE-RKs.js";import"./community-parser-CO25nZFt.js";const we={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Se={class:"page-title"},ze={class:"page-sub"},Ce={style:{"font-family":"monospace"}},Le={style:{"font-family":"monospace"}},Ie={style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},Fe={key:1,style:{color:"var(--text-muted)"}},Pe={key:0,style:{"font-family":"monospace","font-size":"11px","word-break":"break-all"}},qe={key:1,style:{color:"var(--text-muted)"}},He={key:1,style:{"font-family":"monospace","font-size":"11px"}},Me=["title"],Oe={style:{"font-family":"monospace"}},Ae={style:{"font-family":"monospace","font-size":"12px"}},Be={style:{"font-family":"monospace","font-size":"12px"}},Ne={class:"raw-pre"},Re={__name:"Mtc",setup(De){const{t:l}=ce(),M=de(),D=g("status"),F=g(!1),r=g($("")),P=g(""),O=g(!1),f=g(J("")),z=g(""),C=g(""),A=g(!1),n=g(null),W=ie(()=>[{title:l("mtc.historyColumns.seq"),key:"seq",dataIndex:"seq",width:"90px"},{title:l("mtc.historyColumns.namespace"),key:"namespace",dataIndex:"namespace"},{title:l("mtc.historyColumns.treeSize"),key:"treeSize",dataIndex:"treeSize",width:"100px"},{title:l("mtc.historyColumns.treeHeadId"),key:"treeHeadId",dataIndex:"treeHeadId",width:"180px"},{title:l("mtc.historyColumns.publishedAt"),key:"publishedAt",dataIndex:"publishedAt",width:"140px"}]);function Z(i,c){return i?i.length<=c?i:i.slice(0,c)+"…":""}async function j(){F.value=!0;try{const{output:i}=await M.execute("audit mtc status --json",8e3);r.value=$(i)}catch(i){S.error(l("mtc.messages.loadStatusFailed",{err:i?.message||i}))}finally{F.value=!1}}async function G(){if(!P.value.trim()){S.warning(l("mtc.messages.stateFileRequired"));return}O.value=!0;try{const i=P.value.trim().replace(/"/g,'\\"'),{output:c}=await M.execute(`mtc publish-status "${i}" --json`,8e3);f.value=J(c)}catch(i){S.error(l("mtc.messages.loadPublishFailed",{err:i?.message||i}))}finally{O.value=!1}}async function T(){if(!z.value.trim()||!C.value.trim()){S.warning(l("mtc.messages.verifyPathsRequired"));return}A.value=!0,n.value=null;try{const i=z.value.trim().replace(/"/g,'\\"'),c=C.value.trim().replace(/"/g,'\\"'),{output:L}=await M.execute(`mtc verify "${i}" --landmark "${c}" --json`,12e3);n.value=pe(L),n.value.raw||S.error(l("mtc.messages.verifyNoJson"))}catch(i){S.error(l("mtc.messages.verifyFailed",{err:i?.message||i}))}finally{A.value=!1}}return le(()=>{j()}),(i,c)=>{const L=u("a-button"),X=u("a-space"),h=u("a-statistic"),p=u("a-card"),k=u("a-col"),w=u("a-tag"),V=u("a-row"),v=u("a-descriptions-item"),E=u("a-descriptions"),q=u("a-alert"),B=u("a-tab-pane"),N=u("a-input"),I=u("a-form-item"),K=u("a-form"),Y=u("a-table"),ee=u("a-collapse-panel"),te=u("a-collapse"),ae=u("a-tabs");return o(),x("div",null,[b("div",we,[b("div",null,[b("h2",Se,s(a(l)("mtc.title")),1),b("p",ze,s(a(l)("mtc.subtitle")),1)]),t(X,null,{default:e(()=>[t(L,{loading:F.value,onClick:j},{icon:e(()=>[t(a(ve))]),default:e(()=>[y(" "+s(a(l)("mtc.refresh")),1)]),_:1},8,["loading"])]),_:1})]),t(ae,{activeKey:D.value,"onUpdate:activeKey":c[3]||(c[3]=_=>D.value=_),class:"mtc-tabs"},{default:e(()=>[t(B,{key:"status",tab:a(l)("mtc.tabs.status")},{default:e(()=>[t(V,{gutter:[16,16],style:{"margin-bottom":"16px"}},{default:e(()=>[t(k,{xs:24,sm:12,lg:6},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.status.enabledLabel"),value:r.value.config.enabled?a(l)("mtc.status.enabled"):a(l)("mtc.status.disabled"),"value-style":{color:r.value.config.enabled?"#52c41a":"#888",fontSize:"20px"}},{prefix:e(()=>[(o(),d(se(r.value.config.enabled?a(_e):a(be))))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(k,{xs:24,sm:12,lg:6},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.status.intervalLabel"),value:a(me)(r.value.config.batch_interval_seconds),"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:e(()=>[t(a(Q))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(k,{xs:24,sm:12,lg:6},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.status.stagingLabel"),value:r.value.staging.count,"value-style":{color:r.value.staging.count>0?"#faad14":"#888",fontSize:"20px"}},oe({prefix:e(()=>[t(a(ye))]),_:2},[r.value.staging.malformed>0?{name:"suffix",fn:e(()=>[t(w,{color:"red",style:{"margin-left":"8px"}},{default:e(()=>[y(s(a(l)("mtc.status.stagingMalformed",{count:r.value.staging.malformed})),1)]),_:1})]),key:"0"}:void 0]),1032,["title","value","value-style"])]),_:1})]),_:1}),t(k,{xs:24,sm:12,lg:6},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.status.totalBatches"),value:r.value.batches.count,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:e(()=>[t(a(ge))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(p,{title:a(l)("mtc.status.configCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:e(()=>[t(E,{column:{xs:1,sm:2},size:"small"},{default:e(()=>[t(v,{label:"namespace"},{default:e(()=>[b("span",Ce,s(r.value.config.namespace_prefix||"—"),1)]),_:1}),t(v,{label:"issuer"},{default:e(()=>[b("span",Le,s(r.value.config.issuer||"—"),1)]),_:1}),t(v,{label:"oldest queued"},{default:e(()=>[y(s(a(fe)(r.value.staging.oldest_queued_at)),1)]),_:1}),t(v,{label:"last batch"},{default:e(()=>[r.value.batches.last_batch_id?(o(),x(re,{key:0},[t(w,{color:"cyan",style:{"font-family":"monospace"}},{default:e(()=>[y("#"+s(r.value.batches.last_batch_id),1)]),_:1}),b("span",Ie,s(a(l)("mtc.status.lastBatchSize",{size:r.value.batches.last_tree_size,time:a(R)(r.value.batches.last_closed_at)})),1)],64)):(o(),x("span",Fe,s(a(l)("mtc.status.noBatches")),1))]),_:1}),t(v,{label:"last tree_head_id",span:2},{default:e(()=>[r.value.batches.last_tree_head_id?(o(),x("span",Pe,s(r.value.batches.last_tree_head_id),1)):(o(),x("span",qe,"—"))]),_:1})]),_:1})]),_:1},8,["title"]),!r.value.ok&&!F.value?(o(),d(q,{key:0,type:"info","show-icon":"",message:a(l)("mtc.status.loadFailMessage"),description:a(l)("mtc.status.loadFailDescription")},null,8,["message","description"])):r.value.config.enabled?m("",!0):(o(),d(q,{key:1,type:"info","show-icon":"",message:a(l)("mtc.status.notEnabledMessage"),description:a(l)("mtc.status.notEnabledDescription")},null,8,["message","description"]))]),_:1},8,["tab"]),t(B,{key:"publisher",tab:a(l)("mtc.tabs.publisher")},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:e(()=>[t(K,{layout:"inline",onSubmit:U(G,["prevent"])},{default:e(()=>[t(I,{label:a(l)("mtc.publisher.stateFileLabel")},{default:e(()=>[t(N,{value:P.value,"onUpdate:value":c[0]||(c[0]=_=>P.value=_),placeholder:a(l)("mtc.publisher.stateFilePlaceholder"),style:{"min-width":"360px"},"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,null,{default:e(()=>[t(L,{loading:O.value,type:"primary","html-type":"submit"},{default:e(()=>[y(s(a(l)("mtc.publisher.queryButton")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),f.value.ok&&!f.value.exists?(o(),d(q,{key:0,type:"info","show-icon":"",message:a(l)("mtc.publisher.missingMessage"),description:a(l)("mtc.publisher.missingDescription",{path:f.value.stateFile}),style:{"margin-bottom":"16px"}},null,8,["message","description"])):m("",!0),f.value.exists?(o(),d(V,{key:1,gutter:[16,16],style:{"margin-bottom":"16px"}},{default:e(()=>[t(k,{xs:24,sm:12,lg:8},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.publisher.lastSeq"),value:f.value.lastSeq,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:e(()=>[t(a(he))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(k,{xs:24,sm:12,lg:8},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.publisher.historyEntries"),value:f.value.historyCount,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:e(()=>[t(a(ke))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(k,{xs:24,sm:12,lg:8},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:e(()=>[t(h,{title:a(l)("mtc.publisher.lastPublished"),value:a(R)(f.value.lastPublishedAt),"value-style":{color:"#52c41a",fontSize:"16px"}},{prefix:e(()=>[t(a(Q))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1})):m("",!0),f.value.exists&&f.value.history.length>0?(o(),d(Y,{key:2,"data-source":f.value.history,columns:W.value,pagination:{pageSize:10},size:"small","row-key":"key"},{bodyCell:e(({column:_,record:H})=>[_.key==="seq"?(o(),d(w,{key:0,color:"cyan",style:{"font-family":"monospace"}},{default:e(()=>[y("#"+s(H.seq),1)]),_:2},1024)):_.key==="treeHeadId"?(o(),x("span",He,s(Z(H.treeHeadId,22)),1)):_.key==="publishedAt"?(o(),x("span",{key:2,title:H.publishedAt},s(a(R)(H.publishedAt)),9,Me)):m("",!0)]),_:1},8,["data-source","columns"])):m("",!0)]),_:1},8,["tab"]),t(B,{key:"verify",tab:a(l)("mtc.tabs.verify")},{default:e(()=>[t(p,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{default:e(()=>[t(q,{type:"info","show-icon":"",message:a(l)("mtc.verify.infoMessage"),description:a(l)("mtc.verify.infoDescription"),style:{"margin-bottom":"16px"}},null,8,["message","description"]),t(K,{layout:"vertical",onSubmit:U(T,["prevent"])},{default:e(()=>[t(I,{label:a(l)("mtc.verify.envelopeLabel")},{default:e(()=>[t(N,{value:z.value,"onUpdate:value":c[1]||(c[1]=_=>z.value=_),placeholder:a(l)("mtc.verify.envelopePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:a(l)("mtc.verify.landmarkLabel")},{default:e(()=>[t(N,{value:C.value,"onUpdate:value":c[2]||(c[2]=_=>C.value=_),placeholder:a(l)("mtc.verify.landmarkPlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,null,{default:e(()=>[t(L,{loading:A.value,type:"primary",disabled:!z.value||!C.value,onClick:T},{icon:e(()=>[t(a(xe))]),default:e(()=>[y(" "+s(a(l)("mtc.verify.runButton")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1}),n.value?(o(),d(p,{key:0,title:n.value.ok?a(l)("mtc.verify.passTitle"):a(l)("mtc.verify.failTitle"),size:"small",style:ne({background:"var(--bg-card)",borderColor:n.value.ok?"#52c41a":"#ff4d4f"})},{default:e(()=>[t(E,{column:1,size:"small",bordered:""},{default:e(()=>[t(v,{label:a(l)("mtc.verify.resultLabel")},{default:e(()=>[t(w,{color:n.value.ok?"green":"red"},{default:e(()=>[y(s(n.value.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1},8,["label"]),n.value.ok?m("",!0):(o(),d(v,{key:0,label:a(l)("mtc.verify.errorCodeLabel")},{default:e(()=>[b("span",Oe,s(n.value.code||a(l)("mtc.verify.errorCodeNone")),1),n.value.recoverable?(o(),d(w,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:e(()=>[y(s(a(l)("mtc.verify.recoverable")),1)]),_:1})):m("",!0)]),_:1},8,["label"])),n.value.leaf?(o(),d(v,{key:1,label:a(l)("mtc.verify.subjectLabel")},{default:e(()=>[b("span",Ae,s(n.value.leaf.subject||"—"),1)]),_:1},8,["label"])):m("",!0),n.value.leaf?(o(),d(v,{key:2,label:a(l)("mtc.verify.kindLabel")},{default:e(()=>[t(w,null,{default:e(()=>[y(s(n.value.leaf.kind||"—"),1)]),_:1})]),_:1},8,["label"])):m("",!0),n.value.treeHead?(o(),d(v,{key:3,label:a(l)("mtc.verify.treeSizeLabel")},{default:e(()=>[y(s(n.value.treeHead.tree_size),1)]),_:1},8,["label"])):m("",!0),n.value.treeHead?(o(),d(v,{key:4,label:a(l)("mtc.verify.issuerLabel")},{default:e(()=>[b("span",Be,s(n.value.treeHead.issuer||"—"),1)]),_:1},8,["label"])):m("",!0)]),_:1}),n.value.raw?(o(),d(te,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:e(()=>[t(ee,{key:"raw",header:a(l)("mtc.verify.rawHeader")},{default:e(()=>[b("pre",Ne,s(JSON.stringify(n.value.raw,null,2)),1)]),_:1},8,["header"])]),_:1})):m("",!0)]),_:1},8,["title","style"])):m("",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"])])}}},$e=ue(Re,[["__scopeId","data-v-aa7b2ea6"]]);export{$e as default};
@@ -1 +0,0 @@
1
- import{_ as nt,a as at,c as v}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 rt,al as st,B as it,o as _e,k as be,aM as ut,aA as ct,f as pt}from"./icons-DvZE-RKs.js";import{o as dt,M as m,R as b,P as i,c as a,N as t,Q as h,S as _,K as d,r as x,L as u,O as p,u as y,F as C,_ as j,$ as ft,f as Y,a as ke}from"./vendor-B6ToihkA.js";function P(s){const r=lt(s);if(!r)return null;try{return JSON.parse(r)}catch{}const l=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}const oe=Object.freeze(["create_component","add_feature","fix_bug","refactor","add_api","add_test","update_style","configure","general"]),Le=Object.freeze(["draft","complete","refined"]),xe=Object.freeze(["naming","architecture","testing","style","imports","components"]);function D(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function q(s,r){if(s==null)return r;if(typeof s!="string")return s;try{return JSON.parse(s)}catch{return s}}function mt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)?null:{intent:String(r.intent||"general"),confidence:D(r.confidence,0)}}function gt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.entities)?r.entities.map(g=>g&&typeof g=="object"?{type:String(g.type||""),value:String(g.value||"")}:null).filter(Boolean):[];return{entities:l,count:D(r.count,l.length)}}function yt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.detected)?r.detected.filter(g=>typeof g=="string"):[];return{detected:l,primary:r.primary?String(r.primary):l[0]||null}}function vt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,inputText:s.inputText??s.input_text??"",intent:String(s.intent||"general"),entities:q(s.entities,[]),techStack:q(s.techStack??s.tech_stack,[]),spec:q(s.spec,null),completenessScore:D(s.completenessScore??s.completeness_score,0),ambiguities:q(s.ambiguities,[]),status:String(s.status||"draft").toLowerCase(),createdAt:s.createdAt??s.created_at??null,updatedAt:s.updatedAt??s.updated_at??null,_idx:r}:null}function _t(s){const r=P(s);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function bt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)||r.translationId===void 0?null:{translated:!!r.translated,translationId:r.translationId,intent:String(r.intent||""),completeness:D(r.completeness,0)}}function kt(s){if(!s)return{noDb:!1,error:""};const r=/No ChainlessChain project database/i.test(s)||/Cannot read properties of undefined \(reading ['"]prepare['"]\)/i.test(s)||/TypeError.*prepare/i.test(s),l=s.match(/Error:\s*(No ChainlessChain project database[^\r\n]*)/i);if(l)return{noDb:!0,error:l[1].trim()};const g=s.match(/TypeError:\s*(.+?)(?:\r?\n|$)/i);return{noDb:r,error:g?g[1].trim():""}}function xt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,category:String(s.category||""),pattern:String(s.pattern||""),examples:q(s.examples,[]),confidence:D(s.confidence,0),sourceFiles:q(s.sourceFiles??s.source_files,[]),createdAt:s.createdAt??s.created_at??null,_idx:r}:null}function ht(s){const r=P(s);return Array.isArray(r)?r.map(xt).filter(Boolean):[]}const $t={translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}};function Ct(s){const r=JSON.parse(JSON.stringify($t));for(const g of oe)r.translations.byIntent[g]=0;for(const g of xe)r.conventions.byCategory[g]=0;const l=P(s);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.translations&&typeof l.translations=="object"){if(r.translations.total=D(l.translations.total,0),r.translations.avgCompleteness=D(l.translations.avgCompleteness??l.translations.avg_completeness,0),l.translations.byIntent&&typeof l.translations.byIntent=="object")for(const[g,S]of Object.entries(l.translations.byIntent))typeof S=="number"&&Number.isFinite(S)&&(r.translations.byIntent[g]=S);if(l.translations.byStatus&&typeof l.translations.byStatus=="object")for(const g of Object.keys(r.translations.byStatus))r.translations.byStatus[g]=D(l.translations.byStatus[g],0)}if(l.conventions&&typeof l.conventions=="object"&&(r.conventions.total=D(l.conventions.total,0),l.conventions.byCategory&&typeof l.conventions.byCategory=="object"))for(const[g,S]of Object.entries(l.conventions.byCategory))typeof S=="number"&&Number.isFinite(S)&&(r.conventions.byCategory[g]=S);return r}function ae(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Tt={class:"filter-bar"},jt={key:0,style:{color:"var(--text-primary)"}},Ft={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},wt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Nt={class:"filter-bar"},Ot={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Lt={key:0,style:{color:"var(--text-muted)"}},Dt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Rt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={key:0,style:{"margin-bottom":"12px"}},It={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Ut={style:{color:"var(--text-secondary)","font-size":"12px"}},Pt={key:1,style:{"margin-bottom":"12px"}},Mt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Jt={key:0,style:{color:"var(--text-muted)"}},Bt={key:2},qt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Kt={key:0,style:{color:"var(--text-muted)"}},Vt={key:0,style:{"padding-top":"8px"}},Wt={style:{"white-space":"pre-wrap",color:"var(--text-primary)"}},Gt={style:{"margin-top":"16px"}},Qt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Yt={class:"json-block"},Ht={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Xt={class:"json-block"},Zt={key:0},en={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},tn={class:"json-block"},nn={__name:"NLProgramming",setup(s){const r=ot(),{t:l}=at(),g=x(!1),S=x(!1),le=x(!1),re=x(!1),he=x([]),se=x([]),F=x({translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}}),ie=x("translations"),K=x(""),V=x(""),H=x(""),ue=x(!1),X=x(!1),Z=x(!1),ce=x(!1),pe=ke({text:""}),w=ke({text:"",intent:null}),k=ke({category:"naming",pattern:"",examples:"",confidence:.8}),N=x(null),O=x(null),T=x(null),ee=x({noDb:!1,error:""}),$=x(null),De=Y(()=>[{title:l("nlprog.translationCols.inputText"),key:"inputText"},{title:l("nlprog.translationCols.intent"),key:"intent",width:"140px"},{title:l("nlprog.translationCols.completeness"),key:"completeness",width:"160px"},{title:l("nlprog.translationCols.status"),key:"status",width:"100px"},{title:l("nlprog.translationCols.updatedAt"),key:"updatedAt",width:"160px"},{title:l("nlprog.translationCols.action"),key:"action",width:"210px"}]),Re=Y(()=>[{title:l("nlprog.conventionCols.category"),key:"category",width:"120px"},{title:l("nlprog.conventionCols.pattern"),key:"pattern"},{title:l("nlprog.conventionCols.examples"),key:"examples",width:"220px"},{title:l("nlprog.conventionCols.confidence"),key:"confidence",width:"90px"},{title:l("nlprog.conventionCols.createdAt"),key:"createdAt",width:"160px"},{title:l("nlprog.conventionCols.action"),key:"action",width:"90px"}]),Ee=Y(()=>F.value.translations.avgCompleteness*100),Ie=Y(()=>{let e=he.value;return K.value&&(e=e.filter(n=>n.intent===K.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ue=Y(()=>H.value?se.value.filter(e=>e.category===H.value):se.value);function M(e){const n=`nlprog.intentLabels.${e}`,c=l(n);return c===n?e:c}function te(e){return{create_component:"blue",add_feature:"green",fix_bug:"red",refactor:"purple",add_api:"cyan",add_test:"orange",update_style:"magenta",configure:"gold",general:"default"}[e]||"default"}function W(e){const n=`nlprog.statusLabels.${e}`,c=l(n);return c===n?e:c}function $e(e){return{draft:"default",complete:"green",refined:"cyan"}[e]||"default"}function de(e){const n=`nlprog.categoryLabels.${e}`,c=l(n);return c===n?e:c}function Pe(e){return{naming:"blue",architecture:"purple",testing:"cyan",style:"magenta",imports:"orange",components:"green"}[e]||"default"}function fe(e){return e>=.7?"#52c41a":e>=.4?"#faad14":"#ff4d4f"}function Me(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function me(e){if(e==null)return"—";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Je({key:e}){e==="analyze"?(N.value=null,O.value=null,T.value=null,ue.value=!0):e==="translate"?(ee.value={noDb:!1,error:""},X.value=!0):e==="convention"&&(Z.value=!0)}async function R(){g.value=!0;try{const[e,n,c]=await Promise.all([r.execute("nlprog list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog conventions --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog stats --json",8e3).catch(()=>({output:""}))]);he.value=_t(e.output),se.value=ht(n.output),F.value=Ct(c.output)}catch(e){v.error(l("nlprog.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function Be(){const e=pe.text.trim();if(!e){v.warning(l("nlprog.msg.textEmpty"));return}S.value=!0,N.value=null,O.value=null,T.value=null;try{const n=e.replace(/"/g,'\\"'),[c,L,E]=await Promise.all([r.execute(`nlprog classify "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog extract "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog detect-stack "${n}" --json`,8e3).catch(()=>({output:""}))]);N.value=mt(c.output),O.value=gt(L.output),T.value=yt(E.output),!N.value&&!O.value&&!T.value&&v.error(l("nlprog.msg.analyzeFailed"))}catch(n){v.error(l("nlprog.msg.analyzeFailed")+": "+(n?.message||n))}finally{S.value=!1}}async function qe(){const e=w.text.trim();if(!e){v.warning(l("nlprog.msg.translateTextEmpty"));return}le.value=!0,ee.value={noDb:!1,error:""};try{const n=[`nlprog translate "${e.replace(/"/g,'\\"')}"`];w.intent&&n.push(`--intent ${w.intent}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),12e3),L=kt(c);if(L.noDb){ee.value=L;return}const E=bt(c);if(!E){v.error(l("nlprog.msg.translateFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.translateSuccess",{pct:(E.completeness*100).toFixed(0)})),X.value=!1,Ce(),await R()}catch(n){v.error(l("nlprog.msg.translateFailed")+": "+(n?.message||n))}finally{le.value=!1}}async function Ke(e,n){if(n!==e.status)try{const{output:c}=await r.execute(`nlprog status ${e.id} ${n} --json`,8e3);if(/error|invalid/i.test(c)&&!/"updated"/.test(c)){v.error(l("nlprog.msg.transitionFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.transitionSuccess",{label:W(n)})),await R()}catch(c){v.error(l("nlprog.msg.transitionFailed")+": "+(c?.message||c))}}async function Ve(e){try{const{output:n}=await r.execute(`nlprog remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function We(e){$.value=e,ce.value=!0}async function Ge(){const e=k.pattern.trim();if(!e){v.warning(l("nlprog.msg.patternEmpty"));return}if(k.examples.trim())try{JSON.parse(k.examples)}catch{v.warning(l("nlprog.msg.examplesBadJson"));return}re.value=!0;try{const n=[`nlprog convention-add --category ${k.category}`];n.push(`--pattern "${e.replace(/"/g,'\\"')}"`),k.examples.trim()&&n.push(`--examples '${k.examples.trim().replace(/'/g,"'\\''")}'`),k.confidence!=null&&n.push(`--confidence ${k.confidence}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),1e4);if(/error|invalid|失败/i.test(c)&&!/"added"/.test(c)){v.error(l("nlprog.msg.addFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.addSuccess")),Z.value=!1,Se(),ie.value="conventions",await R()}catch(n){v.error(l("nlprog.msg.addFailed")+": "+(n?.message||n))}finally{re.value=!1}}async function Qe(e){try{const{output:n}=await r.execute(`nlprog convention-remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function Ce(){w.text="",w.intent=null}function Se(){k.category="naming",k.pattern="",k.examples="",k.confidence=.8}return dt(R),(e,n)=>{const c=d("a-button"),L=d("a-menu-item"),E=d("a-menu"),ze=d("a-dropdown"),Ae=d("a-space"),G=d("a-statistic"),I=d("a-card"),Q=d("a-col"),Ye=d("a-row"),z=d("a-tag"),J=d("a-radio-button"),ge=d("a-radio-group"),Te=d("a-progress"),je=d("a-popconfirm"),Fe=d("a-table"),we=d("a-tab-pane"),He=d("a-tabs"),ye=d("a-textarea"),U=d("a-form-item"),ve=d("a-form"),ne=d("a-modal"),Ne=d("a-select-option"),Oe=d("a-select"),Xe=d("a-alert"),Ze=d("a-input"),et=d("a-input-number"),B=d("a-descriptions-item"),tt=d("a-descriptions");return u(),m("div",null,[b("div",St,[b("div",null,[b("h2",zt,i(e.$t("nlprog.title")),1),b("p",At,i(e.$t("nlprog.subtitle")),1)]),a(Ae,null,{default:t(()=>[a(c,{loading:g.value,onClick:R},{icon:t(()=>[a(y(rt))]),default:t(()=>[p(" "+i(e.$t("nlprog.refresh")),1)]),_:1},8,["loading"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:Je},{default:t(()=>[a(L,{key:"analyze"},{default:t(()=>[a(y(it)),p(" "+i(e.$t("nlprog.actions.analyze")),1)]),_:1}),a(L,{key:"translate"},{default:t(()=>[a(y(_e)),p(" "+i(e.$t("nlprog.actions.translate")),1)]),_:1}),a(L,{key:"convention"},{default:t(()=>[a(y(be)),p(" "+i(e.$t("nlprog.actions.convention")),1)]),_:1})]),_:1})]),default:t(()=>[a(c,{type:"primary"},{icon:t(()=>[a(y(st))]),default:t(()=>[p(" "+i(e.$t("nlprog.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.translations"),value:F.value.translations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(y(_e))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.avgCompleteness"),value:Ee.value,precision:1,suffix:"%","value-style":{color:F.value.translations.avgCompleteness>=.7?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.drafts"),value:F.value.translations.byStatus.draft,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.completed"),value:F.value.translations.byStatus.complete,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(y(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:24,sm:8,lg:4},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.conventions"),value:F.value.conventions.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(y(be))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),F.value.translations.total>0?(u(),h(I,{key:0,title:e.$t("nlprog.intentCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(Ae,{size:[12,8],wrap:""},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(z,{key:o,color:te(o)},{default:t(()=>[p(i(M(o))+": "+i(F.value.translations.byIntent[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),a(He,{activeKey:ie.value,"onUpdate:activeKey":n[3]||(n[3]=o=>ie.value=o),class:"nlprog-tabs"},{default:t(()=>[a(we,{key:"translations",tab:e.$t("nlprog.tabs.translations")},{default:t(()=>[b("div",Tt,[a(ge,{value:K.value,"onUpdate:value":n[0]||(n[0]=o=>K.value=o),size:"small"},{default:t(()=>[a(J,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allIntents")),1)]),_:1}),(u(!0),m(C,null,j(y(oe),o=>(u(),h(J,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(ge,{value:V.value,"onUpdate:value":n[1]||(n[1]=o=>V.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(J,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allStatuses")),1)]),_:1}),(u(!0),m(C,null,j(y(Le),o=>(u(),h(J,{key:o,value:o},{default:t(()=>[p(i(W(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:De.value,"data-source":Ie.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="inputText"?(u(),m("span",jt,i(Me(f.inputText,80)),1)):_("",!0),o.key==="intent"?(u(),h(z,{key:1,color:te(f.intent),style:{"font-size":"11px"}},{default:t(()=>[p(i(M(f.intent)),1)]),_:2},1032,["color"])):_("",!0),o.key==="completeness"?(u(),h(Te,{key:2,percent:Math.round(f.completenessScore*100),size:"small","stroke-color":fe(f.completenessScore),format:()=>(f.completenessScore*100).toFixed(0)+"%"},null,8,["percent","stroke-color","format"])):_("",!0),o.key==="status"?(u(),h(z,{key:3,color:$e(f.status)},{default:t(()=>[p(i(W(f.status)),1)]),_:2},1032,["color"])):_("",!0),o.key==="updatedAt"?(u(),m("span",Ft,i(y(ae)(f.updatedAt)),1)):_("",!0),o.key==="action"?(u(),m(C,{key:5},[a(c,{size:"small",type:"link",onClick:A=>We(f)},{default:t(()=>[p(i(e.$t("nlprog.table.actionDetails")),1)]),_:1},8,["onClick"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:A=>Ke(f,A.key)},{default:t(()=>[(u(!0),m(C,null,j(y(Le),A=>(u(),h(L,{key:A,disabled:A===f.status},{default:t(()=>[p(i(W(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(c,{size:"small",type:"link"},{default:t(()=>[p(i(e.$t("nlprog.table.actionStatusDropdown")),1)]),_:1})]),_:2},1024),a(je,{title:e.$t("nlprog.deleteTranslationConfirm.title"),"ok-text":e.$t("nlprog.deleteTranslationConfirm.ok"),"cancel-text":e.$t("nlprog.deleteTranslationConfirm.cancel"),onConfirm:A=>Ve(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteTranslationConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):_("",!0)]),emptyText:t(()=>[b("div",wt,[a(y(_e),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(K.value||V.value?e.$t("nlprog.table.emptyTranslationsFiltered"):e.$t("nlprog.table.emptyTranslations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(we,{key:"conventions",tab:e.$t("nlprog.tabs.conventions")},{default:t(()=>[b("div",Nt,[a(ge,{value:H.value,"onUpdate:value":n[2]||(n[2]=o=>H.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(J,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allCategories")),1)]),_:1}),(u(!0),m(C,null,j(y(xe),o=>(u(),h(J,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:Re.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="category"?(u(),h(z,{key:0,color:Pe(f.category)},{default:t(()=>[p(i(de(f.category)),1)]),_:2},1032,["color"])):_("",!0),o.key==="pattern"?(u(),m("span",Ot,i(f.pattern),1)):_("",!0),o.key==="examples"?(u(),m(C,{key:2},[(u(!0),m(C,null,j(Array.isArray(f.examples)?f.examples.slice(0,3):[],A=>(u(),h(z,{key:A,color:"default",style:{"font-size":"10px","font-family":"monospace",margin:"1px"}},{default:t(()=>[p(i(A),1)]),_:2},1024))),128)),!Array.isArray(f.examples)||f.examples.length===0?(u(),m("span",Lt,"—")):_("",!0)],64)):_("",!0),o.key==="confidence"?(u(),m("span",{key:3,style:ft({color:fe(f.confidence),fontWeight:500})},i((f.confidence*100).toFixed(0))+"% ",5)):_("",!0),o.key==="createdAt"?(u(),m("span",Dt,i(y(ae)(f.createdAt)),1)):_("",!0),o.key==="action"?(u(),h(je,{key:5,title:e.$t("nlprog.deleteConventionConfirm.title"),"ok-text":e.$t("nlprog.deleteConventionConfirm.ok"),"cancel-text":e.$t("nlprog.deleteConventionConfirm.cancel"),onConfirm:A=>Qe(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteConventionConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):_("",!0)]),emptyText:t(()=>[b("div",Rt,[a(y(be),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(e.$t("nlprog.table.emptyConventions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ne,{open:ue.value,"onUpdate:open":n[5]||(n[5]=o=>ue.value=o),title:e.$t("nlprog.analyze_modal.title"),"confirm-loading":S.value,width:600,"ok-text":e.$t("nlprog.analyze_modal.ok"),"cancel-text":e.$t("nlprog.analyze_modal.cancel"),onOk:Be},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.analyze_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:pe.text,"onUpdate:value":n[4]||(n[4]=o=>pe.text=o),placeholder:e.$t("nlprog.analyze_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),N.value||O.value||T.value?(u(),h(I,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:t(()=>[N.value?(u(),m("div",Et,[b("div",It,i(e.$t("nlprog.analyze_modal.intent")),1),a(z,{color:te(N.value.intent),style:{"margin-right":"6px"}},{default:t(()=>[p(i(M(N.value.intent)),1)]),_:1},8,["color"]),b("span",Ut,i(e.$t("nlprog.analyze_modal.confidenceLine",{pct:(N.value.confidence*100).toFixed(0)})),1)])):_("",!0),O.value?(u(),m("div",Pt,[b("div",Mt,i(e.$t("nlprog.analyze_modal.entities",{n:O.value.count})),1),O.value.entities.length?_("",!0):(u(),m("span",Jt,i(e.$t("nlprog.analyze_modal.notDetected")),1)),(u(!0),m(C,null,j(O.value.entities,(o,f)=>(u(),h(z,{key:f,color:"purple",style:{"font-family":"monospace","font-size":"11px",margin:"1px"}},{default:t(()=>[p(" ["+i(o.type)+"] "+i(o.value),1)]),_:2},1024))),128))])):_("",!0),T.value?(u(),m("div",Bt,[b("div",qt,i(e.$t("nlprog.analyze_modal.stack")),1),T.value.detected.length?(u(),m(C,{key:1},[a(z,{color:"cyan",style:{"font-family":"monospace"}},{default:t(()=>[p(i(e.$t("nlprog.analyze_modal.stackPrimary",{name:T.value.primary})),1)]),_:1}),(u(!0),m(C,null,j(T.value.detected.filter(o=>o!==T.value.primary),o=>(u(),h(z,{key:o,color:"default",style:{"font-family":"monospace","font-size":"11px"}},{default:t(()=>[p(i(o),1)]),_:2},1024))),128))],64)):(u(),m("span",Kt,i(e.$t("nlprog.analyze_modal.notDetected")),1))])):_("",!0)]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:X.value,"onUpdate:open":n[8]||(n[8]=o=>X.value=o),title:e.$t("nlprog.translate_modal.title"),"confirm-loading":le.value,width:540,"ok-text":e.$t("nlprog.translate_modal.ok"),"cancel-text":e.$t("nlprog.translate_modal.cancel"),onOk:qe,onCancel:Ce},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.translate_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:w.text,"onUpdate:value":n[6]||(n[6]=o=>w.text=o),placeholder:e.$t("nlprog.translate_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.translate_modal.intentLabel")},{default:t(()=>[a(Oe,{value:w.intent,"onUpdate:value":n[7]||(n[7]=o=>w.intent=o),"allow-clear":"",placeholder:e.$t("nlprog.translate_modal.intentPlaceholder")},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),ee.value.noDb?(u(),h(Xe,{key:0,type:"warning","show-icon":"",message:e.$t("nlprog.translate_modal.noDbMessage"),description:e.$t("nlprog.translate_modal.noDbDescription"),style:{"margin-top":"12px"}},null,8,["message","description"])):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:Z.value,"onUpdate:open":n[13]||(n[13]=o=>Z.value=o),title:e.$t("nlprog.convention_modal.title"),"confirm-loading":re.value,width:540,"ok-text":e.$t("nlprog.convention_modal.ok"),"cancel-text":e.$t("nlprog.convention_modal.cancel"),onOk:Ge,onCancel:Se},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.convention_modal.categoryLabel"),required:""},{default:t(()=>[a(Oe,{value:k.category,"onUpdate:value":n[9]||(n[9]=o=>k.category=o)},{default:t(()=>[(u(!0),m(C,null,j(y(xe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.patternLabel"),required:""},{default:t(()=>[a(Ze,{value:k.pattern,"onUpdate:value":n[10]||(n[10]=o=>k.pattern=o),placeholder:e.$t("nlprog.convention_modal.patternPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.examplesLabel")},{default:t(()=>[a(ye,{value:k.examples,"onUpdate:value":n[11]||(n[11]=o=>k.examples=o),placeholder:e.$t("nlprog.convention_modal.examplesPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.confidenceLabel")},{default:t(()=>[a(et,{value:k.confidence,"onUpdate:value":n[12]||(n[12]=o=>k.confidence=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:ce.value,"onUpdate:open":n[14]||(n[14]=o=>ce.value=o),title:e.$t("nlprog.details.title",{id:$.value?.id?.slice(0,8)||""}),width:720,footer:null},{default:t(()=>[$.value?(u(),m("div",Vt,[a(tt,{column:2,size:"small",bordered:""},{default:t(()=>[a(B,{label:e.$t("nlprog.details.intent")},{default:t(()=>[a(z,{color:te($.value.intent)},{default:t(()=>[p(i(M($.value.intent)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.status")},{default:t(()=>[a(z,{color:$e($.value.status)},{default:t(()=>[p(i(W($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.completeness"),span:2},{default:t(()=>[a(Te,{percent:Math.round($.value.completenessScore*100),"stroke-color":fe($.value.completenessScore),size:"small"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.createdAt")},{default:t(()=>[p(i(y(ae)($.value.createdAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.updatedAt")},{default:t(()=>[p(i(y(ae)($.value.updatedAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.inputText"),span:2},{default:t(()=>[b("span",Wt,i($.value.inputText),1)]),_:1},8,["label"])]),_:1}),b("div",Gt,[b("h4",Qt,i(e.$t("nlprog.details.entities")),1),b("pre",Yt,i(me($.value.entities)),1)]),b("div",null,[b("h4",Ht,i(e.$t("nlprog.details.techStack")),1),b("pre",Xt,i(me($.value.techStack)),1)]),$.value.spec?(u(),m("div",Zt,[b("h4",en,i(e.$t("nlprog.details.spec")),1),b("pre",tn,i(me($.value.spec)),1)])):_("",!0)])):_("",!0)]),_:1},8,["open","title"])])}}},un=nt(nn,[["__scopeId","data-v-55209f60"]]);export{un as default};
@@ -1 +0,0 @@
1
- import{_ as Qe,a as We,c as z}from"./index-CyqU4Tck.js";import{u as Xe}from"./ws-D_5-FRIb.js";import{s as Se}from"./community-parser-CO25nZFt.js";import{R as Ze,al as et,v as ye,aj as tt,a0 as lt,k as at,J as ve,H as V,aE as nt,f as it,L as st,d as ot,u as rt}from"./icons-DvZE-RKs.js";import{o as pt,M as b,R as S,P as p,c as i,N as a,Q as m,S as y,K as v,r as $,L as r,O as f,u as c,F as C,_ as L,Y as ut,f as te,a as ct}from"./vendor-B6ToihkA.js";function H(t){const o=Se(t);if(!o)return null;try{return JSON.parse(o)}catch{}const n=o.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!n)return null;try{return JSON.parse(n[0])}catch{return null}}const Ae=Object.freeze(["pending","running","paused","completed","failed","cancelled"]),dt=Object.freeze(["pending","running","gate-waiting","completed","failed","skipped"]),be=Object.freeze(["requirement","architecture","code-generation","testing","code-review","deploy","monitoring"]),le=Object.freeze(["feature","bugfix","refactor","security-audit"]),ft=Object.freeze(["git-pr","docker","npm-publish","local","staging","custom"]),_e=Object.freeze(["code-review","deploy"]);function N(t,o=0){return typeof t=="number"&&Number.isFinite(t)?t:o}function ke(t){if(!t)return{noDb:!1,error:""};const o=Se(t),n=/No database/i.test(o);return{noDb:n,error:n?"No database":""}}function gt(t,o=0){if(!t||typeof t!="object")return null;const n=t.id||"";return n?{key:n,id:n,pipelineId:String(t.pipelineId||""),stageIndex:N(t.stageIndex,o),name:String(t.name||""),status:String(t.status||"pending").toLowerCase(),gateRequired:!!t.gateRequired,gateApproved:!!t.gateApproved,gateRejectReason:t.gateRejectReason||"",input:t.input??null,output:t.output??null,errorMessage:t.errorMessage||"",startedAt:t.startedAt??null,completedAt:t.completedAt??null,_idx:o}:null}function mt(t,o=0){if(!t||typeof t!="object")return null;const n=t.id||"";if(!n)return null;const g=Array.isArray(t.stages)?t.stages.map(gt).filter(Boolean):[];return{key:n,id:n,name:t.name||"",template:String(t.template||""),config:t.config??null,status:String(t.status||"pending").toLowerCase(),currentStage:N(t.currentStage,0),result:t.result??null,errorMessage:t.errorMessage||"",createdAt:t.createdAt??null,updatedAt:t.updatedAt??null,startedAt:t.startedAt??null,completedAt:t.completedAt??null,stages:g,_idx:o}}function yt(t){const o=H(t);return Array.isArray(o)?o.map(mt).filter(Boolean):[]}function vt(t,o=0){if(!t||typeof t!="object")return null;const n=t.id||"";return n?{key:n,id:n,pipelineId:String(t.pipelineId||""),strategy:String(t.strategy||"").toLowerCase(),config:t.config??null,status:String(t.status||"pending").toLowerCase(),result:t.result??null,errorMessage:t.errorMessage||"",rolledBackAt:t.rolledBackAt??null,rollbackReason:t.rollbackReason||"",createdAt:t.createdAt??null,completedAt:t.completedAt??null,_idx:o}:null}function bt(t){const o=H(t);return Array.isArray(o)?o.map(vt).filter(Boolean):[]}function _t(t,o=0){if(!t||typeof t!="object")return null;const n=t.name||"";return n?{key:n,name:n,description:String(t.description||""),stages:Array.isArray(t.stages)?t.stages.filter(g=>typeof g=="string"):[],gateStages:Array.isArray(t.gateStages)?t.gateStages.filter(g=>typeof g=="string"):[],_idx:o}:null}function kt(t){const o=H(t);return Array.isArray(o)?o.map(_t).filter(Boolean):[]}const St={totalPipelines:0,pipelinesByTemplate:{},pipelinesByStatus:{},totalStages:0,stagesByStatus:{},totalArtifacts:0,totalDeploys:0,deploysByStrategy:{}};function At(t){const o=JSON.parse(JSON.stringify(St));for(const g of le)o.pipelinesByTemplate[g]=0;for(const g of Ae)o.pipelinesByStatus[g]=0;for(const g of dt)o.stagesByStatus[g]=0;for(const g of ft)o.deploysByStrategy[g]=0;const n=H(t);if(!n||typeof n!="object"||Array.isArray(n))return o;if(o.totalPipelines=N(n.totalPipelines,0),o.totalStages=N(n.totalStages,0),o.totalArtifacts=N(n.totalArtifacts,0),o.totalDeploys=N(n.totalDeploys,0),n.pipelinesByTemplate&&typeof n.pipelinesByTemplate=="object")for(const[g,_]of Object.entries(n.pipelinesByTemplate))typeof _=="number"&&Number.isFinite(_)&&(o.pipelinesByTemplate[g]=_);if(n.pipelinesByStatus&&typeof n.pipelinesByStatus=="object")for(const[g,_]of Object.entries(n.pipelinesByStatus))typeof _=="number"&&Number.isFinite(_)&&(o.pipelinesByStatus[g]=_);if(n.stagesByStatus&&typeof n.stagesByStatus=="object")for(const[g,_]of Object.entries(n.stagesByStatus))typeof _=="number"&&Number.isFinite(_)&&(o.stagesByStatus[g]=_);if(n.deploysByStrategy&&typeof n.deploysByStrategy=="object")for(const[g,_]of Object.entries(n.deploysByStrategy))typeof _=="number"&&Number.isFinite(_)&&(o.deploysByStrategy[g]=_);return o}function j(t){if(t==null||t==="")return"—";const o=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(o.getTime())?String(t):o.toLocaleString("zh-CN",{hour12:!1})}const $t={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},xt={class:"page-title"},ht={class:"page-sub"},Ct={class:"stage-flow"},zt={class:"stage-idx"},Bt={class:"filter-bar"},Tt={style:{color:"var(--text-primary)","font-weight":"500"}},Pt={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Ot={key:1,style:{color:"var(--text-muted)"}},Lt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Dt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},jt={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Nt={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},Rt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0 0 10px"}},Ft={class:"tpl-stages"},Jt={key:0,style:{"padding-top":"8px"}},Mt={style:{color:"var(--text-primary)","font-size":"13px",margin:"20px 0 10px"}},It={style:{display:"flex","align-items":"center",gap:"8px","flex-wrap":"wrap"}},Ut={style:{color:"var(--text-primary)","font-weight":"500"}},wt={key:0,style:{color:"#52c41a","margin-left":"4px"}},Gt={key:0,style:{color:"#ff4d4f","font-size":"11px","margin-top":"4px"}},qt={key:1,style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},Kt={key:0},Vt={__name:"Pipeline",setup(t){const o=Xe(),{t:n}=We(),g=$(!1),_=$(!1),ae=$([]),ne=$([]),ie=$([]),T=$({totalPipelines:0,pipelinesByTemplate:{},pipelinesByStatus:{},totalStages:0,stagesByStatus:{},totalArtifacts:0,totalDeploys:0,deploysByStrategy:{}}),Y=$({noDb:!1,error:""}),se=$("pipelines"),R=$(""),E=$(""),I=$(!1),Q=$(!1),k=ct({template:"feature",name:"",configJson:""}),A=$(null),$e=te(()=>[{title:n("pipeline.cols.name"),key:"name"},{title:n("pipeline.cols.template"),key:"template",width:"110px"},{title:n("pipeline.cols.progress"),key:"progress",width:"160px"},{title:n("pipeline.cols.currentStage"),key:"currentStage",width:"140px"},{title:n("pipeline.cols.status"),key:"status",width:"110px"},{title:n("pipeline.cols.createdAt"),key:"createdAt",width:"160px"},{title:n("pipeline.cols.action"),key:"action",width:"260px"}]),xe=te(()=>[{title:n("pipeline.cols.pipeline"),key:"pipeline",width:"180px"},{title:n("pipeline.cols.strategy"),key:"strategy",width:"120px"},{title:n("pipeline.cols.status"),key:"status",width:"110px"},{title:n("pipeline.cols.createdAt"),key:"createdAt"}]),he=te(()=>{let e=ae.value;return R.value&&(e=e.filter(s=>s.template===R.value)),E.value&&(e=e.filter(s=>s.status===E.value)),e});function F(e){const s=`pipeline.templateLabels.${e}`,d=n(s);return d===s?e:d}function W(e){return{feature:"green",bugfix:"red",refactor:"purple","security-audit":"volcano"}[e]||"default"}function U(e){const s=`pipeline.stageLabels.${e}`,d=n(s);return d===s?e:d}function X(e){const s=`pipeline.pipelineStatusLabels.${e}`,d=n(s);return d===s?e:d}function oe(e){return{pending:"default",running:"processing",paused:"orange",completed:"green",failed:"red",cancelled:"default"}[e]||"default"}function Ce(e){const s=`pipeline.stageStatusLabels.${e}`,d=n(s);return d===s?e:d}function re(e){return{pending:"default",running:"processing","gate-waiting":"gold",completed:"green",failed:"red",skipped:"default"}[e]||"default"}function ze(e){const s=`pipeline.deployStatusLabels.${e}`,d=n(s);return d===s?e:d}function Be(e){return{pending:"default",running:"processing",succeeded:"green",failed:"red","rolled-back":"orange"}[e]||"default"}function Te(e){return{"git-pr":"blue",docker:"cyan","npm-publish":"magenta",local:"default",staging:"orange",custom:"purple"}[e]||"default"}function Pe(e){return{pending:"gray",running:"blue","gate-waiting":"gold",completed:"green",failed:"red",skipped:"gray"}[e]||"gray"}function pe(e){if(!e.stages.length)return 0;const s=e.stages.filter(d=>d.status==="completed").length;return Math.round(100*s/e.stages.length)}function w(e){if(!e.stages.length)return null;const s=Math.min(e.currentStage,e.stages.length-1);return e.stages[s]||null}function Oe(e){if(e.status!=="running")return!1;const s=w(e);return s&&s.status==="gate-waiting"&&s.gateRequired&&!s.gateApproved}function Le(e){return e.status==="pending"||e.status==="running"||e.status==="paused"}async function G(){g.value=!0,Y.value={noDb:!1,error:""};try{const[e,s,d,x]=await Promise.all([o.execute("pipeline list",1e4).catch(()=>({output:""})),o.execute("pipeline deploys",1e4).catch(()=>({output:""})),o.execute("pipeline templates",8e3).catch(()=>({output:""})),o.execute("pipeline stats",8e3).catch(()=>({output:""}))]),q=[e,s,x].map(B=>ke(B.output)).find(B=>B.noDb);q&&(Y.value=q),ae.value=yt(e.output),ne.value=bt(s.output),ie.value=kt(d.output),T.value=At(x.output)}catch(e){z.error(n("pipeline.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function De(){if(!k.template){z.warning(n("pipeline.msg.selectTemplate"));return}if(k.configJson.trim())try{JSON.parse(k.configJson)}catch{z.warning(n("pipeline.msg.badConfigJson"));return}_.value=!0;try{const e=[`pipeline create --template ${k.template}`];k.name.trim()&&e.push(`--name "${k.name.trim().replace(/"/g,'\\"')}"`),k.configJson.trim()&&e.push(`--config '${k.configJson.trim().replace(/'/g,"'\\''")}'`);const{output:s}=await o.execute(e.join(" "),1e4);if(ke(s).noDb){z.error(n("pipeline.msg.needCcInit"));return}if(/error|Error|失败/i.test(s)&&!/"id"/.test(s)){z.error(n("pipeline.msg.createFailed")+": "+s.slice(0,120));return}z.success(n("pipeline.msg.createSuccess")),I.value=!1,ue(),await G()}catch(e){z.error(n("pipeline.msg.createFailed")+": "+(e?.message||e))}finally{_.value=!1}}async function je(e){await J(e,`pipeline start ${e.id}`,n("pipeline.msg.started"))}async function Ne(e){await J(e,`pipeline pause ${e.id}`,n("pipeline.msg.paused"))}async function Re(e){await J(e,`pipeline resume ${e.id}`,n("pipeline.msg.resumed"))}async function Ee(e){await J(e,`pipeline approve ${e.id}`,n("pipeline.msg.gateApproved"))}async function Fe(e){await J(e,`pipeline cancel ${e.id}`,n("pipeline.msg.cancelled"))}async function J(e,s,d){try{const{output:x}=await o.execute(s,8e3);if(/error|Error|失败/i.test(x)&&!/"id"/.test(x)){z.error(n("pipeline.msg.actionFailed")+": "+x.slice(0,120));return}z.success(d),await G()}catch(x){z.error(n("pipeline.msg.actionFailed")+": "+(x?.message||x))}}function Je(e){A.value=e,Q.value=!0}function ue(){k.template="feature",k.name="",k.configJson=""}return pt(G),(e,s)=>{const d=v("a-button"),x=v("a-space"),q=v("a-alert"),B=v("a-statistic"),P=v("a-card"),D=v("a-col"),ce=v("a-row"),K=v("a-radio-button"),de=v("a-radio-group"),h=v("a-tag"),fe=v("a-progress"),Me=v("a-popconfirm"),ge=v("a-table"),Z=v("a-tab-pane"),Ie=v("a-tabs"),Ue=v("a-select-option"),we=v("a-select"),ee=v("a-form-item"),Ge=v("a-input"),qe=v("a-textarea"),Ke=v("a-form"),me=v("a-modal"),M=v("a-descriptions-item"),Ve=v("a-descriptions"),He=v("a-timeline-item"),Ye=v("a-timeline");return r(),b("div",null,[S("div",$t,[S("div",null,[S("h2",xt,p(e.$t("pipeline.title")),1),S("p",ht,p(e.$t("pipeline.subtitle")),1)]),i(x,null,{default:a(()=>[i(d,{loading:g.value,onClick:G},{icon:a(()=>[i(c(Ze))]),default:a(()=>[f(" "+p(e.$t("pipeline.refresh")),1)]),_:1},8,["loading"]),i(d,{type:"primary",onClick:s[0]||(s[0]=l=>I.value=!0)},{icon:a(()=>[i(c(et))]),default:a(()=>[f(" "+p(e.$t("pipeline.create")),1)]),_:1})]),_:1})]),Y.value.noDb?(r(),m(q,{key:0,type:"info","show-icon":"",message:e.$t("pipeline.noDb.message"),description:e.$t("pipeline.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):y("",!0),i(ce,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[i(D,{xs:12,sm:8,lg:5},{default:a(()=>[i(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[i(B,{title:e.$t("pipeline.stats.totalPipelines"),value:T.value.totalPipelines,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[i(c(ye))]),_:1},8,["title","value"])]),_:1})]),_:1}),i(D,{xs:12,sm:8,lg:5},{default:a(()=>[i(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[i(B,{title:e.$t("pipeline.stats.running"),value:T.value.pipelinesByStatus.running||0,"value-style":{color:(T.value.pipelinesByStatus.running||0)>0?"#52c41a":"#888",fontSize:"20px"}},{prefix:a(()=>[i(c(tt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),i(D,{xs:12,sm:8,lg:5},{default:a(()=>[i(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[i(B,{title:e.$t("pipeline.stats.totalStages"),value:T.value.totalStages,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[i(c(lt))]),_:1},8,["title","value"])]),_:1})]),_:1}),i(D,{xs:12,sm:8,lg:5},{default:a(()=>[i(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[i(B,{title:e.$t("pipeline.stats.totalArtifacts"),value:T.value.totalArtifacts,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[i(c(at))]),_:1},8,["title","value"])]),_:1})]),_:1}),i(D,{xs:24,sm:8,lg:4},{default:a(()=>[i(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[i(B,{title:e.$t("pipeline.stats.totalDeploys"),value:T.value.totalDeploys,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[i(c(ve))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),i(P,{title:e.$t("pipeline.stagesCardTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[S("div",Ct,[(r(!0),b(C,null,L(c(be),(l,u)=>(r(),b(C,{key:l},[S("span",{class:ut(["stage-pill",{"is-gate":c(_e).includes(l)}])},[S("span",zt,p(u+1),1),f(" "+p(U(l))+" ",1),c(_e).includes(l)?(r(),m(c(V),{key:0,class:"gate-icon"})):y("",!0)],2),u<c(be).length-1?(r(),m(c(nt),{key:0,class:"stage-arrow"})):y("",!0)],64))),128))])]),_:1},8,["title"]),i(Ie,{activeKey:se.value,"onUpdate:activeKey":s[3]||(s[3]=l=>se.value=l),class:"pipeline-tabs"},{default:a(()=>[i(Z,{key:"pipelines",tab:e.$t("pipeline.tabs.pipelines")},{default:a(()=>[S("div",Bt,[i(de,{value:R.value,"onUpdate:value":s[1]||(s[1]=l=>R.value=l),size:"small","button-style":"solid"},{default:a(()=>[i(K,{value:""},{default:a(()=>[f(p(e.$t("pipeline.filters.allTemplates")),1)]),_:1}),(r(!0),b(C,null,L(c(le),l=>(r(),m(K,{key:l,value:l},{default:a(()=>[f(p(F(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),i(de,{value:E.value,"onUpdate:value":s[2]||(s[2]=l=>E.value=l),size:"small"},{default:a(()=>[i(K,{value:""},{default:a(()=>[f(p(e.$t("pipeline.filters.allStatuses")),1)]),_:1}),(r(!0),b(C,null,L(c(Ae),l=>(r(),m(K,{key:l,value:l},{default:a(()=>[f(p(X(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),i(ge,{columns:$e.value,"data-source":he.value,pagination:{pageSize:20,showTotal:l=>e.$t("pipeline.table.totalSuffix",{n:l})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:u})=>[l.key==="name"?(r(),b(C,{key:0},[S("span",Tt,p(u.name||e.$t("pipeline.table.unnamed")),1),S("div",Pt,p(u.id.slice(0,16)),1)],64)):y("",!0),l.key==="template"?(r(),m(h,{key:1,color:W(u.template)},{default:a(()=>[f(p(F(u.template)),1)]),_:2},1032,["color"])):y("",!0),l.key==="progress"?(r(),m(fe,{key:2,percent:pe(u),size:"small",status:u.status==="failed"?"exception":u.status==="completed"?"success":"active",format:()=>`${u.currentStage}/${u.stages.length}`},null,8,["percent","status","format"])):y("",!0),l.key==="currentStage"?(r(),b(C,{key:3},[w(u)?(r(),m(h,{key:0,color:re(w(u).status)},{default:a(()=>[f(p(U(w(u).name)),1)]),_:2},1032,["color"])):(r(),b("span",Ot,"—"))],64)):y("",!0),l.key==="status"?(r(),m(h,{key:4,color:oe(u.status)},{default:a(()=>[f(p(X(u.status)),1)]),_:2},1032,["color"])):y("",!0),l.key==="createdAt"?(r(),b("span",Lt,p(c(j)(u.createdAt)),1)):y("",!0),l.key==="action"?(r(),b(C,{key:6},[i(d,{size:"small",type:"link",onClick:O=>Je(u)},{default:a(()=>[f(p(e.$t("pipeline.table.actions.details")),1)]),_:1},8,["onClick"]),u.status==="pending"?(r(),m(d,{key:0,size:"small",type:"link",onClick:O=>je(u)},{default:a(()=>[f(p(e.$t("pipeline.table.actions.start")),1)]),_:1},8,["onClick"])):y("",!0),u.status==="running"?(r(),m(d,{key:1,size:"small",type:"link",onClick:O=>Ne(u)},{default:a(()=>[f(p(e.$t("pipeline.table.actions.pause")),1)]),_:1},8,["onClick"])):y("",!0),u.status==="paused"?(r(),m(d,{key:2,size:"small",type:"link",onClick:O=>Re(u)},{default:a(()=>[f(p(e.$t("pipeline.table.actions.resume")),1)]),_:1},8,["onClick"])):y("",!0),Oe(u)?(r(),m(d,{key:3,size:"small",type:"link",style:{color:"#52c41a"},onClick:O=>Ee(u)},{default:a(()=>[f(p(e.$t("pipeline.table.actions.approveGate")),1)]),_:1},8,["onClick"])):y("",!0),Le(u)?(r(),m(Me,{key:4,title:e.$t("pipeline.table.cancelConfirm"),"ok-text":e.$t("pipeline.table.cancelOk"),"cancel-text":e.$t("pipeline.table.cancelBack"),onConfirm:O=>Fe(u)},{default:a(()=>[i(d,{size:"small",type:"link",danger:""},{default:a(()=>[f(p(e.$t("pipeline.table.actions.cancel")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):y("",!0)],64)):y("",!0)]),emptyText:a(()=>[S("div",Dt,[i(c(ye),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+p(R.value||E.value?e.$t("pipeline.table.emptyFiltered"):e.$t("pipeline.table.empty")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),i(Z,{key:"deploys",tab:e.$t("pipeline.tabs.deploys")},{default:a(()=>[i(ge,{columns:xe.value,"data-source":ne.value,pagination:{pageSize:20,showTotal:l=>e.$t("pipeline.table.totalSuffix",{n:l})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:u})=>[l.key==="pipeline"?(r(),b("span",jt,p(u.pipelineId.slice(0,12)),1)):y("",!0),l.key==="strategy"?(r(),m(h,{key:1,color:Te(u.strategy),style:{"font-family":"monospace"}},{default:a(()=>[f(p(u.strategy),1)]),_:2},1032,["color"])):y("",!0),l.key==="status"?(r(),m(h,{key:2,color:Be(u.status)},{default:a(()=>[f(p(ze(u.status)),1)]),_:2},1032,["color"])):y("",!0),l.key==="createdAt"?(r(),b("span",Nt,p(c(j)(u.createdAt)),1)):y("",!0)]),emptyText:a(()=>[S("div",Rt,[i(c(ve),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+p(e.$t("pipeline.table.emptyDeploys")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),i(Z,{key:"templates",tab:e.$t("pipeline.tabs.templates")},{default:a(()=>[i(ce,{gutter:[16,16]},{default:a(()=>[(r(!0),b(C,null,L(ie.value,l=>(r(),m(D,{key:l.name,xs:24,sm:12,lg:12},{default:a(()=>[i(P,{title:F(l.name),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:a(()=>[i(h,{color:W(l.name)},{default:a(()=>[f(p(l.name),1)]),_:2},1032,["color"])]),default:a(()=>[S("p",Et,p(l.description),1),S("div",Ft,[(r(!0),b(C,null,L(l.stages,(u,O)=>(r(),m(h,{key:u,color:l.gateStages.includes(u)?"gold":"blue",style:{"font-size":"11px"}},{default:a(()=>[f(p(O+1)+". "+p(U(u))+" ",1),l.gateStages.includes(u)?(r(),m(c(V),{key:0,style:{"font-size":"10px","margin-left":"2px"}})):y("",!0)]),_:2},1032,["color"]))),128))])]),_:2},1032,["title"])]),_:2},1024))),128))]),_:1})]),_:1},8,["tab"])]),_:1},8,["activeKey"]),i(me,{open:I.value,"onUpdate:open":s[7]||(s[7]=l=>I.value=l),title:e.$t("pipeline.create_modal.title"),"confirm-loading":_.value,width:540,"ok-text":e.$t("pipeline.create_modal.ok"),"cancel-text":e.$t("pipeline.create_modal.cancel"),onOk:De,onCancel:ue},{default:a(()=>[i(Ke,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[i(ee,{label:e.$t("pipeline.create_modal.templateLabel"),required:""},{default:a(()=>[i(we,{value:k.template,"onUpdate:value":s[4]||(s[4]=l=>k.template=l)},{default:a(()=>[(r(!0),b(C,null,L(c(le),l=>(r(),m(Ue,{key:l,value:l},{default:a(()=>[f(p(F(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),i(ee,{label:e.$t("pipeline.create_modal.nameLabel")},{default:a(()=>[i(Ge,{value:k.name,"onUpdate:value":s[5]||(s[5]=l=>k.name=l),placeholder:e.$t("pipeline.create_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),i(ee,{label:e.$t("pipeline.create_modal.configLabel")},{default:a(()=>[i(qe,{value:k.configJson,"onUpdate:value":s[6]||(s[6]=l=>k.configJson=l),placeholder:e.$t("pipeline.create_modal.configPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),i(me,{open:Q.value,"onUpdate:open":s[8]||(s[8]=l=>Q.value=l),title:e.$t("pipeline.details.title",{label:A.value?.name||A.value?.id?.slice(0,12)||""}),width:780,footer:null},{default:a(()=>[A.value?(r(),b("div",Jt,[i(Ve,{column:2,size:"small",bordered:""},{default:a(()=>[i(M,{label:e.$t("pipeline.details.template")},{default:a(()=>[i(h,{color:W(A.value.template)},{default:a(()=>[f(p(F(A.value.template)),1)]),_:1},8,["color"])]),_:1},8,["label"]),i(M,{label:e.$t("pipeline.details.status")},{default:a(()=>[i(h,{color:oe(A.value.status)},{default:a(()=>[f(p(X(A.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),i(M,{label:e.$t("pipeline.details.progress"),span:2},{default:a(()=>[i(fe,{percent:pe(A.value),status:A.value.status==="failed"?"exception":A.value.status==="completed"?"success":"active",size:"small"},null,8,["percent","status"])]),_:1},8,["label"]),i(M,{label:e.$t("pipeline.details.createdAt")},{default:a(()=>[f(p(c(j)(A.value.createdAt)),1)]),_:1},8,["label"]),i(M,{label:e.$t("pipeline.details.startedAt")},{default:a(()=>[f(p(c(j)(A.value.startedAt)),1)]),_:1},8,["label"])]),_:1}),S("h4",Mt,p(e.$t("pipeline.details.stagesHeader")),1),i(Ye,{mode:"left"},{default:a(()=>[(r(!0),b(C,null,L(A.value.stages,l=>(r(),m(He,{key:l.id,color:Pe(l.status)},{dot:a(()=>[l.status==="completed"?(r(),m(c(it),{key:0,style:{color:"#52c41a"}})):l.status==="running"?(r(),m(c(st),{key:1,style:{color:"#1677ff"}})):l.status==="failed"?(r(),m(c(ot),{key:2,style:{color:"#ff4d4f"}})):l.status==="gate-waiting"?(r(),m(c(V),{key:3,style:{color:"#faad14"}})):(r(),m(c(rt),{key:4,style:{color:"var(--text-muted)"}}))]),default:a(()=>[S("div",It,[S("span",Ut,p(l.stageIndex+1)+". "+p(U(l.name)),1),i(h,{color:re(l.status),style:{"font-size":"11px"}},{default:a(()=>[f(p(Ce(l.status)),1)]),_:2},1032,["color"]),l.gateRequired?(r(),m(h,{key:0,color:"gold",style:{"font-size":"10px"}},{default:a(()=>[i(c(V)),f(" "+p(e.$t("pipeline.details.needsApproval"))+" ",1),l.gateApproved?(r(),b("span",wt,p(e.$t("pipeline.details.approved")),1)):y("",!0)]),_:2},1024)):y("",!0)]),l.errorMessage?(r(),b("div",Gt,p(e.$t("pipeline.details.errorPrefix"))+" "+p(l.errorMessage),1)):y("",!0),l.startedAt?(r(),b("div",qt,[f(p(c(j)(l.startedAt))+" ",1),l.completedAt?(r(),b("span",Kt," → "+p(c(j)(l.completedAt)),1)):y("",!0)])):y("",!0)]),_:2},1032,["color"]))),128))]),_:1})])):y("",!0)]),_:1},8,["open","title"])])}}},Zt=Qe(Vt,[["__scopeId","data-v-8e02619c"]]);export{Zt as default};
@@ -1 +0,0 @@
1
- import{_ as Ze,a as et,c as v}from"./index-CyqU4Tck.js";import{u as tt}from"./ws-D_5-FRIb.js";import{s as at}from"./community-parser-CO25nZFt.js";import{R as lt,al as ot,U as pe,v as ce,H as Le,x as it,aM as nt}from"./icons-DvZE-RKs.js";import{o as rt,M as m,R as f,P as s,c as a,N as o,K as g,r as h,L as u,O as y,u as _,F as z,_ as T,Q as C,S as k,$ as st,f as I,a as Z}from"./vendor-B6ToihkA.js";function J(i){const r=at(i);if(!r)return null;try{return JSON.parse(r)}catch{}const n=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!n)return null;try{return JSON.parse(n[0])}catch{return null}}const ut=Object.freeze(["initializing","training","aggregating","completed","failed"]),pt=Object.freeze(["pending","computing","completed"]),Re=Object.freeze(["shamir","beaver","gmw"]),ct=Object.freeze(["laplace","gaussian","exponential"]),dt=Object.freeze(["paillier","bfv","ckks"]),mt=Object.freeze(["sum","product","mean","count"]);function b(i,r=0){return typeof i=="number"&&Number.isFinite(i)?i:r}function yt(i,r=0){if(!i||typeof i!="object")return null;const n=i.id||"";return n?{key:n,id:n,name:String(i.name||n),description:String(i.description||""),_idx:r}:null}function de(i){const r=J(i);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function vt(i,r=0){if(!i||typeof i!="object")return null;const n=i.id||"";return n?{key:n,id:n,name:String(i.name||""),modelType:i.modelType??i.model_type??"neural_network",architecture:String(i.architecture||""),status:String(i.status||"initializing").toLowerCase(),currentRound:b(i.currentRound??i.current_round,0),totalRounds:b(i.totalRounds??i.total_rounds,0),participantCount:b(i.participantCount??i.participant_count,0),accuracy:b(i.accuracy,0),loss:i.loss==null?null:b(i.loss,null),learningRate:b(i.learningRate??i.learning_rate,0),aggregationStrategy:i.aggregationStrategy??i.aggregation_strategy??"",privacyBudgetSpent:b(i.privacyBudgetSpent??i.privacy_budget_spent,0),createdAt:i.createdAt??i.created_at??null,updatedAt:i.updatedAt??i.updated_at??null,_idx:r}:null}function ft(i){const r=J(i);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function gt(i,r=0){if(!i||typeof i!="object")return null;const n=i.id||"";if(!n)return null;let L=i.participantIds??i.participant_ids??[];if(typeof L=="string")try{L=JSON.parse(L)}catch{L=[]}return Array.isArray(L)||(L=[]),{key:n,id:n,computationType:i.computationType??i.computation_type??"",protocol:String(i.protocol||"shamir").toLowerCase(),participantCount:b(i.participantCount??i.participant_count,0),participantIds:L,resultHash:i.resultHash??i.result_hash??null,status:String(i.status||"pending").toLowerCase(),sharesReceived:b(i.sharesReceived??i.shares_received,0),sharesRequired:b(i.sharesRequired??i.shares_required,0),computationTimeMs:i.computationTimeMs??i.computation_time_ms??null,errorMessage:i.errorMessage??i.error_message??"",createdAt:i.createdAt??i.created_at??null,completedAt:i.completedAt??i.completed_at??null,_idx:r}}function bt(i){const r=J(i);return Array.isArray(r)?r.map(gt).filter(Boolean):[]}function ht(i){const r=J(i);return!r||typeof r!="object"||Array.isArray(r)?null:{published:!!r.published,reason:r.reason||null,data:r.data??null,epsilon:b(r.epsilon,0),delta:b(r.delta,0),mechanism:String(r.mechanism||""),budgetSpent:b(r.budgetSpent??r.budget_spent,0),budgetRemaining:b(r.budgetRemaining??r.budget_remaining,0)}}function _t(i){const r=J(i);return!r||typeof r!="object"||Array.isArray(r)?null:{result:r.result??null,operation:String(r.operation||""),scheme:String(r.scheme||""),inputCount:b(r.inputCount??r.input_count,0),encrypted:r.encrypted!==!1}}const kt={privacyBudget:{spent:0,limit:0,remaining:0,exhausted:!1},federatedLearning:{totalModels:0,completed:0,training:0,avgAccuracy:0},mpc:{totalComputations:0,completed:0,pending:0,byProtocol:{}}};function $t(i){const r=JSON.parse(JSON.stringify(kt)),n=J(i);if(!n||typeof n!="object"||Array.isArray(n))return r;if(n.privacyBudget&&typeof n.privacyBudget=="object"&&(r.privacyBudget.spent=b(n.privacyBudget.spent,0),r.privacyBudget.limit=b(n.privacyBudget.limit,0),r.privacyBudget.remaining=b(n.privacyBudget.remaining,0),r.privacyBudget.exhausted=!!n.privacyBudget.exhausted),n.federatedLearning&&typeof n.federatedLearning=="object"&&(r.federatedLearning.totalModels=b(n.federatedLearning.totalModels,0),r.federatedLearning.completed=b(n.federatedLearning.completed,0),r.federatedLearning.training=b(n.federatedLearning.training,0),r.federatedLearning.avgAccuracy=b(n.federatedLearning.avgAccuracy,0)),n.mpc&&typeof n.mpc=="object"&&(r.mpc.totalComputations=b(n.mpc.totalComputations,0),r.mpc.completed=b(n.mpc.completed,0),r.mpc.pending=b(n.mpc.pending,0),n.mpc.byProtocol&&typeof n.mpc.byProtocol=="object"))for(const[L,j]of Object.entries(n.mpc.byProtocol))typeof j=="number"&&Number.isFinite(j)&&(r.mpc.byProtocol[L]=j);return r}function Ae(i){if(i==null||i==="")return"—";const r=typeof i=="number"?new Date(i):new Date(String(i));return isNaN(r.getTime())?String(i):r.toLocaleString("zh-CN",{hour12:!1})}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ct={class:"page-title"},xt={class:"page-sub"},zt={style:{"font-size":"11px",color:"var(--text-secondary)"}},Lt={class:"catalog-name"},Rt={class:"catalog-desc"},At={class:"catalog-name"},Mt={class:"catalog-desc"},jt={class:"catalog-name"},Ft={class:"catalog-desc"},Tt={class:"filter-bar"},Ot={style:{color:"var(--text-primary)","font-weight":"500"}},Pt={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px"}},Ut={style:{"font-size":"11px",color:"var(--text-secondary)"}},Bt={key:0,style:{"font-size":"11px",color:"var(--text-secondary)"}},wt={key:5,style:{"font-family":"monospace",color:"var(--text-secondary)"}},Nt={key:6,style:{color:"var(--text-secondary)","font-size":"11px"}},Et={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},qt={class:"filter-bar"},Ht={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},It={key:0,style:{"font-family":"monospace",color:"var(--text-secondary)","font-size":"12px"}},Jt={key:1,style:{color:"var(--text-muted)"}},Dt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Kt={key:1,style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},Vt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Qt={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Wt={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Gt={__name:"Privacy",setup(i){const r=tt(),{t:n}=et(),L=h(!1),j=h(!1),ee=h(!1),te=h(!1),ae=h(""),le=h(""),me=h([]),ye=h([]),ve=h([]),oe=h([]),fe=h([]),R=h({privacyBudget:{spent:0,limit:0,remaining:0,exhausted:!1},federatedLearning:{totalModels:0,completed:0,training:0,avgAccuracy:0},mpc:{totalComputations:0,completed:0,pending:0,byProtocol:{}}}),ie=h("models"),D=h(""),V=h(""),Q=h(""),W=h(!1),G=h(!1),ne=h(!1),re=h(!1),c=Z({name:"",modelType:"",architecture:"",rounds:10,lr:.01,participants:0}),$=Z({type:"",protocol:"shamir",participants:"",threshold:null}),S=Z({data:"",mechanism:"laplace",epsilon:.1,delta:1e-5,sensitivity:1}),A=Z({data:"",operation:"sum",scheme:"paillier"}),M=h(null),O=h(null),Me=I(()=>[{title:n("privacy.modelCols.name"),key:"name"},{title:n("privacy.modelCols.status"),key:"status",width:"120px"},{title:n("privacy.modelCols.progress"),key:"progress",width:"160px"},{title:n("privacy.modelCols.accuracy"),key:"accuracy",width:"110px"},{title:n("privacy.modelCols.participants"),key:"participants",width:"90px"},{title:n("privacy.modelCols.budget"),key:"budget",width:"100px"},{title:n("privacy.modelCols.updatedAt"),key:"updatedAt",width:"160px"},{title:n("privacy.modelCols.action"),key:"action",width:"180px"}]),je=I(()=>[{title:n("privacy.computationCols.type"),key:"type",width:"160px"},{title:n("privacy.computationCols.protocol"),key:"protocol",width:"100px"},{title:n("privacy.computationCols.progress"),key:"progress"},{title:n("privacy.computationCols.status"),key:"status",width:"110px"},{title:n("privacy.computationCols.time"),key:"time",width:"110px"},{title:n("privacy.computationCols.createdAt"),key:"createdAt",width:"160px"},{title:n("privacy.computationCols.action"),key:"action",width:"160px"}]),Fe=I(()=>R.value.federatedLearning.avgAccuracy*100),Te=I(()=>{const e=R.value.privacyBudget.remaining,l=R.value.privacyBudget.limit;if(l===0)return"#888";const d=e/l;return d<.2?"#ff4d4f":d<.5?"#faad14":"#52c41a"}),Oe=I(()=>D.value?oe.value.filter(e=>e.status===D.value):oe.value),Pe=I(()=>{let e=fe.value;return V.value&&(e=e.filter(l=>l.protocol===V.value)),Q.value&&(e=e.filter(l=>l.status===Q.value)),e});function ge(e){const l=`privacy.flStatusLabels.${e}`,d=n(l);return d===l?e:d}function Ue(e){return{initializing:"default",training:"processing",aggregating:"cyan",completed:"green",failed:"red"}[e]||"default"}function be(e){const l=`privacy.mpcStatusLabels.${e}`,d=n(l);return d===l?e:d}function Be(e){return{pending:"default",computing:"processing",completed:"green"}[e]||"default"}function we(e){return e>=.85?"#52c41a":e>=.6?"#faad14":"#ff4d4f"}function Ne(e){return e.status==="initializing"||e.status==="training"||e.status==="aggregating"}function Ee({key:e}){e==="model"?W.value=!0:e==="computation"?G.value=!0:e==="dp"?(M.value=null,ne.value=!0):e==="he"&&(O.value=null,re.value=!0)}async function U(){L.value=!0;try{const[e,l,d,q,se,ue]=await Promise.all([r.execute("privacy protocols --json",8e3).catch(()=>({output:""})),r.execute("privacy dp-mechanisms --json",8e3).catch(()=>({output:""})),r.execute("privacy he-schemes --json",8e3).catch(()=>({output:""})),r.execute("privacy models --limit 100 --json",1e4).catch(()=>({output:""})),r.execute("privacy computations --limit 100 --json",1e4).catch(()=>({output:""})),r.execute("privacy report --json",8e3).catch(()=>({output:""}))]);me.value=de(e.output),ye.value=de(l.output),ve.value=de(d.output),oe.value=ft(q.output),fe.value=bt(se.output),R.value=$t(ue.output)}catch(e){v.error(n("privacy.msg.loadFailed")+": "+(e?.message||e))}finally{L.value=!1}}async function qe(){if(!c.name.trim()){v.warning(n("privacy.msg.modelNameEmpty"));return}j.value=!0;try{const e=[`privacy create-model "${c.name.trim().replace(/"/g,'\\"')}"`];c.modelType.trim()&&e.push(`--type "${c.modelType.trim().replace(/"/g,'\\"')}"`),c.architecture.trim()&&e.push(`--arch "${c.architecture.trim().replace(/"/g,'\\"')}"`),c.rounds!=null&&e.push(`--rounds ${c.rounds}`),c.lr!=null&&e.push(`--lr ${c.lr}`),c.participants!=null&&e.push(`--participants ${c.participants}`),e.push("--json");const{output:l}=await r.execute(e.join(" "),12e3);if(/error|失败/i.test(l)&&!/"modelId"/.test(l)){v.error(n("privacy.msg.modelCreateFailed")+": "+l.slice(0,120));return}v.success(n("privacy.msg.modelCreateSuccess")),W.value=!1,he(),await U()}catch(e){v.error(n("privacy.msg.modelCreateFailed")+": "+(e?.message||e))}finally{j.value=!1}}async function He(){if(!$.type.trim()){v.warning(n("privacy.msg.computationTypeEmpty"));return}j.value=!0;try{const e=[`privacy create-computation "${$.type.trim().replace(/"/g,'\\"')}"`];if(e.push(`--protocol ${$.protocol}`),$.participants.trim()){const d=$.participants.split(/[,\s]+/).filter(Boolean).join(",");d&&e.push(`--participants "${d}"`)}$.threshold!=null&&e.push(`--threshold ${$.threshold}`),e.push("--json");const{output:l}=await r.execute(e.join(" "),1e4);if(/error|失败|invalid/i.test(l)&&!/"computationId"/.test(l)){v.error(n("privacy.msg.computationCreateFailed")+": "+l.slice(0,120));return}v.success(n("privacy.msg.computationCreateSuccess")),G.value=!1,_e(),ie.value="computations",await U()}catch(e){v.error(n("privacy.msg.computationCreateFailed")+": "+(e?.message||e))}finally{j.value=!1}}async function Ie(e){ae.value=e.id;try{const{output:l}=await r.execute(`privacy train ${e.id} --json`,12e3);if(/error|失败/i.test(l)&&!/"trained"/.test(l)){v.error(n("privacy.msg.trainFailed")+": "+l.slice(0,120));return}v.success(n("privacy.msg.trainSuccess")),await U()}catch(l){v.error(n("privacy.msg.trainFailed")+": "+(l?.message||l))}finally{ae.value=""}}async function Je(e){try{const{output:l}=await r.execute(`privacy fail-model ${e.id} --json`,8e3);if(/error/i.test(l)&&!/"failed"/.test(l)){v.error(n("privacy.msg.failMarkFailed")+": "+l.slice(0,120));return}v.success(n("privacy.msg.failMarkSuccess")),await U()}catch(l){v.error(n("privacy.msg.failMarkFailed")+": "+(l?.message||l))}}async function De(e){le.value=e.id;try{const{output:l}=await r.execute(`privacy submit-share ${e.id} --json`,1e4);if(/error|失败/i.test(l)&&!/"submitted"/.test(l)){v.error(n("privacy.msg.submitFailed")+": "+l.slice(0,120));return}v.success(n("privacy.msg.submitSuccess")),await U()}catch(l){v.error(n("privacy.msg.submitFailed")+": "+(l?.message||l))}finally{le.value=""}}async function Ke(){if(!S.data.trim()){v.warning(n("privacy.msg.dataEmpty"));return}ee.value=!0,M.value=null;try{const e=["privacy dp-publish"];e.push(`--data ${JSON.stringify(S.data.trim())}`),e.push(`--mechanism ${S.mechanism}`),S.epsilon!=null&&e.push(`--epsilon ${S.epsilon}`),S.delta!=null&&e.push(`--delta ${S.delta}`),S.sensitivity!=null&&e.push(`--sensitivity ${S.sensitivity}`),e.push("--json");const{output:l}=await r.execute(e.join(" "),1e4),d=ht(l);if(!d){v.error(n("privacy.msg.dpFailed")+": "+l.slice(0,120));return}M.value=d,d.published?(v.success(n("privacy.msg.dpSuccess")),await U()):v.warning(n("privacy.msg.dpRejected",{reason:d.reason||"unknown"}))}catch(e){v.error(n("privacy.msg.dpFailed")+": "+(e?.message||e))}finally{ee.value=!1}}async function Ve(){if(!A.data.trim()){v.warning(n("privacy.msg.dataEmpty"));return}try{JSON.parse(A.data)}catch{v.warning(n("privacy.msg.dataInvalidJson"));return}te.value=!0,O.value=null;try{const e=["privacy he-query"];e.push(`--data ${JSON.stringify(A.data.trim())}`),e.push(`--operation ${A.operation}`),e.push(`--scheme ${A.scheme}`),e.push("--json");const{output:l}=await r.execute(e.join(" "),1e4),d=_t(l);if(!d){v.error(n("privacy.msg.heFailed")+": "+l.slice(0,120));return}O.value=d,v.success(n("privacy.msg.heSuccess",{scheme:d.scheme,op:d.operation}))}catch(e){v.error(n("privacy.msg.heFailed")+": "+(e?.message||e))}finally{te.value=!1}}function he(){c.name="",c.modelType="",c.architecture="",c.rounds=10,c.lr=.01,c.participants=0}function _e(){$.type="",$.protocol="shamir",$.participants="",$.threshold=null}return rt(U),(e,l)=>{const d=g("a-button"),q=g("a-menu-item"),se=g("a-menu"),ue=g("a-dropdown"),Qe=g("a-space"),B=g("a-statistic"),F=g("a-card"),w=g("a-col"),ke=g("a-row"),N=g("a-tag"),P=g("a-radio-button"),H=g("a-radio-group"),$e=g("a-progress"),We=g("a-popconfirm"),Se=g("a-table"),Ce=g("a-tab-pane"),Ge=g("a-tabs"),K=g("a-input"),x=g("a-form-item"),E=g("a-input-number"),X=g("a-form"),Y=g("a-modal"),Xe=g("a-select-option"),Ye=g("a-select"),xe=g("a-textarea");return u(),m("div",null,[f("div",St,[f("div",null,[f("h2",Ct,s(e.$t("privacy.title")),1),f("p",xt,s(e.$t("privacy.subtitle")),1)]),a(Qe,null,{default:o(()=>[a(d,{loading:L.value,onClick:U},{icon:o(()=>[a(_(lt))]),default:o(()=>[y(" "+s(e.$t("privacy.refresh")),1)]),_:1},8,["loading"]),a(ue,{trigger:["click"]},{overlay:o(()=>[a(se,{onClick:Ee},{default:o(()=>[a(q,{key:"model"},{default:o(()=>[a(_(pe)),y(" "+s(e.$t("privacy.actions.model")),1)]),_:1}),a(q,{key:"computation"},{default:o(()=>[a(_(ce)),y(" "+s(e.$t("privacy.actions.computation")),1)]),_:1}),a(q,{key:"dp"},{default:o(()=>[a(_(Le)),y(" "+s(e.$t("privacy.actions.dp")),1)]),_:1}),a(q,{key:"he"},{default:o(()=>[a(_(it)),y(" "+s(e.$t("privacy.actions.he")),1)]),_:1})]),_:1})]),default:o(()=>[a(d,{type:"primary"},{icon:o(()=>[a(_(ot))]),default:o(()=>[y(" "+s(e.$t("privacy.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(ke,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[a(w,{xs:12,sm:8,lg:5},{default:o(()=>[a(F,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(B,{title:e.$t("privacy.stats.models"),value:R.value.federatedLearning.totalModels,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:o(()=>[a(_(pe))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(w,{xs:12,sm:8,lg:5},{default:o(()=>[a(F,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(B,{title:e.$t("privacy.stats.avgAccuracy"),value:Fe.value,precision:1,suffix:"%","value-style":{color:R.value.federatedLearning.avgAccuracy>=.8?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:o(()=>[a(_(nt))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(w,{xs:12,sm:8,lg:5},{default:o(()=>[a(F,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(B,{title:e.$t("privacy.stats.computations"),value:R.value.mpc.totalComputations,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:o(()=>[a(_(ce))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(w,{xs:12,sm:8,lg:5},{default:o(()=>[a(F,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(B,{title:e.$t("privacy.stats.budget"),value:R.value.privacyBudget.remaining,precision:2,"value-style":{color:Te.value,fontSize:"20px"}},{prefix:o(()=>[a(_(Le))]),suffix:o(()=>[f("span",zt,"/ "+s(R.value.privacyBudget.limit),1)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(w,{xs:24,sm:8,lg:4},{default:o(()=>[a(F,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(B,{title:e.$t("privacy.stats.budgetState"),value:R.value.privacyBudget.exhausted?e.$t("privacy.stats.exhausted"):e.$t("privacy.stats.ample"),"value-style":{color:R.value.privacyBudget.exhausted?"#ff4d4f":"#52c41a",fontSize:"20px"}},null,8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),a(ke,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[a(w,{xs:24,md:8},{default:o(()=>[a(F,{title:e.$t("privacy.catalog.protocols"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"},"body-style":{padding:"12px 16px"}},{default:o(()=>[(u(!0),m(z,null,T(me.value,t=>(u(),m("div",{key:t.id,class:"catalog-item"},[a(N,{color:"purple",style:{"font-family":"monospace"}},{default:o(()=>[y(s(t.id),1)]),_:2},1024),f("span",Lt,s(t.name),1),f("span",Rt,s(t.description),1)]))),128))]),_:1},8,["title"])]),_:1}),a(w,{xs:24,md:8},{default:o(()=>[a(F,{title:e.$t("privacy.catalog.dp"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"},"body-style":{padding:"12px 16px"}},{default:o(()=>[(u(!0),m(z,null,T(ye.value,t=>(u(),m("div",{key:t.id,class:"catalog-item"},[a(N,{color:"orange",style:{"font-family":"monospace"}},{default:o(()=>[y(s(t.id),1)]),_:2},1024),f("span",At,s(t.name),1),f("span",Mt,s(t.description),1)]))),128))]),_:1},8,["title"])]),_:1}),a(w,{xs:24,md:8},{default:o(()=>[a(F,{title:e.$t("privacy.catalog.he"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"},"body-style":{padding:"12px 16px"}},{default:o(()=>[(u(!0),m(z,null,T(ve.value,t=>(u(),m("div",{key:t.id,class:"catalog-item"},[a(N,{color:"cyan",style:{"font-family":"monospace"}},{default:o(()=>[y(s(t.id),1)]),_:2},1024),f("span",jt,s(t.name),1),f("span",Ft,s(t.description),1)]))),128))]),_:1},8,["title"])]),_:1})]),_:1}),a(Ge,{activeKey:ie.value,"onUpdate:activeKey":l[3]||(l[3]=t=>ie.value=t),class:"privacy-tabs"},{default:o(()=>[a(Ce,{key:"models",tab:e.$t("privacy.tabs.models")},{default:o(()=>[f("div",Tt,[a(H,{value:D.value,"onUpdate:value":l[0]||(l[0]=t=>D.value=t),size:"small","button-style":"solid"},{default:o(()=>[a(P,{value:""},{default:o(()=>[y(s(e.$t("privacy.filter.all")),1)]),_:1}),(u(!0),m(z,null,T(_(ut),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(ge(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Se,{columns:Me.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:t=>e.$t("privacy.table.totalSuffix",{n:t})},size:"small",loading:L.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="name"?(u(),m(z,{key:0},[f("span",Ot,s(p.name),1),f("div",Pt,s(p.modelType)+" / "+s(p.architecture),1)],64)):k("",!0),t.key==="status"?(u(),C(N,{key:1,color:Ue(p.status)},{default:o(()=>[y(s(ge(p.status)),1)]),_:2},1032,["color"])):k("",!0),t.key==="progress"?(u(),m(z,{key:2},[a($e,{percent:p.totalRounds?Math.round(100*p.currentRound/p.totalRounds):0,size:"small",status:p.status==="failed"?"exception":p.status==="completed"?"success":"active"},null,8,["percent","status"]),f("div",Ut,s(e.$t("privacy.table.rounds",{cur:p.currentRound,total:p.totalRounds})),1)],64)):k("",!0),t.key==="accuracy"?(u(),m(z,{key:3},[f("span",{style:st({color:we(p.accuracy),fontFamily:"monospace"})},s((p.accuracy*100).toFixed(1))+"% ",5),p.loss!=null?(u(),m("div",Bt," loss "+s(p.loss.toFixed(3)),1)):k("",!0)],64)):k("",!0),t.key==="participants"?(u(),C(N,{key:4,color:"blue",style:{"font-size":"11px"}},{default:o(()=>[y(s(p.participantCount),1)]),_:2},1024)):k("",!0),t.key==="budget"?(u(),m("span",wt,s(p.privacyBudgetSpent.toFixed(3)),1)):k("",!0),t.key==="updatedAt"?(u(),m("span",Nt,s(_(Ae)(p.updatedAt)),1)):k("",!0),t.key==="action"?(u(),m(z,{key:7},[Ne(p)?(u(),C(d,{key:0,size:"small",type:"link",loading:ae.value===p.id,onClick:ze=>Ie(p)},{default:o(()=>[y(s(e.$t("privacy.table.trainOne")),1)]),_:1},8,["loading","onClick"])):k("",!0),p.status!=="failed"&&p.status!=="completed"?(u(),C(We,{key:1,title:e.$t("privacy.table.failConfirm"),"ok-text":e.$t("privacy.table.failOk"),"cancel-text":e.$t("privacy.table.failCancel"),onConfirm:ze=>Je(p)},{default:o(()=>[a(d,{size:"small",type:"link",danger:""},{default:o(()=>[y(s(e.$t("privacy.table.failMark")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):k("",!0)],64)):k("",!0)]),emptyText:o(()=>[f("div",Et,[a(_(pe),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),y(" "+s(D.value?e.$t("privacy.table.emptyModelsFiltered"):e.$t("privacy.table.emptyModels")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(Ce,{key:"computations",tab:e.$t("privacy.tabs.computations")},{default:o(()=>[f("div",qt,[a(H,{value:V.value,"onUpdate:value":l[1]||(l[1]=t=>V.value=t),size:"small"},{default:o(()=>[a(P,{value:""},{default:o(()=>[y(s(e.$t("privacy.filter.allProtocols")),1)]),_:1}),(u(!0),m(z,null,T(_(Re),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(H,{value:Q.value,"onUpdate:value":l[2]||(l[2]=t=>Q.value=t),size:"small"},{default:o(()=>[a(P,{value:""},{default:o(()=>[y(s(e.$t("privacy.filter.allStatuses")),1)]),_:1}),(u(!0),m(z,null,T(_(pt),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(be(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Se,{columns:je.value,"data-source":Pe.value,pagination:{pageSize:20,showTotal:t=>e.$t("privacy.table.totalSuffix",{n:t})},size:"small",loading:L.value,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:t,record:p})=>[t.key==="type"?(u(),m("span",Ht,s(p.computationType),1)):k("",!0),t.key==="protocol"?(u(),C(N,{key:1,color:"purple",style:{"font-family":"monospace"}},{default:o(()=>[y(s(p.protocol),1)]),_:2},1024)):k("",!0),t.key==="progress"?(u(),C($e,{key:2,percent:p.sharesRequired?Math.round(100*p.sharesReceived/p.sharesRequired):0,size:"small",status:p.status==="completed"?"success":"active",format:()=>`${p.sharesReceived}/${p.sharesRequired}`},null,8,["percent","status","format"])):k("",!0),t.key==="status"?(u(),C(N,{key:3,color:Be(p.status)},{default:o(()=>[y(s(be(p.status)),1)]),_:2},1032,["color"])):k("",!0),t.key==="time"?(u(),m(z,{key:4},[p.computationTimeMs!=null?(u(),m("span",It,s(p.computationTimeMs)+" ms ",1)):(u(),m("span",Jt,"—"))],64)):k("",!0),t.key==="createdAt"?(u(),m("span",Dt,s(_(Ae)(p.createdAt)),1)):k("",!0),t.key==="action"?(u(),m(z,{key:6},[p.status!=="completed"?(u(),C(d,{key:0,size:"small",type:"link",loading:le.value===p.id,onClick:ze=>De(p)},{default:o(()=>[y(s(e.$t("privacy.table.submitShare")),1)]),_:1},8,["loading","onClick"])):(u(),m("span",Kt," hash "+s(p.resultHash?.slice(0,8)||"—"),1))],64)):k("",!0)]),emptyText:o(()=>[f("div",Vt,[a(_(ce),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),y(" "+s(e.$t("privacy.table.emptyComputations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(Y,{open:W.value,"onUpdate:open":l[10]||(l[10]=t=>W.value=t),title:e.$t("privacy.model_modal.title"),"confirm-loading":j.value,width:540,"ok-text":e.$t("privacy.model_modal.ok"),"cancel-text":e.$t("privacy.model_modal.cancel"),onOk:qe,onCancel:he},{default:o(()=>[a(X,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(x,{label:e.$t("privacy.model_modal.nameLabel"),required:""},{default:o(()=>[a(K,{value:c.name,"onUpdate:value":l[4]||(l[4]=t=>c.name=t),placeholder:e.$t("privacy.model_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.model_modal.typeLabel")},{default:o(()=>[a(K,{value:c.modelType,"onUpdate:value":l[5]||(l[5]=t=>c.modelType=t),placeholder:e.$t("privacy.model_modal.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.model_modal.archLabel")},{default:o(()=>[a(K,{value:c.architecture,"onUpdate:value":l[6]||(l[6]=t=>c.architecture=t),placeholder:e.$t("privacy.model_modal.archPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.model_modal.roundsLabel")},{default:o(()=>[a(E,{value:c.rounds,"onUpdate:value":l[7]||(l[7]=t=>c.rounds=t),min:1,max:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.model_modal.lrLabel")},{default:o(()=>[a(E,{value:c.lr,"onUpdate:value":l[8]||(l[8]=t=>c.lr=t),min:0,max:1,step:.001,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.model_modal.participantsLabel")},{default:o(()=>[a(E,{value:c.participants,"onUpdate:value":l[9]||(l[9]=t=>c.participants=t),min:0,max:1e3,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:G.value,"onUpdate:open":l[15]||(l[15]=t=>G.value=t),title:e.$t("privacy.computation_modal.title"),"confirm-loading":j.value,width:520,"ok-text":e.$t("privacy.computation_modal.ok"),"cancel-text":e.$t("privacy.computation_modal.cancel"),onOk:He,onCancel:_e},{default:o(()=>[a(X,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(x,{label:e.$t("privacy.computation_modal.typeLabel"),required:""},{default:o(()=>[a(K,{value:$.type,"onUpdate:value":l[11]||(l[11]=t=>$.type=t),placeholder:e.$t("privacy.computation_modal.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.computation_modal.protocolLabel")},{default:o(()=>[a(Ye,{value:$.protocol,"onUpdate:value":l[12]||(l[12]=t=>$.protocol=t)},{default:o(()=>[(u(!0),m(z,null,T(_(Re),t=>(u(),C(Xe,{key:t,value:t},{default:o(()=>[y(s(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.computation_modal.participantsLabel")},{default:o(()=>[a(xe,{value:$.participants,"onUpdate:value":l[13]||(l[13]=t=>$.participants=t),placeholder:e.$t("privacy.computation_modal.participantsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.computation_modal.thresholdLabel")},{default:o(()=>[a(E,{value:$.threshold,"onUpdate:value":l[14]||(l[14]=t=>$.threshold=t),min:2,max:100,placeholder:e.$t("privacy.computation_modal.thresholdPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:ne.value,"onUpdate:open":l[21]||(l[21]=t=>ne.value=t),title:e.$t("privacy.dp_modal.title"),"confirm-loading":ee.value,width:520,"ok-text":e.$t("privacy.dp_modal.ok"),"cancel-text":e.$t("privacy.dp_modal.cancel"),onOk:Ke},{default:o(()=>[a(X,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(x,{label:e.$t("privacy.dp_modal.dataLabel"),required:""},{default:o(()=>[a(K,{value:S.data,"onUpdate:value":l[16]||(l[16]=t=>S.data=t),placeholder:e.$t("privacy.dp_modal.dataPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.dp_modal.mechanismLabel")},{default:o(()=>[a(H,{value:S.mechanism,"onUpdate:value":l[17]||(l[17]=t=>S.mechanism=t)},{default:o(()=>[(u(!0),m(z,null,T(_(ct),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.dp_modal.epsilonLabel")},{default:o(()=>[a(E,{value:S.epsilon,"onUpdate:value":l[18]||(l[18]=t=>S.epsilon=t),min:0,step:.01,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.dp_modal.deltaLabel")},{default:o(()=>[a(E,{value:S.delta,"onUpdate:value":l[19]||(l[19]=t=>S.delta=t),min:0,step:1e-6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.dp_modal.sensitivityLabel")},{default:o(()=>[a(E,{value:S.sensitivity,"onUpdate:value":l[20]||(l[20]=t=>S.sensitivity=t),min:0,step:.1,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),M.value?(u(),C(F,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:o(()=>[M.value.published?(u(),m(z,{key:0},[a(B,{title:e.$t("privacy.dp_modal.noisedTitle"),value:M.value.data,precision:3,"value-style":{color:"#52c41a"}},null,8,["title","value"]),f("div",Qt,[f("div",null,s(e.$t("privacy.dp_modal.spentLine",{n:M.value.budgetSpent.toFixed(3)})),1),f("div",null,s(e.$t("privacy.dp_modal.remainingLine",{n:M.value.budgetRemaining.toFixed(3)})),1),f("div",null,s(e.$t("privacy.dp_modal.mechanismLine",{name:M.value.mechanism,epsilon:M.value.epsilon})),1)])],64)):(u(),C(B,{key:1,title:e.$t("privacy.dp_modal.failedTitle"),value:M.value.reason||"unknown","value-style":{color:"#ff4d4f"}},null,8,["title","value"]))]),_:1})):k("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(Y,{open:re.value,"onUpdate:open":l[25]||(l[25]=t=>re.value=t),title:e.$t("privacy.he_modal.title"),"confirm-loading":te.value,width:500,"ok-text":e.$t("privacy.he_modal.ok"),"cancel-text":e.$t("privacy.he_modal.cancel"),onOk:Ve},{default:o(()=>[a(X,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(x,{label:e.$t("privacy.he_modal.dataLabel"),required:""},{default:o(()=>[a(xe,{value:A.data,"onUpdate:value":l[22]||(l[22]=t=>A.data=t),placeholder:e.$t("privacy.he_modal.dataPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.he_modal.operationLabel")},{default:o(()=>[a(H,{value:A.operation,"onUpdate:value":l[23]||(l[23]=t=>A.operation=t)},{default:o(()=>[(u(!0),m(z,null,T(_(mt),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(x,{label:e.$t("privacy.he_modal.schemeLabel")},{default:o(()=>[a(H,{value:A.scheme,"onUpdate:value":l[24]||(l[24]=t=>A.scheme=t)},{default:o(()=>[(u(!0),m(z,null,T(_(dt),t=>(u(),C(P,{key:t,value:t},{default:o(()=>[y(s(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"])]),_:1}),O.value?(u(),C(F,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:o(()=>[a(B,{title:e.$t("privacy.he_modal.resultTitle"),value:O.value.result,"value-style":{color:"#1677ff"}},null,8,["title","value"]),f("div",Wt,[f("div",null,s(e.$t("privacy.he_modal.schemeLine",{name:O.value.scheme})),1),f("div",null,s(e.$t("privacy.he_modal.operationLine",{name:O.value.operation})),1),f("div",null,s(e.$t("privacy.he_modal.inputCountLine",{n:O.value.inputCount})),1),O.value.encrypted?(u(),C(N,{key:0,color:"green",style:{"margin-top":"4px","font-size":"10px"}},{default:o(()=>[y(s(e.$t("privacy.he_modal.encrypted")),1)]),_:1})):k("",!0)])]),_:1})):k("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},aa=Ze(Gt,[["__scopeId","data-v-fe89c543"]]);export{aa as default};
@@ -1 +0,0 @@
1
- import{M as f,R as _,P as l,c as m,N as d,Q as A,S as v,K as b,r as w,L as o,a0 as M,a1 as N,O as q,u as x}from"./vendor-B6ToihkA.js";import{u as E}from"./ws-D_5-FRIb.js";import{b as K,ad as P,ae as T,f as V}from"./icons-DvZE-RKs.js";function L(){const h=[];let s=null,c=!1,t=null;return{push(e){if(h.push(e),s){const a=s;s=null,a()}},finish(e){if(c=!0,t=e||null,s){const a=s;s=null,a()}},async*iterate(){for(;;){for(;h.length>0;)yield h.shift();if(c){if(t)throw t;return}await new Promise(e=>{s=e})}}}}function Q(){const h=E();function s(t){if(!t||!Array.isArray(t.messages))throw new Error("messages array is required");const e=L(),a=new AbortController;t.signal&&(t.signal.aborted?a.abort(t.signal.reason):t.signal.addEventListener("abort",()=>a.abort(t.signal.reason),{once:!0}));const i=h.sendStream({type:"llm.chat",messages:t.messages,options:t.options||{}},{onChunk:u=>e.push(u),idleMs:t.idleMs??6e4,signal:a.signal}).then(u=>(e.finish(null),u),u=>{throw e.finish(u),u});function r(){a.signal.aborted||a.abort(new Error("aborted"))}return{stream:e.iterate(),result:i,cancel:r}}async function c(t){const e=typeof t.onDelta=="function"?t.onDelta:()=>{},{stream:a,result:i}=s(t);try{for await(const r of a)e(r)}catch{}return i}return{chat:s,chatTo:c}}const U={style:{"margin-bottom":"24px"}},j={class:"page-title"},F={class:"page-sub"},R={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-top":"12px"}},W={style:{display:"flex",gap:"8px","align-items":"center",color:"var(--text-muted)","font-size":"11px"}},G={key:0},H={key:1},I={key:2},J={key:0,style:{color:"#1677ff","font-size":"11px"}},X={key:1,style:{color:"#52c41a","font-size":"11px"}},Y={key:0,style:{margin:"0","white-space":"pre-wrap","font-family":"var(--font-body, system-ui)","font-size":"13px"}},Z={key:2,style:{background:"#2a1517",border:"1px solid #5c2426",padding:"8px","border-radius":"4px","margin-top":"8px"}},ee={style:{color:"#ff7875","font-size":"11px",margin:"0","white-space":"pre-wrap"}},le={__name:"QuickAsk",setup(h){const s=Q(),c=w(""),t=w(""),e=w(""),a=w(!1),i=w(""),r=w(null);let u=null;async function $(){if(!(a.value||!c.value.trim())){a.value=!0,e.value="",i.value="",r.value=null;try{const n=[{role:"user",content:c.value}],k={},C=t.value.trim();C&&(k.model=C);const g=s.chat({messages:n,options:k});u=g;try{for await(const y of g.stream)y?.content?e.value=y.content:y?.delta&&(e.value+=y.delta)}catch{}const p=await g.result;r.value={model:p?.model||null,tokens:p?.tokens??null},!e.value&&p?.message?.content&&(e.value=p.message.content)}catch(n){i.value=n?.message||String(n)}finally{a.value=!1,u=null}}}function O(){u?.cancel&&u.cancel()}function B(){e.value="",i.value="",r.value=null}return(n,k)=>{const C=b("a-textarea"),g=b("a-input"),p=b("a-button"),y=b("a-space"),z=b("a-card"),D=b("a-empty");return o(),f("div",null,[_("div",U,[_("h2",j,l(n.$t("quickAsk.title")),1),_("p",F,l(n.$t("quickAsk.subtitle")),1)]),m(z,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:d(()=>[m(C,{value:c.value,"onUpdate:value":k[0]||(k[0]=S=>c.value=S),rows:4,placeholder:n.$t("quickAsk.promptPlaceholder"),disabled:a.value,onKeydown:[M(N($,["ctrl","prevent"]),["enter"]),M(N($,["meta","prevent"]),["enter"])]},null,8,["value","placeholder","disabled","onKeydown"]),_("div",R,[_("div",W,[m(g,{value:t.value,"onUpdate:value":k[1]||(k[1]=S=>t.value=S),placeholder:n.$t("quickAsk.modelPlaceholder"),size:"small",style:{width:"200px"},disabled:a.value,"allow-clear":""},null,8,["value","placeholder","disabled"]),e.value?(o(),f("span",G,l(e.value.length)+" "+l(n.$t("quickAsk.charsSuffix")),1)):v("",!0),r.value?(o(),f("span",H,"· "+l(r.value.tokens??0)+" "+l(n.$t("quickAsk.tokensSuffix")),1)):v("",!0),r.value?.model?(o(),f("span",I,"· "+l(r.value.model),1)):v("",!0)]),m(y,null,{default:d(()=>[e.value||i.value?(o(),A(p,{key:0,disabled:a.value,onClick:B},{default:d(()=>[q(l(n.$t("quickAsk.clear")),1)]),_:1},8,["disabled"])):v("",!0),a.value?(o(),A(p,{key:1,danger:"",onClick:O},{icon:d(()=>[m(x(K))]),default:d(()=>[q(" "+l(n.$t("quickAsk.cancel")),1)]),_:1})):(o(),A(p,{key:2,type:"primary",disabled:!c.value.trim(),onClick:$},{icon:d(()=>[m(x(P))]),default:d(()=>[q(" "+l(n.$t("quickAsk.send")),1)]),_:1},8,["disabled"]))]),_:1})])]),_:1}),e.value||a.value||i.value?(o(),A(z,{key:0,title:n.$t("quickAsk.answerCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{extra:d(()=>[a.value?(o(),f("span",J,[m(x(T),{spin:!0}),q(" "+l(n.$t("quickAsk.streaming")),1)])):r.value?(o(),f("span",X,[m(x(V)),q(" "+l(n.$t("quickAsk.done")),1)])):v("",!0)]),default:d(()=>[e.value?(o(),f("pre",Y,l(e.value),1)):a.value?(o(),A(D,{key:1,description:n.$t("quickAsk.waitingFirstToken")},null,8,["description"])):v("",!0),i.value?(o(),f("div",Z,[_("pre",ee,l(i.value),1)])):v("",!0)]),_:1},8,["title"])):v("",!0)])}}};export{le as default};