@acedatacloud/nexior 3.228.0 → 3.229.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 (233) hide show
  1. package/dist/assets/{ApiCodeButton-dD8o0Cnu.js → ApiCodeButton-zU186ws1.js} +1 -1
  2. package/dist/assets/{Auth-BwrwiMD2.js → Auth-CI5eia6Z.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-Bue2f9Kq.js → BotPlaceholder-rghyc6_y.js} +1 -1
  4. package/dist/assets/{Callback-D67ABUBB.js → Callback-BrC3Zk24.js} +1 -1
  5. package/dist/assets/{Console-B51B7n--.js → Console-DSvQYFTE.js} +1 -1
  6. package/dist/assets/{Consumption-7qH37pE9.js → Consumption-wlHZ47xl.js} +1 -1
  7. package/dist/assets/{Conversation-D_M3FHdS.js → Conversation-DYE4KML3.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-wxqTxzCB.js → CopyToClipboard-D1WTdwXG.js} +1 -1
  9. package/dist/assets/{Detail-D_c8gBNc.js → Detail-DhweMNM3.js} +2 -2
  10. package/dist/assets/{Extra-CWFXym3Z.js → Extra-BhVKnC6u.js} +1 -1
  11. package/dist/assets/{FilePreview-TstwU9At.js → FilePreview-BEnoiHqw.js} +1 -1
  12. package/dist/assets/{Hailuo-Cj9eGMio.js → Hailuo-CpJPi7rG.js} +1 -1
  13. package/dist/assets/{History-BKDNunN_.js → History-68ss2ayM.js} +1 -1
  14. package/dist/assets/{ImagePreview-DXG-cniF.js → ImagePreview-Ygx1awOz.js} +1 -1
  15. package/dist/assets/{ImageWrapper-PjSkDo1l.js → ImageWrapper-Cqql7v8c.js} +1 -1
  16. package/dist/assets/{Index-CU76SubV.js → Index--xoAYY92.js} +1 -1
  17. package/dist/assets/{Index-C0RYRxnh.js → Index-B-RNvnVw.js} +1 -1
  18. package/dist/assets/{Index-DkgSrHWX.js → Index-B2YW2TKf.js} +1 -1
  19. package/dist/assets/{Index-1tI3zWev.js → Index-BGbO-MB6.js} +1 -1
  20. package/dist/assets/{Index-C8x0kf2s.js → Index-BMa7DvF8.js} +1 -1
  21. package/dist/assets/{Index-DcBVNSiz.js → Index-BPBw-B3U.js} +1 -1
  22. package/dist/assets/{Index-BTMBneAm.js → Index-BPuhuYD3.js} +1 -1
  23. package/dist/assets/{Index-B5hfIBsq.js → Index-BbcR-OGQ.js} +1 -1
  24. package/dist/assets/{Index-C7EzqETO.js → Index-BbjklyR8.js} +1 -1
  25. package/dist/assets/{Index-D-_XdBhJ.js → Index-Bn3tqGkG.js} +1 -1
  26. package/dist/assets/{Index-e6tN_tHu.js → Index-BuSQLDJk.js} +1 -1
  27. package/dist/assets/{Index-BKTaRwqW.js → Index-C-7LSXGr.js} +1 -1
  28. package/dist/assets/{Index-CuZuL7tS.js → Index-CR4fmNEA.js} +1 -1
  29. package/dist/assets/{Index-Bgev-nTv.js → Index-CnbUUFbp.js} +1 -1
  30. package/dist/assets/{Index-Dh6H7BrW.js → Index-CwMY3m35.js} +1 -1
  31. package/dist/assets/{Index-BNygbMrQ.js → Index-D5HoxpZJ.js} +1 -1
  32. package/dist/assets/{Index-BBh-4ejN.js → Index-D7XmmIVq.js} +1 -1
  33. package/dist/assets/{Index-BNleEvch.js → Index-DItwcH-X.js} +1 -1
  34. package/dist/assets/{Index-vNT6LOvE.js → Index-DKtkj2Kt.js} +1 -1
  35. package/dist/assets/{Index-CqA4KSJb.js → Index-DSv47sNk.js} +1 -1
  36. package/dist/assets/{Index-B2tIwprH.js → Index-DbwdU2BB.js} +1 -1
  37. package/dist/assets/{Index-BbjMo7Lv.js → Index-_cGtQWPr.js} +1 -1
  38. package/dist/assets/{Index-BFSpRo34.js → Index-rBbV5mx6.js} +1 -1
  39. package/dist/assets/{Index-CvbEok64.js → Index-u6wm5UgU.js} +1 -1
  40. package/dist/assets/{Index-09p_zVGh.js → Index-wwUEXAbE.js} +1 -1
  41. package/dist/assets/{Invitees-BcwmI73y.js → Invitees-BlhsaizB.js} +1 -1
  42. package/dist/assets/{List-D6sqz5Mj.js → List-A8Qeqo2N.js} +1 -1
  43. package/dist/assets/{List-DGsk0Kff.js → List-DoCVZy7q.js} +1 -1
  44. package/dist/assets/{List-Dty5jDYs.js → List-sMb7PSci.js} +1 -1
  45. package/dist/assets/{Main-Dl9-2APx.js → Main-C1LT_ANH.js} +1 -1
  46. package/dist/assets/{Model-B1R0LXht.js → Model-C4wK7uHw.js} +1 -1
  47. package/dist/assets/{Navigator-BelaGn-K.js → Navigator-0FFMsKTJ.js} +2 -2
  48. package/dist/assets/{Navigator-DQ9Vs28R.css → Navigator-D3NVndVJ.css} +1 -1
  49. package/dist/assets/{NoTasks-DHYh2L_b.js → NoTasks-CLH1KttF.js} +1 -1
  50. package/dist/assets/{NotFound-g8Pwbtz8.js → NotFound-D0g8XBFJ.js} +1 -1
  51. package/dist/assets/{Pagination-CHlB8q3U.js → Pagination-DnLLs0VP.js} +1 -1
  52. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-CvNCeJRd.js → Player.vue_vue_type_script_setup_true_lang-CgniiRds.js} +1 -1
  53. package/dist/assets/{Status-C2fT2DDm.js → Status-BlgPVokN.js} +1 -1
  54. package/dist/assets/{Subscribe-BsxDWOK4.js → Subscribe-CW4_OcS8.js} +1 -1
  55. package/dist/assets/{TabSwitcher-D29jda70.js → TabSwitcher-BvrxODBC.js} +1 -1
  56. package/dist/assets/{Tts-C2sPzdZZ.js → Tts-C_GrOyZ3.js} +1 -1
  57. package/dist/assets/{VideoPlayer-C1kby6jb.js → VideoPlayer-yfnNJISZ.js} +1 -1
  58. package/dist/assets/{_Uint8Array-C9GurXZS.js → _Uint8Array-M65RAKAu.js} +1 -1
  59. package/dist/assets/{_baseClone-CQPgJfCg.js → _baseClone-DAEDX7Gi.js} +1 -1
  60. package/dist/assets/{_baseIteratee-DRD8Id2G.js → _baseIteratee-CAA1aFDV.js} +1 -1
  61. package/dist/assets/{_initCloneObject-DwJv9kbk.js → _initCloneObject-DnowziV3.js} +1 -1
  62. package/dist/assets/{add-DWssFSaU.js → add-U-vC7egU.js} +1 -1
  63. package/dist/assets/{all-wallets-C0HS1H15.js → all-wallets-C_RKI4CO.js} +1 -1
  64. package/dist/assets/{app-store-WJfy0_xx.js → app-store-Dd08Xnt3.js} +1 -1
  65. package/dist/assets/{apple-QFWVf_b5.js → apple-CArwam_k.js} +1 -1
  66. package/dist/assets/{arrow-bottom-93u8J8Ci.js → arrow-bottom-C-xReodu.js} +1 -1
  67. package/dist/assets/{arrow-bottom-circle-DW-qJMdY.js → arrow-bottom-circle-GTP4l2Rb.js} +1 -1
  68. package/dist/assets/{arrow-left-CNcU_JU4.js → arrow-left-Dh564Ogf.js} +1 -1
  69. package/dist/assets/{arrow-right-DR-2TsoR.js → arrow-right-XfaUDEw-.js} +1 -1
  70. package/dist/assets/{arrow-top-DZLgcbmu.js → arrow-top-DDhsNPgu.js} +1 -1
  71. package/dist/assets/{avatar-BngSAaDG.js → avatar-D4pDGbr0.js} +1 -1
  72. package/dist/assets/{bank-C7LeyK-L.js → bank-HUF_b52D.js} +1 -1
  73. package/dist/assets/{basic-UqRXPOJZ.js → basic-l5OOsslm.js} +1 -1
  74. package/dist/assets/{browser-B1gi0_iw.js → browser-k_Zylsxz.js} +1 -1
  75. package/dist/assets/{byokCredential-BlooSx3J.js → byokCredential-CllmkGHI.js} +1 -1
  76. package/dist/assets/{card-Dcb5jEXq.js → card-DkhOQiyo.js} +1 -1
  77. package/dist/assets/{castArray-DFDDfxIX.js → castArray-DMbKoGon.js} +1 -1
  78. package/dist/assets/{chat-CVAmxetZ.js → chat-aTY7_sfC.js} +1 -1
  79. package/dist/assets/{checkmark-BG_O072w.js → checkmark-BjOHyDBc.js} +1 -1
  80. package/dist/assets/{checkmark-bold-DsPXyPz5.js → checkmark-bold-DqmPb-kS.js} +1 -1
  81. package/dist/assets/{chevron-bottom-DMWTNlQ9.js → chevron-bottom-BvPSo6cK.js} +1 -1
  82. package/dist/assets/{chevron-left-VrQW4sYZ.js → chevron-left-SNO4e2VI.js} +1 -1
  83. package/dist/assets/{chevron-right-D2aicsk0.js → chevron-right-BKWuykyW.js} +1 -1
  84. package/dist/assets/{chevron-top-BwNxsMW4.js → chevron-top-Da6Qus7s.js} +1 -1
  85. package/dist/assets/{chrome-store-CTVUJuI6.js → chrome-store-B7pNmWEp.js} +1 -1
  86. package/dist/assets/{clock-CAi02QKx.js → clock-C43IQwNH.js} +1 -1
  87. package/dist/assets/{close-BfWyUXzL.js → close-BbHSJ-tK.js} +1 -1
  88. package/dist/assets/{coinPlaceholder-CAk59Ly_.js → coinPlaceholder-BdnW8uEY.js} +1 -1
  89. package/dist/assets/{compass-DcGtqsvC.js → compass-C1qldTCW.js} +1 -1
  90. package/dist/assets/{copy-Dk4Z2S0m.js → copy-CEfhPr9Q.js} +1 -1
  91. package/dist/assets/{createTaskActions-DUWJSitV.js → createTaskActions-Br68A_Rk.js} +1 -1
  92. package/dist/assets/{cursor-B2UIa_AY.js → cursor-aQkk8pHR.js} +1 -1
  93. package/dist/assets/{cursor-transparent-BNMJOnE0.js → cursor-transparent-CTvEINiz.js} +1 -1
  94. package/dist/assets/{debounce-p4kYWNVH.js → debounce-DfnRy0fp.js} +1 -1
  95. package/dist/assets/{desktop-B6Tsrbt7.js → desktop-Cph8xDo2.js} +1 -1
  96. package/dist/assets/{disconnect-D9nlxRME.js → disconnect-G_9UuRik.js} +1 -1
  97. package/dist/assets/{discord-BDvQvzVd.js → discord-Bo08vRQr.js} +1 -1
  98. package/dist/assets/{distribution-BqI3pSHr.js → distribution-DV_rG_v5.js} +1 -1
  99. package/dist/assets/{dropdown-C2KkkC_s.js → dropdown-OagxRxY9.js} +1 -1
  100. package/dist/assets/{etherscan-GMFqDVEl.js → etherscan-Ba87Ug4q.js} +1 -1
  101. package/dist/assets/{exclamation-triangle-2_xTLIKv.js → exclamation-triangle-BH7SCBif.js} +1 -1
  102. package/dist/assets/{extension-D3UobEit.js → extension-Ck2b-7SN.js} +1 -1
  103. package/dist/assets/{external-link-CNu9_cCr.js → external-link-CErRnhYB.js} +1 -1
  104. package/dist/assets/{facebook-Bq0BzPNP.js → facebook-Bn7hZYR9.js} +1 -1
  105. package/dist/assets/{farcaster-DgnqXJ7M.js → farcaster-ChRVMUgn.js} +1 -1
  106. package/dist/assets/{filters-cbdMd5Rs.js → filters-_JAPrkVu.js} +1 -1
  107. package/dist/assets/{github-X2qxlIQI.js → github-EShG19vn.js} +1 -1
  108. package/dist/assets/{google-CwtPZjUn.js → google-2yt0MQ1Y.js} +1 -1
  109. package/dist/assets/{help-circle-B9Iy3WoI.js → help-circle-BL1nBbNo.js} +1 -1
  110. package/dist/assets/{highlight-BKO0nM6d.js → highlight-CuDf01Sr.js} +1 -1
  111. package/dist/assets/{id-4rv-8xHQ.js → id-BuVufWfN.js} +1 -1
  112. package/dist/assets/{image-CdVNJkm8.js → image-BlNM6A-G.js} +1 -1
  113. package/dist/assets/{index-s7RXppbp.js → index-3s1O4ZIj.js} +1 -1
  114. package/dist/assets/{index-DkmVyT7W.js → index-4OZZZJYU.js} +1 -1
  115. package/dist/assets/{index-BcB_-lzn.js → index-7e8Ju5As.js} +1 -1
  116. package/dist/assets/{index-BzHvsm7i.js → index-ANMk-t33.js} +1 -1
  117. package/dist/assets/{index-ZPlTL2pP.js → index-B-2wd58x.js} +1 -1
  118. package/dist/assets/{index-BAlxHZjs.js → index-B0746L_w.js} +1 -1
  119. package/dist/assets/{index-DOFsHwj1.js → index-B0HZkEU4.js} +1 -1
  120. package/dist/assets/{index-Bxc4afsE.js → index-B3-BNuca.js} +1 -1
  121. package/dist/assets/{index-ByWnkv1G.js → index-B4a7L2G9.js} +1 -1
  122. package/dist/assets/{index-CKU6Uvvh.js → index-B8fN54Dj.js} +1 -1
  123. package/dist/assets/{index-COqf7aEE.js → index-BBmvEP46.js} +1 -1
  124. package/dist/assets/{index-BbRDX8SV.js → index-BDsHE8iD.js} +1 -1
  125. package/dist/assets/{index-BQeFjr82.js → index-BSd7Q7a3.js} +1 -1
  126. package/dist/assets/{index-VMe2FOtz.js → index-BW-zKIrD.js} +1 -1
  127. package/dist/assets/{index-C4j1dHcE.js → index-BYA5E1R8.js} +1 -1
  128. package/dist/assets/{index-CsHqzWXz.js → index-BYEnTvIN.js} +1 -1
  129. package/dist/assets/{index-DC0neZBN.js → index-BYGQeF-M.js} +1 -1
  130. package/dist/assets/{index-BzOvVoYn.js → index-BYz6eSg4.js} +1 -1
  131. package/dist/assets/{index-61bV5wmY.js → index-BidsTI1w.js} +1 -1
  132. package/dist/assets/{index-BfEq0Clt.js → index-BkI0sSAQ.js} +1 -1
  133. package/dist/assets/{index-CACIu92m.js → index-Bl4Czupm.js} +1 -1
  134. package/dist/assets/{index-DhvHpkEZ.js → index-BmvrBQea.js} +1 -1
  135. package/dist/assets/{index-HZX2BloZ.js → index-C-MamHOC.js} +1 -1
  136. package/dist/assets/{index-CSP1FYs7.js → index-C5x3iJ0a.js} +1 -1
  137. package/dist/assets/{index-B8FmSXVz.js → index-C8ligTDV.js} +1 -1
  138. package/dist/assets/{index-CTtwbbbX.js → index-CAnvFd_-.js} +1 -1
  139. package/dist/assets/{index-Cj1peHLJ.js → index-CAuaYvUb.js} +1 -1
  140. package/dist/assets/{index-5cf0-Kfe.js → index-CNEWhIJO.js} +1 -1
  141. package/dist/assets/{index-1ILjlG8L.js → index-CVrO3TnW.js} +1 -1
  142. package/dist/assets/{index-lf5NiTr1.js → index-CXjZJ45D.js} +1 -1
  143. package/dist/assets/{index-zclFx667.js → index-CgQuHPrE.js} +1 -1
  144. package/dist/assets/{index-BlDrRQ7b.js → index-ChSlX7OV.js} +1 -1
  145. package/dist/assets/{index-7LpFMt7p.js → index-CpHDv5UC.js} +1 -1
  146. package/dist/assets/{index-DY86lbEX.js → index-CseZEXdg.js} +1 -1
  147. package/dist/assets/{index-D9rFyh62.js → index-CwZX0eBU.js} +1 -1
  148. package/dist/assets/{index-CX8UOyJV.js → index-CwdYuXdY.js} +1 -1
  149. package/dist/assets/{index-8xHCAAaC.js → index-CxKXGozu.js} +1 -1
  150. package/dist/assets/{index-CN8ZC3ff.js → index-D0XkMooA.js} +1 -1
  151. package/dist/assets/{index-CvHyK_GJ.js → index-D6CMLqf6.js} +1 -1
  152. package/dist/assets/{index-BQqSBNTv.js → index-DBG88gCu.js} +1 -1
  153. package/dist/assets/{index-D84FynKl.js → index-DEVtx9BR.js} +1 -1
  154. package/dist/assets/{index-CRWC8q75.js → index-DF1SGxEM.js} +1 -1
  155. package/dist/assets/{index-DxWfjb_C.js → index-DGjaBQA5.js} +1 -1
  156. package/dist/assets/{index-DxkK4W6u.js → index-DO_UnUcW.js} +1 -1
  157. package/dist/assets/{index-W_Hg68aN.js → index-DWTzQgDT.js} +1 -1
  158. package/dist/assets/{index-Dc0xaPg1.js → index-DXfL6ETu.js} +1 -1
  159. package/dist/assets/{index-DU7eINNo.js → index-Dd41ra4K.js} +1 -1
  160. package/dist/assets/{index-BfMUOzLd.js → index-Dgwi9rAA.js} +1 -1
  161. package/dist/assets/{index-CIwIUBTQ.js → index-DjIaNaF3.js} +1 -1
  162. package/dist/assets/{index-DGVR6QBZ.js → index-Dr9_GlNf.js} +1 -1
  163. package/dist/assets/{index-D2C2YeG3.js → index-DyXRl6m_.js} +1 -1
  164. package/dist/assets/{index-M0EpmU-A.js → index-DzO7-Jo7.js} +3 -3
  165. package/dist/assets/{index-CM8dx-Mj.js → index-UQmLpFoe.js} +1 -1
  166. package/dist/assets/{index-CHXltq9o.js → index-VlQbd__A.js} +5 -5
  167. package/dist/assets/{index-D3m1f5QC.js → index-WIUuWaZE.js} +1 -1
  168. package/dist/assets/{index-s2VXF4fr.js → index-_RYvPhAB.js} +2 -2
  169. package/dist/assets/{index-83Jk7O74.js → index-_vXiX6mo.js} +1 -1
  170. package/dist/assets/{index-DiSidSvU.js → index-_y9ropld.js} +3 -3
  171. package/dist/assets/{index-BY9FLlvx.js → index-eRfCWvGL.js} +1 -1
  172. package/dist/assets/{index-C0T1mBSZ.js → index-gYUXSfIx.js} +1 -1
  173. package/dist/assets/{index-DlrvZGBU.js → index-weqbVaqW.js} +1 -1
  174. package/dist/assets/{index-DUeLs6nI.js → index-zsIQPBeL.js} +1 -1
  175. package/dist/assets/{index-BC_S-uaw.js → index-zzrv9LKM.js} +1 -1
  176. package/dist/assets/{index.browser.esm-CSmFp8cx.js → index.browser.esm-D1QGbh--.js} +1 -1
  177. package/dist/assets/{index.es-BeLOywfI.js → index.es-CkCzxqX5.js} +1 -1
  178. package/dist/assets/{info-Emy8MnLC.js → info-Bi0dznfs.js} +1 -1
  179. package/dist/assets/{info-circle-BWGrRWAJ.js → info-circle-BMqyq7Dk.js} +1 -1
  180. package/dist/assets/{isEqual-Bit6excc.js → isEqual-B4lY29gT.js} +1 -1
  181. package/dist/assets/{isPlainObject-i9qOcW_m.js → isPlainObject-Lj19ZO1g.js} +1 -1
  182. package/dist/assets/{lightbulb-DXiTEJLI.js → lightbulb-D8RIxdGu.js} +1 -1
  183. package/dist/assets/{mail-tKiXZbke.js → mail-C_TDLvn4.js} +1 -1
  184. package/dist/assets/{midjourney-BeFCkFBO.js → midjourney-BvjMahbY.js} +1 -1
  185. package/dist/assets/{mobile-D8KlJWOt.js → mobile-25ZydWTO.js} +1 -1
  186. package/dist/assets/{more-CylgjYxA.js → more-CKL0lOws.js} +1 -1
  187. package/dist/assets/{network-placeholder-BKMIUjni.js → network-placeholder-Bhcnpotu.js} +1 -1
  188. package/dist/assets/{nftPlaceholder-BY3UyWGE.js → nftPlaceholder-XuPdPl7C.js} +1 -1
  189. package/dist/assets/{off-BewgkoUP.js → off-CzmZtVoV.js} +1 -1
  190. package/dist/assets/{order-BhfcgpUs.js → order-BKmQDRho.js} +1 -1
  191. package/dist/assets/{pagination-BQ6ALt71.js → pagination-DExLd9Ua.js} +1 -1
  192. package/dist/assets/{play-store-Dzs4Q6fw.js → play-store-Cb84YdPa.js} +1 -1
  193. package/dist/assets/{plus-XAaTdIG1.js → plus-BzRQk1Dy.js} +1 -1
  194. package/dist/assets/{price-8kJQGF1-.js → price-ClyIQIYX.js} +1 -1
  195. package/dist/assets/{producer-DY9V7kxq.js → producer-2pgSnVHK.js} +1 -1
  196. package/dist/assets/{qr-code-C29k4CV7.js → qr-code-C6e2fAdH.js} +1 -1
  197. package/dist/assets/{recycle-horizontal-_Dp7OgoM.js → recycle-horizontal-C694eh5s.js} +1 -1
  198. package/dist/assets/{refresh--TQJRJKm.js → refresh-SUVhB4CE.js} +1 -1
  199. package/dist/assets/{reown-logo-Cfs0LwiI.js → reown-logo-DseQSmPk.js} +1 -1
  200. package/dist/assets/{search-Dtx_Olte.js → search-GqPizP4g.js} +1 -1
  201. package/dist/assets/{secp256k1-CGwSterS.js → secp256k1-BYKLAHzZ.js} +1 -1
  202. package/dist/assets/{secp256k1-_OGG1YHV.js → secp256k1-D4QlU0Ig.js} +1 -1
  203. package/dist/assets/{seedream-3G3afkJQ.js → seedream-DC-Bys6d.js} +1 -1
  204. package/dist/assets/{send-DihpKyim.js → send-Cu-E9vQD.js} +1 -1
  205. package/dist/assets/{service-BC0by850.js → service-BWbuO0Pt.js} +1 -1
  206. package/dist/assets/{solana-wallets-DIJFsdGU.js → solana-wallets-C-gu-O55.js} +2 -2
  207. package/dist/assets/{solana-wallets-vue-DkIbko_T.js → solana-wallets-vue-CTmGttIe.js} +1 -1
  208. package/dist/assets/{suno-DR-WSsg0.js → suno-DjyVKJLv.js} +1 -1
  209. package/dist/assets/{swapHorizontal-Dq7uiqBT.js → swapHorizontal-BXobTmJ-.js} +1 -1
  210. package/dist/assets/{swapHorizontalBold-CQMOqjwR.js → swapHorizontalBold-BfAzeiQS.js} +1 -1
  211. package/dist/assets/{swapHorizontalMedium-cH1d4tFE.js → swapHorizontalMedium-JSEBa0eL.js} +1 -1
  212. package/dist/assets/{swapHorizontalRoundedBold-IOdna4Nb.js → swapHorizontalRoundedBold-BOOACova.js} +1 -1
  213. package/dist/assets/{swapVertical-BTMTJiRs.js → swapVertical-D7IPWKBJ.js} +1 -1
  214. package/dist/assets/{telegram-DC6yvqTP.js → telegram-K5wK1_kN.js} +1 -1
  215. package/dist/assets/{three-dots-CIBr4lUY.js → three-dots-VB7Cz1N8.js} +1 -1
  216. package/dist/assets/{twitch-bqNNMZIh.js → twitch-CmaWr0lk.js} +1 -1
  217. package/dist/assets/{twitterIcon-qqEknqCF.js → twitterIcon-TzT4rtpW.js} +1 -1
  218. package/dist/assets/{typescript-BkLdnbkx.js → typescript-BMqxIgFj.js} +1 -1
  219. package/dist/assets/{use-form-item-D7ZQ0uNO.js → use-form-item-_RVfLK5R.js} +1 -1
  220. package/dist/assets/validator-RTfR_ioW.js +1 -0
  221. package/dist/assets/{verify-gYYpdAsG.js → verify-CIO2kPyU.js} +1 -1
  222. package/dist/assets/{verify-filled-BR0zvmlT.js → verify-filled-DUwvxjHD.js} +1 -1
  223. package/dist/assets/{w3m-modal-T3Ec4LGK.js → w3m-modal-CFJhIva6.js} +1 -1
  224. package/dist/assets/{wallet-BsGFJDHN.js → wallet-BhsQWNye.js} +1 -1
  225. package/dist/assets/{wallet-placeholder-DFuQITHq.js → wallet-placeholder-BATXbsrU.js} +1 -1
  226. package/dist/assets/{walletconnect-D7o2TSMZ.js → walletconnect-hg40GqRE.js} +1 -1
  227. package/dist/assets/{warning-circle-WEMxepHP.js → warning-circle-0fkWgu6G.js} +1 -1
  228. package/dist/assets/{web-BKKfoVBE.js → web-DIuIgPgS.js} +1 -1
  229. package/dist/assets/{web-i0_N59k5.js → web-Dlve3o2q.js} +1 -1
  230. package/dist/assets/{x-BdSKlfcx.js → x-BvO8Gmir.js} +1 -1
  231. package/dist/index.html +1 -1
  232. package/package.json +1 -1
  233. package/dist/assets/validator-C6X05_Cn.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-BeLOywfI.js";import{E as D}from"./index-BY9FLlvx.js";import{E as j}from"./index-DGVR6QBZ.js";import{d as v,H as r,E as i,z as P,C as o,y as p,D as s,q as a,F as l,O as E,N as I,x as w,Q as A,R as N,I as _,J as h,G as q,L as H}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as W,aM as Z,S as G,ct as J}from"./index-DiSidSvU.js";import{a as z,b as M,c as V,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-CRWC8q75.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as oe,S as se,l as ae}from"./pagination-BQ6ALt71.js";import{I as ne}from"./ImagePreview-DXG-cniF.js";import{E as le}from"./index-DxWfjb_C.js";import{E as T}from"./index-ByWnkv1G.js";import{C as re}from"./Consumption-7qH37pE9.js";import{P as ie,N as ce}from"./NoTasks-DHYh2L_b.js";import{a as de}from"./price-8kJQGF1-.js";import{b as ue}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-wxqTxzCB.js";import{V as me}from"./VideoPlayer-C1kby6jb.js";import{A as fe}from"./ApiCodeButton-dD8o0Cnu.js";import{E as _e}from"./index-DlrvZGBU.js";import{E as he}from"./index-D3m1f5QC.js";import{E as $e}from"./index-BcB_-lzn.js";import{B as ge}from"./BotPlaceholder-Bue2f9Kq.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-CSP1FYs7.js";import"./typescript-BkLdnbkx.js";import"./index-D84FynKl.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./index-DhvHpkEZ.js";import"./index-ZPlTL2pP.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1ILjlG8L.js";const ve=v({name:"LayoutSora",components:{ElDrawer:j,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,t,m,f,$,g){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",be,[i("div",ke,[P(e.$slots,"config",{},void 0,!0)]),i("div",we,[P(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=b(ve,[["render",ye],["__scopeId","data-v-bbee238c"]]),Ve=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},m=M[e]||[V],f=t.duration,$=f&&m.includes(f)?f:m.includes(V)?V:m[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=z)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ae(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ee,[i("h2",Te,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=b(Ve,[["render",Ae],["__scopeId","data-v-0cb7913d"]]),Ce=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},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||(this.value=X)}}),Le={class:"field"},De={class:"title font-bold"},Re={class:"float-left"};function Oe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",De,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:p(()=>[i("span",Re,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ce,[["render",Oe],["__scopeId","data-v-7b82fa7f"]]),Pe=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||z},allowedDurations(){return M[this.model]||[V]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(V)?V:e[0];this.value=t}}},mounted(){this.value||(this.value=V)}}),Ge={class:"field"},ze={class:"control"},Me={class:"title font-bold"};function Fe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",ze,[i("h2",Me,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Be=b(Pe,[["render",Fe],["__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(){const e=this.options.findIndex(t=>t.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||(this.value=x)}}),Ne={class:"text-sm font-bold mb-2 block"},qe={class:"items"},He=["onClick"],Ke={class:"name"};function We(e,t,m,f,$,g){return a(),r("div",null,[i("span",Ne,l(e.$t("sora.name.orientation")),1),i("div",qe,[(a(!0),r(E,null,I(e.options,(c,d)=>(a(),r("div",{key:d,class:A({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:N({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,He))),128))])])}const Ze=b(je,[["render",We],["__scopeId","data-v-a20be6d9"]]),Je=v({name:"StartEndImage",components:{ElUpload:le,ElButton:D,InfoIcon:oe,FontAwesomeIcon:L,ImagePreview:ne},mixins:[te],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:"relative"},Ye={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,f,$,g){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",Qe,[i("div",Ye,[i("div",Xe,[i("span",xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=u=>e.fileList=u),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:u})=>[u.url&&u.percentage!==void 0?(a(),w(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=b(Je,[["render",et],["__scopeId","data-v-a942382b"]]),ot=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),st=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:ot(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),at={class:"field"},nt={class:"control"},lt={class:"title font-bold"};function rt(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",at,[i("div",nt,[i("h2",lt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const it=b(st,[["render",rt],["__scopeId","data-v-8c485f0f"]]),ct="",dt=v({name:"PromptInput",components:{PromptTextarea:ie},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||(this.prompt=ct)}});function ut(e,t,m,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const pt=b(dt,[["render",ut]]),mt=v({name:"ConfigPanel",components:{ElButton:D,Consumption:re,FontAwesomeIcon:L,PromptInput:pt,ModelSelector:Ie,StartEndImage:tt,SizeSelector:it,ActionSelector:Ue,OrientationSelector:Ze,DurationSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,m,f,$,g){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),u=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",ft,[i("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(u,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),i("div",ht,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=b(mt,[["render",$t]]),vt=v({name:"TaskPreview",components:{ElImage:$e,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:he,VideoPlayer:me,ElTooltip:_e,ElButton:D,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Vt={class:"info"},Et={key:0,class:"prompt mt-2"},Tt={key:0},At={key:1},It={key:0,class:A({content:!0,failed:!0})},Ct={key:0,class:"mb-4"},Lt={key:1,class:A({operations:!0,"mt-2":!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:1,class:A({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:2,class:A({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,m,f,$,g){const c=s("el-image"),d=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),u=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",bt,[i("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",wt,[i("div",yt,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Vt,[e.modelValue?.request?.prompt?(a(),r("p",Et,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",At," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",It,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Ct,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Lt,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Dt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Rt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ot,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Ut,[o(C,{closable:!1,class:"failure"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Pt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Gt,[o(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",zt,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Mt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",Ft,[o(C,{closable:!1,class:"info"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Bt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",jt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const qt=b(vt,[["render",Nt],["__scopeId","data-v-53ad5ede"]]),Ht=v({name:"RecentPanel",components:{TaskPreview:qt,NoTasks:ce,BotPlaceholder:ge,ScrollList:se},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?.()}}}),Kt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,m,f,$,g){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(E,null,[e.tasks?.items===void 0?(a(),r("div",Kt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:p(()=>[(a(!0),r(E,null,I(e.tasks?.items,(S,u)=>(a(),w(d,{key:u,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Wt,[o(k)])):h("",!0)],64)}const Jt=b(Ht,[["render",Zt]]),Qt=J("sora"),Yt=v({name:"SoraIndex",components:{ConfigPanel:gt,Layout:Se,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{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 ae({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();const 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);const{limit:t=5,createdAtMin:m,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),W("sora",Z.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,m,f,$,g){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zo=b(Yt,[["render",Xt]]);export{Zo as default};
1
+ import{F as L}from"./index.es-CkCzxqX5.js";import{E as D}from"./index-eRfCWvGL.js";import{E as j}from"./index-Dr9_GlNf.js";import{d as v,H as r,E as i,z as P,C as o,y as p,D as s,q as a,F as l,O as E,N as I,x as w,Q as A,R as N,I as _,J as h,G as q,L as H}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as W,aM as Z,S as G,ct as J}from"./index-_y9ropld.js";import{a as z,b as M,c as V,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-DF1SGxEM.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as oe,S as se,l as ae}from"./pagination-DExLd9Ua.js";import{I as ne}from"./ImagePreview-Ygx1awOz.js";import{E as le}from"./index-DGjaBQA5.js";import{E as T}from"./index-B4a7L2G9.js";import{C as re}from"./Consumption-wlHZ47xl.js";import{P as ie,N as ce}from"./NoTasks-CLH1KttF.js";import{a as de}from"./price-ClyIQIYX.js";import{b as ue}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-D1WTdwXG.js";import{V as me}from"./VideoPlayer-yfnNJISZ.js";import{A as fe}from"./ApiCodeButton-zU186ws1.js";import{E as _e}from"./index-weqbVaqW.js";import{E as he}from"./index-WIUuWaZE.js";import{E as $e}from"./index-7e8Ju5As.js";import{B as ge}from"./BotPlaceholder-rghyc6_y.js";import"./use-form-item-_RVfLK5R.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-C5x3iJ0a.js";import"./typescript-BMqxIgFj.js";import"./index-DEVtx9BR.js";import"./strings-beZM2Y-f.js";import"./isEqual-B4lY29gT.js";import"./_Uint8Array-M65RAKAu.js";import"./castArray-DMbKoGon.js";import"./index-BmvrBQea.js";import"./index-B-2wd58x.js";import"./debounce-DfnRy0fp.js";import"./_baseIteratee-CAA1aFDV.js";import"./index-4OZZZJYU.js";import"./highlight-CuDf01Sr.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-gYUXSfIx.js";import"./_baseClone-DAEDX7Gi.js";import"./_initCloneObject-DnowziV3.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CVrO3TnW.js";const ve=v({name:"LayoutSora",components:{ElDrawer:j,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),be={class:"main flex flex-row flex-1"},ke={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},we={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,t,m,f,$,g){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",be,[i("div",ke,[P(e.$slots,"config",{},void 0,!0)]),i("div",we,[P(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:p(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Se=b(ve,[["render",ye],["__scopeId","data-v-bbee238c"]]),Ve=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},m=M[e]||[V],f=t.duration,$=f&&m.includes(f)?f:m.includes(V)?V:m[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=z)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ae(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ee,[i("h2",Te,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=b(Ve,[["render",Ae],["__scopeId","data-v-0cb7913d"]]),Ce=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},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||(this.value=X)}}),Le={class:"field"},De={class:"title font-bold"},Re={class:"float-left"};function Oe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",De,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:p(()=>[i("span",Re,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ce,[["render",Oe],["__scopeId","data-v-7b82fa7f"]]),Pe=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||z},allowedDurations(){return M[this.model]||[V]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(V)?V:e[0];this.value=t}}},mounted(){this.value||(this.value=V)}}),Ge={class:"field"},ze={class:"control"},Me={class:"title font-bold"};function Fe(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",ze,[i("h2",Me,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Be=b(Pe,[["render",Fe],["__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(){const e=this.options.findIndex(t=>t.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||(this.value=x)}}),Ne={class:"text-sm font-bold mb-2 block"},qe={class:"items"},He=["onClick"],Ke={class:"name"};function We(e,t,m,f,$,g){return a(),r("div",null,[i("span",Ne,l(e.$t("sora.name.orientation")),1),i("div",qe,[(a(!0),r(E,null,I(e.options,(c,d)=>(a(),r("div",{key:d,class:A({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:N({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,He))),128))])])}const Ze=b(je,[["render",We],["__scopeId","data-v-a20be6d9"]]),Je=v({name:"StartEndImage",components:{ElUpload:le,ElButton:D,InfoIcon:oe,FontAwesomeIcon:L,ImagePreview:ne},mixins:[te],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:"relative"},Ye={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,f,$,g){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",Qe,[i("div",Ye,[i("div",Xe,[i("span",xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=u=>e.fileList=u),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:u})=>[u.url&&u.percentage!==void 0?(a(),w(d,{key:0,url:u.url,name:u.name,percentage:u.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(u),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:p(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=b(Je,[["render",et],["__scopeId","data-v-a942382b"]]),ot=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),st=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:ot(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),at={class:"field"},nt={class:"control"},lt={class:"title font-bold"};function rt(e,t,m,f,$,g){const c=s("el-option"),d=s("el-select");return a(),r("div",at,[i("div",nt,[i("h2",lt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:p(()=>[(a(!0),r(E,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const it=b(st,[["render",rt],["__scopeId","data-v-8c485f0f"]]),ct="",dt=v({name:"PromptInput",components:{PromptTextarea:ie},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||(this.prompt=ct)}});function ut(e,t,m,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const pt=b(dt,[["render",ut]]),mt=v({name:"ConfigPanel",components:{ElButton:D,Consumption:re,FontAwesomeIcon:L,PromptInput:pt,ModelSelector:Ie,StartEndImage:tt,SizeSelector:it,ActionSelector:Ue,OrientationSelector:Ze,DurationSelector:Be},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ft={class:"flex flex-col h-full"},_t={class:"flex-1 overflow-y-auto p-5"},ht={class:"flex flex-col items-center justify-center px-5 pb-5"};function $t(e,t,m,f,$,g){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),u=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",ft,[i("div",_t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(u,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),i("div",ht,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const gt=b(mt,[["render",$t]]),vt=v({name:"TaskPreview",components:{ElImage:$e,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:he,VideoPlayer:me,ElTooltip:_e,ElButton:D,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),bt={class:"preview"},kt={class:"left"},wt={class:"main"},yt={class:"bot"},St={class:"datetime"},Vt={class:"info"},Et={key:0,class:"prompt mt-2"},Tt={key:0},At={key:1},It={key:0,class:A({content:!0,failed:!0})},Ct={key:0,class:"mb-4"},Lt={key:1,class:A({operations:!0,"mt-2":!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:1,class:A({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:2,class:A({content:!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Nt(e,t,m,f,$,g){const c=s("el-image"),d=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),u=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",bt,[i("div",kt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",wt,[i("div",yt,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",St,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Vt,[e.modelValue?.request?.prompt?(a(),r("p",Et,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Tt," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",At," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",It,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Ct,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Lt,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[i("p",Dt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Rt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ot,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Ut,[o(C,{closable:!1,class:"failure"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Pt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Gt,[o(u,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",zt,[o(u,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Mt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",Ft,[o(C,{closable:!1,class:"info"},{template:p(()=>[o(u,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:p(()=>[i("p",Bt,[o(u,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",jt,[o(u,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const qt=b(vt,[["render",Nt],["__scopeId","data-v-53ad5ede"]]),Ht=v({name:"RecentPanel",components:{TaskPreview:qt,NoTasks:ce,BotPlaceholder:ge,ScrollList:se},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?.()}}}),Kt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,t,m,f,$,g){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(E,null,[e.tasks?.items===void 0?(a(),r("div",Kt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:p(()=>[(a(!0),r(E,null,I(e.tasks?.items,(S,u)=>(a(),w(d,{key:u,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Wt,[o(k)])):h("",!0)],64)}const Jt=b(Ht,[["render",Zt]]),Qt=J("sora"),Yt=v({name:"SoraIndex",components:{ConfigPanel:gt,Layout:Se,RecentPanel:Jt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{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 ae({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();const 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);const{limit:t=5,createdAtMin:m,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Qt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),W("sora",Z.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(m=>{m?.response?.data?.error?.code===ue?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,m,f,$,g){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:p(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zo=b(Yt,[["render",Xt]]);export{Zo as default};
@@ -1 +1 @@
1
- import{F as R}from"./index.es-BeLOywfI.js";import{E as S}from"./index-BY9FLlvx.js";import{E as D}from"./index-DGVR6QBZ.js";import{d as v,H as r,E as i,z as C,C as t,y as c,D as o,q as s,F as a,O as I,N as U,x as $,I as f,J as p,M,Q as L}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as O,cs as B,b5 as j,S as P,ct as F}from"./index-DiSidSvU.js";import{a as N,b as q}from"./wan-DKq-jYOo.js";import{E as A,a as G}from"./index-CRWC8q75.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as W,S as H,l as J}from"./pagination-BQ6ALt71.js";import{I as K}from"./ImagePreview-DXG-cniF.js";import{E as Q}from"./index-DxWfjb_C.js";import{E as T}from"./index-ByWnkv1G.js";import{P as X,N as Y}from"./NoTasks-DHYh2L_b.js";import{C as Z}from"./Consumption-7qH37pE9.js";import{a as x}from"./price-8kJQGF1-.js";import{b as ee}from"./errorCode-Cqj9Td_Z.js";import{C as te}from"./CopyToClipboard-wxqTxzCB.js";import{V as oe}from"./VideoPlayer-C1kby6jb.js";import{A as se}from"./ApiCodeButton-dD8o0Cnu.js";import{E as ne}from"./index-DlrvZGBU.js";import{E as ae}from"./index-D3m1f5QC.js";import{E as le}from"./index-BcB_-lzn.js";import{B as re}from"./BotPlaceholder-Bue2f9Kq.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-CSP1FYs7.js";import"./typescript-BkLdnbkx.js";import"./index-D84FynKl.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./index-DhvHpkEZ.js";import"./index-ZPlTL2pP.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1ILjlG8L.js";const ie=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},de={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ue={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function pe(e,n,h,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",ce,[i("div",de,[C(e.$slots,"config",{},void 0,!0)]),i("div",ue,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=b(ie,[["render",pe],["__scopeId","data-v-3b0702a7"]]),fe=v({name:"ModelSelector",components:{ElSelect:G,ElOption:A},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=N)}}),he={class:"field"},_e={class:"title font-bold"},ge={class:"float-left"};function $e(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",he,[i("h2",_e,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ge,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const we=b(fe,[["render",$e],["__scopeId","data-v-eb090beb"]]),ve="720p",be=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ve)}}),ke={class:"field"},ye={class:"title font-bold"},Ve={class:"float-left"};function Te(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",ke,[i("h2",ye,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=b(be,[["render",Te],["__scopeId","data-v-3e39f44e"]]),Ie=5,Se=v({name:"DurationSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ie)}}),Ue={class:"field"},Le={class:"title font-bold"},Ce={class:"float-left"};function Re(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Ue,[i("h2",Le,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ce,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=b(Se,[["render",Re],["__scopeId","data-v-5f35a2cf"]]),Ge=v({name:"ImageUrlInput",components:{ElUpload:Q,ElButton:S,InfoIcon:W,ImagePreview:K},mixins:[z],data(){return{fileList:[],uploadUrl:O()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Pe={class:"relative"},De={class:"flex justify-between"},Me={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function Be(e,n,h,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Pe,[i("div",De,[i("div",Me,[i("span",Oe,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=m=>e.fileList=m),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:m})=>[m.url&&m.percentage!==void 0?(s(),$(u,{key:0,url:m.url,name:m.name,percentage:m.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(m),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[f(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const je=b(Ge,[["render",Be],["__scopeId","data-v-c9ebe1b1"]]),Fe="",Ne=v({name:"PromptInput",components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Fe)}});function qe(e,n,h,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const ze=b(Ne,[["render",qe]]),We=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:je,ModelSelector:we,ResolutionSelector:Ee,DurationSelector:Ae,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},Je={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,n,h,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),m=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",He,[i("div",Je,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):p("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):p("",!0),e.supportsImageUrl?(s(),$(m,{key:2,class:"mb-2"})):p("",!0)]),i("div",Ke,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Xe=b(We,[["render",Qe]]),Ye=v({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:te,FontAwesomeIcon:R,ElAlert:ae,VideoPlayer:oe,ElTooltip:ne,ElButton:S,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={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"},pt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:1,class:L({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:2,class:L({content:!0})},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function vt(e,n,h,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),m=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",Ze,[i("div",xe,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",et,[i("div",tt,[f(a(e.$t("wan.name.wanBot"))+" ",1),i("span",ot,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",st,[e.modelValue?.request?.prompt?(s(),r("p",nt,[f(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(s(),r("span",at," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",lt," - ("+a(e.$t("wan.status.processing"))+") ",1)):p("",!0)])):p("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",rt,[e.modelValue?.response?.video_url?(s(),r("div",it,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):p("",!0),e.modelValue?.response?.video_url?(s(),r("div",ct,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(Lt=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[f(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(m,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):p("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",dt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):p("",!0),i("p",ut,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",pt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0)]),_:1})])):p("",!0),e.modelValue?.response?.success===!1?(s(),r("div",mt,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",ht,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",_t,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),i("p",gt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):p("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",$t,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",wt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):p("",!0)])])}const bt=b(Ye,[["render",vt],["__scopeId","data-v-ae98ca4a"]]),kt=v({name:"RecentPanel",components:{TaskPreview:bt,BotPlaceholder:re,NoTasks:Y,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},Vt={key:2,class:"w-full h-full flex items-center justify-center"};function Tt(e,n,h,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",yt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=m=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,m=>(s(),$(u,{key:m.id,"model-value":m},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(s(),r("div",Vt,[t(w)])):p("",!0)],64)}const Et=b(kt,[["render",Tt]]),It=F("wan"),St=v({name:"WanIndex",components:{ConfigPanel:Xe,Layout:me,RecentPanel:Et},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.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 J({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const 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);const{limit:n=5,createdAtMin:h,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",h,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:h,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:It},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(h=>{h?.response?.data?.error?.code===ee?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,n,h,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Eo=b(St,[["render",Ut]]);export{Eo as default};
1
+ import{F as R}from"./index.es-CkCzxqX5.js";import{E as S}from"./index-eRfCWvGL.js";import{E as D}from"./index-Dr9_GlNf.js";import{d as v,H as r,E as i,z as C,C as t,y as c,D as o,q as s,F as a,O as I,N as U,x as $,I as f,J as p,M,Q as L}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as O,cs as B,b5 as j,S as P,ct as F}from"./index-_y9ropld.js";import{a as N,b as q}from"./wan-DKq-jYOo.js";import{E as A,a as G}from"./index-DF1SGxEM.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as W,S as H,l as J}from"./pagination-DExLd9Ua.js";import{I as K}from"./ImagePreview-Ygx1awOz.js";import{E as Q}from"./index-DGjaBQA5.js";import{E as T}from"./index-B4a7L2G9.js";import{P as X,N as Y}from"./NoTasks-CLH1KttF.js";import{C as Z}from"./Consumption-wlHZ47xl.js";import{a as x}from"./price-ClyIQIYX.js";import{b as ee}from"./errorCode-Cqj9Td_Z.js";import{C as te}from"./CopyToClipboard-D1WTdwXG.js";import{V as oe}from"./VideoPlayer-yfnNJISZ.js";import{A as se}from"./ApiCodeButton-zU186ws1.js";import{E as ne}from"./index-weqbVaqW.js";import{E as ae}from"./index-WIUuWaZE.js";import{E as le}from"./index-7e8Ju5As.js";import{B as re}from"./BotPlaceholder-rghyc6_y.js";import"./use-form-item-_RVfLK5R.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-C5x3iJ0a.js";import"./typescript-BMqxIgFj.js";import"./index-DEVtx9BR.js";import"./strings-beZM2Y-f.js";import"./isEqual-B4lY29gT.js";import"./_Uint8Array-M65RAKAu.js";import"./castArray-DMbKoGon.js";import"./index-BmvrBQea.js";import"./index-B-2wd58x.js";import"./debounce-DfnRy0fp.js";import"./_baseIteratee-CAA1aFDV.js";import"./index-4OZZZJYU.js";import"./highlight-CuDf01Sr.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-gYUXSfIx.js";import"./_baseClone-DAEDX7Gi.js";import"./_initCloneObject-DnowziV3.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CVrO3TnW.js";const ie=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},de={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ue={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function pe(e,n,h,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",ce,[i("div",de,[C(e.$slots,"config",{},void 0,!0)]),i("div",ue,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=b(ie,[["render",pe],["__scopeId","data-v-3b0702a7"]]),fe=v({name:"ModelSelector",components:{ElSelect:G,ElOption:A},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=N)}}),he={class:"field"},_e={class:"title font-bold"},ge={class:"float-left"};function $e(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",he,[i("h2",_e,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ge,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const we=b(fe,[["render",$e],["__scopeId","data-v-eb090beb"]]),ve="720p",be=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ve)}}),ke={class:"field"},ye={class:"title font-bold"},Ve={class:"float-left"};function Te(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",ke,[i("h2",ye,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=b(be,[["render",Te],["__scopeId","data-v-3e39f44e"]]),Ie=5,Se=v({name:"DurationSelector",components:{ElSelect:G,ElOption:A},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ie)}}),Ue={class:"field"},Le={class:"title font-bold"},Ce={class:"float-left"};function Re(e,n,h,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Ue,[i("h2",Le,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ce,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ae=b(Se,[["render",Re],["__scopeId","data-v-5f35a2cf"]]),Ge=v({name:"ImageUrlInput",components:{ElUpload:Q,ElButton:S,InfoIcon:W,ImagePreview:K},mixins:[z],data(){return{fileList:[],uploadUrl:O()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Pe={class:"relative"},De={class:"flex justify-between"},Me={class:"flex justify-start items-center"},Oe={class:"text-sm font-bold"};function Be(e,n,h,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Pe,[i("div",De,[i("div",Me,[i("span",Oe,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=m=>e.fileList=m),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:m})=>[m.url&&m.percentage!==void 0?(s(),$(u,{key:0,url:m.url,name:m.name,percentage:m.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(m),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[f(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const je=b(Ge,[["render",Be],["__scopeId","data-v-c9ebe1b1"]]),Fe="",Ne=v({name:"PromptInput",components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Fe)}});function qe(e,n,h,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const ze=b(Ne,[["render",qe]]),We=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:je,ModelSelector:we,ResolutionSelector:Ee,DurationSelector:Ae,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},Je={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,n,h,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),m=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",He,[i("div",Je,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):p("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):p("",!0),e.supportsImageUrl?(s(),$(m,{key:2,class:"mb-2"})):p("",!0)]),i("div",Ke,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Xe=b(We,[["render",Qe]]),Ye=v({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:te,FontAwesomeIcon:R,ElAlert:ae,VideoPlayer:oe,ElTooltip:ne,ElButton:S,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={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"},pt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:1,class:L({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:2,class:L({content:!0})},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function vt(e,n,h,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),m=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",Ze,[i("div",xe,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",et,[i("div",tt,[f(a(e.$t("wan.name.wanBot"))+" ",1),i("span",ot,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",st,[e.modelValue?.request?.prompt?(s(),r("p",nt,[f(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(s(),r("span",at," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",lt," - ("+a(e.$t("wan.status.processing"))+") ",1)):p("",!0)])):p("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",rt,[e.modelValue?.response?.video_url?(s(),r("div",it,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):p("",!0),e.modelValue?.response?.video_url?(s(),r("div",ct,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(Lt=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[f(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(m,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):p("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",dt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):p("",!0),i("p",ut,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",pt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0)]),_:1})])):p("",!0),e.modelValue?.response?.success===!1?(s(),r("div",mt,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",ht,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",_t,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),i("p",gt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):p("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",$t,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",wt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):p("",!0)])])}const bt=b(Ye,[["render",vt],["__scopeId","data-v-ae98ca4a"]]),kt=v({name:"RecentPanel",components:{TaskPreview:bt,BotPlaceholder:re,NoTasks:Y,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},Vt={key:2,class:"w-full h-full flex items-center justify-center"};function Tt(e,n,h,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",yt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=m=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,m=>(s(),$(u,{key:m.id,"model-value":m},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(s(),r("div",Vt,[t(w)])):p("",!0)],64)}const Et=b(kt,[["render",Tt]]),It=F("wan"),St=v({name:"WanIndex",components:{ConfigPanel:Xe,Layout:me,RecentPanel:Et},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.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 J({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const 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);const{limit:n=5,createdAtMin:h,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",h,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:h,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:It},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(h=>{h?.response?.data?.error?.code===ee?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,n,h,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Eo=b(St,[["render",Ut]]);export{Eo as default};
@@ -1 +1 @@
1
- import{F as U}from"./index.es-BeLOywfI.js";import{E as L}from"./index-BY9FLlvx.js";import{E as Y}from"./index-DGVR6QBZ.js";import{d as g,H as i,E as c,z as j,C as a,y as p,D as s,q as t,F as l,O as w,N as S,x as m,Q as A,R as J,J as d,I as h}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as Q,aK as W,S as R,ct as Z}from"./index-DiSidSvU.js";import{a as x,b as ee,c as oe,d as te,e as se,f as ne,g as M,h as ae,i as le,j as ie}from"./veo-Dg8Zhpd-.js";import{E as P,a as O}from"./index-CRWC8q75.js";import{I as G,S as re,l as ce}from"./pagination-BQ6ALt71.js";import{E as de}from"./index-Dc0xaPg1.js";import{V as D}from"./VideoPlayer-C1kby6jb.js";import{E as N}from"./index-DhvHpkEZ.js";import{p as ue}from"./pasteUploadMixin-BurWbGNQ.js";import{I as pe}from"./ImagePreview-DXG-cniF.js";import{E as me}from"./index-DxWfjb_C.js";import{E as I}from"./index-ByWnkv1G.js";import{C as ve}from"./Consumption-7qH37pE9.js";import{P as fe,N as _e}from"./NoTasks-DHYh2L_b.js";import{a as he}from"./price-8kJQGF1-.js";import{b as $e}from"./errorCode-Cqj9Td_Z.js";import{C as ge}from"./CopyToClipboard-wxqTxzCB.js";import{A as be}from"./ApiCodeButton-dD8o0Cnu.js";import{E as ke}from"./index-DlrvZGBU.js";import{E as ye}from"./index-D3m1f5QC.js";import{E as Ve}from"./index-BcB_-lzn.js";import{B as we}from"./BotPlaceholder-Bue2f9Kq.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-CSP1FYs7.js";import"./typescript-BkLdnbkx.js";import"./index-D84FynKl.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-C6X05_Cn.js";import"./vue-plyr-BO2nlN4c.js";import"./index-ZPlTL2pP.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./index-1ILjlG8L.js";const Ee=g({name:"LayoutVeo",components:{ElDrawer:Y,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),Te={class:"main flex flex-row flex-1"},Ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Se={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ae(e,o,f,_,k,y){const r=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return t(),i("div",Te,[c("div",Ie,[j(e.$slots,"config",{},void 0,!0)]),c("div",Se,[j(e.$slots,"result",{},void 0,!0)]),a(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=V=>e.drawer=!0)},{default:p(()=>[a(r,{icon:"fa-solid fa-magic"})]),_:1}),a(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=V=>e.drawer=V),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ce=b(Ee,[["render",Ae],["__scopeId","data-v-9b26d591"]]),Pe=g({name:"ModelSelector",components:{ElSelect:O,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"veo2",label:"veo2"},{value:"veo2-fast",label:"veo2-fast"},{value:"veo3",label:"veo3"},{value:"veo3-fast",label:"veo3-fast"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredients",label:"veo31-fast-ingredients"}]}},computed:{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||(this.value=x)}}),Oe={class:"field"},Ue={class:"title font-bold"};function Le(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Oe,[c("h2",Ue,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=b(Pe,[["render",Le],["__scopeId","data-v-a59d89c9"]]),Re=g({name:"ActionSelector",components:{ElSelect:O,ElOption:P},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:"upsample",label:this.$t("veo.button.actionUpsample")},{value:"extend",label:this.$t("veo.button.actionExtend")},{value:"reshoot",label:this.$t("veo.button.actionReshoot")},{value:"object_insert",label:this.$t("veo.button.actionObjectInsert")},{value:"object_remove",label:this.$t("veo.button.actionObjectRemove")}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||(this.value=ee)}}),Me={class:"field"},Ge={class:"title font-bold"},De={class:"float-left"};function Ne(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Me,[c("h2",Ge,l(e.$t("veo.name.action")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select"),clearable:""},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},{default:p(()=>[c("span",De,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=b(Re,[["render",Ne],["__scopeId","data-v-f4d8785c"]]),ze=g({name:"TranslationSelector",components:{ElSwitch:de,InfoIcon:G},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=oe)}}),Be={class:"relative"},qe={class:"flex justify-between"},He={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Ye={class:"flex justify-end items-center"};function Je(e,o,f,_,k,y){const r=s("info-icon"),u=s("el-switch");return t(),i("div",Be,[c("div",qe,[c("div",He,[c("span",Xe,l(e.$t("veo.name.translation")),1),a(r,{content:e.$t("veo.description.translation")},null,8,["content"])]),c("div",Ye,[a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"])])])])}const Ke=b(ze,[["render",Je]]),Qe=g({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{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||(this.value=te)}}),We={class:"text-sm font-bold mb-2 block"},Ze={class:"items"},xe=["onClick"],eo={class:"name"};function oo(e,o,f,_,k,y){return t(),i("div",null,[c("span",We,l(e.$t("veo.name.ratio")),1),c("div",Ze,[(t(!0),i(w,null,S(e.options,(r,u)=>(t(),i("div",{key:u,class:A({active:e.active===u,item:!0}),onClick:n=>e.value=r.value},[c("div",{class:A(["preview",r.label])},[c("div",{class:"rect",style:J({width:r.width+"px",height:r.height+"px"})},null,4)],2),c("p",eo,l(r.label),1)],10,xe))),128))])])}const to=b(Qe,[["render",oo],["__scopeId","data-v-0f16be77"]]),so=g({name:"VideoFromInput",components:{VideoPlayer:D},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),no={class:"relative"},ao={class:"flex mb-2"},lo={class:"text-sm font-bold"};function io(e,o,f,_,k,y){const r=s("video-player");return t(),i("div",no,[c("div",ao,[c("span",lo,l(e.$t("veo.name.action3")),1)]),c("div",null,[e.config?.video_url?(t(),m(r,{key:0,src:e.config?.video_url},null,8,["src"])):d("",!0)])])}const ro=b(so,[["render",io]]),co=g({name:"VideoIdInput",components:{ElInput:N},computed:{value:{get(){return this.$store.state.veo?.config?.video_id},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,video_id:e})}}}}),uo={class:"field"},po={class:"title font-bold"};function mo(e,o,f,_,k,y){const r=s("el-input");return t(),i("div",uo,[c("h2",po,l(e.$t("veo.name.videoId")),1),a(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.videoId"),clearable:""},null,8,["modelValue","placeholder"])])}const vo=b(co,[["render",mo],["__scopeId","data-v-6eba4026"]]),fo=g({name:"StartEndImage",components:{ElUpload:me,ElButton:L,InfoIcon:G,FontAwesomeIcon:U,ImagePreview:pe},mixins:[ue],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){I.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){I.error(this.$t("veo.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),_o={class:"relative"},ho={class:"flex justify-between"},$o={class:"flex justify-start items-center"},go={class:"text-sm font-bold"};function bo(e,o,f,_,k,y){const r=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),V=s("el-button"),T=s("el-upload");return t(),i("div",_o,[c("div",ho,[c("div",$o,[c("span",go,l(e.$t("veo.name.startEndImage")),1),a(r,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),a(T,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:v})=>[v.url&&v.percentage!==void 0?(t(),m(u,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):d("",!0)]),default:p(()=>[a(V,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[a(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ko=b(fo,[["render",bo],["__scopeId","data-v-b8ddb8fb"]]),yo=g({name:"UpsampleActionSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return ne.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.upsample_action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,upsample_action:e})}}},mounted(){this.value||(this.value=se)}}),Vo={class:"field"},wo={class:"title font-bold"};function Eo(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Vo,[c("h2",wo,l(e.$t("veo.name.upsampleAction")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const To=b(yo,[["render",Eo],["__scopeId","data-v-8b74a7ae"]]),Io=g({name:"ExtendModelSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return M.map(e=>({value:e,label:e}))},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||!M.includes(this.value))&&(this.value=ae)}}),So={class:"field"},Ao={class:"title font-bold"};function Co(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",So,[c("h2",Ao,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Po=b(Io,[["render",Co],["__scopeId","data-v-cc3f9355"]]),Oo=g({name:"MotionTypeSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return ie.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.motion_type},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,motion_type:e})}}},mounted(){this.value||(this.value=le)}}),Uo={class:"field"},Lo={class:"title font-bold"};function jo(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Uo,[c("h2",Lo,l(e.$t("veo.name.motionType")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select"),filterable:""},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ro=b(Oo,[["render",jo],["__scopeId","data-v-3affff3c"]]),Mo=g({name:"ImageMaskInput",components:{ElInput:N},computed:{value:{get(){return this.$store.state.veo?.config?.image_mask},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,image_mask:e})}}}}),Go={class:"field"},Do={class:"title font-bold"};function No(e,o,f,_,k,y){const r=s("el-input");return t(),i("div",Go,[c("h2",Do,l(e.$t("veo.name.imageMask")),1),a(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.imageMask"),clearable:""},null,8,["modelValue","placeholder"])])}const Fo=b(Mo,[["render",No],["__scopeId","data-v-6cc27c68"]]),zo="",Bo=g({name:"PromptInput",components:{PromptTextarea:fe},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||(this.prompt=zo)}});function qo(e,o,f,_,k,y){const r=s("prompt-textarea");return t(),m(r,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=u=>e.prompt=u),title:e.$t("veo.name.prompt"),info:e.$t("veo.description.prompt"),placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Ho=b(Bo,[["render",qo]]),Xo=["upsample","extend","reshoot","object_insert","object_remove","get1080p"],Yo=["text2video","image2video","ingredients2video"],Jo=g({name:"ConfigPanel",components:{ElButton:L,Consumption:ve,FontAwesomeIcon:U,PromptInput:Ho,ModelSelector:je,StartEndImage:ko,ActionSelector:Fe,VideoFromInput:ro,VideoIdInput:vo,UpsampleActionSelector:To,ExtendModelSelector:Po,MotionTypeSelector:Ro,ImageMaskInput:Fo,TranslationSelector:Ke,AspectRatioSelector:to},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return he(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},isPostProcessing(){return Xo.includes(this.config?.action??"")},isGeneration(){return Yo.includes(this.config?.action??"")}},methods:{onGenerate(){this.$emit("generate")}}}),Ko={class:"flex flex-col h-full"},Qo={class:"flex-1 overflow-y-auto p-5"},Wo={class:"flex flex-col items-center justify-center px-5 pb-5"};function Zo(e,o,f,_,k,y){const r=s("action-selector"),u=s("video-from-input"),n=s("video-id-input"),V=s("upsample-action-selector"),T=s("extend-model-selector"),v=s("prompt-input"),E=s("motion-type-selector"),C=s("image-mask-input"),$=s("translation-selector"),F=s("aspect-ratio-selector"),z=s("model-selector"),B=s("start-end-image"),q=s("consumption"),H=s("font-awesome-icon"),X=s("el-button");return t(),i("div",Ko,[c("div",Qo,[a(r,{class:"mb-4"}),e.isPostProcessing?(t(),i(w,{key:0},[e.config?.video_url?(t(),m(u,{key:0,class:"mb-4"})):d("",!0),a(n,{class:"mb-4"})],64)):d("",!0),e.config?.action==="upsample"?(t(),m(V,{key:1,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m(T,{key:2,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m(v,{key:3,class:"mb-4"})):d("",!0),e.config?.action==="reshoot"?(t(),m(E,{key:4,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"?(t(),m(v,{key:5,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"||e.config?.action==="object_remove"?(t(),m(C,{key:6,class:"mb-4"})):d("",!0),e.config?.action==="object_remove"?(t(),m(v,{key:7,class:"mb-4"})):d("",!0),e.isGeneration?(t(),i(w,{key:8},[a($,{class:"mb-4"}),a(F,{class:"mb-4"}),a(v,{class:"mb-4"}),e.config?.action!=="ingredients2video"?(t(),m(z,{key:0,class:"mb-4"})):d("",!0),e.config?.action==="image2video"||e.config?.action==="ingredients2video"?(t(),m(B,{key:1,class:"mb-2"})):d("",!0)],64)):d("",!0)]),c("div",Wo,[a(q,{value:e.consumption,service:e.service},null,8,["value","service"]),a(X,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[a(H,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const xo=b(Jo,[["render",Zo]]),et=g({name:"TaskPreview",components:{ElImage:Ve,CopyToClipboard:ge,FontAwesomeIcon:U,ElAlert:ye,VideoPlayer:D,ElTooltip:ke,ElButton:L,ApiCodeButton:be},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onPickAction(e,o,f,_){console.debug("seed config from preview",{action:f,upsampleAction:_,response:o}),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:f,video_id:o?.data?.[0]?.id,video_url:o?.data?.[0]?.video_url,..._?{upsample_action:_}:{}})},onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),ot={class:"preview"},tt={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},it={key:0,class:"prompt mt-2"},rt={key:0},ct={key:1},dt={key:0,class:A({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:A({operations:!0,"mt-2":!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:A({content:!0})},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},kt={key:2,class:A({content:!0})},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function wt(e,o,f,_,k,y){const r=s("el-image"),u=s("video-player"),n=s("el-button"),V=s("el-tooltip"),T=s("api-code-button"),v=s("font-awesome-icon"),E=s("copy-to-clipboard"),C=s("el-alert");return t(),i("div",ot,[c("div",tt,[a(r,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),c("div",st,[c("div",nt,[h(l(e.$t("veo.name.veoBot"))+" ",1),c("span",at,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",lt,[e.modelValue?.request?.prompt?(t(),i("p",it,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(t(),i("span",rt," - ("+l(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(t(),i("span",ct," - ("+l(e.$t("veo.status.processing"))+") ",1)):d("",!0)])):d("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(t(),i("div",dt,[e.modelValue?.response?.data[0]?.video_url?(t(),i("div",ut,[a(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):d("",!0),e.modelValue?.response.success?(t(),i("div",pt,[e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=$=>e.onPickAction($,e.modelValue?.response,"upsample","1080p"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsample1080p")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:1,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=$=>e.onPickAction($,e.modelValue?.response,"upsample","4k"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsample4k")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:2,type:"info",size:"small",class:"btn-action",onClick:o[2]||(o[2]=$=>e.onPickAction($,e.modelValue?.response,"upsample","gif"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsampleGif")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:3,type:"info",size:"small",class:"btn-action",onClick:o[3]||(o[3]=$=>e.onPickAction($,e.modelValue?.response,"extend"))},{default:p(()=>[h(l(e.$t("veo.button.actionExtend")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:4,type:"info",size:"small",class:"btn-action",onClick:o[4]||(o[4]=$=>e.onPickAction($,e.modelValue?.response,"reshoot"))},{default:p(()=>[h(l(e.$t("veo.button.actionReshoot")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:5,type:"info",size:"small",class:"btn-action",onClick:o[5]||(o[5]=$=>e.onPickAction($,e.modelValue?.response,"object_insert"))},{default:p(()=>[h(l(e.$t("veo.button.actionObjectInsert")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:6,type:"info",size:"small",class:"btn-action",onClick:o[6]||(o[6]=$=>e.onPickAction($,e.modelValue?.response,"object_remove"))},{default:p(()=>[h(l(e.$t("veo.button.actionObjectRemove")),1)]),_:1})):d("",!0),a(V,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[7]||(o[7]=$=>e.onDownload($,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[h(l(e.$t("veo.button.download")),1)]),_:1})):d("",!0)]),_:1},8,["content"]),a(T,{path:"/veo/videos",body:e.modelValue?.request},null,8,["body"])])):d("",!0),a(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",mt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.model"))+": "+l(e.modelValue?.request?.model),1)]),c("p",vt,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",ft,[a(v,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===!1?(t(),i("div",_t,[a(C,{closable:!1,class:"failure"},{template:p(()=>[a(v,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[c("p",ht,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),c("p",$t,[a(v,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("veo.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),a(E,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",gt,[a(v,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(t(),i("p",bt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===void 0?(t(),i("div",kt,[a(C,{closable:!1,class:"info"},{template:p(()=>[a(v,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[c("p",yt,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(t(),i("p",Vt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0)])])}const Et=b(et,[["render",wt],["__scopeId","data-v-9280122b"]]),Tt=g({name:"RecentPanel",components:{TaskPreview:Et,NoTasks:_e,BotPlaceholder:we,ScrollList:re},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?.()}}}),It={key:0},St={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,f,_,k,y){const r=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),V=s("no-tasks");return t(),i(w,null,[e.tasks?.items===void 0?(t(),i("div",It,[a(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(t(),m(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=T=>e.$emit("reach-top"))},{default:p(()=>[(t(!0),i(w,null,S(e.tasks?.items,(T,v)=>(t(),m(u,{key:v,"model-value":T},null,8,["model-value"]))),128))]),_:1},8,["loading"])):d("",!0),e.tasks?.items?.length===0?(t(),i("div",St,[a(V)])):d("",!0)],64)}const Ct=b(Tt,[["render",At]]),Pt=Z("veo"),Ot=g({name:"VeoIndex",components:{ConfigPanel:xo,Layout:Ce,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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 ce({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();const 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);const{limit:o=5,createdAtMin:f,createdAtMax:_}=e||{};console.debug("limit",o,"createdAtMin",f,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:f,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Pt},o=this.credential?.token;if(!o){console.error("no token specified");return}if(e.action==="image2video"&&!(e.image_urls&&e.image_urls.length>0)){I.warning(this.$t("veo.message.imageRequired"));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,I.info(this.$t("veo.message.startingTask")),Q("veo",W.generate(e,{token:o})).then(()=>{I.success(this.$t("veo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===$e?I.error(this.$t("veo.message.usedUp")):I.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,o,f,_,k,y){const r=s("config-panel"),u=s("recent-panel"),n=s("layout");return t(),m(n,null,{config:p(()=>[a(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[a(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Cs=b(Ot,[["render",Ut]]);export{Cs as default};
1
+ import{F as U}from"./index.es-CkCzxqX5.js";import{E as L}from"./index-eRfCWvGL.js";import{E as Y}from"./index-Dr9_GlNf.js";import{d as g,H as i,E as c,z as j,C as a,y as p,D as s,q as t,F as l,O as w,N as S,x as m,Q as A,R as J,J as d,I as h}from"./vendor-vue-NSDaktjZ.js";import{H as b,bp as K,cs as Q,aK as W,S as R,ct as Z}from"./index-_y9ropld.js";import{a as x,b as ee,c as oe,d as te,e as se,f as ne,g as M,h as ae,i as le,j as ie}from"./veo-Dg8Zhpd-.js";import{E as P,a as O}from"./index-DF1SGxEM.js";import{I as G,S as re,l as ce}from"./pagination-DExLd9Ua.js";import{E as de}from"./index-DXfL6ETu.js";import{V as D}from"./VideoPlayer-yfnNJISZ.js";import{E as N}from"./index-BmvrBQea.js";import{p as ue}from"./pasteUploadMixin-BurWbGNQ.js";import{I as pe}from"./ImagePreview-Ygx1awOz.js";import{E as me}from"./index-DGjaBQA5.js";import{E as I}from"./index-B4a7L2G9.js";import{C as ve}from"./Consumption-wlHZ47xl.js";import{P as fe,N as _e}from"./NoTasks-CLH1KttF.js";import{a as he}from"./price-ClyIQIYX.js";import{b as $e}from"./errorCode-Cqj9Td_Z.js";import{C as ge}from"./CopyToClipboard-D1WTdwXG.js";import{A as be}from"./ApiCodeButton-zU186ws1.js";import{E as ke}from"./index-weqbVaqW.js";import{E as ye}from"./index-WIUuWaZE.js";import{E as Ve}from"./index-7e8Ju5As.js";import{B as we}from"./BotPlaceholder-rghyc6_y.js";import"./use-form-item-_RVfLK5R.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-C5x3iJ0a.js";import"./typescript-BMqxIgFj.js";import"./index-DEVtx9BR.js";import"./strings-beZM2Y-f.js";import"./isEqual-B4lY29gT.js";import"./_Uint8Array-M65RAKAu.js";import"./castArray-DMbKoGon.js";import"./debounce-DfnRy0fp.js";import"./_baseIteratee-CAA1aFDV.js";import"./index-4OZZZJYU.js";import"./highlight-CuDf01Sr.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-RTfR_ioW.js";import"./vue-plyr-BO2nlN4c.js";import"./index-B-2wd58x.js";import"./index-gYUXSfIx.js";import"./_baseClone-DAEDX7Gi.js";import"./_initCloneObject-DnowziV3.js";import"./index-CVrO3TnW.js";const Ee=g({name:"LayoutVeo",components:{ElDrawer:Y,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),Te={class:"main flex flex-row flex-1"},Ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Se={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ae(e,o,f,_,k,y){const r=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return t(),i("div",Te,[c("div",Ie,[j(e.$slots,"config",{},void 0,!0)]),c("div",Se,[j(e.$slots,"result",{},void 0,!0)]),a(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=V=>e.drawer=!0)},{default:p(()=>[a(r,{icon:"fa-solid fa-magic"})]),_:1}),a(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=V=>e.drawer=V),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ce=b(Ee,[["render",Ae],["__scopeId","data-v-9b26d591"]]),Pe=g({name:"ModelSelector",components:{ElSelect:O,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"veo2",label:"veo2"},{value:"veo2-fast",label:"veo2-fast"},{value:"veo3",label:"veo3"},{value:"veo3-fast",label:"veo3-fast"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredients",label:"veo31-fast-ingredients"}]}},computed:{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||(this.value=x)}}),Oe={class:"field"},Ue={class:"title font-bold"};function Le(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Oe,[c("h2",Ue,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=b(Pe,[["render",Le],["__scopeId","data-v-a59d89c9"]]),Re=g({name:"ActionSelector",components:{ElSelect:O,ElOption:P},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:"upsample",label:this.$t("veo.button.actionUpsample")},{value:"extend",label:this.$t("veo.button.actionExtend")},{value:"reshoot",label:this.$t("veo.button.actionReshoot")},{value:"object_insert",label:this.$t("veo.button.actionObjectInsert")},{value:"object_remove",label:this.$t("veo.button.actionObjectRemove")}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||(this.value=ee)}}),Me={class:"field"},Ge={class:"title font-bold"},De={class:"float-left"};function Ne(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Me,[c("h2",Ge,l(e.$t("veo.name.action")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select"),clearable:""},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},{default:p(()=>[c("span",De,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Fe=b(Re,[["render",Ne],["__scopeId","data-v-f4d8785c"]]),ze=g({name:"TranslationSelector",components:{ElSwitch:de,InfoIcon:G},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=oe)}}),Be={class:"relative"},qe={class:"flex justify-between"},He={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Ye={class:"flex justify-end items-center"};function Je(e,o,f,_,k,y){const r=s("info-icon"),u=s("el-switch");return t(),i("div",Be,[c("div",qe,[c("div",He,[c("span",Xe,l(e.$t("veo.name.translation")),1),a(r,{content:e.$t("veo.description.translation")},null,8,["content"])]),c("div",Ye,[a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"])])])])}const Ke=b(ze,[["render",Je]]),Qe=g({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{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||(this.value=te)}}),We={class:"text-sm font-bold mb-2 block"},Ze={class:"items"},xe=["onClick"],eo={class:"name"};function oo(e,o,f,_,k,y){return t(),i("div",null,[c("span",We,l(e.$t("veo.name.ratio")),1),c("div",Ze,[(t(!0),i(w,null,S(e.options,(r,u)=>(t(),i("div",{key:u,class:A({active:e.active===u,item:!0}),onClick:n=>e.value=r.value},[c("div",{class:A(["preview",r.label])},[c("div",{class:"rect",style:J({width:r.width+"px",height:r.height+"px"})},null,4)],2),c("p",eo,l(r.label),1)],10,xe))),128))])])}const to=b(Qe,[["render",oo],["__scopeId","data-v-0f16be77"]]),so=g({name:"VideoFromInput",components:{VideoPlayer:D},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),no={class:"relative"},ao={class:"flex mb-2"},lo={class:"text-sm font-bold"};function io(e,o,f,_,k,y){const r=s("video-player");return t(),i("div",no,[c("div",ao,[c("span",lo,l(e.$t("veo.name.action3")),1)]),c("div",null,[e.config?.video_url?(t(),m(r,{key:0,src:e.config?.video_url},null,8,["src"])):d("",!0)])])}const ro=b(so,[["render",io]]),co=g({name:"VideoIdInput",components:{ElInput:N},computed:{value:{get(){return this.$store.state.veo?.config?.video_id},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,video_id:e})}}}}),uo={class:"field"},po={class:"title font-bold"};function mo(e,o,f,_,k,y){const r=s("el-input");return t(),i("div",uo,[c("h2",po,l(e.$t("veo.name.videoId")),1),a(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.videoId"),clearable:""},null,8,["modelValue","placeholder"])])}const vo=b(co,[["render",mo],["__scopeId","data-v-6eba4026"]]),fo=g({name:"StartEndImage",components:{ElUpload:me,ElButton:L,InfoIcon:G,FontAwesomeIcon:U,ImagePreview:pe},mixins:[ue],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/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?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){I.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){I.error(this.$t("veo.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),_o={class:"relative"},ho={class:"flex justify-between"},$o={class:"flex justify-start items-center"},go={class:"text-sm font-bold"};function bo(e,o,f,_,k,y){const r=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),V=s("el-button"),T=s("el-upload");return t(),i("div",_o,[c("div",ho,[c("div",$o,[c("span",go,l(e.$t("veo.name.startEndImage")),1),a(r,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),a(T,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:v})=>[v.url&&v.percentage!==void 0?(t(),m(u,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):d("",!0)]),default:p(()=>[a(V,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[a(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ko=b(fo,[["render",bo],["__scopeId","data-v-b8ddb8fb"]]),yo=g({name:"UpsampleActionSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return ne.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.upsample_action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,upsample_action:e})}}},mounted(){this.value||(this.value=se)}}),Vo={class:"field"},wo={class:"title font-bold"};function Eo(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Vo,[c("h2",wo,l(e.$t("veo.name.upsampleAction")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const To=b(yo,[["render",Eo],["__scopeId","data-v-8b74a7ae"]]),Io=g({name:"ExtendModelSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return M.map(e=>({value:e,label:e}))},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||!M.includes(this.value))&&(this.value=ae)}}),So={class:"field"},Ao={class:"title font-bold"};function Co(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",So,[c("h2",Ao,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Po=b(Io,[["render",Co],["__scopeId","data-v-cc3f9355"]]),Oo=g({name:"MotionTypeSelector",components:{ElSelect:O,ElOption:P},computed:{options(){return ie.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.motion_type},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,motion_type:e})}}},mounted(){this.value||(this.value=le)}}),Uo={class:"field"},Lo={class:"title font-bold"};function jo(e,o,f,_,k,y){const r=s("el-option"),u=s("el-select");return t(),i("div",Uo,[c("h2",Lo,l(e.$t("veo.name.motionType")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("veo.placeholder.select"),filterable:""},{default:p(()=>[(t(!0),i(w,null,S(e.options,n=>(t(),m(r,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ro=b(Oo,[["render",jo],["__scopeId","data-v-3affff3c"]]),Mo=g({name:"ImageMaskInput",components:{ElInput:N},computed:{value:{get(){return this.$store.state.veo?.config?.image_mask},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,image_mask:e})}}}}),Go={class:"field"},Do={class:"title font-bold"};function No(e,o,f,_,k,y){const r=s("el-input");return t(),i("div",Go,[c("h2",Do,l(e.$t("veo.name.imageMask")),1),a(r,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.imageMask"),clearable:""},null,8,["modelValue","placeholder"])])}const Fo=b(Mo,[["render",No],["__scopeId","data-v-6cc27c68"]]),zo="",Bo=g({name:"PromptInput",components:{PromptTextarea:fe},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||(this.prompt=zo)}});function qo(e,o,f,_,k,y){const r=s("prompt-textarea");return t(),m(r,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=u=>e.prompt=u),title:e.$t("veo.name.prompt"),info:e.$t("veo.description.prompt"),placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Ho=b(Bo,[["render",qo]]),Xo=["upsample","extend","reshoot","object_insert","object_remove","get1080p"],Yo=["text2video","image2video","ingredients2video"],Jo=g({name:"ConfigPanel",components:{ElButton:L,Consumption:ve,FontAwesomeIcon:U,PromptInput:Ho,ModelSelector:je,StartEndImage:ko,ActionSelector:Fe,VideoFromInput:ro,VideoIdInput:vo,UpsampleActionSelector:To,ExtendModelSelector:Po,MotionTypeSelector:Ro,ImageMaskInput:Fo,TranslationSelector:Ke,AspectRatioSelector:to},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return he(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},isPostProcessing(){return Xo.includes(this.config?.action??"")},isGeneration(){return Yo.includes(this.config?.action??"")}},methods:{onGenerate(){this.$emit("generate")}}}),Ko={class:"flex flex-col h-full"},Qo={class:"flex-1 overflow-y-auto p-5"},Wo={class:"flex flex-col items-center justify-center px-5 pb-5"};function Zo(e,o,f,_,k,y){const r=s("action-selector"),u=s("video-from-input"),n=s("video-id-input"),V=s("upsample-action-selector"),T=s("extend-model-selector"),v=s("prompt-input"),E=s("motion-type-selector"),C=s("image-mask-input"),$=s("translation-selector"),F=s("aspect-ratio-selector"),z=s("model-selector"),B=s("start-end-image"),q=s("consumption"),H=s("font-awesome-icon"),X=s("el-button");return t(),i("div",Ko,[c("div",Qo,[a(r,{class:"mb-4"}),e.isPostProcessing?(t(),i(w,{key:0},[e.config?.video_url?(t(),m(u,{key:0,class:"mb-4"})):d("",!0),a(n,{class:"mb-4"})],64)):d("",!0),e.config?.action==="upsample"?(t(),m(V,{key:1,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m(T,{key:2,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m(v,{key:3,class:"mb-4"})):d("",!0),e.config?.action==="reshoot"?(t(),m(E,{key:4,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"?(t(),m(v,{key:5,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"||e.config?.action==="object_remove"?(t(),m(C,{key:6,class:"mb-4"})):d("",!0),e.config?.action==="object_remove"?(t(),m(v,{key:7,class:"mb-4"})):d("",!0),e.isGeneration?(t(),i(w,{key:8},[a($,{class:"mb-4"}),a(F,{class:"mb-4"}),a(v,{class:"mb-4"}),e.config?.action!=="ingredients2video"?(t(),m(z,{key:0,class:"mb-4"})):d("",!0),e.config?.action==="image2video"||e.config?.action==="ingredients2video"?(t(),m(B,{key:1,class:"mb-2"})):d("",!0)],64)):d("",!0)]),c("div",Wo,[a(q,{value:e.consumption,service:e.service},null,8,["value","service"]),a(X,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[a(H,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const xo=b(Jo,[["render",Zo]]),et=g({name:"TaskPreview",components:{ElImage:Ve,CopyToClipboard:ge,FontAwesomeIcon:U,ElAlert:ye,VideoPlayer:D,ElTooltip:ke,ElButton:L,ApiCodeButton:be},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onPickAction(e,o,f,_){console.debug("seed config from preview",{action:f,upsampleAction:_,response:o}),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:f,video_id:o?.data?.[0]?.id,video_url:o?.data?.[0]?.video_url,..._?{upsample_action:_}:{}})},onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),ot={class:"preview"},tt={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},it={key:0,class:"prompt mt-2"},rt={key:0},ct={key:1},dt={key:0,class:A({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:A({operations:!0,"mt-2":!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:A({content:!0})},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},kt={key:2,class:A({content:!0})},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function wt(e,o,f,_,k,y){const r=s("el-image"),u=s("video-player"),n=s("el-button"),V=s("el-tooltip"),T=s("api-code-button"),v=s("font-awesome-icon"),E=s("copy-to-clipboard"),C=s("el-alert");return t(),i("div",ot,[c("div",tt,[a(r,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),c("div",st,[c("div",nt,[h(l(e.$t("veo.name.veoBot"))+" ",1),c("span",at,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",lt,[e.modelValue?.request?.prompt?(t(),i("p",it,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(t(),i("span",rt," - ("+l(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(t(),i("span",ct," - ("+l(e.$t("veo.status.processing"))+") ",1)):d("",!0)])):d("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(t(),i("div",dt,[e.modelValue?.response?.data[0]?.video_url?(t(),i("div",ut,[a(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):d("",!0),e.modelValue?.response.success?(t(),i("div",pt,[e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=$=>e.onPickAction($,e.modelValue?.response,"upsample","1080p"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsample1080p")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:1,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=$=>e.onPickAction($,e.modelValue?.response,"upsample","4k"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsample4k")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:2,type:"info",size:"small",class:"btn-action",onClick:o[2]||(o[2]=$=>e.onPickAction($,e.modelValue?.response,"upsample","gif"))},{default:p(()=>[h(l(e.$t("veo.button.actionUpsampleGif")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:3,type:"info",size:"small",class:"btn-action",onClick:o[3]||(o[3]=$=>e.onPickAction($,e.modelValue?.response,"extend"))},{default:p(()=>[h(l(e.$t("veo.button.actionExtend")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:4,type:"info",size:"small",class:"btn-action",onClick:o[4]||(o[4]=$=>e.onPickAction($,e.modelValue?.response,"reshoot"))},{default:p(()=>[h(l(e.$t("veo.button.actionReshoot")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:5,type:"info",size:"small",class:"btn-action",onClick:o[5]||(o[5]=$=>e.onPickAction($,e.modelValue?.response,"object_insert"))},{default:p(()=>[h(l(e.$t("veo.button.actionObjectInsert")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:6,type:"info",size:"small",class:"btn-action",onClick:o[6]||(o[6]=$=>e.onPickAction($,e.modelValue?.response,"object_remove"))},{default:p(()=>[h(l(e.$t("veo.button.actionObjectRemove")),1)]),_:1})):d("",!0),a(V,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(t(),m(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[7]||(o[7]=$=>e.onDownload($,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[h(l(e.$t("veo.button.download")),1)]),_:1})):d("",!0)]),_:1},8,["content"]),a(T,{path:"/veo/videos",body:e.modelValue?.request},null,8,["body"])])):d("",!0),a(C,{closable:!1,class:"mt-2 success"},{default:p(()=>[c("p",mt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.model"))+": "+l(e.modelValue?.request?.model),1)]),c("p",vt,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",ft,[a(v,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===!1?(t(),i("div",_t,[a(C,{closable:!1,class:"failure"},{template:p(()=>[a(v,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[c("p",ht,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),c("p",$t,[a(v,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("veo.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),a(E,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",gt,[a(v,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(t(),i("p",bt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===void 0?(t(),i("div",kt,[a(C,{closable:!1,class:"info"},{template:p(()=>[a(v,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[c("p",yt,[a(v,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(t(),i("p",Vt,[a(v,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0)])])}const Et=b(et,[["render",wt],["__scopeId","data-v-9280122b"]]),Tt=g({name:"RecentPanel",components:{TaskPreview:Et,NoTasks:_e,BotPlaceholder:we,ScrollList:re},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?.()}}}),It={key:0},St={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,f,_,k,y){const r=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),V=s("no-tasks");return t(),i(w,null,[e.tasks?.items===void 0?(t(),i("div",It,[a(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(t(),m(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=T=>e.$emit("reach-top"))},{default:p(()=>[(t(!0),i(w,null,S(e.tasks?.items,(T,v)=>(t(),m(u,{key:v,"model-value":T},null,8,["model-value"]))),128))]),_:1},8,["loading"])):d("",!0),e.tasks?.items?.length===0?(t(),i("div",St,[a(V)])):d("",!0)],64)}const Ct=b(Tt,[["render",At]]),Pt=Z("veo"),Ot=g({name:"VeoIndex",components:{ConfigPanel:xo,Layout:Ce,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.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 ce({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();const 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);const{limit:o=5,createdAtMin:f,createdAtMax:_}=e||{};console.debug("limit",o,"createdAtMin",f,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:f,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Pt},o=this.credential?.token;if(!o){console.error("no token specified");return}if(e.action==="image2video"&&!(e.image_urls&&e.image_urls.length>0)){I.warning(this.$t("veo.message.imageRequired"));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,I.info(this.$t("veo.message.startingTask")),Q("veo",W.generate(e,{token:o})).then(()=>{I.success(this.$t("veo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===$e?I.error(this.$t("veo.message.usedUp")):I.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,o,f,_,k,y){const r=s("config-panel"),u=s("recent-panel"),n=s("layout");return t(),m(n,null,{config:p(()=>[a(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[a(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Cs=b(Ot,[["render",Ut]]);export{Cs as default};
@@ -1 +1 @@
1
- import{F as I}from"./index.es-BeLOywfI.js";import{E as A}from"./index-BY9FLlvx.js";import{E as Q}from"./index-DGVR6QBZ.js";import{d as E,H as l,E as c,z as O,C as t,y as _,D as s,q as o,x as y,F as n,O as V,N as C,J as v,I as h,M as X,Q as F}from"./vendor-vue-NSDaktjZ.js";import{H as k,da as Y,db as G,dc as B,dd as q,de as Z,df as x,dg as ee,dh as te,di as se,dj as oe,bp as z,dk as ne,dl as ae,dm as le,dn as re,dp as ie,cs as ce,b2 as de,S as j,ct as me}from"./index-DiSidSvU.js";import{P as ue,N as pe}from"./NoTasks-DHYh2L_b.js";import{I as S,S as fe,l as _e}from"./pagination-BQ6ALt71.js";import{E as P,a as N}from"./index-CRWC8q75.js";import{E as H}from"./index-Dc0xaPg1.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as M}from"./ImagePreview-DXG-cniF.js";import{E as J}from"./index-DxWfjb_C.js";import{E as w}from"./index-ByWnkv1G.js";import{C as he}from"./Consumption-7qH37pE9.js";import{a as ve}from"./price-8kJQGF1-.js";import{C as $e}from"./CopyToClipboard-wxqTxzCB.js";import{V as ge}from"./VideoPlayer-C1kby6jb.js";import{I as be}from"./ImageWrapper-PjSkDo1l.js";import{A as Ee}from"./ApiCodeButton-dD8o0Cnu.js";import{E as ke}from"./index-DlrvZGBU.js";import{E as ye}from"./index-D3m1f5QC.js";import{E as we}from"./index-BcB_-lzn.js";import{B as Se}from"./BotPlaceholder-Bue2f9Kq.js";import{b as Ve}from"./errorCode-Cqj9Td_Z.js";import"./use-form-item-D7ZQ0uNO.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-DhvHpkEZ.js";import"./typescript-BkLdnbkx.js";import"./index-D84FynKl.js";import"./index-ZPlTL2pP.js";import"./highlight-BKO0nM6d.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-CSP1FYs7.js";import"./strings-beZM2Y-f.js";import"./isEqual-Bit6excc.js";import"./_Uint8Array-C9GurXZS.js";import"./castArray-DFDDfxIX.js";import"./debounce-p4kYWNVH.js";import"./_baseIteratee-DRD8Id2G.js";import"./index-DkmVyT7W.js";import"./validator-C6X05_Cn.js";import"./index-C0T1mBSZ.js";import"./_baseClone-CQPgJfCg.js";import"./_initCloneObject-DwJv9kbk.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1ILjlG8L.js";const Le=E({name:"LayoutSeedance",components:{ElDrawer:Q,ElButton:A,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Te={class:"main flex flex-row flex-1"},Ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Ae={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ce(e,a,m,f,u,g){const d=s("font-awesome-icon"),p=s("el-button"),r=s("el-drawer");return o(),l("div",Te,[c("div",Ie,[O(e.$slots,"config",{},void 0,!0)]),c("div",Ae,[O(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:a[0]||(a[0]=i=>e.drawer=!0)},{default:_(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=i=>e.drawer=i),direction:"ltr","with-header":!1,size:"350px"},{default:_(()=>[O(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Fe=k(Le,[["render",Ce],["__scopeId","data-v-caafd095"]]),De="",Re=E({name:"SeedancePromptInput",components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=De)}});function Ue(e,a,m,f,u,g){const d=s("prompt-textarea");return o(),y(d,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=p=>e.prompt=p),title:e.$t("seedance.name.prompt"),info:e.$t("seedance.description.prompt"),placeholder:e.$t("seedance.placeholder.prompt"),"min-rows":5},null,8,["modelValue","title","info","placeholder"])}const Oe=k(Re,[["render",Ue]]),Pe=E({name:"SeedanceModelSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:G,label:this.$t("seedance.model.seedance20")},{value:B,label:this.$t("seedance.model.seedance20Fast")},{value:q,label:this.$t("seedance.model.seedance15pro")},{value:Z,label:this.$t("seedance.model.seedance10pro")},{value:x,label:this.$t("seedance.model.seedance10proFast")},{value:ee,label:this.$t("seedance.model.seedance10liteT2v")},{value:te,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Ne={class:"field"},Me={class:"label"},je={class:"box"},Ge={class:"title font-bold"};function Be(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",Ne,[c("div",Me,[c("div",je,[c("h2",Ge,n(e.$t("seedance.name.model")),1),t(d,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=k(Pe,[["render",Be],["__scopeId","data-v-61816a81"]]),ze=E({name:"SeedanceDurationSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=se)}}),He={class:"field"},We={class:"label"},Je={class:"box"},Ke={class:"title font-bold"};function Qe(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",He,[c("div",We,[c("div",Je,[c("h2",Ke,n(e.$t("seedance.name.duration")),1),t(d,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=k(ze,[["render",Qe],["__scopeId","data-v-5c809a72"]]),Ye=new Set([q,G,B]),Ze=E({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:H,InfoIcon:S},computed:{isSupported(){const e=this.$store.state.seedance?.config?.model;return typeof e=="string"&&Ye.has(e)},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=oe)}}),xe={key:0,class:"field"},et={class:"label"},tt={class:"box"},st={class:"title font-bold"},ot={class:"value"};function nt(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-switch");return e.isSupported?(o(),l("div",xe,[c("div",et,[c("div",tt,[c("h2",st,n(e.$t("seedance.name.generateAudio")),1),t(d,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),c("div",ot,[t(p,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const at=k(Ze,[["render",nt],["__scopeId","data-v-004d19ff"]]),lt=E({name:"SeedanceFirstFrameImage",components:{ElUpload:J,ElButton:A,InfoIcon:S,FontAwesomeIcon:I,ImagePreview:M},mixins:[W],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)}},methods:{onExceed(){w.warning(this.$t("seedance.message.uploadExceed"))},onError(){w.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],m=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&m.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:m.length>0?m:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),rt={class:"relative"},it={class:"flex justify-between"},ct={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function mt(e,a,m,f,u,g){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload");return o(),l("div",rt,[c("div",it,[c("div",ct,[c("span",dt,n(e.$t("seedance.name.firstFrame")),1),t(d,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=$=>e.fileList=$),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:_(({file:$})=>[$.url&&$.percentage!==void 0?(o(),y(p,{key:0,url:$.url,name:$.name,percentage:$.percentage,onRemove:L=>e.fileList.splice(e.fileList.indexOf($),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:_(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:_(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const ut=k(lt,[["render",mt],["__scopeId","data-v-5294baf8"]]),pt=E({name:"SeedanceLastFrameImage",components:{ElUpload:J,ElButton:A,ImagePreview:M,InfoIcon:S,FontAwesomeIcon:I},mixins:[W],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)}},methods:{onExceed(){w.warning(this.$t("seedance.message.uploadExceed"))},onError(){w.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],m=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&m.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:m.length>0?m:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),ft={class:"relative"},_t={class:"flex justify-between"},ht={class:"flex justify-start items-center"},vt={class:"text-sm font-bold"};function $t(e,a,m,f,u,g){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload");return o(),l("div",ft,[c("div",_t,[c("div",ht,[c("span",vt,n(e.$t("seedance.name.lastFrame")),1),t(d,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=$=>e.fileList=$),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:_(({file:$})=>[$.url&&$.percentage!==void 0?(o(),y(p,{key:0,url:$.url,name:$.name,percentage:$.percentage,onRemove:L=>e.fileList.splice(e.fileList.indexOf($),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:_(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:_(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const gt=k(pt,[["render",$t],["__scopeId","data-v-f423739f"]]),bt=E({name:"SeedanceServiceTierSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:ae,label:this.$t("seedance.serviceTier.default")},{value:le,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=ne)}}),Et={class:"field"},kt={class:"label"},yt={class:"box"},wt={class:"title font-bold"};function St(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",Et,[c("div",kt,[c("div",yt,[c("h2",wt,n(e.$t("seedance.name.serviceTier")),1),t(d,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Vt=k(bt,[["render",St],["__scopeId","data-v-cc938de2"]]),Lt=E({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:H,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=re)}}),Tt={class:"field"},It={class:"label"},At={class:"box"},Ct={class:"title font-bold"},Ft={class:"value"};function Dt(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-switch");return o(),l("div",Tt,[c("div",It,[c("div",At,[c("h2",Ct,n(e.$t("seedance.name.returnLastFrame")),1),t(d,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),c("div",Ft,[t(p,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Rt=k(Lt,[["render",Dt],["__scopeId","data-v-cd179b1c"]]),Ut=E({name:"SeedanceConfigPanel",components:{ElButton:A,FontAwesomeIcon:I,PromptInput:Oe,ModelSelector:qe,DurationSelector:Xe,GenerateAudioSwitch:at,ServiceTierSelector:Vt,ReturnLastFrameSwitch:Rt,FirstFrameImage:ut,LastFrameImage:gt,Consumption:he},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return ve(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ot={class:"flex flex-col h-full"},Pt={class:"flex-1 overflow-y-auto p-5"},Nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Mt(e,a,m,f,u,g){const d=s("prompt-input"),p=s("model-selector"),r=s("duration-selector"),i=s("generate-audio-switch"),b=s("service-tier-selector"),$=s("return-last-frame-switch"),L=s("first-frame-image"),D=s("last-frame-image"),R=s("consumption"),U=s("font-awesome-icon"),T=s("el-button");return o(),l("div",Ot,[c("div",Pt,[t(d,{class:"mb-4"}),t(p,{class:"mb-4"}),t(r,{class:"mb-4"}),t(i,{class:"mb-4"}),t(b,{class:"mb-4"}),t($,{class:"mb-4"}),t(L,{class:"mb-2"}),t(D,{class:"mb-2"})]),c("div",Nt,[t(R,{value:e.consumption,service:e.service},null,8,["value","service"]),t(T,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[t(U,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+n(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const jt=k(Ut,[["render",Mt]]),Gt=E({name:"SeedanceTaskPreview",components:{ElImage:we,CopyToClipboard:$e,FontAwesomeIcon:I,ElAlert:ye,VideoPlayer:ge,ElTooltip:ke,ElButton:A,ImageWrapper:be,ImagePreview:M,ApiCodeButton:Ee},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:ie}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){const e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];const a=[],m=e.find(u=>u?.role==="first_frame");m?.url&&a.push({url:m.url,name:"first-frame"});const f=e.find(u=>u?.role==="last_frame");return f?.url&&a.push({url:f.url,name:"last-frame"}),e.forEach((u,g)=>{u?.url&&u.role!=="first_frame"&&u.role!=="last_frame"&&a.push({url:u.url,name:u.role||`image-${g}`})}),a}},methods:{onDownload(e){window.open(e,"_blank")}}}),Bt={class:"preview"},qt={class:"left"},zt={class:"main"},Ht={class:"bot"},Wt={class:"datetime"},Jt={class:"info"},Kt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Qt={key:1,class:"prompt mt-2"},Xt={key:0},Yt={key:1},Zt={key:0,class:F({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},es={key:1,class:F({content:!0})},ts={key:0,class:"mb-4"},ss={key:1,class:"mb-4"},os={key:2,class:F({operations:!0,"mt-2":!0,"mb-2":!0})},ns={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},as={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ls={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rs={key:0},is={key:1},cs={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ds={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ms={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},us={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ps={key:2,class:F({content:!0})},fs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_s={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},hs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$s={key:3,class:F({content:!0})},gs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Es(e,a,m,f,u,g){const d=s("el-image"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("copy-to-clipboard"),b=s("el-alert"),$=s("video-player"),L=s("image-wrapper"),D=s("el-button"),R=s("el-tooltip"),U=s("api-code-button");return o(),l("div",Bt,[c("div",qt,[t(d,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),c("div",zt,[c("div",Ht,[h(n(e.$t("seedance.name.seedanceBot"))+" ",1),c("span",Wt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Jt,[e.referenceImages.length>0?(o(),l("div",Kt,[(o(!0),l(V,null,C(e.referenceImages,(T,K)=>(o(),y(p,{key:K,url:T.url,name:T.name,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(o(),l("p",Qt,[h(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(o(),l("span",Yt," - ("+n(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(o(),l("span",Xt," - ("+n(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(o(),l("div",es,[e.video?.video_url?(o(),l("div",ts,[t($,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(o(),l("div",ss,[t(L,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(o(),l("div",os,[t(R,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:_(()=>[t(D,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=X(T=>e.onDownload(e.video?.video_url),["stop"]))},{default:_(()=>[h(n(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"]),t(U,{path:"/seedance/videos",body:e.modelValue?.request},null,8,["body"])])):v("",!0),t(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(o(),l("p",ns,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+n(e.$t("seedance.name.model"))+": "+n(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(o(),l("p",as,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.duration"))+": "+n(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(o(),l("p",ls,[t(r,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+n(e.$t("seedance.name.resolution"))+": "+n(e.video?.resolution)+" ",1),e.video?.ratio?(o(),l("span",rs," · "+n(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(o(),l("span",is," · "+n(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(o(),l("p",cs,[t(r,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+n(e.$t("seedance.name.generateAudio"))+": "+n(e.$t("seedance.button.on")),1)])):v("",!0),c("p",ds,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",ms,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(o(),l("p",us,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(o(),l("div",ps,[t(b,{closable:!1,class:"failure"},{template:_(()=>[t(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failure")),1)]),default:_(()=>[c("p",fs,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(o(),l("p",_s,[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.elapsed?(o(),l("p",hs,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(o(),l("p",vs,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),l("div",$s,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.status")),1)]),default:_(()=>[c("p",gs,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(o(),l("p",bs,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),l("div",Zt,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.status.pending")),1)]),default:_(()=>[c("p",xt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const ks=k(Gt,[["render",Es],["__scopeId","data-v-3c933aae"]]),ys=E({name:"SeedanceRecentPanel",components:{TaskPreview:ks,BotPlaceholder:Se,NoTasks:pe,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ws={key:0},Ss={key:2,class:"w-full h-full flex items-center justify-center"};function Vs(e,a,m,f,u,g){const d=s("bot-placeholder"),p=s("task-preview"),r=s("scroll-list"),i=s("no-tasks");return o(),l(V,null,[e.tasks?.items===void 0?(o(),l("div",ws,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),y(r,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(o(!0),l(V,null,C(e.tasks?.items,b=>(o(),y(p,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(o(),l("div",Ss,[t(i)])):v("",!0)],64)}const Ls=k(ys,[["render",Vs]]),Ts=me("seedance"),Is=E({name:"SeedanceIndex",components:{ConfigPanel:jt,Layout:Fe,RecentPanel:Ls},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(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 _e({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:m,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(d=>!!d?.url);const u=e.images.some(d=>d?.role==="first_frame"),g=e.images.some(d=>d?.role==="last_frame");!u&&g&&(e.images=e.images.map(d=>d?.role==="last_frame"?{...d,role:"first_frame"}:d))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const m={...e,callback_url:Ts},f=this.credential?.token;if(!f){console.error("no token specified");return}w.info(this.$t("seedance.message.startingTask")),ce("seedance",de.generate(m,{token:f})).then(()=>{w.success(this.$t("seedance.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===Ve?w.error(this.$t("seedance.message.usedUp")):w.error(this.$t("seedance.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function As(e,a,m,f,u,g){const d=s("config-panel"),p=s("recent-panel"),r=s("layout");return o(),y(r,null,{config:_(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const To=k(Is,[["render",As]]);export{To as default};
1
+ import{F as I}from"./index.es-CkCzxqX5.js";import{E as A}from"./index-eRfCWvGL.js";import{E as Q}from"./index-Dr9_GlNf.js";import{d as E,H as l,E as c,z as O,C as t,y as _,D as s,q as o,x as y,F as n,O as V,N as C,J as v,I as h,M as X,Q as F}from"./vendor-vue-NSDaktjZ.js";import{H as k,da as Y,db as G,dc as B,dd as q,de as Z,df as x,dg as ee,dh as te,di as se,dj as oe,bp as z,dk as ne,dl as ae,dm as le,dn as re,dp as ie,cs as ce,b2 as de,S as j,ct as me}from"./index-_y9ropld.js";import{P as ue,N as pe}from"./NoTasks-CLH1KttF.js";import{I as S,S as fe,l as _e}from"./pagination-DExLd9Ua.js";import{E as P,a as N}from"./index-DF1SGxEM.js";import{E as H}from"./index-DXfL6ETu.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as M}from"./ImagePreview-Ygx1awOz.js";import{E as J}from"./index-DGjaBQA5.js";import{E as w}from"./index-B4a7L2G9.js";import{C as he}from"./Consumption-wlHZ47xl.js";import{a as ve}from"./price-ClyIQIYX.js";import{C as $e}from"./CopyToClipboard-D1WTdwXG.js";import{V as ge}from"./VideoPlayer-yfnNJISZ.js";import{I as be}from"./ImageWrapper-Cqql7v8c.js";import{A as Ee}from"./ApiCodeButton-zU186ws1.js";import{E as ke}from"./index-weqbVaqW.js";import{E as ye}from"./index-WIUuWaZE.js";import{E as we}from"./index-7e8Ju5As.js";import{B as Se}from"./BotPlaceholder-rghyc6_y.js";import{b as Ve}from"./errorCode-Cqj9Td_Z.js";import"./use-form-item-_RVfLK5R.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-BmvrBQea.js";import"./typescript-BMqxIgFj.js";import"./index-DEVtx9BR.js";import"./index-B-2wd58x.js";import"./highlight-CuDf01Sr.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-C5x3iJ0a.js";import"./strings-beZM2Y-f.js";import"./isEqual-B4lY29gT.js";import"./_Uint8Array-M65RAKAu.js";import"./castArray-DMbKoGon.js";import"./debounce-DfnRy0fp.js";import"./_baseIteratee-CAA1aFDV.js";import"./index-4OZZZJYU.js";import"./validator-RTfR_ioW.js";import"./index-gYUXSfIx.js";import"./_baseClone-DAEDX7Gi.js";import"./_initCloneObject-DnowziV3.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CVrO3TnW.js";const Le=E({name:"LayoutSeedance",components:{ElDrawer:Q,ElButton:A,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Te={class:"main flex flex-row flex-1"},Ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Ae={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ce(e,a,m,f,u,g){const d=s("font-awesome-icon"),p=s("el-button"),r=s("el-drawer");return o(),l("div",Te,[c("div",Ie,[O(e.$slots,"config",{},void 0,!0)]),c("div",Ae,[O(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:a[0]||(a[0]=i=>e.drawer=!0)},{default:_(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":a[1]||(a[1]=i=>e.drawer=i),direction:"ltr","with-header":!1,size:"350px"},{default:_(()=>[O(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Fe=k(Le,[["render",Ce],["__scopeId","data-v-caafd095"]]),De="",Re=E({name:"SeedancePromptInput",components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=De)}});function Ue(e,a,m,f,u,g){const d=s("prompt-textarea");return o(),y(d,{modelValue:e.prompt,"onUpdate:modelValue":a[0]||(a[0]=p=>e.prompt=p),title:e.$t("seedance.name.prompt"),info:e.$t("seedance.description.prompt"),placeholder:e.$t("seedance.placeholder.prompt"),"min-rows":5},null,8,["modelValue","title","info","placeholder"])}const Oe=k(Re,[["render",Ue]]),Pe=E({name:"SeedanceModelSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:G,label:this.$t("seedance.model.seedance20")},{value:B,label:this.$t("seedance.model.seedance20Fast")},{value:q,label:this.$t("seedance.model.seedance15pro")},{value:Z,label:this.$t("seedance.model.seedance10pro")},{value:x,label:this.$t("seedance.model.seedance10proFast")},{value:ee,label:this.$t("seedance.model.seedance10liteT2v")},{value:te,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=Y)}}),Ne={class:"field"},Me={class:"label"},je={class:"box"},Ge={class:"title font-bold"};function Be(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",Ne,[c("div",Me,[c("div",je,[c("h2",Ge,n(e.$t("seedance.name.model")),1),t(d,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=k(Pe,[["render",Be],["__scopeId","data-v-61816a81"]]),ze=E({name:"SeedanceDurationSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=se)}}),He={class:"field"},We={class:"label"},Je={class:"box"},Ke={class:"title font-bold"};function Qe(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",He,[c("div",We,[c("div",Je,[c("h2",Ke,n(e.$t("seedance.name.duration")),1),t(d,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Xe=k(ze,[["render",Qe],["__scopeId","data-v-5c809a72"]]),Ye=new Set([q,G,B]),Ze=E({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:H,InfoIcon:S},computed:{isSupported(){const e=this.$store.state.seedance?.config?.model;return typeof e=="string"&&Ye.has(e)},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=oe)}}),xe={key:0,class:"field"},et={class:"label"},tt={class:"box"},st={class:"title font-bold"},ot={class:"value"};function nt(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-switch");return e.isSupported?(o(),l("div",xe,[c("div",et,[c("div",tt,[c("h2",st,n(e.$t("seedance.name.generateAudio")),1),t(d,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),c("div",ot,[t(p,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):v("",!0)}const at=k(Ze,[["render",nt],["__scopeId","data-v-004d19ff"]]),lt=E({name:"SeedanceFirstFrameImage",components:{ElUpload:J,ElButton:A,InfoIcon:S,FontAwesomeIcon:I,ImagePreview:M},mixins:[W],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)}},methods:{onExceed(){w.warning(this.$t("seedance.message.uploadExceed"))},onError(){w.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],m=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="first_frame");e&&m.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:m.length>0?m:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),rt={class:"relative"},it={class:"flex justify-between"},ct={class:"flex justify-start items-center"},dt={class:"text-sm font-bold"};function mt(e,a,m,f,u,g){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload");return o(),l("div",rt,[c("div",it,[c("div",ct,[c("span",dt,n(e.$t("seedance.name.firstFrame")),1),t(d,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=$=>e.fileList=$),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:_(({file:$})=>[$.url&&$.percentage!==void 0?(o(),y(p,{key:0,url:$.url,name:$.name,percentage:$.percentage,onRemove:L=>e.fileList.splice(e.fileList.indexOf($),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:_(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:_(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const ut=k(lt,[["render",mt],["__scopeId","data-v-5294baf8"]]),pt=E({name:"SeedanceLastFrameImage",components:{ElUpload:J,ElButton:A,ImagePreview:M,InfoIcon:S,FontAwesomeIcon:I},mixins:[W],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)}},methods:{onExceed(){w.warning(this.$t("seedance.message.uploadExceed"))},onError(){w.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],m=(this.$store.state.seedance?.config?.images||[]).filter(f=>f?.role!=="last_frame");e&&m.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:m.length>0?m:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),ft={class:"relative"},_t={class:"flex justify-between"},ht={class:"flex justify-start items-center"},vt={class:"text-sm font-bold"};function $t(e,a,m,f,u,g){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),b=s("el-upload");return o(),l("div",ft,[c("div",_t,[c("div",ht,[c("span",vt,n(e.$t("seedance.name.lastFrame")),1),t(d,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(b,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":a[0]||(a[0]=$=>e.fileList=$),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:_(({file:$})=>[$.url&&$.percentage!==void 0?(o(),y(p,{key:0,url:$.url,name:$.name,percentage:$.percentage,onRemove:L=>e.fileList.splice(e.fileList.indexOf($),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:_(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:_(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])}const gt=k(pt,[["render",$t],["__scopeId","data-v-f423739f"]]),bt=E({name:"SeedanceServiceTierSelector",components:{ElSelect:N,ElOption:P,InfoIcon:S},data(){return{options:[{value:ae,label:this.$t("seedance.serviceTier.default")},{value:le,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=ne)}}),Et={class:"field"},kt={class:"label"},yt={class:"box"},wt={class:"title font-bold"};function St(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-option"),r=s("el-select");return o(),l("div",Et,[c("div",kt,[c("div",yt,[c("h2",wt,n(e.$t("seedance.name.serviceTier")),1),t(d,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value=i),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:_(()=>[(o(!0),l(V,null,C(e.options,i=>(o(),y(p,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Vt=k(bt,[["render",St],["__scopeId","data-v-cc938de2"]]),Lt=E({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:H,InfoIcon:S},computed:{value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},mounted(){this.value===void 0&&(this.value=re)}}),Tt={class:"field"},It={class:"label"},At={class:"box"},Ct={class:"title font-bold"},Ft={class:"value"};function Dt(e,a,m,f,u,g){const d=s("info-icon"),p=s("el-switch");return o(),l("div",Tt,[c("div",It,[c("div",At,[c("h2",Ct,n(e.$t("seedance.name.returnLastFrame")),1),t(d,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),c("div",Ft,[t(p,{modelValue:e.value,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value=r),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const Rt=k(Lt,[["render",Dt],["__scopeId","data-v-cd179b1c"]]),Ut=E({name:"SeedanceConfigPanel",components:{ElButton:A,FontAwesomeIcon:I,PromptInput:Oe,ModelSelector:qe,DurationSelector:Xe,GenerateAudioSwitch:at,ServiceTierSelector:Vt,ReturnLastFrameSwitch:Rt,FirstFrameImage:ut,LastFrameImage:gt,Consumption:he},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return ve(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ot={class:"flex flex-col h-full"},Pt={class:"flex-1 overflow-y-auto p-5"},Nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Mt(e,a,m,f,u,g){const d=s("prompt-input"),p=s("model-selector"),r=s("duration-selector"),i=s("generate-audio-switch"),b=s("service-tier-selector"),$=s("return-last-frame-switch"),L=s("first-frame-image"),D=s("last-frame-image"),R=s("consumption"),U=s("font-awesome-icon"),T=s("el-button");return o(),l("div",Ot,[c("div",Pt,[t(d,{class:"mb-4"}),t(p,{class:"mb-4"}),t(r,{class:"mb-4"}),t(i,{class:"mb-4"}),t(b,{class:"mb-4"}),t($,{class:"mb-4"}),t(L,{class:"mb-2"}),t(D,{class:"mb-2"})]),c("div",Nt,[t(R,{value:e.consumption,service:e.service},null,8,["value","service"]),t(T,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[t(U,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+n(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const jt=k(Ut,[["render",Mt]]),Gt=E({name:"SeedanceTaskPreview",components:{ElImage:we,CopyToClipboard:$e,FontAwesomeIcon:I,ElAlert:ye,VideoPlayer:ge,ElTooltip:ke,ElButton:A,ImageWrapper:be,ImagePreview:M,ApiCodeButton:Ee},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:ie}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){const e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];const a=[],m=e.find(u=>u?.role==="first_frame");m?.url&&a.push({url:m.url,name:"first-frame"});const f=e.find(u=>u?.role==="last_frame");return f?.url&&a.push({url:f.url,name:"last-frame"}),e.forEach((u,g)=>{u?.url&&u.role!=="first_frame"&&u.role!=="last_frame"&&a.push({url:u.url,name:u.role||`image-${g}`})}),a}},methods:{onDownload(e){window.open(e,"_blank")}}}),Bt={class:"preview"},qt={class:"left"},zt={class:"main"},Ht={class:"bot"},Wt={class:"datetime"},Jt={class:"info"},Kt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Qt={key:1,class:"prompt mt-2"},Xt={key:0},Yt={key:1},Zt={key:0,class:F({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},es={key:1,class:F({content:!0})},ts={key:0,class:"mb-4"},ss={key:1,class:"mb-4"},os={key:2,class:F({operations:!0,"mt-2":!0,"mb-2":!0})},ns={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},as={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ls={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},rs={key:0},is={key:1},cs={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ds={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ms={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},us={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ps={key:2,class:F({content:!0})},fs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_s={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},hs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$s={key:3,class:F({content:!0})},gs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Es(e,a,m,f,u,g){const d=s("el-image"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("copy-to-clipboard"),b=s("el-alert"),$=s("video-player"),L=s("image-wrapper"),D=s("el-button"),R=s("el-tooltip"),U=s("api-code-button");return o(),l("div",Bt,[c("div",qt,[t(d,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),c("div",zt,[c("div",Ht,[h(n(e.$t("seedance.name.seedanceBot"))+" ",1),c("span",Wt,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",Jt,[e.referenceImages.length>0?(o(),l("div",Kt,[(o(!0),l(V,null,C(e.referenceImages,(T,K)=>(o(),y(p,{key:K,url:T.url,name:T.name,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(o(),l("p",Qt,[h(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(o(),l("span",Yt," - ("+n(e.$t("seedance.status.processing"))+") ",1)):v("",!0):(o(),l("span",Xt," - ("+n(e.$t("seedance.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(o(),l("div",es,[e.video?.video_url?(o(),l("div",ts,[t($,{src:e.video?.video_url},null,8,["src"])])):v("",!0),e.video?.last_frame_url?(o(),l("div",ss,[t(L,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):v("",!0),e.video?.video_url?(o(),l("div",os,[t(R,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:_(()=>[t(D,{type:"info",size:"small",class:"btn-action",onClick:a[0]||(a[0]=X(T=>e.onDownload(e.video?.video_url),["stop"]))},{default:_(()=>[h(n(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"]),t(U,{path:"/seedance/videos",body:e.modelValue?.request},null,8,["body"])])):v("",!0),t(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(o(),l("p",ns,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),h(" "+n(e.$t("seedance.name.model"))+": "+n(e.modelValue?.request?.model),1)])):v("",!0),e.video?.duration?(o(),l("p",as,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.duration"))+": "+n(e.video?.duration)+"s ",1)])):v("",!0),e.video?.resolution?(o(),l("p",ls,[t(r,{icon:"fa-solid fa-expand",class:"mr-1"}),h(" "+n(e.$t("seedance.name.resolution"))+": "+n(e.video?.resolution)+" ",1),e.video?.ratio?(o(),l("span",rs," · "+n(e.video?.ratio),1)):v("",!0),e.video?.framespersecond?(o(),l("span",is," · "+n(e.video?.framespersecond)+"fps",1)):v("",!0)])):v("",!0),e.modelValue?.request?.generate_audio?(o(),l("p",cs,[t(r,{icon:"fa-solid fa-volume-up",class:"mr-1"}),h(" "+n(e.$t("seedance.name.generateAudio"))+": "+n(e.$t("seedance.button.on")),1)])):v("",!0),c("p",ds,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",ms,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(o(),l("p",us,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(o(),l("div",ps,[t(b,{closable:!1,class:"failure"},{template:_(()=>[t(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failure")),1)]),default:_(()=>[c("p",fs,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(o(),l("p",_s,[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0),e.modelValue?.elapsed?(o(),l("p",hs,[t(r,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(o(),l("p",vs,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),l("div",$s,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+n(e.$t("seedance.name.status")),1)]),default:_(()=>[c("p",gs,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(o(),l("p",bs,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):(o(),l("div",Zt,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-regular fa-clock",class:"mr-1"}),h(" "+n(e.$t("seedance.status.pending")),1)]),default:_(()=>[c("p",xt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const ks=k(Gt,[["render",Es],["__scopeId","data-v-3c933aae"]]),ys=E({name:"SeedanceRecentPanel",components:{TaskPreview:ks,BotPlaceholder:Se,NoTasks:pe,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ws={key:0},Ss={key:2,class:"w-full h-full flex items-center justify-center"};function Vs(e,a,m,f,u,g){const d=s("bot-placeholder"),p=s("task-preview"),r=s("scroll-list"),i=s("no-tasks");return o(),l(V,null,[e.tasks?.items===void 0?(o(),l("div",ws,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),y(r,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:a[0]||(a[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(o(!0),l(V,null,C(e.tasks?.items,b=>(o(),y(p,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(o(),l("div",Ss,[t(i)])):v("",!0)],64)}const Ls=k(ys,[["render",Vs]]),Ts=me("seedance"),Is=E({name:"SeedanceIndex",components:{ConfigPanel:jt,Layout:Fe,RecentPanel:Ls},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(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 _e({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:a=5,createdAtMin:m,createdAtMax:f}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:a,createdAtMin:m,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(d=>!!d?.url);const u=e.images.some(d=>d?.role==="first_frame"),g=e.images.some(d=>d?.role==="last_frame");!u&&g&&(e.images=e.images.map(d=>d?.role==="last_frame"?{...d,role:"first_frame"}:d))}!(Array.isArray(e?.images)&&e.images.length>0)&&"images"in e&&delete e.images;const m={...e,callback_url:Ts},f=this.credential?.token;if(!f){console.error("no token specified");return}w.info(this.$t("seedance.message.startingTask")),ce("seedance",de.generate(m,{token:f})).then(()=>{w.success(this.$t("seedance.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===Ve?w.error(this.$t("seedance.message.usedUp")):w.error(this.$t("seedance.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function As(e,a,m,f,u,g){const d=s("config-panel"),p=s("recent-panel"),r=s("layout");return o(),y(r,null,{config:_(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const To=k(Is,[["render",As]]);export{To as default};