chainlesschain 0.166.129 → 0.166.131

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 (473) hide show
  1. package/README.md +24 -2
  2. package/package.json +2 -2
  3. package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
  4. package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
  5. package/src/assets/web-panel/.build-hash +1 -1
  6. package/src/assets/web-panel/assets/AIOps-CHItp4vg.js +1 -0
  7. package/src/assets/web-panel/assets/AIOps-Cchx1iXI.css +1 -0
  8. package/src/assets/web-panel/assets/{ActionButton-_zlP_Z6z.js → ActionButton-nhMNWW_d.js} +1 -1
  9. package/src/assets/web-panel/assets/Analytics-DRc81BBI.js +3 -0
  10. package/src/assets/web-panel/assets/Analytics-Dr-1kvaM.css +1 -0
  11. package/src/assets/web-panel/assets/AppLayout-BTBIIl1e.css +1 -0
  12. package/src/assets/web-panel/assets/AppLayout-CVt7HMkp.js +3 -0
  13. package/src/assets/web-panel/assets/Artifacts-BuJgG5jf.js +1 -0
  14. package/src/assets/web-panel/assets/Artifacts-Dohtjyfl.css +1 -0
  15. package/src/assets/web-panel/assets/Audit-DDnViLtj.css +1 -0
  16. package/src/assets/web-panel/assets/Audit-msNg0aH-.js +1 -0
  17. package/src/assets/web-panel/assets/BackgroundAgents-BpcV8yWC.js +1 -0
  18. package/src/assets/web-panel/assets/BackgroundAgents-CH3Uc9sF.css +1 -0
  19. package/src/assets/web-panel/assets/Backup-CYh10zO3.css +1 -0
  20. package/src/assets/web-panel/assets/Backup-P53DADwG.js +1 -0
  21. package/src/assets/web-panel/assets/BaseInput-DFxT2yWN.js +1 -0
  22. package/src/assets/web-panel/assets/Chat-B5JvvQJb.css +1 -0
  23. package/src/assets/web-panel/assets/Chat-BXoHisHW.js +7 -0
  24. package/src/assets/web-panel/assets/ChatBubbleRenderer-CO908iBt.css +1 -0
  25. package/src/assets/web-panel/assets/ChatBubbleRenderer-DMGtSdDx.js +1 -0
  26. package/src/assets/web-panel/assets/{Checkbox-nMgYkH8H.js → Checkbox-B4g_ckJq.js} +1 -1
  27. package/src/assets/web-panel/assets/Codegen-BLP7id2a.css +1 -0
  28. package/src/assets/web-panel/assets/Codegen-C6SSSOfp.js +1 -0
  29. package/src/assets/web-panel/assets/{Col-i0owJaGP.js → Col-IO1NEUYL.js} +1 -1
  30. package/src/assets/web-panel/assets/Community-C2RejeOY.css +1 -0
  31. package/src/assets/web-panel/assets/Community-CdEBl93F.js +1 -0
  32. package/src/assets/web-panel/assets/{Compact-DDXrvvm-.js → Compact-DYs0a9k7.js} +1 -1
  33. package/src/assets/web-panel/assets/Compliance-BPnk7948.js +1 -0
  34. package/src/assets/web-panel/assets/Compliance-DOys4Ov1.css +1 -0
  35. package/src/assets/web-panel/assets/Cowork-DsOst4XK.css +1 -0
  36. package/src/assets/web-panel/assets/Cowork-VLOTGbza.js +6 -0
  37. package/src/assets/web-panel/assets/Cron-_9GgQLJo.js +2 -0
  38. package/src/assets/web-panel/assets/Crosschain-B21yn0qy.js +1 -0
  39. package/src/assets/web-panel/assets/Crosschain-C7Le4Pte.css +1 -0
  40. package/src/assets/web-panel/assets/DID-BX6k3jZi.css +1 -0
  41. package/src/assets/web-panel/assets/DID-mBeDgRZ7.js +2 -0
  42. package/src/assets/web-panel/assets/Dashboard-BckYYzhP.js +3 -0
  43. package/src/assets/web-panel/assets/Dashboard-MFDcsVcM.css +1 -0
  44. package/src/assets/web-panel/assets/Dropdown-DEedqFiE.js +1 -0
  45. package/src/assets/web-panel/assets/EmailListRenderer-CMs0k9TB.js +1 -0
  46. package/src/assets/web-panel/assets/EmailListRenderer-CVJ1j3Ll.css +1 -0
  47. package/src/assets/web-panel/assets/EvolutionSettings-B00Qd0fN.js +1 -0
  48. package/src/assets/web-panel/assets/EvolutionSettings-BnQ91YHJ.css +1 -0
  49. package/src/assets/web-panel/assets/FamilyGuardDashboard-Df-D09Q4.css +1 -0
  50. package/src/assets/web-panel/assets/FamilyGuardDashboard-DxMTAMa8.js +1 -0
  51. package/src/assets/web-panel/assets/Federation-B-UZw0LO.js +1 -0
  52. package/src/assets/web-panel/assets/Federation-CgmfLbx1.css +1 -0
  53. package/src/assets/web-panel/assets/FormItemContext-CkafazEw.js +1 -0
  54. package/src/assets/web-panel/assets/GenericCardRenderer-DEUG25ZJ.js +1 -0
  55. package/src/assets/web-panel/assets/GenericCardRenderer-DtJFcJYl.css +1 -0
  56. package/src/assets/web-panel/assets/Git-D7dr9oz9.js +2 -0
  57. package/src/assets/web-panel/assets/{Git-BdHhxBWR.css → Git-DPuaGtg7.css} +1 -1
  58. package/src/assets/web-panel/assets/Governance-BoipmXaM.css +1 -0
  59. package/src/assets/web-panel/assets/Governance-DKlUJ1wg.js +1 -0
  60. package/src/assets/web-panel/assets/Inference-BJKqplap.js +1 -0
  61. package/src/assets/web-panel/assets/Inference-BWxYJF9-.css +1 -0
  62. package/src/assets/web-panel/assets/KnowledgeGraph-B78fB-bz.js +1 -0
  63. package/src/assets/web-panel/assets/KnowledgeGraph-CztPDA96.css +1 -0
  64. package/src/assets/web-panel/assets/Logs-DJGcHYH_.js +2 -0
  65. package/src/assets/web-panel/assets/Logs-Gf_Mv9Nx.css +1 -0
  66. package/src/assets/web-panel/assets/MarkdownRenderer-BAxj61I3.css +1 -0
  67. package/src/assets/web-panel/assets/MarkdownRenderer-DkcG_MxW.js +1 -0
  68. package/src/assets/web-panel/assets/Marketplace-Djp5q9dS.css +1 -0
  69. package/src/assets/web-panel/assets/Marketplace-ucTbwByD.js +1 -0
  70. package/src/assets/web-panel/assets/McpTools-Cu1xZYYk.js +2 -0
  71. package/src/assets/web-panel/assets/McpTools-DSGHWYS_.css +1 -0
  72. package/src/assets/web-panel/assets/Memory-Bcc2hxOA.css +1 -0
  73. package/src/assets/web-panel/assets/Memory-DCGpXmi-.js +2 -0
  74. package/src/assets/web-panel/assets/MobileBridge-BQ-Uwwg7.css +1 -0
  75. package/src/assets/web-panel/assets/MobileBridge-BnKr0aAS.js +1 -0
  76. package/src/assets/web-panel/assets/MobileProjects-C5UvYJTP.js +1 -0
  77. package/src/assets/web-panel/assets/MobileProjects-Ceaxrqzc.css +1 -0
  78. package/src/assets/web-panel/assets/Mtc-D1UUl4WH.js +6 -0
  79. package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +1 -0
  80. package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +1 -0
  81. package/src/assets/web-panel/assets/MtcAudit-D3aa8XP4.js +19 -0
  82. package/src/assets/web-panel/assets/Multisig-DiXdfJjO.js +7 -0
  83. package/src/assets/web-panel/assets/Multisig-kwPDnXnl.css +1 -0
  84. package/src/assets/web-panel/assets/NLProgramming-CLOvy-35.css +1 -0
  85. package/src/assets/web-panel/assets/NLProgramming-DbWABgSE.js +1 -0
  86. package/src/assets/web-panel/assets/Notes-BP1DPl-R.js +7 -0
  87. package/src/assets/web-panel/assets/Notes-COE2q2gD.css +1 -0
  88. package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +1 -0
  89. package/src/assets/web-panel/assets/NotificationSettings-xaB6ONe7.js +1 -0
  90. package/src/assets/web-panel/assets/OrderTableRenderer-BnOISpKI.css +1 -0
  91. package/src/assets/web-panel/assets/OrderTableRenderer-D1uNcz3b.js +1 -0
  92. package/src/assets/web-panel/assets/Organization-BM3Lh8Q8.css +1 -0
  93. package/src/assets/web-panel/assets/Organization-DMLDGaf1.js +4 -0
  94. package/src/assets/web-panel/assets/{Overflow-CaRUAOY_.js → Overflow-DH4QPEoI.js} +1 -1
  95. package/src/assets/web-panel/assets/{OverrideContext-C0w0P4A3.js → OverrideContext-DLR1AtLy.js} +1 -1
  96. package/src/assets/web-panel/assets/P2P-Bl4OS10o.js +2 -0
  97. package/src/assets/web-panel/assets/P2P-Cx88UaiD.css +1 -0
  98. package/src/assets/web-panel/assets/PdhVaultBrowser-B9ZGFpn4.css +1 -0
  99. package/src/assets/web-panel/assets/PdhVaultBrowser-D9XSE2YI.js +7 -0
  100. package/src/assets/web-panel/assets/Permissions-CUaPlr6d.js +4 -0
  101. package/src/assets/web-panel/assets/Permissions-Diejgkbs.css +1 -0
  102. package/src/assets/web-panel/assets/PersonalDataHub-Ba92dZk-.js +3 -0
  103. package/src/assets/web-panel/assets/PersonalDataHub-C_xhspRy.css +1 -0
  104. package/src/assets/web-panel/assets/Pipeline-Bh2okm-8.js +1 -0
  105. package/src/assets/web-panel/assets/Pipeline-DxkXqrH2.css +1 -0
  106. package/src/assets/web-panel/assets/Privacy-Bmq3p4gC.js +1 -0
  107. package/src/assets/web-panel/assets/Privacy-CrsfSFKd.css +1 -0
  108. package/src/assets/web-panel/assets/ProjectInit-BPu2fdKR.js +2 -0
  109. package/src/assets/web-panel/assets/ProjectInit-CteEo-wF.css +1 -0
  110. package/src/assets/web-panel/assets/ProjectSettings-D6ABLpmt.js +2 -0
  111. package/src/assets/web-panel/assets/ProjectSettings-pLSae-wy.css +1 -0
  112. package/src/assets/web-panel/assets/Projects-BX-SG9R4.css +1 -0
  113. package/src/assets/web-panel/assets/Projects-qWHEve0z.js +1 -0
  114. package/src/assets/web-panel/assets/Providers-CpAXh_6c.css +1 -0
  115. package/src/assets/web-panel/assets/Providers-D9DI-2hc.js +1 -0
  116. package/src/assets/web-panel/assets/{QrScannerModal-fFkycCT4.js → QrScannerModal-CxifoeD5.js} +1 -1
  117. package/src/assets/web-panel/assets/QrScannerModal-DFrn7rxS.css +1 -0
  118. package/src/assets/web-panel/assets/QuickAsk-DC1BvwR7.js +1 -0
  119. package/src/assets/web-panel/assets/Recommend-CH6wKzGo.css +1 -0
  120. package/src/assets/web-panel/assets/Recommend-CKqbMB5o.js +1 -0
  121. package/src/assets/web-panel/assets/RemoteSession-BGGzPdS5.js +5 -0
  122. package/src/assets/web-panel/assets/Reputation-D6VPNEd0.css +1 -0
  123. package/src/assets/web-panel/assets/Reputation-DH90O9-5.js +1 -0
  124. package/src/assets/web-panel/assets/Row-h7ovueJc.js +1 -0
  125. package/src/assets/web-panel/assets/RssFeed-Cze7YLaG.css +1 -0
  126. package/src/assets/web-panel/assets/RssFeed-DaHxXTZg.js +3 -0
  127. package/src/assets/web-panel/assets/Search-B6RalzTB.css +1 -0
  128. package/src/assets/web-panel/assets/Search-Bn6Nqpn4.js +1 -0
  129. package/src/assets/web-panel/assets/Security-13K57V_v.css +1 -0
  130. package/src/assets/web-panel/assets/Security-ClbBmPJi.js +4 -0
  131. package/src/assets/web-panel/assets/Services-C8Qs6KXv.css +1 -0
  132. package/src/assets/web-panel/assets/Services-ChHLQwRn.js +2 -0
  133. package/src/assets/web-panel/assets/{Skeleton-ASRgSh_Y.js → Skeleton-DfN6BFzt.js} +1 -1
  134. package/src/assets/web-panel/assets/Skills-BdjRyorN.css +1 -0
  135. package/src/assets/web-panel/assets/Skills-C926wDev.js +1 -0
  136. package/src/assets/web-panel/assets/Sla-DJzi1l1M.js +1 -0
  137. package/src/assets/web-panel/assets/Sla-K19oOyQc.css +1 -0
  138. package/src/assets/web-panel/assets/SpeechSettings-DYPJTDKz.css +1 -0
  139. package/src/assets/web-panel/assets/SpeechSettings-_GSyVjm_.js +1 -0
  140. package/src/assets/web-panel/assets/SyncSettings-B67xnERe.js +1 -0
  141. package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +1 -0
  142. package/src/assets/web-panel/assets/Tasks-BJjN_YEm.css +1 -0
  143. package/src/assets/web-panel/assets/Tasks-BaYZadcG.js +1 -0
  144. package/src/assets/web-panel/assets/Templates-BsMmCdZI.css +1 -0
  145. package/src/assets/web-panel/assets/Templates-Bu8kN1Xt.js +1 -0
  146. package/src/assets/web-panel/assets/Tenant-BM9qufw1.js +1 -0
  147. package/src/assets/web-panel/assets/Tenant-D3zkSAV0.css +1 -0
  148. package/src/assets/web-panel/assets/Terminal-MEdd5DjB.js +3 -0
  149. package/src/assets/web-panel/assets/Terminal-qPp9MaPu.css +1 -0
  150. package/src/assets/web-panel/assets/TimelineRenderer-C27kL2oU.js +1 -0
  151. package/src/assets/web-panel/assets/TimelineRenderer-DmztdsbF.css +1 -0
  152. package/src/assets/web-panel/assets/Tokens-BBOdNRHQ.css +1 -0
  153. package/src/assets/web-panel/assets/Tokens-Cvjd98VC.js +1 -0
  154. package/src/assets/web-panel/assets/{Trigger-DgGU_D0o.js → Trigger-CLym84HI.js} +1 -1
  155. package/src/assets/web-panel/assets/Trust-Bv2JTaNN.js +1 -0
  156. package/src/assets/web-panel/assets/Trust-DeOo0xAh.css +1 -0
  157. package/src/assets/web-panel/assets/UkeySign-CSCkNbtm.js +1 -0
  158. package/src/assets/web-panel/assets/VideoEditing-BFDXB4xh.js +1 -0
  159. package/src/assets/web-panel/assets/VideoEditing-DksiizfS.css +1 -0
  160. package/src/assets/web-panel/assets/Wallet-CMEFrG_b.js +4 -0
  161. package/src/assets/web-panel/assets/Wallet-Dw8uV4Ug.css +1 -0
  162. package/src/assets/web-panel/assets/WebAuthn-DKx6xPPl.css +1 -0
  163. package/src/assets/web-panel/assets/WebAuthn-x4eO_Q4y.js +5 -0
  164. package/src/assets/web-panel/assets/WorkflowEditor-ClWEPgV1.js +1 -0
  165. package/src/assets/web-panel/assets/WorkflowEditor-IiwsD8Kh.css +1 -0
  166. package/src/assets/web-panel/assets/{_getTag-DnrRH4E6.js → _getTag-BVc6NQ_K.js} +1 -1
  167. package/src/assets/web-panel/assets/{chat-C_kELmV6.js → chat-BdYOI4gM.js} +1 -1
  168. package/src/assets/web-panel/assets/{collapseMotion-CqM1QOwM.js → collapseMotion-B4IZiILV.js} +1 -1
  169. package/src/assets/web-panel/assets/{colors-DE-ZxAv_.js → colors-DcTBrGvS.js} +1 -1
  170. package/src/assets/web-panel/assets/{compact-item-BowulLDi.js → compact-item-Dn2ktVuj.js} +1 -1
  171. package/src/assets/web-panel/assets/createContext-XTreuyqp.js +1 -0
  172. package/src/assets/web-panel/assets/{debounce-CFGTTtN3.js → debounce-D9xTw4Sx.js} +1 -1
  173. package/src/assets/web-panel/assets/devWarning-CNIS3FrJ.js +1 -0
  174. package/src/assets/web-panel/assets/echarts-CDp6K7pj.js +19 -0
  175. package/src/assets/web-panel/assets/{hasIn-Be7mK-iw.js → hasIn-CFRNsYQd.js} +1 -1
  176. package/src/assets/web-panel/assets/{icons-DG5UD-6K.js → icons-DlxlFL4g.js} +4 -4
  177. package/src/assets/web-panel/assets/index-3RqDry-K.js +71 -0
  178. package/src/assets/web-panel/assets/{index-nLHTuHoT.js → index-8METW_Wr.js} +1 -1
  179. package/src/assets/web-panel/assets/index-BBd64wj8.js +31 -0
  180. package/src/assets/web-panel/assets/index-BEyVNbNE.js +3 -0
  181. package/src/assets/web-panel/assets/index-BMLpP8QQ.js +1 -0
  182. package/src/assets/web-panel/assets/{index-DMKo49Um.js → index-BSqydcDa.js} +1 -1
  183. package/src/assets/web-panel/assets/index-BV6LojRv.js +21 -0
  184. package/src/assets/web-panel/assets/index-BbMWvjLZ.js +1 -0
  185. package/src/assets/web-panel/assets/{index-DjC2TJeH.js → index-Brc0BF-k.js} +2 -2
  186. package/src/assets/web-panel/assets/{index-3Ql7xQLn.js → index-CG9YLDmI.js} +1 -1
  187. package/src/assets/web-panel/assets/{index-lN916819.js → index-CNHWMMDX.js} +1 -1
  188. package/src/assets/web-panel/assets/{index-DLCzaLH4.js → index-COuEJdmr.js} +3 -3
  189. package/src/assets/web-panel/assets/{index-BdzVLz-c.js → index-CRW3AWdS.js} +1 -1
  190. package/src/assets/web-panel/assets/{index-_cYsz4df.js → index-CUT4h5JB.js} +2 -2
  191. package/src/assets/web-panel/assets/index-CXMa7Z-S.js +1 -0
  192. package/src/assets/web-panel/assets/index-CbaPXyNc.js +19 -0
  193. package/src/assets/web-panel/assets/{index-Cq93VfoF.css → index-CfX1DEtk.css} +1 -1
  194. package/src/assets/web-panel/assets/{index-OH54KMLN.js → index-CjHA_Q7s.js} +1 -1
  195. package/src/assets/web-panel/assets/index-CsnYp4qF.js +1 -0
  196. package/src/assets/web-panel/assets/index-D45vulkq.js +12 -0
  197. package/src/assets/web-panel/assets/index-D9kPBEqD.js +55 -0
  198. package/src/assets/web-panel/assets/index-DDTSgpXz.js +1 -0
  199. package/src/assets/web-panel/assets/index-DFl_a0n5.js +1 -0
  200. package/src/assets/web-panel/assets/index-DNdiAymC.js +1 -0
  201. package/src/assets/web-panel/assets/{index-DEDVYN7D.js → index-DQEu7uW0.js} +1 -1
  202. package/src/assets/web-panel/assets/index-DW9XncMy.js +21 -0
  203. package/src/assets/web-panel/assets/index-Daa1yCt_.js +1 -0
  204. package/src/assets/web-panel/assets/index-DdVpoNEQ.js +12 -0
  205. package/src/assets/web-panel/assets/index-Dhi4Oybt.js +1 -0
  206. package/src/assets/web-panel/assets/index-DoVoNjtJ.js +1 -0
  207. package/src/assets/web-panel/assets/{index-Ao-LXr-d.js → index-Vo7A4aiN.js} +4 -4
  208. package/src/assets/web-panel/assets/{index-LVrxqU88.js → index-XdlYkgCa.js} +1 -1
  209. package/src/assets/web-panel/assets/{index-4KkYmFy5.js → index-ir2ZwWz5.js} +2 -2
  210. package/src/assets/web-panel/assets/index-kzyCd8a0.js +3 -0
  211. package/src/assets/web-panel/assets/{index-Cvy4vdVW.js → index-lnTt0Jps.js} +2 -2
  212. package/src/assets/web-panel/assets/{index-D3lOYd9_.js → index-ma-rJkfE.js} +1 -1
  213. package/src/assets/web-panel/assets/index-oE4jTpHK.js +13 -0
  214. package/src/assets/web-panel/assets/{index-CXvy8HrM.js → index-r5sNECM5.js} +1 -1
  215. package/src/assets/web-panel/assets/index-uT4fRDzU.js +1 -0
  216. package/src/assets/web-panel/assets/index-xlS8pDS2.js +1 -0
  217. package/src/assets/web-panel/assets/{initDefaultProps-BNhziAal.js → initDefaultProps-mdL0oeZa.js} +1 -1
  218. package/src/assets/web-panel/assets/{isPlainObject-BWRMT62c.js → isPlainObject-_gz-soRW.js} +1 -1
  219. package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +1 -0
  220. package/src/assets/web-panel/assets/motion-ZgVCKcEX.js +11 -0
  221. package/src/assets/web-panel/assets/{move-rFx211Cl.js → move-A_28O5T2.js} +1 -1
  222. package/src/assets/web-panel/assets/{mtc-parser-CEP1wN3R.js → mtc-parser-0zlMjabo.js} +1 -1
  223. package/src/assets/web-panel/assets/{omit-DacHd_Zm.js → omit-DF7mU3yG.js} +1 -1
  224. package/src/assets/web-panel/assets/{pickAttrs-Dqp58Ep2.js → pickAttrs-Cmt8liJP.js} +1 -1
  225. package/src/assets/web-panel/assets/{placementArrow-Cv6Rm0pV.js → placementArrow-DaMDC57b.js} +1 -1
  226. package/src/assets/web-panel/assets/{responsiveObserve-rNE0p9ZW.js → responsiveObserve-CHw_f2d3.js} +1 -1
  227. package/src/assets/web-panel/assets/{slide-C97JxD4S.js → slide-DJS9fFQq.js} +1 -1
  228. package/src/assets/web-panel/assets/{statusUtils-Cxk1gV9M.js → statusUtils-Bk3XdZwh.js} +1 -1
  229. package/src/assets/web-panel/assets/{styleChecker-CbtKKsPo.js → styleChecker-DMybAFsA.js} +1 -1
  230. package/src/assets/web-panel/assets/useFlexGapSupport-_tbIIFMu.js +1 -0
  231. package/src/assets/web-panel/assets/{useFs-6c7qrpE_.js → useFs-KPklVptS.js} +1 -1
  232. package/src/assets/web-panel/assets/{useMergedState-DXbJa_zE.js → useMergedState-d-EXs3xd.js} +1 -1
  233. package/src/assets/web-panel/assets/{usePersonalDataHub-OjxtBGe7.js → usePersonalDataHub-C7FrKDhD.js} +1 -1
  234. package/src/assets/web-panel/assets/{useRefs-BrCfMLMc.js → useRefs-DHeCQehi.js} +1 -1
  235. package/src/assets/web-panel/assets/{useState-CnxtbLoC.js → useState-Dlgl7fUg.js} +1 -1
  236. package/src/assets/web-panel/assets/vendor-BXcBOG8b.js +1 -0
  237. package/src/assets/web-panel/assets/vnode-DB3JBusp.js +1 -0
  238. package/src/assets/web-panel/assets/warning-Pq00owYb.js +1 -0
  239. package/src/assets/web-panel/assets/{zoom-Cc1qKiSZ.js → zoom-C8rAdf81.js} +1 -1
  240. package/src/assets/web-panel/index.html +4 -4
  241. package/src/command-help-index.json +1 -1
  242. package/src/commands/agent.js +1 -1
  243. package/src/commands/governed-skill-marketplace.js +24 -10
  244. package/src/commands/llm.js +4 -3
  245. package/src/constants.js +1 -1
  246. package/src/data/changelog.json +27 -1
  247. package/src/harness/worktree-isolator.js +4 -1
  248. package/src/lib/compaction-host-provenance.js +24 -0
  249. package/src/lib/context-memory-kernel/durable-memory-port.js +46 -34
  250. package/src/lib/context-memory-kernel/live-compaction.js +12 -3
  251. package/src/lib/context-memory-kernel/memory-query-bundle.js +375 -0
  252. package/src/lib/context-memory-kernel/memory-query-control.js +28 -0
  253. package/src/lib/context-memory-kernel/memory-service.js +30 -16
  254. package/src/lib/context-memory-kernel/memory-shard-snapshots.js +63 -0
  255. package/src/lib/context-memory-kernel/provider-context.js +55 -24
  256. package/src/lib/context-memory-kernel/segmented-memory-port.js +347 -138
  257. package/src/lib/cost-budget.js +2 -0
  258. package/src/lib/ephemeral-worktree-scope.js +24 -0
  259. package/src/lib/evolution/evolution-deployment-loader.js +6 -4
  260. package/src/lib/evolution/governed-skill-marketplace-abort.js +14 -0
  261. package/src/lib/evolution/governed-skill-marketplace-candidate.js +10 -2
  262. package/src/lib/evolution/governed-skill-marketplace-cli-host.js +47 -20
  263. package/src/lib/evolution/governed-skill-marketplace.js +47 -24
  264. package/src/lib/goal-assess.js +4 -1
  265. package/src/lib/goal-check-evidence.js +77 -9
  266. package/src/lib/goal-condition-engine.js +20 -3
  267. package/src/lib/goal-model-call.js +107 -0
  268. package/src/lib/goal-verification-command.js +221 -0
  269. package/src/lib/goal-verification-plan.js +372 -0
  270. package/src/lib/goal-workspace-evidence.js +299 -0
  271. package/src/lib/llm-connection-probe.js +12 -5
  272. package/src/lib/llm-onboarding-catalog.json +2 -2
  273. package/src/lib/llm-pricing.js +34 -8
  274. package/src/lib/llm-providers.js +1 -0
  275. package/src/lib/mcp-tool-catalog-authority.js +244 -0
  276. package/src/lib/model-capabilities.js +6 -0
  277. package/src/lib/model-catalog-review.js +3 -0
  278. package/src/lib/model-context-catalog.js +44 -2
  279. package/src/lib/openai-responses.js +35 -6
  280. package/src/lib/sub-agent-context.js +12 -4
  281. package/src/lib/subagent-inheritance.js +162 -2
  282. package/src/lib/task-model-selector.js +1 -1
  283. package/src/lib/usage-pricing-context.js +34 -17
  284. package/src/repl/agent-repl.js +34 -2
  285. package/src/runtime/agent-core.js +226 -10
  286. package/src/runtime/compaction-host-context.js +72 -0
  287. package/src/runtime/headless-runner.js +331 -141
  288. package/src/runtime/headless-stream.js +38 -21
  289. package/src/runtime/mcp-agent-catalog.js +257 -0
  290. package/src/runtime/mcp-config.js +18 -69
  291. package/src/runtime/mcp-tool-search.js +16 -1
  292. package/src/runtime/system-prompt.js +9 -0
  293. package/src/assets/web-panel/assets/AIOps-CSpp7iGY.css +0 -1
  294. package/src/assets/web-panel/assets/AIOps-CjPaaF2r.js +0 -1
  295. package/src/assets/web-panel/assets/Analytics-C7X31L8l.js +0 -3
  296. package/src/assets/web-panel/assets/Analytics-DJcHjy5J.css +0 -1
  297. package/src/assets/web-panel/assets/AppLayout-BmYa34Se.js +0 -9
  298. package/src/assets/web-panel/assets/AppLayout-VlanTjPw.css +0 -1
  299. package/src/assets/web-panel/assets/Artifacts-B_YKNjlp.js +0 -1
  300. package/src/assets/web-panel/assets/Artifacts-CTVt96zW.css +0 -1
  301. package/src/assets/web-panel/assets/Audit-5JsI67XQ.js +0 -1
  302. package/src/assets/web-panel/assets/Audit-D8oxP0wr.css +0 -1
  303. package/src/assets/web-panel/assets/BackgroundAgents-BL3QbzvS.js +0 -1
  304. package/src/assets/web-panel/assets/BackgroundAgents-Dq2340Kl.css +0 -1
  305. package/src/assets/web-panel/assets/Backup-BRmg-gTa.js +0 -1
  306. package/src/assets/web-panel/assets/Backup-Wi9CaP3d.css +0 -1
  307. package/src/assets/web-panel/assets/BaseInput-DNE7mT3K.js +0 -1
  308. package/src/assets/web-panel/assets/Chat-KSGPtU0L.css +0 -1
  309. package/src/assets/web-panel/assets/Chat-OYwAopdM.js +0 -8
  310. package/src/assets/web-panel/assets/ChatBubbleRenderer-Dtxw3Wgt.js +0 -1
  311. package/src/assets/web-panel/assets/ChatBubbleRenderer-gy5SDGw2.css +0 -1
  312. package/src/assets/web-panel/assets/Codegen-B9G2ngLI.js +0 -1
  313. package/src/assets/web-panel/assets/Codegen-BB08p1fn.css +0 -1
  314. package/src/assets/web-panel/assets/Community-B3Ta0mI_.js +0 -1
  315. package/src/assets/web-panel/assets/Community-Cbq1nrpo.css +0 -1
  316. package/src/assets/web-panel/assets/Compliance-Bn4Uq6U1.js +0 -1
  317. package/src/assets/web-panel/assets/Compliance-NoXr2Vof.css +0 -1
  318. package/src/assets/web-panel/assets/Cowork-BlXJRu6L.css +0 -1
  319. package/src/assets/web-panel/assets/Cowork-CO5NKD6r.js +0 -6
  320. package/src/assets/web-panel/assets/Cron-ByjNese0.js +0 -2
  321. package/src/assets/web-panel/assets/Crosschain-BN1FUYyi.js +0 -1
  322. package/src/assets/web-panel/assets/Crosschain-CgRAecoR.css +0 -1
  323. package/src/assets/web-panel/assets/DID-CUFX5RL3.js +0 -2
  324. package/src/assets/web-panel/assets/DID-DVsYcgvs.css +0 -1
  325. package/src/assets/web-panel/assets/Dashboard-CAPSdFR4.css +0 -1
  326. package/src/assets/web-panel/assets/Dashboard-D_2FDPBP.js +0 -3
  327. package/src/assets/web-panel/assets/Dropdown-lGOMtIzb.js +0 -1
  328. package/src/assets/web-panel/assets/EmailListRenderer-DA3Qf1S2.js +0 -1
  329. package/src/assets/web-panel/assets/EmailListRenderer-DTPZPx_S.css +0 -1
  330. package/src/assets/web-panel/assets/EvolutionSettings-Bdw8ApoT.css +0 -1
  331. package/src/assets/web-panel/assets/EvolutionSettings-DLcnicCr.js +0 -1
  332. package/src/assets/web-panel/assets/FamilyGuardDashboard-BPOSaIN1.js +0 -1
  333. package/src/assets/web-panel/assets/FamilyGuardDashboard-nd3idUVb.css +0 -1
  334. package/src/assets/web-panel/assets/Federation-DzJUCQq8.js +0 -1
  335. package/src/assets/web-panel/assets/Federation-fGN6iMX_.css +0 -1
  336. package/src/assets/web-panel/assets/FormItemContext-DVx1XNKx.js +0 -2
  337. package/src/assets/web-panel/assets/GenericCardRenderer-BkqzO_lh.js +0 -1
  338. package/src/assets/web-panel/assets/GenericCardRenderer-o85VDYQS.css +0 -1
  339. package/src/assets/web-panel/assets/Git-Dr_rdT_j.js +0 -2
  340. package/src/assets/web-panel/assets/Governance-DtCS4NDm.css +0 -1
  341. package/src/assets/web-panel/assets/Governance-DyVkZddw.js +0 -1
  342. package/src/assets/web-panel/assets/Inference-IN2YDd4v.js +0 -1
  343. package/src/assets/web-panel/assets/Inference-t-w0NgIS.css +0 -1
  344. package/src/assets/web-panel/assets/KnowledgeGraph-4NU1S2Xm.css +0 -1
  345. package/src/assets/web-panel/assets/KnowledgeGraph-Ceiy4n6N.js +0 -1
  346. package/src/assets/web-panel/assets/Logs-DQbCaYhL.css +0 -1
  347. package/src/assets/web-panel/assets/Logs-d7pIEAX2.js +0 -2
  348. package/src/assets/web-panel/assets/MarkdownRenderer-DbzhFwvz.css +0 -1
  349. package/src/assets/web-panel/assets/MarkdownRenderer-DmSl0MNI.js +0 -1
  350. package/src/assets/web-panel/assets/Marketplace-Bvo5cuGa.css +0 -1
  351. package/src/assets/web-panel/assets/Marketplace-uVE7U14g.js +0 -1
  352. package/src/assets/web-panel/assets/McpTools-534Q95Mx.css +0 -1
  353. package/src/assets/web-panel/assets/McpTools-DUfBM--y.js +0 -4
  354. package/src/assets/web-panel/assets/Memory-6gkcR02J.js +0 -2
  355. package/src/assets/web-panel/assets/Memory-CleW_R6V.css +0 -1
  356. package/src/assets/web-panel/assets/MobileBridge-Cl6ys2O9.js +0 -1
  357. package/src/assets/web-panel/assets/MobileBridge-D3Arxfeg.css +0 -1
  358. package/src/assets/web-panel/assets/MobileProjects-5P8jN4gf.js +0 -1
  359. package/src/assets/web-panel/assets/MobileProjects-BD4alw6-.css +0 -1
  360. package/src/assets/web-panel/assets/Mtc-CXZGO9Sh.css +0 -1
  361. package/src/assets/web-panel/assets/Mtc-DtiT1Kol.js +0 -6
  362. package/src/assets/web-panel/assets/MtcAudit-C1JM8esp.css +0 -1
  363. package/src/assets/web-panel/assets/MtcAudit-DZz8iiTE.js +0 -19
  364. package/src/assets/web-panel/assets/Multisig-BryR2Jpr.css +0 -1
  365. package/src/assets/web-panel/assets/Multisig-DFH3-fBJ.js +0 -13
  366. package/src/assets/web-panel/assets/NLProgramming-BYNuDOt-.js +0 -1
  367. package/src/assets/web-panel/assets/NLProgramming-DGDHq6Z9.css +0 -1
  368. package/src/assets/web-panel/assets/Notes-BCY4jgYy.js +0 -7
  369. package/src/assets/web-panel/assets/Notes-BKKmMtqV.css +0 -1
  370. package/src/assets/web-panel/assets/NotificationSettings-Bk2ltghU.js +0 -1
  371. package/src/assets/web-panel/assets/NotificationSettings-CG3Kfuef.css +0 -1
  372. package/src/assets/web-panel/assets/OrderTableRenderer-CfrDjSHT.css +0 -1
  373. package/src/assets/web-panel/assets/OrderTableRenderer-OdeXEGAn.js +0 -1
  374. package/src/assets/web-panel/assets/Organization-CY4_mSiV.js +0 -4
  375. package/src/assets/web-panel/assets/Organization-LVvqwG0D.css +0 -1
  376. package/src/assets/web-panel/assets/P2P-Bd96rBWQ.js +0 -2
  377. package/src/assets/web-panel/assets/P2P-DcFvP7F-.css +0 -1
  378. package/src/assets/web-panel/assets/PdhVaultBrowser-DZZrUOr1.css +0 -1
  379. package/src/assets/web-panel/assets/PdhVaultBrowser-JjnExxan.js +0 -7
  380. package/src/assets/web-panel/assets/Permissions-CW1PUJB0.js +0 -4
  381. package/src/assets/web-panel/assets/Permissions-DsPE_IQy.css +0 -1
  382. package/src/assets/web-panel/assets/PersonalDataHub-BNn9alTk.js +0 -9
  383. package/src/assets/web-panel/assets/PersonalDataHub-BhpRlh9D.css +0 -1
  384. package/src/assets/web-panel/assets/Pipeline-01_PBiUu.js +0 -1
  385. package/src/assets/web-panel/assets/Pipeline-BItr5CyP.css +0 -1
  386. package/src/assets/web-panel/assets/Privacy-BP4DlVGb.js +0 -1
  387. package/src/assets/web-panel/assets/Privacy-F_ENsxZk.css +0 -1
  388. package/src/assets/web-panel/assets/ProjectInit-B86LEzDL.css +0 -1
  389. package/src/assets/web-panel/assets/ProjectInit-CAMnQj4n.js +0 -2
  390. package/src/assets/web-panel/assets/ProjectSettings-DK7KA_iX.css +0 -1
  391. package/src/assets/web-panel/assets/ProjectSettings-DKxV5On_.js +0 -2
  392. package/src/assets/web-panel/assets/Projects-B_4kRnM8.js +0 -1
  393. package/src/assets/web-panel/assets/Projects-CmJeUDBW.css +0 -1
  394. package/src/assets/web-panel/assets/Providers-C6q_fvea.css +0 -1
  395. package/src/assets/web-panel/assets/Providers-DeqqZyUv.js +0 -1
  396. package/src/assets/web-panel/assets/QrScannerModal-NwAHNfiJ.css +0 -1
  397. package/src/assets/web-panel/assets/QuickAsk-Ln6qQidy.js +0 -1
  398. package/src/assets/web-panel/assets/Recommend-D_bf91K6.css +0 -1
  399. package/src/assets/web-panel/assets/Recommend-DeENA-y0.js +0 -1
  400. package/src/assets/web-panel/assets/RemoteSession-CRxSYxo4.js +0 -5
  401. package/src/assets/web-panel/assets/Reputation-B2kU2F0l.js +0 -1
  402. package/src/assets/web-panel/assets/Reputation-DiOsOleI.css +0 -1
  403. package/src/assets/web-panel/assets/Row-lV_nLlFq.js +0 -1
  404. package/src/assets/web-panel/assets/RssFeed-CjcbkyUb.css +0 -1
  405. package/src/assets/web-panel/assets/RssFeed-Df21mCdF.js +0 -3
  406. package/src/assets/web-panel/assets/Search-8_Dz4qU9.js +0 -1
  407. package/src/assets/web-panel/assets/Search-Klk29S7C.css +0 -1
  408. package/src/assets/web-panel/assets/Security-BmrukMHn.css +0 -1
  409. package/src/assets/web-panel/assets/Security-Cl5-PEcp.js +0 -4
  410. package/src/assets/web-panel/assets/Services-C5qgCqA7.js +0 -2
  411. package/src/assets/web-panel/assets/Services-DAnVNhUG.css +0 -1
  412. package/src/assets/web-panel/assets/Skills-BUu9owbR.css +0 -1
  413. package/src/assets/web-panel/assets/Skills-DWx01ZJ7.js +0 -1
  414. package/src/assets/web-panel/assets/Sla-I2gbgtW8.js +0 -1
  415. package/src/assets/web-panel/assets/Sla-sodqCU4a.css +0 -1
  416. package/src/assets/web-panel/assets/SpeechSettings-BqTikzfe.js +0 -1
  417. package/src/assets/web-panel/assets/SpeechSettings-CgB9nFyq.css +0 -1
  418. package/src/assets/web-panel/assets/SyncSettings-B3hJqmBP.css +0 -1
  419. package/src/assets/web-panel/assets/SyncSettings-D3zCpBFV.js +0 -2
  420. package/src/assets/web-panel/assets/Tasks-DjMWII45.js +0 -1
  421. package/src/assets/web-panel/assets/Tasks-nbTUVXvt.css +0 -1
  422. package/src/assets/web-panel/assets/Templates-CpFsKk_l.css +0 -1
  423. package/src/assets/web-panel/assets/Templates-Cq7qDnHX.js +0 -1
  424. package/src/assets/web-panel/assets/Tenant-DEasKDpQ.js +0 -1
  425. package/src/assets/web-panel/assets/Tenant-MuPJnOjk.css +0 -1
  426. package/src/assets/web-panel/assets/Terminal-DHoveJwj.css +0 -1
  427. package/src/assets/web-panel/assets/Terminal-J6fLkTzi.js +0 -3
  428. package/src/assets/web-panel/assets/TimelineRenderer-BlTAtkOc.css +0 -1
  429. package/src/assets/web-panel/assets/TimelineRenderer-CNvWrWN-.js +0 -1
  430. package/src/assets/web-panel/assets/Tokens-BSgHJCKH.js +0 -1
  431. package/src/assets/web-panel/assets/Tokens-CynVae-o.css +0 -1
  432. package/src/assets/web-panel/assets/Trust-BANlv-uB.js +0 -1
  433. package/src/assets/web-panel/assets/Trust-C-WrW0Fj.css +0 -1
  434. package/src/assets/web-panel/assets/UkeySign-qh8GPRsU.js +0 -1
  435. package/src/assets/web-panel/assets/VideoEditing-BDFghpzP.css +0 -1
  436. package/src/assets/web-panel/assets/VideoEditing-DBiGTB4H.js +0 -1
  437. package/src/assets/web-panel/assets/Wallet-DMUFR7cL.js +0 -4
  438. package/src/assets/web-panel/assets/Wallet-DUbpTRcg.css +0 -1
  439. package/src/assets/web-panel/assets/WebAuthn-CVAFRfCQ.css +0 -1
  440. package/src/assets/web-panel/assets/WebAuthn-DP9nQQzW.js +0 -5
  441. package/src/assets/web-panel/assets/WorkflowEditor-429lPWYk.css +0 -1
  442. package/src/assets/web-panel/assets/WorkflowEditor-DT_6jDkL.js +0 -1
  443. package/src/assets/web-panel/assets/createContext-DCh8oMBQ.js +0 -1
  444. package/src/assets/web-panel/assets/devWarning-BVvJAp91.js +0 -1
  445. package/src/assets/web-panel/assets/echarts-C61Vn3mP.js +0 -25
  446. package/src/assets/web-panel/assets/index-6OluUVJJ.js +0 -55
  447. package/src/assets/web-panel/assets/index-B-3EDOlf.js +0 -1
  448. package/src/assets/web-panel/assets/index-B7IhCfsh.js +0 -1
  449. package/src/assets/web-panel/assets/index-BDIIR8g6.js +0 -1
  450. package/src/assets/web-panel/assets/index-BMrbe_Ey.js +0 -1
  451. package/src/assets/web-panel/assets/index-BlzMqaWB.js +0 -1
  452. package/src/assets/web-panel/assets/index-BwY31W-u.js +0 -12
  453. package/src/assets/web-panel/assets/index-C2pCquZC.js +0 -1
  454. package/src/assets/web-panel/assets/index-CKmC6ugN.js +0 -1
  455. package/src/assets/web-panel/assets/index-CL2hAUWh.js +0 -1
  456. package/src/assets/web-panel/assets/index-CUXfwAhF.js +0 -3
  457. package/src/assets/web-panel/assets/index-C_VnSUjh.js +0 -3
  458. package/src/assets/web-panel/assets/index-CecGCLWI.js +0 -31
  459. package/src/assets/web-panel/assets/index-Ck6MYKVN.js +0 -21
  460. package/src/assets/web-panel/assets/index-CwJfLNqv.js +0 -1
  461. package/src/assets/web-panel/assets/index-DMDaGPxG.js +0 -19
  462. package/src/assets/web-panel/assets/index-DN1AT3FH.js +0 -1
  463. package/src/assets/web-panel/assets/index-DOebEvgn.js +0 -1
  464. package/src/assets/web-panel/assets/index-DPX3N4T8.js +0 -13
  465. package/src/assets/web-panel/assets/index-DSRKtgJg.js +0 -1
  466. package/src/assets/web-panel/assets/index-DSqZBvQM.js +0 -12
  467. package/src/assets/web-panel/assets/index-DbrQO1p9.js +0 -21
  468. package/src/assets/web-panel/assets/index-Qx8cTReg.js +0 -75
  469. package/src/assets/web-panel/assets/isSymbol-S5WZT7lS.js +0 -1
  470. package/src/assets/web-panel/assets/motion-fUkbJz38.js +0 -11
  471. package/src/assets/web-panel/assets/useFlexGapSupport-CQATs2JQ.js +0 -1
  472. package/src/assets/web-panel/assets/vendor-Bn1JzzAn.js +0 -42
  473. package/src/assets/web-panel/assets/vnode-CSlXfUSh.js +0 -1
@@ -1 +0,0 @@
1
- import{I as m,J as f,U as v,R as i,c as o,K as a,V as c,o as me,a as te,b as J,r as w,P as d,Q as g,F as A,Z as Q,S as k,$ as ve}from"./vendor-Bn1JzzAn.js";import{t as V,_ as Oe,u as pe,b as ye,E as _e,d as R}from"./index-Qx8cTReg.js";import{a7 as je,a_ as Ee,f as Le,an as Pe,A as Me,X as De,s as Ne,at as Ue,R as Be}from"./icons-DG5UD-6K.js";const Fe=Object.freeze(["react","vue","express","fastapi","spring_boot"]),ue=Object.freeze(["critical","high","medium","low","info"]);function x(t,n=0){return typeof t=="number"&&Number.isFinite(t)?t:n}function be(t,n=null){if(t==null)return n;if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return n}}function Je(t,n=0){if(!t||typeof t!="object")return null;const s=t.id||"";return s?{key:s,id:s,prompt:String(t.prompt||""),language:t.language??"",framework:t.framework??"",generatedCode:t.generated_code??t.generatedCode??"",fileCount:x(t.file_count??t.fileCount,0),tokenCount:x(t.token_count??t.tokenCount,0),metadata:t.metadata??null,createdAt:t.created_at??t.createdAt??null,_idx:n}:null}function we(t){const n=V(t);return Array.isArray(n)?n.map(Je).filter(Boolean):[]}function Ve(t,n=0){return!t||typeof t!="object"?null:{key:n,rule:String(t.rule||""),severity:String(t.severity||"info").toLowerCase(),match:String(t.match||""),pattern:String(t.pattern||"")}}function qe(t,n=0){if(!t||typeof t!="object")return null;const s=t.id||"";if(!s)return null;const e=be(t.severity_summary??t.severitySummary,null)??t.severity_summary??t.severitySummary,z={};for(const L of ue)z[L]=0;if(e&&typeof e=="object"&&!Array.isArray(e))for(const[L,P]of Object.entries(e))typeof P=="number"&&Number.isFinite(P)&&(z[L]=P);const O=be(t.issues_detail??t.issuesDetail,null)??t.issues_detail??t.issuesDetail,S=Array.isArray(O)?O.map(Ve).filter(Boolean):[];return{key:s,id:s,generationId:t.generation_id??t.generationId??"",codeHash:String(t.code_hash??t.codeHash??""),language:t.language??"",issuesFound:x(t.issues_found??t.issuesFound,0),securityIssues:x(t.security_issues??t.securityIssues,0),severitySummary:z,issuesDetail:S,reviewedAt:t.reviewed_at??t.reviewedAt??null,_idx:n}}function ke(t){const n=V(t);return Array.isArray(n)?n.map(qe).filter(Boolean):[]}function he(t){const n={};for(const O of ue)n[O]=0;const s=V(t);if(!s||typeof s!="object"||Array.isArray(s))return{ok:!1,reviewId:null,reason:"",issuesFound:0,securityIssues:0,severitySummary:n};const e=!!s.reviewId,z={...n};if(s.severitySummary&&typeof s.severitySummary=="object"&&!Array.isArray(s.severitySummary))for(const[O,S]of Object.entries(s.severitySummary))typeof S=="number"&&Number.isFinite(S)&&(z[O]=S);return{ok:e,reviewId:s.reviewId?String(s.reviewId):null,reason:s.reason?String(s.reason):"",issuesFound:x(s.issuesFound,0),securityIssues:x(s.securityIssues,0),severitySummary:z}}function We(t,n=0){if(!t||typeof t!="object")return null;const s=t.id||"";return s?{key:s,id:s,template:String(t.template||""),projectName:t.project_name??t.projectName??"",options:t.options??null,filesGenerated:x(t.files_generated??t.filesGenerated,0),outputPath:t.output_path??t.outputPath??"",createdAt:t.created_at??t.createdAt??null,_idx:n}:null}function Se(t){const n=V(t);return Array.isArray(n)?n.map(We).filter(Boolean):[]}const He={generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}};function Ce(t){const n=JSON.parse(JSON.stringify(He));for(const e of Fe)n.scaffolds.byTemplate[e]=0;const s=V(t);if(!s||typeof s!="object"||Array.isArray(s))return n;if(s.generations&&typeof s.generations=="object"&&(n.generations.total=x(s.generations.total,0),n.generations.totalTokens=x(s.generations.totalTokens,0),n.generations.totalFiles=x(s.generations.totalFiles,0),n.generations.uniqueLanguages=x(s.generations.uniqueLanguages,0)),s.reviews&&typeof s.reviews=="object"&&(n.reviews.total=x(s.reviews.total,0),n.reviews.totalIssues=x(s.reviews.totalIssues,0),n.reviews.totalSecurityIssues=x(s.reviews.totalSecurityIssues,0),n.reviews.avgIssuesPerReview=x(s.reviews.avgIssuesPerReview,0)),s.scaffolds&&typeof s.scaffolds=="object"&&(n.scaffolds.total=x(s.scaffolds.total,0),s.scaffolds.byTemplate&&typeof s.scaffolds.byTemplate=="object"))for(const[e,z]of Object.entries(s.scaffolds.byTemplate))typeof z=="number"&&Number.isFinite(z)&&(n.scaffolds.byTemplate[e]=z);return n}function de(t){const n=V(t);if(!n||typeof n!="object"||Array.isArray(n))return{ok:!1,id:null,reason:""};const s=n.generationId||n.scaffoldId||n.reviewId||null;return{ok:!!s,id:s?String(s):null,reason:n.reason?String(n.reason):""}}function Ke(t){if(t==null||t==="")return"—";const n=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(n.getTime())?String(t):n.toLocaleString("zh-CN",{hour12:!1})}const Qe={__name:"Codegen",setup(t,{expose:n}){n();const s=pe(),{t:e}=ye(),z=_e.PRESENTED_IMAGE_SIMPLE,O=w(!1),S=w(!1),L=w(!1),P=w(!1),q=w([]),W=w([]),T=w([]),M=w({generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}}),j=w("generations"),N=w(""),h=w(""),G=w(""),U=w(!1),B=w(!1),H=w(!1),Y=w(!1),X=w(!1),y=te({prompt:"",language:"",framework:"",code:"",files:0,tokens:0}),p=te({generationId:"",language:"",code:""}),b=te({template:"react",projectName:"",optionsJson:"",files:0,outputPath:""}),I=w(null),D=w(null),Z=w(null),oe=J(()=>[{title:e("codegen.generationCols.prompt"),key:"prompt"},{title:e("codegen.generationCols.language"),key:"language",width:"110px"},{title:e("codegen.generationCols.framework"),key:"framework",width:"110px"},{title:e("codegen.generationCols.fileCount"),key:"fileCount",width:"70px"},{title:e("codegen.generationCols.tokenCount"),key:"tokenCount",width:"110px"},{title:e("codegen.generationCols.createdAt"),key:"createdAt",width:"160px"},{title:e("codegen.generationCols.action"),key:"action",width:"140px"}]),ae=J(()=>[{title:e("codegen.reviewCols.codeHash"),key:"codeHash",width:"180px"},{title:e("codegen.reviewCols.language"),key:"language",width:"110px"},{title:e("codegen.reviewCols.issuesFound"),key:"issuesFound",width:"90px"},{title:e("codegen.reviewCols.securityIssues"),key:"securityIssues",width:"90px"},{title:e("codegen.reviewCols.severityBreak"),key:"severityBreak"},{title:e("codegen.reviewCols.reviewedAt"),key:"reviewedAt",width:"160px"},{title:e("codegen.reviewCols.action"),key:"action",width:"90px"}]),le=J(()=>[{title:e("codegen.scaffoldCols.projectName"),key:"projectName"},{title:e("codegen.scaffoldCols.template"),key:"template",width:"120px"},{title:e("codegen.scaffoldCols.filesGenerated"),key:"filesGenerated",width:"90px"},{title:e("codegen.scaffoldCols.outputPath"),key:"outputPath",width:"300px"},{title:e("codegen.scaffoldCols.createdAt"),key:"createdAt",width:"160px"}]),ne=J(()=>{let r=q.value;if(N.value.trim()){const _=N.value.trim().toLowerCase();r=r.filter(F=>(F.language||"").toLowerCase().includes(_))}if(h.value.trim()){const _=h.value.trim().toLowerCase();r=r.filter(F=>(F.framework||"").toLowerCase().includes(_))}return r}),C=J(()=>G.value?T.value.filter(r=>r.template===G.value):T.value);function $(r){return{react:"cyan",vue:"green",express:"gold",fastapi:"magenta",spring_boot:"red"}[r]||"default"}function re(r){return{react:"#13c2c2",vue:"#52c41a",express:"#faad14",fastapi:"#eb2f96",spring_boot:"#ff4d4f"}[r]||"#888"}function ie(r){const _=`codegen.severityLabels.${r}`,F=e(_);return F===_?r:F}function se(r){return{critical:"red",high:"orange",medium:"gold",low:"default",info:"blue"}[r]||"default"}function l(r){return{critical:"#ff4d4f",high:"#fa8c16",medium:"#faad14",low:"#888",info:"#1677ff"}[r]||"#888"}function u(r,_){return _?Math.round(r/_*100):0}function ee(r,_){return r?r.length<=_?r:r.slice(0,_)+"…":""}function E(r){return`"${String(r).replace(/"/g,'\\"')}"`}async function K(){O.value=!0;try{const[r,_,F,Ge]=await Promise.all([s.execute("codegen list --limit 200 --json",1e4).catch(()=>({output:""})),s.execute("codegen reviews --limit 200 --json",1e4).catch(()=>({output:""})),s.execute("codegen scaffolds --limit 200 --json",1e4).catch(()=>({output:""})),s.execute("codegen stats --json",8e3).catch(()=>({output:""}))]);q.value=we(r.output),W.value=ke(_.output),T.value=Se(F.output),M.value=Ce(Ge.output)}catch(r){R.error(e("codegen.msg.loadFailed")+": "+(r?.message||r))}finally{O.value=!1}}async function Re(){if(!y.prompt.trim()){R.warning(e("codegen.msg.promptEmpty"));return}S.value=!0;try{const r=[`codegen generate -p ${E(y.prompt.trim())}`];y.language.trim()&&r.push(`-l ${E(y.language.trim())}`),y.framework.trim()&&r.push(`-f ${E(y.framework.trim())}`),y.code.trim()&&r.push(`--code ${E(y.code.trim())}`),y.files>0&&r.push(`--files ${y.files}`),y.tokens>0&&r.push(`--tokens ${y.tokens}`),r.push("--json");const{output:_}=await s.execute(r.join(" "),1e4),F=de(_);if(!F.ok){R.error(e("codegen.msg.generateFailed")+": "+(F.reason||_.slice(0,120)));return}R.success(e("codegen.msg.generateSuccess",{id:F.id?.slice(0,8)})),U.value=!1,ce(),await K()}catch(r){R.error(e("codegen.msg.generateFailed")+": "+(r?.message||r))}finally{S.value=!1}}async function xe(){if(!p.code.trim()){R.warning(e("codegen.msg.codeEmpty"));return}L.value=!0,I.value=null;try{const r=[`codegen review -c ${E(p.code)}`];p.language.trim()&&r.push(`-l ${E(p.language.trim())}`),p.generationId.trim()&&r.push(`-g ${E(p.generationId.trim())}`),r.push("--json");const{output:_}=await s.execute(r.join(" "),1e4);I.value=he(_),!I.value.ok&&I.value.reason?R.error(e("codegen.msg.reviewFailed")+": "+I.value.reason):I.value.ok?(R.success(e("codegen.msg.reviewSuccess",{n:I.value.issuesFound,sec:I.value.securityIssues})),await K()):R.error(e("codegen.msg.reviewFailed")+": "+_.slice(0,120))}catch(r){R.error(e("codegen.msg.reviewFailed")+": "+(r?.message||r))}finally{L.value=!1}}async function Ie(r){p.generationId=r.id,p.language=r.language||"",p.code=r.generatedCode||"",I.value=null,B.value=!0}async function Ae(){if(!b.projectName.trim()){R.warning(e("codegen.msg.projectEmpty"));return}if(b.optionsJson.trim())try{JSON.parse(b.optionsJson)}catch{R.warning(e("codegen.msg.optionsBadJson"));return}P.value=!0;try{const r=[`codegen scaffold -t ${b.template}`,`-n ${E(b.projectName.trim())}`];b.optionsJson.trim()&&r.push(`-o ${E(b.optionsJson.trim())}`),b.files>0&&r.push(`--files ${b.files}`),b.outputPath.trim()&&r.push(`--output ${E(b.outputPath.trim())}`),r.push("--json");const{output:_}=await s.execute(r.join(" "),1e4),F=de(_);if(!F.ok){R.error(e("codegen.msg.scaffoldFailed")+": "+(F.reason||_.slice(0,120)));return}R.success(e("codegen.msg.scaffoldSuccess",{id:F.id?.slice(0,8)})),H.value=!1,fe(),await K()}catch(r){R.error(e("codegen.msg.scaffoldFailed")+": "+(r?.message||r))}finally{P.value=!1}}function ze(r){D.value=r,Y.value=!0}function Te(r){Z.value=r,X.value=!0}function ce(){y.prompt="",y.language="",y.framework="",y.code="",y.files=0,y.tokens=0}function fe(){b.template="react",b.projectName="",b.optionsJson="",b.files=0,b.outputPath=""}me(K);const ge={ws:s,t:e,EMPTY_IMG:z,loading:O,generating:S,reviewing:L,scaffolding:P,generations:q,reviews:W,scaffolds:T,stats:M,activeTab:j,languageFilter:N,frameworkFilter:h,templateFilter:G,showGenerateModal:U,showReviewModal:B,showScaffoldModal:H,showGenDetailsModal:Y,showReviewDetailsModal:X,generateForm:y,reviewForm:p,scaffoldForm:b,reviewResult:I,currentGen:D,currentReview:Z,generationColumns:oe,reviewColumns:ae,scaffoldColumns:le,filteredGenerations:ne,filteredScaffolds:C,tmplColor:$,tmplBarColor:re,severityLabel:ie,severityColor:se,severityBarColor:l,pctOfTotal:u,truncate:ee,shellQuote:E,loadAll:K,submitGenerate:Re,submitReview:xe,reviewGeneration:Ie,submitScaffold:Ae,viewGenerationDetails:ze,viewReviewDetails:Te,resetGenerateForm:ce,resetScaffoldForm:fe,ref:w,computed:J,onMounted:me,reactive:te,get ReloadOutlined(){return Be},get PlusOutlined(){return Ue},get SafetyOutlined(){return Ne},get CodeOutlined(){return De},get AuditOutlined(){return Me},get WarningOutlined(){return Pe},get CheckCircleOutlined(){return Le},get AppstoreAddOutlined(){return Ee},get GlobalOutlined(){return je},get message(){return R},get Empty(){return _e},get useI18n(){return ye},get useWsStore(){return pe},get parseGenerations(){return we},get parseReviews(){return ke},get parseReviewResult(){return he},get parseScaffolds(){return Se},get parseStats(){return Ce},get parseActionResult(){return de},get formatCodegenTime(){return Ke},get SCAFFOLD_TEMPLATES(){return Fe},get REVIEW_SEVERITIES(){return ue}};return Object.defineProperty(ge,"__isScriptSetup",{enumerable:!1,value:!0}),ge}},Ye={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Xe={class:"page-title"},Ze={class:"page-sub"},$e={class:"tmpl-count"},et={class:"filter-bar"},tt={style:{color:"var(--text-primary)","font-weight":"500"}},ot={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},at={key:1,style:{color:"var(--text-muted)"}},lt={key:1,style:{color:"var(--text-muted)"}},nt={key:3,style:{color:"var(--text-secondary)"}},rt={key:4,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},it={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},st={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},dt={style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},ut={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ct={key:1,style:{color:"var(--text-muted)"}},ft={key:4,class:"sev-mini"},gt={key:0,style:{color:"#ff4d4f"}},mt={key:1,style:{color:"#fa8c16"}},vt={key:2,style:{color:"#faad14"}},pt={key:3,style:{color:"#888"}},yt={key:4,style:{color:"#1677ff"}},_t={key:5,style:{color:"#52c41a"}},bt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},wt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},kt={class:"filter-bar"},ht={style:{color:"var(--text-primary)","font-weight":"500"}},St={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Ct={key:2,style:{color:"var(--text-secondary)"}},Ft={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Rt={key:1,style:{color:"var(--text-muted)"}},xt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},It={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},At={style:{"padding-top":"8px"}},zt={key:1},Tt={style:{color:"var(--text-primary)","font-size":"12px",margin:"12px 0 6px"}},Gt={key:0,style:{"padding-top":"8px"}},Ot={style:{"font-family":"monospace","font-size":"12px"}},jt={key:1,style:{color:"var(--text-muted)"}},Et={key:1,style:{color:"var(--text-muted)"}},Lt={class:"code-pre"},Pt={class:"code-pre"},Mt={key:0,style:{"padding-top":"8px"}},Dt={style:{"font-family":"monospace","font-size":"12px"}},Nt={style:{"font-family":"monospace","font-size":"12px"}},Ut={style:{"font-family":"monospace","font-size":"12px"}},Bt={key:1,style:{color:"var(--text-muted)"}},Jt={style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},Vt={key:0,style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},qt={style:{"margin-left":"8px","font-family":"monospace","font-size":"12px"}},Wt={style:{"margin-left":"8px",padding:"1px 6px",background:"var(--bg-base)","border-radius":"3px","font-size":"11px"}};function Ht(t,n,s,e,z,O){const S=m("a-button"),L=m("a-menu-item"),P=m("a-menu"),q=m("a-dropdown"),W=m("a-space"),T=m("a-statistic"),M=m("a-card"),j=m("a-col"),N=m("a-row"),h=m("a-tag"),G=m("a-input"),U=m("a-table"),B=m("a-tab-pane"),H=m("a-radio-button"),Y=m("a-radio-group"),X=m("a-tabs"),y=m("a-textarea"),p=m("a-form-item"),b=m("a-input-number"),I=m("a-form"),D=m("a-modal"),Z=m("a-divider"),oe=m("a-empty"),ae=m("a-alert"),le=m("a-select-option"),ne=m("a-select"),C=m("a-descriptions-item"),$=m("a-descriptions"),re=m("a-progress"),ie=m("a-list-item"),se=m("a-list");return d(),f("div",null,[v("div",Ye,[v("div",null,[v("h2",Xe,i(t.$t("codegen.title")),1),v("p",Ze,i(t.$t("codegen.subtitle")),1)]),o(W,null,{default:a(()=>[o(S,{loading:e.loading,onClick:e.loadAll},{icon:a(()=>[o(e.ReloadOutlined)]),default:a(()=>[g(" "+i(t.$t("codegen.refresh")),1)]),_:1},8,["loading"]),o(S,{onClick:n[0]||(n[0]=l=>e.showReviewModal=!0)},{icon:a(()=>[o(e.SafetyOutlined)]),default:a(()=>[g(" "+i(t.$t("codegen.review")),1)]),_:1}),o(q,null,{overlay:a(()=>[o(P,null,{default:a(()=>[o(L,{key:"generate",onClick:n[1]||(n[1]=l=>e.showGenerateModal=!0)},{default:a(()=>[g(i(t.$t("codegen.actions.generate")),1)]),_:1}),o(L,{key:"scaffold",onClick:n[2]||(n[2]=l=>e.showScaffoldModal=!0)},{default:a(()=>[g(i(t.$t("codegen.actions.scaffold")),1)]),_:1})]),_:1})]),default:a(()=>[o(S,{type:"primary"},{icon:a(()=>[o(e.PlusOutlined)]),default:a(()=>[g(" "+i(t.$t("codegen.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),c(" Stat cards "),o(N,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[o(j,{xs:12,sm:8,lg:5},{default:a(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("codegen.stats.generations"),value:e.stats.generations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[o(e.CodeOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:a(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("codegen.stats.reviews"),value:e.stats.reviews.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[o(e.AuditOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:a(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("codegen.stats.securityIssues"),value:e.stats.reviews.totalSecurityIssues,"value-style":{color:e.stats.reviews.totalSecurityIssues>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:a(()=>[o(e.WarningOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:a(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("codegen.stats.scaffolds"),value:e.stats.scaffolds.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[o(e.AppstoreAddOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:24,sm:8,lg:4},{default:a(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[o(T,{title:t.$t("codegen.stats.languages"),value:e.stats.generations.uniqueLanguages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[o(e.GlobalOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),c(" Template catalogue "),o(M,{title:t.$t("codegen.templatesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[o(N,{gutter:[12,12]},{default:a(()=>[(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,l=>(d(),k(j,{key:l,xs:12,sm:8,lg:4},{default:a(()=>[v("div",{class:"tmpl-pill",style:ve({borderLeftColor:e.tmplBarColor(l)})},[o(h,{color:e.tmplColor(l),style:{"font-family":"monospace"}},{default:a(()=>[g(i(l),1)]),_:2},1032,["color"]),v("span",$e,i(e.stats.scaffolds.byTemplate[l]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),c(" Tabs "),o(X,{activeKey:e.activeTab,"onUpdate:activeKey":n[6]||(n[6]=l=>e.activeTab=l),class:"codegen-tabs"},{default:a(()=>[c(" ── Generations tab ────────────────────────────────────── "),o(B,{key:"generations",tab:t.$t("codegen.tabs.generations")},{default:a(()=>[v("div",et,[o(G,{value:e.languageFilter,"onUpdate:value":n[3]||(n[3]=l=>e.languageFilter=l),placeholder:t.$t("codegen.filter.languagePlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"]),o(G,{value:e.frameworkFilter,"onUpdate:value":n[4]||(n[4]=l=>e.frameworkFilter=l),placeholder:t.$t("codegen.filter.frameworkPlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"])]),o(U,{columns:e.generationColumns,"data-source":e.filteredGenerations,pagination:{pageSize:20,showTotal:l=>t.$t("codegen.table.totalSuffix",{n:l})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:u})=>[l.key==="prompt"?(d(),f(A,{key:0},[v("span",tt,i(e.truncate(u.prompt,60)),1),v("div",ot,i(u.id.slice(0,16)),1)],64)):c("v-if",!0),l.key==="language"?(d(),f(A,{key:1},[u.language?(d(),k(h,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[g(i(u.language),1)]),_:2},1024)):(d(),f("span",at,"—"))],64)):c("v-if",!0),l.key==="framework"?(d(),f(A,{key:2},[u.framework?(d(),k(h,{key:0,color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[g(i(u.framework),1)]),_:2},1024)):(d(),f("span",lt,"—"))],64)):c("v-if",!0),l.key==="fileCount"?(d(),f("span",nt,i(u.fileCount),1)):c("v-if",!0),l.key==="tokenCount"?(d(),f("span",rt,i(u.tokenCount),1)):c("v-if",!0),l.key==="createdAt"?(d(),f("span",it,i(e.formatCodegenTime(u.createdAt)),1)):c("v-if",!0),l.key==="action"?(d(),f(A,{key:6},[o(S,{size:"small",type:"link",onClick:ee=>e.viewGenerationDetails(u)},{default:a(()=>[g(i(t.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"]),u.generatedCode?(d(),k(S,{key:0,size:"small",type:"link",onClick:ee=>e.reviewGeneration(u)},{default:a(()=>[g(i(t.$t("codegen.table.actionReview")),1)]),_:1},8,["onClick"])):c("v-if",!0)],64)):c("v-if",!0)]),emptyText:a(()=>[v("div",st,[o(e.CodeOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+i(e.languageFilter||e.frameworkFilter?t.$t("codegen.table.emptyGenerationsFiltered"):t.$t("codegen.table.emptyGenerations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),c(" ── Reviews tab ───────────────────────────────────────── "),o(B,{key:"reviews",tab:t.$t("codegen.tabs.reviews")},{default:a(()=>[o(U,{columns:e.reviewColumns,"data-source":e.reviews,pagination:{pageSize:20,showTotal:l=>t.$t("codegen.table.totalSuffix",{n:l})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:u})=>[l.key==="codeHash"?(d(),f(A,{key:0},[v("span",dt,i(u.codeHash),1),v("div",ut,i(u.id.slice(0,16)),1)],64)):c("v-if",!0),l.key==="language"?(d(),f(A,{key:1},[u.language?(d(),k(h,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[g(i(u.language),1)]),_:2},1024)):(d(),f("span",ct,"—"))],64)):c("v-if",!0),l.key==="issuesFound"?(d(),k(h,{key:2,color:u.issuesFound===0?"green":u.issuesFound>5?"red":"orange"},{default:a(()=>[g(i(t.$t("codegen.table.issuesSuffix",{n:u.issuesFound})),1)]),_:2},1032,["color"])):c("v-if",!0),l.key==="securityIssues"?(d(),f(A,{key:3},[u.securityIssues>0?(d(),k(h,{key:0,color:"red"},{default:a(()=>[o(e.WarningOutlined),g(" "+i(u.securityIssues),1)]),_:2},1024)):(d(),k(h,{key:1,color:"green"},{default:a(()=>[o(e.CheckCircleOutlined),n[26]||(n[26]=g(" 0 ",-1))]),_:1}))],64)):c("v-if",!0),l.key==="severityBreak"?(d(),f("span",ft,[u.severitySummary.critical>0?(d(),f("span",gt,"C:"+i(u.severitySummary.critical),1)):c("v-if",!0),u.severitySummary.high>0?(d(),f("span",mt,"H:"+i(u.severitySummary.high),1)):c("v-if",!0),u.severitySummary.medium>0?(d(),f("span",vt,"M:"+i(u.severitySummary.medium),1)):c("v-if",!0),u.severitySummary.low>0?(d(),f("span",pt,"L:"+i(u.severitySummary.low),1)):c("v-if",!0),u.severitySummary.info>0?(d(),f("span",yt,"I:"+i(u.severitySummary.info),1)):c("v-if",!0),u.issuesFound===0?(d(),f("span",_t,i(t.$t("codegen.table.noIssues")),1)):c("v-if",!0)])):c("v-if",!0),l.key==="reviewedAt"?(d(),f("span",bt,i(e.formatCodegenTime(u.reviewedAt)),1)):c("v-if",!0),l.key==="action"?(d(),k(S,{key:6,size:"small",type:"link",onClick:ee=>e.viewReviewDetails(u)},{default:a(()=>[g(i(t.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"])):c("v-if",!0)]),emptyText:a(()=>[v("div",wt,[o(e.SafetyOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+i(t.$t("codegen.table.emptyReviews")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),c(" ── Scaffolds tab ─────────────────────────────────────── "),o(B,{key:"scaffolds",tab:t.$t("codegen.tabs.scaffolds")},{default:a(()=>[v("div",kt,[o(Y,{value:e.templateFilter,"onUpdate:value":n[5]||(n[5]=l=>e.templateFilter=l),size:"small","button-style":"solid"},{default:a(()=>[o(H,{value:""},{default:a(()=>[g(i(t.$t("codegen.filter.allTemplates")),1)]),_:1}),(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,l=>(d(),k(H,{key:l,value:l},{default:a(()=>[g(i(l),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),o(U,{columns:e.scaffoldColumns,"data-source":e.filteredScaffolds,pagination:{pageSize:20,showTotal:l=>t.$t("codegen.table.totalSuffix",{n:l})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:u})=>[l.key==="projectName"?(d(),f(A,{key:0},[v("span",ht,i(u.projectName||t.$t("codegen.table.unnamed")),1),v("div",St,i(u.id.slice(0,16)),1)],64)):c("v-if",!0),l.key==="template"?(d(),k(h,{key:1,color:e.tmplColor(u.template),style:{"font-family":"monospace"}},{default:a(()=>[g(i(u.template),1)]),_:2},1032,["color"])):c("v-if",!0),l.key==="filesGenerated"?(d(),f("span",Ct,i(u.filesGenerated),1)):c("v-if",!0),l.key==="outputPath"?(d(),f(A,{key:3},[u.outputPath?(d(),f("span",Ft,i(e.truncate(u.outputPath,40)),1)):(d(),f("span",Rt,"—"))],64)):c("v-if",!0),l.key==="createdAt"?(d(),f("span",xt,i(e.formatCodegenTime(u.createdAt)),1)):c("v-if",!0)]),emptyText:a(()=>[v("div",It,[o(e.AppstoreAddOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+i(e.templateFilter?t.$t("codegen.table.emptyScaffoldsFiltered"):t.$t("codegen.table.emptyScaffolds")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),c(" ── Generate modal ──────────────────────────────────────── "),o(D,{open:e.showGenerateModal,"onUpdate:open":n[13]||(n[13]=l=>e.showGenerateModal=l),title:t.$t("codegen.generate_modal.title"),"confirm-loading":e.generating,width:560,"ok-text":t.$t("codegen.generate_modal.ok"),"cancel-text":t.$t("codegen.generate_modal.cancel"),onOk:e.submitGenerate,onCancel:e.resetGenerateForm},{default:a(()=>[o(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[o(p,{label:t.$t("codegen.generate_modal.promptLabel"),required:""},{default:a(()=>[o(y,{value:e.generateForm.prompt,"onUpdate:value":n[7]||(n[7]=l=>e.generateForm.prompt=l),placeholder:t.$t("codegen.generate_modal.promptPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.languageLabel")},{default:a(()=>[o(G,{value:e.generateForm.language,"onUpdate:value":n[8]||(n[8]=l=>e.generateForm.language=l),placeholder:t.$t("codegen.generate_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.frameworkLabel")},{default:a(()=>[o(G,{value:e.generateForm.framework,"onUpdate:value":n[9]||(n[9]=l=>e.generateForm.framework=l),placeholder:t.$t("codegen.generate_modal.frameworkPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.codeLabel")},{default:a(()=>[o(y,{value:e.generateForm.code,"onUpdate:value":n[10]||(n[10]=l=>e.generateForm.code=l),placeholder:t.$t("codegen.generate_modal.codePlaceholder"),"auto-size":{minRows:3,maxRows:10}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.filesLabel")},{default:a(()=>[o(b,{value:e.generateForm.files,"onUpdate:value":n[11]||(n[11]=l=>e.generateForm.files=l),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.tokensLabel")},{default:a(()=>[o(b,{value:e.generateForm.tokens,"onUpdate:value":n[12]||(n[12]=l=>e.generateForm.tokens=l),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── Review modal ────────────────────────────────────────── "),o(D,{open:e.showReviewModal,"onUpdate:open":n[17]||(n[17]=l=>e.showReviewModal=l),title:t.$t("codegen.review_modal.title"),width:720,footer:null},{default:a(()=>[v("div",At,[o(I,{"label-col":{span:5},"wrapper-col":{span:19}},{default:a(()=>[o(p,{label:t.$t("codegen.review_modal.languageLabel")},{default:a(()=>[o(G,{value:e.reviewForm.language,"onUpdate:value":n[14]||(n[14]=l=>e.reviewForm.language=l),placeholder:t.$t("codegen.review_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.review_modal.generationIdLabel")},{default:a(()=>[o(G,{value:e.reviewForm.generationId,"onUpdate:value":n[15]||(n[15]=l=>e.reviewForm.generationId=l),placeholder:t.$t("codegen.review_modal.generationIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.review_modal.codeLabel"),required:""},{default:a(()=>[o(y,{value:e.reviewForm.code,"onUpdate:value":n[16]||(n[16]=l=>e.reviewForm.code=l),placeholder:t.$t("codegen.review_modal.codePlaceholder"),"auto-size":{minRows:6,maxRows:16}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{"wrapper-col":{offset:5,span:19}},{default:a(()=>[o(S,{type:"primary",loading:e.reviewing,onClick:e.submitReview},{icon:a(()=>[o(e.SafetyOutlined)]),default:a(()=>[g(" "+i(t.$t("codegen.review_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),o(Z),e.reviewResult?(d(),f("div",zt,[o(N,{gutter:12,style:{"margin-bottom":"12px"}},{default:a(()=>[o(j,{span:8},{default:a(()=>[o(T,{title:t.$t("codegen.review_modal.issuesStat"),value:e.reviewResult.issuesFound,"value-style":{color:e.reviewResult.issuesFound>0?"#fa8c16":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),o(j,{span:8},{default:a(()=>[o(T,{title:t.$t("codegen.review_modal.securityStat"),value:e.reviewResult.securityIssues,"value-style":{color:e.reviewResult.securityIssues>0?"#ff4d4f":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),o(j,{span:8},{default:a(()=>[o(T,{title:t.$t("codegen.review_modal.reviewIdStat"),value:e.reviewResult.reviewId?e.reviewResult.reviewId.slice(0,8):"—","value-style":{fontSize:"14px",fontFamily:"monospace"}},null,8,["title","value"])]),_:1})]),_:1}),v("h5",Tt,i(t.$t("codegen.review_modal.bySeverity")),1),o(W,null,{default:a(()=>[(d(!0),f(A,null,Q(e.REVIEW_SEVERITIES,l=>(d(),k(h,{key:l,color:e.severityColor(l)},{default:a(()=>[g(i(e.severityLabel(l))+": "+i(e.reviewResult.severitySummary[l]||0),1)]),_:2},1032,["color"]))),128))]),_:1}),e.reviewResult.reason?(d(),k(ae,{key:0,type:"warning","show-icon":"",message:t.$t("codegen.review_modal.failedReason",{reason:e.reviewResult.reason}),style:{"margin-top":"12px"}},null,8,["message"])):c("v-if",!0)])):(d(),k(oe,{key:0,description:t.$t("codegen.review_modal.notReviewed"),image:e.EMPTY_IMG},null,8,["description","image"]))])]),_:1},8,["open","title"]),c(" ── Scaffold modal ──────────────────────────────────────── "),o(D,{open:e.showScaffoldModal,"onUpdate:open":n[23]||(n[23]=l=>e.showScaffoldModal=l),title:t.$t("codegen.scaffold_modal.title"),"confirm-loading":e.scaffolding,width:560,"ok-text":t.$t("codegen.scaffold_modal.ok"),"cancel-text":t.$t("codegen.scaffold_modal.cancel"),onOk:e.submitScaffold,onCancel:e.resetScaffoldForm},{default:a(()=>[o(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[o(p,{label:t.$t("codegen.scaffold_modal.templateLabel"),required:""},{default:a(()=>[o(ne,{value:e.scaffoldForm.template,"onUpdate:value":n[18]||(n[18]=l=>e.scaffoldForm.template=l)},{default:a(()=>[(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,l=>(d(),k(le,{key:l,value:l},{default:a(()=>[g(i(l),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.projectLabel"),required:""},{default:a(()=>[o(G,{value:e.scaffoldForm.projectName,"onUpdate:value":n[19]||(n[19]=l=>e.scaffoldForm.projectName=l),placeholder:t.$t("codegen.scaffold_modal.projectPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.optionsLabel")},{default:a(()=>[o(y,{value:e.scaffoldForm.optionsJson,"onUpdate:value":n[20]||(n[20]=l=>e.scaffoldForm.optionsJson=l),placeholder:t.$t("codegen.scaffold_modal.optionsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.filesLabel")},{default:a(()=>[o(b,{value:e.scaffoldForm.files,"onUpdate:value":n[21]||(n[21]=l=>e.scaffoldForm.files=l),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.outputLabel")},{default:a(()=>[o(G,{value:e.scaffoldForm.outputPath,"onUpdate:value":n[22]||(n[22]=l=>e.scaffoldForm.outputPath=l),placeholder:t.$t("codegen.scaffold_modal.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── Generation details modal ───────────────────────────── "),o(D,{open:e.showGenDetailsModal,"onUpdate:open":n[24]||(n[24]=l=>e.showGenDetailsModal=l),title:t.$t("codegen.gen_details.title",{id:e.currentGen?.id?.slice(0,12)||""}),width:780,footer:null},{default:a(()=>[e.currentGen?(d(),f("div",Gt,[o($,{column:2,size:"small",bordered:""},{default:a(()=>[o(C,{label:t.$t("codegen.gen_details.id"),span:2},{default:a(()=>[v("span",Ot,i(e.currentGen.id),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.language")},{default:a(()=>[e.currentGen.language?(d(),k(h,{key:0,color:"blue"},{default:a(()=>[g(i(e.currentGen.language),1)]),_:1})):(d(),f("span",jt,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.framework")},{default:a(()=>[e.currentGen.framework?(d(),k(h,{key:0,color:"purple"},{default:a(()=>[g(i(e.currentGen.framework),1)]),_:1})):(d(),f("span",Et,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.fileCount")},{default:a(()=>[g(i(e.currentGen.fileCount),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.tokenCount")},{default:a(()=>[g(i(e.currentGen.tokenCount),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.createdAt"),span:2},{default:a(()=>[g(i(e.formatCodegenTime(e.currentGen.createdAt)),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.prompt"),span:2},{default:a(()=>[v("pre",Lt,i(e.currentGen.prompt),1)]),_:1},8,["label"]),e.currentGen.generatedCode?(d(),k(C,{key:0,label:t.$t("codegen.gen_details.code"),span:2},{default:a(()=>[v("pre",Pt,i(e.truncate(e.currentGen.generatedCode,2e3)),1)]),_:1},8,["label"])):c("v-if",!0)]),_:1})])):c("v-if",!0)]),_:1},8,["open","title"]),c(" ── Review details modal ──────────────────────────────── "),o(D,{open:e.showReviewDetailsModal,"onUpdate:open":n[25]||(n[25]=l=>e.showReviewDetailsModal=l),title:t.$t("codegen.review_details.title",{id:e.currentReview?.id?.slice(0,12)||""}),width:720,footer:null},{default:a(()=>[e.currentReview?(d(),f("div",Mt,[o($,{column:2,size:"small",bordered:""},{default:a(()=>[o(C,{label:t.$t("codegen.review_details.id"),span:2},{default:a(()=>[v("span",Dt,i(e.currentReview.id),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.codeHash"),span:2},{default:a(()=>[v("span",Nt,i(e.currentReview.codeHash),1)]),_:1},8,["label"]),e.currentReview.generationId?(d(),k(C,{key:0,label:t.$t("codegen.review_details.generationId"),span:2},{default:a(()=>[v("span",Ut,i(e.currentReview.generationId),1)]),_:1},8,["label"])):c("v-if",!0),o(C,{label:t.$t("codegen.review_details.language")},{default:a(()=>[e.currentReview.language?(d(),k(h,{key:0,color:"blue"},{default:a(()=>[g(i(e.currentReview.language),1)]),_:1})):(d(),f("span",Bt,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.reviewedAt")},{default:a(()=>[g(i(e.formatCodegenTime(e.currentReview.reviewedAt)),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.issuesFound")},{default:a(()=>[g(i(e.currentReview.issuesFound),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.securityIssues")},{default:a(()=>[v("span",{style:ve({color:e.currentReview.securityIssues>0?"#ff4d4f":"#52c41a"})},i(e.currentReview.securityIssues),5)]),_:1},8,["label"])]),_:1}),v("h4",Jt,i(t.$t("codegen.review_details.bySeverity")),1),(d(!0),f(A,null,Q(e.REVIEW_SEVERITIES,l=>(d(),f("div",{key:l,class:"bd-row"},[o(h,{color:e.severityColor(l),style:{"min-width":"70px","text-align":"center"}},{default:a(()=>[g(i(e.severityLabel(l)),1)]),_:2},1032,["color"]),o(re,{percent:e.pctOfTotal(e.currentReview.severitySummary[l]||0,e.currentReview.issuesFound),"stroke-color":e.severityBarColor(l),format:()=>`${e.currentReview.severitySummary[l]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128)),e.currentReview.issuesDetail.length?(d(),f("h4",Vt,i(t.$t("codegen.review_details.issues")),1)):c("v-if",!0),e.currentReview.issuesDetail.length?(d(),k(se,{key:1,size:"small","data-source":e.currentReview.issuesDetail,pagination:{pageSize:8}},{renderItem:a(({item:l})=>[o(ie,null,{default:a(()=>[o(h,{color:e.severityColor(l.severity),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[g(i(e.severityLabel(l.severity)),1)]),_:2},1032,["color"]),v("span",qt,i(l.rule),1),v("code",Wt,i(e.truncate(l.match,60)),1)]),_:2},1024)]),_:1},8,["data-source"])):c("v-if",!0)])):c("v-if",!0)]),_:1},8,["open","title"])])}const Xt=Oe(Qe,[["render",Ht],["__scopeId","data-v-b0047198"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Codegen.vue"]]);export{Xt as default};
@@ -1 +0,0 @@
1
- .page-title[data-v-b0047198]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-b0047198]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.codegen-tabs[data-v-b0047198] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-b0047198]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.tmpl-pill[data-v-b0047198]{padding:8px 12px;border-radius:6px;background:#1677ff0a;border:1px solid var(--border-color);border-left:3px solid #1677ff;display:flex;align-items:center;justify-content:space-between;height:100%}.tmpl-count[data-v-b0047198]{color:var(--text-primary);font-size:16px;font-weight:600}.sev-mini[data-v-b0047198]{display:inline-flex;gap:8px;font-family:monospace;font-size:11px;font-weight:500}.bd-row[data-v-b0047198]{display:flex;align-items:center;margin-bottom:8px}.code-pre[data-v-b0047198]{margin:0;padding:8px 10px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:4px;font-size:11px;max-height:240px;overflow:auto;color:var(--text-primary);white-space:pre-wrap}
@@ -1 +0,0 @@
1
- import{I as y,J as f,U as x,R as c,c as e,K as a,V as g,r as b,o as Z,a as W,b as q,P as d,Q as p,F as M,Z as yt,S as N,$ as ft}from"./vendor-Bn1JzzAn.js";import{_ as gt,b as G,u as Y,S as $,U as tt,V as et,W as at,X as ot,d as m}from"./index-Qx8cTReg.js";import{aU as _t,B as pt,ac as vt,a5 as xt,aF as bt,O as kt,aQ as ht,aj as Ct,R as wt}from"./icons-DG5UD-6K.js";const Ft={__name:"Community",setup(nt,{expose:i}){i();const{t:s,locale:t}=G(),v=Y(),B=b(!1),k=b(!1),P=b(!1),h=b(""),C=b({...$}),w=b([]),z=b([]),j=b([]),D=b("posts"),R=b(!1),U=b(!1),F=W({author:"",content:""}),_=W({name:"",did:"",email:"",notes:""}),K=q(()=>[{title:s("community.contactColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:s("community.contactColumns.did"),key:"did",dataIndex:"did"},{title:s("community.contactColumns.email"),key:"email",dataIndex:"email",width:"200px"},{title:s("community.contactColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:s("community.contactColumns.action"),key:"action",width:"180px"}]),A=q(()=>[{title:s("community.friendColumns.contact"),key:"contact"},{title:s("community.friendColumns.status"),key:"status",width:"120px"},{title:s("community.friendColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:s("community.friendColumns.action"),key:"action",width:"100px"}]),O=q(()=>z.value.map(n=>{const o=w.value.find(u=>u.id===n.contactId);return{...n,contactName:o?o.name:""}})),I=q(()=>new Set(z.value.map(n=>n.contactId)));function E(n){return I.value.has(n)}function V(n){const o=["#1677ff","#52c41a","#722ed1","#faad14","#ff4d4f","#13c2c2","#eb2f96"];let u=0;for(let S=0;S<n.length;S++)u=u*31+n.charCodeAt(S)>>>0;return o[u%o.length]}function l(n){return n?n.length>28?n.slice(0,16)+"..."+n.slice(-8):n:""}function r(n){if(!n)return"—";if(typeof n!="string")return String(n);const o=new Date(n);if(isNaN(o.getTime()))return n;const u=t.value==="zh-CN"?"zh-CN":"en-US";return o.toLocaleString(u,{hour12:!1})}function H(n){return{accepted:"green",pending:"orange",blocked:"red"}[n]||"default"}function lt(n){const o=`community.status.${n}`,u=s(o);return u===o?n:u}async function T(){B.value=!0;try{const[n,o,u,S]=await Promise.all([v.execute("social stats --json",1e4).catch(()=>({output:""})),v.execute("social contact list --json",1e4).catch(()=>({output:""})),v.execute("social friend list --json",1e4).catch(()=>({output:""})),v.execute("social post list --json",1e4).catch(()=>({output:""}))]);C.value=tt(n.output),w.value=et(o.output),z.value=at(u.output),j.value=ot(S.output).sort((L,ut)=>(ut.createdAt||"").localeCompare(L.createdAt||""))}catch(n){m.error(s("community.messages.loadFailed",{err:n?.message||n}))}finally{B.value=!1}}async function st(){const n=F.content.trim();if(!n){m.warning(s("community.messages.contentRequired"));return}k.value=!0;try{const o=n.replace(/"/g,'\\"'),u=F.author.trim(),S=u?`social post publish "${o}" --author "${u.replace(/"/g,'\\"')}"`:`social post publish "${o}"`,{output:L}=await v.execute(S,15e3);if(/error|失败/i.test(L)&&!/"id"/.test(L)){m.error(s("community.messages.publishFailed",{err:L.slice(0,120)}));return}m.success(s("community.messages.publishOk")),R.value=!1,Q(),await T()}catch(o){m.error(s("community.messages.publishFailed",{err:o?.message||o}))}finally{k.value=!1}}async function it(){const n=_.name.trim();if(!n){m.warning(s("community.messages.nameRequired"));return}P.value=!0;try{const o=[`social contact add "${n.replace(/"/g,'\\"')}"`];_.did.trim()&&o.push(`--did "${_.did.trim().replace(/"/g,'\\"')}"`),_.email.trim()&&o.push(`--email "${_.email.trim().replace(/"/g,'\\"')}"`),_.notes.trim()&&o.push(`--notes "${_.notes.trim().replace(/"/g,'\\"')}"`);const{output:u}=await v.execute(o.join(" "),15e3);if(/error|失败/i.test(u)&&!/"id"/.test(u)){m.error(s("community.messages.addFailed",{err:u.slice(0,120)}));return}m.success(s("community.messages.addOk")),U.value=!1,J(),await T()}catch(o){m.error(s("community.messages.addFailed",{err:o?.message||o}))}finally{P.value=!1}}async function ct(n){try{const{output:o}=await v.execute(`social contact delete ${n.id}`,1e4);if(/error|失败/i.test(o)){m.error(s("community.messages.deleteFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.deleteOk")),await T()}catch(o){m.error(s("community.messages.deleteFailed",{err:o?.message||o}))}}async function rt(n){h.value=n.id;try{const{output:o}=await v.execute(`social friend add ${n.id}`,1e4);if(/error|失败/i.test(o)&&!/"id"/.test(o)){m.error(s("community.messages.friendRequestFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.friendRequestOk")),await T(),D.value="friends"}catch(o){m.error(s("community.messages.friendRequestFailed",{err:o?.message||o}))}finally{h.value=""}}async function dt(n){try{const{output:o}=await v.execute(`social friend remove ${n.contactId}`,1e4);if(/error|失败/i.test(o)){m.error(s("community.messages.removeFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.removeOk")),await T()}catch(o){m.error(s("community.messages.removeFailed",{err:o?.message||o}))}}async function mt(n){try{await v.execute(`social post like ${n.id}`,1e4),n.likes++,T()}catch(o){m.error(s("community.messages.likeFailed",{err:o?.message||o}))}}function Q(){F.author="",F.content=""}function J(){_.name="",_.did="",_.email="",_.notes=""}Z(T);const X={t:s,locale:t,ws:v,loading:B,publishing:k,addingContact:P,addingFriend:h,stats:C,contacts:w,friends:z,posts:j,activeTab:D,showPostModal:R,showContactModal:U,postForm:F,contactForm:_,contactColumns:K,friendColumns:A,friendRows:O,friendIds:I,isFriend:E,avatarColor:V,shortDid:l,formatTime:r,statusColor:H,statusLabel:lt,loadAll:T,publishPost:st,addContact:it,deleteContact:ct,sendFriendRequest:rt,removeFriend:dt,likePost:mt,resetPostForm:Q,resetContactForm:J,ref:b,computed:q,onMounted:Z,reactive:W,get useI18n(){return G},get ReloadOutlined(){return wt},get EditOutlined(){return Ct},get UserAddOutlined(){return ht},get TeamOutlined(){return kt},get HeartOutlined(){return bt},get FileTextOutlined(){return xt},get MessageOutlined(){return vt},get BellOutlined(){return pt},get LikeOutlined(){return _t},get message(){return m},get useWsStore(){return Y},get parseSocialStats(){return tt},get parseContacts(){return et},get parseFriends(){return at},get parsePosts(){return ot},get STATS_DEFAULTS(){return $}};return Object.defineProperty(X,"__isScriptSetup",{enumerable:!1,value:!0}),X}},Ot={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Tt={class:"page-title"},St={class:"page-sub"},zt={key:0,style:{"text-align":"center",padding:"60px"}},Rt={key:1,style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}},At={key:2,class:"post-feed"},Pt={class:"post-head"},Ut={class:"post-meta"},It={class:"post-author"},Lt={class:"post-time"},qt={class:"post-body"},Mt={style:{color:"var(--text-primary)","font-weight":"500"}},Nt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Bt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},jt={key:0,style:{color:"var(--text-primary)","font-weight":"500"}},Dt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Et={key:1,style:{color:"var(--text-muted)"}},Vt={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},Ht={key:1,style:{color:"var(--text-muted)"}},Kt={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},Wt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function Qt(nt,i,s,t,v,B){const k=y("a-button"),P=y("a-space"),h=y("a-statistic"),C=y("a-card"),w=y("a-col"),z=y("a-row"),j=y("a-spin"),D=y("a-avatar"),R=y("a-tab-pane"),U=y("a-tag"),F=y("a-popconfirm"),_=y("a-table"),K=y("a-tabs"),A=y("a-input"),O=y("a-form-item"),I=y("a-textarea"),E=y("a-form"),V=y("a-modal");return d(),f("div",null,[x("div",Ot,[x("div",null,[x("h2",Tt,c(t.t("community.title")),1),x("p",St,c(t.t("community.subtitle")),1)]),e(P,null,{default:a(()=>[e(k,{loading:t.loading,onClick:t.loadAll},{icon:a(()=>[e(t.ReloadOutlined)]),default:a(()=>[p(" "+c(t.t("community.refresh")),1)]),_:1},8,["loading"]),e(k,{type:"primary",onClick:i[0]||(i[0]=l=>t.showPostModal=!0)},{icon:a(()=>[e(t.EditOutlined)]),default:a(()=>[p(" "+c(t.t("community.publishButton")),1)]),_:1}),e(k,{onClick:i[1]||(i[1]=l=>t.showContactModal=!0)},{icon:a(()=>[e(t.UserAddOutlined)]),default:a(()=>[p(" "+c(t.t("community.addContactButton")),1)]),_:1})]),_:1})]),g(" Stats overview "),e(z,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.contacts"),value:t.stats.contacts,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[e(t.TeamOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.friends"),value:t.stats.friends,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[e(t.HeartOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.posts"),value:t.stats.posts,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[e(t.FileTextOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.messages"),value:t.stats.messages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[e(t.MessageOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:24,sm:8,lg:4},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.pendingRequests"),value:t.stats.pendingRequests,"value-style":{color:t.stats.pendingRequests>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:a(()=>[e(t.BellOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),g(" Tabs "),e(K,{activeKey:t.activeTab,"onUpdate:activeKey":i[2]||(i[2]=l=>t.activeTab=l),class:"community-tabs"},{default:a(()=>[g(" ── Posts tab ─────────────────────────────────────────────── "),e(R,{key:"posts",tab:t.t("community.tabs.posts")},{default:a(()=>[t.loading&&!t.posts.length?(d(),f("div",zt,[e(j,{size:"large"})])):t.posts.length?(d(),f("div",At,[(d(!0),f(M,null,yt(t.posts,l=>(d(),N(C,{key:l.key,class:"post-card","body-style":{padding:"16px"}},{default:a(()=>[x("div",Pt,[e(D,{style:ft({backgroundColor:t.avatarColor(l.author)})},{default:a(()=>[p(c(l.author.slice(0,1).toUpperCase()),1)]),_:2},1032,["style"]),x("div",Ut,[x("div",It,c(l.author),1),x("div",Lt,c(t.formatTime(l.createdAt)),1)]),e(k,{size:"small",type:"text",onClick:r=>t.likePost(l)},{icon:a(()=>[e(t.LikeOutlined)]),default:a(()=>[p(" "+c(l.likes),1)]),_:2},1032,["onClick"])]),x("div",qt,c(l.content),1)]),_:2},1024))),128))])):(d(),f("div",Rt,[e(t.FileTextOutlined,{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),p(" "+c(t.t("community.posts.emptyText")),1)]))]),_:1},8,["tab"]),g(" ── Friends tab ───────────────────────────────────────────── "),e(R,{key:"friends",tab:t.t("community.tabs.friends")},{default:a(()=>[e(_,{columns:t.friendColumns,"data-source":t.friendRows,pagination:{pageSize:20,showTotal:l=>t.t("community.totals.rows",{count:l})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:r})=>[l.key==="contact"?(d(),f(M,{key:0},[x("span",Mt,c(r.contactName||r.contactId),1),r.contactName?(d(),f("div",Nt,c(r.contactId),1)):g("v-if",!0)],64)):g("v-if",!0),l.key==="status"?(d(),N(U,{key:1,color:t.statusColor(r.status)},{default:a(()=>[p(c(t.statusLabel(r.status)),1)]),_:2},1032,["color"])):g("v-if",!0),l.key==="action"?(d(),N(F,{key:2,title:t.t("community.friends.removeConfirm"),"ok-text":t.t("community.friends.removeOk"),"cancel-text":t.t("common.cancel"),onConfirm:H=>t.removeFriend(r)},{default:a(()=>[e(k,{size:"small",type:"link",danger:""},{default:a(()=>[p(c(t.t("community.friends.remove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):g("v-if",!0)]),emptyText:a(()=>[x("div",Bt,[e(t.HeartOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+c(t.t("community.friends.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),g(" ── Contacts tab ──────────────────────────────────────────── "),e(R,{key:"contacts",tab:t.t("community.tabs.contacts")},{default:a(()=>[e(_,{columns:t.contactColumns,"data-source":t.contacts,pagination:{pageSize:20,showTotal:l=>t.t("community.totals.rows",{count:l})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:r})=>[l.key==="name"?(d(),f("span",jt,c(r.name),1)):g("v-if",!0),l.key==="did"?(d(),f(M,{key:1},[r.did?(d(),f("span",Dt,c(t.shortDid(r.did)),1)):(d(),f("span",Et,"—"))],64)):g("v-if",!0),l.key==="email"?(d(),f(M,{key:2},[r.email?(d(),f("span",Vt,c(r.email),1)):(d(),f("span",Ht,"—"))],64)):g("v-if",!0),l.key==="createdAt"?(d(),f("span",Kt,c(t.formatTime(r.createdAt)),1)):g("v-if",!0),l.key==="action"?(d(),f(M,{key:4},[t.isFriend(r.id)?(d(),N(U,{key:1,color:"green",style:{"font-size":"11px"}},{default:a(()=>[p(c(t.t("community.contacts.alreadyFriend")),1)]),_:1})):(d(),N(k,{key:0,size:"small",type:"link",loading:t.addingFriend===r.id,onClick:H=>t.sendFriendRequest(r)},{default:a(()=>[p(c(t.t("community.contacts.addFriend")),1)]),_:1},8,["loading","onClick"])),e(F,{title:t.t("community.contacts.deleteConfirm"),"ok-text":t.t("community.contacts.deleteOk"),"cancel-text":t.t("common.cancel"),onConfirm:H=>t.deleteContact(r)},{default:a(()=>[e(k,{size:"small",type:"link",danger:"",style:{"margin-left":"4px"}},{default:a(()=>[p(c(t.t("community.contacts.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):g("v-if",!0)]),emptyText:a(()=>[x("div",Wt,[e(t.TeamOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+c(t.t("community.contacts.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),g(" ── Publish post modal ──────────────────────────────────────── "),e(V,{open:t.showPostModal,"onUpdate:open":i[5]||(i[5]=l=>t.showPostModal=l),title:t.t("community.posts.publishTitle"),"confirm-loading":t.publishing,"ok-text":t.t("community.posts.publishOk"),"cancel-text":t.t("common.cancel"),onOk:t.publishPost,onCancel:t.resetPostForm},{default:a(()=>[e(E,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[e(O,{label:t.t("community.posts.authorLabel")},{default:a(()=>[e(A,{value:t.postForm.author,"onUpdate:value":i[3]||(i[3]=l=>t.postForm.author=l),placeholder:t.t("community.posts.authorPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.posts.contentLabel"),required:""},{default:a(()=>[e(I,{value:t.postForm.content,"onUpdate:value":i[4]||(i[4]=l=>t.postForm.content=l),placeholder:t.t("community.posts.contentPlaceholder"),"auto-size":{minRows:4,maxRows:10},maxlength:2e3,"show-count":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),g(" ── Add contact modal ───────────────────────────────────────── "),e(V,{open:t.showContactModal,"onUpdate:open":i[10]||(i[10]=l=>t.showContactModal=l),title:t.t("community.contacts.addTitle"),"confirm-loading":t.addingContact,"ok-text":t.t("community.contacts.addOk"),"cancel-text":t.t("common.cancel"),onOk:t.addContact,onCancel:t.resetContactForm},{default:a(()=>[e(E,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[e(O,{label:t.t("community.contacts.nameLabel"),required:""},{default:a(()=>[e(A,{value:t.contactForm.name,"onUpdate:value":i[6]||(i[6]=l=>t.contactForm.name=l),placeholder:t.t("community.contacts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.didLabel")},{default:a(()=>[e(A,{value:t.contactForm.did,"onUpdate:value":i[7]||(i[7]=l=>t.contactForm.did=l),placeholder:t.t("community.contacts.didPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.emailLabel")},{default:a(()=>[e(A,{value:t.contactForm.email,"onUpdate:value":i[8]||(i[8]=l=>t.contactForm.email=l),placeholder:t.t("community.contacts.emailPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.notesLabel")},{default:a(()=>[e(I,{value:t.contactForm.notes,"onUpdate:value":i[9]||(i[9]=l=>t.contactForm.notes=l),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const Gt=gt(Ft,[["render",Qt],["__scopeId","data-v-7ac975f5"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Community.vue"]]);export{Gt as default};
@@ -1 +0,0 @@
1
- .page-title[data-v-7ac975f5]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-7ac975f5]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.community-tabs[data-v-7ac975f5] .ant-tabs-nav{margin-bottom:16px}.post-feed[data-v-7ac975f5]{display:grid;gap:12px}.post-card[data-v-7ac975f5]{background:var(--bg-card);border-color:var(--border-color)}.post-head[data-v-7ac975f5]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.post-meta[data-v-7ac975f5]{flex:1;min-width:0}.post-author[data-v-7ac975f5]{color:var(--text-primary);font-weight:600;font-size:13px}.post-time[data-v-7ac975f5]{color:var(--text-secondary);font-size:11px;margin-top:1px}.post-body[data-v-7ac975f5]{color:var(--text-primary);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
@@ -1 +0,0 @@
1
- import{I as p,J as m,U as g,R as r,c as a,K as o,V as c,S as _,o as ne,a as X,b as E,r as h,P as s,Q as b,F as R,Z as H,$ as ie}from"./vendor-Bn1JzzAn.js";import{t as J,_ as he,u as re,b as se,d as v}from"./index-Qx8cTReg.js";import{t as _e,an as ke,al as xe,H as ze,_ as Ae,b3 as Se,D as Te,b4 as Ce,at as Oe,R as Fe}from"./icons-DG5UD-6K.js";const Re=Object.freeze(["file-md5","file-sha1","file-sha256","file-sha512","ipv4","ipv6","domain","url","email"]);function T(e,l=0){return typeof e=="number"&&Number.isFinite(e)?e:l}function ye(e,l=0){if(!e||typeof e!="object")return null;const d=e.id||"";if(!d)return null;const t=Array.isArray(e.labels)?e.labels:[];return{key:d,id:d,type:String(e.type||""),value:String(e.value||""),labels:t,confidence:e.confidence!=null?T(e.confidence,null):null,sourceId:e.sourceId??e.source_id??null,sourceName:e.sourceName??e.source_name??null,validFrom:e.validFrom??e.valid_from??null,validUntil:e.validUntil??e.valid_until??null,firstSeenAt:e.firstSeenAt??e.first_seen_at??null,lastSeenAt:e.lastSeenAt??e.last_seen_at??null,_idx:l}}function ce(e){const l=J(e);return Array.isArray(l)?l.map(ye).filter(Boolean):[]}function ue(e){const l=J(e);return!l||typeof l!="object"||Array.isArray(l)?null:{matched:!!l.matched,type:String(l.type||"unknown"),indicator:l.indicator?ye(l.indicator):null}}function de(e){const l={total:0,byType:{}},d=J(e);if(!d||typeof d!="object"||Array.isArray(d))return l;if(l.total=T(d.total,0),d.byType&&typeof d.byType=="object")for(const[t,C]of Object.entries(d.byType))typeof C=="number"&&Number.isFinite(C)&&(l.byType[t]=C);return l}function we(e,l=0){if(!e||typeof e!="object")return null;const d=e.entity||"";return d?{key:d,entity:d,eventCount:T(e.eventCount??e.event_count,0),failureRate:T(e.failureRate??e.failure_rate,0),uniqueResources:T(e.uniqueResources??e.unique_resources,0),uniqueActions:T(e.uniqueActions??e.unique_actions,0),burstiness:T(e.burstiness,0),riskScore:T(e.riskScore??e.risk_score,0),_idx:l}:null}function me(e){const l=J(e);return Array.isArray(l)?l.map(we).filter(Boolean):[]}function Ue(e,l=0){return!e||typeof e!="object"?null:{key:l,score:T(e.score,0),reasons:Array.isArray(e.reasons)?e.reasons:[],event:e.event&&typeof e.event=="object"?e.event:null,_idx:l}}function pe(e){const l=J(e);return Array.isArray(l)?l.map(Ue).filter(Boolean):[]}function $(e){if(!e)return{noAuditLog:!1,error:""};const l=/no such table:\s*audit_log/i.test(e),d=e.match(/Failed:\s*(.+?)(?:\r?\n|$)/i);return{noAuditLog:l,error:d?d[1].trim():""}}function je(e){if(e==null||e==="")return"—";const l=typeof e=="number"?new Date(e):new Date(String(e));return isNaN(l.getTime())?String(e):l.toLocaleString("zh-CN",{hour12:!1})}const Be={__name:"Compliance",setup(e,{expose:l}){l();const d=re(),{t}=se(),C=h(!1),Q=h(!1),w=h(!1),U=h(!1),I=h([]),M=h({total:0,byType:{}}),L=h([]),z=h([]),k=h({noAuditLog:!1,error:""}),S=h("threat"),D=h(""),x=h(!1),j=h(!1),N=h(!1),Z=X({observable:""}),B=h(null),O=X({entity:"",days:30}),A=X({entity:"",threshold:.7,days:1}),ee=E(()=>[{title:t("compliance.cols.type"),key:"type",width:"120px"},{title:t("compliance.cols.value"),key:"value"},{title:t("compliance.cols.labels"),key:"labels",width:"160px"},{title:t("compliance.cols.confidence"),key:"confidence",width:"90px"},{title:t("compliance.cols.source"),key:"source",width:"160px"},{title:t("compliance.cols.lastSeen"),key:"lastSeen",width:"160px"},{title:t("compliance.cols.action"),key:"action",width:"90px"}]),te=E(()=>[{title:t("compliance.cols.entity"),key:"entity",width:"180px"},{title:t("compliance.cols.riskScore"),key:"riskScore"},{title:t("compliance.cols.eventCount"),key:"eventCount",width:"90px"},{title:t("compliance.cols.failureRate"),key:"failureRate",width:"90px"},{title:t("compliance.cols.uniqueResources"),key:"uniqueResources",width:"90px"},{title:t("compliance.cols.burstiness"),key:"burstiness",width:"90px"}]),ae=E(()=>D.value?I.value.filter(i=>i.type===D.value):I.value),oe=E(()=>Object.keys(M.value.byType).length),W=E(()=>Object.entries(M.value.byType).sort((i,y)=>y[1]-i[1])),F=E(()=>L.value.filter(i=>i.riskScore>=70).length),P={ipv4:"blue",ipv6:"cyan",domain:"purple",url:"magenta",email:"gold","file-md5":"orange","file-sha1":"orange","file-sha256":"red","file-sha512":"red",unknown:"default"};function V(i){return P[i]||"default"}function K(i){return i>=80?"#ff4d4f":i>=50?"#faad14":"#52c41a"}function n(i){return i>=70?"#ff4d4f":i>=40?"#faad14":"#52c41a"}function u(i,y){return i?i.length>y?i.slice(0,y)+"...":i:""}function Y({key:i}){i==="match"?(B.value=null,x.value=!0):i==="ueba-build"?j.value=!0:i==="ueba-analyze"&&(N.value=!0)}async function G(){C.value=!0;try{const[i,y,f]=await Promise.all([d.execute("compliance threat-intel list --limit 200 --json",1e4).catch(()=>({output:""})),d.execute("compliance threat-intel stats --json",8e3).catch(()=>({output:""})),d.execute("compliance ueba top --top-k 20 --json",1e4).catch(()=>({output:""}))]);I.value=ce(i.output),M.value=de(y.output),k.value=$(f.output),L.value=k.value.noAuditLog?[]:me(f.output)}catch(i){v.error(t("compliance.msg.loadFailed")+": "+(i?.message||i))}finally{C.value=!1}}async function fe(){const i=Z.observable.trim();if(!i){v.warning(t("compliance.msg.matchEmpty"));return}Q.value=!0,B.value=null;try{const y=`compliance threat-intel match "${i.replace(/"/g,'\\"')}" --json`,{output:f}=await d.execute(y,8e3),q=ue(f);if(!q){v.error(t("compliance.msg.matchFailed")+": "+f.slice(0,120));return}B.value=q,q.matched?v.warning(t("compliance.msg.matchHit",{type:q.type})):q.type==="unknown"?v.info(t("compliance.msg.matchUnknownType")):v.success(t("compliance.msg.matchMiss",{type:q.type}))}catch(y){v.error(t("compliance.msg.matchFailed")+": "+(y?.message||y))}finally{Q.value=!1}}async function be(i){try{const y=`compliance threat-intel remove ${i.type} "${i.value.replace(/"/g,'\\"')}" --json`,{output:f}=await d.execute(y,8e3);if(/error|失败/i.test(f)&&!/"removed"/.test(f)){v.error(t("compliance.msg.deleteFailed")+": "+f.slice(0,120));return}v.success(t("compliance.msg.deleteSuccess")),await G()}catch(y){v.error(t("compliance.msg.deleteFailed")+": "+(y?.message||y))}}async function ve(){w.value=!0;try{const i=["compliance ueba baseline"];O.entity.trim()&&i.push(`--entity "${O.entity.trim().replace(/"/g,'\\"')}"`),O.days!=null&&i.push(`--days ${O.days}`),i.push("--json");const{output:y}=await d.execute(i.join(" "),3e4),f=$(y);if(f.noAuditLog){k.value=f,v.warning(t("compliance.msg.auditEmptyBuild")),j.value=!1;return}if(f.error){v.error(t("compliance.msg.buildFailed")+": "+f.error);return}v.success(t("compliance.msg.buildSuccess")),j.value=!1,S.value="ueba",await G()}catch(i){v.error(t("compliance.msg.buildFailed")+": "+(i?.message||i))}finally{w.value=!1}}async function ge(){U.value=!0;try{const i=["compliance ueba analyze"];A.entity.trim()&&i.push(`--entity "${A.entity.trim().replace(/"/g,'\\"')}"`),A.threshold!=null&&i.push(`--threshold ${A.threshold}`),A.days!=null&&i.push(`--days ${A.days}`),i.push("--json");const{output:y}=await d.execute(i.join(" "),3e4),f=$(y);if(f.noAuditLog){k.value=f,v.warning(t("compliance.msg.auditEmptyAnalyze")),N.value=!1;return}if(f.error&&!y.includes("[")){v.error(t("compliance.msg.analyzeFailed")+": "+f.error);return}z.value=pe(y),v.success(t("compliance.msg.analyzeSuccess",{n:z.value.length})),N.value=!1,S.value="ueba"}catch(i){v.error(t("compliance.msg.analyzeFailed")+": "+(i?.message||i))}finally{U.value=!1}}ne(G);const le={ws:d,t,loading:C,matching:Q,building:w,analyzing:U,indicators:I,threatStats:M,uebaTop:L,anomalies:z,uebaError:k,activeTab:S,iocTypeFilter:D,showMatchModal:x,showBuildModal:j,showAnalyzeModal:N,matchForm:Z,matchResult:B,buildForm:O,analyzeForm:A,indicatorColumns:ee,uebaColumns:te,filteredIndicators:ae,threatTypeCount:oe,typeBreakdown:W,highRiskCount:F,IOC_TYPE_COLORS:P,iocTypeColor:V,confidenceColor:K,riskColor:n,truncate:u,handleNewClick:Y,loadAll:G,matchObservable:fe,removeIndicator:be,buildBaseline:ve,runAnalyze:ge,ref:h,computed:E,onMounted:ne,reactive:X,get ReloadOutlined(){return Fe},get PlusOutlined(){return Oe},get AimOutlined(){return Ce},get DatabaseOutlined(){return Te},get FundOutlined(){return Se},get SafetyCertificateOutlined(){return Ae},get BlockOutlined(){return ze},get UserOutlined(){return xe},get WarningOutlined(){return ke},get AlertOutlined(){return _e},get message(){return v},get useI18n(){return se},get useWsStore(){return re},get parseIndicators(){return ce},get parseMatchResult(){return ue},get parseThreatIntelStats(){return de},get parseUebaTop(){return me},get parseAnomalies(){return pe},get detectUebaError(){return $},get formatComplianceTime(){return je},get IOC_TYPES(){return Re}};return Object.defineProperty(le,"__isScriptSetup",{enumerable:!1,value:!0}),le}},Ee={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ie={class:"page-title"},Me={class:"page-sub"},Le={class:"filter-bar"},Ne={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px","word-break":"break-all"}},Pe={key:0,style:{color:"var(--text-muted)"}},qe={key:1,style:{color:"var(--text-muted)"}},De={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},We={key:1,style:{color:"var(--text-muted)"}},Ve={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Ke={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Ye={style:{color:"var(--text-primary)",margin:"16px 0 8px","font-size":"14px"}},He={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},Je={key:2,style:{color:"var(--text-secondary)"}},Qe={key:5,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Ze={style:{padding:"30px",color:"var(--text-muted)","text-align":"center"}},Ge={key:2,style:{color:"var(--text-primary)",margin:"24px 0 8px","font-size":"14px"}},Xe={style:{flex:"1"}},$e={style:{display:"flex",gap:"8px","align-items":"center"}},et={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},tt={key:1,style:{color:"var(--text-secondary)","font-size":"11px"}},at={key:0,style:{"margin-top":"4px"}},ot={style:{"margin-top":"8px","font-size":"12px",color:"var(--text-secondary)"}},lt={key:0,style:{"margin-top":"12px","font-size":"12px"}},nt={style:{color:"var(--text-secondary)"}},it={style:{color:"var(--text-secondary)"}},rt={key:0,style:{"margin-top":"4px"}},st={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}},ct={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}};function ut(e,l,d,t,C,Q){const w=p("a-button"),U=p("a-menu-item"),I=p("a-menu"),M=p("a-dropdown"),L=p("a-space"),z=p("a-statistic"),k=p("a-card"),S=p("a-col"),D=p("a-row"),x=p("a-tag"),j=p("a-radio-button"),N=p("a-radio-group"),Z=p("a-popconfirm"),B=p("a-table"),O=p("a-tab-pane"),A=p("a-alert"),ee=p("a-progress"),te=p("a-list-item"),ae=p("a-list"),oe=p("a-tabs"),W=p("a-input"),F=p("a-form-item"),P=p("a-form"),V=p("a-modal"),K=p("a-input-number");return s(),m("div",null,[g("div",Ee,[g("div",null,[g("h2",Ie,r(e.$t("compliance.title")),1),g("p",Me,r(e.$t("compliance.subtitle")),1)]),a(L,null,{default:o(()=>[a(w,{loading:t.loading,onClick:t.loadAll},{icon:o(()=>[a(t.ReloadOutlined)]),default:o(()=>[b(" "+r(e.$t("compliance.refresh")),1)]),_:1},8,["loading"]),a(M,{trigger:["click"]},{overlay:o(()=>[a(I,{onClick:t.handleNewClick},{default:o(()=>[a(U,{key:"match"},{default:o(()=>[a(t.AimOutlined),b(" "+r(e.$t("compliance.actions.match")),1)]),_:1}),a(U,{key:"ueba-build"},{default:o(()=>[a(t.DatabaseOutlined),b(" "+r(e.$t("compliance.actions.uebaBuild")),1)]),_:1}),a(U,{key:"ueba-analyze"},{default:o(()=>[a(t.FundOutlined),b(" "+r(e.$t("compliance.actions.uebaAnalyze")),1)]),_:1})]),_:1})]),default:o(()=>[a(w,{type:"primary"},{icon:o(()=>[a(t.PlusOutlined)]),default:o(()=>[b(" "+r(e.$t("compliance.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),c(" Stats overview "),a(D,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:o(()=>[a(S,{xs:12,sm:8,lg:5},{default:o(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(z,{title:e.$t("compliance.stats.iocTotal"),value:t.threatStats.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:o(()=>[a(t.SafetyCertificateOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(S,{xs:12,sm:8,lg:5},{default:o(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(z,{title:e.$t("compliance.stats.iocTypes"),value:t.threatTypeCount,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:o(()=>[a(t.BlockOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(S,{xs:12,sm:8,lg:5},{default:o(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(z,{title:e.$t("compliance.stats.riskEntities"),value:t.uebaTop.length,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:o(()=>[a(t.UserOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(S,{xs:12,sm:8,lg:5},{default:o(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(z,{title:e.$t("compliance.stats.highRisk"),value:t.highRiskCount,"value-style":{color:t.highRiskCount>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:o(()=>[a(t.WarningOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(S,{xs:24,sm:8,lg:4},{default:o(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[a(z,{title:e.$t("compliance.stats.recentAnomalies"),value:t.anomalies.length,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:o(()=>[a(t.AlertOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),c(" Type breakdown "),t.threatStats.total>0?(s(),_(k,{key:0,title:e.$t("compliance.typeBreakdown"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:o(()=>[a(L,{size:[12,8],wrap:""},{default:o(()=>[(s(!0),m(R,null,H(t.typeBreakdown,([n,u])=>(s(),_(x,{key:n,color:t.iocTypeColor(n)},{default:o(()=>[b(r(n)+": "+r(u),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):c("v-if",!0),c(" Tabs "),a(oe,{activeKey:t.activeTab,"onUpdate:activeKey":l[1]||(l[1]=n=>t.activeTab=n),class:"compliance-tabs"},{default:o(()=>[c(" ── Threat Intel tab ──────────────────────────────────────── "),a(O,{key:"threat",tab:e.$t("compliance.tabs.threat")},{default:o(()=>[g("div",Le,[a(N,{value:t.iocTypeFilter,"onUpdate:value":l[0]||(l[0]=n=>t.iocTypeFilter=n),size:"small"},{default:o(()=>[a(j,{value:""},{default:o(()=>[b(r(e.$t("compliance.filter.all")),1)]),_:1}),(s(!0),m(R,null,H(t.IOC_TYPES,n=>(s(),_(j,{key:n,value:n},{default:o(()=>[b(r(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(B,{columns:t.indicatorColumns,"data-source":t.filteredIndicators,pagination:{pageSize:20,showTotal:n=>e.$t("compliance.table.totalSuffix",{n})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:n,record:u})=>[n.key==="type"?(s(),_(x,{key:0,color:t.iocTypeColor(u.type),style:{"font-family":"monospace"}},{default:o(()=>[b(r(u.type),1)]),_:2},1032,["color"])):c("v-if",!0),n.key==="value"?(s(),m("span",Ne,r(t.truncate(u.value,64)),1)):c("v-if",!0),n.key==="labels"?(s(),m(R,{key:2},[(s(!0),m(R,null,H(u.labels,Y=>(s(),_(x,{key:Y,color:"orange",style:{"font-size":"10px",margin:"1px"}},{default:o(()=>[b(r(Y),1)]),_:2},1024))),128)),u.labels.length?c("v-if",!0):(s(),m("span",Pe,"—"))],64)):c("v-if",!0),n.key==="confidence"?(s(),m(R,{key:3},[u.confidence!=null?(s(),m("span",{key:0,style:ie({color:t.confidenceColor(u.confidence),fontWeight:500})},r(u.confidence),5)):(s(),m("span",qe,"—"))],64)):c("v-if",!0),n.key==="source"?(s(),m(R,{key:4},[u.sourceName?(s(),m("span",De,r(u.sourceName),1)):(s(),m("span",We,"—"))],64)):c("v-if",!0),n.key==="lastSeen"?(s(),m("span",Ve,r(t.formatComplianceTime(u.lastSeenAt)),1)):c("v-if",!0),n.key==="action"?(s(),_(Z,{key:6,title:e.$t("compliance.table.deleteConfirm"),"ok-text":e.$t("compliance.table.deleteOk"),"cancel-text":e.$t("compliance.table.cancel"),onConfirm:Y=>t.removeIndicator(u)},{default:o(()=>[a(w,{size:"small",type:"link",danger:""},{default:o(()=>[b(r(e.$t("compliance.table.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):c("v-if",!0)]),emptyText:o(()=>[g("div",Ke,[a(t.SafetyCertificateOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),b(" "+r(e.$t("compliance.table.emptyThreatsLine1"))+" ",1),l[11]||(l[11]=g("code",{style:{"font-size":"11px"}},"cc compliance threat-intel import <file.json>",-1))])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),c(" ── UEBA tab ──────────────────────────────────────────────── "),a(O,{key:"ueba",tab:e.$t("compliance.tabs.ueba")},{default:o(()=>[t.uebaError.noAuditLog?(s(),_(A,{key:0,type:"info","show-icon":"",message:e.$t("compliance.ueba.noAuditLog"),description:e.$t("compliance.ueba.noAuditLogDesc"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):t.uebaError.error?(s(),_(A,{key:1,type:"error","show-icon":"",message:e.$t("compliance.ueba.errorMessage",{err:t.uebaError.error}),style:{"margin-bottom":"16px"}},null,8,["message"])):c("v-if",!0),g("h3",Ye,r(e.$t("compliance.ueba.topRiskTitle",{count:t.uebaTop.length})),1),a(B,{columns:t.uebaColumns,"data-source":t.uebaTop,pagination:!1,size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:o(({column:n,record:u})=>[n.key==="entity"?(s(),m("span",He,r(u.entity),1)):c("v-if",!0),n.key==="riskScore"?(s(),_(ee,{key:1,percent:Math.min(u.riskScore,100),"stroke-color":t.riskColor(u.riskScore),size:"small",format:()=>u.riskScore.toFixed(1)},null,8,["percent","stroke-color","format"])):c("v-if",!0),n.key==="eventCount"?(s(),m("span",Je,r(u.eventCount),1)):c("v-if",!0),n.key==="failureRate"?(s(),m("span",{key:3,style:ie({color:u.failureRate>.3?"#ff4d4f":"var(--text-secondary)",fontFamily:"monospace"})},r((u.failureRate*100).toFixed(1))+"% ",5)):c("v-if",!0),n.key==="uniqueResources"?(s(),_(x,{key:4,color:"cyan",style:{"font-size":"11px"}},{default:o(()=>[b(r(u.uniqueResources),1)]),_:2},1024)):c("v-if",!0),n.key==="burstiness"?(s(),m("span",Qe,r((u.burstiness*100).toFixed(0))+"% ",1)):c("v-if",!0)]),emptyText:o(()=>[g("div",Ze,[a(t.UserOutlined,{style:{"font-size":"32px","margin-bottom":"8px",display:"block"}}),b(" "+r(t.uebaError.noAuditLog?e.$t("compliance.table.emptyAuditEntities"):e.$t("compliance.table.emptyRiskEntities")),1)])]),_:1},8,["columns","data-source","loading"]),t.anomalies.length?(s(),m("h3",Ge,r(e.$t("compliance.ueba.anomalyTitle",{count:t.anomalies.length})),1)):c("v-if",!0),t.anomalies.length?(s(),_(ae,{key:3,size:"small","data-source":t.anomalies,locale:{emptyText:e.$t("compliance.table.noAnomalies")}},{renderItem:o(({item:n})=>[a(te,{style:{background:"var(--bg-card)",padding:"10px 16px"}},{default:o(()=>[g("div",Xe,[g("div",$e,[a(x,{color:t.riskColor(n.score*100)},{default:o(()=>[b("score "+r(n.score.toFixed(2)),1)]),_:2},1032,["color"]),n.event?.entity?(s(),m("span",et,r(n.event.entity),1)):c("v-if",!0),n.event?.action?(s(),m("span",tt," → "+r(n.event.action),1)):c("v-if",!0)]),n.reasons.length?(s(),m("div",at,[(s(!0),m(R,null,H(n.reasons,u=>(s(),_(x,{key:u,color:"volcano",style:{"font-size":"10px",margin:"1px"}},{default:o(()=>[b(r(u),1)]),_:2},1024))),128))])):c("v-if",!0)])]),_:2},1024)]),_:1},8,["data-source","locale"])):c("v-if",!0)]),_:1},8,["tab"])]),_:1},8,["activeKey"]),c(" ── Match modal ───────────────────────────────────────────── "),a(V,{open:t.showMatchModal,"onUpdate:open":l[3]||(l[3]=n=>t.showMatchModal=n),title:e.$t("compliance.match.modalTitle"),"confirm-loading":t.matching,width:500,"ok-text":e.$t("compliance.match.ok"),"cancel-text":e.$t("compliance.match.close"),onOk:t.matchObservable},{default:o(()=>[a(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:o(()=>[a(F,{label:e.$t("compliance.match.label"),required:""},{default:o(()=>[a(W,{value:t.matchForm.observable,"onUpdate:value":l[2]||(l[2]=n=>t.matchForm.observable=n),placeholder:e.$t("compliance.match.placeholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),t.matchResult?(s(),_(k,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:o(()=>[a(z,{title:e.$t("compliance.match.result"),value:t.matchResult.matched?e.$t("compliance.match.hit"):e.$t("compliance.match.miss"),"value-style":{color:t.matchResult.matched?"#ff4d4f":"#52c41a"}},null,8,["title","value","value-style"]),g("div",ot,[b(r(e.$t("compliance.match.detectType"))+" ",1),a(x,{color:t.iocTypeColor(t.matchResult.type)},{default:o(()=>[b(r(t.matchResult.type),1)]),_:1},8,["color"])]),t.matchResult.indicator?(s(),m("div",lt,[g("div",nt,r(e.$t("compliance.match.sourcePrefix"))+" "+r(t.matchResult.indicator.sourceName||"—"),1),g("div",it,r(e.$t("compliance.match.confidencePrefix"))+" "+r(t.matchResult.indicator.confidence??"—"),1),t.matchResult.indicator.labels.length?(s(),m("div",rt,[(s(!0),m(R,null,H(t.matchResult.indicator.labels,n=>(s(),_(x,{key:n,color:"orange",style:{"font-size":"10px"}},{default:o(()=>[b(r(n),1)]),_:2},1024))),128))])):c("v-if",!0)])):c("v-if",!0)]),_:1})):c("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── UEBA build baseline modal ─────────────────────────────── "),a(V,{open:t.showBuildModal,"onUpdate:open":l[6]||(l[6]=n=>t.showBuildModal=n),title:e.$t("compliance.build.modalTitle"),"confirm-loading":t.building,width:480,"ok-text":e.$t("compliance.build.ok"),"cancel-text":e.$t("compliance.build.cancel"),onOk:t.buildBaseline},{default:o(()=>[a(P,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(F,{label:e.$t("compliance.build.entityLabel")},{default:o(()=>[a(W,{value:t.buildForm.entity,"onUpdate:value":l[4]||(l[4]=n=>t.buildForm.entity=n),placeholder:e.$t("compliance.build.entityPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(F,{label:e.$t("compliance.build.daysLabel")},{default:o(()=>[a(K,{value:t.buildForm.days,"onUpdate:value":l[5]||(l[5]=n=>t.buildForm.days=n),min:1,max:365,placeholder:e.$t("compliance.build.daysPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),g("p",st,r(e.$t("compliance.build.footnote")),1)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── UEBA analyze modal ────────────────────────────────────── "),a(V,{open:t.showAnalyzeModal,"onUpdate:open":l[10]||(l[10]=n=>t.showAnalyzeModal=n),title:e.$t("compliance.analyze.modalTitle"),"confirm-loading":t.analyzing,width:480,"ok-text":e.$t("compliance.analyze.ok"),"cancel-text":e.$t("compliance.analyze.cancel"),onOk:t.runAnalyze},{default:o(()=>[a(P,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:o(()=>[a(F,{label:e.$t("compliance.analyze.entityLabel")},{default:o(()=>[a(W,{value:t.analyzeForm.entity,"onUpdate:value":l[7]||(l[7]=n=>t.analyzeForm.entity=n),placeholder:e.$t("compliance.analyze.entityPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(F,{label:e.$t("compliance.analyze.thresholdLabel")},{default:o(()=>[a(K,{value:t.analyzeForm.threshold,"onUpdate:value":l[8]||(l[8]=n=>t.analyzeForm.threshold=n),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),a(F,{label:e.$t("compliance.analyze.daysLabel")},{default:o(()=>[a(K,{value:t.analyzeForm.days,"onUpdate:value":l[9]||(l[9]=n=>t.analyzeForm.days=n),min:1,max:30,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),g("p",ct,r(e.$t("compliance.analyze.footnote")),1)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const yt=he(Be,[["render",ut],["__scopeId","data-v-d3ffc3f8"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Compliance.vue"]]);export{yt as default};
@@ -1 +0,0 @@
1
- .page-title[data-v-d3ffc3f8]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-d3ffc3f8]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.compliance-tabs[data-v-d3ffc3f8] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-d3ffc3f8]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
@@ -1 +0,0 @@
1
- .cowork-root[data-v-f506317d]{display:flex;height:calc(100vh - 104px);gap:16px}.template-panel[data-v-f506317d]{width:280px;flex-shrink:0;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.template-header[data-v-f506317d]{padding:16px 16px 8px;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary)}.header-icon[data-v-f506317d]{font-size:18px;color:#1677ff}.template-hint[data-v-f506317d]{padding:0 16px 12px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.template-list[data-v-f506317d]{flex:1;overflow-y:auto;padding:8px}.template-card[data-v-f506317d]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px;border:1px solid transparent}.template-card[data-v-f506317d]:hover{background:var(--bg-card-hover)}.template-card.active[data-v-f506317d]{background:#1677ff14;border-color:#1677ff4d}.template-card.free .card-icon[data-v-f506317d]{color:#faad14}.card-icon[data-v-f506317d]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#1677ff;background:#1677ff14;border-radius:8px;flex-shrink:0;margin-top:2px}.card-name[data-v-f506317d]{font-size:13px;font-weight:500;color:var(--text-primary)}.card-desc[data-v-f506317d]{font-size:11px;color:var(--text-muted);margin-top:2px;line-height:1.4}.file-zone[data-v-f506317d]{padding:12px;border-top:1px solid var(--border-color);text-align:center;transition:background .2s}.file-zone.dragging[data-v-f506317d]{background:#1677ff14}.drop-icon[data-v-f506317d]{font-size:20px;color:var(--text-muted)}.drop-text[data-v-f506317d]{font-size:11px;color:var(--text-muted);margin:4px 0 8px}.file-list[data-v-f506317d]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;justify-content:center}.file-tag[data-v-f506317d]{max-width:140px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.path-input[data-v-f506317d]{font-size:11px}.exec-panel[data-v-f506317d]{flex:1;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.empty-state[data-v-f506317d],.ready-state[data-v-f506317d]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}.empty-icon[data-v-f506317d]{font-size:48px;color:#1677ff40;margin-bottom:16px}.empty-title[data-v-f506317d]{font-size:16px;color:var(--text-primary);margin-bottom:6px}.empty-sub[data-v-f506317d]{font-size:13px;color:var(--text-muted);margin-bottom:24px}.ready-header[data-v-f506317d]{display:flex;align-items:center;gap:10px;margin-bottom:20px}.ready-icon[data-v-f506317d]{font-size:28px;color:#1677ff}.ready-name[data-v-f506317d]{font-size:18px;font-weight:600;color:var(--text-primary)}.parallel-toggle[data-v-f506317d]{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;background:var(--bg-card-hover);border-radius:8px;border:1px solid var(--border-color)}.parallel-label[data-v-f506317d]{font-size:13px;color:var(--text-primary)}.agent-count[data-v-f506317d]{width:60px}.parallel-hint[data-v-f506317d]{font-size:12px;color:var(--text-muted)}.ready-examples[data-v-f506317d]{text-align:center}.example-label[data-v-f506317d]{font-size:13px;color:var(--text-muted);margin-bottom:12px}.example-grid[data-v-f506317d]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:500px}.example-chip[data-v-f506317d]{padding:6px 14px;border-radius:16px;font-size:12px;color:var(--text-primary);background:var(--bg-card-hover);border:1px solid var(--border-color);cursor:pointer;transition:all .15s}.example-chip[data-v-f506317d]:hover{border-color:#1677ff;background:#1677ff14;color:#1677ff}.messages-area[data-v-f506317d]{flex:1;overflow-y:auto;padding:20px}.message-row[data-v-f506317d]{margin-bottom:16px}.user-msg[data-v-f506317d]{display:flex;justify-content:flex-end}.assistant-msg[data-v-f506317d]{display:flex;gap:10px;align-items:flex-start}.avatar[data-v-f506317d]{width:32px;height:32px;border-radius:50%;background:#1677ff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-primary);flex-shrink:0}.bubble[data-v-f506317d]{padding:10px 14px;border-radius:12px;max-width:80%;line-height:1.6;font-size:14px}.bubble.user[data-v-f506317d]{background:#1677ff;color:var(--text-primary);border-bottom-right-radius:4px}.bubble.assistant[data-v-f506317d]{background:var(--bg-card-hover);color:var(--text-primary);border-bottom-left-radius:4px}.bubble.streaming[data-v-f506317d]:after{content:"○";animation:blink-f506317d .7s step-start infinite;color:#1677ff}@keyframes blink-f506317d{50%{opacity:0}}.tool-msg[data-v-f506317d]{margin:8px 0}.tool-collapse[data-v-f506317d]{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card)}.tool-input[data-v-f506317d]{margin:0;font-size:11px;color:#aaa;white-space:pre-wrap}.tool-result-box[data-v-f506317d]{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.tool-result[data-v-f506317d]{margin:0;font-size:11px;color:#52c41a;white-space:pre-wrap}.question-card[data-v-f506317d]{background:var(--bg-card-hover);border:1px solid #1677ff40;border-radius:10px;padding:14px 16px;margin-top:8px}.question-text[data-v-f506317d]{color:#aaa;font-size:13px}.question-choices[data-v-f506317d]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.debate-panel[data-v-f506317d]{border-top:1px solid var(--border-color);padding:12px 16px;background:var(--bg-card-hover)}.debate-verdict[data-v-f506317d]{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:13px}.consensus[data-v-f506317d]{color:var(--text-muted);font-size:12px}.review-collapse[data-v-f506317d]{border-bottom:1px solid var(--border-color)}.review-body[data-v-f506317d]{font-size:12px;line-height:1.6;color:var(--text-primary);padding:4px 0}.task-stats[data-v-f506317d]{display:flex;gap:6px;padding:6px 16px;border-top:1px solid var(--border-color);justify-content:flex-end}.input-area[data-v-f506317d]{padding:12px 16px 16px;border-top:1px solid var(--border-color)}.input-context[data-v-f506317d]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.context-tag[data-v-f506317d]{font-size:11px}.context-tag.file[data-v-f506317d]{background:var(--bg-card-hover)}.input-row[data-v-f506317d]{display:flex;gap:8px;align-items:flex-end}.msg-input[data-v-f506317d]{flex:1;background:var(--bg-card-hover);border-color:var(--border-color);color:var(--text-primary);resize:none}.send-btn[data-v-f506317d]{height:40px}[data-v-f506317d] .bubble.assistant pre{background:var(--bg-base);border-radius:6px;padding:12px;overflow-x:auto;font-size:12px}[data-v-f506317d] .bubble.assistant code:not(pre code){background:var(--bg-card-hover);padding:1px 5px;border-radius:3px;font-size:12px;color:#f0a500}[data-v-f506317d] .bubble.assistant p{margin:0 0 8px}[data-v-f506317d] .bubble.assistant p:last-child{margin:0}.history-section[data-v-f506317d]{margin-top:12px;border-top:1px solid var(--border-color);padding-top:8px}.history-header[data-v-f506317d]{display:flex;align-items:center;gap:6px;font-size:12px;color:#888;cursor:pointer;padding:4px 0}.history-header[data-v-f506317d]:hover{color:#1677ff}.history-list[data-v-f506317d]{max-height:200px;overflow-y:auto}.history-item[data-v-f506317d]{padding:6px 8px;border-radius:6px;margin-bottom:4px;background:var(--bg-card-hover);cursor:default}.history-item.failed[data-v-f506317d]{border-left:2px solid #ff4d4f}.history-item.completed[data-v-f506317d]{border-left:2px solid #52c41a}.history-summary[data-v-f506317d]{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta[data-v-f506317d]{display:flex;justify-content:space-between;font-size:10px;color:#888;margin-top:2px}
@@ -1,6 +0,0 @@
1
- import{E as ge,w as G,b as H,r as u,I as b,J as l,V as o,U as n,c as p,F as w,Z as C,_ as L,a2 as J,R as i,Q as y,S as O,a0 as K,K as g,a1 as fe,n as W,o as Z,P as a}from"./vendor-Bn1JzzAn.js";import{u as j,_ as _e}from"./index-Qx8cTReg.js";import{u as F}from"./chat-C_kELmV6.js";import{r as ye}from"./markdown-Bq2x0XsR.js";import{_ as Y,z as $,a7 as ee,ao as te,h as se,X as ne,ap as ae,k as oe,J as le,aq as re,a5 as ie,ar as he,af as ke,a0 as we,am as Oe,ab as Se}from"./icons-DG5UD-6K.js";import"./markdown-DUKxbhE4.js";const be=[{id:"doc-convert",name:"文档格式转换",icon:"FileTextOutlined",category:"document",description:"Word、Markdown、HTML、PDF 之间的格式互转",examples:["把 report.docx 转成 PDF","合并多个 Markdown 为一个文档"],acceptsFiles:!0},{id:"media-process",name:"音视频处理",icon:"PlayCircleOutlined",category:"media",description:"视频压缩、音频提取、格式转换、剪辑",examples:["提取 MP4 的音频","压缩视频到 50MB 以内"],acceptsFiles:!0},{id:"data-analysis",name:"数据分析",icon:"BarChartOutlined",category:"data",description:"CSV/Excel 分析、统计、可视化图表",examples:["分析 sales.csv 的月度趋势"],acceptsFiles:!0},{id:"web-research",name:"信息检索与调研",icon:"SearchOutlined",category:"research",description:"网页抓取、API 调用、多源信息汇总",examples:["调研 AI Agent 框架对比"],acceptsFiles:!1},{id:"image-process",name:"图片处理",icon:"PictureOutlined",category:"media",description:"批量压缩、格式转换、加水印、OCR",examples:["批量压缩到 500KB"],acceptsFiles:!0},{id:"code-helper",name:"代码辅助",icon:"CodeOutlined",category:"development",description:"生成脚本、调试代码、自动化任务",examples:["写一个批量重命名脚本"],acceptsFiles:!0},{id:"system-admin",name:"系统运维",icon:"DesktopOutlined",category:"system",description:"磁盘分析、进程管理、日志分析",examples:["查看磁盘使用情况"],acceptsFiles:!1},{id:"file-organize",name:"文件整理",icon:"FolderOpenOutlined",category:"file",description:"批量重命名、分类整理、查找重复",examples:["按文件类型分类整理"],acceptsFiles:!1},{id:"network-tools",name:"网络工具",icon:"GlobalOutlined",category:"network",description:"API 调试、网页抓取、网络诊断",examples:["测试 API 接口"],acceptsFiles:!1},{id:"learning-assist",name:"学习辅助",icon:"ReadOutlined",category:"learning",description:"文档翻译、内容总结、论文分析",examples:["翻译 PDF 摘要"],acceptsFiles:!0}],ce=ge("cowork",()=>{const z=u(be),s=u(null),d=u([]),e=u(!1),T=u([]),h=u([]),f=u(null),v=u(null),S=u(null),A=u([]),P=u(!1),R=u(3),x=u(!1),M=u([]),D=F();G(()=>D.isLoading,r=>{!r&&v.value&&(e.value=!1)});function t(r){s.value=r,_()}function _(){T.value=[],h.value=[],f.value=null,e.value=!1,v.value=null,S.value=null}function U(r){d.value.includes(r)||d.value.push(r)}function q(r){d.value=d.value.filter(c=>c!==r)}async function V(){const r=j();try{await r.waitConnected(5e3);const c=await r.sendRaw({type:"cowork-templates"},1e4);c?.templates?.length&&(z.value=c.templates)}catch{}}async function Q(){const r=j();try{await r.waitConnected(5e3);const c=await r.sendRaw({type:"cowork-history",limit:50},1e4);c?.entries&&(A.value=c.entries)}catch{}}async function m(r){S.value={mode:"session",message:r},e.value=!0;const c=s.value;let k="";c&&(k=`## 当前任务类型: ${c.name}
2
- ${c.description||""}`);let N=r;d.value.length&&(N+=`
3
-
4
- [用户提供的文件: ${d.value.join(", ")}]`),h.value.push({role:"user",content:r,timestamp:Date.now()});const E={systemPromptExtension:k};c?.shellPolicyOverrides&&(E.shellPolicyOverrides=c.shellPolicyOverrides);const X=await D.createSession("agent",E);v.value=X,await D.sendMessage(X,N)}async function I(r){S.value={mode:"direct",message:r};const c=j();e.value=!0,h.value.push({role:"user",content:r,timestamp:Date.now()});try{await c.waitConnected(8e3);const k={type:"cowork-task",templateId:s.value?.id||null,userMessage:r,files:d.value};P.value&&(k.parallel=!0,k.agents=R.value);const N=s.value;(x.value||N?.mode==="debate")&&(k.mode="debate",M.value.length&&(k.perspectives=M.value));const E=await c.sendRaw(k,3e5);h.value.push({role:"assistant",content:E.summary||"(No output)",timestamp:Date.now(),toolsUsed:E.toolsUsed||[],iterationCount:E.iterationCount||0}),f.value=E}catch(k){h.value.push({role:"assistant",content:`Error: ${k.message}`,timestamp:Date.now()})}finally{e.value=!1}}const B=H(()=>v.value?F().getMessages(v.value):[]),de=H(()=>{if(!v.value)return null;const c=F().streaming[v.value];return c?.active?c.content:null}),ue=H(()=>v.value&&F().pendingQuestion[v.value]||null);function ve(r){if(!v.value)return;F().answerQuestion(v.value,r)}async function me(){if(!S.value)return;const{mode:r,message:c}=S.value;r==="direct"?await I(c):await m(c)}async function pe(r){if(!v.value)return;const c=F();h.value.push({role:"user",content:r,timestamp:Date.now()});let k=r;d.value.length&&(k+=`
5
-
6
- [用户提供的文件: ${d.value.join(", ")}]`),await c.sendMessage(v.value,k)}return{selectedTemplate:s,files:d,isRunning:e,steps:T,messages:h,result:f,agentSessionId:v,currentAgentMessages:B,currentStreaming:de,currentQuestion:ue,selectTemplate:t,reset:_,addFile:U,removeFile:q,execute:m,executeDirectWs:I,sendFollowUp:pe,answerQuestion:ve,loadTemplates:V,templates:z,lastRequest:S,retry:me,history:A,loadHistory:Q,parallelMode:P,parallelAgents:R,debateMode:x,debatePerspectives:M}}),Ce={__name:"Cowork",setup(z,{expose:s}){s();const d=ce(),e=F(),T=u(""),h=u(null),f=u(!1),v=u(""),S=u(!1),A=u(!1),P={FileTextOutlined:ie,PlayCircleOutlined:re,BarChartOutlined:le,SearchOutlined:oe,PictureOutlined:ae,CodeOutlined:ne,DesktopOutlined:se,FolderOpenOutlined:te,GlobalOutlined:ee,ReadOutlined:$,SafetyCertificateOutlined:Y},R=["把 report.docx 转成 PDF","压缩视频到 50MB","分析 CSV 生成图表","查询今天的汇率","批量压缩图片","写一个自动化脚本"],x=H(()=>e.isLoading?"等待响应中...":d.selectedTemplate?d.selectedTemplate.examples?.[0]||"描述你的需求...":"描述你想完成的任务,Agent 会帮你搞定"),M=H(()=>d.currentAgentMessages);function D(m){return m==="APPROVE"?"green":m==="REJECT"?"red":m==="ERROR"?"default":"orange"}function t(m){return m.split(/[\\/]/).pop()||m}function _(m){f.value=!1;const I=m.dataTransfer?.files;if(I)for(const B of I)d.addFile(B.path||B.name)}function U(){const m=v.value.trim();m&&(d.addFile(m),v.value="")}async function q(){const m=T.value.trim();!m||e.isLoading||(T.value="",d.agentSessionId?await d.sendFollowUp(m):await d.execute(m))}function V(m){T.value=m,W(()=>q())}G([M,()=>d.currentStreaming],()=>{W(()=>{h.value&&(h.value.scrollTop=h.value.scrollHeight)})},{deep:!0}),Z(()=>{e.loadSessions(),d.loadTemplates(),d.loadHistory()});const Q={store:d,chatStore:e,inputText:T,messagesEl:h,isDragging:f,manualFilePath:v,hasInteracted:S,showHistory:A,iconMap:P,quickExamples:R,inputPlaceholder:x,agentMessages:M,verdictColor:D,basename:t,onDrop:_,addManualFile:U,send:q,quickStart:V,ref:u,computed:H,watch:G,nextTick:W,onMounted:Z,get RocketOutlined(){return Se},get SendOutlined(){return Oe},get ThunderboltOutlined(){return we},get FolderOpenOutlined(){return te},get FileTextOutlined(){return ie},get PlayCircleOutlined(){return re},get BarChartOutlined(){return le},get SearchOutlined(){return oe},get PictureOutlined(){return ae},get CodeOutlined(){return ne},get DesktopOutlined(){return se},get GlobalOutlined(){return ee},get ReadOutlined(){return $},get ToolOutlined(){return ke},get HistoryOutlined(){return he},get SafetyCertificateOutlined(){return Y},get useCoworkStore(){return ce},get useChatStore(){return F},get renderMarkdown(){return ye}};return Object.defineProperty(Q,"__isScriptSetup",{enumerable:!1,value:!0}),Q}},Te={class:"cowork-root"},xe={class:"template-panel"},Me={class:"template-header"},Fe={class:"template-list"},Pe=["onClick"],Re={class:"card-icon"},De={class:"card-body"},Ee={class:"card-name"},Ae={class:"card-desc"},He={class:"card-icon"},Ie={class:"drop-text"},Le={key:0,class:"file-list"},ze={key:1,class:"history-section"},Ue={key:0,class:"history-list"},qe={class:"history-summary"},Qe={class:"history-meta"},Be={class:"exec-panel"},Ne={key:0,class:"empty-state"},Ve={class:"empty-icon"},Je={class:"example-grid"},Ke=["onClick"],We={class:"ready-state"},je={class:"ready-header"},Ge={class:"ready-name"},Xe={key:0,class:"parallel-toggle"},Ze={key:1,class:"parallel-hint"},Ye={class:"ready-examples"},$e=["onClick"],et={class:"messages-area",ref:"messagesEl"},tt={key:0,class:"tool-msg"},st={class:"tool-input"},nt={key:0,class:"tool-result-box"},at={class:"tool-result"},ot={class:"user-msg"},lt={class:"bubble user"},rt={class:"assistant-msg"},it=["innerHTML"],ct={key:0,class:"assistant-msg"},dt=["innerHTML"],ut={key:1,class:"question-card"},vt={class:"question-text"},mt={key:0,class:"question-choices"},pt={key:3,class:"debate-panel"},gt={class:"debate-verdict"},ft={class:"consensus"},_t=["innerHTML"],yt={key:4,class:"task-stats"},ht={class:"input-area"},kt={key:0,class:"input-context"},wt={class:"input-row"};function Ot(z,s,d,e,T,h){const f=b("a-tag"),v=b("a-input"),S=b("a-switch"),A=b("a-input-number"),P=b("a-collapse-panel"),R=b("a-collapse"),x=b("a-button"),M=b("a-input-search"),D=b("a-textarea");return a(),l("div",Te,[o(" Left Panel: Templates "),n("div",xe,[n("div",Me,[p(e.RocketOutlined,{class:"header-icon"}),s[9]||(s[9]=n("span",{class:"header-title"},"日常协作",-1))]),s[11]||(s[11]=n("div",{class:"template-hint"},"选择任务类型,或直接输入需求",-1)),n("div",Fe,[(a(!0),l(w,null,C(e.store.templates,t=>(a(),l("div",{key:t.id,class:L(["template-card",{active:e.store.selectedTemplate?.id===t.id}]),onClick:_=>e.store.selectTemplate(t)},[n("div",Re,[(a(),O(K(e.iconMap[t.icon]||e.RocketOutlined)))]),n("div",De,[n("div",Ee,i(t.name),1),n("div",Ae,i(t.description),1)])],10,Pe))),128)),o(" Free mode card "),n("div",{class:L(["template-card free",{active:e.store.selectedTemplate===null&&e.hasInteracted}]),onClick:s[0]||(s[0]=t=>{e.store.selectTemplate(null),e.hasInteracted=!0})},[n("div",He,[p(e.ThunderboltOutlined)]),s[10]||(s[10]=n("div",{class:"card-body"},[n("div",{class:"card-name"},"自由提问"),n("div",{class:"card-desc"},"任意任务,Agent 自主完成")],-1))],2)]),o(" File drop zone "),e.store.selectedTemplate?.acceptsFiles!==!1?(a(),l("div",{key:0,class:L(["file-zone",{dragging:e.isDragging}]),onDragover:s[2]||(s[2]=J(t=>e.isDragging=!0,["prevent"])),onDragleave:s[3]||(s[3]=t=>e.isDragging=!1),onDrop:J(e.onDrop,["prevent"])},[p(e.FolderOpenOutlined,{class:"drop-icon"}),n("div",Ie,i(e.isDragging?"松开以添加文件":"拖拽文件到此处"),1),e.store.files.length?(a(),l("div",Le,[(a(!0),l(w,null,C(e.store.files,t=>(a(),O(f,{key:t,closable:"",onClose:_=>e.store.removeFile(t),class:"file-tag"},{default:g(()=>[y(i(e.basename(t)),1)]),_:2},1032,["onClose"]))),128))])):o("v-if",!0),p(v,{value:e.manualFilePath,"onUpdate:value":s[1]||(s[1]=t=>e.manualFilePath=t),placeholder:"或输入文件路径,按 Enter 添加",size:"small",class:"path-input",onPressEnter:e.addManualFile},null,8,["value"])],34)):o("v-if",!0),o(" History "),e.store.history.length?(a(),l("div",ze,[n("div",{class:"history-header",onClick:s[4]||(s[4]=t=>e.showHistory=!e.showHistory)},[p(e.HistoryOutlined),y(" 历史记录 ("+i(e.store.history.length)+") ",1)]),e.showHistory?(a(),l("div",Ue,[(a(!0),l(w,null,C(e.store.history.slice().reverse().slice(0,20),(t,_)=>(a(),l("div",{key:_,class:L(["history-item",t.status])},[n("div",qe,i(t.userMessage),1),n("div",Qe,[n("span",null,i(t.templateName||"自由模式"),1),n("span",null,i(t.status),1)])],2))),128))])):o("v-if",!0)])):o("v-if",!0)]),o(" Right Panel: Execution "),n("div",Be,[o(" Empty state "),!e.store.agentSessionId&&!e.store.selectedTemplate?(a(),l("div",Ne,[n("div",Ve,[p(e.RocketOutlined)]),s[12]||(s[12]=n("div",{class:"empty-title"},"选择一个任务模板开始",-1)),s[13]||(s[13]=n("div",{class:"empty-sub"},"或选择「自由提问」处理任何问题",-1)),n("div",Je,[(a(),l(w,null,C(e.quickExamples,t=>n("div",{key:t,class:"example-chip",onClick:_=>e.quickStart(t)},i(t),9,Ke)),64))])])):e.store.selectedTemplate&&!e.store.agentSessionId?(a(),l(w,{key:1},[o(" Template selected but not started "),n("div",We,[n("div",je,[(a(),O(K(e.iconMap[e.store.selectedTemplate.icon]||e.RocketOutlined),{class:"ready-icon"})),n("span",Ge,i(e.store.selectedTemplate.name),1)]),o(" Parallel mode toggle "),e.store.selectedTemplate.parallelStrategy&&e.store.selectedTemplate.parallelStrategy!=="none"?(a(),l("div",Xe,[p(S,{checked:e.store.parallelMode,"onUpdate:checked":s[5]||(s[5]=t=>e.store.parallelMode=t),size:"small"},null,8,["checked"]),s[14]||(s[14]=n("span",{class:"parallel-label"},"多 Agent 并行",-1)),e.store.parallelMode?(a(),O(A,{key:0,value:e.store.parallelAgents,"onUpdate:value":s[6]||(s[6]=t=>e.store.parallelAgents=t),min:2,max:10,size:"small",class:"agent-count"},null,8,["value"])):o("v-if",!0),e.store.parallelMode?(a(),l("span",Ze,"个 Agent")):o("v-if",!0)])):o("v-if",!0),n("div",Ye,[s[15]||(s[15]=n("div",{class:"example-label"},"试试这些:",-1)),(a(!0),l(w,null,C(e.store.selectedTemplate.examples,t=>(a(),l("div",{key:t,class:"example-chip",onClick:_=>e.quickStart(t)},i(t),9,$e))),128))])])],2112)):(a(),l(w,{key:2},[o(" Messages area (active session) "),n("div",et,[(a(!0),l(w,null,C(e.agentMessages,(t,_)=>(a(),l("div",{key:_,class:L(["message-row",t.role])},[o(" Tool call "),t.role==="tool"?(a(),l("div",tt,[p(R,{ghost:"",size:"small"},{default:g(()=>[p(P,{class:"tool-collapse"},{header:g(()=>[p(e.ToolOutlined),y(" "+i(t.tool)+" "+i(t.status==="running"?"(执行中...)":"✓"),1)]),default:g(()=>[n("pre",st,i(JSON.stringify(t.input,null,2)),1),t.result?(a(),l("div",nt,[n("pre",at,i(typeof t.result=="string"?t.result:JSON.stringify(t.result,null,2)),1)])):o("v-if",!0)]),_:2},1024)]),_:2},1024)])):t.role==="user"?(a(),l(w,{key:1},[o(" User "),n("div",ot,[n("div",lt,i(t.content),1)])],2112)):(a(),l(w,{key:2},[o(" Assistant "),n("div",rt,[s[17]||(s[17]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant",innerHTML:e.renderMarkdown(t.content)},null,8,it),t.content?.startsWith("Error:")&&!e.store.isRunning&&e.store.lastRequest?(a(),O(x,{key:0,size:"small",type:"link",onClick:s[7]||(s[7]=U=>e.store.retry())},{default:g(()=>[...s[16]||(s[16]=[y(" 重试 ",-1)])]),_:1})):o("v-if",!0)])],2112))],2))),128)),o(" Streaming "),e.store.currentStreaming?(a(),l("div",ct,[s[18]||(s[18]=n("div",{class:"avatar"},"AI",-1)),n("div",{class:"bubble assistant streaming",innerHTML:e.renderMarkdown(e.store.currentStreaming)},null,8,dt)])):o("v-if",!0),o(" Question "),e.store.currentQuestion?(a(),l("div",ut,[n("div",vt,i(e.store.currentQuestion.question),1),e.store.currentQuestion.choices?.length?(a(),l("div",mt,[(a(!0),l(w,null,C(e.store.currentQuestion.choices,t=>(a(),O(x,{key:t,size:"small",onClick:_=>e.store.answerQuestion(t)},{default:g(()=>[y(i(t),1)]),_:2},1032,["onClick"]))),128))])):(a(),O(M,{key:1,placeholder:"输入回答...","enter-button":"发送",style:{"margin-top":"10px"},onSearch:e.store.answerQuestion},null,8,["onSearch"]))])):o("v-if",!0)],512)],2112)),o(" Debate result panel "),e.store.result?.mode==="debate"&&!e.store.isRunning?(a(),l("div",pt,[n("div",gt,[p(f,{color:e.verdictColor(e.store.result.verdict)},{default:g(()=>[y(i(e.store.result.verdict),1)]),_:1},8,["color"]),n("span",ft,"共识 "+i(e.store.result.consensusScore||0)+"/100",1)]),p(R,{ghost:"",size:"small"},{default:g(()=>[(a(!0),l(w,null,C(e.store.result.reviews||[],(t,_)=>(a(),O(P,{key:_,class:"review-collapse"},{header:g(()=>[p(f,{color:e.verdictColor(t.verdict)},{default:g(()=>[y(i(t.verdict),1)]),_:2},1032,["color"]),y(" "+i(t.role),1)]),default:g(()=>[n("div",{class:"review-body",innerHTML:e.renderMarkdown(t.review)},null,8,_t)]),_:2},1024))),128))]),_:1})])):o("v-if",!0),o(" Task stats "),e.store.result&&!e.store.isRunning?(a(),l("div",yt,[e.store.result.mode==="debate"?(a(),O(f,{key:0,color:"magenta"},{default:g(()=>[...s[19]||(s[19]=[y("debate",-1)])]),_:1})):o("v-if",!0),e.store.result.parallel?(a(),O(f,{key:1,color:"purple"},{default:g(()=>[y(i(e.store.result.subtaskCount||0)+" subtasks",1)]),_:1})):o("v-if",!0),p(f,{color:"geekblue"},{default:g(()=>[y(i(e.store.result.iterationCount||0)+" iterations",1)]),_:1}),p(f,{color:"cyan"},{default:g(()=>[y("~"+i((e.store.result.tokenCount||0).toLocaleString())+" tokens",1)]),_:1}),e.store.result.toolsUsed?.length?(a(),O(f,{key:2,color:"green"},{default:g(()=>[y(i(e.store.result.toolsUsed.length)+" tools",1)]),_:1})):o("v-if",!0)])):o("v-if",!0),o(" Input area "),n("div",ht,[e.store.selectedTemplate?(a(),l("div",kt,[p(f,{color:"blue",class:"context-tag"},{default:g(()=>[(a(),O(K(e.iconMap[e.store.selectedTemplate.icon]||e.RocketOutlined))),y(" "+i(e.store.selectedTemplate.name),1)]),_:1}),(a(!0),l(w,null,C(e.store.files,t=>(a(),O(f,{key:t,class:"context-tag file"},{default:g(()=>[y(i(e.basename(t)),1)]),_:2},1024))),128))])):o("v-if",!0),n("div",wt,[p(D,{value:e.inputText,"onUpdate:value":s[8]||(s[8]=t=>e.inputText=t),placeholder:e.inputPlaceholder,"auto-size":{minRows:1,maxRows:6},disabled:e.chatStore.isLoading,class:"msg-input",onKeydown:fe(J(e.send,["exact","prevent"]),["enter"])},null,8,["value","placeholder","disabled","onKeydown"]),p(x,{type:"primary",loading:e.chatStore.isLoading,class:"send-btn",onClick:e.send},{icon:g(()=>[p(e.SendOutlined)]),_:1},8,["loading"])])])])])}const Ft=_e(Ce,[["render",Ot],["__scopeId","data-v-f506317d"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Cowork.vue"]]);export{Ft as default};
@@ -1,2 +0,0 @@
1
- import{I as r,J as h,U as p,R as c,c as n,K as t,V as k,o as N,b as O,r as x,P as m,Q as v,F as W,Z as D,S as U}from"./vendor-Bn1JzzAn.js";import{_ as J,b as I,u as M,d as _}from"./index-Qx8cTReg.js";import{a1 as K,R as Q,at as Z}from"./icons-DG5UD-6K.js";const G={__name:"Cron",setup(j,{expose:s}){s();const{t:o}=I(),e=M(),P=x(!1),S=x(!1),d=x(!1),i=x([]),b=O(()=>i.value.filter(a=>a.enabled).length),f=O(()=>i.value.filter(a=>!a.enabled).length),g=[{key:"every5m",cron:"*/5 * * * *"},{key:"every15m",cron:"*/15 * * * *"},{key:"everyHour",cron:"0 * * * *"},{key:"every9am",cron:"0 9 * * *"},{key:"every6pm",cron:"0 18 * * *"},{key:"weeklyMon9",cron:"0 9 * * 1"},{key:"monthly1",cron:"0 9 1 * *"}],A=O(()=>g.map(a=>({...a,label:o(`cron.presets.${a.key}`)}))),u=x({name:"",cron:"",payload:"",description:"",enabled:!0}),F=O(()=>[{title:o("cron.columns.name"),key:"name",width:"25%"},{title:o("cron.columns.cron"),key:"cron",width:"20%"},{title:o("cron.columns.status"),key:"status",width:"15%"},{title:o("cron.columns.actions"),key:"actions",width:"20%"}]);async function w(){P.value=!0;try{const{output:a}=await e.execute('skill run cron-scheduler "list all scheduled tasks"',2e4);i.value=L(a)}catch{i.value=[]}finally{P.value=!1}}function L(a){const l=[],C=a.split(`
2
- `);for(const H of C){const z=H.trim();if(!z||z.startsWith("─"))continue;const E=z.match(/^([^\t|]+?)[\t|]+([*\d/,\-?LW#\s]+)[\t|]+/);E&&l.push({key:l.length,name:E[1].trim(),cron:E[2].trim(),enabled:!z.toLowerCase().includes("pause")&&!z.toLowerCase().includes("disabled"),description:"",running:!1})}return l}function T(a){u.value.cron=a.cron,d.value=!0}async function y(){if(!u.value.name||!u.value.cron){_.warning(o("cron.messages.nameAndCronRequired"));return}S.value=!0;try{const a=`skill run cron-scheduler "add task: ${u.value.name}, schedule: ${u.value.cron}, payload: ${u.value.payload||"ping"}"`;await e.execute(a,2e4),_.success(o("cron.messages.createOk")),d.value=!1,u.value={name:"",cron:"",payload:"",description:"",enabled:!0},await w()}catch(a){_.error(o("cron.messages.createFailed",{err:a.message}))}finally{S.value=!1}}async function V(a){a.running=!0;try{await e.execute(`skill run cron-scheduler "run task: ${a.name}"`,3e4),_.success(o("cron.messages.runOk",{name:a.name}))}catch(l){_.error(o("cron.messages.runFailed",{err:l.message}))}finally{a.running=!1}}async function q(a){const l=a.enabled?"pause":"enable";try{await e.execute(`skill run cron-scheduler "${l} task: ${a.name}"`,1e4),a.enabled=!a.enabled,_.success(a.enabled?o("cron.messages.toggleEnabled"):o("cron.messages.togglePaused"))}catch{_.error(o("cron.messages.toggleFailed"))}}async function B(a){try{await e.execute(`skill run cron-scheduler "delete task: ${a.name}"`,1e4),i.value=i.value.filter(l=>l.key!==a.key),_.success(o("cron.messages.deleteOk"))}catch{_.error(o("cron.messages.deleteFailed"))}}N(w);const R={t:o,ws:e,loading:P,adding:S,showAdd:d,tasks:i,activeTasks:b,pausedTasks:f,PRESETS:g,presets:A,newTask:u,columns:F,loadTasks:w,parseTasks:L,applyPreset:T,addTask:y,runTask:V,toggleTask:q,deleteTask:B,ref:x,computed:O,onMounted:N,get useI18n(){return I},get PlusOutlined(){return Z},get ReloadOutlined(){return Q},get ClockCircleOutlined(){return K},get message(){return _},get useWsStore(){return M}};return Object.defineProperty(R,"__isScriptSetup",{enumerable:!1,value:!0}),R}},X={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Y={class:"page-title"},$={class:"page-sub"},ee={key:0,style:{"text-align":"center",padding:"40px"}},ae={style:{color:"#e0e0e0","font-weight":"500"}},ne={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},te={key:1,style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px",color:"#91caff","font-size":"11px"}},le={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},oe={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}};function se(j,s,o,e,P,S){const d=r("a-button"),i=r("a-space"),b=r("a-statistic"),f=r("a-card"),g=r("a-col"),A=r("a-row"),u=r("a-spin"),F=r("a-badge"),w=r("a-popconfirm"),L=r("a-table"),T=r("a-input"),y=r("a-form-item"),V=r("a-textarea"),q=r("a-switch"),B=r("a-form"),R=r("a-modal");return m(),h("div",null,[p("div",X,[p("div",null,[p("h2",Y,c(e.t("cron.title")),1),p("p",$,c(e.t("cron.subtitle")),1)]),n(i,null,{default:t(()=>[n(d,{onClick:s[0]||(s[0]=a=>e.showAdd=!0),type:"primary"},{icon:t(()=>[n(e.PlusOutlined)]),default:t(()=>[v(" "+c(e.t("cron.newTask")),1)]),_:1}),n(d,{ghost:"",loading:e.loading,onClick:e.loadTasks},{icon:t(()=>[n(e.ReloadOutlined)]),default:t(()=>[v(" "+c(e.t("cron.refresh")),1)]),_:1},8,["loading"])]),_:1})]),k(" Stats Row "),n(A,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.all"),value:e.tasks.length,"value-style":"color: #ccc; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.active"),value:e.activeTasks,"value-style":"color: #52c41a; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.paused"),value:e.pausedTasks,"value-style":"color: #faad14; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.presets"),value:e.presets.length,"value-style":"color: #1677ff; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),k(" Presets "),n(f,{title:e.t("cron.presetsCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},size:"small"},{default:t(()=>[n(i,{wrap:""},{default:t(()=>[(m(!0),h(W,null,D(e.presets,a=>(m(),U(d,{key:a.key,size:"small",style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)","font-size":"12px"},onClick:l=>e.applyPreset(a)},{default:t(()=>[v(c(a.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["title"]),k(" Tasks Table "),n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[e.loading?(m(),h("div",ee,[n(u,{size:"large"})])):(m(),U(L,{key:1,columns:e.columns,"data-source":e.tasks,pagination:{pageSize:15},size:"small"},{bodyCell:t(({column:a,record:l})=>[a.key==="name"?(m(),h(W,{key:0},[p("div",ae,c(l.name),1),l.description?(m(),h("div",ne,c(l.description),1)):k("v-if",!0)],64)):k("v-if",!0),a.key==="cron"?(m(),h("code",te,c(l.cron),1)):k("v-if",!0),a.key==="status"?(m(),U(F,{key:2,status:l.enabled?"success":"warning",text:l.enabled?e.t("cron.running"):e.t("cron.paused")},null,8,["status","text"])):k("v-if",!0),a.key==="actions"?(m(),U(i,{key:3,size:"small"},{default:t(()=>[n(d,{size:"small",type:"link",loading:l.running,onClick:C=>e.runTask(l)},{default:t(()=>[v(c(e.t("cron.actions.run")),1)]),_:1},8,["loading","onClick"]),n(d,{size:"small",type:"link",onClick:C=>e.toggleTask(l)},{default:t(()=>[v(c(l.enabled?e.t("cron.actions.pause"):e.t("cron.actions.enable")),1)]),_:2},1032,["onClick"]),n(w,{title:e.t("cron.actions.deleteConfirm"),onConfirm:C=>e.deleteTask(l)},{default:t(()=>[n(d,{size:"small",type:"link",danger:""},{default:t(()=>[v(c(e.t("cron.actions.delete")),1)]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):k("v-if",!0)]),emptyText:t(()=>[p("div",le,[n(e.ClockCircleOutlined,{style:{"font-size":"36px","margin-bottom":"12px",display:"block"}}),v(" "+c(e.t("cron.emptyText")),1)])]),_:1},8,["columns","data-source"]))]),_:1}),k(" Add Task Modal "),n(R,{open:e.showAdd,"onUpdate:open":s[6]||(s[6]=a=>e.showAdd=a),title:e.t("cron.modal.title"),"confirm-loading":e.adding,onOk:e.addTask,width:"520px"},{default:t(()=>[n(B,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[n(y,{label:e.t("cron.modal.nameLabel"),required:""},{default:t(()=>[n(T,{value:e.newTask.name,"onUpdate:value":s[1]||(s[1]=a=>e.newTask.name=a),placeholder:e.t("cron.modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(y,{label:e.t("cron.modal.cronLabel"),required:""},{default:t(()=>[n(T,{value:e.newTask.cron,"onUpdate:value":s[2]||(s[2]=a=>e.newTask.cron=a),placeholder:e.t("cron.modal.cronPlaceholder")},null,8,["value","placeholder"]),p("div",oe,c(e.t("cron.modal.cronHint")),1)]),_:1},8,["label"]),n(y,{label:e.t("cron.modal.payloadLabel"),required:""},{default:t(()=>[n(V,{value:e.newTask.payload,"onUpdate:value":s[3]||(s[3]=a=>e.newTask.payload=a),rows:3,placeholder:e.t("cron.modal.payloadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(y,{label:e.t("cron.modal.descriptionLabel")},{default:t(()=>[n(T,{value:e.newTask.description,"onUpdate:value":s[4]||(s[4]=a=>e.newTask.description=a),placeholder:e.t("cron.modal.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(y,{label:e.t("cron.modal.enabledLabel")},{default:t(()=>[n(q,{checked:e.newTask.enabled,"onUpdate:checked":s[5]||(s[5]=a=>e.newTask.enabled=a)},null,8,["checked"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}const de=J(G,[["render",se],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Cron.vue"]]);export{de as default};
@@ -1 +0,0 @@
1
- import{I as v,J as p,U as y,R as i,c as s,K as n,V as h,S as k,o as te,a as J,b as Q,r as C,P as d,Q as b,F as w,Z as T}from"./vendor-Bn1JzzAn.js";import{t as H,_ as xe,u as oe,b as se,d as _}from"./index-Qx8cTReg.js";import{aV as Fe,aD as Se,aC as Ae,b1 as Oe,aH as Me,b2 as ze,u as Te,at as Re,R as Ue}from"./icons-DG5UD-6K.js";function x(e,o=0){return typeof e=="number"&&Number.isFinite(e)?e:o}function je(e,o=0){if(!e||typeof e!="object")return null;const l=e.id||"";return l?{key:l,id:l,name:String(e.name||l),symbol:String(e.symbol||""),chainId:x(e.chainId??e.chain_id,0),_idx:o}:null}function ne(e){const o=H(e);return Array.isArray(o)?o.map(je).filter(Boolean):[]}function Le(e,o=0){if(!e||typeof e!="object")return null;const l=e.id||"";return l?{key:l,id:l,fromChain:e.fromChain??e.from_chain??"",toChain:e.toChain??e.to_chain??"",asset:String(e.asset||"native"),amount:x(e.amount,0),senderAddress:e.senderAddress??e.sender_address??"",recipientAddress:e.recipientAddress??e.recipient_address??"",lockTxHash:e.lockTxHash??e.lock_tx_hash??"",mintTxHash:e.mintTxHash??e.mint_tx_hash??"",status:String(e.status||"pending").toLowerCase(),feeAmount:x(e.feeAmount??e.fee_amount,0),feeChain:e.feeChain??e.fee_chain??"",errorMessage:e.errorMessage??e.error_message??"",createdAt:e.createdAt??e.created_at??null,completedAt:e.completedAt??e.completed_at??null,_idx:o}:null}function re(e){const o=H(e);return Array.isArray(o)?o.map(Le).filter(Boolean):[]}function Pe(e,o=0){if(!e||typeof e!="object")return null;const l=e.id||"";return l?{key:l,id:l,fromChain:e.fromChain??e.from_chain??"",toChain:e.toChain??e.to_chain??"",fromAsset:e.fromAsset??e.from_asset??"native",toAsset:e.toAsset??e.to_asset??"native",amount:x(e.amount,0),counterpartyAddress:e.counterpartyAddress??e.counterparty_address??"",hashLock:e.hashLock??e.hash_lock??"",expiresAt:e.expiresAt??e.expires_at??null,status:String(e.status||"initiated").toLowerCase(),claimTxHash:e.claimTxHash??e.claim_tx_hash??"",refundTxHash:e.refundTxHash??e.refund_tx_hash??"",createdAt:e.createdAt??e.created_at??null,_idx:o}:null}function le(e){const o=H(e);return Array.isArray(o)?o.map(Pe).filter(Boolean):[]}function Be(e,o=0){if(!e||typeof e!="object")return null;const l=e.id||"";return l?{key:l,id:l,fromChain:e.fromChain??e.from_chain??"",toChain:e.toChain??e.to_chain??"",payload:String(e.payload||""),targetContract:e.targetContract??e.target_contract??"",sourceTxHash:e.sourceTxHash??e.source_tx_hash??"",destinationTxHash:e.destinationTxHash??e.destination_tx_hash??"",status:String(e.status||"pending").toLowerCase(),retries:x(e.retries,0),createdAt:e.createdAt??e.created_at??null,deliveredAt:e.deliveredAt??e.delivered_at??null,_idx:o}:null}function ie(e){const o=H(e);return Array.isArray(o)?o.map(Be).filter(Boolean):[]}const Ie={bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}};function de(e){const o=JSON.parse(JSON.stringify(Ie)),l=H(e);return!l||typeof l!="object"||Array.isArray(l)||(l.bridges&&typeof l.bridges=="object"&&(o.bridges.total=x(l.bridges.total,0),o.bridges.totalVolume=x(l.bridges.totalVolume??l.bridges.total_volume,0),o.bridges.totalFees=x(l.bridges.totalFees??l.bridges.total_fees,0),l.bridges.byStatus&&typeof l.bridges.byStatus=="object"&&(o.bridges.byStatus={...l.bridges.byStatus})),l.swaps&&typeof l.swaps=="object"&&(o.swaps.total=x(l.swaps.total,0),l.swaps.byStatus&&typeof l.swaps.byStatus=="object"&&(o.swaps.byStatus={...l.swaps.byStatus})),l.messages&&typeof l.messages=="object"&&(o.messages.total=x(l.messages.total,0),l.messages.byStatus&&typeof l.messages.byStatus=="object"&&(o.messages.byStatus={...l.messages.byStatus}))),o}function ce(e){const o=H(e);return!o||typeof o!="object"||Array.isArray(o)?null:{fee:x(o.fee,0),breakdown:{sourceFee:x(o?.breakdown?.sourceFee??o?.breakdown?.source_fee,0),destFee:x(o?.breakdown?.destFee??o?.breakdown?.dest_fee,0),bridgeFee:x(o?.breakdown?.bridgeFee??o?.breakdown?.bridge_fee,0)},currency:String(o.currency||"USD")}}function Ne(e){if(e==null||e==="")return"—";const o=typeof e=="number"?new Date(e):new Date(String(e));return isNaN(o.getTime())?String(e):o.toLocaleString("zh-CN",{hour12:!1})}const He={__name:"Crosschain",setup(e,{expose:o}){o();const l=oe(),{t:a}=se(),K=C(!1),W=C(!1),U=C(!1),j=C(!1),q=C(!1),V=C([]),D=C([]),O=C([]),A=C([]),R=C({bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}}),B=C("bridges"),M=C(!1),L=C(!1),P=C(!1),Z=C(!1),f=J({fromChain:"",toChain:"",amount:null,asset:"",sender:"",recipient:""}),u=J({fromChain:"",toChain:"",amount:null,fromAsset:"",toAsset:"",counterparty:"",timeoutMs:null}),c=J({fromChain:"",toChain:"",payload:"",contract:""}),F=J({fromChain:"",toChain:"",amount:null}),S=C(null),I=Q(()=>[{title:a("crosschain.bridgeCols.route"),key:"route"},{title:a("crosschain.bridgeCols.amount"),key:"amount",width:"160px"},{title:a("crosschain.bridgeCols.fee"),key:"fee",width:"100px"},{title:a("crosschain.bridgeCols.status"),key:"status",width:"110px"},{title:a("crosschain.bridgeCols.createdAt"),key:"createdAt",width:"160px"}]),N=Q(()=>[{title:a("crosschain.swapCols.route"),key:"route"},{title:a("crosschain.swapCols.amount"),key:"amount",width:"110px"},{title:a("crosschain.swapCols.hashLock"),key:"hashLock",width:"160px"},{title:a("crosschain.swapCols.status"),key:"status",width:"120px"},{title:a("crosschain.swapCols.expiresAt"),key:"expiresAt",width:"160px"}]),G=Q(()=>[{title:a("crosschain.messageCols.route"),key:"route",width:"220px"},{title:a("crosschain.messageCols.payload"),key:"payload"},{title:a("crosschain.messageCols.retries"),key:"retries",width:"80px"},{title:a("crosschain.messageCols.status"),key:"status",width:"110px"},{title:a("crosschain.messageCols.createdAt"),key:"createdAt",width:"160px"}]),t={ethereum:"blue",polygon:"purple",bsc:"gold",arbitrum:"cyan",solana:"magenta"};function m(r){return t[r]||"default"}function ue(r){const g=V.value.find(z=>z.id===r);return g?g.name:r||"—"}function me(r){const g=`crosschain.statusLabels.${r}`,z=a(g);return z===g?r:z}function fe(r){return{pending:"default",locked:"processing",minted:"cyan",completed:"green",refunded:"orange",failed:"red"}[r]||"default"}function he(r){return{initiated:"default",hash_locked:"processing",claimed:"green",refunded:"orange",expired:"red"}[r]||"default"}function pe(r){return{pending:"default",sent:"processing",delivered:"green",failed:"red"}[r]||"default"}function ge(r,g){return r?r.length>g?r.slice(0,g)+"...":r:""}function ye({key:r}){r==="bridge"?M.value=!0:r==="swap"?L.value=!0:r==="message"&&(P.value=!0)}async function E(){K.value=!0;try{const[r,g,z,ke,we]=await Promise.all([l.execute("crosschain chains --json",8e3).catch(()=>({output:""})),l.execute("crosschain bridges --limit 200 --json",1e4).catch(()=>({output:""})),l.execute("crosschain swaps --limit 200 --json",1e4).catch(()=>({output:""})),l.execute("crosschain messages --limit 200 --json",1e4).catch(()=>({output:""})),l.execute("crosschain stats --json",8e3).catch(()=>({output:""}))]);V.value=ne(r.output),D.value=re(g.output),O.value=le(z.output),A.value=ie(ke.output),R.value=de(we.output)}catch(r){_.error(a("crosschain.msg.loadFailed")+": "+(r?.message||r))}finally{K.value=!1}}function X(r){return!r.fromChain||!r.toChain?(_.warning(a("crosschain.msg.pairEmpty")),!1):r.fromChain===r.toChain?(_.warning(a("crosschain.msg.pairSame")),!1):!0}async function be(){if(X(f)){if(!f.amount||f.amount<=0){_.warning(a("crosschain.msg.amountInvalid"));return}W.value=!0;try{const r=[`crosschain bridge ${f.fromChain} ${f.toChain} ${f.amount}`];f.asset.trim()&&r.push(`--asset "${f.asset.trim().replace(/"/g,'\\"')}"`),f.sender.trim()&&r.push(`--sender "${f.sender.trim().replace(/"/g,'\\"')}"`),f.recipient.trim()&&r.push(`--recipient "${f.recipient.trim().replace(/"/g,'\\"')}"`),r.push("--json");const{output:g}=await l.execute(r.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(g)&&!/"bridgeId"/.test(g)){_.error(a("crosschain.msg.bridgeFailed")+": "+g.slice(0,120));return}_.success(a("crosschain.msg.bridgeSuccess")),M.value=!1,Y(),B.value="bridges",await E()}catch(r){_.error(a("crosschain.msg.bridgeFailed")+": "+(r?.message||r))}finally{W.value=!1}}}async function ve(){if(X(u)){if(!u.amount||u.amount<=0){_.warning(a("crosschain.msg.amountInvalid"));return}U.value=!0;try{const r=[`crosschain swap ${u.fromChain} ${u.toChain} ${u.amount}`];u.fromAsset.trim()&&r.push(`--from-asset "${u.fromAsset.trim().replace(/"/g,'\\"')}"`),u.toAsset.trim()&&r.push(`--to-asset "${u.toAsset.trim().replace(/"/g,'\\"')}"`),u.counterparty.trim()&&r.push(`--counterparty "${u.counterparty.trim().replace(/"/g,'\\"')}"`),u.timeoutMs!=null&&r.push(`--timeout ${u.timeoutMs}`),r.push("--json");const{output:g}=await l.execute(r.join(" "),15e3);if(/error|failed|失败|unsupported/i.test(g)&&!/"swapId"/.test(g)){_.error(a("crosschain.msg.swapFailed")+": "+g.slice(0,120));return}_.success(a("crosschain.msg.swapSuccess")),L.value=!1,$(),B.value="swaps",await E()}catch(r){_.error(a("crosschain.msg.swapFailed")+": "+(r?.message||r))}finally{U.value=!1}}}async function _e(){if(X(c)){j.value=!0;try{const r=[`crosschain send ${c.fromChain} ${c.toChain}`];c.payload.trim()&&r.push(`--payload "${c.payload.trim().replace(/"/g,'\\"')}"`),c.contract.trim()&&r.push(`--contract "${c.contract.trim().replace(/"/g,'\\"')}"`),r.push("--json");const{output:g}=await l.execute(r.join(" "),12e3);if(/error|failed|失败|unsupported/i.test(g)&&!/"messageId"/.test(g)){_.error(a("crosschain.msg.sendFailed")+": "+g.slice(0,120));return}_.success(a("crosschain.msg.sendSuccess")),P.value=!1,ee(),B.value="messages",await E()}catch(r){_.error(a("crosschain.msg.sendFailed")+": "+(r?.message||r))}finally{j.value=!1}}}async function Ce(){if(X(F)){if(!F.amount||F.amount<=0){_.warning(a("crosschain.msg.amountInvalid"));return}q.value=!0,S.value=null;try{const r=`crosschain estimate-fee ${F.fromChain} ${F.toChain} ${F.amount} --json`,{output:g}=await l.execute(r,8e3),z=ce(g);if(!z){_.error(a("crosschain.msg.feeFailed")+": "+g.slice(0,120));return}S.value=z}catch(r){_.error(a("crosschain.msg.feeFailed")+": "+(r?.message||r))}finally{q.value=!1}}}function Y(){f.fromChain="",f.toChain="",f.amount=null,f.asset="",f.sender="",f.recipient=""}function $(){u.fromChain="",u.toChain="",u.amount=null,u.fromAsset="",u.toAsset="",u.counterparty="",u.timeoutMs=null}function ee(){c.fromChain="",c.toChain="",c.payload="",c.contract=""}te(E);const ae={ws:l,t:a,loading:K,bridging:W,swapping:U,sending:j,estimating:q,chains:V,bridges:D,swaps:O,messages:A,stats:R,activeTab:B,showBridgeModal:M,showSwapModal:L,showMessageModal:P,showFeeModal:Z,bridgeForm:f,swapForm:u,messageForm:c,feeForm:F,feeResult:S,bridgeColumns:I,swapColumns:N,messageColumns:G,CHAIN_COLORS:t,chainColor:m,chainName:ue,statusLabel:me,bridgeStatusColor:fe,swapStatusColor:he,messageStatusColor:pe,truncate:ge,handleNewClick:ye,loadAll:E,validatePair:X,initiateBridge:be,initiateSwap:ve,sendMessage:_e,estimateFee:Ce,resetBridgeForm:Y,resetSwapForm:$,resetMessageForm:ee,ref:C,computed:Q,onMounted:te,reactive:J,get ReloadOutlined(){return Ue},get PlusOutlined(){return Re},get SwapOutlined(){return Te},get InteractionOutlined(){return ze},get MailOutlined(){return Me},get CalculatorOutlined(){return Oe},get LinkOutlined(){return Ae},get DollarOutlined(){return Se},get ArrowRightOutlined(){return Fe},get message(){return _},get useI18n(){return se},get useWsStore(){return oe},get parseChains(){return ne},get parseBridges(){return re},get parseSwaps(){return le},get parseMessages(){return ie},get parseStats(){return de},get parseFeeEstimate(){return ce},get formatXChainTime(){return Ne}};return Object.defineProperty(ae,"__isScriptSetup",{enumerable:!1,value:!0}),ae}},qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ve={class:"page-title"},De={class:"page-sub"},Ee={style:{opacity:"0.7"}},Xe={key:0,style:{opacity:"0.55","font-size":"10px","margin-left":"4px"}},Je={style:{color:"var(--text-primary)"}},Ke={style:{color:"var(--text-primary)"}},We={style:{color:"#722ed1","font-weight":"500"}},Qe={style:{color:"var(--text-secondary)","margin-left":"4px","font-size":"11px"}},Ze={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},Ge={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ye={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},$e={style:{color:"var(--text-primary)"}},ea={style:{color:"var(--text-secondary)","font-size":"11px",margin:"0 4px"}},aa={style:{color:"var(--text-primary)"}},ta={style:{color:"var(--text-secondary)","font-size":"11px","margin-left":"4px"}},oa={key:1,style:{color:"#722ed1","font-weight":"500"}},sa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},na={key:1,style:{color:"var(--text-muted)"}},ra={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},la={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ia={style:{color:"var(--text-primary)"}},da={style:{color:"var(--text-primary)"}},ca={key:1,style:{color:"var(--text-secondary)","font-size":"12px"}},ua={key:1,style:{color:"var(--text-muted)"}},ma={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},fa={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ha={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}};function pa(e,o,l,a,K,W){const U=v("a-button"),j=v("a-menu-item"),q=v("a-menu"),V=v("a-dropdown"),D=v("a-space"),O=v("a-statistic"),A=v("a-card"),R=v("a-col"),B=v("a-row"),M=v("a-tag"),L=v("a-table"),P=v("a-tab-pane"),Z=v("a-tabs"),f=v("a-select-option"),u=v("a-select"),c=v("a-form-item"),F=v("a-input-number"),S=v("a-input"),I=v("a-form"),N=v("a-modal"),G=v("a-textarea");return d(),p("div",null,[y("div",qe,[y("div",null,[y("h2",Ve,i(e.$t("crosschain.title")),1),y("p",De,i(e.$t("crosschain.subtitle")),1)]),s(D,null,{default:n(()=>[s(U,{loading:a.loading,onClick:a.loadAll},{icon:n(()=>[s(a.ReloadOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.refresh")),1)]),_:1},8,["loading"]),s(V,{trigger:["click"]},{overlay:n(()=>[s(q,{onClick:a.handleNewClick},{default:n(()=>[s(j,{key:"bridge"},{default:n(()=>[s(a.SwapOutlined),b(" "+i(e.$t("crosschain.actions.bridge")),1)]),_:1}),s(j,{key:"swap"},{default:n(()=>[s(a.InteractionOutlined),b(" "+i(e.$t("crosschain.actions.swap")),1)]),_:1}),s(j,{key:"message"},{default:n(()=>[s(a.MailOutlined),b(" "+i(e.$t("crosschain.actions.message")),1)]),_:1})]),_:1})]),default:n(()=>[s(U,{type:"primary"},{icon:n(()=>[s(a.PlusOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.newDropdown")),1)]),_:1})]),_:1}),s(U,{onClick:o[0]||(o[0]=t=>a.showFeeModal=!0)},{icon:n(()=>[s(a.CalculatorOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.feeEstimate")),1)]),_:1})]),_:1})]),h(" Stats overview "),s(B,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[s(R,{xs:12,sm:8,lg:5},{default:n(()=>[s(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[s(O,{title:e.$t("crosschain.stats.chains"),value:a.chains.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[s(a.LinkOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),s(R,{xs:12,sm:8,lg:5},{default:n(()=>[s(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[s(O,{title:e.$t("crosschain.stats.bridges"),value:a.stats.bridges.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[s(a.SwapOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),s(R,{xs:12,sm:8,lg:5},{default:n(()=>[s(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[s(O,{title:e.$t("crosschain.stats.swaps"),value:a.stats.swaps.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[s(a.InteractionOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),s(R,{xs:12,sm:8,lg:5},{default:n(()=>[s(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[s(O,{title:e.$t("crosschain.stats.messages"),value:a.stats.messages.total,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:n(()=>[s(a.MailOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),s(R,{xs:24,sm:8,lg:4},{default:n(()=>[s(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[s(O,{title:e.$t("crosschain.stats.volume"),value:a.stats.bridges.totalVolume,precision:2,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:n(()=>[s(a.DollarOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),h(" Chain catalogue "),a.chains.length?(d(),k(A,{key:0,title:e.$t("crosschain.chainsCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:n(()=>[s(D,{size:[12,8],wrap:""},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(M,{key:t.id,color:a.chainColor(t.id)},{default:n(()=>[b(i(t.name)+" ",1),y("span",Ee,"("+i(t.symbol)+")",1),t.chainId>0?(d(),p("span",Xe,"#"+i(t.chainId),1)):h("v-if",!0)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):h("v-if",!0),h(" Tabs "),s(Z,{activeKey:a.activeTab,"onUpdate:activeKey":o[1]||(o[1]=t=>a.activeTab=t),class:"xchain-tabs"},{default:n(()=>[h(" ── Bridges tab ───────────────────────────────────────────── "),s(P,{key:"bridges",tab:e.$t("crosschain.tabs.bridges")},{default:n(()=>[s(L,{columns:a.bridgeColumns,"data-source":a.bridges,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:a.loading,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:t,record:m})=>[t.key==="route"?(d(),p(w,{key:0},[y("span",Je,i(a.chainName(m.fromChain)),1),s(a.ArrowRightOutlined,{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",Ke,i(a.chainName(m.toChain)),1)],64)):h("v-if",!0),t.key==="amount"?(d(),p(w,{key:1},[y("span",We,i(m.amount),1),y("span",Qe,i(m.asset),1)],64)):h("v-if",!0),t.key==="fee"?(d(),p("span",Ze,i(m.feeAmount),1)):h("v-if",!0),t.key==="status"?(d(),k(M,{key:3,color:a.bridgeStatusColor(m.status)},{default:n(()=>[b(i(a.statusLabel(m.status)),1)]),_:2},1032,["color"])):h("v-if",!0),t.key==="createdAt"?(d(),p("span",Ge,i(a.formatXChainTime(m.createdAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",Ye,[s(a.SwapOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),b(" "+i(e.$t("crosschain.table.emptyBridges")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),h(" ── Swaps tab ─────────────────────────────────────────────── "),s(P,{key:"swaps",tab:e.$t("crosschain.tabs.swaps")},{default:n(()=>[s(L,{columns:a.swapColumns,"data-source":a.swaps,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:a.loading,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:t,record:m})=>[t.key==="route"?(d(),p(w,{key:0},[y("span",$e,i(a.chainName(m.fromChain)),1),y("span",ea,"("+i(m.fromAsset)+")",1),s(a.ArrowRightOutlined,{style:{margin:"0 4px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",aa,i(a.chainName(m.toChain)),1),y("span",ta,"("+i(m.toAsset)+")",1)],64)):h("v-if",!0),t.key==="amount"?(d(),p("span",oa,i(m.amount),1)):h("v-if",!0),t.key==="hashLock"?(d(),p(w,{key:2},[m.hashLock?(d(),p("span",sa,i(m.hashLock.slice(0,14))+"... ",1)):(d(),p("span",na,"—"))],64)):h("v-if",!0),t.key==="status"?(d(),k(M,{key:3,color:a.swapStatusColor(m.status)},{default:n(()=>[b(i(a.statusLabel(m.status)),1)]),_:2},1032,["color"])):h("v-if",!0),t.key==="expiresAt"?(d(),p("span",ra,i(a.formatXChainTime(m.expiresAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",la,[s(a.InteractionOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),b(" "+i(e.$t("crosschain.table.emptySwaps")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),h(" ── Messages tab ──────────────────────────────────────────── "),s(P,{key:"messages",tab:e.$t("crosschain.tabs.messages")},{default:n(()=>[s(L,{columns:a.messageColumns,"data-source":a.messages,pagination:{pageSize:20,showTotal:t=>e.$t("crosschain.table.totalSuffix",{n:t})},size:"small",loading:a.loading,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:t,record:m})=>[t.key==="route"?(d(),p(w,{key:0},[y("span",ia,i(a.chainName(m.fromChain)),1),s(a.ArrowRightOutlined,{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",da,i(a.chainName(m.toChain)),1)],64)):h("v-if",!0),t.key==="payload"?(d(),p("span",ca,i(a.truncate(m.payload,60)||"—"),1)):h("v-if",!0),t.key==="retries"?(d(),p(w,{key:2},[m.retries>0?(d(),k(M,{key:0,color:"orange",style:{"font-size":"11px"}},{default:n(()=>[b(i(e.$t("crosschain.table.retrySuffix",{n:m.retries})),1)]),_:2},1024)):(d(),p("span",ua,"—"))],64)):h("v-if",!0),t.key==="status"?(d(),k(M,{key:3,color:a.messageStatusColor(m.status)},{default:n(()=>[b(i(a.statusLabel(m.status)),1)]),_:2},1032,["color"])):h("v-if",!0),t.key==="createdAt"?(d(),p("span",ma,i(a.formatXChainTime(m.createdAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",fa,[s(a.MailOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),b(" "+i(e.$t("crosschain.table.emptyMessages")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),h(" ── Bridge modal ──────────────────────────────────────────── "),s(N,{open:a.showBridgeModal,"onUpdate:open":o[8]||(o[8]=t=>a.showBridgeModal=t),title:e.$t("crosschain.bridge_modal.title"),"confirm-loading":a.bridging,width:540,"ok-text":e.$t("crosschain.bridge_modal.ok"),"cancel-text":e.$t("crosschain.bridge_modal.cancel"),onOk:a.initiateBridge,onCancel:a.resetBridgeForm},{default:n(()=>[s(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[s(c,{label:e.$t("crosschain.bridge_modal.fromChain"),required:""},{default:n(()=>[s(u,{value:a.bridgeForm.fromChain,"onUpdate:value":o[2]||(o[2]=t=>a.bridgeForm.fromChain=t),placeholder:e.$t("crosschain.bridge_modal.fromChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.bridge_modal.toChain"),required:""},{default:n(()=>[s(u,{value:a.bridgeForm.toChain,"onUpdate:value":o[3]||(o[3]=t=>a.bridgeForm.toChain=t),placeholder:e.$t("crosschain.bridge_modal.toChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id,disabled:t.id===a.bridgeForm.fromChain},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.bridge_modal.amount"),required:""},{default:n(()=>[s(F,{value:a.bridgeForm.amount,"onUpdate:value":o[4]||(o[4]=t=>a.bridgeForm.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.bridge_modal.asset")},{default:n(()=>[s(S,{value:a.bridgeForm.asset,"onUpdate:value":o[5]||(o[5]=t=>a.bridgeForm.asset=t),placeholder:e.$t("crosschain.bridge_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.bridge_modal.sender")},{default:n(()=>[s(S,{value:a.bridgeForm.sender,"onUpdate:value":o[6]||(o[6]=t=>a.bridgeForm.sender=t),placeholder:e.$t("crosschain.bridge_modal.senderPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.bridge_modal.recipient")},{default:n(()=>[s(S,{value:a.bridgeForm.recipient,"onUpdate:value":o[7]||(o[7]=t=>a.bridgeForm.recipient=t),placeholder:e.$t("crosschain.bridge_modal.recipientPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),h(" ── Swap modal ────────────────────────────────────────────── "),s(N,{open:a.showSwapModal,"onUpdate:open":o[16]||(o[16]=t=>a.showSwapModal=t),title:e.$t("crosschain.swap_modal.title"),"confirm-loading":a.swapping,width:540,"ok-text":e.$t("crosschain.swap_modal.ok"),"cancel-text":e.$t("crosschain.swap_modal.cancel"),onOk:a.initiateSwap,onCancel:a.resetSwapForm},{default:n(()=>[s(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[s(c,{label:e.$t("crosschain.swap_modal.fromChain"),required:""},{default:n(()=>[s(u,{value:a.swapForm.fromChain,"onUpdate:value":o[9]||(o[9]=t=>a.swapForm.fromChain=t),placeholder:e.$t("crosschain.swap_modal.fromChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.toChain"),required:""},{default:n(()=>[s(u,{value:a.swapForm.toChain,"onUpdate:value":o[10]||(o[10]=t=>a.swapForm.toChain=t),placeholder:e.$t("crosschain.swap_modal.toChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id,disabled:t.id===a.swapForm.fromChain},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.amount"),required:""},{default:n(()=>[s(F,{value:a.swapForm.amount,"onUpdate:value":o[11]||(o[11]=t=>a.swapForm.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.fromAsset")},{default:n(()=>[s(S,{value:a.swapForm.fromAsset,"onUpdate:value":o[12]||(o[12]=t=>a.swapForm.fromAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.toAsset")},{default:n(()=>[s(S,{value:a.swapForm.toAsset,"onUpdate:value":o[13]||(o[13]=t=>a.swapForm.toAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.counterparty")},{default:n(()=>[s(S,{value:a.swapForm.counterparty,"onUpdate:value":o[14]||(o[14]=t=>a.swapForm.counterparty=t),placeholder:e.$t("crosschain.swap_modal.counterpartyPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.swap_modal.timeoutMs")},{default:n(()=>[s(F,{value:a.swapForm.timeoutMs,"onUpdate:value":o[15]||(o[15]=t=>a.swapForm.timeoutMs=t),min:0,placeholder:e.$t("crosschain.swap_modal.timeoutPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),h(" ── Message modal ─────────────────────────────────────────── "),s(N,{open:a.showMessageModal,"onUpdate:open":o[21]||(o[21]=t=>a.showMessageModal=t),title:e.$t("crosschain.message_modal.title"),"confirm-loading":a.sending,width:520,"ok-text":e.$t("crosschain.message_modal.ok"),"cancel-text":e.$t("crosschain.message_modal.cancel"),onOk:a.sendMessage,onCancel:a.resetMessageForm},{default:n(()=>[s(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[s(c,{label:e.$t("crosschain.message_modal.fromChain"),required:""},{default:n(()=>[s(u,{value:a.messageForm.fromChain,"onUpdate:value":o[17]||(o[17]=t=>a.messageForm.fromChain=t),placeholder:e.$t("crosschain.message_modal.fromChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.message_modal.toChain"),required:""},{default:n(()=>[s(u,{value:a.messageForm.toChain,"onUpdate:value":o[18]||(o[18]=t=>a.messageForm.toChain=t),placeholder:e.$t("crosschain.message_modal.toChainPlaceholder")},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id,disabled:t.id===a.messageForm.fromChain},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.message_modal.payload")},{default:n(()=>[s(G,{value:a.messageForm.payload,"onUpdate:value":o[19]||(o[19]=t=>a.messageForm.payload=t),"auto-size":{minRows:3,maxRows:8}},null,8,["value"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.message_modal.contract")},{default:n(()=>[s(S,{value:a.messageForm.contract,"onUpdate:value":o[20]||(o[20]=t=>a.messageForm.contract=t),placeholder:e.$t("crosschain.message_modal.contractPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),h(" ── Fee estimate modal ────────────────────────────────────── "),s(N,{open:a.showFeeModal,"onUpdate:open":o[25]||(o[25]=t=>a.showFeeModal=t),title:e.$t("crosschain.fee_modal.title"),"confirm-loading":a.estimating,width:480,"ok-text":e.$t("crosschain.fee_modal.ok"),"cancel-text":e.$t("crosschain.fee_modal.cancel"),onOk:a.estimateFee},{default:n(()=>[s(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[s(c,{label:e.$t("crosschain.fee_modal.fromChain"),required:""},{default:n(()=>[s(u,{value:a.feeForm.fromChain,"onUpdate:value":o[22]||(o[22]=t=>a.feeForm.fromChain=t)},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.fee_modal.toChain"),required:""},{default:n(()=>[s(u,{value:a.feeForm.toChain,"onUpdate:value":o[23]||(o[23]=t=>a.feeForm.toChain=t)},{default:n(()=>[(d(!0),p(w,null,T(a.chains,t=>(d(),k(f,{key:t.id,value:t.id,disabled:t.id===a.feeForm.fromChain},{default:n(()=>[b(i(t.name),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),s(c,{label:e.$t("crosschain.fee_modal.amount"),required:""},{default:n(()=>[s(F,{value:a.feeForm.amount,"onUpdate:value":o[24]||(o[24]=t=>a.feeForm.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),a.feeResult?(d(),k(A,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:n(()=>[s(O,{title:e.$t("crosschain.fee_modal.resultTitle"),value:a.feeResult.fee,precision:4,suffix:a.feeResult.currency,"value-style":{color:"#1677ff"}},null,8,["title","value","suffix"]),y("div",ha,[y("div",null,i(e.$t("crosschain.fee_modal.sourceFee",{fee:a.feeResult.breakdown.sourceFee,currency:a.feeResult.currency})),1),y("div",null,i(e.$t("crosschain.fee_modal.destFee",{fee:a.feeResult.breakdown.destFee,currency:a.feeResult.currency})),1),y("div",null,i(e.$t("crosschain.fee_modal.bridgeFee",{fee:a.feeResult.breakdown.bridgeFee,currency:a.feeResult.currency})),1)])]),_:1})):h("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const va=xe(He,[["render",pa],["__scopeId","data-v-00c68d45"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/Crosschain.vue"]]);export{va as default};
@@ -1 +0,0 @@
1
- .page-title[data-v-00c68d45]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-00c68d45]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.xchain-tabs[data-v-00c68d45] .ant-tabs-nav{margin-bottom:16px}
@@ -1,2 +0,0 @@
1
- import{I as d,P as u,S as b,K as a,c as l,Q as v,_ as pe,R as s,U as w,V as p,a0 as ye,r as c,w as ee,b as U,J as F,o as te}from"./vendor-Bn1JzzAn.js";import{t as Q,_ as de,u as J,b as ae,d as k}from"./index-Qx8cTReg.js";import{p as le}from"./mtc-parser-CEP1wN3R.js";import{d as ge,f as _e,s as se,a5 as ve,K as be,x as he,at as ke,R as we}from"./icons-DG5UD-6K.js";function q(t,n=0){if(!t||typeof t!="object")return null;const o=t.did||t.id||"";if(!o)return null;const e=t.displayName??t.display_name??t.name??"",I=t.isDefault===!0||t.is_default===1||t.is_default===!0||t.default===!0,g=t.publicKey??t.public_key??"",f=t.createdAt??t.created_at??t.created??"",y=(o.split(":")[1]||"chainless").trim();return{key:o,did:o,displayName:e||"",publicKey:g||"",isDefault:!!I,createdAt:f||"",method:y,raw:t.document?t:null,_idx:n}}function ne(t){const n=Q(t);return Array.isArray(n)?n.map(q).filter(Boolean):n&&Array.isArray(n.identities)?n.identities.map(q).filter(Boolean):De(t||"")}function De(t){const n=(t||"").split(`
2
- `),o=[];let e=null;for(const I of n){const g=I.trim();if(!g||g.startsWith("─")||g.startsWith("="))continue;const f=g.match(/(did:[a-z0-9]+:[A-Za-z0-9_-]+)/);if(f&&/^did:/.test(g)){e&&o.push(e);const y=f[1],_=g.match(/\(([^)]+)\)/),S=/\[default\]|默认|\*/.test(g);e={key:y,did:y,displayName:_?_[1]:"",publicKey:"",isDefault:S,createdAt:"",method:(y.split(":")[1]||"chainless").trim(),raw:null,_idx:o.length};continue}if(e){const y=g.match(/created\s*[::]\s*(.+)$/i);y&&(e.createdAt=y[1].trim())}}return e&&o.push(e),o}function ie(t){const n=Q(t);if(!n||typeof n!="object"||Array.isArray(n))return null;const o=q(n);return o?(o.document=n.document||null,o):null}function oe(t){const n=Q(t);if(n&&typeof n=="object"&&n.signature)return{did:n.did||"",message:n.message||"",signature:String(n.signature)};const e=(t||"").match(/Signature[::]\s*([a-f0-9]+)/i);return e?{did:"",message:"",signature:e[1]}:null}const xe={__name:"MtcVerifyDrawer",props:{open:{type:Boolean,default:!1},title:{type:String,default:"MTC 包含证明"},defaultEnvelopePath:{type:String,default:""},defaultLandmarkPath:{type:String,default:""},hint:{type:String,default:""}},emits:["update:open"],setup(t,{expose:n}){n();const o=t,e=J(),I=c(o.defaultEnvelopePath),g=c(o.defaultLandmarkPath),f=c(!1),y=c(null),_=c(""),S=U(()=>o.hint||"通过 cc serve 运行 cc mtc verify(多算法 dispatcher 同时支持 Ed25519 和 SLH-DSA-128F)。文件路径应指向本机磁盘上的 envelope 和 landmark JSON — 浏览器只把路径转给 cc serve,不上传文件内容。");ee(()=>o.open,D=>{D&&(I.value=o.defaultEnvelopePath||I.value,g.value=o.defaultLandmarkPath||g.value,y.value=null,_.value="")});async function O(){f.value=!0,y.value=null,_.value="";try{const D=I.value.trim().replace(/"/g,'\\"'),C=g.value.trim().replace(/"/g,'\\"'),{output:P}=await e.execute(`mtc verify "${D}" --landmark "${C}" --json`,12e3),N=le(P);if(!N.raw){_.value="验证命令未返回 JSON。请检查路径是否正确。";return}y.value=N}catch(D){_.value=`验证失败: ${D?.message||D}`}finally{f.value=!1}}const M={props:o,ws:e,envelopePath:I,landmarkPath:g,verifying:f,result:y,error:_,hintMessage:S,runVerify:O,ref:c,computed:U,watch:ee,get SafetyOutlined(){return se},get CheckCircleOutlined(){return _e},get CloseCircleOutlined(){return ge},get useWsStore(){return J},get parseVerifyResult(){return le}};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}},Se={style:{"margin-left":"8px"}},Ce={class:"mono"},Ie={class:"mono"},Oe={class:"mono"},Me={class:"raw-pre"};function ze(t,n,o,e,I,g){const f=d("a-alert"),y=d("a-input"),_=d("a-form-item"),S=d("a-button"),O=d("a-form"),M=d("a-divider"),D=d("a-tag"),C=d("a-descriptions-item"),P=d("a-descriptions"),N=d("a-collapse-panel"),A=d("a-collapse"),T=d("a-card"),V=d("a-drawer");return u(),b(V,{open:o.open,title:o.title,width:560,placement:"right","onUpdate:open":n[2]||(n[2]=z=>t.$emit("update:open",z))},{default:a(()=>[l(f,{type:"info","show-icon":"",message:e.hintMessage,style:{"margin-bottom":"16px"}},null,8,["message"]),l(O,{layout:"vertical"},{default:a(()=>[l(_,{label:"Envelope 文件路径"},{default:a(()=>[l(y,{value:e.envelopePath,"onUpdate:value":n[0]||(n[0]=z=>e.envelopePath=z),placeholder:"e.g. ./mtc-out/envelope-000000.json","allow-clear":""},null,8,["value"])]),_:1}),l(_,{label:"Landmark 文件路径"},{default:a(()=>[l(y,{value:e.landmarkPath,"onUpdate:value":n[1]||(n[1]=z=>e.landmarkPath=z),placeholder:"e.g. ./mtc-out/landmark.json","allow-clear":""},null,8,["value"])]),_:1}),l(_,null,{default:a(()=>[l(S,{type:"primary",loading:e.verifying,disabled:!e.envelopePath||!e.landmarkPath,onClick:e.runVerify},{icon:a(()=>[l(e.SafetyOutlined)]),default:a(()=>[n[3]||(n[3]=v(" 运行 cc mtc verify ",-1))]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),l(M),e.result?(u(),b(T,{key:0,class:pe(["result-card",e.result.ok?"pass":"fail"]),size:"small"},{title:a(()=>[(u(),b(ye(e.result.ok?e.CheckCircleOutlined:e.CloseCircleOutlined))),w("span",Se,s(e.result.ok?"验证通过":"验证失败"),1)]),default:a(()=>[l(P,{column:1,size:"small",bordered:""},{default:a(()=>[l(C,{label:"结果"},{default:a(()=>[l(D,{color:e.result.ok?"green":"red"},{default:a(()=>[v(s(e.result.ok?"PASS":"FAIL"),1)]),_:1},8,["color"])]),_:1}),!e.result.ok&&e.result.code?(u(),b(C,{key:0,label:"错误码"},{default:a(()=>[w("span",Ce,s(e.result.code),1),e.result.recoverable?(u(),b(D,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:a(()=>[...n[4]||(n[4]=[v("可恢复",-1)])]),_:1})):p("v-if",!0)]),_:1})):p("v-if",!0),e.result.leaf?.subject?(u(),b(C,{key:1,label:"Subject"},{default:a(()=>[w("span",Ie,s(e.result.leaf.subject),1)]),_:1})):p("v-if",!0),e.result.leaf?.kind?(u(),b(C,{key:2,label:"Kind"},{default:a(()=>[l(D,null,{default:a(()=>[v(s(e.result.leaf.kind),1)]),_:1})]),_:1})):p("v-if",!0),e.result.treeHead?.tree_size?(u(),b(C,{key:3,label:"Tree size"},{default:a(()=>[v(s(e.result.treeHead.tree_size),1)]),_:1})):p("v-if",!0),e.result.treeHead?.issuer?(u(),b(C,{key:4,label:"Issuer"},{default:a(()=>[w("span",Oe,s(e.result.treeHead.issuer),1)]),_:1})):p("v-if",!0)]),_:1}),e.result.raw?(u(),b(A,{key:0,ghost:"",style:{"margin-top":"12px"}},{default:a(()=>[l(N,{key:"raw",header:"原始 JSON 输出"},{default:a(()=>[w("pre",Me,s(JSON.stringify(e.result.raw,null,2)),1)]),_:1})]),_:1})):p("v-if",!0)]),_:1},8,["class"])):p("v-if",!0),e.error?(u(),b(f,{key:1,type:"error",message:e.error,style:{"margin-top":"12px"}},null,8,["message"])):p("v-if",!0)]),_:1},8,["open","title"])}const Pe=de(xe,[["render",ze],["__scopeId","data-v-6952fe8b"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/components/MtcVerifyDrawer.vue"]]),Ne={__name:"DID",setup(t,{expose:n}){n();const o=J(),{t:e}=ae(),I=c(!1),g=c(!1),f=c(!1),y=c(!1),_=c(""),S=c(""),O=c(!1),M=c([]),D=c(!1),C=c(!1),P=c(!1),N=c(""),A=c(null),T=c(""),V=c(""),z=c(""),K=c(null),B=U(()=>[{title:e("did.cols.did"),key:"did",dataIndex:"did",ellipsis:!0},{title:e("did.cols.name"),key:"displayName",dataIndex:"displayName",width:"160px"},{title:e("did.cols.method"),key:"method",dataIndex:"method",width:"110px"},{title:e("did.cols.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"180px"},{title:e("did.cols.default"),key:"isDefault",width:"90px"},{title:e("did.cols.action"),key:"action",width:"280px"}]),H=U(()=>{const i=M.value.find(x=>x.isDefault);if(!i)return e("did.stats.unsetDefault");const r=i.did;return r.length>24?r.slice(0,12)+"..."+r.slice(-8):r}),j=U(()=>{const i=new Set(M.value.map(r=>r.method).filter(Boolean));return i.size===0?e("did.stats.noMethod"):i.size===1?[...i][0]:[...i].join(", ")});async function L(){g.value=!0;try{const{output:i}=await o.execute("did list --json",15e3);M.value=ne(i)}catch(i){k.error(e("did.msg.loadFailed")+": "+i.message),M.value=[]}finally{g.value=!1}}async function E(){f.value=!0;try{const i=N.value.trim(),r=i?`did create --name "${i.replace(/"/g,'\\"')}" --json`:"did create --json",{output:x}=await o.execute(r,2e4);/error|失败/i.test(x)&&!x.includes('"did"')?k.error(e("did.msg.createFailed")+": "+x.slice(0,120)):(k.success(e("did.msg.createSuccess")),D.value=!1,N.value="",await L())}catch(i){k.error(e("did.msg.createFailed")+": "+i.message)}finally{f.value=!1}}async function m(i){_.value=i.did;try{const{output:r,exitCode:x}=await o.execute(`did set-default ${i.did}`,15e3);x!==0||/error|not found|失败/i.test(r)?k.error(e("did.msg.setDefaultFailed")+": "+r.slice(0,120)):(k.success(e("did.msg.setDefaultSuccess")),await L())}catch(r){k.error(e("did.msg.setDefaultFailed")+": "+r.message)}finally{_.value=""}}async function h(i){S.value=i.did;try{const{output:r,exitCode:x}=await o.execute(`did delete ${i.did} --force`,15e3);x!==0||/error|not found|失败/i.test(r)?k.error(e("did.msg.deleteFailed")+": "+r.slice(0,120)):(k.success(e("did.msg.deleteSuccess")),await L())}catch(r){k.error(e("did.msg.deleteFailed")+": "+r.message)}finally{S.value=""}}async function R(i){if(A.value={...i},T.value="",C.value=!0,!i.publicKey)try{const{output:r}=await o.execute(`did show ${i.did} --json`,1e4),x=ie(r);x&&(A.value={...A.value,...x})}catch{}}async function re(i){O.value=!0;try{const{output:r}=await o.execute(`did resolve ${i.did}`,1e4);try{T.value=JSON.stringify(JSON.parse(r.trim()),null,2)}catch{T.value=r.trim()}}catch(r){k.error(e("did.msg.loadDocFailed")+": "+r.message)}finally{O.value=!1}}function ce(i){V.value=i.did,z.value="",K.value=null,P.value=!0}const Z=c(!1),G=c("MTC 包含证明"),X=c("");function Y(i){return i?i.length<=24?i:`${i.slice(0,16)}…${i.slice(-6)}`:""}function ue(i){G.value=`MTC 包含证明 · ${Y(i.did)}`,X.value="验证此 DID 是否在某个 MTC 批次中。请提供该批次的 envelope(其 leaf.subject 应等于此 DID)和 landmark 文件路径。 通常由 cc mtc batch-dids --out <dir> 生成。",Z.value=!0}async function fe(){if(!z.value.trim()){k.warning(e("did.msg.signEmpty"));return}y.value=!0,K.value=null;try{const r=`did sign "${z.value.replace(/"/g,'\\"')}" --did ${V.value} --json`,{output:x,exitCode:me}=await o.execute(r,15e3),W=oe(x);W&&W.signature?(K.value=W,k.success(e("did.msg.signSuccess"))):k.error(e("did.msg.signFailed")+": "+(x||`exit ${me}`).slice(0,120))}catch(i){k.error(e("did.msg.signFailed")+": "+i.message)}finally{y.value=!1}}te(()=>{L()});const $={ws:o,t:e,hasDesktopFeatures:I,loading:g,creating:f,signing:y,settingDefault:_,deleting:S,loadingDocument:O,identities:M,showCreateModal:D,showDetailsModal:C,showSignModal:P,newIdentityName:N,currentIdentity:A,currentDocument:T,signTargetDid:V,signText:z,signResult:K,columns:B,defaultIdentityDisplay:H,methodDisplay:j,loadList:L,createIdentity:E,setDefault:m,deleteIdentity:h,openShow:R,loadDocument:re,openSign:ce,mtcDrawerOpen:Z,mtcDrawerTitle:G,mtcDrawerHint:X,shortDid:Y,openMtcVerify:ue,signMessage:fe,ref:c,computed:U,onMounted:te,get ReloadOutlined(){return we},get PlusOutlined(){return ke},get IdcardOutlined(){return he},get KeyOutlined(){return be},get FileTextOutlined(){return ve},get SafetyOutlined(){return se},get message(){return k},get useI18n(){return ae},get useWsStore(){return J},get parseDidList(){return ne},get parseDidShow(){return ie},get parseSignResult(){return oe},MtcVerifyDrawer:Pe};return Object.defineProperty($,"__isScriptSetup",{enumerable:!1,value:!0}),$}},Ae={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Te={class:"page-title"},je={class:"page-sub"},Fe={key:1,style:{"text-align":"center",padding:"60px"}},Ve={key:0,style:{color:"#e0e0e0","font-family":"monospace","font-size":"12px"}},Ke={key:1,style:{color:"var(--text-primary)"}},Le={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Re={key:0,style:{"margin-top":"12px"}},Ue={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},He={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},Be={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},Je={key:0,style:{"margin-top":"16px"}},Ee={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},We={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"320px",overflow:"auto"}},qe={key:0,style:{"margin-top":"12px"}},Qe={style:{color:"var(--text-secondary)","margin-bottom":"6px"}},Ze={style:{"white-space":"pre-wrap","word-break":"break-all",color:"#52c41a","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)"}};function Ge(t,n,o,e,I,g){const f=d("a-button"),y=d("a-space"),_=d("a-statistic"),S=d("a-card"),O=d("a-col"),M=d("a-row"),D=d("a-alert"),C=d("a-spin"),P=d("a-tag"),N=d("a-tooltip"),A=d("a-popconfirm"),T=d("a-empty"),V=d("a-table"),z=d("a-input"),K=d("a-form-item"),B=d("a-form"),H=d("a-modal"),j=d("a-descriptions-item"),L=d("a-descriptions"),E=d("a-textarea");return u(),F("div",null,[w("div",Ae,[w("div",null,[w("h2",Te,s(t.$t("did.title")),1),w("p",je,s(t.$t("did.subtitle")),1)]),l(y,null,{default:a(()=>[l(f,{loading:e.loading,onClick:e.loadList},{icon:a(()=>[l(e.ReloadOutlined)]),default:a(()=>[v(" "+s(t.$t("did.refresh")),1)]),_:1},8,["loading"]),l(f,{type:"primary",onClick:n[0]||(n[0]=m=>e.showCreateModal=!0)},{icon:a(()=>[l(e.PlusOutlined)]),default:a(()=>[v(" "+s(t.$t("did.create")),1)]),_:1})]),_:1})]),l(M,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.count"),value:e.identities.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[l(e.IdcardOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.default"),value:e.defaultIdentityDisplay,"value-style":{color:e.defaultIdentityDisplay!==t.$t("did.stats.unsetDefault")?"#52c41a":"#888",fontSize:"13px",fontFamily:"monospace"}},null,8,["title","value","value-style"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.method"),value:e.methodDisplay,"value-style":{color:"#722ed1",fontSize:"14px"}},null,8,["title","value"])]),_:1})]),_:1}),l(O,{xs:24,sm:12,lg:6},{default:a(()=>[l(S,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(_,{title:t.$t("did.stats.signable"),value:e.identities.length>0?t.$t("did.stats.yes"):t.$t("did.stats.no"),"value-style":{color:e.identities.length>0?"#52c41a":"#ff4d4f",fontSize:"20px"}},{prefix:a(()=>[l(e.KeyOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),e.hasDesktopFeatures?p("v-if",!0):(u(),b(D,{key:0,message:t.$t("did.webOnly.message"),description:t.$t("did.webOnly.description"),type:"info","show-icon":"",closable:"",style:{"margin-bottom":"16px"}},null,8,["message","description"])),e.loading?(u(),F("div",Fe,[l(C,{size:"large"})])):(u(),b(V,{key:2,columns:e.columns,"data-source":e.identities,pagination:{pageSize:20,showTotal:m=>t.$t("did.table.totalSuffix",{n:m})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"did-row"},{bodyCell:a(({column:m,record:h})=>[m.key==="did"?(u(),F("span",Ve,s(h.did),1)):p("v-if",!0),m.key==="displayName"?(u(),F("span",Ke,s(h.displayName||"-"),1)):p("v-if",!0),m.key==="method"?(u(),b(P,{key:2,color:"blue"},{default:a(()=>[v(s(h.method),1)]),_:2},1024)):p("v-if",!0),m.key==="createdAt"?(u(),F("span",Le,s(h.createdAt||"-"),1)):p("v-if",!0),m.key==="isDefault"?(u(),b(P,{key:4,color:h.isDefault?"green":"default"},{default:a(()=>[v(s(h.isDefault?t.$t("did.table.defaultTag"):"-"),1)]),_:2},1032,["color"])):p("v-if",!0),m.key==="action"?(u(),b(y,{key:5,size:"small"},{default:a(()=>[l(f,{size:"small",type:"link",onClick:R=>e.openShow(h)},{default:a(()=>[v(s(t.$t("did.actions.details")),1)]),_:1},8,["onClick"]),l(f,{size:"small",type:"link",onClick:R=>e.openSign(h)},{default:a(()=>[v(s(t.$t("did.actions.sign")),1)]),_:1},8,["onClick"]),l(N,{title:"MTC 包含证明"},{default:a(()=>[l(f,{size:"small",type:"link",onClick:R=>e.openMtcVerify(h)},{default:a(()=>[l(e.SafetyOutlined)]),_:1},8,["onClick"])]),_:2},1024),h.isDefault?p("v-if",!0):(u(),b(f,{key:0,size:"small",type:"link",loading:e.settingDefault===h.did,onClick:R=>e.setDefault(h)},{default:a(()=>[v(s(t.$t("did.actions.setDefault")),1)]),_:1},8,["loading","onClick"])),l(A,{title:t.$t("did.deleteConfirm.title"),"ok-text":t.$t("did.deleteConfirm.ok"),"ok-type":"danger","cancel-text":t.$t("did.deleteConfirm.cancel"),onConfirm:R=>e.deleteIdentity(h)},{default:a(()=>[l(f,{size:"small",type:"link",danger:"",loading:e.deleting===h.did},{default:a(()=>[v(s(t.$t("did.actions.delete")),1)]),_:1},8,["loading"])]),_:2},1032,["title","ok-text","cancel-text","onConfirm"])]),_:2},1024)):p("v-if",!0)]),emptyText:a(()=>[l(T,{description:t.$t("did.table.empty")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),p(" Create Modal "),l(H,{open:e.showCreateModal,"onUpdate:open":n[2]||(n[2]=m=>e.showCreateModal=m),title:t.$t("did.create_modal.title"),"confirm-loading":e.creating,onOk:e.createIdentity,"ok-text":t.$t("did.create_modal.ok"),"cancel-text":t.$t("did.create_modal.cancel")},{default:a(()=>[l(B,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:a(()=>[l(K,{label:t.$t("did.create_modal.nameLabel")},{default:a(()=>[l(z,{value:e.newIdentityName,"onUpdate:value":n[1]||(n[1]=m=>e.newIdentityName=m),placeholder:t.$t("did.create_modal.namePlaceholder"),"allow-clear":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" Show Details Modal "),l(H,{open:e.showDetailsModal,"onUpdate:open":n[4]||(n[4]=m=>e.showDetailsModal=m),title:t.$t("did.details.title",{label:e.currentIdentity?.displayName||e.currentIdentity?.did?.slice(0,24)||""}),width:720,footer:null},{default:a(()=>[e.currentIdentity?(u(),F("div",Re,[l(L,{column:1,bordered:"",size:"small"},{default:a(()=>[l(j,{label:t.$t("did.details.did")},{default:a(()=>[w("span",Ue,s(e.currentIdentity.did),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.name")},{default:a(()=>[v(s(e.currentIdentity.displayName||"-"),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.method")},{default:a(()=>[l(P,{color:"blue"},{default:a(()=>[v(s(e.currentIdentity.method),1)]),_:1})]),_:1},8,["label"]),l(j,{label:t.$t("did.details.default")},{default:a(()=>[l(P,{color:e.currentIdentity.isDefault?"green":"default"},{default:a(()=>[v(s(e.currentIdentity.isDefault?t.$t("did.details.yes"):t.$t("did.details.no")),1)]),_:1},8,["color"])]),_:1},8,["label"]),l(j,{label:t.$t("did.details.createdAt")},{default:a(()=>[v(s(e.currentIdentity.createdAt||"-"),1)]),_:1},8,["label"]),l(j,{label:t.$t("did.details.publicKey")},{default:a(()=>[w("span",He,s(e.currentIdentity.publicKey||t.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",Be,[l(f,{loading:e.loadingDocument,onClick:n[3]||(n[3]=m=>e.loadDocument(e.currentIdentity))},{icon:a(()=>[l(e.FileTextOutlined)]),default:a(()=>[v(" "+s(t.$t("did.details.viewDoc")),1)]),_:1},8,["loading"])]),e.currentDocument?(u(),F("div",Je,[w("p",Ee,s(t.$t("did.details.docHeader")),1),w("pre",We,s(e.currentDocument),1)])):p("v-if",!0)])):p("v-if",!0)]),_:1},8,["open","title"]),p(" Sign Modal "),l(H,{open:e.showSignModal,"onUpdate:open":n[6]||(n[6]=m=>e.showSignModal=m),title:t.$t("did.sign_modal.title",{label:e.signTargetDid?.slice(0,28)||t.$t("did.sign_modal.defaultIdentityFallback")}),"confirm-loading":e.signing,onOk:e.signMessage,"ok-text":t.$t("did.sign_modal.ok"),"cancel-text":t.$t("did.sign_modal.cancel")},{default:a(()=>[l(B,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[l(K,{label:t.$t("did.sign_modal.messageLabel"),required:""},{default:a(()=>[l(E,{value:e.signText,"onUpdate:value":n[5]||(n[5]=m=>e.signText=m),placeholder:t.$t("did.sign_modal.messagePlaceholder"),"auto-size":{minRows:3,maxRows:8}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),e.signResult?(u(),F("div",qe,[w("p",Qe,s(t.$t("did.sign_modal.resultHeader")),1),w("pre",Ze,s(e.signResult.signature),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" MTC inclusion proof drawer "),l(e.MtcVerifyDrawer,{open:e.mtcDrawerOpen,"onUpdate:open":n[7]||(n[7]=m=>e.mtcDrawerOpen=m),title:e.mtcDrawerTitle,hint:e.mtcDrawerHint},null,8,["open","title","hint"])])}const tt=de(Ne,[["render",Ge],["__scopeId","data-v-553c4536"],["__file","/tmp/cc-web-panel-nob91t/repo/packages/web-panel/src/views/DID.vue"]]);export{tt as default};
@@ -1 +0,0 @@
1
- .mono[data-v-6952fe8b]{font-family:monospace;font-size:12px;word-break:break-all}.result-card.pass[data-v-6952fe8b]{border-color:#b7eb8f}.result-card.fail[data-v-6952fe8b]{border-color:#ffccc7}.raw-pre[data-v-6952fe8b]{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}[data-v-553c4536] .did-row:hover td{background:var(--bg-card-hover)!important}[data-v-553c4536] .ant-card-head{border-color:var(--border-color)!important;color:var(--text-primary)!important}
@@ -1 +0,0 @@
1
- .stat-card[data-v-7f773d42]{background:var(--bg-card)!important;border-color:var(--border-color)!important;transition:border-color .2s}.stat-card[data-v-7f773d42]:hover{border-color:var(--text-muted)!important}.stat-header[data-v-7f773d42]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stat-label[data-v-7f773d42]{color:var(--text-secondary);font-size:12px}.stat-value[data-v-7f773d42]{font-size:22px;font-weight:600;line-height:1.2;margin-bottom:4px}.stat-sub[data-v-7f773d42]{color:var(--text-muted);font-size:11px}.gateway-card[data-v-7f773d42]{border-left:3px solid #1677ff!important}.status-log[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;color:var(--text-secondary);font-size:11px;font-family:Consolas,monospace;max-height:200px;overflow-y:auto;white-space:pre-wrap;margin:0;line-height:1.6}.telemetry-card[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;height:100%}.telemetry-filter[data-v-7f773d42]{display:flex;flex-direction:column;gap:6px}.telemetry-filter-label[data-v-7f773d42]{color:var(--text-muted);font-size:12px}.telemetry-label[data-v-7f773d42]{color:var(--text-muted);font-size:12px;margin-bottom:6px}.telemetry-value[data-v-7f773d42]{color:#91caff;font-size:24px;font-weight:600;line-height:1.2}.telemetry-sub[data-v-7f773d42]{color:var(--text-secondary);font-size:11px;margin-top:4px}.telemetry-section[data-v-7f773d42]{background:var(--bg-base);border:1px solid var(--border-color);border-radius:8px;padding:14px;min-height:140px}.telemetry-section-title[data-v-7f773d42]{color:var(--text-secondary);font-size:12px;margin-bottom:10px}.telemetry-list[data-v-7f773d42]{display:flex;flex-direction:column;gap:8px}.telemetry-row[data-v-7f773d42]{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.telemetry-empty[data-v-7f773d42]{color:var(--text-muted);font-size:12px}