chainlesschain 0.166.130 → 0.166.132

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 (469) hide show
  1. package/README.md +30 -4
  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-Dzv1ReHF.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-B5uzaLLP.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-D3I2kUGu.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-5GigOmb8.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-ky9UfGv4.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-er_HkLCI.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-CrFs6rUL.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-CXrW4Nry.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-BpJsXlTK.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-CUNg0-fh.js → colors-DcTBrGvS.js} +1 -1
  170. package/src/assets/web-panel/assets/{compact-item-C3tFHnhu.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-CU6RIciB.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-BPWJw4Ji.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-BzhobTgZ.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-KgR1f2Gq.js → index-Brc0BF-k.js} +2 -2
  186. package/src/assets/web-panel/assets/{index-D4njcYFw.js → index-CG9YLDmI.js} +1 -1
  187. package/src/assets/web-panel/assets/{index-6EwPIfXu.js → index-CNHWMMDX.js} +1 -1
  188. package/src/assets/web-panel/assets/{index-CEIoRm_c.js → index-COuEJdmr.js} +3 -3
  189. package/src/assets/web-panel/assets/{index-BG4zuFf0.js → index-CRW3AWdS.js} +1 -1
  190. package/src/assets/web-panel/assets/{index-BOlAutGy.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-X6e0cGRU.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-BJjEAoDb.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-111hR8WZ.js → index-Vo7A4aiN.js} +4 -4
  208. package/src/assets/web-panel/assets/{index-lo9rgpyj.js → index-XdlYkgCa.js} +1 -1
  209. package/src/assets/web-panel/assets/{index-1L0tt7G2.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-CyyhilXV.js → index-lnTt0Jps.js} +2 -2
  212. package/src/assets/web-panel/assets/{index-CLQjdKmE.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-K2Uqqkr1.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-FI8D7E2x.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-Vl1vUReW.js → move-A_28O5T2.js} +1 -1
  222. package/src/assets/web-panel/assets/{mtc-parser-6Cu2aFME.js → mtc-parser-0zlMjabo.js} +1 -1
  223. package/src/assets/web-panel/assets/{omit-VRKL8iSO.js → omit-DF7mU3yG.js} +1 -1
  224. package/src/assets/web-panel/assets/{pickAttrs-DZfWsOe0.js → pickAttrs-Cmt8liJP.js} +1 -1
  225. package/src/assets/web-panel/assets/{placementArrow-qmcOUc4W.js → placementArrow-DaMDC57b.js} +1 -1
  226. package/src/assets/web-panel/assets/{responsiveObserve-BLB6SsSw.js → responsiveObserve-CHw_f2d3.js} +1 -1
  227. package/src/assets/web-panel/assets/{slide-41jdYeSH.js → slide-DJS9fFQq.js} +1 -1
  228. package/src/assets/web-panel/assets/{statusUtils-Yn8OQ5ey.js → statusUtils-Bk3XdZwh.js} +1 -1
  229. package/src/assets/web-panel/assets/{styleChecker-4CEwz9Zd.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-Bugo8HuF.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-B-q2ElB0.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-DM1y_KKP.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/data/changelog.json +27 -1
  246. package/src/harness/worktree-isolator.js +4 -1
  247. package/src/lib/compaction-host-provenance.js +24 -0
  248. package/src/lib/context-memory-kernel/durable-memory-port.js +46 -34
  249. package/src/lib/context-memory-kernel/live-compaction.js +12 -3
  250. package/src/lib/context-memory-kernel/memory-query-bundle.js +375 -0
  251. package/src/lib/context-memory-kernel/memory-query-control.js +28 -0
  252. package/src/lib/context-memory-kernel/memory-service.js +30 -16
  253. package/src/lib/context-memory-kernel/memory-shard-snapshots.js +63 -0
  254. package/src/lib/context-memory-kernel/message-adapter.js +27 -6
  255. package/src/lib/context-memory-kernel/provider-context.js +103 -27
  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-condition-engine.js +20 -3
  265. package/src/lib/goal-verification-command.js +221 -0
  266. package/src/lib/goal-verification-plan.js +372 -0
  267. package/src/lib/llm-connection-probe.js +12 -5
  268. package/src/lib/llm-onboarding-catalog.json +1 -1
  269. package/src/lib/llm-pricing.js +34 -8
  270. package/src/lib/mcp-tool-catalog-authority.js +244 -0
  271. package/src/lib/model-capabilities.js +6 -0
  272. package/src/lib/model-catalog-review.js +3 -0
  273. package/src/lib/model-context-catalog.js +44 -2
  274. package/src/lib/openai-responses.js +35 -6
  275. package/src/lib/sub-agent-context.js +12 -4
  276. package/src/lib/subagent-inheritance.js +162 -2
  277. package/src/lib/usage-pricing-context.js +34 -17
  278. package/src/repl/agent-repl.js +34 -2
  279. package/src/runtime/agent-core.js +335 -18
  280. package/src/runtime/compaction-host-context.js +72 -0
  281. package/src/runtime/headless-runner.js +133 -37
  282. package/src/runtime/headless-stream.js +38 -21
  283. package/src/runtime/mcp-agent-catalog.js +257 -0
  284. package/src/runtime/mcp-config.js +18 -69
  285. package/src/runtime/mcp-tool-search.js +16 -1
  286. package/src/runtime/message-roles.js +67 -3
  287. package/src/runtime/provider-stream-state.js +35 -1
  288. package/src/runtime/system-prompt.js +9 -0
  289. package/src/assets/web-panel/assets/AIOps-CSpp7iGY.css +0 -1
  290. package/src/assets/web-panel/assets/AIOps-o-rFKEYL.js +0 -1
  291. package/src/assets/web-panel/assets/Analytics-Bt7H_jrh.js +0 -3
  292. package/src/assets/web-panel/assets/Analytics-DJcHjy5J.css +0 -1
  293. package/src/assets/web-panel/assets/AppLayout-CgynsRFP.js +0 -9
  294. package/src/assets/web-panel/assets/AppLayout-VlanTjPw.css +0 -1
  295. package/src/assets/web-panel/assets/Artifacts-CTVt96zW.css +0 -1
  296. package/src/assets/web-panel/assets/Artifacts-gghOGDyE.js +0 -1
  297. package/src/assets/web-panel/assets/Audit-D8oxP0wr.css +0 -1
  298. package/src/assets/web-panel/assets/Audit-DBXn-AZ6.js +0 -1
  299. package/src/assets/web-panel/assets/BackgroundAgents--dxPftKa.js +0 -1
  300. package/src/assets/web-panel/assets/BackgroundAgents-Dq2340Kl.css +0 -1
  301. package/src/assets/web-panel/assets/Backup-D9Zf_2tH.js +0 -1
  302. package/src/assets/web-panel/assets/Backup-Wi9CaP3d.css +0 -1
  303. package/src/assets/web-panel/assets/BaseInput-DDTOjovq.js +0 -1
  304. package/src/assets/web-panel/assets/Chat-2ETqdBLn.js +0 -8
  305. package/src/assets/web-panel/assets/Chat-KSGPtU0L.css +0 -1
  306. package/src/assets/web-panel/assets/ChatBubbleRenderer-DSg2Xs8G.js +0 -1
  307. package/src/assets/web-panel/assets/ChatBubbleRenderer-gy5SDGw2.css +0 -1
  308. package/src/assets/web-panel/assets/Codegen-4ieEEIwt.js +0 -1
  309. package/src/assets/web-panel/assets/Codegen-BB08p1fn.css +0 -1
  310. package/src/assets/web-panel/assets/Community-Cbq1nrpo.css +0 -1
  311. package/src/assets/web-panel/assets/Community-DeYxFMJb.js +0 -1
  312. package/src/assets/web-panel/assets/Compliance-DLVjbVUh.js +0 -1
  313. package/src/assets/web-panel/assets/Compliance-NoXr2Vof.css +0 -1
  314. package/src/assets/web-panel/assets/Cowork-BlXJRu6L.css +0 -1
  315. package/src/assets/web-panel/assets/Cowork-DfUKa0T5.js +0 -6
  316. package/src/assets/web-panel/assets/Cron-_RpktpO5.js +0 -2
  317. package/src/assets/web-panel/assets/Crosschain-7x6xdbwH.js +0 -1
  318. package/src/assets/web-panel/assets/Crosschain-CgRAecoR.css +0 -1
  319. package/src/assets/web-panel/assets/DID-DVsYcgvs.css +0 -1
  320. package/src/assets/web-panel/assets/DID-ccVhToC1.js +0 -2
  321. package/src/assets/web-panel/assets/Dashboard-CAPSdFR4.css +0 -1
  322. package/src/assets/web-panel/assets/Dashboard-DhygcaoK.js +0 -3
  323. package/src/assets/web-panel/assets/Dropdown-DFplwXK7.js +0 -1
  324. package/src/assets/web-panel/assets/EmailListRenderer-Bm01soCN.js +0 -1
  325. package/src/assets/web-panel/assets/EmailListRenderer-DTPZPx_S.css +0 -1
  326. package/src/assets/web-panel/assets/EvolutionSettings-Bdw8ApoT.css +0 -1
  327. package/src/assets/web-panel/assets/EvolutionSettings-C4v--DkD.js +0 -1
  328. package/src/assets/web-panel/assets/FamilyGuardDashboard-ChQXDBA3.js +0 -1
  329. package/src/assets/web-panel/assets/FamilyGuardDashboard-nd3idUVb.css +0 -1
  330. package/src/assets/web-panel/assets/Federation-C0yomE-M.js +0 -1
  331. package/src/assets/web-panel/assets/Federation-fGN6iMX_.css +0 -1
  332. package/src/assets/web-panel/assets/FormItemContext-DtT3ZEZK.js +0 -2
  333. package/src/assets/web-panel/assets/GenericCardRenderer-DgITtFRv.js +0 -1
  334. package/src/assets/web-panel/assets/GenericCardRenderer-o85VDYQS.css +0 -1
  335. package/src/assets/web-panel/assets/Git-CCY42R8S.js +0 -2
  336. package/src/assets/web-panel/assets/Governance-DtCS4NDm.css +0 -1
  337. package/src/assets/web-panel/assets/Governance-N66Bwvqg.js +0 -1
  338. package/src/assets/web-panel/assets/Inference-BkbPuR_2.js +0 -1
  339. package/src/assets/web-panel/assets/Inference-t-w0NgIS.css +0 -1
  340. package/src/assets/web-panel/assets/KnowledgeGraph-4NU1S2Xm.css +0 -1
  341. package/src/assets/web-panel/assets/KnowledgeGraph-B3PibXdA.js +0 -1
  342. package/src/assets/web-panel/assets/Logs-CUtNB_N6.js +0 -2
  343. package/src/assets/web-panel/assets/Logs-DQbCaYhL.css +0 -1
  344. package/src/assets/web-panel/assets/MarkdownRenderer-D-V4dOe3.js +0 -1
  345. package/src/assets/web-panel/assets/MarkdownRenderer-DbzhFwvz.css +0 -1
  346. package/src/assets/web-panel/assets/Marketplace-Bvo5cuGa.css +0 -1
  347. package/src/assets/web-panel/assets/Marketplace-DLNJb6Nr.js +0 -1
  348. package/src/assets/web-panel/assets/McpTools-2zGjJb5K.js +0 -4
  349. package/src/assets/web-panel/assets/McpTools-534Q95Mx.css +0 -1
  350. package/src/assets/web-panel/assets/Memory-9rNZ1EvR.js +0 -2
  351. package/src/assets/web-panel/assets/Memory-CleW_R6V.css +0 -1
  352. package/src/assets/web-panel/assets/MobileBridge-Cw7sAAgn.js +0 -1
  353. package/src/assets/web-panel/assets/MobileBridge-D3Arxfeg.css +0 -1
  354. package/src/assets/web-panel/assets/MobileProjects-8XACrqqy.js +0 -1
  355. package/src/assets/web-panel/assets/MobileProjects-BD4alw6-.css +0 -1
  356. package/src/assets/web-panel/assets/Mtc-CXZGO9Sh.css +0 -1
  357. package/src/assets/web-panel/assets/Mtc-mg02JNy-.js +0 -6
  358. package/src/assets/web-panel/assets/MtcAudit-B1Vkhj2l.js +0 -19
  359. package/src/assets/web-panel/assets/MtcAudit-C1JM8esp.css +0 -1
  360. package/src/assets/web-panel/assets/Multisig-BQEeA7GG.js +0 -13
  361. package/src/assets/web-panel/assets/Multisig-BryR2Jpr.css +0 -1
  362. package/src/assets/web-panel/assets/NLProgramming-BIbkjZV3.js +0 -1
  363. package/src/assets/web-panel/assets/NLProgramming-DGDHq6Z9.css +0 -1
  364. package/src/assets/web-panel/assets/Notes-BKKmMtqV.css +0 -1
  365. package/src/assets/web-panel/assets/Notes-DIwhkZNY.js +0 -7
  366. package/src/assets/web-panel/assets/NotificationSettings-CG3Kfuef.css +0 -1
  367. package/src/assets/web-panel/assets/NotificationSettings-Cj9175ce.js +0 -1
  368. package/src/assets/web-panel/assets/OrderTableRenderer-CfrDjSHT.css +0 -1
  369. package/src/assets/web-panel/assets/OrderTableRenderer-IfNpXT2R.js +0 -1
  370. package/src/assets/web-panel/assets/Organization-DPFp6G9o.js +0 -4
  371. package/src/assets/web-panel/assets/Organization-LVvqwG0D.css +0 -1
  372. package/src/assets/web-panel/assets/P2P-DcFvP7F-.css +0 -1
  373. package/src/assets/web-panel/assets/P2P-tXck8GLq.js +0 -2
  374. package/src/assets/web-panel/assets/PdhVaultBrowser-DSvpQl9k.js +0 -7
  375. package/src/assets/web-panel/assets/PdhVaultBrowser-DZZrUOr1.css +0 -1
  376. package/src/assets/web-panel/assets/Permissions-CKPkdLj-.js +0 -4
  377. package/src/assets/web-panel/assets/Permissions-DsPE_IQy.css +0 -1
  378. package/src/assets/web-panel/assets/PersonalDataHub-BhpRlh9D.css +0 -1
  379. package/src/assets/web-panel/assets/PersonalDataHub-DnqXc12l.js +0 -9
  380. package/src/assets/web-panel/assets/Pipeline-BItr5CyP.css +0 -1
  381. package/src/assets/web-panel/assets/Pipeline-BKjFU_kd.js +0 -1
  382. package/src/assets/web-panel/assets/Privacy-ChC-J5Tn.js +0 -1
  383. package/src/assets/web-panel/assets/Privacy-F_ENsxZk.css +0 -1
  384. package/src/assets/web-panel/assets/ProjectInit-B86LEzDL.css +0 -1
  385. package/src/assets/web-panel/assets/ProjectInit-ByFZG9sY.js +0 -2
  386. package/src/assets/web-panel/assets/ProjectSettings-Bbv1Kiw-.js +0 -2
  387. package/src/assets/web-panel/assets/ProjectSettings-DK7KA_iX.css +0 -1
  388. package/src/assets/web-panel/assets/Projects-CmJeUDBW.css +0 -1
  389. package/src/assets/web-panel/assets/Projects-QYyGW31-.js +0 -1
  390. package/src/assets/web-panel/assets/Providers-C6q_fvea.css +0 -1
  391. package/src/assets/web-panel/assets/Providers-CJLnWw0r.js +0 -1
  392. package/src/assets/web-panel/assets/QrScannerModal-NwAHNfiJ.css +0 -1
  393. package/src/assets/web-panel/assets/QuickAsk-DoXU0np9.js +0 -1
  394. package/src/assets/web-panel/assets/Recommend-DCo_vuaf.js +0 -1
  395. package/src/assets/web-panel/assets/Recommend-D_bf91K6.css +0 -1
  396. package/src/assets/web-panel/assets/RemoteSession-CLuL925Z.js +0 -5
  397. package/src/assets/web-panel/assets/Reputation-CNNCA_-M.js +0 -1
  398. package/src/assets/web-panel/assets/Reputation-DiOsOleI.css +0 -1
  399. package/src/assets/web-panel/assets/Row-Vu4j631i.js +0 -1
  400. package/src/assets/web-panel/assets/RssFeed-C18B4xiy.js +0 -3
  401. package/src/assets/web-panel/assets/RssFeed-CjcbkyUb.css +0 -1
  402. package/src/assets/web-panel/assets/Search-DxiqccE2.js +0 -1
  403. package/src/assets/web-panel/assets/Search-Klk29S7C.css +0 -1
  404. package/src/assets/web-panel/assets/Security-BmrukMHn.css +0 -1
  405. package/src/assets/web-panel/assets/Security-Droe_hHI.js +0 -4
  406. package/src/assets/web-panel/assets/Services-CwmmyXzq.js +0 -2
  407. package/src/assets/web-panel/assets/Services-DAnVNhUG.css +0 -1
  408. package/src/assets/web-panel/assets/Skills-BUu9owbR.css +0 -1
  409. package/src/assets/web-panel/assets/Skills-Dp-d2miK.js +0 -1
  410. package/src/assets/web-panel/assets/Sla-2DFXVbK4.js +0 -1
  411. package/src/assets/web-panel/assets/Sla-sodqCU4a.css +0 -1
  412. package/src/assets/web-panel/assets/SpeechSettings-Cdd9lCoy.js +0 -1
  413. package/src/assets/web-panel/assets/SpeechSettings-CgB9nFyq.css +0 -1
  414. package/src/assets/web-panel/assets/SyncSettings-B3hJqmBP.css +0 -1
  415. package/src/assets/web-panel/assets/SyncSettings-CxQhcYSk.js +0 -2
  416. package/src/assets/web-panel/assets/Tasks-BHWVRfXx.js +0 -1
  417. package/src/assets/web-panel/assets/Tasks-nbTUVXvt.css +0 -1
  418. package/src/assets/web-panel/assets/Templates-CpFsKk_l.css +0 -1
  419. package/src/assets/web-panel/assets/Templates-DNFk3a5_.js +0 -1
  420. package/src/assets/web-panel/assets/Tenant-B6X6dPo8.js +0 -1
  421. package/src/assets/web-panel/assets/Tenant-MuPJnOjk.css +0 -1
  422. package/src/assets/web-panel/assets/Terminal-BuUNoLGM.js +0 -3
  423. package/src/assets/web-panel/assets/Terminal-DHoveJwj.css +0 -1
  424. package/src/assets/web-panel/assets/TimelineRenderer-BlTAtkOc.css +0 -1
  425. package/src/assets/web-panel/assets/TimelineRenderer-DThrBYj8.js +0 -1
  426. package/src/assets/web-panel/assets/Tokens-CA_u4Blu.js +0 -1
  427. package/src/assets/web-panel/assets/Tokens-CynVae-o.css +0 -1
  428. package/src/assets/web-panel/assets/Trust-C-WrW0Fj.css +0 -1
  429. package/src/assets/web-panel/assets/Trust-DHcLpNy3.js +0 -1
  430. package/src/assets/web-panel/assets/UkeySign-B_fni4C2.js +0 -1
  431. package/src/assets/web-panel/assets/VideoEditing-BDFghpzP.css +0 -1
  432. package/src/assets/web-panel/assets/VideoEditing-g9nf2EhS.js +0 -1
  433. package/src/assets/web-panel/assets/Wallet-C8pOjIve.js +0 -4
  434. package/src/assets/web-panel/assets/Wallet-DUbpTRcg.css +0 -1
  435. package/src/assets/web-panel/assets/WebAuthn-BaKNjxZt.js +0 -5
  436. package/src/assets/web-panel/assets/WebAuthn-CVAFRfCQ.css +0 -1
  437. package/src/assets/web-panel/assets/WorkflowEditor-429lPWYk.css +0 -1
  438. package/src/assets/web-panel/assets/WorkflowEditor-CX030Wb1.js +0 -1
  439. package/src/assets/web-panel/assets/createContext-B8rTvO61.js +0 -1
  440. package/src/assets/web-panel/assets/devWarning-B4_IVU_n.js +0 -1
  441. package/src/assets/web-panel/assets/echarts-C61Vn3mP.js +0 -25
  442. package/src/assets/web-panel/assets/index--6BUI55w.js +0 -1
  443. package/src/assets/web-panel/assets/index-5Q1bepcM.js +0 -1
  444. package/src/assets/web-panel/assets/index-B10Ia2KL.js +0 -21
  445. package/src/assets/web-panel/assets/index-B1SLBLli.js +0 -3
  446. package/src/assets/web-panel/assets/index-B8_VQAav.js +0 -1
  447. package/src/assets/web-panel/assets/index-BMuPJra-.js +0 -1
  448. package/src/assets/web-panel/assets/index-BOCjph-k.js +0 -12
  449. package/src/assets/web-panel/assets/index-BpBaOWmV.js +0 -1
  450. package/src/assets/web-panel/assets/index-CDlHvQtw.js +0 -1
  451. package/src/assets/web-panel/assets/index-CPF7Vqri.js +0 -55
  452. package/src/assets/web-panel/assets/index-CPmgKQcl.js +0 -1
  453. package/src/assets/web-panel/assets/index-CcpMHPWd.js +0 -21
  454. package/src/assets/web-panel/assets/index-Cyksnofp.js +0 -1
  455. package/src/assets/web-panel/assets/index-Dc9pcin6.js +0 -1
  456. package/src/assets/web-panel/assets/index-DfAC55QA.js +0 -19
  457. package/src/assets/web-panel/assets/index-DgNCfwvg.js +0 -1
  458. package/src/assets/web-panel/assets/index-DvfhIBNZ.js +0 -1
  459. package/src/assets/web-panel/assets/index-Hbzd9WeI.js +0 -1
  460. package/src/assets/web-panel/assets/index-IiS7WoUl.js +0 -13
  461. package/src/assets/web-panel/assets/index-Xa6TlaD7.js +0 -31
  462. package/src/assets/web-panel/assets/index-YczWc2_0.js +0 -12
  463. package/src/assets/web-panel/assets/index-h_ANnbR8.js +0 -3
  464. package/src/assets/web-panel/assets/index-k7QsBwyo.js +0 -75
  465. package/src/assets/web-panel/assets/isSymbol-S5WZT7lS.js +0 -1
  466. package/src/assets/web-panel/assets/motion-B1hpJYSD.js +0 -11
  467. package/src/assets/web-panel/assets/useFlexGapSupport-BClv53kR.js +0 -1
  468. package/src/assets/web-panel/assets/vendor-Bn1JzzAn.js +0 -42
  469. package/src/assets/web-panel/assets/vnode-ejVeFJ0x.js +0 -1
@@ -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-k7QsBwyo.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-j3HnbJ/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 j,o as Z,P as a}from"./vendor-Bn1JzzAn.js";import{u as W,_ as _e}from"./index-k7QsBwyo.js";import{u as F}from"./chat-BpJsXlTK.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=W();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=W();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=W();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,j(()=>q())}G([M,()=>d.currentStreaming],()=>{j(()=>{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:j,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"],je={class:"ready-state"},We={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",je,[n("div",We,[(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-j3HnbJ/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 J,S as U}from"./vendor-Bn1JzzAn.js";import{_ as D,b as j,u as H,d as _}from"./index-k7QsBwyo.js";import{a1 as K,R as Q,at as Z}from"./icons-DG5UD-6K.js";const G={__name:"Cron",setup(I,{expose:s}){s();const{t:o}=j(),e=H(),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 M of C){const z=M.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 j},get PlusOutlined(){return Z},get ReloadOutlined(){return Q},get ClockCircleOutlined(){return K},get message(){return _},get useWsStore(){return H}};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(I,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,J(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=D(G,[["render",se],["__file","/tmp/cc-web-panel-j3HnbJ/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 X,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-k7QsBwyo.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=X({fromChain:"",toChain:"",amount:null,asset:"",sender:"",recipient:""}),u=X({fromChain:"",toChain:"",amount:null,fromAsset:"",toAsset:"",counterparty:"",timeoutMs:null}),c=X({fromChain:"",toChain:"",payload:"",contract:""}),F=X({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 J(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(J(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(J(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(J(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(J(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:J,initiateBridge:be,initiateSwap:ve,sendMessage:_e,estimateFee:Ce,resetBridgeForm:Y,resetSwapForm:$,resetMessageForm:ee,ref:C,computed:Q,onMounted:te,reactive:X,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"}},Je={key:0,style:{opacity:"0.55","font-size":"10px","margin-left":"4px"}},Xe={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",Je,"#"+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",Xe,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-j3HnbJ/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 +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,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 H,J as F,o as te}from"./vendor-Bn1JzzAn.js";import{t as Q,_ as de,u as B,b as ae,d as k}from"./index-k7QsBwyo.js";import{p as le}from"./mtc-parser-6Cu2aFME.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=B(),I=c(o.defaultEnvelopePath),g=c(o.defaultLandmarkPath),f=c(!1),y=c(null),_=c(""),S=H(()=>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:H,watch:ee,get SafetyOutlined(){return se},get CheckCircleOutlined(){return _e},get CloseCircleOutlined(){return ge},get useWsStore(){return B},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-j3HnbJ/repo/packages/web-panel/src/components/MtcVerifyDrawer.vue"]]),Ne={__name:"DID",setup(t,{expose:n}){n();const o=B(),{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),U=H(()=>[{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"}]),J=H(()=>{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=H(()=>{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:U,defaultIdentityDisplay:J,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:H,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 B},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"}},He={style:{"font-family":"monospace",color:"#ccc","word-break":"break-all"}},Je={style:{"font-family":"monospace",color:"#888","font-size":"11px","word-break":"break-all"}},Ue={style:{"margin-top":"16px",display:"flex",gap:"8px","flex-wrap":"wrap"}},Be={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"),U=d("a-form"),J=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(J,{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(U,{"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(J,{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",He,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",Je,s(e.currentIdentity.publicKey||t.$t("did.details.publicKeyLoading")),1)]),_:1},8,["label"])]),_:1}),w("div",Ue,[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",Be,[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(J,{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(U,{"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-j3HnbJ/repo/packages/web-panel/src/views/DID.vue"]]);export{tt as default};
@@ -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}
@@ -1,3 +0,0 @@
1
- import{E as G,r as E,I as k,J as v,U as l,R as a,c as s,K as o,S as z,V as $,N as q,o as U,x as H,b as w,P as u,Q as f,$ as M,F as T,Z as F}from"./vendor-Bn1JzzAn.js";import{u as A,t as J,_ as W}from"./index-k7QsBwyo.js";import{u as V}from"./chat-BpJsXlTK.js";import{ae as K,af as Q,a5 as Z,h as X,a8 as Y,ac as x,aa as ee,ag as te,a9 as se,R as oe}from"./icons-DG5UD-6K.js";function ae(e){return J(e)}function le(){return{samples:0,compressedSamples:0,hitRate:0,totalSavedTokens:0,averageSavedTokens:0,totalOriginalTokens:0,totalCompressedTokens:0,netSavingsRate:0,variantDistribution:{},strategyDistribution:[],providerDistribution:[],modelDistribution:[]}}const B=G("dashboard",()=>{const e=E(!1),n=E(!1),m=E({wsStatus:"disconnected",activeLlm:null,activeModel:null,skillCount:0,sessionCount:0,providerCount:0,appRunning:!1,setupDone:!1,edition:"",mcpCount:null,noteCount:null}),t=E(""),O=E(le()),h=E({windowPreset:"all",provider:"",model:""});let b=null;function S(i=A()){b||(b=i.onRuntimeEvent(c=>{c.type==="compression:summary"?P(c.payload?.summary||{}):c.type==="session:start"?m.value.sessionCount=(m.value.sessionCount||0)+1:c.type==="session:end"&&(m.value.sessionCount=Math.max(0,(m.value.sessionCount||0)-1))}))}function y(){b&&(b(),b=null)}function P(i){O.value={...O.value,...i||{}}}function d(i){return i==="1h"?3600*1e3:i==="24h"?1440*60*1e3:i==="7d"?10080*60*1e3:null}function _(i){m.value.appRunning=i.includes("Desktop app running"),m.value.setupDone=i.includes("Setup completed");const c=i.match(/Edition:\s+(\S+)/i);c&&(m.value.edition=c[1]);const g=i.match(/LLM:\s+(\S+)\s+\(([^)]+)\)/i);if(g)m.value.activeLlm=g[1],m.value.activeModel=g[2];else{const r=i.match(/LLM:\s+(\S+)/i);r&&(m.value.activeLlm=r[1])}}async function j(){const i=A();S(i),n.value=!0;const c={type:"compression-stats",windowMs:d(h.value.windowPreset)};h.value.provider&&(c.provider=h.value.provider),h.value.model&&(c.model=h.value.model);try{const g=await i.sendRaw(c,1e4);P(g.summary||{})}catch{}finally{n.value=!1}}async function p(){const i=A();S(i),e.value=!0,m.value.wsStatus=i.status,t.value="";try{const[c,g]=await Promise.allSettled([i.execute("status",15e3),i.listSessions()]);if(c.status==="fulfilled"){const r=c.value.output;t.value=r.split(`
2
- `).slice(0,20).join(`
3
- `),_(r)}g.status==="fulfilled"&&(m.value.sessionCount=g.value.length),Promise.allSettled([i.execute("skill sources --json",15e3),i.execute("llm providers",15e3)]).then(([r,C])=>{if(r.status==="fulfilled"){const R=ae(r.value.output);Array.isArray(R)&&(m.value.skillCount=R.reduce((D,L)=>D+(typeof L?.count=="number"?L.count:0),0))}if(C.status==="fulfilled"){const D=C.value.output.match(/active[:\s]+(\S+)/i);D&&!m.value.activeLlm&&(m.value.activeLlm=D[1])}}),i.sendRaw({type:"mcp.list_tools"},5e3).then(r=>{const R=(r?.result??r)?.servers;m.value.mcpCount=Array.isArray(R)?R.length:0}).catch(()=>{m.value.mcpCount=0}),await j()}catch{}finally{e.value=!1}}return{loading:e,compressionLoading:n,stats:m,statusLog:t,compression:O,telemetryFilters:h,ensureRuntimeSubscription:S,stopRuntimeSubscription:y,refresh:p,refreshCompression:j,applyCompressionSummary:P,toWindowMs:d}}),re={__name:"Dashboard",setup(e,{expose:n}){n();const m=q(),t=A(),O=V(),h=B(),b=window.__CC_CONFIG__||{},S=w(()=>b.mode==="project"),y="v5.0.3.143",P=w(()=>t.status),d=w(()=>h.loading),_=w(()=>h.statusLog),j=w(()=>h.telemetryFilters),p=w(()=>h.compression),i=w(()=>h.stats),c=w(()=>Object.entries(p.value.variantDistribution||{})),g=w(()=>p.value.providerDistribution||[]),r=w(()=>p.value.modelDistribution||[]);async function C(){await h.refresh()}async function R(){await h.refreshCompression()}function D(I){return`${((I||0)*100).toFixed(1)}%`}async function L(){await O.createSession("agent"),m.push("/chat")}U(()=>{h.ensureRuntimeSubscription(t),setTimeout(C,300)}),H(()=>{h.stopRuntimeSubscription()});const N={router:m,ws:t,chatStore:O,dashboardStore:h,cfg:b,isProject:S,PRODUCT_VERSION:y,wsStatus:P,loading:d,statusLog:_,telemetryFilters:j,compression:p,stats:i,variantEntries:c,providerEntries:g,modelEntries:r,refresh:C,refreshCompression:R,formatPercent:D,newAgentSession:L,computed:w,onMounted:U,onUnmounted:H,get useRouter(){return q},get ReloadOutlined(){return oe},get ApiOutlined(){return se},get RobotOutlined(){return te},get AppstoreOutlined(){return ee},get MessageOutlined(){return x},get FolderOutlined(){return Y},get DesktopOutlined(){return X},get FileTextOutlined(){return Z},get ToolOutlined(){return Q},get SettingOutlined(){return K},get useWsStore(){return A},get useChatStore(){return V},get useDashboardStore(){return B}};return Object.defineProperty(N,"__isScriptSetup",{enumerable:!1,value:!0}),N}},ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"20px"}},ie={class:"page-title"},de={class:"page-sub"},ce={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},ue={style:{color:"#91caff","font-weight":"600"}},me={style:{color:"#4a6fa5","font-size":"11px","font-family":"monospace"}},ve={class:"stat-header"},fe={class:"stat-label"},he={class:"stat-sub"},be={class:"stat-header"},ye={class:"stat-label"},pe={class:"stat-value",style:{color:"#91caff","font-size":"15px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},_e={class:"stat-sub",style:{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ge={class:"stat-header"},ke={class:"stat-label"},we={class:"stat-value",style:{color:"#1677ff"}},Se={class:"stat-sub"},Ce={class:"stat-header"},Re={class:"stat-label"},Oe={class:"stat-value",style:{color:"#c084fc"}},Pe={class:"stat-sub"},je={class:"stat-header"},De={class:"stat-label"},Ee={class:"stat-sub"},Te={class:"stat-header"},Fe={class:"stat-label"},ze={class:"stat-value",style:{color:"#13c2c2"}},Ae={class:"stat-sub"},Le={class:"stat-header"},$e={class:"stat-label"},Me={class:"stat-value",style:{color:"#faad14"}},Ne={class:"stat-sub"},qe={class:"status-log"},Ue={class:"telemetry-filter"},He={class:"telemetry-filter-label"},Ve={class:"telemetry-filter"},Be={class:"telemetry-filter-label"},Ie={class:"telemetry-filter"},Ge={class:"telemetry-filter-label"},Je={class:"telemetry-card"},We={class:"telemetry-label"},Ke={class:"telemetry-value"},Qe={class:"telemetry-sub"},Ze={class:"telemetry-card"},Xe={class:"telemetry-label"},Ye={class:"telemetry-value"},xe={class:"telemetry-sub"},et={class:"telemetry-card"},tt={class:"telemetry-label"},st={class:"telemetry-value"},ot={class:"telemetry-sub"},at={class:"telemetry-section"},lt={class:"telemetry-section-title"},rt={key:0,class:"telemetry-empty"},nt={key:1,class:"telemetry-list"},it={class:"telemetry-section"},dt={class:"telemetry-section-title"},ct={key:0,class:"telemetry-empty"},ut={key:1,class:"telemetry-list"},mt={class:"telemetry-section"},vt={class:"telemetry-section-title"},ft={key:0,class:"telemetry-empty"},ht={key:1,class:"telemetry-list"},bt={class:"telemetry-section"},yt={class:"telemetry-section-title"},pt={key:0,class:"telemetry-empty"},_t={key:1,class:"telemetry-list"},gt={style:{color:"#91caff"}},kt={style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},wt={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},St={style:{color:"var(--text-muted)"}};function Ct(e,n,m,t,O,h){const b=k("a-button"),S=k("a-tag"),y=k("a-card"),P=k("a-badge"),d=k("a-col"),_=k("a-row"),j=k("a-space"),p=k("a-select-option"),i=k("a-select"),c=k("a-descriptions-item"),g=k("a-descriptions");return u(),v("div",null,[l("div",ne,[l("div",null,[l("h2",ie,a(e.$t("dashboard.title")),1),l("p",de,a(t.isProject?e.$t("dashboard.subProject",{name:t.cfg.projectName||e.$t("dashboard.unnamedProject")}):e.$t("dashboard.subGlobal")),1)]),s(b,{type:"primary",ghost:"",loading:t.loading,onClick:t.refresh},{icon:o(()=>[s(t.ReloadOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.refresh")),1)]),_:1},8,["loading"])]),t.isProject?(u(),z(y,{key:0,style:{background:"rgba(22,119,255,.08)","border-color":"rgba(22,119,255,.25)","margin-bottom":"16px"},size:"small"},{default:o(()=>[l("div",ce,[s(t.FolderOutlined,{style:{color:"#1677ff","font-size":"18px"}}),l("div",null,[l("div",ue,a(t.cfg.projectName||e.$t("dashboard.projectBanner.fallbackName")),1),l("div",me,a(t.cfg.projectRoot),1)]),s(S,{color:"blue",style:{"margin-left":"auto"}},{default:o(()=>[f(a(e.$t("dashboard.projectBanner.tag")),1)]),_:1})])]),_:1})):$("v-if",!0),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:o(()=>[s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card gateway-card",size:"small"},{default:o(()=>[l("div",ve,[l("span",fe,a(e.$t("dashboard.stats.wsGateway")),1),s(P,{status:t.wsStatus==="connected"?"success":"error"},null,8,["status"])]),l("div",{class:"stat-value",style:M({color:t.wsStatus==="connected"?"#52c41a":"#888"})},a(t.wsStatus==="connected"?e.$t("dashboard.stats.wsRunning"):e.$t("dashboard.stats.wsDisconnected")),5),l("div",he,a(e.$t("dashboard.stats.wsPortLine",{port:t.cfg.wsPort||18800,host:t.cfg.wsHost||"127.0.0.1"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small"},{default:o(()=>[l("div",be,[l("span",ye,a(e.$t("dashboard.stats.currentLlm")),1),s(t.RobotOutlined,{style:{color:"#1677ff"}})]),l("div",pe,a(t.stats.activeLlm||e.$t("dashboard.stats.llmUnconfigured")),1),l("div",_e,a(t.stats.activeModel||"—"),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[0]||(n[0]=r=>e.$router.push("/skills"))},{default:o(()=>[l("div",ge,[l("span",ke,a(e.$t("dashboard.stats.skills")),1),s(t.AppstoreOutlined,{style:{color:"#1677ff"}})]),l("div",we,a(t.stats.skillCount||"—"),1),l("div",Se,a(e.$t("dashboard.stats.skillsHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:12,lg:6},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[1]||(n[1]=r=>e.$router.push("/chat"))},{default:o(()=>[l("div",Ce,[l("span",Re,a(e.$t("dashboard.stats.sessions")),1),s(t.MessageOutlined,{style:{color:"#722ed1"}})]),l("div",Oe,a(t.stats.sessionCount),1),l("div",Pe,a(e.$t("dashboard.stats.sessionsHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[12,12],style:{"margin-bottom":"16px"}},{default:o(()=>[s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small"},{default:o(()=>[l("div",je,[l("span",De,a(e.$t("dashboard.stats.appStatus")),1),s(t.DesktopOutlined,{style:M({color:t.stats.appRunning?"#52c41a":"#888"})},null,8,["style"])]),l("div",{class:"stat-value",style:M({color:t.stats.appRunning?"#52c41a":"#888",fontSize:"15px"})},a(t.stats.appRunning?e.$t("dashboard.stats.appRunning"):t.stats.setupDone?e.$t("dashboard.stats.appReady"):e.$t("dashboard.stats.appNotStarted")),5),l("div",Ee,a(e.$t("dashboard.stats.edition",{name:t.stats.edition||"Community"})),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[2]||(n[2]=r=>e.$router.push("/mcp"))},{default:o(()=>[l("div",Te,[l("span",Fe,a(e.$t("dashboard.stats.mcp")),1),s(t.ToolOutlined,{style:{color:"#13c2c2"}})]),l("div",ze,a(t.stats.mcpCount??"—"),1),l("div",Ae,a(e.$t("dashboard.stats.mcpHint")),1)]),_:1})]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[s(y,{class:"stat-card",size:"small",style:{cursor:"pointer"},onClick:n[3]||(n[3]=r=>e.$router.push("/notes"))},{default:o(()=>[l("div",Le,[l("span",$e,a(e.$t("dashboard.stats.notes")),1),s(t.FileTextOutlined,{style:{color:"#faad14"}})]),l("div",Me,a(t.stats.noteCount??"—"),1),l("div",Ne,a(e.$t("dashboard.stats.notesHint")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:[16,16]},{default:o(()=>[s(d,{xs:24,lg:10},{default:o(()=>[s(y,{title:e.$t("dashboard.quick.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)",height:"100%"}},{default:o(()=>[s(j,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:o(()=>[s(b,{type:"primary",block:"",onClick:n[4]||(n[4]=r=>e.$router.push("/chat"))},{icon:o(()=>[s(t.MessageOutlined)]),default:o(()=>[f(" "+a(t.isProject?e.$t("dashboard.quick.enterProjectChat"):e.$t("dashboard.quick.newAiChat")),1)]),_:1}),s(b,{block:"",onClick:t.newAgentSession,style:{background:"rgba(114,46,209,.12)","border-color":"#722ed1",color:"#722ed1"}},{icon:o(()=>[s(t.RobotOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.quick.startAgent")),1)]),_:1}),s(_,{gutter:8},{default:o(()=>[s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[5]||(n[5]=r=>e.$router.push("/services")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.SettingOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.quick.services")),1)]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[6]||(n[6]=r=>e.$router.push("/logs")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.FileTextOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.quick.logs")),1)]),_:1})]),_:1})]),_:1}),s(_,{gutter:8},{default:o(()=>[s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[7]||(n[7]=r=>e.$router.push("/skills")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.AppstoreOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.quick.skills")),1)]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(b,{block:"",onClick:n[8]||(n[8]=r=>e.$router.push("/providers")),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:o(()=>[s(t.ApiOutlined)]),default:o(()=>[f(" "+a(e.$t("dashboard.quick.providers")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"])]),_:1}),s(d,{xs:24,lg:14},{default:o(()=>[s(y,{title:e.$t("dashboard.status.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"},loading:t.loading},{extra:o(()=>[s(b,{type:"link",size:"small",onClick:n[9]||(n[9]=r=>e.$router.push("/logs"))},{default:o(()=>[f(a(e.$t("dashboard.status.more")),1)]),_:1})]),default:o(()=>[l("pre",qe,a(t.statusLog||e.$t("dashboard.status.placeholder")),1)]),_:1},8,["title","loading"])]),_:1})]),_:1}),s(y,{title:e.$t("dashboard.telemetry.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"},loading:t.loading},{default:o(()=>[s(_,{gutter:[12,12],style:{"margin-bottom":"12px"}},{default:o(()=>[s(d,{xs:24,md:8},{default:o(()=>[l("div",Ue,[l("div",He,a(e.$t("dashboard.telemetry.filterWindow")),1),s(i,{value:t.telemetryFilters.windowPreset,"onUpdate:value":n[10]||(n[10]=r=>t.telemetryFilters.windowPreset=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:"all"},{default:o(()=>[f(a(e.$t("dashboard.telemetry.windowAll")),1)]),_:1}),s(p,{value:"1h"},{default:o(()=>[f(a(e.$t("dashboard.telemetry.window1h")),1)]),_:1}),s(p,{value:"24h"},{default:o(()=>[f(a(e.$t("dashboard.telemetry.window24h")),1)]),_:1}),s(p,{value:"7d"},{default:o(()=>[f(a(e.$t("dashboard.telemetry.window7d")),1)]),_:1})]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:o(()=>[l("div",Ve,[l("div",Be,a(e.$t("dashboard.telemetry.filterProvider")),1),s(i,{value:t.telemetryFilters.provider,"onUpdate:value":n[11]||(n[11]=r=>t.telemetryFilters.provider=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:""},{default:o(()=>[f(a(e.$t("dashboard.telemetry.providerAll")),1)]),_:1}),(u(!0),v(T,null,F(t.providerEntries,r=>(u(),z(p,{key:r.key,value:r.key},{default:o(()=>[f(a(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),s(d,{xs:24,md:8},{default:o(()=>[l("div",Ie,[l("div",Ge,a(e.$t("dashboard.telemetry.filterModel")),1),s(i,{value:t.telemetryFilters.model,"onUpdate:value":n[12]||(n[12]=r=>t.telemetryFilters.model=r),style:{width:"100%"},onChange:t.refreshCompression},{default:o(()=>[s(p,{value:""},{default:o(()=>[f(a(e.$t("dashboard.telemetry.modelAll")),1)]),_:1}),(u(!0),v(T,null,F(t.modelEntries,r=>(u(),z(p,{key:r.key,value:r.key},{default:o(()=>[f(a(r.key),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1})]),_:1}),s(_,{gutter:[12,12]},{default:o(()=>[s(d,{xs:24,sm:8},{default:o(()=>[l("div",Je,[l("div",We,a(e.$t("dashboard.telemetry.hitRate")),1),l("div",Ke,a(t.formatPercent(t.compression.hitRate)),1),l("div",Qe,a(e.$t("dashboard.telemetry.hitRateSub",{compressed:t.compression.compressedSamples,total:t.compression.samples})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[l("div",Ze,[l("div",Xe,a(e.$t("dashboard.telemetry.savedTokens")),1),l("div",Ye,a(t.compression.totalSavedTokens),1),l("div",xe,a(e.$t("dashboard.telemetry.savedTokensSub",{avg:t.compression.averageSavedTokens})),1)])]),_:1}),s(d,{xs:24,sm:8},{default:o(()=>[l("div",et,[l("div",tt,a(e.$t("dashboard.telemetry.netSavingsRate")),1),l("div",st,a(t.formatPercent(t.compression.netSavingsRate)),1),l("div",ot,a(e.$t("dashboard.telemetry.netSavingsRateSub",{original:t.compression.totalOriginalTokens,compressed:t.compression.totalCompressedTokens})),1)])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:o(()=>[s(d,{xs:24,lg:12},{default:o(()=>[l("div",at,[l("div",lt,a(e.$t("dashboard.telemetry.strategyDistribution")),1),t.compression.strategyDistribution.length===0?(u(),v("div",rt,a(e.$t("dashboard.telemetry.strategyEmpty")),1)):(u(),v("div",nt,[(u(!0),v(T,null,F(t.compression.strategyDistribution.slice(0,6),r=>(u(),v("div",{key:r.strategy,class:"telemetry-row"},[l("span",null,a(r.strategy),1),l("span",null,a(e.$t("dashboard.telemetry.strategyRow",{hits:r.hits,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:o(()=>[l("div",it,[l("div",dt,a(e.$t("dashboard.telemetry.variantDistribution")),1),t.variantEntries.length===0?(u(),v("div",ct,a(e.$t("dashboard.telemetry.variantEmpty")),1)):(u(),v("div",ut,[(u(!0),v(T,null,F(t.variantEntries,([r,C])=>(u(),v("div",{key:r,class:"telemetry-row"},[l("span",null,a(r),1),l("span",null,a(e.$t("dashboard.telemetry.variantRow",{count:C})),1)]))),128))]))])]),_:1})]),_:1}),s(_,{gutter:[16,16],style:{"margin-top":"12px"}},{default:o(()=>[s(d,{xs:24,lg:12},{default:o(()=>[l("div",mt,[l("div",vt,a(e.$t("dashboard.telemetry.providerSlice")),1),t.providerEntries.length===0?(u(),v("div",ft,a(e.$t("dashboard.telemetry.providerEmpty")),1)):(u(),v("div",ht,[(u(!0),v(T,null,F(t.providerEntries.slice(0,6),r=>(u(),v("div",{key:r.key,class:"telemetry-row"},[l("span",null,a(r.key),1),l("span",null,a(e.$t("dashboard.telemetry.providerRow",{samples:r.samples,rate:t.formatPercent(r.hitRate)})),1)]))),128))]))])]),_:1}),s(d,{xs:24,lg:12},{default:o(()=>[l("div",bt,[l("div",yt,a(e.$t("dashboard.telemetry.modelSlice")),1),t.modelEntries.length===0?(u(),v("div",pt,a(e.$t("dashboard.telemetry.modelEmpty")),1)):(u(),v("div",_t,[(u(!0),v(T,null,F(t.modelEntries.slice(0,6),r=>(u(),v("div",{key:r.key,class:"telemetry-row"},[l("span",null,a(r.key),1),l("span",null,a(e.$t("dashboard.telemetry.modelRow",{samples:r.samples,saved:r.savedTokens})),1)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["title","loading"]),s(y,{title:e.$t("dashboard.info.title"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:o(()=>[s(g,{column:{xs:1,sm:2,lg:3},size:"small"},{default:o(()=>[s(c,{label:e.$t("dashboard.info.panelMode")},{default:o(()=>[s(S,{color:t.isProject?"blue":"purple"},{default:o(()=>[f(a(t.isProject?e.$t("dashboard.info.modeProject"):e.$t("dashboard.info.modeGlobal")),1)]),_:1},8,["color"])]),_:1},8,["label"]),t.isProject?(u(),z(c,{key:0,label:e.$t("dashboard.info.projectName")},{default:o(()=>[l("span",gt,a(t.cfg.projectName||"—"),1)]),_:1},8,["label"])):$("v-if",!0),t.isProject?(u(),z(c,{key:1,label:e.$t("dashboard.info.projectPath")},{default:o(()=>[l("span",kt,a(t.cfg.projectRoot),1)]),_:1},8,["label"])):$("v-if",!0),s(c,{label:e.$t("dashboard.info.websocket")},{default:o(()=>[l("span",wt," ws://"+a(t.cfg.wsHost||"127.0.0.1")+":"+a(t.cfg.wsPort||18800),1)]),_:1},8,["label"]),s(c,{label:e.$t("dashboard.info.auth")},{default:o(()=>[s(S,{color:t.cfg.wsToken?"green":"default",style:{"font-size":"11px"}},{default:o(()=>[f(a(t.cfg.wsToken?e.$t("dashboard.info.authEnabled"):e.$t("dashboard.info.authDisabled")),1)]),_:1},8,["color"])]),_:1},8,["label"]),s(c,{label:e.$t("dashboard.info.version")},{default:o(()=>[l("span",St,a(t.PRODUCT_VERSION),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["title"])])}const Dt=W(re,[["render",Ct],["__scopeId","data-v-7f773d42"],["__file","/tmp/cc-web-panel-j3HnbJ/repo/packages/web-panel/src/views/Dashboard.vue"]]);export{Dt as default};
@@ -1 +0,0 @@
1
- import{P as n,f as m,i as V,aA as B}from"./index-k7QsBwyo.js";import{d as D,r as g,w as M,b as v,c as d,F}from"./vendor-Bn1JzzAn.js";import{T as L}from"./Trigger-CXrW4Nry.js";import{c as y}from"./vnode-ejVeFJ0x.js";const l={adjustX:1,adjustY:1},s=[0,0],W={topLeft:{points:["bl","tl"],overflow:l,offset:[0,-4],targetOffset:s},topCenter:{points:["bc","tc"],overflow:l,offset:[0,-4],targetOffset:s},topRight:{points:["br","tr"],overflow:l,offset:[0,-4],targetOffset:s},bottomLeft:{points:["tl","bl"],overflow:l,offset:[0,4],targetOffset:s},bottomCenter:{points:["tc","bc"],overflow:l,offset:[0,4],targetOffset:s},bottomRight:{points:["tr","br"],overflow:l,offset:[0,4],targetOffset:s}};var $=function(e,c){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&c.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(e);i<o.length;i++)c.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(a[o[i]]=e[o[i]]);return a};const X=D({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:n.string.def("rc-dropdown"),transitionName:String,overlayClassName:n.string.def(""),openClassName:String,animation:n.any,align:n.object,overlayStyle:{type:Object,default:void 0},placement:n.string.def("bottomLeft"),overlay:n.any,trigger:n.oneOfType([n.string,n.arrayOf(n.string)]).def("hover"),alignPoint:{type:Boolean,default:void 0},showAction:n.array,hideAction:n.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:n.number.def(.15),mouseLeaveDelay:n.number.def(.1)},emits:["visibleChange","overlayClick"],setup(e,c){let{slots:a,emit:o,expose:i}=c;const f=g(!!e.visible);M(()=>e.visible,t=>{t!==void 0&&(f.value=t)});const p=g();i({triggerRef:p});const b=t=>{e.visible===void 0&&(f.value=!1),o("overlayClick",t)},h=t=>{e.visible===void 0&&(f.value=t),o("visibleChange",t)},C=()=>{var t;const r=(t=a.overlay)===null||t===void 0?void 0:t.call(a),u={prefixCls:`${e.prefixCls}-menu`,onClick:b};return d(F,{key:B},[e.arrow&&d("div",{class:`${e.prefixCls}-arrow`},null),y(r,u,!1)])},w=v(()=>{const{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),O=()=>{var t;const r=(t=a.default)===null||t===void 0?void 0:t.call(a);return f.value&&r?y(r[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):r},P=v(()=>!e.hideAction&&e.trigger.indexOf("contextmenu")!==-1?["click"]:e.hideAction);return()=>{const{prefixCls:t,arrow:r,showAction:u,overlayStyle:x,trigger:A,placement:N,align:j,getPopupContainer:S,transitionName:T,animation:_,overlayClassName:k}=e,E=$(e,["prefixCls","arrow","showAction","overlayStyle","trigger","placement","align","getPopupContainer","transitionName","animation","overlayClassName"]);return d(L,m(m({},E),{},{prefixCls:t,ref:p,popupClassName:V(k,{[`${t}-show-arrow`]:r}),popupStyle:x,builtinPlacements:W,action:A,showAction:u,hideAction:P.value||[],popupPlacement:N,popupAlign:j,popupTransitionName:T,popupAnimation:_,popupVisible:f.value,stretch:w.value?"minWidth":"",onPopupVisibleChange:h,getPopupContainer:S}),{popup:C,default:O})}}});export{X as D};
@@ -1 +0,0 @@
1
- import{I as C,P as c,J as f,U as r,c as h,_ as j,R as n,V as l,K as d,Q as u,S as g,b as t}from"./vendor-Bn1JzzAn.js";import{_ as k}from"./index-k7QsBwyo.js";import{aH as w}from"./icons-DG5UD-6K.js";const M={__name:"EmailListRenderer",props:{event:{type:Object,required:!0}},setup(_,{expose:m}){m();const a=_,e=t(()=>a.event.content||{}),i=t(()=>a.event.extra||{}),p=t(()=>e.value.from||e.value.sender||e.value.fromName||a.event.actor||"(未知发件人)"),s=t(()=>e.value.subject||e.value.title||"(无主题)"),y=t(()=>e.value.snippet||e.value.preview||e.value.body?.slice(0,100)||null),b=t(()=>Array.isArray(e.value.attachments)?e.value.attachments.length:typeof e.value.attachmentCount=="number"?e.value.attachmentCount:0),x=t(()=>i.value.category||e.value.category),S=t(()=>e.value.unread===!0),T=t(()=>{if(!a.event.occurredAt)return"";const o=new Date(a.event.occurredAt);return`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")} ${String(o.getHours()).padStart(2,"0")}:${String(o.getMinutes()).padStart(2,"0")}`}),v={props:a,c:e,e:i,fromText:p,subjectText:s,snippetText:y,attachmentCount:b,category:x,isUnread:S,formattedTime:T,computed:t,get MailOutlined(){return w}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}},N={class:"email-row"},O={class:"left"},V={class:"body"},A={class:"head"},B={class:"from"},E={class:"time"},R={class:"subject"},D={key:0,class:"snippet"},H={class:"meta"};function L(_,m,a,e,i,p){const s=C("a-tag");return c(),f("div",N,[r("div",O,[h(e.MailOutlined,{class:j(["icon",{unread:e.isUnread}])},null,8,["class"])]),r("div",V,[r("div",A,[r("span",B,n(e.fromText),1),r("span",E,n(e.formattedTime),1)]),r("div",R,n(e.subjectText),1),e.snippetText?(c(),f("div",D,n(e.snippetText),1)):l("v-if",!0),r("div",H,[h(s,{color:"blue",class:"src"},{default:d(()=>[u(n(a.event.source.adapter),1)]),_:1}),e.attachmentCount>0?(c(),g(s,{key:0,color:"orange"},{default:d(()=>[u(" 📎 "+n(e.attachmentCount),1)]),_:1})):l("v-if",!0),e.category?(c(),g(s,{key:1},{default:d(()=>[u(n(e.category),1)]),_:1})):l("v-if",!0)])])])}const P=k(M,[["render",L],["__scopeId","data-v-e4ddf632"],["__file","/tmp/cc-web-panel-j3HnbJ/repo/packages/web-panel/src/components/pdh/renderers/EmailListRenderer.vue"]]);export{P as default};
@@ -1 +0,0 @@
1
- .email-row[data-v-e4ddf632]{display:flex;gap:12px;padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:8px}.left[data-v-e4ddf632]{display:flex;align-items:flex-start;padding-top:4px}.left .icon[data-v-e4ddf632]{font-size:18px;color:#999}.left .icon.unread[data-v-e4ddf632]{color:#1677ff}.body[data-v-e4ddf632]{flex:1;min-width:0}.head[data-v-e4ddf632]{display:flex;justify-content:space-between;margin-bottom:4px}.from[data-v-e4ddf632]{font-weight:600;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.time[data-v-e4ddf632]{font-size:12px;color:#999;flex-shrink:0;margin-left:8px}.subject[data-v-e4ddf632]{font-size:14px;color:#333;margin-bottom:4px;font-weight:500}.snippet[data-v-e4ddf632]{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.meta[data-v-e4ddf632]{display:flex;gap:6px;flex-wrap:wrap}.src[data-v-e4ddf632]{font-size:10px}
@@ -1 +0,0 @@
1
- .page-head[data-v-5a42105e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.notice[data-v-5a42105e]{margin-bottom:16px}.panel-card[data-v-5a42105e]{height:100%;background:var(--bg-card);border-color:var(--border-color)}.status-card[data-v-5a42105e]{min-height:318px}.mono[data-v-5a42105e]{font-family:var(--font-mono, monospace);overflow-wrap:anywhere}.error[data-v-5a42105e]{margin-top:16px}
@@ -1 +0,0 @@
1
- import{I as s,J as T,U as i,c as a,K as o,S as I,V as C,o as V,r as k,a as A,b as L,P,Q as c,R as v,F as q,Z as z}from"./vendor-Bn1JzzAn.js";import{_ as J,u as N,d}from"./index-k7QsBwyo.js";import{R as W}from"./icons-DG5UD-6K.js";function B(h){return["ask","agent"].map(t=>{const n=h?.readiness?.[t],e=n?.state==="admitted",m=n?.scope==="deployment-admission"&&n.runtimeVerification==="not_checked"&&Array.isArray(n.requiredCommands)&&n.requiredCommands.includes(t)&&(e?n.ready===!0&&n.taskReady===null:["not_configured","disabled","invalid","command_not_allowed"].includes(n.state)&&n.ready===!1&&n.taskReady===!1);return{command:t,state:m?n.state:"unknown",summary:m?e?"部署准入通过":"部署准入被阻断":"未提供准入诊断",detail:m&&typeof n.detail=="string"?n.detail:"当前 CLI 未提供可识别的部署准入诊断,请更新 CLI。",remediation:m&&typeof n.remediation=="string"?n.remediation:""}})}function H(h,t){for(const n of Object.keys(h))delete h[n];Object.assign(h,{source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[],readiness:null},t||{})}const F={__name:"EvolutionSettings",setup(h,{expose:t}){t();const n=N(),e=k(!1),m=k(!1),S=k(!1),_=k(!1),R=k(!1),y=k(""),f=k(""),p=k(""),u=A({source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[]}),x=L(()=>e.value||m.value||S.value||_.value||R.value),O=L(()=>B(u));function w(r){H(u,r),f.value=u.descriptorPath||"",p.value=u.trustRootPath||"",y.value=u.modulePath||y.value||""}async function g(r,U=3e4){return await n.waitConnected(8e3),(await n.sendRaw(r,U)).result}async function E(){e.value=!0;try{w(await g({type:"evolution.deployment.status"}))}catch(r){d.error("读取配置失败:"+r.message)}finally{e.value=!1}}async function b(){if(!f.value.trim()||!p.value.trim()){d.warning("请填写描述符和信任根公钥的绝对路径");return}m.value=!0;try{w(await g({type:"evolution.deployment.configure",descriptorPath:f.value.trim(),trustRootPath:p.value.trim()},6e4)),d.success("签名校验通过,配置已保存并启用;自动发布仍为 HOLD")}catch(r){d.error("配置失败:"+r.message)}finally{m.value=!1}}async function D(){if(!y.value.trim()){d.warning("请填写测试部署宿主模块的服务器绝对路径");return}_.value=!0;try{w(await g({type:"evolution.deployment.init-test",modulePath:y.value.trim()},6e4)),d.success("TEST 测试开发环境已生成并启用;禁止用于生产")}catch(r){d.error("生成测试环境失败:"+r.message)}finally{_.value=!1}}async function j(){if(!f.value.trim()||!p.value.trim()){d.warning("请填写正式描述符和正式信任根公钥的绝对路径");return}R.value=!0;try{w(await g({type:"evolution.deployment.replace-test",descriptorPath:f.value.trim(),trustRootPath:p.value.trim()},6e4)),d.success("测试根已安全轮换为正式受管证书;请重启 cc ui、IDE 或 Desktop 长驻进程后做正式验证")}catch(r){d.error("替换失败:"+r.message)}finally{R.value=!1}}async function l(){S.value=!0;try{w(await g({type:"evolution.deployment.set-enabled",enabled:!u.profileEnabled})),d.success(u.profileEnabled?"已启用":"已停用")}catch(r){d.error("更新失败:"+r.message)}finally{S.value=!1}}V(E);const M={ws:n,loading:e,saving:m,toggling:S,initializingTest:_,replacingTest:R,modulePath:y,descriptorPath:f,trustRootPath:p,status:u,busy:x,readinessRows:O,apply:w,request:g,loadStatus:E,save:b,initTest:D,replaceTest:j,toggle:l,computed:L,onMounted:V,reactive:A,ref:k,get ReloadOutlined(){return W},get message(){return d},get useWsStore(){return N},get deploymentReadinessRows(){return B},get replaceDeploymentStatus(){return H}};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}},Q={class:"page-head"},K={class:"mono"},Z={class:"mono"},G={class:"admission-status","aria-live":"polite"},X=["data-admission-command"],Y={class:"mono"},$={key:0,class:"mono"};function ee(h,t,n,e,m,S){const _=s("a-button"),R=s("a-switch"),y=s("a-card"),f=s("a-alert"),p=s("a-input"),u=s("a-form-item"),x=s("a-divider"),O=s("a-space"),w=s("a-form"),g=s("a-col"),E=s("a-tag"),b=s("a-descriptions-item"),D=s("a-descriptions"),j=s("a-row");return P(),T("div",null,[i("div",Q,[t[4]||(t[4]=i("div",null,[i("h2",{class:"page-title"},"Skill 自进化配置"),i("p",{class:"page-sub"}," 默认关闭;CLI、IDE 插件与 cc ui 共用 evolution.enabled 配置。 ")],-1)),a(_,{loading:e.loading,onClick:e.loadStatus},{icon:o(()=>[a(e.ReloadOutlined)]),default:o(()=>[t[3]||(t[3]=c("刷新 ",-1))]),_:1},8,["loading"])]),a(y,{title:"自进化开关",class:"notice"},{default:o(()=>[a(R,{checked:e.status.profileEnabled,loading:e.toggling,disabled:e.busy||e.loading,"checked-children":"已开启","un-checked-children":"已关闭",onChange:e.toggle},null,8,["checked","loading","disabled"]),t[5]||(t[5]=i("p",null," 关闭后仍可正常聊天和使用 Agent。首次开启会初始化本地运行时,也可使用下方配置的部署。 ",-1)),t[6]||(t[6]=i("p",null," Quick Ask 的下一次请求生效;正在运行的 Agent 会话请停止后重新启动。候选项发布仍需人工审核。 ",-1)),t[7]||(t[7]=i("p",{class:"mono"},'config.json:"evolution": { "enabled": false }',-1))]),_:1}),a(f,{message:"自进化与自动发布分别控制",description:"开启后使用经过签名的 Skill 自进化运行时;自动发布始终保持 HOLD。",type:"info","show-icon":"",class:"notice"}),e.status.deploymentMode==="test"?(P(),I(f,{key:0,message:"当前为 TEST 测试开发环境",description:"本机自动生成的测试密钥不能用于生产。正式 descriptor 和 trust root 到位后,请使用下方“一键替换测试证书并转正式”。",type:"error","show-icon":"",class:"notice"})):C("v-if",!0),a(j,{gutter:16},{default:o(()=>[a(g,{xs:24,xl:15},{default:o(()=>[a(y,{title:"上线前测试与正式部署",class:"panel-card"},{default:o(()=>[a(w,{layout:"vertical"},{default:o(()=>[a(u,{label:"测试部署宿主模块"},{extra:o(()=>[...t[8]||(t[8]=[c("首次填写后点击一次即可生成 Ed25519 测试密钥、签名描述符并启用;宿主模块修改后再次点击可刷新。",-1)])]),default:o(()=>[a(p,{value:e.modulePath,"onUpdate:value":t[0]||(t[0]=l=>e.modulePath=l),disabled:e.busy,placeholder:"运行 cc ui 的机器上 deployment host .mjs/.js 的绝对路径"},null,8,["value","disabled"])]),_:1}),a(_,{type:"primary",loading:e.initializingTest,onClick:e.initTest},{default:o(()=>[...t[9]||(t[9]=[c("一键生成/刷新测试环境",-1)])]),_:1},8,["loading"]),a(x),a(u,{label:"签名部署描述符"},{extra:o(()=>[...t[10]||(t[10]=[c("Web 页面不能读取本机文件选择器,请填写运行 cc ui 的机器上的绝对路径。",-1)])]),default:o(()=>[a(p,{value:e.descriptorPath,"onUpdate:value":t[1]||(t[1]=l=>e.descriptorPath=l),disabled:e.busy,placeholder:"deployment descriptor JSON 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),a(u,{label:"Ed25519 信任根公钥"},{default:o(()=>[a(p,{value:e.trustRootPath,"onUpdate:value":t[2]||(t[2]=l=>e.trustRootPath=l),disabled:e.busy,placeholder:"信任根 public key 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),a(O,null,{default:o(()=>[a(_,{type:"primary",loading:e.saving,onClick:e.save},{default:o(()=>[...t[11]||(t[11]=[c("校验、保存并启用",-1)])]),_:1},8,["loading"]),e.status.deploymentMode==="test"?(P(),I(_,{key:0,loading:e.replacingTest,onClick:e.replaceTest},{default:o(()=>[...t[12]||(t[12]=[c("一键替换测试证书并转正式",-1)])]),_:1},8,["loading"])):C("v-if",!0)]),_:1})]),_:1})]),_:1})]),_:1}),a(g,{xs:24,xl:9},{default:o(()=>[a(y,{title:"治理状态",class:"panel-card status-card"},{default:o(()=>[a(D,{column:1,size:"small"},{default:o(()=>[a(b,{label:"部署模式"},{default:o(()=>[a(E,{color:e.status.deploymentMode==="test"?"red":"blue"},{default:o(()=>[c(v(e.status.deploymentMode==="test"?"TEST(仅限上线前联调)":e.status.deploymentMode||"none"),1)]),_:1},8,["color"])]),_:1}),a(b,{label:"生效状态"},{default:o(()=>[a(E,{color:e.status.effectiveEnabled?"green":"default"},{default:o(()=>[c(v(e.status.effectiveEnabled?"已启用":"未启用"),1)]),_:1},8,["color"])]),_:1}),a(b,{label:"生效来源"},{default:o(()=>[c(v(e.status.source||"none"),1)]),_:1}),a(b,{label:"签名校验"},{default:o(()=>[a(E,{color:e.status.verified?"green":"red"},{default:o(()=>[c(v(e.status.verified?"已通过":"未通过"),1)]),_:1},8,["color"])]),_:1}),a(b,{label:"自动发布"},{default:o(()=>[a(E,{color:"orange"},{default:o(()=>[...t[13]||(t[13]=[c("HOLD",-1)])]),_:1})]),_:1}),a(b,{label:"配置文件"},{default:o(()=>[i("span",K,v(e.status.profilePath||"—"),1)]),_:1}),a(b,{label:"允许命令"},{default:o(()=>[i("span",Z,v((e.status.commands||[]).join(", ")||"—"),1)]),_:1})]),_:1}),i("section",G,[t[14]||(t[14]=i("h3",null,"自进化部署准入",-1)),t[15]||(t[15]=i("p",null,"这里只检查部署准入,实际任务运行尚未验证。",-1)),(P(!0),T(q,null,z(e.readinessRows,l=>(P(),T("div",{key:l.command,"data-admission-command":l.command},[i("strong",null,v(l.command)+":"+v(l.summary),1),i("p",Y,v(l.detail),1),l.remediation?(P(),T("p",$,v(l.remediation),1)):C("v-if",!0)],8,X))),128))]),e.status.error?(P(),I(f,{key:0,message:e.status.error,type:"error","show-icon":"",class:"error"},null,8,["message"])):C("v-if",!0)]),_:1})]),_:1})]),_:1})])}const le=J(F,[["render",ee],["__scopeId","data-v-5a42105e"],["__file","/tmp/cc-web-panel-j3HnbJ/repo/packages/web-panel/src/views/EvolutionSettings.vue"]]);export{le as default};
@@ -1 +0,0 @@
1
- import{E as z,b as M,r as f,I as c,J as v,U as E,c as s,K as r,S as K,V as G,F as k,o as N,P as p,Q as x,R as S}from"./vendor-Bn1JzzAn.js";import{u as L,_ as R}from"./index-k7QsBwyo.js";import"./icons-DG5UD-6K.js";function T(a){if(!a)return a;if(a.error)throw new Error(a.error);return a.result!==void 0?a.result:a}function O(a,t){if(a&&a.success===!1)throw new Error(a.error||"请求失败");return a&&a.data!==void 0?a.data:t}function U(){const a=L(),t=(n,e={},u=15e3)=>a.sendRaw({type:n,...e},u).then(T);return{async listChildren(){return O(await t("family-guard.list-children",{},1e4),[])},async listChildEvents(n={}){return O(await t("family-guard.list-child-events",n),[])},async appUsageSummary(n={}){return O(await t("family-guard.app-usage-summary",n),{totalMs:0,apps:[]})}}}const P=z("familyGuard",()=>{const a=f([]),t=f(null),n=f([]),e=f({totalMs:0,apps:[]}),u=f(!1),_=f(null),g=M(()=>a.value.length>0),w=M(()=>Math.round((e.value.totalMs||0)/6e4));async function C(){u.value=!0,_.value=null;try{const o=U();a.value=await o.listChildren(),!t.value&&a.value.length>0&&await y(a.value[0].childDid)}catch(o){_.value=o?.message||String(o)}finally{u.value=!1}}async function y(o,i=0){t.value=o,await Promise.all([h(i),m(i)])}async function h(o=0,i=200){if(!t.value)return;const b=U();n.value=await b.listChildEvents({childDid:t.value,sinceMs:o,limit:i})}async function m(o=0){if(!t.value)return;const i=U();e.value=await i.appUsageSummary({childDid:t.value,sinceMs:o})}return{children:a,selectedChildDid:t,events:n,summary:e,loading:u,error:_,hasChildren:g,totalMinutes:w,fetchChildren:C,selectChild:y,fetchEvents:h,fetchSummary:m}}),j={__name:"FamilyGuardDashboard",setup(a,{expose:t}){t();const n=P(),e=f(null),u=f("all"),_=[{label:"全部",value:"all"},{label:"近 24 小时",value:"24h"},{label:"近 7 天",value:"7d"}],g=M(()=>n.children.map(l=>({label:`${l.childDid}(${l.eventCount} 条)`,value:l.childDid}))),w=M(()=>m(n.summary.totalMs)),C=[{title:"应用 / 包名",dataIndex:"package",key:"package",ellipsis:!0},{title:"时长",dataIndex:"totalMs",key:"totalMs",width:140},{title:"次数",dataIndex:"count",key:"count",width:100}],y=[{title:"时间",dataIndex:"timestampMs",key:"timestampMs",width:180},{title:"来源",dataIndex:"source",key:"source",width:140},{title:"应用",dataIndex:"package",key:"app",ellipsis:!0},{title:"时长",dataIndex:"durationMs",key:"durationMs",width:120},{title:"级别",dataIndex:"level",key:"level",width:80}];function h(){return u.value==="24h"?Date.now()-1440*60*1e3:u.value==="7d"?Date.now()-10080*60*1e3:0}function m(l){const I=Math.round((l||0)/1e3),V=Math.floor(I/3600),F=Math.floor(I%3600/60),B=I%60;return V>0?`${V}h ${F}m`:F>0?`${F}m ${B}s`:`${B}s`}function o(l){return l?new Date(l).toLocaleString():"—"}async function i(l){await n.selectChild(l,h())}async function b(){if(!n.selectedChildDid)return;const l=h();await Promise.all([n.fetchEvents(l),n.fetchSummary(l)])}async function D(){await n.fetchChildren(),e.value=n.selectedChildDid}N(async()=>{await n.fetchChildren(),e.value=n.selectedChildDid});const d={store:n,selectedChild:e,rangeKey:u,rangeOptions:_,childOptions:g,totalLabel:w,appColumns:C,eventColumns:y,sinceMsForRange:h,formatDuration:m,formatTime:o,onSelectChild:i,refreshDetail:b,refresh:D,computed:M,onMounted:N,ref:f,get useFamilyGuardStore(){return P}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}},J={class:"family-guard-dashboard"},H={class:"page-header"};function Q(a,t,n,e,u,_){const g=c("a-button"),w=c("a-alert"),C=c("a-empty"),y=c("a-select"),h=c("a-space"),m=c("a-statistic"),o=c("a-card"),i=c("a-col"),b=c("a-row"),D=c("a-table");return p(),v("div",J,[E("div",H,[t[3]||(t[3]=E("h2",null,"家庭守护 · 孩子使用情况",-1)),s(g,{loading:e.store.loading,onClick:e.refresh},{default:r(()=>[...t[2]||(t[2]=[x("刷新",-1)])]),_:1},8,["loading"])]),e.store.error?(p(),K(w,{key:0,type:"error",message:e.store.error,banner:"",closable:"",style:{"margin-bottom":"12px"}},null,8,["message"])):G("v-if",!0),!e.store.loading&&!e.store.hasChildren?(p(),K(C,{key:1,description:"还没有收到任何孩子端的使用数据(需在桌面端运行,孩子端已配对并上行)"})):(p(),v(k,{key:2},[s(h,{style:{"margin-bottom":"16px"},align:"center",wrap:""},{default:r(()=>[t[4]||(t[4]=E("span",null,"孩子:",-1)),s(y,{value:e.selectedChild,"onUpdate:value":t[0]||(t[0]=d=>e.selectedChild=d),style:{"min-width":"280px"},options:e.childOptions,placeholder:"选择孩子",onChange:e.onSelectChild},null,8,["value","options"]),s(y,{value:e.rangeKey,"onUpdate:value":t[1]||(t[1]=d=>e.rangeKey=d),style:{"min-width":"140px"},options:e.rangeOptions,onChange:e.refreshDetail},null,8,["value"])]),_:1}),s(b,{gutter:16,style:{"margin-bottom":"16px"}},{default:r(()=>[s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"总使用时长",value:e.totalLabel},null,8,["value"])]),_:1})]),_:1}),s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"应用数",value:e.store.summary.apps.length},null,8,["value"])]),_:1})]),_:1}),s(i,{xs:24,md:8},{default:r(()=>[s(o,null,{default:r(()=>[s(m,{title:"事件数",value:e.store.events.length},null,8,["value"])]),_:1})]),_:1})]),_:1}),s(o,{title:"应用使用排行",style:{"margin-bottom":"16px"}},{default:r(()=>[s(D,{"data-source":e.store.summary.apps,columns:e.appColumns,pagination:!1,"row-key":"package",size:"small"},{bodyCell:r(({column:d,record:l})=>[d.key==="totalMs"?(p(),v(k,{key:0},[x(S(e.formatDuration(l.totalMs)),1)],64)):G("v-if",!0)]),_:1},8,["data-source"])]),_:1}),s(o,{title:"最近事件"},{default:r(()=>[s(D,{"data-source":e.store.events,columns:e.eventColumns,pagination:{pageSize:20},"row-key":"resourceId",size:"small"},{bodyCell:r(({column:d,record:l})=>[d.key==="timestampMs"?(p(),v(k,{key:0},[x(S(e.formatTime(l.timestampMs)),1)],64)):d.key==="durationMs"?(p(),v(k,{key:1},[x(S(e.formatDuration(l.durationMs)),1)],64)):d.key==="app"?(p(),v(k,{key:2},[x(S(l.package||"—"),1)],64)):G("v-if",!0)]),_:1},8,["data-source"])]),_:1})],64))])}const X=R(j,[["render",Q],["__scopeId","data-v-f49db8d0"],["__file","/tmp/cc-web-panel-j3HnbJ/repo/packages/web-panel/src/views/FamilyGuardDashboard.vue"]]);export{X as default};
@@ -1 +0,0 @@
1
- .family-guard-dashboard[data-v-f49db8d0]{padding:16px}.page-header[data-v-f49db8d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}