@acedatacloud/nexior 3.380.5 → 3.380.6

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 (285) hide show
  1. package/dist/assets/{ApiCodeButton-DBR9tGBM.js → ApiCodeButton-yY9sIC18.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-CCg8lOq_.js → ApiCodeDialog-BLUVDa6B.js} +1 -1
  3. package/dist/assets/{Artifacts-w1CZhaPc.js → Artifacts-yeVPmg33.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-3OJbU7hp.js → AskUserQuestionCard-DX1Pk22u.js} +1 -1
  5. package/dist/assets/{AudioPreview-d8-NMxq_.js → AudioPreview-CnwTRcGy.js} +1 -1
  6. package/dist/assets/{Auth-CUD5XHGs.js → Auth-CJoZFvHM.js} +1 -1
  7. package/dist/assets/{Bare-DnWOFNQY.js → Bare-DY5zCMGG.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-Cl_V5koZ.js → BotPlaceholder-DAC5flJl.js} +1 -1
  9. package/dist/assets/{BottomFooter-BY9m2ruR.js → BottomFooter-BONSfS_F.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-DAclKO9A.js → BrowseConnectors-D9R9JiA8.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-D_qGaX9S.js → BrowserPairingDialog-bpgkeeo1.js} +1 -1
  12. package/dist/assets/{Callback--vWw7wDq.js → Callback-ieDXRskK.js} +1 -1
  13. package/dist/assets/{CodeSnippet-B4XBcVVB.js → CodeSnippet-g54knlUN.js} +1 -1
  14. package/dist/assets/{Console-BEN2f_7n.js → Console-CwLw8Auu.js} +1 -1
  15. package/dist/assets/{Conversation-Bu85cN-Z.js → Conversation-CV-3gYUB.js} +1 -1
  16. package/dist/assets/{Conversation-CvvQaGbk.js → Conversation-Dn36zzZT.js} +1 -1
  17. package/dist/assets/{CopyToClipboard-Dc_53C_9.js → CopyToClipboard-OD_-zDDD.js} +1 -1
  18. package/dist/assets/{Detail-CP8XjrwP.js → Detail-C3hvSyp2.js} +1 -1
  19. package/dist/assets/{Extra-BzOxBC3f.js → Extra-BLhcNyVC.js} +1 -1
  20. package/dist/assets/{FilePreview-C0VlAjUT.js → FilePreview-C_zo-MCC.js} +1 -1
  21. package/dist/assets/{Hailuo-CBlo8oMQ.js → Hailuo-KVk3SAC1.js} +1 -1
  22. package/dist/assets/{History-C_9oHSvo.js → History-B2YCbKcj.js} +1 -1
  23. package/dist/assets/{ImagePreview-QrO7VB3T.js → ImagePreview-iMMwS5bK.js} +1 -1
  24. package/dist/assets/{ImageWrapper-D2sKN22b.js → ImageWrapper-DPFYz3PG.js} +1 -1
  25. package/dist/assets/{Index-HdBDAK282.js → Index-B26d3XUb2.js} +1 -1
  26. package/dist/assets/{Index-Cm_sNblt.js → Index-B2dZQWPV.js} +1 -1
  27. package/dist/assets/{Index-DKmuO9HJ.js → Index-B2uiXYsr.js} +1 -1
  28. package/dist/assets/{Index-CVKxg1nH.js → Index-B7nKxqIv.js} +1 -1
  29. package/dist/assets/Index-BBBDlgXP.js +88 -0
  30. package/dist/assets/{Index-D9b419t3.js → Index-BPfyJzDF.js} +1 -1
  31. package/dist/assets/{Index-xPB2P_un.js → Index-BWxATCn4.js} +1 -1
  32. package/dist/assets/{Index-CCBr-lgF.js → Index-Bcyq_YIZ.js} +1 -1
  33. package/dist/assets/{Index-Bv94reqL.js → Index-Bol0-bce.js} +1 -1
  34. package/dist/assets/{Index-5JQ5PAph.js → Index-Brw_NmpE.js} +1 -1
  35. package/dist/assets/{Index-DOv21tLH.css → Index-BsbAhMSz.css} +1 -1
  36. package/dist/assets/{Index-DuKDKmH8.js → Index-BwDwwg6y.js} +1 -1
  37. package/dist/assets/{Index-DXJ-mdMu.js → Index-BxsjRqQ4.js} +1 -1
  38. package/dist/assets/{Index-Bp91Z4Nq.js → Index-ByM-t-zY.js} +1 -1
  39. package/dist/assets/{Index-Bz5IEnOW.js → Index-BzqjfDyK.js} +1 -1
  40. package/dist/assets/{Index-BHxIkZ-a.js → Index-C-nvVaFr.js} +1 -1
  41. package/dist/assets/{Index--pdY-HXU.js → Index-C6eM4OO-.js} +1 -1
  42. package/dist/assets/{Index-DfFP79Ub.js → Index-CNRXBlE4.js} +1 -1
  43. package/dist/assets/{Index-TVvykHny.js → Index-CQ8cqTkq.js} +1 -1
  44. package/dist/assets/{Index-DzlQ8472.js → Index-CRv9WTLe.js} +1 -1
  45. package/dist/assets/{Index-Cqd_YqFI.js → Index-CU7A29sK.js} +1 -1
  46. package/dist/assets/{Index-DVQTbl6Q.js → Index-Cd4FcH7u.js} +1 -1
  47. package/dist/assets/{Index-Dxg0HWdd.js → Index-CesZYOqz.js} +1 -1
  48. package/dist/assets/{Index-DWJoWMqg.js → Index-CjsNDNat.js} +1 -1
  49. package/dist/assets/{Index-DrL4Kua7.js → Index-CoQOM3Lc.js} +1 -1
  50. package/dist/assets/{Index-DTwqo9lt.js → Index-Cp1nDoyT.js} +1 -1
  51. package/dist/assets/{Index-C5Mesekg.js → Index-CutIaotz.js} +1 -1
  52. package/dist/assets/{Index-pygkRSdJ2.js → Index-D4VbsMbC2.js} +1 -1
  53. package/dist/assets/{Index-t7wi6x-C.js → Index-DMZwe1dw.js} +1 -1
  54. package/dist/assets/{Index-jL6GyAo52.js → Index-DTz1508v2.js} +1 -1
  55. package/dist/assets/{Index-EgwMAM87.js → Index-DWWNdA0k.js} +1 -1
  56. package/dist/assets/{Index-ChES2Pak.js → Index-DWmnQVHJ.js} +1 -1
  57. package/dist/assets/{Index-B3zcmDVO.js → Index-DlXFZ6d-.js} +1 -1
  58. package/dist/assets/{Index-DyowxMKL.js → Index-QpI1894D.js} +1 -1
  59. package/dist/assets/{Index-CvMSByPg.js → Index-Tvp1KZvO.js} +1 -1
  60. package/dist/assets/{Index-Chl9pDC8.js → Index-x4ARhV5N.js} +1 -1
  61. package/dist/assets/{Index-DoKFeY1d.js → Index-zAZFxsP7.js} +1 -1
  62. package/dist/assets/{Invitees-CqoC6ZzI.js → Invitees-rNRbRsJK.js} +1 -1
  63. package/dist/assets/{List-CJ0oDC8J.js → List-Bl_Pw6ZM.js} +1 -1
  64. package/dist/assets/{List-Ca7YduxB.js → List-CqqTWjSR.js} +1 -1
  65. package/dist/assets/{List-BKQsGfFn.js → List-YcoeYD3g.js} +1 -1
  66. package/dist/assets/{LocalTools-Dk26D2gM.js → LocalTools-CGzgXYmU.js} +1 -1
  67. package/dist/assets/{LocalTools-Dj5qgU4Q.js → LocalTools-Coin0A-_.js} +1 -1
  68. package/dist/assets/{Logo-0tn3ckQt.js → Logo-CzgdqTtr.js} +1 -1
  69. package/dist/assets/{Main-DZdJRNsj.js → Main-CEJWGYVQ.js} +1 -1
  70. package/dist/assets/{Message-Dhxbifix.js → Message-C2SGTxO1.js} +1 -1
  71. package/dist/assets/{Model-BCLqf6xD.js → Model-BorsWZY7.js} +1 -1
  72. package/dist/assets/{Navigator-D6I38CcF.css → Navigator-BIH1gZzE.css} +1 -1
  73. package/dist/assets/{Navigator-D0to3R2l.js → Navigator-CD6WYL8I.js} +4 -4
  74. package/dist/assets/{NotFound-C1_UBaSi.js → NotFound-bZTypZWk.js} +1 -1
  75. package/dist/assets/{PageHeader-v-5kKXbh.js → PageHeader-Cr_pWNQu.js} +1 -1
  76. package/dist/assets/{Pay-7EzYllB7.js → Pay-jMnf8f4L.js} +1 -1
  77. package/dist/assets/{Player-DMEqEzbG.js → Player-DKlCY38Q.js} +1 -1
  78. package/dist/assets/{Poivelle-BPMERqNg.js → Poivelle-BbrjC2Pf.js} +1 -1
  79. package/dist/assets/{RealtimeCall-YJoGDtET.js → RealtimeCall-CF9IZ4EK.js} +1 -1
  80. package/dist/assets/{ReportButton-BCWM_eUv.js → ReportButton-CBoBD__d.js} +1 -1
  81. package/dist/assets/{ReportDialog-C4nnqvVc.js → ReportDialog-H8JCbrhU.js} +1 -1
  82. package/dist/assets/{ScenarioPaymentMode-DUv_xCgb.js → ScenarioPaymentMode-B-onFjJH.js} +1 -1
  83. package/dist/assets/{ScheduledTasks-CGWohgpS.js → ScheduledTasks-D1ogc14e.js} +1 -1
  84. package/dist/assets/{ServicePricingSummary-BnnhtPm5.js → ServicePricingSummary-mQ3kXYW6.js} +1 -1
  85. package/dist/assets/{SharedMarkdown-DtzDZm3k.js → SharedMarkdown-90N4n0oz.js} +1 -1
  86. package/dist/assets/{ShowcaseGrid-CFbY09WG.js → ShowcaseGrid-Cki1GB7C.js} +1 -1
  87. package/dist/assets/{ShowcaseResultTabs-DoS1AGxi.js → ShowcaseResultTabs-CJ63xnjI.js} +1 -1
  88. package/dist/assets/{SolanaWalletPickerDialog-SPhdpzG5.js → SolanaWalletPickerDialog-BJCPJPLl.js} +1 -1
  89. package/dist/assets/{Status-D3X4rgdx.js → Status-DuMI-huv.js} +1 -1
  90. package/dist/assets/{Subscribe-CRjgaqCu.js → Subscribe-BjsSfzMh.js} +1 -1
  91. package/dist/assets/{TabSwitcher-DCp_o3dC.js → TabSwitcher-C6ing8hE.js} +1 -1
  92. package/dist/assets/{Tts-BHWJBKlm.js → Tts-CaUMvlYA.js} +1 -1
  93. package/dist/assets/{VideoPlayer-Bt19ZgtM.js → VideoPlayer-BHDyrslN.js} +1 -1
  94. package/dist/assets/{VideoPreview-DbXtGsVJ.js → VideoPreview-CVQXuaJq.js} +1 -1
  95. package/dist/assets/{VueMarkdown-xfBKJ0cL.js → VueMarkdown-Ciohflex.js} +2 -2
  96. package/dist/assets/{WriteSkillDialog-DEZTP_2V.js → WriteSkillDialog-CbGJtFx9.js} +1 -1
  97. package/dist/assets/{airwallexCheckout-DG7dh0JD.js → airwallexCheckout-BfsLyuyz.js} +1 -1
  98. package/dist/assets/arrow-down-BGS1e3rU.js +1 -0
  99. package/dist/assets/arrow-left-C64FJjH5.js +1 -0
  100. package/dist/assets/arrow-right-Cv0Ykyrz.js +1 -0
  101. package/dist/assets/arrow-up-C5g67P26.js +1 -0
  102. package/dist/assets/{authorizeFlow-DJrWFBbA.js → authorizeFlow-DUX6f2cF.js} +1 -1
  103. package/dist/assets/{avatar-C0t81PgD.js → avatar-CNQyS-Lp.js} +1 -1
  104. package/dist/assets/{back-navigation-DsXpwk5c.js → back-navigation-D3D9a_KQ.js} +1 -1
  105. package/dist/assets/{basic-BtHDhrf8.js → basic-CKebYjqy.js} +1 -1
  106. package/dist/assets/{book-open-VVs1gk2C.js → book-open-_lTz4QJR.js} +1 -1
  107. package/dist/assets/{box-Bx0ypDsn.js → box-6vYJ5zr0.js} +1 -1
  108. package/dist/assets/{boxes-8WJI87Gu.js → boxes-BFnp7eNw.js} +1 -1
  109. package/dist/assets/{brain-DYAdLxct.js → brain-TP-yaodp.js} +1 -1
  110. package/dist/assets/{chart-no-axes-combined-Cc3WlsU6.js → chart-no-axes-combined-CbDGvzGk.js} +1 -1
  111. package/dist/assets/{chat-Ci-R1f2k.js → chat-D2C5PRGe.js} +1 -1
  112. package/dist/assets/check-BPmW-6Re.js +1 -0
  113. package/dist/assets/chevron-down-_5nRvC6_.js +1 -0
  114. package/dist/assets/chevron-right-CdZ7m0IV.js +1 -0
  115. package/dist/assets/{circle-alert-DF1kIskJ.js → circle-alert-CPXNfais.js} +1 -1
  116. package/dist/assets/circle-check-O20rZJdJ.js +1 -0
  117. package/dist/assets/{circle-question-mark-CNP_CdTe.js → circle-question-mark-bAyiS3uM.js} +1 -1
  118. package/dist/assets/{clipboard-list-BhkjCno-.js → clipboard-list-NDSjeP6T.js} +1 -1
  119. package/dist/assets/clock-CAf8wf9e.js +1 -0
  120. package/dist/assets/code-DSlDLRN9.js +1 -0
  121. package/dist/assets/{codingBridge-CS16iqlt.js → codingBridge-DXxeFXpR.js} +1 -1
  122. package/dist/assets/{codingBridgeNotify-DQXmYQHs.js → codingBridgeNotify-DmpIIIYp.js} +2 -2
  123. package/dist/assets/{coins-CVrCGMHa.js → coins-D2PG1Dcv.js} +1 -1
  124. package/dist/assets/{collapse-qfbCrPJN.js → collapse-B87qL7a1.js} +1 -1
  125. package/dist/assets/{constants-CVb0vrXj.js → constants-4TRM3yeb.js} +1 -1
  126. package/dist/assets/{copy-CP8f_ETR.js → copy-BskT-Tme.js} +1 -1
  127. package/dist/assets/{createTaskActions-DLJLKN-c.js → createTaskActions-Dt37lwuh.js} +1 -1
  128. package/dist/assets/{date-picker-BIwU4ojz.js → date-picker-CWayt2Os.js} +1 -1
  129. package/dist/assets/{digitalhuman-CfG_2-Wv.js → digitalhuman-LDJWJFn6.js} +1 -1
  130. package/dist/assets/{dollar-sign-CFH1O621.js → dollar-sign-Bu6eWtyh.js} +1 -1
  131. package/dist/assets/{download-aKoGQMz4.js → download-B2eXd6xP.js} +1 -1
  132. package/dist/assets/{drawer-CF4BsAtW.js → drawer-DVH0xZU_.js} +1 -1
  133. package/dist/assets/{dropdown-DzQEZ4Jy.js → dropdown-DHi1DFxZ.js} +1 -1
  134. package/dist/assets/{dropdown-CLk44aHS.js → dropdown-H1iCOtDm.js} +1 -1
  135. package/dist/assets/{ellipsis-AczbhGQu.js → ellipsis-CS_-hd2M.js} +1 -1
  136. package/dist/assets/{esm-Bq7l9xVL.js → esm-B-LdsOt6.js} +2 -2
  137. package/dist/assets/esm-CxX1IxoO.js +1 -0
  138. package/dist/assets/{esm-rGuxajaG.js → esm-ej3tHEtC.js} +2 -2
  139. package/dist/assets/{external-link-B5spIiHU.js → external-link-BUaqLKYm.js} +1 -1
  140. package/dist/assets/{eye-DOsuMFw9.js → eye-MNgYUO1j.js} +1 -1
  141. package/dist/assets/{file-D5T6JpWA.js → file-CwiI2ZDt.js} +1 -1
  142. package/dist/assets/{file-output-CAMglfrn.js → file-output-DksFKPyC.js} +1 -1
  143. package/dist/assets/{file-text-MxE-jd8A.js → file-text-DM9_QdSH.js} +1 -1
  144. package/dist/assets/{fish-mS1PJ3fj.js → fish-CdeFszEX.js} +1 -1
  145. package/dist/assets/{flux-FQoAagDW.js → flux-kgren3Q_.js} +1 -1
  146. package/dist/assets/{folder-Cbda4XN8.js → folder-DYKQn0mJ.js} +1 -1
  147. package/dist/assets/gauge-BjEg2K9v.js +1 -0
  148. package/dist/assets/{generationInput-jeoGp56s.js → generationInput-DnJFevpe.js} +1 -1
  149. package/dist/assets/{globe-DZXgzAlm.js → globe-f4dS915S.js} +1 -1
  150. package/dist/assets/{grokvideo-DISRpIM_.js → grokvideo-BObiy7b0.js} +1 -1
  151. package/dist/assets/{hailuo-ZSUIO9UD.js → hailuo-CLRN3C5Y.js} +1 -1
  152. package/dist/assets/{hash-BKpZIJo7.js → hash-DqiIH4WA.js} +1 -1
  153. package/dist/assets/{headphones--YKlJldO.js → headphones-DSR8arQo.js} +1 -1
  154. package/dist/assets/{history-BYzfzIXf.js → history-BmLtxr_f.js} +1 -1
  155. package/dist/assets/{house-DbXM7bV4.js → house-DV6gKn0u.js} +1 -1
  156. package/dist/assets/{image-Dsh8h-Vr.js → image-BVqhVXTy.js} +1 -1
  157. package/dist/assets/{imageRequests-YA3-SUkx.js → imageRequests-GNQtekZ9.js} +1 -1
  158. package/dist/assets/{index-C643U2rX.js → index-DURbYpHp.js} +5 -5
  159. package/dist/assets/{index.es-BS_qwYo-.js → index.es-BPCHaRbX.js} +1 -1
  160. package/dist/assets/{info-CDs2D83H.js → info-DzqnccKk.js} +1 -1
  161. package/dist/assets/{input-number-YpK_vIUu.js → input-number-DSOk0jCW.js} +1 -1
  162. package/dist/assets/{kling-BkuDhdIc.js → kling-C6wE6PWD.js} +1 -1
  163. package/dist/assets/{languages-DFfBKj3V.js → languages-DQhgO8zU.js} +1 -1
  164. package/dist/assets/{laptop-DapobfQv.js → laptop-CuFSxcV7.js} +1 -1
  165. package/dist/assets/{lightbulb-D_g0yrw8.js → lightbulb-DlkrJWeZ.js} +1 -1
  166. package/dist/assets/{link-DTTCfbSO.js → link-CA71xo7D.js} +1 -1
  167. package/dist/assets/loader-circle-DZ3PD17k.js +1 -0
  168. package/dist/assets/{luma-C9imEL86.js → luma-Cx9vm0CD.js} +1 -1
  169. package/dist/assets/{maestro-B_gsOOuc.js → maestro-IWFg0U3T.js} +1 -1
  170. package/dist/assets/{mail-C0_EFTNr.js → mail-BI9wlWnc.js} +1 -1
  171. package/dist/assets/{message-circle-DJ38XN8t.js → message-circle-BCrTeCKd.js} +1 -1
  172. package/dist/assets/{mic-BYjF4A_x.js → mic-GjgLdgrD.js} +1 -1
  173. package/dist/assets/{midjourney-DGnkUMtd.js → midjourney-DfhS25ZZ.js} +1 -1
  174. package/dist/assets/{minimax-ClPDICZU.js → minimax-DMTZr51M.js} +1 -1
  175. package/dist/assets/{mobileLocalExec-B_RtWm83.js → mobileLocalExec-Cez00ZSD.js} +2 -2
  176. package/dist/assets/{monitor-GBsAGWb5.js → monitor-Dhu9PJDl.js} +1 -1
  177. package/dist/assets/{mouse-pointer-2--BMykM3C.js → mouse-pointer-2-D3Hg5hXq.js} +1 -1
  178. package/dist/assets/music-2-LsJnrWjq.js +1 -0
  179. package/dist/assets/{nanobanana-B80mlHG9.js → nanobanana-DL4EGM-7.js} +1 -1
  180. package/dist/assets/{omni-B15iT3Sl.js → omni-BHGuy_OI.js} +1 -1
  181. package/dist/assets/{openaiimage-DAuOj_l2.js → openaiimage-C9KS3PWL.js} +1 -1
  182. package/dist/assets/{pagination-BGnYVZvp.js → pagination-Ccy4p3jJ.js} +1 -1
  183. package/dist/assets/{pagination-DqPdKWtk.js → pagination-ESpJvGCV.js} +1 -1
  184. package/dist/assets/{pagination-BsPBo2WI.js → pagination-hD8vUwHZ.js} +1 -1
  185. package/dist/assets/{palette-CSWZ3lMh.js → palette-zytRStv0.js} +1 -1
  186. package/dist/assets/{paperclip-Ed5mDPx6.js → paperclip-B9-z4Sw4.js} +1 -1
  187. package/dist/assets/{pause-BClTBQOr.js → pause-8fyUMsI6.js} +1 -1
  188. package/dist/assets/{pencil-hdf5uaAO.js → pencil-CsjFAABf.js} +1 -1
  189. package/dist/assets/{pika-Cx5cYUmj.js → pika-DaSS-jhE.js} +1 -1
  190. package/dist/assets/{pixverse-WYyCcVn-.js → pixverse-BBz9_xaO.js} +1 -1
  191. package/dist/assets/play-DbSJkwaz.js +1 -0
  192. package/dist/assets/{plug-BrR77_0k.js → plug-B05LKSuU.js} +1 -1
  193. package/dist/assets/plus-Ch9vaMzG.js +1 -0
  194. package/dist/assets/{poivelle-B-fGy-mp.js → poivelle-DNUpAqAE.js} +1 -1
  195. package/dist/assets/{popover-DnGAvUIE.js → popover-Cyrdnxzf.js} +1 -1
  196. package/dist/assets/{producer-DKQI0Cq6.js → producer-yleleIFK.js} +1 -1
  197. package/dist/assets/{qrart-BypAVHHT.js → qrart-DM5sCAPu.js} +1 -1
  198. package/dist/assets/{qwenimage-Z73dnVux.js → qwenimage-vL6h0JDb.js} +1 -1
  199. package/dist/assets/{realtime-i4smTIH8.js → realtime-CXKU2TRW.js} +1 -1
  200. package/dist/assets/{refresh-cw-Dnm3KhKi.js → refresh-cw-CIkeGSdq.js} +1 -1
  201. package/dist/assets/rotate-ccw-BCt2BBKY.js +1 -0
  202. package/dist/assets/rotate-cw-B1rEwf95.js +1 -0
  203. package/dist/assets/{row-BTg1B7Rq.js → row-BgeFnNqr.js} +1 -1
  204. package/dist/assets/{scheduledTasks-BKFHEZEq.js → scheduledTasks-yKVMpRrF.js} +1 -1
  205. package/dist/assets/{scroll-text-11dAwBrb.js → scroll-text-0TQUmW_G.js} +1 -1
  206. package/dist/assets/search-B4J4NAO1.js +1 -0
  207. package/dist/assets/{seedance-C7VjAFhT.js → seedance-BBl9LPMD.js} +1 -1
  208. package/dist/assets/{seedream-BNeM6wGx.js → seedream-CTCjkQmS.js} +1 -1
  209. package/dist/assets/{select-Dxkn5fnG.js → select-B6ZO1rLl.js} +1 -1
  210. package/dist/assets/{serp-CxGGkmaS.js → serp-AghjMh3X.js} +1 -1
  211. package/dist/assets/{shield-DgibaIqT.js → shield-BoT-slIH.js} +1 -1
  212. package/dist/assets/{showcase-C7ITFcZN.js → showcase-LGm-Jv5z.js} +1 -1
  213. package/dist/assets/{showcaseRecreateMixin-BvSTHecE.js → showcaseRecreateMixin-BmDK7n-L.js} +1 -1
  214. package/dist/assets/{shuffle-BylmN-er.js → shuffle-OUCsSq4D.js} +1 -1
  215. package/dist/assets/{site-BFSh5Tl1.js → site-B49LuPmm.js} +1 -1
  216. package/dist/assets/{site-Cg9MVedN.js → site-B8_t2Gq8.js} +1 -1
  217. package/dist/assets/{site-mJ0A622j.js → site-BRLKAsjK.js} +1 -1
  218. package/dist/assets/{site-v8-PMGDX.js → site-BWg9ZCUm.js} +1 -1
  219. package/dist/assets/{site-D0A9w1iR.js → site-BbxeOam5.js} +1 -1
  220. package/dist/assets/{site-nFnV_r0X.js → site-BpWwDuNx.js} +1 -1
  221. package/dist/assets/{site-BgL5auJs.js → site-CSCiTLp9.js} +1 -1
  222. package/dist/assets/{site-DJxqIMde.js → site-D6wDBCzU.js} +1 -1
  223. package/dist/assets/{site-CEyYV9T9.js → site-DIZYOk2e.js} +1 -1
  224. package/dist/assets/{site-CfeKxRll.js → site-DlUTcObc.js} +1 -1
  225. package/dist/assets/{site-eyXU2Lu9.js → site-fYVkMM28.js} +1 -1
  226. package/dist/assets/{site-Dq6XOltW.js → site-z4EU3abt.js} +1 -1
  227. package/dist/assets/{siteHome-Cryc_q93.js → siteHome-n6fEmZXM.js} +1 -1
  228. package/dist/assets/{slider-DyGvOBhi.js → slider-DJM_8qq1.js} +1 -1
  229. package/dist/assets/{solana-wallets--z2A3Apa.js → solana-wallets-B2jid-qi.js} +2 -2
  230. package/dist/assets/{sora-D29KqrzE.js → sora-Cn4a7G1J.js} +1 -1
  231. package/dist/assets/{sparkles-x66jEqTw.js → sparkles-CA_rhsRh.js} +1 -1
  232. package/dist/assets/square-B1ed_yTG.js +1 -0
  233. package/dist/assets/{suno-BtOeCZcQ.js → suno-DLrqUixP.js} +1 -1
  234. package/dist/assets/{switch-FNAnbKSR.js → switch-Bdw4rC-y.js} +1 -1
  235. package/dist/assets/{table-DcbbzgnI.js → table-DRotfm-k.js} +1 -1
  236. package/dist/assets/{tabs-0J-7r8zS.js → tabs-sZ_AqSxe.js} +1 -1
  237. package/dist/assets/{tag-DmliP9Ok.js → tag-B54dpjWl.js} +1 -1
  238. package/dist/assets/{taskPolling-Bi1lm4L2.js → taskPolling-B_SxyDD9.js} +1 -1
  239. package/dist/assets/terminal-BbSObAgc.js +1 -0
  240. package/dist/assets/{time-picker-DXRHL55A.js → time-picker-BcqGv443.js} +1 -1
  241. package/dist/assets/{tooltip-CsVgfK1f.js → tooltip-BFMHj7yV.js} +1 -1
  242. package/dist/assets/{trash-2-rtHpr3JN.js → trash-2-DTIOXFAX.js} +1 -1
  243. package/dist/assets/{triangle-alert-D_wd4w3Z.js → triangle-alert-BPPxjzKW.js} +1 -1
  244. package/dist/assets/{upload-DoPPJ2yy.js → upload-B8RBApAO.js} +1 -1
  245. package/dist/assets/{upload-ChEGBjQd.js → upload-DvqAUM9o.js} +1 -1
  246. package/dist/assets/user-DbQMGtR0.js +1 -0
  247. package/dist/assets/{veo-BueyYArF.js → veo-Yt8igQIU.js} +1 -1
  248. package/dist/assets/{video-C2QohmLe.js → video-BwlralfI.js} +1 -1
  249. package/dist/assets/{volume-2-BoZZadxh.js → volume-2-L7Us8StJ.js} +1 -1
  250. package/dist/assets/{vuex.esm-bundler-uM-kqbAF.js → vuex.esm-bundler-Dh61cDbO.js} +1 -1
  251. package/dist/assets/{wallet-BtENm1mj.js → wallet-4XwgqLJP.js} +1 -1
  252. package/dist/assets/{wan-BxExpn0G.js → wan-D6vcSwq9.js} +1 -1
  253. package/dist/assets/{wand-sparkles-CReI7Ekg.js → wand-sparkles-Be9RrbrT.js} +1 -1
  254. package/dist/assets/{web-CwqQtLOY.js → web-BV2ceXJ7.js} +1 -1
  255. package/dist/assets/{web-B_mNetg-.js → web-D2nuEqfy.js} +1 -1
  256. package/dist/assets/{web-DHf2pHB5.js → web-DIj3tgeE.js} +1 -1
  257. package/dist/assets/{web-I_RIjvbu.js → web-DlYim1xR.js} +1 -1
  258. package/dist/assets/{web-DSR3VOq9.js → web-zjGs6Tk6.js} +1 -1
  259. package/dist/assets/{webextrator-eme27gPN.js → webextrator-DEaErwUM.js} +1 -1
  260. package/dist/assets/{zap-BVQJGqe4.js → zap-B_4nhrzt.js} +1 -1
  261. package/dist/index.html +3 -3
  262. package/package.json +1 -1
  263. package/dist/assets/Index-IOEjcrMN.js +0 -88
  264. package/dist/assets/arrow-down-CCk6Sb03.js +0 -1
  265. package/dist/assets/arrow-left-CfzVpd8i.js +0 -1
  266. package/dist/assets/arrow-right-Dst44w5B.js +0 -1
  267. package/dist/assets/arrow-up-CvyTr6CH.js +0 -1
  268. package/dist/assets/check-Bfb3v7Zr.js +0 -1
  269. package/dist/assets/chevron-down-BqX4KeBM.js +0 -1
  270. package/dist/assets/chevron-right-1mOXqXoj.js +0 -1
  271. package/dist/assets/circle-check-C6ll6g09.js +0 -1
  272. package/dist/assets/clock-B6Xmh354.js +0 -1
  273. package/dist/assets/code-7YWrTdfy.js +0 -1
  274. package/dist/assets/esm-Dc2aYU0J.js +0 -1
  275. package/dist/assets/gauge-DwHZCDNp.js +0 -1
  276. package/dist/assets/loader-circle-BQqfluno.js +0 -1
  277. package/dist/assets/music-2-DsnQPTru.js +0 -1
  278. package/dist/assets/play-BZy52WBc.js +0 -1
  279. package/dist/assets/plus-Cv4THF6Q.js +0 -1
  280. package/dist/assets/rotate-ccw-CKzZLPvG.js +0 -1
  281. package/dist/assets/rotate-cw-CEoa6Gbp.js +0 -1
  282. package/dist/assets/search-BWxJsKnb.js +0 -1
  283. package/dist/assets/square-84JHxm2_.js +0 -1
  284. package/dist/assets/terminal-fLAKhYLu.js +0 -1
  285. package/dist/assets/user-bjnB3b4c.js +0 -1
@@ -0,0 +1,88 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,G as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,T as f,Y as p,at as m,ft as h,ht as g,j as _,k as v,mt as y,p as b,qt as x,rt as S,st as C,tt as w,wt as T,x as E,z as D}from"./vendor-chart-Dw-P17PN.js";import{t as O}from"./vendor-vue-router-BVGjZC3n.js";import{n as k}from"./vuex.esm-bundler-Dh61cDbO.js";import{Fa as A,eo as j,oo as M}from"./constants-4TRM3yeb.js";import{D as N,Fa as P,Fn as F,M as I,N as L,Pn as R,Va as z,cr as B,j as V,to as H}from"./index-DURbYpHp.js";import{t as U}from"./VueMarkdown-Ciohflex.js";import{c as W,l as ee,n as te,r as G,s as K,t as ne,u as re}from"./siteHome-n6fEmZXM.js";import{n as ie}from"./showcase-LGm-Jv5z.js";import{n as ae,t as oe}from"./ShowcaseGrid-Cki1GB7C.js";var se=z(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),ce={class:`section-heading`},le={id:`home-categories-title`},ue={class:`category-rows card-gap`},de=[`aria-expanded`,`aria-controls`,`onClick`],fe=[`src`,`alt`,`onError`],pe={class:`category-copy`},me=[`id`,`aria-label`],he=[`src`,`onError`],ge=N(D({__name:`CategoryTiles`,props:{items:{},heading:{},subtitle:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:n}){let c=t,g=T(),C=T(4),E=v(()=>{let e=[];for(let t=0;t<c.items.length;t+=C.value)e.push(c.items.slice(t,t+C.value));return e});function D(){C.value=window.matchMedia?.(`(max-width: 430px)`).matches?1:window.matchMedia?.(`(max-width: 1120px)`).matches?2:4}u(()=>{D(),window.addEventListener(`resize`,D)}),p(()=>window.removeEventListener(`resize`,D));let O=new Map,k=v(()=>c.items.find(e=>e.id===g.value));function A(e,t){t instanceof HTMLButtonElement?O.set(e,t):O.delete(e)}function j(e){g.value=g.value===e?void 0:e,g.value&&a(()=>{window.matchMedia?.(`(max-width: 430px)`).matches&&O.get(e)?.scrollIntoView?.({behavior:window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})})}function M(){if(!g.value)return;let e=O.get(g.value);g.value=void 0,e?.focus()}return h(()=>c.items,e=>{g.value&&!e.some(e=>e.id===g.value)&&(g.value=void 0)}),n({openId:g,activeCategory:k,toggle:j,closePanel:M}),(n,a)=>{let c=m(`router-link`);return w(),l(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:d(M,[`esc`])},[e(`div`,ce,[e(`div`,null,[e(`span`,null,i(n.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,le,i(t.heading),1)]),e(`p`,null,i(t.subtitle),1)]),e(`div`,ue,[(w(!0),l(f,null,S(E.value,(t,u)=>(w(),l(`div`,{key:u,class:`category-grid card-gap`},[(w(!0),l(f,null,S(t,t=>(w(),l(`button`,{key:t.id,ref_for:!0,ref:e=>A(t.id,e),type:`button`,class:`category-card`,"aria-expanded":g.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>j(t.id)},[t.imageUrl?(w(),l(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:x({objectPosition:t.focalPoint||`center`}),onError:e=>n.$emit(`category-image-error`,t.id)},null,44,fe)):s(``,!0),a[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,pe,[e(`strong`,null,i(t.title),1),e(`span`,null,i(t.description),1),e(`b`,null,i(n.$t(g.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,de))),128)),o(b,{name:`panel`},{default:y(()=>[t.some(e=>e.id===g.value)&&k.value?(w(),l(`div`,{key:0,id:`home-category-panel-${k.value.id}`,class:`capability-panel`,role:`region`,"aria-label":n.$t(`intro.home.quick.panelLabel`,{category:k.value?.title})},[(w(!0),l(f,null,S(k.value?.items||[],t=>(w(),_(c,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:y(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>n.$emit(`icon-error`,t)},null,40,he),e(`span`,null,[e(`strong`,null,i(t.name),1),e(`small`,null,i(t.description),1)]),e(`b`,null,[r(i(n.$t(`intro.home.createNow`))+` `,1),a[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,me)):s(``,!0)]),_:2},1024)]))),128))])],32)}}}),[[`__scopeId`,`data-v-d129353a`]]),_e=[`aria-label`],ve={class:`slides`},ye=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],be={key:1,class:`image-fallback`},xe=[`src`],Se={class:`copy`},Ce={key:0,class:`eyebrow`},we={key:1},Te={class:`description`},Ee={key:2,class:`action`},De=[`aria-label`],Oe=[`aria-label`],ke={class:`dots`},Ae=[`aria-label`,`aria-current`,`onClick`],je=5600,Me=45,Ne=N(D({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(a,{expose:o}){let c=a,d=T(0),m=T(!1),g=T(!1),b=T(!1),E=T(!1),D=T(),k,A,j=v(()=>m.value||g.value||b.value||E.value||c.slides.length<2);function M(e){return e.target?`href`in e.target&&/^https?:\/\//i.test(e.target.href)?`a`:O:`div`}function N(e){return e.target?`routeName`in e.target?{to:{name:e.target.routeName}}:/^https?:\/\//i.test(e.target.href)?{href:e.target.href,target:`_blank`,rel:`noopener noreferrer`}:{to:e.target.href}:{}}function P(e){let t=c.slides.length;return t?(e+t)%t:0}function F(e){d.value=P(e)}function I(){F(d.value+1)}function L(){F(d.value-1)}function R(){k!==void 0&&window.clearInterval(k),k=void 0}function z(){R(),j.value||(k=window.setInterval(I,je))}function B(){b.value=document.hidden}function V(e){E.value=e.matches}function H(e){let t=e.currentTarget,n=e.relatedTarget;g.value=!!(n&&t.contains(n))}function U(e){D.value=e.changedTouches[0]?.clientX}function W(e){if(D.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-D.value;Math.abs(n)>=Me&&(n>0?L():I()),D.value=void 0}return h(j,z),h(()=>c.slides.length,e=>{d.value>=e&&(d.value=0),z()}),u(()=>{b.value=document.hidden,document.addEventListener(`visibilitychange`,B),A=window.matchMedia(`(prefers-reduced-motion: reduce)`),E.value=A.matches,A.addEventListener(`change`,V),z()}),p(()=>{R(),document.removeEventListener(`visibilitychange`,B),A?.removeEventListener(`change`,V)}),o({activeIndex:d,next:I,previous:L,goTo:F,hovered:m,focused:g}),(o,c)=>(w(),l(`section`,{class:`home-carousel`,"aria-label":o.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>m.value=!0,onMouseleave:c[1]||=e=>m.value=!1,onFocusin:c[2]||=e=>g.value=!0,onFocusout:H,onTouchstartPassive:U,onTouchendPassive:W},[e(`div`,ve,[(w(!0),l(f,null,S(a.slides,(n,a)=>(w(),_(C(M(n)),t({key:n.id},{ref_for:!0},N(n),{class:[`slide`,{active:a===d.value,static:!n.target}],"aria-hidden":a!==d.value,tabindex:a===d.value&&n.target?0:-1}),{default:y(()=>[n.imageUrl?(w(),l(`img`,{key:0,src:n.imageUrl,alt:n.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:x({objectPosition:n.focalPoint||`center`}),onError:e=>o.$emit(`image-error`,n)},null,44,ye)):(w(),l(`span`,be,[n.icon?(w(),l(`img`,{key:0,src:n.icon,alt:``},null,8,xe)):s(``,!0)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,Se,[n.eyebrow?(w(),l(`span`,Ce,i(n.eyebrow),1)):s(``,!0),n.title?(w(),l(`strong`,we,i(n.title),1)):s(``,!0),e(`span`,Te,i(n.description),1),n.target?(w(),l(`span`,Ee,[r(i(o.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])):s(``,!0)])]),_:2},1040,[`class`,`aria-hidden`,`tabindex`]))),128))]),a.slides.length>1?(w(),l(f,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":o.$t(`intro.home.carousel.previous`),onClick:L},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,De),e(`button`,{class:`arrow next`,type:`button`,"aria-label":o.$t(`intro.home.carousel.next`),onClick:I},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,Oe),e(`div`,ke,[(w(!0),l(f,null,S(a.slides,(e,t)=>(w(),l(`button`,{key:e.id,type:`button`,class:n({active:t===d.value}),"aria-label":o.$t(`intro.home.carousel.goto`,{number:t+1,title:e.title}),"aria-current":t===d.value?`true`:void 0,onClick:e=>F(t)},null,10,Ae))),128))])],64)):s(``,!0)],40,_e))}}),[[`__scopeId`,`data-v-d69edc68`]]),Pe=`acedatacloud:home-html-iframe-resize`,q=`acedatacloud:home-html-iframe-measure`,Fe=12e3,J=[`allow-scripts`,`allow-forms`,`allow-popups`,`allow-popups-to-escape-sandbox`,`allow-top-navigation-by-user-activation`].join(` `),Ie=new Set([`ar`]),Y=e=>{let t=e.trim().replace(`_`,`-`).slice(0,35);return/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(t)?t:`en`},X=e=>Ie.has(e.split(`-`)[0].toLowerCase())?`rtl`:`ltr`,Le=e=>JSON.stringify(e).replace(/</g,`\\u003c`).split(`\u2028`).join(`\\u2028`).split(`\u2029`).join(`\\u2029`),Re=`<script data-acedatacloud-resize>
2
+ (() => {
3
+ let pendingFrame = 0;
4
+ let lastHeight = -1;
5
+ let observed = new Set();
6
+ const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(() => schedule());
7
+ const isFixed = (element) => {
8
+ for (let current = element; current && current !== document.body; current = current.parentElement) {
9
+ if (getComputedStyle(current).position === 'fixed') return true;
10
+ }
11
+ return false;
12
+ };
13
+ const measure = () => {
14
+ pendingFrame = 0;
15
+ const body = document.body;
16
+ if (!body) return;
17
+ const bodyStyle = getComputedStyle(body);
18
+ const bodyTop = body.getBoundingClientRect().top;
19
+ const paddingBottom = parseFloat(bodyStyle.paddingBottom) || 0;
20
+ let bottom = bodyTop + (parseFloat(bodyStyle.paddingTop) || 0) + paddingBottom;
21
+ const walker = document.createTreeWalker(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT);
22
+ for (let node = walker.nextNode(); node; node = walker.nextNode()) {
23
+ const element = node.nodeType === Node.ELEMENT_NODE ? node : node.parentElement;
24
+ if (!element || isFixed(element)) continue;
25
+ const style = getComputedStyle(element);
26
+ if (style.display === 'none' || style.visibility === 'hidden') continue;
27
+ const range = document.createRange();
28
+ if (node.nodeType === Node.TEXT_NODE) range.selectNodeContents(node);
29
+ const rect = node.nodeType === Node.TEXT_NODE ? range.getBoundingClientRect() : element.getBoundingClientRect();
30
+ if (!rect.width && !rect.height) continue;
31
+ const margin = node.nodeType === Node.ELEMENT_NODE ? Math.max(0, parseFloat(style.marginBottom) || 0) : 0;
32
+ bottom = Math.max(bottom, rect.bottom + margin + paddingBottom);
33
+ }
34
+ const height = Math.max(1, Math.ceil(bottom - bodyTop));
35
+ if (height === lastHeight) return;
36
+ lastHeight = height;
37
+ parent.postMessage({ type: '${Pe}', height }, '*');
38
+ };
39
+ const schedule = () => {
40
+ if (pendingFrame) cancelAnimationFrame(pendingFrame);
41
+ pendingFrame = requestAnimationFrame(measure);
42
+ };
43
+ const observeContent = () => {
44
+ if (!observer || !document.body) return;
45
+ const current = new Set(document.body.children);
46
+ for (const element of current) {
47
+ if (!observed.has(element)) observer.observe(element);
48
+ }
49
+ for (const element of observed) {
50
+ if (!current.has(element)) observer.unobserve(element);
51
+ }
52
+ observed = current;
53
+ };
54
+ const start = () => {
55
+ observeContent();
56
+ schedule();
57
+ setTimeout(schedule, 100);
58
+ setTimeout(schedule, 500);
59
+ new MutationObserver(() => {
60
+ observeContent();
61
+ schedule();
62
+ }).observe(document.body, { attributes: true, characterData: true, childList: true, subtree: true });
63
+ addEventListener('load', schedule, true);
64
+ document.fonts?.ready.then(schedule);
65
+ addEventListener('message', (event) => {
66
+ if (event.source === parent && event.data?.type === '${q}') schedule();
67
+ });
68
+ };
69
+ if (document.readyState === 'loading') addEventListener('DOMContentLoaded', start, { once: true });
70
+ else start();
71
+ })();
72
+ <\/script>`,ze=(e,t,n)=>`<script data-acedatacloud-context>
73
+ Object.defineProperty(window, '__ACEDATACLOUD__', {
74
+ value: Object.freeze(${Le({locale:e,dir:t,theme:n})}),
75
+ writable: false,
76
+ configurable: false
77
+ });
78
+ <\/script>`,Z=(e,t,n,r)=>`<meta charset="UTF-8">
79
+ <meta name="viewport" content="width=device-width, initial-scale=1">
80
+ <base target="_top">
81
+ <style data-acedatacloud-frame>
82
+ html { color-scheme: ${n}; }
83
+ html, body { width: 100%; height: auto !important; min-height: 0 !important; margin: 0; overflow-x: hidden; }
84
+ *, *::before, *::after { box-sizing: border-box; }
85
+ img, video, svg, canvas, iframe { max-width: 100%; }
86
+ </style>
87
+ ${ze(e,t,n)}
88
+ ${r?Re:``}`,Q=(e,t,n)=>{let r=RegExp(`<${t}\\b[^>]*>`,`i`).exec(e);if(!r||r.index===void 0)return e;let i=r.index+r[0].length;return`${e.slice(0,i)}${n}${e.slice(i)}`},Be=(e,t,n,r)=>e.replace(/<html\b([^>]*)>/i,(e,i)=>`<html${i.replace(/\s(?:lang|dir|data-lang|data-theme)\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``)} lang="${t}" dir="${n}" data-lang="${t}" data-theme="${r}">`),Ve=(e,t=`en`,n=!0,r=`light`)=>{let i=Y(t),a=X(i);if(!/<html\b[^>]*>/i.test(e))return`<!DOCTYPE html><html lang="${i}" dir="${a}" data-lang="${i}" data-theme="${r}"><head>${Z(i,a,r,n)}</head><body>${e}</body></html>`;let o=Be(e,i,a,r);return/<head\b[^>]*>/i.test(o)?Q(o,`head`,Z(i,a,r,n)):Q(o,`html`,`<head>${Z(i,a,r,n)}</head>`)},He=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:home-html-iframe-resize`||typeof t.height!=`number`||!Number.isFinite(t.height)?null:Math.min(Fe,Math.max(160,Math.ceil(t.height)))},Ue={class:`tenant-home-block tenant-home-html`},We=[`title`,`sandbox`,`srcdoc`],Ge=[`lang`,`dir`,`data-lang`,`data-theme`,`innerHTML`],Ke=N(D({__name:`HomeHtmlSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>Y(n.locale||`en`)),a=v(()=>X(r.value)),o=T(),s=v(()=>n.section.height??null),d=v(()=>s.value===null),f=T(s.value??160),m=v(()=>Ve(n.section.body,r.value,d.value,n.theme||`light`)),g=e=>{if(!d.value||e.source!==o.value?.contentWindow)return;let t=He(e.data);t!==null&&(f.value=t)},_=()=>{d.value&&o.value?.contentWindow?.postMessage({type:q},`*`)};return h(()=>[n.section.body,n.section.height,n.locale,n.theme],()=>{f.value=s.value??160}),u(()=>{window.addEventListener(`message`,g),_()}),p(()=>window.removeEventListener(`message`,g)),(n,s)=>(w(),l(`article`,Ue,[e(`h2`,null,i(t.section.title),1),t.section.render_in_iframe?(w(),l(`iframe`,{key:0,ref_key:`frame`,ref:o,class:`tenant-home-content tenant-home-iframe`,title:t.section.title,sandbox:c(J),srcdoc:m.value,style:x({height:`${f.value}px`}),loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,onLoad:_},null,44,We)):(w(),l(`div`,{key:1,class:`tenant-home-content`,lang:r.value,dir:a.value,"data-lang":r.value,"data-theme":t.theme||`light`,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),innerHTML:t.section.body},null,12,Ge))]))}}),[[`__scopeId`,`data-v-ae8f8418`]]),qe={class:`tenant-home-block tenant-home-markdown`},Je=D({__name:`HomeMarkdownSection`,props:{section:{}},setup(t){return(n,r)=>(w(),l(`article`,qe,[e(`h2`,null,i(t.section.title),1),o(U,{class:`tenant-home-content`,source:t.section.body,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),sanitize:``},null,8,[`source`,`style`])]))}}),Ye={class:`tenant-home-block tenant-home-website`},Xe=[`src`,`title`,`sandbox`],Ze=[`href`],Qe=N(D({__name:`HomeWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>{try{let e=new URL(n.section.body);return e.protocol!==`https:`&&e.protocol!==`http:`?``:(e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString())}catch{return``}});return(n,a)=>(w(),l(`article`,Ye,[e(`h2`,null,i(t.section.title),1),r.value?(w(),l(`iframe`,{key:0,class:`tenant-home-content tenant-home-website-frame`,src:r.value,title:t.section.title,sandbox:c(J),style:x(t.section.height?{height:`${t.section.height}px`}:void 0),loading:`lazy`,referrerpolicy:`no-referrer`},null,12,Xe)):s(``,!0),r.value&&t.section.presentation?.open_external!==!1?(w(),l(`a`,{key:1,class:`tenant-home-open-button`,href:r.value,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`)),9,Ze)):s(``,!0)]))}}),[[`__scopeId`,`data-v-97059367`]]),$e=`profile:read credentials:read`,et=`allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox`,tt=(e,t)=>{try{if(e.kind!==`website`||!e.oauth?.client_id.trim())return null;let n=new URL(e.body),r=new URL(e.oauth.redirect_uri);return n.protocol!==`https:`||r.protocol!==`https:`||r.hash||n.username||n.password||r.username||r.password||n.origin===t||n.origin!==r.origin||!/^https:\/\//.test(t)?null:{...e.oauth,origin:n.origin}}catch{return null}},nt=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:oauth:authorize`||typeof t.state!=`string`||!/^[A-Za-z0-9_-]{16,256}$/.test(t.state)||typeof t.code_challenge!=`string`||!/^[A-Za-z0-9_-]{43}$/.test(t.code_challenge)||t.code_challenge_method!==`S256`?null:{state:t.state,code_challenge:t.code_challenge,code_challenge_method:`S256`}},rt=(e,t,n,r)=>{let i=new URL(`/oauth2/authorize`,e);return i.search=new URLSearchParams({response_type:`code`,client_id:t.client_id,redirect_uri:t.redirect_uri,scope:$e,...n,embed:`studio`,embed_origin:r}).toString(),i.toString()},it={class:`tenant-home-block tenant-home-oauth`},at={key:0,role:`alert`},ot={key:0,class:`oauth-login`},st={class:`oauth-frame-region`},ct=[`src`,`title`,`sandbox`],lt=[`src`,`title`],ut=[`href`],dt=N(D({__name:`HomeOAuthWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,a=k(),d=T(),m=T(),b=T(null),S=v(()=>tt(n.section,window.location.origin)),C=v(()=>a.getters.token?.access),D=v(()=>a.getters.user?.id||a.state.user?.id||`guest`),O=v(()=>JSON.stringify([D.value,!!C.value,S.value,n.section.body])),A=new URL(P()).origin,j=v(()=>S.value&&b.value?rt(A,S.value,b.value,window.location.origin):``),M=v(()=>{let e=new URL(n.section.body);return e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString()}),N=v(()=>({height:`${Math.max(n.section.height||640,b.value?640:160)}px`})),F,I=!1,L=e=>{S.value&&d.value?.contentWindow?.postMessage(e,S.value.origin)},R=()=>{S.value&&L({type:`acedatacloud:oauth:init`,client_id:S.value.client_id,redirect_uri:S.value.redirect_uri,scope:$e})},z=()=>{F&&clearTimeout(F),b.value=null,I=!1},B=e=>{!b.value||!S.value||(L({type:`acedatacloud:oauth:result`,state:b.value.state,redirect_uri:S.value.redirect_uri,...e}),z())},V=()=>a.dispatch(`login`),U=e=>{let t=e.data;if(!(!S.value||!t||typeof t!=`object`)){if(e.origin===S.value.origin&&e.source===d.value?.contentWindow){if(t.type===`acedatacloud:oauth:ready`){R();return}let e=nt(t);if(!e||b.value)return;if(!C.value){L({type:`acedatacloud:oauth:result`,state:e.state,error:`login_required`});return}b.value=e,F=setTimeout(()=>B({error:`authorization_timeout`}),300*1e3);return}if(!(e.origin!==A||e.source!==m.value?.contentWindow||!b.value||t.state!==b.value.state)){if(t.type===`acedatacloud:oauth:session-ready`&&!I&&C.value)I=!0,m.value?.contentWindow?.postMessage({type:`acedatacloud:oauth:session`,state:b.value.state,access_token:C.value},A);else if(t.type===`acedatacloud:oauth:result`){if(t.redirect_uri!==S.value.redirect_uri)return;typeof t.code==`string`&&t.code?B({code:t.code}):typeof t.error==`string`&&B({error:t.error})}}}};return h(O,z),u(()=>window.addEventListener(`message`,U)),p(()=>{window.removeEventListener(`message`,U),z()}),(n,a)=>(w(),l(`article`,it,[e(`h2`,null,i(t.section.title),1),S.value?(w(),l(f,{key:1},[C.value?s(``,!0):(w(),l(`p`,ot,[o(c(H),{type:`primary`,onClick:V},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.login`)),1)]),_:1})])),e(`div`,st,[g((w(),l(`iframe`,{key:O.value,ref_key:`appFrame`,ref:d,src:M.value,title:t.section.title,sandbox:c(et),style:x(N.value),referrerpolicy:`no-referrer`,onLoad:R},null,44,ct)),[[E,!b.value]]),b.value?(w(),l(`iframe`,{key:0,ref_key:`authFrame`,ref:m,src:j.value,title:n.$t(`site.homeSections.oauth.authorization`),sandbox:`allow-scripts allow-same-origin`,style:x(N.value),referrerpolicy:`origin`},null,12,lt)):s(``,!0)]),b.value?(w(),_(c(H),{key:1,class:`oauth-cancel`,onClick:a[0]||=e=>B({error:`access_denied`})},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.cancel`)),1)]),_:1})):s(``,!0),t.section.presentation?.open_external===!1?s(``,!0):(w(),l(`a`,{key:2,class:`tenant-home-open-button`,href:M.value,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`)),9,ut))],64)):(w(),l(`p`,at,i(n.$t(`site.homeSections.oauth.invalid`)),1))]))}}),[[`__scopeId`,`data-v-47b20a23`]]),ft={key:0,class:`custom-sections`},pt=D({__name:`HomeCustomSections`,props:{sections:{},site:{},locale:{}},setup(e){let t=e,n=()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`,r=T(n()),i;u(()=>{r.value=n(),i=new MutationObserver(()=>{r.value=n()}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]})}),p(()=>i?.disconnect());let a={markdown:Je,html:Ke,website:Qe},o=v(()=>t.sections.filter(e=>a[e.kind]));return(t,n)=>o.value.length?(w(),l(`section`,ft,[(w(!0),l(f,null,S(o.value,t=>(w(),_(C(t.kind===`website`&&t.oauth?dt:a[t.kind]),{key:t.id,section:t,locale:t.kind===`html`||t.kind===`website`?e.locale:void 0,theme:t.kind===`html`||t.kind===`website`?r.value:void 0},null,8,[`section`,`locale`,`theme`]))),128))])):s(``,!0)}}),$=12,mt=D({name:`StudioHome`,components:{ArrowUpToLine:se,CategoryTiles:ge,ShowcaseGrid:oe,ShowcaseDetailDialog:ae,HomeCarousel:Ne,HomeCustomSections:pt},data(){return{showBackToTop:!1,failedIcons:{},failedBannerImages:{},failedCategoryImages:{},rawBanners:[],bannerLoadGeneration:0,rawShowcases:[],rawHomeSections:[],homeSectionLoadGeneration:0,showcaseLoadGeneration:0,visibleShowcaseCount:$,showcaseLoadObserver:void 0,showcaseAutoLoadArmed:!0,selectedShowcase:void 0}},computed:{site(){return this.$store.state.site},siteLoaded(){return!!this.site?.id},bannerEnabled(){return G(this.site,`banner`)},categoriesEnabled(){return G(this.site,`categories`)},showcaseEnabled(){return G(this.site,`showcase`)},bannerRequestKey(){return!this.siteLoaded||!this.bannerEnabled?``:`${this.site?.id||``}|${A(this.site)}|${String(this.$i18n.locale||`en`)}`},showcaseRequestKey(){return!this.siteLoaded||!this.showcaseEnabled?``:`${this.site?.id||``}|${String(this.$i18n.locale||`en`)}`},homeSectionRequestKey(){return!this.siteLoaded||!M()?``:`${this.site?.id||``}|${A(this.site)}|${String(this.$i18n.locale||`en`)}`},enabledKeys(){if(!this.siteLoaded)return new Set;let e=this.site?.features??{};return new Set(L.filter(t=>e[t]?.enabled&&j(t)))},banners(){let e=te(this.site),t=W.filter(t=>this.enabledKeys.has(t.capability)&&!e.has(t.id)).map(e=>({...this.resolve(e),id:e.id,imageUrl:this.failedBannerImages[e.id]?``:e.imageUrl,eyebrow:this.$t(e.eyebrowKey),title:this.$t(e.titleKey),target:{routeName:e.routeName}})),n=String(this.$i18n.locale||`en`),r=this.rawBanners.map(e=>{let t=K(e.title,n);return{id:e.id||`custom-${e.sort_order||0}`,name:t,eyebrow:``,title:t,description:K(e.subtitle,n),icon:this.site?.logo||this.site?.favicon||``,defaultIcon:this.site?.logo||this.site?.favicon||``,imageUrl:this.failedBannerImages[e.id||``]?``:e.image_url||``,target:e.link_url?{href:e.link_url}:null}});return[...t,...r]},categories(){let e=[],t=ne(this.site),n=this.site?.home?.scenes;if(n!=null){for(let t of n){if(t.visible===!1)continue;let n=t.tools.flatMap(e=>{let t=ee.get(e.capability);return!t||!this.enabledKeys.has(e.capability)?[]:[this.resolve(t)]});n.length&&e.push({id:t.id,title:t.title,description:t.description,imageUrl:this.failedCategoryImages[t.id]?``:t.image_url||``,items:n})}return e}for(let n of re){if(t.has(n.id))continue;let r=n.candidates.filter(e=>this.enabledKeys.has(e.capability)).map(e=>this.resolve(e));r.length&&e.push({id:n.id,title:this.$t(n.titleKey),description:this.$t(n.descriptionKey),imageUrl:this.failedCategoryImages[n.id]?``:n.imageUrl,focalPoint:n.focalPoint,items:r})}return e},resolvedShowcases(){let e=this.site;return e?this.rawShowcases.map(t=>ie(t,e)).filter(e=>!!e).map(e=>({...e,icon:this.failedIcons[e.capability]?e.defaultIcon:e.icon})):[]},visibleShowcases(){return this.resolvedShowcases.slice(0,this.visibleShowcaseCount)},hasMoreShowcases(){return this.visibleShowcaseCount<this.resolvedShowcases.length}},watch:{bannerRequestKey:{immediate:!0,handler(e){e?this.loadBanners():(this.bannerLoadGeneration+=1,this.rawBanners=[],this.failedBannerImages={})}},homeSectionRequestKey:{immediate:!0,handler(e){e?this.loadHomeSections():(this.homeSectionLoadGeneration+=1,this.rawHomeSections=[])}},showcaseRequestKey:{immediate:!0,handler(e){e?this.loadShowcases():(this.showcaseLoadGeneration+=1,this.rawShowcases=[],this.visibleShowcaseCount=$,this.selectedShowcase=void 0)}},hasMoreShowcases(){this.$nextTick(()=>this.observeShowcaseLoadMore())}},mounted(){this.setupShowcaseLoadObserver()},beforeUnmount(){this.bannerLoadGeneration+=1,this.homeSectionLoadGeneration+=1,this.showcaseLoadGeneration+=1,this.showcaseLoadObserver?.disconnect()},methods:{onHomeScroll(e){this.showBackToTop=e.currentTarget.scrollTop>300},scrollToTop(){let e=this.$refs.homeScroll;e.focus({preventScroll:!0}),e.scrollTo({top:0,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})},resolve(e){let t=I[e.capability],n=V(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:e.imageUrl,focalPoint:e.focalPoint}},async loadBanners(){if(!this.bannerRequestKey)return;let e=this.bannerRequestKey,t=++this.bannerLoadGeneration;this.rawBanners=[];try{let n=await B.getPublic(A(this.site));t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=Array.isArray(n.data)?n.data:[])}catch{t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=[])}},async loadHomeSections(){if(!this.homeSectionRequestKey)return;let e=this.homeSectionRequestKey,t=++this.homeSectionLoadGeneration;this.rawHomeSections=[];try{let n=await R.getPublic(A(this.site),String(this.$i18n.locale||`en`));t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=Array.isArray(n.data)?n.data:[])}catch{t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=[])}},async loadShowcases(){if(!this.showcaseRequestKey)return;let e=this.showcaseRequestKey,t=++this.showcaseLoadGeneration,n=String(this.$i18n.locale||`en`);this.visibleShowcaseCount=$,this.showcaseAutoLoadArmed=!0,this.rawShowcases=[],this.selectedShowcase=void 0;try{let r=await F.list(void 0,n);t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=Array.isArray(r.data)?r.data:[])}catch{t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=[])}},loadMoreShowcases(){this.visibleShowcaseCount=Math.min(this.visibleShowcaseCount+$,this.resolvedShowcases.length)},onShowcaseLoadMoreClick(){this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases()},setupShowcaseLoadObserver(){`IntersectionObserver`in window&&(this.showcaseLoadObserver=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting){this.showcaseAutoLoadArmed=!0;continue}this.showcaseAutoLoadArmed&&(this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases())}},{root:this.$el,rootMargin:`400px 0px`}),this.observeShowcaseLoadMore())},observeShowcaseLoadMore(){this.showcaseLoadObserver?.disconnect();let e=this.$refs.showcaseLoadMore;e instanceof HTMLElement&&this.showcaseLoadObserver?.observe(e)},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.failedBannerImages[e.id]=!0},onCategoryImageError(e){this.failedCategoryImages[e]=!0}}}),ht={class:`dashboard`},gt=[`aria-label`,`title`],_t=[`aria-label`];function vt(t,n,r,a,c,u){let d=m(`home-carousel`),f=m(`category-tiles`),p=m(`home-custom-sections`),h=m(`showcase-grid`),g=m(`ArrowUpToLine`),v=m(`showcase-detail-dialog`);return t.siteLoaded?(w(),l(`main`,{key:0,ref:`homeScroll`,class:`studio-home`,tabindex:`-1`,onScrollPassive:n[4]||=(...e)=>t.onHomeScroll&&t.onHomeScroll(...e)},[e(`div`,ht,[t.bannerEnabled&&t.banners.length?(w(),_(d,{key:0,slides:t.banners,onImageError:t.onImageError},null,8,[`slides`,`onImageError`])):s(``,!0),t.categoriesEnabled&&t.categories.length?(w(),_(f,{key:1,items:t.categories,heading:t.$t(`intro.home.quick.title`),subtitle:t.$t(`intro.home.quick.subtitle`),onCategoryImageError:t.onCategoryImageError,onIconError:t.onIconError},null,8,[`items`,`heading`,`subtitle`,`onCategoryImageError`,`onIconError`])):s(``,!0),t.rawHomeSections.length?(w(),_(p,{key:2,sections:t.rawHomeSections,site:t.site,locale:String(t.$i18n.locale||`en`)},null,8,[`sections`,`site`,`locale`])):s(``,!0),t.showcaseEnabled&&t.visibleShowcases.length?(w(),_(h,{key:3,items:t.visibleShowcases,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`),"detail-preview":``,onSelect:n[0]||=e=>t.selectedShowcase=e,onIconError:t.onShowcaseIconError},null,8,[`items`,`eyebrow`,`title`,`subtitle`,`aria-label`,`onIconError`])):s(``,!0),t.showcaseEnabled&&t.hasMoreShowcases?(w(),l(`button`,{key:4,ref:`showcaseLoadMore`,type:`button`,class:`showcase-load-more`,onClick:n[1]||=(...e)=>t.onShowcaseLoadMoreClick&&t.onShowcaseLoadMoreClick(...e)},i(t.$t(`intro.home.showcase.loadMore`)),513)):s(``,!0)]),o(b,{name:`back-to-top`},{default:y(()=>[t.showBackToTop?(w(),l(`button`,{key:0,type:`button`,class:`home-back-to-top`,"aria-label":t.$t(`intro.home.backToTop`),title:t.$t(`intro.home.backToTop`),onClick:n[2]||=(...e)=>t.scrollToTop&&t.scrollToTop(...e)},[o(g,{size:14,"stroke-width":1.8,"aria-hidden":`true`})],8,gt)):s(``,!0)]),_:1}),o(v,{item:t.selectedShowcase,onClose:n[3]||=e=>t.selectedShowcase=void 0},null,8,[`item`])],544)):(w(),l(`div`,{key:1,class:`home-loading`,role:`status`,"aria-label":t.$t(`common.status.loading`)},[...n[5]||=[e(`span`,null,null,-1)]],8,_t))}var yt=N(mt,[[`render`,vt],[`__scopeId`,`data-v-b1f4587d`]]);export{yt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{n as d,t as f}from"./table-DcbbzgnI.js";import{t as ee}from"./tooltip-CsVgfK1f.js";import{t as p}from"./card-IQwqnRJR.js";import{n as m,t as h}from"./row-BTg1B7Rq.js";import{t as g}from"./divider-Du_3kymg.js";import{t as _}from"./progress-BuyYfFZn.js";import{t as v}from"./skeleton-Dj_a_iIP.js";import{t as y}from"./coins-CVrCGMHa.js";import{t as b}from"./link-DTTCfbSO.js";import{t as x}from"./user-bjnB3b4c.js";import{t as S}from"./wallet-BtENm1mj.js";import{Ka as C,oo as w,qa as T}from"./constants-CVb0vrXj.js";import{D as E,En as D,Gi as O,It as k,Jr as A,Pt as j,V as M,Va as N,Xr as P,Yr as F,gt as I,to as L}from"./index-C643U2rX.js";import{t as R}from"./CopyToClipboard-Dc_53C_9.js";var z=u({name:`ConsoleDistributionList`,components:{CreditsIcon:y,LinkIcon:b,PercentIcon:N(`percent`,[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]),UserIcon:x,WalletIcon:S,CopyToClipboard:R,QrCode:M,ElProgress:_,ElRow:h,ElCol:m,ElButton:L,ElDivider:g,ElCard:p,ElTooltip:ee,ElTable:f,ElTableColumn:d,ElSkeleton:v},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{showOfficialTools(){return C()||!w()},redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},qrColor(){let e=document.documentElement.classList.contains(`dark`);return{dark:e?`#ffffff`:`#000000`,light:e?`#1e1e1e`:`#ffffff`}},distributionLevelMap(){let e={};return this.distributionLevels.forEach(t=>{e[t.level]=t}),e}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:D,goPromotionTemplates(){this.$router.push({name:I,query:{template_category:`marketing`}})},goHistory(){this.$router.push({name:j})},goInvitees(){this.$router.push({name:k})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},getPercentageForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-e)/(t-e)*100)},getDeltaForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(e-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await F.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){let e=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{let t=(await P.create(e))?.data?.data?.url||e;this.distributionLink=T()?t.replace(`surl.id`,`share.acedata.cloud`):t}catch{this.distributionLink=e}},async onFetchDistributionStatus(){let{data:e}=await F.getAll({user_id:this.$store.getters.user.id});e.items&&e.items.length>0&&(this.distributionStatus=e.items[0])},async onFetchDistributionLevels(){let{data:e}=await A.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=e.items},async onFetchInvitees(){let{data:e}=await O.getInvitees({});this.invitees=e.items,this.inviteesCount=e.count}}}),B={class:`title`},V={key:1},H={class:`icon-wrapper`},U={class:`text-left`},W={class:`description`},G={class:`value`},K={key:1},q={class:`icon-wrapper`},J={class:`text-left`},Y={class:`description`},X={class:`value`},Z={key:1},te={class:`icon-wrapper`},Q={class:`text-left`},ne={class:`description`},re={class:`value`},ie={key:1},ae={class:`icon-wrapper`},oe={class:`text-left`},se={class:`description`},ce={class:`value`},le={key:1},ue={class:`title`},de={class:`clear-both overflow-hidden`},fe={class:`float-left description`},pe={class:`float-right description`},me={class:`description`},he={class:`level`},ge={class:`level`},_e={class:`level`},ve={key:1},ye={class:`title`},be={class:`link-wrapper text-center`},$=[`href`],xe={class:`qr-wrapper ml-auto mr-auto`},Se={class:`mt-0`},Ce={class:`description`},we={class:`more`};function Te(u,d,f,ee,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`el-skeleton`),v=o(`wallet-icon`),y=o(`el-button`),b=o(`el-card`),x=o(`credits-icon`),S=o(`el-tooltip`),C=o(`percent-icon`),w=o(`user-icon`),T=o(`el-progress`),E=o(`el-divider`),D=o(`el-table-column`),O=o(`el-table`);o(`link-icon`);let k=o(`copy-to-clipboard`),A=o(`qr-code`);return l(),s(g,{class:`panel`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(g,null,{default:c(()=>[r(h,{span:24},{default:c(()=>[e(`h2`,B,n(u.$t(`common.title.distribution`)),1)]),_:1})]),_:1}),r(g,{gutter:15,class:`card-gap card-section-gap`},{default:c(()=>[r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,V,[e(`div`,H,[r(v,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,U,[e(`p`,W,n(u.$t(`distribution.title.price`)),1),e(`p`,G,n(u.getPriceString({value:u.distributionStatus?.price})),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goHistory},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,K,[e(`div`,q,[r(x,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,J,[e(`p`,Y,n(u.$t(`distribution.title.reward`)),1),e(`p`,X,n(u.getPriceString({value:u.distributionStatus?.reward})),1)]),r(S,{effect:`dark`,content:u.$t(`distribution.message.developingWithDrawal`),placement:`top`},{default:c(()=>[r(y,{type:`primary`,round:``,size:`small`,class:`btn`},{default:c(()=>[t(n(u.$t(`distribution.button.withdrawal`)),1)]),_:1})]),_:1},8,[`content`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,Z,[e(`div`,te,[r(C,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,Q,[e(`p`,ne,n(u.$t(`distribution.title.percentage`)),1),e(`p`,re,n(u.distributionStatus?.level?.percentage)+`%`,1)])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ie,[e(`div`,ae,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,oe,[e(`p`,se,n(u.$t(`distribution.title.inviteesCount`)),1),e(`p`,ce,n(u.inviteesCount),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goInvitees},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1})]),_:1}),u.showOfficialTools?(l(),s(g,{key:0,gutter:15,class:`card-section-gap`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(b,{shadow:`never`,class:`automation-card`},{default:c(()=>[e(`div`,null,[e(`h3`,null,n(u.$t(`distribution.title.promotionAutomation`)),1),e(`p`,null,n(u.$t(`distribution.message.promotionAutomation`)),1)]),r(y,{type:`primary`,round:``,onClick:u.goPromotionTemplates},{default:c(()=>[t(n(u.$t(`distribution.button.browseTemplates`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1})):i(``,!0),r(g,{gutter:15,class:`card-gap card-section-gap`},{default:c(()=>[r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`level-info`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,le,[e(`h4`,ue,n(u.$t(`distribution.title.levelInfo`)),1),e(`div`,de,[e(`div`,fe,[e(`p`,null,n(u.$t(`distribution.title.currentLevel`))+`: L`+n(u.distributionStatus?.level?.level),1),e(`p`,null,n(u.$t(`distribution.title.currentPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level]?.percentage)+`% `,1)]),e(`div`,pe,[e(`p`,null,n(u.$t(`distribution.title.nextLevel`))+`: L`+n(u.distributionStatus?.level?.level+1),1),e(`p`,null,n(u.$t(`distribution.title.nextPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level+1]?.percentage)+`% `,1)])]),r(T,{"text-inside":!0,"stroke-width":20,percentage:u.getPercentageForNextLevel(),class:`mb-2`},null,8,[`percentage`]),e(`p`,me,n(u.$t(`distribution.message.deltaPriceForNextLevel`))+`: $`+n(u.getDeltaForNextLevel()),1),r(E),u.distributionLevels?(l(),s(O,{key:0,data:u.distributionLevels,stripe:``},{default:c(()=>[r(D,{label:u.$t(`distribution.field.level`)},{default:c(t=>[e(`span`,he,`L`+n(t.row?.level),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.threshold`)},{default:c(t=>[e(`span`,ge,`$`+n(t.row?.threshold),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.percentage`)},{default:c(t=>[e(`span`,_e,n(t.row?.percentage)+`%`,1)]),_:1},8,[`label`])]),_:1},8,[`data`])):i(``,!0)]))]),_:1})]),_:1}),r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`distribution-info`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ve,[e(`h4`,ye,n(u.$t(`distribution.title.distributionLink`)),1),r(E),e(`div`,be,[i(``,!0),e(`a`,{href:u.distributionLink,class:`link`},n(u.distributionLink),9,$),r(k,{content:u.distributionLink},null,8,[`content`])]),e(`div`,xe,[u.distributionLink?(l(),s(A,{key:0,value:u.distributionLink,size:180,margin:2,class:`block mb-2 ml-auto mr-auto`,type:`image/png`,color:u.qrColor},null,8,[`value`,`color`])):i(``,!0),e(`p`,Se,n(u.$t(`distribution.message.distributionQrDescription`)),1)]),e(`p`,Ce,[t(n(u.$t(`distribution.message.distributionLinkDescription`))+` `,1),e(`span`,we,[r(S,{effect:`dark`,content:u.$t(`distribution.message.distributionLinkDescription2`),placement:`top`},{default:c(()=>[t(n(u.$t(`distribution.message.technicalDetail`)),1)]),_:1},8,[`content`])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Ee=E(z,[[`render`,Te],[`__scopeId`,`data-v-1d72308e`]]);export{Ee as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{n as d,t as f}from"./table-DRotfm-k.js";import{t as ee}from"./tooltip-BFMHj7yV.js";import{t as p}from"./card-IQwqnRJR.js";import{n as m,t as h}from"./row-BgeFnNqr.js";import{t as g}from"./divider-Du_3kymg.js";import{t as _}from"./progress-BuyYfFZn.js";import{t as v}from"./skeleton-Dj_a_iIP.js";import{t as y}from"./coins-D2PG1Dcv.js";import{t as b}from"./link-CA71xo7D.js";import{t as x}from"./user-DbQMGtR0.js";import{t as S}from"./wallet-4XwgqLJP.js";import{Ka as C,oo as w,qa as T}from"./constants-4TRM3yeb.js";import{D as E,En as D,Gi as O,It as k,Jr as A,Pt as j,V as M,Va as N,Xr as P,Yr as F,gt as I,to as L}from"./index-DURbYpHp.js";import{t as R}from"./CopyToClipboard-OD_-zDDD.js";var z=u({name:`ConsoleDistributionList`,components:{CreditsIcon:y,LinkIcon:b,PercentIcon:N(`percent`,[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]),UserIcon:x,WalletIcon:S,CopyToClipboard:R,QrCode:M,ElProgress:_,ElRow:h,ElCol:m,ElButton:L,ElDivider:g,ElCard:p,ElTooltip:ee,ElTable:f,ElTableColumn:d,ElSkeleton:v},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{showOfficialTools(){return C()||!w()},redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},qrColor(){let e=document.documentElement.classList.contains(`dark`);return{dark:e?`#ffffff`:`#000000`,light:e?`#1e1e1e`:`#ffffff`}},distributionLevelMap(){let e={};return this.distributionLevels.forEach(t=>{e[t.level]=t}),e}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:D,goPromotionTemplates(){this.$router.push({name:I,query:{template_category:`marketing`}})},goHistory(){this.$router.push({name:j})},goInvitees(){this.$router.push({name:k})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},getPercentageForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-e)/(t-e)*100)},getDeltaForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(e-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await F.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){let e=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{let t=(await P.create(e))?.data?.data?.url||e;this.distributionLink=T()?t.replace(`surl.id`,`share.acedata.cloud`):t}catch{this.distributionLink=e}},async onFetchDistributionStatus(){let{data:e}=await F.getAll({user_id:this.$store.getters.user.id});e.items&&e.items.length>0&&(this.distributionStatus=e.items[0])},async onFetchDistributionLevels(){let{data:e}=await A.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=e.items},async onFetchInvitees(){let{data:e}=await O.getInvitees({});this.invitees=e.items,this.inviteesCount=e.count}}}),B={class:`title`},V={key:1},H={class:`icon-wrapper`},U={class:`text-left`},W={class:`description`},G={class:`value`},K={key:1},q={class:`icon-wrapper`},J={class:`text-left`},Y={class:`description`},X={class:`value`},Z={key:1},te={class:`icon-wrapper`},Q={class:`text-left`},ne={class:`description`},re={class:`value`},ie={key:1},ae={class:`icon-wrapper`},oe={class:`text-left`},se={class:`description`},ce={class:`value`},le={key:1},ue={class:`title`},de={class:`clear-both overflow-hidden`},fe={class:`float-left description`},pe={class:`float-right description`},me={class:`description`},he={class:`level`},ge={class:`level`},_e={class:`level`},ve={key:1},ye={class:`title`},be={class:`link-wrapper text-center`},$=[`href`],xe={class:`qr-wrapper ml-auto mr-auto`},Se={class:`mt-0`},Ce={class:`description`},we={class:`more`};function Te(u,d,f,ee,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`el-skeleton`),v=o(`wallet-icon`),y=o(`el-button`),b=o(`el-card`),x=o(`credits-icon`),S=o(`el-tooltip`),C=o(`percent-icon`),w=o(`user-icon`),T=o(`el-progress`),E=o(`el-divider`),D=o(`el-table-column`),O=o(`el-table`);o(`link-icon`);let k=o(`copy-to-clipboard`),A=o(`qr-code`);return l(),s(g,{class:`panel`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(g,null,{default:c(()=>[r(h,{span:24},{default:c(()=>[e(`h2`,B,n(u.$t(`common.title.distribution`)),1)]),_:1})]),_:1}),r(g,{gutter:15,class:`card-gap card-section-gap`},{default:c(()=>[r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,V,[e(`div`,H,[r(v,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,U,[e(`p`,W,n(u.$t(`distribution.title.price`)),1),e(`p`,G,n(u.getPriceString({value:u.distributionStatus?.price})),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goHistory},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,K,[e(`div`,q,[r(x,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,J,[e(`p`,Y,n(u.$t(`distribution.title.reward`)),1),e(`p`,X,n(u.getPriceString({value:u.distributionStatus?.reward})),1)]),r(S,{effect:`dark`,content:u.$t(`distribution.message.developingWithDrawal`),placement:`top`},{default:c(()=>[r(y,{type:`primary`,round:``,size:`small`,class:`btn`},{default:c(()=>[t(n(u.$t(`distribution.button.withdrawal`)),1)]),_:1})]),_:1},8,[`content`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,Z,[e(`div`,te,[r(C,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,Q,[e(`p`,ne,n(u.$t(`distribution.title.percentage`)),1),e(`p`,re,n(u.distributionStatus?.level?.percentage)+`%`,1)])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ie,[e(`div`,ae,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,oe,[e(`p`,se,n(u.$t(`distribution.title.inviteesCount`)),1),e(`p`,ce,n(u.inviteesCount),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goInvitees},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1})]),_:1}),u.showOfficialTools?(l(),s(g,{key:0,gutter:15,class:`card-section-gap`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(b,{shadow:`never`,class:`automation-card`},{default:c(()=>[e(`div`,null,[e(`h3`,null,n(u.$t(`distribution.title.promotionAutomation`)),1),e(`p`,null,n(u.$t(`distribution.message.promotionAutomation`)),1)]),r(y,{type:`primary`,round:``,onClick:u.goPromotionTemplates},{default:c(()=>[t(n(u.$t(`distribution.button.browseTemplates`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1})):i(``,!0),r(g,{gutter:15,class:`card-gap card-section-gap`},{default:c(()=>[r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`level-info`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,le,[e(`h4`,ue,n(u.$t(`distribution.title.levelInfo`)),1),e(`div`,de,[e(`div`,fe,[e(`p`,null,n(u.$t(`distribution.title.currentLevel`))+`: L`+n(u.distributionStatus?.level?.level),1),e(`p`,null,n(u.$t(`distribution.title.currentPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level]?.percentage)+`% `,1)]),e(`div`,pe,[e(`p`,null,n(u.$t(`distribution.title.nextLevel`))+`: L`+n(u.distributionStatus?.level?.level+1),1),e(`p`,null,n(u.$t(`distribution.title.nextPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level+1]?.percentage)+`% `,1)])]),r(T,{"text-inside":!0,"stroke-width":20,percentage:u.getPercentageForNextLevel(),class:`mb-2`},null,8,[`percentage`]),e(`p`,me,n(u.$t(`distribution.message.deltaPriceForNextLevel`))+`: $`+n(u.getDeltaForNextLevel()),1),r(E),u.distributionLevels?(l(),s(O,{key:0,data:u.distributionLevels,stripe:``},{default:c(()=>[r(D,{label:u.$t(`distribution.field.level`)},{default:c(t=>[e(`span`,he,`L`+n(t.row?.level),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.threshold`)},{default:c(t=>[e(`span`,ge,`$`+n(t.row?.threshold),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.percentage`)},{default:c(t=>[e(`span`,_e,n(t.row?.percentage)+`%`,1)]),_:1},8,[`label`])]),_:1},8,[`data`])):i(``,!0)]))]),_:1})]),_:1}),r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`distribution-info`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ve,[e(`h4`,ye,n(u.$t(`distribution.title.distributionLink`)),1),r(E),e(`div`,be,[i(``,!0),e(`a`,{href:u.distributionLink,class:`link`},n(u.distributionLink),9,$),r(k,{content:u.distributionLink},null,8,[`content`])]),e(`div`,xe,[u.distributionLink?(l(),s(A,{key:0,value:u.distributionLink,size:180,margin:2,class:`block mb-2 ml-auto mr-auto`,type:`image/png`,color:u.qrColor},null,8,[`value`,`color`])):i(``,!0),e(`p`,Se,n(u.$t(`distribution.message.distributionQrDescription`)),1)]),e(`p`,Ce,[t(n(u.$t(`distribution.message.distributionLinkDescription`))+` `,1),e(`span`,we,[r(S,{effect:`dark`,content:u.$t(`distribution.message.distributionLinkDescription2`),placement:`top`},{default:c(()=>[t(n(u.$t(`distribution.message.technicalDetail`)),1)]),_:1},8,[`content`])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Ee=E(z,[[`render`,Te],[`__scopeId`,`data-v-1d72308e`]]);export{Ee as default};
@@ -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 ee,rt as h,st as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{n as b,t as x}from"./tabs-0J-7r8zS.js";import{t as S}from"./tooltip-CsVgfK1f.js";import{v as C}from"./vuex.esm-bundler-uM-kqbAF.js";import{n as w,r as T,t as E}from"./dropdown-CLk44aHS.js";import{t as D}from"./switch-FNAnbKSR.js";import{t as O}from"./book-open-VVs1gk2C.js";import{t as k}from"./chevron-down-BqX4KeBM.js";import{t as A}from"./chevron-right-1mOXqXoj.js";import{t as j}from"./circle-check-C6ll6g09.js";import{t as M}from"./circle-question-mark-CNP_CdTe.js";import{t as N}from"./clipboard-list-BhkjCno-.js";import{a as P,i as F,n as I,r as L,t as R}from"./WriteSkillDialog-DEZTP_2V.js";import{t as z}from"./code-7YWrTdfy.js";import{t as B}from"./copy-CP8f_ETR.js";import{t as V}from"./ellipsis-AczbhGQu.js";import{t as H}from"./eye-DOsuMFw9.js";import{t as U}from"./file-text-MxE-jd8A.js";import{t as W}from"./file-D5T6JpWA.js";import{t as G}from"./folder-Cbda4XN8.js";import{t as K}from"./image-Dsh8h-Vr.js";import{t as te}from"./plus-Cv4THF6Q.js";import{t as q}from"./scroll-text-11dAwBrb.js";import{t as ne}from"./search-BWxJsKnb.js";import{t as re}from"./trash-2-rtHpr3JN.js";import{t as ie}from"./triangle-alert-D_wd4w3Z.js";import{t as ae}from"./upload-DoPPJ2yy.js";import{t as oe}from"./wand-sparkles-CReI7Ekg.js";import{D as J,Ha as se,Ra as ce,Ua as Y,Va as X,lo as le,to as ue}from"./index-C643U2rX.js";import{a as de,c as fe,d as pe,f as me,i as he,l as ge,m as Z,n as Q,o as _e,p as ve,r as ye,s as be,t as xe,u as Se}from"./vendor-highlight-PMOaWWrP.js";import{t as Ce}from"./VueMarkdown-xfBKJ0cL.js";import{t as we}from"./index.es-BS_qwYo-.js";import{t as Te}from"./PageHeader-v-5kKXbh.js";var Ee=X(`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`}]]),De=X(`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`}]]);Z.registerLanguage(`bash`,ve),Z.registerLanguage(`css`,me),Z.registerLanguage(`go`,pe),Z.registerLanguage(`javascript`,Se),Z.registerLanguage(`json`,ge),Z.registerLanguage(`markdown`,fe),Z.registerLanguage(`python`,be),Z.registerLanguage(`rust`,_e),Z.registerLanguage(`shell`,de),Z.registerLanguage(`sql`,he),Z.registerLanguage(`typescript`,ye),Z.registerLanguage(`xml`,Q),Z.registerLanguage(`html`,Q),Z.registerLanguage(`yaml`,xe),Z.registerAliases([`yml`],{languageName:`yaml`}),Z.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Z.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Z.registerAliases([`py`],{languageName:`python`}),Z.registerAliases([`rs`],{languageName:`rust`}),Z.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Oe(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 ke(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Z.getLanguage(t)?t:`plain`}var Ae=y({name:`SkillFilePreview`,components:{ElButton:ue,ElTooltip:S,ElTabs:b,ElTabPane:x,CodeIcon:z,CopyIcon:B,FileIcon:W,SaveIcon:De,SuccessIcon:j,ViewIcon:H,WarningIcon:ie,VueMarkdown:Ce},directives:{loading:Y},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?Oe(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${ke(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 F.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Oe(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,Z.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),C.success(this.$t(`skill.preview.copied`))}catch{C.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}}}}),je={class:`preview-root`},Me={class:`toolbar`},Ne={class:`path-display`},Pe={key:0,class:`size-display`},Fe={class:`body`},Ie={key:0,class:`error`},Le=[`srcdoc`],Re={key:3,class:`image-pane`},ze=[`src`,`alt`],Be={key:4,class:`binary`},Ve=[`placeholder`],He={key:6,class:`source-pane`},Ue={key:7,class:`truncated-warning`};function We(t,c,ee,h,g,v){let y=l(`save-icon`),b=l(`el-button`),x=l(`success-icon`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((_(),s(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.path||`—`),1),t.size?(_(),s(`span`,Pe,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(_(),f(b,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`common.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{visible:t.copied,content:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),placement:`top-start`},{default:p(()=>[a(b,{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?(_(),f(x,{key:0,size:16,"aria-hidden":`true`,focusable:`false`})):(_(),f(S,{key:1,size:16,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`visible`,`content`])]),t.canRender?(_(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{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`,Fe,[t.error?(_(),s(`div`,Ie,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(_(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(_(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Le)):t.kind===`image`?(_(),s(`div`,Re,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,ze)])):t.kind===`binary`?(_(),s(`div`,Be,[a(A,{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((_(),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,Ve)),[[u,t.textContent]]):(_(),s(`pre`,He,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(_(),s(`p`,Ue,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ge=J(Ae,[[`render`,We],[`__scopeId`,`data-v-872078d9`]]),Ke=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),qe=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Je(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?O:n===`md`?U:qe.has(n)?K:Ke.has(n)?Ee:W}function Ye(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 Xe=y({name:`FileNode`,components:{ExpandDownIcon:k,ExpandRightIcon:A,FontAwesomeIcon:we},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?Je(e.path):G},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Ze=[`aria-label`,`title`],Qe={key:1,class:`node-chevron-spacer`},$e={class:`node-label`},et={key:0,class:`children`};function tt(r,a,u,d,p,m){let v=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`font-awesome-icon`),x=l(`file-node`,!0);return _(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:ee({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(_(),s(`span`,Qe)):(_(),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?(_(),f(v,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(_(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Ze)),r.isHtmlFile(r.node)?(_(),f(b,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(_(),f(g(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,$e,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(_(),s(`ul`,et,[(_(!0),s(c,null,h(r.node.children||[],e=>(_(),f(x,{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 nt=y({name:`SkillRow`,components:{ExpandDownIcon:k,ExpandRightIcon:A,SkillIcon:q,FileNode:J(Xe,[[`render`,tt],[`__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 Ye(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)}}}),rt={class:`skill-row-wrapper`},it=[`aria-label`,`title`],at={key:1,class:`row-chevron-spacer`},ot=[`title`],st={key:0,class:`file-list`};function ct(r,u,d,p,m,ee){let g=l(`expand-down-icon`),v=l(`expand-right-icon`),y=l(`skill-icon`),b=l(`file-node`);return _(),s(`li`,rt,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(_(),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?(_(),f(g,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(_(),f(v,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,it)):(_(),s(`span`,at)),a(y,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,ot)],2),r.expanded&&r.hasChildren?(_(),s(`ul`,st,[(_(!0),s(c,null,h(r.tree,e=>(_(),f(b,{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 lt=y({name:`UserSkills`,components:{MetaTag:ce,ConsolePageHeader:Te,ElInput:le,ElSwitch:D,ElTooltip:S,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,AddIcon:te,AiCreateIcon:oe,DeleteIcon:re,ExpandDownIcon:k,ExpandRightIcon:A,HelpIcon:M,MarketplaceIcon:P,MoreIcon:V,SearchIcon:ne,SkillIcon:q,UploadIcon:ae,WriteIcon:N,SkillMarketplace:L,SkillFilePreview:Ge,SkillRow:J(nt,[[`render`,ct],[`__scopeId`,`data-v-231c2ce1`]]),UploadSkillDialog:I,WriteSkillDialog:R},directives:{loading:Y},data(){return{activeTab:`marketplace`,loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!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 F.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),C.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.activeTab=`marketplace`},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 F.update(this.selectedSkill.id,{content:e});C.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){C.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await se.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`common.button.delete`),{type:`warning`})}catch{return}try{await F.remove(e.id),C.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){C.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await F.enable(e.id),C.success(this.$t(`skill.message.enableSuccess`))):(await F.disable(e.id),C.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){C.error(this.extractError(e))}finally{this.togglingId=null}}}}),ut={class:`skills-page`},dt=[`aria-label`],ft=[`aria-selected`],pt=[`aria-selected`],mt={class:`marketplace-page-content`},ht={class:`skills-shell`},gt={class:`left-pane`},_t={class:`left-header`},vt=[`aria-label`,`title`],yt={class:`submenu-trigger`},bt={class:`left-body`},xt={class:`section`},St={key:0,class:`skill-list`},Ct={key:0,class:`empty-row`},wt={key:0,class:`section`},Tt={key:0,class:`skill-list`},Et={class:`right-pane`},Dt={class:`right-header`},Ot={class:`right-title`},kt={class:`right-actions`},At=[`aria-label`,`title`],jt={class:`meta-card`},Mt={class:`meta-grid`},Nt={class:`meta-cell`},Pt={class:`meta-label`},Ft={class:`meta-value`},It={class:`meta-cell`},Lt={class:`meta-label`},Rt={class:`meta-value`},zt={key:0,class:`meta-cell`},Bt={class:`meta-label`},Vt={class:`meta-tags`},Ht={key:0,class:`meta-description`},Ut={class:`meta-description-label`},Wt={class:`meta-label`},Gt={class:`preview-card`},Kt={key:2,class:`right-empty`};function qt(t,u,ee,g,y,b){let x=l(`console-page-header`),S=l(`marketplace-icon`),C=l(`skill-icon`),w=l(`skill-marketplace`),T=l(`search-icon`),E=l(`el-input`),D=l(`add-icon`),O=l(`el-dropdown-item`),k=l(`expand-right-icon`),A=l(`ai-create-icon`),j=l(`meta-tag`),M=l(`write-icon`),N=l(`upload-icon`),P=l(`el-dropdown-menu`),F=l(`el-dropdown`),I=l(`expand-down-icon`),L=l(`skill-row`),R=l(`el-switch`),z=l(`more-icon`),B=l(`delete-icon`),V=l(`help-icon`),H=l(`el-tooltip`),U=l(`skill-file-preview`),W=l(`upload-skill-dialog`),G=l(`write-skill-dialog`),K=m(`loading`);return _(),s(`div`,ut,[a(x,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,{class:`skills-tabs`,role:`tablist`,"aria-label":t.$t(`skill.title.skills`)},[e(`button`,{role:`tab`,"aria-selected":t.activeTab===`marketplace`,class:n({active:t.activeTab===`marketplace`}),onClick:u[0]||=e=>t.activeTab=`marketplace`},[a(S,{size:16,"aria-hidden":`true`}),r(i(t.$t(`skill.marketplace.title`)),1)],10,ft),e(`button`,{role:`tab`,"aria-selected":t.activeTab===`mine`,class:n({active:t.activeTab===`mine`}),onClick:u[1]||=e=>t.activeTab=`mine`},[a(C,{size:16,"aria-hidden":`true`}),r(i(t.$t(`skill.marketplace.mySkills`)),1),e(`span`,null,i(t.personalSkills.length),1)],10,pt)],8,dt),d(e(`div`,mt,[a(w,{onInstalled:t.onCreated},null,8,[`onInstalled`])],512),[[v,t.activeTab===`marketplace`]]),d(e(`div`,ht,[e(`aside`,gt,[e(`header`,_t,[a(E,{modelValue:t.searchQuery,"onUpdate:modelValue":u[2]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(T,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(F,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(P,{class:`add-menu`},{default:p(()=>[a(O,{onClick:t.onBrowse},{default:p(()=>[a(S,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(O,{divided:``},{default:p(()=>[a(F,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(P,{class:`add-menu`},{default:p(()=>[a(O,{disabled:``},{default:p(()=>[a(A,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),a(j,{class:`badge-soon`,density:`compact`},{default:p(()=>[r(i(t.$t(`skill.menu.soon`)),1)]),_:1})]),_:1}),a(O,{onClick:t.openWrite},{default:p(()=>[a(M,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(O,{onClick:t.openUpload},{default:p(()=>[a(N,{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`,yt,[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(k,{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(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,vt)]),_:1})]),d((_(),s(`div`,bt,[e(`section`,xt,[e(`button`,{class:`section-header`,onClick:u[3]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(_(),f(I,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(_(),f(k,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(_(),s(`ul`,St,[!t.loading&&t.filteredPersonal.length===0?(_(),s(`li`,Ct,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(_(!0),s(c,null,h(t.filteredPersonal,e=>(_(),f(L,{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?(_(),s(`section`,wt,[e(`button`,{class:`section-header`,onClick:u[4]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(_(),f(I,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(_(),f(k,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(_(),s(`ul`,Tt,[(_(!0),s(c,null,h(t.filteredGlobal,e=>(_(),f(L,{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)])),[[K,t.loading]])]),e(`main`,Et,[t.selectedSkill&&!t.selectedPath?(_(),s(c,{key:0},[e(`header`,Dt,[e(`h3`,Ot,i(t.selectedSkill.slug),1),e(`div`,kt,[a(R,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:u[5]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(_(),f(F,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(P,null,{default:p(()=>[a(O,{onClick:u[6]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(B,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`common.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(z,{size:16,"aria-hidden":`true`,focusable:`false`})],8,At)]),_:1}))])]),e(`div`,jt,[e(`div`,Mt,[e(`div`,Nt,[e(`span`,Pt,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Ft,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,It,[e(`span`,Lt,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Rt,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(_(),s(`div`,zt,[e(`span`,Bt,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Vt,[(_(!0),s(c,null,h(t.selectedSkill.required_connections,e=>(_(),f(j,{key:e,tone:`info`,density:`compact`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(_(),s(`div`,Ht,[e(`div`,Ut,[e(`span`,Wt,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(_(),f(H,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(V,{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`,Gt,[(_(),f(U,{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?(_(),f(U,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(_(),s(`div`,Kt,[a(C,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])],512),[[v,t.activeTab===`mine`]]),a(W,{modelValue:t.uploadVisible,"onUpdate:modelValue":u[7]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(G,{modelValue:t.writeVisible,"onUpdate:modelValue":u[8]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`])])}var Jt=J(lt,[[`render`,qt],[`__scopeId`,`data-v-ead29004`]]);export{Jt 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 ee,rt as h,st as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{n as b,t as x}from"./tabs-sZ_AqSxe.js";import{t as S}from"./tooltip-BFMHj7yV.js";import{v as C}from"./vuex.esm-bundler-Dh61cDbO.js";import{n as w,r as T,t as E}from"./dropdown-H1iCOtDm.js";import{t as D}from"./switch-Bdw4rC-y.js";import{t as O}from"./book-open-_lTz4QJR.js";import{t as k}from"./chevron-down-_5nRvC6_.js";import{t as A}from"./chevron-right-CdZ7m0IV.js";import{t as j}from"./circle-check-O20rZJdJ.js";import{t as M}from"./circle-question-mark-bAyiS3uM.js";import{t as N}from"./clipboard-list-NDSjeP6T.js";import{a as P,i as F,n as I,r as L,t as R}from"./WriteSkillDialog-CbGJtFx9.js";import{t as z}from"./code-DSlDLRN9.js";import{t as B}from"./copy-BskT-Tme.js";import{t as V}from"./ellipsis-CS_-hd2M.js";import{t as H}from"./eye-MNgYUO1j.js";import{t as U}from"./file-text-DM9_QdSH.js";import{t as W}from"./file-CwiI2ZDt.js";import{t as G}from"./folder-DYKQn0mJ.js";import{t as K}from"./image-BVqhVXTy.js";import{t as te}from"./plus-Ch9vaMzG.js";import{t as q}from"./scroll-text-0TQUmW_G.js";import{t as ne}from"./search-B4J4NAO1.js";import{t as re}from"./trash-2-DTIOXFAX.js";import{t as ie}from"./triangle-alert-BPPxjzKW.js";import{t as ae}from"./upload-B8RBApAO.js";import{t as oe}from"./wand-sparkles-Be9RrbrT.js";import{D as J,Ha as se,Ra as ce,Ua as Y,Va as X,lo as le,to as ue}from"./index-DURbYpHp.js";import{a as de,c as fe,d as pe,f as me,i as he,l as ge,m as Z,n as Q,o as _e,p as ve,r as ye,s as be,t as xe,u as Se}from"./vendor-highlight-PMOaWWrP.js";import{t as Ce}from"./VueMarkdown-Ciohflex.js";import{t as we}from"./index.es-BPCHaRbX.js";import{t as Te}from"./PageHeader-Cr_pWNQu.js";var Ee=X(`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`}]]),De=X(`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`}]]);Z.registerLanguage(`bash`,ve),Z.registerLanguage(`css`,me),Z.registerLanguage(`go`,pe),Z.registerLanguage(`javascript`,Se),Z.registerLanguage(`json`,ge),Z.registerLanguage(`markdown`,fe),Z.registerLanguage(`python`,be),Z.registerLanguage(`rust`,_e),Z.registerLanguage(`shell`,de),Z.registerLanguage(`sql`,he),Z.registerLanguage(`typescript`,ye),Z.registerLanguage(`xml`,Q),Z.registerLanguage(`html`,Q),Z.registerLanguage(`yaml`,xe),Z.registerAliases([`yml`],{languageName:`yaml`}),Z.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Z.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Z.registerAliases([`py`],{languageName:`python`}),Z.registerAliases([`rs`],{languageName:`rust`}),Z.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Oe(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 ke(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Z.getLanguage(t)?t:`plain`}var Ae=y({name:`SkillFilePreview`,components:{ElButton:ue,ElTooltip:S,ElTabs:b,ElTabPane:x,CodeIcon:z,CopyIcon:B,FileIcon:W,SaveIcon:De,SuccessIcon:j,ViewIcon:H,WarningIcon:ie,VueMarkdown:Ce},directives:{loading:Y},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?Oe(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${ke(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 F.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Oe(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,Z.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),C.success(this.$t(`skill.preview.copied`))}catch{C.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}}}}),je={class:`preview-root`},Me={class:`toolbar`},Ne={class:`path-display`},Pe={key:0,class:`size-display`},Fe={class:`body`},Ie={key:0,class:`error`},Le=[`srcdoc`],Re={key:3,class:`image-pane`},ze=[`src`,`alt`],Be={key:4,class:`binary`},Ve=[`placeholder`],He={key:6,class:`source-pane`},Ue={key:7,class:`truncated-warning`};function We(t,c,ee,h,g,v){let y=l(`save-icon`),b=l(`el-button`),x=l(`success-icon`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((_(),s(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.path||`—`),1),t.size?(_(),s(`span`,Pe,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(_(),f(b,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`common.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{visible:t.copied,content:t.copied?t.$t(`skill.preview.copied`):t.$t(`skill.preview.copy`),placement:`top-start`},{default:p(()=>[a(b,{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?(_(),f(x,{key:0,size:16,"aria-hidden":`true`,focusable:`false`})):(_(),f(S,{key:1,size:16,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`visible`,`content`])]),t.canRender?(_(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{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`,Fe,[t.error?(_(),s(`div`,Ie,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(_(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(_(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Le)):t.kind===`image`?(_(),s(`div`,Re,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,ze)])):t.kind===`binary`?(_(),s(`div`,Be,[a(A,{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((_(),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,Ve)),[[u,t.textContent]]):(_(),s(`pre`,He,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(_(),s(`p`,Ue,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ge=J(Ae,[[`render`,We],[`__scopeId`,`data-v-872078d9`]]),Ke=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),qe=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Je(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?O:n===`md`?U:qe.has(n)?K:Ke.has(n)?Ee:W}function Ye(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 Xe=y({name:`FileNode`,components:{ExpandDownIcon:k,ExpandRightIcon:A,FontAwesomeIcon:we},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?Je(e.path):G},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Ze=[`aria-label`,`title`],Qe={key:1,class:`node-chevron-spacer`},$e={class:`node-label`},et={key:0,class:`children`};function tt(r,a,u,d,p,m){let v=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`font-awesome-icon`),x=l(`file-node`,!0);return _(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:ee({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(_(),s(`span`,Qe)):(_(),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?(_(),f(v,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(_(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Ze)),r.isHtmlFile(r.node)?(_(),f(b,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(_(),f(g(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,$e,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(_(),s(`ul`,et,[(_(!0),s(c,null,h(r.node.children||[],e=>(_(),f(x,{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 nt=y({name:`SkillRow`,components:{ExpandDownIcon:k,ExpandRightIcon:A,SkillIcon:q,FileNode:J(Xe,[[`render`,tt],[`__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 Ye(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)}}}),rt={class:`skill-row-wrapper`},it=[`aria-label`,`title`],at={key:1,class:`row-chevron-spacer`},ot=[`title`],st={key:0,class:`file-list`};function ct(r,u,d,p,m,ee){let g=l(`expand-down-icon`),v=l(`expand-right-icon`),y=l(`skill-icon`),b=l(`file-node`);return _(),s(`li`,rt,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(_(),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?(_(),f(g,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(_(),f(v,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,it)):(_(),s(`span`,at)),a(y,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,ot)],2),r.expanded&&r.hasChildren?(_(),s(`ul`,st,[(_(!0),s(c,null,h(r.tree,e=>(_(),f(b,{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 lt=y({name:`UserSkills`,components:{MetaTag:ce,ConsolePageHeader:Te,ElInput:le,ElSwitch:D,ElTooltip:S,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,AddIcon:te,AiCreateIcon:oe,DeleteIcon:re,ExpandDownIcon:k,ExpandRightIcon:A,HelpIcon:M,MarketplaceIcon:P,MoreIcon:V,SearchIcon:ne,SkillIcon:q,UploadIcon:ae,WriteIcon:N,SkillMarketplace:L,SkillFilePreview:Ge,SkillRow:J(nt,[[`render`,ct],[`__scopeId`,`data-v-231c2ce1`]]),UploadSkillDialog:I,WriteSkillDialog:R},directives:{loading:Y},data(){return{activeTab:`marketplace`,loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!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 F.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),C.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.activeTab=`marketplace`},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 F.update(this.selectedSkill.id,{content:e});C.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){C.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await se.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`common.button.delete`),{type:`warning`})}catch{return}try{await F.remove(e.id),C.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){C.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await F.enable(e.id),C.success(this.$t(`skill.message.enableSuccess`))):(await F.disable(e.id),C.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){C.error(this.extractError(e))}finally{this.togglingId=null}}}}),ut={class:`skills-page`},dt=[`aria-label`],ft=[`aria-selected`],pt=[`aria-selected`],mt={class:`marketplace-page-content`},ht={class:`skills-shell`},gt={class:`left-pane`},_t={class:`left-header`},vt=[`aria-label`,`title`],yt={class:`submenu-trigger`},bt={class:`left-body`},xt={class:`section`},St={key:0,class:`skill-list`},Ct={key:0,class:`empty-row`},wt={key:0,class:`section`},Tt={key:0,class:`skill-list`},Et={class:`right-pane`},Dt={class:`right-header`},Ot={class:`right-title`},kt={class:`right-actions`},At=[`aria-label`,`title`],jt={class:`meta-card`},Mt={class:`meta-grid`},Nt={class:`meta-cell`},Pt={class:`meta-label`},Ft={class:`meta-value`},It={class:`meta-cell`},Lt={class:`meta-label`},Rt={class:`meta-value`},zt={key:0,class:`meta-cell`},Bt={class:`meta-label`},Vt={class:`meta-tags`},Ht={key:0,class:`meta-description`},Ut={class:`meta-description-label`},Wt={class:`meta-label`},Gt={class:`preview-card`},Kt={key:2,class:`right-empty`};function qt(t,u,ee,g,y,b){let x=l(`console-page-header`),S=l(`marketplace-icon`),C=l(`skill-icon`),w=l(`skill-marketplace`),T=l(`search-icon`),E=l(`el-input`),D=l(`add-icon`),O=l(`el-dropdown-item`),k=l(`expand-right-icon`),A=l(`ai-create-icon`),j=l(`meta-tag`),M=l(`write-icon`),N=l(`upload-icon`),P=l(`el-dropdown-menu`),F=l(`el-dropdown`),I=l(`expand-down-icon`),L=l(`skill-row`),R=l(`el-switch`),z=l(`more-icon`),B=l(`delete-icon`),V=l(`help-icon`),H=l(`el-tooltip`),U=l(`skill-file-preview`),W=l(`upload-skill-dialog`),G=l(`write-skill-dialog`),K=m(`loading`);return _(),s(`div`,ut,[a(x,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,{class:`skills-tabs`,role:`tablist`,"aria-label":t.$t(`skill.title.skills`)},[e(`button`,{role:`tab`,"aria-selected":t.activeTab===`marketplace`,class:n({active:t.activeTab===`marketplace`}),onClick:u[0]||=e=>t.activeTab=`marketplace`},[a(S,{size:16,"aria-hidden":`true`}),r(i(t.$t(`skill.marketplace.title`)),1)],10,ft),e(`button`,{role:`tab`,"aria-selected":t.activeTab===`mine`,class:n({active:t.activeTab===`mine`}),onClick:u[1]||=e=>t.activeTab=`mine`},[a(C,{size:16,"aria-hidden":`true`}),r(i(t.$t(`skill.marketplace.mySkills`)),1),e(`span`,null,i(t.personalSkills.length),1)],10,pt)],8,dt),d(e(`div`,mt,[a(w,{onInstalled:t.onCreated},null,8,[`onInstalled`])],512),[[v,t.activeTab===`marketplace`]]),d(e(`div`,ht,[e(`aside`,gt,[e(`header`,_t,[a(E,{modelValue:t.searchQuery,"onUpdate:modelValue":u[2]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(T,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(F,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(P,{class:`add-menu`},{default:p(()=>[a(O,{onClick:t.onBrowse},{default:p(()=>[a(S,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(O,{divided:``},{default:p(()=>[a(F,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(P,{class:`add-menu`},{default:p(()=>[a(O,{disabled:``},{default:p(()=>[a(A,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),a(j,{class:`badge-soon`,density:`compact`},{default:p(()=>[r(i(t.$t(`skill.menu.soon`)),1)]),_:1})]),_:1}),a(O,{onClick:t.openWrite},{default:p(()=>[a(M,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(O,{onClick:t.openUpload},{default:p(()=>[a(N,{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`,yt,[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(k,{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(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,vt)]),_:1})]),d((_(),s(`div`,bt,[e(`section`,xt,[e(`button`,{class:`section-header`,onClick:u[3]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(_(),f(I,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(_(),f(k,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(_(),s(`ul`,St,[!t.loading&&t.filteredPersonal.length===0?(_(),s(`li`,Ct,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(_(!0),s(c,null,h(t.filteredPersonal,e=>(_(),f(L,{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?(_(),s(`section`,wt,[e(`button`,{class:`section-header`,onClick:u[4]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(_(),f(I,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(_(),f(k,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(_(),s(`ul`,Tt,[(_(!0),s(c,null,h(t.filteredGlobal,e=>(_(),f(L,{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)])),[[K,t.loading]])]),e(`main`,Et,[t.selectedSkill&&!t.selectedPath?(_(),s(c,{key:0},[e(`header`,Dt,[e(`h3`,Ot,i(t.selectedSkill.slug),1),e(`div`,kt,[a(R,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:u[5]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(_(),f(F,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(P,null,{default:p(()=>[a(O,{onClick:u[6]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(B,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`common.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(z,{size:16,"aria-hidden":`true`,focusable:`false`})],8,At)]),_:1}))])]),e(`div`,jt,[e(`div`,Mt,[e(`div`,Nt,[e(`span`,Pt,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Ft,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,It,[e(`span`,Lt,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Rt,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(_(),s(`div`,zt,[e(`span`,Bt,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Vt,[(_(!0),s(c,null,h(t.selectedSkill.required_connections,e=>(_(),f(j,{key:e,tone:`info`,density:`compact`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(_(),s(`div`,Ht,[e(`div`,Ut,[e(`span`,Wt,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(_(),f(H,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(V,{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`,Gt,[(_(),f(U,{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?(_(),f(U,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(_(),s(`div`,Kt,[a(C,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])],512),[[v,t.activeTab===`mine`]]),a(W,{modelValue:t.uploadVisible,"onUpdate:modelValue":u[7]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(G,{modelValue:t.writeVisible,"onUpdate:modelValue":u[8]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`])])}var Jt=J(lt,[[`render`,qt],[`__scopeId`,`data-v-ead29004`]]);export{Jt as default};
@@ -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-Dxkn5fnG.js";import{t as b}from"./upload-ChEGBjQd.js";import{t as x}from"./tooltip-CsVgfK1f.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-uM-kqbAF.js";import{t as T}from"./drawer-CF4BsAtW.js";import{t as E}from"./input-number-YpK_vIUu.js";import{t as D}from"./slider-DyGvOBhi.js";import{t as O}from"./clock-B6Xmh354.js";import{t as k}from"./hash-BKpZIJo7.js";import{t as A}from"./info-CDs2D83H.js";import{a as j,i as ee,n as M,r as N,t as P}from"./pagination-BGnYVZvp.js";import{t as F}from"./trash-2-rtHpr3JN.js";import{t as I}from"./triangle-alert-D_wd4w3Z.js";import{t as te}from"./upload-DoPPJ2yy.js";import{t as L}from"./wand-sparkles-CReI7Ekg.js";import{Mr as ne,Nr as re,Pr as R}from"./constants-CVb0vrXj.js";import{D as z,Fi as B,Ha as V,Ia as H,Li as U,T as W,Tn as G,Xi as K,at as q,ct as J,hr as Y,ia as X,li as ie,lt as ae,mr as Z,oi as oe,ot as se,st as ce,to as Q,tt as le}from"./index-C643U2rX.js";import{t as ue}from"./CopyToClipboard-Dc_53C_9.js";import{t as de}from"./ReportButton-BCWM_eUv.js";import{t as fe}from"./ImagePreview-QrO7VB3T.js";import{n as pe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as me}from"./ServicePricingSummary-BnnhtPm5.js";import{t as he}from"./ScenarioPaymentMode-DUv_xCgb.js";import{t as ge}from"./ApiCodeButton-DBR9tGBM.js";import{t as _e}from"./BotPlaceholder-Cl_V5koZ.js";import{t as ve}from"./taskPollingMixin-CcLxtz8z.js";import{n as ye,t as be}from"./generationInput-jeoGp56s.js";import{t as xe}from"./ImageWrapper-D2sKN22b.js";var Se=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:Q},mixins:[pe]}),Ce={class:`main flex flex-row flex-1`},we={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)]`},Te={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ce,[e(`div`,we,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Te,[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 De=z(Se,[[`render`,Ee],[`__scopeId`,`data-v-4cd4d561`]]),Oe=_({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||=R}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ke,[e(`h2`,Ae,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 Me=z(Oe,[[`render`,je],[`__scopeId`,`data-v-e9b17945`]]),Ne=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:j,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}}),Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`},Le={class:`flex justify-end items-center`},Re={class:`w-full`};function ze(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`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Le,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Re,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Be=z(Ne,[[`render`,ze]]),Ve=_({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}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,He,[e(`h2`,Ue,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 Ge=z(Ve,[[`render`,We],[`__scopeId`,`data-v-81fd05e5`]]),Ke=_({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:b,ElButton:Q,InfoIcon:j,ImagePreview:fe},mixins:[ae,J,se,le],emits:[`change`],data(){return{fileList:[],uploadUrl:H()+`/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`))}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(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`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,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 Qe=z(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9830e0c3`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:ee},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 et(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 tt=z($e,[[`render`,et]]),nt=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ne}},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`}}),rt={class:`field`},it={class:`title font-bold`};function at(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,rt,[e(`h2`,it,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 ot=z(nt,[[`render`,at],[`__scopeId`,`data-v-8c58dc91`]]),st=350,ct=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:Q,PromptInput:tt,ModelSelector:Me,CountSelector:Be,ServicePricingSummary:me,ActionSelector:Ge,ImageUrlInput:Qe,SizeSelector:ot,ScenarioPaymentMode:he},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return be(`flux`,Z(this.config))},config(){return this.$store.state.flux?.config},consumption(){return G(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return B()&&U(`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.quoteRunId+=1;let e=U(`flux`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,st))},async refreshQuote(){if(!this.canGenerate)return;let e=U(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(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(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,lt,[e(`div`,ut,[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`,dt,[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:``,disabled:!t.canGenerate,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,[`disabled`,`onClick`])])])}var pt=z(ct,[[`render`,ft]]),mt=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:k,InfoIcon:A,MagicIcon:L,TimeIcon:O,WarningIcon:I,CopyToClipboard:ue,ElAlert:S,ImageWrapper:xe,ApiCodeButton:ge,ReportButton:de},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 V.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`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:0,class:n({content:!0,failed:!0})},Tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Et={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:1,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Pt={key:2,class:n({content:!0})},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(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`,ht,[e(`div`,gt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(y,{capability:`flux`,part:`name`}),e(`span`,yt,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,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(h(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ct,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,wt,[e(`div`,Tt,[(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`,Et,[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`,Dt,[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`,Ot,[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`,kt,[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`,At,[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`,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`])]),e(`p`,Mt,[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`,Nt,[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`,$,[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`,Pt,[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`,Ft,[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 Lt=_({name:`RecentPanel`,components:{TaskPreview:z(mt,[[`render`,It],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:_e,NoTasks:N,ScrollList:M},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?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(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`,Rt,[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`,zt,[a(v)])):o(``,!0)],64)}var Vt=_({name:`FluxIndex`,components:{ConfigPanel:pt,Layout:De,RecentPanel:z(Lt,[[`render`,Bt]])},mixins:[ce,ve(`flux`)],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 B()&&U(`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.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({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(){let e=Z(this.config),t=ye(`flux`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!q(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){w.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!X())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}w.info(this.$t(`flux.message.startingTask`)),K(`flux`,n).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;W(e,`flux`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ie(this.$wallet)},async confirmWalletPayment(e){return V.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 Ht(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 Ut=z(Vt,[[`render`,Ht]]);export{Ut 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-B6ZO1rLl.js";import{t as b}from"./upload-DvqAUM9o.js";import{t as x}from"./tooltip-BFMHj7yV.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-Dh61cDbO.js";import{t as T}from"./drawer-DVH0xZU_.js";import{t as E}from"./input-number-DSOk0jCW.js";import{t as D}from"./slider-DJM_8qq1.js";import{t as O}from"./clock-CAf8wf9e.js";import{t as k}from"./hash-DqiIH4WA.js";import{t as A}from"./info-DzqnccKk.js";import{a as j,i as ee,n as M,r as N,t as P}from"./pagination-Ccy4p3jJ.js";import{t as F}from"./trash-2-DTIOXFAX.js";import{t as I}from"./triangle-alert-BPPxjzKW.js";import{t as te}from"./upload-B8RBApAO.js";import{t as L}from"./wand-sparkles-Be9RrbrT.js";import{Mr as ne,Nr as re,Pr as R}from"./constants-4TRM3yeb.js";import{D as z,Fi as B,Ha as V,Ia as H,Li as U,T as W,Tn as G,Xi as K,at as q,ct as J,hr as Y,ia as X,li as ie,lt as ae,mr as Z,oi as oe,ot as se,st as ce,to as Q,tt as le}from"./index-DURbYpHp.js";import{t as ue}from"./CopyToClipboard-OD_-zDDD.js";import{t as de}from"./ReportButton-CBoBD__d.js";import{t as fe}from"./ImagePreview-iMMwS5bK.js";import{n as pe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as me}from"./ServicePricingSummary-mQ3kXYW6.js";import{t as he}from"./ScenarioPaymentMode-B-onFjJH.js";import{t as ge}from"./ApiCodeButton-yY9sIC18.js";import{t as _e}from"./BotPlaceholder-DAC5flJl.js";import{t as ve}from"./taskPollingMixin-CcLxtz8z.js";import{n as ye,t as be}from"./generationInput-DnJFevpe.js";import{t as xe}from"./ImageWrapper-DPFYz3PG.js";var Se=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:Q},mixins:[pe]}),Ce={class:`main flex flex-row flex-1`},we={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)]`},Te={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ce,[e(`div`,we,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Te,[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 De=z(Se,[[`render`,Ee],[`__scopeId`,`data-v-4cd4d561`]]),Oe=_({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||=R}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ke,[e(`h2`,Ae,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 Me=z(Oe,[[`render`,je],[`__scopeId`,`data-v-e9b17945`]]),Ne=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:j,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}}),Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`},Le={class:`flex justify-end items-center`},Re={class:`w-full`};function ze(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`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Le,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Re,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Be=z(Ne,[[`render`,ze]]),Ve=_({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}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,He,[e(`h2`,Ue,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 Ge=z(Ve,[[`render`,We],[`__scopeId`,`data-v-81fd05e5`]]),Ke=_({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:b,ElButton:Q,InfoIcon:j,ImagePreview:fe},mixins:[ae,J,se,le],emits:[`change`],data(){return{fileList:[],uploadUrl:H()+`/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`))}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(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`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,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 Qe=z(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9830e0c3`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:ee},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 et(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 tt=z($e,[[`render`,et]]),nt=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ne}},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`}}),rt={class:`field`},it={class:`title font-bold`};function at(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,rt,[e(`h2`,it,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 ot=z(nt,[[`render`,at],[`__scopeId`,`data-v-8c58dc91`]]),st=350,ct=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:Q,PromptInput:tt,ModelSelector:Me,CountSelector:Be,ServicePricingSummary:me,ActionSelector:Ge,ImageUrlInput:Qe,SizeSelector:ot,ScenarioPaymentMode:he},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return be(`flux`,Z(this.config))},config(){return this.$store.state.flux?.config},consumption(){return G(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return B()&&U(`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.quoteRunId+=1;let e=U(`flux`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,st))},async refreshQuote(){if(!this.canGenerate)return;let e=U(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(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(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,lt,[e(`div`,ut,[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`,dt,[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:``,disabled:!t.canGenerate,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,[`disabled`,`onClick`])])])}var pt=z(ct,[[`render`,ft]]),mt=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:k,InfoIcon:A,MagicIcon:L,TimeIcon:O,WarningIcon:I,CopyToClipboard:ue,ElAlert:S,ImageWrapper:xe,ApiCodeButton:ge,ReportButton:de},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 V.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`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:0,class:n({content:!0,failed:!0})},Tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Et={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:1,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Pt={key:2,class:n({content:!0})},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(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`,ht,[e(`div`,gt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(y,{capability:`flux`,part:`name`}),e(`span`,yt,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,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(h(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ct,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,wt,[e(`div`,Tt,[(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`,Et,[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`,Dt,[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`,Ot,[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`,kt,[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`,At,[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`,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`])]),e(`p`,Mt,[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`,Nt,[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`,$,[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`,Pt,[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`,Ft,[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 Lt=_({name:`RecentPanel`,components:{TaskPreview:z(mt,[[`render`,It],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:_e,NoTasks:N,ScrollList:M},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?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(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`,Rt,[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`,zt,[a(v)])):o(``,!0)],64)}var Vt=_({name:`FluxIndex`,components:{ConfigPanel:pt,Layout:De,RecentPanel:z(Lt,[[`render`,Bt]])},mixins:[ce,ve(`flux`)],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 B()&&U(`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.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({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(){let e=Z(this.config),t=ye(`flux`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!q(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){w.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!X())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}w.info(this.$t(`flux.message.startingTask`)),K(`flux`,n).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;W(e,`flux`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ie(this.$wallet)},async confirmWalletPayment(e){return V.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 Ht(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 Ut=z(Vt,[[`render`,Ht]]);export{Ut as default};
@@ -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,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-Dxkn5fnG.js";import{n as x,t as S}from"./tabs-0J-7r8zS.js";import{t as C}from"./upload-ChEGBjQd.js";import{t as w}from"./tooltip-CsVgfK1f.js";import{t as T}from"./alert-BprQRUmf.js";import{_ as E,v as D}from"./vuex.esm-bundler-uM-kqbAF.js";import{t as O}from"./drawer-CF4BsAtW.js";import{t as k}from"./switch-FNAnbKSR.js";import{t as A}from"./box-Bx0ypDsn.js";import{t as j}from"./clock-B6Xmh354.js";import{t as M}from"./hash-BKpZIJo7.js";import{t as N}from"./info-CDs2D83H.js";import{t as P}from"./languages-DFfBKj3V.js";import{a as F,i as I,n as L,o as R,r as ee,t as te}from"./pagination-BGnYVZvp.js";import{t as z}from"./trash-2-rtHpr3JN.js";import{t as B}from"./triangle-alert-D_wd4w3Z.js";import{t as V}from"./upload-DoPPJ2yy.js";import{t as H}from"./wand-sparkles-CReI7Ekg.js";import{t as ne}from"./zap-BVQJGqe4.js";import{Di as re,Ei as ie,Ti as ae}from"./constants-CVb0vrXj.js";import{D as U,Fi as W,Fr as G,Ha as K,Ia as q,Li as J,Mr as Y,Nr as oe,Pr as se,T as ce,Tn as le,Xi as ue,at as de,ct as fe,ia as pe,jr as X,li as me,lt as he,oi as ge,ot as _e,st as ve,to as Z,tt as ye}from"./index-C643U2rX.js";import{t as be}from"./CopyToClipboard-Dc_53C_9.js";import{t as xe}from"./ReportButton-BCWM_eUv.js";import{t as Q}from"./ImagePreview-QrO7VB3T.js";import{n as Se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ce}from"./ServicePricingSummary-BnnhtPm5.js";import{t as we}from"./VideoPlayer-Bt19ZgtM.js";import{t as Te}from"./ScenarioPaymentMode-DUv_xCgb.js";import{t as Ee}from"./ApiCodeButton-DBR9tGBM.js";import{t as De}from"./BotPlaceholder-Cl_V5koZ.js";import{t as Oe}from"./taskPollingMixin-CcLxtz8z.js";import{t as ke}from"./ShowcaseResultTabs-DoS1AGxi.js";import{t as Ae}from"./showcaseRecreateMixin-BvSTHecE.js";import{n as je,t as Me}from"./generationInput-jeoGp56s.js";var Ne=v({name:`LayoutVeo`,components:{MagicIcon:H,ElDrawer:O,ElButton:Z},mixins:[Se]}),Pe={class:`main flex flex-row flex-1`},Fe={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)]`},Ie={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[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 Re=U(Ne,[[`render`,Le],[`__scopeId`,`data-v-c990ae5b`]]),ze=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:se,label:`Veo 3.1 Fast`}]:oe},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||=re}}),Be={class:`field`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Be,[e(`h2`,Ve,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 Ue=U(ze,[[`render`,He],[`__scopeId`,`data-v-90ed8cff`]]),We=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(ae)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,G(this.$store.state.veo?.config,e))}}}),Ge={class:`tab-label`},Ke={class:`text`};function qe(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`,Ge,[e(`span`,Ke,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Je=U(We,[[`render`,qe],[`__scopeId`,`data-v-c72fb85c`]]),Ye=v({name:`TranslationSelector`,components:{ElSwitch:k,InfoIcon:F},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)}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`};function tt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var nt=U(Ye,[[`render`,tt]]),rt=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}}),it={class:`text-sm font-bold mb-2 block`},at={class:`items`},ot=[`onClick`],st={class:`name`};function ct(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,it,i(t.$t(`veo.name.ratio`)),1),e(`div`,at,[(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`,st,i(r.label),1)],10,ot))),128))])])}var lt=U(rt,[[`render`,ct],[`__scopeId`,`data-v-28c472c4`]]),ut=v({name:`StartEndImage`,components:{UploadIcon:V,ElUpload:C,ElButton:Z,InfoIcon:F,ImagePreview:Q},mixins:[he,fe,_e,ye],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:q()+`/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()}}}),dt={class:`relative`},ft={class:`flex justify-between`},pt={class:`flex justify-start items-center`},mt={class:`text-sm font-bold`};function ht(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`,dt,[e(`div`,ft,[e(`div`,pt,[e(`span`,mt,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 gt=U(ut,[[`render`,ht],[`__scopeId`,`data-v-a4391199`]]),_t=v({name:`PromptInput`,components:{PromptTextarea:I},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 vt(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 yt=v({name:`ConfigPanel`,components:{MagicIcon:H,ElButton:Z,ServicePricingSummary:Ce,PromptInput:U(_t,[[`render`,vt]]),ModelSelector:Ue,StartEndImage:gt,ActionSelector:Je,TranslationSelector:nt,AspectRatioSelector:lt,ScenarioPaymentMode:Te},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Me(`veo`,X(this.config))},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 le(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return W()&&J(`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.quoteRunId+=1;let e=J(`veo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=J(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(X(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),bt={class:`flex flex-col h-full`},xt={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 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(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,bt,[e(`div`,xt,[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`,St,[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:``,disabled:!t.canGenerate,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,[`disabled`,`onClick`])])])}var wt=U(yt,[[`render`,Ct]]),Tt=v({name:`TaskPreview`,components:{DeleteIcon:z,ApplicationIcon:A,ChannelIcon:M,ExpandIcon:R,InfoIcon:N,LanguageIcon:P,LightningIcon:ne,MagicIcon:H,TimeIcon:j,WarningIcon:B,CopyToClipboard:be,ElAlert:T,VideoPlayer:we,ImagePreview:Q,ElTooltip:w,ElButton:Z,ApiCodeButton:Ee,ReportButton:xe},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 K.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`)}}}),Et={class:`preview`},Dt={class:`left`},Ot={class:`main`},kt={class:`bot`},At={class:`datetime`},jt=[`aria-label`],Mt={class:`info`},Nt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Pt={key:1,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0})},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:n({content:!0})},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(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`,Et,[e(`div`,Dt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ot,[e(`div`,kt,[a(b,{capability:`veo`,part:`name`}),e(`span`,At,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,jt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Mt,[u.referenceImages.length>0?(g(),s(`div`,Nt,[(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`,Pt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,Ft,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,It,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Lt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Rt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,zt,[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`,Bt,[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`,$,[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`,Vt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Ht,[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`,Ut,[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`,Wt,[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`,Gt,[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`,Kt,[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`,qt,[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`,Jt,[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 Xt=v({name:`RecentPanel`,components:{TaskPreview:U(Tt,[[`render`,Yt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:ee,BotPlaceholder:De,ScrollList:L},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?.()}}}),Zt={key:0},Qt={key:2,class:`w-full h-full flex items-center justify-center`};function $t(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`,Zt,[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 en=v({name:`VeoIndex`,components:{ConfigPanel:wt,Layout:Re,RecentPanel:U(Xt,[[`render`,$t]]),ShowcaseResultTabs:ke},mixins:[ve,Ae(`veo`),Oe(`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 W()&&J(`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.onPollTasks,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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({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(){let e=X(this.config),t=je(`veo`,e);if(t){D.error(this.$t(`common.message.${t}`));return}if(!de(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){D.warning(this.$t(`veo.message.imageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){D.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!pe())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}D.info(this.$t(`veo.message.startingTask`)),ue(`veo`,n).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=>{e instanceof ge||ce(e,`veo`)||(this.walletMode?D.error(this.$t(`common.x402Scenario.paymentFailed`)):D.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return K.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 tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`veo`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var nn=U(en,[[`render`,tn]]);export{nn 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,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-B6ZO1rLl.js";import{n as x,t as S}from"./tabs-sZ_AqSxe.js";import{t as C}from"./upload-DvqAUM9o.js";import{t as w}from"./tooltip-BFMHj7yV.js";import{t as T}from"./alert-BprQRUmf.js";import{_ as E,v as D}from"./vuex.esm-bundler-Dh61cDbO.js";import{t as O}from"./drawer-DVH0xZU_.js";import{t as k}from"./switch-Bdw4rC-y.js";import{t as A}from"./box-6vYJ5zr0.js";import{t as j}from"./clock-CAf8wf9e.js";import{t as M}from"./hash-DqiIH4WA.js";import{t as N}from"./info-DzqnccKk.js";import{t as P}from"./languages-DQhgO8zU.js";import{a as F,i as I,n as L,o as R,r as ee,t as te}from"./pagination-Ccy4p3jJ.js";import{t as z}from"./trash-2-DTIOXFAX.js";import{t as B}from"./triangle-alert-BPPxjzKW.js";import{t as V}from"./upload-B8RBApAO.js";import{t as H}from"./wand-sparkles-Be9RrbrT.js";import{t as ne}from"./zap-B_4nhrzt.js";import{Di as re,Ei as ie,Ti as ae}from"./constants-4TRM3yeb.js";import{D as U,Fi as W,Fr as G,Ha as K,Ia as q,Li as J,Mr as Y,Nr as oe,Pr as se,T as ce,Tn as le,Xi as ue,at as de,ct as fe,ia as pe,jr as X,li as me,lt as he,oi as ge,ot as _e,st as ve,to as Z,tt as ye}from"./index-DURbYpHp.js";import{t as be}from"./CopyToClipboard-OD_-zDDD.js";import{t as xe}from"./ReportButton-CBoBD__d.js";import{t as Q}from"./ImagePreview-iMMwS5bK.js";import{n as Se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ce}from"./ServicePricingSummary-mQ3kXYW6.js";import{t as we}from"./VideoPlayer-BHDyrslN.js";import{t as Te}from"./ScenarioPaymentMode-B-onFjJH.js";import{t as Ee}from"./ApiCodeButton-yY9sIC18.js";import{t as De}from"./BotPlaceholder-DAC5flJl.js";import{t as Oe}from"./taskPollingMixin-CcLxtz8z.js";import{t as ke}from"./ShowcaseResultTabs-CJ63xnjI.js";import{t as Ae}from"./showcaseRecreateMixin-BmDK7n-L.js";import{n as je,t as Me}from"./generationInput-DnJFevpe.js";var Ne=v({name:`LayoutVeo`,components:{MagicIcon:H,ElDrawer:O,ElButton:Z},mixins:[Se]}),Pe={class:`main flex flex-row flex-1`},Fe={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)]`},Ie={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[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 Re=U(Ne,[[`render`,Le],[`__scopeId`,`data-v-c990ae5b`]]),ze=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:se,label:`Veo 3.1 Fast`}]:oe},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||=re}}),Be={class:`field`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Be,[e(`h2`,Ve,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 Ue=U(ze,[[`render`,He],[`__scopeId`,`data-v-90ed8cff`]]),We=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(ae)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,G(this.$store.state.veo?.config,e))}}}),Ge={class:`tab-label`},Ke={class:`text`};function qe(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`,Ge,[e(`span`,Ke,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Je=U(We,[[`render`,qe],[`__scopeId`,`data-v-c72fb85c`]]),Ye=v({name:`TranslationSelector`,components:{ElSwitch:k,InfoIcon:F},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)}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`};function tt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var nt=U(Ye,[[`render`,tt]]),rt=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}}),it={class:`text-sm font-bold mb-2 block`},at={class:`items`},ot=[`onClick`],st={class:`name`};function ct(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,it,i(t.$t(`veo.name.ratio`)),1),e(`div`,at,[(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`,st,i(r.label),1)],10,ot))),128))])])}var lt=U(rt,[[`render`,ct],[`__scopeId`,`data-v-28c472c4`]]),ut=v({name:`StartEndImage`,components:{UploadIcon:V,ElUpload:C,ElButton:Z,InfoIcon:F,ImagePreview:Q},mixins:[he,fe,_e,ye],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:q()+`/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()}}}),dt={class:`relative`},ft={class:`flex justify-between`},pt={class:`flex justify-start items-center`},mt={class:`text-sm font-bold`};function ht(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`,dt,[e(`div`,ft,[e(`div`,pt,[e(`span`,mt,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 gt=U(ut,[[`render`,ht],[`__scopeId`,`data-v-a4391199`]]),_t=v({name:`PromptInput`,components:{PromptTextarea:I},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 vt(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 yt=v({name:`ConfigPanel`,components:{MagicIcon:H,ElButton:Z,ServicePricingSummary:Ce,PromptInput:U(_t,[[`render`,vt]]),ModelSelector:Ue,StartEndImage:gt,ActionSelector:Je,TranslationSelector:nt,AspectRatioSelector:lt,ScenarioPaymentMode:Te},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Me(`veo`,X(this.config))},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 le(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return W()&&J(`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.quoteRunId+=1;let e=J(`veo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=J(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(X(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),bt={class:`flex flex-col h-full`},xt={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 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(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,bt,[e(`div`,xt,[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`,St,[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:``,disabled:!t.canGenerate,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,[`disabled`,`onClick`])])])}var wt=U(yt,[[`render`,Ct]]),Tt=v({name:`TaskPreview`,components:{DeleteIcon:z,ApplicationIcon:A,ChannelIcon:M,ExpandIcon:R,InfoIcon:N,LanguageIcon:P,LightningIcon:ne,MagicIcon:H,TimeIcon:j,WarningIcon:B,CopyToClipboard:be,ElAlert:T,VideoPlayer:we,ImagePreview:Q,ElTooltip:w,ElButton:Z,ApiCodeButton:Ee,ReportButton:xe},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 K.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`)}}}),Et={class:`preview`},Dt={class:`left`},Ot={class:`main`},kt={class:`bot`},At={class:`datetime`},jt=[`aria-label`],Mt={class:`info`},Nt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Pt={key:1,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0})},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:n({content:!0})},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(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`,Et,[e(`div`,Dt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ot,[e(`div`,kt,[a(b,{capability:`veo`,part:`name`}),e(`span`,At,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,jt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Mt,[u.referenceImages.length>0?(g(),s(`div`,Nt,[(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`,Pt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,Ft,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,It,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Lt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Rt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,zt,[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`,Bt,[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`,$,[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`,Vt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Ht,[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`,Ut,[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`,Wt,[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`,Gt,[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`,Kt,[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`,qt,[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`,Jt,[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 Xt=v({name:`RecentPanel`,components:{TaskPreview:U(Tt,[[`render`,Yt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:ee,BotPlaceholder:De,ScrollList:L},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?.()}}}),Zt={key:0},Qt={key:2,class:`w-full h-full flex items-center justify-center`};function $t(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`,Zt,[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 en=v({name:`VeoIndex`,components:{ConfigPanel:wt,Layout:Re,RecentPanel:U(Xt,[[`render`,$t]]),ShowcaseResultTabs:ke},mixins:[ve,Ae(`veo`),Oe(`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 W()&&J(`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.onPollTasks,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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({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(){let e=X(this.config),t=je(`veo`,e);if(t){D.error(this.$t(`common.message.${t}`));return}if(!de(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){D.warning(this.$t(`veo.message.imageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){D.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!pe())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}D.info(this.$t(`veo.message.startingTask`)),ue(`veo`,n).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=>{e instanceof ge||ce(e,`veo`)||(this.walletMode?D.error(this.$t(`common.x402Scenario.paymentFailed`)):D.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return K.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 tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`veo`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var nn=U(en,[[`render`,tn]]);export{nn as default};