@acedatacloud/nexior 3.218.0 → 3.219.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 (231) hide show
  1. package/dist/assets/{ApiCodeButton-SH3-mzRZ.js → ApiCodeButton-ELLwtd41.js} +1 -1
  2. package/dist/assets/{Auth-DWUVa8Jl.js → Auth-trEm5Zoj.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-BkzQvjfL.js → BotPlaceholder-BZ2BnCU8.js} +1 -1
  4. package/dist/assets/{Callback-BxGaOewL.js → Callback-g5M9GNIM.js} +1 -1
  5. package/dist/assets/{Console-CyL1rCGt.js → Console-DevJUUSE.js} +1 -1
  6. package/dist/assets/{Consumption-A912L03A.js → Consumption-HJqRoAYb.js} +1 -1
  7. package/dist/assets/{Conversation-xpXg9WiT.js → Conversation-BKNPBujI.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-B14N8uGd.js → CopyToClipboard-B7-zpemN.js} +1 -1
  9. package/dist/assets/{Detail-BbbPdpQE.js → Detail-C-Sxz9ns.js} +2 -2
  10. package/dist/assets/{Extra-C4aRQl-H.js → Extra-BouaFakN.js} +1 -1
  11. package/dist/assets/{FilePreview-D48r5Clc.js → FilePreview-CRYdatUV.js} +1 -1
  12. package/dist/assets/{Hailuo-BCKGqdOs.js → Hailuo-BN7mwjAM.js} +1 -1
  13. package/dist/assets/{History-DPQtUf7x.js → History-DD185nDy.js} +1 -1
  14. package/dist/assets/{ImagePreview-Cqg3CCWb.js → ImagePreview-DjnXpfFp.js} +1 -1
  15. package/dist/assets/{ImageWrapper-BoVGmV3c.js → ImageWrapper-DTLK2LYV.js} +1 -1
  16. package/dist/assets/{Index-Bg3Ld6W9.js → Index--Oo1kWOH.js} +1 -1
  17. package/dist/assets/{Index-C8r9qREH.js → Index-B3RqRsof.js} +1 -1
  18. package/dist/assets/{Index-BrZWXzhT.js → Index-BD6yjv7T.js} +1 -1
  19. package/dist/assets/{Index-JAx9LgHk.js → Index-BJc9OpRi.js} +1 -1
  20. package/dist/assets/{Index-cE-ChT9Z.js → Index-BK_NmVPG.js} +1 -1
  21. package/dist/assets/{Index-CHgg4E-y.js → Index-BTVglFzn.js} +1 -1
  22. package/dist/assets/{Index-xDC-ixQN.js → Index-BZ3PuJ8c.js} +1 -1
  23. package/dist/assets/{Index-B9ZpDD-f.js → Index-Brm3vW78.js} +1 -1
  24. package/dist/assets/{Index-BPmSvfVx.js → Index-BuG_uY1E.js} +1 -1
  25. package/dist/assets/{Index-wrwrz49J.js → Index-C2C92VaJ.js} +1 -1
  26. package/dist/assets/{Index-B0Mio_g9.js → Index-CCqjlmXQ.js} +1 -1
  27. package/dist/assets/{Index-14qRLoq4.js → Index-COHcv13M.js} +1 -1
  28. package/dist/assets/{Index-DUOVp326.js → Index-CSQ8tA42.js} +1 -1
  29. package/dist/assets/{Index-DlZPk3gR.js → Index-CVYC4CDZ.js} +1 -1
  30. package/dist/assets/{Index-DkSyktrv.js → Index-Cijsy52x.js} +1 -1
  31. package/dist/assets/{Index-Ds3NSJ9n.js → Index-D7gipS_U.js} +1 -1
  32. package/dist/assets/{Index-CiDm5OJc.js → Index-Dd6CRQ9F.js} +1 -1
  33. package/dist/assets/{Index-CEBvJOY3.js → Index-DgItb9Tx.js} +1 -1
  34. package/dist/assets/{Index-CWuu5Khy.js → Index-DnfCljUJ.js} +1 -1
  35. package/dist/assets/{Index-Dfk0NO2y.js → Index-DuKKsWcd.js} +1 -1
  36. package/dist/assets/{Index-CvRI-P8u.js → Index-JkPsC8_D.js} +1 -1
  37. package/dist/assets/{Index-enQR_B75.js → Index-a9zXx5q7.js} +1 -1
  38. package/dist/assets/{Index-Cx0xJTiJ.js → Index-lAHeKesS.js} +1 -1
  39. package/dist/assets/{Index-CPP9e574.js → Index-zbdWLpte.js} +1 -1
  40. package/dist/assets/{Invitees-j0wuuGIx.js → Invitees-LlMaqybz.js} +1 -1
  41. package/dist/assets/{List-C2iLuWI5.js → List-CoJUNkiN.js} +1 -1
  42. package/dist/assets/{List-BxGW6m2u.js → List-DSRBYjs6.js} +1 -1
  43. package/dist/assets/{List-CHUxMfQr.js → List-L4iG7egz.js} +1 -1
  44. package/dist/assets/{Main-BXqNrZKG.js → Main-Bxb8Vtxm.js} +1 -1
  45. package/dist/assets/{Navigator-DyioLgyO.js → Navigator-DWoKG7z5.js} +1 -1
  46. package/dist/assets/{NoTasks-q3Lv6tKO.js → NoTasks-B9brz0GL.js} +1 -1
  47. package/dist/assets/{NotFound-CenyZYlt.js → NotFound-uUezcRdH.js} +1 -1
  48. package/dist/assets/{Pagination-9FYeXcN9.js → Pagination-CvZ8cGSz.js} +1 -1
  49. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-CQ6CDVNZ.js → Player.vue_vue_type_script_setup_true_lang-BeDKAkXQ.js} +1 -1
  50. package/dist/assets/{Status-D8yNcfrx.js → Status-D2UxKz89.js} +1 -1
  51. package/dist/assets/{Subscribe-CRyPSEgW.js → Subscribe-NrfA0d0T.js} +1 -1
  52. package/dist/assets/{Tts-BwX4ozWk.js → Tts-6eg-V-K6.js} +1 -1
  53. package/dist/assets/{VideoPlayer-JO6u-Leu.js → VideoPlayer-Be9rMTt8.js} +1 -1
  54. package/dist/assets/{_Uint8Array-EI6rdDMg.js → _Uint8Array-Z75Sa3E8.js} +1 -1
  55. package/dist/assets/{_baseClone-CWXDJGZm.js → _baseClone-umQ6kPjt.js} +1 -1
  56. package/dist/assets/{_baseIteratee-EE0Dhi3s.js → _baseIteratee-BL_LXYAx.js} +1 -1
  57. package/dist/assets/{_initCloneObject-BLayr3wN.js → _initCloneObject-CCK9Xyv4.js} +1 -1
  58. package/dist/assets/{add-d4S-WIOs.js → add-ByYD8bnm.js} +1 -1
  59. package/dist/assets/{all-wallets-BoyIashq.js → all-wallets-D1TR-KLQ.js} +1 -1
  60. package/dist/assets/{app-store-BSrQ50qF.js → app-store-BSRMcZud.js} +1 -1
  61. package/dist/assets/{apple-CjhH2Y5G.js → apple-X9_neDTd.js} +1 -1
  62. package/dist/assets/{arrow-bottom-BYAs9wOA.js → arrow-bottom-CLH3u_Zg.js} +1 -1
  63. package/dist/assets/{arrow-bottom-circle-CW-jw2ql.js → arrow-bottom-circle-BVAQ0ZYy.js} +1 -1
  64. package/dist/assets/{arrow-left-BNo2LuST.js → arrow-left-CkK33_vY.js} +1 -1
  65. package/dist/assets/{arrow-right-CTtSaaL8.js → arrow-right-a9XvBhC-.js} +1 -1
  66. package/dist/assets/{arrow-top-CwUKBrtj.js → arrow-top-BgCu8ABB.js} +1 -1
  67. package/dist/assets/{avatar-DbXYENch.js → avatar-SQgYfR-v.js} +1 -1
  68. package/dist/assets/{bank-JOtdi6ZX.js → bank-DxaEpJmr.js} +1 -1
  69. package/dist/assets/{basic-BpwyId9p.js → basic-DBb6Ub-j.js} +1 -1
  70. package/dist/assets/{browser-D7ceVajX.js → browser-i5a9UY0a.js} +1 -1
  71. package/dist/assets/{byokCredential-DHKVhHV4.js → byokCredential-CplWPXCN.js} +1 -1
  72. package/dist/assets/{card-DYJT1U3Z.js → card-CsW2s4CI.js} +1 -1
  73. package/dist/assets/{castArray-EsQaGbmV.js → castArray-BOBSHmEl.js} +1 -1
  74. package/dist/assets/{chat-D3HGuPrP.js → chat-xl1qJWJT.js} +1 -1
  75. package/dist/assets/{checkmark-CYpFEe__.js → checkmark-CY--hMQB.js} +1 -1
  76. package/dist/assets/{checkmark-bold-DK8FarYx.js → checkmark-bold-BXodqOTt.js} +1 -1
  77. package/dist/assets/{chevron-bottom-Dm08nbTJ.js → chevron-bottom-C7L10PH2.js} +1 -1
  78. package/dist/assets/{chevron-left-b2YZDktm.js → chevron-left-D1CM3DJA.js} +1 -1
  79. package/dist/assets/{chevron-right-Uye_K76f.js → chevron-right-3mvmy0sO.js} +1 -1
  80. package/dist/assets/{chevron-top-CWafiU6a.js → chevron-top-BPF1cN3K.js} +1 -1
  81. package/dist/assets/{chrome-store-CYJR13_M.js → chrome-store-BtTWobgj.js} +1 -1
  82. package/dist/assets/{clock-c8-hYawt.js → clock-Db60RkQF.js} +1 -1
  83. package/dist/assets/{close-DnHWKMVt.js → close-BzDqu-S3.js} +1 -1
  84. package/dist/assets/{coinPlaceholder-CiHDTA5X.js → coinPlaceholder-BkkOIav-.js} +1 -1
  85. package/dist/assets/{compass-CyJAKH7X.js → compass-rvBTmAxh.js} +1 -1
  86. package/dist/assets/{console-BMaVS13S.js → console-BUNs3Es6.js} +1 -1
  87. package/dist/assets/{console-BQ-YUvXy.js → console-D1SCQiWp.js} +1 -1
  88. package/dist/assets/{console-CmJNJHm2.js → console-DqvFbtfO.js} +1 -1
  89. package/dist/assets/{copy-hbofgt9j.js → copy-C8QKMhBD.js} +1 -1
  90. package/dist/assets/{createTaskActions-ltp2ovsY.js → createTaskActions-Ch5xga-f.js} +1 -1
  91. package/dist/assets/{cursor-D2VF7WUg.js → cursor-ChT_SLON.js} +1 -1
  92. package/dist/assets/{cursor-transparent-CGxoI42w.js → cursor-transparent-B6xaFBuS.js} +1 -1
  93. package/dist/assets/{debounce-CH187K9a.js → debounce-B-6yjswC.js} +1 -1
  94. package/dist/assets/{desktop-CiGduzk_.js → desktop-BtWEa6qH.js} +1 -1
  95. package/dist/assets/{disconnect-BxECSEl3.js → disconnect-THH2iHmo.js} +1 -1
  96. package/dist/assets/{discord-DG4Qz2fq.js → discord-DE1V_6fw.js} +1 -1
  97. package/dist/assets/{distribution-BUg5uaiM.js → distribution-D9Uosg17.js} +1 -1
  98. package/dist/assets/{dropdown-DNCyliAd.js → dropdown-97VRadx2.js} +1 -1
  99. package/dist/assets/{etherscan-Bx940azW.js → etherscan-BiZrUJvY.js} +1 -1
  100. package/dist/assets/{exclamation-triangle-D0mnhXrr.js → exclamation-triangle-DNHDfuZp.js} +1 -1
  101. package/dist/assets/{extension-BC9CaN7b.js → extension-Dpiqi3mK.js} +1 -1
  102. package/dist/assets/{external-link-yAR_vGKi.js → external-link-CEsB41FR.js} +1 -1
  103. package/dist/assets/{facebook-B0r3ippS.js → facebook-DyijMDQZ.js} +1 -1
  104. package/dist/assets/{farcaster-CK5DUs0A.js → farcaster-B8JN6xIp.js} +1 -1
  105. package/dist/assets/{filters-Bv8TXor7.js → filters-DAcCbx0j.js} +1 -1
  106. package/dist/assets/{github-_IueSZdY.js → github-DJD_wXrA.js} +1 -1
  107. package/dist/assets/{google-BniYvPC9.js → google-Dd-_nqnP.js} +1 -1
  108. package/dist/assets/{help-circle-CfxWQvtC.js → help-circle-CQ5ZTgLL.js} +1 -1
  109. package/dist/assets/{highlight-BdzcL-qA.js → highlight-CxiUjIMX.js} +1 -1
  110. package/dist/assets/{id-BqTxkCM7.js → id-C2waPdTg.js} +1 -1
  111. package/dist/assets/{image-BE5WYw9d.js → image-ObIpa0Qo.js} +1 -1
  112. package/dist/assets/{index-CRY-KoZ0.js → index-93S-kjnW.js} +1 -1
  113. package/dist/assets/{index-BZ8UWpew.js → index-B-XPrVnp.js} +1 -1
  114. package/dist/assets/{index-CA4OzbH-.js → index-B1359XCd.js} +1 -1
  115. package/dist/assets/{index-BrpqKiow.js → index-B4uEviPn.js} +1 -1
  116. package/dist/assets/{index-By5OsweK.js → index-BK9xwgg3.js} +1 -1
  117. package/dist/assets/{index-pihzsxFJ.js → index-BPyr1thS.js} +1 -1
  118. package/dist/assets/{index-B6lKp5WL.js → index-BSD6ArpD.js} +1 -1
  119. package/dist/assets/{index-IYCZlPkQ.js → index-BStjDDyx.js} +1 -1
  120. package/dist/assets/{index-BsF7tVO8.js → index-BTcVnXUS.js} +1 -1
  121. package/dist/assets/{index-RF25EqYw.js → index-BWI2gHU_.js} +1 -1
  122. package/dist/assets/{index-DLBPcYg6.js → index-BXXvYpXX.js} +1 -1
  123. package/dist/assets/{index-CzwZ2UC6.js → index-BeBZA1p_.js} +1 -1
  124. package/dist/assets/{index-lJMO2j3A.js → index-BfcjcrkJ.js} +1 -1
  125. package/dist/assets/{index-n9wfcP3o.js → index-BgMRyztR.js} +3 -3
  126. package/dist/assets/{index-BRM7VSJ7.js → index-BgdH8W9S.js} +1 -1
  127. package/dist/assets/{index-ChitGZ1D.js → index-Bo14Ux3S.js} +1 -1
  128. package/dist/assets/{index-BUO-Md2D.js → index-BpRk65Iu.js} +1 -1
  129. package/dist/assets/{index-Cd_PhXbk.js → index-BpS-uRzc.js} +1 -1
  130. package/dist/assets/{index-C-1OqjJL.js → index-Bu5gNvNl.js} +1 -1
  131. package/dist/assets/{index-SYkNMXgC.js → index-BybZK4kT.js} +1 -1
  132. package/dist/assets/{index-CV-Y1hCb.js → index-C-rnAsAl.js} +1 -1
  133. package/dist/assets/{index-BWqhWiyg.js → index-C1ck7INd.js} +1 -1
  134. package/dist/assets/{index-CieIazTO.js → index-C4eWIBBB.js} +1 -1
  135. package/dist/assets/{index-Csx64x23.js → index-CDyqPm2b.js} +1 -1
  136. package/dist/assets/{index-mnfZ250E.js → index-COfTdmqq.js} +1 -1
  137. package/dist/assets/{index-qdxDTlvx.js → index-CkdQCAnp.js} +1 -1
  138. package/dist/assets/{index-C61s_vms.js → index-CmIsgGU2.js} +1 -1
  139. package/dist/assets/{index-DGYkSNcS.js → index-Cq8TQPr3.js} +1 -1
  140. package/dist/assets/{index-B1hm-I4G.js → index-CwEpfXg0.js} +1 -1
  141. package/dist/assets/{index-BQK6psTe.js → index-CwhBXyp0.js} +1 -1
  142. package/dist/assets/{index-orpPOzFA.js → index-D0zoWl0t.js} +4 -4
  143. package/dist/assets/{index-B2lhMpgd.js → index-D2qrPHew.js} +1 -1
  144. package/dist/assets/{index-CABDcFEC.js → index-D8-5HTYV.js} +1 -1
  145. package/dist/assets/{index-BjrsQBPY.js → index-D9kue-NB.js} +1 -1
  146. package/dist/assets/{index-77eCDIG7.js → index-DA0BpBj_.js} +2 -2
  147. package/dist/assets/{index-KmnidV0q.js → index-DRNfoZ1e.js} +1 -1
  148. package/dist/assets/{index-Db21DbVw.js → index-DT1QCKyq.js} +1 -1
  149. package/dist/assets/{index-QLjR9Y9r.js → index-DTS9X2Mx.js} +5 -5
  150. package/dist/assets/{index-Cyij_nx9.js → index-DXCDKEv1.js} +1 -1
  151. package/dist/assets/{index-CwJYqqQC.js → index-DZAGoZxO.js} +1 -1
  152. package/dist/assets/{index-BLA9-Jut.js → index-Da8qmxJG.js} +1 -1
  153. package/dist/assets/{index-Buwygoh0.js → index-DdbWvBNx.js} +1 -1
  154. package/dist/assets/{index-BYaJzDVD.js → index-DhgEdWde.js} +1 -1
  155. package/dist/assets/{index-B1BrvmAX.js → index-Dm8WLAYA.js} +1 -1
  156. package/dist/assets/{index-BULlJ3TF.js → index-DmrLER-A.js} +1 -1
  157. package/dist/assets/{index-DBz8L3lb.js → index-DqsshwKV.js} +1 -1
  158. package/dist/assets/{index-CH3yCHaX.js → index-Drtkio10.js} +1 -1
  159. package/dist/assets/{index-D1DFTwxq.js → index-Dv0pO_ZY.js} +1 -1
  160. package/dist/assets/{index-D68kNANv.js → index-DvwzAY2E.js} +1 -1
  161. package/dist/assets/{index-5aVmsxeg.js → index-HyuSkpOc.js} +1 -1
  162. package/dist/assets/{index-Dwxqhbd4.js → index-IwNZXVST.js} +1 -1
  163. package/dist/assets/{index-Bv1_89hb.js → index-Kdmse2kS.js} +1 -1
  164. package/dist/assets/{index-CR_Yj0hW.js → index-LgcDuoJg.js} +1 -1
  165. package/dist/assets/{index-CNPDulRN.js → index-X6wgkPd2.js} +1 -1
  166. package/dist/assets/{index-BjQDU7Yx.js → index-bvUTE5h2.js} +1 -1
  167. package/dist/assets/{index-BQXTC0Wr.js → index-d6anveG0.js} +1 -1
  168. package/dist/assets/{index-BxKbLOre.js → index-gaqZ1RJb.js} +1 -1
  169. package/dist/assets/{index-BvZ7ZgVE.js → index-kzmFAFx4.js} +1 -1
  170. package/dist/assets/{index-BGbf2XI9.js → index-oKp4ydqC.js} +1 -1
  171. package/dist/assets/{index-PXD6g-_z.js → index-sSPHtazF.js} +1 -1
  172. package/dist/assets/{index-DfEf3oRT.js → index-suj0HyLe.js} +1 -1
  173. package/dist/assets/{index-CUjbSh1u.js → index-w92xJb9j.js} +1 -1
  174. package/dist/assets/{index.browser.esm-CjEeoYb5.js → index.browser.esm-DFpkVJWs.js} +1 -1
  175. package/dist/assets/{index.es-BiVAkZvx.js → index.es-CeLV7iDQ.js} +1 -1
  176. package/dist/assets/{info-B2muvAt6.js → info-CshYgDvC.js} +1 -1
  177. package/dist/assets/{info-circle-uFLIsgrI.js → info-circle-CVMLwxIo.js} +1 -1
  178. package/dist/assets/{isEqual-DrMqy2rp.js → isEqual-CkVIwAaj.js} +1 -1
  179. package/dist/assets/{isPlainObject-Dbl18ckc.js → isPlainObject-6i_tcsGR.js} +1 -1
  180. package/dist/assets/{lightbulb-Dz8Xyl0J.js → lightbulb-C-32OCvD.js} +1 -1
  181. package/dist/assets/{mail-ykbuMntu.js → mail-C_Oh4b7x.js} +1 -1
  182. package/dist/assets/{midjourney-C5N15hg0.js → midjourney-ZKamLQgH.js} +1 -1
  183. package/dist/assets/{mobile-C3PjsKfR.js → mobile-BMgLvRfS.js} +1 -1
  184. package/dist/assets/{more-CaSP9zHE.js → more-DbXTbZvY.js} +1 -1
  185. package/dist/assets/{network-placeholder-BsJ4NdS7.js → network-placeholder-AxLwk9Yg.js} +1 -1
  186. package/dist/assets/{nftPlaceholder-BqmUtnGM.js → nftPlaceholder-R01VpO7T.js} +1 -1
  187. package/dist/assets/{off-D2jbrUt7.js → off-CGCIfhZC.js} +1 -1
  188. package/dist/assets/{order-COKuoHoP.js → order-35Ka3qhX.js} +1 -1
  189. package/dist/assets/{pagination-ByFwVm7b.js → pagination-LA4ZoJ7H.js} +1 -1
  190. package/dist/assets/{play-store-D5rE7tN2.js → play-store-CTwvDpGU.js} +1 -1
  191. package/dist/assets/{plus-CK0lmY6u.js → plus-9qwloIXk.js} +1 -1
  192. package/dist/assets/{price-ClrI7Hj_.js → price-CkwsSMG5.js} +1 -1
  193. package/dist/assets/{producer-BbFPIshx.js → producer-BDhzUIkg.js} +1 -1
  194. package/dist/assets/{qr-code-sDm2rRXV.js → qr-code-DCRLHNzs.js} +1 -1
  195. package/dist/assets/{recycle-horizontal-mngmf8My.js → recycle-horizontal-CbugZW1D.js} +1 -1
  196. package/dist/assets/{refresh-2uDNjbTZ.js → refresh-BIPV7r6q.js} +1 -1
  197. package/dist/assets/{reown-logo-Bx2VKhMG.js → reown-logo-DhIViQAl.js} +1 -1
  198. package/dist/assets/{search-CfhdFXHJ.js → search-C4ZAejFC.js} +1 -1
  199. package/dist/assets/{secp256k1-C-8oUEy-.js → secp256k1-1UK_AUaQ.js} +1 -1
  200. package/dist/assets/{secp256k1-DNHPf5Ba.js → secp256k1-Cighq2WG.js} +1 -1
  201. package/dist/assets/{seedream-Zc-k4Yvi.js → seedream-a0yVj7ki.js} +1 -1
  202. package/dist/assets/{send-DN5m6era.js → send-CpDY58MT.js} +1 -1
  203. package/dist/assets/{service-Bn1fC4yq.js → service-Chp_BJ_f.js} +1 -1
  204. package/dist/assets/{solana-wallets-EI9B8WXJ.js → solana-wallets-Cw-I1OPP.js} +2 -2
  205. package/dist/assets/{solana-wallets-vue-eO8v1kqB.js → solana-wallets-vue-Stz6o-M-.js} +1 -1
  206. package/dist/assets/{suno-Dhk4KXIg.js → suno-DBc3K9MC.js} +1 -1
  207. package/dist/assets/{swapHorizontal-Cc6pV_yS.js → swapHorizontal-D2QOnZSo.js} +1 -1
  208. package/dist/assets/{swapHorizontalBold-BnaQNYKu.js → swapHorizontalBold-QlMF54B8.js} +1 -1
  209. package/dist/assets/{swapHorizontalMedium-CK4kcs-_.js → swapHorizontalMedium-DHx02txr.js} +1 -1
  210. package/dist/assets/{swapHorizontalRoundedBold-DYX77gig.js → swapHorizontalRoundedBold-Bmn4B3Bo.js} +1 -1
  211. package/dist/assets/{swapVertical-BDIa7h1T.js → swapVertical-BHTVmt7x.js} +1 -1
  212. package/dist/assets/{telegram-Bn7hrs-a.js → telegram-CL5dXfCy.js} +1 -1
  213. package/dist/assets/{three-dots-7icWxbfb.js → three-dots-s4Xsmw_y.js} +1 -1
  214. package/dist/assets/{twitch-D5pbF91-.js → twitch-CFwyvaUE.js} +1 -1
  215. package/dist/assets/{twitterIcon-CeVlovVs.js → twitterIcon-D-dCwyGq.js} +1 -1
  216. package/dist/assets/{typescript-l14jPBBW.js → typescript-Ckyw8f4Q.js} +1 -1
  217. package/dist/assets/{use-form-item-BqTljuiK.js → use-form-item-DMNI7O3-.js} +1 -1
  218. package/dist/assets/validator-Ub8j9ViE.js +1 -0
  219. package/dist/assets/{verify-DQrw-hvX.js → verify-CksO1OsU.js} +1 -1
  220. package/dist/assets/{verify-filled-CrMCFj5U.js → verify-filled-BD5kQTkA.js} +1 -1
  221. package/dist/assets/{w3m-modal-CeSyPPRq.js → w3m-modal-B6E_wDN5.js} +1 -1
  222. package/dist/assets/{wallet-CxCpdFk1.js → wallet-BAmH-5N9.js} +1 -1
  223. package/dist/assets/{wallet-placeholder-DiYWqN5x.js → wallet-placeholder-s_pFcS2t.js} +1 -1
  224. package/dist/assets/{walletconnect-CsMbaNDm.js → walletconnect-DkDk8sUn.js} +1 -1
  225. package/dist/assets/{warning-circle-CvRMvkdN.js → warning-circle-Ckt1IOjv.js} +1 -1
  226. package/dist/assets/{web-2GWI6Iup.js → web-Boe1EAJ8.js} +1 -1
  227. package/dist/assets/{web-h_V_1xVy.js → web-D0R-C6vl.js} +1 -1
  228. package/dist/assets/{x-CiEXs15B.js → x-Bk8PmAYG.js} +1 -1
  229. package/dist/index.html +1 -1
  230. package/package.json +1 -1
  231. package/dist/assets/validator-BBWGl-WT.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-BiVAkZvx.js";import{E as N}from"./index-5aVmsxeg.js";import{E as se}from"./index-PXD6g-_z.js";import{d as S,H as c,E as s,z as Z,C as o,y as a,D as n,q as r,F as i,O as I,N as j,J as p,x as v,I as w,G,K as B,M as E,L as ne}from"./vendor-vue-NSDaktjZ.js";import{H as U,bm as re,dG as H,dH as K,X as q,Y as ie,S as F,cq as x,dI as ae,cp as le,o as de}from"./index-orpPOzFA.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{p as T}from"./producer-BbFPIshx.js";import{I as A,A as ue,S as pe,l as me}from"./pagination-ByFwVm7b.js";import{a as fe}from"./producer-BGNC4QeM.js";import{E as he}from"./index-CieIazTO.js";import{E as _e,a as $e}from"./index-C-1OqjJL.js";import{E as ee,a as te}from"./index-CRY-KoZ0.js";import{E as ge}from"./index-DLBPcYg6.js";import{E as k}from"./index-Buwygoh0.js";import{P as ve,N as ye}from"./NoTasks-q3Lv6tKO.js";import{E as M}from"./index-BYaJzDVD.js";import{u as Y,F as be,_ as ke}from"./Player.vue_vue_type_script_setup_true_lang-CQ6CDVNZ.js";import{E as J}from"./index-CV-Y1hCb.js";import{E as D}from"./index-DGYkSNcS.js";import{E as we}from"./index-mnfZ250E.js";import{E as Ce,a as Ve}from"./index-BRM7VSJ7.js";import{C as Se}from"./Consumption-A912L03A.js";import{a as Ue}from"./price-ClrI7Hj_.js";import{E as Pe,a as Ee}from"./index-BQK6psTe.js";import{E as Ae,b as Te,a as Fe}from"./index-B2lhMpgd.js";import{E as Ie}from"./index-BQXTC0Wr.js";import{a as Le,E as Ge}from"./index-B1BrvmAX.js";import{E as De}from"./index-BrpqKiow.js";import"./use-form-item-BqTljuiK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-BdzcL-qA.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-BBWGl-WT.js";import"./index-BsF7tVO8.js";import"./index-CNPDulRN.js";import"./typescript-l14jPBBW.js";import"./strings-beZM2Y-f.js";import"./isEqual-DrMqy2rp.js";import"./_Uint8Array-EI6rdDMg.js";import"./castArray-EsQaGbmV.js";import"./debounce-CH187K9a.js";import"./_baseIteratee-EE0Dhi3s.js";import"./index-BjQDU7Yx.js";import"./index-ChitGZ1D.js";import"./_baseClone-CWXDJGZm.js";import"./_initCloneObject-BLayr3wN.js";import"./index-IYCZlPkQ.js";import"./index-Cd_PhXbk.js";import"./dropdown-DNCyliAd.js";import"./index-Cu41y2Fl.js";import"./index-D1DFTwxq.js";import"./isPlainObject-Dbl18ckc.js";const ze=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},Ze={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},je={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Ne={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,m,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Re,[s("div",Ze,[Z(e.$slots,"config",{},void 0,!0)]),s("div",je,[Z(e.$slots,"result",{},void 0,!0)]),s("div",Ne,[Z(e.$slots,"preview",{},void 0,!0)]),o(f,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:a(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o(h,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:a(()=>[Z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const qe=U(ze,[["render",Be],["__scopeId","data-v-03e2979b"]]),Me=S({name:"TypeSelector",components:{ElSelect:$e,ElOption:_e,ElSwitch:he,InfoIcon:A},data(){return{options:[{label:"FUZZ-2.0 Pro",value:"FUZZ-2.0 Pro",desc:this.$t("producer.model.fuzz20proDesc")},{label:"FUZZ-2.0",value:"FUZZ-2.0",desc:this.$t("producer.model.fuzz20desc")},{label:"FUZZ-2.0 Raw",value:"FUZZ-2.0 Raw",desc:this.$t("producer.model.fuzz20rawDesc")},{label:"FUZZ-1.1 Pro",value:"FUZZ-1.1 Pro",desc:this.$t("producer.model.fuzz11proDesc")},{label:"FUZZ-1.1",value:"FUZZ-1.1",desc:this.$t("producer.model.fuzz11desc")},{label:"FUZZ-1.0 Pro",value:"FUZZ-1.0 Pro",desc:this.$t("producer.model.fuzz10proDesc")},{label:"FUZZ-1.0",value:"FUZZ-1.0",desc:this.$t("producer.model.fuzz10desc")},{label:"FUZZ-0.8",value:"FUZZ-0.8",desc:this.$t("producer.model.fuzz08desc")}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||(this.model=fe)}}),Oe={class:"mb-3"},We={class:"flex items-center mb-1"},He={class:"text-sm font-bold"},Ke={class:"model-option"},Ye={class:"model-option-name"},Je={class:"model-option-desc"},Xe={key:0,class:"flex items-center justify-between mb-3"},Qe={class:"flex items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,l,y,b){const d=n("el-option"),f=n("el-select"),h=n("info-icon"),g=n("el-switch");return r(),c("div",null,[s("div",Oe,[s("div",We,[s("span",He,i(e.$t("producer.name.model")),1)]),o(f,{modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=_=>e.model=_),class:"w-full model-select",size:"default",placeholder:e.$t("producer.placeholder.select")},{default:a(()=>[(r(!0),c(I,null,j(e.options,_=>(r(),v(d,{key:_.value,label:_.label,value:_.value},{default:a(()=>[s("div",Ke,[s("span",Ye,i(_.label),1),s("span",Je,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",Xe,[s("div",Qe,[s("span",xe,i(e.$t("producer.name.instrumental")),1),o(h,{content:e.$t("producer.description.instrumental")},null,8,["content"])]),o(g,{modelValue:e.instrumental,"onUpdate:modelValue":t[1]||(t[1]=_=>e.instrumental=_)},null,8,["modelValue"])])):p("",!0)])}const tt=U(Me,[["render",et],["__scopeId","data-v-42496b9a"]]),ot=S({name:"UploadAudio",components:{ElUpload:ge,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},emits:["change"],data(){return{fileList:[],uploadUrl:re()+"/api/v1/files/",audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){const e=this.$store.state.producer?.config?.action;return e==="upload_extend"||e==="upload_cover"},uploadAction:{get(){return this.$store.state.producer?.config?.action||"upload_extend"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit("change",e)}}},methods:{onExceed(){k.warning(this.$t("producer.message.uploadReferencesExceed"))},onError(){this.uploading=!1,k.error(this.$t("producer.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},m=this.credential?.token;if(!m){console.error("no token specified"),this.uploading=!1;return}this.uploading=!0,k.info(this.$t("producer.message.startingUploadAudio"));try{const y=(await T.upload(t,{token:m})).data?.data.audio_id;this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,audio_id:y,action:"upload_extend"}),k.success(this.$t("producer.message.startUploadAudioSuccess"))}catch(l){k.error(l?.response?.data?.error?.message||this.$t("producer.message.startUploadAudioFailed"))}finally{this.uploading=!1}}}}),st={class:"relative"},nt={class:"flex justify-between items-center mb-2"},rt={class:"flex justify-start items-center"},it={class:"text-sm font-bold"},at={key:0,class:"mb-2"},lt=["src"],dt={key:1,class:"mt-1"};function ct(e,t,m,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-upload"),_=n("el-radio-button"),P=n("el-radio-group");return r(),c("div",st,[s("div",nt,[s("div",rt,[s("span",it,i(e.$t("producer.name.referenceAudios")),1),o(d,{content:e.$t("producer.description.uploadAudios")},null,8,["content"])]),o(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),name:"file",limit:1,class:"upload-wrapper inline-upload",action:e.uploadUrl,accept:".mp3,.wav,.m4a,audio/*","show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:a(()=>[o(h,{round:"",type:"primary",size:"small",loading:e.uploading},{default:a(()=>[o(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+i(e.$t("producer.button.uploadAudios")),1)]),_:1},8,["loading"])]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),e.audioPreviewUrl?(r(),c("div",at,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,lt)])):p("",!0),e.hasUploadedAudio?(r(),c("div",dt,[o(P,{modelValue:e.uploadAction,"onUpdate:modelValue":t[1]||(t[1]=$=>e.uploadAction=$),size:"small"},{default:a(()=>[o(_,{value:"upload_extend"},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1}),o(_,{value:"upload_cover"},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1})]),_:1},8,["modelValue"])])):p("",!0)])}const ut=U(ot,[["render",ct],["__scopeId","data-v-355e932b"]]),pt="",mt=S({name:"PromptInput",components:{PromptTextarea:ve},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=pt)}});function ft(e,t,m,l,y,b){const d=n("prompt-textarea");return r(),v(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),title:e.$t("producer.name.songDescription"),info:e.$t("producer.description.prompt"),placeholder:e.$t("producer.placeholder.prompt"),"min-rows":5,"max-rows":14},null,8,["modelValue","title","info","placeholder"])}const ht=U(mt,[["render",ft]]),_t="",$t=S({name:"LyricInput",components:{ElInput:M,ElButton:N,FontAwesomeIcon:L,InfoIcon:A},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential}},mounted(){this.lyric||(this.lyric=_t)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,k.info(this.$t("producer.message.generatingLyrics"));try{const l=(await T.lyric({prompt:t},{token:e})).data?.data;l?.text&&(this.lyric=l.text,l?.title&&!this.config?.title&&this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:l.text,title:l.title}),k.success(this.$t("producer.message.generateLyricsSuccess")))}catch{k.error(this.$t("producer.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),gt={class:"field"},vt={class:"flex items-center justify-between mb-1"},yt={class:"flex items-center"},bt={class:"text-sm font-bold"};function kt(e,t,m,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-input");return r(),c("div",gt,[s("div",vt,[s("div",yt,[s("span",bt,i(e.$t("producer.name.lyrics")),1),o(d,{content:e.$t("producer.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(r(),v(h,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:a(()=>[e.generatingLyrics?p("",!0):(r(),v(f,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),w(" "+i(e.$t("producer.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):p("",!0)]),e.config?.action!=="extend"?(r(),v(g,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(r(),v(g,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const wt=U($t,[["render",kt],["__scopeId","data-v-88c6da2b"]]),Ct=S({name:"StyleInput",components:{ElInput:M,InfoIcon:A},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style:e})}}}}),Vt={class:"field"},St={class:"flex items-center justify-between mb-1"},Ut={class:"flex items-center"},Pt={class:"text-sm font-bold"};function Et(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Vt,[s("div",St,[s("div",Ut,[s("span",Pt,i(e.$t("producer.name.style")),1),o(d,{content:e.$t("producer.description.style")},null,8,["content"])])]),o(f,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("producer.placeholder.style")},null,8,["modelValue","placeholder"])])}const At=U(Ct,[["render",Et]]),Tt=S({name:"TitleInput",components:{ElInput:M,InfoIcon:A},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,title:e})}}}}),Ft={class:"field"},It={class:"flex items-center mb-1"},Lt={class:"text-sm font-bold"};function Gt(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Ft,[s("div",It,[s("span",Lt,i(e.$t("producer.name.title")),1),o(d,{content:e.$t("producer.description.title")},null,8,["content"])]),o(f,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=h=>e.title=h),placeholder:e.$t("producer.placeholder.title")},null,8,["modelValue","placeholder"])])}const Dt=U(Tt,[["render",Gt]]),zt=S({name:"ExtendFromInput",components:{ElImage:D,ElIcon:q,ElInputNumber:J,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Y,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Rt={class:"field"},Zt={class:"box"},jt={class:"title font-bold"},Nt={class:"input-wrapper"},Bt={class:"task"},qt={class:"left"},Mt={key:2,class:"duration"},Ot={class:"info"},Wt={class:"title"},Ht={class:"style"};function Kt(e,t,m,l,y,b){const d=n("el-input-number"),f=n("el-image"),h=n("video-pause"),g=n("el-icon"),_=n("video-play"),P=B("loading");return r(),c("div",Rt,[s("div",Zt,[s("h2",jt,i(e.$t("producer.name.extend")),1),s("div",Nt,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=$=>e.value=$),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",Bt,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",qt,[o(f,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=$=>e.onPause(e.audio))},[o(g,null,{default:a(()=>[o(h)]),_:1})])):p("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=$=>e.onPlay(e.audio))},[o(g,null,{default:a(()=>[o(_)]),_:1})])):p("",!0),e.audio?.duration?(r(),c("div",Mt,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Ot,[s("h2",Wt,i(e.audio?.title),1),s("p",Ht,i(e.audio?.style),1)])])):p("",!0)])])}const Yt=U(zt,[["render",Kt],["__scopeId","data-v-26d43480"]]),Jt=S({name:"CoverFromInput",components:{ElImage:D,ElIcon:q,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Y,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Xt={class:"field"},Qt={class:"box"},xt={class:"title font-bold"},eo={class:"task"},to={class:"left"},oo={key:2,class:"duration"},so={class:"info"},no={class:"title"},ro={class:"style"};function io(e,t,m,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=B("loading");return r(),c("div",Xt,[s("div",Qt,[s("h2",xt,i(e.$t("producer.name.cover")),1)]),s("div",eo,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",to,[o(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=P=>e.onPause(e.audio))},[o(h,null,{default:a(()=>[o(f)]),_:1})])):p("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=P=>e.onPlay(e.audio))},[o(h,null,{default:a(()=>[o(g)]),_:1})])):p("",!0),e.audio?.duration?(r(),c("div",oo,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[_,!e.audio?.audio_url]]),s("div",so,[s("h2",no,i(e.audio?.title),1),s("p",ro,i(e.audio?.style),1)])])):p("",!0)])])}const ao=U(Jt,[["render",io],["__scopeId","data-v-d8a8e583"]]),lo=S({name:"VocalGenderSelector",components:{ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),co={class:"mb-2"},uo={class:"flex items-center mb-1"},po={class:"text-sm font-bold"};function mo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",co,[s("div",uo,[s("span",po,i(e.$t("producer.name.vocalGender")),1),o(d,{content:e.$t("producer.description.vocalGender")},null,8,["content"])]),o(h,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=g=>e.vocalGender=g)},{default:a(()=>[o(f,{value:""},{default:a(()=>[w(i(e.$t("producer.gender.auto")),1)]),_:1}),o(f,{value:"f"},{default:a(()=>[w(i(e.$t("producer.gender.female")),1)]),_:1}),o(f,{value:"m"},{default:a(()=>[w(i(e.$t("producer.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const fo=U(lo,[["render",mo]]),ho=S({name:"AdvancedParams",components:{ElCollapse:Ve,ElCollapseItem:Ce,ElInput:M,ElSlider:we,ElInputNumber:J,InfoIcon:A},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,seed:e})}}}}),_o={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},go={class:"text-xs font-bold"},vo={key:1,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={class:"mb-3"},wo={class:"flex items-center justify-between mb-1"},Co={class:"flex items-center"},Vo={class:"text-xs font-bold"},So={class:"text-xs text-[var(--el-text-color-secondary)]"},Uo={class:"mb-3"},Po={class:"flex items-center justify-between mb-1"},Eo={class:"flex items-center"},Ao={class:"text-xs font-bold"},To={class:"text-xs text-[var(--el-text-color-secondary)]"},Fo={key:2,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},Lo={class:"flex items-center"},Go={class:"text-xs font-bold"},Do={class:"text-xs text-[var(--el-text-color-secondary)]"},zo={class:"mb-3"},Ro={class:"flex items-center mb-1"},Zo={class:"text-xs font-bold"};function jo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input"),h=n("el-slider"),g=n("el-input-number"),_=n("el-collapse-item"),P=n("el-collapse");return r(),v(P,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=$=>e.activeNames=$),class:"advanced-collapse"},{default:a(()=>[o(_,{title:e.$t("producer.name.advancedParams"),name:"advanced"},{default:a(()=>[e.config?.custom?(r(),c("div",_o,[s("div",$o,[s("span",go,i(e.$t("producer.name.styleNegative")),1),o(d,{content:e.$t("producer.description.styleNegative")},null,8,["content"])]),o(f,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=$=>e.styleNegative=$),size:"small",placeholder:e.$t("producer.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):p("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",vo,[s("div",yo,[s("span",bo,i(e.$t("producer.name.lyricPrompt")),1),o(d,{content:e.$t("producer.description.lyricPrompt")},null,8,["content"])]),o(f,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=$=>e.lyricPrompt=$),size:"small",placeholder:e.$t("producer.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):p("",!0),s("div",ko,[s("div",wo,[s("div",Co,[s("span",Vo,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",So,i(e.weirdness??50),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:100,step:1},null,8,["modelValue"])]),s("div",Uo,[s("div",Po,[s("div",Eo,[s("span",Ao,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",To,i(e.soundStrength??50),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:0,max:100,step:1},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Fo,[s("div",Io,[s("div",Lo,[s("span",Go,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Do,i(e.lyricsStrength??50),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:100,step:1},null,8,["modelValue"])])):p("",!0),s("div",zo,[s("div",Ro,[s("span",Zo,i(e.$t("producer.name.seed")),1),o(d,{content:e.$t("producer.description.seed")},null,8,["content"])]),o(g,{modelValue:e.seed,"onUpdate:modelValue":t[5]||(t[5]=$=>e.seed=$),min:0,controls:!1,size:"small",placeholder:e.$t("producer.placeholder.seed"),class:"w-full"},null,8,["modelValue","placeholder"])])]),_:1},8,["title"])]),_:1},8,["modelValue"])}const No=U(ho,[["render",jo],["__scopeId","data-v-44ad862b"]]),Bo=S({name:"ReplaceSectionInput",components:{ElInputNumber:J,ElImage:D,InfoIcon:A},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"})}}}),qo={class:"field"},Mo={class:"flex items-center mb-2"},Oo={class:"text-sm font-bold m-0"},Wo={key:0,class:"task mb-2"},Ho={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ko={class:"info flex-1 min-w-0"},Yo={class:"text-sm font-bold m-0 truncate"},Jo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Qo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",qo,[s("div",Mo,[s("h2",Oo,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Wo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Ho,[o(f,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[g,!e.audio?.audio_url]]),s("div",Ko,[s("h2",Yo,i(e.audio?.title),1),s("p",Jo,i(e.audio?.style),1)])])])):p("",!0),s("div",Xo,[o(h,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=_=>e.replaceSectionStart=_),class:"flex-1",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),o(h,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=_=>e.replaceSectionEnd=_),class:"flex-1",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const xo=U(Bo,[["render",Qo]]),es=S({name:"PresetPanel",components:{TypeSelector:tt,PromptInput:ht,LyricInput:wt,StyleInput:At,TitleInput:Dt,ExtendFromInput:Yt,CoverFromInput:ao,UploadAudio:ut,VocalGenderSelector:fo,AdvancedParams:No,ReplaceSectionInput:xo,FontAwesomeIcon:L,ElButton:N,ElTabs:Ee,ElTabPane:Pe,Consumption:Se},emits:["generate"],computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?"custom":"simple"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e==="custom"})}},consumption(){return Ue(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},generateButtonText(){const e=this.config?.action;return e==="extend"||e==="upload_extend"?this.$t("producer.button.extend"):e==="cover"||e==="upload_cover"?this.$t("producer.button.cover_music"):e==="variation"?this.$t("producer.button.variation"):e==="replace_section"?this.$t("producer.button.replace_section"):e==="stems"?this.$t("producer.button.get_stems"):e==="swap_vocals"?this.$t("producer.button.swap_vocals"):e==="swap_instrumentals"?this.$t("producer.button.swap_instrumentals"):this.$t("producer.button.generate")}},methods:{onGenerate(){this.$emit("generate")},onClearAll(){this.$store.commit("producer/setConfig",{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:"",lyric:"",style:"",title:"",model:this.$store.state.producer?.config?.model})}}}),ts={class:"flex flex-col h-full"},os={class:"flex-1 overflow-y-auto p-5"},ss={class:"pt-2 px-1"},ns={class:"pt-2 px-1"},rs={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},is={class:"flex gap-2 w-full"};function as(e,t,m,l,y,b){const d=n("type-selector"),f=n("upload-audio"),h=n("prompt-input"),g=n("extend-from-input"),_=n("cover-from-input"),P=n("replace-section-input"),$=n("advanced-params"),C=n("el-tab-pane"),z=n("lyric-input"),R=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),u=n("el-tabs"),V=n("consumption"),X=n("font-awesome-icon"),Q=n("el-button");return r(),c("div",ts,[s("div",os,[o(u,{modelValue:e.mode,"onUpdate:modelValue":t[0]||(t[0]=oe=>e.mode=oe),class:"producer-mode-tabs",stretch:""},{default:a(()=>[o(C,{label:e.$t("producer.mode.simple"),name:"simple"},{default:a(()=>[s("div",ss,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),o(h,{class:"mb-4"}),e.config?.action==="extend"?(r(),v(g,{key:0,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",ns,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(R,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",rs,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",is,[o(Q,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(X,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(Q,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(X,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const ls=U(es,[["render",as],["__scopeId","data-v-4a4b209e"]]),ds=x("producer"),cs=S({name:"TaskPreview",components:{ElImage:D,ElIcon:q,ElTooltip:Ie,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Fe,ElDropdownMenu:Te,ElDropdownItem:Ae,Loading:ie,ApiCodeDialog:ue},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,apiCodePath:"/producer/audios",apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===F.Request},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(m=>({...m,action:t})):e},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{useFormatDuring:Y,onViewCode(){const e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([m,l])=>{m==="application_id"||m==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[m]=l))}),this.apiCodeBody=t,this.apiCodePath="/producer/audios",this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.debug("set config",t),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation();const l=new URL(t).pathname,y=l.substring(l.lastIndexOf("/")+1);fetch(t).then(b=>b.blob()).then(b=>{be.saveAs(b,y)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),k.error(this.$t("producer.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,m)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),m(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):m(new Error("Video URL not found in response"))}).catch(b=>{m(b)})})},onPreview(e,t){e.stopPropagation(),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},onVariation(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:"variation",audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl("swap_vocals",e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl("swap_instrumentals",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,k.info(this.$t("producer.message.fetchingWav"));const l=(await T.wav({audio_id:e.id},{token:t})).data?.data,y=Array.isArray(l)?l[0]?.file_url:l?.file_url||l?.audio_url;y?this.onDownload(null,y):k.error(this.$t("producer.message.fetchWavFailed"))}catch{k.error(this.$t("producer.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){const m={action:e,audio_id:t,callback_url:ds},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(m,{token:l}).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(y=>{k.error(y?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("producer/getTasks",{limit:30,offset:0})}}}),us={class:"task"},ps=["onClick"],ms={class:"left"},fs=["onClick"],hs=["onClick"],_s={key:2,class:"duration"},$s={class:"info"},gs={class:"title"},vs={class:"style"},ys={class:"right"},bs={class:"el-dropdown-link"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},Cs={class:"el-dropdown-link"};function Vs(e,t,m,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=n("font-awesome-icon"),P=n("el-tooltip"),$=n("Loading"),C=n("el-dropdown-item"),z=n("el-dropdown-menu"),R=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",us,[(r(!0),c(I,null,j(e.audios,u=>(r(),c("div",{key:u.id,class:"audio",onClick:E(V=>e.onClick(u),["stop"])},[G((r(),c("div",ms,[o(d,{src:u?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),u?.audio_url&&e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(u),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,fs)):p("",!0),u?.audio_url&&(e.$store.state?.producer?.audio?.id!==u.id||e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(u),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,hs)):p("",!0),u?.duration?(r(),c("div",_s,i(e.useFormatDuring(u?.duration)),1)):p("",!0)])),[[W,!u?.audio_url]]),s("div",$s,[s("h2",gs,i(u?.title),1),s("p",vs,i(u?.style),1)]),s("div",ys,[o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(u)},{default:a(()=>[s("div",ks,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,u?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(u)},{default:a(()=>[s("div",ws,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",bs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(V=>e.onCover(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),u?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(e.onViewCode,["stop"])},{default:a(()=>[o(_,{icon:"fa-solid fa-code",class:"mr-1"}),w(" "+i(e.$t("common.button.viewCode")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:a(()=>[s("span",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,ps))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=u=>e.apiCodeVisible=u),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Ss=U(cs,[["render",Vs]]),Us=S({name:"RecentPanel",components:{ElSkeletonItem:Ge,ElSkeleton:Le,TaskPreview:Ss,Player:ke,NoTasks:ye,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ps={key:0,class:"tasks"},Es={class:"left w-[70px] p-[10px] flex items-center"},As={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ts={key:2,class:"w-full flex-1 flex items-center justify-center"},Fs={class:"h-20"};function Is(e,t,m,l,y,b){const d=n("el-skeleton-item"),f=n("el-skeleton"),h=n("task-preview"),g=n("scroll-list"),_=n("no-tasks"),P=n("player");return r(),c(I,null,[e.tasks?.items===void 0?(r(),c("div",Ps,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Es,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",As,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(r(),v(g,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=$=>e.$emit("reach-top"))},{default:a(()=>[(r(!0),c(I,null,j(e.tasks?.items,($,C)=>(r(),v(h,{key:C,"model-value":$,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(r(),c("div",Ts,[o(_)])):p("",!0),G(s("div",Fs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const Ls=U(Us,[["render",Is]]),Gs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:De,ElIcon:q},computed:{audio(){return this.$store.state.producer?.audio}}}),Ds={key:0,class:"size-full overflow-hidden"},zs={class:"relative h-[300px]"},Rs={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Zs={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},js={class:"p-4"},Ns={class:"flex items-center font-bold mb-2"},Bs={class:"text-[var(--el-text-color-regular)] mb-2"},qs={class:"text-xs text-[var(--el-text-color-regular)]"},Ms={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Os={key:1,class:"w-full h-full"};function Ws(e,t,m,l,y,b){const d=n("icon-picture"),f=n("el-icon"),h=n("el-image"),g=n("el-avatar");return e.audio?.object?(r(),c("div",Ds,[s("div",zs,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Rs,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Zs,i(e.audio?.title),1)]),s("div",js,[s("div",Ns,[o(g,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,i(e.audio?.title),1)]),s("p",Bs,i(e.audio?.style),1),s("p",qs,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",Ms,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Os))}const Hs=U(Gs,[["render",Ws]]),Ks=x("producer"),Ys=S({name:"ProducerIndex",components:{Layout:qe,ConfigPanel:ls,RecentPanel:Ls,PreviewPanel:Hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===F.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===F.Request},needApply(){return this.$store.state.producer.status.getApplications===F.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.applications}},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 me({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("producer/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("producer/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){de.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ce&&k.error(this.$t("application.message.alreadyApplied"))})},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:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Ks},t=this.credential?.token;if(!t){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),le("producer",T.audio(e,{token:t})).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(m=>{k.error(m?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Js(e,t,m,l,y,b){const d=n("config-panel"),f=n("recent-panel"),h=n("preview-panel"),g=n("layout");return r(),v(g,null,{config:a(()=>[o(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:a(()=>[o(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:a(()=>[o(h)]),_:1})}const er=U(Ys,[["render",Js],["__scopeId","data-v-d6806962"]]);export{er as default};
1
+ import{F as L}from"./index.es-CeLV7iDQ.js";import{E as N}from"./index-HyuSkpOc.js";import{E as se}from"./index-sSPHtazF.js";import{d as S,H as c,E as s,z as Z,C as o,y as a,D as n,q as r,F as i,O as I,N as j,J as p,x as v,I as w,G,K as B,M as E,L as ne}from"./vendor-vue-NSDaktjZ.js";import{H as U,bm as re,dG as H,dH as K,X as q,Y as ie,S as F,cq as x,dI as ae,cp as le,o as de}from"./index-D0zoWl0t.js";import{a as ce}from"./errorCode-Cqj9Td_Z.js";import{p as T}from"./producer-BDhzUIkg.js";import{I as A,A as ue,S as pe,l as me}from"./pagination-LA4ZoJ7H.js";import{a as fe}from"./producer-BGNC4QeM.js";import{E as he}from"./index-C4eWIBBB.js";import{E as _e,a as $e}from"./index-Bu5gNvNl.js";import{E as ee,a as te}from"./index-93S-kjnW.js";import{E as ge}from"./index-BXXvYpXX.js";import{E as k}from"./index-DdbWvBNx.js";import{P as ve,N as ye}from"./NoTasks-B9brz0GL.js";import{E as M}from"./index-DhgEdWde.js";import{u as Y,F as be,_ as ke}from"./Player.vue_vue_type_script_setup_true_lang-BeDKAkXQ.js";import{E as J}from"./index-C-rnAsAl.js";import{E as D}from"./index-Cq8TQPr3.js";import{E as we}from"./index-COfTdmqq.js";import{E as Ce,a as Ve}from"./index-BgdH8W9S.js";import{C as Se}from"./Consumption-HJqRoAYb.js";import{a as Ue}from"./price-CkwsSMG5.js";import{E as Pe,a as Ee}from"./index-CwhBXyp0.js";import{E as Ae,b as Te,a as Fe}from"./index-D2qrPHew.js";import{E as Ie}from"./index-d6anveG0.js";import{a as Le,E as Ge}from"./index-Dm8WLAYA.js";import{E as De}from"./index-B4uEviPn.js";import"./use-form-item-DMNI7O3-.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-CxiUjIMX.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-Ub8j9ViE.js";import"./index-BTcVnXUS.js";import"./index-X6wgkPd2.js";import"./typescript-Ckyw8f4Q.js";import"./strings-beZM2Y-f.js";import"./isEqual-CkVIwAaj.js";import"./_Uint8Array-Z75Sa3E8.js";import"./castArray-BOBSHmEl.js";import"./debounce-B-6yjswC.js";import"./_baseIteratee-BL_LXYAx.js";import"./index-bvUTE5h2.js";import"./index-Bo14Ux3S.js";import"./_baseClone-umQ6kPjt.js";import"./_initCloneObject-CCK9Xyv4.js";import"./index-BStjDDyx.js";import"./index-BpS-uRzc.js";import"./dropdown-97VRadx2.js";import"./index-Cu41y2Fl.js";import"./index-Dv0pO_ZY.js";import"./isPlainObject-6i_tcsGR.js";const ze=S({name:"LayoutProducer",components:{ElDrawer:se,ElButton:N,FontAwesomeIcon:L},data(){return{drawer:!1,preview:!1}},computed:{}}),Re={class:"main flex flex-row flex-1"},Ze={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},je={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},Ne={class:"preview h-full w-[300px] flex flex-col"};function Be(e,t,m,l,y,b){const d=n("font-awesome-icon"),f=n("el-button"),h=n("el-drawer");return r(),c("div",Re,[s("div",Ze,[Z(e.$slots,"config",{},void 0,!0)]),s("div",je,[Z(e.$slots,"result",{},void 0,!0)]),s("div",Ne,[Z(e.$slots,"preview",{},void 0,!0)]),o(f,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:a(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o(h,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:a(()=>[Z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const qe=U(ze,[["render",Be],["__scopeId","data-v-03e2979b"]]),Me=S({name:"TypeSelector",components:{ElSelect:$e,ElOption:_e,ElSwitch:he,InfoIcon:A},data(){return{options:[{label:"FUZZ-2.0 Pro",value:"FUZZ-2.0 Pro",desc:this.$t("producer.model.fuzz20proDesc")},{label:"FUZZ-2.0",value:"FUZZ-2.0",desc:this.$t("producer.model.fuzz20desc")},{label:"FUZZ-2.0 Raw",value:"FUZZ-2.0 Raw",desc:this.$t("producer.model.fuzz20rawDesc")},{label:"FUZZ-1.1 Pro",value:"FUZZ-1.1 Pro",desc:this.$t("producer.model.fuzz11proDesc")},{label:"FUZZ-1.1",value:"FUZZ-1.1",desc:this.$t("producer.model.fuzz11desc")},{label:"FUZZ-1.0 Pro",value:"FUZZ-1.0 Pro",desc:this.$t("producer.model.fuzz10proDesc")},{label:"FUZZ-1.0",value:"FUZZ-1.0",desc:this.$t("producer.model.fuzz10desc")},{label:"FUZZ-0.8",value:"FUZZ-0.8",desc:this.$t("producer.model.fuzz08desc")}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||(this.model=fe)}}),Oe={class:"mb-3"},We={class:"flex items-center mb-1"},He={class:"text-sm font-bold"},Ke={class:"model-option"},Ye={class:"model-option-name"},Je={class:"model-option-desc"},Xe={key:0,class:"flex items-center justify-between mb-3"},Qe={class:"flex items-center"},xe={class:"text-sm font-bold"};function et(e,t,m,l,y,b){const d=n("el-option"),f=n("el-select"),h=n("info-icon"),g=n("el-switch");return r(),c("div",null,[s("div",Oe,[s("div",We,[s("span",He,i(e.$t("producer.name.model")),1)]),o(f,{modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=_=>e.model=_),class:"w-full model-select",size:"default",placeholder:e.$t("producer.placeholder.select")},{default:a(()=>[(r(!0),c(I,null,j(e.options,_=>(r(),v(d,{key:_.value,label:_.label,value:_.value},{default:a(()=>[s("div",Ke,[s("span",Ye,i(_.label),1),s("span",Je,i(_.desc),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(r(),c("div",Xe,[s("div",Qe,[s("span",xe,i(e.$t("producer.name.instrumental")),1),o(h,{content:e.$t("producer.description.instrumental")},null,8,["content"])]),o(g,{modelValue:e.instrumental,"onUpdate:modelValue":t[1]||(t[1]=_=>e.instrumental=_)},null,8,["modelValue"])])):p("",!0)])}const tt=U(Me,[["render",et],["__scopeId","data-v-42496b9a"]]),ot=S({name:"UploadAudio",components:{ElUpload:ge,ElButton:N,ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A,FontAwesomeIcon:L},emits:["change"],data(){return{fileList:[],uploadUrl:re()+"/api/v1/files/",audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){const e=this.$store.state.producer?.config?.action;return e==="upload_extend"||e==="upload_cover"},uploadAction:{get(){return this.$store.state.producer?.config?.action||"upload_extend"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit("change",e)}}},methods:{onExceed(){k.warning(this.$t("producer.message.uploadReferencesExceed"))},onError(){this.uploading=!1,k.error(this.$t("producer.message.uploadReferencesError"))},async onSuccess(){const e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){const t={audio_url:e},m=this.credential?.token;if(!m){console.error("no token specified"),this.uploading=!1;return}this.uploading=!0,k.info(this.$t("producer.message.startingUploadAudio"));try{const y=(await T.upload(t,{token:m})).data?.data.audio_id;this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,audio_id:y,action:"upload_extend"}),k.success(this.$t("producer.message.startUploadAudioSuccess"))}catch(l){k.error(l?.response?.data?.error?.message||this.$t("producer.message.startUploadAudioFailed"))}finally{this.uploading=!1}}}}),st={class:"relative"},nt={class:"flex justify-between items-center mb-2"},rt={class:"flex justify-start items-center"},it={class:"text-sm font-bold"},at={key:0,class:"mb-2"},lt=["src"],dt={key:1,class:"mt-1"};function ct(e,t,m,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-upload"),_=n("el-radio-button"),P=n("el-radio-group");return r(),c("div",st,[s("div",nt,[s("div",rt,[s("span",it,i(e.$t("producer.name.referenceAudios")),1),o(d,{content:e.$t("producer.description.uploadAudios")},null,8,["content"])]),o(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),name:"file",limit:1,class:"upload-wrapper inline-upload",action:e.uploadUrl,accept:".mp3,.wav,.m4a,audio/*","show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{default:a(()=>[o(h,{round:"",type:"primary",size:"small",loading:e.uploading},{default:a(()=>[o(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+i(e.$t("producer.button.uploadAudios")),1)]),_:1},8,["loading"])]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),e.audioPreviewUrl?(r(),c("div",at,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,lt)])):p("",!0),e.hasUploadedAudio?(r(),c("div",dt,[o(P,{modelValue:e.uploadAction,"onUpdate:modelValue":t[1]||(t[1]=$=>e.uploadAction=$),size:"small"},{default:a(()=>[o(_,{value:"upload_extend"},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1}),o(_,{value:"upload_cover"},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1})]),_:1},8,["modelValue"])])):p("",!0)])}const ut=U(ot,[["render",ct],["__scopeId","data-v-355e932b"]]),pt="",mt=S({name:"PromptInput",components:{PromptTextarea:ve},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=pt)}});function ft(e,t,m,l,y,b){const d=n("prompt-textarea");return r(),v(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),title:e.$t("producer.name.songDescription"),info:e.$t("producer.description.prompt"),placeholder:e.$t("producer.placeholder.prompt"),"min-rows":5,"max-rows":14},null,8,["modelValue","title","info","placeholder"])}const ht=U(mt,[["render",ft]]),_t="",$t=S({name:"LyricInput",components:{ElInput:M,ElButton:N,FontAwesomeIcon:L,InfoIcon:A},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential}},mounted(){this.lyric||(this.lyric=_t)},methods:{async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,k.info(this.$t("producer.message.generatingLyrics"));try{const l=(await T.lyric({prompt:t},{token:e})).data?.data;l?.text&&(this.lyric=l.text,l?.title&&!this.config?.title&&this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric:l.text,title:l.title}),k.success(this.$t("producer.message.generateLyricsSuccess")))}catch{k.error(this.$t("producer.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),gt={class:"field"},vt={class:"flex items-center justify-between mb-1"},yt={class:"flex items-center"},bt={class:"text-sm font-bold"};function kt(e,t,m,l,y,b){const d=n("info-icon"),f=n("font-awesome-icon"),h=n("el-button"),g=n("el-input");return r(),c("div",gt,[s("div",vt,[s("div",yt,[s("span",bt,i(e.$t("producer.name.lyrics")),1),o(d,{content:e.$t("producer.description.lyrics")},null,8,["content"])]),e.config?.action!=="extend"?(r(),v(h,{key:0,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:a(()=>[e.generatingLyrics?p("",!0):(r(),v(f,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),w(" "+i(e.$t("producer.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):p("",!0)]),e.config?.action!=="extend"?(r(),v(g,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[0]||(t[0]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(r(),v(g,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("producer.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"]))])}const wt=U($t,[["render",kt],["__scopeId","data-v-88c6da2b"]]),Ct=S({name:"StyleInput",components:{ElInput:M,InfoIcon:A},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style:e})}}}}),Vt={class:"field"},St={class:"flex items-center justify-between mb-1"},Ut={class:"flex items-center"},Pt={class:"text-sm font-bold"};function Et(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Vt,[s("div",St,[s("div",Ut,[s("span",Pt,i(e.$t("producer.name.style")),1),o(d,{content:e.$t("producer.description.style")},null,8,["content"])])]),o(f,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=h=>e.style=h),rows:2,type:"textarea",placeholder:e.$t("producer.placeholder.style")},null,8,["modelValue","placeholder"])])}const At=U(Ct,[["render",Et]]),Tt=S({name:"TitleInput",components:{ElInput:M,InfoIcon:A},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,title:e})}}}}),Ft={class:"field"},It={class:"flex items-center mb-1"},Lt={class:"text-sm font-bold"};function Gt(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input");return r(),c("div",Ft,[s("div",It,[s("span",Lt,i(e.$t("producer.name.title")),1),o(d,{content:e.$t("producer.description.title")},null,8,["content"])]),o(f,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=h=>e.title=h),placeholder:e.$t("producer.placeholder.title")},null,8,["modelValue","placeholder"])])}const Dt=U(Tt,[["render",Gt]]),zt=S({name:"ExtendFromInput",components:{ElImage:D,ElIcon:q,ElInputNumber:J,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Y,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Rt={class:"field"},Zt={class:"box"},jt={class:"title font-bold"},Nt={class:"input-wrapper"},Bt={class:"task"},qt={class:"left"},Mt={key:2,class:"duration"},Ot={class:"info"},Wt={class:"title"},Ht={class:"style"};function Kt(e,t,m,l,y,b){const d=n("el-input-number"),f=n("el-image"),h=n("video-pause"),g=n("el-icon"),_=n("video-play"),P=B("loading");return r(),c("div",Rt,[s("div",Zt,[s("h2",jt,i(e.$t("producer.name.extend")),1),s("div",Nt,[o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=$=>e.value=$),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",Bt,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[3]||(t[3]=$=>e.onClick(e.audio))},[G((r(),c("div",qt,[o(f,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=$=>e.onPause(e.audio))},[o(g,null,{default:a(()=>[o(h)]),_:1})])):p("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=$=>e.onPlay(e.audio))},[o(g,null,{default:a(()=>[o(_)]),_:1})])):p("",!0),e.audio?.duration?(r(),c("div",Mt,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[P,!e.audio?.audio_url]]),s("div",Ot,[s("h2",Wt,i(e.audio?.title),1),s("p",Ht,i(e.audio?.style),1)])])):p("",!0)])])}const Yt=U(zt,[["render",Kt],["__scopeId","data-v-26d43480"]]),Jt=S({name:"CoverFromInput",components:{ElImage:D,ElIcon:q,VideoPlay:K,VideoPause:H},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Y,onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Xt={class:"field"},Qt={class:"box"},xt={class:"title font-bold"},eo={class:"task"},to={class:"left"},oo={key:2,class:"duration"},so={class:"info"},no={class:"title"},ro={class:"style"};function io(e,t,m,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=B("loading");return r(),c("div",Xt,[s("div",Qt,[s("h2",xt,i(e.$t("producer.name.cover")),1)]),s("div",eo,[e.audio?(r(),c("div",{key:0,class:"audio",onClick:t[2]||(t[2]=P=>e.onClick(e.audio))},[G((r(),c("div",to,[o(d,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=P=>e.onPause(e.audio))},[o(h,null,{default:a(()=>[o(f)]),_:1})])):p("",!0),e.audio?.audio_url&&(e.$store.state?.producer?.audio?.id!==e.audio.id||e.$store.state?.producer?.audio?.id===e.audio.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=P=>e.onPlay(e.audio))},[o(h,null,{default:a(()=>[o(g)]),_:1})])):p("",!0),e.audio?.duration?(r(),c("div",oo,i(e.useFormatDuring(e.audio?.duration)),1)):p("",!0)])),[[_,!e.audio?.audio_url]]),s("div",so,[s("h2",no,i(e.audio?.title),1),s("p",ro,i(e.audio?.style),1)])])):p("",!0)])])}const ao=U(Jt,[["render",io],["__scopeId","data-v-d8a8e583"]]),lo=S({name:"VocalGenderSelector",components:{ElRadioGroup:te,ElRadioButton:ee,InfoIcon:A},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),co={class:"mb-2"},uo={class:"flex items-center mb-1"},po={class:"text-sm font-bold"};function mo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-radio-button"),h=n("el-radio-group");return r(),c("div",co,[s("div",uo,[s("span",po,i(e.$t("producer.name.vocalGender")),1),o(d,{content:e.$t("producer.description.vocalGender")},null,8,["content"])]),o(h,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=g=>e.vocalGender=g)},{default:a(()=>[o(f,{value:""},{default:a(()=>[w(i(e.$t("producer.gender.auto")),1)]),_:1}),o(f,{value:"f"},{default:a(()=>[w(i(e.$t("producer.gender.female")),1)]),_:1}),o(f,{value:"m"},{default:a(()=>[w(i(e.$t("producer.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const fo=U(lo,[["render",mo]]),ho=S({name:"AdvancedParams",components:{ElCollapse:Ve,ElCollapseItem:Ce,ElInput:M,ElSlider:we,ElInputNumber:J,InfoIcon:A},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||""},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??50},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,seed:e})}}}}),_o={key:0,class:"mb-3"},$o={class:"flex items-center mb-1"},go={class:"text-xs font-bold"},vo={key:1,class:"mb-3"},yo={class:"flex items-center mb-1"},bo={class:"text-xs font-bold"},ko={class:"mb-3"},wo={class:"flex items-center justify-between mb-1"},Co={class:"flex items-center"},Vo={class:"text-xs font-bold"},So={class:"text-xs text-[var(--el-text-color-secondary)]"},Uo={class:"mb-3"},Po={class:"flex items-center justify-between mb-1"},Eo={class:"flex items-center"},Ao={class:"text-xs font-bold"},To={class:"text-xs text-[var(--el-text-color-secondary)]"},Fo={key:2,class:"mb-3"},Io={class:"flex items-center justify-between mb-1"},Lo={class:"flex items-center"},Go={class:"text-xs font-bold"},Do={class:"text-xs text-[var(--el-text-color-secondary)]"},zo={class:"mb-3"},Ro={class:"flex items-center mb-1"},Zo={class:"text-xs font-bold"};function jo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-input"),h=n("el-slider"),g=n("el-input-number"),_=n("el-collapse-item"),P=n("el-collapse");return r(),v(P,{modelValue:e.activeNames,"onUpdate:modelValue":t[6]||(t[6]=$=>e.activeNames=$),class:"advanced-collapse"},{default:a(()=>[o(_,{title:e.$t("producer.name.advancedParams"),name:"advanced"},{default:a(()=>[e.config?.custom?(r(),c("div",_o,[s("div",$o,[s("span",go,i(e.$t("producer.name.styleNegative")),1),o(d,{content:e.$t("producer.description.styleNegative")},null,8,["content"])]),o(f,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=$=>e.styleNegative=$),size:"small",placeholder:e.$t("producer.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):p("",!0),e.config?.custom&&!e.config?.instrumental?(r(),c("div",vo,[s("div",yo,[s("span",bo,i(e.$t("producer.name.lyricPrompt")),1),o(d,{content:e.$t("producer.description.lyricPrompt")},null,8,["content"])]),o(f,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=$=>e.lyricPrompt=$),size:"small",placeholder:e.$t("producer.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):p("",!0),s("div",ko,[s("div",wo,[s("div",Co,[s("span",Vo,i(e.$t("producer.name.weirdness")),1),o(d,{content:e.$t("producer.description.weirdness")},null,8,["content"])]),s("span",So,i(e.weirdness??50),1)]),o(h,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=$=>e.weirdness=$),min:0,max:100,step:1},null,8,["modelValue"])]),s("div",Uo,[s("div",Po,[s("div",Eo,[s("span",Ao,i(e.$t("producer.name.soundStrength")),1),o(d,{content:e.$t("producer.description.soundStrength")},null,8,["content"])]),s("span",To,i(e.soundStrength??50),1)]),o(h,{modelValue:e.soundStrength,"onUpdate:modelValue":t[3]||(t[3]=$=>e.soundStrength=$),min:0,max:100,step:1},null,8,["modelValue"])]),e.config?.custom&&!e.config?.instrumental?(r(),c("div",Fo,[s("div",Io,[s("div",Lo,[s("span",Go,i(e.$t("producer.name.lyricsStrength")),1),o(d,{content:e.$t("producer.description.lyricsStrength")},null,8,["content"])]),s("span",Do,i(e.lyricsStrength??50),1)]),o(h,{modelValue:e.lyricsStrength,"onUpdate:modelValue":t[4]||(t[4]=$=>e.lyricsStrength=$),min:0,max:100,step:1},null,8,["modelValue"])])):p("",!0),s("div",zo,[s("div",Ro,[s("span",Zo,i(e.$t("producer.name.seed")),1),o(d,{content:e.$t("producer.description.seed")},null,8,["content"])]),o(g,{modelValue:e.seed,"onUpdate:modelValue":t[5]||(t[5]=$=>e.seed=$),min:0,controls:!1,size:"small",placeholder:e.$t("producer.placeholder.seed"),class:"w-full"},null,8,["modelValue","placeholder"])])]),_:1},8,["title"])]),_:1},8,["modelValue"])}const No=U(ho,[["render",jo],["__scopeId","data-v-44ad862b"]]),Bo=S({name:"ReplaceSectionInput",components:{ElInputNumber:J,ElImage:D,InfoIcon:A},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"})}}}),qo={class:"field"},Mo={class:"flex items-center mb-2"},Oo={class:"text-sm font-bold m-0"},Wo={key:0,class:"task mb-2"},Ho={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Ko={class:"info flex-1 min-w-0"},Yo={class:"text-sm font-bold m-0 truncate"},Jo={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xo={class:"flex gap-2"};function Qo(e,t,m,l,y,b){const d=n("info-icon"),f=n("el-image"),h=n("el-input-number"),g=B("loading");return r(),c("div",qo,[s("div",Mo,[s("h2",Oo,i(e.$t("producer.name.replaceSection")),1),o(d,{content:e.$t("producer.description.replaceSection")},null,8,["content"])]),e.audio?(r(),c("div",Wo,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=_=>e.onClick(e.audio))},[G((r(),c("div",Ho,[o(f,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[g,!e.audio?.audio_url]]),s("div",Ko,[s("h2",Yo,i(e.audio?.title),1),s("p",Jo,i(e.audio?.style),1)])])])):p("",!0),s("div",Xo,[o(h,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=_=>e.replaceSectionStart=_),class:"flex-1",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),o(h,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=_=>e.replaceSectionEnd=_),class:"flex-1",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("producer.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const xo=U(Bo,[["render",Qo]]),es=S({name:"PresetPanel",components:{TypeSelector:tt,PromptInput:ht,LyricInput:wt,StyleInput:At,TitleInput:Dt,ExtendFromInput:Yt,CoverFromInput:ao,UploadAudio:ut,VocalGenderSelector:fo,AdvancedParams:No,ReplaceSectionInput:xo,FontAwesomeIcon:L,ElButton:N,ElTabs:Ee,ElTabPane:Pe,Consumption:Se},emits:["generate"],computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?"custom":"simple"},set(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,custom:e==="custom"})}},consumption(){return Ue(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},generateButtonText(){const e=this.config?.action;return e==="extend"||e==="upload_extend"?this.$t("producer.button.extend"):e==="cover"||e==="upload_cover"?this.$t("producer.button.cover_music"):e==="variation"?this.$t("producer.button.variation"):e==="replace_section"?this.$t("producer.button.replace_section"):e==="stems"?this.$t("producer.button.get_stems"):e==="swap_vocals"?this.$t("producer.button.swap_vocals"):e==="swap_instrumentals"?this.$t("producer.button.swap_instrumentals"):this.$t("producer.button.generate")}},methods:{onGenerate(){this.$emit("generate")},onClearAll(){this.$store.commit("producer/setConfig",{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:"",lyric:"",style:"",title:"",model:this.$store.state.producer?.config?.model})}}}),ts={class:"flex flex-col h-full"},os={class:"flex-1 overflow-y-auto p-5"},ss={class:"pt-2 px-1"},ns={class:"pt-2 px-1"},rs={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},is={class:"flex gap-2 w-full"};function as(e,t,m,l,y,b){const d=n("type-selector"),f=n("upload-audio"),h=n("prompt-input"),g=n("extend-from-input"),_=n("cover-from-input"),P=n("replace-section-input"),$=n("advanced-params"),C=n("el-tab-pane"),z=n("lyric-input"),R=n("style-input"),O=n("title-input"),W=n("vocal-gender-selector"),u=n("el-tabs"),V=n("consumption"),X=n("font-awesome-icon"),Q=n("el-button");return r(),c("div",ts,[s("div",os,[o(u,{modelValue:e.mode,"onUpdate:modelValue":t[0]||(t[0]=oe=>e.mode=oe),class:"producer-mode-tabs",stretch:""},{default:a(()=>[o(C,{label:e.$t("producer.mode.simple"),name:"simple"},{default:a(()=>[s("div",ss,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),o(h,{class:"mb-4"}),e.config?.action==="extend"?(r(),v(g,{key:0,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:1,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:2,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"]),o(C,{label:e.$t("producer.mode.custom"),name:"custom"},{default:a(()=>[s("div",ns,[o(d,{class:"mb-4"}),o(f,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(z,{key:0,class:"mb-4"})),o(R,{class:"mb-4"}),o(O,{class:"mb-4"}),e.config?.instrumental?p("",!0):(r(),v(W,{key:1,class:"mb-4"})),e.config?.action==="extend"?(r(),v(g,{key:2,class:"mb-4"})):p("",!0),e.config?.action==="cover"?(r(),v(_,{key:3,class:"mb-4"})):p("",!0),e.config?.action==="replace_section"?(r(),v(P,{key:4,class:"mb-4"})):p("",!0),o($,{class:"mb-4"})])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),s("div",rs,[o(V,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",is,[o(Q,{class:"flex-1",onClick:e.onClearAll},{default:a(()=>[o(X,{icon:"fa-solid fa-broom",class:"mr-1"}),w(" "+i(e.$t("producer.button.clear_all")),1)]),_:1},8,["onClick"]),o(Q,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:a(()=>[o(X,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+i(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const ls=U(es,[["render",as],["__scopeId","data-v-4a4b209e"]]),ds=x("producer"),cs=S({name:"TaskPreview",components:{ElImage:D,ElIcon:q,ElTooltip:Ie,FontAwesomeIcon:L,VideoPlay:K,VideoPause:H,ElDropdown:Fe,ElDropdownMenu:Te,ElDropdownItem:Ae,Loading:ie,ApiCodeDialog:ue},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,apiCodePath:"/producer/audios",apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===F.Request},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(m=>({...m,action:t})):e},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{useFormatDuring:Y,onViewCode(){const e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([m,l])=>{m==="application_id"||m==="callback_url"||l!=null&&(typeof l=="string"&&l===""||Array.isArray(l)&&l.length===0||(t[m]=l))}),this.apiCodeBody=t,this.apiCodePath="/producer/audios",this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("producer/setAudio",{...this.$store.state.producer.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.debug("set config",t),this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation();const l=new URL(t).pathname,y=l.substring(l.lastIndexOf("/")+1);fetch(t).then(b=>b.blob()).then(b=>{be.saveAs(b,y)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),k.error(this.$t("producer.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,m)=>{const l={audio_id:e},y=this.credential?.token;if(!y){console.error("no token specified"),m(new Error("No token specified"));return}T.video(l,{token:y}).then(b=>{const d=b.data?.data?.video_url;d?t(d):m(new Error("Video URL not found in response"))}).catch(b=>{m(b)})})},onPreview(e,t){e.stopPropagation(),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},onVariation(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:"variation",audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl("swap_vocals",e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl("swap_instrumentals",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("producer/setConfig",{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,k.info(this.$t("producer.message.fetchingWav"));const l=(await T.wav({audio_id:e.id},{token:t})).data?.data,y=Array.isArray(l)?l[0]?.file_url:l?.file_url||l?.audio_url;y?this.onDownload(null,y):k.error(this.$t("producer.message.fetchWavFailed"))}catch{k.error(this.$t("producer.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){const m={action:e,audio_id:t,callback_url:ds},l=this.credential?.token;if(!l){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),T.audio(m,{token:l}).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(y=>{k.error(y?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("producer/getTasks",{limit:30,offset:0})}}}),us={class:"task"},ps=["onClick"],ms={class:"left"},fs=["onClick"],hs=["onClick"],_s={key:2,class:"duration"},$s={class:"info"},gs={class:"title"},vs={class:"style"},ys={class:"right"},bs={class:"el-dropdown-link"},ks={class:"flex items-center min-w-[120px]"},ws={class:"flex items-center min-w-[120px]"},Cs={class:"el-dropdown-link"};function Vs(e,t,m,l,y,b){const d=n("el-image"),f=n("video-pause"),h=n("el-icon"),g=n("video-play"),_=n("font-awesome-icon"),P=n("el-tooltip"),$=n("Loading"),C=n("el-dropdown-item"),z=n("el-dropdown-menu"),R=n("el-dropdown"),O=n("api-code-dialog"),W=B("loading");return r(),c("div",us,[(r(!0),c(I,null,j(e.audios,u=>(r(),c("div",{key:u.id,class:"audio",onClick:E(V=>e.onClick(u),["stop"])},[G((r(),c("div",ms,[o(d,{src:u?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),u?.audio_url&&e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="playing"?(r(),c("div",{key:0,class:"overlay",onClick:E(V=>e.onPause(u),["stop"])},[o(h,null,{default:a(()=>[o(f)]),_:1})],8,fs)):p("",!0),u?.audio_url&&(e.$store.state?.producer?.audio?.id!==u.id||e.$store.state?.producer?.audio?.id===u.id&&e.$store.state?.producer?.audio?.state==="paused")?(r(),c("div",{key:1,class:"overlay",onClick:E(V=>e.onPlay(u),["stop"])},[o(h,null,{default:a(()=>[o(g)]),_:1})],8,hs)):p("",!0),u?.duration?(r(),c("div",_s,i(e.useFormatDuring(u?.duration)),1)):p("",!0)])),[[W,!u?.audio_url]]),s("div",$s,[s("h2",gs,i(u?.title),1),s("p",vs,i(u?.style),1)]),s("div",ys,[o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[o(C,{disabled:e.isFetchingVideoUrl,onClick:V=>e.handleVideoDownload(u)},{default:a(()=>[s("div",ks,[e.isFetchingVideoUrl?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_video")),1)])]),_:1},8,["disabled","onClick"]),u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onDownload(V,u?.audio_url),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.download_audio")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{disabled:e.isFetchingWav,onClick:V=>e.handleWavDownload(u)},{default:a(()=>[s("div",ws,[e.isFetchingWav?(r(),v(h,{key:0,class:"is-loading mr-2"},{default:a(()=>[o($)]),_:1})):p("",!0),s("span",null,i(e.$t("producer.button.download_wav")),1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),default:a(()=>[s("span",bs,[o(P,{effect:"dark",content:e.$t("producer.button.download"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(R,null,{dropdown:a(()=>[o(z,null,{default:a(()=>[u?.audio_url?(r(),v(C,{key:0,onClick:E(V=>e.onExtend(V,u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.extend")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:1,onClick:E(V=>e.onGetStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.get_stems")),1)]),_:1},8,["onClick"])):p("",!0),u.id?(r(),v(C,{key:2,onClick:E(V=>e.onGetAllStems(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.all_stems")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(V=>e.onCover(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.cover_music")),1)]),_:1},8,["onClick"]),u?.id?(r(),v(C,{key:3,onClick:E(V=>e.onVariation(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.variation")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:4,onClick:E(V=>e.onSwapVocals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_vocals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:5,onClick:E(V=>e.onSwapInstrumentals(u.id),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.swap_instrumentals")),1)]),_:1},8,["onClick"])):p("",!0),u?.id?(r(),v(C,{key:6,onClick:E(V=>e.onReplaceSection(u),["stop"])},{default:a(()=>[w(i(e.$t("producer.button.replace_section")),1)]),_:1},8,["onClick"])):p("",!0),o(C,{onClick:E(e.onViewCode,["stop"])},{default:a(()=>[o(_,{icon:"fa-solid fa-code",class:"mr-1"}),w(" "+i(e.$t("common.button.viewCode")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:a(()=>[s("span",Cs,[o(P,{effect:"dark",content:e.$t("producer.button.more"),placement:"top"},{default:a(()=>[u?.audio_url||u?.video_url?(r(),v(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):p("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],8,ps))),128)),o(O,{visible:e.apiCodeVisible,"onUpdate:visible":t[0]||(t[0]=u=>e.apiCodeVisible=u),method:"POST",path:e.apiCodePath,body:e.apiCodeBody,token:e.$store.state.producer?.credential?.token||""},null,8,["visible","path","body","token"])])}const Ss=U(cs,[["render",Vs]]),Us=S({name:"RecentPanel",components:{ElSkeletonItem:Ge,ElSkeleton:Le,TaskPreview:Ss,Player:ke,NoTasks:ye,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ps={key:0,class:"tasks"},Es={class:"left w-[70px] p-[10px] flex items-center"},As={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},Ts={key:2,class:"w-full flex-1 flex items-center justify-center"},Fs={class:"h-20"};function Is(e,t,m,l,y,b){const d=n("el-skeleton-item"),f=n("el-skeleton"),h=n("task-preview"),g=n("scroll-list"),_=n("no-tasks"),P=n("player");return r(),c(I,null,[e.tasks?.items===void 0?(r(),c("div",Ps,[(r(),c(I,null,j(3,$=>s("div",{key:$,class:"flex"},[s("div",Es,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",As,[o(f,{animated:""},{template:a(()=>[o(d,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o(d,{variant:"text"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(r(),v(g,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[0]||(t[0]=$=>e.$emit("reach-top"))},{default:a(()=>[(r(!0),c(I,null,j(e.tasks?.items,($,C)=>(r(),v(h,{key:C,"model-value":$,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(r(),c("div",Ts,[o(_)])):p("",!0),G(s("div",Fs,[o(P,{namespace:"producer"})],512),[[ne,!!e.$store?.state?.producer?.audio?.object]])],64)}const Ls=U(Us,[["render",Is]]),Gs=S({name:"TaskPreview",components:{IconPicture:ae,ElImage:D,ElAvatar:De,ElIcon:q},computed:{audio(){return this.$store.state.producer?.audio}}}),Ds={key:0,class:"size-full overflow-hidden"},zs={class:"relative h-[300px]"},Rs={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Zs={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},js={class:"p-4"},Ns={class:"flex items-center font-bold mb-2"},Bs={class:"text-[var(--el-text-color-regular)] mb-2"},qs={class:"text-xs text-[var(--el-text-color-regular)]"},Ms={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},Os={key:1,class:"w-full h-full"};function Ws(e,t,m,l,y,b){const d=n("icon-picture"),f=n("el-icon"),h=n("el-image"),g=n("el-avatar");return e.audio?.object?(r(),c("div",Ds,[s("div",zs,[o(h,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:a(()=>[s("div",Rs,[o(f,{class:"text-3xl"},{default:a(()=>[o(d)]),_:1})])]),_:1},8,["src"]),s("h2",Zs,i(e.audio?.title),1)]),s("div",js,[s("div",Ns,[o(g,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,i(e.audio?.title),1)]),s("p",Bs,i(e.audio?.style),1),s("p",qs,i(e.$dayjs.format(e.audio?.created_at)),1),s("div",Ms,[s("p",null,i(e.audio?.lyric),1)])])])):(r(),c("div",Os))}const Hs=U(Gs,[["render",Ws]]),Ks=x("producer"),Ys=S({name:"ProducerIndex",components:{Layout:qe,ConfigPanel:ls,RecentPanel:Ls,PreviewPanel:Hs},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===F.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===F.Request},needApply(){return this.$store.state.producer.status.getApplications===F.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.applications}},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 me({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("producer/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("producer/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){de.create({application:this.application}).then(({data:e})=>{this.application=e,k.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===ce&&k.error(this.$t("application.message.alreadyApplied"))})},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:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("producer/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Ks},t=this.credential?.token;if(!t){console.error("no token specified");return}k.info(this.$t("producer.message.startingTask")),le("producer",T.audio(e,{token:t})).then(()=>{k.success(this.$t("producer.message.startTaskSuccess"))}).catch(m=>{k.error(m?.response?.data?.error?.message||this.$t("producer.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Js(e,t,m,l,y,b){const d=n("config-panel"),f=n("recent-panel"),h=n("preview-panel"),g=n("layout");return r(),v(g,null,{config:a(()=>[o(d,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:a(()=>[o(f,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:a(()=>[o(h)]),_:1})}const er=U(Ys,[["render",Js],["__scopeId","data-v-d6806962"]]);export{er as default};
@@ -1 +1 @@
1
- import{F as T}from"./index.es-BiVAkZvx.js";import{E as P}from"./index-5aVmsxeg.js";import{E as x}from"./index-PXD6g-_z.js";import{d as y,H as n,E as m,z as O,C as s,y as _,D as i,q as a,x as I,F as o,I as p,O as S,N as G,J as d,M as K,Q as L}from"./vendor-vue-NSDaktjZ.js";import{H as w,bm as X,cz as U,cA as J,cB as Q,cC as B,cD as M,cE as R,cF as Y,cG as ee,cH as te,cI as se,cJ as oe,cK as ae,cL as N,cM as ie,cN as ne,cp as re,aX as D,S as j,cq as le}from"./index-orpPOzFA.js";import{P as me,N as ce}from"./NoTasks-q3Lv6tKO.js";import{I as q,S as pe,l as ue}from"./pagination-ByFwVm7b.js";import{I as F}from"./ImagePreview-Cqg3CCWb.js";import{E as de}from"./index-DLBPcYg6.js";import{E as A}from"./index-Buwygoh0.js";import{C as ge}from"./Consumption-A912L03A.js";import{a as he}from"./price-ClrI7Hj_.js";import{E as H,a as Z,b as fe}from"./index-C-1OqjJL.js";import{E as _e}from"./index-CV-Y1hCb.js";import{E as $e}from"./index-CieIazTO.js";import{b as be}from"./errorCode-Cqj9Td_Z.js";import{C as ve}from"./CopyToClipboard-B14N8uGd.js";import{I as ke}from"./ImageWrapper-BoVGmV3c.js";import{A as Ee}from"./ApiCodeButton-SH3-mzRZ.js";import{E as Se}from"./index-BQXTC0Wr.js";import{E as Ie}from"./index-BULlJ3TF.js";import{E as ye}from"./index-DGYkSNcS.js";import{B as we}from"./BotPlaceholder-BkzQvjfL.js";import"./use-form-item-BqTljuiK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-BYaJzDVD.js";import"./typescript-l14jPBBW.js";import"./index-BsF7tVO8.js";import"./index-IYCZlPkQ.js";import"./highlight-BdzcL-qA.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-ChitGZ1D.js";import"./_baseClone-CWXDJGZm.js";import"./_Uint8Array-EI6rdDMg.js";import"./_initCloneObject-BLayr3wN.js";import"./isEqual-DrMqy2rp.js";import"./index-CNPDulRN.js";import"./strings-beZM2Y-f.js";import"./castArray-EsQaGbmV.js";import"./debounce-CH187K9a.js";import"./_baseIteratee-EE0Dhi3s.js";import"./index-BjQDU7Yx.js";import"./index-Cu41y2Fl.js";import"./validator-BBWGl-WT.js";import"./index-B1BrvmAX.js";const Ve=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:T},data(){return{drawer:!1}}}),Ae={class:"main flex flex-row flex-1"},Ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Me={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ze(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-drawer");return a(),n("div",Ae,[m("div",Ge,[O(e.$slots,"config",{},void 0,!0)]),m("div",Me,[O(e.$slots,"result",{},void 0,!0)]),s(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:_(()=>[s(u,{icon:"fa-solid fa-magic"})]),_:1}),s(v,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[O(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Te=w(Ve,[["render",ze],["__scopeId","data-v-e480ada6"]]),Pe="",Le=y({name:"PromptInput",components:{PromptTextarea:me},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Pe)}});function Ce(e,t,c,r,h,b){const u=i("prompt-textarea");return a(),I(u,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),title:e.$t("openaiimage.name.prompt"),info:e.$t("openaiimage.description.prompt"),placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Oe=w(Le,[["render",Ce]]),Ue=y({name:"ImageUrlsInput",components:{ElUpload:de,ElButton:P,InfoIcon:q,ImagePreview:F,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(h=>!h?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const h=this.fileList.find(b=>b?.response?.file_url===r||b?.url===r);h?t.push(h):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(b=>b===r||b?.url===r?.url||b?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),qe={class:"field flex items-center justify-between"},Re={class:"title font-bold text-[14px] mb-[10px]"},Ne={class:"upload-wrapper flex flex-col items-start gap-[8px]"},De={class:"controls flex items-center"},je={class:"file-list flex flex-wrap gap-[10px]"};function We(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-upload"),f=i("info-icon"),k=i("image-preview");return a(),n(S,null,[m("div",qe,[m("h2",Re,o(e.$t("openaiimage.name.imageUrls")),1),m("div",Ne,[m("div",De,[s(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[s(g,{size:"small",type:"primary",round:""},{default:_(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+o(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),s(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",je,[(a(!0),n(S,null,G(e.fileList,($,l)=>(a(),I(k,{key:$.uid||$?.response?.file_url||$.url||l,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:E=>e.onRemovePreview(l,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Be=w(Ue,[["render",We]]),Fe=y({name:"OpenAIImageModelSelector",components:{ElSelect:Z,ElOption:H,InfoIcon:q},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:Q,label:this.$t("openaiimage.model.gptImage15")},{value:B,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=U)}}),He={class:"field"},Ze={class:"label"},xe={class:"box"},Ke={class:"title font-bold"};function Xe(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-select");return a(),n("div",He,[m("div",Ze,[m("div",xe,[m("h2",Ke,o(e.$t("openaiimage.name.model")),1),s(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),s(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:_(()=>[(a(!0),n(S,null,G(e.options,f=>(a(),I(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Je=w(Fe,[["render",Xe],["__scopeId","data-v-cec771bd"]]);function Qe(e){if(!e)return;const t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}const Ye=y({name:"OpenAIImageSizeSelector",components:{ElSelect:Z,ElOption:H,ElOptionGroup:fe,ElSwitch:$e,ElInputNumber:_e,InfoIcon:q},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||U},storedSize(){return this.$store.state.openaiimage?.config?.size},customSupported(){return ie.includes(this.model)},presets(){return N[this.model]??N[U]??[]},presetGroups(){return this.model===B?[{label:this.$t("openaiimage.sizeGroup.standard1k"),options:se},{label:this.$t("openaiimage.sizeGroup.preset2k"),options:oe},{label:this.$t("openaiimage.sizeGroup.preset4k"),options:ae}]:[{label:this.$t("openaiimage.sizeGroup.standard1k"),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else{const t=this.presets[0]??M;this.commitSize(t)}}},presetValue:{get(){const e=this.storedSize;return e&&this.presets.includes(e)?e:this.presets[0]??M},set(e){this.customMode=!1,this.commitSize(e)}},multiple(){return te},minSide(){return ee},maxSide(){return Y},customError(){const e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t("openaiimage.error.customSizePositive"):e%this.multiple!==0||t%this.multiple!==0?this.$t("openaiimage.error.customSizeMultiple",{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t("openaiimage.error.customSizeMin",{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t("openaiimage.error.customSizeMax",{max:this.maxSide}):e*t>R?this.$t("openaiimage.error.customSizePixels",{pixels:R.toLocaleString()}):""}},watch:{model:{immediate:!1,handler(){if(!this.customSupported){this.customMode=!1;const t=this.storedSize;(!t||!this.presets.includes(t))&&this.commitSize(this.presets[0]??M);return}const e=this.storedSize;if(this.customMode&&!this.customError){this.commitSize(`${this.customWidth}x${this.customHeight}`);return}(!e||!this.presets.includes(e))&&this.commitSize(this.presets[0]??M)}},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){if(!this.storedSize){this.commitSize(this.presets[0]??M);return}const e=Qe(this.storedSize);e&&this.customSupported&&!this.presets.includes(this.storedSize)&&(this.customMode=!0,this.customWidth=e.w,this.customHeight=e.h)},methods:{commitSize(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),et={class:"resolution"},tt={class:"field"},st={class:"label"},ot={class:"box"},at={class:"title font-bold"},it={class:"field custom-toggle"},nt={class:"label"},rt={class:"box"},lt={class:"title font-bold"},mt={key:0,class:"custom-inputs"},ct={class:"row"},pt={class:"row-label"},ut={class:"row"},dt={class:"row-label"},gt={key:0,class:"error"};function ht(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-option-group"),f=i("el-select"),k=i("el-switch"),$=i("el-input-number");return a(),n("div",et,[m("div",tt,[m("div",st,[m("div",ot,[m("h2",at,o(e.$t("openaiimage.name.size")),1),s(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),s(f,{modelValue:e.presetValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.presetValue=l),class:"value",placeholder:e.$t("openaiimage.placeholder.select"),disabled:e.useCustom},{default:_(()=>[(a(!0),n(S,null,G(e.presetGroups,l=>(a(),I(v,{key:l.label,label:l.label},{default:_(()=>[(a(!0),n(S,null,G(l.options,E=>(a(),I(g,{key:E,label:E,value:E},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),e.customSupported?(a(),n(S,{key:0},[m("div",it,[m("div",nt,[m("div",rt,[m("h2",lt,o(e.$t("openaiimage.name.customSize")),1),s(u,{content:e.$t("openaiimage.description.customSize"),class:"info"},null,8,["content"])])]),s(k,{modelValue:e.useCustom,"onUpdate:modelValue":t[1]||(t[1]=l=>e.useCustom=l),class:"value-switch"},null,8,["modelValue"])]),e.useCustom?(a(),n("div",mt,[m("div",ct,[m("span",pt,o(e.$t("openaiimage.name.width")),1),s($,{modelValue:e.customWidth,"onUpdate:modelValue":t[2]||(t[2]=l=>e.customWidth=l),class:"row-input",min:e.minSide,max:e.maxSide,step:e.multiple,"step-strictly":!0,"controls-position":"right"},null,8,["modelValue","min","max","step"])]),m("div",ut,[m("span",dt,o(e.$t("openaiimage.name.height")),1),s($,{modelValue:e.customHeight,"onUpdate:modelValue":t[3]||(t[3]=l=>e.customHeight=l),class:"row-input",min:e.minSide,max:e.maxSide,step:e.multiple,"step-strictly":!0,"controls-position":"right"},null,8,["modelValue","min","max","step"])]),e.customError?(a(),n("div",gt,o(e.customError),1)):d("",!0)])):d("",!0)],64)):d("",!0)])}const ft=w(Ye,[["render",ht],["__scopeId","data-v-218b58cb"]]),_t=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:T,PromptInput:Oe,Consumption:ge,ImageUrlsInput:Be,ModelSelector:Je,ResolutionSelector:ft},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return he({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-5"},vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function kt(e,t,c,r,h,b){const u=i("model-selector"),g=i("resolution-selector"),v=i("prompt-input"),f=i("image-urls-input"),k=i("consumption"),$=i("font-awesome-icon"),l=i("el-button");return a(),n("div",$t,[m("div",bt,[s(u,{class:"mb-4"}),s(g,{class:"mb-4"}),s(v,{class:"mb-4"}),s(f,{class:"mb-4"})]),m("div",vt,[s(k,{value:e.consumption,service:e.service},null,8,["value","service"]),s(l,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[s($,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+o(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Et=w(_t,[["render",kt]]),St=y({name:"TaskPreview",components:{ElImage:ye,CopyToClipboard:ve,FontAwesomeIcon:T,ElAlert:Ie,ImageWrapper:ke,ElButton:P,ElTooltip:Se,ImagePreview:F,ApiCodeButton:Ee},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:ne}},computed:{openaiimagePath(){return this.modelValue?.request?.action==="edit"?"/openai/images/edits":"/openai/images/generations"},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const c=t;if(c?.image_url||c?.url){e.push(c);return}c?.b64_json&&e.push({...c,url:`data:image/png;base64,${c.b64_json}`})}),e},referenceImages(){const e=this.modelValue?.request;if(!e)return[];const t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(r=>typeof r=="string"&&r.length>0);const c=e.image;return Array.isArray(c)?c.filter(r=>typeof r=="string"&&r.length>0):typeof c=="string"&&c.length>0?[c]:[]}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),It={class:"preview"},yt={class:"left"},wt={class:"main"},Vt={class:"bot"},At={class:"datetime"},Gt={class:"info"},Mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},zt={key:1,class:"prompt mt-2"},Tt={key:0},Pt={key:0,class:L({content:!0,failed:!0})},Lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},Ct={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},jt={key:1,class:L({content:!0})},Wt={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-2"},Ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Xt={key:2,class:L({content:!0})},Jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function ts(e,t,c,r,h,b){const u=i("el-image"),g=i("image-preview"),v=i("image-wrapper"),f=i("el-button"),k=i("el-tooltip"),$=i("api-code-button"),l=i("font-awesome-icon"),E=i("copy-to-clipboard"),C=i("el-alert");return a(),n("div",It,[m("div",yt,[s(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",wt,[m("div",Vt,[p(o(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",At,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",Gt,[e.referenceImages.length>0?(a(),n("div",Mt,[(a(!0),n(S,null,G(e.referenceImages,(V,z)=>(a(),I(g,{key:z,url:V,name:`image-${z+1}`,closable:!1},null,8,["url","name"]))),128))])):d("",!0),e.modelValue?.request?.prompt?(a(),n("p",zt,[p(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(a(),n("span",Tt," - ("+o(e.$t("openaiimage.status.pending"))+") ",1))])):d("",!0)]),e.modelValue?.response?.success===!0?(a(),n("div",Pt,[m("div",Lt,[(a(!0),n(S,null,G(e.images,(V,z)=>(a(),I(v,{key:z,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",Ct,[s(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[s(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:_(()=>[p(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"]),s($,{path:e.openaiimagePath,body:e.modelValue?.request},null,8,["path","body"])]),s(C,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Ot,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Ut,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",qt,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",Rt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),n("p",Nt,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(a(),n("p",Dt,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(E,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):d("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),n("div",jt,[s(C,{closable:!1,class:"failure"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Wt,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Bt,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",Ft,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",Ht,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),m("p",Zt,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(E,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),n("p",xt,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(a(),n("p",Kt,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(E,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):d("",!0)]),_:1})])):(a(),n("div",Xt,[s(C,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Jt,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Qt,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",Yt,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",es,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ss=w(St,[["render",ts],["__scopeId","data-v-ce2f092f"]]),os=y({name:"RecentPanel",components:{TaskPreview:ss,BotPlaceholder:we,NoTasks:ce,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),as={key:0},is={key:2,class:"w-full h-full flex items-center justify-center"};function ns(e,t,c,r,h,b){const u=i("bot-placeholder"),g=i("task-preview"),v=i("scroll-list"),f=i("no-tasks");return a(),n(S,null,[e.tasks?.items===void 0?(a(),n("div",as,[s(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(v,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),n(S,null,G(e.tasks?.items,k=>(a(),I(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):d("",!0),e.tasks?.items?.length===0?(a(),n("div",is,[s(f)])):d("",!0)],64)}const rs=w(os,[["render",ns]]),W=le("openaiimage"),ls=y({name:"OpenAIImageIndex",components:{ConfigPanel:Et,Layout:Te,RecentPanel:rs},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===j.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.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 ue({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/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.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:c,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",c,"createdAtMax",r),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:c,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){A.error(this.$t("openaiimage.message.promptRequired"));return}e.prompt=e.prompt.trim(),!t&&"image_urls"in e&&delete e.image_urls;const c={...e,action:"generate",callback_url:W},r={action:"edit",model:e?.model,prompt:e?.prompt,size:e?.size,image_urls:e?.image_urls||[],callback_url:W},h=this.credential?.token;if(!h){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),re("openaiimage",t?D.edit(r,{token:h}):D.generate(c,{token:h})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===be?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function ms(e,t,c,r,h,b){const u=i("config-panel"),g=i("recent-panel"),v=i("layout");return a(),I(v,null,{config:_(()=>[s(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[s(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const io=w(ls,[["render",ms]]);export{io as default};
1
+ import{F as T}from"./index.es-CeLV7iDQ.js";import{E as P}from"./index-HyuSkpOc.js";import{E as x}from"./index-sSPHtazF.js";import{d as y,H as n,E as m,z as O,C as s,y as _,D as i,q as a,x as I,F as o,I as p,O as S,N as G,J as d,M as K,Q as L}from"./vendor-vue-NSDaktjZ.js";import{H as w,bm as X,cz as U,cA as J,cB as Q,cC as B,cD as M,cE as R,cF as Y,cG as ee,cH as te,cI as se,cJ as oe,cK as ae,cL as N,cM as ie,cN as ne,cp as re,aX as D,S as j,cq as le}from"./index-D0zoWl0t.js";import{P as me,N as ce}from"./NoTasks-B9brz0GL.js";import{I as q,S as pe,l as ue}from"./pagination-LA4ZoJ7H.js";import{I as F}from"./ImagePreview-DjnXpfFp.js";import{E as de}from"./index-BXXvYpXX.js";import{E as A}from"./index-DdbWvBNx.js";import{C as ge}from"./Consumption-HJqRoAYb.js";import{a as he}from"./price-CkwsSMG5.js";import{E as H,a as Z,b as fe}from"./index-Bu5gNvNl.js";import{E as _e}from"./index-C-rnAsAl.js";import{E as $e}from"./index-C4eWIBBB.js";import{b as be}from"./errorCode-Cqj9Td_Z.js";import{C as ve}from"./CopyToClipboard-B7-zpemN.js";import{I as ke}from"./ImageWrapper-DTLK2LYV.js";import{A as Ee}from"./ApiCodeButton-ELLwtd41.js";import{E as Se}from"./index-d6anveG0.js";import{E as Ie}from"./index-DmrLER-A.js";import{E as ye}from"./index-Cq8TQPr3.js";import{B as we}from"./BotPlaceholder-BZ2BnCU8.js";import"./use-form-item-DMNI7O3-.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./index-DhgEdWde.js";import"./typescript-Ckyw8f4Q.js";import"./index-BTcVnXUS.js";import"./index-BStjDDyx.js";import"./highlight-CxiUjIMX.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-Bo14Ux3S.js";import"./_baseClone-umQ6kPjt.js";import"./_Uint8Array-Z75Sa3E8.js";import"./_initCloneObject-CCK9Xyv4.js";import"./isEqual-CkVIwAaj.js";import"./index-X6wgkPd2.js";import"./strings-beZM2Y-f.js";import"./castArray-BOBSHmEl.js";import"./debounce-B-6yjswC.js";import"./_baseIteratee-BL_LXYAx.js";import"./index-bvUTE5h2.js";import"./index-Cu41y2Fl.js";import"./validator-Ub8j9ViE.js";import"./index-Dm8WLAYA.js";const Ve=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:T},data(){return{drawer:!1}}}),Ae={class:"main flex flex-row flex-1"},Ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Me={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ze(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-drawer");return a(),n("div",Ae,[m("div",Ge,[O(e.$slots,"config",{},void 0,!0)]),m("div",Me,[O(e.$slots,"result",{},void 0,!0)]),s(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:_(()=>[s(u,{icon:"fa-solid fa-magic"})]),_:1}),s(v,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[O(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Te=w(Ve,[["render",ze],["__scopeId","data-v-e480ada6"]]),Pe="",Le=y({name:"PromptInput",components:{PromptTextarea:me},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Pe)}});function Ce(e,t,c,r,h,b){const u=i("prompt-textarea");return a(),I(u,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),title:e.$t("openaiimage.name.prompt"),info:e.$t("openaiimage.description.prompt"),placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Oe=w(Le,[["render",Ce]]),Ue=y({name:"ImageUrlsInput",components:{ElUpload:de,ElButton:P,InfoIcon:q,ImagePreview:F,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:X()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(h=>!h?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const h=this.fileList.find(b=>b?.response?.file_url===r||b?.url===r);h?t.push(h):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(b=>b===r||b?.url===r?.url||b?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),qe={class:"field flex items-center justify-between"},Re={class:"title font-bold text-[14px] mb-[10px]"},Ne={class:"upload-wrapper flex flex-col items-start gap-[8px]"},De={class:"controls flex items-center"},je={class:"file-list flex flex-wrap gap-[10px]"};function We(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-upload"),f=i("info-icon"),k=i("image-preview");return a(),n(S,null,[m("div",qe,[m("h2",Re,o(e.$t("openaiimage.name.imageUrls")),1),m("div",Ne,[m("div",De,[s(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[s(g,{size:"small",type:"primary",round:""},{default:_(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+o(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),s(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",je,[(a(!0),n(S,null,G(e.fileList,($,l)=>(a(),I(k,{key:$.uid||$?.response?.file_url||$.url||l,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:E=>e.onRemovePreview(l,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Be=w(Ue,[["render",We]]),Fe=y({name:"OpenAIImageModelSelector",components:{ElSelect:Z,ElOption:H,InfoIcon:q},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:Q,label:this.$t("openaiimage.model.gptImage15")},{value:B,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=U)}}),He={class:"field"},Ze={class:"label"},xe={class:"box"},Ke={class:"title font-bold"};function Xe(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-select");return a(),n("div",He,[m("div",Ze,[m("div",xe,[m("h2",Ke,o(e.$t("openaiimage.name.model")),1),s(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),s(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:_(()=>[(a(!0),n(S,null,G(e.options,f=>(a(),I(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Je=w(Fe,[["render",Xe],["__scopeId","data-v-cec771bd"]]);function Qe(e){if(!e)return;const t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}const Ye=y({name:"OpenAIImageSizeSelector",components:{ElSelect:Z,ElOption:H,ElOptionGroup:fe,ElSwitch:$e,ElInputNumber:_e,InfoIcon:q},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||U},storedSize(){return this.$store.state.openaiimage?.config?.size},customSupported(){return ie.includes(this.model)},presets(){return N[this.model]??N[U]??[]},presetGroups(){return this.model===B?[{label:this.$t("openaiimage.sizeGroup.standard1k"),options:se},{label:this.$t("openaiimage.sizeGroup.preset2k"),options:oe},{label:this.$t("openaiimage.sizeGroup.preset4k"),options:ae}]:[{label:this.$t("openaiimage.sizeGroup.standard1k"),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else{const t=this.presets[0]??M;this.commitSize(t)}}},presetValue:{get(){const e=this.storedSize;return e&&this.presets.includes(e)?e:this.presets[0]??M},set(e){this.customMode=!1,this.commitSize(e)}},multiple(){return te},minSide(){return ee},maxSide(){return Y},customError(){const e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t("openaiimage.error.customSizePositive"):e%this.multiple!==0||t%this.multiple!==0?this.$t("openaiimage.error.customSizeMultiple",{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t("openaiimage.error.customSizeMin",{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t("openaiimage.error.customSizeMax",{max:this.maxSide}):e*t>R?this.$t("openaiimage.error.customSizePixels",{pixels:R.toLocaleString()}):""}},watch:{model:{immediate:!1,handler(){if(!this.customSupported){this.customMode=!1;const t=this.storedSize;(!t||!this.presets.includes(t))&&this.commitSize(this.presets[0]??M);return}const e=this.storedSize;if(this.customMode&&!this.customError){this.commitSize(`${this.customWidth}x${this.customHeight}`);return}(!e||!this.presets.includes(e))&&this.commitSize(this.presets[0]??M)}},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){if(!this.storedSize){this.commitSize(this.presets[0]??M);return}const e=Qe(this.storedSize);e&&this.customSupported&&!this.presets.includes(this.storedSize)&&(this.customMode=!0,this.customWidth=e.w,this.customHeight=e.h)},methods:{commitSize(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),et={class:"resolution"},tt={class:"field"},st={class:"label"},ot={class:"box"},at={class:"title font-bold"},it={class:"field custom-toggle"},nt={class:"label"},rt={class:"box"},lt={class:"title font-bold"},mt={key:0,class:"custom-inputs"},ct={class:"row"},pt={class:"row-label"},ut={class:"row"},dt={class:"row-label"},gt={key:0,class:"error"};function ht(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-option-group"),f=i("el-select"),k=i("el-switch"),$=i("el-input-number");return a(),n("div",et,[m("div",tt,[m("div",st,[m("div",ot,[m("h2",at,o(e.$t("openaiimage.name.size")),1),s(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),s(f,{modelValue:e.presetValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.presetValue=l),class:"value",placeholder:e.$t("openaiimage.placeholder.select"),disabled:e.useCustom},{default:_(()=>[(a(!0),n(S,null,G(e.presetGroups,l=>(a(),I(v,{key:l.label,label:l.label},{default:_(()=>[(a(!0),n(S,null,G(l.options,E=>(a(),I(g,{key:E,label:E,value:E},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),e.customSupported?(a(),n(S,{key:0},[m("div",it,[m("div",nt,[m("div",rt,[m("h2",lt,o(e.$t("openaiimage.name.customSize")),1),s(u,{content:e.$t("openaiimage.description.customSize"),class:"info"},null,8,["content"])])]),s(k,{modelValue:e.useCustom,"onUpdate:modelValue":t[1]||(t[1]=l=>e.useCustom=l),class:"value-switch"},null,8,["modelValue"])]),e.useCustom?(a(),n("div",mt,[m("div",ct,[m("span",pt,o(e.$t("openaiimage.name.width")),1),s($,{modelValue:e.customWidth,"onUpdate:modelValue":t[2]||(t[2]=l=>e.customWidth=l),class:"row-input",min:e.minSide,max:e.maxSide,step:e.multiple,"step-strictly":!0,"controls-position":"right"},null,8,["modelValue","min","max","step"])]),m("div",ut,[m("span",dt,o(e.$t("openaiimage.name.height")),1),s($,{modelValue:e.customHeight,"onUpdate:modelValue":t[3]||(t[3]=l=>e.customHeight=l),class:"row-input",min:e.minSide,max:e.maxSide,step:e.multiple,"step-strictly":!0,"controls-position":"right"},null,8,["modelValue","min","max","step"])]),e.customError?(a(),n("div",gt,o(e.customError),1)):d("",!0)])):d("",!0)],64)):d("",!0)])}const ft=w(Ye,[["render",ht],["__scopeId","data-v-218b58cb"]]),_t=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:T,PromptInput:Oe,Consumption:ge,ImageUrlsInput:Be,ModelSelector:Je,ResolutionSelector:ft},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return he({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},bt={class:"flex-1 overflow-y-auto p-5"},vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function kt(e,t,c,r,h,b){const u=i("model-selector"),g=i("resolution-selector"),v=i("prompt-input"),f=i("image-urls-input"),k=i("consumption"),$=i("font-awesome-icon"),l=i("el-button");return a(),n("div",$t,[m("div",bt,[s(u,{class:"mb-4"}),s(g,{class:"mb-4"}),s(v,{class:"mb-4"}),s(f,{class:"mb-4"})]),m("div",vt,[s(k,{value:e.consumption,service:e.service},null,8,["value","service"]),s(l,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[s($,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+o(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Et=w(_t,[["render",kt]]),St=y({name:"TaskPreview",components:{ElImage:ye,CopyToClipboard:ve,FontAwesomeIcon:T,ElAlert:Ie,ImageWrapper:ke,ElButton:P,ElTooltip:Se,ImagePreview:F,ApiCodeButton:Ee},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:ne}},computed:{openaiimagePath(){return this.modelValue?.request?.action==="edit"?"/openai/images/edits":"/openai/images/generations"},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const c=t;if(c?.image_url||c?.url){e.push(c);return}c?.b64_json&&e.push({...c,url:`data:image/png;base64,${c.b64_json}`})}),e},referenceImages(){const e=this.modelValue?.request;if(!e)return[];const t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(r=>typeof r=="string"&&r.length>0);const c=e.image;return Array.isArray(c)?c.filter(r=>typeof r=="string"&&r.length>0):typeof c=="string"&&c.length>0?[c]:[]}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),It={class:"preview"},yt={class:"left"},wt={class:"main"},Vt={class:"bot"},At={class:"datetime"},Gt={class:"info"},Mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},zt={key:1,class:"prompt mt-2"},Tt={key:0},Pt={key:0,class:L({content:!0,failed:!0})},Lt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},Ct={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},jt={key:1,class:L({content:!0})},Wt={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-2"},Ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Xt={key:2,class:L({content:!0})},Jt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function ts(e,t,c,r,h,b){const u=i("el-image"),g=i("image-preview"),v=i("image-wrapper"),f=i("el-button"),k=i("el-tooltip"),$=i("api-code-button"),l=i("font-awesome-icon"),E=i("copy-to-clipboard"),C=i("el-alert");return a(),n("div",It,[m("div",yt,[s(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",wt,[m("div",Vt,[p(o(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",At,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",Gt,[e.referenceImages.length>0?(a(),n("div",Mt,[(a(!0),n(S,null,G(e.referenceImages,(V,z)=>(a(),I(g,{key:z,url:V,name:`image-${z+1}`,closable:!1},null,8,["url","name"]))),128))])):d("",!0),e.modelValue?.request?.prompt?(a(),n("p",zt,[p(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(a(),n("span",Tt," - ("+o(e.$t("openaiimage.status.pending"))+") ",1))])):d("",!0)]),e.modelValue?.response?.success===!0?(a(),n("div",Pt,[m("div",Lt,[(a(!0),n(S,null,G(e.images,(V,z)=>(a(),I(v,{key:z,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",Ct,[s(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[s(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:_(()=>[p(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"]),s($,{path:e.openaiimagePath,body:e.modelValue?.request},null,8,["path","body"])]),s(C,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Ot,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Ut,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",qt,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",Rt,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),n("p",Nt,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(a(),n("p",Dt,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(E,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):d("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),n("div",jt,[s(C,{closable:!1,class:"failure"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Wt,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Bt,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",Ft,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",Ht,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),m("p",Zt,[s(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),s(E,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),n("p",xt,[s(l,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(a(),n("p",Kt,[s(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),s(E,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):d("",!0)]),_:1})])):(a(),n("div",Xt,[s(C,{closable:!1,class:"info"},{template:_(()=>[s(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),n("p",Jt,[s(l,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.model"))+": "+o(e.modelValue?.request?.model),1)])):d("",!0),e.modelValue?.request?.size?(a(),n("p",Qt,[s(l,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.size"))+": "+o(e.modelValue?.request?.size),1)])):d("",!0),e.modelValue?.request?.action?(a(),n("p",Yt,[s(l,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):d("",!0),m("p",es,[s(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+o(e.$t("openaiimage.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),s(E,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ss=w(St,[["render",ts],["__scopeId","data-v-ce2f092f"]]),os=y({name:"RecentPanel",components:{TaskPreview:ss,BotPlaceholder:we,NoTasks:ce,ScrollList:pe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),as={key:0},is={key:2,class:"w-full h-full flex items-center justify-center"};function ns(e,t,c,r,h,b){const u=i("bot-placeholder"),g=i("task-preview"),v=i("scroll-list"),f=i("no-tasks");return a(),n(S,null,[e.tasks?.items===void 0?(a(),n("div",as,[s(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(v,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),n(S,null,G(e.tasks?.items,k=>(a(),I(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):d("",!0),e.tasks?.items?.length===0?(a(),n("div",is,[s(f)])):d("",!0)],64)}const rs=w(os,[["render",ns]]),W=le("openaiimage"),ls=y({name:"OpenAIImageIndex",components:{ConfigPanel:Et,Layout:Te,RecentPanel:rs},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===j.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.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 ue({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/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.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:c,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",c,"createdAtMax",r),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:c,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){A.error(this.$t("openaiimage.message.promptRequired"));return}e.prompt=e.prompt.trim(),!t&&"image_urls"in e&&delete e.image_urls;const c={...e,action:"generate",callback_url:W},r={action:"edit",model:e?.model,prompt:e?.prompt,size:e?.size,image_urls:e?.image_urls||[],callback_url:W},h=this.credential?.token;if(!h){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),re("openaiimage",t?D.edit(r,{token:h}):D.generate(c,{token:h})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===be?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function ms(e,t,c,r,h,b){const u=i("config-panel"),g=i("recent-panel"),v=i("layout");return a(),I(v,null,{config:_(()=>[s(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[s(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const io=w(ls,[["render",ms]]);export{io as default};
@@ -1 +1 @@
1
- import{F as S}from"./index.es-BiVAkZvx.js";import{E as U}from"./index-5aVmsxeg.js";import{E as N}from"./index-PXD6g-_z.js";import{d as k,H as m,E as l,z as j,C as o,y as c,D as s,q as a,F as i,I as _,x as $,J as p,M as F,Q as C,O as z,N as H}from"./vendor-vue-NSDaktjZ.js";import{H as y,bm as A,cp as x,aC as J,S as B,cq as K}from"./index-orpPOzFA.js";import{a as Q,b as W,c as X}from"./luma-DcySqBv2.js";import{I as L,S as Y,l as Z}from"./pagination-ByFwVm7b.js";import{E as R}from"./index-CieIazTO.js";import{p as D}from"./pasteUploadMixin-BurWbGNQ.js";import{I as O}from"./ImagePreview-Cqg3CCWb.js";import{E as P}from"./index-DLBPcYg6.js";import{E as b}from"./index-Buwygoh0.js";import{F as ee}from"./FilePreview-D48r5Clc.js";import{P as te,N as oe}from"./NoTasks-q3Lv6tKO.js";import{V as q}from"./VideoPlayer-JO6u-Leu.js";import{C as se}from"./Consumption-A912L03A.js";import{a as ne}from"./price-ClrI7Hj_.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-B14N8uGd.js";import{A as ie}from"./ApiCodeButton-SH3-mzRZ.js";import{E as re}from"./index-BQXTC0Wr.js";import{E as ce}from"./index-BULlJ3TF.js";import{E as me}from"./index-DGYkSNcS.js";import{B as ue}from"./BotPlaceholder-BkzQvjfL.js";import"./use-form-item-BqTljuiK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-BdzcL-qA.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-BBWGl-WT.js";import"./index-BsF7tVO8.js";import"./index-ChitGZ1D.js";import"./typescript-l14jPBBW.js";import"./_baseClone-CWXDJGZm.js";import"./_Uint8Array-EI6rdDMg.js";import"./_initCloneObject-BLayr3wN.js";import"./isEqual-DrMqy2rp.js";import"./index-BYaJzDVD.js";import"./index-IYCZlPkQ.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-CH187K9a.js";import"./index-B1BrvmAX.js";const de=k({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},_e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,t,f,h,w,E){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return a(),m("div",pe,[l("div",fe,[j(e.$slots,"config",{},void 0,!0)]),l("div",_e,[j(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",he],["__scopeId","data-v-fdc8f36b"]]),$e=k({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),ve={class:"relative"},be={class:"flex justify-between"},ke={class:"flex justify-start items-center"},ye={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function Ee(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",ve,[l("div",be,[l("div",ke,[l("span",ye,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),l("div",we,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ve=y($e,[["render",Ee]]),Se=k({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),Ue={class:"relative"},Le={class:"flex justify-between"},Te={class:"flex justify-start items-center"},Ie={class:"text-sm font-bold"},Ce={class:"flex justify-end items-center"};function je(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",Ue,[l("div",Le,[l("div",Te,[l("span",Ie,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),l("div",Ce,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ae=y(Se,[["render",je]]),Re=k({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Pe={class:"relative"},Ge={class:"flex justify-between"},Me={class:"flex justify-start items-center"},Fe={class:"text-sm font-bold"},ze={class:"flex justify-end items-center"};function Be(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",Pe,[l("div",Ge,[l("div",Me,[l("span",Fe,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),l("div",ze,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const De=y(Re,[["render",Be]]),Oe=k({name:"EndImage",components:{ElUpload:P,ElButton:U,ImagePreview:O,InfoIcon:L,FontAwesomeIcon:S},mixins:[D],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),qe={class:"relative"},Ne={class:"flex justify-between"},He={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function Je(e,t,f,h,w,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",qe,[l("div",Ne,[l("div",He,[l("span",xe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,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:c(({file:n})=>[n.url&&n.percentage!==void 0?(a(),$(u,{key:0,url:n.url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=y(Oe,[["render",Je],["__scopeId","data-v-7a787b4d"]]),Qe=k({name:"StartImage",components:{ElUpload:P,ElButton:U,ImagePreview:O,InfoIcon:L,FontAwesomeIcon:S},mixins:[D],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),We={class:"relative"},Xe={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function et(e,t,f,h,w,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",We,[l("div",Xe,[l("div",Ye,[l("span",Ze,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,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:c(({file:n})=>[n.percentage!=null?(a(),$(u,{key:0,url:n.url||n.response.file_url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=y(Qe,[["render",et],["__scopeId","data-v-8c5cfe84"]]),ot=k({name:"UploadVideo",components:{ElUpload:P,ElButton:U,InfoIcon:L,FilePreview:ee,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){b.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){b.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",f=e.size/1024/1024<10;return t?f?!0:(b.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(b.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),st={class:"relative"},nt={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function it(e,t,f,h,w,E){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",st,[l("div",nt,[l("div",at,[l("span",lt,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:n})=>[n.percentage!=null?(a(),$(u,{key:0,url:n.url||n.response?.file_url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const rt=y(ot,[["render",it],["__scopeId","data-v-74e51526"]]),ct="",mt=k({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ct)}});function ut(e,t,f,h,w,E){const r=s("prompt-textarea");return a(),$(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("luma.name.prompt"),info:e.$t("luma.description.prompt"),placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const dt=y(mt,[["render",ut]]),pt=k({name:"ExtendFromInput",components:{VideoPlayer:q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ft={class:"relative"},_t={class:"flex mb-2"},ht={class:"text-sm font-bold"};function gt(e,t,f,h,w,E){const r=s("video-player");return a(),m("div",ft,[l("div",_t,[l("span",ht,i(e.$t("luma.name.extend")),1)]),l("div",null,[e.config?.video_url?(a(),$(r,{key:0,src:e.config?.video_url},null,8,["src"])):p("",!0)])])}const $t=y(pt,[["render",gt]]),vt=k({name:"ConfigPanel",components:{LoopSelector:De,StartImageInput:tt,EndImageInput:Ke,EnhancementSelector:Ve,ElButton:U,FontAwesomeIcon:S,PromptInput:dt,ExtendFromInput:$t,CustomSelector:Ae,UploadVideo:rt,Consumption:se},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),bt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},yt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,f,h,w,E){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),g=s("upload-video"),v=s("start-image-input"),n=s("end-image-input"),V=s("enhancement-selector"),T=s("loop-selector"),I=s("consumption"),G=s("font-awesome-icon"),M=s("el-button");return a(),m("div",bt,[l("div",kt,[e.config?.video_id||e.config?.video_url?(a(),$(r,{key:0,class:"mb-4"})):p("",!0),o(u,{class:"mb-4"}),e.config?.video_id?p("",!0):(a(),$(d,{key:1,class:"mb-4"})),e.config?.custom?(a(),$(g,{key:2,class:"mb-4"})):p("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),$(v,{key:3,class:"mb-4"})):p("",!0),o(n,{class:"mb-4"}),o(V,{class:"mb-4"}),o(T,{class:"mb-4"})]),l("div",yt,[o(I,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),$(M,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),$(M,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const Et=y(vt,[["render",wt]]),Vt=k({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:le,FontAwesomeIcon:S,ElAlert:ce,VideoPlayer:q,ElTooltip:re,ElButton:U,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),St={class:"preview"},Ut={class:"left"},Lt={class:"main"},Tt={class:"bot"},It={class:"datetime"},Ct={class:"info"},jt={key:0,class:"prompt mt-2"},At={key:0},Rt={key:1},Pt={key:0,class:C({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},Mt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:C({content:!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ht={key:2,class:C({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Jt(e,t,f,h,w,E){const r=s("el-image"),u=s("video-player"),d=s("el-button"),g=s("el-tooltip"),v=s("api-code-button"),n=s("font-awesome-icon"),V=s("copy-to-clipboard"),T=s("el-alert");return a(),m("div",St,[l("div",Ut,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),l("div",Lt,[l("div",Tt,[_(i(e.$t("luma.name.lumaBot"))+" ",1),l("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ct,[e.modelValue?.request?.prompt?(a(),m("p",jt,[_(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(a(),m("span",At," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):p("",!0)])):p("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",Pt,[e.modelValue.response.video_url?(a(),m("div",Gt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):p("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Mt,[o(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=F(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[_(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=F(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[_(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"]),o(v,{path:"/luma/videos",body:e.modelValue?.request},null,8,["body"])])):p("",!0),o(T,{closable:!1,class:"mt-2 success"},{default:c(()=>[l("p",Ft,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",zt,[o(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0)]),_:1})])):p("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Bt,[o(T,{closable:!1,class:"failure"},{template:c(()=>[o(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[l("p",Dt,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])]),l("p",Ot,[o(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",qt,[o(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),l("p",Nt,[o(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):p("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Ht,[o(T,{closable:!1,class:"info"},{template:c(()=>[o(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[l("p",xt,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):p("",!0)])])}const Kt=y(Vt,[["render",Jt],["__scopeId","data-v-b96f3f79"]]),Qt=k({name:"RecentPanel",components:{BotPlaceholder:ue,TaskPreview:Kt,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Xt={key:2,class:"w-full h-full flex items-center justify-center"};function Yt(e,t,f,h,w,E){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),g=s("no-tasks");return a(),m(z,null,[e.tasks?.items===void 0?(a(),m("div",Wt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=v=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),m(z,null,H(e.tasks?.items,v=>(a(),$(u,{key:v.id,"model-value":v,onExtend:t[0]||(t[0]=n=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(a(),m("div",Xt,[o(g)])):p("",!0)],64)}const Zt=y(Qt,[["render",Yt]]),eo=K("luma"),to=k({name:"LumaIndex",components:{ConfigPanel:Et,Layout:ge,RecentPanel:Zt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},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 Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();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:f,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:eo};if(!this.hasText(e.prompt)){b.error(this.$t("luma.message.promptRequired"));return}e.prompt=e.prompt?.trim();const t=this.credential?.token;if(!t){console.error("no token specified");return}b.info(this.$t("luma.message.startingTask")),x("luma",J.generate(e,{token:t})).then(()=>{b.success(this.$t("luma.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===ae?b.error(this.$t("luma.message.usedUp")):b.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function oo(e,t,f,h,w,E){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return a(),$(d,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Qo=y(to,[["render",oo]]);export{Qo as default};
1
+ import{F as S}from"./index.es-CeLV7iDQ.js";import{E as U}from"./index-HyuSkpOc.js";import{E as N}from"./index-sSPHtazF.js";import{d as k,H as m,E as l,z as j,C as o,y as c,D as s,q as a,F as i,I as _,x as $,J as p,M as F,Q as C,O as z,N as H}from"./vendor-vue-NSDaktjZ.js";import{H as y,bm as A,cp as x,aC as J,S as B,cq as K}from"./index-D0zoWl0t.js";import{a as Q,b as W,c as X}from"./luma-DcySqBv2.js";import{I as L,S as Y,l as Z}from"./pagination-LA4ZoJ7H.js";import{E as R}from"./index-C4eWIBBB.js";import{p as D}from"./pasteUploadMixin-BurWbGNQ.js";import{I as O}from"./ImagePreview-DjnXpfFp.js";import{E as P}from"./index-BXXvYpXX.js";import{E as b}from"./index-DdbWvBNx.js";import{F as ee}from"./FilePreview-CRYdatUV.js";import{P as te,N as oe}from"./NoTasks-B9brz0GL.js";import{V as q}from"./VideoPlayer-Be9rMTt8.js";import{C as se}from"./Consumption-HJqRoAYb.js";import{a as ne}from"./price-CkwsSMG5.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-B7-zpemN.js";import{A as ie}from"./ApiCodeButton-ELLwtd41.js";import{E as re}from"./index-d6anveG0.js";import{E as ce}from"./index-DmrLER-A.js";import{E as me}from"./index-Cq8TQPr3.js";import{B as ue}from"./BotPlaceholder-BZ2BnCU8.js";import"./use-form-item-DMNI7O3-.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Df5ITouH.js";import"./highlight-CxiUjIMX.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./validator-Ub8j9ViE.js";import"./index-BTcVnXUS.js";import"./index-Bo14Ux3S.js";import"./typescript-Ckyw8f4Q.js";import"./_baseClone-umQ6kPjt.js";import"./_Uint8Array-Z75Sa3E8.js";import"./_initCloneObject-CCK9Xyv4.js";import"./isEqual-CkVIwAaj.js";import"./index-DhgEdWde.js";import"./index-BStjDDyx.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-B-6yjswC.js";import"./index-Dm8WLAYA.js";const de=k({name:"LayoutLuma",components:{ElDrawer:N,ElButton:U,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},_e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,t,f,h,w,E){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return a(),m("div",pe,[l("div",fe,[j(e.$slots,"config",{},void 0,!0)]),l("div",_e,[j(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:c(()=>[o(r,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:c(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",he],["__scopeId","data-v-fdc8f36b"]]),$e=k({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),ve={class:"relative"},be={class:"flex justify-between"},ke={class:"flex justify-start items-center"},ye={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function Ee(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",ve,[l("div",be,[l("div",ke,[l("span",ye,i(e.$t("luma.name.enhancement")),1),o(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),l("div",we,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ve=y($e,[["render",Ee]]),Se=k({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),Ue={class:"relative"},Le={class:"flex justify-between"},Te={class:"flex justify-start items-center"},Ie={class:"text-sm font-bold"},Ce={class:"flex justify-end items-center"};function je(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",Ue,[l("div",Le,[l("div",Te,[l("span",Ie,i(e.$t("luma.name.custom")),1),o(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),l("div",Ce,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ae=y(Se,[["render",je]]),Re=k({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:L},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Pe={class:"relative"},Ge={class:"flex justify-between"},Me={class:"flex justify-start items-center"},Fe={class:"text-sm font-bold"},ze={class:"flex justify-end items-center"};function Be(e,t,f,h,w,E){const r=s("info-icon"),u=s("el-switch");return a(),m("div",Pe,[l("div",Ge,[l("div",Me,[l("span",Fe,i(e.$t("luma.name.loop")),1),o(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),l("div",ze,[o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const De=y(Re,[["render",Be]]),Oe=k({name:"EndImage",components:{ElUpload:P,ElButton:U,ImagePreview:O,InfoIcon:L,FontAwesomeIcon:S},mixins:[D],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),qe={class:"relative"},Ne={class:"flex justify-between"},He={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"};function Je(e,t,f,h,w,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",qe,[l("div",Ne,[l("div",He,[l("span",xe,i(e.$t("luma.name.endImageUrl")),1),o(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),o(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,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:c(({file:n})=>[n.url&&n.percentage!==void 0?(a(),$(u,{key:0,url:n.url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=y(Oe,[["render",Je],["__scopeId","data-v-7a787b4d"]]),Qe=k({name:"StartImage",components:{ElUpload:P,ElButton:U,ImagePreview:O,InfoIcon:L,FontAwesomeIcon:S},mixins:[D],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){b.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){b.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),We={class:"relative"},Xe={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Ze={class:"text-sm font-bold"};function et(e,t,f,h,w,E){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",We,[l("div",Xe,[l("div",Ye,[l("span",Ze,i(e.$t("luma.name.startImageUrl")),1),o(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),o(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,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:c(({file:n})=>[n.percentage!=null?(a(),$(u,{key:0,url:n.url||n.response.file_url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const tt=y(Qe,[["render",et],["__scopeId","data-v-8c5cfe84"]]),ot=k({name:"UploadVideo",components:{ElUpload:P,ElButton:U,InfoIcon:L,FilePreview:ee,FontAwesomeIcon:S},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){b.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){b.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const t=e.type==="video/mp4",f=e.size/1024/1024<10;return t?f?!0:(b.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(b.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),st={class:"relative"},nt={class:"flex justify-between"},at={class:"flex justify-start items-center"},lt={class:"text-sm font-bold"};function it(e,t,f,h,w,E){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),g=s("el-button"),v=s("el-upload");return a(),m("div",st,[l("div",nt,[l("div",at,[l("span",lt,i(e.$t("luma.name.videoUrl")),1),o(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),o(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=n=>e.fileList=n),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:n})=>[n.percentage!=null?(a(),$(u,{key:0,url:n.url||n.response?.file_url,name:n.name,percentage:n.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(n),1)},null,8,["url","name","percentage","onRemove"])):p("",!0)]),default:c(()=>[o(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:c(()=>[o(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+i(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const rt=y(ot,[["render",it],["__scopeId","data-v-74e51526"]]),ct="",mt=k({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ct)}});function ut(e,t,f,h,w,E){const r=s("prompt-textarea");return a(),$(r,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("luma.name.prompt"),info:e.$t("luma.description.prompt"),placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const dt=y(mt,[["render",ut]]),pt=k({name:"ExtendFromInput",components:{VideoPlayer:q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ft={class:"relative"},_t={class:"flex mb-2"},ht={class:"text-sm font-bold"};function gt(e,t,f,h,w,E){const r=s("video-player");return a(),m("div",ft,[l("div",_t,[l("span",ht,i(e.$t("luma.name.extend")),1)]),l("div",null,[e.config?.video_url?(a(),$(r,{key:0,src:e.config?.video_url},null,8,["src"])):p("",!0)])])}const $t=y(pt,[["render",gt]]),vt=k({name:"ConfigPanel",components:{LoopSelector:De,StartImageInput:tt,EndImageInput:Ke,EnhancementSelector:Ve,ElButton:U,FontAwesomeIcon:S,PromptInput:dt,ExtendFromInput:$t,CustomSelector:Ae,UploadVideo:rt,Consumption:se},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),bt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},yt={class:"flex flex-col items-center justify-center px-5 pb-5"};function wt(e,t,f,h,w,E){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),g=s("upload-video"),v=s("start-image-input"),n=s("end-image-input"),V=s("enhancement-selector"),T=s("loop-selector"),I=s("consumption"),G=s("font-awesome-icon"),M=s("el-button");return a(),m("div",bt,[l("div",kt,[e.config?.video_id||e.config?.video_url?(a(),$(r,{key:0,class:"mb-4"})):p("",!0),o(u,{class:"mb-4"}),e.config?.video_id?p("",!0):(a(),$(d,{key:1,class:"mb-4"})),e.config?.custom?(a(),$(g,{key:2,class:"mb-4"})):p("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),$(v,{key:3,class:"mb-4"})):p("",!0),o(n,{class:"mb-4"}),o(V,{class:"mb-4"}),o(T,{class:"mb-4"})]),l("div",yt,[o(I,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),$(M,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),$(M,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[o(G,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+i(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const Et=y(vt,[["render",wt]]),Vt=k({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:le,FontAwesomeIcon:S,ElAlert:ce,VideoPlayer:q,ElTooltip:re,ElButton:U,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug("set config",t),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:"extend",thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),St={class:"preview"},Ut={class:"left"},Lt={class:"main"},Tt={class:"bot"},It={class:"datetime"},Ct={class:"info"},jt={key:0,class:"prompt mt-2"},At={key:0},Rt={key:1},Pt={key:0,class:C({content:!0,failed:!0})},Gt={key:0,class:"mb-4"},Mt={key:1,class:C({operations:!0,"mt-2":!0,"mb-4":!0})},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:1,class:C({content:!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ht={key:2,class:C({content:!0})},xt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Jt(e,t,f,h,w,E){const r=s("el-image"),u=s("video-player"),d=s("el-button"),g=s("el-tooltip"),v=s("api-code-button"),n=s("font-awesome-icon"),V=s("copy-to-clipboard"),T=s("el-alert");return a(),m("div",St,[l("div",Ut,[o(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),l("div",Lt,[l("div",Tt,[_(i(e.$t("luma.name.lumaBot"))+" ",1),l("span",It,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",Ct,[e.modelValue?.request?.prompt?(a(),m("p",jt,[_(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(a(),m("span",At," - ("+i(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("span",Rt," - ("+i(e.$t("luma.status.processing"))+") ",1)):p("",!0)])):p("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",Pt,[e.modelValue.response.video_url?(a(),m("div",Gt,[o(u,{src:e.modelValue.response.video_url},null,8,["src"])])):p("",!0),e.modelValue?.response&&!e.config?.custom?(a(),m("div",Mt,[o(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=F(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:c(()=>[_(i(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),o(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:c(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[1]||(t[1]=F(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[_(i(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"]),o(v,{path:"/luma/videos",body:e.modelValue?.request},null,8,["body"])])):p("",!0),o(T,{closable:!1,class:"mt-2 success"},{default:c(()=>[l("p",Ft,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",zt,[o(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0)]),_:1})])):p("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),m("div",Bt,[o(T,{closable:!1,class:"failure"},{template:c(()=>[o(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[l("p",Dt,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])]),l("p",Ot,[o(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+i(e.$t("luma.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),o(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",qt,[o(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+i(e.$t("luma.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),l("p",Nt,[o(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+i(e.$t("luma.name.traceId"))+": "+i(e.modelValue?.trace_id)+" ",1),o(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):p("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),m("div",Ht,[o(T,{closable:!1,class:"info"},{template:c(()=>[o(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+i(e.$t("luma.name.failure")),1)]),default:c(()=>[l("p",xt,[o(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+i(e.$t("luma.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),o(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):p("",!0)])])}const Kt=y(Vt,[["render",Jt],["__scopeId","data-v-b96f3f79"]]),Qt=k({name:"RecentPanel",components:{BotPlaceholder:ue,TaskPreview:Kt,NoTasks:oe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Xt={key:2,class:"w-full h-full flex items-center justify-center"};function Yt(e,t,f,h,w,E){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),g=s("no-tasks");return a(),m(z,null,[e.tasks?.items===void 0?(a(),m("div",Wt,[o(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:t[1]||(t[1]=v=>e.$emit("reach-top"))},{default:c(()=>[(a(!0),m(z,null,H(e.tasks?.items,v=>(a(),$(u,{key:v.id,"model-value":v,onExtend:t[0]||(t[0]=n=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(a(),m("div",Xt,[o(g)])):p("",!0)],64)}const Zt=y(Qt,[["render",Yt]]),eo=K("luma"),to=k({name:"LumaIndex",components:{ConfigPanel:Et,Layout:ge,RecentPanel:Zt},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},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 Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();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:f,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:t,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:eo};if(!this.hasText(e.prompt)){b.error(this.$t("luma.message.promptRequired"));return}e.prompt=e.prompt?.trim();const t=this.credential?.token;if(!t){console.error("no token specified");return}b.info(this.$t("luma.message.startingTask")),x("luma",J.generate(e,{token:t})).then(()=>{b.success(this.$t("luma.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===ae?b.error(this.$t("luma.message.usedUp")):b.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e=="string"&&e.trim().length>0}}});function oo(e,t,f,h,w,E){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return a(),$(d,null,{config:c(()=>[o(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||(t[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Qo=y(to,[["render",oo]]);export{Qo as default};