@acedatacloud/nexior 3.380.3 → 3.380.4

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 (266) hide show
  1. package/dist/assets/{ApiCodeButton-CAQzrT4K.js → ApiCodeButton-DSt2Pz0O.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-LvzBskrJ.js → ApiCodeDialog-Byr4CPCS.js} +1 -1
  3. package/dist/assets/{Artifacts-BC-9S6PN.js → Artifacts-CwC_U4xA.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-D7OS85bK.js → AskUserQuestionCard-D9fOfq80.js} +1 -1
  5. package/dist/assets/{AudioPreview-DQViM4FT.js → AudioPreview-DbtJFAs7.js} +1 -1
  6. package/dist/assets/{Auth-Df14yfuP.js → Auth-b-NGU3Lu.js} +1 -1
  7. package/dist/assets/{Bare-DzY0TQIE.js → Bare-D0G3hFJE.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-BlCUdjzq.js → BotPlaceholder-BC8u-j84.js} +1 -1
  9. package/dist/assets/{BottomFooter-D3UQv_gV.js → BottomFooter-CXPg4oia.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-DlJx58_J.js → BrowseConnectors-DS5nGp3i.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-CW7vfPJR.js → BrowserPairingDialog-NeyovLD-.js} +1 -1
  12. package/dist/assets/{Callback-CNFgYm3T.js → Callback-DuZ9zjkR.js} +1 -1
  13. package/dist/assets/{CodeSnippet-C0eBeX2U.js → CodeSnippet-Djz4eOTz.js} +1 -1
  14. package/dist/assets/{Console-CAVioWhS.js → Console-DcLA9Qt3.js} +1 -1
  15. package/dist/assets/Conversation-BQ7kjoFg.js +2 -0
  16. package/dist/assets/{Conversation-D7nm4oS-.js → Conversation-O_Xv-6R6.js} +1 -1
  17. package/dist/assets/{Conversation-BHYltyL3.css → Conversation-myNal5UI.css} +1 -1
  18. package/dist/assets/{CopyToClipboard-BQaEPLyt.js → CopyToClipboard-CQT78wob.js} +1 -1
  19. package/dist/assets/{Detail-DD55uGpe.js → Detail-BqVKPO9C.js} +1 -1
  20. package/dist/assets/{Extra-CV4hv9OG.js → Extra-RTJPBXX1.js} +1 -1
  21. package/dist/assets/{FilePreview-BjUbMA7c.js → FilePreview-D640d7Cq.js} +1 -1
  22. package/dist/assets/{Hailuo-xFaz9TxD.js → Hailuo-ClYsc7Vc.js} +1 -1
  23. package/dist/assets/{History-D1zqqw7y.js → History-DeAIxtE9.js} +1 -1
  24. package/dist/assets/{ImagePreview-Dm16d0L7.js → ImagePreview-YXx0To-U.js} +1 -1
  25. package/dist/assets/{ImageWrapper-KvH_Kyox.js → ImageWrapper-DH6OlBWC.js} +1 -1
  26. package/dist/assets/{Index-fbMiNaKB.js → Index-3enMEt0q.js} +1 -1
  27. package/dist/assets/{Index-C18MzxuW.js → Index-4M6goWY5.js} +1 -1
  28. package/dist/assets/Index-7Lx1-FVY.js +88 -0
  29. package/dist/assets/{Index-Dmc0ZPfE.js → Index-B0S_YnIQ.js} +1 -1
  30. package/dist/assets/{Index-D-bh_mWQ.js → Index-B2mD07Ei.js} +1 -1
  31. package/dist/assets/{Index-DR-1kfGp.js → Index-B80CvBO0.js} +1 -1
  32. package/dist/assets/{Index-DlHoDKfg.js → Index-BDNNQGYY.js} +1 -1
  33. package/dist/assets/{Index-CqmNg2WZ.js → Index-BHOeQ3H9.js} +1 -1
  34. package/dist/assets/{Index-BoWt8dWh.js → Index-BRky2LVx.js} +1 -1
  35. package/dist/assets/{Index-CQE7c7Bs.js → Index-BjS0ggii.js} +1 -1
  36. package/dist/assets/{Index-C5CT7Ktv.js → Index-Bp-GjqgR.js} +1 -1
  37. package/dist/assets/{Index-DJVr7ydY.js → Index-CYJ4Mi3M.js} +1 -1
  38. package/dist/assets/{Index-CTaXbXmT.js → Index-Cc2vUCVA.js} +1 -1
  39. package/dist/assets/{Index-fTR2-Z-3.js → Index-Chg7-uHY.js} +1 -1
  40. package/dist/assets/{Index-BecIFcGo.js → Index-CjPN5GZr.js} +1 -1
  41. package/dist/assets/{Index-zjZ7CPr72.js → Index-CnknPEOW2.js} +1 -1
  42. package/dist/assets/{Index-BwfuDrJ9.js → Index-Cuw-pJ0I.js} +1 -1
  43. package/dist/assets/{Index-ex7Y1vY4.js → Index-CyKGM7MD.js} +1 -1
  44. package/dist/assets/{Index-BkbELH7_.js → Index-D0f6VCCu.js} +1 -1
  45. package/dist/assets/{Index-C1QW_CFl.js → Index-DK07tGm1.js} +1 -1
  46. package/dist/assets/{Index-BucEDFrW.css → Index-DOv21tLH.css} +1 -1
  47. package/dist/assets/{Index-DVXw0pwb.js → Index-DTFPAlsp.js} +1 -1
  48. package/dist/assets/{Index-DvGsYLo7.js → Index-De1b43q9.js} +1 -1
  49. package/dist/assets/{Index-T0_cSwPH.js → Index-DeE_gyAr.js} +1 -1
  50. package/dist/assets/{Index-8by4vnko.js → Index-DjMjXRYa.js} +1 -1
  51. package/dist/assets/{Index-CjVzRlMN.js → Index-DqwY22ln.js} +1 -1
  52. package/dist/assets/{Index-7QD2V3wg.js → Index-Dx52UhVA.js} +1 -1
  53. package/dist/assets/{Index-BPAo6_jC.js → Index-GUuys43B.js} +1 -1
  54. package/dist/assets/{Index-DOU9VNl0.js → Index-Mw1xrmbA.js} +1 -1
  55. package/dist/assets/{Index-CxqeZIDT.js → Index-NwESkz1G.js} +1 -1
  56. package/dist/assets/{Index-COJPpNNU.js → Index-VvE544ki.js} +1 -1
  57. package/dist/assets/{Index-jn2z6JP9.js → Index-eXdcllSH.js} +1 -1
  58. package/dist/assets/{Index-1ZGPMaND.js → Index-eY2m4uYt.js} +1 -1
  59. package/dist/assets/{Index-eMf5-MRc.js → Index-jZMrIwYv.js} +1 -1
  60. package/dist/assets/{Index-tjXScQUo.js → Index-uAG9GoTD.js} +1 -1
  61. package/dist/assets/{Index-B4GT4puq.js → Index-uBZSGiEh.js} +1 -1
  62. package/dist/assets/{Index-Bk546k4m.js → Index-uemFTdfN.js} +1 -1
  63. package/dist/assets/{Invitees-tBHppasN.js → Invitees-DJE7UMCL.js} +1 -1
  64. package/dist/assets/{List-ObMnOLL-.js → List-B8wHqSvA.js} +1 -1
  65. package/dist/assets/{List-CEnfs31Y.js → List-DlT9iEAG.js} +1 -1
  66. package/dist/assets/{List-B12lnQg5.js → List-MtsKWkKG.js} +1 -1
  67. package/dist/assets/{LocalTools-DyjoYQ4h.js → LocalTools-C5elVqih.js} +1 -1
  68. package/dist/assets/{LocalTools-CVbTpoYn.js → LocalTools-DlPjqmJb.js} +1 -1
  69. package/dist/assets/{Logo-DmgrIDIl.js → Logo-BRsMoZUf.js} +1 -1
  70. package/dist/assets/{Main-D1Gr1FHA.js → Main-DkcDWNRf.js} +1 -1
  71. package/dist/assets/{Message-Db6-S5sM.js → Message-TyAQUCUU.js} +1 -1
  72. package/dist/assets/{Model-C8RNsnbd.js → Model-DZqCeCtl.js} +1 -1
  73. package/dist/assets/{Navigator-Nfj8gArg.js → Navigator-DJR1Vv92.js} +3 -3
  74. package/dist/assets/{NotFound-D-CoxUw9.js → NotFound-DCPalElg.js} +1 -1
  75. package/dist/assets/{PageHeader-CNpwb3CV.js → PageHeader-DF-zuRdB.js} +1 -1
  76. package/dist/assets/{Pay-BI2Q9Jyg.js → Pay-5sKP-5mn.js} +1 -1
  77. package/dist/assets/{Player-DpnDR3pi.js → Player-BofEgCOB.js} +1 -1
  78. package/dist/assets/{Poivelle-BSP4AAyK.js → Poivelle-nb8MW5Qx.js} +1 -1
  79. package/dist/assets/{RealtimeCall-B2L27PB_.js → RealtimeCall-C9IB8DsU.js} +1 -1
  80. package/dist/assets/{ReportButton-BAx8pia_.js → ReportButton-B6G5OWJ0.js} +1 -1
  81. package/dist/assets/{ReportDialog-CE_HdnOJ.js → ReportDialog-C8ssbL5B.js} +1 -1
  82. package/dist/assets/{ScenarioPaymentMode-C2uR8lvu.js → ScenarioPaymentMode-DRMdqOm9.js} +1 -1
  83. package/dist/assets/{ScheduledTasks-BLT-jdpt.js → ScheduledTasks-BjZ3cZyb.js} +1 -1
  84. package/dist/assets/{ServicePricingSummary-DPzfamaB.js → ServicePricingSummary-rLPlqY7R.js} +1 -1
  85. package/dist/assets/{SharedMarkdown-0ELGv4ui.js → SharedMarkdown-BmNuEnIj.js} +1 -1
  86. package/dist/assets/{ShowcaseGrid-XqUFFvtm.js → ShowcaseGrid-DOcNBb0W.js} +1 -1
  87. package/dist/assets/{ShowcaseResultTabs-DEfMzemw.js → ShowcaseResultTabs-CS9fv2h_.js} +1 -1
  88. package/dist/assets/{SolanaWalletPickerDialog-YgC0eQsl.js → SolanaWalletPickerDialog-zxd6nO8P.js} +1 -1
  89. package/dist/assets/{Status-DKf5Jsod.js → Status-Pg6vKJcY.js} +1 -1
  90. package/dist/assets/{Subscribe-CkkGJTnx.js → Subscribe-C5hDRcCw.js} +1 -1
  91. package/dist/assets/{TabSwitcher-CfjEN161.js → TabSwitcher-VfoHJIjb.js} +1 -1
  92. package/dist/assets/{Tts-D1u48--B.js → Tts-BaBl3ymq.js} +1 -1
  93. package/dist/assets/{VideoPlayer-Cdtv4baV.js → VideoPlayer-DuUSbT-p.js} +1 -1
  94. package/dist/assets/{VideoPreview-D3jWNNx1.js → VideoPreview-DiHzfmhx.js} +1 -1
  95. package/dist/assets/{VueMarkdown-CQ26Rk6o.js → VueMarkdown-DX3n2_s6.js} +2 -2
  96. package/dist/assets/{WriteSkillDialog-Dli1HaFr.js → WriteSkillDialog-B4lxIDJK.js} +1 -1
  97. package/dist/assets/{airwallexCheckout-BOMCtt32.js → airwallexCheckout-DImF7qWM.js} +1 -1
  98. package/dist/assets/arrow-down-B7gY3qc0.js +1 -0
  99. package/dist/assets/arrow-left-D9PzI6lU.js +1 -0
  100. package/dist/assets/arrow-right-BZVVykF9.js +1 -0
  101. package/dist/assets/arrow-up-vjX6ESSZ.js +1 -0
  102. package/dist/assets/{authorizeFlow-BMC9h_3t.js → authorizeFlow-iv3I40NA.js} +1 -1
  103. package/dist/assets/{avatar-BsnEjqLw.js → avatar-Bk-KlfGF.js} +1 -1
  104. package/dist/assets/{back-navigation-DPa7442X.js → back-navigation-DCnyH9QK.js} +1 -1
  105. package/dist/assets/{basic-p_zsFmA2.js → basic-DhRe680f.js} +1 -1
  106. package/dist/assets/{book-open-CpRGukR7.js → book-open-EQsOnwpQ.js} +1 -1
  107. package/dist/assets/{box-CGOU4lJt.js → box-Eq7xsVMG.js} +1 -1
  108. package/dist/assets/{boxes-32lkEX3G.js → boxes-_p2gozxH.js} +1 -1
  109. package/dist/assets/{brain-CEopvMNh.js → brain-B3HPVkyt.js} +1 -1
  110. package/dist/assets/{chart-no-axes-combined-tiBL2Ggm.js → chart-no-axes-combined-wCOmZXlo.js} +1 -1
  111. package/dist/assets/{chat-g6sUFB58.js → chat-DlJM5HiQ.js} +1 -1
  112. package/dist/assets/check-DEuTU4c8.js +1 -0
  113. package/dist/assets/chevron-down-CCvMOkAm.js +1 -0
  114. package/dist/assets/chevron-right-CMN7EUPl.js +1 -0
  115. package/dist/assets/{circle-alert-CXkPdq0D.js → circle-alert-CudS64vb.js} +1 -1
  116. package/dist/assets/circle-check-BzGCItgQ.js +1 -0
  117. package/dist/assets/{circle-question-mark-CVOAxMdj.js → circle-question-mark-CT3dP_S-.js} +1 -1
  118. package/dist/assets/{clipboard-list-Dze8SlYc.js → clipboard-list-rh0gR3f-.js} +1 -1
  119. package/dist/assets/clock-BooSG6zB.js +1 -0
  120. package/dist/assets/code-DyNs0diY.js +1 -0
  121. package/dist/assets/{codingBridge-y6RP64MI.js → codingBridge-D5m47vOt.js} +1 -1
  122. package/dist/assets/{codingBridgeNotify-U3RuiX2r.js → codingBridgeNotify-C68uE2gS.js} +2 -2
  123. package/dist/assets/{coins-dxsmnq-4.js → coins-8GLEA8kx.js} +1 -1
  124. package/dist/assets/{copy-DnKHOq1a.js → copy-BIXUZXhN.js} +1 -1
  125. package/dist/assets/{createTaskActions-B2GAm9bk.js → createTaskActions-Bz2OI0ye.js} +1 -1
  126. package/dist/assets/{date-picker-bOwyWLdL.js → date-picker-qwrQLSa0.js} +1 -1
  127. package/dist/assets/{digitalhuman-DEbD6hPM.js → digitalhuman-EWWLamU7.js} +1 -1
  128. package/dist/assets/{dollar-sign-BLWNTUv9.js → dollar-sign-3CctSein.js} +1 -1
  129. package/dist/assets/{download-BCOklSE_.js → download-0mLTP8WQ.js} +1 -1
  130. package/dist/assets/{drawer-CvX2U8ly.js → drawer-APcI0MuL.js} +1 -1
  131. package/dist/assets/{dropdown-DPKXaIsL.js → dropdown-BZ5uH0eb.js} +1 -1
  132. package/dist/assets/{dropdown-XCwzKYm5.js → dropdown-C1V-gXTG.js} +1 -1
  133. package/dist/assets/{ellipsis-DPB3bXTW.js → ellipsis-DaK_tv_8.js} +1 -1
  134. package/dist/assets/{esm-CyHOLycc.js → esm-CwuiP5gS.js} +2 -2
  135. package/dist/assets/esm-Czt26omG.js +1 -0
  136. package/dist/assets/{esm-UoEBYxr0.js → esm-DDwto2T_.js} +2 -2
  137. package/dist/assets/{external-link-BZpZYYUS.js → external-link-GS6joyO2.js} +1 -1
  138. package/dist/assets/{eye-BhdeJEHm.js → eye-BjqPsB38.js} +1 -1
  139. package/dist/assets/{file-BEBKIB3d.js → file-DN0Fq1Cv.js} +1 -1
  140. package/dist/assets/{file-output-Wrne3aLm.js → file-output-CYRVDW3O.js} +1 -1
  141. package/dist/assets/{file-text-BXNggY_W.js → file-text-DLwLkvbZ.js} +1 -1
  142. package/dist/assets/{fish-VuGOhXsW.js → fish-CuUidYqW.js} +1 -1
  143. package/dist/assets/{flux-BPC7XmH0.js → flux-CkT5DOwc.js} +1 -1
  144. package/dist/assets/{folder-l95IzSNw.js → folder-DGjP5SDg.js} +1 -1
  145. package/dist/assets/gauge-DRD3bzzD.js +1 -0
  146. package/dist/assets/{globe-CSktj64F.js → globe-CfmQv6dc.js} +1 -1
  147. package/dist/assets/{grokvideo-DTBgLS47.js → grokvideo-jylBR3ej.js} +1 -1
  148. package/dist/assets/{hailuo-BVUhC8lk.js → hailuo-DaQVZPNi.js} +1 -1
  149. package/dist/assets/{hash-CRnccwx_.js → hash-GTQkcsQj.js} +1 -1
  150. package/dist/assets/{headphones-DoG13pCL.js → headphones-B8VUrUji.js} +1 -1
  151. package/dist/assets/{history-BHl5ASZC.js → history-BENBo59s.js} +1 -1
  152. package/dist/assets/{house-DNNF-zQb.js → house-WEmC14W_.js} +1 -1
  153. package/dist/assets/{image-2jgf6twa.js → image-BEbYTJ0m.js} +1 -1
  154. package/dist/assets/{index-BYbC-2BV.js → index-Dr2ooWnm.js} +4 -4
  155. package/dist/assets/{index.es-DFqTR-gs.js → index.es-BADyL8Or.js} +1 -1
  156. package/dist/assets/{info-Bqj02p3r.js → info-PmX6OJ8X.js} +1 -1
  157. package/dist/assets/{input-number-BecdXhq4.js → input-number-CQyq1gfs.js} +1 -1
  158. package/dist/assets/{kling-C9azn2UB.js → kling-CSMDk42y.js} +1 -1
  159. package/dist/assets/{languages-Bn9-XqQr.js → languages-D0-qojfd.js} +1 -1
  160. package/dist/assets/{laptop-C_0NyrMl.js → laptop-CiCND6PE.js} +1 -1
  161. package/dist/assets/{lightbulb-C9MU_4ds.js → lightbulb-rCoLSMOl.js} +1 -1
  162. package/dist/assets/{link-CYbuO3R8.js → link-DfdSHXXz.js} +1 -1
  163. package/dist/assets/loader-circle-DlDNc4da.js +1 -0
  164. package/dist/assets/{luma-BtitSxad.js → luma-BnxSbH2s.js} +1 -1
  165. package/dist/assets/{maestro-Cmd5jQVR.js → maestro-C3qz5VUl.js} +1 -1
  166. package/dist/assets/{mail-BJofA_Qf.js → mail-LZDXgeS8.js} +1 -1
  167. package/dist/assets/{message-circle-CKGmdIMI.js → message-circle-VRo45xNQ.js} +1 -1
  168. package/dist/assets/{mic-Ci4tIrSN.js → mic-x3pAaagI.js} +1 -1
  169. package/dist/assets/{midjourney-BQZo_d2M.js → midjourney-DiDJ_NAX.js} +1 -1
  170. package/dist/assets/{minimax-DsdxWCjq.js → minimax-CezIM2Vc.js} +1 -1
  171. package/dist/assets/{mobileLocalExec-Dwqc6v0t.js → mobileLocalExec-Ba06Ginw.js} +2 -2
  172. package/dist/assets/{monitor-CPFxk1wZ.js → monitor-f-HdAnII.js} +1 -1
  173. package/dist/assets/{mouse-pointer-2-B08HzOwW.js → mouse-pointer-2-D28_tEOD.js} +1 -1
  174. package/dist/assets/music-2-DimqlZ0P.js +1 -0
  175. package/dist/assets/{nanobanana-CJ9wJoGd.js → nanobanana-C47zn35Q.js} +1 -1
  176. package/dist/assets/{omni-C-SLGStU.js → omni-BRhJ9p2L.js} +1 -1
  177. package/dist/assets/{openaiimage-D5MNRqg3.js → openaiimage-DN5cekWI.js} +1 -1
  178. package/dist/assets/{pagination-io6RYkJR.js → pagination-CkelWLyU.js} +1 -1
  179. package/dist/assets/{pagination-CYVcmJmV.js → pagination-RVZs5Fps.js} +1 -1
  180. package/dist/assets/{pagination-VjpfotZ8.js → pagination-W-HQ78h5.js} +1 -1
  181. package/dist/assets/{palette-SWZNaMAh.js → palette-Bnao4N1E.js} +1 -1
  182. package/dist/assets/{paperclip-CoovJMXo.js → paperclip-BIrljPlV.js} +1 -1
  183. package/dist/assets/{pause-B7eeiCnH.js → pause-B1oVLxPW.js} +1 -1
  184. package/dist/assets/{pencil-f21Vtqty.js → pencil-tfoCLZ10.js} +1 -1
  185. package/dist/assets/{pika-CsHCQJSE.js → pika-oMB8We5G.js} +1 -1
  186. package/dist/assets/{pixverse-CyDxwFeI.js → pixverse-CrjkStpM.js} +1 -1
  187. package/dist/assets/play-CKD5ICgk.js +1 -0
  188. package/dist/assets/{plug-Dg_9VErH.js → plug-CneJpKAI.js} +1 -1
  189. package/dist/assets/plus-B_fnUe1I.js +1 -0
  190. package/dist/assets/{poivelle-C0zLhGUa.js → poivelle-aDT78zU0.js} +1 -1
  191. package/dist/assets/{popover-BBskEwZL.js → popover-CdWXDZ4Y.js} +1 -1
  192. package/dist/assets/{producer-9b3QkEP1.js → producer-Cmo7xf9M.js} +1 -1
  193. package/dist/assets/{qrart-CtfMNq1M.js → qrart-PjwpBvHh.js} +1 -1
  194. package/dist/assets/{qwenimage-BTvJJiDf.js → qwenimage-DiCadgpU.js} +1 -1
  195. package/dist/assets/{realtime-Dd7fkm3x.js → realtime-cKmm03Gk.js} +1 -1
  196. package/dist/assets/{refresh-cw-Cr7yuII3.js → refresh-cw-Bx7-OW-L.js} +1 -1
  197. package/dist/assets/rotate-ccw-DxSDeWPl.js +1 -0
  198. package/dist/assets/rotate-cw-ZIUqlSwU.js +1 -0
  199. package/dist/assets/{scheduledTasks-CrtGggKP.js → scheduledTasks-DfyCRMUo.js} +1 -1
  200. package/dist/assets/{scroll-text-WT63idaP.js → scroll-text-BznQ-upq.js} +1 -1
  201. package/dist/assets/search-CgyxhhlQ.js +1 -0
  202. package/dist/assets/{seedance-tUqFe83z.js → seedance-B5iHVffg.js} +1 -1
  203. package/dist/assets/{seedream-CuoLy1o8.js → seedream-BUCCanJU.js} +1 -1
  204. package/dist/assets/{select-CxPN3D9u.js → select-GALwUZll.js} +1 -1
  205. package/dist/assets/{serp-D6lCOvz4.js → serp-ByhpOEFk.js} +1 -1
  206. package/dist/assets/{shield-CK7NS6Gf.js → shield-zOrEMlZR.js} +1 -1
  207. package/dist/assets/{showcase-D6Og0HHm.js → showcase-ClAsok_u.js} +1 -1
  208. package/dist/assets/{showcaseRecreateMixin-BEyu8Djp.js → showcaseRecreateMixin-Dhdr3T0y.js} +1 -1
  209. package/dist/assets/{shuffle-DpfFdEcH.js → shuffle-Bsn1YQVr.js} +1 -1
  210. package/dist/assets/{siteHome-3TZFCcij.js → siteHome-DOZxDTUA.js} +1 -1
  211. package/dist/assets/{slider-DNzVAHfq.js → slider-C8pY6U4o.js} +1 -1
  212. package/dist/assets/{solana-wallets-DzzoQdIQ.js → solana-wallets-Cib8AJ2S.js} +2 -2
  213. package/dist/assets/{sora-BxwK55Oy.js → sora-8X-omnaE.js} +1 -1
  214. package/dist/assets/{sparkles-Bj8vdW1Y.js → sparkles-C1bLa319.js} +1 -1
  215. package/dist/assets/square-CT3nJzJZ.js +1 -0
  216. package/dist/assets/{suno-DNbz_RKF.js → suno-DoUkooAP.js} +1 -1
  217. package/dist/assets/{switch-CpihU-Bq.js → switch-4nC3Yz4b.js} +1 -1
  218. package/dist/assets/{table-BQFx3k1H.js → table-CHg1iLS7.js} +1 -1
  219. package/dist/assets/{tag-_vZb-8xx.js → tag-ILhm5hh0.js} +1 -1
  220. package/dist/assets/{taskPolling-9csjvORN.js → taskPolling-DfRWd0Q5.js} +1 -1
  221. package/dist/assets/terminal-B0UFZK-h.js +1 -0
  222. package/dist/assets/{time-picker-RtWvk_sa.js → time-picker-DqmuplAb.js} +1 -1
  223. package/dist/assets/{tooltip-B60Iasgv.js → tooltip-4w7ghPQM.js} +1 -1
  224. package/dist/assets/{trash-2-BBCXfu0p.js → trash-2-BkEkcSHv.js} +1 -1
  225. package/dist/assets/{triangle-alert-BRov4JmE.js → triangle-alert-DBmpuUlm.js} +1 -1
  226. package/dist/assets/{upload-D3ICVrNB.js → upload-DidTvyIg.js} +1 -1
  227. package/dist/assets/user-D8eTVZ1t.js +1 -0
  228. package/dist/assets/{veo-DkZy7hTq.js → veo-BooE6Coe.js} +1 -1
  229. package/dist/assets/{video-CDFVAtyn.js → video-DwVV0C_d.js} +1 -1
  230. package/dist/assets/{volume-2-B06KZpAy.js → volume-2-CpkYjlNM.js} +1 -1
  231. package/dist/assets/{wallet-C2_hOWbL.js → wallet-CSEdeUVb.js} +1 -1
  232. package/dist/assets/{wan-QRuyJPFu.js → wan-NceqaOX8.js} +1 -1
  233. package/dist/assets/{wand-sparkles-D8Xtkkgr.js → wand-sparkles-CwgjO5Gl.js} +1 -1
  234. package/dist/assets/{web-BUdzeUVv.js → web-Be7eYSTS.js} +1 -1
  235. package/dist/assets/{web-JP1HvmQN.js → web-ChTQtMOV.js} +1 -1
  236. package/dist/assets/{web-CY-888ED.js → web-CtwYyIHk.js} +1 -1
  237. package/dist/assets/{web-DaBEVlWo.js → web-DR1td9xt.js} +1 -1
  238. package/dist/assets/{web-BYJbjRYk.js → web-DYYogIAJ.js} +1 -1
  239. package/dist/assets/{webextrator-CW6y2mdz.js → webextrator-DcBVygf6.js} +1 -1
  240. package/dist/assets/{zap-D2PJQZbU.js → zap-5TJ16_7J.js} +1 -1
  241. package/dist/index.html +1 -1
  242. package/package.json +1 -1
  243. package/dist/assets/Conversation-DQ5RmRdb.js +0 -2
  244. package/dist/assets/Index-Dn3EoEQQ.js +0 -88
  245. package/dist/assets/arrow-down-B6_R0HuI.js +0 -1
  246. package/dist/assets/arrow-left-BJOpEVmr.js +0 -1
  247. package/dist/assets/arrow-right-COdHSgP-.js +0 -1
  248. package/dist/assets/arrow-up-3YBgb0Kr.js +0 -1
  249. package/dist/assets/check-C0uK_-Ji.js +0 -1
  250. package/dist/assets/chevron-down-BIqc6Sh0.js +0 -1
  251. package/dist/assets/chevron-right-CewUT0fp.js +0 -1
  252. package/dist/assets/circle-check-GRq8kiSg.js +0 -1
  253. package/dist/assets/clock-BRqsgYwQ.js +0 -1
  254. package/dist/assets/code-DoM9goq2.js +0 -1
  255. package/dist/assets/esm-CCt2cEvm.js +0 -1
  256. package/dist/assets/gauge-Ncwvr6wi.js +0 -1
  257. package/dist/assets/loader-circle-BBOOwaos.js +0 -1
  258. package/dist/assets/music-2-DXzd8a9x.js +0 -1
  259. package/dist/assets/play-D8gxtxAY.js +0 -1
  260. package/dist/assets/plus-BMzVPasG.js +0 -1
  261. package/dist/assets/rotate-ccw-DLsc8rAo.js +0 -1
  262. package/dist/assets/rotate-cw-1vYEmZtB.js +0 -1
  263. package/dist/assets/search-CTbEtirV.js +0 -1
  264. package/dist/assets/square-C64WmG3-.js +0 -1
  265. package/dist/assets/terminal-Clq9LUIa.js +0 -1
  266. package/dist/assets/user-D8RgR1_m.js +0 -1
@@ -1 +1 @@
1
- .dashboard-section[data-v-d129353a]{padding-top:34px}.section-heading[data-v-d129353a]{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:16px;display:flex}.section-heading>div>span[data-v-d129353a]{color:var(--el-color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.section-heading h2[data-v-d129353a]{letter-spacing:-.02em;margin:5px 0 0;font-size:25px}.section-heading p[data-v-d129353a]{max-width:470px;color:var(--el-text-color-secondary);margin:0;font-size:13px;line-height:1.55}.category-rows[data-v-d129353a]{display:grid}.category-grid[data-v-d129353a]{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.category-card[data-v-d129353a]{color:#fff;cursor:pointer;text-align:left;background:#0d131d;border:1px solid #ffffff14;border-radius:15px;min-width:0;min-height:205px;padding:0;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000038}.category-card>img[data-v-d129353a],.category-card .shade[data-v-d129353a]{width:100%;height:100%;position:absolute;inset:0}.category-card>img[data-v-d129353a]{-o-object-fit:cover;object-fit:cover;transition:transform .4s}.category-card .shade[data-v-d129353a]{background:linear-gradient(#04080f05 15%,#04080feb 100%)}.category-card[data-v-d129353a]:hover,.category-card[aria-expanded=true][data-v-d129353a]{border-color:color-mix(in srgb, var(--el-color-primary) 44%, transparent);transform:translateY(-3px);box-shadow:0 18px 42px #0000004d}.category-card:hover>img[data-v-d129353a],.category-card[aria-expanded=true]>img[data-v-d129353a]{transform:scale(1.035)}.category-card[data-v-d129353a]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.category-copy[data-v-d129353a]{z-index:1;text-shadow:0 2px 15px #000000b8;flex-direction:column;align-items:flex-start;gap:5px;display:flex;position:absolute;bottom:17px;left:18px;right:18px}.category-copy strong[data-v-d129353a]{font-size:22px;line-height:1.15}.category-copy>span[data-v-d129353a]{color:#ffffffb3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.category-copy b[data-v-d129353a]{margin-top:4px;font-size:12px}.capability-panel[data-v-d129353a]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d131de6;border:1px solid #ffffff14;border-radius:16px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:13px;padding:15px;display:grid;box-shadow:0 16px 44px #0000003b}.capability-card[data-v-d129353a]{color:#fff;background:#ffffff09;border:1px solid #ffffff12;border-radius:13px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:13px;transition:border-color .2s,background-color .2s,transform .2s;display:grid}.capability-card>img[data-v-d129353a]{-o-object-fit:cover;object-fit:cover;background:#ffffffeb;border-radius:12px;width:44px;height:44px}.capability-card>span[data-v-d129353a]{min-width:0}.capability-card strong[data-v-d129353a],.capability-card small[data-v-d129353a]{display:block}.capability-card strong[data-v-d129353a]{font-size:14px}.capability-card small[data-v-d129353a]{color:#ffffffb8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.capability-card>b[data-v-d129353a]{color:color-mix(in srgb, var(--el-color-primary) 65%, #fff);grid-column:2;font-size:11px}.capability-card[data-v-d129353a]:hover{border-color:rgba(var(--app-brand-rgb), .35);background:rgba(var(--app-brand-rgb), .08);transform:translateY(-2px)}.capability-card[data-v-d129353a]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.panel-enter-active[data-v-d129353a],.panel-leave-active[data-v-d129353a]{transition:opacity .18s,transform .18s}.panel-enter-from[data-v-d129353a],.panel-leave-to[data-v-d129353a]{opacity:0;transform:translateY(-6px)}@media (width<=1120px){.category-grid[data-v-d129353a],.capability-panel[data-v-d129353a]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-section[data-v-d129353a]{padding-top:25px}.section-heading[data-v-d129353a]{display:block}.section-heading p[data-v-d129353a]{margin-top:7px}.capability-panel[data-v-d129353a]{gap:10px}.category-card[data-v-d129353a]{border-radius:13px;min-height:195px}.category-copy[data-v-d129353a]{bottom:13px;left:13px;right:13px}.category-copy strong[data-v-d129353a]{font-size:17px}.capability-panel[data-v-d129353a]{margin-top:0;padding:10px}}@media (width<=430px){.category-grid[data-v-d129353a],.capability-panel[data-v-d129353a]{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.category-card[data-v-d129353a],.category-card>img[data-v-d129353a],.capability-card[data-v-d129353a],.panel-enter-active[data-v-d129353a],.panel-leave-active[data-v-d129353a]{transition:none}.category-card[data-v-d129353a]:hover,.category-card:hover>img[data-v-d129353a],.capability-card[data-v-d129353a]:hover{transform:none}}.home-carousel[data-v-d69edc68]{background:#0b1019;border:1px solid #ffffff17;border-radius:18px;width:100%;height:clamp(340px,30vw,430px);position:relative;overflow:hidden;box-shadow:0 18px 60px #0000004d}.slides[data-v-d69edc68],.slide[data-v-d69edc68],.slide>img[data-v-d69edc68],.image-fallback[data-v-d69edc68],.shade[data-v-d69edc68]{width:100%;height:100%;position:absolute;inset:0}.slide[data-v-d69edc68]{opacity:0;color:#fff;pointer-events:none;transition:opacity .55s}.slide.active[data-v-d69edc68]{z-index:1;opacity:1;pointer-events:auto}.slide>img[data-v-d69edc68]{-o-object-fit:cover;object-fit:cover}.slide.static[data-v-d69edc68]{cursor:default}.slide[data-v-d69edc68]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:-4px}.image-fallback[data-v-d69edc68]{background:radial-gradient(circle, rgba(var(--app-brand-rgb), .22), transparent 45%), #0b1019;place-items:center;display:grid}.image-fallback img[data-v-d69edc68]{-o-object-fit:cover;object-fit:cover;border-radius:24px;width:100px;height:100px}.shade[data-v-d69edc68]{background:linear-gradient(90deg,#04080fe6 0%,#04080fa6 38%,#04080f14 72%),linear-gradient(#0000 55%,#04080f80)}.copy[data-v-d69edc68]{z-index:2;text-shadow:0 3px 22px #000000bf;flex-direction:column;align-items:flex-start;gap:11px;width:min(590px,48%);display:flex;position:absolute;top:50%;left:clamp(34px,5vw,78px);transform:translateY(-50%)}.copy strong[data-v-d69edc68]{letter-spacing:-.035em;font-size:clamp(30px,3.5vw,56px);line-height:1.06}.eyebrow[data-v-d69edc68]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04080f57;border:1px solid #ffffff40;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:750}.description[data-v-d69edc68]{color:#ffffffc2;font-size:15px;line-height:1.6}.action[data-v-d69edc68]{margin-top:5px;font-size:14px;font-weight:750}.arrow[data-v-d69edc68]{z-index:3;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0509116b;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.arrow span[data-v-d69edc68]{margin-top:-2px;font-size:30px;line-height:1}.arrow[data-v-d69edc68]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.previous[data-v-d69edc68]{left:16px}.next[data-v-d69edc68]{right:16px}.dots[data-v-d69edc68]{z-index:3;justify-content:center;gap:8px;display:flex;position:absolute;bottom:16px;left:0;right:0}.dots button[data-v-d69edc68]{cursor:pointer;background:#ffffff57;border:0;border-radius:999px;width:26px;height:4px;padding:0;transition:width .2s,background-color .2s}.dots button.active[data-v-d69edc68]{background:#fff;width:44px}.dots button[data-v-d69edc68]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:4px}@media (width<=900px){.home-carousel[data-v-d69edc68]{height:clamp(300px,44vw,380px)}.copy[data-v-d69edc68]{width:62%}}@media (width<=600px){.home-carousel[data-v-d69edc68]{border-radius:14px;height:338px;min-height:0}.copy[data-v-d69edc68]{gap:7px;width:72%;left:22px}.copy strong[data-v-d69edc68]{font-size:27px}.description[data-v-d69edc68]{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.arrow[data-v-d69edc68]{width:36px;height:36px;top:auto;bottom:13px;transform:none}.previous[data-v-d69edc68]{left:14px}.next[data-v-d69edc68]{right:14px}.dots[data-v-d69edc68]{bottom:29px}}@media (prefers-reduced-motion:reduce){.slide[data-v-d69edc68],.dots button[data-v-d69edc68]{transition:none}}.tenant-home-iframe[data-v-ae8f8418]{border:0;width:100%;display:block}.tenant-home-website-frame[data-v-b3a0eb72]{background:var(--el-bg-color);border:0;border-radius:12px;width:100%;height:clamp(360px,65vh,760px);display:block}.tenant-home-website-link[data-v-b3a0eb72]{color:var(--el-color-primary);margin-top:12px;display:inline-flex}@media (width<=760px){.tenant-home-website-frame[data-v-b3a0eb72]{height:70vh}}.oauth-frame-region iframe[data-v-8f954105]{background:var(--el-bg-color);border:0;border-radius:12px;width:100%;display:block}.oauth-login[data-v-8f954105],.oauth-cancel[data-v-8f954105]{margin-bottom:16px}.tenant-home-oauth>a[data-v-8f954105]{color:var(--el-color-primary);margin-top:12px;display:inline-block}.custom-sections{flex-direction:column;gap:22px;padding-top:34px;display:flex}.tenant-home-block{border:1px solid color-mix(in srgb, var(--el-border-color) 65%, transparent);background:color-mix(in srgb, var(--el-bg-color-overlay) 88%, transparent);border-radius:20px;max-width:100%;padding:clamp(24px,4vw,48px);overflow:hidden;box-shadow:0 18px 55px #0000001f}.tenant-home-block h2{margin:6px 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.1}.tenant-home-content :is(pre,table){max-width:100%;overflow-x:auto}@media (prefers-reduced-motion:reduce){.tenant-home-block{scroll-behavior:auto;transition:none}}.studio-home[data-v-b1f4587d]{height:100%;min-height:0;color:var(--el-text-color-primary);background:radial-gradient(circle at 82% 6%, rgba(var(--app-brand-rgb), .09), transparent 26%), #080c13;scrollbar-gutter:stable;overflow-y:auto}.dashboard[data-v-b1f4587d]{width:min(1580px,100% - 36px);margin:0 auto;padding:18px 0 8px}.home-back-to-top[data-v-b1f4587d]{z-index:10;color:#e2e8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#161b26e0;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:background-color .16s,border-color .16s,bottom .18s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #0003}.home-back-to-top[data-v-b1f4587d]:after{content:"";border-radius:50%;position:absolute;inset:-9px}@media (hover:hover){.home-back-to-top[data-v-b1f4587d]:hover{border-color:rgba(var(--app-brand-rgb), .6);background:#262c3af5}}.home-back-to-top[data-v-b1f4587d]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:3px}.home-back-to-top[data-v-b1f4587d]:active{background:#262c3af5}.back-to-top-enter-active[data-v-b1f4587d],.back-to-top-leave-active[data-v-b1f4587d]{transition:opacity .16s,transform .16s}.back-to-top-enter-from[data-v-b1f4587d],.back-to-top-leave-to[data-v-b1f4587d]{opacity:0;transform:translateY(6px)}.home-loading[data-v-b1f4587d]{background:#080c13;place-items:center;height:100%;display:grid}.home-loading span[data-v-b1f4587d]{border:3px solid #ffffff29;border-top-color:var(--el-color-primary);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite home-spin-b1f4587d}@keyframes home-spin-b1f4587d{to{transform:rotate(360deg)}}@media (width<=767px){.home-back-to-top[data-v-b1f4587d]{right:16px;bottom:calc(var(--app-dock-height) + var(--app-safe-area-bottom) + 16px)}.dashboard[data-v-b1f4587d]{width:calc(100% - 24px);padding-top:12px}}@media (prefers-reduced-motion:reduce){.home-back-to-top[data-v-b1f4587d],.back-to-top-enter-active[data-v-b1f4587d],.back-to-top-leave-active[data-v-b1f4587d]{transition:none}.home-loading span[data-v-b1f4587d]{animation-duration:1.8s}}.showcase-load-more[data-v-b1f4587d]{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;min-height:44px;margin:4px auto 28px;padding:0 24px;font-weight:750;display:block}.showcase-load-more[data-v-b1f4587d]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:3px}
1
+ .dashboard-section[data-v-d129353a]{padding-top:34px}.section-heading[data-v-d129353a]{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:16px;display:flex}.section-heading>div>span[data-v-d129353a]{color:var(--el-color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.section-heading h2[data-v-d129353a]{letter-spacing:-.02em;margin:5px 0 0;font-size:25px}.section-heading p[data-v-d129353a]{max-width:470px;color:var(--el-text-color-secondary);margin:0;font-size:13px;line-height:1.55}.category-rows[data-v-d129353a]{display:grid}.category-grid[data-v-d129353a]{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.category-card[data-v-d129353a]{color:#fff;cursor:pointer;text-align:left;background:#0d131d;border:1px solid #ffffff14;border-radius:15px;min-width:0;min-height:205px;padding:0;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000038}.category-card>img[data-v-d129353a],.category-card .shade[data-v-d129353a]{width:100%;height:100%;position:absolute;inset:0}.category-card>img[data-v-d129353a]{-o-object-fit:cover;object-fit:cover;transition:transform .4s}.category-card .shade[data-v-d129353a]{background:linear-gradient(#04080f05 15%,#04080feb 100%)}.category-card[data-v-d129353a]:hover,.category-card[aria-expanded=true][data-v-d129353a]{border-color:color-mix(in srgb, var(--el-color-primary) 44%, transparent);transform:translateY(-3px);box-shadow:0 18px 42px #0000004d}.category-card:hover>img[data-v-d129353a],.category-card[aria-expanded=true]>img[data-v-d129353a]{transform:scale(1.035)}.category-card[data-v-d129353a]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.category-copy[data-v-d129353a]{z-index:1;text-shadow:0 2px 15px #000000b8;flex-direction:column;align-items:flex-start;gap:5px;display:flex;position:absolute;bottom:17px;left:18px;right:18px}.category-copy strong[data-v-d129353a]{font-size:22px;line-height:1.15}.category-copy>span[data-v-d129353a]{color:#ffffffb3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.category-copy b[data-v-d129353a]{margin-top:4px;font-size:12px}.capability-panel[data-v-d129353a]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d131de6;border:1px solid #ffffff14;border-radius:16px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:13px;padding:15px;display:grid;box-shadow:0 16px 44px #0000003b}.capability-card[data-v-d129353a]{color:#fff;background:#ffffff09;border:1px solid #ffffff12;border-radius:13px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:13px;transition:border-color .2s,background-color .2s,transform .2s;display:grid}.capability-card>img[data-v-d129353a]{-o-object-fit:cover;object-fit:cover;background:#ffffffeb;border-radius:12px;width:44px;height:44px}.capability-card>span[data-v-d129353a]{min-width:0}.capability-card strong[data-v-d129353a],.capability-card small[data-v-d129353a]{display:block}.capability-card strong[data-v-d129353a]{font-size:14px}.capability-card small[data-v-d129353a]{color:#ffffffb8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.capability-card>b[data-v-d129353a]{color:color-mix(in srgb, var(--el-color-primary) 65%, #fff);grid-column:2;font-size:11px}.capability-card[data-v-d129353a]:hover{border-color:rgba(var(--app-brand-rgb), .35);background:rgba(var(--app-brand-rgb), .08);transform:translateY(-2px)}.capability-card[data-v-d129353a]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.panel-enter-active[data-v-d129353a],.panel-leave-active[data-v-d129353a]{transition:opacity .18s,transform .18s}.panel-enter-from[data-v-d129353a],.panel-leave-to[data-v-d129353a]{opacity:0;transform:translateY(-6px)}@media (width<=1120px){.category-grid[data-v-d129353a],.capability-panel[data-v-d129353a]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-section[data-v-d129353a]{padding-top:25px}.section-heading[data-v-d129353a]{display:block}.section-heading p[data-v-d129353a]{margin-top:7px}.capability-panel[data-v-d129353a]{gap:10px}.category-card[data-v-d129353a]{border-radius:13px;min-height:195px}.category-copy[data-v-d129353a]{bottom:13px;left:13px;right:13px}.category-copy strong[data-v-d129353a]{font-size:17px}.capability-panel[data-v-d129353a]{margin-top:0;padding:10px}}@media (width<=430px){.category-grid[data-v-d129353a],.capability-panel[data-v-d129353a]{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.category-card[data-v-d129353a],.category-card>img[data-v-d129353a],.capability-card[data-v-d129353a],.panel-enter-active[data-v-d129353a],.panel-leave-active[data-v-d129353a]{transition:none}.category-card[data-v-d129353a]:hover,.category-card:hover>img[data-v-d129353a],.capability-card[data-v-d129353a]:hover{transform:none}}.home-carousel[data-v-d69edc68]{background:#0b1019;border:1px solid #ffffff17;border-radius:18px;width:100%;height:clamp(340px,30vw,430px);position:relative;overflow:hidden;box-shadow:0 18px 60px #0000004d}.slides[data-v-d69edc68],.slide[data-v-d69edc68],.slide>img[data-v-d69edc68],.image-fallback[data-v-d69edc68],.shade[data-v-d69edc68]{width:100%;height:100%;position:absolute;inset:0}.slide[data-v-d69edc68]{opacity:0;color:#fff;pointer-events:none;transition:opacity .55s}.slide.active[data-v-d69edc68]{z-index:1;opacity:1;pointer-events:auto}.slide>img[data-v-d69edc68]{-o-object-fit:cover;object-fit:cover}.slide.static[data-v-d69edc68]{cursor:default}.slide[data-v-d69edc68]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:-4px}.image-fallback[data-v-d69edc68]{background:radial-gradient(circle, rgba(var(--app-brand-rgb), .22), transparent 45%), #0b1019;place-items:center;display:grid}.image-fallback img[data-v-d69edc68]{-o-object-fit:cover;object-fit:cover;border-radius:24px;width:100px;height:100px}.shade[data-v-d69edc68]{background:linear-gradient(90deg,#04080fe6 0%,#04080fa6 38%,#04080f14 72%),linear-gradient(#0000 55%,#04080f80)}.copy[data-v-d69edc68]{z-index:2;text-shadow:0 3px 22px #000000bf;flex-direction:column;align-items:flex-start;gap:11px;width:min(590px,48%);display:flex;position:absolute;top:50%;left:clamp(34px,5vw,78px);transform:translateY(-50%)}.copy strong[data-v-d69edc68]{letter-spacing:-.035em;font-size:clamp(30px,3.5vw,56px);line-height:1.06}.eyebrow[data-v-d69edc68]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04080f57;border:1px solid #ffffff40;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:750}.description[data-v-d69edc68]{color:#ffffffc2;font-size:15px;line-height:1.6}.action[data-v-d69edc68]{margin-top:5px;font-size:14px;font-weight:750}.arrow[data-v-d69edc68]{z-index:3;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0509116b;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.arrow span[data-v-d69edc68]{margin-top:-2px;font-size:30px;line-height:1}.arrow[data-v-d69edc68]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:2px}.previous[data-v-d69edc68]{left:16px}.next[data-v-d69edc68]{right:16px}.dots[data-v-d69edc68]{z-index:3;justify-content:center;gap:8px;display:flex;position:absolute;bottom:16px;left:0;right:0}.dots button[data-v-d69edc68]{cursor:pointer;background:#ffffff57;border:0;border-radius:999px;width:26px;height:4px;padding:0;transition:width .2s,background-color .2s}.dots button.active[data-v-d69edc68]{background:#fff;width:44px}.dots button[data-v-d69edc68]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:4px}@media (width<=900px){.home-carousel[data-v-d69edc68]{height:clamp(300px,44vw,380px)}.copy[data-v-d69edc68]{width:62%}}@media (width<=600px){.home-carousel[data-v-d69edc68]{border-radius:14px;height:338px;min-height:0}.copy[data-v-d69edc68]{gap:7px;width:72%;left:22px}.copy strong[data-v-d69edc68]{font-size:27px}.description[data-v-d69edc68]{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.arrow[data-v-d69edc68]{width:36px;height:36px;top:auto;bottom:13px;transform:none}.previous[data-v-d69edc68]{left:14px}.next[data-v-d69edc68]{right:14px}.dots[data-v-d69edc68]{bottom:29px}}@media (prefers-reduced-motion:reduce){.slide[data-v-d69edc68],.dots button[data-v-d69edc68]{transition:none}}.tenant-home-iframe[data-v-ae8f8418]{border:0;width:100%;display:block}.tenant-home-website-frame[data-v-c3b8cc56]{background:var(--el-bg-color);border:0;border-radius:12px;width:100%;height:clamp(360px,65vh,760px);display:block}@media (width<=760px){.tenant-home-website-frame[data-v-c3b8cc56]{height:70vh}}.oauth-frame-region iframe[data-v-8f954105]{background:var(--el-bg-color);border:0;border-radius:12px;width:100%;display:block}.oauth-login[data-v-8f954105],.oauth-cancel[data-v-8f954105]{margin-bottom:16px}.tenant-home-oauth>a[data-v-8f954105]{color:var(--el-color-primary);margin-top:12px;display:inline-block}.custom-sections{flex-direction:column;gap:22px;padding-top:34px;display:flex}.tenant-home-block{border:1px solid color-mix(in srgb, var(--el-border-color) 65%, transparent);background:color-mix(in srgb, var(--el-bg-color-overlay) 88%, transparent);border-radius:20px;max-width:100%;padding:clamp(24px,4vw,48px);overflow:hidden;box-shadow:0 18px 55px #0000001f}.tenant-home-block h2{margin:6px 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.1}.tenant-home-content :is(pre,table){max-width:100%;overflow-x:auto}@media (prefers-reduced-motion:reduce){.tenant-home-block{scroll-behavior:auto;transition:none}}.studio-home[data-v-b1f4587d]{height:100%;min-height:0;color:var(--el-text-color-primary);background:radial-gradient(circle at 82% 6%, rgba(var(--app-brand-rgb), .09), transparent 26%), #080c13;scrollbar-gutter:stable;overflow-y:auto}.dashboard[data-v-b1f4587d]{width:min(1580px,100% - 36px);margin:0 auto;padding:18px 0 8px}.home-back-to-top[data-v-b1f4587d]{z-index:10;color:#e2e8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#161b26e0;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:background-color .16s,border-color .16s,bottom .18s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #0003}.home-back-to-top[data-v-b1f4587d]:after{content:"";border-radius:50%;position:absolute;inset:-9px}@media (hover:hover){.home-back-to-top[data-v-b1f4587d]:hover{border-color:rgba(var(--app-brand-rgb), .6);background:#262c3af5}}.home-back-to-top[data-v-b1f4587d]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:3px}.home-back-to-top[data-v-b1f4587d]:active{background:#262c3af5}.back-to-top-enter-active[data-v-b1f4587d],.back-to-top-leave-active[data-v-b1f4587d]{transition:opacity .16s,transform .16s}.back-to-top-enter-from[data-v-b1f4587d],.back-to-top-leave-to[data-v-b1f4587d]{opacity:0;transform:translateY(6px)}.home-loading[data-v-b1f4587d]{background:#080c13;place-items:center;height:100%;display:grid}.home-loading span[data-v-b1f4587d]{border:3px solid #ffffff29;border-top-color:var(--el-color-primary);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite home-spin-b1f4587d}@keyframes home-spin-b1f4587d{to{transform:rotate(360deg)}}@media (width<=767px){.home-back-to-top[data-v-b1f4587d]{right:16px;bottom:calc(var(--app-dock-height) + var(--app-safe-area-bottom) + 16px)}.dashboard[data-v-b1f4587d]{width:calc(100% - 24px);padding-top:12px}}@media (prefers-reduced-motion:reduce){.home-back-to-top[data-v-b1f4587d],.back-to-top-enter-active[data-v-b1f4587d],.back-to-top-leave-active[data-v-b1f4587d]{transition:none}.home-loading span[data-v-b1f4587d]{animation-duration:1.8s}}.showcase-load-more[data-v-b1f4587d]{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;min-height:44px;margin:4px auto 28px;padding:0 24px;font-weight:750;display:block}.showcase-load-more[data-v-b1f4587d]:focus-visible{outline:3px solid var(--el-color-primary);outline-offset:3px}
@@ -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-CxPN3D9u.js";import{t as b}from"./upload-Sju4DbiY.js";import{t as x}from"./tooltip-B60Iasgv.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as T}from"./checkbox-DXMDpaxv.js";import{t as E}from"./drawer-CvX2U8ly.js";import{t as D}from"./input-number-BecdXhq4.js";import{t as O}from"./clock-BRqsgYwQ.js";import{t as k}from"./hash-CRnccwx_.js";import{t as ee}from"./info-Bqj02p3r.js";import{a as A,i as j,n as M,r as N,t as P}from"./pagination-VjpfotZ8.js";import{t as F}from"./trash-2-BBCXfu0p.js";import{t as te}from"./triangle-alert-BRov4JmE.js";import{t as I}from"./wand-sparkles-D8Xtkkgr.js";import{xt as ne}from"./constants-GmVIn7tC.js";import{Bn as L,D as R,Mi as z,Na as B,Pi as V,Qa as H,T as U,Tn as W,Vn as G,at as K,ct as q,lt as J,oi as Y,oo as X,ot as Z,qi as re,ri as ie,st as ae,ta as oe,tt as se,za as Q}from"./index-BYbC-2BV.js";import{t as ce}from"./CopyToClipboard-BQaEPLyt.js";import{t as le}from"./ReportButton-BAx8pia_.js";import{t as ue}from"./ImagePreview-Dm16d0L7.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./ServicePricingSummary-DPzfamaB.js";import{t as pe}from"./VideoPlayer-Cdtv4baV.js";import{t as me}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as he}from"./ApiCodeButton-CAQzrT4K.js";import{t as ge}from"./BotPlaceholder-BlCUdjzq.js";import{t as _e}from"./taskPollingMixin-CcLxtz8z.js";import{n as ve,t as ye}from"./generationInput--J_4Niw5.js";var be=_({name:`LayoutWan`,components:{MagicIcon:I,ElDrawer:E,ElButton:H},mixins:[de]}),xe={class:`main flex flex-row flex-1`},Se={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)]`},Ce={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function we(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,xe,[e(`div`,Se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ce,[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:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Te=R(be,[[`render`,we],[`__scopeId`,`data-v-20dc9571`]]),Ee=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)},{value:`wan3.0-video`,label:this.$t(`wan.button.modelWan3`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=ne}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`float-left`};function Ae(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ke,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var je=R(Ee,[[`render`,Ae],[`__scopeId`,`data-v-f4ee3412`]]),Me=`720p`,Ne=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=Me}}),Pe={class:`field`},Fe={class:`title font-bold`},Ie={class:`float-left`};function Le(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Pe,[e(`h2`,Fe,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ie,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Re=R(Ne,[[`render`,Le],[`__scopeId`,`data-v-3e39f44e`]]),ze=5,Be=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ze}}),Ve={class:`field`},He={class:`title font-bold`},Ue={class:`float-left`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ve,[e(`h2`,He,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ue,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=R(Be,[[`render`,We],[`__scopeId`,`data-v-5f35a2cf`]]),Ke=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:H,InfoIcon:A,ImagePreview:ue},mixins:[J,q,Z,se],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){w.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){w.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){w.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),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,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Qe=R(Ke,[[`render`,Ze],[`__scopeId`,`data-v-56929914`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:j},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.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(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=R($e,[[`render`,et]]),nt=_({name:`WanMediaInput`,components:{ElInput:X},computed:{value:{get(){return this.$store.state.wan?.config?.media_text||``},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,media_text:e})}}}}),rt={class:`field`},it={class:`flex items-center mb-2`},at={class:`text-sm font-bold`},ot={class:`text-xs mt-1 text-[var(--el-text-color-secondary)]`};function st(t,n,r,o,c,u){let d=l(`el-input`);return h(),s(`div`,rt,[e(`div`,it,[e(`span`,at,i(t.$t(`wan.name.media`)),1)]),a(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,type:`textarea`,rows:5,placeholder:t.$t(`wan.placeholder.media`)},null,8,[`modelValue`,`placeholder`]),e(`p`,ot,i(t.$t(`wan.description.media`)),1)])}var ct=R(nt,[[`render`,st]]),lt=_({name:`Wan3Options`,components:{ElSelect:v,ElOption:y,ElInputNumber:D,ElCheckbox:T},data:()=>({ratios:[`adaptive`,`16:9`,`4:3`,`1:1`,`3:4`,`9:16`]}),computed:{ratio:{get(){return this.$store.state.wan?.config?.ratio||`adaptive`},set(e){this.set({ratio:e})}},duration:{get(){return this.$store.state.wan?.config?.duration??5},set(e){this.set({duration:e})}},audio:{get(){return this.$store.state.wan?.config?.audio!==!1},set(e){this.set({audio:e})}}},methods:{set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,...e})}}}),ut={class:`space-y-4`},dt={class:`field`},ft={class:`label`},pt={class:`field`},mt={class:`label`};function ht(t,n,o,u,d,g){let _=l(`el-option`),v=l(`el-select`),y=l(`el-input-number`),b=l(`el-checkbox`);return h(),s(`div`,ut,[e(`div`,dt,[e(`span`,ft,i(t.$t(`wan.name.ratio`)),1),a(v,{modelValue:t.ratio,"onUpdate:modelValue":n[0]||=e=>t.ratio=e},{default:p(()=>[(h(!0),s(c,null,m(t.ratios,e=>(h(),f(_,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,pt,[e(`span`,mt,i(t.$t(`wan.name.duration`)),1),a(y,{modelValue:t.duration,"onUpdate:modelValue":n[1]||=e=>t.duration=e,min:-1,max:30},null,8,[`modelValue`])]),a(b,{modelValue:t.audio,"onUpdate:modelValue":n[2]||=e=>t.audio=e},{default:p(()=>[r(i(t.$t(`wan.name.audio`)),1)]),_:1},8,[`modelValue`])])}var gt=_({name:`PresetPanel`,components:{MagicIcon:I,ElButton:H,PromptInput:tt,ImageUrlInput:Qe,ModelSelector:je,ResolutionSelector:Re,DurationSelector:Ge,MediaInput:ct,Wan3Options:R(lt,[[`render`,ht],[`__scopeId`,`data-v-49568593`]]),ServicePricingSummary:fe,ScenarioPaymentMode:me},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return ye(`wan`,L(this.config))},config(){return this.$store.state.wan?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`||e===`wan3.0-video`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},isWan3(){return this.config?.model===`wan3.0-video`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},walletMode(){return z()&&V(`wan`).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=V(`wan`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=V(`wan`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await G.quote(L(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`)}}}),_t={class:`flex flex-col h-full`},vt={class:`flex-1 overflow-y-auto p-5`},yt={class:`flex flex-col items-center justify-center px-5 pb-5`};function bt(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`media-input`),S=l(`wan3-options`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,_t,[e(`div`,vt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0),t.isWan3?(h(),f(x,{key:3,class:`mb-4`})):o(``,!0),t.isWan3?(h(),f(S,{key:4,class:`mb-4`})):o(``,!0)]),e(`div`,yt,[a(C,{scenario:`wan`}),t.walletMode?o(``,!0):(h(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var xt=R(gt,[[`render`,bt]]),St=_({name:`TaskPreview`,components:{DeleteIcon:F,ChannelIcon:k,InfoIcon:ee,MagicIcon:I,TimeIcon:O,WarningIcon:te,CopyToClipboard:ce,ElAlert:S,VideoPlayer:pe,ElTooltip:x,ElButton:H,ApiCodeButton:he,ReportButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Q.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(`wan/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),Ct={class:`preview`},wt={class:`left`},Tt={class:`main`},Et={class:`bot`},Dt={class:`datetime`},Ot=[`aria-label`],kt={class:`info`},At={key:0,class:`prompt mt-2`},jt={key:0},Mt={key:1},Nt={key:0,class:n({content:!0,failed:!0})},Pt={key:0,class:`mb-4`},Ft={key:1,class:n({operations:!0,"mt-2":!0})},It={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},zt={key:1,class:n({content:!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:2,class:n({content:!0})},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Gt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`channel-icon`),w=l(`copy-to-clipboard`),T=l(`magic-icon`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return h(),s(`div`,Ct,[e(`div`,wt,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Tt,[e(`div`,Et,[a(g,{capability:`wan`,part:`name`}),e(`span`,Dt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,kt,[n.modelValue?.request?.prompt?(h(),s(`p`,At,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,jt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,Mt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,Nt,[n.modelValue?.response?.video_url?(h(),s(`div`,Pt,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,Ft,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`wan`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,It,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,Lt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Rt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,zt,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,Bt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Vt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,Ut,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Kt=_({name:`RecentPanel`,components:{TaskPreview:R(St,[[`render`,Gt],[`__scopeId`,`data-v-f180e91e`]]),BotPlaceholder:ge,NoTasks:N,ScrollList:M},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Jt={key:2,class:`w-full h-full flex items-center justify-center`};function Yt(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`,qt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-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`,Jt,[a(v)])):o(``,!0)],64)}var Xt=_({name:`WanIndex`,components:{ConfigPanel:xt,Layout:Te,RecentPanel:R(Kt,[[`render`,Yt]])},mixins:[ae,_e(`wan`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks},walletMode(){return z()&&V(`wan`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`wan/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 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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/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(`wan/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=L(this.config),t=ve(`wan`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!K(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=G.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!oe())return;let t=this.credential?.token;if(!t)return;n=G.generate(e,{token:t})}w.info(this.$t(`wan.message.startingTask`)),re(`wan`,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(`wan.message.startTaskSuccess`))}).catch(e=>{e instanceof ie||U(e,`wan`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`wan.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return Y(this.$wallet)},async confirmWalletPayment(e){return Q.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 Zt(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 Qt=R(Xt,[[`render`,Zt]]);export{Qt 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-GALwUZll.js";import{t as b}from"./upload-Sju4DbiY.js";import{t as x}from"./tooltip-4w7ghPQM.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as T}from"./checkbox-DXMDpaxv.js";import{t as E}from"./drawer-APcI0MuL.js";import{t as D}from"./input-number-CQyq1gfs.js";import{t as O}from"./clock-BooSG6zB.js";import{t as k}from"./hash-GTQkcsQj.js";import{t as ee}from"./info-PmX6OJ8X.js";import{a as A,i as j,n as M,r as N,t as P}from"./pagination-W-HQ78h5.js";import{t as F}from"./trash-2-BkEkcSHv.js";import{t as te}from"./triangle-alert-DBmpuUlm.js";import{t as I}from"./wand-sparkles-CwgjO5Gl.js";import{xt as ne}from"./constants-GmVIn7tC.js";import{Bn as L,D as R,Mi as z,Na as B,Pi as V,Qa as H,T as U,Tn as W,Vn as G,at as K,ct as q,lt as J,oi as Y,oo as X,ot as Z,qi as re,ri as ie,st as ae,ta as oe,tt as se,za as Q}from"./index-Dr2ooWnm.js";import{t as ce}from"./CopyToClipboard-CQT78wob.js";import{t as le}from"./ReportButton-B6G5OWJ0.js";import{t as ue}from"./ImagePreview-YXx0To-U.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./ServicePricingSummary-rLPlqY7R.js";import{t as pe}from"./VideoPlayer-DuUSbT-p.js";import{t as me}from"./ScenarioPaymentMode-DRMdqOm9.js";import{t as he}from"./ApiCodeButton-DSt2Pz0O.js";import{t as ge}from"./BotPlaceholder-BC8u-j84.js";import{t as _e}from"./taskPollingMixin-CcLxtz8z.js";import{n as ve,t as ye}from"./generationInput--J_4Niw5.js";var be=_({name:`LayoutWan`,components:{MagicIcon:I,ElDrawer:E,ElButton:H},mixins:[de]}),xe={class:`main flex flex-row flex-1`},Se={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)]`},Ce={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function we(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,xe,[e(`div`,Se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ce,[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:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Te=R(be,[[`render`,we],[`__scopeId`,`data-v-20dc9571`]]),Ee=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)},{value:`wan3.0-video`,label:this.$t(`wan.button.modelWan3`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=ne}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`float-left`};function Ae(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ke,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var je=R(Ee,[[`render`,Ae],[`__scopeId`,`data-v-f4ee3412`]]),Me=`720p`,Ne=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=Me}}),Pe={class:`field`},Fe={class:`title font-bold`},Ie={class:`float-left`};function Le(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Pe,[e(`h2`,Fe,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ie,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Re=R(Ne,[[`render`,Le],[`__scopeId`,`data-v-3e39f44e`]]),ze=5,Be=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ze}}),Ve={class:`field`},He={class:`title font-bold`},Ue={class:`float-left`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ve,[e(`h2`,He,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ue,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=R(Be,[[`render`,We],[`__scopeId`,`data-v-5f35a2cf`]]),Ke=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:H,InfoIcon:A,ImagePreview:ue},mixins:[J,q,Z,se],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){w.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){w.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){w.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),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,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Qe=R(Ke,[[`render`,Ze],[`__scopeId`,`data-v-56929914`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:j},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.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(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=R($e,[[`render`,et]]),nt=_({name:`WanMediaInput`,components:{ElInput:X},computed:{value:{get(){return this.$store.state.wan?.config?.media_text||``},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,media_text:e})}}}}),rt={class:`field`},it={class:`flex items-center mb-2`},at={class:`text-sm font-bold`},ot={class:`text-xs mt-1 text-[var(--el-text-color-secondary)]`};function st(t,n,r,o,c,u){let d=l(`el-input`);return h(),s(`div`,rt,[e(`div`,it,[e(`span`,at,i(t.$t(`wan.name.media`)),1)]),a(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,type:`textarea`,rows:5,placeholder:t.$t(`wan.placeholder.media`)},null,8,[`modelValue`,`placeholder`]),e(`p`,ot,i(t.$t(`wan.description.media`)),1)])}var ct=R(nt,[[`render`,st]]),lt=_({name:`Wan3Options`,components:{ElSelect:v,ElOption:y,ElInputNumber:D,ElCheckbox:T},data:()=>({ratios:[`adaptive`,`16:9`,`4:3`,`1:1`,`3:4`,`9:16`]}),computed:{ratio:{get(){return this.$store.state.wan?.config?.ratio||`adaptive`},set(e){this.set({ratio:e})}},duration:{get(){return this.$store.state.wan?.config?.duration??5},set(e){this.set({duration:e})}},audio:{get(){return this.$store.state.wan?.config?.audio!==!1},set(e){this.set({audio:e})}}},methods:{set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,...e})}}}),ut={class:`space-y-4`},dt={class:`field`},ft={class:`label`},pt={class:`field`},mt={class:`label`};function ht(t,n,o,u,d,g){let _=l(`el-option`),v=l(`el-select`),y=l(`el-input-number`),b=l(`el-checkbox`);return h(),s(`div`,ut,[e(`div`,dt,[e(`span`,ft,i(t.$t(`wan.name.ratio`)),1),a(v,{modelValue:t.ratio,"onUpdate:modelValue":n[0]||=e=>t.ratio=e},{default:p(()=>[(h(!0),s(c,null,m(t.ratios,e=>(h(),f(_,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,pt,[e(`span`,mt,i(t.$t(`wan.name.duration`)),1),a(y,{modelValue:t.duration,"onUpdate:modelValue":n[1]||=e=>t.duration=e,min:-1,max:30},null,8,[`modelValue`])]),a(b,{modelValue:t.audio,"onUpdate:modelValue":n[2]||=e=>t.audio=e},{default:p(()=>[r(i(t.$t(`wan.name.audio`)),1)]),_:1},8,[`modelValue`])])}var gt=_({name:`PresetPanel`,components:{MagicIcon:I,ElButton:H,PromptInput:tt,ImageUrlInput:Qe,ModelSelector:je,ResolutionSelector:Re,DurationSelector:Ge,MediaInput:ct,Wan3Options:R(lt,[[`render`,ht],[`__scopeId`,`data-v-49568593`]]),ServicePricingSummary:fe,ScenarioPaymentMode:me},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return ye(`wan`,L(this.config))},config(){return this.$store.state.wan?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`||e===`wan3.0-video`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},isWan3(){return this.config?.model===`wan3.0-video`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},walletMode(){return z()&&V(`wan`).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=V(`wan`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=V(`wan`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await G.quote(L(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`)}}}),_t={class:`flex flex-col h-full`},vt={class:`flex-1 overflow-y-auto p-5`},yt={class:`flex flex-col items-center justify-center px-5 pb-5`};function bt(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`media-input`),S=l(`wan3-options`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,_t,[e(`div`,vt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0),t.isWan3?(h(),f(x,{key:3,class:`mb-4`})):o(``,!0),t.isWan3?(h(),f(S,{key:4,class:`mb-4`})):o(``,!0)]),e(`div`,yt,[a(C,{scenario:`wan`}),t.walletMode?o(``,!0):(h(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var xt=R(gt,[[`render`,bt]]),St=_({name:`TaskPreview`,components:{DeleteIcon:F,ChannelIcon:k,InfoIcon:ee,MagicIcon:I,TimeIcon:O,WarningIcon:te,CopyToClipboard:ce,ElAlert:S,VideoPlayer:pe,ElTooltip:x,ElButton:H,ApiCodeButton:he,ReportButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Q.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(`wan/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),Ct={class:`preview`},wt={class:`left`},Tt={class:`main`},Et={class:`bot`},Dt={class:`datetime`},Ot=[`aria-label`],kt={class:`info`},At={key:0,class:`prompt mt-2`},jt={key:0},Mt={key:1},Nt={key:0,class:n({content:!0,failed:!0})},Pt={key:0,class:`mb-4`},Ft={key:1,class:n({operations:!0,"mt-2":!0})},It={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},zt={key:1,class:n({content:!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:2,class:n({content:!0})},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Gt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`channel-icon`),w=l(`copy-to-clipboard`),T=l(`magic-icon`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return h(),s(`div`,Ct,[e(`div`,wt,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Tt,[e(`div`,Et,[a(g,{capability:`wan`,part:`name`}),e(`span`,Dt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,kt,[n.modelValue?.request?.prompt?(h(),s(`p`,At,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,jt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,Mt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,Nt,[n.modelValue?.response?.video_url?(h(),s(`div`,Pt,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,Ft,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`wan`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,It,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,Lt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Rt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,zt,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,Bt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Vt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,Ut,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Kt=_({name:`RecentPanel`,components:{TaskPreview:R(St,[[`render`,Gt],[`__scopeId`,`data-v-f180e91e`]]),BotPlaceholder:ge,NoTasks:N,ScrollList:M},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Jt={key:2,class:`w-full h-full flex items-center justify-center`};function Yt(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`,qt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-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`,Jt,[a(v)])):o(``,!0)],64)}var Xt=_({name:`WanIndex`,components:{ConfigPanel:xt,Layout:Te,RecentPanel:R(Kt,[[`render`,Yt]])},mixins:[ae,_e(`wan`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks},walletMode(){return z()&&V(`wan`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`wan/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 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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/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(`wan/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=L(this.config),t=ve(`wan`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!K(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=G.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!oe())return;let t=this.credential?.token;if(!t)return;n=G.generate(e,{token:t})}w.info(this.$t(`wan.message.startingTask`)),re(`wan`,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(`wan.message.startTaskSuccess`))}).catch(e=>{e instanceof ie||U(e,`wan`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`wan.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return Y(this.$wallet)},async confirmWalletPayment(e){return Q.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 Zt(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 Qt=R(Xt,[[`render`,Zt]]);export{Qt 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{t as v}from"./upload-Sju4DbiY.js";import{t as y}from"./tooltip-B60Iasgv.js";import{t as b}from"./alert-BprQRUmf.js";import{_ as x,v as S}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as C}from"./drawer-CvX2U8ly.js";import{t as w}from"./switch-CpihU-Bq.js";import{t as T}from"./clock-BRqsgYwQ.js";import{t as E}from"./hash-CRnccwx_.js";import{t as D}from"./info-Bqj02p3r.js";import{a as O,i as k,n as A,r as j,t as ee}from"./pagination-VjpfotZ8.js";import{t as te}from"./trash-2-BBCXfu0p.js";import{t as ne}from"./triangle-alert-BRov4JmE.js";import{t as M}from"./upload-D3ICVrNB.js";import{t as N}from"./wand-sparkles-D8Xtkkgr.js";import"./constants-GmVIn7tC.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,Rr as z,T as re,Tn as ie,at as ae,ct as B,lt as V,oi as H,ot as U,qi as W,ri as G,st as K,ta as q,tt as J,za as Y,zr as X}from"./index-BYbC-2BV.js";import{t as oe}from"./CopyToClipboard-BQaEPLyt.js";import{t as se}from"./ReportButton-BAx8pia_.js";import{t as ce}from"./FilePreview-BjUbMA7c.js";import{t as Z}from"./ImagePreview-Dm16d0L7.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ue}from"./ServicePricingSummary-DPzfamaB.js";import{t as Q}from"./VideoPlayer-Cdtv4baV.js";import{t as de}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as fe}from"./ApiCodeButton-CAQzrT4K.js";import{t as pe}from"./BotPlaceholder-BlCUdjzq.js";import{t as me}from"./taskPollingMixin-CcLxtz8z.js";var he=_({name:`LayoutLuma`,components:{MagicIcon:N,ElDrawer:C,ElButton:R},mixins:[le]}),ge={class:`main flex flex-row flex-1`},_e={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)]`},ve={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ye(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ge,[e(`div`,_e,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ve,[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 be=P(he,[[`render`,ye],[`__scopeId`,`data-v-4ab11479`]]),xe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=P(xe,[[`render`,De]]),ke=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=P(ke,[[`render`,Fe]]),Le=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={class:`flex justify-end items-center`};function Ue(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,He,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var We=P(Le,[[`render`,Ue]]),Ge=_({name:`EndImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ke={class:`relative`},qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`};function Xe(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"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?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ze=P(Ge,[[`render`,Xe],[`__scopeId`,`data-v-04c461bb`]]),Qe=_({name:`StartImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),$e={class:`relative`},et={class:`flex justify-between`},tt={class:`flex justify-start items-center`},nt={class:`text-sm font-bold`};function rt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`span`,nt,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"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.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var it=P(Qe,[[`render`,rt],[`__scopeId`,`data-v-31c07a19`]]),at=_({name:`UploadVideo`,components:{UploadIcon:M,ElUpload:v,ElButton:R,InfoIcon:O,FilePreview:ce},mixins:[B,U],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:`relative`},st={class:`flex justify-between`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`};function ut(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var dt=P(at,[[`render`,ut],[`__scopeId`,`data-v-2189fc52`]]),ft=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function pt(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(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var mt=P(ft,[[`render`,pt]]),ht=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),gt={class:`relative`},_t={class:`flex mb-2`},vt={class:`text-sm font-bold`};function yt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var bt=_({name:`ConfigPanel`,components:{MagicIcon:N,LoopSelector:We,StartImageInput:it,EndImageInput:Ze,EnhancementSelector:Oe,ElButton:R,PromptInput:mt,ExtendFromInput:P(ht,[[`render`,yt]]),CustomSelector:Ie,UploadVideo:dt,ServicePricingSummary:ue,ScenarioPaymentMode:de},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.luma?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=L(`luma`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await X.quote(z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),xt={class:`flex flex-col h-full`},St={class:`flex-1 overflow-y-auto p-5`},Ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function wt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`scenario-payment-mode`),T=l(`service-pricing-summary`),E=l(`magic-icon`),D=l(`el-button`);return h(),s(`div`,xt,[e(`div`,St,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,Ct,[a(w,{scenario:`luma`}),t.walletMode?o(``,!0):(h(),f(T,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(h(),f(D,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(D,{key:2,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Tt=P(bt,[[`render`,wt]]),Et=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:E,InfoIcon:D,MagicIcon:N,TimeIcon:T,WarningIcon:ne,CopyToClipboard:oe,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:R,ApiCodeButton:fe,ReportButton:se},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),Dt={class:`preview`},Ot={class:`left`},kt={class:`main`},At={class:`bot`},jt={class:`datetime`},Mt=[`aria-label`],Nt={class:`info`},Pt={key:0,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,"mb-4":!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vt={key:1,class:n({content:!0})},Ht={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kt={key:2,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,Dt,[e(`div`,Ot,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,kt,[e(`div`,At,[a(g,{capability:`luma`,part:`name`}),e(`span`,jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Mt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Nt,[n.modelValue?.request?.prompt?(h(),s(`p`,Pt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ft,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,It,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Lt,[n.modelValue.response.video_url?(h(),s(`div`,Rt,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Vt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ut,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Gt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Kt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Yt=_({name:`RecentPanel`,components:{BotPlaceholder:pe,TaskPreview:P(Et,[[`render`,Jt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:j,ScrollList:A},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(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`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},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 $t=_({name:`LumaIndex`,components:{ConfigPanel:Tt,Layout:be,RecentPanel:P(Yt,[[`render`,Qt]])},mixins:[K,me(`luma`)],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`luma/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 ee({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(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e=z(this.config);if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t;if(this.walletMode){let n=this.getWalletContext();if(!n){S.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=X.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!q())return;let n=this.credential?.token;if(!n)return;t=X.generate(e,{token:n})}S.info(this.$t(`luma.message.startingTask`)),W(`luma`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{e instanceof G||re(e,`luma`)||(this.walletMode?S.error(this.$t(`common.x402Scenario.paymentFailed`)):S.error(this.$t(`luma.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return H(this.$wallet)},async confirmWalletPayment(e){return Y.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function en(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=P($t,[[`render`,en]]);export{tn 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{t as v}from"./upload-Sju4DbiY.js";import{t as y}from"./tooltip-4w7ghPQM.js";import{t as b}from"./alert-BprQRUmf.js";import{_ as x,v as S}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as C}from"./drawer-APcI0MuL.js";import{t as w}from"./switch-4nC3Yz4b.js";import{t as T}from"./clock-BooSG6zB.js";import{t as E}from"./hash-GTQkcsQj.js";import{t as D}from"./info-PmX6OJ8X.js";import{a as O,i as k,n as A,r as j,t as ee}from"./pagination-W-HQ78h5.js";import{t as te}from"./trash-2-BkEkcSHv.js";import{t as ne}from"./triangle-alert-DBmpuUlm.js";import{t as M}from"./upload-DidTvyIg.js";import{t as N}from"./wand-sparkles-CwgjO5Gl.js";import"./constants-GmVIn7tC.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,Rr as z,T as re,Tn as ie,at as ae,ct as B,lt as V,oi as H,ot as U,qi as W,ri as G,st as K,ta as q,tt as J,za as Y,zr as X}from"./index-Dr2ooWnm.js";import{t as oe}from"./CopyToClipboard-CQT78wob.js";import{t as se}from"./ReportButton-B6G5OWJ0.js";import{t as ce}from"./FilePreview-D640d7Cq.js";import{t as Z}from"./ImagePreview-YXx0To-U.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ue}from"./ServicePricingSummary-rLPlqY7R.js";import{t as Q}from"./VideoPlayer-DuUSbT-p.js";import{t as de}from"./ScenarioPaymentMode-DRMdqOm9.js";import{t as fe}from"./ApiCodeButton-DSt2Pz0O.js";import{t as pe}from"./BotPlaceholder-BC8u-j84.js";import{t as me}from"./taskPollingMixin-CcLxtz8z.js";var he=_({name:`LayoutLuma`,components:{MagicIcon:N,ElDrawer:C,ElButton:R},mixins:[le]}),ge={class:`main flex flex-row flex-1`},_e={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)]`},ve={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ye(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ge,[e(`div`,_e,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ve,[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 be=P(he,[[`render`,ye],[`__scopeId`,`data-v-4ab11479`]]),xe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=P(xe,[[`render`,De]]),ke=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=P(ke,[[`render`,Fe]]),Le=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={class:`flex justify-end items-center`};function Ue(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,He,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var We=P(Le,[[`render`,Ue]]),Ge=_({name:`EndImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ke={class:`relative`},qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`};function Xe(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"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?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ze=P(Ge,[[`render`,Xe],[`__scopeId`,`data-v-04c461bb`]]),Qe=_({name:`StartImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),$e={class:`relative`},et={class:`flex justify-between`},tt={class:`flex justify-start items-center`},nt={class:`text-sm font-bold`};function rt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`span`,nt,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"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.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var it=P(Qe,[[`render`,rt],[`__scopeId`,`data-v-31c07a19`]]),at=_({name:`UploadVideo`,components:{UploadIcon:M,ElUpload:v,ElButton:R,InfoIcon:O,FilePreview:ce},mixins:[B,U],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:`relative`},st={class:`flex justify-between`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`};function ut(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var dt=P(at,[[`render`,ut],[`__scopeId`,`data-v-2189fc52`]]),ft=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function pt(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(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var mt=P(ft,[[`render`,pt]]),ht=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),gt={class:`relative`},_t={class:`flex mb-2`},vt={class:`text-sm font-bold`};function yt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var bt=_({name:`ConfigPanel`,components:{MagicIcon:N,LoopSelector:We,StartImageInput:it,EndImageInput:Ze,EnhancementSelector:Oe,ElButton:R,PromptInput:mt,ExtendFromInput:P(ht,[[`render`,yt]]),CustomSelector:Ie,UploadVideo:dt,ServicePricingSummary:ue,ScenarioPaymentMode:de},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.luma?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=L(`luma`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await X.quote(z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),xt={class:`flex flex-col h-full`},St={class:`flex-1 overflow-y-auto p-5`},Ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function wt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`scenario-payment-mode`),T=l(`service-pricing-summary`),E=l(`magic-icon`),D=l(`el-button`);return h(),s(`div`,xt,[e(`div`,St,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,Ct,[a(w,{scenario:`luma`}),t.walletMode?o(``,!0):(h(),f(T,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(h(),f(D,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(D,{key:2,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Tt=P(bt,[[`render`,wt]]),Et=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:E,InfoIcon:D,MagicIcon:N,TimeIcon:T,WarningIcon:ne,CopyToClipboard:oe,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:R,ApiCodeButton:fe,ReportButton:se},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),Dt={class:`preview`},Ot={class:`left`},kt={class:`main`},At={class:`bot`},jt={class:`datetime`},Mt=[`aria-label`],Nt={class:`info`},Pt={key:0,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,"mb-4":!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vt={key:1,class:n({content:!0})},Ht={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kt={key:2,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,Dt,[e(`div`,Ot,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,kt,[e(`div`,At,[a(g,{capability:`luma`,part:`name`}),e(`span`,jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Mt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Nt,[n.modelValue?.request?.prompt?(h(),s(`p`,Pt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ft,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,It,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Lt,[n.modelValue.response.video_url?(h(),s(`div`,Rt,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Vt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ut,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Gt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Kt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Yt=_({name:`RecentPanel`,components:{BotPlaceholder:pe,TaskPreview:P(Et,[[`render`,Jt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:j,ScrollList:A},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(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`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},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 $t=_({name:`LumaIndex`,components:{ConfigPanel:Tt,Layout:be,RecentPanel:P(Yt,[[`render`,Qt]])},mixins:[K,me(`luma`)],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`luma/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 ee({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(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e=z(this.config);if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t;if(this.walletMode){let n=this.getWalletContext();if(!n){S.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=X.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!q())return;let n=this.credential?.token;if(!n)return;t=X.generate(e,{token:n})}S.info(this.$t(`luma.message.startingTask`)),W(`luma`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{e instanceof G||re(e,`luma`)||(this.walletMode?S.error(this.$t(`common.x402Scenario.paymentFailed`)):S.error(this.$t(`luma.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return H(this.$wallet)},async confirmWalletPayment(e){return Y.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function en(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=P($t,[[`render`,en]]);export{tn 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-CxPN3D9u.js";import{t as x}from"./upload-Sju4DbiY.js";import{t as S}from"./tooltip-B60Iasgv.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as E}from"./drawer-CvX2U8ly.js";import{t as D}from"./box-CGOU4lJt.js";import{t as O}from"./clock-BRqsgYwQ.js";import{t as k}from"./hash-CRnccwx_.js";import{t as A}from"./info-Bqj02p3r.js";import{a as j,i as M,n as ee,o as te,r as ne,t as re}from"./pagination-VjpfotZ8.js";import{t as ie}from"./trash-2-BBCXfu0p.js";import{t as ae}from"./triangle-alert-BRov4JmE.js";import{t as N}from"./upload-D3ICVrNB.js";import{t as P}from"./wand-sparkles-D8Xtkkgr.js";import{$t as F,Gt as oe,Ht as se,It as ce,Jt as le,Kt as ue,Lt as de,Qt as fe,Rt as pe,Ut as me,Vt as I,Wt as L,Yt as R,Zt as z,qt as he,zt as ge}from"./constants-GmVIn7tC.js";import{D as B,Fa as _e,Kn as V,Mi as H,Na as U,Pi as W,Qa as G,T as ve,Tn as ye,at as be,ct as K,lt as q,oi as xe,ot as J,qi as Se,qn as Y,ri as Ce,st as we,ta as Te,tt as X,za as Z}from"./index-BYbC-2BV.js";import{t as Ee}from"./CopyToClipboard-BQaEPLyt.js";import{t as De}from"./ReportButton-BAx8pia_.js";import{t as Q}from"./ImagePreview-Dm16d0L7.js";import{n as Oe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ke}from"./ServicePricingSummary-DPzfamaB.js";import{t as Ae}from"./VideoPlayer-Cdtv4baV.js";import{t as je}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as Me}from"./ApiCodeButton-CAQzrT4K.js";import{t as Ne}from"./BotPlaceholder-BlCUdjzq.js";import{t as Pe}from"./taskPollingMixin-CcLxtz8z.js";import{t as Fe}from"./ShowcaseResultTabs-DEfMzemw.js";import{t as Ie}from"./showcaseRecreateMixin-BEyu8Djp.js";var Le=v({name:`LayoutGrokVideo`,components:{MagicIcon:P,ElDrawer:E,ElButton:G},mixins:[Oe]}),Re={class:`main flex flex-row flex-1`},ze={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)]`},Be={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ve(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Re,[e(`div`,ze,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Be,[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 He=B(Le,[[`render`,Ve],[`__scopeId`,`data-v-babf4135`]]),Ue=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=B(Ue,[[`render`,We]]),Ke=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:se,label:this.$t(`grokvideo.model.fastReverse`)},{value:L,label:this.$t(`grokvideo.model.reverse`)},{value:me,label:this.$t(`grokvideo.model.official`)},{value:I,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=ce}}),qe={class:`field`},Je={class:`label`},Ye={class:`box`},Xe={class:`title font-bold`};function Ze(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`h2`,Xe,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9e6fef88`]]),$e=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return z(this.model)},minDuration(){return fe(this.model)},options(){return ge.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),et={class:`field`},tt={class:`label`},nt={class:`box`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,et,[e(`div`,tt,[e(`div`,nt,[e(`h2`,rt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var at=B($e,[[`render`,it],[`__scopeId`,`data-v-673a8bbc`]]),ot=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:j},data(){return{options:[{value:le,label:`480p`},{value:R,label:`720p`},{value:he,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=pe}}),st={class:`resolution`},ct={class:`header`},lt={class:`title font-bold`},ut={class:`items`},dt=[`onClick`];function ft(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,st,[e(`div`,ct,[e(`h2`,lt,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ut,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,dt))),128))])])}var pt=B(ot,[[`render`,ft],[`__scopeId`,`data-v-54f22a22`]]),mt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:j},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:ue,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=de}}),ht={class:`ratio`},gt={class:`header`},_t={class:`title font-bold`},vt={class:`items`},yt=[`onClick`],bt={class:`preview`},xt={class:`name`};function St(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[e(`h2`,_t,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,vt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,bt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,xt,i(r.label),1)],10,yt))),128))])])}var Ct=B(mt,[[`render`,St],[`__scopeId`,`data-v-70115284`]]),wt=v({name:`GrokVideoImageInput`,components:{MetaTag:_e,UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return F(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),Tt={class:`relative`},Et={class:`flex justify-between`},Dt={class:`flex justify-start items-center`},Ot={class:`text-sm font-bold`};function kt(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,Tt,[e(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(v,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var At=B(wt,[[`render`,kt],[`__scopeId`,`data-v-72c04b98`]]),jt=4,Mt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`,limit:jt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Nt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Pt={class:`flex min-w-0 items-center`},Ft={class:`title m-0 text-[14px] font-bold`},It={class:`file-list flex flex-wrap gap-[10px]`};function Lt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,It,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Rt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:P,ElButton:G,PromptInput:Ge,ModelSelector:Qe,DurationSelector:at,ResolutionSelector:pt,RatioSelector:Ct,ImageInput:At,ReferenceImagesInput:B(Mt,[[`render`,Lt]]),ServicePricingSummary:ke,ScenarioPaymentMode:je},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!F(this.$store.state.grokvideo?.config?.model)},consumption(){return ye(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=W(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(V(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),zt={class:`flex flex-col h-full`},Bt={class:`flex-1 overflow-y-auto p-5`},Vt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ht(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,zt,[e(`div`,Bt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Vt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ut=B(Rt,[[`render`,Ht]]),Wt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:ie,ApplicationIcon:D,ChannelIcon:k,FullscreenIcon:te,InfoIcon:A,MagicIcon:P,TimeIcon:O,WarningIcon:ae,CopyToClipboard:Ee,ElAlert:C,VideoPlayer:Ae,ElTooltip:S,ElButton:G,ImagePreview:Q,ApiCodeButton:Me,ReportButton:De},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Gt={class:`preview`},Kt={class:`left`},qt={class:`main`},Jt={class:`bot`},Yt={class:`datetime`},Xt=[`aria-label`],Zt={class:`info`},Qt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},$t={key:1,class:`prompt mt-2`},en={key:0},tn={key:1},nn={key:0,class:n({content:!0})},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:1,class:n({content:!0})},sn={key:0,class:`mb-4`},cn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Gt,[e(`div`,Kt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,qt,[e(`div`,Jt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Zt,[n.inputImage?(g(),s(`div`,Qt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,$t,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,tn,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,on,[n.video?.video_url?(g(),s(`div`,sn,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,cn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,$,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,nn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,rn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,an,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:B(Wt,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Ne,NoTasks:ne,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-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=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ut,Layout:He,RecentPanel:B(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Fe},mixins:[we,Ie(`grokvideo`),Pe(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/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()}}},initialized:{async handler(e){e&&(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 re({tasks: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(){await this.$store.dispatch(`grokvideo/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!be(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(F(e.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.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(!Te())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}T.info(this.$t(`grokvideo.message.startingTask`)),Se(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||ve(e,`grokvideo`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(this.$wallet)},async confirmWalletPayment(e){return Z.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 Dn(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:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=B(En,[[`render`,Dn]]);export{On 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-GALwUZll.js";import{t as x}from"./upload-Sju4DbiY.js";import{t as S}from"./tooltip-4w7ghPQM.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as E}from"./drawer-APcI0MuL.js";import{t as D}from"./box-Eq7xsVMG.js";import{t as O}from"./clock-BooSG6zB.js";import{t as k}from"./hash-GTQkcsQj.js";import{t as A}from"./info-PmX6OJ8X.js";import{a as j,i as M,n as ee,o as te,r as ne,t as re}from"./pagination-W-HQ78h5.js";import{t as ie}from"./trash-2-BkEkcSHv.js";import{t as ae}from"./triangle-alert-DBmpuUlm.js";import{t as N}from"./upload-DidTvyIg.js";import{t as P}from"./wand-sparkles-CwgjO5Gl.js";import{$t as F,Gt as oe,Ht as se,It as ce,Jt as le,Kt as ue,Lt as de,Qt as fe,Rt as pe,Ut as me,Vt as I,Wt as L,Yt as R,Zt as z,qt as he,zt as ge}from"./constants-GmVIn7tC.js";import{D as B,Fa as _e,Kn as V,Mi as H,Na as U,Pi as W,Qa as G,T as ve,Tn as ye,at as be,ct as K,lt as q,oi as xe,ot as J,qi as Se,qn as Y,ri as Ce,st as we,ta as Te,tt as X,za as Z}from"./index-Dr2ooWnm.js";import{t as Ee}from"./CopyToClipboard-CQT78wob.js";import{t as De}from"./ReportButton-B6G5OWJ0.js";import{t as Q}from"./ImagePreview-YXx0To-U.js";import{n as Oe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ke}from"./ServicePricingSummary-rLPlqY7R.js";import{t as Ae}from"./VideoPlayer-DuUSbT-p.js";import{t as je}from"./ScenarioPaymentMode-DRMdqOm9.js";import{t as Me}from"./ApiCodeButton-DSt2Pz0O.js";import{t as Ne}from"./BotPlaceholder-BC8u-j84.js";import{t as Pe}from"./taskPollingMixin-CcLxtz8z.js";import{t as Fe}from"./ShowcaseResultTabs-CS9fv2h_.js";import{t as Ie}from"./showcaseRecreateMixin-Dhdr3T0y.js";var Le=v({name:`LayoutGrokVideo`,components:{MagicIcon:P,ElDrawer:E,ElButton:G},mixins:[Oe]}),Re={class:`main flex flex-row flex-1`},ze={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)]`},Be={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ve(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Re,[e(`div`,ze,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Be,[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 He=B(Le,[[`render`,Ve],[`__scopeId`,`data-v-babf4135`]]),Ue=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=B(Ue,[[`render`,We]]),Ke=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:se,label:this.$t(`grokvideo.model.fastReverse`)},{value:L,label:this.$t(`grokvideo.model.reverse`)},{value:me,label:this.$t(`grokvideo.model.official`)},{value:I,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=ce}}),qe={class:`field`},Je={class:`label`},Ye={class:`box`},Xe={class:`title font-bold`};function Ze(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`h2`,Xe,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9e6fef88`]]),$e=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return z(this.model)},minDuration(){return fe(this.model)},options(){return ge.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),et={class:`field`},tt={class:`label`},nt={class:`box`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,et,[e(`div`,tt,[e(`div`,nt,[e(`h2`,rt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var at=B($e,[[`render`,it],[`__scopeId`,`data-v-673a8bbc`]]),ot=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:j},data(){return{options:[{value:le,label:`480p`},{value:R,label:`720p`},{value:he,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=pe}}),st={class:`resolution`},ct={class:`header`},lt={class:`title font-bold`},ut={class:`items`},dt=[`onClick`];function ft(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,st,[e(`div`,ct,[e(`h2`,lt,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ut,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,dt))),128))])])}var pt=B(ot,[[`render`,ft],[`__scopeId`,`data-v-54f22a22`]]),mt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:j},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:ue,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=de}}),ht={class:`ratio`},gt={class:`header`},_t={class:`title font-bold`},vt={class:`items`},yt=[`onClick`],bt={class:`preview`},xt={class:`name`};function St(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[e(`h2`,_t,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,vt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,bt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,xt,i(r.label),1)],10,yt))),128))])])}var Ct=B(mt,[[`render`,St],[`__scopeId`,`data-v-70115284`]]),wt=v({name:`GrokVideoImageInput`,components:{MetaTag:_e,UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return F(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),Tt={class:`relative`},Et={class:`flex justify-between`},Dt={class:`flex justify-start items-center`},Ot={class:`text-sm font-bold`};function kt(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,Tt,[e(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(v,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var At=B(wt,[[`render`,kt],[`__scopeId`,`data-v-72c04b98`]]),jt=4,Mt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`,limit:jt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Nt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Pt={class:`flex min-w-0 items-center`},Ft={class:`title m-0 text-[14px] font-bold`},It={class:`file-list flex flex-wrap gap-[10px]`};function Lt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,It,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Rt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:P,ElButton:G,PromptInput:Ge,ModelSelector:Qe,DurationSelector:at,ResolutionSelector:pt,RatioSelector:Ct,ImageInput:At,ReferenceImagesInput:B(Mt,[[`render`,Lt]]),ServicePricingSummary:ke,ScenarioPaymentMode:je},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!F(this.$store.state.grokvideo?.config?.model)},consumption(){return ye(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=W(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(V(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),zt={class:`flex flex-col h-full`},Bt={class:`flex-1 overflow-y-auto p-5`},Vt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ht(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,zt,[e(`div`,Bt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Vt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ut=B(Rt,[[`render`,Ht]]),Wt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:ie,ApplicationIcon:D,ChannelIcon:k,FullscreenIcon:te,InfoIcon:A,MagicIcon:P,TimeIcon:O,WarningIcon:ae,CopyToClipboard:Ee,ElAlert:C,VideoPlayer:Ae,ElTooltip:S,ElButton:G,ImagePreview:Q,ApiCodeButton:Me,ReportButton:De},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Gt={class:`preview`},Kt={class:`left`},qt={class:`main`},Jt={class:`bot`},Yt={class:`datetime`},Xt=[`aria-label`],Zt={class:`info`},Qt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},$t={key:1,class:`prompt mt-2`},en={key:0},tn={key:1},nn={key:0,class:n({content:!0})},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:1,class:n({content:!0})},sn={key:0,class:`mb-4`},cn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Gt,[e(`div`,Kt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,qt,[e(`div`,Jt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Zt,[n.inputImage?(g(),s(`div`,Qt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,$t,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,tn,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,on,[n.video?.video_url?(g(),s(`div`,sn,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,cn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,$,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,nn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,rn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,an,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:B(Wt,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Ne,NoTasks:ne,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-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=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ut,Layout:He,RecentPanel:B(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Fe},mixins:[we,Ie(`grokvideo`),Pe(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/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()}}},initialized:{async handler(e){e&&(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 re({tasks: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(){await this.$store.dispatch(`grokvideo/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!be(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(F(e.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.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(!Te())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}T.info(this.$t(`grokvideo.message.startingTask`)),Se(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||ve(e,`grokvideo`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(this.$wallet)},async confirmWalletPayment(e){return Z.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 Dn(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:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=B(En,[[`render`,Dn]]);export{On 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,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-CxPN3D9u.js";import{t as _}from"./upload-Sju4DbiY.js";import{t as v}from"./tooltip-B60Iasgv.js";import{t as y}from"./alert-BprQRUmf.js";import{_ as b,v as x}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as S}from"./clock-BRqsgYwQ.js";import{t as C}from"./hash-CRnccwx_.js";import{t as w}from"./info-Bqj02p3r.js";import{a as T,i as E,n as D,r as O,t as k}from"./pagination-VjpfotZ8.js";import{t as A}from"./trash-2-BBCXfu0p.js";import{t as j}from"./triangle-alert-BRov4JmE.js";import{t as M}from"./wand-sparkles-D8Xtkkgr.js";import{kr as N}from"./constants-GmVIn7tC.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,T as ee,Tn as te,at as z,ct as B,fr as V,lt as H,oi as U,ot as W,pr as G,qi as K,ri as q,st as J,ta as Y,tt as X,za as Z}from"./index-BYbC-2BV.js";import{t as Q}from"./CopyToClipboard-BQaEPLyt.js";import{t as ne}from"./ReportButton-BAx8pia_.js";import{t as re}from"./ImagePreview-Dm16d0L7.js";import{t as ie}from"./ServicePricingSummary-DPzfamaB.js";import{t as ae}from"./VideoPlayer-Cdtv4baV.js";import{t as oe}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as se}from"./ApiCodeButton-CAQzrT4K.js";import{t as ce}from"./BotPlaceholder-BlCUdjzq.js";import{t as le}from"./taskPollingMixin-CcLxtz8z.js";import{t as ue}from"./Hailuo-xFaz9TxD.js";import{n as de,t as fe}from"./generationInput--J_4Niw5.js";var pe=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=N}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,me,[e(`h2`,he,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=P(pe,[[`render`,_e],[`__scopeId`,`data-v-a768fbd9`]]),ye=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:R,InfoIcon:T,ImagePreview:re},mixins:[H,B,W,X],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`};function we(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,be,[e(`div`,xe,[e(`div`,Se,[e(`span`,Ce,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Te=P(ye,[[`render`,we],[`__scopeId`,`data-v-322d7e4c`]]),Ee=m({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function De(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Oe=m({name:`PresetPanel`,components:{MagicIcon:M,ElButton:R,PromptInput:P(Ee,[[`render`,De]]),StartImageUrlInput:Te,ModelSelector:ve,ServicePricingSummary:ie,ScenarioPaymentMode:oe},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return fe(`hailuo`,V(this.config))},config(){return this.$store.state.hailuo?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service},walletMode(){return F()&&L(`hailuo`).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=L(`hailuo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=L(`hailuo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await G.quote(V(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`)}}}),ke={class:`flex flex-col h-full`},Ae={class:`flex-1 overflow-y-auto p-5`},je={class:`flex flex-col items-center justify-center px-5 pb-5`};function Me(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`scenario-payment-mode`),b=l(`service-pricing-summary`),x=l(`magic-icon`),S=l(`el-button`);return p(),s(`div`,ke,[e(`div`,Ae,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,je,[a(y,{scenario:`hailuo`}),t.walletMode?o(``,!0):(p(),u(b,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(p(),u(S,{key:1,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`disabled`,`onClick`])):(p(),u(S,{key:2,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`]))])])}var Ne=P(Oe,[[`render`,Me]]),Pe=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:C,InfoIcon:w,MagicIcon:M,TimeIcon:S,WarningIcon:j,CopyToClipboard:Q,ElAlert:y,VideoPlayer:ae,ElTooltip:v,ElButton:R,ApiCodeButton:se,ReportButton:ne},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Fe={class:`preview`},Ie={class:`left`},Le={class:`main`},Re={class:`bot`},ze={class:`datetime`},Be=[`aria-label`],Ve={class:`info`},He={key:0,class:`prompt mt-2`},Ue={key:0},We={key:1},Ge={key:0,class:n({content:!0,failed:!0})},Ke={key:0,class:`mb-4`},qe={key:1,class:n({operations:!0,"mt-2":!0})},Je={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xe={key:1,class:n({content:!0})},Ze={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tt={key:2,class:n({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Fe,[e(`div`,Ie,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,Le,[e(`div`,Re,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,ze,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Be)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Ve,[n.modelValue?.request?.prompt?(p(),s(`p`,He,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Ue,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,We,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,Ge,[n.video?.video_url?(p(),s(`div`,Ke,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,qe,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Je,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Ye,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Xe,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,Ze,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Qe,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,$e,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,et,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,tt,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,nt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var it=m({name:`RecentPanel`,components:{TaskPreview:P(Pe,[[`render`,rt],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:ce,NoTasks:O,ScrollList:D},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=m({name:`HailuoIndex`,components:{ConfigPanel:Ne,Layout:ue,RecentPanel:P(it,[[`render`,st]])},mixins:[J,le(`hailuo`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks},walletMode(){return F()&&L(`hailuo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`hailuo/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 k({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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/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(`hailuo/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=V(this.config),t=de(`hailuo`,e);if(t){x.error(this.$t(`common.message.${t}`));return}if(!z(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){x.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=G.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Y())return;let t=this.credential?.token;if(!t)return;n=G.generate(e,{token:t})}x.info(this.$t(`hailuo.message.startingTask`)),K(`hailuo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{e instanceof q||ee(e,`hailuo`)||(this.walletMode?x.error(this.$t(`common.x402Scenario.paymentFailed`)):x.error(this.$t(`hailuo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return U(this.$wallet)},async confirmWalletPayment(e){return Z.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 lt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ut=P(ct,[[`render`,lt]]);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,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-GALwUZll.js";import{t as _}from"./upload-Sju4DbiY.js";import{t as v}from"./tooltip-4w7ghPQM.js";import{t as y}from"./alert-BprQRUmf.js";import{_ as b,v as x}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as S}from"./clock-BooSG6zB.js";import{t as C}from"./hash-GTQkcsQj.js";import{t as w}from"./info-PmX6OJ8X.js";import{a as T,i as E,n as D,r as O,t as k}from"./pagination-W-HQ78h5.js";import{t as A}from"./trash-2-BkEkcSHv.js";import{t as j}from"./triangle-alert-DBmpuUlm.js";import{t as M}from"./wand-sparkles-CwgjO5Gl.js";import{kr as N}from"./constants-GmVIn7tC.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,T as ee,Tn as te,at as z,ct as B,fr as V,lt as H,oi as U,ot as W,pr as G,qi as K,ri as q,st as J,ta as Y,tt as X,za as Z}from"./index-Dr2ooWnm.js";import{t as Q}from"./CopyToClipboard-CQT78wob.js";import{t as ne}from"./ReportButton-B6G5OWJ0.js";import{t as re}from"./ImagePreview-YXx0To-U.js";import{t as ie}from"./ServicePricingSummary-rLPlqY7R.js";import{t as ae}from"./VideoPlayer-DuUSbT-p.js";import{t as oe}from"./ScenarioPaymentMode-DRMdqOm9.js";import{t as se}from"./ApiCodeButton-DSt2Pz0O.js";import{t as ce}from"./BotPlaceholder-BC8u-j84.js";import{t as le}from"./taskPollingMixin-CcLxtz8z.js";import{t as ue}from"./Hailuo-ClYsc7Vc.js";import{n as de,t as fe}from"./generationInput--J_4Niw5.js";var pe=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=N}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,me,[e(`h2`,he,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=P(pe,[[`render`,_e],[`__scopeId`,`data-v-a768fbd9`]]),ye=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:R,InfoIcon:T,ImagePreview:re},mixins:[H,B,W,X],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`};function we(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,be,[e(`div`,xe,[e(`div`,Se,[e(`span`,Ce,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Te=P(ye,[[`render`,we],[`__scopeId`,`data-v-322d7e4c`]]),Ee=m({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function De(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Oe=m({name:`PresetPanel`,components:{MagicIcon:M,ElButton:R,PromptInput:P(Ee,[[`render`,De]]),StartImageUrlInput:Te,ModelSelector:ve,ServicePricingSummary:ie,ScenarioPaymentMode:oe},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return fe(`hailuo`,V(this.config))},config(){return this.$store.state.hailuo?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service},walletMode(){return F()&&L(`hailuo`).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=L(`hailuo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=L(`hailuo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await G.quote(V(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`)}}}),ke={class:`flex flex-col h-full`},Ae={class:`flex-1 overflow-y-auto p-5`},je={class:`flex flex-col items-center justify-center px-5 pb-5`};function Me(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`scenario-payment-mode`),b=l(`service-pricing-summary`),x=l(`magic-icon`),S=l(`el-button`);return p(),s(`div`,ke,[e(`div`,Ae,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,je,[a(y,{scenario:`hailuo`}),t.walletMode?o(``,!0):(p(),u(b,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(p(),u(S,{key:1,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`disabled`,`onClick`])):(p(),u(S,{key:2,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`]))])])}var Ne=P(Oe,[[`render`,Me]]),Pe=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:C,InfoIcon:w,MagicIcon:M,TimeIcon:S,WarningIcon:j,CopyToClipboard:Q,ElAlert:y,VideoPlayer:ae,ElTooltip:v,ElButton:R,ApiCodeButton:se,ReportButton:ne},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Fe={class:`preview`},Ie={class:`left`},Le={class:`main`},Re={class:`bot`},ze={class:`datetime`},Be=[`aria-label`],Ve={class:`info`},He={key:0,class:`prompt mt-2`},Ue={key:0},We={key:1},Ge={key:0,class:n({content:!0,failed:!0})},Ke={key:0,class:`mb-4`},qe={key:1,class:n({operations:!0,"mt-2":!0})},Je={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xe={key:1,class:n({content:!0})},Ze={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tt={key:2,class:n({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Fe,[e(`div`,Ie,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,Le,[e(`div`,Re,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,ze,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Be)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Ve,[n.modelValue?.request?.prompt?(p(),s(`p`,He,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Ue,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,We,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,Ge,[n.video?.video_url?(p(),s(`div`,Ke,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,qe,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Je,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Ye,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Xe,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,Ze,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Qe,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,$e,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,et,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,tt,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,nt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var it=m({name:`RecentPanel`,components:{TaskPreview:P(Pe,[[`render`,rt],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:ce,NoTasks:O,ScrollList:D},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=m({name:`HailuoIndex`,components:{ConfigPanel:Ne,Layout:ue,RecentPanel:P(it,[[`render`,st]])},mixins:[J,le(`hailuo`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks},walletMode(){return F()&&L(`hailuo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`hailuo/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 k({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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/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(`hailuo/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=V(this.config),t=de(`hailuo`,e);if(t){x.error(this.$t(`common.message.${t}`));return}if(!z(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){x.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=G.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Y())return;let t=this.credential?.token;if(!t)return;n=G.generate(e,{token:t})}x.info(this.$t(`hailuo.message.startingTask`)),K(`hailuo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{e instanceof q||ee(e,`hailuo`)||(this.walletMode?x.error(this.$t(`common.x402Scenario.paymentFailed`)):x.error(this.$t(`hailuo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return U(this.$wallet)},async confirmWalletPayment(e){return Z.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 lt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ut=P(ct,[[`render`,lt]]);export{ut as default};