@acedatacloud/nexior 3.253.1 → 3.254.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 (259) hide show
  1. package/dist/assets/{ApiCodeButton-Drq1wo0T.js → ApiCodeButton-BxqD0cCY.js} +1 -1
  2. package/dist/assets/{Auth-CZ1D5LGg.js → Auth-CtYsdssG.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-Bb3okszP.js → BotPlaceholder-DjiOhPyf.js} +1 -1
  4. package/dist/assets/{Callback-DQYu2lmO.js → Callback-M2A6_5jw.js} +1 -1
  5. package/dist/assets/{Console-BBcDMeyv.js → Console-DRsTKI7M.js} +1 -1
  6. package/dist/assets/{Consumption-Bx3U0iJn.js → Consumption-CAqs4mvP.js} +1 -1
  7. package/dist/assets/{Conversation-rw_jqpk1.js → Conversation-CLnV7s57.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-ffsw6Et3.js → CopyToClipboard-1IX_fIJI.js} +1 -1
  9. package/dist/assets/Detail-CO62Ya0u.js +2 -0
  10. package/dist/assets/{Extra-BthcFzYT.js → Extra-B7UmQLmK.js} +1 -1
  11. package/dist/assets/{FilePreview-SrSnDMh6.js → FilePreview-BRBJ0qTl.js} +1 -1
  12. package/dist/assets/{Hailuo-DJhW5ZsC.js → Hailuo-CSbtsi4o.js} +1 -1
  13. package/dist/assets/{History-ExPfxYZ0.js → History-TIEvsWyR.js} +1 -1
  14. package/dist/assets/{ImagePreview-BKe9oBpc.js → ImagePreview-C998Urxa.js} +1 -1
  15. package/dist/assets/{ImageWrapper-DzNRJvY4.js → ImageWrapper-Ck-NP9Cx.js} +1 -1
  16. package/dist/assets/{Index-Cpf9Sg77.js → Index--dxhTa-L.js} +1 -1
  17. package/dist/assets/{Index-BjL51U9D.js → Index-0sFecbqS.js} +1 -1
  18. package/dist/assets/{Index-D8Z9QaVn.js → Index-7HTPhpM0.js} +1 -1
  19. package/dist/assets/{Index-DUSxOyea.js → Index-B2aerUSF.js} +1 -1
  20. package/dist/assets/{Index-BYTdrKm4.js → Index-BHr_J1yQ.js} +1 -1
  21. package/dist/assets/{Index-Ve8jfyOn.js → Index-BHvijLld.js} +1 -1
  22. package/dist/assets/{Index--3ynTuu6.js → Index-BZDu_omW.js} +1 -1
  23. package/dist/assets/{Index-PUHoRpqU.js → Index-Bf3d2NQl.js} +1 -1
  24. package/dist/assets/{Index-CbfQnEXB.js → Index-BtQlwOX3.js} +1 -1
  25. package/dist/assets/{Index-CmSKAh7m.js → Index-C-gUARlm.js} +1 -1
  26. package/dist/assets/{Index-Cqt0TDzx.js → Index-C1fRrCKy.js} +1 -1
  27. package/dist/assets/{Index-DRvtmmcY.js → Index-CCssWaOK.js} +1 -1
  28. package/dist/assets/{Index-BojlkX3h.js → Index-CR9hAWHp.js} +1 -1
  29. package/dist/assets/{Index-C6HmT5fE.js → Index-CTB2GHiN.js} +1 -1
  30. package/dist/assets/{Index-BmOd7ffS.js → Index-CdxGRp_0.js} +1 -1
  31. package/dist/assets/{Index-DKwZ_wBA.js → Index-Cii_Pnel.js} +1 -1
  32. package/dist/assets/{Index-C1oLHd-u.js → Index-CipAtZtV.js} +1 -1
  33. package/dist/assets/{Index-CVQ96DV5.js → Index-CopiLbHG.js} +1 -1
  34. package/dist/assets/{Index-Czuez0uY.js → Index-CpkjSBRS.js} +1 -1
  35. package/dist/assets/{Index-B0phzJBq.js → Index-DDnM852n.js} +1 -1
  36. package/dist/assets/{Index-DT6Sk9aR.js → Index-DJq6Vsw_.js} +1 -1
  37. package/dist/assets/{Index-BtiLj0le.js → Index-DbYg8Cyg.js} +1 -1
  38. package/dist/assets/{Index-BUgPSlDC.js → Index-Du2a7hWB.js} +1 -1
  39. package/dist/assets/{Index-Bcky52n4.js → Index-_OBqomMc.js} +1 -1
  40. package/dist/assets/{Index-tnhMyV8C.js → Index-zYGs6cAh.js} +1 -1
  41. package/dist/assets/{Invitees-LYo1v4W-.js → Invitees-CtmR5Epm.js} +1 -1
  42. package/dist/assets/{List-BY87VDaH.js → List-BbBljQMt.js} +1 -1
  43. package/dist/assets/{List-D5WSfw2M.js → List-CXINl2vj.js} +1 -1
  44. package/dist/assets/{List-Dr5Noynt.js → List-DIhMu1E3.js} +1 -1
  45. package/dist/assets/{Main-BWsVcUq8.js → Main-B3mkku0_.js} +1 -1
  46. package/dist/assets/{Model-BYyfLGD1.js → Model-C13--tR_.js} +1 -1
  47. package/dist/assets/{Navigator-ySiZ_3sE.js → Navigator-BYreIK59.js} +1 -1
  48. package/dist/assets/{NoTasks-Ct9vzToj.js → NoTasks-yBM0VcFt.js} +1 -1
  49. package/dist/assets/{NotFound-_zj9nPTI.js → NotFound-OL1czoc0.js} +1 -1
  50. package/dist/assets/{Pagination-C_lShewI.js → Pagination-D6E-R_Ae.js} +1 -1
  51. package/dist/assets/Pay-CesrMfST.css +1 -0
  52. package/dist/assets/Pay-DdFSwhX4.js +1 -0
  53. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-B7W50pMc.js → Player.vue_vue_type_script_setup_true_lang-DGKPk0h1.js} +1 -1
  54. package/dist/assets/{Status-DAfUPPmi.js → Status-XvmzuazN.js} +1 -1
  55. package/dist/assets/{Subscribe-CABz2G6N.js → Subscribe-BYTPXgoH.js} +1 -1
  56. package/dist/assets/{TabSwitcher-Dw8j_EHR.js → TabSwitcher-nRsVCatm.js} +1 -1
  57. package/dist/assets/{Tts-DvQqFPAz.js → Tts-BFFW4L5e.js} +1 -1
  58. package/dist/assets/{VideoPlayer-CMIYFrB5.js → VideoPlayer-BPduKGi_.js} +1 -1
  59. package/dist/assets/{_Uint8Array-CVqSvQNa.js → _Uint8Array-DpNcpWMI.js} +1 -1
  60. package/dist/assets/{_baseClone-CxI4YMcc.js → _baseClone-zV-7if9N.js} +1 -1
  61. package/dist/assets/{_baseIteratee-CCsMHsVd.js → _baseIteratee-lGycXKU_.js} +1 -1
  62. package/dist/assets/{_initCloneObject-C7zi7Gf-.js → _initCloneObject-DdnevRPr.js} +1 -1
  63. package/dist/assets/{add-BbL1JEc3.js → add-Dt3g-7JF.js} +1 -1
  64. package/dist/assets/{all-wallets-DdQGFefb.js → all-wallets-BVuTebEf.js} +1 -1
  65. package/dist/assets/{app-store-BkcsVQNb.js → app-store-C5_9nm13.js} +1 -1
  66. package/dist/assets/{apple-DK6gw0DT.js → apple-b0QduR-R.js} +1 -1
  67. package/dist/assets/{arrow-bottom-BBGb_WRw.js → arrow-bottom-DmrXmMUE.js} +1 -1
  68. package/dist/assets/{arrow-bottom-circle-CGTx4qcO.js → arrow-bottom-circle-D2bLZcCJ.js} +1 -1
  69. package/dist/assets/{arrow-left-BAoKWKC9.js → arrow-left-C1KSP-wV.js} +1 -1
  70. package/dist/assets/{arrow-right-WIaYqO7i.js → arrow-right-CgwNsz8D.js} +1 -1
  71. package/dist/assets/{arrow-top-C9j7ZKAv.js → arrow-top-b6WDMpIS.js} +1 -1
  72. package/dist/assets/{avatar-Cxk_5Ggh.js → avatar-BT7MB_aE.js} +1 -1
  73. package/dist/assets/{bank-BvloARJ4.js → bank-BxaQVew-.js} +1 -1
  74. package/dist/assets/{basic-CBOiMGEo.js → basic-Da_pLiMv.js} +1 -1
  75. package/dist/assets/{browser-0A0ww1Lg.js → browser-BDbsPqEH.js} +1 -1
  76. package/dist/assets/{byokCredential-EfkQl_84.js → byokCredential-DriMQcgc.js} +1 -1
  77. package/dist/assets/{card-BPCCAYIt.js → card-DECuPT29.js} +1 -1
  78. package/dist/assets/{castArray-DEdhtRiU.js → castArray-HenHrVq3.js} +1 -1
  79. package/dist/assets/{chat-BsWGw1Fe.js → chat-GEPm8rjA.js} +1 -1
  80. package/dist/assets/{checkmark-TIa-HZL1.js → checkmark-CkP3ZlbC.js} +1 -1
  81. package/dist/assets/{checkmark-bold-CUogUz4V.js → checkmark-bold-C64QqZhV.js} +1 -1
  82. package/dist/assets/{chevron-bottom-Dt_WbJd7.js → chevron-bottom-fbW8J-i0.js} +1 -1
  83. package/dist/assets/{chevron-left-uhs4cWhh.js → chevron-left-Bxp5KegJ.js} +1 -1
  84. package/dist/assets/{chevron-right-B50bY-xg.js → chevron-right-B0wboNNd.js} +1 -1
  85. package/dist/assets/{chevron-top-xKVL4vA2.js → chevron-top-8dBeiAOX.js} +1 -1
  86. package/dist/assets/{chrome-store-BDDjIZUl.js → chrome-store-BijicHNp.js} +1 -1
  87. package/dist/assets/{clock-B2K-MTG7.js → clock-Udn96DS_.js} +1 -1
  88. package/dist/assets/{close-kkXdBnME.js → close-DHu4BnGO.js} +1 -1
  89. package/dist/assets/{coinPlaceholder-C41D4dQt.js → coinPlaceholder-DeCRmc0c.js} +1 -1
  90. package/dist/assets/{compass-CmO_fCDE.js → compass-DtBVeI9e.js} +1 -1
  91. package/dist/assets/{copy-CDX4KaDL.js → copy-B5Tw1yrS.js} +1 -1
  92. package/dist/assets/{createTaskActions-DJIisH05.js → createTaskActions-DF7o6ObI.js} +1 -1
  93. package/dist/assets/{cursor-CHB-6oOu.js → cursor-BkxIXYnh.js} +1 -1
  94. package/dist/assets/{cursor-transparent-DdpFJJS6.js → cursor-transparent-CJel6rpO.js} +1 -1
  95. package/dist/assets/{debounce-BTG3LRQl.js → debounce-CqzZheF7.js} +1 -1
  96. package/dist/assets/{desktop-BvciHaL6.js → desktop-D-9K-XI2.js} +1 -1
  97. package/dist/assets/{disconnect-CC4T8bxU.js → disconnect-B_Vz_WSL.js} +1 -1
  98. package/dist/assets/{discord-CNyAAYkG.js → discord-TENoFFLd.js} +1 -1
  99. package/dist/assets/{distribution-CFg8mzRf.js → distribution-spPGacea.js} +1 -1
  100. package/dist/assets/{dropdown-CfgJYpo-.js → dropdown-DNfdJ_hn.js} +1 -1
  101. package/dist/assets/{etherscan--zFzETQv.js → etherscan-CGOFxI6Q.js} +1 -1
  102. package/dist/assets/{exclamation-triangle-DuQqiCxL.js → exclamation-triangle-DekjBO9Y.js} +1 -1
  103. package/dist/assets/{extension-D-qpGFg1.js → extension-BhN7rguc.js} +1 -1
  104. package/dist/assets/{external-link-FvxnbG0p.js → external-link-yAapT7TD.js} +1 -1
  105. package/dist/assets/{facebook-BW3aCde4.js → facebook-DIbve8qn.js} +1 -1
  106. package/dist/assets/{farcaster-BYDOSU6f.js → farcaster-DzyskXG2.js} +1 -1
  107. package/dist/assets/{filters-BClwkmZD.js → filters-B3sm9k7y.js} +1 -1
  108. package/dist/assets/{github-DzcMXO-k.js → github-Lcl3Zhuf.js} +1 -1
  109. package/dist/assets/{google-DUIsppvT.js → google-C7F3nD7L.js} +1 -1
  110. package/dist/assets/{help-circle-lZ-QdmvQ.js → help-circle-C9oN0pVp.js} +1 -1
  111. package/dist/assets/{highlight-CWzFA2AR.js → highlight-DA_0TCaq.js} +1 -1
  112. package/dist/assets/{id-B4BeN1c1.js → id-B8TDTOBH.js} +1 -1
  113. package/dist/assets/{image-0HI2SbjR.js → image-C4b2Jesg.js} +1 -1
  114. package/dist/assets/{index-BiXKkTGi.js → index--yZplNF0.js} +5 -5
  115. package/dist/assets/{index-DxD6oont.js → index-2vtPLnDX.js} +1 -1
  116. package/dist/assets/{index-lfOMNaVh.js → index-B-rbdbMh.js} +1 -1
  117. package/dist/assets/{index-B-XszVZM.js → index-B0ah8wXg.js} +1 -1
  118. package/dist/assets/{index-VX-0_ECC.js → index-B1PvMC1r.js} +1 -1
  119. package/dist/assets/{index-D1E_Y5lj.js → index-B2rsYRqv.js} +1 -1
  120. package/dist/assets/{index-DxRJVBld.js → index-BAkURwG6.js} +1 -1
  121. package/dist/assets/{index-8OUK_qo_.js → index-BC7TMFtg.js} +1 -1
  122. package/dist/assets/{index-CuT8kfLH.js → index-BD4C2ydt.js} +1 -1
  123. package/dist/assets/{index-A1vs7Tvb.js → index-BHailWFn.js} +1 -1
  124. package/dist/assets/{index-DiwSA7hK.js → index-BQvGwBXE.js} +1 -1
  125. package/dist/assets/{index-DZuGeaea.js → index-BWdQZpRD.js} +1 -1
  126. package/dist/assets/{index-T9dwQr1K.js → index-BXFsm1k5.js} +1 -1
  127. package/dist/assets/{index-D7KBMZcH.js → index-BXQ9i-3K.js} +1 -1
  128. package/dist/assets/{index-CpcLlVkI.js → index-BezHEdIy.js} +1 -1
  129. package/dist/assets/{index-ugpiiN8d.js → index-Bj-LZYsH.js} +1 -1
  130. package/dist/assets/{index-DRgx3hTx.js → index-Bm79jwfs.js} +1 -1
  131. package/dist/assets/{index-DC-1EJIg.js → index-BpYV69OO.js} +1 -1
  132. package/dist/assets/{index-rDyNuNM8.js → index-Bq8qfnvv.js} +1 -1
  133. package/dist/assets/{index-DJQ9HAgr.js → index-BsBYu18Z.js} +1 -1
  134. package/dist/assets/{index-C71cSz36.js → index-BvfckIUC.js} +1 -1
  135. package/dist/assets/{index-BZblnLXL.js → index-C-WPKpk0.js} +3 -3
  136. package/dist/assets/{index-DuewqZJa.js → index-C1n6cOmm.js} +1 -1
  137. package/dist/assets/{index-B8wbDRCk.js → index-C2jm5DkN.js} +1 -1
  138. package/dist/assets/{index-DmpJeEzY.js → index-CPG-xu8f.js} +1 -1
  139. package/dist/assets/{index-Cfmbp0EV.js → index-CTvFcRkR.js} +1 -1
  140. package/dist/assets/{index-DVF-DbEJ.js → index-CU-wA8W4.js} +1 -1
  141. package/dist/assets/{index-BpUUocOH.js → index-CV8IHEvJ.js} +1 -1
  142. package/dist/assets/{index-DPrdPxRp.js → index-CWYyoCk7.js} +1 -1
  143. package/dist/assets/{index-D_Hz5fA6.js → index-CZ3pjjPh.js} +1 -1
  144. package/dist/assets/{index-BoXQVYKo.js → index-CcqpLk-G.js} +1 -1
  145. package/dist/assets/{index-CLCPMnHR.js → index-ChNQojcr.js} +1 -1
  146. package/dist/assets/{index-BCXKdZWY.js → index-CilL6PIO.js} +1 -1
  147. package/dist/assets/{index-CDwwbugy.js → index-CqxxXE3u.js} +1 -1
  148. package/dist/assets/{index-Bf6ZJ_-M.js → index-CtGYt7oB.js} +1 -1
  149. package/dist/assets/{index-DhiRha4e.js → index-CuHDDuPv.js} +1 -1
  150. package/dist/assets/{index-h2aywIom.js → index-Cxlwdjgi.js} +1 -1
  151. package/dist/assets/{index-BJuXTSkv.js → index-D54CRh08.js} +1 -1
  152. package/dist/assets/{index-CPxD-sCL.js → index-DC1w3fEx.js} +1 -1
  153. package/dist/assets/{index-DiN4Bfoz.js → index-DEWZRZs6.js} +1 -1
  154. package/dist/assets/{index-B99Tt-3f.js → index-DJKoPOpG.js} +1 -1
  155. package/dist/assets/{index-xDJdJ7tW.js → index-DO8S8Id2.js} +1 -1
  156. package/dist/assets/{index-BXuzdQwl.js → index-DXvpIbcW.js} +1 -1
  157. package/dist/assets/{index-BoKfbtX5.js → index-DZaahma8.js} +1 -1
  158. package/dist/assets/{index-Cr5D85Nx.js → index-DgroLe_Z.js} +1 -1
  159. package/dist/assets/{index-DtKgf_D_.js → index-Dkgmakcn.js} +1 -1
  160. package/dist/assets/{index-0JQvyqxg.js → index-DnjeiEki.js} +1 -1
  161. package/dist/assets/{index-Blb1DDfP.js → index-DrYszp6G.js} +1 -1
  162. package/dist/assets/{index-CCgsKWE1.js → index-Ds6Sr9py.js} +1 -1
  163. package/dist/assets/index-DuEKtt88.js +1 -0
  164. package/dist/assets/{index-9b5J_69T.js → index-DuJDuBrw.js} +2 -2
  165. package/dist/assets/{index-BCb0oDfU.css → index-Dw0Evzkz.css} +1 -1
  166. package/dist/assets/{index-0LjPFnwM.js → index-DyyHVitb.js} +1 -1
  167. package/dist/assets/{index-CQ8_0yRK.js → index-EEPYi6DH.js} +1 -1
  168. package/dist/assets/{index-DoQNCDIK.js → index-H-_1y_Yc.js} +1 -1
  169. package/dist/assets/{index-DDnwYmZh.js → index-Np2VKPVO.js} +1 -1
  170. package/dist/assets/{index-Br1yUMf8.js → index-Oa_PCd7d.js} +1 -1
  171. package/dist/assets/{index-BRAaGgzT.js → index-QmCs3qnb.js} +1 -1
  172. package/dist/assets/{index-CTpATBUx.js → index-Zv979A8G.js} +1 -1
  173. package/dist/assets/{index-BafGfJuZ.js → index-gzYajnvG.js} +1 -1
  174. package/dist/assets/{index-DopdqtSU.js → index-hcQCB-df.js} +1 -1
  175. package/dist/assets/{index-DrvYmhcP.js → index-no5JV8R1.js} +8 -8
  176. package/dist/assets/{index-CWjfFjXS.js → index-pg5akiTV.js} +1 -1
  177. package/dist/assets/{index-BQ1Esg7B.js → index-zCwyqa-N.js} +1 -1
  178. package/dist/assets/{index-CFfoccqE.js → index-zfqjU6QP.js} +1 -1
  179. package/dist/assets/{index.browser.esm-CrJVQdid.js → index.browser.esm-9Ih0fbkd.js} +1 -1
  180. package/dist/assets/{index.es-CJfukhtE.js → index.es-B4F9fpyF.js} +1 -1
  181. package/dist/assets/{info-BlZxXLeA.js → info-DeZ0KZke.js} +1 -1
  182. package/dist/assets/{info-circle-CMH3qpFh.js → info-circle-BWscfmmj.js} +1 -1
  183. package/dist/assets/{isEqual-Box1EVJE.js → isEqual-CcdyrgoF.js} +1 -1
  184. package/dist/assets/{isPlainObject-DoaviOGK.js → isPlainObject-5Zj8F53P.js} +1 -1
  185. package/dist/assets/{lightbulb-C5rtp_4Y.js → lightbulb-Bub0s-U7.js} +1 -1
  186. package/dist/assets/{mail-VdLRq_MO.js → mail-rE-Wavy-.js} +1 -1
  187. package/dist/assets/{midjourney-3vLSyV_6.js → midjourney-D5KJRgg-.js} +1 -1
  188. package/dist/assets/{mobile-PEz03m91.js → mobile-D8qIDZsU.js} +1 -1
  189. package/dist/assets/{more-CqgAmMdq.js → more-Xz-XBReO.js} +1 -1
  190. package/dist/assets/{network-placeholder-DqaMG2mQ.js → network-placeholder-C_PicYRT.js} +1 -1
  191. package/dist/assets/{nftPlaceholder-ObdTBCBa.js → nftPlaceholder-BfB3KyuQ.js} +1 -1
  192. package/dist/assets/{off-umcDqI-N.js → off-ygzmZUey.js} +1 -1
  193. package/dist/assets/{order-USBlglMa.js → order-53ZhwUJJ.js} +1 -1
  194. package/dist/assets/{order-BOkEMTGm.js → order-BAn01Jdq.js} +1 -1
  195. package/dist/assets/{order-yvnkyHdx.js → order-BR8jK_l8.js} +1 -1
  196. package/dist/assets/{order-DR286FJG.js → order-BWI_TRvE.js} +1 -1
  197. package/dist/assets/{order-JqQuJvaj.js → order-BjYCXHSR.js} +1 -1
  198. package/dist/assets/{order-ClrkS2zn.js → order-BzJSTnZZ.js} +1 -1
  199. package/dist/assets/{order-CC6B6Gge.js → order-CHShvqiR.js} +1 -1
  200. package/dist/assets/{order-ZYdEDMNp.js → order-CNqzeSfo.js} +1 -1
  201. package/dist/assets/{order-B1hxjKoD.js → order-Cl29thYZ.js} +1 -1
  202. package/dist/assets/{order-BP1IUP5d.js → order-DKNF0BbY.js} +1 -1
  203. package/dist/assets/{order-Crc77GW7.js → order-DShgWTSa.js} +1 -1
  204. package/dist/assets/{order-CyD2axQ8.js → order-DbNd9dX0.js} +1 -1
  205. package/dist/assets/{order-DKLYGFwv.js → order-DlAnaS3P.js} +1 -1
  206. package/dist/assets/{order-D5ID07HO.js → order-E78f71Aq.js} +1 -1
  207. package/dist/assets/{order-BnsarLHZ.js → order-Pqxp_o2D.js} +1 -1
  208. package/dist/assets/{order-B_LsTujN.js → order-Vg8oZNKH.js} +1 -1
  209. package/dist/assets/{order-CYU1HtHS.js → order-kgv9S4hZ.js} +1 -1
  210. package/dist/assets/{order-BrBYxI1W.js → order-qH_BSyFB.js} +1 -1
  211. package/dist/assets/{order-CoOWtaD7.js → order-sf9aZWzF.js} +1 -1
  212. package/dist/assets/{pagination-CJx5Nyq8.js → pagination-VW0oPmLZ.js} +1 -1
  213. package/dist/assets/{play-store-C_vpBc5E.js → play-store-CTHOqngj.js} +1 -1
  214. package/dist/assets/{plus-Cj6dJQCn.js → plus-D7-dqMCT.js} +1 -1
  215. package/dist/assets/{price-C6x3zgFx.js → price-DS6b2sTM.js} +1 -1
  216. package/dist/assets/{producer-IWrbrVvV.js → producer-uquApTX_.js} +1 -1
  217. package/dist/assets/{qr-code-B2BXj4Ws.js → qr-code-DEAYeybV.js} +1 -1
  218. package/dist/assets/{recycle-horizontal-gWA-GXAx.js → recycle-horizontal-gtnuq6jK.js} +1 -1
  219. package/dist/assets/{refresh-oZ-uQpSm.js → refresh-nK0bk1WJ.js} +1 -1
  220. package/dist/assets/{reown-logo-DRoPuj3k.js → reown-logo-B0bbx7Cl.js} +1 -1
  221. package/dist/assets/{search-CUx2Toms.js → search-IcpB4QyZ.js} +1 -1
  222. package/dist/assets/{secp256k1-D7hQM7XA.js → secp256k1-Bu-M4uKb.js} +1 -1
  223. package/dist/assets/{secp256k1-CKgAHccq.js → secp256k1-DKRVXQ3g.js} +1 -1
  224. package/dist/assets/{seedream-C1MkodJX.js → seedream-CT81TXx8.js} +1 -1
  225. package/dist/assets/{send-BvrGPjYl.js → send-nEyKystC.js} +1 -1
  226. package/dist/assets/{service-7_Q7xSzl.js → service-DJGSM6Mf.js} +1 -1
  227. package/dist/assets/{solana-wallets-zpWYSaEg.js → solana-wallets-D2u4y2ug.js} +2 -2
  228. package/dist/assets/{solana-wallets-vue-BcEdBWYc.js → solana-wallets-vue-DaCh0t2m.js} +1 -1
  229. package/dist/assets/{suno-CMvMdEud.js → suno-Dp5d2Mzc.js} +1 -1
  230. package/dist/assets/{swapHorizontal-Cv-TgJkH.js → swapHorizontal-dCuVrjW1.js} +1 -1
  231. package/dist/assets/{swapHorizontalBold-DuFXa36h.js → swapHorizontalBold-CDzXaClU.js} +1 -1
  232. package/dist/assets/{swapHorizontalMedium-CmQ52Cpp.js → swapHorizontalMedium-Ccs_Ilhs.js} +1 -1
  233. package/dist/assets/{swapHorizontalRoundedBold-CjAiyg-2.js → swapHorizontalRoundedBold-4rCgA87S.js} +1 -1
  234. package/dist/assets/{swapVertical-DzK2PlTe.js → swapVertical-Bs_HzHoC.js} +1 -1
  235. package/dist/assets/{telegram-DgjV_aip.js → telegram-n8TJEqP9.js} +1 -1
  236. package/dist/assets/{three-dots-EiLdcMPi.js → three-dots-COGuwHCY.js} +1 -1
  237. package/dist/assets/{twitch-BN1DycPm.js → twitch-exzVU3oe.js} +1 -1
  238. package/dist/assets/{twitterIcon-CDGin63H.js → twitterIcon-gD5zX4Ke.js} +1 -1
  239. package/dist/assets/{typescript-lkSt6sMt.js → typescript-IiCxzQCL.js} +1 -1
  240. package/dist/assets/{use-form-item-xBSOcnBK.js → use-form-item-CrWBJQZh.js} +1 -1
  241. package/dist/assets/validator-D9a82SKc.js +1 -0
  242. package/dist/assets/{verify-CcY1lPIc.js → verify-BifeQW9W.js} +1 -1
  243. package/dist/assets/{verify-filled-D6hBO2qT.js → verify-filled-BmPnGWqj.js} +1 -1
  244. package/dist/assets/{w3m-modal-CiPnWbhU.js → w3m-modal-DK3nl54l.js} +1 -1
  245. package/dist/assets/{wallet-Bl7RERHs.js → wallet-caBDDr1q.js} +1 -1
  246. package/dist/assets/{wallet-placeholder-DAeOzX8D.js → wallet-placeholder-OusS2DpO.js} +1 -1
  247. package/dist/assets/{walletconnect-CnAX0UcV.js → walletconnect-Dbwj6D9E.js} +1 -1
  248. package/dist/assets/{warning-circle-Bbgrb2Be.js → warning-circle-B7gHiibf.js} +1 -1
  249. package/dist/assets/{web-Bq58frSo.js → web-BBXrg1XR.js} +1 -1
  250. package/dist/assets/{web-CEWvXHzG.js → web-BuF34Bt5.js} +1 -1
  251. package/dist/assets/{web-DIg1_spB.js → web-DOsC6FoA.js} +1 -1
  252. package/dist/assets/{web-Drx0rheY.js → web-DkyuoHlS.js} +1 -1
  253. package/dist/assets/wechat-M0WZCIEY.js +1 -0
  254. package/dist/assets/{x-Dult3UxB.js → x-D8N6EMGS.js} +1 -1
  255. package/dist/index.html +2 -2
  256. package/package.json +1 -1
  257. package/dist/assets/Detail-BMFW5EkL.js +0 -2
  258. package/dist/assets/index-B8svBnpb.js +0 -1
  259. package/dist/assets/validator-Cct-VH_X.js +0 -1
@@ -1 +1 @@
1
- import{F as R}from"./index.es-CJfukhtE.js";import{E as D}from"./index-C71cSz36.js";import{E as oe}from"./index-BpUUocOH.js";import{d as b,C as r,D as l,z as P,E as t,y as v,J as o,q as a,x as k,H as n,M as I,L as A,P as L,Q as ae,I as h,N as $,K as ne}from"./vendor-vue-BWIxYyW8.js";import{J as E,dD as le,dE as ie,dF as re,dG as ce,dH as de,dI as me,dJ as ue,dK as pe,dL as fe,dM as z,dN as H,dO as M,dP as J,dQ as T,dR as _e,dS as he,dT as ve,dU as $e,dV as ge,dW as be,dX as Ee,dY as Se,dZ as ye,d_ as ke,bq as W,d$ as we,e0 as Ie,e1 as Ae,e2 as Le,e3 as Te,e4 as Ve,ct as Ce,b3 as Re,S as K,cu as De}from"./index-DrvYmhcP.js";import{P as Fe,N as Ue}from"./NoTasks-Ct9vzToj.js";import{I as w,S as Ne,l as Oe}from"./pagination-CJx5Nyq8.js";import{E as q,a as G}from"./index-D7KBMZcH.js";import{E as Q}from"./index-BoKfbtX5.js";import{E as j}from"./index-Bf6ZJ_-M.js";import{p as Y}from"./pasteUploadMixin-BurWbGNQ.js";import{u as Z,a as Pe,e as Me}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as B}from"./ImagePreview-BKe9oBpc.js";import{E as x}from"./index-BRAaGgzT.js";import{E as y}from"./index-BJuXTSkv.js";import{E as qe}from"./index-DiN4Bfoz.js";import{C as Ge}from"./Consumption-Bx3U0iJn.js";import{a as je}from"./price-C6x3zgFx.js";import{C as Be}from"./CopyToClipboard-ffsw6Et3.js";import{V as ze}from"./VideoPlayer-CMIYFrB5.js";import{I as Ke}from"./ImageWrapper-DzNRJvY4.js";import{A as Xe}from"./ApiCodeButton-Drq1wo0T.js";import{E as He}from"./index-rDyNuNM8.js";import{E as Je}from"./index-Blb1DDfP.js";import{B as We}from"./BotPlaceholder-Bb3okszP.js";import{b as Qe}from"./errorCode-Cqj9Td_Z.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-lfOMNaVh.js";import"./typescript-lkSt6sMt.js";import"./index-B8svBnpb.js";import"./index-DZuGeaea.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-0JQvyqxg.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-Box1EVJE.js";import"./_Uint8Array-CVqSvQNa.js";import"./castArray-DEdhtRiU.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./validator-Cct-VH_X.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_initCloneObject-C7zi7Gf-.js";import"./index-BC6AqXIx.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CFfoccqE.js";const Ye=b({name:"LayoutSeedance",components:{ElDrawer:oe,ElButton:D,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Ze={class:"main flex flex-row flex-1"},xe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},et={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function tt(e,s,d,_,p,f){const m=o("font-awesome-icon"),c=o("el-button"),i=o("el-drawer");return a(),r("div",Ze,[l("div",xe,[P(e.$slots,"config",{},void 0,!0)]),l("div",et,[P(e.$slots,"result",{},void 0,!0)]),t(c,{circle:"",class:"menu",onClick:s[0]||(s[0]=u=>e.drawer=!0)},{default:v(()=>[t(m,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=u=>e.drawer=u),direction:"ltr","with-header":!1,size:"350px"},{default:v(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const st=E(Ye,[["render",tt],["__scopeId","data-v-caafd095"]]),ot="",at=b({name:"SeedancePromptInput",components:{PromptTextarea:Fe},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ot)}});function nt(e,s,d,_,p,f){const m=o("prompt-textarea");return a(),k(m,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=c=>e.prompt=c),title:e.$t("seedance.name.prompt"),info:e.$t("seedance.description.prompt"),placeholder:e.$t("seedance.placeholder.prompt"),"min-rows":5},null,8,["modelValue","title","info","placeholder"])}const lt=E(at,[["render",nt]]),it=b({name:"SeedanceModelSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:ie,label:this.$t("seedance.model.seedance20")},{value:re,label:this.$t("seedance.model.seedance20Fast")},{value:ce,label:this.$t("seedance.model.seedance15pro")},{value:de,label:this.$t("seedance.model.seedance10pro")},{value:me,label:this.$t("seedance.model.seedance10proFast")},{value:ue,label:this.$t("seedance.model.seedance10liteT2v")},{value:pe,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=le)}}),rt={class:"field"},ct={class:"label"},dt={class:"box"},mt={class:"title font-bold"};function ut(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",rt,[l("div",ct,[l("div",dt,[l("h2",mt,n(e.$t("seedance.name.model")),1),t(m,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const pt=E(it,[["render",ut],["__scopeId","data-v-61816a81"]]),ft=b({name:"SeedanceDurationSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=fe)}}),_t={class:"field"},ht={class:"label"},vt={class:"box"},$t={class:"title font-bold"};function gt(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",_t,[l("div",ht,[l("div",vt,[l("h2",$t,n(e.$t("seedance.name.duration")),1),t(m,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const bt=E(ft,[["render",gt],["__scopeId","data-v-5c809a72"]]),Et=M,X={[H]:0,[M]:1,[J]:2},St=b({name:"SeedanceResolutionSelector",components:{InfoIcon:w,ElTooltip:Q},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},isLiteModel(){return typeof this.model=="string"&&this.model.includes("-lite-")},options(){const e=[{value:H,label:"480p"},{value:M,label:"720p"},{value:J,label:"1080p"}],s=this.isLiteModel;return e.map(d=>({...d,disabled:s&&X[d.value]>X[Et]}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||z},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){const e=this.value,s=this.options.find(d=>d.value===e);(!e||s&&s.disabled)&&(this.value=this.capability.defaultResolution||z)}}}),yt={class:"resolution"},kt={class:"header"},wt={class:"title font-bold"},It={class:"items"},At=["onClick"];function Lt(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-tooltip");return a(),r("div",yt,[l("div",kt,[l("h2",wt,n(e.$t("seedance.name.resolution")),1),t(m,{content:e.$t("seedance.description.resolution"),class:"info"},null,8,["content"])]),l("div",It,[(a(!0),r(I,null,A(e.options,i=>(a(),k(c,{key:i.value,content:e.$t("seedance.message.resolutionNotSupported"),disabled:!i.disabled,placement:"top"},{default:v(()=>[l("div",{class:L(["item",{active:e.value===i.value,disabled:i.disabled}]),onClick:u=>e.onSelect(i)},n(i.label),11,At)]),_:2},1032,["content","disabled"]))),128))])])}const Tt=E(St,[["render",Lt],["__scopeId","data-v-fd8d4e4b"]]),Vt=b({name:"SeedanceRatioSelector",components:{InfoIcon:w},computed:{options(){return[{value:he,label:"16:9",w:32,h:18},{value:ve,label:"9:16",w:18,h:32},{value:$e,label:"4:3",w:28,h:21},{value:ge,label:"3:4",w:21,h:28},{value:be,label:"1:1",w:24,h:24},{value:Ee,label:"21:9",w:34,h:14},{value:Se,label:this.$t("seedance.ratio.adaptive"),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||(this.value=_e)}}),Ct={class:"ratio"},Rt={class:"header"},Dt={class:"title font-bold"},Ft={class:"items"},Ut=["onClick"],Nt={class:"preview"},Ot={key:1,class:"rect rect-auto"},Pt={class:"name"};function Mt(e,s,d,_,p,f){const m=o("info-icon");return a(),r("div",Ct,[l("div",Rt,[l("h2",Dt,n(e.$t("seedance.name.ratio")),1),t(m,{content:e.$t("seedance.description.ratio"),class:"info"},null,8,["content"])]),l("div",Ft,[(a(!0),r(I,null,A(e.options,c=>(a(),r("div",{key:c.value,class:L(["item",{active:e.value===c.value}]),onClick:i=>e.value=c.value},[l("div",Nt,[c.w&&c.h?(a(),r("div",{key:0,class:"rect",style:ae({width:c.w+"px",height:c.h+"px"})},null,4)):(a(),r("div",Ot,"A"))]),l("div",Pt,n(c.label),1)],10,Ut))),128))])])}const qt=E(Vt,[["render",Mt],["__scopeId","data-v-8ddec2dd"]]),Gt=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{isSupported(){const e=this.$store.state.seedance?.config?.model;return T(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=ye)}}),jt={key:0,class:"field"},Bt={class:"label"},zt={class:"box"},Kt={class:"title font-bold"},Xt={class:"value"};function Ht(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return e.isSupported?(a(),r("div",jt,[l("div",Bt,[l("div",zt,[l("h2",Kt,n(e.$t("seedance.name.generateAudio")),1),t(m,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),l("div",Xt,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):h("",!0)}const Jt=E(Gt,[["render",Ht],["__scopeId","data-v-df51dfbd"]]),Wt=b({name:"SeedanceCameraFixedSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=ke)}}),Qt={class:"field"},Yt={class:"label"},Zt={class:"box"},xt={class:"title font-bold"},es={class:"value"};function ts(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return a(),r("div",Qt,[l("div",Yt,[l("div",Zt,[l("h2",xt,n(e.$t("seedance.name.cameraFixed")),1),t(m,{content:e.$t("seedance.description.cameraFixed"),class:"info"},null,8,["content"])])]),l("div",es,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const ss=E(Wt,[["render",ts],["__scopeId","data-v-ae777d61"]]),os=b({name:"SeedanceFirstFrameImage",components:{ElUpload:x,ElButton:D,InfoIcon:w,FontAwesomeIcon:R,ImagePreview:B},mixins:[Y,Z],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],d=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="first_frame");e&&d.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:d.length>0?d:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),as={key:0,class:"relative"},ns={class:"flex justify-between"},ls={class:"flex justify-start items-center"},is={class:"text-sm font-bold"},rs={key:0,class:"required-badge"};function cs(e,s,d,_,p,f){const m=o("info-icon"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("el-button"),S=o("el-upload");return e.capability.acceptsImage?(a(),r("div",as,[l("div",ns,[l("div",ls,[l("span",is,n(e.$t("seedance.name.firstFrame")),1),e.capability.requiresImage?(a(),r("span",rs,n(e.$t("seedance.name.required")),1)):h("",!0),t(m,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:v(({file:g})=>[g.url&&g.percentage!==void 0?(a(),k(c,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:v(()=>[t(u,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:v(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),$(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])):h("",!0)}const ds=E(os,[["render",cs],["__scopeId","data-v-e2597f23"]]),ms=b({name:"SeedanceLastFrameImage",components:{ElUpload:x,ElButton:D,ImagePreview:B,InfoIcon:w,FontAwesomeIcon:R},mixins:[Y,Z],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){y.warning(this.$t("seedance.message.uploadExceed"))},onError(){y.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],d=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="last_frame");e&&d.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:d.length>0?d:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),us={key:0,class:"relative"},ps={class:"flex justify-between"},fs={class:"flex justify-start items-center"},_s={class:"text-sm font-bold"};function hs(e,s,d,_,p,f){const m=o("info-icon"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("el-button"),S=o("el-upload");return e.capability.acceptsLastFrame?(a(),r("div",us,[l("div",ps,[l("div",fs,[l("span",_s,n(e.$t("seedance.name.lastFrame")),1),t(m,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:v(({file:g})=>[g.url&&g.percentage!==void 0?(a(),k(c,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:v(()=>[t(u,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:v(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),$(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])):h("",!0)}const vs=E(ms,[["render",hs],["__scopeId","data-v-3a191e51"]]),$s=b({name:"SeedanceServiceTierSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:Ie,label:this.$t("seedance.serviceTier.default")},{value:Ae,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=we)}}),gs={class:"field"},bs={class:"label"},Es={class:"box"},Ss={class:"title font-bold"};function ys(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",gs,[l("div",bs,[l("div",Es,[l("h2",Ss,n(e.$t("seedance.name.serviceTier")),1),t(m,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ks=E($s,[["render",ys],["__scopeId","data-v-cc938de2"]]),ws=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return T(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=Le)}}),Is={key:0,class:"field"},As={class:"label"},Ls={class:"box"},Ts={class:"title font-bold"},Vs={class:"value"};function Cs(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return e.isSupported?(a(),r("div",Is,[l("div",As,[l("div",Ls,[l("h2",Ts,n(e.$t("seedance.name.returnLastFrame")),1),t(m,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),l("div",Vs,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):h("",!0)}const Rs=E(ws,[["render",Cs],["__scopeId","data-v-edea5451"]]),Ds=b({name:"SeedanceSeedInput",components:{ElInputNumber:qe,InfoIcon:w},computed:{value:{get(){const e=this.$store.state.seedance?.config?.seed;return typeof e=="number"?e:-1},set(e){const s={...this.$store.state.seedance?.config||{}},d=typeof e=="number"&&Number.isInteger(e)?e:-1;s.seed=d,this.$store.commit("seedance/setConfig",s)}}}}),Fs={class:"field"},Us={class:"label"},Ns={class:"box"},Os={class:"title font-bold"},Ps={class:"value"};function Ms(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-input-number");return a(),r("div",Fs,[l("div",Us,[l("div",Ns,[l("h2",Os,n(e.$t("seedance.name.seed")),1),t(m,{content:e.$t("seedance.description.seed"),class:"info"},null,8,["content"])])]),l("div",Ps,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),min:-1,max:2147483647,step:1,size:"default","controls-position":"right",class:"counter"},null,8,["modelValue"])])])}const qs=E(Ds,[["render",Ms],["__scopeId","data-v-685a9869"]]),Gs=b({name:"SeedanceConfigPanel",components:{ElButton:D,FontAwesomeIcon:R,PromptInput:lt,ModelSelector:pt,DurationSelector:bt,ResolutionSelector:Tt,RatioSelector:qt,GenerateAudioSwitch:Jt,CameraFixedSwitch:ss,ServiceTierSelector:ks,ReturnLastFrameSwitch:Rs,SeedInput:qs,FirstFrameImage:ds,LastFrameImage:vs,Consumption:Ge},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return je(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),js={class:"flex flex-col h-full"},Bs={class:"flex-1 overflow-y-auto p-5"},zs={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ks(e,s,d,_,p,f){const m=o("prompt-input"),c=o("model-selector"),i=o("ratio-selector"),u=o("resolution-selector"),S=o("duration-selector"),g=o("service-tier-selector"),V=o("generate-audio-switch"),F=o("camera-fixed-switch"),U=o("return-last-frame-switch"),N=o("seed-input"),C=o("first-frame-image"),O=o("last-frame-image"),ee=o("consumption"),te=o("font-awesome-icon"),se=o("el-button");return a(),r("div",js,[l("div",Bs,[t(m,{class:"mb-4"}),t(c,{class:"mb-4"}),t(i,{class:"mb-4"}),t(u,{class:"mb-4"}),t(S,{class:"mb-4"}),t(g,{class:"mb-4"}),t(V,{class:"mb-4"}),t(F,{class:"mb-4"}),t(U,{class:"mb-4"}),t(N,{class:"mb-4"}),t(C,{class:"mb-2"}),t(O,{class:"mb-2"})]),l("div",zs,[t(ee,{value:e.consumption,service:e.service},null,8,["value","service"]),t(se,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:v(()=>[t(te,{icon:"fa-solid fa-magic",class:"mr-2"}),$(" "+n(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Xs=E(Gs,[["render",Ks]]),Hs=b({name:"SeedanceTaskPreview",components:{ElImage:Je,CopyToClipboard:Be,FontAwesomeIcon:R,ElAlert:He,VideoPlayer:ze,ElTooltip:Q,ElButton:D,ImageWrapper:Ke,ImagePreview:B,ApiCodeButton:Xe},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:Te}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){const e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];const s=[],d=e.find(p=>p?.role==="first_frame");d?.url&&s.push({url:d.url,name:"first-frame"});const _=e.find(p=>p?.role==="last_frame");return _?.url&&s.push({url:_.url,name:"last-frame"}),e.forEach((p,f)=>{p?.url&&p.role!=="first_frame"&&p.role!=="last_frame"&&s.push({url:p.url,name:p.role||`image-${f}`})}),s}},methods:{onDownload(e){window.open(e,"_blank")}}}),Js={class:"preview"},Ws={class:"left"},Qs={class:"main"},Ys={class:"bot"},Zs={class:"datetime"},xs={class:"info"},eo={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},to={key:1,class:"prompt mt-2"},so={key:0},oo={key:1},ao={key:0,class:L({content:!0})},no={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},lo={key:1,class:L({content:!0})},io={key:0,class:"mb-4"},ro={key:1,class:"mb-4"},co={key:2,class:L({operations:!0,"mt-2":!0,"mb-2":!0})},mo={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},uo={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},po={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},fo={key:0},_o={key:1},ho={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$o={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},go={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bo={key:2,class:L({content:!0})},Eo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},So={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yo={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ko={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wo={key:3,class:L({content:!0})},Io={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ao={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Lo(e,s,d,_,p,f){const m=o("el-image"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("copy-to-clipboard"),S=o("el-alert"),g=o("video-player"),V=o("image-wrapper"),F=o("el-button"),U=o("el-tooltip"),N=o("api-code-button");return a(),r("div",Js,[l("div",Ws,[t(m,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),l("div",Qs,[l("div",Ys,[$(n(e.$t("seedance.name.seedanceBot"))+" ",1),l("span",Zs,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",xs,[e.referenceImages.length>0?(a(),r("div",eo,[(a(!0),r(I,null,A(e.referenceImages,(C,O)=>(a(),k(c,{key:O,url:C.url,name:C.name,closable:!1},null,8,["url","name"]))),128))])):h("",!0),e.modelValue?.request?.prompt?(a(),r("p",to,[$(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(a(),r("span",oo," - ("+n(e.$t("seedance.status.processing"))+") ",1)):h("",!0):(a(),r("span",so," - ("+n(e.$t("seedance.status.pending"))+") ",1))])):h("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),r("div",lo,[e.video?.video_url?(a(),r("div",io,[t(g,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?.last_frame_url?(a(),r("div",ro,[t(V,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):h("",!0),e.video?.video_url?(a(),r("div",co,[t(U,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:v(()=>[t(F,{type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=ne(C=>e.onDownload(e.video?.video_url),["stop"]))},{default:v(()=>[$(n(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"]),t(N,{path:"/seedance/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),t(S,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),r("p",mo,[t(i,{icon:"fa-solid fa-cube",class:"mr-1"}),$(" "+n(e.$t("seedance.name.model"))+": "+n(e.modelValue?.request?.model),1)])):h("",!0),e.video?.duration?(a(),r("p",uo,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.duration"))+": "+n(e.video?.duration)+"s ",1)])):h("",!0),e.video?.resolution?(a(),r("p",po,[t(i,{icon:"fa-solid fa-expand",class:"mr-1"}),$(" "+n(e.$t("seedance.name.resolution"))+": "+n(e.video?.resolution)+" ",1),e.video?.ratio?(a(),r("span",fo," · "+n(e.video?.ratio),1)):h("",!0),e.video?.framespersecond?(a(),r("span",_o," · "+n(e.video?.framespersecond)+"fps",1)):h("",!0)])):h("",!0),e.modelValue?.request?.generate_audio?(a(),r("p",ho,[t(i,{icon:"fa-solid fa-volume-up",class:"mr-1"}),$(" "+n(e.$t("seedance.name.generateAudio"))+": "+n(e.$t("seedance.button.on")),1)])):h("",!0),l("p",vo,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",$o,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",go,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),r("div",bo,[t(S,{closable:!1,class:"failure"},{template:v(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),$(" "+n(e.$t("seedance.name.failure")),1)]),default:v(()=>[l("p",Eo,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),r("p",So,[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),$(" "+n(e.$t("seedance.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(u,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0),e.modelValue?.elapsed?(a(),r("p",yo,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",ko,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):(a(),r("div",wo,[t(S,{closable:!1,class:"info"},{template:v(()=>[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),$(" "+n(e.$t("seedance.name.status")),1)]),default:v(()=>[l("p",Io,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Ao,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):(a(),r("div",ao,[t(S,{closable:!1,class:"info"},{template:v(()=>[t(i,{icon:"fa-regular fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.status.pending")),1)]),default:v(()=>[l("p",no,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const To=E(Hs,[["render",Lo],["__scopeId","data-v-8b7e10f0"]]),Vo=b({name:"SeedanceRecentPanel",components:{TaskPreview:To,BotPlaceholder:We,NoTasks:Ue,ScrollList:Ne},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Co={key:0},Ro={key:2,class:"w-full h-full flex items-center justify-center"};function Do(e,s,d,_,p,f){const m=o("bot-placeholder"),c=o("task-preview"),i=o("scroll-list"),u=o("no-tasks");return a(),r(I,null,[e.tasks?.items===void 0?(a(),r("div",Co,[t(m)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),k(i,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=S=>e.$emit("reach-top"))},{default:v(()=>[(a(!0),r(I,null,A(e.tasks?.items,S=>(a(),k(c,{key:S.id,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Ro,[t(u)])):h("",!0)],64)}const Fo=E(Vo,[["render",Do]]),Uo=De("seedance"),No=b({name:"SeedanceIndex",components:{ConfigPanel:Xs,Layout:st,RecentPanel:Fo},mixins:[Pe],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Oe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:s=5,createdAtMin:d,createdAtMax:_}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:s,createdAtMin:d,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!Me(this.uploadTracker,f=>this.$t(f),f=>y.warning(f)))return;const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const f=e.images.some(c=>c?.role==="first_frame"),m=e.images.some(c=>c?.role==="last_frame");!f&&m&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}const s=Array.isArray(e?.images)&&e.images.length>0;if(!s&&"images"in e&&delete e.images,e?.model&&!Ve[e.model]){y.warning(this.$t("seedance.message.modelUnsupported"));return}const d=T(e?.model);if(d.requiresImage&&!s){y.warning(this.$t("seedance.message.modelRequiresImage"));return}if(!d.acceptsImage&&s){y.warning(this.$t("seedance.message.modelRejectsImage"));return}if(!d.acceptsText&&!s){y.warning(this.$t("seedance.message.modelRequiresImage"));return}!d.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!d.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!d.acceptsLastFrame&&s&&(e.images=e.images.filter(f=>f?.role!=="last_frame"));const _={...e,callback_url:Uo},p=this.credential?.token;if(!p){console.error("no token specified");return}y.info(this.$t("seedance.message.startingTask")),Ce("seedance",Re.generate(_,{token:p})).then(()=>{y.success(this.$t("seedance.message.startTaskSuccess"))}).catch(f=>{const m=f?.response?.data;m?.error?.code===Qe?y.error(this.$t("seedance.message.usedUp")):y.error(this.$t("seedance.message.startTaskFailed")+(m?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Oo(e,s,d,_,p,f){const m=o("config-panel"),c=o("recent-panel"),i=o("layout");return a(),k(i,null,{config:v(()=>[t(m,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[t(c,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Oa=E(No,[["render",Oo]]);export{Oa as default};
1
+ import{F as R}from"./index.es-B4F9fpyF.js";import{E as D}from"./index-BvfckIUC.js";import{E as oe}from"./index-CV8IHEvJ.js";import{d as b,C as r,D as l,z as P,E as t,y as v,J as o,q as a,x as k,H as n,M as I,L as A,P as L,Q as ae,I as h,N as $,K as ne}from"./vendor-vue-BWIxYyW8.js";import{J as E,dD as le,dE as ie,dF as re,dG as ce,dH as de,dI as me,dJ as ue,dK as pe,dL as fe,dM as z,dN as H,dO as M,dP as J,dQ as T,dR as _e,dS as he,dT as ve,dU as $e,dV as ge,dW as be,dX as Ee,dY as ye,dZ as Se,d_ as ke,bq as W,d$ as we,e0 as Ie,e1 as Ae,e2 as Le,e3 as Te,e4 as Ve,cx as Ce,b3 as Re,S as K,cy as De}from"./index-no5JV8R1.js";import{P as Fe,N as Ue}from"./NoTasks-yBM0VcFt.js";import{I as w,S as Ne,l as Oe}from"./pagination-VW0oPmLZ.js";import{E as q,a as G}from"./index-BXQ9i-3K.js";import{E as Q}from"./index-DZaahma8.js";import{E as j}from"./index-CtGYt7oB.js";import{p as Y}from"./pasteUploadMixin-BurWbGNQ.js";import{u as Z,a as Pe,e as Me}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as B}from"./ImagePreview-C998Urxa.js";import{E as x}from"./index-QmCs3qnb.js";import{E as S}from"./index-D54CRh08.js";import{E as qe}from"./index-DEWZRZs6.js";import{C as Ge}from"./Consumption-CAqs4mvP.js";import{a as je}from"./price-DS6b2sTM.js";import{C as Be}from"./CopyToClipboard-1IX_fIJI.js";import{V as ze}from"./VideoPlayer-BPduKGi_.js";import{I as Ke}from"./ImageWrapper-Ck-NP9Cx.js";import{A as Xe}from"./ApiCodeButton-BxqD0cCY.js";import{E as He}from"./index-Bq8qfnvv.js";import{E as Je}from"./index-DrYszp6G.js";import{B as We}from"./BotPlaceholder-DjiOhPyf.js";import{b as Qe}from"./errorCode-Cqj9Td_Z.js";import"./use-form-item-CrWBJQZh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-B-rbdbMh.js";import"./typescript-IiCxzQCL.js";import"./index-DuEKtt88.js";import"./index-BWdQZpRD.js";import"./highlight-DA_0TCaq.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DnjeiEki.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-CcdyrgoF.js";import"./_Uint8Array-DpNcpWMI.js";import"./castArray-HenHrVq3.js";import"./debounce-CqzZheF7.js";import"./_baseIteratee-lGycXKU_.js";import"./index-CcqpLk-G.js";import"./validator-D9a82SKc.js";import"./index-Cxlwdjgi.js";import"./_baseClone-zV-7if9N.js";import"./_initCloneObject-DdnevRPr.js";import"./index-BC6AqXIx.js";import"./vue-plyr-BO2nlN4c.js";import"./index-zfqjU6QP.js";const Ye=b({name:"LayoutSeedance",components:{ElDrawer:oe,ElButton:D,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Ze={class:"main flex flex-row flex-1"},xe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},et={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function tt(e,s,d,_,p,f){const m=o("font-awesome-icon"),c=o("el-button"),i=o("el-drawer");return a(),r("div",Ze,[l("div",xe,[P(e.$slots,"config",{},void 0,!0)]),l("div",et,[P(e.$slots,"result",{},void 0,!0)]),t(c,{circle:"",class:"menu",onClick:s[0]||(s[0]=u=>e.drawer=!0)},{default:v(()=>[t(m,{icon:"fa-solid fa-magic"})]),_:1}),t(i,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=u=>e.drawer=u),direction:"ltr","with-header":!1,size:"350px"},{default:v(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const st=E(Ye,[["render",tt],["__scopeId","data-v-caafd095"]]),ot="",at=b({name:"SeedancePromptInput",components:{PromptTextarea:Fe},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ot)}});function nt(e,s,d,_,p,f){const m=o("prompt-textarea");return a(),k(m,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=c=>e.prompt=c),title:e.$t("seedance.name.prompt"),info:e.$t("seedance.description.prompt"),placeholder:e.$t("seedance.placeholder.prompt"),"min-rows":5},null,8,["modelValue","title","info","placeholder"])}const lt=E(at,[["render",nt]]),it=b({name:"SeedanceModelSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:ie,label:this.$t("seedance.model.seedance20")},{value:re,label:this.$t("seedance.model.seedance20Fast")},{value:ce,label:this.$t("seedance.model.seedance15pro")},{value:de,label:this.$t("seedance.model.seedance10pro")},{value:me,label:this.$t("seedance.model.seedance10proFast")},{value:ue,label:this.$t("seedance.model.seedance10liteT2v")},{value:pe,label:this.$t("seedance.model.seedance10liteI2v")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||(this.value=le)}}),rt={class:"field"},ct={class:"label"},dt={class:"box"},mt={class:"title font-bold"};function ut(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",rt,[l("div",ct,[l("div",dt,[l("h2",mt,n(e.$t("seedance.name.model")),1),t(m,{content:e.$t("seedance.description.model"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const pt=E(it,[["render",ut],["__scopeId","data-v-61816a81"]]),ft=b({name:"SeedanceDurationSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:2,label:"2s"},{value:3,label:"3s"},{value:4,label:"4s"},{value:5,label:"5s"},{value:6,label:"6s"},{value:7,label:"7s"},{value:8,label:"8s"},{value:9,label:"9s"},{value:10,label:"10s"},{value:11,label:"11s"},{value:12,label:"12s"}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||(this.value=fe)}}),_t={class:"field"},ht={class:"label"},vt={class:"box"},$t={class:"title font-bold"};function gt(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",_t,[l("div",ht,[l("div",vt,[l("h2",$t,n(e.$t("seedance.name.duration")),1),t(m,{content:e.$t("seedance.description.duration"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const bt=E(ft,[["render",gt],["__scopeId","data-v-5c809a72"]]),Et=M,X={[H]:0,[M]:1,[J]:2},yt=b({name:"SeedanceResolutionSelector",components:{InfoIcon:w,ElTooltip:Q},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},isLiteModel(){return typeof this.model=="string"&&this.model.includes("-lite-")},options(){const e=[{value:H,label:"480p"},{value:M,label:"720p"},{value:J,label:"1080p"}],s=this.isLiteModel;return e.map(d=>({...d,disabled:s&&X[d.value]>X[Et]}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||z},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){const e=this.value,s=this.options.find(d=>d.value===e);(!e||s&&s.disabled)&&(this.value=this.capability.defaultResolution||z)}}}),St={class:"resolution"},kt={class:"header"},wt={class:"title font-bold"},It={class:"items"},At=["onClick"];function Lt(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-tooltip");return a(),r("div",St,[l("div",kt,[l("h2",wt,n(e.$t("seedance.name.resolution")),1),t(m,{content:e.$t("seedance.description.resolution"),class:"info"},null,8,["content"])]),l("div",It,[(a(!0),r(I,null,A(e.options,i=>(a(),k(c,{key:i.value,content:e.$t("seedance.message.resolutionNotSupported"),disabled:!i.disabled,placement:"top"},{default:v(()=>[l("div",{class:L(["item",{active:e.value===i.value,disabled:i.disabled}]),onClick:u=>e.onSelect(i)},n(i.label),11,At)]),_:2},1032,["content","disabled"]))),128))])])}const Tt=E(yt,[["render",Lt],["__scopeId","data-v-fd8d4e4b"]]),Vt=b({name:"SeedanceRatioSelector",components:{InfoIcon:w},computed:{options(){return[{value:he,label:"16:9",w:32,h:18},{value:ve,label:"9:16",w:18,h:32},{value:$e,label:"4:3",w:28,h:21},{value:ge,label:"3:4",w:21,h:28},{value:be,label:"1:1",w:24,h:24},{value:Ee,label:"21:9",w:34,h:14},{value:ye,label:this.$t("seedance.ratio.adaptive"),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||(this.value=_e)}}),Ct={class:"ratio"},Rt={class:"header"},Dt={class:"title font-bold"},Ft={class:"items"},Ut=["onClick"],Nt={class:"preview"},Ot={key:1,class:"rect rect-auto"},Pt={class:"name"};function Mt(e,s,d,_,p,f){const m=o("info-icon");return a(),r("div",Ct,[l("div",Rt,[l("h2",Dt,n(e.$t("seedance.name.ratio")),1),t(m,{content:e.$t("seedance.description.ratio"),class:"info"},null,8,["content"])]),l("div",Ft,[(a(!0),r(I,null,A(e.options,c=>(a(),r("div",{key:c.value,class:L(["item",{active:e.value===c.value}]),onClick:i=>e.value=c.value},[l("div",Nt,[c.w&&c.h?(a(),r("div",{key:0,class:"rect",style:ae({width:c.w+"px",height:c.h+"px"})},null,4)):(a(),r("div",Ot,"A"))]),l("div",Pt,n(c.label),1)],10,Ut))),128))])])}const qt=E(Vt,[["render",Mt],["__scopeId","data-v-8ddec2dd"]]),Gt=b({name:"SeedanceGenerateAudioSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{isSupported(){const e=this.$store.state.seedance?.config?.model;return T(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=Se)}}),jt={key:0,class:"field"},Bt={class:"label"},zt={class:"box"},Kt={class:"title font-bold"},Xt={class:"value"};function Ht(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return e.isSupported?(a(),r("div",jt,[l("div",Bt,[l("div",zt,[l("h2",Kt,n(e.$t("seedance.name.generateAudio")),1),t(m,{content:e.$t("seedance.description.generateAudio"),class:"info"},null,8,["content"])])]),l("div",Xt,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):h("",!0)}const Jt=E(Gt,[["render",Ht],["__scopeId","data-v-df51dfbd"]]),Wt=b({name:"SeedanceCameraFixedSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=ke)}}),Qt={class:"field"},Yt={class:"label"},Zt={class:"box"},xt={class:"title font-bold"},es={class:"value"};function ts(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return a(),r("div",Qt,[l("div",Yt,[l("div",Zt,[l("h2",xt,n(e.$t("seedance.name.cameraFixed")),1),t(m,{content:e.$t("seedance.description.cameraFixed"),class:"info"},null,8,["content"])])]),l("div",es,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])}const ss=E(Wt,[["render",ts],["__scopeId","data-v-ae777d61"]]),os=b({name:"SeedanceFirstFrameImage",components:{ElUpload:x,ElButton:D,InfoIcon:w,FontAwesomeIcon:R,ImagePreview:B},mixins:[Y,Z],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){S.warning(this.$t("seedance.message.uploadExceed"))},onError(){S.error(this.$t("seedance.message.uploadError"))},onSetFirstFrameUrl(){const e=this.urls?.[0],d=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="first_frame");e&&d.push({url:e,role:"first_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:d.length>0?d:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),as={key:0,class:"relative"},ns={class:"flex justify-between"},ls={class:"flex justify-start items-center"},is={class:"text-sm font-bold"},rs={key:0,class:"required-badge"};function cs(e,s,d,_,p,f){const m=o("info-icon"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("el-button"),y=o("el-upload");return e.capability.acceptsImage?(a(),r("div",as,[l("div",ns,[l("div",ls,[l("span",is,n(e.$t("seedance.name.firstFrame")),1),e.capability.requiresImage?(a(),r("span",rs,n(e.$t("seedance.name.required")),1)):h("",!0),t(m,{content:e.$t("seedance.description.firstFrame")},null,8,["content"])])]),t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:v(({file:g})=>[g.url&&g.percentage!==void 0?(a(),k(c,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:v(()=>[t(u,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:v(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),$(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])):h("",!0)}const ds=E(os,[["render",cs],["__scopeId","data-v-e2597f23"]]),ms=b({name:"SeedanceLastFrameImage",components:{ElUpload:x,ElButton:D,ImagePreview:B,InfoIcon:w,FontAwesomeIcon:R},mixins:[Y,Z],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){S.warning(this.$t("seedance.message.uploadExceed"))},onError(){S.error(this.$t("seedance.message.uploadError"))},onSetLastFrameUrl(){const e=this.urls?.[0],d=(this.$store.state.seedance?.config?.images||[]).filter(_=>_?.role!=="last_frame");e&&d.push({url:e,role:"last_frame"}),this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,images:d.length>0?d:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),us={key:0,class:"relative"},ps={class:"flex justify-between"},fs={class:"flex justify-start items-center"},_s={class:"text-sm font-bold"};function hs(e,s,d,_,p,f){const m=o("info-icon"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("el-button"),y=o("el-upload");return e.capability.acceptsLastFrame?(a(),r("div",us,[l("div",ps,[l("div",fs,[l("span",_s,n(e.$t("seedance.name.lastFrame")),1),t(m,{content:e.$t("seedance.description.lastFrame")},null,8,["content"])])]),t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=g=>e.fileList=g),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:v(({file:g})=>[g.url&&g.percentage!==void 0?(a(),k(c,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:v(()=>[t(u,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:v(()=>[t(i,{icon:"fa-solid fa-upload",class:"icon mr-1"}),$(" "+n(e.$t("seedance.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-remove","headers"])])):h("",!0)}const vs=E(ms,[["render",hs],["__scopeId","data-v-3a191e51"]]),$s=b({name:"SeedanceServiceTierSelector",components:{ElSelect:G,ElOption:q,InfoIcon:w},data(){return{options:[{value:Ie,label:this.$t("seedance.serviceTier.default")},{value:Ae,label:this.$t("seedance.serviceTier.flex")}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||(this.value=we)}}),gs={class:"field"},bs={class:"label"},Es={class:"box"},ys={class:"title font-bold"};function Ss(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-option"),i=o("el-select");return a(),r("div",gs,[l("div",bs,[l("div",Es,[l("h2",ys,n(e.$t("seedance.name.serviceTier")),1),t(m,{content:e.$t("seedance.description.serviceTier"),class:"info"},null,8,["content"])])]),t(i,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),class:"value",placeholder:e.$t("seedance.placeholder.select")},{default:v(()=>[(a(!0),r(I,null,A(e.options,u=>(a(),k(c,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ks=E($s,[["render",Ss],["__scopeId","data-v-cc938de2"]]),ws=b({name:"SeedanceReturnLastFrameSwitch",components:{ElSwitch:j,InfoIcon:w},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return T(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit("seedance/setConfig",{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=Le)}}),Is={key:0,class:"field"},As={class:"label"},Ls={class:"box"},Ts={class:"title font-bold"},Vs={class:"value"};function Cs(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-switch");return e.isSupported?(a(),r("div",Is,[l("div",As,[l("div",Ls,[l("h2",Ts,n(e.$t("seedance.name.returnLastFrame")),1),t(m,{content:e.$t("seedance.description.returnLastFrame"),class:"info"},null,8,["content"])])]),l("div",Vs,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),"inline-prompt":"","active-text":e.$t("seedance.button.on"),"inactive-text":e.$t("seedance.button.off")},null,8,["modelValue","active-text","inactive-text"])])])):h("",!0)}const Rs=E(ws,[["render",Cs],["__scopeId","data-v-edea5451"]]),Ds=b({name:"SeedanceSeedInput",components:{ElInputNumber:qe,InfoIcon:w},computed:{value:{get(){const e=this.$store.state.seedance?.config?.seed;return typeof e=="number"?e:-1},set(e){const s={...this.$store.state.seedance?.config||{}},d=typeof e=="number"&&Number.isInteger(e)?e:-1;s.seed=d,this.$store.commit("seedance/setConfig",s)}}}}),Fs={class:"field"},Us={class:"label"},Ns={class:"box"},Os={class:"title font-bold"},Ps={class:"value"};function Ms(e,s,d,_,p,f){const m=o("info-icon"),c=o("el-input-number");return a(),r("div",Fs,[l("div",Us,[l("div",Ns,[l("h2",Os,n(e.$t("seedance.name.seed")),1),t(m,{content:e.$t("seedance.description.seed"),class:"info"},null,8,["content"])])]),l("div",Ps,[t(c,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=i=>e.value=i),min:-1,max:2147483647,step:1,size:"default","controls-position":"right",class:"counter"},null,8,["modelValue"])])])}const qs=E(Ds,[["render",Ms],["__scopeId","data-v-685a9869"]]),Gs=b({name:"SeedanceConfigPanel",components:{ElButton:D,FontAwesomeIcon:R,PromptInput:lt,ModelSelector:pt,DurationSelector:bt,ResolutionSelector:Tt,RatioSelector:qt,GenerateAudioSwitch:Jt,CameraFixedSwitch:ss,ServiceTierSelector:ks,ReturnLastFrameSwitch:Rs,SeedInput:qs,FirstFrameImage:ds,LastFrameImage:vs,Consumption:Ge},emits:["generate"],computed:{config(){return this.$store.state.seedance?.config},consumption(){return je(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit("generate")}}}),js={class:"flex flex-col h-full"},Bs={class:"flex-1 overflow-y-auto p-5"},zs={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ks(e,s,d,_,p,f){const m=o("prompt-input"),c=o("model-selector"),i=o("ratio-selector"),u=o("resolution-selector"),y=o("duration-selector"),g=o("service-tier-selector"),V=o("generate-audio-switch"),F=o("camera-fixed-switch"),U=o("return-last-frame-switch"),N=o("seed-input"),C=o("first-frame-image"),O=o("last-frame-image"),ee=o("consumption"),te=o("font-awesome-icon"),se=o("el-button");return a(),r("div",js,[l("div",Bs,[t(m,{class:"mb-4"}),t(c,{class:"mb-4"}),t(i,{class:"mb-4"}),t(u,{class:"mb-4"}),t(y,{class:"mb-4"}),t(g,{class:"mb-4"}),t(V,{class:"mb-4"}),t(F,{class:"mb-4"}),t(U,{class:"mb-4"}),t(N,{class:"mb-4"}),t(C,{class:"mb-2"}),t(O,{class:"mb-2"})]),l("div",zs,[t(ee,{value:e.consumption,service:e.service},null,8,["value","service"]),t(se,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:v(()=>[t(te,{icon:"fa-solid fa-magic",class:"mr-2"}),$(" "+n(e.$t("seedance.button.generate")),1)]),_:1},8,["onClick"])])])}const Xs=E(Gs,[["render",Ks]]),Hs=b({name:"SeedanceTaskPreview",components:{ElImage:Je,CopyToClipboard:Be,FontAwesomeIcon:R,ElAlert:He,VideoPlayer:ze,ElTooltip:Q,ElButton:D,ImageWrapper:Ke,ImagePreview:B,ApiCodeButton:Xe},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:Te}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){const e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];const s=[],d=e.find(p=>p?.role==="first_frame");d?.url&&s.push({url:d.url,name:"first-frame"});const _=e.find(p=>p?.role==="last_frame");return _?.url&&s.push({url:_.url,name:"last-frame"}),e.forEach((p,f)=>{p?.url&&p.role!=="first_frame"&&p.role!=="last_frame"&&s.push({url:p.url,name:p.role||`image-${f}`})}),s}},methods:{onDownload(e){window.open(e,"_blank")}}}),Js={class:"preview"},Ws={class:"left"},Qs={class:"main"},Ys={class:"bot"},Zs={class:"datetime"},xs={class:"info"},eo={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},to={key:1,class:"prompt mt-2"},so={key:0},oo={key:1},ao={key:0,class:L({content:!0})},no={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},lo={key:1,class:L({content:!0})},io={key:0,class:"mb-4"},ro={key:1,class:"mb-4"},co={key:2,class:L({operations:!0,"mt-2":!0,"mb-2":!0})},mo={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},uo={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},po={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},fo={key:0},_o={key:1},ho={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$o={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},go={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bo={key:2,class:L({content:!0})},Eo={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yo={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},So={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ko={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wo={key:3,class:L({content:!0})},Io={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ao={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Lo(e,s,d,_,p,f){const m=o("el-image"),c=o("image-preview"),i=o("font-awesome-icon"),u=o("copy-to-clipboard"),y=o("el-alert"),g=o("video-player"),V=o("image-wrapper"),F=o("el-button"),U=o("el-tooltip"),N=o("api-code-button");return a(),r("div",Js,[l("div",Ws,[t(m,{src:e.seedanceLogo,class:"avatar"},null,8,["src"])]),l("div",Qs,[l("div",Ys,[$(n(e.$t("seedance.name.seedanceBot"))+" ",1),l("span",Zs,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",xs,[e.referenceImages.length>0?(a(),r("div",eo,[(a(!0),r(I,null,A(e.referenceImages,(C,O)=>(a(),k(c,{key:O,url:C.url,name:C.name,closable:!1},null,8,["url","name"]))),128))])):h("",!0),e.modelValue?.request?.prompt?(a(),r("p",to,[$(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?e.video?.status==="processing"||e.video?.status==="pending"?(a(),r("span",oo," - ("+n(e.$t("seedance.status.processing"))+") ",1)):h("",!0):(a(),r("span",so," - ("+n(e.$t("seedance.status.pending"))+") ",1))])):h("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),r("div",lo,[e.video?.video_url?(a(),r("div",io,[t(g,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?.last_frame_url?(a(),r("div",ro,[t(V,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,["src","raw-src"])])):h("",!0),e.video?.video_url?(a(),r("div",co,[t(U,{class:"box-item",effect:"dark",content:e.$t("seedance.message.downloadVideo"),placement:"top-start"},{default:v(()=>[t(F,{type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=ne(C=>e.onDownload(e.video?.video_url),["stop"]))},{default:v(()=>[$(n(e.$t("seedance.button.download")),1)]),_:1})]),_:1},8,["content"]),t(N,{path:"/seedance/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),t(y,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),r("p",mo,[t(i,{icon:"fa-solid fa-cube",class:"mr-1"}),$(" "+n(e.$t("seedance.name.model"))+": "+n(e.modelValue?.request?.model),1)])):h("",!0),e.video?.duration?(a(),r("p",uo,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.duration"))+": "+n(e.video?.duration)+"s ",1)])):h("",!0),e.video?.resolution?(a(),r("p",po,[t(i,{icon:"fa-solid fa-expand",class:"mr-1"}),$(" "+n(e.$t("seedance.name.resolution"))+": "+n(e.video?.resolution)+" ",1),e.video?.ratio?(a(),r("span",fo," · "+n(e.video?.ratio),1)):h("",!0),e.video?.framespersecond?(a(),r("span",_o," · "+n(e.video?.framespersecond)+"fps",1)):h("",!0)])):h("",!0),e.modelValue?.request?.generate_audio?(a(),r("p",ho,[t(i,{icon:"fa-solid fa-volume-up",class:"mr-1"}),$(" "+n(e.$t("seedance.name.generateAudio"))+": "+n(e.$t("seedance.button.on")),1)])):h("",!0),l("p",vo,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",$o,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",go,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),r("div",bo,[t(y,{closable:!1,class:"failure"},{template:v(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),$(" "+n(e.$t("seedance.name.failure")),1)]),default:v(()=>[l("p",Eo,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),r("p",yo,[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),$(" "+n(e.$t("seedance.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t(u,{content:e.modelValue?.response?.error?.message,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0),e.modelValue?.elapsed?(a(),r("p",So,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.name.elapsed"))+": "+n(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",ko,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):(a(),r("div",wo,[t(y,{closable:!1,class:"info"},{template:v(()=>[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),$(" "+n(e.$t("seedance.name.status")),1)]),default:v(()=>[l("p",Io,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Ao,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),$(" "+n(e.$t("seedance.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t(u,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):(a(),r("div",ao,[t(y,{closable:!1,class:"info"},{template:v(()=>[t(i,{icon:"fa-regular fa-clock",class:"mr-1"}),$(" "+n(e.$t("seedance.status.pending")),1)]),default:v(()=>[l("p",no,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),$(" "+n(e.$t("seedance.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t(u,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const To=E(Hs,[["render",Lo],["__scopeId","data-v-8b7e10f0"]]),Vo=b({name:"SeedanceRecentPanel",components:{TaskPreview:To,BotPlaceholder:We,NoTasks:Ue,ScrollList:Ne},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Co={key:0},Ro={key:2,class:"w-full h-full flex items-center justify-center"};function Do(e,s,d,_,p,f){const m=o("bot-placeholder"),c=o("task-preview"),i=o("scroll-list"),u=o("no-tasks");return a(),r(I,null,[e.tasks?.items===void 0?(a(),r("div",Co,[t(m)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),k(i,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=y=>e.$emit("reach-top"))},{default:v(()=>[(a(!0),r(I,null,A(e.tasks?.items,y=>(a(),k(c,{key:y.id,"model-value":y},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Ro,[t(u)])):h("",!0)],64)}const Fo=E(Vo,[["render",Do]]),Uo=De("seedance"),No=b({name:"SeedanceIndex",components:{ConfigPanel:Xs,Layout:st,RecentPanel:Fo},mixins:[Pe],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Oe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch("seedance/getService")},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;const{limit:s=5,createdAtMin:d,createdAtMax:_}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch("seedance/getTasks",{limit:s,createdAtMin:d,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!Me(this.uploadTracker,f=>this.$t(f),f=>S.warning(f)))return;const e={...this.config||{}};if(typeof e?.prompt=="string"&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(c=>!!c?.url);const f=e.images.some(c=>c?.role==="first_frame"),m=e.images.some(c=>c?.role==="last_frame");!f&&m&&(e.images=e.images.map(c=>c?.role==="last_frame"?{...c,role:"first_frame"}:c))}const s=Array.isArray(e?.images)&&e.images.length>0;if(!s&&"images"in e&&delete e.images,e?.model&&!Ve[e.model]){S.warning(this.$t("seedance.message.modelUnsupported"));return}const d=T(e?.model);if(d.requiresImage&&!s){S.warning(this.$t("seedance.message.modelRequiresImage"));return}if(!d.acceptsImage&&s){S.warning(this.$t("seedance.message.modelRejectsImage"));return}if(!d.acceptsText&&!s){S.warning(this.$t("seedance.message.modelRequiresImage"));return}!d.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!d.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!d.acceptsLastFrame&&s&&(e.images=e.images.filter(f=>f?.role!=="last_frame"));const _={...e,callback_url:Uo},p=this.credential?.token;if(!p){console.error("no token specified");return}S.info(this.$t("seedance.message.startingTask")),Ce("seedance",Re.generate(_,{token:p})).then(()=>{S.success(this.$t("seedance.message.startTaskSuccess"))}).catch(f=>{const m=f?.response?.data;m?.error?.code===Qe?S.error(this.$t("seedance.message.usedUp")):S.error(this.$t("seedance.message.startTaskFailed")+(m?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Oo(e,s,d,_,p,f){const m=o("config-panel"),c=o("recent-panel"),i=o("layout");return a(),k(i,null,{config:v(()=>[t(m,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[t(c,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Oa=E(No,[["render",Oo]]);export{Oa as default};
@@ -1 +1 @@
1
- import{F as z}from"./index.es-CJfukhtE.js";import{E as P}from"./index-C71cSz36.js";import{E as Z}from"./index-BpUUocOH.js";import{d as y,C as n,D as m,z as O,E as s,y as _,J as i,q as a,x as I,H as o,N as p,M as S,L as M,I as d,K,P as L}from"./vendor-vue-BWIxYyW8.js";import{J as w,bq as J,cD as U,cE as X,cF as Q,cG as B,cH as G,cI as R,cJ as Y,cK as ee,cL as te,cM as se,cN as oe,cO as ae,cP as N,cQ as ie,cR as ne,ct as re,a_ as D,S as j,cu as le}from"./index-DrvYmhcP.js";import{P as me,N as ce}from"./NoTasks-Ct9vzToj.js";import{u as ue,a as pe,e as de}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as q,S as ge,l as he}from"./pagination-CJx5Nyq8.js";import{I as F}from"./ImagePreview-BKe9oBpc.js";import{E as fe}from"./index-BRAaGgzT.js";import{E as V}from"./index-BJuXTSkv.js";import{C as _e}from"./Consumption-Bx3U0iJn.js";import{a as $e}from"./price-C6x3zgFx.js";import{E as H,a as x,b as be}from"./index-D7KBMZcH.js";import{E as ve}from"./index-DiN4Bfoz.js";import{E as ke}from"./index-Bf6ZJ_-M.js";import{b as Ee}from"./errorCode-Cqj9Td_Z.js";import{C as Se}from"./CopyToClipboard-ffsw6Et3.js";import{I as Ie}from"./ImageWrapper-DzNRJvY4.js";import{A as ye}from"./ApiCodeButton-Drq1wo0T.js";import{E as we}from"./index-BoKfbtX5.js";import{E as Ve}from"./index-rDyNuNM8.js";import{E as Ae}from"./index-Blb1DDfP.js";import{B as Me}from"./BotPlaceholder-Bb3okszP.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-lfOMNaVh.js";import"./typescript-lkSt6sMt.js";import"./index-B8svBnpb.js";import"./index-DZuGeaea.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_Uint8Array-CVqSvQNa.js";import"./_initCloneObject-C7zi7Gf-.js";import"./isEqual-Box1EVJE.js";import"./index-0JQvyqxg.js";import"./strings-CoSJ5yUQ.js";import"./castArray-DEdhtRiU.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./index-BC6AqXIx.js";import"./validator-Cct-VH_X.js";import"./index-CFfoccqE.js";const Ge=y({name:"LayoutNanobanana",components:{ElDrawer:Z,ElButton:P,FontAwesomeIcon:z},data(){return{drawer:!1}}}),Te={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)]"},Pe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Le(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-drawer");return a(),n("div",Te,[m("div",ze,[O(e.$slots,"config",{},void 0,!0)]),m("div",Pe,[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 Ce=w(Ge,[["render",Le],["__scopeId","data-v-e480ada6"]]),Oe="",Ue=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=Oe)}});function qe(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 Re=w(Ue,[["render",qe]]),Ne=y({name:"ImageUrlsInput",components:{ElUpload:fe,ElButton:P,InfoIcon:q,ImagePreview:F,FontAwesomeIcon:z},mixins:[ue],data(){return{fileList:[],uploadUrl:J()+"/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(){V.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){V.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()}}}),De={class:"field flex items-center justify-between"},je={class:"title font-bold text-[14px] mb-[10px]"},We={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Be={class:"controls flex items-center"},Fe={class:"file-list flex flex-wrap gap-[10px]"};function He(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",De,[m("h2",je,o(e.$t("openaiimage.name.imageUrls")),1),m("div",We,[m("div",Be,[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",Fe,[(a(!0),n(S,null,M(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 xe=w(Ne,[["render",He]]),Ze=y({name:"OpenAIImageModelSelector",components:{ElSelect:x,ElOption:H,InfoIcon:q},data(){return{options:[{value:X,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)}}),Ke={class:"field"},Je={class:"label"},Xe={class:"box"},Qe={class:"title font-bold"};function Ye(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-select");return a(),n("div",Ke,[m("div",Je,[m("div",Xe,[m("h2",Qe,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,M(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 et=w(Ze,[["render",Ye],["__scopeId","data-v-cec771bd"]]);function tt(e){if(!e)return;const t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}const st=y({name:"OpenAIImageSizeSelector",components:{ElSelect:x,ElOption:H,ElOptionGroup:be,ElSwitch:ke,ElInputNumber:ve,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]??G;this.commitSize(t)}}},presetValue:{get(){const e=this.storedSize;return e&&this.presets.includes(e)?e:this.presets[0]??G},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]??G);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]??G)}},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){if(!this.storedSize){this.commitSize(this.presets[0]??G);return}const e=tt(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}`))}}}),ot={class:"resolution"},at={class:"field"},it={class:"label"},nt={class:"box"},rt={class:"title font-bold"},lt={class:"field custom-toggle"},mt={class:"label"},ct={class:"box"},ut={class:"title font-bold"},pt={key:0,class:"custom-inputs"},dt={class:"row"},gt={class:"row-label"},ht={class:"row"},ft={class:"row-label"},_t={key:0,class:"error"};function $t(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",ot,[m("div",at,[m("div",it,[m("div",nt,[m("h2",rt,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,M(e.presetGroups,l=>(a(),I(v,{key:l.label,label:l.label},{default:_(()=>[(a(!0),n(S,null,M(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",lt,[m("div",mt,[m("div",ct,[m("h2",ut,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",pt,[m("div",dt,[m("span",gt,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",ht,[m("span",ft,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",_t,o(e.customError),1)):d("",!0)])):d("",!0)],64)):d("",!0)])}const bt=w(st,[["render",$t],["__scopeId","data-v-218b58cb"]]),vt=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:z,PromptInput:Re,Consumption:_e,ImageUrlsInput:xe,ModelSelector:et,ResolutionSelector:bt},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return $e({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},Et={class:"flex-1 overflow-y-auto p-5"},St={class:"flex flex-col items-center justify-center px-5 pb-5"};function It(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",kt,[m("div",Et,[s(u,{class:"mb-4"}),s(g,{class:"mb-4"}),s(v,{class:"mb-4"}),s(f,{class:"mb-4"})]),m("div",St,[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 yt=w(vt,[["render",It]]),wt=y({name:"TaskPreview",components:{ElImage:Ae,CopyToClipboard:Se,FontAwesomeIcon:z,ElAlert:Ve,ImageWrapper:Ie,ElButton:P,ElTooltip:we,ImagePreview:F,ApiCodeButton:ye},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)}}}),Vt={class:"preview"},At={class:"left"},Mt={class:"main"},Gt={class:"bot"},Tt={class:"datetime"},zt={class:"info"},Pt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Lt={key:1,class:"prompt mt-2"},Ct={key:0},Ot={key:0,class:L({content:!0,failed:!0})},Ut={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},qt={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Wt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:1,class:L({content:!0})},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Zt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Jt={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"},Qt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Yt={key:2,class:L({content:!0})},es={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ts={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ss={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},os={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function as(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",Vt,[m("div",At,[s(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",Mt,[m("div",Gt,[p(o(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",Tt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",zt,[e.referenceImages.length>0?(a(),n("div",Pt,[(a(!0),n(S,null,M(e.referenceImages,(A,T)=>(a(),I(g,{key:T,url:A,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):d("",!0),e.modelValue?.request?.prompt?(a(),n("p",Lt,[p(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(a(),n("span",Ct," - ("+o(e.$t("openaiimage.status.pending"))+") ",1))])):d("",!0)]),e.modelValue?.response?.success===!0?(a(),n("div",Ot,[m("div",Ut,[(a(!0),n(S,null,M(e.images,(A,T)=>(a(),I(v,{key:T,src:A?.image_url||A?.url||"","raw-src":A?.image_url||A?.url||""},null,8,["src","raw-src"]))),128))]),m("div",qt,[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(A=>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",Rt,[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",Nt,[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",Dt,[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",jt,[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",Wt,[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",Bt,[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",Ft,[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",Ht,[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",xt,[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",Zt,[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",Kt,[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",Jt,[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",Qt,[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",Yt,[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",es,[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",ts,[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",ss,[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",os,[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 is=w(wt,[["render",as],["__scopeId","data-v-8057d8e2"]]),ns=y({name:"RecentPanel",components:{TaskPreview:is,BotPlaceholder:Me,NoTasks:ce,ScrollList:ge},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?.()}}}),rs={key:0},ls={key:2,class:"w-full h-full flex items-center justify-center"};function ms(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",rs,[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,M(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",ls,[s(f)])):d("",!0)],64)}const cs=w(ns,[["render",ms]]),W=le("openaiimage"),us=y({name:"OpenAIImageIndex",components:{ConfigPanel:yt,Layout:Ce,RecentPanel:cs},mixins:[pe],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 he({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(){if(!de(this.uploadTracker,u=>this.$t(u),u=>V.warning(u)))return;const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){V.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}V.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),V.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===Ee?V.error(this.$t("openaiimage.message.usedUp")):V.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 ps(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 mo=w(us,[["render",ps]]);export{mo as default};
1
+ import{F as z}from"./index.es-B4F9fpyF.js";import{E as P}from"./index-BvfckIUC.js";import{E as Z}from"./index-CV8IHEvJ.js";import{d as y,C as n,D as m,z as O,E as s,y as _,J as i,q as a,x as I,H as o,N as p,M as S,L as M,I as d,K,P as L}from"./vendor-vue-BWIxYyW8.js";import{J as w,bq as J,cH as U,cI as X,cJ as Q,cK as B,cL as G,cM as R,cN as Y,cO as ee,cP as te,cQ as se,cR as oe,cS as ae,cT as N,cU as ie,cV as ne,cx as re,a_ as j,S as D,cy as le}from"./index-no5JV8R1.js";import{P as me,N as ce}from"./NoTasks-yBM0VcFt.js";import{u as ue,a as pe,e as de}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as q,S as ge,l as he}from"./pagination-VW0oPmLZ.js";import{I as F}from"./ImagePreview-C998Urxa.js";import{E as fe}from"./index-QmCs3qnb.js";import{E as V}from"./index-D54CRh08.js";import{C as _e}from"./Consumption-CAqs4mvP.js";import{a as $e}from"./price-DS6b2sTM.js";import{E as H,a as x,b as be}from"./index-BXQ9i-3K.js";import{E as ve}from"./index-DEWZRZs6.js";import{E as ke}from"./index-CtGYt7oB.js";import{b as Ee}from"./errorCode-Cqj9Td_Z.js";import{C as Se}from"./CopyToClipboard-1IX_fIJI.js";import{I as Ie}from"./ImageWrapper-Ck-NP9Cx.js";import{A as ye}from"./ApiCodeButton-BxqD0cCY.js";import{E as we}from"./index-DZaahma8.js";import{E as Ve}from"./index-Bq8qfnvv.js";import{E as Ae}from"./index-DrYszp6G.js";import{B as Me}from"./BotPlaceholder-DjiOhPyf.js";import"./use-form-item-CrWBJQZh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-B-rbdbMh.js";import"./typescript-IiCxzQCL.js";import"./index-DuEKtt88.js";import"./index-BWdQZpRD.js";import"./highlight-DA_0TCaq.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-Cxlwdjgi.js";import"./_baseClone-zV-7if9N.js";import"./_Uint8Array-DpNcpWMI.js";import"./_initCloneObject-DdnevRPr.js";import"./isEqual-CcdyrgoF.js";import"./index-DnjeiEki.js";import"./strings-CoSJ5yUQ.js";import"./castArray-HenHrVq3.js";import"./debounce-CqzZheF7.js";import"./_baseIteratee-lGycXKU_.js";import"./index-CcqpLk-G.js";import"./index-BC6AqXIx.js";import"./validator-D9a82SKc.js";import"./index-zfqjU6QP.js";const Ge=y({name:"LayoutNanobanana",components:{ElDrawer:Z,ElButton:P,FontAwesomeIcon:z},data(){return{drawer:!1}}}),Te={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)]"},Pe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Le(e,t,c,r,h,b){const u=i("font-awesome-icon"),g=i("el-button"),v=i("el-drawer");return a(),n("div",Te,[m("div",ze,[O(e.$slots,"config",{},void 0,!0)]),m("div",Pe,[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 Ce=w(Ge,[["render",Le],["__scopeId","data-v-e480ada6"]]),Oe="",Ue=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=Oe)}});function qe(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 Re=w(Ue,[["render",qe]]),Ne=y({name:"ImageUrlsInput",components:{ElUpload:fe,ElButton:P,InfoIcon:q,ImagePreview:F,FontAwesomeIcon:z},mixins:[ue],data(){return{fileList:[],uploadUrl:J()+"/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(){V.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){V.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()}}}),je={class:"field flex items-center justify-between"},De={class:"title font-bold text-[14px] mb-[10px]"},We={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Be={class:"controls flex items-center"},Fe={class:"file-list flex flex-wrap gap-[10px]"};function He(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",je,[m("h2",De,o(e.$t("openaiimage.name.imageUrls")),1),m("div",We,[m("div",Be,[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",Fe,[(a(!0),n(S,null,M(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 xe=w(Ne,[["render",He]]),Ze=y({name:"OpenAIImageModelSelector",components:{ElSelect:x,ElOption:H,InfoIcon:q},data(){return{options:[{value:X,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)}}),Ke={class:"field"},Je={class:"label"},Xe={class:"box"},Qe={class:"title font-bold"};function Ye(e,t,c,r,h,b){const u=i("info-icon"),g=i("el-option"),v=i("el-select");return a(),n("div",Ke,[m("div",Je,[m("div",Xe,[m("h2",Qe,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,M(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 et=w(Ze,[["render",Ye],["__scopeId","data-v-cec771bd"]]);function tt(e){if(!e)return;const t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}const st=y({name:"OpenAIImageSizeSelector",components:{ElSelect:x,ElOption:H,ElOptionGroup:be,ElSwitch:ke,ElInputNumber:ve,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]??G;this.commitSize(t)}}},presetValue:{get(){const e=this.storedSize;return e&&this.presets.includes(e)?e:this.presets[0]??G},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]??G);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]??G)}},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){if(!this.storedSize){this.commitSize(this.presets[0]??G);return}const e=tt(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}`))}}}),ot={class:"resolution"},at={class:"field"},it={class:"label"},nt={class:"box"},rt={class:"title font-bold"},lt={class:"field custom-toggle"},mt={class:"label"},ct={class:"box"},ut={class:"title font-bold"},pt={key:0,class:"custom-inputs"},dt={class:"row"},gt={class:"row-label"},ht={class:"row"},ft={class:"row-label"},_t={key:0,class:"error"};function $t(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",ot,[m("div",at,[m("div",it,[m("div",nt,[m("h2",rt,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,M(e.presetGroups,l=>(a(),I(v,{key:l.label,label:l.label},{default:_(()=>[(a(!0),n(S,null,M(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",lt,[m("div",mt,[m("div",ct,[m("h2",ut,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",pt,[m("div",dt,[m("span",gt,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",ht,[m("span",ft,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",_t,o(e.customError),1)):d("",!0)])):d("",!0)],64)):d("",!0)])}const bt=w(st,[["render",$t],["__scopeId","data-v-218b58cb"]]),vt=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:z,PromptInput:Re,Consumption:_e,ImageUrlsInput:xe,ModelSelector:et,ResolutionSelector:bt},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return $e({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),kt={class:"flex flex-col h-full"},Et={class:"flex-1 overflow-y-auto p-5"},St={class:"flex flex-col items-center justify-center px-5 pb-5"};function It(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",kt,[m("div",Et,[s(u,{class:"mb-4"}),s(g,{class:"mb-4"}),s(v,{class:"mb-4"}),s(f,{class:"mb-4"})]),m("div",St,[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 yt=w(vt,[["render",It]]),wt=y({name:"TaskPreview",components:{ElImage:Ae,CopyToClipboard:Se,FontAwesomeIcon:z,ElAlert:Ve,ImageWrapper:Ie,ElButton:P,ElTooltip:we,ImagePreview:F,ApiCodeButton:ye},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)}}}),Vt={class:"preview"},At={class:"left"},Mt={class:"main"},Gt={class:"bot"},Tt={class:"datetime"},zt={class:"info"},Pt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},Lt={key:1,class:"prompt mt-2"},Ct={key:0},Ot={key:0,class:L({content:!0,failed:!0})},Ut={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},qt={class:L({operations:!0,"mt-2":!0,"mb-2":!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Wt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ft={key:1,class:L({content:!0})},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Zt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Jt={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"},Qt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Yt={key:2,class:L({content:!0})},es={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ts={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ss={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},os={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function as(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",Vt,[m("div",At,[s(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",Mt,[m("div",Gt,[p(o(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",Tt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",zt,[e.referenceImages.length>0?(a(),n("div",Pt,[(a(!0),n(S,null,M(e.referenceImages,(A,T)=>(a(),I(g,{key:T,url:A,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):d("",!0),e.modelValue?.request?.prompt?(a(),n("p",Lt,[p(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(a(),n("span",Ct," - ("+o(e.$t("openaiimage.status.pending"))+") ",1))])):d("",!0)]),e.modelValue?.response?.success===!0?(a(),n("div",Ot,[m("div",Ut,[(a(!0),n(S,null,M(e.images,(A,T)=>(a(),I(v,{key:T,src:A?.image_url||A?.url||"","raw-src":A?.image_url||A?.url||""},null,8,["src","raw-src"]))),128))]),m("div",qt,[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(A=>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",Rt,[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",Nt,[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",jt,[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",Dt,[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",Wt,[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",Bt,[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",Ft,[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",Ht,[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",xt,[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",Zt,[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",Kt,[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",Jt,[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",Qt,[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",Yt,[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",es,[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",ts,[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",ss,[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",os,[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 is=w(wt,[["render",as],["__scopeId","data-v-8057d8e2"]]),ns=y({name:"RecentPanel",components:{TaskPreview:is,BotPlaceholder:Me,NoTasks:ce,ScrollList:ge},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?.()}}}),rs={key:0},ls={key:2,class:"w-full h-full flex items-center justify-center"};function ms(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",rs,[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,M(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",ls,[s(f)])):d("",!0)],64)}const cs=w(ns,[["render",ms]]),W=le("openaiimage"),us=y({name:"OpenAIImageIndex",components:{ConfigPanel:yt,Layout:Ce,RecentPanel:cs},mixins:[pe],inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===D.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 he({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(){if(!de(this.uploadTracker,u=>this.$t(u),u=>V.warning(u)))return;const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){V.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}V.info(this.$t("openaiimage.message.startingTask")),re("openaiimage",t?j.edit(r,{token:h}):j.generate(c,{token:h})).then(u=>{console.debug("task accepted",u.data?.task_id),V.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const g=u?.response?.data;g?.error?.code===Ee?V.error(this.$t("openaiimage.message.usedUp")):V.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 ps(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 mo=w(us,[["render",ps]]);export{mo as default};
@@ -1 +1 @@
1
- import{F as E}from"./index.es-CJfukhtE.js";import{E as C}from"./index-C71cSz36.js";import{E as j}from"./index-BpUUocOH.js";import{d as v,C as c,D as l,z as U,E as t,y as f,J as s,q as n,H as a,M as T,L as S,x as w,N as _,I as $,P as I}from"./vendor-vue-BWIxYyW8.js";import{J as b,bq as M,ct as F,aR as D,S as A,cu as B}from"./index-DrvYmhcP.js";import{a as q,b as N,c as O}from"./flux-BDAe6Szo.js";import{E as P,a as G}from"./index-D7KBMZcH.js";import{I as R,S as z,l as X}from"./pagination-CJx5Nyq8.js";import{E as H}from"./index-DiN4Bfoz.js";import{E as J}from"./index-B8wbDRCk.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{u as K,a as Q,e as Y}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as Z}from"./ImagePreview-BKe9oBpc.js";import{E as ee}from"./index-BRAaGgzT.js";import{E as y}from"./index-BJuXTSkv.js";import{P as te,N as oe}from"./NoTasks-Ct9vzToj.js";import{C as se}from"./Consumption-Bx3U0iJn.js";import{a as ne}from"./price-C6x3zgFx.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-ffsw6Et3.js";import{I as re}from"./ImageWrapper-DzNRJvY4.js";import{A as ie}from"./ApiCodeButton-Drq1wo0T.js";import{E as ce}from"./index-rDyNuNM8.js";import{E as ue}from"./index-Blb1DDfP.js";import{B as de}from"./BotPlaceholder-Bb3okszP.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-BoKfbtX5.js";import"./index-B8svBnpb.js";import"./typescript-lkSt6sMt.js";import"./index-0JQvyqxg.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-Box1EVJE.js";import"./_Uint8Array-CVqSvQNa.js";import"./castArray-DEdhtRiU.js";import"./index-lfOMNaVh.js";import"./index-DZuGeaea.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-BC6AqXIx.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_initCloneObject-C7zi7Gf-.js";import"./index-CFfoccqE.js";const pe=v({name:"LayoutFlux",components:{ElDrawer:j,ElButton:C,FontAwesomeIcon:E},data(){return{drawer:!1}}}),me={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,o,u,m,x,k){const d=s("font-awesome-icon"),p=s("el-button"),r=s("el-drawer");return n(),c("div",me,[l("div",fe,[U(e.$slots,"config",{},void 0,!0)]),l("div",_e,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:o[0]||(o[0]=i=>e.drawer=!0)},{default:f(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=i=>e.drawer=i),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=b(pe,[["render",he],["__scopeId","data-v-d022364a"]]),$e=v({name:"ModelSelector",components:{ElSelect:G,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"},{value:"flux-2-flex",label:"flux-2-flex"},{value:"flux-2-pro",label:"flux-2-pro"},{value:"flux-2-max",label:"flux-2-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=q)}}),ve={class:"field"},be={class:"title font-bold"};function xe(e,o,u,m,x,k){const d=s("el-option"),p=s("el-select");return n(),c("div",ve,[l("h2",be,a(e.$t("flux.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=r=>e.value=r),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(n(!0),c(T,null,S(e.options,r=>(n(),w(d,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b($e,[["render",xe],["__scopeId","data-v-e9b17945"]]),we=v({name:"CountSelector",components:{ElSlider:J,InfoIcon:R,ElInputNumber:H},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=N)}}),ye={class:"flex justify-between"},Ve={class:"flex justify-start items-center"},Te={class:"text-sm font-bold"},Ee={class:"flex justify-end items-center"},Se={class:"w-full"};function Ie(e,o,u,m,x,k){const d=s("info-icon"),p=s("el-input-number"),r=s("el-slider");return n(),c("div",null,[l("div",ye,[l("div",Ve,[l("span",Te,a(e.$t("flux.name.numbers")),1),t(d,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",Ee,[t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Se,[t(r,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=i=>e.value=i),min:1,max:4,step:1},null,8,["modelValue"])])])}const Le=b(we,[["render",Ie]]),Ue=v({name:"ActionSelector",components:{ElSelect:G,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=O)}}),Ce={class:"field"},Ae={class:"title font-bold"};function Pe(e,o,u,m,x,k){const d=s("el-option"),p=s("el-select");return n(),c("div",Ce,[l("h2",Ae,a(e.$t("flux.name.task")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=r=>e.value=r),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(n(!0),c(T,null,S(e.options,r=>(n(),w(d,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=b(Ue,[["render",Pe],["__scopeId","data-v-81fd05e5"]]),Re=v({name:"ImageUrlInput",components:{ElUpload:ee,ElButton:C,InfoIcon:R,FontAwesomeIcon:E,ImagePreview:Z},mixins:[W,K],emits:["change"],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),je={class:"relative"},Me={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Be(e,o,u,m,x,k){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),h=s("el-upload");return n(),c("div",je,[l("div",Me,[l("div",Fe,[l("span",De,a(e.$t("flux.name.imageUrl")),1),t(d,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(h,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=g=>e.fileList=g),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:g})=>[t(p,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+a(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const qe=b(Re,[["render",Be],["__scopeId","data-v-7482072d"]]),Ne="",Oe=v({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ne)}});function ze(e,o,u,m,x,k){const d=s("prompt-textarea");return n(),w(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=p=>e.prompt=p),title:e.$t("flux.name.prompt"),info:e.$t("flux.description.prompt"),placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Xe=b(Oe,[["render",ze]]),He=v({name:"PresetPanel",components:{ElButton:C,FontAwesomeIcon:E,PromptInput:Xe,ModelSelector:ke,CountSelector:Le,Consumption:se,ActionSelector:Ge,ImageUrlInput:qe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},We={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,o,u,m,x,k){const d=s("action-selector"),p=s("prompt-input"),r=s("image-url-input"),i=s("model-selector"),h=s("count-selector"),g=s("consumption"),V=s("font-awesome-icon"),L=s("el-button");return n(),c("div",Je,[l("div",We,[t(d,{class:"mb-4"}),t(p,{class:"mb-4"}),e.config?.action==="edits"?(n(),w(r,{key:0,class:"mb-4"})):$("",!0),t(i,{class:"mb-4"}),t(h,{class:"mb-4"})]),l("div",Ke,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(L,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+a(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=b(He,[["render",Qe]]),Ze=v({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:le,FontAwesomeIcon:E,ElAlert:ce,ImageWrapper:re,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(u=>{let m=u;o&&(m.action=o),e.push(m)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),et={class:"preview"},tt={class:"left"},ot={class:"main"},st={class:"bot"},nt={class:"datetime"},at={class:"info"},lt={key:0,class:"prompt mt-2"},rt={key:0},it={key:0,class:I({content:!0,failed:!0})},ct={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:I({operations:!0,"mt-2":!0,"mb-2":!0})},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ft={key:1,class:I({content:!0})},_t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:2,class:I({content:!0})},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function xt(e,o,u,m,x,k){const d=s("el-image"),p=s("image-wrapper"),r=s("api-code-button"),i=s("font-awesome-icon"),h=s("copy-to-clipboard"),g=s("el-alert");return n(),c("div",et,[l("div",tt,[t(d,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",ot,[l("div",st,[_(a(e.$t("flux.name.fluxBot"))+" ",1),l("span",nt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",at,[e.modelValue?.request?.prompt?(n(),c("p",lt,[_(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),c("span",rt," - ("+a(e.$t("flux.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(n(),c("div",it,[l("div",ct,[(n(!0),c(T,null,S(e.images,(V,L)=>(n(),w(p,{key:L,src:V?.image_url,"raw-src":V?.image_url,"model-value":V},null,8,["src","raw-src","model-value"]))),128))]),l("div",ut,[t(r,{path:"/flux/images",body:e.modelValue?.request},null,8,["body"])]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",dt,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("flux.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",pt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),c("p",mt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("flux.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),c("div",ft,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",_t,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ht,[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+a(e.$t("flux.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(h,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),c("p",gt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("flux.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),l("p",$t,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("flux.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(h,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(n(),c("div",vt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",bt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const kt=b(Ze,[["render",xt],["__scopeId","data-v-6a2b3fc7"]]),wt=v({name:"RecentPanel",components:{TaskPreview:kt,BotPlaceholder:de,NoTasks:oe,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},Vt={key:2,class:"w-full h-full flex items-center justify-center"};function Tt(e,o,u,m,x,k){const d=s("bot-placeholder"),p=s("task-preview"),r=s("scroll-list"),i=s("no-tasks");return n(),c(T,null,[e.tasks?.items===void 0?(n(),c("div",yt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(r,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=h=>e.$emit("reach-top"))},{default:f(()=>[(n(!0),c(T,null,S(e.tasks?.items,h=>(n(),w(p,{key:h.id,"model-value":h},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),c("div",Vt,[t(i)])):$("",!0)],64)}const Et=b(wt,[["render",Tt]]),St=B("flux"),It=v({name:"FluxIndex",components:{ConfigPanel:Ye,Layout:ge,RecentPanel:Et},mixins:[Q],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",o,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!Y(this.uploadTracker,u=>this.$t(u),u=>y.warning(u)))return;const e={...this.config,callback_url:St},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),F("flux",D.generate(e,{token:o})).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(u=>{const m=u?.response?.data;m?.error?.code===ae?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+m?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,o,u,m,x,k){const d=s("config-panel"),p=s("recent-panel"),r=s("layout");return n(),w(r,null,{config:f(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Io=b(It,[["render",Lt]]);export{Io as default};
1
+ import{F as E}from"./index.es-B4F9fpyF.js";import{E as C}from"./index-BvfckIUC.js";import{E as j}from"./index-CV8IHEvJ.js";import{d as v,C as c,D as l,z as U,E as t,y as f,J as s,q as n,H as a,M as T,L as S,x as w,N as _,I as $,P as I}from"./vendor-vue-BWIxYyW8.js";import{J as b,bq as M,cx as F,aR as D,S as A,cy as B}from"./index-no5JV8R1.js";import{a as q,b as N,c as O}from"./flux-BDAe6Szo.js";import{E as P,a as G}from"./index-BXQ9i-3K.js";import{I as R,S as z,l as X}from"./pagination-VW0oPmLZ.js";import{E as H}from"./index-DEWZRZs6.js";import{E as J}from"./index-C2jm5DkN.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{u as K,a as Q,e as Y}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as Z}from"./ImagePreview-C998Urxa.js";import{E as ee}from"./index-QmCs3qnb.js";import{E as y}from"./index-D54CRh08.js";import{P as te,N as oe}from"./NoTasks-yBM0VcFt.js";import{C as se}from"./Consumption-CAqs4mvP.js";import{a as ne}from"./price-DS6b2sTM.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{C as le}from"./CopyToClipboard-1IX_fIJI.js";import{I as re}from"./ImageWrapper-Ck-NP9Cx.js";import{A as ie}from"./ApiCodeButton-BxqD0cCY.js";import{E as ce}from"./index-Bq8qfnvv.js";import{E as ue}from"./index-DrYszp6G.js";import{B as de}from"./BotPlaceholder-DjiOhPyf.js";import"./use-form-item-CrWBJQZh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-DZaahma8.js";import"./index-DuEKtt88.js";import"./typescript-IiCxzQCL.js";import"./index-DnjeiEki.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-CcdyrgoF.js";import"./_Uint8Array-DpNcpWMI.js";import"./castArray-HenHrVq3.js";import"./index-B-rbdbMh.js";import"./index-BWdQZpRD.js";import"./debounce-CqzZheF7.js";import"./_baseIteratee-lGycXKU_.js";import"./index-CcqpLk-G.js";import"./highlight-DA_0TCaq.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-BC6AqXIx.js";import"./index-Cxlwdjgi.js";import"./_baseClone-zV-7if9N.js";import"./_initCloneObject-DdnevRPr.js";import"./index-zfqjU6QP.js";const pe=v({name:"LayoutFlux",components:{ElDrawer:j,ElButton:C,FontAwesomeIcon:E},data(){return{drawer:!1}}}),me={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,o,u,m,x,k){const d=s("font-awesome-icon"),p=s("el-button"),r=s("el-drawer");return n(),c("div",me,[l("div",fe,[U(e.$slots,"config",{},void 0,!0)]),l("div",_e,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:o[0]||(o[0]=i=>e.drawer=!0)},{default:f(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=i=>e.drawer=i),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=b(pe,[["render",he],["__scopeId","data-v-d022364a"]]),$e=v({name:"ModelSelector",components:{ElSelect:G,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"},{value:"flux-2-flex",label:"flux-2-flex"},{value:"flux-2-pro",label:"flux-2-pro"},{value:"flux-2-max",label:"flux-2-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=q)}}),ve={class:"field"},be={class:"title font-bold"};function xe(e,o,u,m,x,k){const d=s("el-option"),p=s("el-select");return n(),c("div",ve,[l("h2",be,a(e.$t("flux.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=r=>e.value=r),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(n(!0),c(T,null,S(e.options,r=>(n(),w(d,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b($e,[["render",xe],["__scopeId","data-v-e9b17945"]]),we=v({name:"CountSelector",components:{ElSlider:J,InfoIcon:R,ElInputNumber:H},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=N)}}),ye={class:"flex justify-between"},Ve={class:"flex justify-start items-center"},Te={class:"text-sm font-bold"},Ee={class:"flex justify-end items-center"},Se={class:"w-full"};function Ie(e,o,u,m,x,k){const d=s("info-icon"),p=s("el-input-number"),r=s("el-slider");return n(),c("div",null,[l("div",ye,[l("div",Ve,[l("span",Te,a(e.$t("flux.name.numbers")),1),t(d,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",Ee,[t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=i=>e.value=i),"controls-position":"right"},null,8,["modelValue"])])]),l("div",Se,[t(r,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=i=>e.value=i),min:1,max:4,step:1},null,8,["modelValue"])])])}const Le=b(we,[["render",Ie]]),Ue=v({name:"ActionSelector",components:{ElSelect:G,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=O)}}),Ce={class:"field"},Ae={class:"title font-bold"};function Pe(e,o,u,m,x,k){const d=s("el-option"),p=s("el-select");return n(),c("div",Ce,[l("h2",Ae,a(e.$t("flux.name.task")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=r=>e.value=r),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(n(!0),c(T,null,S(e.options,r=>(n(),w(d,{key:r.value,label:r.label,value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=b(Ue,[["render",Pe],["__scopeId","data-v-81fd05e5"]]),Re=v({name:"ImageUrlInput",components:{ElUpload:ee,ElButton:C,InfoIcon:R,FontAwesomeIcon:E,ImagePreview:Z},mixins:[W,K],emits:["change"],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),je={class:"relative"},Me={class:"flex justify-between"},Fe={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Be(e,o,u,m,x,k){const d=s("info-icon"),p=s("image-preview"),r=s("font-awesome-icon"),i=s("el-button"),h=s("el-upload");return n(),c("div",je,[l("div",Me,[l("div",Fe,[l("span",De,a(e.$t("flux.name.imageUrl")),1),t(d,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(h,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=g=>e.fileList=g),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:g})=>[t(p,{url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(g),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(i,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(r,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+a(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const qe=b(Re,[["render",Be],["__scopeId","data-v-7482072d"]]),Ne="",Oe=v({name:"PromptInput",components:{PromptTextarea:te},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Ne)}});function ze(e,o,u,m,x,k){const d=s("prompt-textarea");return n(),w(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=p=>e.prompt=p),title:e.$t("flux.name.prompt"),info:e.$t("flux.description.prompt"),placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Xe=b(Oe,[["render",ze]]),He=v({name:"PresetPanel",components:{ElButton:C,FontAwesomeIcon:E,PromptInput:Xe,ModelSelector:ke,CountSelector:Le,Consumption:se,ActionSelector:Ge,ImageUrlInput:qe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},We={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,o,u,m,x,k){const d=s("action-selector"),p=s("prompt-input"),r=s("image-url-input"),i=s("model-selector"),h=s("count-selector"),g=s("consumption"),V=s("font-awesome-icon"),L=s("el-button");return n(),c("div",Je,[l("div",We,[t(d,{class:"mb-4"}),t(p,{class:"mb-4"}),e.config?.action==="edits"?(n(),w(r,{key:0,class:"mb-4"})):$("",!0),t(i,{class:"mb-4"}),t(h,{class:"mb-4"})]),l("div",Ke,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(L,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+a(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=b(He,[["render",Qe]]),Ze=v({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:le,FontAwesomeIcon:E,ElAlert:ce,ImageWrapper:re,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(u=>{let m=u;o&&(m.action=o),e.push(m)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),et={class:"preview"},tt={class:"left"},ot={class:"main"},st={class:"bot"},nt={class:"datetime"},at={class:"info"},lt={key:0,class:"prompt mt-2"},rt={key:0},it={key:0,class:I({content:!0,failed:!0})},ct={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:I({operations:!0,"mt-2":!0,"mb-2":!0})},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ft={key:1,class:I({content:!0})},_t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:2,class:I({content:!0})},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function xt(e,o,u,m,x,k){const d=s("el-image"),p=s("image-wrapper"),r=s("api-code-button"),i=s("font-awesome-icon"),h=s("copy-to-clipboard"),g=s("el-alert");return n(),c("div",et,[l("div",tt,[t(d,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",ot,[l("div",st,[_(a(e.$t("flux.name.fluxBot"))+" ",1),l("span",nt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",at,[e.modelValue?.request?.prompt?(n(),c("p",lt,[_(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(n(),c("span",rt," - ("+a(e.$t("flux.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(n(),c("div",it,[l("div",ct,[(n(!0),c(T,null,S(e.images,(V,L)=>(n(),w(p,{key:L,src:V?.image_url,"raw-src":V?.image_url,"model-value":V},null,8,["src","raw-src","model-value"]))),128))]),l("div",ut,[t(r,{path:"/flux/images",body:e.modelValue?.request},null,8,["body"])]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",dt,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("flux.name.model"))+": "+a(e.modelValue?.request?.model),1)]),l("p",pt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),c("p",mt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("flux.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(n(),c("div",ft,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",_t,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",ht,[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+a(e.$t("flux.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(h,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),c("p",gt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+a(e.$t("flux.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),l("p",$t,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+a(e.$t("flux.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(h,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(n(),c("div",vt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+a(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",bt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+a(e.$t("flux.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(h,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const kt=b(Ze,[["render",xt],["__scopeId","data-v-6a2b3fc7"]]),wt=v({name:"RecentPanel",components:{TaskPreview:kt,BotPlaceholder:de,NoTasks:oe,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},Vt={key:2,class:"w-full h-full flex items-center justify-center"};function Tt(e,o,u,m,x,k){const d=s("bot-placeholder"),p=s("task-preview"),r=s("scroll-list"),i=s("no-tasks");return n(),c(T,null,[e.tasks?.items===void 0?(n(),c("div",yt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(r,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=h=>e.$emit("reach-top"))},{default:f(()=>[(n(!0),c(T,null,S(e.tasks?.items,h=>(n(),w(p,{key:h.id,"model-value":h},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(n(),c("div",Vt,[t(i)])):$("",!0)],64)}const Et=b(wt,[["render",Tt]]),St=B("flux"),It=v({name:"FluxIndex",components:{ConfigPanel:Ye,Layout:ge,RecentPanel:Et},mixins:[Q],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",o,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!Y(this.uploadTracker,u=>this.$t(u),u=>y.warning(u)))return;const e={...this.config,callback_url:St},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),F("flux",D.generate(e,{token:o})).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(u=>{const m=u?.response?.data;m?.error?.code===ae?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+m?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,o,u,m,x,k){const d=s("config-panel"),p=s("recent-panel"),r=s("layout");return n(),w(r,null,{config:f(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Io=b(It,[["render",Lt]]);export{Io as default};