chainlesschain 0.158.0 → 0.160.1

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 (331) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/.build-hash +1 -1
  3. package/src/assets/web-panel/assets/AIOps-BHiKMxFI.js +1 -0
  4. package/src/assets/web-panel/assets/AIOps-Cchx1iXI.css +1 -0
  5. package/src/assets/web-panel/assets/ActionButton-5QD5uzWP.js +1 -0
  6. package/src/assets/web-panel/assets/Analytics-C1-TXmTC.css +1 -0
  7. package/src/assets/web-panel/assets/Analytics-D1JxsGBN.js +3 -0
  8. package/src/assets/web-panel/assets/AppLayout-CtGprHSx.css +1 -0
  9. package/src/assets/web-panel/assets/AppLayout-DykU9tOE.js +1 -0
  10. package/src/assets/web-panel/assets/Audit-6ZMsXmrO.css +1 -0
  11. package/src/assets/web-panel/assets/Audit-TGBqld9c.js +1 -0
  12. package/src/assets/web-panel/assets/Backup-CY9QozR7.css +1 -0
  13. package/src/assets/web-panel/assets/Backup-DjpzIwA6.js +1 -0
  14. package/src/assets/web-panel/assets/BaseInput-joQlVauq.js +1 -0
  15. package/src/assets/web-panel/assets/Chat-9TYfosy-.js +2 -0
  16. package/src/assets/web-panel/assets/{Chat-DmX5bWvL.css → Chat-ByiYUboW.css} +1 -1
  17. package/src/assets/web-panel/assets/Checkbox-OEOFA9GM.js +1 -0
  18. package/src/assets/web-panel/assets/Codegen-5H5UgHJu.js +1 -0
  19. package/src/assets/web-panel/assets/Codegen-BLP7id2a.css +1 -0
  20. package/src/assets/web-panel/assets/Col-BnLUipDp.js +1 -0
  21. package/src/assets/web-panel/assets/Community-BF3R5GAl.js +1 -0
  22. package/src/assets/web-panel/assets/Community-C2RejeOY.css +1 -0
  23. package/src/assets/web-panel/assets/Compact-C1EkTFek.js +1 -0
  24. package/src/assets/web-panel/assets/Compliance-CpP-ODRU.js +1 -0
  25. package/src/assets/web-panel/assets/Compliance-DOys4Ov1.css +1 -0
  26. package/src/assets/web-panel/assets/{Cowork-pgKzBNDo.js → Cowork-CCgGSKVR.js} +3 -3
  27. package/src/assets/web-panel/assets/Cron-CZ5pjRxn.js +2 -0
  28. package/src/assets/web-panel/assets/Crosschain-C0P-5sm3.js +1 -0
  29. package/src/assets/web-panel/assets/Crosschain-C7Le4Pte.css +1 -0
  30. package/src/assets/web-panel/assets/DID-BX6k3jZi.css +1 -0
  31. package/src/assets/web-panel/assets/DID-DPZKMApP.js +2 -0
  32. package/src/assets/web-panel/assets/Dashboard-G-BDDAov.js +3 -0
  33. package/src/assets/web-panel/assets/Dashboard-MFDcsVcM.css +1 -0
  34. package/src/assets/web-panel/assets/Dropdown-CeywCcVQ.js +1 -0
  35. package/src/assets/web-panel/assets/Federation-CgmfLbx1.css +1 -0
  36. package/src/assets/web-panel/assets/Federation-DuFRY867.js +1 -0
  37. package/src/assets/web-panel/assets/{FormItemContext-CnzbixSE.js → FormItemContext-CFSiPqbu.js} +1 -1
  38. package/src/assets/web-panel/assets/Git-CjVRJDLg.js +2 -0
  39. package/src/assets/web-panel/assets/{Git-DGcuBXST.css → Git-DPuaGtg7.css} +1 -1
  40. package/src/assets/web-panel/assets/Governance-BoipmXaM.css +1 -0
  41. package/src/assets/web-panel/assets/Governance-C0lyocJc.js +1 -0
  42. package/src/assets/web-panel/assets/Inference-BVSAexgk.js +1 -0
  43. package/src/assets/web-panel/assets/Inference-BWxYJF9-.css +1 -0
  44. package/src/assets/web-panel/assets/KnowledgeGraph-CztPDA96.css +1 -0
  45. package/src/assets/web-panel/assets/KnowledgeGraph-SE4jCwIn.js +1 -0
  46. package/src/assets/web-panel/assets/Logs-BD5C-wTx.js +2 -0
  47. package/src/assets/web-panel/assets/Marketplace-CL93dFBs.js +1 -0
  48. package/src/assets/web-panel/assets/Marketplace-Djp5q9dS.css +1 -0
  49. package/src/assets/web-panel/assets/McpTools-CDjHmzxH.css +1 -0
  50. package/src/assets/web-panel/assets/McpTools-x-Tibae-.js +5 -0
  51. package/src/assets/web-panel/assets/Memory-Bcc2hxOA.css +1 -0
  52. package/src/assets/web-panel/assets/Memory-CR8LXq37.js +2 -0
  53. package/src/assets/web-panel/assets/Mtc-C-PfF5B3.css +1 -0
  54. package/src/assets/web-panel/assets/Mtc-CEtRtMcc.js +1 -0
  55. package/src/assets/web-panel/assets/NLProgramming-B09F6gt2.js +1 -0
  56. package/src/assets/web-panel/assets/NLProgramming-CLOvy-35.css +1 -0
  57. package/src/assets/web-panel/assets/Notes-BYIn2GOe.js +7 -0
  58. package/src/assets/web-panel/assets/Notes-DKkPfXlY.css +1 -0
  59. package/src/assets/web-panel/assets/Organization-BX-cIO8M.css +1 -0
  60. package/src/assets/web-panel/assets/Organization-CybJTFN9.js +4 -0
  61. package/src/assets/web-panel/assets/Overflow-W4YLQ7yY.js +1 -0
  62. package/src/assets/web-panel/assets/{OverrideContext-DEW2m7K6.js → OverrideContext-Nubhv68k.js} +1 -1
  63. package/src/assets/web-panel/assets/P2P-Cx88UaiD.css +1 -0
  64. package/src/assets/web-panel/assets/P2P-kVj43R4j.js +2 -0
  65. package/src/assets/web-panel/assets/Permissions-CfYE4XFJ.js +4 -0
  66. package/src/assets/web-panel/assets/Pipeline-BVLo32Ak.js +1 -0
  67. package/src/assets/web-panel/assets/Pipeline-DxkXqrH2.css +1 -0
  68. package/src/assets/web-panel/assets/Privacy-CrsfSFKd.css +1 -0
  69. package/src/assets/web-panel/assets/Privacy-Efyb3xpJ.js +1 -0
  70. package/src/assets/web-panel/assets/ProjectSettings-cBqrIhNN.js +2 -0
  71. package/src/assets/web-panel/assets/Projects-B5IgXt-x.css +1 -0
  72. package/src/assets/web-panel/assets/Projects-BYY38oZd.js +2 -0
  73. package/src/assets/web-panel/assets/Providers-BsS27cWs.js +2 -0
  74. package/src/assets/web-panel/assets/QuickAsk-6FgX9DC6.js +1 -0
  75. package/src/assets/web-panel/assets/Recommend-BvMXwWFN.js +1 -0
  76. package/src/assets/web-panel/assets/Recommend-CH6wKzGo.css +1 -0
  77. package/src/assets/web-panel/assets/Reputation-D6VPNEd0.css +1 -0
  78. package/src/assets/web-panel/assets/Reputation-DmwTtBfl.js +1 -0
  79. package/src/assets/web-panel/assets/Row-N-X7EJ3w.js +1 -0
  80. package/src/assets/web-panel/assets/RssFeed-D9TjnwgF.js +3 -0
  81. package/src/assets/web-panel/assets/Search-B6RalzTB.css +1 -0
  82. package/src/assets/web-panel/assets/Search-Hapv-QkV.js +1 -0
  83. package/src/assets/web-panel/assets/Security-13K57V_v.css +1 -0
  84. package/src/assets/web-panel/assets/Security-DWbFJK10.js +4 -0
  85. package/src/assets/web-panel/assets/Services-BPUmhVoH.js +2 -0
  86. package/src/assets/web-panel/assets/Skeleton-Bo5qPHbE.js +8 -0
  87. package/src/assets/web-panel/assets/Skills-JJ8uInMW.js +1 -0
  88. package/src/assets/web-panel/assets/Sla-CEDF9zdV.js +1 -0
  89. package/src/assets/web-panel/assets/Sla-K19oOyQc.css +1 -0
  90. package/src/assets/web-panel/assets/SpeechSettings-DYPJTDKz.css +1 -0
  91. package/src/assets/web-panel/assets/SpeechSettings-oIoX_vCx.js +1 -0
  92. package/src/assets/web-panel/assets/Tasks-Cx5wgv5Z.js +1 -0
  93. package/src/assets/web-panel/assets/Templates-BWTV8-2E.css +1 -0
  94. package/src/assets/web-panel/assets/Templates-BomcBlkN.js +1 -0
  95. package/src/assets/web-panel/assets/Tenant-BxSQZUNh.js +1 -0
  96. package/src/assets/web-panel/assets/Tenant-D3zkSAV0.css +1 -0
  97. package/src/assets/web-panel/assets/Tokens-BBOdNRHQ.css +1 -0
  98. package/src/assets/web-panel/assets/Tokens-BlPPoB3C.js +1 -0
  99. package/src/assets/web-panel/assets/Trigger-Bhjmjsc5.js +1 -0
  100. package/src/assets/web-panel/assets/Trust-DeOo0xAh.css +1 -0
  101. package/src/assets/web-panel/assets/Trust-Dsjv7rkb.js +1 -0
  102. package/src/assets/web-panel/assets/UkeySign-Cux8_Ib_.js +1 -0
  103. package/src/assets/web-panel/assets/VideoEditing-BsVR1PN8.js +1 -0
  104. package/src/assets/web-panel/assets/VideoEditing-DksiizfS.css +1 -0
  105. package/src/assets/web-panel/assets/Wallet-dcRAYsdL.js +4 -0
  106. package/src/assets/web-panel/assets/Wallet-gR0ZvZbK.css +1 -0
  107. package/src/assets/web-panel/assets/WebAuthn-SSh5VhVO.css +1 -0
  108. package/src/assets/web-panel/assets/WebAuthn-oqIS5PCi.js +5 -0
  109. package/src/assets/web-panel/assets/WorkflowEditor-C_fYMBvB.js +1 -0
  110. package/src/assets/web-panel/assets/WorkflowEditor-IiwsD8Kh.css +1 -0
  111. package/src/assets/web-panel/assets/{chat-CVn-r3oV.js → chat-BQ-Nk2XY.js} +1 -1
  112. package/src/assets/web-panel/assets/{collapseMotion-D3P4mRvK.js → collapseMotion-BIjDVXtT.js} +1 -1
  113. package/src/assets/web-panel/assets/{colors-BiB5aDao.js → colors-D2P6CqS5.js} +1 -1
  114. package/src/assets/web-panel/assets/{compact-item-CHderV9n.js → compact-item-CG7qutT_.js} +1 -1
  115. package/src/assets/web-panel/assets/{createContext-DMZ-5dy2.js → createContext-y4UPKgbA.js} +1 -1
  116. package/src/assets/web-panel/assets/echarts-DmBLM6YO.js +19 -0
  117. package/src/assets/web-panel/assets/{hasIn-BKDBYP3s.js → hasIn-Butbu9jZ.js} +1 -1
  118. package/src/assets/web-panel/assets/icons-DvZE-RKs.js +57 -0
  119. package/src/assets/web-panel/assets/index-38mVlGHc.js +1 -0
  120. package/src/assets/web-panel/assets/{index-C1p_dZw0.js → index-89HJLKZ-.js} +3 -3
  121. package/src/assets/web-panel/assets/index-B4Jfv4EB.js +1 -0
  122. package/src/assets/web-panel/assets/index-B5FRjJMb.js +1 -0
  123. package/src/assets/web-panel/assets/{index-DvI8Xtzv.js → index-B6U6cYUa.js} +8 -8
  124. package/src/assets/web-panel/assets/index-B7FV5EnN.js +1 -0
  125. package/src/assets/web-panel/assets/index-BCQ0WlB2.js +1 -0
  126. package/src/assets/web-panel/assets/index-BEfvpbz-.js +1 -0
  127. package/src/assets/web-panel/assets/index-BJN_3RTO.js +1 -0
  128. package/src/assets/web-panel/assets/index-BQfow_sh.js +1 -0
  129. package/src/assets/web-panel/assets/index-BQr8Y0o5.js +1 -0
  130. package/src/assets/web-panel/assets/index-BYZPJS7A.js +1 -0
  131. package/src/assets/web-panel/assets/index-Bs9aHxDD.js +13 -0
  132. package/src/assets/web-panel/assets/index-BtuwtDUE.js +1 -0
  133. package/src/assets/web-panel/assets/index-BvJgRWBq.js +3 -0
  134. package/src/assets/web-panel/assets/index-C1mK1Ga3.js +1 -0
  135. package/src/assets/web-panel/assets/index-C1ucrJLg.js +1 -0
  136. package/src/assets/web-panel/assets/index-C2K61jP8.js +55 -0
  137. package/src/assets/web-panel/assets/index-CAeKBs9n.js +1 -0
  138. package/src/assets/web-panel/assets/{index-BBWUR4u4.js → index-CWh3IxEh.js} +2 -2
  139. package/src/assets/web-panel/assets/{index-CUT3Nmzx.js → index-CYlDKn3O.js} +3 -3
  140. package/src/assets/web-panel/assets/index-C_8hWf5_.js +6 -0
  141. package/src/assets/web-panel/assets/index-Cc77JZKd.js +1 -0
  142. package/src/assets/web-panel/assets/index-Ceaxjpqh.js +13 -0
  143. package/src/assets/web-panel/assets/index-CfX1DEtk.css +1 -0
  144. package/src/assets/web-panel/assets/index-Ci6jXp3l.js +7 -0
  145. package/src/assets/web-panel/assets/index-CyqU4Tck.js +65 -0
  146. package/src/assets/web-panel/assets/{index-7fxCGMoL.js → index-DLMJy9pE.js} +6 -6
  147. package/src/assets/web-panel/assets/index-DdgjeX4z.js +1 -0
  148. package/src/assets/web-panel/assets/index-DnI4Aq0q.js +3 -0
  149. package/src/assets/web-panel/assets/index-DrVnyYpX.js +1 -0
  150. package/src/assets/web-panel/assets/index-DtNHlrxp.js +1 -0
  151. package/src/assets/web-panel/assets/index-Dx_ZTZo_.js +1 -0
  152. package/src/assets/web-panel/assets/{index-CBYNsy51.js → index-YmGOWX7h.js} +2 -2
  153. package/src/assets/web-panel/assets/index-gWmZm8_Q.js +21 -0
  154. package/src/assets/web-panel/assets/index-hSilB_Q-.js +12 -0
  155. package/src/assets/web-panel/assets/index-qXvwlbkq.js +3 -0
  156. package/src/assets/web-panel/assets/index-rIbVsjde.js +12 -0
  157. package/src/assets/web-panel/assets/{index-B7fivpG2.js → index-vC5cTycG.js} +2 -2
  158. package/src/assets/web-panel/assets/{initDefaultProps-B2vQoQga.js → initDefaultProps-CZRZ-1bk.js} +1 -1
  159. package/src/assets/web-panel/assets/motion-CvU8SiWF.js +11 -0
  160. package/src/assets/web-panel/assets/move-ipAfWhya.js +4 -0
  161. package/src/assets/web-panel/assets/mtc-parser-pGMSt10g.js +1 -0
  162. package/src/assets/web-panel/assets/{omit-DvLh7wH1.js → omit-D6bJEjz9.js} +1 -1
  163. package/src/assets/web-panel/assets/{pickAttrs-BsseBclw.js → pickAttrs-Dpvzf7sL.js} +1 -1
  164. package/src/assets/web-panel/assets/{placementArrow-XLLtr9qD.js → placementArrow-D_tEolP1.js} +1 -1
  165. package/src/assets/web-panel/assets/{responsiveObserve-ByCb5zZK.js → responsiveObserve-BEFI7neO.js} +1 -1
  166. package/src/assets/web-panel/assets/slide-Bte_KOqM.js +4 -0
  167. package/src/assets/web-panel/assets/statusUtils-K4xaDRuO.js +1 -0
  168. package/src/assets/web-panel/assets/{styleChecker-Cz5mJgc8.js → styleChecker-Cl9YgOVY.js} +1 -1
  169. package/src/assets/web-panel/assets/useFlexGapSupport-DNstl1wK.js +1 -0
  170. package/src/assets/web-panel/assets/useFs-BD-YRwbU.js +1 -0
  171. package/src/assets/web-panel/assets/{useMergedState-DbHXwBgv.js → useMergedState-TP9VIF2K.js} +1 -1
  172. package/src/assets/web-panel/assets/{useRefs-DRyTVik7.js → useRefs-BhIz_lC3.js} +1 -1
  173. package/src/assets/web-panel/assets/useShellMode-CgR0wCYM.js +1 -0
  174. package/src/assets/web-panel/assets/{useState-DoAhV80c.js → useState-CpKsyozn.js} +1 -1
  175. package/src/assets/web-panel/assets/vendor-B6ToihkA.js +1 -0
  176. package/src/assets/web-panel/assets/vnode-ChB-8cXr.js +1 -0
  177. package/src/assets/web-panel/assets/ws-D_5-FRIb.js +1 -0
  178. package/src/assets/web-panel/assets/zoom-meTNBulL.js +4 -0
  179. package/src/assets/web-panel/index.html +4 -4
  180. package/src/commands/audit.js +296 -0
  181. package/src/commands/init.js +16 -1
  182. package/src/commands/mtc.js +1401 -86
  183. package/src/gateways/ws/ws-session-gateway.js +12 -1
  184. package/src/lib/audit-mtc.js +504 -0
  185. package/src/lib/listen-with-port-fallback.js +103 -0
  186. package/src/runtime/agent-runtime.js +80 -18
  187. package/src/assets/web-panel/assets/AIOps-9QEKGr43.js +0 -1
  188. package/src/assets/web-panel/assets/AIOps-Bfzpnnlg.css +0 -1
  189. package/src/assets/web-panel/assets/ActionButton-BQElVBgD.js +0 -1
  190. package/src/assets/web-panel/assets/Analytics-BFI7jbwM.css +0 -1
  191. package/src/assets/web-panel/assets/Analytics-DbZbFR_a.js +0 -3
  192. package/src/assets/web-panel/assets/AppLayout-BbfBwVfE.js +0 -1
  193. package/src/assets/web-panel/assets/AppLayout-CKMl4NLf.css +0 -1
  194. package/src/assets/web-panel/assets/Audit-DzddAZVx.js +0 -1
  195. package/src/assets/web-panel/assets/Audit-L4_ApS01.css +0 -1
  196. package/src/assets/web-panel/assets/Backup-D46qSgzQ.js +0 -1
  197. package/src/assets/web-panel/assets/Backup-fZqtfC1m.css +0 -1
  198. package/src/assets/web-panel/assets/BaseInput-60t9IMEz.js +0 -1
  199. package/src/assets/web-panel/assets/Chat-3Kj2JQP4.js +0 -2
  200. package/src/assets/web-panel/assets/Checkbox-Ba1Rf2Ea.js +0 -1
  201. package/src/assets/web-panel/assets/Codegen-AVAcL7NA.css +0 -1
  202. package/src/assets/web-panel/assets/Codegen-WiYmL3oB.js +0 -1
  203. package/src/assets/web-panel/assets/Col-D2zhpSqE.js +0 -1
  204. package/src/assets/web-panel/assets/Community-DgqmUGwT.js +0 -1
  205. package/src/assets/web-panel/assets/Community-DqDfLQui.css +0 -1
  206. package/src/assets/web-panel/assets/Compact-D_dbJDbi.js +0 -1
  207. package/src/assets/web-panel/assets/Compliance-BVcVb-e2.js +0 -1
  208. package/src/assets/web-panel/assets/Compliance-CKxw6vIq.css +0 -1
  209. package/src/assets/web-panel/assets/Cron-Cs5QaKTP.js +0 -2
  210. package/src/assets/web-panel/assets/Crosschain-DThGgQk8.css +0 -1
  211. package/src/assets/web-panel/assets/Crosschain-pjWfIM8s.js +0 -1
  212. package/src/assets/web-panel/assets/DID-BDvsVa08.css +0 -1
  213. package/src/assets/web-panel/assets/DID-DQtsjz3X.js +0 -2
  214. package/src/assets/web-panel/assets/Dashboard-Cviwdc26.css +0 -1
  215. package/src/assets/web-panel/assets/Dashboard-sqj42zKx.js +0 -3
  216. package/src/assets/web-panel/assets/Dropdown-BM_ljd87.js +0 -1
  217. package/src/assets/web-panel/assets/Federation-BftELHDw.css +0 -1
  218. package/src/assets/web-panel/assets/Federation-CId-3zn6.js +0 -1
  219. package/src/assets/web-panel/assets/Git-B38QeOPF.js +0 -2
  220. package/src/assets/web-panel/assets/Governance-BfmfQBGB.css +0 -1
  221. package/src/assets/web-panel/assets/Governance-DrGkAjd1.js +0 -1
  222. package/src/assets/web-panel/assets/Inference-BjkHB4sD.js +0 -1
  223. package/src/assets/web-panel/assets/Inference-EFFc7eNZ.css +0 -1
  224. package/src/assets/web-panel/assets/Keyframes-C7fCrnlS.js +0 -1
  225. package/src/assets/web-panel/assets/KnowledgeGraph-Trs1XJFK.js +0 -19
  226. package/src/assets/web-panel/assets/KnowledgeGraph-U8ps3aGJ.css +0 -1
  227. package/src/assets/web-panel/assets/Logs-B39LUZs9.js +0 -2
  228. package/src/assets/web-panel/assets/Marketplace-B-4uYu_j.css +0 -1
  229. package/src/assets/web-panel/assets/Marketplace-BnpOoITi.js +0 -1
  230. package/src/assets/web-panel/assets/McpTools-CyhSLDwf.css +0 -1
  231. package/src/assets/web-panel/assets/McpTools-DbwkdBUE.js +0 -4
  232. package/src/assets/web-panel/assets/Memory-BHXHpldt.js +0 -2
  233. package/src/assets/web-panel/assets/Memory-DRghrGJr.css +0 -1
  234. package/src/assets/web-panel/assets/NLProgramming-B3BALajs.js +0 -1
  235. package/src/assets/web-panel/assets/NLProgramming-jURs-f-a.css +0 -1
  236. package/src/assets/web-panel/assets/Notes-BG69sJKi.css +0 -1
  237. package/src/assets/web-panel/assets/Notes-u6lLTv0t.js +0 -2
  238. package/src/assets/web-panel/assets/Organization-CQ1X722j.js +0 -4
  239. package/src/assets/web-panel/assets/Organization-DdOOM4ic.css +0 -1
  240. package/src/assets/web-panel/assets/Overflow-DHKu8e8g.js +0 -1
  241. package/src/assets/web-panel/assets/P2P-BflX74Hm.js +0 -2
  242. package/src/assets/web-panel/assets/P2P-OEzOeMZX.css +0 -1
  243. package/src/assets/web-panel/assets/Permissions-B2XrAUBW.js +0 -4
  244. package/src/assets/web-panel/assets/Pipeline-C0K9-DnR.js +0 -1
  245. package/src/assets/web-panel/assets/Pipeline-DyqCLFVr.css +0 -1
  246. package/src/assets/web-panel/assets/Portal-CHsntPCQ.js +0 -1
  247. package/src/assets/web-panel/assets/Privacy-BKPoZngH.js +0 -1
  248. package/src/assets/web-panel/assets/Privacy-B_cAicd1.css +0 -1
  249. package/src/assets/web-panel/assets/ProjectSettings-C34C7hFt.js +0 -2
  250. package/src/assets/web-panel/assets/Projects-DLvUzeIB.js +0 -2
  251. package/src/assets/web-panel/assets/Projects-DxKelI5h.css +0 -1
  252. package/src/assets/web-panel/assets/Providers-BFiMVWaM.js +0 -2
  253. package/src/assets/web-panel/assets/Recommend-BmUhysGC.js +0 -1
  254. package/src/assets/web-panel/assets/Recommend-DgNSCgRX.css +0 -1
  255. package/src/assets/web-panel/assets/Reputation-BlfSvJww.js +0 -1
  256. package/src/assets/web-panel/assets/Reputation-y-46ThW8.css +0 -1
  257. package/src/assets/web-panel/assets/Row-Dl74576S.js +0 -1
  258. package/src/assets/web-panel/assets/RssFeed-9_MkDUxZ.js +0 -3
  259. package/src/assets/web-panel/assets/Search-BTk9rglb.css +0 -1
  260. package/src/assets/web-panel/assets/Search-CSRY_TYa.js +0 -1
  261. package/src/assets/web-panel/assets/Security-DfDoKfkl.js +0 -4
  262. package/src/assets/web-panel/assets/Security-Dwxw7rfP.css +0 -1
  263. package/src/assets/web-panel/assets/Services-7Blny0Jc.js +0 -2
  264. package/src/assets/web-panel/assets/Skeleton-6CF_3QUY.js +0 -8
  265. package/src/assets/web-panel/assets/Skills-DowQcRe1.js +0 -1
  266. package/src/assets/web-panel/assets/Sla-B93c8j92.js +0 -1
  267. package/src/assets/web-panel/assets/Sla-C1WYuQKf.css +0 -1
  268. package/src/assets/web-panel/assets/Tasks-Db9TRjE7.js +0 -1
  269. package/src/assets/web-panel/assets/Templates-DJ_hvs5c.js +0 -1
  270. package/src/assets/web-panel/assets/Templates-DOY_oZnm.css +0 -1
  271. package/src/assets/web-panel/assets/Tenant-BJr-h-_0.css +0 -1
  272. package/src/assets/web-panel/assets/Tenant-BXS8s6vl.js +0 -1
  273. package/src/assets/web-panel/assets/Tokens-CvmTVU7E.js +0 -1
  274. package/src/assets/web-panel/assets/Tokens-KvJRHQcl.css +0 -1
  275. package/src/assets/web-panel/assets/Trigger-BenSsaoN.js +0 -1
  276. package/src/assets/web-panel/assets/Trust-BLI308Ik.css +0 -1
  277. package/src/assets/web-panel/assets/Trust-HMz40LfZ.js +0 -1
  278. package/src/assets/web-panel/assets/VideoEditing-BA1N-5kq.css +0 -1
  279. package/src/assets/web-panel/assets/VideoEditing-DEhH42sI.js +0 -1
  280. package/src/assets/web-panel/assets/Wallet-AGwfOdTM.js +0 -4
  281. package/src/assets/web-panel/assets/Wallet-DnIumafl.css +0 -1
  282. package/src/assets/web-panel/assets/WebAuthn-CNPl2VQR.css +0 -1
  283. package/src/assets/web-panel/assets/WebAuthn-DK5tKWul.js +0 -5
  284. package/src/assets/web-panel/assets/WorkflowEditor-D5bX6woe.css +0 -1
  285. package/src/assets/web-panel/assets/WorkflowEditor-vlujdL6I.js +0 -1
  286. package/src/assets/web-panel/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  287. package/src/assets/web-panel/assets/icons-ukMaZ3tx.js +0 -57
  288. package/src/assets/web-panel/assets/index-7pqZqPD2.js +0 -1
  289. package/src/assets/web-panel/assets/index-A4RpHMOa.js +0 -1
  290. package/src/assets/web-panel/assets/index-AIdelwOe.js +0 -12
  291. package/src/assets/web-panel/assets/index-B5oebI6W.js +0 -1
  292. package/src/assets/web-panel/assets/index-BBk2e7vJ.js +0 -13
  293. package/src/assets/web-panel/assets/index-BRRFK-im.js +0 -1
  294. package/src/assets/web-panel/assets/index-BVOI707f.js +0 -3
  295. package/src/assets/web-panel/assets/index-BadelvSE.js +0 -1
  296. package/src/assets/web-panel/assets/index-BfKFNptm.js +0 -14
  297. package/src/assets/web-panel/assets/index-BgDX-tzO.js +0 -1
  298. package/src/assets/web-panel/assets/index-BjSojphX.js +0 -21
  299. package/src/assets/web-panel/assets/index-BlXskar6.js +0 -1
  300. package/src/assets/web-panel/assets/index-BryAkWUJ.js +0 -1
  301. package/src/assets/web-panel/assets/index-CEpcKl17.js +0 -3
  302. package/src/assets/web-panel/assets/index-CbpCY2ch.js +0 -3
  303. package/src/assets/web-panel/assets/index-CyGyEIVX.css +0 -1
  304. package/src/assets/web-panel/assets/index-D3PGpBPm.js +0 -1
  305. package/src/assets/web-panel/assets/index-D3lD9wgX.js +0 -1
  306. package/src/assets/web-panel/assets/index-D5Beu9ZA.js +0 -1
  307. package/src/assets/web-panel/assets/index-DRRzH4Ge.js +0 -13
  308. package/src/assets/web-panel/assets/index-DRcTAUJA.js +0 -1
  309. package/src/assets/web-panel/assets/index-DZ8MjPLC.js +0 -7
  310. package/src/assets/web-panel/assets/index-DfcXDy2A.js +0 -36
  311. package/src/assets/web-panel/assets/index-DtDFSCfE.js +0 -12
  312. package/src/assets/web-panel/assets/index-DvfAkHw8.js +0 -1
  313. package/src/assets/web-panel/assets/index-DyXslU_B.js +0 -1
  314. package/src/assets/web-panel/assets/index-MoLxDrkb.js +0 -55
  315. package/src/assets/web-panel/assets/index-Ncxqj2UN.js +0 -1
  316. package/src/assets/web-panel/assets/index-U4Zd5IK6.js +0 -8
  317. package/src/assets/web-panel/assets/index-YgC7QI1N.js +0 -1
  318. package/src/assets/web-panel/assets/index-_sntSncx.js +0 -6
  319. package/src/assets/web-panel/assets/index-uujjC_4g.js +0 -1
  320. package/src/assets/web-panel/assets/index-yMt4C1Gh.js +0 -1
  321. package/src/assets/web-panel/assets/motion-D2eluOJu.js +0 -11
  322. package/src/assets/web-panel/assets/move-CgcvSoZ7.js +0 -4
  323. package/src/assets/web-panel/assets/slide-CeP5JCiZ.js +0 -4
  324. package/src/assets/web-panel/assets/statusUtils-DMVoo96t.js +0 -1
  325. package/src/assets/web-panel/assets/transition-DSe9CgZe.js +0 -1
  326. package/src/assets/web-panel/assets/useConfigInject-DCcT0grw.js +0 -2
  327. package/src/assets/web-panel/assets/useFlexGapSupport-BZkoDuF3.js +0 -1
  328. package/src/assets/web-panel/assets/vendor-BVetwVfk.js +0 -1
  329. package/src/assets/web-panel/assets/vnode-Dexy2NN9.js +0 -1
  330. package/src/assets/web-panel/assets/ws-Bv7YH0VB.js +0 -1
  331. package/src/assets/web-panel/assets/zoom-CDfM_sRk.js +0 -4
@@ -0,0 +1,2 @@
1
+ import{_ as Y,a as Z,c as C}from"./index-CyqU4Tck.js";import{u as ee}from"./ws-D_5-FRIb.js";import{al as te,R as oe,h as ae,u as le,ao as re,ae as ne}from"./icons-DvZE-RKs.js";import{o as se,M as _,R as i,P as s,u as l,c as t,N as a,K as c,r as p,L as f,O as g,F as ce,_ as ie,S as me,f as ue}from"./vendor-B6ToihkA.js";const de={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},pe={class:"page-title"},ve={class:"page-sub"},ye={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},_e={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},fe={style:{"margin-top":"4px",color:"var(--text-secondary)","font-size":"11px"}},ge={style:{display:"flex","align-items":"center",gap:"12px"}},he={key:0,style:{"text-align":"center",padding:"30px"}},xe={key:1,style:{"text-align":"center",padding:"30px",color:"var(--text-muted)"}},be={key:2,class:"memory-list"},ke={style:{display:"flex","justify-content":"space-between","align-items":"flex-start","margin-bottom":"4px"}},we={style:{display:"flex",gap:"8px","align-items":"center"}},Ce={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},Te={style:{color:"var(--text-muted)","font-size":"11px"}},ze={style:{color:"#ccc","font-size":"13px","line-height":"1.6"}},Oe={__name:"Memory",setup(Le){const{t:o}=Z(),T=ee(),S=p(!1),h=p(!1),$=p(!1),M=p(!1),z=p(!1),x=p({shortTerm:0,longTerm:0,core:0}),b=p([]),m=p("short-term"),O=p(""),v=p({content:"",importance:.5}),U=ue(()=>({0:o("memory.modal.marks.low"),.5:o("memory.modal.marks.mid"),1:o("memory.modal.marks.high")}));function F(r){return{"short-term":"purple","long-term":"blue",core:"green"}[r]||"default"}function P(r){const e=`memory.layer.${r}`,u=o(e);return u===e?r:u}async function L(){S.value=!0;try{const{output:r}=await T.execute("hmemory stats",15e3);V(r)}catch(r){console.error("hmemory stats failed:",r)}finally{S.value=!1,await B()}}function V(r){const e=r.match(/short.?term[^\d]*(\d+)/i),u=r.match(/long.?term[^\d]*(\d+)/i),k=r.match(/core[^\d]*(\d+)/i);e&&(x.value.shortTerm=parseInt(e[1])),u&&(x.value.longTerm=parseInt(u[1])),k&&(x.value.core=parseInt(k[1]))}async function B(){h.value=!0;try{const r=m.value==="short-term"?"recent":m.value==="long-term"?"important":"core",{output:e}=await T.execute(`hmemory recall "${r}" --limit 20`,15e3);b.value=I(e)}catch{b.value=[]}finally{h.value=!1}}async function q(){if(!O.value.trim()){await B();return}h.value=!0;try{const{output:r}=await T.execute(`hmemory recall "${O.value}"`,15e3);b.value=I(r)}catch{b.value=[]}finally{h.value=!1}}function I(r){const e=[],u=r.split(`
2
+ `);for(const k of u){const d=k.trim();if(!d||d.startsWith("─")||d.startsWith("Recall"))continue;const y=d.match(/^[-●•\d.]+\s+(.+)/);if(y){const w=y[1].trim();w.length>5&&e.push({id:e.length,content:w,layer:m.value,importance:"",time:""})}else d.length>10&&!d.includes(":")&&e.length<30&&e.push({id:e.length,content:d,layer:m.value,importance:"",time:""})}return e.slice(0,20)}async function H(){if(!v.value.content.trim()){C.warning(o("memory.messages.contentRequired"));return}M.value=!0;try{const r=`hmemory store "${v.value.content.replace(/"/g,'\\"')}" --importance ${v.value.importance}`,{output:e}=await T.execute(r,15e3);e.toLowerCase().includes("stored")||e.includes("✔")?(C.success(o("memory.messages.storeOk")),z.value=!1,v.value={content:"",importance:.5},await L()):(C.warning(e.slice(0,100)||o("memory.messages.storeDefault")),z.value=!1)}catch(r){C.error(o("memory.messages.storeFailed",{err:r.message}))}finally{M.value=!1}}async function W(){$.value=!0;try{await T.execute("hmemory consolidate",2e4),C.success(o("memory.messages.consolidateOk")),await L()}catch(r){C.error(o("memory.messages.consolidateFailed",{err:r.message}))}finally{$.value=!1}}return se(L),(r,e)=>{const u=c("a-button"),k=c("a-space"),d=c("a-statistic"),y=c("a-card"),w=c("a-col"),j=c("a-row"),R=c("a-radio-button"),D=c("a-radio-group"),E=c("a-input-search"),K=c("a-spin"),Q=c("a-tag"),A=c("a-textarea"),N=c("a-form-item"),G=c("a-slider"),J=c("a-form"),X=c("a-modal");return f(),_("div",null,[i("div",de,[i("div",null,[i("h2",pe,s(l(o)("memory.title")),1),i("p",ve,s(l(o)("memory.subtitle")),1)]),t(k,null,{default:a(()=>[t(u,{onClick:e[0]||(e[0]=n=>z.value=!0),type:"primary"},{icon:a(()=>[t(l(te))]),default:a(()=>[g(" "+s(l(o)("memory.storeButton")),1)]),_:1}),t(u,{ghost:"",loading:S.value,onClick:L},{icon:a(()=>[t(l(oe))]),default:a(()=>[g(" "+s(l(o)("memory.refresh")),1)]),_:1},8,["loading"])]),_:1})]),t(j,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(w,{xs:24,sm:8},{default:a(()=>[t(y,{style:{background:"rgba(114,46,209,.1)","border-color":"rgba(114,46,209,.35)",cursor:"pointer"},hoverable:"",onClick:e[1]||(e[1]=n=>m.value="short-term")},{default:a(()=>[t(d,{title:l(o)("memory.stats.shortTerm"),value:x.value.shortTerm||0,"value-style":"color: #c084fc; font-size: 20px;"},{prefix:a(()=>[t(l(ae))]),_:1},8,["title","value"]),i("div",ye,s(l(o)("memory.stats.shortTermHint")),1)]),_:1})]),_:1}),t(w,{xs:24,sm:8},{default:a(()=>[t(y,{style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.3)",cursor:"pointer"},hoverable:"",onClick:e[2]||(e[2]=n=>m.value="long-term")},{default:a(()=>[t(d,{title:l(o)("memory.stats.longTerm"),value:x.value.longTerm||0,"value-style":"color: #91caff; font-size: 20px;"},{prefix:a(()=>[t(l(le))]),_:1},8,["title","value"]),i("div",_e,s(l(o)("memory.stats.longTermHint")),1)]),_:1})]),_:1}),t(w,{xs:24,sm:8},{default:a(()=>[t(y,{style:{background:"rgba(41,162,112,.08)","border-color":"rgba(41,162,112,.3)",cursor:"pointer"},hoverable:"",onClick:e[3]||(e[3]=n=>m.value="core")},{default:a(()=>[t(d,{title:l(o)("memory.stats.core"),value:x.value.core||0,"value-style":"color: #69db7c; font-size: 20px;"},{prefix:a(()=>[t(l(re))]),_:1},8,["title","value"]),i("div",fe,s(l(o)("memory.stats.coreHint")),1)]),_:1})]),_:1})]),_:1}),t(y,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"}},{title:a(()=>[i("div",ge,[i("span",null,s(l(o)("memory.card.title")),1),t(D,{value:m.value,"onUpdate:value":e[4]||(e[4]=n=>m.value=n),"button-style":"solid",size:"small",onChange:B},{default:a(()=>[t(R,{value:"short-term"},{default:a(()=>[g(s(l(o)("memory.card.tabs.short")),1)]),_:1}),t(R,{value:"long-term"},{default:a(()=>[g(s(l(o)("memory.card.tabs.long")),1)]),_:1}),t(R,{value:"core"},{default:a(()=>[g(s(l(o)("memory.card.tabs.core")),1)]),_:1})]),_:1},8,["value"])])]),extra:a(()=>[t(E,{value:O.value,"onUpdate:value":e[5]||(e[5]=n=>O.value=n),placeholder:l(o)("memory.card.searchPlaceholder"),"allow-clear":"",size:"small",style:{width:"220px"},loading:h.value,onSearch:q},null,8,["value","placeholder","loading"])]),default:a(()=>[h.value?(f(),_("div",he,[t(K)])):b.value.length?(f(),_("div",be,[(f(!0),_(ce,null,ie(b.value,n=>(f(),_("div",{key:n.id,class:"memory-item"},[i("div",ke,[i("div",we,[t(Q,{color:F(n.layer||m.value),style:{"font-size":"10px"}},{default:a(()=>[g(s(P(n.layer||m.value)),1)]),_:2},1032,["color"]),n.importance?(f(),_("span",Ce,s(l(o)("memory.card.importanceLabel",{value:n.importance})),1)):me("",!0)]),i("span",Te,s(n.time),1)]),i("div",ze,s(n.content),1)]))),128))])):(f(),_("div",xe,s(l(o)("memory.card.emptyText")),1))]),_:1}),t(u,{loading:$.value,onClick:W,style:{background:"var(--bg-card-hover)","border-color":"var(--text-muted)",width:"100%"}},{icon:a(()=>[t(l(ne))]),default:a(()=>[g(" "+s(l(o)("memory.consolidateButton")),1)]),_:1},8,["loading"]),t(X,{open:z.value,"onUpdate:open":e[8]||(e[8]=n=>z.value=n),title:l(o)("memory.modal.title"),"confirm-loading":M.value,onOk:H},{default:a(()=>[t(J,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[t(N,{label:l(o)("memory.modal.contentLabel"),required:""},{default:a(()=>[t(A,{value:v.value.content,"onUpdate:value":e[6]||(e[6]=n=>v.value.content=n),rows:4,placeholder:l(o)("memory.modal.contentPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(N,{label:l(o)("memory.modal.importanceLabel")},{default:a(()=>[t(G,{value:v.value.importance,"onUpdate:value":e[7]||(e[7]=n=>v.value.importance=n),min:0,max:1,step:.1,marks:U.value},null,8,["value","marks"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}}},Re=Y(Oe,[["__scopeId","data-v-a74b99b3"]]);export{Re as default};
@@ -0,0 +1 @@
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}
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ .page-title[data-v-55209f60]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-55209f60]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.nlprog-tabs[data-v-55209f60] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-55209f60]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.json-block[data-v-55209f60]{white-space:pre-wrap;word-break:break-all;color:#52c41a;font-size:11px;background:var(--bg-base);padding:8px 12px;border-radius:4px;border:1px solid var(--border-color);max-height:240px;overflow:auto;margin:0 0 16px;font-family:monospace}
@@ -0,0 +1,7 @@
1
+ import{u as te}from"./ws-D_5-FRIb.js";import{u as ae}from"./useFs-BD-YRwbU.js";import{_ as le,c as x}from"./index-CyqU4Tck.js";import{al as oe,R as ne,k as se,an as ie}from"./icons-DvZE-RKs.js";import{o as re,M as g,R as f,P as m,c as o,N as l,Q as w,S as y,r as i,K as c,f as ue,L as r,O as v,u as z,F as Q,_ as q}from"./vendor-B6ToihkA.js";import"./useShellMode-CgR0wCYM.js";const ce={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},de={class:"page-sub"},pe={style:{"margin-bottom":"16px",display:"flex",gap:"10px"}},ve={key:0,style:{"text-align":"center",padding:"60px"}},fe={key:0,style:{color:"#e0e0e0","font-weight":"500"}},me={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},ge={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ye={key:0,style:{"max-height":"60vh","overflow-y":"auto"}},_e={style:{"margin-bottom":"10px"}},xe={style:{"white-space":"pre-wrap",color:"#ccc","font-family":"inherit","line-height":"1.7",background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},we={__name:"Notes",setup(ke){const O=te(),A=ae(),U=i(!1),h=i(!1),L=i(!1),T=i(!1),V=i(""),W=i([]),b=i([]),$=i(!1),_=i(""),N=i(!1),C=i(!1),d=i(null),s=i({title:"",content:"",tags:""}),E=ue(()=>$.value?b.value:W.value),K=[{title:"标题",dataIndex:"title",key:"title",width:"30%"},{title:"预览",key:"content",ellipsis:!0},{title:"标签",key:"tags",width:"20%"},{title:"操作",key:"actions",width:"80px"}];async function B(){h.value=!0,V.value="";try{const{output:t}=await O.execute("note list",2e4);W.value=j(t)}catch(t){V.value=`加载失败: ${t.message}`}finally{h.value=!1}}function j(t){const e=[],p=t.split(`
2
+ `);for(const k of p){const n=k.trim();if(!n||n.startsWith("─")||n.startsWith("Note")||n.match(/^\d+ note/i))continue;const u=n.match(/^(\d+)\.\s+(.+?)(?:\s+\[([^\]]+)\])?\s*(?:-\s*(.*))?$/);u?e.push({key:u[1],id:u[1],title:u[2].trim(),tags:u[3]?u[3].split(",").map(M=>M.trim()):[],preview:(u[4]||"").trim().slice(0,100),content:""}):n.length>2&&!n.startsWith("✖")&&!n.startsWith("[")&&e.push({key:e.length,id:String(e.length),title:n,tags:[],preview:"",content:""})}return e}async function G(){if(!_.value.trim()){F();return}L.value=!0,$.value=!0;try{const{output:t}=await O.execute(`note search "${_.value}"`,15e3);b.value=j(t)}catch{b.value=[]}finally{L.value=!1}}function F(){_.value="",$.value=!1,b.value=[]}async function H(){if(!s.value.title.trim()){x.warning("请输入标题");return}T.value=!0;try{let t=`note add "${s.value.title}"`;s.value.content&&(t+=` -c "${s.value.content.replace(/"/g,'\\"')}"`),s.value.tags&&(t+=` -t "${s.value.tags}"`);const{output:e}=await O.execute(t,15e3);e.includes("✖")||e.toLowerCase().includes("error")?x.error("添加失败: "+e.slice(0,100)):(x.success("笔记已添加"),N.value=!1,s.value={title:"",content:"",tags:""},await B())}catch(t){x.error("添加失败: "+t.message)}finally{T.value=!1}}function J(t){d.value=t,C.value=!0}async function X(){if(!d.value)return;const t=d.value,e=t.tags?.length?`tags: [${t.tags.join(", ")}]
3
+
4
+ `:"",p=`# ${t.title}
5
+
6
+ ${e}${t.content||t.preview||""}
7
+ `,k=(t.title||"note").replace(/[\\/:*?"<>|\x00-\x1f]+/g,"_").slice(0,80)||"note";U.value=!0;try{const n=await A.saveText(p,{defaultPath:`${k}.md`,filters:[{name:"Markdown",extensions:["md"]}]});if(n.canceled)return;x.success(n.path?`已导出到 ${n.path}`:"已导出")}catch(n){x.error(`导出失败: ${n.message||n}`)}finally{U.value=!1}}return re(B),(t,e)=>{const p=c("a-button"),k=c("a-space"),n=c("a-input-search"),u=c("a-tag"),M=c("a-spin"),Y=c("a-table"),D=c("a-input"),R=c("a-form-item"),Z=c("a-textarea"),ee=c("a-form"),I=c("a-modal");return r(),g("div",null,[f("div",ce,[f("div",null,[e[8]||(e[8]=f("h2",{class:"page-title"},"笔记管理",-1)),f("p",de,"个人知识库 · "+m(W.value.length)+" 条笔记",1)]),o(k,null,{default:l(()=>[o(p,{onClick:e[0]||(e[0]=a=>N.value=!0),type:"primary"},{icon:l(()=>[o(z(oe))]),default:l(()=>[e[9]||(e[9]=v(" 新建笔记 ",-1))]),_:1}),o(p,{ghost:"",loading:h.value,onClick:B},{icon:l(()=>[o(z(ne))]),default:l(()=>[e[10]||(e[10]=v(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),f("div",pe,[o(n,{value:_.value,"onUpdate:value":e[1]||(e[1]=a=>_.value=a),placeholder:"搜索笔记...","allow-clear":"",style:{"max-width":"400px"},loading:L.value,onSearch:G,onClear:F},null,8,["value","loading"]),$.value?(r(),w(u,{key:0,color:"blue",closable:"",onClose:F},{default:l(()=>[v(" 搜索: "+m(_.value),1)]),_:1})):y("",!0)]),h.value?(r(),g("div",ve,[o(M,{size:"large"})])):(r(),w(Y,{key:1,columns:K,"data-source":E.value,pagination:{pageSize:20,showTotal:a=>`共 ${a} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"note-row"},{bodyCell:l(({column:a,record:S})=>[a.key==="title"?(r(),g("span",fe,m(S.title),1)):y("",!0),a.key==="tags"?(r(!0),g(Q,{key:1},q(S.tags,P=>(r(),w(u,{key:P,color:"blue",style:{"font-size":"10px",margin:"1px"}},{default:l(()=>[v(m(P),1)]),_:2},1024))),128)):y("",!0),a.key==="content"?(r(),g("span",me,m(S.preview),1)):y("",!0),a.key==="actions"?(r(),w(p,{key:3,size:"small",type:"link",onClick:P=>J(S)},{default:l(()=>[...e[11]||(e[11]=[v("查看",-1)])]),_:1},8,["onClick"])):y("",!0)]),emptyText:l(()=>[f("div",ge,[o(z(se),{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),v(" "+m(V.value||'暂无笔记,点击"新建笔记"添加'),1)])]),_:1},8,["data-source","pagination"])),o(I,{open:N.value,"onUpdate:open":e[5]||(e[5]=a=>N.value=a),title:"新建笔记","confirm-loading":T.value,onOk:H},{default:l(()=>[o(ee,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:l(()=>[o(R,{label:"标题",required:""},{default:l(()=>[o(D,{value:s.value.title,"onUpdate:value":e[2]||(e[2]=a=>s.value.title=a),placeholder:"笔记标题"},null,8,["value"])]),_:1}),o(R,{label:"内容"},{default:l(()=>[o(Z,{value:s.value.content,"onUpdate:value":e[3]||(e[3]=a=>s.value.content=a),rows:5,placeholder:"笔记内容..."},null,8,["value"])]),_:1}),o(R,{label:"标签"},{default:l(()=>[o(D,{value:s.value.tags,"onUpdate:value":e[4]||(e[4]=a=>s.value.tags=a),placeholder:"用逗号分隔,如: work,ideas"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"]),o(I,{open:C.value,"onUpdate:open":e[7]||(e[7]=a=>C.value=a),title:d.value?.title,width:"700px"},{footer:l(()=>[o(p,{onClick:e[6]||(e[6]=a=>C.value=!1)},{default:l(()=>[...e[12]||(e[12]=[v("关闭",-1)])]),_:1}),d.value?(r(),w(p,{key:0,type:"primary",loading:U.value,onClick:X},{icon:l(()=>[o(z(ie))]),default:l(()=>[e[13]||(e[13]=v(" 导出 .md ",-1))]),_:1},8,["loading"])):y("",!0)]),default:l(()=>[d.value?(r(),g("div",ye,[f("div",_e,[(r(!0),g(Q,null,q(d.value.tags,a=>(r(),w(u,{key:a,color:"blue"},{default:l(()=>[v(m(a),1)]),_:2},1024))),128))]),f("pre",xe,m(d.value.content||d.value.preview),1)])):y("",!0)]),_:1},8,["open","title"])])}}},ze=le(we,[["__scopeId","data-v-b654ddde"]]);export{ze as default};
@@ -0,0 +1 @@
1
+ [data-v-b654ddde] .note-row:hover td{background:var(--bg-card-hover)!important;cursor:pointer}
@@ -0,0 +1 @@
1
+ [data-v-5c758732] .org-row:hover td{background:var(--bg-card-hover)!important}[data-v-5c758732] .ant-tabs-tab{color:var(--text-secondary)!important}[data-v-5c758732] .ant-tabs-tab-active .ant-tabs-tab-btn{color:#1677ff!important}[data-v-5c758732] .ant-card-head{border-color:var(--border-color)!important;color:var(--text-primary)!important}
@@ -0,0 +1,4 @@
1
+ import{o as Qe,M as y,R as O,P as u,u as o,c as n,N as r,r as d,K as _,L as p,O as b,Q as w,S as f,F as xe,a1 as ke,f as A}from"./vendor-B6ToihkA.js";import{_ as Ze,a as Ge,c as g}from"./index-CyqU4Tck.js";import{u as He}from"./ws-D_5-FRIb.js";import{R as Xe,al as _e,Z as Ye,au as we,ar as ea,b as aa,a2 as ta}from"./icons-DvZE-RKs.js";const oa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},na={class:"page-title"},la={class:"page-sub"},ia={key:0,style:{"text-align":"center",padding:"60px"}},ra={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},sa={key:1,style:{color:"#1677ff"}},ua={key:2,style:{color:"var(--text-secondary)"}},da={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},pa={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:1},ma={style:{"font-family":"monospace",color:"#ccc"}},ga={key:0,style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"300px","overflow-y":"auto"}},va={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},ya={key:0,style:{"text-align":"center",padding:"60px"}},fa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"#e0e0e0"}},_a={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},za={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},xa={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ka={key:0,style:{"text-align":"center",padding:"40px"}},wa={key:0,style:{color:"#e0e0e0"}},ha={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Ca={key:2,style:{color:"var(--text-secondary)"}},Oa={key:0,style:{"text-align":"center",padding:"60px"}},Ia={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},La={key:1,style:{color:"#e0e0e0"}},Ta={key:3,style:{color:"var(--text-secondary)"}},ja={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Aa={__name:"Organization",setup($a){const{t:e}=Ge(),k=He(),$=d("orgs"),te=d(!1);async function he(){te.value=!0;try{$.value==="orgs"?await T():$.value==="members"?(await T(),z.value&&(await me(),await ge())):$.value==="approvals"&&await S()}finally{te.value=!1}}function Ce(l){l==="orgs"&&I.value.length===0&&T(),l==="members"&&I.value.length===0&&T(),l==="approvals"&&G.value.length===0&&S()}function U(l){try{const a=l.trim(),t=a.indexOf("["),s=a.indexOf("{"),c=t>=0&&(s<0||t<s)?t:s;return c>=0?JSON.parse(a.slice(c)):null}catch{return null}}const oe=d(!1),I=d([]),D=d(!1),ne=d(!1),F=d(""),V=d(""),le=d(!1),ie=d(!1),h=d({}),L=d(""),Oe=A(()=>[{title:e("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:e("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),ze=A(()=>I.value.map(l=>({label:l.name,value:l.id})));async function T(){oe.value=!0;try{const{output:l}=await k.execute("org list --json",15e3),a=U(l);Array.isArray(a)?I.value=a.map((t,s)=>({key:t.id||s,id:t.id||"-",name:t.name||"-",owner:t.owner||"-",description:t.description||"",memberCount:t.memberCount??t.members??0})):I.value=Ie(l)}catch(l){g.error(e("organization.messages.loadOrgsFailed",{err:l.message}))}finally{oe.value=!1}}function Ie(l){const a=[],t=l.split(`
2
+ `);for(const s of t){const c=s.trim();if(!c||c.startsWith("─")||c.match(/^\d+ org/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,id:v[0]||"-",name:v[1]||"-",owner:v[2]||"-",description:v[3]||"",memberCount:parseInt(v[4],10)||0})}return a}async function Le(){if(!F.value.trim()){g.warning(e("organization.messages.orgNameRequired"));return}ne.value=!0;try{const l=F.value.trim().replace(/"/g,'\\"'),a=V.value.trim().replace(/"/g,'\\"');let t=`org create "${l}" --json`;a&&(t=`org create "${l}" --description "${a}" --json`);const{output:s}=await k.execute(t,2e4);s.includes("error")||s.includes("失败")?g.error(e("organization.messages.orgCreateFailed",{err:s.slice(0,120)})):(g.success(e("organization.messages.orgCreateOk")),D.value=!1,F.value="",V.value="",await T())}catch(l){g.error(e("organization.messages.orgCreateFailed",{err:l.message}))}finally{ne.value=!1}}async function Te(l){h.value={...l},L.value="",le.value=!0,ie.value=!0;try{const{output:a}=await k.execute(`org show ${l.id} --json`,15e3),t=U(a);t&&typeof t=="object"?(h.value={id:t.id||l.id,name:t.name||l.name,owner:t.owner||l.owner,description:t.description||l.description,memberCount:t.memberCount??t.members??l.memberCount,createdAt:t.createdAt||t.created||""},L.value=JSON.stringify(t,null,2)):L.value=a}catch(a){L.value=e("organization.messages.loadDetailFailed",{err:a.message})}finally{ie.value=!1}}const z=d(null),re=d(!1),se=d([]),ue=d(!1),de=d([]),K=d(!1),pe=d(!1),q=d(""),W=d(""),J=d("member"),E=d(!1),ce=d(!1),P=d(""),Q=d(""),Z=d(""),je=A(()=>[{label:e("organization.members.roleAdmin"),value:"admin"},{label:e("organization.members.roleMember"),value:"member"},{label:e("organization.members.roleViewer"),value:"viewer"}]),Ae=A(()=>[{title:e("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:e("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:e("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:e("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),$e=A(()=>[{title:e("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Ue(l){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(l||"").toLowerCase()]||"default"}async function Fe(){z.value&&await Promise.all([me(),ge()])}async function me(){if(z.value){re.value=!0;try{const{output:l}=await k.execute(`org members ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?se.value=a.map((t,s)=>({key:t.userId||t.id||s,userId:t.userId||t.id||"-",name:t.name||t.displayName||"-",role:t.role||"member",joinedAt:t.joinedAt||t.joined||"-"})):se.value=qe(l)}catch(l){g.error(e("organization.messages.loadMembersFailed",{err:l.message}))}finally{re.value=!1}}}function qe(l){const a=[],t=l.split(`
3
+ `);for(const s of t){const c=s.trim();if(!c||c.startsWith("─")||c.match(/^\d+ member/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,userId:v[0]||"-",name:v[1]||"-",role:v[2]||"member",joinedAt:v[3]||"-"})}return a}async function ge(){if(z.value){ue.value=!0;try{const{output:l}=await k.execute(`org teams ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?de.value=a.map((t,s)=>({key:t.id||t.name||s,name:t.name||"-",description:t.description||"",lead:t.lead||t.leader||"-"})):de.value=[]}catch(l){g.error(e("organization.messages.loadTeamsFailed",{err:l.message}))}finally{ue.value=!1}}}async function Pe(){if(!q.value.trim()){g.warning(e("organization.messages.userIdRequired"));return}pe.value=!0;try{const l=q.value.trim().replace(/"/g,'\\"'),a=W.value.trim().replace(/"/g,'\\"');let t=`org invite ${z.value} ${l} --role ${J.value}`;a&&(t+=` --name "${a}"`);const{output:s}=await k.execute(t,2e4);s.includes("error")||s.includes("失败")?g.error(e("organization.messages.inviteFailed",{err:s.slice(0,120)})):(g.success(e("organization.messages.inviteOk")),K.value=!1,q.value="",W.value="",J.value="member",await me())}catch(l){g.error(e("organization.messages.inviteFailed",{err:l.message}))}finally{pe.value=!1}}async function Ne(){if(!P.value.trim()){g.warning(e("organization.messages.teamNameRequired"));return}ce.value=!0;try{const l=P.value.trim().replace(/"/g,'\\"'),a=Q.value.trim().replace(/"/g,'\\"'),t=Z.value.trim().replace(/"/g,'\\"');let s=`org teams ${z.value} create "${l}"`;a&&(s+=` --description "${a}"`),t&&(s+=` --lead "${t}"`);const{output:c}=await k.execute(s,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.teamCreateFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.teamCreateOk")),E.value=!1,P.value="",Q.value="",Z.value="",await ge())}catch(l){g.error(e("organization.messages.teamCreateFailed",{err:l.message}))}finally{ce.value=!1}}const ve=d(!1),G=d([]),H=d(!1),ye=d(!1),N=d(null),M=d(""),X=d(""),Y=d(""),Me=A(()=>[{title:e("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:e("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:e("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:e("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Se(l){return{pending:"orange",approved:"green",rejected:"red"}[(l||"").toLowerCase()]||"default"}async function S(){ve.value=!0;try{const{output:l}=await k.execute("org approvals --json",15e3),a=U(l);Array.isArray(a)?G.value=a.map((t,s)=>({key:t.id||s,id:t.id||"-",title:t.title||"-",type:t.type||"-",requester:t.requester||t.requestedBy||"-",status:t.status||"pending",_approving:!1,_rejecting:!1})):G.value=Re(l)}catch(l){g.error(e("organization.messages.loadApprovalsFailed",{err:l.message}))}finally{ve.value=!1}}function Re(l){const a=[],t=l.split(`
4
+ `);for(const s of t){const c=s.trim();if(!c||c.startsWith("─")||c.match(/^\d+ approval/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=4&&a.push({key:a.length,id:v[0]||"-",title:v[1]||"-",type:v[2]||"-",requester:v[3]||"-",status:v[4]||"pending",_approving:!1,_rejecting:!1})}return a}async function Be(l){l._approving=!0;try{const{output:a}=await k.execute(`org approve ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.approveFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.approveOk")),await S())}catch(a){g.error(e("organization.messages.approveFailed",{err:a.message}))}finally{l._approving=!1}}async function De(l){l._rejecting=!0;try{const{output:a}=await k.execute(`org reject ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.rejectFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.rejectOk")),await S())}catch(a){g.error(e("organization.messages.rejectFailed",{err:a.message}))}finally{l._rejecting=!1}}async function Ve(){if(!N.value){g.warning(e("organization.messages.orgRequired"));return}if(!M.value.trim()){g.warning(e("organization.messages.approvalTitleRequired"));return}ye.value=!0;try{const l=M.value.trim().replace(/"/g,'\\"'),a=X.value.trim().replace(/"/g,'\\"'),t=Y.value.trim().replace(/"/g,'\\"');let s=`org approve --submit --org ${N.value} --title "${l}"`;a&&(s+=` --type "${a}"`),t&&(s+=` --description "${t}"`);const{output:c}=await k.execute(s,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.submitFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.submitOk")),H.value=!1,N.value=null,M.value="",X.value="",Y.value="",await S())}catch(l){g.error(e("organization.messages.submitFailed",{err:l.message}))}finally{ye.value=!1}}return Qe(()=>{T()}),(l,a)=>{const t=_("a-button"),s=_("a-space"),c=_("a-spin"),v=_("a-tag"),R=_("a-empty"),ee=_("a-table"),j=_("a-descriptions-item"),Ke=_("a-descriptions"),B=_("a-modal"),C=_("a-input"),x=_("a-form-item"),ae=_("a-form"),fe=_("a-tab-pane"),be=_("a-select"),We=_("a-textarea"),Je=_("a-tabs");return p(),y("div",null,[O("div",oa,[O("div",null,[O("h2",na,u(o(e)("organization.title")),1),O("p",la,u(o(e)("organization.subtitle")),1)]),n(t,{type:"primary",ghost:"",loading:te.value,onClick:he},{icon:r(()=>[n(o(Xe))]),default:r(()=>[b(" "+u(o(e)("organization.refresh")),1)]),_:1},8,["loading"])]),n(Je,{activeKey:$.value,"onUpdate:activeKey":a[22]||(a[22]=i=>$.value=i),type:"card",onChange:Ce},{default:r(()=>[n(fe,{key:"orgs"},{tab:r(()=>[n(o(Ye)),b(" "+u(o(e)("organization.tabs.orgs")),1)]),default:r(()=>[n(s,{style:{"margin-bottom":"16px"}},{default:r(()=>[n(t,{type:"primary",onClick:a[0]||(a[0]=i=>D.value=!0)},{icon:r(()=>[n(o(_e))]),default:r(()=>[b(" "+u(o(e)("organization.orgs.createButton")),1)]),_:1})]),_:1}),oe.value?(p(),y("div",ia,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Oe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":i=>({onClick:()=>Te(i)})},{bodyCell:r(({column:i,record:m})=>[i.key==="id"?(p(),y("span",ra,u(m.id),1)):f("",!0),i.key==="name"?(p(),y("a",sa,u(m.name),1)):f("",!0),i.key==="owner"?(p(),y("span",ua,u(m.owner),1)):f("",!0),i.key==="description"?(p(),y("span",da,u(m.description),1)):f("",!0),i.key==="memberCount"?(p(),w(v,{key:4,color:"blue"},{default:r(()=>[b(u(m.memberCount),1)]),_:2},1024)):f("",!0)]),emptyText:r(()=>[n(R,{description:o(e)("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),n(B,{open:le.value,"onUpdate:open":a[1]||(a[1]=i=>le.value=i),title:o(e)("organization.orgs.detailTitle",{name:h.value.name||""}),footer:null,width:"640px"},{default:r(()=>[ie.value?(p(),y("div",pa,[n(c)])):(p(),y("div",ca,[n(Ke,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:r(()=>[n(j,{label:o(e)("organization.orgs.detailLabels.id")},{default:r(()=>[O("span",ma,u(h.value.id),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.name")},{default:r(()=>[b(u(h.value.name),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.owner")},{default:r(()=>[b(u(h.value.owner),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.description")},{default:r(()=>[b(u(h.value.description||"-"),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.memberCount")},{default:r(()=>[b(u(h.value.memberCount),1)]),_:1},8,["label"]),h.value.createdAt?(p(),w(j,{key:0,label:o(e)("organization.orgs.detailLabels.createdAt")},{default:r(()=>[b(u(h.value.createdAt),1)]),_:1},8,["label"])):f("",!0)]),_:1}),L.value?(p(),y("pre",ga,u(L.value),1)):f("",!0)]))]),_:1},8,["open","title"]),n(B,{open:D.value,"onUpdate:open":a[4]||(a[4]=i=>D.value=i),title:o(e)("organization.orgs.createTitle"),"confirm-loading":ne.value,onOk:Le,"ok-text":o(e)("organization.orgs.createOk"),"cancel-text":o(e)("common.cancel")},{default:r(()=>[n(ae,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:r(()=>[n(x,{label:o(e)("organization.orgs.nameLabel"),required:""},{default:r(()=>[n(C,{value:F.value,"onUpdate:value":a[2]||(a[2]=i=>F.value=i),placeholder:o(e)("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.orgs.descriptionLabel")},{default:r(()=>[n(C,{value:V.value,"onUpdate:value":a[3]||(a[3]=i=>V.value=i),placeholder:o(e)("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"members"},{tab:r(()=>[n(o(we)),b(" "+u(o(e)("organization.tabs.members")),1)]),default:r(()=>[O("div",va,[n(be,{value:z.value,"onUpdate:value":a[5]||(a[5]=i=>z.value=i),placeholder:o(e)("organization.members.selectPlaceholder"),style:{width:"280px"},options:ze.value,onChange:Fe},null,8,["value","placeholder","options"]),n(t,{type:"primary",disabled:!z.value,onClick:a[6]||(a[6]=i=>K.value=!0)},{icon:r(()=>[n(o(we))]),default:r(()=>[b(" "+u(o(e)("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),re.value?(p(),y("div",ya,[n(c,{size:"large"})])):z.value?(p(),w(ee,{key:1,columns:Ae.value,"data-source":se.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:r(({column:i,record:m})=>[i.key==="userId"?(p(),y("span",fa,u(m.userId),1)):f("",!0),i.key==="name"?(p(),y("span",ba,u(m.name),1)):f("",!0),i.key==="role"?(p(),w(v,{key:2,color:Ue(m.role)},{default:r(()=>[b(u(m.role),1)]),_:2},1032,["color"])):f("",!0),i.key==="joinedAt"?(p(),y("span",_a,u(m.joinedAt),1)):f("",!0)]),emptyText:r(()=>[n(R,{description:o(e)("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(p(),w(R,{key:2,description:o(e)("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),z.value?(p(),y(xe,{key:3},[O("div",za,[O("h3",xa,u(o(e)("organization.members.teamsTitle")),1),n(t,{size:"small",onClick:a[7]||(a[7]=i=>E.value=!0)},{icon:r(()=>[n(o(_e))]),default:r(()=>[b(" "+u(o(e)("organization.members.createTeamButton")),1)]),_:1})]),ue.value?(p(),y("div",ka,[n(c)])):(p(),w(ee,{key:1,columns:$e.value,"data-source":de.value,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:r(({column:i,record:m})=>[i.key==="name"?(p(),y("span",wa,u(m.name),1)):f("",!0),i.key==="description"?(p(),y("span",ha,u(m.description),1)):f("",!0),i.key==="lead"?(p(),y("span",Ca,u(m.lead),1)):f("",!0)]),emptyText:r(()=>[n(R,{description:o(e)("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):f("",!0),n(B,{open:K.value,"onUpdate:open":a[11]||(a[11]=i=>K.value=i),title:o(e)("organization.members.inviteTitle"),"confirm-loading":pe.value,onOk:Pe,"ok-text":o(e)("organization.members.inviteOk"),"cancel-text":o(e)("common.cancel")},{default:r(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[n(x,{label:o(e)("organization.members.userIdLabel"),required:""},{default:r(()=>[n(C,{value:q.value,"onUpdate:value":a[8]||(a[8]=i=>q.value=i),placeholder:o(e)("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.nameLabel")},{default:r(()=>[n(C,{value:W.value,"onUpdate:value":a[9]||(a[9]=i=>W.value=i),placeholder:o(e)("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.roleLabel")},{default:r(()=>[n(be,{value:J.value,"onUpdate:value":a[10]||(a[10]=i=>J.value=i),options:je.value},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),n(B,{open:E.value,"onUpdate:open":a[15]||(a[15]=i=>E.value=i),title:o(e)("organization.members.createTeamTitle"),"confirm-loading":ce.value,onOk:Ne,"ok-text":o(e)("organization.members.createTeamOk"),"cancel-text":o(e)("common.cancel")},{default:r(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[n(x,{label:o(e)("organization.members.teamNameLabel"),required:""},{default:r(()=>[n(C,{value:P.value,"onUpdate:value":a[12]||(a[12]=i=>P.value=i),placeholder:o(e)("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamDescLabel")},{default:r(()=>[n(C,{value:Q.value,"onUpdate:value":a[13]||(a[13]=i=>Q.value=i),placeholder:o(e)("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamLeadLabel")},{default:r(()=>[n(C,{value:Z.value,"onUpdate:value":a[14]||(a[14]=i=>Z.value=i),placeholder:o(e)("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"approvals"},{tab:r(()=>[n(o(ta)),b(" "+u(o(e)("organization.tabs.approvals")),1)]),default:r(()=>[n(s,{style:{"margin-bottom":"16px"}},{default:r(()=>[n(t,{type:"primary",onClick:a[16]||(a[16]=i=>H.value=!0)},{icon:r(()=>[n(o(_e))]),default:r(()=>[b(" "+u(o(e)("organization.approvals.submitButton")),1)]),_:1})]),_:1}),ve.value?(p(),y("div",Oa,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Me.value,"data-source":G.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:r(({column:i,record:m})=>[i.key==="id"?(p(),y("span",Ia,u(m.id),1)):f("",!0),i.key==="title"?(p(),y("span",La,u(m.title),1)):f("",!0),i.key==="type"?(p(),w(v,{key:2,color:"blue"},{default:r(()=>[b(u(m.type),1)]),_:2},1024)):f("",!0),i.key==="requester"?(p(),y("span",Ta,u(m.requester),1)):f("",!0),i.key==="status"?(p(),w(v,{key:4,color:Se(m.status)},{default:r(()=>[b(u(m.status),1)]),_:2},1032,["color"])):f("",!0),i.key==="actions"?(p(),y(xe,{key:5},[(m.status||"").toLowerCase()==="pending"?(p(),w(s,{key:0},{default:r(()=>[n(t,{type:"primary",size:"small",loading:m._approving,onClick:ke(Ee=>Be(m),["stop"])},{icon:r(()=>[n(o(ea))]),default:r(()=>[b(" "+u(o(e)("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),n(t,{danger:"",size:"small",loading:m._rejecting,onClick:ke(Ee=>De(m),["stop"])},{icon:r(()=>[n(o(aa))]),default:r(()=>[b(" "+u(o(e)("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(p(),y("span",ja,"-"))],64)):f("",!0)]),emptyText:r(()=>[n(R,{description:o(e)("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),n(B,{open:H.value,"onUpdate:open":a[21]||(a[21]=i=>H.value=i),title:o(e)("organization.approvals.submitTitle"),"confirm-loading":ye.value,onOk:Ve,"ok-text":o(e)("organization.approvals.submitOk"),"cancel-text":o(e)("common.cancel")},{default:r(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:r(()=>[n(x,{label:o(e)("organization.approvals.orgLabel"),required:""},{default:r(()=>[n(be,{value:N.value,"onUpdate:value":a[17]||(a[17]=i=>N.value=i),placeholder:o(e)("organization.approvals.orgPlaceholder"),options:ze.value},null,8,["value","placeholder","options"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.titleLabel"),required:""},{default:r(()=>[n(C,{value:M.value,"onUpdate:value":a[18]||(a[18]=i=>M.value=i),placeholder:o(e)("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.typeLabel")},{default:r(()=>[n(C,{value:X.value,"onUpdate:value":a[19]||(a[19]=i=>X.value=i),placeholder:o(e)("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.descLabel")},{default:r(()=>[n(We,{value:Y.value,"onUpdate:value":a[20]||(a[20]=i=>Y.value=i),placeholder:o(e)("organization.approvals.descPlaceholder"),rows:3},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Na=Ze(Aa,[["__scopeId","data-v-5c758732"]]);export{Na as default};
@@ -0,0 +1 @@
1
+ import{P,d as u,f as H,e as D}from"./index-CyqU4Tck.js";import{R as ee}from"./index-C1ucrJLg.js";import{d as k,p as ge,i as pe,f as c,x as be,c as v,r as he,w as Oe,s as C}from"./vendor-B6ToihkA.js";const te=Symbol("OverflowContextProviderKey"),X=k({compatConfig:{MODE:3},name:"OverflowContextProvider",inheritAttrs:!1,props:{value:{type:Object}},setup(e,o){let{slots:a}=o;return ge(te,c(()=>e.value)),()=>{var t;return(t=a.default)===null||t===void 0?void 0:t.call(a)}}}),Se=()=>pe(te,c(()=>null));var xe=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const _=void 0,$=k({compatConfig:{MODE:3},name:"Item",props:{prefixCls:String,item:P.any,renderItem:Function,responsive:Boolean,itemKey:{type:[String,Number]},registerSize:Function,display:Boolean,order:Number,component:P.any,invalidate:Boolean},setup(e,o){let{slots:a,expose:t}=o;const n=c(()=>e.responsive&&!e.display),p=he();t({itemNodeRef:p});function b(i){e.registerSize(e.itemKey,i)}return be(()=>{b(null)}),()=>{var i;const{prefixCls:O,invalidate:w,item:m,renderItem:y,responsive:f,registerSize:z,itemKey:R,display:V,order:I,component:M="div"}=e,S=xe(e,["prefixCls","invalidate","item","renderItem","responsive","registerSize","itemKey","display","order","component"]),W=(i=a.default)===null||i===void 0?void 0:i.call(a),T=y&&m!==_?y(m):W;let h;w||(h={opacity:n.value?0:1,height:n.value?0:_,overflowY:n.value?"hidden":_,order:f?I:_,pointerEvents:n.value?"none":_,position:n.value?"absolute":_});const N={};return n.value&&(N["aria-hidden"]=!0),v(ee,{disabled:!f,onResize:E=>{let{offsetWidth:B}=E;b(B)}},{default:()=>v(M,u(u(u({class:H(!w&&O),style:h},N),S),{},{ref:p}),{default:()=>[T]})})}}});var U=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const Ce=k({compatConfig:{MODE:3},name:"RawItem",inheritAttrs:!1,props:{component:P.any,title:P.any,id:String,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},role:String,tabindex:Number},setup(e,o){let{slots:a,attrs:t}=o;const n=Se();return()=>{var p;if(!n.value){const{component:y="div"}=e,f=U(e,["component"]);return v(y,u(u({},f),t),{default:()=>[(p=a.default)===null||p===void 0?void 0:p.call(a)]})}const b=n.value,{className:i}=b,O=U(b,["className"]),{class:w}=t,m=U(t,["class"]);return v(X,{value:null},{default:()=>[v($,u(u(u({class:H(i,w)},O),m),e),a)]})}}});var we=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const ne="responsive",le="invalidate";function Re(e){return`+ ${e.length} ...`}const Ie=()=>({id:String,prefixCls:String,data:Array,itemKey:[String,Number,Function],itemWidth:{type:Number,default:10},renderItem:Function,renderRawItem:Function,maxCount:[Number,String],renderRest:Function,renderRawRest:Function,suffix:P.any,component:String,itemComponent:P.any,onVisibleChange:Function,ssr:String,onMousedown:Function,role:String}),Y=k({name:"Overflow",inheritAttrs:!1,props:Ie(),emits:["visibleChange"],setup(e,o){let{attrs:a,emit:t,slots:n}=o;const p=c(()=>e.ssr==="full"),b=C(null),i=c(()=>b.value||0),O=C(new Map),w=C(0),m=C(0),y=C(0),f=C(null),z=C(null),R=c(()=>z.value===null&&p.value?Number.MAX_SAFE_INTEGER:z.value||0),V=C(!1),I=c(()=>`${e.prefixCls}-item`),M=c(()=>Math.max(w.value,m.value)),S=c(()=>!!(e.data.length&&e.maxCount===ne)),W=c(()=>e.maxCount===le),T=c(()=>S.value||typeof e.maxCount=="number"&&e.data.length>e.maxCount),h=c(()=>{let l=e.data;return S.value?b.value===null&&p.value?l=e.data:l=e.data.slice(0,Math.min(e.data.length,i.value/e.itemWidth)):typeof e.maxCount=="number"&&(l=e.data.slice(0,e.maxCount)),l}),N=c(()=>S.value?e.data.slice(R.value+1):e.data.slice(h.value.length)),E=(l,r)=>{var s;return typeof e.itemKey=="function"?e.itemKey(l):(s=e.itemKey&&l?.[e.itemKey])!==null&&s!==void 0?s:r},B=c(()=>e.renderItem||(l=>l)),A=(l,r)=>{z.value=l,r||(V.value=l<e.data.length-1,t("visibleChange",l))},ae=(l,r)=>{b.value=r.clientWidth},q=(l,r)=>{const s=new Map(O.value);r===null?s.delete(l):s.set(l,r),O.value=s},re=(l,r)=>{w.value=m.value,m.value=r},oe=(l,r)=>{y.value=r},G=l=>O.value.get(E(h.value[l],l));return Oe([i,O,m,y,()=>e.itemKey,h],()=>{if(i.value&&M.value&&h.value){let l=y.value;const r=h.value.length,s=r-1;if(!r){A(0),f.value=null;return}for(let g=0;g<r;g+=1){const F=G(g);if(F===void 0){A(g-1,!0);break}if(l+=F,s===0&&l<=i.value||g===s-1&&l+G(s)<=i.value){A(s),f.value=null;break}else if(l+M.value>i.value){A(g-1),f.value=l-F-y.value+m.value;break}}e.suffix&&G(0)+y.value>i.value&&(f.value=null)}}),()=>{const l=V.value&&!!N.value.length,{itemComponent:r,renderRawItem:s,renderRawRest:g,renderRest:F,prefixCls:ie="rc-overflow",suffix:J,component:se="div",id:ue,onMousedown:de}=e,{class:ce,style:ve}=a,fe=we(a,["class","style"]);let Q={};f.value!==null&&S.value&&(Q={position:"absolute",left:`${f.value}px`,top:0});const j={prefixCls:I.value,responsive:S.value,component:r,invalidate:W.value},me=s?(d,x)=>{const K=E(d,x);return v(X,{key:K,value:D(D({},j),{order:x,item:d,itemKey:K,registerSize:q,display:x<=R.value})},{default:()=>[s(d,x)]})}:(d,x)=>{const K=E(d,x);return v($,u(u({},j),{},{order:x,key:K,item:d,renderItem:B.value,itemKey:K,registerSize:q,display:x<=R.value}),null)};let L=()=>null;const Z={order:l?R.value:Number.MAX_SAFE_INTEGER,className:`${I.value} ${I.value}-rest`,registerSize:re,display:l};if(g)g&&(L=()=>v(X,{value:D(D({},j),Z)},{default:()=>[g(N.value)]}));else{const d=F||Re;L=()=>v($,u(u({},j),Z),{default:()=>typeof d=="function"?d(N.value):d})}const ye=()=>{var d;return v(se,u({id:ue,class:H(!W.value&&ie,ce),style:ve,onMousedown:de,role:e.role},fe),{default:()=>[h.value.map(me),T.value?L():null,J&&v($,u(u({},j),{},{order:R.value,class:`${I.value}-suffix`,registerSize:oe,display:!0,style:Q}),{default:()=>J}),(d=n.default)===null||d===void 0?void 0:d.call(n)]})};return v(ee,{disabled:!S.value,onResize:ae},{default:ye})}}});Y.Item=Ce;Y.RESPONSIVE=ne;Y.INVALIDATE=le;export{Y as O};
@@ -1 +1 @@
1
- import{i as _,p as b,j as t}from"./vendor-BVetwVfk.js";const c=Symbol("OverrideContextKey"),C=()=>_(c,void 0),f=o=>{var v,i,d;const{prefixCls:n,mode:a,selectable:u,validator:s,onClick:x,expandIcon:r}=C()||{};b(c,{prefixCls:t(()=>{var e,l;return(l=(e=o.prefixCls)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:n?.value}),mode:t(()=>{var e,l;return(l=(e=o.mode)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:a?.value}),selectable:t(()=>{var e,l;return(l=(e=o.selectable)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:u?.value}),validator:(v=o.validator)!==null&&v!==void 0?v:s,onClick:(i=o.onClick)!==null&&i!==void 0?i:x,expandIcon:(d=o.expandIcon)!==null&&d!==void 0?d:r?.value})};export{C as a,f as u};
1
+ import{i as _,p as b,f as t}from"./vendor-B6ToihkA.js";const c=Symbol("OverrideContextKey"),C=()=>_(c,void 0),f=o=>{var v,i,d;const{prefixCls:n,mode:a,selectable:u,validator:s,onClick:x,expandIcon:r}=C()||{};b(c,{prefixCls:t(()=>{var e,l;return(l=(e=o.prefixCls)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:n?.value}),mode:t(()=>{var e,l;return(l=(e=o.mode)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:a?.value}),selectable:t(()=>{var e,l;return(l=(e=o.selectable)===null||e===void 0?void 0:e.value)!==null&&l!==void 0?l:u?.value}),validator:(v=o.validator)!==null&&v!==void 0?v:s,onClick:(i=o.onClick)!==null&&i!==void 0?i:x,expandIcon:(d=o.expandIcon)!==null&&d!==void 0?d:r?.value})};export{C as a,f as u};
@@ -0,0 +1 @@
1
+ [data-v-832d025d] .ant-table{background:transparent}[data-v-832d025d] .ant-select-selector{background:var(--bg-card)!important;border-color:var(--border-color)!important}
@@ -0,0 +1,2 @@
1
+ import{_ as ve,a as ye}from"./index-CyqU4Tck.js";import{u as me}from"./ws-D_5-FRIb.js";import{R as fe,aq as _e,ad as te,al as ge,ae as B}from"./icons-DvZE-RKs.js";import{o as be,M as v,R as d,P as l,u as t,c as a,N as n,r,K as p,L as i,O as y,Q as w,S as m,F as ae,_ as xe,f as he}from"./vendor-B6ToihkA.js";const ke={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},we={class:"page-title"},Se={class:"page-sub"},Pe={key:0,style:{"text-align":"center",padding:"30px"}},Ce={key:2,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},Le={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ze={key:0,style:{"text-align":"center",padding:"30px"}},Oe={key:0,style:{"margin-top":"16px"}},Me={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},Be={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},Fe={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Te={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},$e={key:0,style:{"margin-top":"12px"}},Ne={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},De={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Ee={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Re={key:0,style:{"margin-top":"12px"}},Ue={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Ve={__name:"P2P",setup(Ie){const{t:e}=ye(),x=me(),F=r(!1),T=r(""),S=r([]),oe=he(()=>[{title:e("p2p.peerColumns.name"),key:"name"},{title:e("p2p.peerColumns.id"),key:"id"},{title:e("p2p.peerColumns.status"),key:"status"},{title:e("p2p.peerColumns.action"),key:"action",width:100}]);async function G(){F.value=!0,T.value="";try{const{output:o}=await x.execute("p2p peers",15e3);S.value=ne(o)}catch(o){T.value=e("p2p.messages.loadPeersFailed",{err:o.message})}finally{F.value=!1}}function ne(o){if(!o||o.includes("No peers")||o.includes("no peers"))return[];const c=o.split(`
2
+ `).filter(_=>_.trim()),u=[];for(const _ of c){const b=_.match(/^\s*(\S+)\s+(.+?)\s+(connected|online|offline|disconnected)\s*$/i);if(b){u.push({id:b[1],name:b[2].trim(),connected:/connected|online/i.test(b[3])});continue}const k=_.match(/^\s*((?:12D3|Qm)\S{10,})\s*(.*)$/);if(k){const O=k[2].trim();u.push({id:k[1],name:O||k[1].slice(0,12),connected:/connected|online/i.test(O)})}}return u}const E=r(!1),R=r(!1),$=r(""),P=r("");async function H(){if($.value.trim()){R.value=!0,P.value="";try{const{output:o}=await x.execute(`p2p pair "${$.value.trim()}"`,3e4);P.value=o,await G()}catch(o){P.value=e("p2p.messages.pairFailed",{err:o.message})}finally{R.value=!1}}}const N=r(!1),U=r(!1),C=r(void 0),L=r(""),h=r("");function le(o){C.value=o.id,L.value="",h.value="",N.value=!0}async function J(){if(!(!C.value||!L.value.trim())){U.value=!0,h.value="";try{const{output:o}=await x.execute(`p2p send ${C.value} "${L.value.trim()}"`,15e3);h.value=o||e("p2p.send.messageDefault")}catch(o){h.value=e("p2p.messages.sendFailed",{err:o.message})}finally{U.value=!1}}}const V=r(!1),D=r(""),z=r(!1),I=r(""),Q=r(0),X=r(""),f=r(""),j=r(!1),q=r(!1);async function A(){V.value=!0,D.value="";try{const{output:o}=await x.execute("sync status",15e3);se(o)}catch(o){D.value=e("p2p.messages.loadSyncFailed",{err:o.message})}finally{V.value=!1}}function se(o){if(!o){I.value=e("p2p.sync.unknown");return}z.value=/synced|online|up.to.date/i.test(o),I.value=z.value?e("p2p.sync.synced"):e("p2p.sync.notSynced");const c=o.match(/pending[:\s]+(\d+)/i);Q.value=c?parseInt(c[1]):0;const u=o.match(/last[:\s]+(.+)/i);u&&(X.value=u[1].trim())}async function re(){j.value=!0,f.value="";try{const{output:o}=await x.execute("sync push",3e4);f.value=o||e("p2p.sync.pushDefault"),await A()}catch(o){f.value=e("p2p.messages.pushFailed",{err:o.message})}finally{j.value=!1}}async function ce(){q.value=!0,f.value="";try{const{output:o}=await x.execute("sync pull",3e4);f.value=o||e("p2p.sync.pullDefault"),await A()}catch(o){f.value=e("p2p.messages.pullFailed",{err:o.message})}finally{q.value=!1}}async function Y(){await Promise.all([G(),A()])}return be(Y),(o,c)=>{const u=p("a-button"),_=p("a-space"),b=p("a-spin"),k=p("a-empty"),O=p("a-tag"),ie=p("a-table"),M=p("a-card"),K=p("a-statistic"),W=p("a-col"),pe=p("a-row"),Z=p("a-input"),ee=p("a-modal"),ue=p("a-select-option"),de=p("a-select");return i(),v("div",null,[d("div",ke,[d("div",null,[d("h2",we,l(t(e)("p2p.title")),1),d("p",Se,l(t(e)("p2p.subtitle")),1)]),a(u,{type:"primary",ghost:"",loading:F.value,onClick:Y},{icon:n(()=>[a(t(fe))]),default:n(()=>[y(" "+l(t(e)("p2p.refresh")),1)]),_:1},8,["loading"])]),a(M,{title:t(e)("p2p.peers.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:n(()=>[a(_,null,{default:n(()=>[a(u,{size:"small",onClick:c[0]||(c[0]=s=>E.value=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(ge))]),default:n(()=>[y(" "+l(t(e)("p2p.peers.pairButton")),1)]),_:1}),a(u,{size:"small",onClick:c[1]||(c[1]=s=>N.value=!0),disabled:S.value.length===0,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(te))]),default:n(()=>[y(" "+l(t(e)("p2p.peers.sendButton")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[F.value?(i(),v("div",Pe,[a(b)])):S.value.length===0?(i(),w(k,{key:1,description:t(e)("p2p.peers.emptyText")},null,8,["description"])):(i(),w(ie,{key:2,columns:oe.value,"data-source":S.value,pagination:!1,size:"small","row-key":"id"},{bodyCell:n(({column:s,record:g})=>[s.key==="status"?(i(),w(O,{key:0,color:g.connected?"green":"default"},{default:n(()=>[y(l(g.connected?t(e)("p2p.peers.online"):t(e)("p2p.peers.offline")),1)]),_:2},1032,["color"])):m("",!0),s.key==="name"?(i(),w(_,{key:1},{default:n(()=>[a(t(_e),{style:{color:"var(--text-muted)"}}),d("span",null,l(g.name||g.id),1)]),_:2},1024)):m("",!0),s.key==="id"?(i(),v("span",Ce,l(g.id.length>16?g.id.slice(0,16)+"...":g.id),1)):m("",!0),s.key==="action"?(i(),w(u,{key:3,size:"small",type:"link",onClick:Qe=>le(g)},{default:n(()=>[a(t(te)),y(" "+l(t(e)("p2p.peers.rowSend")),1)]),_:1},8,["onClick"])):m("",!0)]),_:1},8,["columns","data-source"])),T.value?(i(),v("div",Le,l(T.value),1)):m("",!0)]),_:1},8,["title"]),a(M,{title:t(e)("p2p.sync.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:n(()=>[a(O,{color:z.value?"green":"default"},{default:n(()=>[y(l(z.value?t(e)("p2p.sync.synced"):t(e)("p2p.sync.notSynced")),1)]),_:1},8,["color"])]),default:n(()=>[V.value?(i(),v("div",ze,[a(b)])):(i(),v(ae,{key:1},[a(pe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.statusLabel"),value:I.value,"value-style":{color:z.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.pendingLabel"),value:Q.value,"value-style":{color:Q.value>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.lastSyncLabel"),value:X.value||t(e)("p2p.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),a(_,null,{default:n(()=>[a(u,{loading:j.value,onClick:re,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(B))]),default:n(()=>[y(" "+l(t(e)("p2p.sync.pushButton")),1)]),_:1},8,["loading"]),a(u,{loading:q.value,onClick:ce,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(B))]),default:n(()=>[y(" "+l(t(e)("p2p.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),f.value?(i(),v("div",Oe,[d("div",Me,l(t(e)("p2p.sync.outputLabel")),1),d("pre",Be,l(f.value),1)])):m("",!0)],64)),D.value?(i(),v("div",Fe,l(D.value),1)):m("",!0)]),_:1},8,["title"]),a(ee,{open:E.value,"onUpdate:open":c[3]||(c[3]=s=>E.value=s),title:t(e)("p2p.pair.title"),"confirm-loading":R.value,onOk:H,"ok-text":t(e)("p2p.pair.ok"),"cancel-text":t(e)("common.cancel")},{default:n(()=>[d("div",Te,l(t(e)("p2p.pair.intro")),1),a(Z,{value:$.value,"onUpdate:value":c[2]||(c[2]=s=>$.value=s),placeholder:t(e)("p2p.pair.placeholder"),onPressEnter:H},null,8,["value","placeholder"]),P.value?(i(),v("div",$e,[d("pre",Ne,l(P.value),1)])):m("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ee,{open:N.value,"onUpdate:open":c[6]||(c[6]=s=>N.value=s),title:t(e)("p2p.send.title"),"confirm-loading":U.value,onOk:J,"ok-text":t(e)("p2p.send.ok"),"cancel-text":t(e)("common.cancel")},{default:n(()=>[d("div",De,l(t(e)("p2p.send.targetLabel")),1),a(de,{value:C.value,"onUpdate:value":c[4]||(c[4]=s=>C.value=s),style:{width:"100%","margin-bottom":"16px"},placeholder:t(e)("p2p.send.targetPlaceholder")},{default:n(()=>[(i(!0),v(ae,null,xe(S.value,s=>(i(),w(ue,{key:s.id,value:s.id},{default:n(()=>[y(l(s.name||s.id),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),d("div",Ee,l(t(e)("p2p.send.messageLabel")),1),a(Z,{value:L.value,"onUpdate:value":c[5]||(c[5]=s=>L.value=s),placeholder:t(e)("p2p.send.messagePlaceholder"),onPressEnter:J},null,8,["value","placeholder"]),h.value?(i(),v("div",Re,[d("pre",Ue,l(h.value),1)])):m("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},We=ve(Ve,[["__scopeId","data-v-832d025d"]]);export{We as default};
@@ -0,0 +1,4 @@
1
+ import{u as ue}from"./ws-D_5-FRIb.js";import{_ as ce,c as J}from"./index-CyqU4Tck.js";import{R as de,H as pe,f as G,a2 as me}from"./icons-DvZE-RKs.js";import{o as fe,M as d,R as j,c as l,N as s,r as v,K as u,L as i,O as h,u as I,Q as b,P as _,S as g,F as L,_ as B}from"./vendor-B6ToihkA.js";const ye={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ve={key:0,style:{"text-align":"center",padding:"60px"}},_e={key:0,style:{color:"#e0e0e0","font-weight":"500"}},ge={key:1,style:{color:"var(--text-secondary)"}},he={key:0,style:{"margin-top":"16px"}},ke={key:0,style:{"text-align":"center",padding:"60px"}},xe={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},be={key:1,style:{color:"#e0e0e0"}},we={key:2,style:{color:"var(--text-secondary)"}},Ce={key:4,style:{color:"var(--text-muted)","font-size":"12px"}},Ie={__name:"Permissions",setup(Re){const R=ue(),O=v("roles"),z=v(!1);async function q(){z.value=!0;try{O.value==="roles"?await P():O.value==="audit"&&await V()}finally{z.value=!1}}function H(t){t==="roles"&&W.value.length===0&&P(),t==="audit"&&A.value.length===0&&V()}const S=v(!1),W=v([]),Q=[{title:"角色名",key:"name",dataIndex:"name",width:"160px"},{title:"描述",key:"description",dataIndex:"description",width:"240px"},{title:"权限",key:"permissions",dataIndex:"permissions"},{title:"用户数",key:"userCount",dataIndex:"userCount",width:"100px"}];async function P(){S.value=!0;try{const{output:t}=await R.execute("auth roles --json",15e3);W.value=K(t,X)}catch(t){J.error("加载角色列表失败: "+t.message)}finally{S.value=!1}}function X(t){const e=[],o=t.split(`
2
+ `);for(const p of o){const n=p.trim();if(!n||n.startsWith("─")||n.match(/^Role/i))continue;const r=n.split(/\s*[|│]\s*/);r.length>=2?e.push({key:e.length,name:r[0]||"-",description:r[1]||"",permissions:r[2]?r[2].split(/[,;\s]+/).filter(Boolean):[],userCount:r[3]&&parseInt(r[3],10)||0}):n.length>2&&e.push({key:e.length,name:n.slice(0,60),description:"",permissions:[],userCount:0})}return e}const C=v(""),w=v(""),M=v(!1),k=v(null),Y=["note:read","note:write","admin:*","skill:execute"];async function Z(){if(!(!C.value.trim()||!w.value.trim())){M.value=!0,k.value=null;try{const t=`auth check ${C.value.trim()} "${w.value.trim()}"`,{output:e}=await R.execute(t,15e3),o=e.toLowerCase(),p=o.includes("allow")||o.includes("granted")||o.includes("true")||o.includes("yes"),n=o.includes("denied")||o.includes("reject")||o.includes("false")||o.includes("no permission");k.value={allowed:p&&!n,detail:e.trim()||(p?"用户拥有该权限":"用户没有该权限")}}catch(t){k.value={allowed:!1,detail:"检查失败: "+t.message}}finally{M.value=!1}}}const $=v(!1),A=v([]),E=v([]),ee=[{title:"时间",key:"timestamp",dataIndex:"timestamp",width:"180px"},{title:"事件",key:"event",dataIndex:"event",width:"200px"},{title:"用户",key:"user",dataIndex:"user",width:"120px"},{title:"级别",key:"level",dataIndex:"level",width:"80px"},{title:"详情",key:"detail",dataIndex:"detail",ellipsis:!0}];function te(t){return{info:"blue",warn:"orange",warning:"orange",error:"red",critical:"red"}[(t||"").toLowerCase()]||"default"}async function V(){$.value=!0;try{const[t,e]=await Promise.all([R.execute("audit log --json",15e3),R.execute("audit stats --json",15e3)]);A.value=K(t.output,ae),E.value=se(e.output)}catch(t){J.error("加载审计日志失败: "+t.message)}finally{$.value=!1}}function ae(t){const e=[],o=t.split(`
3
+ `);for(const p of o){const n=p.trim();if(!n||n.startsWith("─")||n.startsWith("Audit")||n.startsWith("Recent"))continue;const r=n.split(/\s*[|│]\s*/);if(r.length>=3){e.push({key:e.length,timestamp:r[0]||"-",event:r[1]||"-",user:r[2]||"-",level:r[3]||"info",detail:r.slice(4).join(" ")||""});continue}const y=n.match(/^(\d{4}-\d{2}-\d{2}[\sT]\d{2}:\d{2}(?::\d{2})?)\s+(.+)/);if(y){const m=y[2],f=m.match(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i);e.push({key:e.length,timestamp:y[1],event:m.replace(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i,"").trim().slice(0,80),user:"-",level:f?f[1].toLowerCase():"info",detail:""})}else n.length>3&&!n.match(/^\d+ event/i)&&e.push({key:e.length,timestamp:"-",event:n.slice(0,80),user:"-",level:"info",detail:""})}return e}function se(t){const e=F(t);if(e&&typeof e=="object"&&!Array.isArray(e)){const y=["#1677ff","#52c41a","#faad14","#ff4d4f"];return Object.entries(e).slice(0,4).map(([m,f],x)=>({label:m,value:typeof f=="number"?f:String(f),color:y[x%y.length]}))}const o=[],p=t.split(`
4
+ `),n=["#1677ff","#52c41a","#faad14","#ff4d4f"];let r=0;for(const y of p){const m=y.trim();if(!m||m.startsWith("─")||m.startsWith("Audit"))continue;const f=m.match(/^(.+?)\s*[:=]\s*(.+)$/);if(f){const x=f[1].trim(),N=f[2].trim(),T=N.match(/^(\d+)/);o.push({label:x,value:T?parseInt(T[1],10):N,color:n[r%n.length]}),r++}}return o.length===0&&o.push({label:"总事件数",value:A.value.length,color:"#1677ff"},{label:"状态",value:"就绪",color:"#52c41a"}),o}function F(t){try{const e=t.indexOf("[")!==-1?t.indexOf("["):t.indexOf("{");if(e===-1)return null;const o=t.lastIndexOf("]")!==-1?t.lastIndexOf("]")+1:t.lastIndexOf("}")+1;return JSON.parse(t.slice(e,o))}catch{return null}}function K(t,e){const o=F(t);return Array.isArray(o)?o.map((p,n)=>({key:n,...p})):e(t)}return fe(()=>{P()}),(t,e)=>{const o=u("a-button"),p=u("a-spin"),n=u("a-tag"),r=u("a-empty"),y=u("a-table"),m=u("a-tab-pane"),f=u("a-input"),x=u("a-form-item"),N=u("a-space"),T=u("a-form"),ne=u("a-alert"),U=u("a-card"),le=u("a-statistic"),oe=u("a-col"),ie=u("a-row"),re=u("a-tabs");return i(),d("div",null,[j("div",ye,[e[4]||(e[4]=j("div",null,[j("h2",{class:"page-title"},"权限管理"),j("p",{class:"page-sub"},"角色 / 权限检查 / 审计")],-1)),l(o,{type:"primary",ghost:"",loading:z.value,onClick:q},{icon:s(()=>[l(I(de))]),default:s(()=>[e[3]||(e[3]=h(" 刷新 ",-1))]),_:1},8,["loading"])]),l(re,{activeKey:O.value,"onUpdate:activeKey":e[2]||(e[2]=a=>O.value=a),type:"card",onChange:H},{default:s(()=>[l(m,{key:"roles"},{tab:s(()=>[l(I(pe)),e[5]||(e[5]=h(" 角色列表 ",-1))]),default:s(()=>[S.value?(i(),d("div",ve,[l(p,{size:"large"})])):(i(),b(y,{key:1,columns:Q,"data-source":W.value,pagination:{pageSize:20,showTotal:a=>`共 ${a} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:a,record:c})=>[a.key==="name"?(i(),d("span",_e,_(c.name),1)):g("",!0),a.key==="description"?(i(),d("span",ge,_(c.description),1)):g("",!0),a.key==="permissions"?(i(),d(L,{key:2},[(i(!0),d(L,null,B((c.permissions||[]).slice(0,5),D=>(i(),b(n,{key:D,color:"blue",style:{"margin-bottom":"2px"}},{default:s(()=>[h(_(D),1)]),_:2},1024))),128)),(c.permissions||[]).length>5?(i(),b(n,{key:0,color:"default"},{default:s(()=>[h(" +"+_(c.permissions.length-5),1)]),_:2},1024)):g("",!0)],64)):g("",!0),a.key==="userCount"?(i(),b(n,{key:3,color:c.userCount>0?"green":"default"},{default:s(()=>[h(_(c.userCount??0),1)]),_:2},1032,["color"])):g("",!0)]),emptyText:s(()=>[l(r,{description:"暂无角色数据"})]),_:1},8,["data-source","pagination"]))]),_:1}),l(m,{key:"check"},{tab:s(()=>[l(I(G)),e[6]||(e[6]=h(" 权限检查 ",-1))]),default:s(()=>[l(U,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","max-width":"640px"}},{default:s(()=>[l(T,{"label-col":{span:5},"wrapper-col":{span:19}},{default:s(()=>[l(x,{label:"用户 ID",required:""},{default:s(()=>[l(f,{value:C.value,"onUpdate:value":e[0]||(e[0]=a=>C.value=a),placeholder:"输入用户 ID"},null,8,["value"])]),_:1}),l(x,{label:"权限",required:""},{default:s(()=>[l(f,{value:w.value,"onUpdate:value":e[1]||(e[1]=a=>w.value=a),placeholder:"note:read"},null,8,["value"])]),_:1}),l(x,{"wrapper-col":{offset:5,span:19}},{default:s(()=>[l(N,{wrap:""},{default:s(()=>[l(o,{type:"primary",loading:M.value,disabled:!C.value.trim()||!w.value.trim(),onClick:Z},{icon:s(()=>[l(I(G))]),default:s(()=>[e[7]||(e[7]=h(" 检查权限 ",-1))]),_:1},8,["loading","disabled"]),(i(),d(L,null,B(Y,a=>l(o,{key:a,size:"small",onClick:c=>w.value=a},{default:s(()=>[h(_(a),1)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}),k.value!==null?(i(),d("div",he,[l(ne,{message:k.value.allowed?"权限允许":"权限拒绝",description:k.value.detail,type:k.value.allowed?"success":"error","show-icon":""},null,8,["message","description","type"])])):g("",!0)]),_:1})]),_:1}),l(m,{key:"audit"},{tab:s(()=>[l(I(me)),e[8]||(e[8]=h(" 审计日志 ",-1))]),default:s(()=>[l(ie,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[(i(!0),d(L,null,B(E.value,a=>(i(),b(oe,{xs:12,sm:6,key:a.label},{default:s(()=>[l(U,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:s(()=>[l(le,{title:a.label,value:a.value,"value-style":{color:a.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),$.value?(i(),d("div",ke,[l(p,{size:"large"})])):(i(),b(y,{key:1,columns:ee,"data-source":A.value,pagination:{pageSize:20,showTotal:a=>`共 ${a} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:a,record:c})=>[a.key==="timestamp"?(i(),d("span",xe,_(c.timestamp),1)):g("",!0),a.key==="event"?(i(),d("span",be,_(c.event),1)):g("",!0),a.key==="user"?(i(),d("span",we,_(c.user),1)):g("",!0),a.key==="level"?(i(),b(n,{key:3,color:te(c.level)},{default:s(()=>[h(_(c.level),1)]),_:2},1032,["color"])):g("",!0),a.key==="detail"?(i(),d("span",Ce,_(c.detail),1)):g("",!0)]),emptyText:s(()=>[l(r,{description:"暂无审计日志"})]),_:1},8,["data-source","pagination"]))]),_:1})]),_:1},8,["activeKey"])])}}},je=ce(Ie,[["__scopeId","data-v-71782e36"]]);export{je as default};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ .page-title[data-v-8e02619c]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-8e02619c]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.pipeline-tabs[data-v-8e02619c] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-8e02619c]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stage-flow[data-v-8e02619c]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stage-pill[data-v-8e02619c]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:14px;background:#1677ff1f;color:#1677ff;font-size:12px;font-weight:500;border:1px solid rgba(22,119,255,.25)}.stage-pill.is-gate[data-v-8e02619c]{background:#faad1426;color:#faad14;border-color:#faad144d}.stage-idx[data-v-8e02619c]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:currentColor;color:#fff!important;border-radius:50%;font-size:10px;font-weight:700}.stage-pill.is-gate .stage-idx[data-v-8e02619c]{background:#faad14}.stage-arrow[data-v-8e02619c]{color:var(--text-muted);font-size:11px}.gate-icon[data-v-8e02619c]{font-size:11px}.tpl-stages[data-v-8e02619c]{display:flex;gap:4px;flex-wrap:wrap}
@@ -0,0 +1 @@
1
+ .page-title[data-v-fe89c543]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-fe89c543]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.privacy-tabs[data-v-fe89c543] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-fe89c543]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.catalog-item[data-v-fe89c543]{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;font-size:12px}.catalog-item[data-v-fe89c543]:last-child{margin-bottom:0}.catalog-name[data-v-fe89c543]{color:var(--text-primary);font-weight:500}.catalog-desc[data-v-fe89c543]{color:var(--text-secondary);font-size:11px;margin-left:auto}
@@ -0,0 +1 @@
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};
@@ -0,0 +1,2 @@
1
+ import{u as R}from"./ws-D_5-FRIb.js";import{_ as V,c as k}from"./index-CyqU4Tck.js";import{R as A,F as E}from"./icons-DvZE-RKs.js";import{a as L,r as P,o as T,M as O,R as v,c as a,N as l,K as i,L as M,O as B,u as I,Q as D,S as N,f as W}from"./vendor-B6ToihkA.js";const c=Object.freeze({rootPath:"",maxSizeMB:1e3,autoSync:!1,syncIntervalSeconds:300});function K(s){if(!s)return null;const e=s.trim();try{return JSON.parse(e)}catch{const o=e.match(/(\{[\s\S]*\}|\[[\s\S]*\])/);if(!o)return null;try{return JSON.parse(o[1])}catch{return null}}}function $(s){if(typeof s=="boolean")return s;const e=String(s).trim().toLowerCase();return e==="true"||e==="1"||e==="yes"||e==="on"}function j(s,e){if(typeof s=="number"&&Number.isFinite(s))return s;const o=parseFloat(s);return Number.isFinite(o)?o:e}function Q(s){const e={...c};if(!s)return e;const o=s.trim();if(!o||/key not found/i.test(o))return e;const n=K(o);if(n&&typeof n=="object"&&!Array.isArray(n))return n.rootPath!==void 0&&(e.rootPath=String(n.rootPath||"")),n.maxSizeMB!==void 0&&(e.maxSizeMB=j(n.maxSizeMB,c.maxSizeMB)),n.autoSync!==void 0&&(e.autoSync=$(n.autoSync)),n.syncIntervalSeconds!==void 0&&(e.syncIntervalSeconds=j(n.syncIntervalSeconds,c.syncIntervalSeconds)),e;const r=o.split(`
2
+ `);for(const u of r){const p=u.trim().match(/^(?:project\.)?(rootPath|maxSizeMB|autoSync|syncIntervalSeconds)\s*[=:]\s*(.+)$/i);if(!p)continue;const b=p[1],g=p[2].trim();b==="rootPath"?e.rootPath=g:b==="maxSizeMB"?e.maxSizeMB=j(g,c.maxSizeMB):b==="autoSync"?e.autoSync=$(g):b==="syncIntervalSeconds"&&(e.syncIntervalSeconds=j(g,c.syncIntervalSeconds))}return e}function F(s,e){const o={};for(const n of Object.keys(c))s[n]!==e[n]&&(o[n]=e[n]);return o}const q={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},G={style:{color:"var(--text-primary)"}},H={key:0,style:{color:"#faad14","font-size":"12px","margin-left":"8px"}},X={__name:"ProjectSettings",setup(s){const e=R(),o=P(!1),n=P(!1),r=L({...c}),u=P({...c}),h=W(()=>Object.keys(F(u.value,r)).length>0);async function p(){o.value=!0;try{const{output:d}=await e.execute("config get project",1e4),t=Q(d);Object.assign(r,t),u.value={...t}}catch(d){/key not found/i.test(d.message)?(Object.assign(r,c),u.value={...c}):k.error("加载配置失败: "+d.message)}finally{o.value=!1}}function b(){Object.assign(r,u.value)}async function g(){const d=F(u.value,r),t=Object.keys(d);if(t.length===0){k.info("没有需要保存的修改");return}n.value=!0;let f=0,S=0;for(const _ of t){const m=d[_],w=String(m).replace(/"/g,'\\"'),z=`config set project.${_} "${w}"`;try{const{output:x,exitCode:C}=await e.execute(z,1e4);C!==0||/error|failed|失败/i.test(x)?(S++,k.error(`保存 ${_} 失败: ${x.slice(0,80)}`)):f++}catch(x){S++,k.error(`保存 ${_} 失败: ${x.message}`)}}n.value=!1,S===0?(k.success(`保存成功(${f} 项)`),u.value={...r}):f>0&&(k.warning(`部分保存成功:${f} 成功 / ${S} 失败`),await p())}return T(()=>{p()}),(d,t)=>{const f=i("a-button"),S=i("a-alert"),_=i("a-input"),m=i("a-form-item"),w=i("a-input-number"),z=i("a-switch"),x=i("a-space"),C=i("a-form"),U=i("a-spin"),J=i("a-card");return M(),O("div",null,[v("div",q,[t[5]||(t[5]=v("div",null,[v("h2",{class:"page-title"},"项目存储配置"),v("p",{class:"page-sub"},"根目录 / 配额 / 自动同步")],-1)),a(f,{loading:o.value,onClick:p},{icon:l(()=>[a(I(A))]),default:l(()=>[t[4]||(t[4]=B(" 刷新 ",-1))]),_:1},8,["loading"])]),a(S,{message:"仅 Web 模式",description:"目录选择器(原生文件对话框)仅在桌面端可用,本页面需手动输入路径。修改根目录后需重启桌面应用生效;web 端只影响后端配置文件。",type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}}),a(J,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{title:l(()=>[v("span",G,[a(I(E),{style:{"margin-right":"8px"}}),t[6]||(t[6]=B("项目存储 ",-1))])]),default:l(()=>[a(U,{spinning:o.value},{default:l(()=>[a(C,{"label-col":{span:6},"wrapper-col":{span:18},style:{"max-width":"720px"}},{default:l(()=>[a(m,{label:"项目根目录"},{extra:l(()=>[...t[7]||(t[7]=[v("span",{style:{color:"var(--text-muted)","font-size":"11px"}}," 需绝对路径;修改后重启桌面应用生效 ",-1)])]),default:l(()=>[a(_,{value:r.rootPath,"onUpdate:value":t[0]||(t[0]=y=>r.rootPath=y),placeholder:"项目文件存储的根目录绝对路径",disabled:n.value},null,8,["value","disabled"])]),_:1}),a(m,{label:"最大项目大小"},{default:l(()=>[a(w,{value:r.maxSizeMB,"onUpdate:value":t[1]||(t[1]=y=>r.maxSizeMB=y),min:100,max:1e4,step:100,"addon-after":"MB",style:{width:"220px"},disabled:n.value},null,8,["value","disabled"])]),_:1}),a(m,{label:"自动同步"},{default:l(()=>[a(z,{checked:r.autoSync,"onUpdate:checked":t[2]||(t[2]=y=>r.autoSync=y),disabled:n.value},null,8,["checked","disabled"]),t[8]||(t[8]=v("span",{style:{"margin-left":"12px",color:"var(--text-secondary)","font-size":"12px"}}," 自动同步项目到后端服务器 ",-1))]),_:1}),r.autoSync?(M(),D(m,{key:0,label:"同步间隔"},{default:l(()=>[a(w,{value:r.syncIntervalSeconds,"onUpdate:value":t[3]||(t[3]=y=>r.syncIntervalSeconds=y),min:60,max:3600,step:60,"addon-after":"秒",style:{width:"220px"},disabled:n.value},null,8,["value","disabled"])]),_:1})):N("",!0),a(m,{"wrapper-col":{offset:6,span:18}},{default:l(()=>[a(x,null,{default:l(()=>[a(f,{onClick:b,disabled:n.value||o.value},{default:l(()=>[...t[9]||(t[9]=[B(" 重置 ",-1)])]),_:1},8,["disabled"]),a(f,{type:"primary",loading:n.value,disabled:!h.value,onClick:g},{default:l(()=>[...t[10]||(t[10]=[B(" 保存配置 ",-1)])]),_:1},8,["loading","disabled"]),h.value?(M(),O("span",H," 有未保存的修改 ")):N("",!0)]),_:1})]),_:1})]),_:1})]),_:1},8,["spinning"])]),_:1})])}}},ne=V(X,[["__scopeId","data-v-17603429"]]);export{ne as default};
@@ -0,0 +1 @@
1
+ .template-card[data-v-55e98756]{transition:border-color .2s,box-shadow .2s}.template-card[data-v-55e98756]:hover{border-color:#1677ff!important}.template-selected[data-v-55e98756]{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26}