chainlesschain 0.162.29 → 0.162.31

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 (420) hide show
  1. package/package.json +2 -2
  2. package/src/assets/web-panel/assets/AIOps-BqWP6FKu.js +1 -0
  3. package/src/assets/web-panel/assets/AIOps-CSpp7iGY.css +1 -0
  4. package/src/assets/web-panel/assets/{ActionButton-wRdLFzBQ.js → ActionButton-CXwMgOvX.js} +1 -1
  5. package/src/assets/web-panel/assets/Analytics-DAebZ4IY.js +3 -0
  6. package/src/assets/web-panel/assets/Analytics-DJcHjy5J.css +1 -0
  7. package/src/assets/web-panel/assets/AppLayout-CYsqYoME.js +9 -0
  8. package/src/assets/web-panel/assets/AppLayout-VlanTjPw.css +1 -0
  9. package/src/assets/web-panel/assets/Audit-BbTtX1Nf.js +1 -0
  10. package/src/assets/web-panel/assets/Audit-D8oxP0wr.css +1 -0
  11. package/src/assets/web-panel/assets/Backup-DgqY2Eb-.js +1 -0
  12. package/src/assets/web-panel/assets/Backup-Wi9CaP3d.css +1 -0
  13. package/src/assets/web-panel/assets/BaseInput-Cq2ZuSoO.js +1 -0
  14. package/src/assets/web-panel/assets/Chat-D2kqpUyO.js +8 -0
  15. package/src/assets/web-panel/assets/Chat-DDh58PCf.css +1 -0
  16. package/src/assets/web-panel/assets/ChatBubbleRenderer-C-svYkrC.js +1 -0
  17. package/src/assets/web-panel/assets/ChatBubbleRenderer-gy5SDGw2.css +1 -0
  18. package/src/assets/web-panel/assets/{Checkbox-DoGqmF9g.js → Checkbox-_9swHpyc.js} +1 -1
  19. package/src/assets/web-panel/assets/Codegen-BB08p1fn.css +1 -0
  20. package/src/assets/web-panel/assets/Codegen-Cr9YbCPl.js +1 -0
  21. package/src/assets/web-panel/assets/{Col-C-9-jORK.js → Col--wdpCMxx.js} +1 -1
  22. package/src/assets/web-panel/assets/Community-Cbq1nrpo.css +1 -0
  23. package/src/assets/web-panel/assets/Community-DuFcVnLu.js +1 -0
  24. package/src/assets/web-panel/assets/{Compact-CemvxU3z.js → Compact-1yzYeT04.js} +1 -1
  25. package/src/assets/web-panel/assets/Compliance-Dq3aU9Df.js +1 -0
  26. package/src/assets/web-panel/assets/Compliance-NoXr2Vof.css +1 -0
  27. package/src/assets/web-panel/assets/Cowork-BlXJRu6L.css +1 -0
  28. package/src/assets/web-panel/assets/Cowork-CrWcnIg8.js +6 -0
  29. package/src/assets/web-panel/assets/Cron-Bh6fKZ0h.js +2 -0
  30. package/src/assets/web-panel/assets/Crosschain-8ofPaWVW.js +1 -0
  31. package/src/assets/web-panel/assets/Crosschain-CgRAecoR.css +1 -0
  32. package/src/assets/web-panel/assets/DID-D3EiYm3w.js +2 -0
  33. package/src/assets/web-panel/assets/DID-DVsYcgvs.css +1 -0
  34. package/src/assets/web-panel/assets/Dashboard-BFjEdFne.js +3 -0
  35. package/src/assets/web-panel/assets/Dashboard-CAPSdFR4.css +1 -0
  36. package/src/assets/web-panel/assets/Dropdown-pYVPcP6O.js +1 -0
  37. package/src/assets/web-panel/assets/EmailListRenderer-DTPZPx_S.css +1 -0
  38. package/src/assets/web-panel/assets/EmailListRenderer-zBPodwJ1.js +1 -0
  39. package/src/assets/web-panel/assets/FamilyGuardDashboard-CyQTW6PW.js +1 -0
  40. package/src/assets/web-panel/assets/FamilyGuardDashboard-nd3idUVb.css +1 -0
  41. package/src/assets/web-panel/assets/Federation-Ctaq3zYq.js +1 -0
  42. package/src/assets/web-panel/assets/Federation-fGN6iMX_.css +1 -0
  43. package/src/assets/web-panel/assets/FormItemContext-CWYJCLq1.js +2 -0
  44. package/src/assets/web-panel/assets/GenericCardRenderer-B1g6t9R9.js +1 -0
  45. package/src/assets/web-panel/assets/GenericCardRenderer-o85VDYQS.css +1 -0
  46. package/src/assets/web-panel/assets/{Git-DPuaGtg7.css → Git-BdHhxBWR.css} +1 -1
  47. package/src/assets/web-panel/assets/Git-DH-v8iwd.js +2 -0
  48. package/src/assets/web-panel/assets/Governance-DtCS4NDm.css +1 -0
  49. package/src/assets/web-panel/assets/Governance-jZxXvOs5.js +1 -0
  50. package/src/assets/web-panel/assets/Inference-D07LRghn.js +1 -0
  51. package/src/assets/web-panel/assets/Inference-t-w0NgIS.css +1 -0
  52. package/src/assets/web-panel/assets/KnowledgeGraph-4NU1S2Xm.css +1 -0
  53. package/src/assets/web-panel/assets/KnowledgeGraph-DnGtRZhx.js +1 -0
  54. package/src/assets/web-panel/assets/Logs-D2pM9C4W.js +2 -0
  55. package/src/assets/web-panel/assets/Logs-DQbCaYhL.css +1 -0
  56. package/src/assets/web-panel/assets/Marketplace-Bvo5cuGa.css +1 -0
  57. package/src/assets/web-panel/assets/Marketplace-UyIO7C7r.js +1 -0
  58. package/src/assets/web-panel/assets/McpTools-534Q95Mx.css +1 -0
  59. package/src/assets/web-panel/assets/McpTools-Bf1gvZPf.js +7 -0
  60. package/src/assets/web-panel/assets/Memory-C1bWj4RN.js +2 -0
  61. package/src/assets/web-panel/assets/Memory-CleW_R6V.css +1 -0
  62. package/src/assets/web-panel/assets/MobileBridge-C_Ot1H_a.js +3 -0
  63. package/src/assets/web-panel/assets/MobileBridge-zJpPuf4E.css +1 -0
  64. package/src/assets/web-panel/assets/MobileProjects-BD4alw6-.css +1 -0
  65. package/src/assets/web-panel/assets/MobileProjects-zr-PpsT_.js +1 -0
  66. package/src/assets/web-panel/assets/Mtc-CXZGO9Sh.css +1 -0
  67. package/src/assets/web-panel/assets/Mtc-CnzFUz5J.js +6 -0
  68. package/src/assets/web-panel/assets/MtcAudit-C1JM8esp.css +1 -0
  69. package/src/assets/web-panel/assets/MtcAudit-CAAh99wz.js +19 -0
  70. package/src/assets/web-panel/assets/Multisig-BryR2Jpr.css +1 -0
  71. package/src/assets/web-panel/assets/Multisig-D6IAg6HE.js +13 -0
  72. package/src/assets/web-panel/assets/NLProgramming-BFMarxb0.js +1 -0
  73. package/src/assets/web-panel/assets/NLProgramming-DGDHq6Z9.css +1 -0
  74. package/src/assets/web-panel/assets/Notes-BKKmMtqV.css +1 -0
  75. package/src/assets/web-panel/assets/Notes-BRp9ro3t.js +7 -0
  76. package/src/assets/web-panel/assets/NotificationSettings-C0Au3Cxb.js +1 -0
  77. package/src/assets/web-panel/assets/NotificationSettings-CG3Kfuef.css +1 -0
  78. package/src/assets/web-panel/assets/OrderTableRenderer-CfrDjSHT.css +1 -0
  79. package/src/assets/web-panel/assets/OrderTableRenderer-ISp6btRY.js +1 -0
  80. package/src/assets/web-panel/assets/Organization-DYoxLBRX.js +4 -0
  81. package/src/assets/web-panel/assets/Organization-LVvqwG0D.css +1 -0
  82. package/src/assets/web-panel/assets/{Overflow-BFxt7NlK.js → Overflow-rO8JJWGJ.js} +1 -1
  83. package/src/assets/web-panel/assets/{OverrideContext-C_4H9tGA.js → OverrideContext-C2r4vyBb.js} +1 -1
  84. package/src/assets/web-panel/assets/P2P-DJleeXIK.js +2 -0
  85. package/src/assets/web-panel/assets/P2P-DcFvP7F-.css +1 -0
  86. package/src/assets/web-panel/assets/PdhVaultBrowser-DM5qghFp.js +7 -0
  87. package/src/assets/web-panel/assets/PdhVaultBrowser-DZZrUOr1.css +1 -0
  88. package/src/assets/web-panel/assets/Permissions-D5v4Beya.js +4 -0
  89. package/src/assets/web-panel/assets/Permissions-DsPE_IQy.css +1 -0
  90. package/src/assets/web-panel/assets/PersonalDataHub-BhpRlh9D.css +1 -0
  91. package/src/assets/web-panel/assets/PersonalDataHub-c2ZTX0Pv.js +9 -0
  92. package/src/assets/web-panel/assets/Pipeline-BItr5CyP.css +1 -0
  93. package/src/assets/web-panel/assets/Pipeline-Crrkyhpz.js +1 -0
  94. package/src/assets/web-panel/assets/Privacy-DZVyrJKa.js +1 -0
  95. package/src/assets/web-panel/assets/Privacy-F_ENsxZk.css +1 -0
  96. package/src/assets/web-panel/assets/ProjectInit-B86LEzDL.css +1 -0
  97. package/src/assets/web-panel/assets/ProjectInit-DKg7J0gz.js +2 -0
  98. package/src/assets/web-panel/assets/ProjectSettings-3ndmTvVH.js +2 -0
  99. package/src/assets/web-panel/assets/ProjectSettings-DK7KA_iX.css +1 -0
  100. package/src/assets/web-panel/assets/Projects-CmJeUDBW.css +1 -0
  101. package/src/assets/web-panel/assets/Projects-ll5wnj2L.js +1 -0
  102. package/src/assets/web-panel/assets/Providers-BeqBVMhB.js +1 -0
  103. package/src/assets/web-panel/assets/Providers-C6q_fvea.css +1 -0
  104. package/src/assets/web-panel/assets/QuickAsk-DKAAxzuA.js +1 -0
  105. package/src/assets/web-panel/assets/Recommend-Byu7IGei.js +1 -0
  106. package/src/assets/web-panel/assets/Recommend-D_bf91K6.css +1 -0
  107. package/src/assets/web-panel/assets/Reputation-BKhWAmCu.js +1 -0
  108. package/src/assets/web-panel/assets/Reputation-DiOsOleI.css +1 -0
  109. package/src/assets/web-panel/assets/Row-BFtn11O6.js +1 -0
  110. package/src/assets/web-panel/assets/RssFeed-CjcbkyUb.css +1 -0
  111. package/src/assets/web-panel/assets/RssFeed-D5a0PT0k.js +3 -0
  112. package/src/assets/web-panel/assets/Search-DAkuaZNe.js +1 -0
  113. package/src/assets/web-panel/assets/Search-Klk29S7C.css +1 -0
  114. package/src/assets/web-panel/assets/Security-BmrukMHn.css +1 -0
  115. package/src/assets/web-panel/assets/Security-C79Ml2Ms.js +4 -0
  116. package/src/assets/web-panel/assets/Services-BBk_jH6-.js +2 -0
  117. package/src/assets/web-panel/assets/Services-DAnVNhUG.css +1 -0
  118. package/src/assets/web-panel/assets/{Skeleton-DL5ebkDK.js → Skeleton-Cy0VvL0M.js} +1 -1
  119. package/src/assets/web-panel/assets/Skills-BUu9owbR.css +1 -0
  120. package/src/assets/web-panel/assets/Skills-OQNky3uI.js +1 -0
  121. package/src/assets/web-panel/assets/Sla-CbX1f8xN.js +1 -0
  122. package/src/assets/web-panel/assets/Sla-sodqCU4a.css +1 -0
  123. package/src/assets/web-panel/assets/SpeechSettings-BIkoUjws.js +1 -0
  124. package/src/assets/web-panel/assets/SpeechSettings-CgB9nFyq.css +1 -0
  125. package/src/assets/web-panel/assets/SyncSettings-B3hJqmBP.css +1 -0
  126. package/src/assets/web-panel/assets/SyncSettings-DG6Swk7G.js +2 -0
  127. package/src/assets/web-panel/assets/Tasks-C9R8sgyi.js +1 -0
  128. package/src/assets/web-panel/assets/Tasks-nbTUVXvt.css +1 -0
  129. package/src/assets/web-panel/assets/Templates-AaJPeCIz.js +1 -0
  130. package/src/assets/web-panel/assets/Templates-CpFsKk_l.css +1 -0
  131. package/src/assets/web-panel/assets/Tenant-MuPJnOjk.css +1 -0
  132. package/src/assets/web-panel/assets/Tenant-jVFRofww.js +1 -0
  133. package/src/assets/web-panel/assets/Terminal-DHBMzfK6.js +3 -0
  134. package/src/assets/web-panel/assets/Terminal-DHoveJwj.css +1 -0
  135. package/src/assets/web-panel/assets/TimelineRenderer-9RFfOHSI.js +1 -0
  136. package/src/assets/web-panel/assets/TimelineRenderer-BlTAtkOc.css +1 -0
  137. package/src/assets/web-panel/assets/Tokens-CynVae-o.css +1 -0
  138. package/src/assets/web-panel/assets/Tokens-ZTfwuABF.js +1 -0
  139. package/src/assets/web-panel/assets/{Trigger-Rzs-a8Xf.js → Trigger-Xo7uZNQs.js} +1 -1
  140. package/src/assets/web-panel/assets/Trust-C-WrW0Fj.css +1 -0
  141. package/src/assets/web-panel/assets/Trust-C0cTPYvn.js +1 -0
  142. package/src/assets/web-panel/assets/UkeySign-DmMKio71.js +1 -0
  143. package/src/assets/web-panel/assets/VideoEditing-BDFghpzP.css +1 -0
  144. package/src/assets/web-panel/assets/VideoEditing-DP7B-oGT.js +1 -0
  145. package/src/assets/web-panel/assets/Wallet-B1kZDARo.js +4 -0
  146. package/src/assets/web-panel/assets/Wallet-DUbpTRcg.css +1 -0
  147. package/src/assets/web-panel/assets/WebAuthn-Bo5kBx27.js +5 -0
  148. package/src/assets/web-panel/assets/WebAuthn-CVAFRfCQ.css +1 -0
  149. package/src/assets/web-panel/assets/WorkflowEditor-429lPWYk.css +1 -0
  150. package/src/assets/web-panel/assets/WorkflowEditor-DGI9SNHH.js +1 -0
  151. package/src/assets/web-panel/assets/{_getTag-BVc6NQ_K.js → _getTag-DnrRH4E6.js} +1 -1
  152. package/src/assets/web-panel/assets/{chat-C7tndXfg.js → chat-y97W1CIG.js} +1 -1
  153. package/src/assets/web-panel/assets/{collapseMotion-DfnRZex1.js → collapseMotion-mxzzcDsg.js} +1 -1
  154. package/src/assets/web-panel/assets/{colors-dUAGx-eS.js → colors-DtTNo0sH.js} +1 -1
  155. package/src/assets/web-panel/assets/{compact-item-X13u92RU.js → compact-item-D0q0exuS.js} +1 -1
  156. package/src/assets/web-panel/assets/createContext-D7pLFs2I.js +1 -0
  157. package/src/assets/web-panel/assets/{debounce-D9xTw4Sx.js → debounce-CFGTTtN3.js} +1 -1
  158. package/src/assets/web-panel/assets/devWarning-BDK34w0I.js +1 -0
  159. package/src/assets/web-panel/assets/echarts-jxgIOFUZ.js +25 -0
  160. package/src/assets/web-panel/assets/{hasIn-DGFXWm7Y.js → hasIn-CXjG5B2j.js} +1 -1
  161. package/src/assets/web-panel/assets/{icons--SBOhPAi.js → icons-DP3uiYxy.js} +4 -4
  162. package/src/assets/web-panel/assets/{index-Deh_HoQ3.js → index-1dwtkcJv.js} +2 -2
  163. package/src/assets/web-panel/assets/index-4mWZhCzz.js +1 -0
  164. package/src/assets/web-panel/assets/index-6np5ESBM.js +1 -0
  165. package/src/assets/web-panel/assets/{index-Bewc5jaO.js → index-8jxbZupG.js} +1 -1
  166. package/src/assets/web-panel/assets/{index-DW1GR68q.js → index-B3y_4OdG.js} +1 -1
  167. package/src/assets/web-panel/assets/index-B4dPdrvC.js +1 -0
  168. package/src/assets/web-panel/assets/index-B6SaRuCI.js +1 -0
  169. package/src/assets/web-panel/assets/index-B9ekWb3I.js +1 -0
  170. package/src/assets/web-panel/assets/index-BJUf19Wd.js +73 -0
  171. package/src/assets/web-panel/assets/index-BO644Q4S.js +21 -0
  172. package/src/assets/web-panel/assets/index-BPXhU-jp.js +7 -0
  173. package/src/assets/web-panel/assets/index-BU944DeT.js +31 -0
  174. package/src/assets/web-panel/assets/index-B_hjkMtX.js +3 -0
  175. package/src/assets/web-panel/assets/index-BdhEYW2a.js +1 -0
  176. package/src/assets/web-panel/assets/{index-DBfn83eM.js → index-BgmvrPJH.js} +1 -1
  177. package/src/assets/web-panel/assets/index-BgyrM0UN.js +19 -0
  178. package/src/assets/web-panel/assets/{index-Cq-fdWWC.js → index-BnLrbXDA.js} +1 -1
  179. package/src/assets/web-panel/assets/{index-C54Ydkuz.js → index-BqVjUN8b.js} +4 -4
  180. package/src/assets/web-panel/assets/index-BzCPx1cq.js +21 -0
  181. package/src/assets/web-panel/assets/index-CFsPe2N7.js +3 -0
  182. package/src/assets/web-panel/assets/{index-C14mc-46.js → index-CKrbutAQ.js} +1 -1
  183. package/src/assets/web-panel/assets/index-CSdhC7Qo.js +1 -0
  184. package/src/assets/web-panel/assets/{index-BqX3jeij.js → index-Cbqu804A.js} +1 -1
  185. package/src/assets/web-panel/assets/{index-CvlrcZKy.js → index-CkGFqlYX.js} +4 -4
  186. package/src/assets/web-panel/assets/{index-CfX1DEtk.css → index-Cq93VfoF.css} +1 -1
  187. package/src/assets/web-panel/assets/index-Ct6xtKkc.js +1 -0
  188. package/src/assets/web-panel/assets/index-DY6KLlgG.js +1 -0
  189. package/src/assets/web-panel/assets/index-D_4WcI1V.js +13 -0
  190. package/src/assets/web-panel/assets/{index-Ced-t9AY.js → index-DjCawXk1.js} +3 -3
  191. package/src/assets/web-panel/assets/index-Dr45Nm9V.js +55 -0
  192. package/src/assets/web-panel/assets/index-EaIfumgW.js +1 -0
  193. package/src/assets/web-panel/assets/index-POaFzYGS.js +1 -0
  194. package/src/assets/web-panel/assets/index-TrBGgrwG.js +1 -0
  195. package/src/assets/web-panel/assets/{index-DrH9uW99.js → index-YWOEx3rP.js} +2 -2
  196. package/src/assets/web-panel/assets/{index-DZMiVgXE.js → index-_3wPBMKt.js} +1 -1
  197. package/src/assets/web-panel/assets/{index-CBnkvGxd.js → index-aarO4HT9.js} +1 -1
  198. package/src/assets/web-panel/assets/index-bVJvqDAz.js +1 -0
  199. package/src/assets/web-panel/assets/{index-BipKV1Yr.js → index-gFLQe31v.js} +2 -2
  200. package/src/assets/web-panel/assets/index-kvV0f4tV.js +12 -0
  201. package/src/assets/web-panel/assets/index-qoB3whR9.js +12 -0
  202. package/src/assets/web-panel/assets/{initDefaultProps-B8zdOlFC.js → initDefaultProps-BnXISaAa.js} +1 -1
  203. package/src/assets/web-panel/assets/{isPlainObject-_gz-soRW.js → isPlainObject-BWRMT62c.js} +1 -1
  204. package/src/assets/web-panel/assets/isSymbol-S5WZT7lS.js +1 -0
  205. package/src/assets/web-panel/assets/motion-ChY7C0zJ.js +11 -0
  206. package/src/assets/web-panel/assets/{move-BioqdqDn.js → move-ByFZMFM5.js} +1 -1
  207. package/src/assets/web-panel/assets/{mtc-parser-Cc3pB9Xm.js → mtc-parser-BbAbUB-9.js} +1 -1
  208. package/src/assets/web-panel/assets/{omit-C1hn14Vc.js → omit-BYeliY1H.js} +1 -1
  209. package/src/assets/web-panel/assets/{pickAttrs-DgVG8oMj.js → pickAttrs-B9dcAKnu.js} +1 -1
  210. package/src/assets/web-panel/assets/{placementArrow-cJY6hoXZ.js → placementArrow-D3F_txz7.js} +1 -1
  211. package/src/assets/web-panel/assets/{responsiveObserve-DbUdURRx.js → responsiveObserve-ClkwY7wS.js} +1 -1
  212. package/src/assets/web-panel/assets/{slide-C2OEWnC4.js → slide-BNgy2Eea.js} +1 -1
  213. package/src/assets/web-panel/assets/{statusUtils-DghgcGqm.js → statusUtils-Bv3heMCD.js} +1 -1
  214. package/src/assets/web-panel/assets/{styleChecker-GoQ7uwU1.js → styleChecker-DVdlHbQm.js} +1 -1
  215. package/src/assets/web-panel/assets/useFlexGapSupport-alrRY5BK.js +1 -0
  216. package/src/assets/web-panel/assets/{useFs-CZCJDMup.js → useFs-CcVh0-Vu.js} +1 -1
  217. package/src/assets/web-panel/assets/{useMergedState-WwedrFR0.js → useMergedState-Cl2q1fes.js} +1 -1
  218. package/src/assets/web-panel/assets/{usePersonalDataHub-BjAS9b7w.js → usePersonalDataHub-CkkHPhyq.js} +1 -1
  219. package/src/assets/web-panel/assets/{useRefs-Cdq8EWeF.js → useRefs-DD9q4mOT.js} +1 -1
  220. package/src/assets/web-panel/assets/{useState-DGS1NOyn.js → useState-BK4hy8Ma.js} +1 -1
  221. package/src/assets/web-panel/assets/vendor-BvqAck49.js +42 -0
  222. package/src/assets/web-panel/assets/vnode-DWi0X9WN.js +1 -0
  223. package/src/assets/web-panel/assets/{zoom-CzyiNxpd.js → zoom-DCbqxxLH.js} +1 -1
  224. package/src/assets/web-panel/index.html +4 -4
  225. package/src/commands/agent.js +306 -1
  226. package/src/commands/ask.js +35 -1
  227. package/src/commands/checkpoint.js +239 -0
  228. package/src/commands/cost.js +114 -0
  229. package/src/commands/session.js +22 -2
  230. package/src/index.js +4 -0
  231. package/src/lib/file-checkpoint.js +300 -0
  232. package/src/lib/llm-pricing.js +227 -0
  233. package/src/lib/personal-data-hub-wiring.js +30 -0
  234. package/src/lib/recent-session.js +72 -0
  235. package/src/lib/session-picker.js +68 -0
  236. package/src/repl/agent-repl.js +58 -2
  237. package/src/repl/chat-repl.js +16 -1
  238. package/src/runtime/agent-core.js +68 -31
  239. package/src/runtime/fallback-model.js +109 -0
  240. package/src/runtime/file-ref-expander.js +258 -0
  241. package/src/runtime/headless-runner.js +576 -0
  242. package/src/runtime/headless-stream.js +302 -0
  243. package/src/runtime/policies/agent-policy.js +6 -0
  244. package/src/runtime/quiet-stdout.js +35 -0
  245. package/src/runtime/system-prompt.js +60 -0
  246. package/src/assets/web-panel/assets/AIOps-BWWsdf3s.js +0 -1
  247. package/src/assets/web-panel/assets/AIOps-Cchx1iXI.css +0 -1
  248. package/src/assets/web-panel/assets/Analytics-C1-TXmTC.css +0 -1
  249. package/src/assets/web-panel/assets/Analytics-CU1ellhG.js +0 -3
  250. package/src/assets/web-panel/assets/AppLayout-9pWRQa_t.css +0 -1
  251. package/src/assets/web-panel/assets/AppLayout-cXY-mRTd.js +0 -3
  252. package/src/assets/web-panel/assets/Audit-6ZMsXmrO.css +0 -1
  253. package/src/assets/web-panel/assets/Audit-CtQuC6zy.js +0 -1
  254. package/src/assets/web-panel/assets/Backup-CY9QozR7.css +0 -1
  255. package/src/assets/web-panel/assets/Backup-WeATa8CV.js +0 -1
  256. package/src/assets/web-panel/assets/BaseInput-BCu2Cejw.js +0 -1
  257. package/src/assets/web-panel/assets/Chat-Bj0XPlH8.js +0 -7
  258. package/src/assets/web-panel/assets/Chat-IlrLB9ZV.css +0 -1
  259. package/src/assets/web-panel/assets/ChatBubbleRenderer-Bpp2sN9W.js +0 -1
  260. package/src/assets/web-panel/assets/ChatBubbleRenderer-CO908iBt.css +0 -1
  261. package/src/assets/web-panel/assets/Codegen-BLP7id2a.css +0 -1
  262. package/src/assets/web-panel/assets/Codegen-PeBhNei5.js +0 -1
  263. package/src/assets/web-panel/assets/Community-BvaB_Wcs.js +0 -1
  264. package/src/assets/web-panel/assets/Community-C2RejeOY.css +0 -1
  265. package/src/assets/web-panel/assets/Compliance-DOys4Ov1.css +0 -1
  266. package/src/assets/web-panel/assets/Compliance-DjquEqsU.js +0 -1
  267. package/src/assets/web-panel/assets/Cowork-Bv6Tm40_.js +0 -6
  268. package/src/assets/web-panel/assets/Cowork-DsOst4XK.css +0 -1
  269. package/src/assets/web-panel/assets/Cron-D9fPIXV8.js +0 -2
  270. package/src/assets/web-panel/assets/Crosschain-C0WilDBF.js +0 -1
  271. package/src/assets/web-panel/assets/Crosschain-C7Le4Pte.css +0 -1
  272. package/src/assets/web-panel/assets/DID-BX6k3jZi.css +0 -1
  273. package/src/assets/web-panel/assets/DID-CiGeAI1K.js +0 -2
  274. package/src/assets/web-panel/assets/Dashboard-MFDcsVcM.css +0 -1
  275. package/src/assets/web-panel/assets/Dashboard-zqQuizB8.js +0 -3
  276. package/src/assets/web-panel/assets/Dropdown-_Mjb8yOR.js +0 -1
  277. package/src/assets/web-panel/assets/EmailListRenderer-C369EVhV.js +0 -1
  278. package/src/assets/web-panel/assets/EmailListRenderer-CVJ1j3Ll.css +0 -1
  279. package/src/assets/web-panel/assets/FamilyGuardDashboard-D8WsrCmn.js +0 -1
  280. package/src/assets/web-panel/assets/FamilyGuardDashboard-Df-D09Q4.css +0 -1
  281. package/src/assets/web-panel/assets/Federation-CgmfLbx1.css +0 -1
  282. package/src/assets/web-panel/assets/Federation-Dq7CrAzj.js +0 -1
  283. package/src/assets/web-panel/assets/FormItemContext-C7TvuLVK.js +0 -1
  284. package/src/assets/web-panel/assets/GenericCardRenderer-BJUR1Emh.js +0 -1
  285. package/src/assets/web-panel/assets/GenericCardRenderer-DtJFcJYl.css +0 -1
  286. package/src/assets/web-panel/assets/Git-B5MdAp15.js +0 -2
  287. package/src/assets/web-panel/assets/Governance-BIbPWlSM.js +0 -1
  288. package/src/assets/web-panel/assets/Governance-BoipmXaM.css +0 -1
  289. package/src/assets/web-panel/assets/Inference-BWxYJF9-.css +0 -1
  290. package/src/assets/web-panel/assets/Inference-vOz9J05E.js +0 -1
  291. package/src/assets/web-panel/assets/KnowledgeGraph-B_vUO-Td.js +0 -1
  292. package/src/assets/web-panel/assets/KnowledgeGraph-CztPDA96.css +0 -1
  293. package/src/assets/web-panel/assets/Logs-BwPfxX3p.js +0 -2
  294. package/src/assets/web-panel/assets/Logs-Gf_Mv9Nx.css +0 -1
  295. package/src/assets/web-panel/assets/Marketplace-Djp5q9dS.css +0 -1
  296. package/src/assets/web-panel/assets/Marketplace-T5HNwUjX.js +0 -1
  297. package/src/assets/web-panel/assets/McpTools-CDjHmzxH.css +0 -1
  298. package/src/assets/web-panel/assets/McpTools-CuKeBPxy.js +0 -5
  299. package/src/assets/web-panel/assets/Memory-Bcc2hxOA.css +0 -1
  300. package/src/assets/web-panel/assets/Memory-DmRW_sTE.js +0 -2
  301. package/src/assets/web-panel/assets/MobileBridge-DK2N_MJA.js +0 -3
  302. package/src/assets/web-panel/assets/MobileBridge-DwxX55b_.css +0 -1
  303. package/src/assets/web-panel/assets/MobileProjects-Ceaxrqzc.css +0 -1
  304. package/src/assets/web-panel/assets/MobileProjects-wl3bXCnJ.js +0 -1
  305. package/src/assets/web-panel/assets/Mtc-C8e0941i.js +0 -6
  306. package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +0 -1
  307. package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +0 -1
  308. package/src/assets/web-panel/assets/MtcAudit-Cwigy2IR.js +0 -19
  309. package/src/assets/web-panel/assets/Multisig-BSfh_ncy.js +0 -7
  310. package/src/assets/web-panel/assets/Multisig-kwPDnXnl.css +0 -1
  311. package/src/assets/web-panel/assets/NLProgramming-BwzJAfJg.js +0 -1
  312. package/src/assets/web-panel/assets/NLProgramming-CLOvy-35.css +0 -1
  313. package/src/assets/web-panel/assets/Notes-COE2q2gD.css +0 -1
  314. package/src/assets/web-panel/assets/Notes-uilHH6hE.js +0 -7
  315. package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +0 -1
  316. package/src/assets/web-panel/assets/NotificationSettings-DvM3DTPW.js +0 -1
  317. package/src/assets/web-panel/assets/OrderTableRenderer-BIEm3hZl.js +0 -1
  318. package/src/assets/web-panel/assets/OrderTableRenderer-BnOISpKI.css +0 -1
  319. package/src/assets/web-panel/assets/Organization-BX-cIO8M.css +0 -1
  320. package/src/assets/web-panel/assets/Organization-zxWoIwYM.js +0 -4
  321. package/src/assets/web-panel/assets/P2P-BsbToYKZ.js +0 -2
  322. package/src/assets/web-panel/assets/P2P-Cx88UaiD.css +0 -1
  323. package/src/assets/web-panel/assets/PdhVaultBrowser-B9ZGFpn4.css +0 -1
  324. package/src/assets/web-panel/assets/PdhVaultBrowser-VU8vfhsS.js +0 -7
  325. package/src/assets/web-panel/assets/Permissions-C10Sd26B.js +0 -4
  326. package/src/assets/web-panel/assets/Permissions-C9WlkGl-.css +0 -1
  327. package/src/assets/web-panel/assets/PersonalDataHub-Bz5u9Gth.css +0 -1
  328. package/src/assets/web-panel/assets/PersonalDataHub-edJB7VeU.js +0 -2
  329. package/src/assets/web-panel/assets/Pipeline-DxkXqrH2.css +0 -1
  330. package/src/assets/web-panel/assets/Pipeline-qNmVxn5A.js +0 -1
  331. package/src/assets/web-panel/assets/Privacy-CrsfSFKd.css +0 -1
  332. package/src/assets/web-panel/assets/Privacy-h78XF7eO.js +0 -1
  333. package/src/assets/web-panel/assets/ProjectInit-C9-vm1no.js +0 -2
  334. package/src/assets/web-panel/assets/ProjectInit-CteEo-wF.css +0 -1
  335. package/src/assets/web-panel/assets/ProjectSettings-DpDNsQTb.js +0 -2
  336. package/src/assets/web-panel/assets/ProjectSettings-pLSae-wy.css +0 -1
  337. package/src/assets/web-panel/assets/Projects-BX-SG9R4.css +0 -1
  338. package/src/assets/web-panel/assets/Projects-CwU3W4RD.js +0 -1
  339. package/src/assets/web-panel/assets/Providers-BNI-WkmA.css +0 -1
  340. package/src/assets/web-panel/assets/Providers-C3KZlUEI.js +0 -1
  341. package/src/assets/web-panel/assets/QuickAsk-CILvLGze.js +0 -1
  342. package/src/assets/web-panel/assets/Recommend-CH6wKzGo.css +0 -1
  343. package/src/assets/web-panel/assets/Recommend-XfFlk3BY.js +0 -1
  344. package/src/assets/web-panel/assets/Reputation-BqmWvaMD.js +0 -1
  345. package/src/assets/web-panel/assets/Reputation-D6VPNEd0.css +0 -1
  346. package/src/assets/web-panel/assets/Row-BEbjCI_X.js +0 -1
  347. package/src/assets/web-panel/assets/RssFeed-BlFC20eg.css +0 -1
  348. package/src/assets/web-panel/assets/RssFeed-CFukIl-a.js +0 -3
  349. package/src/assets/web-panel/assets/Search-B6RalzTB.css +0 -1
  350. package/src/assets/web-panel/assets/Search-dVPkf1o2.js +0 -1
  351. package/src/assets/web-panel/assets/Security-13K57V_v.css +0 -1
  352. package/src/assets/web-panel/assets/Security-DlRFaUrn.js +0 -4
  353. package/src/assets/web-panel/assets/Services-C8Qs6KXv.css +0 -1
  354. package/src/assets/web-panel/assets/Services-DKy7AjpA.js +0 -2
  355. package/src/assets/web-panel/assets/Skills-BEqnpg2j.js +0 -1
  356. package/src/assets/web-panel/assets/Skills-BdjRyorN.css +0 -1
  357. package/src/assets/web-panel/assets/Sla-CZ9_lzPI.js +0 -1
  358. package/src/assets/web-panel/assets/Sla-K19oOyQc.css +0 -1
  359. package/src/assets/web-panel/assets/SpeechSettings-DVSY_ehZ.js +0 -1
  360. package/src/assets/web-panel/assets/SpeechSettings-DYPJTDKz.css +0 -1
  361. package/src/assets/web-panel/assets/SyncSettings-C6cDrwDR.css +0 -1
  362. package/src/assets/web-panel/assets/SyncSettings-DgvsRpGt.js +0 -1
  363. package/src/assets/web-panel/assets/Tasks-BJjN_YEm.css +0 -1
  364. package/src/assets/web-panel/assets/Tasks-L5qXKsxK.js +0 -1
  365. package/src/assets/web-panel/assets/Templates-BWTV8-2E.css +0 -1
  366. package/src/assets/web-panel/assets/Templates-DR4VBx7q.js +0 -1
  367. package/src/assets/web-panel/assets/Tenant-D3zkSAV0.css +0 -1
  368. package/src/assets/web-panel/assets/Tenant-jMyaK184.js +0 -1
  369. package/src/assets/web-panel/assets/Terminal-DA5gjCiE.js +0 -3
  370. package/src/assets/web-panel/assets/Terminal-G1DrFtKr.css +0 -1
  371. package/src/assets/web-panel/assets/TimelineRenderer-BM17JHyr.js +0 -1
  372. package/src/assets/web-panel/assets/TimelineRenderer-DmztdsbF.css +0 -1
  373. package/src/assets/web-panel/assets/Tokens-BBOdNRHQ.css +0 -1
  374. package/src/assets/web-panel/assets/Tokens-CCJIrnhi.js +0 -1
  375. package/src/assets/web-panel/assets/Trust-BHeJEfNG.js +0 -1
  376. package/src/assets/web-panel/assets/Trust-DeOo0xAh.css +0 -1
  377. package/src/assets/web-panel/assets/UkeySign-DjcIVRk4.js +0 -1
  378. package/src/assets/web-panel/assets/VideoEditing-BPhptg3q.js +0 -1
  379. package/src/assets/web-panel/assets/VideoEditing-DksiizfS.css +0 -1
  380. package/src/assets/web-panel/assets/Wallet-D_xDgfaz.js +0 -4
  381. package/src/assets/web-panel/assets/Wallet-gR0ZvZbK.css +0 -1
  382. package/src/assets/web-panel/assets/WebAuthn-SSh5VhVO.css +0 -1
  383. package/src/assets/web-panel/assets/WebAuthn-pd961lgM.js +0 -5
  384. package/src/assets/web-panel/assets/WorkflowEditor-BmXDUZ8M.js +0 -1
  385. package/src/assets/web-panel/assets/WorkflowEditor-IiwsD8Kh.css +0 -1
  386. package/src/assets/web-panel/assets/createContext-BBLoTzN8.js +0 -1
  387. package/src/assets/web-panel/assets/devWarning-CNIS3FrJ.js +0 -1
  388. package/src/assets/web-panel/assets/echarts-Dj_pBaVI.js +0 -19
  389. package/src/assets/web-panel/assets/favicon-FSU2gSy6.ico +0 -0
  390. package/src/assets/web-panel/assets/index-1xUFGcnI.js +0 -21
  391. package/src/assets/web-panel/assets/index-4BeUpRaU.js +0 -1
  392. package/src/assets/web-panel/assets/index-AVHrO1io.js +0 -21
  393. package/src/assets/web-panel/assets/index-B2fc2n_u.js +0 -3
  394. package/src/assets/web-panel/assets/index-B5aXiiOG.js +0 -1
  395. package/src/assets/web-panel/assets/index-B78VsLFL.js +0 -1
  396. package/src/assets/web-panel/assets/index-BECv44dY.js +0 -12
  397. package/src/assets/web-panel/assets/index-BGn5-2TK.js +0 -1
  398. package/src/assets/web-panel/assets/index-BM9IHnrf.js +0 -13
  399. package/src/assets/web-panel/assets/index-BlMshk9V.js +0 -1
  400. package/src/assets/web-panel/assets/index-BoWoWh9f.js +0 -19
  401. package/src/assets/web-panel/assets/index-Bt79ud6Y.js +0 -1
  402. package/src/assets/web-panel/assets/index-CO9Tt0Bo.js +0 -1
  403. package/src/assets/web-panel/assets/index-CSZvB2uy.js +0 -12
  404. package/src/assets/web-panel/assets/index-CjeazYU2.js +0 -1
  405. package/src/assets/web-panel/assets/index-Cw-TEBru.js +0 -1
  406. package/src/assets/web-panel/assets/index-CyObfnlZ.js +0 -3
  407. package/src/assets/web-panel/assets/index-D0d2TS5o.js +0 -69
  408. package/src/assets/web-panel/assets/index-DV3zNhRX.js +0 -1
  409. package/src/assets/web-panel/assets/index-DnHElN_A.js +0 -7
  410. package/src/assets/web-panel/assets/index-DspW4reY.js +0 -55
  411. package/src/assets/web-panel/assets/index-DxUFdvJ5.js +0 -1
  412. package/src/assets/web-panel/assets/index-La4F-U-s.js +0 -1
  413. package/src/assets/web-panel/assets/index-azbNWBMo.js +0 -1
  414. package/src/assets/web-panel/assets/index-squRDiXd.js +0 -31
  415. package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +0 -1
  416. package/src/assets/web-panel/assets/motion-ChVLXdRp.js +0 -11
  417. package/src/assets/web-panel/assets/useFlexGapSupport-CzD0s7wN.js +0 -1
  418. package/src/assets/web-panel/assets/vendor-DhFY8mDK.js +0 -1
  419. package/src/assets/web-panel/assets/vnode-CnXQ7gJ2.js +0 -1
  420. package/src/assets/web-panel/assets/warning-Pq00owYb.js +0 -1
@@ -0,0 +1 @@
1
+ .cb-action[data-v-318f1edb]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.cb-action--expandable[data-v-318f1edb]{cursor:pointer;transition:border-color .15s ease}.cb-action--expandable[data-v-318f1edb]:hover{border-color:#1677ff40}.cb-action--open[data-v-318f1edb]{border-color:#1677ff60}.cb-action__icon[data-v-318f1edb]{display:inline-flex;align-items:center;justify-content:center;color:#52c41a;font-size:14px}.cb-action--running .cb-action__icon[data-v-318f1edb]{color:#1677ff}.cb-action--pending .cb-action__icon[data-v-318f1edb]{color:var(--text-muted)}.cb-action__label[data-v-318f1edb]{font-weight:600;color:var(--text-primary);font-size:13px}.cb-action__detail[data-v-318f1edb]{margin-left:auto;font-size:12px;color:var(--text-secondary);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-action__caret[data-v-318f1edb]{margin-left:6px;color:var(--text-muted);font-size:10px}.cb-action--open .cb-action__caret[data-v-318f1edb]{color:#1677ff}.markdown-content[data-v-0b0b9f63] pre{background:var(--bg-base);border-radius:6px;padding:12px;overflow-x:auto;font-size:12px}.markdown-content[data-v-0b0b9f63] code:not(pre code){background:var(--bg-card-hover);padding:1px 5px;border-radius:3px;font-size:12px;color:#f0a500}.markdown-content[data-v-0b0b9f63] p{margin:0 0 8px}.markdown-content[data-v-0b0b9f63] p:last-child{margin:0}.markdown-content[data-v-0b0b9f63] table{border-collapse:collapse;width:100%;font-size:13px}.markdown-content[data-v-0b0b9f63] th,.markdown-content[data-v-0b0b9f63] td{border:1px solid #333;padding:6px 12px}.markdown-content[data-v-0b0b9f63] th{background:var(--bg-card-hover)}.virtual-message-list[data-v-ff0bed80]{height:100%;overflow-y:auto;overflow-x:hidden}.fallback-list[data-v-ff0bed80]{width:100%}.virtual-message-list[data-v-ff0bed80]::-webkit-scrollbar{width:6px}.virtual-message-list[data-v-ff0bed80]::-webkit-scrollbar-track{background:transparent}.virtual-message-list[data-v-ff0bed80]::-webkit-scrollbar-thumb{background:var(--border-color, #c1c1c1);border-radius:3px}.virtual-message-list[data-v-ff0bed80]::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #a8a8a8)}.intent-confirmation-message[data-v-62ebcfe5]{padding:16px;margin:12px 0;background:linear-gradient(135deg,#1890ff14,#1890ff05);border-left:4px solid #1890ff;border-radius:8px}.confirmation-header[data-v-62ebcfe5]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(24,144,255,.2)}.header-icon[data-v-62ebcfe5]{font-size:20px}.header-text[data-v-62ebcfe5]{font-size:15px;font-weight:600;color:#1890ff}.understanding-content[data-v-62ebcfe5]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.original-input[data-v-62ebcfe5],.corrected-input[data-v-62ebcfe5],.intent-section[data-v-62ebcfe5],.key-points-section[data-v-62ebcfe5],.correction-section[data-v-62ebcfe5]{display:flex;flex-direction:column;gap:6px}.label[data-v-62ebcfe5]{font-size:13px;font-weight:600;color:var(--text-secondary, #aaa)}.value[data-v-62ebcfe5]{font-size:14px;color:var(--text-primary, #ddd);line-height:1.6}.original-text[data-v-62ebcfe5]{padding:8px 12px;background:#ffffff0a;border-radius:6px;border:1px dashed var(--border-color, #555);text-decoration:line-through;color:var(--text-muted, #888)}.corrected-text[data-v-62ebcfe5]{padding:8px 12px;background:#52c41a14;border-radius:6px;border:1px solid #52c41a;font-weight:500}.correction-text[data-v-62ebcfe5]{padding:8px 12px;background:#faad1414;border-radius:6px;border:1px solid #faad14;font-weight:500}.key-points-list[data-v-62ebcfe5]{margin:0;padding-left:20px;list-style:disc}.key-points-list li[data-v-62ebcfe5]{margin:4px 0;font-size:14px;line-height:1.6}.action-buttons[data-v-62ebcfe5]{display:flex;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(24,144,255,.2)}.streaming-indicator[data-v-62ebcfe5]{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(24,144,255,.2);font-size:13px;color:var(--text-secondary, #aaa)}.streaming-tokens[data-v-62ebcfe5]{font-size:11px;color:var(--text-muted, #888)}.correction-input-section[data-v-62ebcfe5]{margin-top:16px;padding-top:16px;border-top:1px solid rgba(24,144,255,.2)}.correction-actions[data-v-62ebcfe5]{display:flex;gap:8px;margin-top:12px}.session-item[data-v-ef077a5e]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:4px}.session-item[data-v-ef077a5e]:hover{background:var(--bg-card-hover)}.session-item.active[data-v-ef077a5e]{background:#1677ff20;border:1px solid #1677ff40}.session-icon[data-v-ef077a5e]{font-size:16px}.session-info[data-v-ef077a5e]{flex:1;min-width:0}.session-title[data-v-ef077a5e]{color:#ccc;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta[data-v-ef077a5e]{color:var(--text-muted);font-size:11px;margin-top:2px}.chat-header[data-v-ef077a5e]{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.chat-intent-toggle[data-v-ef077a5e]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.chat-intent-toggle-label[data-v-ef077a5e]{font-size:12px;color:var(--text-muted)}.chat-area-body[data-v-ef077a5e]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px 0}.empty-hint[data-v-ef077a5e]{font-size:12px;color:var(--text-muted);margin-top:-4px}.chat-virtual-list[data-v-ef077a5e]{flex:1}.chat-empty-prompts[data-v-ef077a5e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:12px}.empty-icon[data-v-ef077a5e]{font-size:40px}.empty-title[data-v-ef077a5e]{font-size:14px;color:var(--text-secondary, #aaa)}.quick-prompts[data-v-ef077a5e]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:480px;margin-top:8px}.quick-prompt-btn[data-v-ef077a5e]{font-size:12px}.message-row[data-v-ef077a5e]{margin-bottom:16px;padding:0 4px}.msg-with-avatar[data-v-ef077a5e]{display:flex;gap:10px;align-items:flex-start}.msg-with-avatar.user[data-v-ef077a5e]{flex-direction:row-reverse}.msg-with-avatar.user .msg-meta-row[data-v-ef077a5e]{justify-content:flex-end}.msg-with-avatar.user .msg-body[data-v-ef077a5e]{display:flex;flex-direction:column;align-items:flex-end}.msg-body[data-v-ef077a5e]{flex:1;min-width:0;max-width:calc(100% - 50px)}.msg-meta-row[data-v-ef077a5e]{display:flex;gap:6px;align-items:baseline;font-size:11px;color:var(--text-muted);margin-bottom:4px}.msg-role[data-v-ef077a5e]{color:var(--text-secondary, #aaa);font-weight:500}.msg-time[data-v-ef077a5e],.msg-tokens[data-v-ef077a5e]{font-size:10px}.bubble[data-v-ef077a5e]{padding:10px 14px;border-radius:12px;max-width:100%;line-height:1.6;font-size:14px;word-wrap:break-word}.bubble.user[data-v-ef077a5e]{background:#1677ff;color:var(--text-primary);border-bottom-right-radius:4px}.bubble.assistant[data-v-ef077a5e]{background:var(--bg-card-hover);color:var(--text-primary);border-bottom-left-radius:4px}.bubble.streaming[data-v-ef077a5e]:after{content:"▋";animation:blink-ef077a5e .7s step-start infinite;color:#1677ff}@keyframes blink-ef077a5e{50%{opacity:0}}.system-banner[data-v-ef077a5e]{margin:8px 0;padding:10px 14px;background:var(--bg-card-hover);border-left:3px solid #722ed1;border-radius:6px;font-size:13px;color:var(--text-secondary, #aaa);white-space:pre-wrap}.tool-msg[data-v-ef077a5e]{margin:8px 0}.tool-detail[data-v-ef077a5e]{margin-top:6px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-base)}.tool-detail__result[data-v-ef077a5e]{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.tool-detail__pre[data-v-ef077a5e]{margin:0;font-size:11px;white-space:pre-wrap;word-break:break-all}.tool-detail__pre--input[data-v-ef077a5e]{color:#aaa}.tool-detail__pre--result[data-v-ef077a5e]{color:#52c41a}.question-card[data-v-ef077a5e]{background:var(--bg-card-hover);border:1px solid #1677ff40;border-radius:10px;padding:14px 16px;margin-top:8px}.question-text[data-v-ef077a5e]{color:#aaa;font-size:13px}[data-v-ef077a5e] .bubble.assistant pre{background:var(--bg-base);border-radius:6px;padding:12px;overflow-x:auto;font-size:12px}[data-v-ef077a5e] .bubble.assistant code:not(pre code){background:var(--bg-card-hover);padding:1px 5px;border-radius:3px;font-size:12px;color:#f0a500}[data-v-ef077a5e] .bubble.assistant p{margin:0 0 8px}[data-v-ef077a5e] .bubble.assistant p:last-child{margin:0}
@@ -0,0 +1 @@
1
+ import{I as v,P as u,J as y,U as n,R as a,S,K as C,Q as x,V as w,_ as B,b as s}from"./vendor-BvqAck49.js";import{_ as k}from"./index-BJUf19Wd.js";import"./icons-DP3uiYxy.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:d}){d();const t=c,r=s(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),i=s(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=s(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=s(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=s(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),p=e.getFullYear(),f=String(e.getMonth()+1).padStart(2,"0"),g=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),h=String(e.getMinutes()).padStart(2,"0");return`${p}-${f}-${g} ${b}:${h}`}catch{return""}}),_={props:t,messageText:r,actorLabel:i,isMine:l,adapterColor:o,formattedTime:m,computed:s};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},T={class:"bubble"},M={class:"meta"},R={class:"actor"},V={class:"time"},q={class:"body"};function A(c,d,t,r,i,l){const o=v("a-tag");return u(),y("div",{class:B(["chat-row",{mine:r.isMine}])},[n("div",T,[n("div",M,[n("span",R,a(r.actorLabel),1),n("span",V,a(r.formattedTime),1)]),n("div",q,a(r.messageText),1),t.event.source.adapter?(u(),S(o,{key:0,class:"src",color:r.adapterColor},{default:C(()=>[x(a(t.event.source.adapter),1)]),_:1},8,["color"])):w("v-if",!0)])],2)}const j=k(N,[["render",A],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{j as default};
@@ -0,0 +1 @@
1
+ .chat-row[data-v-49238629]{display:flex;margin-bottom:8px;justify-content:flex-start}.chat-row.mine[data-v-49238629]{justify-content:flex-end}.bubble[data-v-49238629]{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:8px 12px;max-width:70%;position:relative}.chat-row.mine .bubble[data-v-49238629]{background:#e6f4ff;border-color:#91caff}.meta[data-v-49238629]{display:flex;justify-content:space-between;font-size:11px;color:#999;margin-bottom:4px}.actor[data-v-49238629]{font-weight:600;color:#333}.body[data-v-49238629]{font-size:13px;color:#333;word-break:break-word;white-space:pre-wrap}.src[data-v-49238629]{font-size:10px;margin-top:4px}
@@ -1 +1 @@
1
- import{h as o,i as E,f as V,P as W}from"./index-D0d2TS5o.js";import{i as F}from"./initDefaultProps-B8zdOlFC.js";import{d as I,r as f,w as M,c as h}from"./vendor-DhFY8mDK.js";var R=function(t,l){var c={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&l.indexOf(n)<0&&(c[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a<n.length;a++)l.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(c[n[a]]=t[n[a]]);return c};const T={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:W.any,required:Boolean},J=I({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:F(T,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup(t,l){let{attrs:c,emit:n,expose:a}=l;const d=f(t.checked===void 0?t.defaultChecked:t.checked),s=f();M(()=>t.checked,()=>{d.value=t.checked}),a({focus(){var e;(e=s.value)===null||e===void 0||e.focus()},blur(){var e;(e=s.value)===null||e===void 0||e.blur()}});const i=f(),y=e=>{if(t.disabled)return;t.checked===void 0&&(d.value=e.target.checked),e.shiftKey=i.value;const u={target:o(o({},t),{checked:e.target.checked}),stopPropagation(){e.stopPropagation()},preventDefault(){e.preventDefault()},nativeEvent:e};t.checked!==void 0&&(s.value.checked=!!t.checked),n("change",u),i.value=!1},k=e=>{n("click",e),i.value=e.shiftKey};return()=>{const{prefixCls:e,name:u,id:m,type:g,disabled:b,readonly:x,tabindex:C,autofocus:O,value:P,required:S}=t,_=R(t,["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"]),{class:j,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D}=c,v=o(o({},_),c),$=Object.keys(v).reduce((p,r)=>((r.startsWith("data-")||r.startsWith("aria-")||r==="role")&&(p[r]=v[r]),p),{}),q=E(e,j,{[`${e}-checked`]:d.value,[`${e}-disabled`]:b}),A=o(o({name:u,id:m,type:g,readonly:x,disabled:b,tabindex:C,class:`${e}-input`,checked:!!d.value,autofocus:O,value:P},$),{onChange:y,onClick:k,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D,required:S});return h("span",{class:q},[h("input",V({ref:s},A),null),h("span",{class:`${e}-inner`},null)])}}});export{J as V};
1
+ import{h as o,i as E,f as V,P as W}from"./index-BJUf19Wd.js";import{d as F,r as f,w as I,c as h}from"./vendor-BvqAck49.js";import{i as M}from"./initDefaultProps-BnXISaAa.js";var R=function(t,l){var c={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&l.indexOf(n)<0&&(c[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a<n.length;a++)l.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(c[n[a]]=t[n[a]]);return c};const T={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:W.any,required:Boolean},J=F({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:M(T,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup(t,l){let{attrs:c,emit:n,expose:a}=l;const d=f(t.checked===void 0?t.defaultChecked:t.checked),s=f();I(()=>t.checked,()=>{d.value=t.checked}),a({focus(){var e;(e=s.value)===null||e===void 0||e.focus()},blur(){var e;(e=s.value)===null||e===void 0||e.blur()}});const i=f(),y=e=>{if(t.disabled)return;t.checked===void 0&&(d.value=e.target.checked),e.shiftKey=i.value;const u={target:o(o({},t),{checked:e.target.checked}),stopPropagation(){e.stopPropagation()},preventDefault(){e.preventDefault()},nativeEvent:e};t.checked!==void 0&&(s.value.checked=!!t.checked),n("change",u),i.value=!1},k=e=>{n("click",e),i.value=e.shiftKey};return()=>{const{prefixCls:e,name:u,id:m,type:g,disabled:b,readonly:x,tabindex:C,autofocus:O,value:P,required:S}=t,_=R(t,["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"]),{class:j,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D}=c,v=o(o({},_),c),$=Object.keys(v).reduce((p,r)=>((r.startsWith("data-")||r.startsWith("aria-")||r==="role")&&(p[r]=v[r]),p),{}),q=E(e,j,{[`${e}-checked`]:d.value,[`${e}-disabled`]:b}),A=o(o({name:u,id:m,type:g,readonly:x,disabled:b,tabindex:C,class:`${e}-input`,checked:!!d.value,autofocus:O,value:P},$),{onChange:y,onClick:k,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D,required:S});return h("span",{class:q},[h("input",V({ref:s},A),null),h("span",{class:`${e}-inner`},null)])}}});export{J as V};
@@ -0,0 +1 @@
1
+ .page-title[data-v-b0047198]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-b0047198]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.codegen-tabs[data-v-b0047198] .ant-tabs-nav{margin-bottom:16px}.filter-bar[data-v-b0047198]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.tmpl-pill[data-v-b0047198]{padding:8px 12px;border-radius:6px;background:#1677ff0a;border:1px solid var(--border-color);border-left:3px solid #1677ff;display:flex;align-items:center;justify-content:space-between;height:100%}.tmpl-count[data-v-b0047198]{color:var(--text-primary);font-size:16px;font-weight:600}.sev-mini[data-v-b0047198]{display:inline-flex;gap:8px;font-family:monospace;font-size:11px;font-weight:500}.bd-row[data-v-b0047198]{display:flex;align-items:center;margin-bottom:8px}.code-pre[data-v-b0047198]{margin:0;padding:8px 10px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:4px;font-size:11px;max-height:240px;overflow:auto;color:var(--text-primary);white-space:pre-wrap}
@@ -0,0 +1 @@
1
+ import{I as m,J as f,U as v,R as s,c as o,K as l,V as c,o as me,a as te,b as B,r as w,P as d,Q as g,F as A,Z as Q,S as k,$ as ve}from"./vendor-BvqAck49.js";import{_ as Ge,u as pe,b as ye,E as _e,d as R}from"./index-BJUf19Wd.js";import{s as je}from"./community-parser-CO25nZFt.js";import{a6 as Ee,aZ as Le,f as Pe,am as Me,A as Ne,Q as De,r as Ue,as as Je,R as Be}from"./icons-DP3uiYxy.js";function V(t){const a=je(t);if(!a)return null;try{return JSON.parse(a)}catch{}const i=a.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!i)return null;try{return JSON.parse(i[0])}catch{return null}}const Fe=Object.freeze(["react","vue","express","fastapi","spring_boot"]),ue=Object.freeze(["critical","high","medium","low","info"]);function x(t,a=0){return typeof t=="number"&&Number.isFinite(t)?t:a}function be(t,a=null){if(t==null)return a;if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return a}}function Ve(t,a=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,prompt:String(t.prompt||""),language:t.language??"",framework:t.framework??"",generatedCode:t.generated_code??t.generatedCode??"",fileCount:x(t.file_count??t.fileCount,0),tokenCount:x(t.token_count??t.tokenCount,0),metadata:t.metadata??null,createdAt:t.created_at??t.createdAt??null,_idx:a}:null}function we(t){const a=V(t);return Array.isArray(a)?a.map(Ve).filter(Boolean):[]}function qe(t,a=0){return!t||typeof t!="object"?null:{key:a,rule:String(t.rule||""),severity:String(t.severity||"info").toLowerCase(),match:String(t.match||""),pattern:String(t.pattern||"")}}function We(t,a=0){if(!t||typeof t!="object")return null;const i=t.id||"";if(!i)return null;const e=be(t.severity_summary??t.severitySummary,null)??t.severity_summary??t.severitySummary,z={};for(const L of ue)z[L]=0;if(e&&typeof e=="object"&&!Array.isArray(e))for(const[L,P]of Object.entries(e))typeof P=="number"&&Number.isFinite(P)&&(z[L]=P);const G=be(t.issues_detail??t.issuesDetail,null)??t.issues_detail??t.issuesDetail,S=Array.isArray(G)?G.map(qe).filter(Boolean):[];return{key:i,id:i,generationId:t.generation_id??t.generationId??"",codeHash:String(t.code_hash??t.codeHash??""),language:t.language??"",issuesFound:x(t.issues_found??t.issuesFound,0),securityIssues:x(t.security_issues??t.securityIssues,0),severitySummary:z,issuesDetail:S,reviewedAt:t.reviewed_at??t.reviewedAt??null,_idx:a}}function ke(t){const a=V(t);return Array.isArray(a)?a.map(We).filter(Boolean):[]}function he(t){const a={};for(const G of ue)a[G]=0;const i=V(t);if(!i||typeof i!="object"||Array.isArray(i))return{ok:!1,reviewId:null,reason:"",issuesFound:0,securityIssues:0,severitySummary:a};const e=!!i.reviewId,z={...a};if(i.severitySummary&&typeof i.severitySummary=="object"&&!Array.isArray(i.severitySummary))for(const[G,S]of Object.entries(i.severitySummary))typeof S=="number"&&Number.isFinite(S)&&(z[G]=S);return{ok:e,reviewId:i.reviewId?String(i.reviewId):null,reason:i.reason?String(i.reason):"",issuesFound:x(i.issuesFound,0),securityIssues:x(i.securityIssues,0),severitySummary:z}}function He(t,a=0){if(!t||typeof t!="object")return null;const i=t.id||"";return i?{key:i,id:i,template:String(t.template||""),projectName:t.project_name??t.projectName??"",options:t.options??null,filesGenerated:x(t.files_generated??t.filesGenerated,0),outputPath:t.output_path??t.outputPath??"",createdAt:t.created_at??t.createdAt??null,_idx:a}:null}function Se(t){const a=V(t);return Array.isArray(a)?a.map(He).filter(Boolean):[]}const Ke={generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}};function Ce(t){const a=JSON.parse(JSON.stringify(Ke));for(const e of Fe)a.scaffolds.byTemplate[e]=0;const i=V(t);if(!i||typeof i!="object"||Array.isArray(i))return a;if(i.generations&&typeof i.generations=="object"&&(a.generations.total=x(i.generations.total,0),a.generations.totalTokens=x(i.generations.totalTokens,0),a.generations.totalFiles=x(i.generations.totalFiles,0),a.generations.uniqueLanguages=x(i.generations.uniqueLanguages,0)),i.reviews&&typeof i.reviews=="object"&&(a.reviews.total=x(i.reviews.total,0),a.reviews.totalIssues=x(i.reviews.totalIssues,0),a.reviews.totalSecurityIssues=x(i.reviews.totalSecurityIssues,0),a.reviews.avgIssuesPerReview=x(i.reviews.avgIssuesPerReview,0)),i.scaffolds&&typeof i.scaffolds=="object"&&(a.scaffolds.total=x(i.scaffolds.total,0),i.scaffolds.byTemplate&&typeof i.scaffolds.byTemplate=="object"))for(const[e,z]of Object.entries(i.scaffolds.byTemplate))typeof z=="number"&&Number.isFinite(z)&&(a.scaffolds.byTemplate[e]=z);return a}function de(t){const a=V(t);if(!a||typeof a!="object"||Array.isArray(a))return{ok:!1,id:null,reason:""};const i=a.generationId||a.scaffoldId||a.reviewId||null;return{ok:!!i,id:i?String(i):null,reason:a.reason?String(a.reason):""}}function Qe(t){if(t==null||t==="")return"—";const a=typeof t=="number"?new Date(t):new Date(String(t));return isNaN(a.getTime())?String(t):a.toLocaleString("zh-CN",{hour12:!1})}const Ye={__name:"Codegen",setup(t,{expose:a}){a();const i=pe(),{t:e}=ye(),z=_e.PRESENTED_IMAGE_SIMPLE,G=w(!1),S=w(!1),L=w(!1),P=w(!1),q=w([]),W=w([]),T=w([]),M=w({generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}}),j=w("generations"),D=w(""),h=w(""),O=w(""),U=w(!1),J=w(!1),H=w(!1),Y=w(!1),Z=w(!1),y=te({prompt:"",language:"",framework:"",code:"",files:0,tokens:0}),p=te({generationId:"",language:"",code:""}),b=te({template:"react",projectName:"",optionsJson:"",files:0,outputPath:""}),I=w(null),N=w(null),X=w(null),oe=B(()=>[{title:e("codegen.generationCols.prompt"),key:"prompt"},{title:e("codegen.generationCols.language"),key:"language",width:"110px"},{title:e("codegen.generationCols.framework"),key:"framework",width:"110px"},{title:e("codegen.generationCols.fileCount"),key:"fileCount",width:"70px"},{title:e("codegen.generationCols.tokenCount"),key:"tokenCount",width:"110px"},{title:e("codegen.generationCols.createdAt"),key:"createdAt",width:"160px"},{title:e("codegen.generationCols.action"),key:"action",width:"140px"}]),ae=B(()=>[{title:e("codegen.reviewCols.codeHash"),key:"codeHash",width:"180px"},{title:e("codegen.reviewCols.language"),key:"language",width:"110px"},{title:e("codegen.reviewCols.issuesFound"),key:"issuesFound",width:"90px"},{title:e("codegen.reviewCols.securityIssues"),key:"securityIssues",width:"90px"},{title:e("codegen.reviewCols.severityBreak"),key:"severityBreak"},{title:e("codegen.reviewCols.reviewedAt"),key:"reviewedAt",width:"160px"},{title:e("codegen.reviewCols.action"),key:"action",width:"90px"}]),le=B(()=>[{title:e("codegen.scaffoldCols.projectName"),key:"projectName"},{title:e("codegen.scaffoldCols.template"),key:"template",width:"120px"},{title:e("codegen.scaffoldCols.filesGenerated"),key:"filesGenerated",width:"90px"},{title:e("codegen.scaffoldCols.outputPath"),key:"outputPath",width:"300px"},{title:e("codegen.scaffoldCols.createdAt"),key:"createdAt",width:"160px"}]),ne=B(()=>{let r=q.value;if(D.value.trim()){const _=D.value.trim().toLowerCase();r=r.filter(F=>(F.language||"").toLowerCase().includes(_))}if(h.value.trim()){const _=h.value.trim().toLowerCase();r=r.filter(F=>(F.framework||"").toLowerCase().includes(_))}return r}),C=B(()=>O.value?T.value.filter(r=>r.template===O.value):T.value);function $(r){return{react:"cyan",vue:"green",express:"gold",fastapi:"magenta",spring_boot:"red"}[r]||"default"}function re(r){return{react:"#13c2c2",vue:"#52c41a",express:"#faad14",fastapi:"#eb2f96",spring_boot:"#ff4d4f"}[r]||"#888"}function se(r){const _=`codegen.severityLabels.${r}`,F=e(_);return F===_?r:F}function ie(r){return{critical:"red",high:"orange",medium:"gold",low:"default",info:"blue"}[r]||"default"}function n(r){return{critical:"#ff4d4f",high:"#fa8c16",medium:"#faad14",low:"#888",info:"#1677ff"}[r]||"#888"}function u(r,_){return _?Math.round(r/_*100):0}function ee(r,_){return r?r.length<=_?r:r.slice(0,_)+"…":""}function E(r){return`"${String(r).replace(/"/g,'\\"')}"`}async function K(){G.value=!0;try{const[r,_,F,Oe]=await Promise.all([i.execute("codegen list --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("codegen reviews --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("codegen scaffolds --limit 200 --json",1e4).catch(()=>({output:""})),i.execute("codegen stats --json",8e3).catch(()=>({output:""}))]);q.value=we(r.output),W.value=ke(_.output),T.value=Se(F.output),M.value=Ce(Oe.output)}catch(r){R.error(e("codegen.msg.loadFailed")+": "+(r?.message||r))}finally{G.value=!1}}async function Re(){if(!y.prompt.trim()){R.warning(e("codegen.msg.promptEmpty"));return}S.value=!0;try{const r=[`codegen generate -p ${E(y.prompt.trim())}`];y.language.trim()&&r.push(`-l ${E(y.language.trim())}`),y.framework.trim()&&r.push(`-f ${E(y.framework.trim())}`),y.code.trim()&&r.push(`--code ${E(y.code.trim())}`),y.files>0&&r.push(`--files ${y.files}`),y.tokens>0&&r.push(`--tokens ${y.tokens}`),r.push("--json");const{output:_}=await i.execute(r.join(" "),1e4),F=de(_);if(!F.ok){R.error(e("codegen.msg.generateFailed")+": "+(F.reason||_.slice(0,120)));return}R.success(e("codegen.msg.generateSuccess",{id:F.id?.slice(0,8)})),U.value=!1,ce(),await K()}catch(r){R.error(e("codegen.msg.generateFailed")+": "+(r?.message||r))}finally{S.value=!1}}async function xe(){if(!p.code.trim()){R.warning(e("codegen.msg.codeEmpty"));return}L.value=!0,I.value=null;try{const r=[`codegen review -c ${E(p.code)}`];p.language.trim()&&r.push(`-l ${E(p.language.trim())}`),p.generationId.trim()&&r.push(`-g ${E(p.generationId.trim())}`),r.push("--json");const{output:_}=await i.execute(r.join(" "),1e4);I.value=he(_),!I.value.ok&&I.value.reason?R.error(e("codegen.msg.reviewFailed")+": "+I.value.reason):I.value.ok?(R.success(e("codegen.msg.reviewSuccess",{n:I.value.issuesFound,sec:I.value.securityIssues})),await K()):R.error(e("codegen.msg.reviewFailed")+": "+_.slice(0,120))}catch(r){R.error(e("codegen.msg.reviewFailed")+": "+(r?.message||r))}finally{L.value=!1}}async function Ie(r){p.generationId=r.id,p.language=r.language||"",p.code=r.generatedCode||"",I.value=null,J.value=!0}async function Ae(){if(!b.projectName.trim()){R.warning(e("codegen.msg.projectEmpty"));return}if(b.optionsJson.trim())try{JSON.parse(b.optionsJson)}catch{R.warning(e("codegen.msg.optionsBadJson"));return}P.value=!0;try{const r=[`codegen scaffold -t ${b.template}`,`-n ${E(b.projectName.trim())}`];b.optionsJson.trim()&&r.push(`-o ${E(b.optionsJson.trim())}`),b.files>0&&r.push(`--files ${b.files}`),b.outputPath.trim()&&r.push(`--output ${E(b.outputPath.trim())}`),r.push("--json");const{output:_}=await i.execute(r.join(" "),1e4),F=de(_);if(!F.ok){R.error(e("codegen.msg.scaffoldFailed")+": "+(F.reason||_.slice(0,120)));return}R.success(e("codegen.msg.scaffoldSuccess",{id:F.id?.slice(0,8)})),H.value=!1,fe(),await K()}catch(r){R.error(e("codegen.msg.scaffoldFailed")+": "+(r?.message||r))}finally{P.value=!1}}function ze(r){N.value=r,Y.value=!0}function Te(r){X.value=r,Z.value=!0}function ce(){y.prompt="",y.language="",y.framework="",y.code="",y.files=0,y.tokens=0}function fe(){b.template="react",b.projectName="",b.optionsJson="",b.files=0,b.outputPath=""}me(K);const ge={ws:i,t:e,EMPTY_IMG:z,loading:G,generating:S,reviewing:L,scaffolding:P,generations:q,reviews:W,scaffolds:T,stats:M,activeTab:j,languageFilter:D,frameworkFilter:h,templateFilter:O,showGenerateModal:U,showReviewModal:J,showScaffoldModal:H,showGenDetailsModal:Y,showReviewDetailsModal:Z,generateForm:y,reviewForm:p,scaffoldForm:b,reviewResult:I,currentGen:N,currentReview:X,generationColumns:oe,reviewColumns:ae,scaffoldColumns:le,filteredGenerations:ne,filteredScaffolds:C,tmplColor:$,tmplBarColor:re,severityLabel:se,severityColor:ie,severityBarColor:n,pctOfTotal:u,truncate:ee,shellQuote:E,loadAll:K,submitGenerate:Re,submitReview:xe,reviewGeneration:Ie,submitScaffold:Ae,viewGenerationDetails:ze,viewReviewDetails:Te,resetGenerateForm:ce,resetScaffoldForm:fe,ref:w,computed:B,onMounted:me,reactive:te,get ReloadOutlined(){return Be},get PlusOutlined(){return Je},get SafetyOutlined(){return Ue},get CodeOutlined(){return De},get AuditOutlined(){return Ne},get WarningOutlined(){return Me},get CheckCircleOutlined(){return Pe},get AppstoreAddOutlined(){return Le},get GlobalOutlined(){return Ee},get message(){return R},get Empty(){return _e},get useI18n(){return ye},get useWsStore(){return pe},get parseGenerations(){return we},get parseReviews(){return ke},get parseReviewResult(){return he},get parseScaffolds(){return Se},get parseStats(){return Ce},get parseActionResult(){return de},get formatCodegenTime(){return Qe},get SCAFFOLD_TEMPLATES(){return Fe},get REVIEW_SEVERITIES(){return ue}};return Object.defineProperty(ge,"__isScriptSetup",{enumerable:!1,value:!0}),ge}},Ze={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Xe={class:"page-title"},$e={class:"page-sub"},et={class:"tmpl-count"},tt={class:"filter-bar"},ot={style:{color:"var(--text-primary)","font-weight":"500"}},at={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},lt={key:1,style:{color:"var(--text-muted)"}},nt={key:1,style:{color:"var(--text-muted)"}},rt={key:3,style:{color:"var(--text-secondary)"}},st={key:4,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},it={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},dt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ut={style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},ct={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ft={key:1,style:{color:"var(--text-muted)"}},gt={key:4,class:"sev-mini"},mt={key:0,style:{color:"#ff4d4f"}},vt={key:1,style:{color:"#fa8c16"}},pt={key:2,style:{color:"#faad14"}},yt={key:3,style:{color:"#888"}},_t={key:4,style:{color:"#1677ff"}},bt={key:5,style:{color:"#52c41a"}},wt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},kt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ht={class:"filter-bar"},St={style:{color:"var(--text-primary)","font-weight":"500"}},Ct={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Ft={key:2,style:{color:"var(--text-secondary)"}},Rt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},xt={key:1,style:{color:"var(--text-muted)"}},It={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},At={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},zt={style:{"padding-top":"8px"}},Tt={key:1},Ot={style:{color:"var(--text-primary)","font-size":"12px",margin:"12px 0 6px"}},Gt={key:0,style:{"padding-top":"8px"}},jt={style:{"font-family":"monospace","font-size":"12px"}},Et={key:1,style:{color:"var(--text-muted)"}},Lt={key:1,style:{color:"var(--text-muted)"}},Pt={class:"code-pre"},Mt={class:"code-pre"},Nt={key:0,style:{"padding-top":"8px"}},Dt={style:{"font-family":"monospace","font-size":"12px"}},Ut={style:{"font-family":"monospace","font-size":"12px"}},Jt={style:{"font-family":"monospace","font-size":"12px"}},Bt={key:1,style:{color:"var(--text-muted)"}},Vt={style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},qt={key:0,style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},Wt={style:{"margin-left":"8px","font-family":"monospace","font-size":"12px"}},Ht={style:{"margin-left":"8px",padding:"1px 6px",background:"var(--bg-base)","border-radius":"3px","font-size":"11px"}};function Kt(t,a,i,e,z,G){const S=m("a-button"),L=m("a-menu-item"),P=m("a-menu"),q=m("a-dropdown"),W=m("a-space"),T=m("a-statistic"),M=m("a-card"),j=m("a-col"),D=m("a-row"),h=m("a-tag"),O=m("a-input"),U=m("a-table"),J=m("a-tab-pane"),H=m("a-radio-button"),Y=m("a-radio-group"),Z=m("a-tabs"),y=m("a-textarea"),p=m("a-form-item"),b=m("a-input-number"),I=m("a-form"),N=m("a-modal"),X=m("a-divider"),oe=m("a-empty"),ae=m("a-alert"),le=m("a-select-option"),ne=m("a-select"),C=m("a-descriptions-item"),$=m("a-descriptions"),re=m("a-progress"),se=m("a-list-item"),ie=m("a-list");return d(),f("div",null,[v("div",Ze,[v("div",null,[v("h2",Xe,s(t.$t("codegen.title")),1),v("p",$e,s(t.$t("codegen.subtitle")),1)]),o(W,null,{default:l(()=>[o(S,{loading:e.loading,onClick:e.loadAll},{icon:l(()=>[o(e.ReloadOutlined)]),default:l(()=>[g(" "+s(t.$t("codegen.refresh")),1)]),_:1},8,["loading"]),o(S,{onClick:a[0]||(a[0]=n=>e.showReviewModal=!0)},{icon:l(()=>[o(e.SafetyOutlined)]),default:l(()=>[g(" "+s(t.$t("codegen.review")),1)]),_:1}),o(q,null,{overlay:l(()=>[o(P,null,{default:l(()=>[o(L,{key:"generate",onClick:a[1]||(a[1]=n=>e.showGenerateModal=!0)},{default:l(()=>[g(s(t.$t("codegen.actions.generate")),1)]),_:1}),o(L,{key:"scaffold",onClick:a[2]||(a[2]=n=>e.showScaffoldModal=!0)},{default:l(()=>[g(s(t.$t("codegen.actions.scaffold")),1)]),_:1})]),_:1})]),default:l(()=>[o(S,{type:"primary"},{icon:l(()=>[o(e.PlusOutlined)]),default:l(()=>[g(" "+s(t.$t("codegen.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),c(" Stat cards "),o(D,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:l(()=>[o(j,{xs:12,sm:8,lg:5},{default:l(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[o(T,{title:t.$t("codegen.stats.generations"),value:e.stats.generations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:l(()=>[o(e.CodeOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:l(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[o(T,{title:t.$t("codegen.stats.reviews"),value:e.stats.reviews.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:l(()=>[o(e.AuditOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:l(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[o(T,{title:t.$t("codegen.stats.securityIssues"),value:e.stats.reviews.totalSecurityIssues,"value-style":{color:e.stats.reviews.totalSecurityIssues>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:l(()=>[o(e.WarningOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(j,{xs:12,sm:8,lg:5},{default:l(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[o(T,{title:t.$t("codegen.stats.scaffolds"),value:e.stats.scaffolds.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:l(()=>[o(e.AppstoreAddOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(j,{xs:24,sm:8,lg:4},{default:l(()=>[o(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[o(T,{title:t.$t("codegen.stats.languages"),value:e.stats.generations.uniqueLanguages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:l(()=>[o(e.GlobalOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),c(" Template catalogue "),o(M,{title:t.$t("codegen.templatesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:l(()=>[o(D,{gutter:[12,12]},{default:l(()=>[(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,n=>(d(),k(j,{key:n,xs:12,sm:8,lg:4},{default:l(()=>[v("div",{class:"tmpl-pill",style:ve({borderLeftColor:e.tmplBarColor(n)})},[o(h,{color:e.tmplColor(n),style:{"font-family":"monospace"}},{default:l(()=>[g(s(n),1)]),_:2},1032,["color"]),v("span",et,s(e.stats.scaffolds.byTemplate[n]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),c(" Tabs "),o(Z,{activeKey:e.activeTab,"onUpdate:activeKey":a[6]||(a[6]=n=>e.activeTab=n),class:"codegen-tabs"},{default:l(()=>[c(" ── Generations tab ────────────────────────────────────── "),o(J,{key:"generations",tab:t.$t("codegen.tabs.generations")},{default:l(()=>[v("div",tt,[o(O,{value:e.languageFilter,"onUpdate:value":a[3]||(a[3]=n=>e.languageFilter=n),placeholder:t.$t("codegen.filter.languagePlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"]),o(O,{value:e.frameworkFilter,"onUpdate:value":a[4]||(a[4]=n=>e.frameworkFilter=n),placeholder:t.$t("codegen.filter.frameworkPlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"])]),o(U,{columns:e.generationColumns,"data-source":e.filteredGenerations,pagination:{pageSize:20,showTotal:n=>t.$t("codegen.table.totalSuffix",{n})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:n,record:u})=>[n.key==="prompt"?(d(),f(A,{key:0},[v("span",ot,s(e.truncate(u.prompt,60)),1),v("div",at,s(u.id.slice(0,16)),1)],64)):c("v-if",!0),n.key==="language"?(d(),f(A,{key:1},[u.language?(d(),k(h,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:l(()=>[g(s(u.language),1)]),_:2},1024)):(d(),f("span",lt,"—"))],64)):c("v-if",!0),n.key==="framework"?(d(),f(A,{key:2},[u.framework?(d(),k(h,{key:0,color:"purple",style:{"font-family":"monospace"}},{default:l(()=>[g(s(u.framework),1)]),_:2},1024)):(d(),f("span",nt,"—"))],64)):c("v-if",!0),n.key==="fileCount"?(d(),f("span",rt,s(u.fileCount),1)):c("v-if",!0),n.key==="tokenCount"?(d(),f("span",st,s(u.tokenCount),1)):c("v-if",!0),n.key==="createdAt"?(d(),f("span",it,s(e.formatCodegenTime(u.createdAt)),1)):c("v-if",!0),n.key==="action"?(d(),f(A,{key:6},[o(S,{size:"small",type:"link",onClick:ee=>e.viewGenerationDetails(u)},{default:l(()=>[g(s(t.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"]),u.generatedCode?(d(),k(S,{key:0,size:"small",type:"link",onClick:ee=>e.reviewGeneration(u)},{default:l(()=>[g(s(t.$t("codegen.table.actionReview")),1)]),_:1},8,["onClick"])):c("v-if",!0)],64)):c("v-if",!0)]),emptyText:l(()=>[v("div",dt,[o(e.CodeOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+s(e.languageFilter||e.frameworkFilter?t.$t("codegen.table.emptyGenerationsFiltered"):t.$t("codegen.table.emptyGenerations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),c(" ── Reviews tab ───────────────────────────────────────── "),o(J,{key:"reviews",tab:t.$t("codegen.tabs.reviews")},{default:l(()=>[o(U,{columns:e.reviewColumns,"data-source":e.reviews,pagination:{pageSize:20,showTotal:n=>t.$t("codegen.table.totalSuffix",{n})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:n,record:u})=>[n.key==="codeHash"?(d(),f(A,{key:0},[v("span",ut,s(u.codeHash),1),v("div",ct,s(u.id.slice(0,16)),1)],64)):c("v-if",!0),n.key==="language"?(d(),f(A,{key:1},[u.language?(d(),k(h,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:l(()=>[g(s(u.language),1)]),_:2},1024)):(d(),f("span",ft,"—"))],64)):c("v-if",!0),n.key==="issuesFound"?(d(),k(h,{key:2,color:u.issuesFound===0?"green":u.issuesFound>5?"red":"orange"},{default:l(()=>[g(s(t.$t("codegen.table.issuesSuffix",{n:u.issuesFound})),1)]),_:2},1032,["color"])):c("v-if",!0),n.key==="securityIssues"?(d(),f(A,{key:3},[u.securityIssues>0?(d(),k(h,{key:0,color:"red"},{default:l(()=>[o(e.WarningOutlined),g(" "+s(u.securityIssues),1)]),_:2},1024)):(d(),k(h,{key:1,color:"green"},{default:l(()=>[o(e.CheckCircleOutlined),a[26]||(a[26]=g(" 0 ",-1))]),_:1}))],64)):c("v-if",!0),n.key==="severityBreak"?(d(),f("span",gt,[u.severitySummary.critical>0?(d(),f("span",mt,"C:"+s(u.severitySummary.critical),1)):c("v-if",!0),u.severitySummary.high>0?(d(),f("span",vt,"H:"+s(u.severitySummary.high),1)):c("v-if",!0),u.severitySummary.medium>0?(d(),f("span",pt,"M:"+s(u.severitySummary.medium),1)):c("v-if",!0),u.severitySummary.low>0?(d(),f("span",yt,"L:"+s(u.severitySummary.low),1)):c("v-if",!0),u.severitySummary.info>0?(d(),f("span",_t,"I:"+s(u.severitySummary.info),1)):c("v-if",!0),u.issuesFound===0?(d(),f("span",bt,s(t.$t("codegen.table.noIssues")),1)):c("v-if",!0)])):c("v-if",!0),n.key==="reviewedAt"?(d(),f("span",wt,s(e.formatCodegenTime(u.reviewedAt)),1)):c("v-if",!0),n.key==="action"?(d(),k(S,{key:6,size:"small",type:"link",onClick:ee=>e.viewReviewDetails(u)},{default:l(()=>[g(s(t.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"])):c("v-if",!0)]),emptyText:l(()=>[v("div",kt,[o(e.SafetyOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+s(t.$t("codegen.table.emptyReviews")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),c(" ── Scaffolds tab ─────────────────────────────────────── "),o(J,{key:"scaffolds",tab:t.$t("codegen.tabs.scaffolds")},{default:l(()=>[v("div",ht,[o(Y,{value:e.templateFilter,"onUpdate:value":a[5]||(a[5]=n=>e.templateFilter=n),size:"small","button-style":"solid"},{default:l(()=>[o(H,{value:""},{default:l(()=>[g(s(t.$t("codegen.filter.allTemplates")),1)]),_:1}),(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,n=>(d(),k(H,{key:n,value:n},{default:l(()=>[g(s(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),o(U,{columns:e.scaffoldColumns,"data-source":e.filteredScaffolds,pagination:{pageSize:20,showTotal:n=>t.$t("codegen.table.totalSuffix",{n})},size:"small",loading:e.loading,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:n,record:u})=>[n.key==="projectName"?(d(),f(A,{key:0},[v("span",St,s(u.projectName||t.$t("codegen.table.unnamed")),1),v("div",Ct,s(u.id.slice(0,16)),1)],64)):c("v-if",!0),n.key==="template"?(d(),k(h,{key:1,color:e.tmplColor(u.template),style:{"font-family":"monospace"}},{default:l(()=>[g(s(u.template),1)]),_:2},1032,["color"])):c("v-if",!0),n.key==="filesGenerated"?(d(),f("span",Ft,s(u.filesGenerated),1)):c("v-if",!0),n.key==="outputPath"?(d(),f(A,{key:3},[u.outputPath?(d(),f("span",Rt,s(e.truncate(u.outputPath,40)),1)):(d(),f("span",xt,"—"))],64)):c("v-if",!0),n.key==="createdAt"?(d(),f("span",It,s(e.formatCodegenTime(u.createdAt)),1)):c("v-if",!0)]),emptyText:l(()=>[v("div",At,[o(e.AppstoreAddOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),g(" "+s(e.templateFilter?t.$t("codegen.table.emptyScaffoldsFiltered"):t.$t("codegen.table.emptyScaffolds")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),c(" ── Generate modal ──────────────────────────────────────── "),o(N,{open:e.showGenerateModal,"onUpdate:open":a[13]||(a[13]=n=>e.showGenerateModal=n),title:t.$t("codegen.generate_modal.title"),"confirm-loading":e.generating,width:560,"ok-text":t.$t("codegen.generate_modal.ok"),"cancel-text":t.$t("codegen.generate_modal.cancel"),onOk:e.submitGenerate,onCancel:e.resetGenerateForm},{default:l(()=>[o(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[o(p,{label:t.$t("codegen.generate_modal.promptLabel"),required:""},{default:l(()=>[o(y,{value:e.generateForm.prompt,"onUpdate:value":a[7]||(a[7]=n=>e.generateForm.prompt=n),placeholder:t.$t("codegen.generate_modal.promptPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.languageLabel")},{default:l(()=>[o(O,{value:e.generateForm.language,"onUpdate:value":a[8]||(a[8]=n=>e.generateForm.language=n),placeholder:t.$t("codegen.generate_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.frameworkLabel")},{default:l(()=>[o(O,{value:e.generateForm.framework,"onUpdate:value":a[9]||(a[9]=n=>e.generateForm.framework=n),placeholder:t.$t("codegen.generate_modal.frameworkPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.codeLabel")},{default:l(()=>[o(y,{value:e.generateForm.code,"onUpdate:value":a[10]||(a[10]=n=>e.generateForm.code=n),placeholder:t.$t("codegen.generate_modal.codePlaceholder"),"auto-size":{minRows:3,maxRows:10}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.filesLabel")},{default:l(()=>[o(b,{value:e.generateForm.files,"onUpdate:value":a[11]||(a[11]=n=>e.generateForm.files=n),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.generate_modal.tokensLabel")},{default:l(()=>[o(b,{value:e.generateForm.tokens,"onUpdate:value":a[12]||(a[12]=n=>e.generateForm.tokens=n),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── Review modal ────────────────────────────────────────── "),o(N,{open:e.showReviewModal,"onUpdate:open":a[17]||(a[17]=n=>e.showReviewModal=n),title:t.$t("codegen.review_modal.title"),width:720,footer:null},{default:l(()=>[v("div",zt,[o(I,{"label-col":{span:5},"wrapper-col":{span:19}},{default:l(()=>[o(p,{label:t.$t("codegen.review_modal.languageLabel")},{default:l(()=>[o(O,{value:e.reviewForm.language,"onUpdate:value":a[14]||(a[14]=n=>e.reviewForm.language=n),placeholder:t.$t("codegen.review_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.review_modal.generationIdLabel")},{default:l(()=>[o(O,{value:e.reviewForm.generationId,"onUpdate:value":a[15]||(a[15]=n=>e.reviewForm.generationId=n),placeholder:t.$t("codegen.review_modal.generationIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.review_modal.codeLabel"),required:""},{default:l(()=>[o(y,{value:e.reviewForm.code,"onUpdate:value":a[16]||(a[16]=n=>e.reviewForm.code=n),placeholder:t.$t("codegen.review_modal.codePlaceholder"),"auto-size":{minRows:6,maxRows:16}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{"wrapper-col":{offset:5,span:19}},{default:l(()=>[o(S,{type:"primary",loading:e.reviewing,onClick:e.submitReview},{icon:l(()=>[o(e.SafetyOutlined)]),default:l(()=>[g(" "+s(t.$t("codegen.review_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),o(X),e.reviewResult?(d(),f("div",Tt,[o(D,{gutter:12,style:{"margin-bottom":"12px"}},{default:l(()=>[o(j,{span:8},{default:l(()=>[o(T,{title:t.$t("codegen.review_modal.issuesStat"),value:e.reviewResult.issuesFound,"value-style":{color:e.reviewResult.issuesFound>0?"#fa8c16":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),o(j,{span:8},{default:l(()=>[o(T,{title:t.$t("codegen.review_modal.securityStat"),value:e.reviewResult.securityIssues,"value-style":{color:e.reviewResult.securityIssues>0?"#ff4d4f":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),o(j,{span:8},{default:l(()=>[o(T,{title:t.$t("codegen.review_modal.reviewIdStat"),value:e.reviewResult.reviewId?e.reviewResult.reviewId.slice(0,8):"—","value-style":{fontSize:"14px",fontFamily:"monospace"}},null,8,["title","value"])]),_:1})]),_:1}),v("h5",Ot,s(t.$t("codegen.review_modal.bySeverity")),1),o(W,null,{default:l(()=>[(d(!0),f(A,null,Q(e.REVIEW_SEVERITIES,n=>(d(),k(h,{key:n,color:e.severityColor(n)},{default:l(()=>[g(s(e.severityLabel(n))+": "+s(e.reviewResult.severitySummary[n]||0),1)]),_:2},1032,["color"]))),128))]),_:1}),e.reviewResult.reason?(d(),k(ae,{key:0,type:"warning","show-icon":"",message:t.$t("codegen.review_modal.failedReason",{reason:e.reviewResult.reason}),style:{"margin-top":"12px"}},null,8,["message"])):c("v-if",!0)])):(d(),k(oe,{key:0,description:t.$t("codegen.review_modal.notReviewed"),image:e.EMPTY_IMG},null,8,["description","image"]))])]),_:1},8,["open","title"]),c(" ── Scaffold modal ──────────────────────────────────────── "),o(N,{open:e.showScaffoldModal,"onUpdate:open":a[23]||(a[23]=n=>e.showScaffoldModal=n),title:t.$t("codegen.scaffold_modal.title"),"confirm-loading":e.scaffolding,width:560,"ok-text":t.$t("codegen.scaffold_modal.ok"),"cancel-text":t.$t("codegen.scaffold_modal.cancel"),onOk:e.submitScaffold,onCancel:e.resetScaffoldForm},{default:l(()=>[o(I,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[o(p,{label:t.$t("codegen.scaffold_modal.templateLabel"),required:""},{default:l(()=>[o(ne,{value:e.scaffoldForm.template,"onUpdate:value":a[18]||(a[18]=n=>e.scaffoldForm.template=n)},{default:l(()=>[(d(!0),f(A,null,Q(e.SCAFFOLD_TEMPLATES,n=>(d(),k(le,{key:n,value:n},{default:l(()=>[g(s(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.projectLabel"),required:""},{default:l(()=>[o(O,{value:e.scaffoldForm.projectName,"onUpdate:value":a[19]||(a[19]=n=>e.scaffoldForm.projectName=n),placeholder:t.$t("codegen.scaffold_modal.projectPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.optionsLabel")},{default:l(()=>[o(y,{value:e.scaffoldForm.optionsJson,"onUpdate:value":a[20]||(a[20]=n=>e.scaffoldForm.optionsJson=n),placeholder:t.$t("codegen.scaffold_modal.optionsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.filesLabel")},{default:l(()=>[o(b,{value:e.scaffoldForm.files,"onUpdate:value":a[21]||(a[21]=n=>e.scaffoldForm.files=n),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),o(p,{label:t.$t("codegen.scaffold_modal.outputLabel")},{default:l(()=>[o(O,{value:e.scaffoldForm.outputPath,"onUpdate:value":a[22]||(a[22]=n=>e.scaffoldForm.outputPath=n),placeholder:t.$t("codegen.scaffold_modal.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),c(" ── Generation details modal ───────────────────────────── "),o(N,{open:e.showGenDetailsModal,"onUpdate:open":a[24]||(a[24]=n=>e.showGenDetailsModal=n),title:t.$t("codegen.gen_details.title",{id:e.currentGen?.id?.slice(0,12)||""}),width:780,footer:null},{default:l(()=>[e.currentGen?(d(),f("div",Gt,[o($,{column:2,size:"small",bordered:""},{default:l(()=>[o(C,{label:t.$t("codegen.gen_details.id"),span:2},{default:l(()=>[v("span",jt,s(e.currentGen.id),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.language")},{default:l(()=>[e.currentGen.language?(d(),k(h,{key:0,color:"blue"},{default:l(()=>[g(s(e.currentGen.language),1)]),_:1})):(d(),f("span",Et,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.framework")},{default:l(()=>[e.currentGen.framework?(d(),k(h,{key:0,color:"purple"},{default:l(()=>[g(s(e.currentGen.framework),1)]),_:1})):(d(),f("span",Lt,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.fileCount")},{default:l(()=>[g(s(e.currentGen.fileCount),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.tokenCount")},{default:l(()=>[g(s(e.currentGen.tokenCount),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.createdAt"),span:2},{default:l(()=>[g(s(e.formatCodegenTime(e.currentGen.createdAt)),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.gen_details.prompt"),span:2},{default:l(()=>[v("pre",Pt,s(e.currentGen.prompt),1)]),_:1},8,["label"]),e.currentGen.generatedCode?(d(),k(C,{key:0,label:t.$t("codegen.gen_details.code"),span:2},{default:l(()=>[v("pre",Mt,s(e.truncate(e.currentGen.generatedCode,2e3)),1)]),_:1},8,["label"])):c("v-if",!0)]),_:1})])):c("v-if",!0)]),_:1},8,["open","title"]),c(" ── Review details modal ──────────────────────────────── "),o(N,{open:e.showReviewDetailsModal,"onUpdate:open":a[25]||(a[25]=n=>e.showReviewDetailsModal=n),title:t.$t("codegen.review_details.title",{id:e.currentReview?.id?.slice(0,12)||""}),width:720,footer:null},{default:l(()=>[e.currentReview?(d(),f("div",Nt,[o($,{column:2,size:"small",bordered:""},{default:l(()=>[o(C,{label:t.$t("codegen.review_details.id"),span:2},{default:l(()=>[v("span",Dt,s(e.currentReview.id),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.codeHash"),span:2},{default:l(()=>[v("span",Ut,s(e.currentReview.codeHash),1)]),_:1},8,["label"]),e.currentReview.generationId?(d(),k(C,{key:0,label:t.$t("codegen.review_details.generationId"),span:2},{default:l(()=>[v("span",Jt,s(e.currentReview.generationId),1)]),_:1},8,["label"])):c("v-if",!0),o(C,{label:t.$t("codegen.review_details.language")},{default:l(()=>[e.currentReview.language?(d(),k(h,{key:0,color:"blue"},{default:l(()=>[g(s(e.currentReview.language),1)]),_:1})):(d(),f("span",Bt,"—"))]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.reviewedAt")},{default:l(()=>[g(s(e.formatCodegenTime(e.currentReview.reviewedAt)),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.issuesFound")},{default:l(()=>[g(s(e.currentReview.issuesFound),1)]),_:1},8,["label"]),o(C,{label:t.$t("codegen.review_details.securityIssues")},{default:l(()=>[v("span",{style:ve({color:e.currentReview.securityIssues>0?"#ff4d4f":"#52c41a"})},s(e.currentReview.securityIssues),5)]),_:1},8,["label"])]),_:1}),v("h4",Vt,s(t.$t("codegen.review_details.bySeverity")),1),(d(!0),f(A,null,Q(e.REVIEW_SEVERITIES,n=>(d(),f("div",{key:n,class:"bd-row"},[o(h,{color:e.severityColor(n),style:{"min-width":"70px","text-align":"center"}},{default:l(()=>[g(s(e.severityLabel(n)),1)]),_:2},1032,["color"]),o(re,{percent:e.pctOfTotal(e.currentReview.severitySummary[n]||0,e.currentReview.issuesFound),"stroke-color":e.severityBarColor(n),format:()=>`${e.currentReview.severitySummary[n]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128)),e.currentReview.issuesDetail.length?(d(),f("h4",qt,s(t.$t("codegen.review_details.issues")),1)):c("v-if",!0),e.currentReview.issuesDetail.length?(d(),k(ie,{key:1,size:"small","data-source":e.currentReview.issuesDetail,pagination:{pageSize:8}},{renderItem:l(({item:n})=>[o(se,null,{default:l(()=>[o(h,{color:e.severityColor(n.severity),style:{"min-width":"60px","text-align":"center"}},{default:l(()=>[g(s(e.severityLabel(n.severity)),1)]),_:2},1032,["color"]),v("span",Wt,s(n.rule),1),v("code",Ht,s(e.truncate(n.match,60)),1)]),_:2},1024)]),_:1},8,["data-source"])):c("v-if",!0)])):c("v-if",!0)]),_:1},8,["open","title"])])}const $t=Ge(Ye,[["render",Kt],["__scopeId","data-v-b0047198"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Codegen.vue"]]);export{$t as default};
@@ -1 +1 @@
1
- import{q as O,f as m,h as $,i as w}from"./index-D0d2TS5o.js";import{b as G,c as I}from"./index-C14mc-46.js";import{d as R,c as _,f as g}from"./vendor-DhFY8mDK.js";function A(r){return typeof r=="number"?`${r} ${r} auto`:/^\d+(\.\d+)?(px|em|rem|%)$/.test(r)?`0 0 ${r}`:r}const E=()=>({span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}),F=["xs","sm","md","lg","xl","xxl"],q=R({compatConfig:{MODE:3},name:"ACol",inheritAttrs:!1,props:E(),setup(r,b){let{slots:p,attrs:d}=b;const{gutter:S,supportFlexGap:h,wrap:x}=G(),{prefixCls:f,direction:y}=O("col",r),[N,v]=I(f),j=g(()=>{const{span:n,order:u,offset:s,push:o,pull:c}=r,t=f.value;let i={};return F.forEach(l=>{let e={};const a=r[l];typeof a=="number"?e.span=a:typeof a=="object"&&(e=a||{}),i=$($({},i),{[`${t}-${l}-${e.span}`]:e.span!==void 0,[`${t}-${l}-order-${e.order}`]:e.order||e.order===0,[`${t}-${l}-offset-${e.offset}`]:e.offset||e.offset===0,[`${t}-${l}-push-${e.push}`]:e.push||e.push===0,[`${t}-${l}-pull-${e.pull}`]:e.pull||e.pull===0,[`${t}-rtl`]:y.value==="rtl"})}),w(t,{[`${t}-${n}`]:n!==void 0,[`${t}-order-${u}`]:u,[`${t}-offset-${s}`]:s,[`${t}-push-${o}`]:o,[`${t}-pull-${c}`]:c},i,d.class,v.value)}),C=g(()=>{const{flex:n}=r,u=S.value,s={};if(u&&u[0]>0){const o=`${u[0]/2}px`;s.paddingLeft=o,s.paddingRight=o}if(u&&u[1]>0&&!h.value){const o=`${u[1]/2}px`;s.paddingTop=o,s.paddingBottom=o}return n&&(s.flex=A(n),x.value===!1&&!s.minWidth&&(s.minWidth=0)),s});return()=>{var n;return N(_("div",m(m({},d),{},{class:j.value,style:[C.value,d.style]}),[(n=p.default)===null||n===void 0?void 0:n.call(p)]))}}});export{q as C};
1
+ import{q as O,f as m,h as $,i as w}from"./index-BJUf19Wd.js";import{d as G,c as I,b as g}from"./vendor-BvqAck49.js";import{u as R,a as _}from"./index-CKrbutAQ.js";function A(r){return typeof r=="number"?`${r} ${r} auto`:/^\d+(\.\d+)?(px|em|rem|%)$/.test(r)?`0 0 ${r}`:r}const E=()=>({span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}),F=["xs","sm","md","lg","xl","xxl"],q=G({compatConfig:{MODE:3},name:"ACol",inheritAttrs:!1,props:E(),setup(r,b){let{slots:p,attrs:d}=b;const{gutter:S,supportFlexGap:h,wrap:x}=R(),{prefixCls:f,direction:y}=O("col",r),[N,v]=_(f),j=g(()=>{const{span:n,order:u,offset:s,push:o,pull:c}=r,t=f.value;let i={};return F.forEach(l=>{let e={};const a=r[l];typeof a=="number"?e.span=a:typeof a=="object"&&(e=a||{}),i=$($({},i),{[`${t}-${l}-${e.span}`]:e.span!==void 0,[`${t}-${l}-order-${e.order}`]:e.order||e.order===0,[`${t}-${l}-offset-${e.offset}`]:e.offset||e.offset===0,[`${t}-${l}-push-${e.push}`]:e.push||e.push===0,[`${t}-${l}-pull-${e.pull}`]:e.pull||e.pull===0,[`${t}-rtl`]:y.value==="rtl"})}),w(t,{[`${t}-${n}`]:n!==void 0,[`${t}-order-${u}`]:u,[`${t}-offset-${s}`]:s,[`${t}-push-${o}`]:o,[`${t}-pull-${c}`]:c},i,d.class,v.value)}),C=g(()=>{const{flex:n}=r,u=S.value,s={};if(u&&u[0]>0){const o=`${u[0]/2}px`;s.paddingLeft=o,s.paddingRight=o}if(u&&u[1]>0&&!h.value){const o=`${u[1]/2}px`;s.paddingTop=o,s.paddingBottom=o}return n&&(s.flex=A(n),x.value===!1&&!s.minWidth&&(s.minWidth=0)),s});return()=>{var n;return N(I("div",m(m({},d),{},{class:j.value,style:[C.value,d.style]}),[(n=p.default)===null||n===void 0?void 0:n.call(p)]))}}});export{q as C};
@@ -0,0 +1 @@
1
+ .page-title[data-v-7ac975f5]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-7ac975f5]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.community-tabs[data-v-7ac975f5] .ant-tabs-nav{margin-bottom:16px}.post-feed[data-v-7ac975f5]{display:grid;gap:12px}.post-card[data-v-7ac975f5]{background:var(--bg-card);border-color:var(--border-color)}.post-head[data-v-7ac975f5]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.post-meta[data-v-7ac975f5]{flex:1;min-width:0}.post-author[data-v-7ac975f5]{color:var(--text-primary);font-weight:600;font-size:13px}.post-time[data-v-7ac975f5]{color:var(--text-secondary);font-size:11px;margin-top:1px}.post-body[data-v-7ac975f5]{color:var(--text-primary);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
@@ -0,0 +1 @@
1
+ import{I as y,J as f,U as x,R as c,c as e,K as a,V as g,r as b,o as G,a as J,b as q,P as d,Q as p,F as M,Z as yt,S as B,$ as ft}from"./vendor-BvqAck49.js";import{_ as gt,b as X,u as Y,d as m}from"./index-BJUf19Wd.js";import{S as $,p as tt,a as et,b as at,c as ot}from"./community-parser-CO25nZFt.js";import{aT as _t,B as pt,ab as vt,a4 as xt,aE as bt,J as kt,aP as ht,ai as Ct,R as wt}from"./icons-DP3uiYxy.js";const Ft={__name:"Community",setup(nt,{expose:i}){i();const{t:s,locale:t}=X(),v=Y(),N=b(!1),k=b(!1),P=b(!1),h=b(""),C=b({...$}),w=b([]),z=b([]),E=b([]),j=b("posts"),R=b(!1),U=b(!1),F=J({author:"",content:""}),_=J({name:"",did:"",email:"",notes:""}),K=q(()=>[{title:s("community.contactColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:s("community.contactColumns.did"),key:"did",dataIndex:"did"},{title:s("community.contactColumns.email"),key:"email",dataIndex:"email",width:"200px"},{title:s("community.contactColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:s("community.contactColumns.action"),key:"action",width:"180px"}]),A=q(()=>[{title:s("community.friendColumns.contact"),key:"contact"},{title:s("community.friendColumns.status"),key:"status",width:"120px"},{title:s("community.friendColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:s("community.friendColumns.action"),key:"action",width:"100px"}]),O=q(()=>z.value.map(n=>{const o=w.value.find(u=>u.id===n.contactId);return{...n,contactName:o?o.name:""}})),I=q(()=>new Set(z.value.map(n=>n.contactId)));function D(n){return I.value.has(n)}function V(n){const o=["#1677ff","#52c41a","#722ed1","#faad14","#ff4d4f","#13c2c2","#eb2f96"];let u=0;for(let S=0;S<n.length;S++)u=u*31+n.charCodeAt(S)>>>0;return o[u%o.length]}function l(n){return n?n.length>28?n.slice(0,16)+"..."+n.slice(-8):n:""}function r(n){if(!n)return"—";if(typeof n!="string")return String(n);const o=new Date(n);if(isNaN(o.getTime()))return n;const u=t.value==="zh-CN"?"zh-CN":"en-US";return o.toLocaleString(u,{hour12:!1})}function H(n){return{accepted:"green",pending:"orange",blocked:"red"}[n]||"default"}function lt(n){const o=`community.status.${n}`,u=s(o);return u===o?n:u}async function T(){N.value=!0;try{const[n,o,u,S]=await Promise.all([v.execute("social stats --json",1e4).catch(()=>({output:""})),v.execute("social contact list --json",1e4).catch(()=>({output:""})),v.execute("social friend list --json",1e4).catch(()=>({output:""})),v.execute("social post list --json",1e4).catch(()=>({output:""}))]);C.value=tt(n.output),w.value=et(o.output),z.value=at(u.output),E.value=ot(S.output).sort((L,ut)=>(ut.createdAt||"").localeCompare(L.createdAt||""))}catch(n){m.error(s("community.messages.loadFailed",{err:n?.message||n}))}finally{N.value=!1}}async function st(){const n=F.content.trim();if(!n){m.warning(s("community.messages.contentRequired"));return}k.value=!0;try{const o=n.replace(/"/g,'\\"'),u=F.author.trim(),S=u?`social post publish "${o}" --author "${u.replace(/"/g,'\\"')}"`:`social post publish "${o}"`,{output:L}=await v.execute(S,15e3);if(/error|失败/i.test(L)&&!/"id"/.test(L)){m.error(s("community.messages.publishFailed",{err:L.slice(0,120)}));return}m.success(s("community.messages.publishOk")),R.value=!1,W(),await T()}catch(o){m.error(s("community.messages.publishFailed",{err:o?.message||o}))}finally{k.value=!1}}async function it(){const n=_.name.trim();if(!n){m.warning(s("community.messages.nameRequired"));return}P.value=!0;try{const o=[`social contact add "${n.replace(/"/g,'\\"')}"`];_.did.trim()&&o.push(`--did "${_.did.trim().replace(/"/g,'\\"')}"`),_.email.trim()&&o.push(`--email "${_.email.trim().replace(/"/g,'\\"')}"`),_.notes.trim()&&o.push(`--notes "${_.notes.trim().replace(/"/g,'\\"')}"`);const{output:u}=await v.execute(o.join(" "),15e3);if(/error|失败/i.test(u)&&!/"id"/.test(u)){m.error(s("community.messages.addFailed",{err:u.slice(0,120)}));return}m.success(s("community.messages.addOk")),U.value=!1,Q(),await T()}catch(o){m.error(s("community.messages.addFailed",{err:o?.message||o}))}finally{P.value=!1}}async function ct(n){try{const{output:o}=await v.execute(`social contact delete ${n.id}`,1e4);if(/error|失败/i.test(o)){m.error(s("community.messages.deleteFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.deleteOk")),await T()}catch(o){m.error(s("community.messages.deleteFailed",{err:o?.message||o}))}}async function rt(n){h.value=n.id;try{const{output:o}=await v.execute(`social friend add ${n.id}`,1e4);if(/error|失败/i.test(o)&&!/"id"/.test(o)){m.error(s("community.messages.friendRequestFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.friendRequestOk")),await T(),j.value="friends"}catch(o){m.error(s("community.messages.friendRequestFailed",{err:o?.message||o}))}finally{h.value=""}}async function dt(n){try{const{output:o}=await v.execute(`social friend remove ${n.contactId}`,1e4);if(/error|失败/i.test(o)){m.error(s("community.messages.removeFailed",{err:o.slice(0,120)}));return}m.success(s("community.messages.removeOk")),await T()}catch(o){m.error(s("community.messages.removeFailed",{err:o?.message||o}))}}async function mt(n){try{await v.execute(`social post like ${n.id}`,1e4),n.likes++,T()}catch(o){m.error(s("community.messages.likeFailed",{err:o?.message||o}))}}function W(){F.author="",F.content=""}function Q(){_.name="",_.did="",_.email="",_.notes=""}G(T);const Z={t:s,locale:t,ws:v,loading:N,publishing:k,addingContact:P,addingFriend:h,stats:C,contacts:w,friends:z,posts:E,activeTab:j,showPostModal:R,showContactModal:U,postForm:F,contactForm:_,contactColumns:K,friendColumns:A,friendRows:O,friendIds:I,isFriend:D,avatarColor:V,shortDid:l,formatTime:r,statusColor:H,statusLabel:lt,loadAll:T,publishPost:st,addContact:it,deleteContact:ct,sendFriendRequest:rt,removeFriend:dt,likePost:mt,resetPostForm:W,resetContactForm:Q,ref:b,computed:q,onMounted:G,reactive:J,get useI18n(){return X},get ReloadOutlined(){return wt},get EditOutlined(){return Ct},get UserAddOutlined(){return ht},get TeamOutlined(){return kt},get HeartOutlined(){return bt},get FileTextOutlined(){return xt},get MessageOutlined(){return vt},get BellOutlined(){return pt},get LikeOutlined(){return _t},get message(){return m},get useWsStore(){return Y},get parseSocialStats(){return tt},get parseContacts(){return et},get parseFriends(){return at},get parsePosts(){return ot},get STATS_DEFAULTS(){return $}};return Object.defineProperty(Z,"__isScriptSetup",{enumerable:!1,value:!0}),Z}},Ot={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Tt={class:"page-title"},St={class:"page-sub"},zt={key:0,style:{"text-align":"center",padding:"60px"}},Rt={key:1,style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}},At={key:2,class:"post-feed"},Pt={class:"post-head"},Ut={class:"post-meta"},It={class:"post-author"},Lt={class:"post-time"},qt={class:"post-body"},Mt={style:{color:"var(--text-primary)","font-weight":"500"}},Bt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Nt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={key:0,style:{color:"var(--text-primary)","font-weight":"500"}},jt={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Dt={key:1,style:{color:"var(--text-muted)"}},Vt={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},Ht={key:1,style:{color:"var(--text-muted)"}},Kt={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},Jt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}};function Wt(nt,i,s,t,v,N){const k=y("a-button"),P=y("a-space"),h=y("a-statistic"),C=y("a-card"),w=y("a-col"),z=y("a-row"),E=y("a-spin"),j=y("a-avatar"),R=y("a-tab-pane"),U=y("a-tag"),F=y("a-popconfirm"),_=y("a-table"),K=y("a-tabs"),A=y("a-input"),O=y("a-form-item"),I=y("a-textarea"),D=y("a-form"),V=y("a-modal");return d(),f("div",null,[x("div",Ot,[x("div",null,[x("h2",Tt,c(t.t("community.title")),1),x("p",St,c(t.t("community.subtitle")),1)]),e(P,null,{default:a(()=>[e(k,{loading:t.loading,onClick:t.loadAll},{icon:a(()=>[e(t.ReloadOutlined)]),default:a(()=>[p(" "+c(t.t("community.refresh")),1)]),_:1},8,["loading"]),e(k,{type:"primary",onClick:i[0]||(i[0]=l=>t.showPostModal=!0)},{icon:a(()=>[e(t.EditOutlined)]),default:a(()=>[p(" "+c(t.t("community.publishButton")),1)]),_:1}),e(k,{onClick:i[1]||(i[1]=l=>t.showContactModal=!0)},{icon:a(()=>[e(t.UserAddOutlined)]),default:a(()=>[p(" "+c(t.t("community.addContactButton")),1)]),_:1})]),_:1})]),g(" Stats overview "),e(z,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.contacts"),value:t.stats.contacts,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[e(t.TeamOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.friends"),value:t.stats.friends,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[e(t.HeartOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.posts"),value:t.stats.posts,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[e(t.FileTextOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:12,sm:8,lg:5},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.messages"),value:t.stats.messages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[e(t.MessageOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),e(w,{xs:24,sm:8,lg:4},{default:a(()=>[e(C,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[e(h,{title:t.t("community.stats.pendingRequests"),value:t.stats.pendingRequests,"value-style":{color:t.stats.pendingRequests>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:a(()=>[e(t.BellOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),g(" Tabs "),e(K,{activeKey:t.activeTab,"onUpdate:activeKey":i[2]||(i[2]=l=>t.activeTab=l),class:"community-tabs"},{default:a(()=>[g(" ── Posts tab ─────────────────────────────────────────────── "),e(R,{key:"posts",tab:t.t("community.tabs.posts")},{default:a(()=>[t.loading&&!t.posts.length?(d(),f("div",zt,[e(E,{size:"large"})])):t.posts.length?(d(),f("div",At,[(d(!0),f(M,null,yt(t.posts,l=>(d(),B(C,{key:l.key,class:"post-card","body-style":{padding:"16px"}},{default:a(()=>[x("div",Pt,[e(j,{style:ft({backgroundColor:t.avatarColor(l.author)})},{default:a(()=>[p(c(l.author.slice(0,1).toUpperCase()),1)]),_:2},1032,["style"]),x("div",Ut,[x("div",It,c(l.author),1),x("div",Lt,c(t.formatTime(l.createdAt)),1)]),e(k,{size:"small",type:"text",onClick:r=>t.likePost(l)},{icon:a(()=>[e(t.LikeOutlined)]),default:a(()=>[p(" "+c(l.likes),1)]),_:2},1032,["onClick"])]),x("div",qt,c(l.content),1)]),_:2},1024))),128))])):(d(),f("div",Rt,[e(t.FileTextOutlined,{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),p(" "+c(t.t("community.posts.emptyText")),1)]))]),_:1},8,["tab"]),g(" ── Friends tab ───────────────────────────────────────────── "),e(R,{key:"friends",tab:t.t("community.tabs.friends")},{default:a(()=>[e(_,{columns:t.friendColumns,"data-source":t.friendRows,pagination:{pageSize:20,showTotal:l=>t.t("community.totals.rows",{count:l})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:r})=>[l.key==="contact"?(d(),f(M,{key:0},[x("span",Mt,c(r.contactName||r.contactId),1),r.contactName?(d(),f("div",Bt,c(r.contactId),1)):g("v-if",!0)],64)):g("v-if",!0),l.key==="status"?(d(),B(U,{key:1,color:t.statusColor(r.status)},{default:a(()=>[p(c(t.statusLabel(r.status)),1)]),_:2},1032,["color"])):g("v-if",!0),l.key==="action"?(d(),B(F,{key:2,title:t.t("community.friends.removeConfirm"),"ok-text":t.t("community.friends.removeOk"),"cancel-text":t.t("common.cancel"),onConfirm:H=>t.removeFriend(r)},{default:a(()=>[e(k,{size:"small",type:"link",danger:""},{default:a(()=>[p(c(t.t("community.friends.remove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):g("v-if",!0)]),emptyText:a(()=>[x("div",Nt,[e(t.HeartOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+c(t.t("community.friends.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),g(" ── Contacts tab ──────────────────────────────────────────── "),e(R,{key:"contacts",tab:t.t("community.tabs.contacts")},{default:a(()=>[e(_,{columns:t.contactColumns,"data-source":t.contacts,pagination:{pageSize:20,showTotal:l=>t.t("community.totals.rows",{count:l})},size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:l,record:r})=>[l.key==="name"?(d(),f("span",Et,c(r.name),1)):g("v-if",!0),l.key==="did"?(d(),f(M,{key:1},[r.did?(d(),f("span",jt,c(t.shortDid(r.did)),1)):(d(),f("span",Dt,"—"))],64)):g("v-if",!0),l.key==="email"?(d(),f(M,{key:2},[r.email?(d(),f("span",Vt,c(r.email),1)):(d(),f("span",Ht,"—"))],64)):g("v-if",!0),l.key==="createdAt"?(d(),f("span",Kt,c(t.formatTime(r.createdAt)),1)):g("v-if",!0),l.key==="action"?(d(),f(M,{key:4},[t.isFriend(r.id)?(d(),B(U,{key:1,color:"green",style:{"font-size":"11px"}},{default:a(()=>[p(c(t.t("community.contacts.alreadyFriend")),1)]),_:1})):(d(),B(k,{key:0,size:"small",type:"link",loading:t.addingFriend===r.id,onClick:H=>t.sendFriendRequest(r)},{default:a(()=>[p(c(t.t("community.contacts.addFriend")),1)]),_:1},8,["loading","onClick"])),e(F,{title:t.t("community.contacts.deleteConfirm"),"ok-text":t.t("community.contacts.deleteOk"),"cancel-text":t.t("common.cancel"),onConfirm:H=>t.deleteContact(r)},{default:a(()=>[e(k,{size:"small",type:"link",danger:"",style:{"margin-left":"4px"}},{default:a(()=>[p(c(t.t("community.contacts.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):g("v-if",!0)]),emptyText:a(()=>[x("div",Jt,[e(t.TeamOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+c(t.t("community.contacts.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),g(" ── Publish post modal ──────────────────────────────────────── "),e(V,{open:t.showPostModal,"onUpdate:open":i[5]||(i[5]=l=>t.showPostModal=l),title:t.t("community.posts.publishTitle"),"confirm-loading":t.publishing,"ok-text":t.t("community.posts.publishOk"),"cancel-text":t.t("common.cancel"),onOk:t.publishPost,onCancel:t.resetPostForm},{default:a(()=>[e(D,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[e(O,{label:t.t("community.posts.authorLabel")},{default:a(()=>[e(A,{value:t.postForm.author,"onUpdate:value":i[3]||(i[3]=l=>t.postForm.author=l),placeholder:t.t("community.posts.authorPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.posts.contentLabel"),required:""},{default:a(()=>[e(I,{value:t.postForm.content,"onUpdate:value":i[4]||(i[4]=l=>t.postForm.content=l),placeholder:t.t("community.posts.contentPlaceholder"),"auto-size":{minRows:4,maxRows:10},maxlength:2e3,"show-count":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),g(" ── Add contact modal ───────────────────────────────────────── "),e(V,{open:t.showContactModal,"onUpdate:open":i[10]||(i[10]=l=>t.showContactModal=l),title:t.t("community.contacts.addTitle"),"confirm-loading":t.addingContact,"ok-text":t.t("community.contacts.addOk"),"cancel-text":t.t("common.cancel"),onOk:t.addContact,onCancel:t.resetContactForm},{default:a(()=>[e(D,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[e(O,{label:t.t("community.contacts.nameLabel"),required:""},{default:a(()=>[e(A,{value:t.contactForm.name,"onUpdate:value":i[6]||(i[6]=l=>t.contactForm.name=l),placeholder:t.t("community.contacts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.didLabel")},{default:a(()=>[e(A,{value:t.contactForm.did,"onUpdate:value":i[7]||(i[7]=l=>t.contactForm.did=l),placeholder:t.t("community.contacts.didPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.emailLabel")},{default:a(()=>[e(A,{value:t.contactForm.email,"onUpdate:value":i[8]||(i[8]=l=>t.contactForm.email=l),placeholder:t.t("community.contacts.emailPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),e(O,{label:t.t("community.contacts.notesLabel")},{default:a(()=>[e(I,{value:t.contactForm.notes,"onUpdate:value":i[9]||(i[9]=l=>t.contactForm.notes=l),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const Yt=gt(Ft,[["render",Wt],["__scopeId","data-v-7ac975f5"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Community.vue"]]);export{Yt as default};
@@ -1 +1 @@
1
- import{l as j,i as x,q as k,J as D,f as I,G as S,P as v,O as y}from"./index-D0d2TS5o.js";import{c as O}from"./createContext-BBLoTzN8.js";import{i as A,a as N,b as T,c as _,d as L,g as w,e as F,f as B}from"./_getTag-BVc6NQ_K.js";import{f as i,d as g,c as b}from"./vendor-DhFY8mDK.js";const q=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},E=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${o}-item`]:{"&:empty":{display:"none"}}}}},G=j("Space",t=>[E(t),q(t)]);var H="[object Map]",J="[object Set]",K=Object.prototype,M=K.hasOwnProperty;function h(t){if(t==null)return!0;if(A(t)&&(N(t)||typeof t=="string"||typeof t.splice=="function"||T(t)||_(t)||L(t)))return!t.length;var o=w(t);if(o==H||o==J)return!t.size;if(F(t))return!B(t).length;for(var e in t)if(M.call(t,e))return!1;return!0}const R=()=>({compactSize:String,compactDirection:v.oneOf(y("horizontal","vertical")).def("horizontal"),isFirstItem:S(),isLastItem:S()}),s=O(null),Z=(t,o)=>{const e=s.useInject(),a=i(()=>{if(!e||h(e))return"";const{compactDirection:r,isFirstItem:l,isLastItem:n}=e,c=r==="vertical"?"-vertical-":"-";return x({[`${t.value}-compact${c}item`]:!0,[`${t.value}-compact${c}first-item`]:l,[`${t.value}-compact${c}last-item`]:n,[`${t.value}-compact${c}item-rtl`]:o.value==="rtl"})});return{compactSize:i(()=>e?.compactSize),compactDirection:i(()=>e?.compactDirection),compactItemClassnames:a}},tt=g({name:"NoCompactStyle",setup(t,o){let{slots:e}=o;return s.useProvide(null),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),V=()=>({prefixCls:String,size:{type:String},direction:v.oneOf(y("horizontal","vertical")).def("horizontal"),align:v.oneOf(y("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),Q=g({name:"CompactItem",props:R(),setup(t,o){let{slots:e}=o;return s.useProvide(t),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),et=g({name:"ASpaceCompact",inheritAttrs:!1,props:V(),setup(t,o){let{attrs:e,slots:a}=o;const{prefixCls:r,direction:l}=k("space-compact",t),n=s.useInject(),[c,$]=G(r),z=i(()=>x(r.value,$.value,{[`${r.value}-rtl`]:l.value==="rtl",[`${r.value}-block`]:t.block,[`${r.value}-vertical`]:t.direction==="vertical"}));return()=>{var m;const p=D(((m=a.default)===null||m===void 0?void 0:m.call(a))||[]);return p.length===0?null:c(b("div",I(I({},e),{},{class:[z.value,e.class]}),[p.map((u,d)=>{var f;const P=u&&u.key||`${r.value}-item-${d}`,C=!n||h(n);return b(Q,{key:P,compactSize:(f=t.size)!==null&&f!==void 0?f:"middle",compactDirection:t.direction,isFirstItem:d===0&&(C||n?.isFirstItem),isLastItem:d===p.length-1&&(C||n?.isLastItem)},{default:()=>[u]})})]))}}});export{et as C,tt as N,G as a,Z as u};
1
+ import{l as j,i as x,q as k,J as D,f as I,G as S,P as v,Q as y}from"./index-BJUf19Wd.js";import{b as i,d as g,c as b}from"./vendor-BvqAck49.js";import{c as A}from"./createContext-D7pLFs2I.js";import{i as N,a as O,b as T,c as _,d as L,g as w,e as F,f as B}from"./_getTag-DnrRH4E6.js";const q=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},E=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${o}-item`]:{"&:empty":{display:"none"}}}}},G=j("Space",t=>[E(t),q(t)]);var H="[object Map]",J="[object Set]",K=Object.prototype,M=K.hasOwnProperty;function h(t){if(t==null)return!0;if(N(t)&&(O(t)||typeof t=="string"||typeof t.splice=="function"||T(t)||_(t)||L(t)))return!t.length;var o=w(t);if(o==H||o==J)return!t.size;if(F(t))return!B(t).length;for(var e in t)if(M.call(t,e))return!1;return!0}const Q=()=>({compactSize:String,compactDirection:v.oneOf(y("horizontal","vertical")).def("horizontal"),isFirstItem:S(),isLastItem:S()}),s=A(null),Z=(t,o)=>{const e=s.useInject(),a=i(()=>{if(!e||h(e))return"";const{compactDirection:r,isFirstItem:l,isLastItem:n}=e,c=r==="vertical"?"-vertical-":"-";return x({[`${t.value}-compact${c}item`]:!0,[`${t.value}-compact${c}first-item`]:l,[`${t.value}-compact${c}last-item`]:n,[`${t.value}-compact${c}item-rtl`]:o.value==="rtl"})});return{compactSize:i(()=>e?.compactSize),compactDirection:i(()=>e?.compactDirection),compactItemClassnames:a}},tt=g({name:"NoCompactStyle",setup(t,o){let{slots:e}=o;return s.useProvide(null),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),R=()=>({prefixCls:String,size:{type:String},direction:v.oneOf(y("horizontal","vertical")).def("horizontal"),align:v.oneOf(y("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),V=g({name:"CompactItem",props:Q(),setup(t,o){let{slots:e}=o;return s.useProvide(t),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),et=g({name:"ASpaceCompact",inheritAttrs:!1,props:R(),setup(t,o){let{attrs:e,slots:a}=o;const{prefixCls:r,direction:l}=k("space-compact",t),n=s.useInject(),[c,$]=G(r),z=i(()=>x(r.value,$.value,{[`${r.value}-rtl`]:l.value==="rtl",[`${r.value}-block`]:t.block,[`${r.value}-vertical`]:t.direction==="vertical"}));return()=>{var m;const p=D(((m=a.default)===null||m===void 0?void 0:m.call(a))||[]);return p.length===0?null:c(b("div",I(I({},e),{},{class:[z.value,e.class]}),[p.map((u,d)=>{var f;const P=u&&u.key||`${r.value}-item-${d}`,C=!n||h(n);return b(V,{key:P,compactSize:(f=t.size)!==null&&f!==void 0?f:"middle",compactDirection:t.direction,isFirstItem:d===0&&(C||n?.isFirstItem),isLastItem:d===p.length-1&&(C||n?.isLastItem)},{default:()=>[u]})})]))}}});export{et as C,tt as N,G as a,Z as u};
@@ -0,0 +1 @@
1
+ import{I as p,J as m,U as g,R as r,c as a,K as l,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 Y,$ as ie}from"./vendor-BvqAck49.js";import{_ as he,u as re,b as se,d as v}from"./index-BJUf19Wd.js";import{s as _e}from"./community-parser-CO25nZFt.js";import{s as ke,am as xe,ak as ze,G as Se,Z as Ae,b2 as Te,D as Ce,b3 as Oe,as as Fe,R as Re}from"./icons-DP3uiYxy.js";function Z(e){const o=_e(e);if(!o)return null;try{return JSON.parse(o)}catch{}const u=o.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!u)return null;try{return JSON.parse(u[0])}catch{return null}}const we=Object.freeze(["file-md5","file-sha1","file-sha256","file-sha512","ipv4","ipv6","domain","url","email"]);function T(e,o=0){return typeof e=="number"&&Number.isFinite(e)?e:o}function ye(e,o=0){if(!e||typeof e!="object")return null;const u=e.id||"";if(!u)return null;const t=Array.isArray(e.labels)?e.labels:[];return{key:u,id:u,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:o}}function ce(e){const o=Z(e);return Array.isArray(o)?o.map(ye).filter(Boolean):[]}function ue(e){const o=Z(e);return!o||typeof o!="object"||Array.isArray(o)?null:{matched:!!o.matched,type:String(o.type||"unknown"),indicator:o.indicator?ye(o.indicator):null}}function de(e){const o={total:0,byType:{}},u=Z(e);if(!u||typeof u!="object"||Array.isArray(u))return o;if(o.total=T(u.total,0),u.byType&&typeof u.byType=="object")for(const[t,C]of Object.entries(u.byType))typeof C=="number"&&Number.isFinite(C)&&(o.byType[t]=C);return o}function Ue(e,o=0){if(!e||typeof e!="object")return null;const u=e.entity||"";return u?{key:u,entity:u,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:o}:null}function me(e){const o=Z(e);return Array.isArray(o)?o.map(Ue).filter(Boolean):[]}function Be(e,o=0){return!e||typeof e!="object"?null:{key:o,score:T(e.score,0),reasons:Array.isArray(e.reasons)?e.reasons:[],event:e.event&&typeof e.event=="object"?e.event:null,_idx:o}}function pe(e){const o=Z(e);return Array.isArray(o)?o.map(Be).filter(Boolean):[]}function $(e){if(!e)return{noAuditLog:!1,error:""};const o=/no such table:\s*audit_log/i.test(e),u=e.match(/Failed:\s*(.+?)(?:\r?\n|$)/i);return{noAuditLog:o,error:u?u[1].trim():""}}function je(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 Ee={__name:"Compliance",setup(e,{expose:o}){o();const u=re(),{t}=se(),C=h(!1),G=h(!1),w=h(!1),U=h(!1),I=h([]),M=h({total:0,byType:{}}),L=h([]),z=h([]),k=h({noAuditLog:!1,error:""}),A=h("threat"),D=h(""),x=h(!1),B=h(!1),N=h(!1),H=X({observable:""}),j=h(null),O=X({entity:"",days:30}),S=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 J(i){return i>=80?"#ff4d4f":i>=50?"#faad14":"#52c41a"}function n(i){return i>=70?"#ff4d4f":i>=40?"#faad14":"#52c41a"}function d(i,y){return i?i.length>y?i.slice(0,y)+"...":i:""}function K({key:i}){i==="match"?(j.value=null,x.value=!0):i==="ueba-build"?B.value=!0:i==="ueba-analyze"&&(N.value=!0)}async function Q(){C.value=!0;try{const[i,y,f]=await Promise.all([u.execute("compliance threat-intel list --limit 200 --json",1e4).catch(()=>({output:""})),u.execute("compliance threat-intel stats --json",8e3).catch(()=>({output:""})),u.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=H.observable.trim();if(!i){v.warning(t("compliance.msg.matchEmpty"));return}G.value=!0,j.value=null;try{const y=`compliance threat-intel match "${i.replace(/"/g,'\\"')}" --json`,{output:f}=await u.execute(y,8e3),q=ue(f);if(!q){v.error(t("compliance.msg.matchFailed")+": "+f.slice(0,120));return}j.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{G.value=!1}}async function be(i){try{const y=`compliance threat-intel remove ${i.type} "${i.value.replace(/"/g,'\\"')}" --json`,{output:f}=await u.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 Q()}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 u.execute(i.join(" "),3e4),f=$(y);if(f.noAuditLog){k.value=f,v.warning(t("compliance.msg.auditEmptyBuild")),B.value=!1;return}if(f.error){v.error(t("compliance.msg.buildFailed")+": "+f.error);return}v.success(t("compliance.msg.buildSuccess")),B.value=!1,A.value="ueba",await Q()}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"];S.entity.trim()&&i.push(`--entity "${S.entity.trim().replace(/"/g,'\\"')}"`),S.threshold!=null&&i.push(`--threshold ${S.threshold}`),S.days!=null&&i.push(`--days ${S.days}`),i.push("--json");const{output:y}=await u.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,A.value="ueba"}catch(i){v.error(t("compliance.msg.analyzeFailed")+": "+(i?.message||i))}finally{U.value=!1}}ne(Q);const le={ws:u,t,loading:C,matching:G,building:w,analyzing:U,indicators:I,threatStats:M,uebaTop:L,anomalies:z,uebaError:k,activeTab:A,iocTypeFilter:D,showMatchModal:x,showBuildModal:B,showAnalyzeModal:N,matchForm:H,matchResult:j,buildForm:O,analyzeForm:S,indicatorColumns:ee,uebaColumns:te,filteredIndicators:ae,threatTypeCount:oe,typeBreakdown:W,highRiskCount:F,IOC_TYPE_COLORS:P,iocTypeColor:V,confidenceColor:J,riskColor:n,truncate:d,handleNewClick:K,loadAll:Q,matchObservable:fe,removeIndicator:be,buildBaseline:ve,runAnalyze:ge,ref:h,computed:E,onMounted:ne,reactive:X,get ReloadOutlined(){return Re},get PlusOutlined(){return Fe},get AimOutlined(){return Oe},get DatabaseOutlined(){return Ce},get FundOutlined(){return Te},get SafetyCertificateOutlined(){return Ae},get BlockOutlined(){return Se},get UserOutlined(){return ze},get WarningOutlined(){return xe},get AlertOutlined(){return ke},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 we}};return Object.defineProperty(le,"__isScriptSetup",{enumerable:!1,value:!0}),le}},Ie={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Me={class:"page-title"},Le={class:"page-sub"},Ne={class:"filter-bar"},Pe={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px","word-break":"break-all"}},qe={key:0,style:{color:"var(--text-muted)"}},De={key:1,style:{color:"var(--text-muted)"}},We={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},Ve={key:1,style:{color:"var(--text-muted)"}},Je={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"}},Ze={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-weight":"500"}},Ge={key:2,style:{color:"var(--text-secondary)"}},He={key:5,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Qe={style:{padding:"30px",color:"var(--text-muted)","text-align":"center"}},Xe={key:2,style:{color:"var(--text-primary)",margin:"24px 0 8px","font-size":"14px"}},$e={style:{flex:"1"}},et={style:{display:"flex",gap:"8px","align-items":"center"}},tt={key:0,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},at={key:1,style:{color:"var(--text-secondary)","font-size":"11px"}},ot={key:0,style:{"margin-top":"4px"}},lt={style:{"margin-top":"8px","font-size":"12px",color:"var(--text-secondary)"}},nt={key:0,style:{"margin-top":"12px","font-size":"12px"}},it={style:{color:"var(--text-secondary)"}},rt={style:{color:"var(--text-secondary)"}},st={key:0,style:{"margin-top":"4px"}},ct={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}},ut={style:{color:"var(--text-secondary)","font-size":"12px",margin:"0"}};function dt(e,o,u,t,C,G){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"),A=p("a-col"),D=p("a-row"),x=p("a-tag"),B=p("a-radio-button"),N=p("a-radio-group"),H=p("a-popconfirm"),j=p("a-table"),O=p("a-tab-pane"),S=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"),J=p("a-input-number");return s(),m("div",null,[g("div",Ie,[g("div",null,[g("h2",Me,r(e.$t("compliance.title")),1),g("p",Le,r(e.$t("compliance.subtitle")),1)]),a(L,null,{default:l(()=>[a(w,{loading:t.loading,onClick:t.loadAll},{icon:l(()=>[a(t.ReloadOutlined)]),default:l(()=>[b(" "+r(e.$t("compliance.refresh")),1)]),_:1},8,["loading"]),a(M,{trigger:["click"]},{overlay:l(()=>[a(I,{onClick:t.handleNewClick},{default:l(()=>[a(U,{key:"match"},{default:l(()=>[a(t.AimOutlined),b(" "+r(e.$t("compliance.actions.match")),1)]),_:1}),a(U,{key:"ueba-build"},{default:l(()=>[a(t.DatabaseOutlined),b(" "+r(e.$t("compliance.actions.uebaBuild")),1)]),_:1}),a(U,{key:"ueba-analyze"},{default:l(()=>[a(t.FundOutlined),b(" "+r(e.$t("compliance.actions.uebaAnalyze")),1)]),_:1})]),_:1})]),default:l(()=>[a(w,{type:"primary"},{icon:l(()=>[a(t.PlusOutlined)]),default:l(()=>[b(" "+r(e.$t("compliance.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),c(" Stats overview "),a(D,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:l(()=>[a(A,{xs:12,sm:8,lg:5},{default:l(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(z,{title:e.$t("compliance.stats.iocTotal"),value:t.threatStats.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:l(()=>[a(t.SafetyCertificateOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(A,{xs:12,sm:8,lg:5},{default:l(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(z,{title:e.$t("compliance.stats.iocTypes"),value:t.threatTypeCount,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:l(()=>[a(t.BlockOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(A,{xs:12,sm:8,lg:5},{default:l(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(z,{title:e.$t("compliance.stats.riskEntities"),value:t.uebaTop.length,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:l(()=>[a(t.UserOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),a(A,{xs:12,sm:8,lg:5},{default:l(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(z,{title:e.$t("compliance.stats.highRisk"),value:t.highRiskCount,"value-style":{color:t.highRiskCount>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:l(()=>[a(t.WarningOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(A,{xs:24,sm:8,lg:4},{default:l(()=>[a(k,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:l(()=>[a(z,{title:e.$t("compliance.stats.recentAnomalies"),value:t.anomalies.length,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:l(()=>[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:l(()=>[a(L,{size:[12,8],wrap:""},{default:l(()=>[(s(!0),m(R,null,Y(t.typeBreakdown,([n,d])=>(s(),_(x,{key:n,color:t.iocTypeColor(n)},{default:l(()=>[b(r(n)+": "+r(d),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):c("v-if",!0),c(" Tabs "),a(oe,{activeKey:t.activeTab,"onUpdate:activeKey":o[1]||(o[1]=n=>t.activeTab=n),class:"compliance-tabs"},{default:l(()=>[c(" ── Threat Intel tab ──────────────────────────────────────── "),a(O,{key:"threat",tab:e.$t("compliance.tabs.threat")},{default:l(()=>[g("div",Ne,[a(N,{value:t.iocTypeFilter,"onUpdate:value":o[0]||(o[0]=n=>t.iocTypeFilter=n),size:"small"},{default:l(()=>[a(B,{value:""},{default:l(()=>[b(r(e.$t("compliance.filter.all")),1)]),_:1}),(s(!0),m(R,null,Y(t.IOC_TYPES,n=>(s(),_(B,{key:n,value:n},{default:l(()=>[b(r(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(j,{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:l(({column:n,record:d})=>[n.key==="type"?(s(),_(x,{key:0,color:t.iocTypeColor(d.type),style:{"font-family":"monospace"}},{default:l(()=>[b(r(d.type),1)]),_:2},1032,["color"])):c("v-if",!0),n.key==="value"?(s(),m("span",Pe,r(t.truncate(d.value,64)),1)):c("v-if",!0),n.key==="labels"?(s(),m(R,{key:2},[(s(!0),m(R,null,Y(d.labels,K=>(s(),_(x,{key:K,color:"orange",style:{"font-size":"10px",margin:"1px"}},{default:l(()=>[b(r(K),1)]),_:2},1024))),128)),d.labels.length?c("v-if",!0):(s(),m("span",qe,"—"))],64)):c("v-if",!0),n.key==="confidence"?(s(),m(R,{key:3},[d.confidence!=null?(s(),m("span",{key:0,style:ie({color:t.confidenceColor(d.confidence),fontWeight:500})},r(d.confidence),5)):(s(),m("span",De,"—"))],64)):c("v-if",!0),n.key==="source"?(s(),m(R,{key:4},[d.sourceName?(s(),m("span",We,r(d.sourceName),1)):(s(),m("span",Ve,"—"))],64)):c("v-if",!0),n.key==="lastSeen"?(s(),m("span",Je,r(t.formatComplianceTime(d.lastSeenAt)),1)):c("v-if",!0),n.key==="action"?(s(),_(H,{key:6,title:e.$t("compliance.table.deleteConfirm"),"ok-text":e.$t("compliance.table.deleteOk"),"cancel-text":e.$t("compliance.table.cancel"),onConfirm:K=>t.removeIndicator(d)},{default:l(()=>[a(w,{size:"small",type:"link",danger:""},{default:l(()=>[b(r(e.$t("compliance.table.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):c("v-if",!0)]),emptyText:l(()=>[g("div",Ke,[a(t.SafetyCertificateOutlined,{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),b(" "+r(e.$t("compliance.table.emptyThreatsLine1"))+" ",1),o[11]||(o[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:l(()=>[t.uebaError.noAuditLog?(s(),_(S,{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(),_(S,{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(j,{columns:t.uebaColumns,"data-source":t.uebaTop,pagination:!1,size:"small",loading:t.loading,style:{background:"var(--bg-card)"}},{bodyCell:l(({column:n,record:d})=>[n.key==="entity"?(s(),m("span",Ze,r(d.entity),1)):c("v-if",!0),n.key==="riskScore"?(s(),_(ee,{key:1,percent:Math.min(d.riskScore,100),"stroke-color":t.riskColor(d.riskScore),size:"small",format:()=>d.riskScore.toFixed(1)},null,8,["percent","stroke-color","format"])):c("v-if",!0),n.key==="eventCount"?(s(),m("span",Ge,r(d.eventCount),1)):c("v-if",!0),n.key==="failureRate"?(s(),m("span",{key:3,style:ie({color:d.failureRate>.3?"#ff4d4f":"var(--text-secondary)",fontFamily:"monospace"})},r((d.failureRate*100).toFixed(1))+"% ",5)):c("v-if",!0),n.key==="uniqueResources"?(s(),_(x,{key:4,color:"cyan",style:{"font-size":"11px"}},{default:l(()=>[b(r(d.uniqueResources),1)]),_:2},1024)):c("v-if",!0),n.key==="burstiness"?(s(),m("span",He,r((d.burstiness*100).toFixed(0))+"% ",1)):c("v-if",!0)]),emptyText:l(()=>[g("div",Qe,[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",Xe,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:l(({item:n})=>[a(te,{style:{background:"var(--bg-card)",padding:"10px 16px"}},{default:l(()=>[g("div",$e,[g("div",et,[a(x,{color:t.riskColor(n.score*100)},{default:l(()=>[b("score "+r(n.score.toFixed(2)),1)]),_:2},1032,["color"]),n.event?.entity?(s(),m("span",tt,r(n.event.entity),1)):c("v-if",!0),n.event?.action?(s(),m("span",at," → "+r(n.event.action),1)):c("v-if",!0)]),n.reasons.length?(s(),m("div",ot,[(s(!0),m(R,null,Y(n.reasons,d=>(s(),_(x,{key:d,color:"volcano",style:{"font-size":"10px",margin:"1px"}},{default:l(()=>[b(r(d),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":o[3]||(o[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:l(()=>[a(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[a(F,{label:e.$t("compliance.match.label"),required:""},{default:l(()=>[a(W,{value:t.matchForm.observable,"onUpdate:value":o[2]||(o[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:l(()=>[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",lt,[b(r(e.$t("compliance.match.detectType"))+" ",1),a(x,{color:t.iocTypeColor(t.matchResult.type)},{default:l(()=>[b(r(t.matchResult.type),1)]),_:1},8,["color"])]),t.matchResult.indicator?(s(),m("div",nt,[g("div",it,r(e.$t("compliance.match.sourcePrefix"))+" "+r(t.matchResult.indicator.sourceName||"—"),1),g("div",rt,r(e.$t("compliance.match.confidencePrefix"))+" "+r(t.matchResult.indicator.confidence??"—"),1),t.matchResult.indicator.labels.length?(s(),m("div",st,[(s(!0),m(R,null,Y(t.matchResult.indicator.labels,n=>(s(),_(x,{key:n,color:"orange",style:{"font-size":"10px"}},{default:l(()=>[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":o[6]||(o[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:l(()=>[a(P,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(F,{label:e.$t("compliance.build.entityLabel")},{default:l(()=>[a(W,{value:t.buildForm.entity,"onUpdate:value":o[4]||(o[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:l(()=>[a(J,{value:t.buildForm.days,"onUpdate:value":o[5]||(o[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",ct,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":o[10]||(o[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:l(()=>[a(P,{"label-col":{span:6},"wrapper-col":{span:18},style:{"margin-top":"16px"}},{default:l(()=>[a(F,{label:e.$t("compliance.analyze.entityLabel")},{default:l(()=>[a(W,{value:t.analyzeForm.entity,"onUpdate:value":o[7]||(o[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:l(()=>[a(J,{value:t.analyzeForm.threshold,"onUpdate:value":o[8]||(o[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:l(()=>[a(J,{value:t.analyzeForm.days,"onUpdate:value":o[9]||(o[9]=n=>t.analyzeForm.days=n),min:1,max:30,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1}),g("p",ut,r(e.$t("compliance.analyze.footnote")),1)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const bt=he(Ee,[["render",dt],["__scopeId","data-v-d3ffc3f8"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Compliance.vue"]]);export{bt as default};
@@ -0,0 +1 @@
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}
@@ -0,0 +1 @@
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}
@@ -0,0 +1,6 @@
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 K,R as i,Q as y,S as O,a0 as J,K as g,a1 as fe,n as W,o as X,P as a}from"./vendor-BvqAck49.js";import{u as j,_ as _e}from"./index-BJUf19Wd.js";import{u as F}from"./chat-y97W1CIG.js";import{r as ye}from"./markdown-Yo_c6Krv.js";import{Z as Y,y as $,a6 as ee,an as te,h as se,Q as ne,ao as ae,k as oe,H as le,ap as re,a4 as ie,aq as he,ae as ke,$ as we,al as Oe,aa as Se}from"./icons-DP3uiYxy.js";import"./markdown-CsiA8-E5.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 Q=u(be),s=u(null),d=u([]),e=u(!1),T=u([]),h=u([]),f=u(null),v=u(null),S=u(null),A=u([]),P=u(!1),R=u(3),x=u(!1),M=u([]),D=F();G(()=>D.isLoading,r=>{!r&&v.value&&(e.value=!1)});function t(r){s.value=r,_()}function _(){T.value=[],h.value=[],f.value=null,e.value=!1,v.value=null,S.value=null}function U(r){d.value.includes(r)||d.value.push(r)}function q(r){d.value=d.value.filter(c=>c!==r)}async function V(){const r=j();try{await r.waitConnected(5e3);const c=await r.sendRaw({type:"cowork-templates"},1e4);c?.templates?.length&&(Q.value=c.templates)}catch{}}async function z(){const r=j();try{await r.waitConnected(5e3);const c=await r.sendRaw({type:"cowork-history",limit:50},1e4);c?.entries&&(A.value=c.entries)}catch{}}async function m(r){S.value={mode:"session",message:r},e.value=!0;const c=s.value;let k="";c&&(k=`## 当前任务类型: ${c.name}
2
+ ${c.description||""}`);let N=r;d.value.length&&(N+=`
3
+
4
+ [用户提供的文件: ${d.value.join(", ")}]`),h.value.push({role:"user",content:r,timestamp:Date.now()});const E={systemPromptExtension:k};c?.shellPolicyOverrides&&(E.shellPolicyOverrides=c.shellPolicyOverrides);const Z=await D.createSession("agent",E);v.value=Z,await D.sendMessage(Z,N)}async function I(r){S.value={mode:"direct",message:r};const c=j();e.value=!0,h.value.push({role:"user",content:r,timestamp:Date.now()});try{await c.waitConnected(8e3);const k={type:"cowork-task",templateId:s.value?.id||null,userMessage:r,files:d.value};P.value&&(k.parallel=!0,k.agents=R.value);const N=s.value;(x.value||N?.mode==="debate")&&(k.mode="debate",M.value.length&&(k.perspectives=M.value));const E=await c.sendRaw(k,3e5);h.value.push({role:"assistant",content:E.summary||"(No output)",timestamp:Date.now(),toolsUsed:E.toolsUsed||[],iterationCount:E.iterationCount||0}),f.value=E}catch(k){h.value.push({role:"assistant",content:`Error: ${k.message}`,timestamp:Date.now()})}finally{e.value=!1}}const B=H(()=>v.value?F().getMessages(v.value):[]),de=H(()=>{if(!v.value)return null;const c=F().streaming[v.value];return c?.active?c.content:null}),ue=H(()=>v.value&&F().pendingQuestion[v.value]||null);function ve(r){if(!v.value)return;F().answerQuestion(v.value,r)}async function me(){if(!S.value)return;const{mode:r,message:c}=S.value;r==="direct"?await I(c):await m(c)}async function pe(r){if(!v.value)return;const c=F();h.value.push({role:"user",content:r,timestamp:Date.now()});let k=r;d.value.length&&(k+=`
5
+
6
+ [用户提供的文件: ${d.value.join(", ")}]`),await c.sendMessage(v.value,k)}return{selectedTemplate:s,files:d,isRunning:e,steps:T,messages:h,result:f,agentSessionId:v,currentAgentMessages:B,currentStreaming:de,currentQuestion:ue,selectTemplate:t,reset:_,addFile:U,removeFile:q,execute:m,executeDirectWs:I,sendFollowUp:pe,answerQuestion:ve,loadTemplates:V,templates:Q,lastRequest:S,retry:me,history:A,loadHistory:z,parallelMode:P,parallelAgents:R,debateMode:x,debatePerspectives:M}}),Ce={__name:"Cowork",setup(Q,{expose:s}){s();const d=ce(),e=F(),T=u(""),h=u(null),f=u(!1),v=u(""),S=u(!1),A=u(!1),P={FileTextOutlined:ie,PlayCircleOutlined:re,BarChartOutlined:le,SearchOutlined:oe,PictureOutlined:ae,CodeOutlined:ne,DesktopOutlined:se,FolderOpenOutlined:te,GlobalOutlined:ee,ReadOutlined:$,SafetyCertificateOutlined:Y},R=["把 report.docx 转成 PDF","压缩视频到 50MB","分析 CSV 生成图表","查询今天的汇率","批量压缩图片","写一个自动化脚本"],x=H(()=>e.isLoading?"等待响应中...":d.selectedTemplate?d.selectedTemplate.examples?.[0]||"描述你的需求...":"描述你想完成的任务,Agent 会帮你搞定"),M=H(()=>d.currentAgentMessages);function D(m){return m==="APPROVE"?"green":m==="REJECT"?"red":m==="ERROR"?"default":"orange"}function t(m){return m.split(/[\\/]/).pop()||m}function _(m){f.value=!1;const I=m.dataTransfer?.files;if(I)for(const B of I)d.addFile(B.path||B.name)}function U(){const m=v.value.trim();m&&(d.addFile(m),v.value="")}async function q(){const m=T.value.trim();!m||e.isLoading||(T.value="",d.agentSessionId?await d.sendFollowUp(m):await d.execute(m))}function V(m){T.value=m,W(()=>q())}G([M,()=>d.currentStreaming],()=>{W(()=>{h.value&&(h.value.scrollTop=h.value.scrollHeight)})},{deep:!0}),X(()=>{e.loadSessions(),d.loadTemplates(),d.loadHistory()});const z={store:d,chatStore:e,inputText:T,messagesEl:h,isDragging:f,manualFilePath:v,hasInteracted:S,showHistory:A,iconMap:P,quickExamples:R,inputPlaceholder:x,agentMessages:M,verdictColor:D,basename:t,onDrop:_,addManualFile:U,send:q,quickStart:V,ref:u,computed:H,watch:G,nextTick:W,onMounted:X,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(z,"__isScriptSetup",{enumerable:!1,value:!0}),z}},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"},Qe={key:1,class:"history-section"},Ue={key:0,class:"history-list"},qe={class:"history-summary"},ze={class:"history-meta"},Be={class:"exec-panel"},Ne={key:0,class:"empty-state"},Ve={class:"empty-icon"},Ke={class:"example-grid"},Je=["onClick"],We={class:"ready-state"},je={class:"ready-header"},Ge={class:"ready-name"},Ze={key:0,class:"parallel-toggle"},Xe={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(Q,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(J(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]=K(t=>e.isDragging=!0,["prevent"])),onDragleave:s[3]||(s[3]=t=>e.isDragging=!1),onDrop:K(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",Qe,[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",ze,[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",Ke,[(a(),l(w,null,C(e.quickExamples,t=>n("div",{key:t,class:"example-chip",onClick:_=>e.quickStart(t)},i(t),9,Je)),64))])])):e.store.selectedTemplate&&!e.store.agentSessionId?(a(),l(w,{key:1},[o(" Template selected but not started "),n("div",We,[n("div",je,[(a(),O(J(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",Ze,[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",Xe,"个 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(J(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(K(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-ydB5EA/repo/packages/web-panel/src/views/Cowork.vue"]]);export{Ft as default};
@@ -0,0 +1,2 @@
1
+ import{I as r,J as h,U as p,R as c,c as n,K as t,V as k,o as N,b as O,r as x,P as m,Q as v,F as W,Z as D,S as A}from"./vendor-BvqAck49.js";import{_ as J,b as I,u as M,d as _}from"./index-BJUf19Wd.js";import{a0 as K,R as Q,as as Z}from"./icons-DP3uiYxy.js";const G={__name:"Cron",setup(j,{expose:s}){s();const{t:o}=I(),e=M(),P=x(!1),S=x(!1),d=x(!1),i=x([]),b=O(()=>i.value.filter(a=>a.enabled).length),f=O(()=>i.value.filter(a=>!a.enabled).length),g=[{key:"every5m",cron:"*/5 * * * *"},{key:"every15m",cron:"*/15 * * * *"},{key:"everyHour",cron:"0 * * * *"},{key:"every9am",cron:"0 9 * * *"},{key:"every6pm",cron:"0 18 * * *"},{key:"weeklyMon9",cron:"0 9 * * 1"},{key:"monthly1",cron:"0 9 1 * *"}],U=O(()=>g.map(a=>({...a,label:o(`cron.presets.${a.key}`)}))),u=x({name:"",cron:"",payload:"",description:"",enabled:!0}),F=O(()=>[{title:o("cron.columns.name"),key:"name",width:"25%"},{title:o("cron.columns.cron"),key:"cron",width:"20%"},{title:o("cron.columns.status"),key:"status",width:"15%"},{title:o("cron.columns.actions"),key:"actions",width:"20%"}]);async function w(){P.value=!0;try{const{output:a}=await e.execute('skill run cron-scheduler "list all scheduled tasks"',2e4);i.value=L(a)}catch{i.value=[]}finally{P.value=!1}}function L(a){const l=[],C=a.split(`
2
+ `);for(const H of C){const z=H.trim();if(!z||z.startsWith("─"))continue;const q=z.match(/^([^\t|]+?)[\t|]+([*\d/,\-?LW#\s]+)[\t|]+/);q&&l.push({key:l.length,name:q[1].trim(),cron:q[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 B(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 E(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 V(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:U,newTask:u,columns:F,loadTasks:w,parseTasks:L,applyPreset:T,addTask:y,runTask:B,toggleTask:E,deleteTask:V,ref:x,computed:O,onMounted:N,get useI18n(){return I},get PlusOutlined(){return Z},get ReloadOutlined(){return Q},get ClockCircleOutlined(){return K},get message(){return _},get useWsStore(){return M}};return Object.defineProperty(R,"__isScriptSetup",{enumerable:!1,value:!0}),R}},X={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Y={class:"page-title"},$={class:"page-sub"},ee={key:0,style:{"text-align":"center",padding:"40px"}},ae={style:{color:"#e0e0e0","font-weight":"500"}},ne={key:0,style:{color:"var(--text-secondary)","font-size":"11px"}},te={key:1,style:{background:"var(--bg-card-hover)",padding:"2px 6px","border-radius":"3px",color:"#91caff","font-size":"11px"}},le={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},oe={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"4px"}};function se(j,s,o,e,P,S){const d=r("a-button"),i=r("a-space"),b=r("a-statistic"),f=r("a-card"),g=r("a-col"),U=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"),B=r("a-textarea"),E=r("a-switch"),V=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(U,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.all"),value:e.tasks.length,"value-style":"color: #ccc; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.active"),value:e.activeTasks,"value-style":"color: #52c41a; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.paused"),value:e.pausedTasks,"value-style":"color: #faad14; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1}),n(g,{xs:12,sm:6},{default:t(()=>[n(f,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:t(()=>[n(b,{title:e.t("cron.stats.presets"),value:e.presets.length,"value-style":"color: #1677ff; font-size: 18px;"},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),k(" Presets "),n(f,{title:e.t("cron.presetsCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},size:"small"},{default:t(()=>[n(i,{wrap:""},{default:t(()=>[(m(!0),h(W,null,D(e.presets,a=>(m(),A(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(),A(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(),A(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(),A(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(V,{"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(B,{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(E,{checked:e.newTask.enabled,"onUpdate:checked":s[5]||(s[5]=a=>e.newTask.enabled=a)},null,8,["checked"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading"])])}const de=J(G,[["render",se],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Cron.vue"]]);export{de as default};
@@ -0,0 +1 @@
1
+ import{I as v,J as p,U as y,R as i,c as o,K as n,V as h,S as k,o as te,a as X,b as G,r as C,P as d,Q as b,F as w,Z as T}from"./vendor-BvqAck49.js";import{_ as xe,u as se,b as oe,d as _}from"./index-BJUf19Wd.js";import{s as Fe}from"./community-parser-CO25nZFt.js";import{aU as Se,aC as Ae,aB as Oe,b0 as Me,aG as ze,b1 as Te,t as Ue,as as Re,R as je}from"./icons-DP3uiYxy.js";function H(e){const s=Fe(e);if(!s)return null;try{return JSON.parse(s)}catch{}const l=s.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}function x(e,s=0){return typeof e=="number"&&Number.isFinite(e)?e:s}function Be(e,s=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:s}:null}function ne(e){const s=H(e);return Array.isArray(s)?s.map(Be).filter(Boolean):[]}function Ne(e,s=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:s}:null}function re(e){const s=H(e);return Array.isArray(s)?s.map(Ne).filter(Boolean):[]}function Le(e,s=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:s}:null}function le(e){const s=H(e);return Array.isArray(s)?s.map(Le).filter(Boolean):[]}function Pe(e,s=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:s}:null}function ie(e){const s=H(e);return Array.isArray(s)?s.map(Pe).filter(Boolean):[]}const Ie={bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}};function de(e){const s=JSON.parse(JSON.stringify(Ie)),l=H(e);return!l||typeof l!="object"||Array.isArray(l)||(l.bridges&&typeof l.bridges=="object"&&(s.bridges.total=x(l.bridges.total,0),s.bridges.totalVolume=x(l.bridges.totalVolume??l.bridges.total_volume,0),s.bridges.totalFees=x(l.bridges.totalFees??l.bridges.total_fees,0),l.bridges.byStatus&&typeof l.bridges.byStatus=="object"&&(s.bridges.byStatus={...l.bridges.byStatus})),l.swaps&&typeof l.swaps=="object"&&(s.swaps.total=x(l.swaps.total,0),l.swaps.byStatus&&typeof l.swaps.byStatus=="object"&&(s.swaps.byStatus={...l.swaps.byStatus})),l.messages&&typeof l.messages=="object"&&(s.messages.total=x(l.messages.total,0),l.messages.byStatus&&typeof l.messages.byStatus=="object"&&(s.messages.byStatus={...l.messages.byStatus}))),s}function ce(e){const s=H(e);return!s||typeof s!="object"||Array.isArray(s)?null:{fee:x(s.fee,0),breakdown:{sourceFee:x(s?.breakdown?.sourceFee??s?.breakdown?.source_fee,0),destFee:x(s?.breakdown?.destFee??s?.breakdown?.dest_fee,0),bridgeFee:x(s?.breakdown?.bridgeFee??s?.breakdown?.bridge_fee,0)},currency:String(s.currency||"USD")}}function He(e){if(e==null||e==="")return"—";const s=typeof e=="number"?new Date(e):new Date(String(e));return isNaN(s.getTime())?String(e):s.toLocaleString("zh-CN",{hour12:!1})}const qe={__name:"Crosschain",setup(e,{expose:s}){s();const l=se(),{t:a}=oe(),K=C(!1),W=C(!1),R=C(!1),j=C(!1),q=C(!1),V=C([]),D=C([]),O=C([]),A=C([]),U=C({bridges:{total:0,byStatus:{},totalVolume:0,totalFees:0},swaps:{total:0,byStatus:{}},messages:{total:0,byStatus:{}}}),L=C("bridges"),M=C(!1),B=C(!1),N=C(!1),Q=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),P=G(()=>[{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"}]),I=G(()=>[{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"}]),Z=G(()=>[{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"?B.value=!0:r==="message"&&(N.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),U.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(),L.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}R.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")),B.value=!1,$(),L.value="swaps",await E()}catch(r){_.error(a("crosschain.msg.swapFailed")+": "+(r?.message||r))}finally{R.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")),N.value=!1,ee(),L.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:R,sending:j,estimating:q,chains:V,bridges:D,swaps:O,messages:A,stats:U,activeTab:L,showBridgeModal:M,showSwapModal:B,showMessageModal:N,showFeeModal:Q,bridgeForm:f,swapForm:u,messageForm:c,feeForm:F,feeResult:S,bridgeColumns:P,swapColumns:I,messageColumns:Z,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:G,onMounted:te,reactive:X,get ReloadOutlined(){return je},get PlusOutlined(){return Re},get SwapOutlined(){return Ue},get InteractionOutlined(){return Te},get MailOutlined(){return ze},get CalculatorOutlined(){return Me},get LinkOutlined(){return Oe},get DollarOutlined(){return Ae},get ArrowRightOutlined(){return Se},get message(){return _},get useI18n(){return oe},get useWsStore(){return se},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 He}};return Object.defineProperty(ae,"__isScriptSetup",{enumerable:!1,value:!0}),ae}},Ve={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},De={class:"page-title"},Ee={class:"page-sub"},Je={style:{opacity:"0.7"}},Xe={key:0,style:{opacity:"0.55","font-size":"10px","margin-left":"4px"}},Ke={style:{color:"var(--text-primary)"}},We={style:{color:"var(--text-primary)"}},Ge={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"}},Ye={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},$e={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ea={style:{color:"var(--text-primary)"}},aa={style:{color:"var(--text-secondary)","font-size":"11px",margin:"0 4px"}},ta={style:{color:"var(--text-primary)"}},sa={style:{color:"var(--text-secondary)","font-size":"11px","margin-left":"4px"}},oa={key:1,style:{color:"#722ed1","font-weight":"500"}},na={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ra={key:1,style:{color:"var(--text-muted)"}},la={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},ia={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},da={style:{color:"var(--text-primary)"}},ca={style:{color:"var(--text-primary)"}},ua={key:1,style:{color:"var(--text-secondary)","font-size":"12px"}},ma={key:1,style:{color:"var(--text-muted)"}},fa={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},ha={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},pa={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}};function ga(e,s,l,a,K,W){const R=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"),U=v("a-col"),L=v("a-row"),M=v("a-tag"),B=v("a-table"),N=v("a-tab-pane"),Q=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"),P=v("a-form"),I=v("a-modal"),Z=v("a-textarea");return d(),p("div",null,[y("div",Ve,[y("div",null,[y("h2",De,i(e.$t("crosschain.title")),1),y("p",Ee,i(e.$t("crosschain.subtitle")),1)]),o(D,null,{default:n(()=>[o(R,{loading:a.loading,onClick:a.loadAll},{icon:n(()=>[o(a.ReloadOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.refresh")),1)]),_:1},8,["loading"]),o(V,{trigger:["click"]},{overlay:n(()=>[o(q,{onClick:a.handleNewClick},{default:n(()=>[o(j,{key:"bridge"},{default:n(()=>[o(a.SwapOutlined),b(" "+i(e.$t("crosschain.actions.bridge")),1)]),_:1}),o(j,{key:"swap"},{default:n(()=>[o(a.InteractionOutlined),b(" "+i(e.$t("crosschain.actions.swap")),1)]),_:1}),o(j,{key:"message"},{default:n(()=>[o(a.MailOutlined),b(" "+i(e.$t("crosschain.actions.message")),1)]),_:1})]),_:1})]),default:n(()=>[o(R,{type:"primary"},{icon:n(()=>[o(a.PlusOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.newDropdown")),1)]),_:1})]),_:1}),o(R,{onClick:s[0]||(s[0]=t=>a.showFeeModal=!0)},{icon:n(()=>[o(a.CalculatorOutlined)]),default:n(()=>[b(" "+i(e.$t("crosschain.feeEstimate")),1)]),_:1})]),_:1})]),h(" Stats overview "),o(L,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[o(U,{xs:12,sm:8,lg:5},{default:n(()=>[o(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(O,{title:e.$t("crosschain.stats.chains"),value:a.chains.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[o(a.LinkOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(U,{xs:12,sm:8,lg:5},{default:n(()=>[o(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(O,{title:e.$t("crosschain.stats.bridges"),value:a.stats.bridges.total,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[o(a.SwapOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(U,{xs:12,sm:8,lg:5},{default:n(()=>[o(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(O,{title:e.$t("crosschain.stats.swaps"),value:a.stats.swaps.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[o(a.InteractionOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(U,{xs:12,sm:8,lg:5},{default:n(()=>[o(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(O,{title:e.$t("crosschain.stats.messages"),value:a.stats.messages.total,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:n(()=>[o(a.MailOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1}),o(U,{xs:24,sm:8,lg:4},{default:n(()=>[o(A,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(O,{title:e.$t("crosschain.stats.volume"),value:a.stats.bridges.totalVolume,precision:2,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:n(()=>[o(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(()=>[o(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",Je,"("+i(t.symbol)+")",1),t.chainId>0?(d(),p("span",Xe,"#"+i(t.chainId),1)):h("v-if",!0)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):h("v-if",!0),h(" Tabs "),o(Q,{activeKey:a.activeTab,"onUpdate:activeKey":s[1]||(s[1]=t=>a.activeTab=t),class:"xchain-tabs"},{default:n(()=>[h(" ── Bridges tab ───────────────────────────────────────────── "),o(N,{key:"bridges",tab:e.$t("crosschain.tabs.bridges")},{default:n(()=>[o(B,{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",Ke,i(a.chainName(m.fromChain)),1),o(a.ArrowRightOutlined,{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",We,i(a.chainName(m.toChain)),1)],64)):h("v-if",!0),t.key==="amount"?(d(),p(w,{key:1},[y("span",Ge,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",Ye,i(a.formatXChainTime(m.createdAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",$e,[o(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 ─────────────────────────────────────────────── "),o(N,{key:"swaps",tab:e.$t("crosschain.tabs.swaps")},{default:n(()=>[o(B,{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",ea,i(a.chainName(m.fromChain)),1),y("span",aa,"("+i(m.fromAsset)+")",1),o(a.ArrowRightOutlined,{style:{margin:"0 4px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",ta,i(a.chainName(m.toChain)),1),y("span",sa,"("+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",na,i(m.hashLock.slice(0,14))+"... ",1)):(d(),p("span",ra,"—"))],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",la,i(a.formatXChainTime(m.expiresAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",ia,[o(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 ──────────────────────────────────────────── "),o(N,{key:"messages",tab:e.$t("crosschain.tabs.messages")},{default:n(()=>[o(B,{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",da,i(a.chainName(m.fromChain)),1),o(a.ArrowRightOutlined,{style:{margin:"0 6px",color:"var(--text-secondary)","font-size":"11px"}}),y("span",ca,i(a.chainName(m.toChain)),1)],64)):h("v-if",!0),t.key==="payload"?(d(),p("span",ua,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",ma,"—"))],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",fa,i(a.formatXChainTime(m.createdAt)),1)):h("v-if",!0)]),emptyText:n(()=>[y("div",ha,[o(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 ──────────────────────────────────────────── "),o(I,{open:a.showBridgeModal,"onUpdate:open":s[8]||(s[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(()=>[o(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[o(c,{label:e.$t("crosschain.bridge_modal.fromChain"),required:""},{default:n(()=>[o(u,{value:a.bridgeForm.fromChain,"onUpdate:value":s[2]||(s[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"]),o(c,{label:e.$t("crosschain.bridge_modal.toChain"),required:""},{default:n(()=>[o(u,{value:a.bridgeForm.toChain,"onUpdate:value":s[3]||(s[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"]),o(c,{label:e.$t("crosschain.bridge_modal.amount"),required:""},{default:n(()=>[o(F,{value:a.bridgeForm.amount,"onUpdate:value":s[4]||(s[4]=t=>a.bridgeForm.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.bridge_modal.asset")},{default:n(()=>[o(S,{value:a.bridgeForm.asset,"onUpdate:value":s[5]||(s[5]=t=>a.bridgeForm.asset=t),placeholder:e.$t("crosschain.bridge_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.bridge_modal.sender")},{default:n(()=>[o(S,{value:a.bridgeForm.sender,"onUpdate:value":s[6]||(s[6]=t=>a.bridgeForm.sender=t),placeholder:e.$t("crosschain.bridge_modal.senderPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.bridge_modal.recipient")},{default:n(()=>[o(S,{value:a.bridgeForm.recipient,"onUpdate:value":s[7]||(s[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 ────────────────────────────────────────────── "),o(I,{open:a.showSwapModal,"onUpdate:open":s[16]||(s[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(()=>[o(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[o(c,{label:e.$t("crosschain.swap_modal.fromChain"),required:""},{default:n(()=>[o(u,{value:a.swapForm.fromChain,"onUpdate:value":s[9]||(s[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"]),o(c,{label:e.$t("crosschain.swap_modal.toChain"),required:""},{default:n(()=>[o(u,{value:a.swapForm.toChain,"onUpdate:value":s[10]||(s[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"]),o(c,{label:e.$t("crosschain.swap_modal.amount"),required:""},{default:n(()=>[o(F,{value:a.swapForm.amount,"onUpdate:value":s[11]||(s[11]=t=>a.swapForm.amount=t),min:0,precision:6,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.swap_modal.fromAsset")},{default:n(()=>[o(S,{value:a.swapForm.fromAsset,"onUpdate:value":s[12]||(s[12]=t=>a.swapForm.fromAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.swap_modal.toAsset")},{default:n(()=>[o(S,{value:a.swapForm.toAsset,"onUpdate:value":s[13]||(s[13]=t=>a.swapForm.toAsset=t),placeholder:e.$t("crosschain.swap_modal.assetPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.swap_modal.counterparty")},{default:n(()=>[o(S,{value:a.swapForm.counterparty,"onUpdate:value":s[14]||(s[14]=t=>a.swapForm.counterparty=t),placeholder:e.$t("crosschain.swap_modal.counterpartyPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.swap_modal.timeoutMs")},{default:n(()=>[o(F,{value:a.swapForm.timeoutMs,"onUpdate:value":s[15]||(s[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 ─────────────────────────────────────────── "),o(I,{open:a.showMessageModal,"onUpdate:open":s[21]||(s[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(()=>[o(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[o(c,{label:e.$t("crosschain.message_modal.fromChain"),required:""},{default:n(()=>[o(u,{value:a.messageForm.fromChain,"onUpdate:value":s[17]||(s[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"]),o(c,{label:e.$t("crosschain.message_modal.toChain"),required:""},{default:n(()=>[o(u,{value:a.messageForm.toChain,"onUpdate:value":s[18]||(s[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"]),o(c,{label:e.$t("crosschain.message_modal.payload")},{default:n(()=>[o(Z,{value:a.messageForm.payload,"onUpdate:value":s[19]||(s[19]=t=>a.messageForm.payload=t),"auto-size":{minRows:3,maxRows:8}},null,8,["value"])]),_:1},8,["label"]),o(c,{label:e.$t("crosschain.message_modal.contract")},{default:n(()=>[o(S,{value:a.messageForm.contract,"onUpdate:value":s[20]||(s[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 ────────────────────────────────────── "),o(I,{open:a.showFeeModal,"onUpdate:open":s[25]||(s[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(()=>[o(P,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[o(c,{label:e.$t("crosschain.fee_modal.fromChain"),required:""},{default:n(()=>[o(u,{value:a.feeForm.fromChain,"onUpdate:value":s[22]||(s[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"]),o(c,{label:e.$t("crosschain.fee_modal.toChain"),required:""},{default:n(()=>[o(u,{value:a.feeForm.toChain,"onUpdate:value":s[23]||(s[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"]),o(c,{label:e.$t("crosschain.fee_modal.amount"),required:""},{default:n(()=>[o(F,{value:a.feeForm.amount,"onUpdate:value":s[24]||(s[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(()=>[o(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",pa,[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 Ca=xe(qe,[["render",ga],["__scopeId","data-v-00c68d45"],["__file","/tmp/cc-web-panel-ydB5EA/repo/packages/web-panel/src/views/Crosschain.vue"]]);export{Ca as default};
@@ -0,0 +1 @@
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}