@acedatacloud/nexior 3.363.0 → 3.364.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/dist/assets/{ApiCodeButton-Dcl8qhwL.js → ApiCodeButton-CW2yU_-W.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-71Z8HJZJ.js → ApiCodeDialog-D238rDv6.js} +2 -2
  3. package/dist/assets/{Artifacts-CLbvoS2c.js → Artifacts-CeLEz0iH.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-oUM74bcJ.js → AskUserQuestionCard-5sD21YGW.js} +1 -1
  5. package/dist/assets/{AudioPreview-C4IujPMW.js → AudioPreview-CE-N4TvI.js} +1 -1
  6. package/dist/assets/{Auth-Csd3-uGE.js → Auth-D1t8N7SC.js} +1 -1
  7. package/dist/assets/{Bare-D4bx7c2P.js → Bare-CLC0FDaQ.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-BKvEW5Nl.js → BotPlaceholder-D1QvYa8H.js} +1 -1
  9. package/dist/assets/{BottomFooter-CWQfUo_R.js → BottomFooter-RtTiqSRS.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-BxSUnPmh.js → BrowseConnectors-Bpe7Rlvh.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-BjZoFqa4.js → BrowserPairingDialog-BNdWUkOP.js} +1 -1
  12. package/dist/assets/{Callback-DTGV8j2v.js → Callback-8SIdIakv.js} +1 -1
  13. package/dist/assets/{CodeSnippet-CY83QQun.js → CodeSnippet-CpXz2k67.js} +1 -1
  14. package/dist/assets/{Console-BX-UO2x1.js → Console-mDH2JzUZ.js} +1 -1
  15. package/dist/assets/{Consumption-DdAzscqb.js → Consumption-BY2wLrsD.js} +1 -1
  16. package/dist/assets/{Conversation-CtcYKMCM.js → Conversation-Bec4-TM_.js} +1 -1
  17. package/dist/assets/Conversation-CtRiOKBY.js +1 -0
  18. package/dist/assets/{CopyToClipboard-CTUohPCI.js → CopyToClipboard-BxbmYWle.js} +1 -1
  19. package/dist/assets/Detail-kusdp2aZ.js +2 -0
  20. package/dist/assets/Extra-Bhvy1CBW.js +1 -0
  21. package/dist/assets/{FilePreview-Dz0jfYrs.js → FilePreview-_IoOlqyX.js} +1 -1
  22. package/dist/assets/{Hailuo-BEbmKeqE.js → Hailuo-CUxI_8Wb.js} +1 -1
  23. package/dist/assets/{History-CgQrk2Zw.js → History-dDXRUGuT.js} +1 -1
  24. package/dist/assets/{ImagePreview-ZO5B8ja6.js → ImagePreview-DdnrTeAA.js} +1 -1
  25. package/dist/assets/{ImageWrapper-BWOkdezw.js → ImageWrapper-DfLNhtQg.js} +1 -1
  26. package/dist/assets/Index-4Fjw7Wbc.js +1 -0
  27. package/dist/assets/Index-5RwzLWOS.js +1 -0
  28. package/dist/assets/Index-811yhum1.js +1 -0
  29. package/dist/assets/{Index-DPNUGFYY.js → Index-87OFhW6f.js} +1 -1
  30. package/dist/assets/{Index-Bfcgt9a5.js → Index-B43kjNyS2.js} +2 -2
  31. package/dist/assets/Index-BK8J1Sab2.js +1 -0
  32. package/dist/assets/{Index-Boxjf2qb2.js → Index-BMOXM4mL2.js} +1 -1
  33. package/dist/assets/Index-Ba3DVfsK.js +1 -0
  34. package/dist/assets/{Index-BwEiRidZ.js → Index-BaT69wE6.js} +1 -1
  35. package/dist/assets/Index-BahbFQv7.js +1 -0
  36. package/dist/assets/Index-BdL9rCGK.js +1 -0
  37. package/dist/assets/Index-Bdj-LNsr.css +1 -0
  38. package/dist/assets/Index-BockTR_Y.js +1 -0
  39. package/dist/assets/Index-BqVbIEuL.js +1 -0
  40. package/dist/assets/{Index-B4iFcR9b.js → Index-Br50z-cO.js} +1 -1
  41. package/dist/assets/Index-BrK83P4C2.js +1 -0
  42. package/dist/assets/Index-BuSnR1m2.css +1 -0
  43. package/dist/assets/Index-C-qFhHVI.js +1 -0
  44. package/dist/assets/Index-CTZ8JvMJ.js +1 -0
  45. package/dist/assets/Index-CjMaCJWH.js +1 -0
  46. package/dist/assets/{Index-ByGvdz1n.js → Index-CplPGJsm.js} +1 -1
  47. package/dist/assets/{Index-C7Hg5qF_.js → Index-CwZrHHe6.js} +1 -1
  48. package/dist/assets/{Index-C_1v4dkQ.js → Index-CyNMAWi5.js} +1 -1
  49. package/dist/assets/Index-D-3bTIOv.js +1 -0
  50. package/dist/assets/{Index-BHPlQDyR.js → Index-D5mAE5fb.js} +2 -2
  51. package/dist/assets/{Index-BYlWF206.js → Index-D6qynrr-.js} +1 -1
  52. package/dist/assets/Index-D844iJfz2.js +1 -0
  53. package/dist/assets/Index-D9r8-nSd.js +1 -0
  54. package/dist/assets/{Index-D1AyX1Wb.css → Index-DFGgFiIG.css} +1 -1
  55. package/dist/assets/{Index-CfiLVynk.js → Index-DNWQMNZS.js} +1 -1
  56. package/dist/assets/{Index-CS3pCCuq.css → Index-DPJcZ909.css} +1 -1
  57. package/dist/assets/Index-DT4SMO6R.js +1 -0
  58. package/dist/assets/{Index-6tkXz7k-.js → Index-DaPUOvD5.js} +1 -1
  59. package/dist/assets/{Index-CyRiXicA.js → Index-Dbdo7dYf.js} +1 -1
  60. package/dist/assets/{Index-Bo-r8Yl4.js → Index-Df4QZal3.js} +1 -1
  61. package/dist/assets/Index-DhgXBWiw.js +1 -0
  62. package/dist/assets/{Index-BbxAE6Dv.css → Index-DlTsW4lg.css} +1 -1
  63. package/dist/assets/Index-Dq6MPnVl.js +1 -0
  64. package/dist/assets/Index-DxmoYiuT.js +1 -0
  65. package/dist/assets/Index-VL_pjBXv.js +1 -0
  66. package/dist/assets/Index-cZq1xh9K.js +1 -0
  67. package/dist/assets/Index-lqrCz9zG.css +1 -0
  68. package/dist/assets/{Invitees-CFRisIyW.js → Invitees-DiWoLeVi.js} +1 -1
  69. package/dist/assets/List-BB5nfhPa.js +1 -0
  70. package/dist/assets/List-Bbm8wvCi.js +1 -0
  71. package/dist/assets/{List-CFc8m18X.js → List-pH0QJTXL.js} +1 -1
  72. package/dist/assets/{LocalTools-DFwidszJ.js → LocalTools-DpmBRk4K.js} +1 -1
  73. package/dist/assets/LocalTools-jDdCH2h7.js +5 -0
  74. package/dist/assets/{Logo-fKY-0-aK.css → Logo-BZgZ6EYG.css} +1 -1
  75. package/dist/assets/{Logo-yVwKUjCr.js → Logo-C2gu8nWT.js} +1 -1
  76. package/dist/assets/Main-BPOEeHjD.css +1 -0
  77. package/dist/assets/Main-BYUwCPGM.js +1 -0
  78. package/dist/assets/{Message-BSgoVR5D.js → Message-B4vVMAT_.js} +2 -2
  79. package/dist/assets/Model-D2y31HPW.js +1 -0
  80. package/dist/assets/{Navigator-CgqZY2x7.js → Navigator-CVucJOxw.js} +6 -6
  81. package/dist/assets/{Navigator-C8B5WSQa.css → Navigator-zEwN7PQV.css} +1 -1
  82. package/dist/assets/{NotFound-BM7yGCf6.js → NotFound-D5b0hATw.js} +1 -1
  83. package/dist/assets/{PageHeader-Dj9qTkLS.js → PageHeader-DYiTwEU5.js} +1 -1
  84. package/dist/assets/Pay-BUpXMvbO.js +1 -0
  85. package/dist/assets/{Player-BSUw3hYQ.js → Player-dZObGGOX.js} +1 -1
  86. package/dist/assets/{Poivelle-Bf1dF5Jt.js → Poivelle-C4_Enf-e.js} +1 -1
  87. package/dist/assets/PublicSectionNav-6hJFJ2tj.js +1 -0
  88. package/dist/assets/PublicSectionNav-DjhjRLQx.css +1 -0
  89. package/dist/assets/{RealtimeCall-zL64kNk-.js → RealtimeCall-C2Tpxrtq.js} +1 -1
  90. package/dist/assets/{ReportButton-EQldoRgS.js → ReportButton-CEMOiQV0.js} +1 -1
  91. package/dist/assets/{ReportDialog-V6fpPeil.js → ReportDialog-nOFmf1sK.js} +1 -1
  92. package/dist/assets/{ScenarioPaymentMode-CZRe9D9F.js → ScenarioPaymentMode-B3JaiTEC.js} +1 -1
  93. package/dist/assets/{ScheduledTasks-CSndp-Hc.js → ScheduledTasks-CaIjV5HI.js} +2 -2
  94. package/dist/assets/ShowcaseGrid-Bl5zGRKg.css +1 -0
  95. package/dist/assets/ShowcaseGrid-CMz7gpO-.js +1 -0
  96. package/dist/assets/ShowcaseResultTabs-BRH2dtlr.css +1 -0
  97. package/dist/assets/ShowcaseResultTabs-BbeZkqxd.js +1 -0
  98. package/dist/assets/{SolanaWalletPickerDialog-RClsnNo5.js → SolanaWalletPickerDialog-BUmXw2CI.js} +1 -1
  99. package/dist/assets/Status-BS4aBeY8.js +1 -0
  100. package/dist/assets/{Subscribe-Bncva8_i.js → Subscribe-BH3KIzFs.js} +1 -1
  101. package/dist/assets/{TabSwitcher-CaoqJClD.js → TabSwitcher-DLH5NJTC.js} +1 -1
  102. package/dist/assets/Tts-iV4jtV05.js +1 -0
  103. package/dist/assets/{VideoPlayer-DMbJqvU0.js → VideoPlayer-mBjCuWVq.js} +1 -1
  104. package/dist/assets/{VideoPreview-B276eWaB.js → VideoPreview-NAcZSOmV.js} +1 -1
  105. package/dist/assets/arrow-down-9LXDI-ae.js +1 -0
  106. package/dist/assets/{arrow-down-wide-narrow-DUIJa0FH.js → arrow-down-wide-narrow-BrWJcYsO.js} +1 -1
  107. package/dist/assets/arrow-left-DP_Agq8s.js +1 -0
  108. package/dist/assets/arrow-right-bCKOCKO_.js +1 -0
  109. package/dist/assets/arrow-up-DS6bP9WN.js +1 -0
  110. package/dist/assets/authorizeFlow-CGvv-iXc.js +1 -0
  111. package/dist/assets/{avatar-D0Ukws79.js → avatar-utIC5Me4.js} +1 -1
  112. package/dist/assets/{basic-DrIXaUJM.js → basic-CptaS64V.js} +1 -1
  113. package/dist/assets/{book-open-z9O4nfzK.js → book-open-iA_93Ljl.js} +1 -1
  114. package/dist/assets/{box-DtTDZS_T.js → box-CEtvXE-Y.js} +1 -1
  115. package/dist/assets/{boxes-N4GRL9gd.js → boxes-0WsrDqJ9.js} +1 -1
  116. package/dist/assets/{brain-K1xnwMG9.js → brain-DPxMaBjH.js} +1 -1
  117. package/dist/assets/{chart-no-axes-combined-D5OrY20Y.js → chart-no-axes-combined-C79hq_jG.js} +1 -1
  118. package/dist/assets/{chat-BiHqg5Ab.js → chat-6T40RIkS.js} +1 -1
  119. package/dist/assets/{chat-Bp4bJ5ON.js → chat-BOS7jOWt.js} +1 -1
  120. package/dist/assets/{chat-D4kIzkAu.js → chat-BqbB25Ow.js} +1 -1
  121. package/dist/assets/{chat-D_YuUInJ.js → chat-C5jqsCtM.js} +1 -1
  122. package/dist/assets/{chat-Dw33pY7W.js → chat-C8cJLQ1y.js} +1 -1
  123. package/dist/assets/{chat-FkVggpRq.js → chat-CLhjRQ3K.js} +1 -1
  124. package/dist/assets/{chat-DLWrmh_g.js → chat-CMtKatdV.js} +1 -1
  125. package/dist/assets/{chat-Bo0q6dMk.js → chat-CZxC_1VU.js} +1 -1
  126. package/dist/assets/{chat-BlqoMy6p.js → chat-CdT3kCwX.js} +1 -1
  127. package/dist/assets/{chat-vPkdn2jS.js → chat-CvTrdPCc.js} +1 -1
  128. package/dist/assets/{chat-DjBBplAm.js → chat-D3WkEHP_.js} +1 -1
  129. package/dist/assets/{chat-DfifUOrl.js → chat-DcfXbwZf.js} +1 -1
  130. package/dist/assets/{chat-B9MNZfMB.js → chat-PKXUzs7p.js} +1 -1
  131. package/dist/assets/{chat-B0DbmqER.js → chat-QL2LrevV.js} +1 -1
  132. package/dist/assets/{chat-DlCgUG3t.js → chat-SUq6ECup.js} +1 -1
  133. package/dist/assets/{chat-BGQfYFg0.js → chat-Uky6VlPp.js} +1 -1
  134. package/dist/assets/{chat-BiJmGPHd.js → chat-XgCQpkyp.js} +1 -1
  135. package/dist/assets/{chat-BRFnqipk.js → chat-aY66q4Mt.js} +1 -1
  136. package/dist/assets/{chat-ql1uQyGb.js → chat-rBDTxx1r.js} +1 -1
  137. package/dist/assets/check-C6czPLMF.js +1 -0
  138. package/dist/assets/chevron-down-DdiPwMdT.js +1 -0
  139. package/dist/assets/chevron-right-DEPsDenp.js +1 -0
  140. package/dist/assets/circle-check-D5yyKhJm.js +1 -0
  141. package/dist/assets/{circle-question-mark-DfQU9z-w.js → circle-question-mark-D46xjCI3.js} +1 -1
  142. package/dist/assets/{clipboard-list-DoTWN6RK.js → clipboard-list-Bs4_j223.js} +1 -1
  143. package/dist/assets/clock-CmQXpkK4.js +1 -0
  144. package/dist/assets/code-CmclsCNe.js +1 -0
  145. package/dist/assets/codingBridge-Bo2CiUE5.js +2 -0
  146. package/dist/assets/{codingBridgeNotify-pUUSPAfs.js → codingBridgeNotify-DHtTy-S0.js} +2 -2
  147. package/dist/assets/{coins-BceTP400.js → coins-BupjmA5F.js} +1 -1
  148. package/dist/assets/{collapse-DtwdCvpX.js → collapse-Bs-G-o9l.js} +1 -1
  149. package/dist/assets/constants-CJQJ3wsw.js +1 -0
  150. package/dist/assets/{copy-DOT4OgOM.js → copy-CQ3goBJv.js} +1 -1
  151. package/dist/assets/{createTaskActions-BCVblssR.js → createTaskActions-qaaEeTbt.js} +1 -1
  152. package/dist/assets/{digitalhuman-1HHZcSOZ.js → digitalhuman-B3LDyEBT.js} +1 -1
  153. package/dist/assets/{dollar-sign-QGL4aT5Y.js → dollar-sign-5FSQI1jd.js} +1 -1
  154. package/dist/assets/{download-B490WtSl.js → download-D1TnTb3H.js} +1 -1
  155. package/dist/assets/{drawer-Dn66Qkds.js → drawer-Bs1qoj1V.js} +1 -1
  156. package/dist/assets/{dropdown-IK1Jix3O.js → dropdown-BOodrtqB.js} +1 -1
  157. package/dist/assets/{dropdown-BcdYKajp.js → dropdown-QDrMYxZh.js} +1 -1
  158. package/dist/assets/{ellipsis-1kRmmTWN.js → ellipsis-gT6YyY33.js} +1 -1
  159. package/dist/assets/esm-BPosIEoi.js +1 -0
  160. package/dist/assets/{esm-BCEp895d.js → esm-D5yZyuM6.js} +2 -2
  161. package/dist/assets/{esm-22TDJm7d.js → esm-idbnWvDv.js} +2 -2
  162. package/dist/assets/{external-link-Nyr07G2b.js → external-link-CTBiy9b4.js} +1 -1
  163. package/dist/assets/{eye-_wXm3YqY.js → eye-DLIJSKFU.js} +1 -1
  164. package/dist/assets/{file-By7d4JZ3.js → file-Cw0ImHEe.js} +1 -1
  165. package/dist/assets/{file-output-CxhbO8y0.js → file-output-CYMgLrph.js} +1 -1
  166. package/dist/assets/{file-text-Cy_CL4nr.js → file-text-BoziN-d2.js} +1 -1
  167. package/dist/assets/fish-DEIzA0wc.js +1 -0
  168. package/dist/assets/{flux-DkzVPPTc.js → flux-DKJYqJ9p.js} +1 -1
  169. package/dist/assets/{folder-DVaPqE2g.js → folder-C3-t5nGt.js} +1 -1
  170. package/dist/assets/gauge-yxthCr4y.js +1 -0
  171. package/dist/assets/{globe-DiA74Q0g.js → globe-L9HD5JKb.js} +1 -1
  172. package/dist/assets/{grokvideo-_KxHw8Fo.js → grokvideo-S9cDam2f.js} +1 -1
  173. package/dist/assets/{hailuo-CsMYKhIR.js → hailuo-BF19iyTf.js} +1 -1
  174. package/dist/assets/{headphones-BIJ11xky.js → headphones-Bmnh8DY_.js} +1 -1
  175. package/dist/assets/{history-CtcuiKbA.js → history-CoqGl1lZ.js} +1 -1
  176. package/dist/assets/{house-ChZiZKZl.js → house-rYljiXNw.js} +1 -1
  177. package/dist/assets/{i18n-Dnx1Dvi-.js → i18n-rmY_RkJo.js} +1 -1
  178. package/dist/assets/{image-xIks4s0D.js → image-BeucKfYT.js} +1 -1
  179. package/dist/assets/{imageRequests-TuJ_dadC.js → imageRequests-CpnZKpxF.js} +1 -1
  180. package/dist/assets/index-CfjxpPE2.js +570 -0
  181. package/dist/assets/{index.es-Dqy3l3uu.js → index.es-e26V33Rs.js} +1 -1
  182. package/dist/assets/{info-C2Tt-AAG.js → info-D7QeBqUn.js} +1 -1
  183. package/dist/assets/{input-number-oB9hNQUN.js → input-number-IRmZRGx1.js} +1 -1
  184. package/dist/assets/{intro-B_1rEL4k.js → intro-B0jlgd9s.js} +1 -1
  185. package/dist/assets/{intro-D8jlxqfD.js → intro-B6BLSCYd.js} +1 -1
  186. package/dist/assets/{intro-DxIDK4-7.js → intro-B8eKFWeo.js} +1 -1
  187. package/dist/assets/{intro-BRxhwzgc.js → intro-BBAlrZk7.js} +1 -1
  188. package/dist/assets/{intro-CZrEGpvV.js → intro-BBvZgYrf.js} +1 -1
  189. package/dist/assets/{intro-SyZF6diN.js → intro-BQzBviyM.js} +1 -1
  190. package/dist/assets/{intro-CAF9HiWf.js → intro-Biqh2Zg5.js} +1 -1
  191. package/dist/assets/{intro-COm5xqdX.js → intro-Cf-1Va_v.js} +1 -1
  192. package/dist/assets/{intro-Dty7Xa3w.js → intro-CtHCuGRP.js} +1 -1
  193. package/dist/assets/{intro-xnV3M4NM.js → intro-D6EIG9vU.js} +1 -1
  194. package/dist/assets/{intro-DdpC81qG.js → intro-DDBoSQnc.js} +1 -1
  195. package/dist/assets/{intro-PFBIw-8e.js → intro-DKKZH6le.js} +1 -1
  196. package/dist/assets/{intro-CBekcUNN.js → intro-DK_lC5OU.js} +1 -1
  197. package/dist/assets/{intro-BcRXuT1K.js → intro-DZ-buOSd.js} +1 -1
  198. package/dist/assets/{intro-CGuk1jLl.js → intro-DakUvPos.js} +1 -1
  199. package/dist/assets/{intro-CVWe7Kot.js → intro-Dmq2xMg8.js} +1 -1
  200. package/dist/assets/{intro-Bg7QV5Rq.js → intro-Zy0q2WMx.js} +1 -1
  201. package/dist/assets/{intro-RnQVpcEg.js → intro-ehI-1wa5.js} +1 -1
  202. package/dist/assets/{key-round-Dq9tfjBb.js → key-round-BPf1zdIe.js} +1 -1
  203. package/dist/assets/{kling-c0sS0EJ7.js → kling-CydTnaa9.js} +1 -1
  204. package/dist/assets/{languages-CHV3n5CE.js → languages-CDR0lEaH.js} +1 -1
  205. package/dist/assets/{laptop-CCOuFGU2.js → laptop-DmcL3QJa.js} +1 -1
  206. package/dist/assets/{lightbulb-DIZ2VHIg.js → lightbulb-CYE4TiUX.js} +1 -1
  207. package/dist/assets/{link-D7w7bM_A.js → link-UJx11_bE.js} +1 -1
  208. package/dist/assets/loader-circle-Gj1htkSo.js +1 -0
  209. package/dist/assets/{lock-Cm17yDh7.js → lock-BH5-h7_i.js} +1 -1
  210. package/dist/assets/{luma-i0CljPvQ.js → luma-ChNOTZpQ.js} +1 -1
  211. package/dist/assets/{maestro-CSYOHzI4.js → maestro-ODVlLWQa.js} +1 -1
  212. package/dist/assets/{maestroLanguages-DF93Owcp.js → maestroLanguages-CKgx56ap.js} +1 -1
  213. package/dist/assets/{mail-B8Eg1DL_.js → mail-DclYlSgo.js} +1 -1
  214. package/dist/assets/{message-circle-CPSW2LIu.js → message-circle-DdcNq1Om.js} +1 -1
  215. package/dist/assets/{mic-BiuKUki9.js → mic-DBuI9yaF.js} +1 -1
  216. package/dist/assets/{midjourney-CBRBNrKK.js → midjourney-92HdIEmM.js} +1 -1
  217. package/dist/assets/{minimax-Bt0PQYas.js → minimax-D4hudFt7.js} +1 -1
  218. package/dist/assets/{mobileLocalExec-Cay6FHrm.js → mobileLocalExec-Cka3nPHe.js} +2 -2
  219. package/dist/assets/{models-CjQB9FO6.js → models-C8CSg3oI.js} +1 -1
  220. package/dist/assets/{monitor-898hvqjd.js → monitor-BmyIBirt.js} +1 -1
  221. package/dist/assets/{mouse-pointer-2-CAmsS_nU.js → mouse-pointer-2-Cdni9ZES.js} +1 -1
  222. package/dist/assets/music-2-Dq7phqeh.js +1 -0
  223. package/dist/assets/{nanobanana-z8JwwGaM.js → nanobanana-D7KbAXnp.js} +1 -1
  224. package/dist/assets/{seedance-B1BrdpEA.js → omni-BdT-ejBR.js} +1 -1
  225. package/dist/assets/{openaiimage-CjQeKYeu.js → openaiimage-DYjR65nW.js} +1 -1
  226. package/dist/assets/{pagination-ClpGLdWY.js → pagination-DDFzRocE.js} +1 -1
  227. package/dist/assets/{pagination-BCtqYoJW.js → pagination-DPYQ5nng.js} +1 -1
  228. package/dist/assets/{pagination-BMjtqNF8.js → pagination-DYaVUkiD.js} +1 -1
  229. package/dist/assets/{palette-Cw-b0aHW.js → palette-m8_CO0It.js} +1 -1
  230. package/dist/assets/{paperclip-0NJdci6a.js → paperclip-CaS47uP9.js} +1 -1
  231. package/dist/assets/{pause-Cq3qVIvv.js → pause-BOI1mkmQ.js} +1 -1
  232. package/dist/assets/{pencil-DFPcO_kc.js → pencil-CrX7nshw.js} +1 -1
  233. package/dist/assets/{pika-CEAQXgu1.js → pika-CEFlWodK.js} +1 -1
  234. package/dist/assets/pixverse-CzvNRPzY.js +1 -0
  235. package/dist/assets/play-Dtb0Tn_a.js +1 -0
  236. package/dist/assets/{plug-BJt1kMnN.js → plug-B2j7xVEw.js} +1 -1
  237. package/dist/assets/plus-CDrrXLnD.js +1 -0
  238. package/dist/assets/{poivelle-6P6A2b4a.js → poivelle-DPFCLlEj.js} +1 -1
  239. package/dist/assets/{popover-o3AAxUWC.js → popover-CKZ9upQg.js} +1 -1
  240. package/dist/assets/{producer-BwmtjLGD.js → producer-DRKE1mLJ.js} +1 -1
  241. package/dist/assets/{qrart-D_eSmeQy.js → qrart-DR5ISLgE.js} +1 -1
  242. package/dist/assets/{realtime-75zffrnk.js → realtime-ClCFNueT.js} +1 -1
  243. package/dist/assets/{refresh-cw-B46LTmE2.js → refresh-cw-DgPVs7QS.js} +1 -1
  244. package/dist/assets/rotate-ccw-rTdKNL5V.js +1 -0
  245. package/dist/assets/rotate-cw-CQ9Q4shA.js +1 -0
  246. package/dist/assets/{row-Ca8-Q2R2.js → row-Bpagc90A.js} +1 -1
  247. package/dist/assets/search-CY8gKYX9.js +1 -0
  248. package/dist/assets/{omni-Cvv4WANg.js → seedance-D4D9oZQs.js} +1 -1
  249. package/dist/assets/{seedream-Cn6vdLhn.js → seedream-DS5Seayb.js} +1 -1
  250. package/dist/assets/{select-IURLV_gW.js → select-CKPV9uB7.js} +1 -1
  251. package/dist/assets/{serp-DRL6fRZj.js → serp-DB3sUHvi.js} +1 -1
  252. package/dist/assets/{shield-D-eKU2m5.js → shield-BEHyphKg.js} +1 -1
  253. package/dist/assets/showcase-CgJWoiRX.js +1 -0
  254. package/dist/assets/showcaseRecreateMixin-_b7i-mRx.js +1 -0
  255. package/dist/assets/{shuffle-DQW_IPUW.js → shuffle-73HZ9ZST.js} +1 -1
  256. package/dist/assets/site-ANKj45XF.js +1 -0
  257. package/dist/assets/site-B4k0fEdX.js +1 -0
  258. package/dist/assets/site-BIShlenx.js +1 -0
  259. package/dist/assets/site-BTEGts7R.js +1 -0
  260. package/dist/assets/site-B_gwt4RO.js +1 -0
  261. package/dist/assets/site-BrApYDlp.js +1 -0
  262. package/dist/assets/site-BrrCW873.js +1 -0
  263. package/dist/assets/site-CRkjQoNu.js +1 -0
  264. package/dist/assets/site-ClimB0EX.js +1 -0
  265. package/dist/assets/site-Cvdisci6.js +1 -0
  266. package/dist/assets/site-CwcylXaO.js +1 -0
  267. package/dist/assets/site-DFVtPEHi.js +1 -0
  268. package/dist/assets/site-DIdMl4Y0.js +1 -0
  269. package/dist/assets/site-DSKcqC09.js +1 -0
  270. package/dist/assets/site-DZHP02js.js +1 -0
  271. package/dist/assets/site-D_xl5yOY.js +1 -0
  272. package/dist/assets/site-De-HJ7om.js +1 -0
  273. package/dist/assets/site-DiDadb2G.js +1 -0
  274. package/dist/assets/{slider-CgY1FA-0.js → slider-B4AqP-SY.js} +1 -1
  275. package/dist/assets/{solana-wallets-yHIt_VLF.js → solana-wallets--tJ0lEzb.js} +2 -2
  276. package/dist/assets/{sora-DW0v4Q8o.js → sora-DNdnLIwV.js} +1 -1
  277. package/dist/assets/{sparkles-BrAFibvN.js → sparkles-DFssofYX.js} +1 -1
  278. package/dist/assets/square-C8VTnJjs.js +1 -0
  279. package/dist/assets/{store-DtCMCsfD.js → store-DJwy3v7H.js} +1 -1
  280. package/dist/assets/{suno-DjdlCnTJ.js → suno-DqCtkqFJ.js} +1 -1
  281. package/dist/assets/{switch-Dz7BDezi.js → switch-D6SZIGlL.js} +1 -1
  282. package/dist/assets/{table-DDf2YDlD.js → table-CEAhb5aF.js} +1 -1
  283. package/dist/assets/{tabs-BryGm3w1.js → tabs-BJfJUlPl.js} +1 -1
  284. package/dist/assets/{tag-FgOUgyeS.js → tag-Djbkqu4x.js} +1 -1
  285. package/dist/assets/terminal-C0-GQcgP.js +1 -0
  286. package/dist/assets/{time-picker-BRMkDI8v.js → time-picker-BAfQqVGO.js} +1 -1
  287. package/dist/assets/{tooltip-DIpaS5v3.js → tooltip-BTs-Q0uJ.js} +1 -1
  288. package/dist/assets/{trash-2-Dv6hX8nV.js → trash-2-HtQVZzK7.js} +1 -1
  289. package/dist/assets/{triangle-alert-jfsdAUHA.js → triangle-alert-C3ahEoyg.js} +1 -1
  290. package/dist/assets/{upload-MkciQIS4.js → upload-CFJUfdLE.js} +1 -1
  291. package/dist/assets/{upload-CL5G713J.js → upload-DUU4coBZ.js} +1 -1
  292. package/dist/assets/user-BxF73tUJ.js +1 -0
  293. package/dist/assets/vendor-vue-router-BUzwFrSR.js +1 -0
  294. package/dist/assets/{veo-DwTisxkL.js → veo-in770ay1.js} +1 -1
  295. package/dist/assets/{video-Bw94hRsL.js → video-BC-kBGTN.js} +1 -1
  296. package/dist/assets/{volume-2-B456qo1v.js → volume-2-Bm2T8p5v.js} +1 -1
  297. package/dist/assets/{wallet-BClpRloD.js → wallet-YY46rs3y.js} +1 -1
  298. package/dist/assets/wan-BOEDXNeu.js +1 -0
  299. package/dist/assets/{wand-sparkles-XVL_JYqb.js → wand-sparkles-BFPGTmJF.js} +1 -1
  300. package/dist/assets/{web-De8VQWXy.js → web-BLO0fVhh.js} +1 -1
  301. package/dist/assets/{web-5TindX1h.js → web-Be5P97SL.js} +1 -1
  302. package/dist/assets/{web-CNuz-E69.js → web-CjZ0gRp1.js} +1 -1
  303. package/dist/assets/{web-B5DHNMja.js → web-D961hlJX.js} +1 -1
  304. package/dist/assets/{web-CYHAUdMY.js → web-DR9Tj3lj.js} +1 -1
  305. package/dist/assets/webextrator-B0uN0zsV.js +1 -0
  306. package/dist/assets/{zap-CnlkCkzF.js → zap-BZK2V-Rd.js} +1 -1
  307. package/dist/index.html +5 -5
  308. package/package.json +1 -1
  309. package/dist/assets/Conversation-Dvq38awS.js +0 -1
  310. package/dist/assets/Detail-CyKvsXzl.js +0 -2
  311. package/dist/assets/Extra-CLbyR-FH.js +0 -1
  312. package/dist/assets/Index-2N1Vf3SF.js +0 -1
  313. package/dist/assets/Index-B06ppmFA.js +0 -1
  314. package/dist/assets/Index-B2v4I1Dq.js +0 -1
  315. package/dist/assets/Index-B6AnIyGM.js +0 -1
  316. package/dist/assets/Index-BIIBnqqG.js +0 -1
  317. package/dist/assets/Index-BmPXEnfx.js +0 -1
  318. package/dist/assets/Index-C5rNjZ7l.js +0 -1
  319. package/dist/assets/Index-CHMetm69.js +0 -1
  320. package/dist/assets/Index-CNNFP63A.js +0 -1
  321. package/dist/assets/Index-CT4Pbci7.js +0 -1
  322. package/dist/assets/Index-CZTQwU1V.js +0 -1
  323. package/dist/assets/Index-ChFFNP9L.js +0 -1
  324. package/dist/assets/Index-Cjgufg_D.js +0 -1
  325. package/dist/assets/Index-CmW7n8A4.css +0 -1
  326. package/dist/assets/Index-CxSbGYVW.js +0 -1
  327. package/dist/assets/Index-D6kB-Me1.js +0 -1
  328. package/dist/assets/Index-DXJ6Ob0s.js +0 -1
  329. package/dist/assets/Index-Db1RXJin.js +0 -1
  330. package/dist/assets/Index-DvE_W405.js +0 -1
  331. package/dist/assets/Index-FITY04Av.js +0 -1
  332. package/dist/assets/Index-RWTFptKN.css +0 -1
  333. package/dist/assets/Index-jEDkzt8p.js +0 -1
  334. package/dist/assets/Index-qgKU9RNk.js +0 -1
  335. package/dist/assets/List-Di07pYWM.js +0 -1
  336. package/dist/assets/List-DzLuinw_.js +0 -1
  337. package/dist/assets/LocalTools-Dw9zASXU.js +0 -5
  338. package/dist/assets/Main-D6jB9eDr.css +0 -1
  339. package/dist/assets/Main-DagWuwaz.js +0 -1
  340. package/dist/assets/Model-C65iWxJO.js +0 -1
  341. package/dist/assets/Pay-DkLLQGWf.js +0 -1
  342. package/dist/assets/Status-BnYZO6Sa.js +0 -1
  343. package/dist/assets/Tts-B4HYZ6qX.js +0 -1
  344. package/dist/assets/arrow-down-BzeNdqQd.js +0 -1
  345. package/dist/assets/arrow-left-DxhByvFM.js +0 -1
  346. package/dist/assets/arrow-right-BfDJ3acS.js +0 -1
  347. package/dist/assets/arrow-up-Cc78OhdL.js +0 -1
  348. package/dist/assets/authorizeFlow-CKlme7_Y.js +0 -1
  349. package/dist/assets/check-BF83UP2i.js +0 -1
  350. package/dist/assets/chevron-down-DU3RS2yJ.js +0 -1
  351. package/dist/assets/chevron-right-Bcaf1inb.js +0 -1
  352. package/dist/assets/circle-check-BGVs_phw.js +0 -1
  353. package/dist/assets/clock-Bc5wRPLL.js +0 -1
  354. package/dist/assets/code-VFIG_xKO.js +0 -1
  355. package/dist/assets/codingBridge-BZX3YpAR.js +0 -2
  356. package/dist/assets/constants-DbpBW9eP.js +0 -1
  357. package/dist/assets/esm-B6b7s4-g.js +0 -1
  358. package/dist/assets/fish-BxBJodN1.js +0 -1
  359. package/dist/assets/gauge-C0sooT1G.js +0 -1
  360. package/dist/assets/index-HjykeWk5.js +0 -570
  361. package/dist/assets/loader-circle-CjaRC28_.js +0 -1
  362. package/dist/assets/music-2-KLkdafdj.js +0 -1
  363. package/dist/assets/pixverse-BWuRLAzn.js +0 -1
  364. package/dist/assets/play-bv8m46Lj.js +0 -1
  365. package/dist/assets/plus-D2_ntGD6.js +0 -1
  366. package/dist/assets/rotate-ccw-B9o53uBd.js +0 -1
  367. package/dist/assets/rotate-cw-C77JnraH.js +0 -1
  368. package/dist/assets/search-D-o1V1di.js +0 -1
  369. package/dist/assets/site-B9KzsM2S.js +0 -1
  370. package/dist/assets/site-BLHkVuq0.js +0 -1
  371. package/dist/assets/site-BPrGy7nI.js +0 -1
  372. package/dist/assets/site-BQuZ2iQ7.js +0 -1
  373. package/dist/assets/site-BX4OXlRf.js +0 -1
  374. package/dist/assets/site-CDyNea9G.js +0 -1
  375. package/dist/assets/site-CIUCAZ8Z.js +0 -1
  376. package/dist/assets/site-CL-3CQ6P.js +0 -1
  377. package/dist/assets/site-CYyP6gp_.js +0 -1
  378. package/dist/assets/site-CfdY6ZiH.js +0 -1
  379. package/dist/assets/site-CmkljvoQ.js +0 -1
  380. package/dist/assets/site-Cr-BYAAY.js +0 -1
  381. package/dist/assets/site-D8bBosCF.js +0 -1
  382. package/dist/assets/site-DFgcgcf6.js +0 -1
  383. package/dist/assets/site-De2Re6cV.js +0 -1
  384. package/dist/assets/site-Wie5mZ3C.js +0 -1
  385. package/dist/assets/site-aLBFwaJ9.js +0 -1
  386. package/dist/assets/site-yVDyeKhO.js +0 -1
  387. package/dist/assets/square-Ds85wd0i.js +0 -1
  388. package/dist/assets/terminal-DtdPfoy1.js +0 -1
  389. package/dist/assets/user-CV65A-cU.js +0 -1
  390. package/dist/assets/vendor-vue-router-Cnr45FPb.js +0 -1
  391. package/dist/assets/wan-Hq9-eqF6.js +0 -1
  392. package/dist/assets/webextrator-Cuhxneo1.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-IURLV_gW.js";import{n as S,t as C}from"./tabs-BryGm3w1.js";import{t as w}from"./tooltip-DIpaS5v3.js";import{v as T}from"./models-CjQB9FO6.js";import{n as E,r as D,t as O}from"./dropdown-BcdYKajp.js";import{t as k}from"./pagination-ClpGLdWY.js";import{t as A}from"./switch-Dz7BDezi.js";import{t as j}from"./arrow-down-BzeNdqQd.js";import{t as M}from"./arrow-left-DxhByvFM.js";import{t as N}from"./book-open-z9O4nfzK.js";import{t as P}from"./chevron-down-DU3RS2yJ.js";import{t as F}from"./chevron-right-Bcaf1inb.js";import{t as I}from"./circle-check-BGVs_phw.js";import{t as L}from"./circle-question-mark-DfQU9z-w.js";import{t as ee}from"./clipboard-list-DoTWN6RK.js";import{t as te}from"./code-VFIG_xKO.js";import{t as R}from"./copy-DOT4OgOM.js";import{t as ne}from"./ellipsis-1kRmmTWN.js";import{t as re}from"./eye-_wXm3YqY.js";import{t as ie}from"./file-text-Cy_CL4nr.js";import{t as z}from"./file-By7d4JZ3.js";import{t as ae}from"./folder-DVaPqE2g.js";import{t as oe}from"./image-xIks4s0D.js";import{t as se}from"./lock-Cm17yDh7.js";import{t as B}from"./plus-D2_ntGD6.js";import{n as V,t as ce}from"./store-DtCMCsfD.js";import{t as le}from"./search-D-o1V1di.js";import{t as ue}from"./trash-2-Dv6hX8nV.js";import{t as de}from"./triangle-alert-jfsdAUHA.js";import{t as fe}from"./upload-CL5G713J.js";import{t as pe}from"./wand-sparkles-XVL_JYqb.js";import{Ha as H,Ma as me,O as U,Pa as W,Ta as G,Ti as K,aa as he,ba as ge,da as _e,fa as ve,ga as ye,sa as be,ua as xe,xa as q,ya as J}from"./index-HjykeWk5.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-Dqy3l3uu.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-Dj9qTkLS.js";var Re=J(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ze=J(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Be=J(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ve=J(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),He=J(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${he()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return K.get(`/${this.key}/`,X())}async get(e){return K.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return K.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),K.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return K.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return K.delete(`/${this.key}/${e}/`,X())}async enable(e){return K.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return K.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await K.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return K.get(`/${this.key}/`,{...X(),params:e})}async get(e){return K.get(`/${this.key}/${e}/`,X())}async categories(){return K.get(`/${this.key}/categories/`,X())}async install(e,t={}){return K.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;_e()&&e.add(`desktop`),ve()&&e.add(`ios`),xe()&&e.add(`android`),ye()&&e.add(`web`);let t=be();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!ve()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:G,ElInput:H,ElButton:W,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:B,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:se,SearchIcon:le,SuccessIcon:I},directives:{loading:q},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Ke},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=U(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Et(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:W,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,SuccessIcon:I,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:q},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1,copied:!1,copiedTimer:void 0}},computed:{kind(){return this.path?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl),this.copiedTimer!==void 0&&window.clearTimeout(this.copiedTimer)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.copied=!1,this.copiedTimer!==void 0&&(window.clearTimeout(this.copiedTimer),this.copiedTimer=void 0),this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Et(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),this.copied=!0,this.copiedTimer!==void 0&&window.clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1,this.copiedTimer=void 0},3e3),T.success(this.$t(`skill.preview.copied`))}catch{T.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`success-icon`),C=l(`copy-icon`),w=l(`el-tooltip`),T=l(`view-icon`),E=l(`el-tab-pane`),D=l(`code-icon`),O=l(`el-tabs`),k=l(`warning-icon`),A=l(`vue-markdown`),j=l(`file-icon`),M=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(w,{visible:t.copied,content:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),placement:`top-start`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),title:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[t.copied?(v(),f(S,{key:0,size:16,"aria-hidden":`true`,focusable:`false`})):(v(),f(C,{key:1,size:16,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`visible`,`content`])]),t.canRender?(v(),f(O,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(E,{name:`rendered`},{label:p(()=>[a(T,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(E,{name:`source`},{label:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(k,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(A,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(j,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[M,t.loading]])}var Ut=U(Ot,[[`render`,Ht],[`__scopeId`,`data-v-b14aa047`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?oe:Wt.has(n)?Be:z}function qt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Kt(e.path):ae},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:V,FileNode:U(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return qt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):o(``,!0)])}var cn=U(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:G,ElButton:W,AddFileIcon:He,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=U(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:G,ElButton:W,ElInput:H,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:H,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:B,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:V,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:U(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:q},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),T.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});T.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await ge.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),ae=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)])):o(``,!0)])),[[ae,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=U(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-CKPV9uB7.js";import{n as S,t as C}from"./tabs-BJfJUlPl.js";import{t as w}from"./tooltip-BTs-Q0uJ.js";import{v as T}from"./models-C8CSg3oI.js";import{n as E,r as D,t as O}from"./dropdown-QDrMYxZh.js";import{t as k}from"./pagination-DDFzRocE.js";import{t as A}from"./switch-D6SZIGlL.js";import{t as j}from"./arrow-down-9LXDI-ae.js";import{t as M}from"./arrow-left-DP_Agq8s.js";import{t as N}from"./book-open-iA_93Ljl.js";import{t as P}from"./chevron-down-DdiPwMdT.js";import{t as F}from"./chevron-right-DEPsDenp.js";import{t as I}from"./circle-check-D5yyKhJm.js";import{t as L}from"./circle-question-mark-D46xjCI3.js";import{t as ee}from"./clipboard-list-Bs4_j223.js";import{t as te}from"./code-CmclsCNe.js";import{t as R}from"./copy-CQ3goBJv.js";import{t as ne}from"./ellipsis-gT6YyY33.js";import{t as re}from"./eye-DLIJSKFU.js";import{t as ie}from"./file-text-BoziN-d2.js";import{t as z}from"./file-Cw0ImHEe.js";import{t as ae}from"./folder-C3-t5nGt.js";import{t as oe}from"./image-BeucKfYT.js";import{t as se}from"./lock-BH5-h7_i.js";import{t as B}from"./plus-CDrrXLnD.js";import{n as V,t as ce}from"./store-DJwy3v7H.js";import{t as le}from"./search-CY8gKYX9.js";import{t as ue}from"./trash-2-HtQVZzK7.js";import{t as de}from"./triangle-alert-C3ahEoyg.js";import{t as fe}from"./upload-DUU4coBZ.js";import{t as pe}from"./wand-sparkles-BFPGTmJF.js";import{Ba as me,Da as H,Ha as U,Na as W,Ni as G,O as K,Oa as he,Xa as q,ba as ge,ha as _e,ka as J,pa as ve,va as ye,wa as be,ya as xe}from"./index-CfjxpPE2.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-e26V33Rs.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-DYiTwEU5.js";var Re=H(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ze=H(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Be=H(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ve=H(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),He=H(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${ve()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return G.get(`/${this.key}/`,X())}async get(e){return G.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return G.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),G.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return G.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return G.delete(`/${this.key}/${e}/`,X())}async enable(e){return G.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return G.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await G.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return G.get(`/${this.key}/`,{...X(),params:e})}async get(e){return G.get(`/${this.key}/${e}/`,X())}async categories(){return G.get(`/${this.key}/categories/`,X())}async install(e,t={}){return G.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;xe()&&e.add(`desktop`),ge()&&e.add(`ios`),ye()&&e.add(`android`),be()&&e.add(`web`);let t=_e();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!ge()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:W,ElInput:q,ElButton:U,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:B,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:se,SearchIcon:le,SuccessIcon:I},directives:{loading:J},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Ke},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=K(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Et(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:U,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,SuccessIcon:I,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:J},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1,copied:!1,copiedTimer:void 0}},computed:{kind(){return this.path?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl),this.copiedTimer!==void 0&&window.clearTimeout(this.copiedTimer)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.copied=!1,this.copiedTimer!==void 0&&(window.clearTimeout(this.copiedTimer),this.copiedTimer=void 0),this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Et(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),this.copied=!0,this.copiedTimer!==void 0&&window.clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1,this.copiedTimer=void 0},3e3),T.success(this.$t(`skill.preview.copied`))}catch{T.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`success-icon`),C=l(`copy-icon`),w=l(`el-tooltip`),T=l(`view-icon`),E=l(`el-tab-pane`),D=l(`code-icon`),O=l(`el-tabs`),k=l(`warning-icon`),A=l(`vue-markdown`),j=l(`file-icon`),M=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(w,{visible:t.copied,content:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),placement:`top-start`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),title:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[t.copied?(v(),f(S,{key:0,size:16,"aria-hidden":`true`,focusable:`false`})):(v(),f(C,{key:1,size:16,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`visible`,`content`])]),t.canRender?(v(),f(O,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(E,{name:`rendered`},{label:p(()=>[a(T,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(E,{name:`source`},{label:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(k,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(A,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(j,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[M,t.loading]])}var Ut=K(Ot,[[`render`,Ht],[`__scopeId`,`data-v-b14aa047`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?oe:Wt.has(n)?Be:z}function qt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Kt(e.path):ae},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:V,FileNode:K(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return qt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):o(``,!0)])}var cn=K(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:W,ElButton:U,AddFileIcon:He,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=K(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:W,ElButton:U,ElInput:q,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:q,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:B,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:V,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:K(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:J},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),T.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});T.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await he.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),ae=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)])):o(``,!0)])),[[ae,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=K(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-CKPV9uB7.js";import{n as x,t as S}from"./tabs-BJfJUlPl.js";import{t as C}from"./upload-CFJUfdLE.js";import{t as w}from"./tooltip-BTs-Q0uJ.js";import{t as T}from"./alert-BprQRUmf.js";import{h as E,v as D}from"./models-C8CSg3oI.js";import{t as O}from"./drawer-Bs1qoj1V.js";import{t as k}from"./switch-D6SZIGlL.js";import{t as A}from"./box-CEtvXE-Y.js";import{t as j}from"./clock-CmQXpkK4.js";import{a as M,i as N,n as P,o as F,r as I,s as L,t as R}from"./pagination-DPYQ5nng.js";import{t as ee}from"./info-D7QeBqUn.js";import{t as z}from"./languages-CDR0lEaH.js";import{t as B}from"./trash-2-HtQVZzK7.js";import{t as te}from"./triangle-alert-C3ahEoyg.js";import{t as ne}from"./upload-DUU4coBZ.js";import{t as V}from"./wand-sparkles-BFPGTmJF.js";import{t as re}from"./zap-BZK2V-Rd.js";import{di as ie,fi as ae,ui as oe}from"./constants-CJQJ3wsw.js";import{Fr as se,G as H,Ha as U,J as W,K as G,Mr as K,Nr as ce,O as q,Oa as J,Pr as le,Ri as ue,Ti as Y,V as de,Y as fe,ci as pe,fn as me,jr as X,ma as he,oi as ge,q as _e,wi as Z,xn as ve}from"./index-CfjxpPE2.js";import{t as ye}from"./CopyToClipboard-BxbmYWle.js";import{t as be}from"./ReportButton-CEMOiQV0.js";import{t as Q}from"./ImagePreview-DdnrTeAA.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./Consumption-BY2wLrsD.js";import{t as Ce}from"./VideoPlayer-mBjCuWVq.js";import{t as we}from"./ScenarioPaymentMode-B3JaiTEC.js";import{t as Te}from"./ApiCodeButton-CW2yU_-W.js";import{t as Ee}from"./BotPlaceholder-D1QvYa8H.js";import{t as De}from"./showcaseRecreateMixin-_b7i-mRx.js";var Oe=v({name:`LayoutVeo`,components:{MagicIcon:V,ElDrawer:O,ElButton:U},mixins:[xe]}),ke={class:`main flex flex-row flex-1`},Ae={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},je={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ke,[e(`div`,Ae,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,je,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ne=q(Oe,[[`render`,Me],[`__scopeId`,`data-v-293c9493`]]),Pe=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:le,label:`Veo 3.1 Fast`}]:ce},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=ae}}),Fe={class:`field`},Ie={class:`title font-bold`};function Le(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Fe,[e(`h2`,Ie,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Re=q(Pe,[[`render`,Le],[`__scopeId`,`data-v-90ed8cff`]]),ze=v({name:`ActionSelector`,components:{ElTabs:x,ElTabPane:S},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(oe)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,se(this.$store.state.veo?.config,e))}}}),Be={class:`tab-label`},Ve={class:`text`};function He(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Be,[e(`span`,Ve,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Ue=q(ze,[[`render`,He],[`__scopeId`,`data-v-c72fb85c`]]),We=v({name:`TranslationSelector`,components:{ElSwitch:k,InfoIcon:M},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ge={class:`relative`},Ke={class:`flex justify-between`},qe={class:`flex justify-start items-center`},Je={class:`text-sm font-bold`},Ye={class:`flex justify-end items-center`};function Xe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`span`,Je,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ye,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ze=q(We,[[`render`,Xe]]),Qe=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=ie}}),$e={class:`text-sm font-bold mb-2 block`},et={class:`items`},tt=[`onClick`],nt={class:`name`};function rt(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,$e,i(t.$t(`veo.name.ratio`)),1),e(`div`,et,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,nt,i(r.label),1)],10,tt))),128))])])}var it=q(Qe,[[`render`,rt],[`__scopeId`,`data-v-28c472c4`]]),at=v({name:`StartEndImage`,components:{UploadIcon:ne,ElUpload:C,ElButton:U,InfoIcon:M,ImagePreview:Q},mixins:[fe,W,G,de],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:he()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){D.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){D.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),ot={class:`relative`},st={class:`flex justify-between`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`};function ut(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var dt=q(at,[[`render`,ut],[`__scopeId`,`data-v-a4391199`]]),ft=v({name:`PromptInput`,components:{PromptTextarea:N},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function pt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var mt=v({name:`ConfigPanel`,components:{MagicIcon:V,ElButton:U,Consumption:Se,PromptInput:q(ft,[[`render`,pt]]),ModelSelector:Re,StartEndImage:dt,ActionSelector:Ue,TranslationSelector:Ze,AspectRatioSelector:it,ScenarioPaymentMode:we},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return me(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=Y(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await K.quote(X(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),ht={class:`flex flex-col h-full`},gt={class:`flex-1 overflow-y-auto p-5`},_t={class:`flex flex-col items-center justify-center px-5 pb-5`};function vt(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`scenario-payment-mode`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,ht,[e(`div`,gt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,_t,[a(S,{scenario:`veo`}),t.walletMode?o(``,!0):(g(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var yt=q(mt,[[`render`,vt]]),bt=v({name:`TaskPreview`,components:{DeleteIcon:B,ApplicationIcon:A,ChannelIcon:L,ExpandIcon:F,InfoIcon:ee,LanguageIcon:z,LightningIcon:re,MagicIcon:V,TimeIcon:j,WarningIcon:te,CopyToClipboard:ye,ElAlert:T,VideoPlayer:Ce,ImagePreview:Q,ElTooltip:w,ElButton:U,ApiCodeButton:Te,ReportButton:be},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await J.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),D.success(this.$t(`common.message.deleteTaskSuccess`))}catch{D.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),xt={class:`preview`},St={class:`left`},Ct={class:`main`},wt={class:`bot`},Tt={class:`datetime`},Et=[`aria-label`],Dt={class:`info`},Ot={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},kt={key:1,class:`prompt mt-2`},At={key:0},jt={key:1},Mt={key:0,class:n({content:!0,failed:!0})},Nt={key:0,class:`mb-4`},Pt={key:1,class:n({operations:!0,"mt-2":!0})},Ft={key:1,class:n({content:!0})},It={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:n({content:!0})},Rt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Wt(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`warning-icon`),k=l(`info-icon`),A=l(`copy-to-clipboard`),j=l(`el-alert`),M=l(`application-icon`),N=l(`lightning-icon`),P=l(`expand-icon`),F=l(`language-icon`),I=l(`magic-icon`),L=l(`time-icon`),R=l(`channel-icon`);return g(),s(`div`,xt,[e(`div`,St,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ct,[e(`div`,wt,[a(b,{capability:`veo`,part:`name`}),e(`span`,Tt,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Et)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Dt,[u.referenceImages.length>0?(g(),s(`div`,Ot,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,kt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,At,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,jt,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Mt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Nt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,Pt,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`]),a(D,{service:`veo`,"target-id":u.modelValue?.id,snapshot:{prompt:u.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Ft,[a(j,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,It,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(A,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,Lt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Rt,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,zt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Bt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,$,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,Vt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(A,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,Ht,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Ut,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(A,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Gt=v({name:`RecentPanel`,components:{TaskPreview:q(bt,[[`render`,Wt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:I,BotPlaceholder:Ee,ScrollList:P},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Kt={key:0},qt={key:2,class:`w-full h-full flex items-center justify-center`};function Jt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Kt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,qt,[a(v)])):o(``,!0)],64)}var Yt=v({name:`VeoIndex`,components:{ConfigPanel:yt,Layout:Ne,RecentPanel:q(Gt,[[`render`,Jt]])},mixins:[_e,De(`veo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===E.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`veo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await R({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e=X(this.config);if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){D.warning(this.$t(`veo.message.imageRequired`));return}let t;if(this.walletMode){let n=this.getWalletContext();if(!n){D.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=K.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ve())return;let n=this.credential?.token;if(!n)return;t=K.generate(e,{token:n})}D.info(this.$t(`veo.message.startingTask`)),ue(`veo`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),D.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof ge||(t?.error?.code===`used_up`?D.error(this.$t(`veo.message.usedUp`)):this.walletMode?D.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):D.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return pe(this.$wallet)},async confirmWalletPayment(e){return J.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Zt=q(Yt,[[`render`,Xt]]);export{Zt as default};
@@ -0,0 +1 @@
1
+ import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,Q as s,S as c,T as l,Y as u,at as d,ft as f,j as p,k as m,mt as h,p as g,qt as _,rt as v,tt as y,wt as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{$ as S,$t as C,Bt as w,Ct as T,Dt as E,Et as D,Jt as O,Kt as k,O as A,Ut as j,cn as M,gt as N,i as P,kt as F,n as I,nn as L,on as R,r as z,rt as B,tn as V,zn as ee}from"./index-CfjxpPE2.js";import{r as te}from"./showcase-CgJWoiRX.js";import{t as ne}from"./ShowcaseGrid-CMz7gpO-.js";import{t as re}from"./PublicSectionNav-6hJFJ2tj.js";var ie={class:`section-heading`},H={id:`home-categories-title`},U={class:`category-grid`},W=[`aria-expanded`,`aria-controls`,`onClick`],G=[`src`,`alt`,`onError`],K={class:`category-copy`},q=[`id`,`aria-label`],J=[`src`,`onError`],Y=A(x({__name:`CategoryTiles`,props:{items:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:s}){let u=t,f=b(),x=new Map,S=m(()=>u.items.find(e=>e.id===f.value));function C(e,t){t instanceof HTMLButtonElement?x.set(e,t):x.delete(e)}function w(e){f.value=f.value===e?void 0:e}function T(){if(!f.value)return;let e=x.get(f.value);f.value=void 0,e?.focus()}return s({openId:f,activeCategory:S,toggle:w,closePanel:T}),(s,u)=>{let m=d(`router-link`);return y(),o(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:c(T,[`esc`])},[e(`div`,ie,[e(`div`,null,[e(`span`,null,r(s.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,H,r(s.$t(`intro.home.quick.title`)),1)]),e(`p`,null,r(s.$t(`intro.home.quick.subtitle`)),1)]),e(`div`,U,[(y(!0),o(l,null,v(t.items,t=>(y(),o(`button`,{key:t.id,ref_for:!0,ref:e=>C(t.id,e),type:`button`,class:`category-card`,"aria-expanded":f.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>w(t.id)},[t.imageUrl?(y(),o(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:_({objectPosition:t.focalPoint||`center`}),onError:e=>s.$emit(`category-image-error`,t.id)},null,44,G)):a(``,!0),u[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,K,[e(`strong`,null,r(t.title),1),e(`span`,null,r(t.description),1),e(`b`,null,r(s.$t(f.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,W))),128))]),i(g,{name:`panel`},{default:h(()=>[S.value?(y(),o(`div`,{key:0,id:`home-category-panel-${S.value.id}`,class:`capability-panel`,role:`region`,"aria-label":s.$t(`intro.home.quick.panelLabel`,{category:S.value.title})},[(y(!0),o(l,null,v(S.value.items,t=>(y(),p(m,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:h(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>s.$emit(`icon-error`,t)},null,40,J),e(`span`,null,[e(`strong`,null,r(t.name),1),e(`small`,null,r(t.description),1)]),e(`b`,null,[n(r(s.$t(`intro.home.createNow`))+` `,1),u[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,q)):a(``,!0)]),_:1})],32)}}}),[[`__scopeId`,`data-v-baf08855`]]),ae=[`aria-label`],oe={class:`slides`},se=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],ce={key:1,class:`image-fallback`},le=[`src`],ue={class:`copy`},de={class:`eyebrow`},fe={class:`description`},pe={class:`action`},me=[`aria-label`],he=[`aria-label`],ge={class:`dots`},_e=[`aria-label`,`aria-current`,`onClick`],ve=5600,ye=45,be=A(x({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(i,{expose:c}){let g=i,x=b(0),S=b(!1),C=b(!1),w=b(!1),T=b(!1),E=b(),D,O,k=m(()=>S.value||C.value||w.value||T.value||g.slides.length<2);function A(e){let t=g.slides.length;return t?(e+t)%t:0}function j(e){x.value=A(e)}function M(){j(x.value+1)}function N(){j(x.value-1)}function P(){D!==void 0&&window.clearInterval(D),D=void 0}function F(){P(),k.value||(D=window.setInterval(M,ve))}function I(){w.value=document.hidden}function L(e){T.value=e.matches}function R(e){let t=e.currentTarget,n=e.relatedTarget;C.value=!!(n&&t.contains(n))}function z(e){E.value=e.changedTouches[0]?.clientX}function B(e){if(E.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-E.value;Math.abs(n)>=ye&&(n>0?N():M()),E.value=void 0}return f(k,F),f(()=>g.slides.length,e=>{x.value>=e&&(x.value=0),F()}),s(()=>{w.value=document.hidden,document.addEventListener(`visibilitychange`,I),O=window.matchMedia(`(prefers-reduced-motion: reduce)`),T.value=O.matches,O.addEventListener(`change`,L),F()}),u(()=>{P(),document.removeEventListener(`visibilitychange`,I),O?.removeEventListener(`change`,L)}),c({activeIndex:x,next:M,previous:N,goTo:j,hovered:S,focused:C}),(s,c)=>{let u=d(`router-link`);return y(),o(`section`,{class:`home-carousel`,"aria-label":s.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>S.value=!0,onMouseleave:c[1]||=e=>S.value=!1,onFocusin:c[2]||=e=>C.value=!0,onFocusout:R,onTouchstartPassive:z,onTouchendPassive:B},[e(`div`,oe,[(y(!0),o(l,null,v(i.slides,(i,a)=>(y(),p(u,{key:i.id,to:{name:i.routeName},class:t([`slide`,{active:a===x.value}]),"aria-hidden":a!==x.value,tabindex:a===x.value?0:-1},{default:h(()=>[i.imageUrl?(y(),o(`img`,{key:0,src:i.imageUrl,alt:i.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:_({objectPosition:i.focalPoint||`center`}),onError:e=>s.$emit(`image-error`,i)},null,44,se)):(y(),o(`span`,ce,[e(`img`,{src:i.icon,alt:``},null,8,le)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,ue,[e(`span`,de,r(i.eyebrow),1),e(`strong`,null,r(i.title),1),e(`span`,fe,r(i.description),1),e(`span`,pe,[n(r(s.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])])]),_:2},1032,[`to`,`class`,`aria-hidden`,`tabindex`]))),128))]),i.slides.length>1?(y(),o(l,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":s.$t(`intro.home.carousel.previous`),onClick:N},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,me),e(`button`,{class:`arrow next`,type:`button`,"aria-label":s.$t(`intro.home.carousel.next`),onClick:M},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,he),e(`div`,ge,[(y(!0),o(l,null,v(i.slides,(e,n)=>(y(),o(`button`,{key:e.id,type:`button`,class:t({active:n===x.value}),"aria-label":s.$t(`intro.home.carousel.goto`,{number:n+1,title:e.title}),"aria-current":n===x.value?`true`:void 0,onClick:e=>j(n)},null,10,_e))),128))])],64)):a(``,!0)],40,ae)}}}),[[`__scopeId`,`data-v-0f501b8b`]]),X=(e,t,n,r,i,a=`center`)=>({capability:e,routeName:t,defaultName:n,descriptionKey:r,imageUrl:i,focalPoint:a}),Z=[{...X(`maestro`,j,`Maestro`,`intro.home.banner.production.description`,`https://cdn.acedata.cloud/uploads/dc6b73ba-1918-4ab5-a8f5-c51d6ac018a6`,`center 42%`),id:`maestro`,eyebrowKey:`intro.home.banner.production.eyebrow`,titleKey:`intro.home.banner.production.title`},{...X(`openaiimage`,O,`GPT Image`,`intro.home.banner.image.description`,`https://cdn.acedata.cloud/uploads/230806e5-8c76-4bdb-b0a2-99edafdf3e3c`,`center 48%`),id:`gpt-image`,eyebrowKey:`intro.home.banner.image.eyebrow`,titleKey:`intro.home.banner.image.title`},{...X(`seedance`,V,`Seedance`,`intro.home.banner.video.description`,`https://cdn.acedata.cloud/uploads/92827ea5-acde-485a-9c0d-8f23d9503a24`,`center 35%`),id:`seedance`,eyebrowKey:`intro.home.banner.video.eyebrow`,titleKey:`intro.home.banner.video.title`}],Q=[{id:`chat`,titleKey:`intro.home.quick.chat.title`,descriptionKey:`intro.home.quick.chat.description`,imageUrl:`https://cdn.acedata.cloud/uploads/8eee5453-4ac1-411f-8ae5-4308dee9340f`,focalPoint:`center 44%`,candidates:[X(`chatgpt`,S,`ChatGPT`,`intro.model.chatgpt`,``),X(`claude`,B,`Claude`,`intro.model.claude`,``),X(`gemini`,D,`Gemini`,`intro.model.gemini`,``),X(`grok`,F,`Grok`,`intro.model.grok`,``),X(`deepseek`,N,`DeepSeek`,`intro.model.deepseek`,``)]},{id:`image`,titleKey:`intro.home.quick.image.title`,descriptionKey:`intro.home.quick.image.description`,imageUrl:`https://cdn.acedata.cloud/uploads/e9f7075c-33b1-4528-94c5-4b6ed1918db4`,focalPoint:`center 48%`,candidates:[X(`nanobanana`,k,`Nano Banana`,`intro.model.nanobanana`,``),X(`openaiimage`,O,`GPT Image`,`intro.model.gptimage`,``),X(`seedream`,L,`Seedream`,`intro.model.seedream`,``)]},{id:`video`,titleKey:`intro.home.quick.video.title`,descriptionKey:`intro.home.quick.video.description`,imageUrl:`https://cdn.acedata.cloud/uploads/136c26cf-4223-4109-b34e-cf0dded44ce5`,focalPoint:`center 48%`,candidates:[X(`seedance`,V,`Seedance`,`intro.model.seedance`,``),X(`kling`,w,`Kling`,`intro.model.kling`,``),X(`veo`,M,`Veo`,`intro.model.veo`,``),X(`grokvideo`,E,`Grok Imagine Video`,`intro.model.grokvideo`,``)]},{id:`music`,titleKey:`intro.home.quick.music.title`,descriptionKey:`intro.home.quick.music.description`,imageUrl:`https://cdn.acedata.cloud/uploads/b36a3c50-b987-48de-b5bb-22ad4bedf78a`,focalPoint:`center 45%`,candidates:[X(`suno`,R,`Suno`,`intro.model.suno`,``),X(`producer`,C,`Producer`,`intro.model.producer`,``),X(`fish`,T,`Fish Audio`,`intro.model.fish`,``)]}],$=new Map(Q.flatMap(e=>e.candidates.map(e=>[e.capability,e])));new Map([...$].map(([e,t])=>[e,t.routeName])),[...Z.map(e=>e.capability),...Q.flatMap(e=>e.candidates.map(e=>e.capability))];var xe=x({name:`StudioHome`,components:{CategoryTiles:Y,PublicSectionNav:re,ShowcaseGrid:ne,HomeCarousel:be},data(){return{failedIcons:{},failedImages:{},failedCategoryImages:{},rawShowcases:[],showcaseLoaded:!1}},computed:{site(){return this.$store.state.site},siteLoaded(){return!!this.site?.id},enabledKeys(){if(!this.siteLoaded)return new Set;let e=this.site?.features??{};return new Set(P.filter(t=>e[t]?.enabled))},banners(){return Z.filter(e=>this.enabledKeys.has(e.capability)).map(e=>({...this.resolve(e),id:e.id,eyebrow:this.$t(e.eyebrowKey),title:this.$t(e.titleKey)}))},categories(){let e=[];for(let t of Q){let n=t.candidates.filter(e=>this.enabledKeys.has(e.capability)).map(e=>this.resolve(e));n.length&&e.push({id:t.id,title:this.$t(t.titleKey),description:this.$t(t.descriptionKey),imageUrl:this.failedCategoryImages[t.id]?``:t.imageUrl,focalPoint:t.focalPoint,items:n})}return e},showcases(){let e=this.site;return e?this.rawShowcases.map(t=>te(t,e,String(this.$i18n.locale||`en`))).filter(e=>!!e).map(e=>({...e,icon:this.failedIcons[e.capability]?e.defaultIcon:e.icon})):[]}},watch:{siteLoaded:{immediate:!0,handler(e){e&&!this.showcaseLoaded&&this.loadShowcases()}}},methods:{resolve(e){let t=z[e.capability],n=I(this.site,e.capability,e.defaultName,t);return{capability:e.capability,routeName:e.routeName,name:n.displayName,description:e.descriptionKey?this.$t(e.descriptionKey):``,icon:this.failedIcons[e.capability]?t:n.iconUrl,defaultIcon:t,imageUrl:this.failedImages[e.capability]?``:e.imageUrl,focalPoint:e.focalPoint}},async loadShowcases(){this.showcaseLoaded=!0;try{let e=await ee.list();this.rawShowcases=Array.isArray(e.data)?e.data:[]}catch{this.rawShowcases=[]}},onIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onShowcaseIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onImageError(e){this.failedImages[e.capability]=!0},onCategoryImageError(e){this.failedCategoryImages[e]=!0}}}),Se={key:0,class:`studio-home`},Ce={class:`dashboard`},we=[`aria-label`];function Te(t,n,r,s,c,l){let u=d(`public-section-nav`),f=d(`home-carousel`),m=d(`category-tiles`),h=d(`showcase-grid`);return t.siteLoaded?(y(),o(`main`,Se,[e(`div`,Ce,[i(u),t.banners.length?(y(),p(f,{key:0,slides:t.banners,onImageError:t.onImageError},null,8,[`slides`,`onImageError`])):a(``,!0),t.categories.length?(y(),p(m,{key:1,items:t.categories,onCategoryImageError:t.onCategoryImageError,onIconError:t.onIconError},null,8,[`items`,`onCategoryImageError`,`onIconError`])):a(``,!0),t.showcases.length?(y(),p(h,{key:2,items:t.showcases,eyebrow:t.$t(`intro.home.showcase.eyebrow`),title:t.$t(`intro.home.showcase.title`),subtitle:t.$t(`intro.home.showcase.subtitle`),"aria-label":t.$t(`intro.home.showcase.title`),onIconError:t.onShowcaseIconError},null,8,[`items`,`eyebrow`,`title`,`subtitle`,`aria-label`,`onIconError`])):a(``,!0)])])):(y(),o(`div`,{key:1,class:`home-loading`,role:`status`,"aria-label":t.$t(`common.status.loading`)},[...n[0]||=[e(`span`,null,null,-1)]],8,we))}var Ee=A(xe,[[`render`,Te],[`__scopeId`,`data-v-a3a52d29`]]);export{Ee as default};
@@ -1 +1 @@
1
- .menu[data-v-6461643a]{display:none}@media (width<=767px){.main .config[data-v-6461643a]{display:none}.main .result[data-v-6461643a]{width:100%}.main .preview[data-v-6461643a]{display:none}.main .menu[data-v-6461643a]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.model-option[data-v-42496b9a]{justify-content:space-between;align-items:center;width:100%;padding:2px 0;display:flex}.model-option-name[data-v-42496b9a]{font-weight:500}.model-option-desc[data-v-42496b9a]{color:var(--el-text-color-placeholder);white-space:nowrap;margin-left:8px;font-size:12px}.upload-wrapper.inline-upload[data-v-3938abc2] .el-upload{display:inline-flex}.field[data-v-548b9253] .el-textarea__inner{font-family:monospace;line-height:1.6}.field .box[data-v-96005bd8]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-96005bd8]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-96005bd8]{width:150px;margin-left:30px}.field .box[data-v-9a4b0b16]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-9a4b0b16]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-9a4b0b16]{width:150px;margin-left:30px}.advanced-collapse[data-v-f9296888]{border:none}.advanced-collapse[data-v-f9296888] .el-collapse-item__header{background:0 0;border:none;height:32px;font-size:14px;font-weight:700;line-height:32px}.advanced-collapse[data-v-f9296888] .el-collapse-item__wrap{background:0 0;border:none}.advanced-collapse[data-v-f9296888] .el-collapse-item__content{padding-bottom:0}.producer-mode-tabs[data-v-983479b0] .el-tabs__item{white-space:nowrap;padding:0 16px;font-size:14px;font-weight:500}.task{cursor:pointer;flex-direction:column;display:flex}.task .task-failure{border-left:2px solid var(--el-color-danger)}.task .audio{border-radius:10px;margin-bottom:10px;display:flex}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{flex-shrink:0;width:60px;height:60px;margin-right:16px;position:relative}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{border-radius:4px;width:100%;height:100%}.task .audio .left .duration{color:#fff;background-color:#000000b3;border-radius:2px;padding:2px 4px;font-size:10px;position:absolute;bottom:0;right:0}.task .audio .left .overlay{text-align:center;cursor:pointer;background-color:#00000080;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;line-height:70px;transition:opacity .3s;display:none;position:absolute;top:0;left:0}.task .audio .left .overlay .el-icon{color:#fff;font-size:20px}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title{white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-top:5px;font-size:14px;font-weight:700}.task .audio .info .style{color:var(--el-text-color-secondary);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:0;font-size:12px}.task .audio .right{justify-content:flex-end;align-items:center;width:120px;padding-right:1px;display:flex}.task .audio .right .icon{z-index:100;cursor:pointer;margin-right:15px;display:block}.task .audio .right .el-button{margin-right:15px}.status[data-v-32db6f64]{margin-bottom:10px}.panel.detail[data-v-32db6f64]{flex:1;width:100%;overflow-y:scroll}.panel.recent[data-v-32db6f64]{justify-content:initial;width:100%;height:100%;margin-bottom:10px;position:relative}.panel.operation[data-v-32db6f64]{position:relative}
1
+ .menu[data-v-6461643a]{display:none}@media (width<=767px){.main .config[data-v-6461643a]{display:none}.main .result[data-v-6461643a]{width:100%}.main .preview[data-v-6461643a]{display:none}.main .menu[data-v-6461643a]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.model-option[data-v-42496b9a]{justify-content:space-between;align-items:center;width:100%;padding:2px 0;display:flex}.model-option-name[data-v-42496b9a]{font-weight:500}.model-option-desc[data-v-42496b9a]{color:var(--el-text-color-placeholder);white-space:nowrap;margin-left:8px;font-size:12px}.upload-wrapper.inline-upload[data-v-3938abc2] .el-upload{display:inline-flex}.field[data-v-548b9253] .el-textarea__inner{font-family:monospace;line-height:1.6}.field .box[data-v-96005bd8]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-96005bd8]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-96005bd8]{width:150px;margin-left:30px}.field .box[data-v-9a4b0b16]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-9a4b0b16]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-9a4b0b16]{width:150px;margin-left:30px}.advanced-collapse[data-v-f9296888]{border:none}.advanced-collapse[data-v-f9296888] .el-collapse-item__header{background:0 0;border:none;height:32px;font-size:14px;font-weight:700;line-height:32px}.advanced-collapse[data-v-f9296888] .el-collapse-item__wrap{background:0 0;border:none}.advanced-collapse[data-v-f9296888] .el-collapse-item__content{padding-bottom:0}.producer-mode-tabs[data-v-983479b0] .el-tabs__item{white-space:nowrap;padding:0 16px;font-size:14px;font-weight:500}.task{cursor:pointer;flex-direction:column;display:flex}.task .task-failure{border-left:2px solid var(--el-color-danger)}.task .audio{border-radius:10px;margin-bottom:10px;display:flex}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio .left{flex-shrink:0;width:60px;height:60px;margin-right:16px;position:relative}.task .audio .left:hover .overlay{display:block}.task .audio .left .cover{border-radius:4px;width:100%;height:100%}.task .audio .left .duration{color:#fff;background-color:#000000b3;border-radius:2px;padding:2px 4px;font-size:10px;position:absolute;bottom:0;right:0}.task .audio .left .overlay{text-align:center;cursor:pointer;background-color:#00000080;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;line-height:70px;transition:opacity .3s;display:none;position:absolute;top:0;left:0}.task .audio .left .overlay .el-icon{color:#fff;font-size:20px}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title{white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-top:5px;font-size:14px;font-weight:700}.task .audio .info .style{color:var(--el-text-color-secondary);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:0;font-size:12px}.task .audio .right{justify-content:flex-end;align-items:center;width:120px;padding-right:1px;display:flex}.task .audio .right .icon{z-index:100;cursor:pointer;margin-right:15px;display:block}.task .audio .right .el-button{margin-right:15px}.status[data-v-47940599]{margin-bottom:10px}.panel.detail[data-v-47940599]{flex:1;width:100%;overflow-y:scroll}.panel.recent[data-v-47940599]{justify-content:initial;width:100%;height:100%;margin-bottom:10px;position:relative}.panel.operation[data-v-47940599]{position:relative}
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-IURLV_gW.js";import{t as b}from"./upload-MkciQIS4.js";import{t as x}from"./tooltip-DIpaS5v3.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-CjQB9FO6.js";import{t as T}from"./drawer-Dn66Qkds.js";import{t as E}from"./input-number-oB9hNQUN.js";import{t as D}from"./slider-CgY1FA-0.js";import{t as O}from"./clock-Bc5wRPLL.js";import{a as k,i as A,n as j,r as ee,s as M,t as N}from"./pagination-BCtqYoJW.js";import{t as P}from"./info-C2Tt-AAG.js";import{t as F}from"./trash-2-Dv6hX8nV.js";import{t as te}from"./triangle-alert-jfsdAUHA.js";import{t as ne}from"./upload-CL5G713J.js";import{t as I}from"./wand-sparkles-XVL_JYqb.js";import{gr as re,hr as ie,mr as L}from"./constants-DbpBW9eP.js";import{Ai as R,G as z,J as B,K as V,O as H,Pa as U,Qr as W,V as G,Y as K,_i as q,an as J,ba as Y,ei as ae,gi as X,lr as Z,mn as oe,oa as se,q as ce,ur as Q}from"./index-HjykeWk5.js";import{t as le}from"./CopyToClipboard-CTUohPCI.js";import{t as ue}from"./ReportButton-EQldoRgS.js";import{t as de}from"./ImagePreview-ZO5B8ja6.js";import{n as fe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as pe}from"./Consumption-DdAzscqb.js";import{t as me}from"./ScenarioPaymentMode-CZRe9D9F.js";import{t as he}from"./ApiCodeButton-Dcl8qhwL.js";import{t as ge}from"./BotPlaceholder-BKvEW5Nl.js";import{t as _e}from"./ImageWrapper-BWOkdezw.js";var ve=_({name:`LayoutFlux`,components:{MagicIcon:I,ElDrawer:T,ElButton:U},mixins:[fe]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ce=H(ve,[[`render`,Se],[`__scopeId`,`data-v-72e82d52`]]),we=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=re}}),Te={class:`field`},Ee={class:`title font-bold`};function De(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Te,[e(`h2`,Ee,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Oe=H(we,[[`render`,De],[`__scopeId`,`data-v-e9b17945`]]),ke=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:k,ElInputNumber:E},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`},Ne={class:`flex justify-end items-center`},Pe={class:`w-full`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Ae,[e(`div`,je,[e(`span`,Me,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Ne,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Pe,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Ie=H(ke,[[`render`,Fe]]),Le=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=ie}}),Re={class:`field`},ze={class:`title font-bold`};function Be(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Re,[e(`h2`,ze,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=H(Le,[[`render`,Be],[`__scopeId`,`data-v-81fd05e5`]]),He=_({name:`ImageUrlInput`,components:{UploadIcon:ne,ElUpload:b,ElButton:U,InfoIcon:k,ImagePreview:de},mixins:[K,B,V,G],emits:[`change`],data(){return{fileList:[],uploadUrl:se()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`span`,Ke,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var Je=H(He,[[`render`,qe],[`__scopeId`,`data-v-9830e0c3`]]),Ye=_({name:`PromptInput`,components:{PromptTextarea:A},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=H(Ye,[[`render`,Xe]]),Qe=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:L}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),$e={class:`field`},et={class:`title font-bold`};function tt(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,$e,[e(`h2`,et,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var nt=H(Qe,[[`render`,tt],[`__scopeId`,`data-v-8c58dc91`]]),rt=350,it=_({name:`PresetPanel`,components:{MagicIcon:I,ElButton:U,PromptInput:Ze,ModelSelector:Oe,CountSelector:Ie,Consumption:pe,ActionSelector:Ve,ImageUrlInput:Je,SizeSelector:nt,ScenarioPaymentMode:me},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.flux?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return X()&&q(`flux`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,rt)},async refreshQuote(){let e=q(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Q.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),at={class:`flex flex-col h-full`},ot={class:`flex-1 overflow-y-auto p-5`},st={class:`flex flex-col items-center justify-center px-5 pb-5`};function ct(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`scenario-payment-mode`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,at,[e(`div`,ot,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,st,[a(S,{scenario:`flux`}),t.walletMode?o(``,!0):(h(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var lt=H(it,[[`render`,ct]]),ut=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:M,InfoIcon:P,MagicIcon:I,TimeIcon:O,WarningIcon:te,CopyToClipboard:le,ElAlert:S,ImageWrapper:_e,ApiCodeButton:he,ReportButton:ue},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),dt={class:`preview`},ft={class:`left`},pt={class:`main`},mt={class:`bot`},ht={class:`datetime`},gt=[`aria-label`],_t={class:`info`},vt={key:0,class:`prompt mt-2`},yt={key:0},bt={key:0,class:n({content:!0,failed:!0})},xt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},St={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Et={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:2,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Mt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,dt,[e(`div`,ft,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,pt,[e(`div`,mt,[a(y,{capability:`flux`,part:`name`}),e(`span`,ht,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,gt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,_t,[n.modelValue?.request?.prompt?(h(),s(`p`,vt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,yt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,bt,[e(`div`,xt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,St,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,wt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Tt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,Et,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Dt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,At,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,jt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Nt=_({name:`RecentPanel`,components:{TaskPreview:H(ut,[[`render`,Mt],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:ge,NoTasks:ee,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Ft={key:2,class:`w-full h-full flex items-center justify-center`};function It(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Pt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ft,[a(v)])):o(``,!0)],64)}var Lt=_({name:`FluxIndex`,components:{ConfigPanel:lt,Layout:Ce,RecentPanel:H(Nt,[[`render`,It]])},mixins:[ce],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks},walletMode(){return X()&&q(`flux`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`flux/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e=Z(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){w.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Q.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!oe())return;let n=this.credential?.token;if(!n)return;t=Q.generate(e,{token:n})}w.info(this.$t(`flux.message.startingTask`)),R(`flux`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{if(e instanceof W)return;let t=e?.response?.data;t?.error?.code===`used_up`?w.error(this.$t(`flux.message.usedUp`)):this.walletMode?w.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return Y.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var zt=H(Lt,[[`render`,Rt]]);export{zt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-CKPV9uB7.js";import{t as b}from"./upload-CFJUfdLE.js";import{t as x}from"./tooltip-BTs-Q0uJ.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-C8CSg3oI.js";import{t as T}from"./drawer-Bs1qoj1V.js";import{t as E}from"./input-number-IRmZRGx1.js";import{t as D}from"./slider-B4AqP-SY.js";import{t as O}from"./clock-CmQXpkK4.js";import{a as k,i as A,n as j,r as ee,s as M,t as N}from"./pagination-DPYQ5nng.js";import{t as P}from"./info-D7QeBqUn.js";import{t as F}from"./trash-2-HtQVZzK7.js";import{t as I}from"./triangle-alert-C3ahEoyg.js";import{t as te}from"./upload-DUU4coBZ.js";import{t as L}from"./wand-sparkles-BFPGTmJF.js";import{gr as ne,hr as re,mr as R}from"./constants-CJQJ3wsw.js";import{G as z,Ha as B,J as V,K as H,O as U,Oa as W,Ri as G,Ti as K,V as q,Y as J,_r as Y,ci as X,fn as ie,ma as ae,oi as oe,q as se,vr as Z,wi as Q,xn as ce}from"./index-CfjxpPE2.js";import{t as le}from"./CopyToClipboard-BxbmYWle.js";import{t as ue}from"./ReportButton-CEMOiQV0.js";import{t as de}from"./ImagePreview-DdnrTeAA.js";import{n as fe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as pe}from"./Consumption-BY2wLrsD.js";import{t as me}from"./ScenarioPaymentMode-B3JaiTEC.js";import{t as he}from"./ApiCodeButton-CW2yU_-W.js";import{t as ge}from"./BotPlaceholder-D1QvYa8H.js";import{t as _e}from"./ImageWrapper-DfLNhtQg.js";var ve=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:B},mixins:[fe]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ce=U(ve,[[`render`,Se],[`__scopeId`,`data-v-72e82d52`]]),we=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=ne}}),Te={class:`field`},Ee={class:`title font-bold`};function De(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Te,[e(`h2`,Ee,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Oe=U(we,[[`render`,De],[`__scopeId`,`data-v-e9b17945`]]),ke=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:k,ElInputNumber:E},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`},Ne={class:`flex justify-end items-center`},Pe={class:`w-full`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Ae,[e(`div`,je,[e(`span`,Me,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Ne,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Pe,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Ie=U(ke,[[`render`,Fe]]),Le=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=re}}),Re={class:`field`},ze={class:`title font-bold`};function Be(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Re,[e(`h2`,ze,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=U(Le,[[`render`,Be],[`__scopeId`,`data-v-81fd05e5`]]),He=_({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:b,ElButton:B,InfoIcon:k,ImagePreview:de},mixins:[J,V,H,q],emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`span`,Ke,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var Je=U(He,[[`render`,qe],[`__scopeId`,`data-v-9830e0c3`]]),Ye=_({name:`PromptInput`,components:{PromptTextarea:A},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=U(Ye,[[`render`,Xe]]),Qe=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:R}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),$e={class:`field`},et={class:`title font-bold`};function tt(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,$e,[e(`h2`,et,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var nt=U(Qe,[[`render`,tt],[`__scopeId`,`data-v-8c58dc91`]]),rt=350,it=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:B,PromptInput:Ze,ModelSelector:Oe,CountSelector:Ie,Consumption:pe,ActionSelector:Ve,ImageUrlInput:Je,SizeSelector:nt,ScenarioPaymentMode:me},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.flux?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return Q()&&K(`flux`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,rt)},async refreshQuote(){let e=K(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Z.quote(Y(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),at={class:`flex flex-col h-full`},ot={class:`flex-1 overflow-y-auto p-5`},st={class:`flex flex-col items-center justify-center px-5 pb-5`};function ct(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`scenario-payment-mode`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,at,[e(`div`,ot,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,st,[a(S,{scenario:`flux`}),t.walletMode?o(``,!0):(h(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var lt=U(it,[[`render`,ct]]),ut=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:M,InfoIcon:P,MagicIcon:L,TimeIcon:O,WarningIcon:I,CopyToClipboard:le,ElAlert:S,ImageWrapper:_e,ApiCodeButton:he,ReportButton:ue},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await W.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),dt={class:`preview`},ft={class:`left`},pt={class:`main`},mt={class:`bot`},ht={class:`datetime`},gt=[`aria-label`],_t={class:`info`},vt={key:0,class:`prompt mt-2`},yt={key:0},bt={key:0,class:n({content:!0,failed:!0})},xt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},St={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Et={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:2,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Mt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,dt,[e(`div`,ft,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,pt,[e(`div`,mt,[a(y,{capability:`flux`,part:`name`}),e(`span`,ht,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,gt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,_t,[n.modelValue?.request?.prompt?(h(),s(`p`,vt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,yt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,bt,[e(`div`,xt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,St,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,wt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Tt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,Et,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Dt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,At,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,jt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Nt=_({name:`RecentPanel`,components:{TaskPreview:U(ut,[[`render`,Mt],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:ge,NoTasks:ee,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pt={key:0},Ft={key:2,class:`w-full h-full flex items-center justify-center`};function It(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Pt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ft,[a(v)])):o(``,!0)],64)}var Lt=_({name:`FluxIndex`,components:{ConfigPanel:lt,Layout:Ce,RecentPanel:U(Nt,[[`render`,It]])},mixins:[se],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks},walletMode(){return Q()&&K(`flux`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`flux/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e=Y(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){w.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Z.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ce())return;let n=this.credential?.token;if(!n)return;t=Z.generate(e,{token:n})}w.info(this.$t(`flux.message.startingTask`)),G(`flux`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{if(e instanceof oe)return;let t=e?.response?.data;t?.error?.code===`used_up`?w.error(this.$t(`flux.message.usedUp`)):this.walletMode?w.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return X(this.$wallet)},async confirmWalletPayment(e){return W.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var zt=U(Lt,[[`render`,Rt]]);export{zt as default};
@@ -1 +1 @@
1
- .menu[data-v-e3f41341]{display:none}@media (width<=1180px){.main .preview[data-v-e3f41341]{display:none}}@media (width<=767px){.main .config[data-v-e3f41341]{display:none}.main .result[data-v-e3f41341]{width:100%}.main .preview[data-v-e3f41341]{display:none}.main .menu[data-v-e3f41341]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.model-option[data-v-16e4d6fc]{justify-content:space-between;align-items:center;width:100%;padding:2px 0;display:flex}.model-option-left[data-v-16e4d6fc]{align-items:center;gap:6px;display:flex}.model-option-name[data-v-16e4d6fc]{font-weight:500}.model-option-desc[data-v-16e4d6fc]{color:var(--el-text-color-placeholder);white-space:nowrap;margin-left:8px;font-size:12px}[data-v-16e4d6fc] .model-option-divider{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:4px;padding-bottom:4px}.title[data-v-a535be8b]{width:30%;margin-bottom:0;font-size:14px}.recorder-display[data-v-a535be8b]{justify-content:center;align-items:center;min-height:48px;display:flex}.recording-dot[data-v-a535be8b]{background:#f56c6c;border-radius:50%;width:10px;height:10px;animation:1s infinite pulse-a535be8b;display:inline-block}@keyframes pulse-a535be8b{0%,to{opacity:1}50%{opacity:.3}}.upload-wrapper,.upload-wrapper .el-upload{width:100%}.upload-wrapper .el-upload-dragger{width:100%;padding:12px}.upload-wrapper .el-upload-list{width:100%;margin:0}.add-audio-tabs .el-tabs__nav-wrap:after{height:1px}.inspo-tags[data-v-302bad6d]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.inspo-tag[data-v-302bad6d]{border:1px solid var(--el-border-color);background:var(--el-bg-color);color:var(--el-text-color-regular);cursor:pointer;white-space:nowrap;border-radius:14px;padding:4px 10px;font-size:12px;transition:all .2s}.inspo-tag[data-v-302bad6d]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.inspo-tag-refresh[data-v-302bad6d]{color:var(--el-text-color-placeholder);border-style:dashed;padding:4px 8px}.inspo-tag-refresh[data-v-302bad6d]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field[data-v-c4ab3c4f] .el-textarea__inner{font-family:monospace;font-size:13px;line-height:1.6}.enhance-bar[data-v-c4ab3c4f]{margin-top:6px}.enhance-bar .enhance-input[data-v-c4ab3c4f] .el-input-group__append{padding:0 12px}.lyrics-expanded[data-v-c4ab3c4f] .el-textarea__inner{font-family:monospace;font-size:14px;line-height:1.8}.style-tags[data-v-e7ab25ef]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.style-tag[data-v-e7ab25ef]{border:1px solid var(--el-border-color);background:var(--el-bg-color);color:var(--el-text-color-regular);cursor:pointer;white-space:nowrap;border-radius:14px;padding:3px 10px;font-size:12px;transition:all .2s}.style-tag[data-v-e7ab25ef]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.style-tag-refresh[data-v-e7ab25ef]{color:var(--el-text-color-placeholder);border-style:dashed;padding:3px 8px}.style-tag-refresh[data-v-e7ab25ef]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field .box[data-v-4600553c]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-4600553c]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-4600553c]{width:150px;margin-left:30px}.field .box[data-v-aa3e3b20]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-aa3e3b20]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-aa3e3b20]{width:150px;margin-left:30px}.advanced-collapse[data-v-bb5cce54]{border:none}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__header{background:0 0;border:none;height:32px;font-size:14px;font-weight:700;line-height:32px}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__wrap{background:0 0;border:none}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__content{padding-bottom:0}.speed-group[data-v-ba834628]{flex-wrap:wrap;display:flex}.voice-tabs[data-v-29070b80]{margin-bottom:8px}.voice-tabs[data-v-29070b80] .el-tabs__header{margin:0 0 8px}.voice-tabs[data-v-29070b80] .el-tabs__nav-wrap:after{height:1px}.voice-list[data-v-29070b80]{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.voice-item[data-v-29070b80]{cursor:pointer;border:1px solid var(--el-border-color-lighter);border-radius:6px;align-items:center;padding:8px 10px;transition:all .2s;display:flex}.voice-item[data-v-29070b80]:hover{border-color:var(--el-color-primary-light-5);background:var(--el-fill-color-light)}.voice-item.active[data-v-29070b80]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.voice-name[data-v-29070b80]{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.voice-desc[data-v-29070b80]{color:var(--el-text-color-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.voice-actions[data-v-29070b80]{flex-shrink:0;align-items:center;gap:2px;margin-left:8px;display:flex}.voice-fav-active[data-v-29070b80] svg,.voice-fav-active[data-v-29070b80]{color:#f5a623}.suno-mode-tabs[data-v-cc72d049] .el-tabs__item{white-space:nowrap;padding:0 16px}.panel[data-v-cc72d049]{flex-direction:column;height:100%;padding:20px;display:flex}.panel .config[data-v-cc72d049]{flex:1;width:100%;height:calc(100% - 50px);position:relative}.panel .actions[data-v-cc72d049]{justify-content:center;align-items:center;height:50px;display:flex}.panel .actions .btn[data-v-cc72d049]{width:100%}.icon-button{color:inherit;background:0 0;border:0;padding:0;display:inline-flex}.task{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;margin-bottom:8px;padding:4px;transition:border-color .2s;display:flex}.task .task-failure{border-left:2px solid var(--el-color-danger)}.task:hover{border-color:var(--el-border-color-lighter)}.task .audio{border-radius:10px;margin-bottom:2px;padding:6px;transition:background-color .2s;display:flex}.task .audio:last-child{margin-bottom:0}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio.active{background-color:var(--el-color-primary-light-9)}.task .audio .left{flex-shrink:0;width:60px;height:60px;margin-right:16px;position:relative}.task .audio .left .cover{border-radius:6px;width:100%;height:100%}.task .audio .left .duration{color:#fff;background-color:#000000b3;border-radius:2px;padding:2px 4px;font-size:10px;position:absolute;bottom:0;right:0}.task .audio .left .variation-badge{color:#fff;text-align:center;background-color:#0009;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:3px;left:3px}.task .audio .left .play-btn{cursor:pointer;opacity:.92;background-color:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background-color .2s,opacity .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.task .audio .left .play-btn .el-icon{color:#fff;font-size:16px}.task .audio .left:hover .play-btn{background-color:var(--el-color-primary);opacity:1}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title-row{align-items:center;gap:6px;display:flex}.task .audio .info .title{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-top:5px;font-size:14px;font-weight:700;overflow:hidden}.task .audio .info .model-chip{height:16px;color:var(--el-color-primary);background:var(--el-color-primary-light-9);border-radius:8px;flex-shrink:0;margin-top:5px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px}.task .audio .info .edit-icon{color:var(--el-text-color-placeholder);cursor:pointer;opacity:0;flex-shrink:0;margin-top:4px;font-size:10px;transition:opacity .2s}.task .audio .info .title-edit{margin-top:4px;margin-bottom:2px}.task .audio .info .style{color:var(--el-text-color-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;margin-bottom:0;font-size:12px;overflow:hidden}.task .audio .info .progress-row{align-items:center;gap:6px;margin-top:2px;display:flex}.task .audio .info .progress-row .progress-bar{flex:1;max-width:100px}.task .audio .info .progress-row .progress-text{color:var(--el-text-color-placeholder);white-space:nowrap;font-size:10px}.task .audio:hover .edit-icon{opacity:1}.task .audio .mashup-check{flex-shrink:0;align-items:center;padding:0 4px 0 8px;display:flex}.task .audio.mashup-selected{background-color:var(--el-color-primary-light-9);border-radius:8px}.task .audio .right{justify-content:flex-end;align-items:center;width:140px;padding-right:1px;display:flex}.task .audio .right .icon{z-index:100;cursor:pointer;color:var(--el-text-color-secondary);margin-right:15px;transition:color .2s;display:block}.task .audio .right .icon:hover{color:var(--el-color-primary)}.task .audio .right .el-button{margin-right:15px}.task .audio.generating .left .cover{animation:1.4s ease-in-out infinite suno-pulse}@keyframes suno-pulse{0%,to{opacity:1}50%{opacity:.55}}.suno-action-menu .menu-icon{width:14px;color:var(--el-text-color-secondary);margin-right:8px}.suno-action-menu .menu-divider{background:var(--el-border-color-lighter);height:1px;margin:4px 12px}.suno-action-menu .delete-item,.suno-action-menu .delete-item .delete-icon{color:var(--el-color-danger)}.task-toolbar[data-v-6437616b]{border-bottom:1px solid var(--el-border-color-lighter);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.task-toolbar .task-search[data-v-6437616b]{flex:1;max-width:280px}.task-toolbar .task-search[data-v-6437616b] .el-input__wrapper{background-color:var(--el-fill-color-light);box-shadow:none;border-radius:999px}.task-toolbar .task-search[data-v-6437616b] .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.task-toolbar .sort-btn[data-v-6437616b]{white-space:nowrap;flex-shrink:0;margin-left:auto}.task-toolbar .filter-btn[data-v-6437616b]{white-space:nowrap;flex-shrink:0;position:relative}.task-toolbar .filter-btn.has-active-filter[data-v-6437616b]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.task-toolbar .filter-btn .filter-badge[data-v-6437616b]{background:var(--el-color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:10px;line-height:1;display:inline-flex}.filter-popover[data-v-6437616b]{flex-direction:column;gap:12px;display:flex}.filter-popover .filter-row[data-v-6437616b]{flex-direction:column;gap:6px;display:flex}.filter-popover .filter-label[data-v-6437616b]{color:var(--el-text-color-secondary);font-size:12px}.filter-popover .filter-actions[data-v-6437616b]{border-top:1px solid var(--el-border-color-lighter);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.status[data-v-4861df10]{margin-bottom:10px}.panel.detail[data-v-4861df10]{flex:1;width:100%;overflow-y:scroll}.panel.recent[data-v-4861df10]{justify-content:initial;width:100%;height:100%;margin-bottom:10px;position:relative}.panel.operation[data-v-4861df10]{position:relative}
1
+ .menu[data-v-e3f41341]{display:none}@media (width<=1180px){.main .preview[data-v-e3f41341]{display:none}}@media (width<=767px){.main .config[data-v-e3f41341]{display:none}.main .result[data-v-e3f41341]{width:100%}.main .preview[data-v-e3f41341]{display:none}.main .menu[data-v-e3f41341]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.model-option[data-v-16e4d6fc]{justify-content:space-between;align-items:center;width:100%;padding:2px 0;display:flex}.model-option-left[data-v-16e4d6fc]{align-items:center;gap:6px;display:flex}.model-option-name[data-v-16e4d6fc]{font-weight:500}.model-option-desc[data-v-16e4d6fc]{color:var(--el-text-color-placeholder);white-space:nowrap;margin-left:8px;font-size:12px}[data-v-16e4d6fc] .model-option-divider{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:4px;padding-bottom:4px}.title[data-v-a535be8b]{width:30%;margin-bottom:0;font-size:14px}.recorder-display[data-v-a535be8b]{justify-content:center;align-items:center;min-height:48px;display:flex}.recording-dot[data-v-a535be8b]{background:#f56c6c;border-radius:50%;width:10px;height:10px;animation:1s infinite pulse-a535be8b;display:inline-block}@keyframes pulse-a535be8b{0%,to{opacity:1}50%{opacity:.3}}.upload-wrapper,.upload-wrapper .el-upload{width:100%}.upload-wrapper .el-upload-dragger{width:100%;padding:12px}.upload-wrapper .el-upload-list{width:100%;margin:0}.add-audio-tabs .el-tabs__nav-wrap:after{height:1px}.inspo-tags[data-v-302bad6d]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.inspo-tag[data-v-302bad6d]{border:1px solid var(--el-border-color);background:var(--el-bg-color);color:var(--el-text-color-regular);cursor:pointer;white-space:nowrap;border-radius:14px;padding:4px 10px;font-size:12px;transition:all .2s}.inspo-tag[data-v-302bad6d]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.inspo-tag-refresh[data-v-302bad6d]{color:var(--el-text-color-placeholder);border-style:dashed;padding:4px 8px}.inspo-tag-refresh[data-v-302bad6d]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field[data-v-c4ab3c4f] .el-textarea__inner{font-family:monospace;font-size:13px;line-height:1.6}.enhance-bar[data-v-c4ab3c4f]{margin-top:6px}.enhance-bar .enhance-input[data-v-c4ab3c4f] .el-input-group__append{padding:0 12px}.lyrics-expanded[data-v-c4ab3c4f] .el-textarea__inner{font-family:monospace;font-size:14px;line-height:1.8}.style-tags[data-v-e7ab25ef]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.style-tag[data-v-e7ab25ef]{border:1px solid var(--el-border-color);background:var(--el-bg-color);color:var(--el-text-color-regular);cursor:pointer;white-space:nowrap;border-radius:14px;padding:3px 10px;font-size:12px;transition:all .2s}.style-tag[data-v-e7ab25ef]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.style-tag-refresh[data-v-e7ab25ef]{color:var(--el-text-color-placeholder);border-style:dashed;padding:3px 8px}.style-tag-refresh[data-v-e7ab25ef]:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.field .box[data-v-4600553c]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-4600553c]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-4600553c]{width:150px;margin-left:30px}.field .box[data-v-aa3e3b20]{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:relative}.field .box .title[data-v-aa3e3b20]{margin-bottom:10px;font-size:14px}.field .box .input-wrapper[data-v-aa3e3b20]{width:150px;margin-left:30px}.advanced-collapse[data-v-bb5cce54]{border:none}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__header{background:0 0;border:none;height:32px;font-size:14px;font-weight:700;line-height:32px}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__wrap{background:0 0;border:none}.advanced-collapse[data-v-bb5cce54] .el-collapse-item__content{padding-bottom:0}.speed-group[data-v-ba834628]{flex-wrap:wrap;display:flex}.voice-tabs[data-v-29070b80]{margin-bottom:8px}.voice-tabs[data-v-29070b80] .el-tabs__header{margin:0 0 8px}.voice-tabs[data-v-29070b80] .el-tabs__nav-wrap:after{height:1px}.voice-list[data-v-29070b80]{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.voice-item[data-v-29070b80]{cursor:pointer;border:1px solid var(--el-border-color-lighter);border-radius:6px;align-items:center;padding:8px 10px;transition:all .2s;display:flex}.voice-item[data-v-29070b80]:hover{border-color:var(--el-color-primary-light-5);background:var(--el-fill-color-light)}.voice-item.active[data-v-29070b80]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.voice-name[data-v-29070b80]{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.voice-desc[data-v-29070b80]{color:var(--el-text-color-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.voice-actions[data-v-29070b80]{flex-shrink:0;align-items:center;gap:2px;margin-left:8px;display:flex}.voice-fav-active[data-v-29070b80] svg,.voice-fav-active[data-v-29070b80]{color:#f5a623}.suno-mode-tabs[data-v-cc72d049] .el-tabs__item{white-space:nowrap;padding:0 16px}.panel[data-v-cc72d049]{flex-direction:column;height:100%;padding:20px;display:flex}.panel .config[data-v-cc72d049]{flex:1;width:100%;height:calc(100% - 50px);position:relative}.panel .actions[data-v-cc72d049]{justify-content:center;align-items:center;height:50px;display:flex}.panel .actions .btn[data-v-cc72d049]{width:100%}.icon-button{color:inherit;background:0 0;border:0;padding:0;display:inline-flex}.task{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;margin-bottom:8px;padding:4px;transition:border-color .2s;display:flex}.task .task-failure{border-left:2px solid var(--el-color-danger)}.task:hover{border-color:var(--el-border-color-lighter)}.task .audio{border-radius:10px;margin-bottom:2px;padding:6px;transition:background-color .2s;display:flex}.task .audio:last-child{margin-bottom:0}.task .audio:hover{background-color:var(--el-bg-color-page)}.task .audio.active{background-color:var(--el-color-primary-light-9)}.task .audio .left{flex-shrink:0;width:60px;height:60px;margin-right:16px;position:relative}.task .audio .left .cover{border-radius:6px;width:100%;height:100%}.task .audio .left .duration{color:#fff;background-color:#000000b3;border-radius:2px;padding:2px 4px;font-size:10px;position:absolute;bottom:0;right:0}.task .audio .left .variation-badge{color:#fff;text-align:center;background-color:#0009;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:3px;left:3px}.task .audio .left .play-btn{cursor:pointer;opacity:.92;background-color:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background-color .2s,opacity .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.task .audio .left .play-btn .el-icon{color:#fff;font-size:16px}.task .audio .left:hover .play-btn{background-color:var(--el-color-primary);opacity:1}.task .audio .info{flex:1;min-width:0;overflow:hidden}.task .audio .info .title-row{align-items:center;gap:6px;display:flex}.task .audio .info .title{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-top:5px;font-size:14px;font-weight:700;overflow:hidden}.task .audio .info .model-chip{height:16px;color:var(--el-color-primary);background:var(--el-color-primary-light-9);border-radius:8px;flex-shrink:0;margin-top:5px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px}.task .audio .info .edit-icon{color:var(--el-text-color-placeholder);cursor:pointer;opacity:0;flex-shrink:0;margin-top:4px;font-size:10px;transition:opacity .2s}.task .audio .info .title-edit{margin-top:4px;margin-bottom:2px}.task .audio .info .style{color:var(--el-text-color-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;margin-bottom:0;font-size:12px;overflow:hidden}.task .audio .info .progress-row{align-items:center;gap:6px;margin-top:2px;display:flex}.task .audio .info .progress-row .progress-bar{flex:1;max-width:100px}.task .audio .info .progress-row .progress-text{color:var(--el-text-color-placeholder);white-space:nowrap;font-size:10px}.task .audio:hover .edit-icon{opacity:1}.task .audio .mashup-check{flex-shrink:0;align-items:center;padding:0 4px 0 8px;display:flex}.task .audio.mashup-selected{background-color:var(--el-color-primary-light-9);border-radius:8px}.task .audio .right{justify-content:flex-end;align-items:center;width:140px;padding-right:1px;display:flex}.task .audio .right .icon{z-index:100;cursor:pointer;color:var(--el-text-color-secondary);margin-right:15px;transition:color .2s;display:block}.task .audio .right .icon:hover{color:var(--el-color-primary)}.task .audio .right .el-button{margin-right:15px}.task .audio.generating .left .cover{animation:1.4s ease-in-out infinite suno-pulse}@keyframes suno-pulse{0%,to{opacity:1}50%{opacity:.55}}.suno-action-menu .menu-icon{width:14px;color:var(--el-text-color-secondary);margin-right:8px}.suno-action-menu .menu-divider{background:var(--el-border-color-lighter);height:1px;margin:4px 12px}.suno-action-menu .delete-item,.suno-action-menu .delete-item .delete-icon{color:var(--el-color-danger)}.task-toolbar[data-v-6437616b]{border-bottom:1px solid var(--el-border-color-lighter);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.task-toolbar .task-search[data-v-6437616b]{flex:1;max-width:280px}.task-toolbar .task-search[data-v-6437616b] .el-input__wrapper{background-color:var(--el-fill-color-light);box-shadow:none;border-radius:999px}.task-toolbar .task-search[data-v-6437616b] .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.task-toolbar .sort-btn[data-v-6437616b]{white-space:nowrap;flex-shrink:0;margin-left:auto}.task-toolbar .filter-btn[data-v-6437616b]{white-space:nowrap;flex-shrink:0;position:relative}.task-toolbar .filter-btn.has-active-filter[data-v-6437616b]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.task-toolbar .filter-btn .filter-badge[data-v-6437616b]{background:var(--el-color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:10px;line-height:1;display:inline-flex}.filter-popover[data-v-6437616b]{flex-direction:column;gap:12px;display:flex}.filter-popover .filter-row[data-v-6437616b]{flex-direction:column;gap:6px;display:flex}.filter-popover .filter-label[data-v-6437616b]{color:var(--el-text-color-secondary);font-size:12px}.filter-popover .filter-actions[data-v-6437616b]{border-top:1px solid var(--el-border-color-lighter);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.status[data-v-1c3496ff]{margin-bottom:10px}.panel.detail[data-v-1c3496ff]{flex:1;width:100%;overflow-y:scroll}.panel.recent[data-v-1c3496ff]{justify-content:initial;width:100%;height:100%;margin-bottom:10px;position:relative}.panel.operation[data-v-1c3496ff]{position:relative}