@acedatacloud/nexior 3.376.0 → 3.377.0

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 (478) hide show
  1. package/dist/assets/{ApiCodeButton-BmGL7WLb.js → ApiCodeButton-DAs3vuCn.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-DFFOzY4E.js → ApiCodeDialog-BF3G1cLB.js} +2 -2
  3. package/dist/assets/Artifacts-BXalS4q3.css +1 -0
  4. package/dist/assets/Artifacts-De53M_FN.js +1 -0
  5. package/dist/assets/AskUserQuestionCard-BJiu_GEX.js +1 -0
  6. package/dist/assets/AskUserQuestionCard-DVmFCDWi.css +1 -0
  7. package/dist/assets/{AudioPreview-Cqla7UrY.js → AudioPreview-COGcUij-.js} +1 -1
  8. package/dist/assets/{Auth-CSxupcrQ.js → Auth-BBRSThoq.js} +1 -1
  9. package/dist/assets/{Bare-BMRnfyRP.js → Bare-Cs2_-Dgl.js} +1 -1
  10. package/dist/assets/{BotPlaceholder-9ABplrW2.js → BotPlaceholder-ypqj2sqi.js} +1 -1
  11. package/dist/assets/{BottomFooter-JOmx_wpS.js → BottomFooter-C8H-aV8r.js} +1 -1
  12. package/dist/assets/BrowseConnectors-BVoMwBvS.js +1 -0
  13. package/dist/assets/BrowseConnectors-CE_N0wln.css +1 -0
  14. package/dist/assets/{BrowserPairingDialog-dhQ5Puzz.js → BrowserPairingDialog-DjsChbIp.js} +1 -1
  15. package/dist/assets/{Callback-DUnhly1g.js → Callback-C_UyPWI3.js} +1 -1
  16. package/dist/assets/{CodeSnippet-Bqr5hkg1.js → CodeSnippet-DliF5XAW.js} +1 -1
  17. package/dist/assets/{Console-CCLTVIwJ.js → Console-DvM6-KAM.js} +1 -1
  18. package/dist/assets/Conversation-1C9dkcQs.js +2 -0
  19. package/dist/assets/Conversation-6iq1oqIz.js +1 -0
  20. package/dist/assets/Conversation-BegVTuHA.css +1 -0
  21. package/dist/assets/Conversation-HzhVf3je.css +1 -0
  22. package/dist/assets/{CopyToClipboard-F9OE3T2Z.js → CopyToClipboard-CGoZkeCB.js} +1 -1
  23. package/dist/assets/CopyToClipboard-Cdi0F7aU.css +1 -0
  24. package/dist/assets/Detail-CgTGSka5.css +1 -0
  25. package/dist/assets/Detail-D9OaWxMF.js +2 -0
  26. package/dist/assets/Extra-BN2W8ro4.css +1 -0
  27. package/dist/assets/Extra-DggD-4bG.js +1 -0
  28. package/dist/assets/{FilePreview-B1dewPBF.js → FilePreview-r4TodIJy.js} +1 -1
  29. package/dist/assets/{Hailuo-CHA8L9rx.js → Hailuo-CY1LXLo5.js} +1 -1
  30. package/dist/assets/History-BwksNUme.css +1 -0
  31. package/dist/assets/{History-Cs6Gyrv4.js → History-CPcUy4_m.js} +1 -1
  32. package/dist/assets/{ImagePreview--p_JZ0xr.js → ImagePreview-N7AimAQV.js} +1 -1
  33. package/dist/assets/{ImageWrapper-DHJSHW-H.js → ImageWrapper-CTZZ0lAI.js} +1 -1
  34. package/dist/assets/Index-9s2TvRlA.js +1 -0
  35. package/dist/assets/{Index-D8K492PC.css → Index-B6awspfP.css} +1 -1
  36. package/dist/assets/{Index-B9rU5-sF.js → Index-BF1UuSlB.js} +1 -1
  37. package/dist/assets/Index-BHl0AOSR.js +1 -0
  38. package/dist/assets/{Index-BHCC0-6P.js → Index-BJFsX3xX.js} +1 -1
  39. package/dist/assets/Index-BN6MWk_-.js +1 -0
  40. package/dist/assets/Index-BTmYlhxG.js +1 -0
  41. package/dist/assets/Index-BWjCL0Fd.js +1 -0
  42. package/dist/assets/{Index-SQO8Q4eX.js → Index-C3dWOJ4_.js} +2 -2
  43. package/dist/assets/Index-C441QiG1.js +1 -0
  44. package/dist/assets/Index-C9A1CpL7.js +1 -0
  45. package/dist/assets/{Index-DFhfwlV4.css → Index-C9XHdc5E.css} +1 -1
  46. package/dist/assets/Index-CAZ7RE-1.js +1 -0
  47. package/dist/assets/Index-CJkWa9QA.js +1 -0
  48. package/dist/assets/{Index-CpLf8cLL.js → Index-CKMN4Q29.js} +1 -1
  49. package/dist/assets/{Index-D1dx9abl.js → Index-CRXCzXST.js} +1 -1
  50. package/dist/assets/{Index-B4m5BDze.js → Index-CcSybYmh.js} +1 -1
  51. package/dist/assets/{Index-CHzAC_FS.js → Index-CfU13ZiB.js} +1 -1
  52. package/dist/assets/{Index-CajK07ZC.js → Index-Cgf7zSif.js} +1 -1
  53. package/dist/assets/Index-ChBc9vVT.js +1 -0
  54. package/dist/assets/Index-CkVF58cn.js +1 -0
  55. package/dist/assets/{Index-BMUhIoRH.css → Index-ClOz04jJ.css} +1 -1
  56. package/dist/assets/Index-CljMeIn4.css +1 -0
  57. package/dist/assets/Index-CnCiBdtN.js +1 -0
  58. package/dist/assets/Index-Cosv5Rjp.js +1 -0
  59. package/dist/assets/{Index-B_NpNmaH.js → Index-CsxJ20WE.js} +1 -1
  60. package/dist/assets/Index-CtE13GWJ.js +1 -0
  61. package/dist/assets/Index-CthCAsMB2.js +1 -0
  62. package/dist/assets/Index-CwY3NHbO.js +1 -0
  63. package/dist/assets/{Index-zdQqX0_y.js → Index-D4FEecUQ.js} +1 -1
  64. package/dist/assets/Index-DAXXBX24.js +1 -0
  65. package/dist/assets/Index-DHrnb2xW.js +1 -0
  66. package/dist/assets/Index-DLBEktwN.css +1 -0
  67. package/dist/assets/Index-DLo_vG5b.css +1 -0
  68. package/dist/assets/Index-Dc-02XhD.js +1 -0
  69. package/dist/assets/{Index-D_diE2-X.js → Index-DtIdK9O0.js} +1 -1
  70. package/dist/assets/Index-DueRLozb.js +1 -0
  71. package/dist/assets/Index-DumKuE2r.css +1 -0
  72. package/dist/assets/{Index-CXV5PLz3.css → Index-DwfM2ZdM.css} +1 -1
  73. package/dist/assets/Index-GW30b_o_.js +1 -0
  74. package/dist/assets/Index-HkzED2Gn.js +2 -0
  75. package/dist/assets/{Index-6C3S5zqO.css → Index-Hyjv34PI.css} +1 -1
  76. package/dist/assets/Index-KN2gUeaS.js +2 -0
  77. package/dist/assets/Index-TO2KXhk7.css +1 -0
  78. package/dist/assets/Index-XjOo3ejW.css +1 -0
  79. package/dist/assets/Index-hR8WdEqg.css +1 -0
  80. package/dist/assets/{Index-BM89aNyq.js → Index-ksvhSOnP.js} +1 -1
  81. package/dist/assets/Index-wIoDdG0U.js +1 -0
  82. package/dist/assets/Invitees-B-gz8u25.css +1 -0
  83. package/dist/assets/{Invitees-ynGrdfse.js → Invitees-MJGpCkyy.js} +1 -1
  84. package/dist/assets/List-B5FsXjq7.js +1 -0
  85. package/dist/assets/List-Bh_b_SzR.css +1 -0
  86. package/dist/assets/List-BztTbD91.js +1 -0
  87. package/dist/assets/List-C3QVP8Qo.css +1 -0
  88. package/dist/assets/List-CRykp5Ti.css +1 -0
  89. package/dist/assets/List-DlNJp0oz.js +1 -0
  90. package/dist/assets/LocalTools-C2jVUnzB.css +1 -0
  91. package/dist/assets/{LocalTools-Bn3Q4FKI.js → LocalTools-C_i8t_Hx.js} +1 -1
  92. package/dist/assets/LocalTools-DAQ99Oye.js +5 -0
  93. package/dist/assets/{Logo-xrycBjKc.js → Logo-BExTGnTp.js} +1 -1
  94. package/dist/assets/{Main-CErdFoR6.js → Main-O8mGkWCU.js} +1 -1
  95. package/dist/assets/Message-C1pNTkxV.js +3 -0
  96. package/dist/assets/Message-D1jrodkE.css +1 -0
  97. package/dist/assets/{Model-CtUtUziH.js → Model-BajWwL8J.js} +1 -1
  98. package/dist/assets/Navigator-BHQ3PCpE.js +8 -0
  99. package/dist/assets/{Navigator-DBwLtsjs.css → Navigator-BsiSYW9Z.css} +1 -1
  100. package/dist/assets/NotFound-CWitWaNX.js +1 -0
  101. package/dist/assets/NotFound-E7u9KsrQ.css +1 -0
  102. package/dist/assets/{PageHeader-vbkz8Axk.js → PageHeader-CtmTFNOj.js} +1 -1
  103. package/dist/assets/Pay-BuTz_kvk.js +1 -0
  104. package/dist/assets/Pay-CrugAt80.css +1 -0
  105. package/dist/assets/{Player-D3EJ-1Bv.js → Player-bHo5kBg1.js} +1 -1
  106. package/dist/assets/{Poivelle-BrRp4eHO.js → Poivelle-C-biSxJa.js} +1 -1
  107. package/dist/assets/RealtimeCall-CcFIDZOi.js +4 -0
  108. package/dist/assets/RealtimeCall-DDzHuKT9.css +1 -0
  109. package/dist/assets/{ReportButton-BwV2O0dI.js → ReportButton-DD0Krf84.js} +1 -1
  110. package/dist/assets/{ReportDialog-C6qsSbTB.js → ReportDialog-2w7aZnMr.js} +1 -1
  111. package/dist/assets/{ScenarioPaymentMode-CWJ4pSfI.js → ScenarioPaymentMode-b7XGLVVp.js} +1 -1
  112. package/dist/assets/ScheduledTasks-BmYC9lbj.js +2 -0
  113. package/dist/assets/ScheduledTasks-DtkfcITj.css +1 -0
  114. package/dist/assets/{ServicePricingSummary-DWEWD8YN.js → ServicePricingSummary-MQWDXCk3.js} +1 -1
  115. package/dist/assets/{ShowcaseGrid-Bv0Uxdk-.js → ShowcaseGrid-DUA7VqQZ.js} +1 -1
  116. package/dist/assets/{ShowcaseResultTabs-B3Ya90Fx.js → ShowcaseResultTabs-CWPHfI3T.js} +1 -1
  117. package/dist/assets/{SolanaWalletPickerDialog-BCV8GXI4.js → SolanaWalletPickerDialog-VfPPVGD7.js} +1 -1
  118. package/dist/assets/Status-BAy-kvUv.js +1 -0
  119. package/dist/assets/Status-Dn5kF5bY.css +1 -0
  120. package/dist/assets/Subscribe-BvIc54kO.js +1 -0
  121. package/dist/assets/Subscribe-CTT35EgT.css +1 -0
  122. package/dist/assets/{TabSwitcher-CbU3KULj.js → TabSwitcher-CwNOGdE4.js} +1 -1
  123. package/dist/assets/Tts-9h9wMptj.js +1 -0
  124. package/dist/assets/{VideoPlayer-DO6Ho0ys.js → VideoPlayer-C8JK0RxK.js} +1 -1
  125. package/dist/assets/{VideoPreview-BV2-jKo_.js → VideoPreview-C3E7e258.js} +1 -1
  126. package/dist/assets/WriteSkillDialog-DkwaroE4.css +1 -0
  127. package/dist/assets/WriteSkillDialog-pM5WWO_u.js +1 -0
  128. package/dist/assets/_Uint8Array-nIISVuHt.js +1 -0
  129. package/dist/assets/_baseClone-7_lsbwLS.js +1 -0
  130. package/dist/assets/_baseIteratee--QYWPkC4.js +1 -0
  131. package/dist/assets/_initCloneObject-CCi-U_EQ.js +1 -0
  132. package/dist/assets/airwallexCheckout-qc3qTMUX.js +1 -0
  133. package/dist/assets/alert-U2MaPlJ9.js +1 -0
  134. package/dist/assets/arrow-down-DfTrPQOL.js +1 -0
  135. package/dist/assets/{arrow-down-wide-narrow-C5yHg1rj.js → arrow-down-wide-narrow-PJzfRq4T.js} +1 -1
  136. package/dist/assets/arrow-left-BVDLh3Va.js +1 -0
  137. package/dist/assets/arrow-right--gL1-ljy.js +1 -0
  138. package/dist/assets/arrow-up-CJrhGZCj.js +1 -0
  139. package/dist/assets/{authorizeFlow-CbnZNWC8.js → authorizeFlow-CGaD-Yn2.js} +1 -1
  140. package/dist/assets/avatar-BR02j3V4.js +1 -0
  141. package/dist/assets/avatar-WsAjm9oe.js +1 -0
  142. package/dist/assets/back-navigation-Cgq-yo6U.js +1 -0
  143. package/dist/assets/{basic-BkCL7NJm.js → basic-Dwb7ixOL.js} +1 -1
  144. package/dist/assets/{book-open-BIk4nCjc.js → book-open-C1ZaBV-L.js} +1 -1
  145. package/dist/assets/{box-Cfp55_kE.js → box-CN5ciTIe.js} +1 -1
  146. package/dist/assets/{boxes-Zv0VU10h.js → boxes-Bd-5fdhB.js} +1 -1
  147. package/dist/assets/{brain-BQ_CxOGt.js → brain-CMqyCDWc.js} +1 -1
  148. package/dist/assets/card-DAt5MYXW.js +1 -0
  149. package/dist/assets/castArray-COQ0WJ2K.js +1 -0
  150. package/dist/assets/{chart-no-axes-combined-Ct33HAkl.js → chart-no-axes-combined-D7onmnnI.js} +1 -1
  151. package/dist/assets/{chat-D9Ro4GaD.js → chat-B0JTaFVe.js} +1 -1
  152. package/dist/assets/check-BzLmM2XP.js +1 -0
  153. package/dist/assets/checkbox-BewkohT2.js +1 -0
  154. package/dist/assets/chevron-down-CQL1GsTP.js +1 -0
  155. package/dist/assets/chevron-right-D8QIzQvI.js +1 -0
  156. package/dist/assets/chip-CNPdFg2A.js +1 -0
  157. package/dist/assets/{circle-alert-BdsN2sA4.js → circle-alert-Cvs4thBO.js} +1 -1
  158. package/dist/assets/circle-check-DHd7IXvD.js +1 -0
  159. package/dist/assets/{circle-question-mark-Dv_3l2fY.js → circle-question-mark-Pqal3xQT.js} +1 -1
  160. package/dist/assets/click-outside-CVgFpc8A.js +1 -0
  161. package/dist/assets/{clipboard-list-Cg85aSkn.js → clipboard-list-BH_-gLpI.js} +1 -1
  162. package/dist/assets/clock-DwYHySjs.js +1 -0
  163. package/dist/assets/code-C_xAPva0.js +1 -0
  164. package/dist/assets/codingBridge-CtK7gpFT.js +2 -0
  165. package/dist/assets/codingBridgeNotify-DpXRQ9H4.js +2 -0
  166. package/dist/assets/{coins-BMixeCnE.js → coins-CXxyFriE.js} +1 -1
  167. package/dist/assets/collapse-C4oG2TrN.js +1 -0
  168. package/dist/assets/constants-CtnklZiH.js +1 -0
  169. package/dist/assets/{copy-CX1u73PQ.js → copy-B9lKoUna.js} +1 -1
  170. package/dist/assets/{createTaskActions-CtCifft2.js → createTaskActions-CEZLAGdz.js} +1 -1
  171. package/dist/assets/date-picker-C6G89eOc.js +1 -0
  172. package/dist/assets/debounce-D_Lrx3DW.js +1 -0
  173. package/dist/assets/{digitalhuman-CWy8UfHU.js → digitalhuman-BJq04JEa.js} +1 -1
  174. package/dist/assets/divider-D3FlUyXr.js +1 -0
  175. package/dist/assets/{dollar-sign-CMRISqbV.js → dollar-sign-Dcw-nA6e.js} +1 -1
  176. package/dist/assets/{download-CBl-0pZg.js → download-zfHO8wex.js} +1 -1
  177. package/dist/assets/drawer-B_ClqVDU.js +1 -0
  178. package/dist/assets/dropdown-BX_sCrJ1.js +1 -0
  179. package/dist/assets/dropdown-C9CKmAtj.js +1 -0
  180. package/dist/assets/{ellipsis-BAa8M-vL.js → ellipsis-DvgCgweK.js} +1 -1
  181. package/dist/assets/empty-Dp0jHM83.js +1 -0
  182. package/dist/assets/esm-CEJ8CbqX.js +1 -0
  183. package/dist/assets/esm-DHMx-EaC.js +2 -0
  184. package/dist/assets/{esm-KwmJxhIy.js → esm-H_4_OtaJ.js} +2 -2
  185. package/dist/assets/{external-link-BBS0m0TT.js → external-link-CRiWjbFY.js} +1 -1
  186. package/dist/assets/{eye-BXRPfFCQ.js → eye-1EPNuvUG.js} +1 -1
  187. package/dist/assets/{file-CIkQv3J1.js → file-CkHsyn8Y.js} +1 -1
  188. package/dist/assets/{file-output-C4nJCfE8.js → file-output-PVVNkea-.js} +1 -1
  189. package/dist/assets/{file-text-Bgcx_AzZ.js → file-text-BzOcb3N9.js} +1 -1
  190. package/dist/assets/{fish-gdYKe4SP.js → fish-wZLUS7zN.js} +1 -1
  191. package/dist/assets/{flux-D88IaBj0.js → flux-CWvEpbtW.js} +1 -1
  192. package/dist/assets/{folder-M0N3s8TI.js → folder-CyU7UABf.js} +1 -1
  193. package/dist/assets/form-Ur2fUbiz.js +12 -0
  194. package/dist/assets/gauge-CUTuGvBV.js +1 -0
  195. package/dist/assets/{generationInput-fG9Q4MrW.js → generationInput-BgxXAE1h.js} +1 -1
  196. package/dist/assets/{globe-Dh4Y-dbO.js → globe-CIEv1Gce.js} +1 -1
  197. package/dist/assets/{grokvideo-DI5sbtDX.js → grokvideo-BadaHq2i.js} +1 -1
  198. package/dist/assets/{hailuo-DDsbgUfB.js → hailuo-BQyxMwYy.js} +1 -1
  199. package/dist/assets/{hash-BJ9pTQTf.js → hash-ClLzk3VE.js} +1 -1
  200. package/dist/assets/{headphones-CQOv9Urq.js → headphones-CK9fw8A3.js} +1 -1
  201. package/dist/assets/{history-7aOG0Twx.js → history-BBoVrYj0.js} +1 -1
  202. package/dist/assets/{house-qCSklNGG.js → house-DxuUZjUJ.js} +1 -1
  203. package/dist/assets/{i18n-1AQa5zTB.js → i18n-DhgT44Lv.js} +1 -1
  204. package/dist/assets/{image-B2QUypNx.js → image-5Ne7LkFP.js} +1 -1
  205. package/dist/assets/{imageRequests-DKlC49Qg.js → imageRequests-W-cCYnDK.js} +1 -1
  206. package/dist/assets/index-CDlHbcHK.js +572 -0
  207. package/dist/assets/index-D2g2EZuV.css +1 -0
  208. package/dist/assets/{index.es-DpdDH40V.js → index.es-DrA84j7j.js} +1 -1
  209. package/dist/assets/{info-REIlbr1G.js → info-CMwh3z76.js} +1 -1
  210. package/dist/assets/input-number-Bsoo6DxA.js +1 -0
  211. package/dist/assets/isArrayLikeObject-CH_ZPhIt.js +1 -0
  212. package/dist/assets/isEqual-DAcbKrl2.js +1 -0
  213. package/dist/assets/isPlainObject-0Wmi5k72.js +1 -0
  214. package/dist/assets/{key-round-B-kr92xV.js → key-round-DAaC577Z.js} +1 -1
  215. package/dist/assets/{kling-Cxxepk6O.js → kling-B6cWDRQk.js} +1 -1
  216. package/dist/assets/{kling-BWXuiKU1.js → kling-BHDHQDXy.js} +1 -1
  217. package/dist/assets/{kling-CIk1zLQH.js → kling-BlArkDL2.js} +1 -1
  218. package/dist/assets/{kling-CZyhLM45.js → kling-Cv7n3Cfg.js} +1 -1
  219. package/dist/assets/{kling-UvfZ0Jq2.js → kling-D6hx_pt5.js} +1 -1
  220. package/dist/assets/{kling-2wv_LZxa.js → kling-DLnPZ4LA.js} +1 -1
  221. package/dist/assets/{kling-BmkAWomM.js → kling-DOdfwuPS.js} +1 -1
  222. package/dist/assets/{kling-CicDlHKd.js → kling-DaC_JWtQ.js} +1 -1
  223. package/dist/assets/{kling-D_U_EW2Z.js → kling-DtJvWptG.js} +1 -1
  224. package/dist/assets/{kling-Cvr2YdtF.js → kling-Jq69cjjg.js} +1 -1
  225. package/dist/assets/{kling-BVPX9vZ-.js → kling-URGfCp12.js} +1 -1
  226. package/dist/assets/{kling-z7BuXRxy.js → kling-VAuL8dAv.js} +1 -1
  227. package/dist/assets/{kling-CnMXceVz.js → kling-hgjNDAHO.js} +1 -1
  228. package/dist/assets/{languages-v-77L0wW.js → languages-C7z2vhdg.js} +1 -1
  229. package/dist/assets/{laptop-CPRP3p4w.js → laptop-MZMDBVaM.js} +1 -1
  230. package/dist/assets/{lightbulb-B46IGJEU.js → lightbulb-DvKp_J2A.js} +1 -1
  231. package/dist/assets/{link-qn8z6KOR.js → link-BcuybjPB.js} +1 -1
  232. package/dist/assets/loader-circle-CtPoU0-C.js +1 -0
  233. package/dist/assets/{lock-BGg1Rg_6.js → lock-DcdyBvsD.js} +1 -1
  234. package/dist/assets/{luma-QfbBXsgO.js → luma-BSZZ64LY.js} +1 -1
  235. package/dist/assets/{maestro-DsUiSLq9.js → maestro-C8bpkPCx.js} +1 -1
  236. package/dist/assets/{maestroLanguages-DNUMZk4N.js → maestroLanguages-7lRpF1TL.js} +1 -1
  237. package/dist/assets/{mail-Buw4IBL_.js → mail-BHt2wmw3.js} +1 -1
  238. package/dist/assets/{message-circle-B5L1vV2s.js → message-circle-Ct44bFdV.js} +1 -1
  239. package/dist/assets/{mic-CMOEDLJg.js → mic-DUFbuJZX.js} +1 -1
  240. package/dist/assets/{midjourney-CrQxGEBk.js → midjourney-u8rGVOrh.js} +1 -1
  241. package/dist/assets/{minimax-B8eV8Kmp.js → minimax-BNfy107P.js} +1 -1
  242. package/dist/assets/{mobileLocalExec-DKPuNmBE.js → mobileLocalExec-C9vAn58Q.js} +2 -2
  243. package/dist/assets/models-GnX-yPYT.js +1 -0
  244. package/dist/assets/{monitor-BK7iTUBc.js → monitor--9h6KQ6L.js} +1 -1
  245. package/dist/assets/{mouse-pointer-2-C9KhX1mu.js → mouse-pointer-2-CWCo1Etv.js} +1 -1
  246. package/dist/assets/music-2-CJuybpkc.js +1 -0
  247. package/dist/assets/{nanobanana-DlElIc7m.js → nanobanana-XXnE3WRs.js} +1 -1
  248. package/dist/assets/{omni-D1OBzZoe.js → omni-ibFZpCLS.js} +1 -1
  249. package/dist/assets/{openaiimage-B2ANWIRA.js → openaiimage-CgPzzPKQ.js} +1 -1
  250. package/dist/assets/{pagination-BO_5ftTJ.js → pagination-BhNRB53W.js} +1 -1
  251. package/dist/assets/pagination-CxvPjppX.js +1 -0
  252. package/dist/assets/pagination-D25VU3IU.js +1 -0
  253. package/dist/assets/{palette-D2umleZ6.js → palette-CFKU-WlR.js} +1 -1
  254. package/dist/assets/{paperclip-kQvC9gkj.js → paperclip-EQei2Y9_.js} +1 -1
  255. package/dist/assets/{pause-DXtHMNch.js → pause-D4VJDymQ.js} +1 -1
  256. package/dist/assets/{pencil-B6_0cPiJ.js → pencil-BBMcoxRm.js} +1 -1
  257. package/dist/assets/{pika-CLGmAoS8.js → pika-Dk78vpqU.js} +1 -1
  258. package/dist/assets/{pixverse-DhGV8oX-.js → pixverse-C6c6lahI.js} +1 -1
  259. package/dist/assets/play-Ccmccv3p.js +1 -0
  260. package/dist/assets/{plug-kkoJNPtP.js → plug-y_By3tzb.js} +1 -1
  261. package/dist/assets/plus-BZ9JKJSu.js +1 -0
  262. package/dist/assets/{poivelle-C2Ys0mKZ.js → poivelle-D3X6y6GI.js} +1 -1
  263. package/dist/assets/popover-H7Q1pdfo.js +1 -0
  264. package/dist/assets/{producer-Ss2tchtm.js → producer-CkFxrSxd.js} +1 -1
  265. package/dist/assets/{progress-BuyYfFZn.js → progress-vPfXSKo6.js} +2 -2
  266. package/dist/assets/{qrart-BzhUWQlT.js → qrart-BCnOSNax.js} +1 -1
  267. package/dist/assets/{qwenimage-DhiM-Dy6.js → qwenimage-BmeLtYH1.js} +1 -1
  268. package/dist/assets/radio-BVlGJwPX.js +1 -0
  269. package/dist/assets/raf-D5vQiIEp.js +1 -0
  270. package/dist/assets/realtime-DNfyHlgu.js +1 -0
  271. package/dist/assets/{refresh-cw-D6B44uOi.js → refresh-cw-DNTS71Rg.js} +1 -1
  272. package/dist/assets/rotate-ccw-ClzxBFz3.js +1 -0
  273. package/dist/assets/rotate-cw-CfsC9eSn.js +1 -0
  274. package/dist/assets/row-CevL7w98.js +1 -0
  275. package/dist/assets/scroll-GINQjbhL.js +1 -0
  276. package/dist/assets/scrollbar-Z7-pSnEi.js +1 -0
  277. package/dist/assets/search-BbfNYpHM.js +1 -0
  278. package/dist/assets/{seedance-CICg5jVu.js → seedance-Bitlw-kE.js} +1 -1
  279. package/dist/assets/{seedream-B67-IXD0.js → seedream-BXj2TS6i.js} +1 -1
  280. package/dist/assets/segmented-DhEzMRI3.js +1 -0
  281. package/dist/assets/select-BIEToHy0.js +1 -0
  282. package/dist/assets/{serp-dcfb7kj5.js → serp-CD7TD0Gy.js} +1 -1
  283. package/dist/assets/{shield-CH8McBrA.js → shield-Dw5Af0w-.js} +1 -1
  284. package/dist/assets/{showcase-Vs_h9p7u.js → showcase-UFIkyWwZ.js} +1 -1
  285. package/dist/assets/{showcaseRecreateMixin-CsU1JUeD.js → showcaseRecreateMixin-DANjPv7B.js} +1 -1
  286. package/dist/assets/{shuffle-mavNwtGM.js → shuffle-B9qz1uHR.js} +1 -1
  287. package/dist/assets/{siteHome-DzlXtsHy.js → siteHome-KYe4BE4k.js} +1 -1
  288. package/dist/assets/skeleton-Dmt7_vHq.js +1 -0
  289. package/dist/assets/slider-eNEzlQdE.js +1 -0
  290. package/dist/assets/{solana-wallets-9xarVWvA.js → solana-wallets-mjYTHtn6.js} +2 -2
  291. package/dist/assets/{sora-CGY5lCTg.js → sora-DmWw-Oc9.js} +1 -1
  292. package/dist/assets/{sparkles-B24Q65Iu.js → sparkles-DV3euyvR.js} +1 -1
  293. package/dist/assets/square-CcWRkaw0.js +1 -0
  294. package/dist/assets/{store-DNz45ZwJ.js → store-CCbl3jRK.js} +1 -1
  295. package/dist/assets/{suno-BiiXIhNE.js → suno-DmDEmx23.js} +1 -1
  296. package/dist/assets/switch-b8XL4vTV.js +1 -0
  297. package/dist/assets/table-D_jCcsIN.js +1 -0
  298. package/dist/assets/tabs-D6QUmaEb.js +1 -0
  299. package/dist/assets/{tag-BTGFi7pU.js → tag-CTWrezrj.js} +1 -1
  300. package/dist/assets/{taskPolling-82xkKZ6w.js → taskPolling-DEgDNq4W.js} +1 -1
  301. package/dist/assets/terminal-Bqq7eqVl.js +1 -0
  302. package/dist/assets/time-picker-DdVUgEmm.js +1 -0
  303. package/dist/assets/tooltip-D8X1_JQ0.js +1 -0
  304. package/dist/assets/{trash-2-Dp6pN4YF.js → trash-2-Df9R5ze4.js} +1 -1
  305. package/dist/assets/{triangle-alert-aAUKg4xX.js → triangle-alert-B2EmVNqG.js} +1 -1
  306. package/dist/assets/upload-DLWfBIaW.js +1 -0
  307. package/dist/assets/{upload-CfXm8YH5.js → upload-zkHVgD6Z.js} +1 -1
  308. package/dist/assets/use-aria-I5ZGOrOG.js +1 -0
  309. package/dist/assets/use-delayed-toggle-BRfAb-PC.js +1 -0
  310. package/dist/assets/{use-deprecated-BAB4ggjd.js → use-deprecated-BCSKWWhl.js} +2 -2
  311. package/dist/assets/user-CMdzRGaM.js +1 -0
  312. package/dist/assets/{veo-Cale2-5H.js → veo-_uvKP7Hv.js} +1 -1
  313. package/dist/assets/{video-CZV1ARtT.js → video-EZxLYSHg.js} +1 -1
  314. package/dist/assets/vnode-DHI9kZTd.js +1 -0
  315. package/dist/assets/{volume-2-B6-E4YLY.js → volume-2-Bxt1iABl.js} +1 -1
  316. package/dist/assets/{wallet-DhZS0MOq.js → wallet-JE-kdnjq.js} +1 -1
  317. package/dist/assets/{wan-Cv7-FRxy.js → wan-CXc0OpAh.js} +1 -1
  318. package/dist/assets/{wand-sparkles-CJqcxreS.js → wand-sparkles-CrB5EcuS.js} +1 -1
  319. package/dist/assets/{web-CaWbgwCP.js → web-BUJABHF4.js} +1 -1
  320. package/dist/assets/{web-DYsULTTR.js → web-Bh_x07ge.js} +1 -1
  321. package/dist/assets/{web-CoOhMnB7.js → web-CE1xnpsL.js} +1 -1
  322. package/dist/assets/{web-BVxN_h2Z.js → web-CmTnv6AC.js} +1 -1
  323. package/dist/assets/{web-AaZNv2Rt.js → web-Dx1lGenv.js} +1 -1
  324. package/dist/assets/{webextrator-DKLSMBwu.js → webextrator-sd-syPEw.js} +1 -1
  325. package/dist/assets/{zap-BfdthXZg.js → zap-o7e_9SqZ.js} +1 -1
  326. package/dist/index.html +10 -11
  327. package/package.json +2 -2
  328. package/dist/assets/Artifacts-CONhfeKL.js +0 -1
  329. package/dist/assets/Artifacts-DJq4Joqv.css +0 -1
  330. package/dist/assets/AskUserQuestionCard-CbSmm2q4.js +0 -1
  331. package/dist/assets/AskUserQuestionCard-DQG8Vxm_.css +0 -1
  332. package/dist/assets/BrowseConnectors-2kG34O4B.css +0 -1
  333. package/dist/assets/BrowseConnectors-Bbr5Kj5W.js +0 -1
  334. package/dist/assets/Conversation-5xpf3gWB.js +0 -1
  335. package/dist/assets/Conversation-B3BubeUL.css +0 -1
  336. package/dist/assets/Conversation-DYP2DA8I.css +0 -1
  337. package/dist/assets/Conversation-Dv7mYo6q.js +0 -2
  338. package/dist/assets/CopyToClipboard-CBPEp-6G.css +0 -1
  339. package/dist/assets/Detail-C40gkUeM.js +0 -2
  340. package/dist/assets/Detail-DXWrrQAk.css +0 -1
  341. package/dist/assets/Extra-Dm4GnNVY.css +0 -1
  342. package/dist/assets/Extra-bcivaanH.js +0 -1
  343. package/dist/assets/History-Dkn2AgvP.css +0 -1
  344. package/dist/assets/Index-0SA2fnkc.js +0 -1
  345. package/dist/assets/Index-4lObNruP.js +0 -1
  346. package/dist/assets/Index-ACRFpDE2.js +0 -1
  347. package/dist/assets/Index-B0nCyCfC.css +0 -1
  348. package/dist/assets/Index-B6REYrLi.css +0 -1
  349. package/dist/assets/Index-BBfszKPc.js +0 -1
  350. package/dist/assets/Index-BBn91pAG.css +0 -1
  351. package/dist/assets/Index-BNApIffG.js +0 -1
  352. package/dist/assets/Index-BqAGC5Rj2.js +0 -1
  353. package/dist/assets/Index-CJRtJHKm.js +0 -1
  354. package/dist/assets/Index-CKiBThH1.js +0 -2
  355. package/dist/assets/Index-C_roIyUM.css +0 -1
  356. package/dist/assets/Index-ChReag5b.js +0 -1
  357. package/dist/assets/Index-CiETYmpj.js +0 -1
  358. package/dist/assets/Index-CxDv5j0w.js +0 -1
  359. package/dist/assets/Index-CxvqBAIQ.js +0 -2
  360. package/dist/assets/Index-D2jQPgC6.js +0 -1
  361. package/dist/assets/Index-D9qjFUAO.js +0 -1
  362. package/dist/assets/Index-DEPcRTj4.js +0 -1
  363. package/dist/assets/Index-DGIs2lN_.js +0 -1
  364. package/dist/assets/Index-DIITaGzK.js +0 -1
  365. package/dist/assets/Index-DR3wdmmM.js +0 -1
  366. package/dist/assets/Index-DbpxqU5l.css +0 -1
  367. package/dist/assets/Index-DcU3474Y.js +0 -1
  368. package/dist/assets/Index-DkR1Whga.js +0 -1
  369. package/dist/assets/Index-Dl6O5qBb.css +0 -1
  370. package/dist/assets/Index-DrKWKgoQ.js +0 -1
  371. package/dist/assets/Index-GFhxJzuI.css +0 -1
  372. package/dist/assets/Index-ahx_aJTN.js +0 -1
  373. package/dist/assets/Index-iniX1vgd.js +0 -1
  374. package/dist/assets/Index-lvAfudXC.js +0 -1
  375. package/dist/assets/Invitees-DXE80B4I.css +0 -1
  376. package/dist/assets/List-Bmx7g-kU.js +0 -1
  377. package/dist/assets/List-CsPeZOyf.css +0 -1
  378. package/dist/assets/List-D6muqeO7.js +0 -1
  379. package/dist/assets/List-DKtx8rIG.css +0 -1
  380. package/dist/assets/List-D_Hcf35u.js +0 -1
  381. package/dist/assets/List-DskSS78c.css +0 -1
  382. package/dist/assets/LocalTools-B6V3qEhM.css +0 -1
  383. package/dist/assets/LocalTools-BOZRitzG.js +0 -5
  384. package/dist/assets/Message-1lJvifod.js +0 -3
  385. package/dist/assets/Message-CoMyd3uV.css +0 -1
  386. package/dist/assets/Navigator-CmvhccdQ.js +0 -8
  387. package/dist/assets/NotFound-CUAMEZGA.js +0 -1
  388. package/dist/assets/NotFound-DcLiQRjA.css +0 -1
  389. package/dist/assets/Pay-Bk74bPkY.css +0 -1
  390. package/dist/assets/Pay-zeZjx-na.js +0 -1
  391. package/dist/assets/RealtimeCall-A9YKj5cD.js +0 -1
  392. package/dist/assets/RealtimeCall-Ctqunf8M.css +0 -1
  393. package/dist/assets/ScheduledTasks-DjCjjDTk.css +0 -1
  394. package/dist/assets/ScheduledTasks-__703AAY.js +0 -2
  395. package/dist/assets/Status-CZS0I9Kr.js +0 -1
  396. package/dist/assets/Status-CreZ6r16.css +0 -1
  397. package/dist/assets/Subscribe-DGalaHGM.css +0 -1
  398. package/dist/assets/Subscribe-DQV3Lduv.js +0 -1
  399. package/dist/assets/Tts-CryhqV46.js +0 -1
  400. package/dist/assets/WriteSkillDialog-BbUlRm24.css +0 -1
  401. package/dist/assets/WriteSkillDialog-CUXFb2JE.js +0 -1
  402. package/dist/assets/_Uint8Array-XQBxN0L-.js +0 -1
  403. package/dist/assets/_baseClone-U7fnZamc.js +0 -1
  404. package/dist/assets/_baseIteratee-DLPcqXeW.js +0 -1
  405. package/dist/assets/_initCloneObject-CSzorZ33.js +0 -1
  406. package/dist/assets/airwallexCheckout-Y-I31LK-.js +0 -1
  407. package/dist/assets/alert-BprQRUmf.js +0 -1
  408. package/dist/assets/arrow-down-Jv1nmS0w.js +0 -1
  409. package/dist/assets/arrow-left-CVha_e4b.js +0 -1
  410. package/dist/assets/arrow-right-BeWjPFCG.js +0 -1
  411. package/dist/assets/arrow-up-Fr_MhjJ1.js +0 -1
  412. package/dist/assets/avatar-DEN_WCPo.js +0 -1
  413. package/dist/assets/avatar-DNc98gLA.js +0 -1
  414. package/dist/assets/card-IQwqnRJR.js +0 -1
  415. package/dist/assets/castArray-YUixYP4Q.js +0 -1
  416. package/dist/assets/check-CeT0V340.js +0 -1
  417. package/dist/assets/checkbox-DXMDpaxv.js +0 -1
  418. package/dist/assets/chevron-down-DZkQ0KV3.js +0 -1
  419. package/dist/assets/chevron-right-CW7MOzUw.js +0 -1
  420. package/dist/assets/circle-check-BoXMGozm.js +0 -1
  421. package/dist/assets/click-outside-CzJDhMNh.js +0 -1
  422. package/dist/assets/clock-CeXzuE-o.js +0 -1
  423. package/dist/assets/code-BHnNnq9m.js +0 -1
  424. package/dist/assets/codingBridge-BWqyDAGr.js +0 -2
  425. package/dist/assets/codingBridgeNotify-Dsb473Iy.js +0 -2
  426. package/dist/assets/collapse-C8Xc1BYU.js +0 -1
  427. package/dist/assets/constants-B6THNcD6.js +0 -1
  428. package/dist/assets/date-picker-D5SuN5nl.js +0 -1
  429. package/dist/assets/debounce-5xtusvLq.js +0 -1
  430. package/dist/assets/divider-Du_3kymg.js +0 -1
  431. package/dist/assets/drawer-_SimYt6R.js +0 -1
  432. package/dist/assets/dropdown-TjYtCDWj.js +0 -1
  433. package/dist/assets/dropdown-l2T-Bfow.js +0 -1
  434. package/dist/assets/empty-C5KjRN0h.js +0 -1
  435. package/dist/assets/esm-B8o_Y-rl.js +0 -2
  436. package/dist/assets/esm-CYtW68MZ.js +0 -1
  437. package/dist/assets/form-BdKMEyCR.js +0 -12
  438. package/dist/assets/gauge-BBEsGLd-.js +0 -1
  439. package/dist/assets/icon-CDmWyIgD.js +0 -1
  440. package/dist/assets/index-BKJo8KCf.css +0 -1
  441. package/dist/assets/index-Chthn5u1.js +0 -572
  442. package/dist/assets/input-number-CP6VR6wd.js +0 -1
  443. package/dist/assets/isArrayLikeObject-VRCqVaiT.js +0 -1
  444. package/dist/assets/isEqual-DeO3PEnJ.js +0 -1
  445. package/dist/assets/isPlainObject-CIQNj6g3.js +0 -1
  446. package/dist/assets/loader-circle-B5-_Ddsk.js +0 -1
  447. package/dist/assets/models-Dt5TUDSt.js +0 -1
  448. package/dist/assets/music-2-BM9Fu0Au.js +0 -1
  449. package/dist/assets/pagination-D4Aw0nAJ.js +0 -1
  450. package/dist/assets/pagination-DuM5gKc8.js +0 -1
  451. package/dist/assets/play-unJ34aYh.js +0 -1
  452. package/dist/assets/plus-Dk4V5RAn.js +0 -1
  453. package/dist/assets/popover-BDzRlieG.js +0 -1
  454. package/dist/assets/radio-BNhFzeBO.js +0 -1
  455. package/dist/assets/raf-BbgJq-wu.js +0 -1
  456. package/dist/assets/realtime-DAfRI7KC.js +0 -1
  457. package/dist/assets/rotate-ccw-BYK2Uwwj.js +0 -1
  458. package/dist/assets/rotate-cw-BtDVlYCq.js +0 -1
  459. package/dist/assets/row-LIuQCOwQ.js +0 -1
  460. package/dist/assets/scroll-kDH1KTep.js +0 -1
  461. package/dist/assets/scrollbar-3jGyy846.js +0 -1
  462. package/dist/assets/search-CEBDq3OR.js +0 -1
  463. package/dist/assets/segmented-D0zHdf9D.js +0 -1
  464. package/dist/assets/select-C2FJHM0d.js +0 -1
  465. package/dist/assets/skeleton-Dj_a_iIP.js +0 -1
  466. package/dist/assets/slider-CTiMX-b2.js +0 -1
  467. package/dist/assets/square-CuAnQ3oF.js +0 -1
  468. package/dist/assets/switch-7Pw3B28x.js +0 -1
  469. package/dist/assets/table-BLyggfjy.js +0 -1
  470. package/dist/assets/tabs-DM6Y93wJ.js +0 -1
  471. package/dist/assets/terminal-SNIgwaJk.js +0 -1
  472. package/dist/assets/time-picker-D_EvWGjF.js +0 -1
  473. package/dist/assets/tooltip-B7b9ZTXG.js +0 -1
  474. package/dist/assets/upload-DZVFna-K.js +0 -1
  475. package/dist/assets/use-aria-DApzlmKf.js +0 -1
  476. package/dist/assets/use-delayed-toggle-CUww_m9H.js +0 -1
  477. package/dist/assets/user-DSOiwk3r.js +0 -1
  478. package/dist/assets/vnode-B_FEx-YD.js +0 -1
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,qt as h,rt as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{_r as b,fr as x,gr as S,hr as C,mr as w}from"./constants-CtnklZiH.js";import{r as T,t as E}from"./select-BIEToHy0.js";import{t as D}from"./upload-DLWfBIaW.js";import{t as O}from"./tooltip-D8X1_JQ0.js";import{t as k}from"./alert-U2MaPlJ9.js";import{h as A,v as j}from"./models-GnX-yPYT.js";import{t as M}from"./drawer-B_ClqVDU.js";import{t as N}from"./box-CN5ciTIe.js";import{t as P}from"./clock-DwYHySjs.js";import{t as F}from"./external-link-CRiWjbFY.js";import{t as I}from"./hash-ClLzk3VE.js";import{t as L}from"./image-5Ne7LkFP.js";import{t as ee}from"./info-CMwh3z76.js";import{a as R,i as te,n as z,r as B,t as ne}from"./pagination-CxvPjppX.js";import{t as re}from"./trash-2-Df9R5ze4.js";import{t as ie}from"./triangle-alert-B2EmVNqG.js";import{t as ae}from"./upload-zkHVgD6Z.js";import{t as V}from"./wand-sparkles-CrB5EcuS.js";import{t as oe}from"./zap-o7e_9SqZ.js";import{C as se}from"./i18n-DhgT44Lv.js";import{Ba as ce,D as H,Ka as U,Nn as W,T as G,Vi as K,ar as q,at as le,ca as J,ct as ue,ea as de,io as Y,lt as fe,ot as pe,pi as me,st as he,tt as ge,ui as _e,wn as ve,zi as X}from"./index-CDlHbcHK.js";import{t as ye}from"./CopyToClipboard-CGoZkeCB.js";import{t as be}from"./ReportButton-DD0Krf84.js";import{t as Z}from"./ImagePreview-N7AimAQV.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./ServicePricingSummary-MQWDXCk3.js";import{t as Ce}from"./ScenarioPaymentMode-b7XGLVVp.js";import{t as we}from"./ApiCodeButton-DAs3vuCn.js";import{t as Te}from"./BotPlaceholder-ypqj2sqi.js";import{t as Ee}from"./taskPollingMixin-CcLxtz8z.js";import{t as De}from"./ShowcaseResultTabs-CWPHfI3T.js";import{t as Oe}from"./showcaseRecreateMixin-DANjPv7B.js";import{t as ke}from"./ImageWrapper-CTZZ0lAI.js";import{t as Q}from"./imageRequests-W-cCYnDK.js";var Ae=y({name:`LayoutNanobanana`,components:{MagicIcon:V,ElDrawer:M,ElButton:Y},mixins:[xe]}),je={class:`main flex flex-row flex-1`},Me={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)]`},Ne={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Pe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,je,[e(`div`,Me,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ne,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[v,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Fe=H(Ae,[[`render`,Pe],[`__scopeId`,`data-v-6f553b1e`]]),Ie=y({name:`PromptInput`,components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Le(e,t,n,r,i,a){let o=u(`prompt-textarea`);return _(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Re=H(Ie,[[`render`,Le]]),ze=y({name:`ImageUrlsInput`,components:{UploadIcon:ae,ElUpload:D,ElButton:Y,InfoIcon:R,ImagePreview:Z},mixins:[fe,ue,pe,ge],data(){return{fileList:[],uploadUrl:ce()+`/api/v1/files/`,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.nanobanana?.config?.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}}},mounted(){},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.onSetImageUrls()},onExceed(){j.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){j.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},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.onSetImageUrls()}}}),Be={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Ve={class:`flex min-w-0 items-center`},He={class:`title m-0 text-[14px] font-bold`},Ue={class:`file-list flex flex-wrap gap-[10px]`};function We(t,n,o,c,d,f){let h=u(`info-icon`),v=u(`upload-icon`),y=u(`el-button`),b=u(`el-upload`),x=u(`image-preview`);return _(),s(`div`,null,[e(`div`,Be,[e(`div`,Ve,[e(`h2`,He,i(t.$t(`nanobanana.name.imageUrls`)),1),a(h,{content:t.$t(`nanobanana.description.imageUrls`)},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:5,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:m(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ue,[(_(!0),s(l,null,g(t.fileList,(e,n)=>(_(),p(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 Ge=H(ze,[[`render`,We]]),Ke=y({name:`AspectRatioSelector`,components:{InfoIcon:R},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),qe={class:`ratio`},Je={class:`header`},Ye={class:`title font-bold`},Xe=[`aria-label`],Ze=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Qe={class:`preview`},$e={class:`name`};function et(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(r.$t(`nanobanana.name.aspectRatio`)),1),a(v,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),e(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(_(!0),s(l,null,g(r.options,a=>(_(),s(`div`,{key:a.value,class:n([`item`,{active:r.value===a.value}]),role:`radio`,"aria-checked":r.value===a.value,"aria-label":a.label,tabindex:`0`,onClick:e=>r.onSelect(a.value),onKeydown:[c(t(e=>r.onSelect(a.value),[`prevent`]),[`enter`]),c(t(e=>r.onSelect(a.value),[`prevent`]),[`space`])]},[e(`div`,Qe,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,$e,i(a.label),1)],42,Ze))),128))],8,Xe)])}var tt=H(Ke,[[`render`,et],[`__scopeId`,`data-v-7131eb97`]]),nt=y({name:`NanobananaModelSelector`,components:{ElSelect:T,ElOption:E,InfoIcon:R},data(){return{options:[{value:w,label:this.$t(`nanobanana.model.nanoBanana`)},{value:S,label:S},{value:b,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:C,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=x}}),rt={class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,rt,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`nanobanana.name.model`)),1),a(f,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`)},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=H(nt,[[`render`,st],[`__scopeId`,`data-v-11cb675b`]]),lt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:T,ElOption:E,InfoIcon:R},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},supportsResolution(){let e=this.$store.state.nanobanana?.config?.model;return e===`nano-banana-2`||e===`nano-banana-pro`}},watch:{value(e){this.supportsResolution&&e&&(this.cachedResolution=e)},supportsResolution(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.supportsResolution&&!this.value&&(this.value=`1K`),!this.supportsResolution&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`nanobanana.name.resolution`)),1),a(f,{content:t.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`),disabled:!t.supportsResolution},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var ht=H(lt,[[`render`,mt],[`__scopeId`,`data-v-7ab9d4d4`]]),gt=350,_t=y({name:`ConfigPanel`,components:{MagicIcon:V,ElButton:Y,PromptInput:Re,ServicePricingSummary:Se,ImageUrlsInput:Ge,AspectRatioSelector:tt,ModelSelector:ct,ResolutionSelector:ht,ScenarioPaymentMode:Ce},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},canGenerate(){return W(this.config?.prompt)},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ve({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return X()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.clearQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.walletMode&&this.scheduleQuote()}},beforeUnmount(){this.clearQuote()},methods:{clearQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=K(`nanobanana`);e.quoteUsdc=void 0,e.quoteLoading=!1},scheduleQuote(){this.clearQuote(),!(!this.walletMode||!this.canGenerate)&&(this.quoteTimer=window.setTimeout(this.refreshQuote,gt))},async refreshQuote(){if(!this.walletMode||!this.canGenerate){this.clearQuote();return}let e=K(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await q.quote(Q(this.config),this.identityToken);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`)}}}),vt={class:`flex flex-col h-full`},yt={class:`flex-1 overflow-y-auto p-5`},bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function xt(t,n,c,l,d,f){let h=u(`model-selector`),g=u(`resolution-selector`),v=u(`prompt-input`),y=u(`aspect-ratio-selector`),b=u(`image-urls-input`),x=u(`scenario-payment-mode`),S=u(`service-pricing-summary`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,vt,[e(`div`,yt,[a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,bt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service,"pricing-unit-aliases":{count:`image`}},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var St=H(_t,[[`render`,xt]]),Ct=y({name:`TaskPreview`,components:{ApplicationIcon:N,ChannelIcon:I,DeleteIcon:re,ExternalLinkIcon:F,ImageIcon:L,InfoIcon:ee,LightningIcon:oe,MagicIcon:V,TimeIcon:P,WarningIcon:ie,CopyToClipboard:ye,ElAlert:k,ImageWrapper:ke,ElButton:Y,ElTooltip:O,ImagePreview:Z,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e},hasImages(){return this.images.some(e=>!!e?.image_url)},isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error},showResult(){let e=this.modelValue?.response;return!e||this.isFailure?!1:(e.success,this.hasImages)},reportSnapshot(){return{prompt:this.modelValue?.request?.prompt,image_urls:this.images.map(e=>e.image_url).filter(Boolean),model:this.modelValue?.request?.model,action:this.modelValue?.request?.action,task_id:this.modelValue?.id,trace_id:this.modelValue?.response?.trace_id}}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await U.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(`nanobanana/deleteTask`,{id:e}),j.success(this.$t(`common.message.deleteTaskSuccess`))}catch{j.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),wt={class:`preview`},Tt={class:`left`},Et={class:`main`},Dt={class:`bot`},Ot={class:`datetime`},kt=[`aria-label`],At={class:`info`},jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mt={key:1,class:`prompt mt-2`},Nt={key:0},Pt={key:0,class:n({content:!0,failed:!0})},Ft={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},It={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:1,class:n({content:!0})},Gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qt={key:2,class:n({content:!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function an(n,c,d,f,h,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`image-preview`),C=u(`image-wrapper`),w=u(`el-button`),T=u(`api-code-button`),E=u(`report-button`),D=u(`application-icon`),O=u(`image-icon`),k=u(`external-link-icon`),A=u(`lightning-icon`),j=u(`magic-icon`),M=u(`copy-to-clipboard`),N=u(`time-icon`),P=u(`channel-icon`),F=u(`el-alert`),I=u(`warning-icon`),L=u(`info-icon`);return _(),s(`div`,wt,[e(`div`,Tt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,Et,[e(`div`,Dt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,Ot,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:m(()=>[n.modelValue?.id?(_(),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(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,kt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,At,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,jt,[(_(!0),s(l,null,g(n.modelValue?.request?.image_urls,(e,t)=>(_(),p(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(_(),s(`p`,Mt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Nt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Pt,[e(`div`,Ft,[(_(!0),s(l,null,g(n.images,(e,t)=>(_(),p(C,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,It,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:m(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:m(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:`/nano-banana/images`,body:n.modelValue?.request},null,8,[`body`]),a(E,{service:`nanobanana`,"target-id":n.modelValue?.id,snapshot:n.reportSnapshot,"show-label":``},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Rt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,zt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,Bt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Vt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Ht,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Ut,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.isFailure?(_(),s(`div`,Wt,[a(F,{closable:!1,class:`failure`},{template:m(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Gt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,qt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Jt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Yt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(M,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Xt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Zt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(_(),s(`div`,Qt,[a(F,{closable:!1,class:`info`},{template:m(()=>[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.status.pending`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,$t,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,en,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,tn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,nn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,rn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var on=y({name:`RecentPanel`,components:{TaskPreview:H(Ct,[[`render`,an],[`__scopeId`,`data-v-aa642ec8`]]),BotPlaceholder:Te,NoTasks:B,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),h=u(`scroll-list`),v=u(`no-tasks`);return _(),s(l,null,[e.tasks?.items===void 0?(_(),s(`div`,sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(_(),p(h,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(_(!0),s(l,null,g(e.tasks?.items,e=>(_(),p(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(_(),s(`div`,cn,[a(v)])):o(``,!0)],64)}var un=y({name:`NanobananaIndex`,components:{ConfigPanel:St,Layout:Fe,RecentPanel:H(on,[[`render`,ln]]),ShowcaseResultTabs:De},mixins:[he,Oe(`nanobanana`),Ee(`nanobanana`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===A.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks},walletMode(){return X()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`nanobanana/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/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.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(se()&&!J())return;if(!W(this.config?.prompt)){j.error(this.$t(`common.message.promptRequired`));return}if(!le(this.uploadTracker,e=>this.$t(e),e=>j.warning(e)))return;let e=Q(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){j.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=q.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!J())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=q.generate(e,{token:n})}j.info(this.$t(`nanobanana.message.startingTask`)),de(`nanobanana`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),j.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{if(e instanceof _e)return;let t=e?.response?.data;G(e,`nanobanana`)||(this.walletMode?j.error(this.$t(`common.x402Scenario.paymentFailed`)):j.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return U.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=u(`config-panel`),c=u(`recent-panel`),l=u(`showcase-result-tabs`),d=u(`layout`);return _(),p(d,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(l,{service:`nano-banana`},{tasks:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var fn=H(un,[[`render`,dn]]);export{fn as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{n as d,t as ee}from"./table-BLyggfjy.js";import{t as f}from"./tooltip-B7b9ZTXG.js";import{t as p}from"./card-IQwqnRJR.js";import{n as m,t as h}from"./row-LIuQCOwQ.js";import{t as g}from"./divider-Du_3kymg.js";import{t as _}from"./progress-BuyYfFZn.js";import{t as v}from"./skeleton-Dj_a_iIP.js";import{t as y}from"./coins-BMixeCnE.js";import{t as b}from"./link-qn8z6KOR.js";import{t as x}from"./user-DSOiwk3r.js";import{t as S}from"./wallet-DhZS0MOq.js";import{A as C}from"./i18n-1AQa5zTB.js";import{$r as w,D as T,Ft as E,In as D,Ln as O,Nt as k,Qr as A,Tn as j,Ua as M,V as N,Yi as P,ei as F,gt as I,io as L}from"./index-Chthn5u1.js";import{t as R}from"./CopyToClipboard-F9OE3T2Z.js";var z=u({name:`ConsoleDistributionList`,components:{CreditsIcon:y,LinkIcon:b,PercentIcon:M(`percent`,[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]),UserIcon:x,WalletIcon:S,CopyToClipboard:R,QrCode:N,ElProgress:_,ElRow:h,ElCol:m,ElButton:L,ElDivider:g,ElCard:p,ElTooltip:f,ElTable:ee,ElTableColumn:d,ElSkeleton:v},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{showOfficialTools(){return D()||!C()},redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},qrColor(){let e=document.documentElement.classList.contains(`dark`);return{dark:e?`#ffffff`:`#000000`,light:e?`#1e1e1e`:`#ffffff`}},distributionLevelMap(){let e={};return this.distributionLevels.forEach(t=>{e[t.level]=t}),e}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:j,goPromotionTemplates(){this.$router.push({name:I,query:{template_category:`marketing`}})},goHistory(){this.$router.push({name:k})},goInvitees(){this.$router.push({name:E})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},getPercentageForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-e)/(t-e)*100)},getDeltaForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(e-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await w.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){let e=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{let t=(await F.create(e))?.data?.data?.url||e;this.distributionLink=O()?t.replace(`surl.id`,`share.acedata.cloud`):t}catch{this.distributionLink=e}},async onFetchDistributionStatus(){let{data:e}=await w.getAll({user_id:this.$store.getters.user.id});e.items&&e.items.length>0&&(this.distributionStatus=e.items[0])},async onFetchDistributionLevels(){let{data:e}=await A.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=e.items},async onFetchInvitees(){let{data:e}=await P.getInvitees({});this.invitees=e.items,this.inviteesCount=e.count}}}),B={class:`title`},V={key:1},H={class:`icon-wrapper`},U={class:`text-left`},W={class:`description`},G={class:`value`},K={key:1},q={class:`icon-wrapper`},J={class:`text-left`},Y={class:`description`},X={class:`value`},te={key:1},Z={class:`icon-wrapper`},Q={class:`text-left`},ne={class:`description`},re={class:`value`},ie={key:1},ae={class:`icon-wrapper`},oe={class:`text-left`},se={class:`description`},ce={class:`value`},le={key:1},ue={class:`title`},de={class:`clear-both overflow-hidden`},fe={class:`float-left description`},pe={class:`float-right description`},me={class:`description`},he={class:`level`},ge={class:`level`},_e={class:`level`},ve={key:1},ye={class:`title`},be={class:`link-wrapper text-center`},$=[`href`],xe={class:`qr-wrapper ml-auto mr-auto`},Se={class:`mt-0`},Ce={class:`description`},we={class:`more`};function Te(u,d,ee,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`el-skeleton`),v=o(`wallet-icon`),y=o(`el-button`),b=o(`el-card`),x=o(`credits-icon`),S=o(`el-tooltip`),C=o(`percent-icon`),w=o(`user-icon`),T=o(`el-progress`),E=o(`el-divider`),D=o(`el-table-column`),O=o(`el-table`);o(`link-icon`);let k=o(`copy-to-clipboard`),A=o(`qr-code`);return l(),s(g,{class:`panel`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(g,null,{default:c(()=>[r(h,{span:24},{default:c(()=>[e(`h2`,B,n(u.$t(`common.title.distribution`)),1)]),_:1})]),_:1}),r(g,{gutter:15},{default:c(()=>[r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,V,[e(`div`,H,[r(v,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,U,[e(`p`,W,n(u.$t(`distribution.title.price`)),1),e(`p`,G,n(u.getPriceString({value:u.distributionStatus?.price})),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goHistory},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,K,[e(`div`,q,[r(x,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,J,[e(`p`,Y,n(u.$t(`distribution.title.reward`)),1),e(`p`,X,n(u.getPriceString({value:u.distributionStatus?.reward})),1)]),r(S,{effect:`dark`,content:u.$t(`distribution.message.developingWithDrawal`),placement:`top`},{default:c(()=>[r(y,{type:`primary`,round:``,size:`small`,class:`btn`},{default:c(()=>[t(n(u.$t(`distribution.button.withdrawal`)),1)]),_:1})]),_:1},8,[`content`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,te,[e(`div`,Z,[r(C,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,Q,[e(`p`,ne,n(u.$t(`distribution.title.percentage`)),1),e(`p`,re,n(u.distributionStatus?.level?.percentage)+`%`,1)])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ie,[e(`div`,ae,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,oe,[e(`p`,se,n(u.$t(`distribution.title.inviteesCount`)),1),e(`p`,ce,n(u.inviteesCount),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goInvitees},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1})]),_:1}),u.showOfficialTools?(l(),s(g,{key:0,gutter:15,class:`mb-4`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(b,{shadow:`hover`,class:`automation-card`},{default:c(()=>[e(`div`,null,[e(`h3`,null,n(u.$t(`distribution.title.promotionAutomation`)),1),e(`p`,null,n(u.$t(`distribution.message.promotionAutomation`)),1)]),r(y,{type:`primary`,round:``,onClick:u.goPromotionTemplates},{default:c(()=>[t(n(u.$t(`distribution.button.browseTemplates`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1})):i(``,!0),r(g,{gutter:15},{default:c(()=>[r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`level-info mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,le,[e(`h4`,ue,n(u.$t(`distribution.title.levelInfo`)),1),e(`div`,de,[e(`div`,fe,[e(`p`,null,n(u.$t(`distribution.title.currentLevel`))+`: L`+n(u.distributionStatus?.level?.level),1),e(`p`,null,n(u.$t(`distribution.title.currentPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level]?.percentage)+`% `,1)]),e(`div`,pe,[e(`p`,null,n(u.$t(`distribution.title.nextLevel`))+`: L`+n(u.distributionStatus?.level?.level+1),1),e(`p`,null,n(u.$t(`distribution.title.nextPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level+1]?.percentage)+`% `,1)])]),r(T,{"text-inside":!0,"stroke-width":20,percentage:u.getPercentageForNextLevel(),class:`mb-2`},null,8,[`percentage`]),e(`p`,me,n(u.$t(`distribution.message.deltaPriceForNextLevel`))+`: $`+n(u.getDeltaForNextLevel()),1),r(E),u.distributionLevels?(l(),s(O,{key:0,data:u.distributionLevels,stripe:``},{default:c(()=>[r(D,{label:u.$t(`distribution.field.level`)},{default:c(t=>[e(`span`,he,`L`+n(t.row?.level),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.threshold`)},{default:c(t=>[e(`span`,ge,`$`+n(t.row?.threshold),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.percentage`)},{default:c(t=>[e(`span`,_e,n(t.row?.percentage)+`%`,1)]),_:1},8,[`label`])]),_:1},8,[`data`])):i(``,!0)]))]),_:1})]),_:1}),r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`hover`,class:`distribution-info mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ve,[e(`h4`,ye,n(u.$t(`distribution.title.distributionLink`)),1),r(E),e(`div`,be,[i(``,!0),e(`a`,{href:u.distributionLink,class:`link`},n(u.distributionLink),9,$),r(k,{content:u.distributionLink},null,8,[`content`])]),e(`div`,xe,[u.distributionLink?(l(),s(A,{key:0,value:u.distributionLink,size:180,margin:2,class:`block mb-2 ml-auto mr-auto`,type:`image/png`,color:u.qrColor},null,8,[`value`,`color`])):i(``,!0),e(`p`,Se,n(u.$t(`distribution.message.distributionQrDescription`)),1)]),e(`p`,Ce,[t(n(u.$t(`distribution.message.distributionLinkDescription`))+` `,1),e(`span`,we,[r(S,{effect:`dark`,content:u.$t(`distribution.message.distributionLinkDescription2`),placement:`top`},{default:c(()=>[t(n(u.$t(`distribution.message.technicalDetail`)),1)]),_:1},8,[`content`])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Ee=T(z,[[`render`,Te],[`__scopeId`,`data-v-15ca3466`]]);export{Ee as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{n as d,t as ee}from"./table-D_jCcsIN.js";import{t as f}from"./tooltip-D8X1_JQ0.js";import{t as p}from"./card-DAt5MYXW.js";import{n as m,t as h}from"./row-CevL7w98.js";import{t as g}from"./divider-D3FlUyXr.js";import{t as _}from"./progress-vPfXSKo6.js";import{t as v}from"./skeleton-Dmt7_vHq.js";import{t as y}from"./coins-CXxyFriE.js";import{t as b}from"./link-BcuybjPB.js";import{t as x}from"./user-CMdzRGaM.js";import{t as S}from"./wallet-JE-kdnjq.js";import{A as C}from"./i18n-DhgT44Lv.js";import{$r as w,D as T,Ft as E,Ga as D,In as O,Ln as k,Nt as A,Qr as j,Tn as M,V as N,Yi as P,ei as F,gt as I,io as L}from"./index-CDlHbcHK.js";import{t as R}from"./CopyToClipboard-CGoZkeCB.js";var z=u({name:`ConsoleDistributionList`,components:{CreditsIcon:y,LinkIcon:b,PercentIcon:D(`percent`,[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]),UserIcon:x,WalletIcon:S,CopyToClipboard:R,QrCode:N,ElProgress:_,ElRow:h,ElCol:m,ElButton:L,ElDivider:g,ElCard:p,ElTooltip:f,ElTable:ee,ElTableColumn:d,ElSkeleton:v},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{showOfficialTools(){return O()||!C()},redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},qrColor(){let e=document.documentElement.classList.contains(`dark`);return{dark:e?`#ffffff`:`#000000`,light:e?`#1e1e1e`:`#ffffff`}},distributionLevelMap(){let e={};return this.distributionLevels.forEach(t=>{e[t.level]=t}),e}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:M,goPromotionTemplates(){this.$router.push({name:I,query:{template_category:`marketing`}})},goHistory(){this.$router.push({name:A})},goInvitees(){this.$router.push({name:E})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},getPercentageForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-e)/(t-e)*100)},getDeltaForNextLevel(){let e=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(e-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await w.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){let e=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{let t=(await F.create(e))?.data?.data?.url||e;this.distributionLink=k()?t.replace(`surl.id`,`share.acedata.cloud`):t}catch{this.distributionLink=e}},async onFetchDistributionStatus(){let{data:e}=await w.getAll({user_id:this.$store.getters.user.id});e.items&&e.items.length>0&&(this.distributionStatus=e.items[0])},async onFetchDistributionLevels(){let{data:e}=await j.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=e.items},async onFetchInvitees(){let{data:e}=await P.getInvitees({});this.invitees=e.items,this.inviteesCount=e.count}}}),B={class:`title`},V={key:1},H={class:`icon-wrapper`},U={class:`text-left`},W={class:`description`},G={class:`value`},K={key:1},q={class:`icon-wrapper`},J={class:`text-left`},Y={class:`description`},X={class:`value`},te={key:1},Z={class:`icon-wrapper`},Q={class:`text-left`},ne={class:`description`},re={class:`value`},ie={key:1},ae={class:`icon-wrapper`},oe={class:`text-left`},se={class:`description`},ce={class:`value`},le={key:1},ue={class:`title`},de={class:`clear-both overflow-hidden`},fe={class:`float-left description`},pe={class:`float-right description`},me={class:`description`},he={class:`level`},ge={class:`level`},_e={class:`level`},ve={key:1},ye={class:`title`},be={class:`link-wrapper text-center`},$=[`href`],xe={class:`qr-wrapper ml-auto mr-auto`},Se={class:`mt-0`},Ce={class:`description`},we={class:`more`};function Te(u,d,ee,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`el-skeleton`),v=o(`wallet-icon`),y=o(`el-button`),b=o(`el-card`),x=o(`credits-icon`),S=o(`el-tooltip`),C=o(`percent-icon`),w=o(`user-icon`),T=o(`el-progress`),E=o(`el-divider`),D=o(`el-table-column`),O=o(`el-table`);o(`link-icon`);let k=o(`copy-to-clipboard`),A=o(`qr-code`);return l(),s(g,{class:`panel`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(g,null,{default:c(()=>[r(h,{span:24},{default:c(()=>[e(`h2`,B,n(u.$t(`common.title.distribution`)),1)]),_:1})]),_:1}),r(g,{gutter:15},{default:c(()=>[r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,V,[e(`div`,H,[r(v,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,U,[e(`p`,W,n(u.$t(`distribution.title.price`)),1),e(`p`,G,n(u.getPriceString({value:u.distributionStatus?.price})),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goHistory},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,K,[e(`div`,q,[r(x,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,J,[e(`p`,Y,n(u.$t(`distribution.title.reward`)),1),e(`p`,X,n(u.getPriceString({value:u.distributionStatus?.reward})),1)]),r(S,{effect:`dark`,content:u.$t(`distribution.message.developingWithDrawal`),placement:`top`},{default:c(()=>[r(y,{type:`primary`,round:``,size:`small`,class:`btn`},{default:c(()=>[t(n(u.$t(`distribution.button.withdrawal`)),1)]),_:1})]),_:1},8,[`content`])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,te,[e(`div`,Z,[r(C,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,Q,[e(`p`,ne,n(u.$t(`distribution.title.percentage`)),1),e(`p`,re,n(u.distributionStatus?.level?.percentage)+`%`,1)])]))]),_:1})]),_:1}),r(h,{md:6,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`item-mini mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ie,[e(`div`,ae,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,oe,[e(`p`,se,n(u.$t(`distribution.title.inviteesCount`)),1),e(`p`,ce,n(u.inviteesCount),1)]),r(y,{type:`primary`,round:``,size:`small`,class:`btn`,onClick:u.goInvitees},{default:c(()=>[t(n(u.$t(`distribution.button.detail`)),1)]),_:1},8,[`onClick`])]))]),_:1})]),_:1})]),_:1}),u.showOfficialTools?(l(),s(g,{key:0,gutter:15,class:`mb-4`},{default:c(()=>[r(h,{span:24},{default:c(()=>[r(b,{shadow:`never`,class:`automation-card`},{default:c(()=>[e(`div`,null,[e(`h3`,null,n(u.$t(`distribution.title.promotionAutomation`)),1),e(`p`,null,n(u.$t(`distribution.message.promotionAutomation`)),1)]),r(y,{type:`primary`,round:``,onClick:u.goPromotionTemplates},{default:c(()=>[t(n(u.$t(`distribution.button.browseTemplates`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1})):i(``,!0),r(g,{gutter:15},{default:c(()=>[r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`level-info mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,le,[e(`h4`,ue,n(u.$t(`distribution.title.levelInfo`)),1),e(`div`,de,[e(`div`,fe,[e(`p`,null,n(u.$t(`distribution.title.currentLevel`))+`: L`+n(u.distributionStatus?.level?.level),1),e(`p`,null,n(u.$t(`distribution.title.currentPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level]?.percentage)+`% `,1)]),e(`div`,pe,[e(`p`,null,n(u.$t(`distribution.title.nextLevel`))+`: L`+n(u.distributionStatus?.level?.level+1),1),e(`p`,null,n(u.$t(`distribution.title.nextPercentage`))+`: `+n(u.distributionLevelMap[u.distributionStatus?.level?.level+1]?.percentage)+`% `,1)])]),r(T,{"text-inside":!0,"stroke-width":20,percentage:u.getPercentageForNextLevel(),class:`mb-2`},null,8,[`percentage`]),e(`p`,me,n(u.$t(`distribution.message.deltaPriceForNextLevel`))+`: $`+n(u.getDeltaForNextLevel()),1),r(E),u.distributionLevels?(l(),s(O,{key:0,data:u.distributionLevels,stripe:``},{default:c(()=>[r(D,{label:u.$t(`distribution.field.level`)},{default:c(t=>[e(`span`,he,`L`+n(t.row?.level),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.threshold`)},{default:c(t=>[e(`span`,ge,`$`+n(t.row?.threshold),1)]),_:1},8,[`label`]),r(D,{label:u.$t(`distribution.field.percentage`)},{default:c(t=>[e(`span`,_e,n(t.row?.percentage)+`%`,1)]),_:1},8,[`label`])]),_:1},8,[`data`])):i(``,!0)]))]),_:1})]),_:1}),r(h,{md:12,xs:24},{default:c(()=>[r(b,{shadow:`never`,class:`distribution-info mb-4`},{default:c(()=>[u.loading?(l(),s(_,{key:0})):(l(),a(`div`,ve,[e(`h4`,ye,n(u.$t(`distribution.title.distributionLink`)),1),r(E),e(`div`,be,[i(``,!0),e(`a`,{href:u.distributionLink,class:`link`},n(u.distributionLink),9,$),r(k,{content:u.distributionLink},null,8,[`content`])]),e(`div`,xe,[u.distributionLink?(l(),s(A,{key:0,value:u.distributionLink,size:180,margin:2,class:`block mb-2 ml-auto mr-auto`,type:`image/png`,color:u.qrColor},null,8,[`value`,`color`])):i(``,!0),e(`p`,Se,n(u.$t(`distribution.message.distributionQrDescription`)),1)]),e(`p`,Ce,[t(n(u.$t(`distribution.message.distributionLinkDescription`))+` `,1),e(`span`,we,[r(S,{effect:`dark`,content:u.$t(`distribution.message.distributionLinkDescription2`),placement:`top`},{default:c(()=>[t(n(u.$t(`distribution.message.technicalDetail`)),1)]),_:1},8,[`content`])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Ee=T(z,[[`render`,Te],[`__scopeId`,`data-v-55e2e50b`]]);export{Ee as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{Ci as y,Ti as b,wi as x}from"./constants-CtnklZiH.js";import{r as S,t as C}from"./select-BIEToHy0.js";import{n as w,t as T}from"./tabs-D6QUmaEb.js";import{t as E}from"./upload-DLWfBIaW.js";import{t as D}from"./tooltip-D8X1_JQ0.js";import{t as O}from"./alert-U2MaPlJ9.js";import{h as k,v as A}from"./models-GnX-yPYT.js";import{t as j}from"./drawer-B_ClqVDU.js";import{t as M}from"./switch-b8XL4vTV.js";import{t as N}from"./box-CN5ciTIe.js";import{t as P}from"./clock-DwYHySjs.js";import{t as F}from"./hash-ClLzk3VE.js";import{t as I}from"./info-CMwh3z76.js";import{t as L}from"./languages-C7z2vhdg.js";import{a as R,i as ee,n as z,o as B,r as V,t as H}from"./pagination-CxvPjppX.js";import{t as te}from"./trash-2-Df9R5ze4.js";import{t as ne}from"./triangle-alert-B2EmVNqG.js";import{t as re}from"./upload-zkHVgD6Z.js";import{t as U}from"./wand-sparkles-CrB5EcuS.js";import{t as ie}from"./zap-o7e_9SqZ.js";import{Ba as ae,D as W,Fr as G,Ir as K,Ka as q,Lr as J,Rr as oe,T as se,Vi as Y,at as ce,ca as le,ct as ue,ea as de,io as X,lt as fe,ot as pe,pi as me,st as he,tt as ge,ui as _e,wn as ve,zi as Z,zr as ye}from"./index-CDlHbcHK.js";import{t as be}from"./CopyToClipboard-CGoZkeCB.js";import{t as xe}from"./ReportButton-DD0Krf84.js";import{t as Q}from"./ImagePreview-N7AimAQV.js";import{n as Se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ce}from"./ServicePricingSummary-MQWDXCk3.js";import{t as we}from"./VideoPlayer-C8JK0RxK.js";import{t as Te}from"./ScenarioPaymentMode-b7XGLVVp.js";import{t as Ee}from"./ApiCodeButton-DAs3vuCn.js";import{t as De}from"./BotPlaceholder-ypqj2sqi.js";import{t as Oe}from"./taskPollingMixin-CcLxtz8z.js";import{t as ke}from"./ShowcaseResultTabs-CWPHfI3T.js";import{t as Ae}from"./showcaseRecreateMixin-DANjPv7B.js";import{n as je,t as Me}from"./generationInput-BgxXAE1h.js";var Ne=v({name:`LayoutVeo`,components:{MagicIcon:U,ElDrawer:j,ElButton:X},mixins:[Se]}),Pe={class:`main flex flex-row flex-1`},Fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ie={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Re=W(Ne,[[`render`,Le],[`__scopeId`,`data-v-c990ae5b`]]),ze=v({name:`ModelSelector`,components:{ElSelect:S,ElOption:C},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:oe,label:`Veo 3.1 Fast`}]:J},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=b}}),Be={class:`field`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Be,[e(`h2`,Ve,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ue=W(ze,[[`render`,He],[`__scopeId`,`data-v-90ed8cff`]]),We=v({name:`ActionSelector`,components:{ElTabs:w,ElTabPane:T},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(y)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,ye(this.$store.state.veo?.config,e))}}}),Ge={class:`tab-label`},Ke={class:`text`};function qe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Ge,[e(`span`,Ke,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Je=W(We,[[`render`,qe],[`__scopeId`,`data-v-c72fb85c`]]),Ye=v({name:`TranslationSelector`,components:{ElSwitch:M,InfoIcon:R},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`};function tt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var nt=W(Ye,[[`render`,tt]]),rt=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=x}}),it={class:`text-sm font-bold mb-2 block`},at={class:`items`},ot=[`onClick`],st={class:`name`};function ct(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,it,i(t.$t(`veo.name.ratio`)),1),e(`div`,at,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,st,i(r.label),1)],10,ot))),128))])])}var lt=W(rt,[[`render`,ct],[`__scopeId`,`data-v-28c472c4`]]),ut=v({name:`StartEndImage`,components:{UploadIcon:re,ElUpload:E,ElButton:X,InfoIcon:R,ImagePreview:Q},mixins:[fe,ue,pe,ge],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){A.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){A.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),dt={class:`relative`},ft={class:`flex justify-between`},pt={class:`flex justify-start items-center`},mt={class:`text-sm font-bold`};function ht(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,dt,[e(`div`,ft,[e(`div`,pt,[e(`span`,mt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var gt=W(ut,[[`render`,ht],[`__scopeId`,`data-v-a4391199`]]),_t=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function vt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var yt=v({name:`ConfigPanel`,components:{MagicIcon:U,ElButton:X,ServicePricingSummary:Ce,PromptInput:W(_t,[[`render`,vt]]),ModelSelector:Ue,StartEndImage:gt,ActionSelector:Je,TranslationSelector:nt,AspectRatioSelector:lt,ScenarioPaymentMode:Te},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Me(`veo`,G(this.config))},config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ve(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=Y(`veo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=Y(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await K.quote(G(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),bt={class:`flex flex-col h-full`},xt={class:`flex-1 overflow-y-auto p-5`},St={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ct(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,bt,[e(`div`,xt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,St,[a(S,{scenario:`veo`}),t.walletMode?o(``,!0):(g(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var wt=W(yt,[[`render`,Ct]]),Tt=v({name:`TaskPreview`,components:{DeleteIcon:te,ApplicationIcon:N,ChannelIcon:F,ExpandIcon:B,InfoIcon:I,LanguageIcon:L,LightningIcon:ie,MagicIcon:U,TimeIcon:P,WarningIcon:ne,CopyToClipboard:be,ElAlert:O,VideoPlayer:we,ImagePreview:Q,ElTooltip:D,ElButton:X,ApiCodeButton:Ee,ReportButton:xe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await 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(`veo/deleteTask`,{id:e}),A.success(this.$t(`common.message.deleteTaskSuccess`))}catch{A.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Et={class:`preview`},Dt={class:`left`},Ot={class:`main`},kt={class:`bot`},At={class:`datetime`},jt=[`aria-label`],Mt={class:`info`},Nt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Pt={key:1,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0})},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:n({content:!0})},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`warning-icon`),k=l(`info-icon`),A=l(`copy-to-clipboard`),j=l(`el-alert`),M=l(`application-icon`),N=l(`lightning-icon`),P=l(`expand-icon`),F=l(`language-icon`),I=l(`magic-icon`),L=l(`time-icon`),R=l(`channel-icon`);return g(),s(`div`,Et,[e(`div`,Dt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ot,[e(`div`,kt,[a(b,{capability:`veo`,part:`name`}),e(`span`,At,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,jt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Mt,[u.referenceImages.length>0?(g(),s(`div`,Nt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,Pt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,Ft,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,It,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Lt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Rt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,zt,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`]),a(D,{service:`veo`,"target-id":u.modelValue?.id,snapshot:{prompt:u.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Bt,[a(j,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(A,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,Vt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Ht,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,Ut,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Gt,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,Kt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(A,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,qt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Jt,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(A,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Xt=v({name:`RecentPanel`,components:{TaskPreview:W(Tt,[[`render`,Yt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:V,BotPlaceholder:De,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},Qt={key:2,class:`w-full h-full flex items-center justify-center`};function $t(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Zt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Qt,[a(v)])):o(``,!0)],64)}var en=v({name:`VeoIndex`,components:{ConfigPanel:wt,Layout:Re,RecentPanel:W(Xt,[[`render`,$t]]),ShowcaseResultTabs:ke},mixins:[he,Ae(`veo`),Oe(`veo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===k.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===k.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`veo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.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 H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=G(this.config),t=je(`veo`,e);if(t){A.error(this.$t(`common.message.${t}`));return}if(!ce(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){A.warning(this.$t(`veo.message.imageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){A.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=K.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!le())return;let t=this.credential?.token;if(!t)return;n=K.generate(e,{token:t})}A.info(this.$t(`veo.message.startingTask`)),de(`veo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),A.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{e instanceof _e||se(e,`veo`)||(this.walletMode?A.error(this.$t(`common.x402Scenario.paymentFailed`)):A.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return 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 tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`veo`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var nn=W(en,[[`render`,tn]]);export{nn as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as ee,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,j as c,mt as l,tt as u,z as d}from"./vendor-chart-Dw-P17PN.js";import{ct as f,dt as p,ft as m,lt as te,st as h,ut as g}from"./constants-CtnklZiH.js";import{t as _}from"./download-zfHO8wex.js";import{t as v}from"./info-CMwh3z76.js";import{t as y}from"./back-navigation-Cgq-yo6U.js";import{D as b,Ha as x,Ua as S,V as C,i as w,io as T,l as E,n as D,o as O,r as k,v as A}from"./index-CDlHbcHK.js";import{t as j}from"./index.es-DrA84j7j.js";var M=d({name:`DownloadIndex`,components:{MetaTag:x,StatusBadge:S,BackNavigation:y,DownloadIcon:_,ElButton:T,InfoIcon:v,QrCode:C,FontAwesomeIcon:j},data(){return{faAndroid:D,faApple:k,faChrome:w,faEdge:O,faGooglePlay:E,faWindows:A}},computed:{brandTitle(){return this.$store.state.site?.title||`AceData`},brandLogo(){return this.$store.state.site?.logo||`/assets/logo-CDy94G52.png`},androidDownloadUrl(){return g},hasAndroidDownload(){return!!g},playStoreUrl(){return p},hasPlayStore(){return!!p},appStoreUrl(){return m},hasAppStore(){return!!m},extensionDownloadUrl(){return h},extensionGuideUrl(){return f},iosDownloadUrl(){return``},iosFallbackUrl(){return``},hasIosDownload(){return!1},hasIos(){return this.hasAppStore||this.hasIosDownload},desktopReleasesUrl(){return te}},methods:{goBack(){window.history.length>1?this.$router.back():this.$router.push(`/`)},openSupport(){window.open(`https://platform.acedata.cloud/support`,`_blank`)}}}),N={class:`download-page`},P={class:`download-page__inner`},F={class:`hero`},I={class:`hero__brand`},L=[`src`,`alt`],R={class:`hero__eyebrow`},z={class:`hero__title`},B={class:`hero__subtitle`},V={class:`hero__badges`},H={class:`hero__actions`},U={class:`platforms`},W={class:`platform platform--extension`},G={class:`platform__head`},K={class:`platform__os`},q={class:`platform__os-icons`},J={class:`platform__title`},Y={class:`platform__text`},X={class:`platform__foot platform__foot--extension`},Z={class:`btn-icons`},Q={class:`platform platform--android`},ne={class:`platform__head`},re={class:`platform__os`},ie={class:`platform__title`},ae={class:`platform__text`},oe={key:0,class:`qr`},se={class:`qr__hint`},ce={class:`platform__foot platform__foot--stack`},le={key:0,class:`platform__fallback`},ue={class:`platform__meta`},de={class:`platform__meta`},fe={class:`platform platform--ios`},pe={class:`platform__head`},me={class:`platform__os`},he={class:`platform__title`},ge={class:`platform__text`},_e={key:0,class:`qr`},ve={class:`qr__hint`},ye={key:1,class:`platform__foot platform__foot--stack`},be={class:`btn-row`},xe={class:`platform__meta`},Se={class:`ios-soon`},Ce={class:`ios-soon__text`},we={class:`platform__foot platform__foot--stack`},Te={class:`platform platform--windows`},Ee={class:`platform__head`},De={class:`platform__os`},Oe={class:`platform__title`},ke={class:`platform__text`},Ae={class:`platform__foot platform__foot--stack`},je={class:`platform platform--mac`},Me={class:`platform__head`},Ne={class:`platform__os`},Pe={class:`platform__title`},Fe={class:`platform__text`},Ie={class:`platform__foot platform__foot--stack`},Le={class:`advantages`},Re={class:`advantage`},ze={class:`advantage__title`},Be={class:`advantage__text`},Ve={class:`advantage`},$={class:`advantage__title`},He={class:`advantage__text`},Ue={class:`advantage`},We={class:`advantage__title`},Ge={class:`advantage__text`},Ke={key:0,class:`note`},qe={class:`note__text`},Je={class:`note`},Ye={class:`note__text`};function Xe(d,f,p,m,te,h){let g=s(`back-navigation`),_=s(`status-badge`),v=s(`meta-tag`),y=s(`font-awesome-icon`),b=s(`el-button`),x=s(`qr-code`),S=s(`download-icon`),C=s(`info-icon`);return u(),a(`div`,N,[f[12]||=e(`div`,{class:`download-page__glow`,"aria-hidden":`true`},null,-1),e(`div`,P,[r(g,{class:`download-back`,onClick:d.goBack},{default:l(()=>[t(n(d.$t(`common.button.goBack`)),1)]),_:1},8,[`onClick`]),e(`header`,F,[e(`span`,I,[e(`img`,{src:d.brandLogo,alt:d.brandTitle,class:`hero__logo`},null,8,L)]),e(`p`,R,n(d.brandTitle)+` · `+n(d.$t(`common.nav.mobileApp`)),1),e(`h1`,z,n(d.$t(`common.title.mobileApp`)),1),e(`p`,B,n(d.$t(`common.message.mobileAppDescription`)),1),e(`div`,V,[r(_,{tone:`success`},{default:l(()=>[t(n(d.$t(`common.message.mobileAvailableNow`)),1)]),_:1}),r(v,null,{default:l(()=>[t(n(d.$t(`common.message.mobileSharedAccount`)),1)]),_:1})]),e(`div`,H,[d.hasPlayStore?(u(),c(b,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:d.playStoreUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):d.hasAndroidDownload?(u(),c(b,{key:1,type:`primary`,round:``,size:`large`,tag:`a`,href:d.androidDownloadUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faAndroid,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`])):i(``,!0),d.hasAppStore?(u(),c(b,{key:2,round:``,size:`large`,tag:`a`,href:d.appStoreUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faApple,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):i(``,!0),r(b,{round:``,size:`large`,class:`btn-ghost`,onClick:d.openSupport},{default:l(()=>[t(n(d.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])]),e(`section`,U,[e(`article`,W,[e(`div`,G,[e(`span`,K,[e(`span`,q,[r(y,{icon:d.faChrome,class:`platform__os-icon`},null,8,[`icon`]),r(y,{icon:d.faEdge,class:`platform__os-icon`},null,8,[`icon`])]),f[0]||=t(` Chrome & Edge `,-1)]),r(_,{tone:`success`},{default:l(()=>[t(n(d.$t(`common.message.extensionAvailableNow`)),1)]),_:1})]),e(`h2`,J,n(d.$t(`common.button.downloadBrowserExtension`)),1),e(`p`,Y,n(d.$t(`common.message.extensionHint`)),1),e(`div`,X,[r(b,{type:`primary`,round:``,size:`large`,tag:`a`,href:d.extensionDownloadUrl,target:`_blank`},{default:l(()=>[e(`span`,Z,[r(y,{icon:d.faChrome},null,8,[`icon`]),r(y,{icon:d.faEdge},null,8,[`icon`])]),t(` `+n(d.$t(`common.button.downloadBrowserExtension`)),1)]),_:1},8,[`href`]),r(b,{round:``,tag:`a`,href:d.extensionGuideUrl,target:`_blank`,class:`btn-ghost`},{default:l(()=>[t(n(d.$t(`common.button.viewExtensionGuide`)),1)]),_:1},8,[`href`])])]),e(`article`,Q,[e(`div`,ne,[e(`span`,re,[r(y,{icon:d.faAndroid,class:`platform__os-icon`},null,8,[`icon`]),f[1]||=t(` Android `,-1)]),r(_,{tone:`success`},{default:l(()=>[t(n(d.$t(`common.message.mobileAvailableNow`)),1)]),_:1})]),e(`h2`,ie,n(d.$t(`common.button.downloadAndroid`)),1),e(`p`,ae,n(d.$t(`common.message.mobileAndroidHint`)),1),d.hasPlayStore||d.hasAndroidDownload?(u(),a(`div`,oe,[r(x,{value:d.hasPlayStore?d.playStoreUrl:d.androidDownloadUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,se,n(d.hasPlayStore?d.$t(`common.message.mobilePlayStoreHint`):d.$t(`common.message.mobileSecureDelivery`)),1)])):i(``,!0),e(`div`,ce,[d.hasPlayStore?(u(),c(b,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:d.playStoreUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):i(``,!0),d.hasAndroidDownload?(u(),a(o,{key:1},[d.hasPlayStore?(u(),a(`div`,le,[r(b,{round:``,tag:`a`,href:d.androidDownloadUrl,target:`_blank`,class:`btn-ghost`},{default:l(()=>[r(S,{class:`btn-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(d.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,ue,n(d.$t(`common.message.mobileApkFallback`)),1)])):(u(),a(o,{key:1},[r(b,{type:`primary`,round:``,size:`large`,tag:`a`,href:d.androidDownloadUrl,target:`_blank`},{default:l(()=>[r(S,{class:`btn-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(d.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,de,n(d.$t(`common.message.mobileDirectInstall`)),1)],64))],64)):i(``,!0)])]),e(`article`,fe,[e(`div`,pe,[e(`span`,me,[r(y,{icon:d.faApple,class:`platform__os-icon`},null,8,[`icon`]),f[2]||=t(` iOS `,-1)]),r(_,{tone:d.hasIos?`success`:`warning`},{default:l(()=>[t(n(d.hasIos?d.$t(`common.message.mobileNowOnAppStore`):d.$t(`common.message.mobileComingSoon`)),1)]),_:1},8,[`tone`])]),e(`h2`,he,n(d.$t(`common.button.downloadIos`)),1),e(`p`,ge,n(d.hasIos?d.$t(`common.message.mobileIosHint`):d.$t(`common.message.mobileIosPending`)),1),d.hasAppStore?(u(),a(`div`,_e,[r(x,{value:d.appStoreUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,ve,n(d.$t(`common.message.mobileAppStoreHint`)),1)])):i(``,!0),d.hasIos?(u(),a(`div`,ye,[d.hasAppStore?(u(),c(b,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:d.appStoreUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faApple,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):i(``,!0),d.hasIosDownload?(u(),a(o,{key:1},[e(`div`,be,[r(b,{type:d.hasAppStore?`default`:`primary`,round:``,size:d.hasAppStore?`default`:`large`,class:ee({"btn-ghost":d.hasAppStore}),tag:`a`,href:d.iosDownloadUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faApple,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.installIos`)),1)]),_:1},8,[`type`,`size`,`class`,`href`]),r(b,{round:``,size:`large`,class:`btn-ghost`,tag:`a`,href:d.iosFallbackUrl,target:`_blank`},{default:l(()=>[t(n(d.$t(`common.button.downloadIos`)),1)]),_:1},8,[`href`])]),e(`span`,xe,n(d.$t(`common.message.mobileInstallNote`)),1)],64)):i(``,!0)])):(u(),a(o,{key:2},[e(`div`,Se,[r(y,{icon:d.faApple,class:`ios-soon__icon`},null,8,[`icon`]),e(`p`,Ce,n(d.$t(`common.message.mobileComingSoon`)),1)]),e(`div`,we,[r(b,{round:``,size:`large`,class:`btn-ghost`,onClick:d.openSupport},{default:l(()=>[t(n(d.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])],64))]),e(`article`,Te,[e(`div`,Ee,[e(`span`,De,[r(y,{icon:d.faWindows,class:`platform__os-icon`},null,8,[`icon`]),f[3]||=t(` Windows `,-1)]),r(_,{tone:`info`},{default:l(()=>[...f[4]||=[t(`Beta`,-1)]]),_:1})]),e(`h2`,Oe,n(d.$t(`common.button.downloadWindows`)),1),e(`p`,ke,n(d.$t(`common.message.desktopWindowsHint`)),1),e(`div`,Ae,[r(b,{type:`primary`,round:``,size:`large`,tag:`a`,href:d.desktopReleasesUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faWindows,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.downloadWindows`)),1)]),_:1},8,[`href`]),f[5]||=e(`span`,{class:`platform__meta`},`Beta`,-1)])]),e(`article`,je,[e(`div`,Me,[e(`span`,Ne,[r(y,{icon:d.faApple,class:`platform__os-icon`},null,8,[`icon`]),f[6]||=t(` macOS `,-1)]),r(_,{tone:`info`},{default:l(()=>[...f[7]||=[t(`Beta`,-1)]]),_:1})]),e(`h2`,Pe,n(d.$t(`common.button.downloadMac`)),1),e(`p`,Fe,n(d.$t(`common.message.desktopMacHint`)),1),e(`div`,Ie,[r(b,{type:`primary`,round:``,size:`large`,tag:`a`,href:d.desktopReleasesUrl,target:`_blank`},{default:l(()=>[r(y,{icon:d.faApple,class:`btn-icon`},null,8,[`icon`]),t(` `+n(d.$t(`common.button.downloadMac`)),1)]),_:1},8,[`href`]),f[8]||=e(`span`,{class:`platform__meta`},`Beta · Apple Silicon & Intel`,-1)])])]),e(`section`,Le,[e(`article`,Re,[f[9]||=e(`span`,{class:`advantage__num`},`01`,-1),e(`h3`,ze,n(d.$t(`common.title.mobileFastAccess`)),1),e(`p`,Be,n(d.$t(`common.message.mobileFastAccess`)),1)]),e(`article`,Ve,[f[10]||=e(`span`,{class:`advantage__num`},`02`,-1),e(`h3`,$,n(d.$t(`common.title.mobileTrustedRelease`)),1),e(`p`,He,n(d.$t(`common.message.mobileTrustedRelease`)),1)]),e(`article`,Ue,[f[11]||=e(`span`,{class:`advantage__num`},`03`,-1),e(`h3`,We,n(d.$t(`common.title.mobileUnifiedExperience`)),1),e(`p`,Ge,n(d.$t(`common.message.mobileUnifiedExperience`)),1)])]),d.hasIosDownload?(u(),a(`aside`,Ke,[r(C,{class:`note__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,qe,n(d.$t(`common.message.mobileInstallNote`)),1)])):i(``,!0),e(`aside`,Je,[r(C,{class:`note__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Ye,n(d.$t(`common.message.desktopUnsignedNote`)),1)])])])}var Ze=b(M,[[`render`,Xe],[`__scopeId`,`data-v-85f37d17`]]);export{Ze as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,qt as f,rt as p,tt as m,z as h}from"./vendor-chart-Dw-P17PN.js";import{r as g,t as _}from"./select-BIEToHy0.js";import{t as v}from"./upload-DLWfBIaW.js";import{t as y}from"./tooltip-D8X1_JQ0.js";import{t as b}from"./alert-U2MaPlJ9.js";import{h as x,v as S}from"./models-GnX-yPYT.js";import{t as C}from"./progress-vPfXSKo6.js";import{t as w}from"./clock-DwYHySjs.js";import{t as T}from"./hash-ClLzk3VE.js";import{t as E}from"./info-CMwh3z76.js";import{a as D,i as O,n as k,r as A,t as ee}from"./pagination-CxvPjppX.js";import{t as te}from"./trash-2-Df9R5ze4.js";import{t as j}from"./triangle-alert-B2EmVNqG.js";import{t as M}from"./upload-zkHVgD6Z.js";import{t as N}from"./wand-sparkles-CrB5EcuS.js";import{Ba as ne,D as P,Ka as F,T as re,Vi as I,Wa as L,_r as R,at as z,ca as B,ct as V,ea as H,fo as U,io as W,lt as G,ot as K,pi as q,st as J,tt as Y,ui as X,vr as Z,wn as ie,zi as Q}from"./index-CDlHbcHK.js";import{t as ae}from"./CopyToClipboard-CGoZkeCB.js";import{t as oe}from"./ReportButton-DD0Krf84.js";import{t as se}from"./ImagePreview-N7AimAQV.js";import{t as ce}from"./ServicePricingSummary-MQWDXCk3.js";import{t as le}from"./AudioPreview-COGcUij-.js";import{t as ue}from"./VideoPlayer-C8JK0RxK.js";import{t as de}from"./ScenarioPaymentMode-b7XGLVVp.js";import{t as fe}from"./BotPlaceholder-ypqj2sqi.js";import{t as pe}from"./taskPollingMixin-CcLxtz8z.js";import{t as me}from"./Hailuo-CY1LXLo5.js";var he=h({name:`MinimaxFieldTitle`,components:{InfoIcon:D},props:{title:{type:String,required:!0},description:{type:String,required:!0},inline:{type:Boolean,default:!1}}}),ge={class:`m-0 text-[14px] font-bold`};function _e(t,r,o,c,u,d){let f=l(`info-icon`);return m(),s(`div`,{class:n([`flex min-h-8 items-center`,{"mb-[10px]":!t.inline}])},[e(`h2`,ge,i(t.title),1),a(f,{content:t.description},null,8,[`content`])],2)}var ve=P(he,[[`render`,_e]]),ye=h({name:`MinimaxReferenceMediaInput`,components:{AudioPreview:le,CloseIcon:L,ElButton:W,ElProgress:C,ElUpload:v,ImagePreview:se,InfoIcon:D,UploadIcon:M},mixins:[G,V,K,Y],props:{modelValue:{type:Array,default:()=>[]},kind:{type:String,required:!0},title:{type:String,required:!0},description:{type:String,required:!0},limit:{type:Number,required:!0}},emits:[`update:modelValue`],data(){return{fileList:[],uploadUrl:ne()+`/api/v1/files/`}},computed:{accept(){return this.kind===`image`?`.png,.jpg,.jpeg,.gif,.bmp,.webp,image/*`:`.mp3,.wav,.m4a,.aac,.ogg,.flac,audio/*`},pasteAccept(){return this.accept},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}}},watch:{modelValue:{immediate:!0,handler(e){let t=this.fileList.filter(e=>!this.uploadedUrl(e)),n=e.map(e=>this.fileList.find(t=>this.uploadedUrl(t)===e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}});this.fileList=[...n,...t]}}},methods:{uploadedUrl(e){return e.response?.file_url},onChange(e){!e.url&&e.raw&&(e.url=URL.createObjectURL(e.raw))},onError(){S.error(this.$t(`minimax.message.uploadError`))},onExceed(){S.warning(this.$t(`minimax.message.${this.kind}Limit`))},onSuccess(e,t){e?.file_url&&(t.url?.startsWith(`blob:`)&&URL.revokeObjectURL(t.url),t.url=e.file_url,t.response=e),this.emitUrls()},removeFile(e,t){this.fileList.splice(e,1),t.url?.startsWith(`blob:`)&&URL.revokeObjectURL(t.url),this.emitUrls()},emitUrls(){this.$emit(`update:modelValue`,this.fileList.map(e=>this.uploadedUrl(e)).filter(e=>!!e))}}}),be={class:`mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},xe={class:`flex min-w-0 items-center`},Se={class:`m-0 text-[14px] font-bold`},Ce={key:0,class:`flex flex-wrap gap-[10px]`},we=[`aria-label`,`onClick`];function Te(t,n,f,h,g,_){let v=l(`info-icon`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`),C=l(`audio-preview`),w=l(`el-progress`),T=l(`close-icon`);return m(),s(`div`,null,[e(`div`,be,[e(`div`,xe,[e(`h2`,Se,i(t.title),1),a(v,{content:t.description},null,8,[`content`])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,class:`shrink-0`,accept:t.accept,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,headers:t.headers,"on-change":t.onChange,"on-error":t.onError,"on-exceed":t.onExceed,"on-success":t.onSuccess},{default:d(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:d(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`minimax.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`limit`,`before-upload`,`action`,`headers`,`on-change`,`on-error`,`on-exceed`,`on-success`])]),t.fileList.length?(m(),s(`div`,Ce,[(m(!0),s(c,null,p(t.fileList,(n,r)=>(m(),s(`div`,{key:n.uid||t.uploadedUrl(n)||r,class:`relative`},[t.kind===`image`?(m(),u(S,{key:0,url:n.url||t.uploadedUrl(n),name:n.name,percentage:n.percentage,onRemove:e=>t.removeFile(r,n)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(m(),s(c,{key:1},[t.uploadedUrl(n)?(m(),u(C,{key:0,url:t.uploadedUrl(n),name:n.name},null,8,[`url`,`name`])):(m(),u(w,{key:1,type:`circle`,percentage:n.percentage||0,width:50,"stroke-width":3},null,8,[`percentage`])),e(`button`,{type:`button`,class:`remove-button`,"aria-label":t.$t(`common.button.delete`),onClick:e=>t.removeFile(r,n)},[a(T,{size:`0.75em`,"aria-hidden":`true`,focusable:`false`})],8,we)],64))]))),128))])):o(``,!0)])}var Ee=P(ye,[[`render`,Te],[`__scopeId`,`data-v-155379bf`]]),De=e=>{if(!e.content.some(e=>e.type===`text`&&e.text.trim()))return`promptRequired`;if(e.content.filter(e=>e.type===`image_url`).length>9)return`imageLimit`;if(e.content.filter(e=>e.type===`audio_url`).length>3)return`audioLimit`;if(!e.content.some(e=>e.type!==`text`)&&e.ratio===`adaptive`)return`textRatioRequired`},Oe=h({name:`MinimaxConfigPanel`,components:{MagicIcon:N,ServicePricingSummary:ce,ElButton:W,ElInput:U,ElOption:_,ElSelect:g,FieldTitle:ve,PromptTextarea:O,ReferenceMediaInput:Ee,ScenarioPaymentMode:de},emits:[`generate`],data(){return{form:{prompt:``,imageUrls:[],audioUrls:[],resolution:`2K`,ratio:`16:9`,duration:4},resolutions:[`768P`,`2K`],ratios:[{value:`adaptive`,width:`21px`,height:`21px`},{value:`21:9`,width:`28px`,height:`12px`},{value:`16:9`,width:`25px`,height:`13px`},{value:`4:3`,width:`22px`,height:`17px`},{value:`1:1`,width:`19px`,height:`19px`},{value:`3:4`,width:`17px`,height:`22px`},{value:`9:16`,width:`13px`,height:`25px`}],durations:Array.from({length:12},(e,t)=>t+4),quoteTimer:0,quoteRunId:0}},computed:{config(){let e=[],t=this.form.prompt.trim();t&&e.push({type:`text`,text:t});let n=this.form.imageUrls.length>1||this.form.audioUrls.length>0;return this.form.imageUrls.forEach(t=>{e.push({type:`image_url`,image_url:{url:t},role:n?`reference_image`:`first_frame`})}),this.form.audioUrls.forEach(t=>{e.push({type:`audio_url`,audio_url:{url:t},role:`reference_audio`})}),{model:`MiniMax-H3`,content:e,resolution:this.form.resolution,ratio:this.form.imageUrls.length===1&&!this.form.audioUrls.length?`adaptive`:this.form.ratio,duration:this.form.duration}},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.minimax?.service},walletMode(){return Q()&&I(`minimax`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(e){this.$store.commit(`minimax/setConfig`,e),this.walletMode&&this.scheduleQuote()},deep:!0,immediate:!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=I(`minimax`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Z.quote(R(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(){let e=De(this.config);if(e){S.warning(this.$t(`minimax.message.${e}`));return}this.$emit(`generate`)}}}),ke={class:`flex flex-col h-full`},Ae={class:`flex-1 overflow-y-auto p-5`},je={class:`mb-4`},Me={class:`mb-4`},Ne={class:`option-grid`},Pe=[`aria-pressed`,`onClick`],Fe={class:`mb-4`},Ie={class:`ratio-options`},Le=[`aria-pressed`,`onClick`],Re={class:`ratio-preview`},ze={class:`setting-row mb-4`},Be={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ve(t,h,g,_,v,y){let b=l(`field-title`),x=l(`el-input`),S=l(`prompt-textarea`),C=l(`reference-media-input`),w=l(`el-option`),T=l(`el-select`),E=l(`scenario-payment-mode`),D=l(`service-pricing-summary`),O=l(`magic-icon`),k=l(`el-button`);return m(),s(`div`,ke,[e(`div`,Ae,[e(`div`,je,[a(b,{title:t.$t(`minimax.name.model`),description:t.$t(`minimax.description.model`)},null,8,[`title`,`description`]),a(x,{"model-value":`MiniMax-H3`,disabled:``})]),a(S,{modelValue:t.form.prompt,"onUpdate:modelValue":h[0]||=e=>t.form.prompt=e,class:`mb-4`,title:t.$t(`minimax.name.prompt`),info:t.$t(`minimax.description.prompt`),placeholder:t.$t(`minimax.placeholder.prompt`),"min-rows":4},null,8,[`modelValue`,`title`,`info`,`placeholder`]),a(C,{modelValue:t.form.imageUrls,"onUpdate:modelValue":h[1]||=e=>t.form.imageUrls=e,class:`mb-4`,kind:`image`,title:t.$t(`minimax.name.referenceImages`),description:t.$t(`minimax.description.referenceImages`),limit:9},null,8,[`modelValue`,`title`,`description`]),a(C,{modelValue:t.form.audioUrls,"onUpdate:modelValue":h[2]||=e=>t.form.audioUrls=e,class:`mb-4`,kind:`audio`,title:t.$t(`minimax.name.referenceAudios`),description:t.$t(`minimax.description.referenceAudios`),limit:3},null,8,[`modelValue`,`title`,`description`]),e(`div`,Me,[a(b,{title:t.$t(`minimax.name.resolution`),description:t.$t(`minimax.description.resolution`)},null,8,[`title`,`description`]),e(`div`,Ne,[(m(!0),s(c,null,p(t.resolutions,e=>(m(),s(`button`,{key:e,type:`button`,class:n([`option-button`,{active:t.form.resolution===e}]),"aria-pressed":t.form.resolution===e,onClick:n=>t.form.resolution=e},i(e),11,Pe))),128))])]),e(`div`,Fe,[a(b,{title:t.$t(`minimax.name.ratio`),description:t.$t(`minimax.description.ratio`)},null,8,[`title`,`description`]),e(`div`,Ie,[(m(!0),s(c,null,p(t.ratios,r=>(m(),s(`button`,{key:r.value,type:`button`,class:n([`ratio-button`,{active:t.form.ratio===r.value}]),"aria-pressed":t.form.ratio===r.value,onClick:e=>t.form.ratio=r.value},[e(`span`,Re,[e(`span`,{style:f({width:r.width,height:r.height}),"aria-hidden":`true`},null,4)]),e(`span`,null,i(r.value),1)],10,Le))),128))])]),e(`div`,ze,[a(b,{inline:``,title:t.$t(`minimax.name.duration`),description:t.$t(`minimax.description.duration`)},null,8,[`title`,`description`]),a(T,{modelValue:t.form.duration,"onUpdate:modelValue":h[3]||=e=>t.form.duration=e,class:`setting-value`},{default:d(()=>[(m(!0),s(c,null,p(t.durations,e=>(m(),u(w,{key:e,label:`${e}s`,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])])]),e(`div`,Be,[a(E,{scenario:`minimax`}),t.walletMode?o(``,!0):(m(),u(D,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(k,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(O,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`minimax.button.generate`)),1)]),_:1},8,[`onClick`])])])}var He=P(Oe,[[`render`,Ve],[`__scopeId`,`data-v-c5d213da`]]),Ue=h({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:T,InfoIcon:E,MagicIcon:N,TimeIcon:w,WarningIcon:j,CopyToClipboard:ae,ElAlert:b,VideoPlayer:ue,ElTooltip:y,ElButton:W,ReportButton:oe},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){return this.modelValue?.status===`failed`||this.modelValue?.status===`cancelled`},isWaiting(){return this.modelValue?.status===`queued`||this.modelValue?.status===`running`},application(){return this.$store.state.minimax?.application},config(){return this.$store.state.minimax?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await F.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(`minimax/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download minimax video`,e),window.open(e,`_blank`)}}}),We={class:`preview`},Ge={class:`left`},Ke={class:`main`},qe={class:`bot`},Je={class:`datetime`},Ye=[`aria-label`],Xe={key:0,class:n({content:!0,failed:!0})},Ze={key:0,class:`mb-4`},Qe={key:1,class:n({operations:!0,"mt-2":!0})},$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-2`},tt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={key:2,class:n({content:!0})},it={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function at(n,c,f,p,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`report-button`),C=l(`channel-icon`),w=l(`copy-to-clipboard`),T=l(`magic-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`time-icon`);return m(),s(`div`,We,[e(`div`,Ge,[a(_,{capability:`minimax`,part:`avatar`,class:`avatar`})]),e(`div`,Ke,[e(`div`,qe,[a(_,{capability:`minimax`,part:`name`}),e(`span`,Je,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?(m(),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,Ye)):o(``,!0)]),_:1},8,[`content`])]),c[2]||=e(`div`,{class:`info`},null,-1),n.modelValue?.status===`succeeded`?(m(),s(`div`,Xe,[n.modelValue?.content?.url?(m(),s(`div`,Ze,[a(b,{src:n.modelValue.content.url},null,8,[`src`])])):o(``,!0),n.modelValue?.content?.url?(m(),s(`div`,Qe,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`minimax.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.modelValue?.content?.url?(m(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue.content.url),[`stop`])},{default:d(()=>[r(i(n.$t(`minimax.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{service:`minimax`,"target-id":n.modelValue?.id,snapshot:{model:n.modelValue?.model,task_id:n.modelValue?.id}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.model?(m(),s(`p`,$e,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.model`))+`: `+i(n.modelValue?.model)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,et,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isFailure?(m(),s(`div`,tt,[a(E,{closable:!1,class:`failure`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.failure`)),1)]),default:d(()=>[e(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,nt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.failureReason`))+`: `+i(n.modelValue?.error?.message)+` `,1),a(w,{content:n.modelValue?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(m(),s(`div`,rt,[a(E,{closable:!1,class:`info`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.status===`queued`?`minimax.status.pending`:`minimax.status.processing`)),1)]),default:d(()=>[e(`p`,it,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`minimax.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var ot=h({name:`RecentPanel`,components:{TaskPreview:P(Ue,[[`render`,at],[`__scopeId`,`data-v-2f8bed02`]]),BotPlaceholder:fe,NoTasks:A,ScrollList:k},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.minimax?.tasks,items:this.$store.state.minimax?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),st={key:0},ct={key:2,class:`w-full h-full flex items-center justify-center`};function lt(e,t,n,r,i,f){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return m(),s(c,null,[e.tasks?.items===void 0?(m(),s(`div`,st,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(m(),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(()=>[(m(!0),s(c,null,p(e.tasks?.items,e=>(m(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(m(),s(`div`,ct,[a(v)])):o(``,!0)],64)}var ut=h({name:`MinimaxIndex`,components:{ConfigPanel:He,Layout:me,RecentPanel:P(ot,[[`render`,lt]])},mixins:[J,pe(`minimax`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.minimax?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.minimax?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.minimax.credential},config(){return this.$store.state.minimax.config},application(){return this.$store.state.minimax.application},tasks(){return this.$store.state.minimax.tasks},walletMode(){return Q()&&I(`minimax`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`minimax/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(`minimax/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`minimax/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(`minimax/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e=R(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){S.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Z.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!B())return;let n=this.credential?.token;if(!n)return;t=Z.generate(e,{token:n})}S.info(this.$t(`minimax.message.startingTask`)),H(`minimax`,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(`minimax.message.startTaskSuccess`))}).catch(e=>{e instanceof X||re(e,`minimax`)||(this.walletMode?S.error(this.$t(`common.x402Scenario.paymentFailed`)):S.error(this.$t(`minimax.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return q(this.$wallet)},async confirmWalletPayment(e){return F.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 dt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return m(),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 ft=P(ut,[[`render`,dt]]);export{ft as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-C2FJHM0d.js";import{t as b}from"./upload-DZVFna-K.js";import{t as x}from"./tooltip-B7b9ZTXG.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-Dt5TUDSt.js";import{t as T}from"./drawer-_SimYt6R.js";import{t as E}from"./input-number-CP6VR6wd.js";import{t as D}from"./slider-CTiMX-b2.js";import{t as O}from"./clock-CeXzuE-o.js";import{t as k}from"./hash-BJ9pTQTf.js";import{t as A}from"./info-REIlbr1G.js";import{a as j,i as ee,n as M,r as N,t as P}from"./pagination-D4Aw0nAJ.js";import{t as F}from"./trash-2-Dp6pN4YF.js";import{t as I}from"./triangle-alert-aAUKg4xX.js";import{t as te}from"./upload-CfXm8YH5.js";import{t as L}from"./wand-sparkles-CJqcxreS.js";import{Ar as ne,Mr as re,jr as R}from"./constants-B6THNcD6.js";import{Ba as z,D as B,Sr as V,T as H,Vi as U,Wa as W,at as G,ca as K,ct as q,ea as J,io as Y,lt as X,ot as ie,pi as ae,st as oe,tt as se,ui as ce,wn as le,xr as Z,zi as Q}from"./index-Chthn5u1.js";import{t as ue}from"./CopyToClipboard-F9OE3T2Z.js";import{t as de}from"./ReportButton-BwV2O0dI.js";import{t as fe}from"./ImagePreview--p_JZ0xr.js";import{n as pe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as me}from"./ServicePricingSummary-DWEWD8YN.js";import{t as he}from"./ScenarioPaymentMode-CWJ4pSfI.js";import{t as ge}from"./ApiCodeButton-BmGL7WLb.js";import{t as _e}from"./BotPlaceholder-9ABplrW2.js";import{t as ve}from"./taskPollingMixin-CcLxtz8z.js";import{n as ye,t as be}from"./generationInput-fG9Q4MrW.js";import{t as xe}from"./ImageWrapper-DHJSHW-H.js";var Se=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:Y},mixins:[pe]}),Ce={class:`main flex flex-row flex-1`},we={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Te={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ce,[e(`div`,we,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Te,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var De=B(Se,[[`render`,Ee],[`__scopeId`,`data-v-4cd4d561`]]),Oe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=re}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ke,[e(`h2`,Ae,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=B(Oe,[[`render`,je],[`__scopeId`,`data-v-e9b17945`]]),Ne=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:j,ElInputNumber:E},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`},Le={class:`flex justify-end items-center`},Re={class:`w-full`};function ze(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Le,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Re,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Be=B(Ne,[[`render`,ze]]),Ve=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=R}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=B(Ve,[[`render`,We],[`__scopeId`,`data-v-81fd05e5`]]),Ke=_({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:b,ElButton:Y,InfoIcon:j,ImagePreview:fe},mixins:[X,q,ie,se],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9830e0c3`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=B($e,[[`render`,et]]),nt=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ne}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),rt={class:`field`},it={class:`title font-bold`};function at(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,rt,[e(`h2`,it,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ot=B(nt,[[`render`,at],[`__scopeId`,`data-v-8c58dc91`]]),st=350,ct=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:Y,PromptInput:tt,ModelSelector:Me,CountSelector:Be,ServicePricingSummary:me,ActionSelector:Ge,ImageUrlInput:Qe,SizeSelector:ot,ScenarioPaymentMode:he},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return be(`flux`,Z(this.config))},config(){return this.$store.state.flux?.config},consumption(){return le(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return Q()&&U(`flux`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=U(`flux`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,st))},async refreshQuote(){if(!this.canGenerate)return;let e=U(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await V.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,lt,[e(`div`,ut,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,dt,[a(S,{scenario:`flux`}),t.walletMode?o(``,!0):(h(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var pt=B(ct,[[`render`,ft]]),mt=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:k,InfoIcon:A,MagicIcon:L,TimeIcon:O,WarningIcon:I,CopyToClipboard:ue,ElAlert:S,ImageWrapper:xe,ApiCodeButton:ge,ReportButton:de},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await W.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:0,class:n({content:!0,failed:!0})},Tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Et={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:1,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Pt={key:2,class:n({content:!0})},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,ht,[e(`div`,gt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(y,{capability:`flux`,part:`name`}),e(`span`,yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(h(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ct,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,wt,[e(`div`,Tt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,Et,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Dt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Ot,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,At,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,jt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Mt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Nt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,Pt,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Lt=_({name:`RecentPanel`,components:{TaskPreview:B(mt,[[`render`,It],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:_e,NoTasks:N,ScrollList:M},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=_({name:`FluxIndex`,components:{ConfigPanel:pt,Layout:De,RecentPanel:B(Lt,[[`render`,Bt]])},mixins:[oe,ve(`flux`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks},walletMode(){return Q()&&U(`flux`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`flux/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Z(this.config),t=ye(`flux`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!G(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=V.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!K())return;let t=this.credential?.token;if(!t)return;n=V.generate(e,{token:t})}w.info(this.$t(`flux.message.startingTask`)),J(`flux`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{if(e instanceof ce)return;let t=e?.response?.data;H(e,`flux`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return W.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=B(Vt,[[`render`,Ht]]);export{Ut as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{Ar as v,Mr as y,jr as b}from"./constants-CtnklZiH.js";import{r as x,t as S}from"./select-BIEToHy0.js";import{t as C}from"./upload-DLWfBIaW.js";import{t as w}from"./tooltip-D8X1_JQ0.js";import{t as T}from"./alert-U2MaPlJ9.js";import{h as E,v as D}from"./models-GnX-yPYT.js";import{t as O}from"./drawer-B_ClqVDU.js";import{t as k}from"./input-number-Bsoo6DxA.js";import{t as A}from"./slider-eNEzlQdE.js";import{t as j}from"./clock-DwYHySjs.js";import{t as M}from"./hash-ClLzk3VE.js";import{t as ee}from"./info-CMwh3z76.js";import{a as N,i as P,n as F,r as I,t as L}from"./pagination-CxvPjppX.js";import{t as te}from"./trash-2-Df9R5ze4.js";import{t as ne}from"./triangle-alert-B2EmVNqG.js";import{t as re}from"./upload-zkHVgD6Z.js";import{t as R}from"./wand-sparkles-CrB5EcuS.js";import{Ba as z,D as B,Ka as V,Sr as H,T as U,Vi as W,at as G,ca as K,ct as q,ea as J,io as Y,lt as X,ot as ie,pi as ae,st as oe,tt as se,ui as ce,wn as le,xr as Z,zi as Q}from"./index-CDlHbcHK.js";import{t as ue}from"./CopyToClipboard-CGoZkeCB.js";import{t as de}from"./ReportButton-DD0Krf84.js";import{t as fe}from"./ImagePreview-N7AimAQV.js";import{n as pe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as me}from"./ServicePricingSummary-MQWDXCk3.js";import{t as he}from"./ScenarioPaymentMode-b7XGLVVp.js";import{t as ge}from"./ApiCodeButton-DAs3vuCn.js";import{t as _e}from"./BotPlaceholder-ypqj2sqi.js";import{t as ve}from"./taskPollingMixin-CcLxtz8z.js";import{n as ye,t as be}from"./generationInput-BgxXAE1h.js";import{t as xe}from"./ImageWrapper-CTZZ0lAI.js";var Se=_({name:`LayoutFlux`,components:{MagicIcon:R,ElDrawer:O,ElButton:Y},mixins:[pe]}),Ce={class:`main flex flex-row flex-1`},we={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Te={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ce,[e(`div`,we,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Te,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var De=B(Se,[[`render`,Ee],[`__scopeId`,`data-v-4cd4d561`]]),Oe=_({name:`ModelSelector`,components:{ElSelect:x,ElOption:S},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=y}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ke,[e(`h2`,Ae,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=B(Oe,[[`render`,je],[`__scopeId`,`data-v-e9b17945`]]),Ne=_({name:`CountSelector`,components:{ElSlider:A,InfoIcon:N,ElInputNumber:k},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`},Le={class:`flex justify-end items-center`},Re={class:`w-full`};function ze(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Le,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Re,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Be=B(Ne,[[`render`,ze]]),Ve=_({name:`ActionSelector`,components:{ElSelect:x,ElOption:S},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=b}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=B(Ve,[[`render`,We],[`__scopeId`,`data-v-81fd05e5`]]),Ke=_({name:`ImageUrlInput`,components:{UploadIcon:re,ElUpload:C,ElButton:Y,InfoIcon:N,ImagePreview:fe},mixins:[X,q,ie,se],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){D.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){D.error(this.$t(`flux.message.uploadStartImageError`))}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9830e0c3`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:P},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=B($e,[[`render`,et]]),nt=_({name:`SizeSelector`,components:{ElSelect:x,ElOption:S},data(){return{options:v}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),rt={class:`field`},it={class:`title font-bold`};function at(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,rt,[e(`h2`,it,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ot=B(nt,[[`render`,at],[`__scopeId`,`data-v-8c58dc91`]]),st=350,ct=_({name:`PresetPanel`,components:{MagicIcon:R,ElButton:Y,PromptInput:tt,ModelSelector:Me,CountSelector:Be,ServicePricingSummary:me,ActionSelector:Ge,ImageUrlInput:Qe,SizeSelector:ot,ScenarioPaymentMode:he},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return be(`flux`,Z(this.config))},config(){return this.$store.state.flux?.config},consumption(){return le(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return Q()&&W(`flux`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=W(`flux`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,st))},async refreshQuote(){if(!this.canGenerate)return;let e=W(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await H.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,lt,[e(`div`,ut,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,dt,[a(S,{scenario:`flux`}),t.walletMode?o(``,!0):(h(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var pt=B(ct,[[`render`,ft]]),mt=_({name:`TaskPreview`,components:{DeleteIcon:te,ElTooltip:w,ChannelIcon:M,InfoIcon:ee,MagicIcon:R,TimeIcon:j,WarningIcon:ne,CopyToClipboard:ue,ElAlert:T,ImageWrapper:xe,ApiCodeButton:ge,ReportButton:de},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await V.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),D.success(this.$t(`common.message.deleteTaskSuccess`))}catch{D.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:0,class:n({content:!0,failed:!0})},Tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Et={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},At={key:1,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Pt={key:2,class:n({content:!0})},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,ht,[e(`div`,gt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(y,{capability:`flux`,part:`name`}),e(`span`,yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(h(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ct,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,wt,[e(`div`,Tt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,Et,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Dt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Ot,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,At,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,jt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Mt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Nt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,Pt,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Lt=_({name:`RecentPanel`,components:{TaskPreview:B(mt,[[`render`,It],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:_e,NoTasks:I,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=_({name:`FluxIndex`,components:{ConfigPanel:pt,Layout:De,RecentPanel:B(Lt,[[`render`,Bt]])},mixins:[oe,ve(`flux`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===E.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks},walletMode(){return Q()&&W(`flux`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`flux/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await L({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Z(this.config),t=ye(`flux`,e);if(t){D.error(this.$t(`common.message.${t}`));return}if(!G(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){D.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=H.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!K())return;let t=this.credential?.token;if(!t)return;n=H.generate(e,{token:t})}D.info(this.$t(`flux.message.startingTask`)),J(`flux`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),D.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{if(e instanceof ce)return;let t=e?.response?.data;U(e,`flux`)||(this.walletMode?D.error(this.$t(`common.x402Scenario.paymentFailed`)):D.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return V.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=B(Vt,[[`render`,Ht]]);export{Ut as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{_i as y,bi as b,gi as x,hi as S,mi as C,pi as w,vi as T,xi as E}from"./constants-CtnklZiH.js";import{r as D,t as O}from"./select-BIEToHy0.js";import{t as k}from"./upload-DLWfBIaW.js";import{t as A}from"./tooltip-D8X1_JQ0.js";import{t as j}from"./alert-U2MaPlJ9.js";import{h as M,v as N}from"./models-GnX-yPYT.js";import{t as P}from"./drawer-B_ClqVDU.js";import{t as F}from"./clock-DwYHySjs.js";import{t as I}from"./hash-ClLzk3VE.js";import{t as L}from"./info-CMwh3z76.js";import{a as R,i as ee,n as te,r as ne,t as re}from"./pagination-CxvPjppX.js";import{t as z}from"./trash-2-Df9R5ze4.js";import{t as B}from"./triangle-alert-B2EmVNqG.js";import{t as V}from"./upload-zkHVgD6Z.js";import{t as H}from"./wand-sparkles-CrB5EcuS.js";import{Ba as U,D as W,Ka as G,Nr as K,Pr as q,T as J,Vi as Y,at as X,ca as ie,ct as ae,ea as oe,io as Z,lt as se,ot as ce,pi as le,st as ue,tt as de,ui as fe,wn as pe,zi as Q}from"./index-CDlHbcHK.js";import{t as me}from"./CopyToClipboard-CGoZkeCB.js";import{t as he}from"./ReportButton-DD0Krf84.js";import{t as ge}from"./ImagePreview-N7AimAQV.js";import{n as _e}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ve}from"./ServicePricingSummary-MQWDXCk3.js";import{t as ye}from"./VideoPlayer-C8JK0RxK.js";import{t as be}from"./ScenarioPaymentMode-b7XGLVVp.js";import{t as xe}from"./ApiCodeButton-DAs3vuCn.js";import{t as Se}from"./BotPlaceholder-ypqj2sqi.js";import{n as Ce,t as we}from"./generationInput-BgxXAE1h.js";var Te=v({name:`LayoutSora`,components:{MagicIcon:H,ElDrawer:P,ElButton:Z},mixins:[_e]}),Ee={class:`main flex flex-row flex-1`},De={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)]`},Oe={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ke(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Ee,[e(`div`,De,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Oe,[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 Ae=W(Te,[[`render`,ke],[`__scopeId`,`data-v-9432bca3`]]),je=v({name:`ModelSelector`,components:{ElSelect:D,ElOption:O},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:E,label:`sora-2`},{value:b,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=w[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=x}}),Me={class:`field`},Ne={class:`title font-bold`};function Pe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Me,[e(`h2`,Ne,i(t.$t(`sora.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=W(je,[[`render`,Pe],[`__scopeId`,`data-v-0cb7913d`]]),Ie=v({name:`ActionSelector`,components:{ElSelect:D,ElOption:O},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=S}}),Le={class:`field`},Re={class:`title font-bold`},ze={class:`float-left`};function Be(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Le,[e(`h2`,Re,i(t.$t(`sora.name.action`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`),clearable:``},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(m,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ze,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=W(Ie,[[`render`,Be],[`__scopeId`,`data-v-7b82fa7f`]]),He=v({name:`DurationSelector`,components:{ElSelect:D,ElOption:O},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return w[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ue={class:`field`},We={class:`control`},Ge={class:`title font-bold`};function Ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ue,[e(`div`,We,[e(`h2`,Ge,i(t.$t(`sora.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.optionsForModel,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var qe=W(He,[[`render`,Ke],[`__scopeId`,`data-v-c2934598`]]),Je=v({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=y}}),Ye={class:`text-sm font-bold mb-2 block`},Xe={class:`items`},Ze=[`onClick`],Qe={class:`name`};function $e(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Ye,i(t.$t(`sora.name.orientation`)),1),e(`div`,Xe,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.value])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Qe,i(t.$t(r.labelKey)),1)],10,Ze))),128))])])}var et=W(Je,[[`render`,$e],[`__scopeId`,`data-v-a20be6d9`]]),tt=v({name:`StartEndImage`,components:{UploadIcon:V,ElUpload:k,ElButton:Z,InfoIcon:R,ImagePreview:ge},mixins:[se,ae,ce,de],emits:[`change`],data(){return{fileList:[],uploadUrl:U()+`/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?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){N.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){N.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),nt={class:`relative`},rt={class:`flex justify-between`},it={class:`flex justify-start items-center`},at={class:`text-sm font-bold`};function ot(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,nt,[e(`div`,rt,[e(`div`,it,[e(`span`,at,i(t.$t(`sora.name.startEndImage`)),1),a(h,{content:t.$t(`sora.description.uploadStartEndImage`)},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:2,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?(g(),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(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var st=W(tt,[[`render`,ot],[`__scopeId`,`data-v-01b87539`]]),ct=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),lt=v({name:`SizeSelector`,components:{ElSelect:D,ElOption:O},data(){return{options:C.map(e=>({value:e,label:ct(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=T}}),ut={class:`field`},dt={class:`control`},ft={class:`title font-bold`};function pt(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,ut,[e(`div`,dt,[e(`h2`,ft,i(t.$t(`sora.name.size`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var mt=W(lt,[[`render`,pt],[`__scopeId`,`data-v-8c485f0f`]]),ht=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function gt(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(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var _t=v({name:`ConfigPanel`,components:{MagicIcon:H,ElButton:Z,ServicePricingSummary:ve,PromptInput:W(ht,[[`render`,gt]]),ModelSelector:Fe,StartEndImage:st,SizeSelector:mt,ActionSelector:Ve,OrientationSelector:et,DurationSelector:qe,ScenarioPaymentMode:be},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return we(`sora`,K(this.config))},config(){return this.$store.state.sora?.config},consumption(){return pe(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service},walletMode(){return Q()&&Y(`sora`).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=Y(`sora`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=Y(`sora`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await q.quote(K(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`)}}}),vt={class:`flex flex-col h-full`},yt={class:`flex-1 overflow-y-auto p-5`},bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function xt(t,n,c,d,m,h){let v=l(`model-selector`),y=l(`action-selector`),b=l(`duration-selector`),x=l(`size-selector`),S=l(`orientation-selector`),C=l(`prompt-input`),w=l(`start-end-image`),T=l(`scenario-payment-mode`),E=l(`service-pricing-summary`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,vt,[e(`div`,yt,[a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),u(a(w,{class:`mb-4`},null,512),[[_,t.config?.action===`image2video`]])]),e(`div`,bt,[a(T,{scenario:`sora`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`sora.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var St=W(_t,[[`render`,xt]]),Ct=v({name:`TaskPreview`,components:{DeleteIcon:z,ChannelIcon:I,InfoIcon:L,MagicIcon:H,TimeIcon:F,WarningIcon:B,CopyToClipboard:me,ElAlert:j,VideoPlayer:ye,ElTooltip:A,ElButton:Z,ApiCodeButton:xe,ReportButton:he},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.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(`sora/deleteTask`,{id:e}),N.success(this.$t(`common.message.deleteTaskSuccess`))}catch{N.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),wt={class:`preview`},Tt={class:`left`},Et={class:`main`},Dt={class:`bot`},Ot={class:`datetime`},kt=[`aria-label`],At={class:`info`},jt={key:0,class:`prompt mt-2`},Mt={key:0},Nt={key:1},Pt={key:0,class:n({content:!0,failed:!0})},Ft={key:0,class:`mb-4`},It={key:1,class:n({operations:!0,"mt-2":!0})},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:2,class:n({content:!0})},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function qt(n,c,u,d,m,h){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(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,wt,[e(`div`,Tt,[a(_,{capability:`sora`,part:`avatar`,class:`avatar`})]),e(`div`,Et,[e(`div`,Dt,[a(_,{capability:`sora`,part:`name`}),e(`span`,Ot,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: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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,kt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,At,[n.modelValue?.request?.prompt?(g(),s(`p`,jt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Mt,` - (`+i(n.$t(`sora.status.pending`))+`) `,1)),n.modelValue?.response&&n.modelValue?.response?.success===void 0?(g(),s(`span`,Nt,` - (`+i(n.$t(`sora.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Pt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Ft,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,It,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`sora.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/sora/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`sora`,"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:p(()=>[e(`p`,Lt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Rt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,zt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,Bt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Vt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Ut,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(g(),s(`div`,Wt,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`sora.status.processing`:`sora.status.pending`)),1)]),default:p(()=>[e(`p`,Gt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Kt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Jt=v({name:`RecentPanel`,components:{TaskPreview:W(Ct,[[`render`,qt],[`__scopeId`,`data-v-808e51ba`]]),NoTasks:ne,BotPlaceholder:Se,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Yt={key:0},Xt={key:2,class:`w-full h-full flex items-center justify-center`};function Zt(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`,Yt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Xt,[a(v)])):o(``,!0)],64)}var Qt=v({name:`SoraIndex`,components:{ConfigPanel:St,Layout:Ae,RecentPanel:W(Jt,[[`render`,Zt]])},mixins:[ue],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks},walletMode(){return Q()&&Y(`sora`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`sora/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await re({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(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/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(`sora/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=K(this.config),t=Ce(`sora`,e);if(t){N.error(this.$t(`common.message.${t}`));return}if(!X(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){N.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=q.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ie())return;let t=this.credential?.token;if(!t)return;n=q.generate(e,{token:t})}N.info(this.$t(`sora.message.startingTask`)),oe(`sora`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),N.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{e instanceof fe||J(e,`sora`)||(this.walletMode?N.error(this.$t(`common.x402Scenario.paymentFailed`)):N.error(this.$t(`sora.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return le(this.$wallet)},async confirmWalletPayment(e){return G.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 $t(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var en=W(Qt,[[`render`,$t]]);export{en as default};