@acedatacloud/nexior 3.139.0 → 3.141.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 (269) hide show
  1. package/dist/assets/{Auth-BcQ1S9H9.js → Auth-3aYg4zQW.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-C_IGBMvq.js → BotPlaceholder-B__fEJN9.js} +1 -1
  3. package/dist/assets/{Callback-Dz16AydU.js → Callback-6PAiu69Q.js} +1 -1
  4. package/dist/assets/{Console-BnxnCxbr.js → Console-CAUNb_iW.js} +1 -1
  5. package/dist/assets/{Consumption-BEd757XD.js → Consumption-JQ-zRz0e.js} +1 -1
  6. package/dist/assets/{Conversation-DP1owmgR.css → Conversation-8QQpKxQ2.css} +1 -1
  7. package/dist/assets/Conversation-CSktyKjd.js +25 -0
  8. package/dist/assets/{CopyToClipboard-BOQ-Zpxe.js → CopyToClipboard-DATp0YfS.js} +1 -1
  9. package/dist/assets/{Detail-BSPDrQ4n.js → Detail-BeZYBdTd.js} +2 -2
  10. package/dist/assets/{EditArray-aUvIq-M5.js → EditArray-Dvry3sKT.js} +1 -1
  11. package/dist/assets/{Extra-C1ookCUb.js → Extra-rYvlQN0s.js} +1 -1
  12. package/dist/assets/{FilePreview-BPuB0Ku4.js → FilePreview-CWUOBM4X.js} +1 -1
  13. package/dist/assets/{History-CfteuFc8.js → History-BG1XD4s2.js} +1 -1
  14. package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-C16E7ag1.js → IconPark.vue_vue_type_script_setup_true_lang-Cq9hsIRa.js} +1 -1
  15. package/dist/assets/{ImagePreview-DZPTnmBT.js → ImagePreview-BHCy1reF.js} +1 -1
  16. package/dist/assets/{ImageWrapper-CdB5Q-Ka.js → ImageWrapper-BET8UBiH.js} +1 -1
  17. package/dist/assets/Index--zRxsLfK.js +1 -0
  18. package/dist/assets/Index-2nqZow6M.js +1 -0
  19. package/dist/assets/Index-B-8w_1Dc.js +1 -0
  20. package/dist/assets/Index-B3wjI3dc.js +1 -0
  21. package/dist/assets/Index-BH6iph5-.js +1 -0
  22. package/dist/assets/{Index-BwlLyeaJ.js → Index-BPoj-7iI.js} +1 -1
  23. package/dist/assets/{Index-BJJD4l0P.js → Index-Be7EIFJ7.js} +2 -2
  24. package/dist/assets/Index-Bwg6AmFb.js +1 -0
  25. package/dist/assets/Index-CDJ-c5d5.js +1 -0
  26. package/dist/assets/{Index-BsKBrjYc.js → Index-CPNDtX6f.js} +1 -1
  27. package/dist/assets/Index-CQSyworq.js +1 -0
  28. package/dist/assets/{Index-uomT0RjQ.js → Index-D-QR5grv.js} +1 -1
  29. package/dist/assets/Index-DJMY-Fde.js +1 -0
  30. package/dist/assets/{Index-CX3EufLS.js → Index-DJj1bDnC.js} +1 -1
  31. package/dist/assets/Index-DTN8JQvP.js +1 -0
  32. package/dist/assets/Index-DjwdmSNq.js +1 -0
  33. package/dist/assets/{Index-DBZrlV97.js → Index-DtTvPEj0.js} +1 -1
  34. package/dist/assets/Index-DxFKmeL2.js +1 -0
  35. package/dist/assets/{Index-CQZFL0L3.js → Index-IVS-Ot_C.js} +1 -1
  36. package/dist/assets/Index-KDMSRqUt.js +1 -0
  37. package/dist/assets/Index-PLx3gYXI.js +1 -0
  38. package/dist/assets/Index-csT0_n4-.js +1 -0
  39. package/dist/assets/Index-dVV_jMO2.js +1 -0
  40. package/dist/assets/Index-nBUl1zbe.js +1 -0
  41. package/dist/assets/{Invitees-Db6Dxut-.js → Invitees-Cz8kKzAH.js} +1 -1
  42. package/dist/assets/{List-DCGr1rPv.js → List-C8IhrXJF.js} +1 -1
  43. package/dist/assets/{List-CaXnAiSo.js → List-CTOBpRZS.js} +1 -1
  44. package/dist/assets/{List-i1Rkc8b8.js → List-DNY4me-w.js} +1 -1
  45. package/dist/assets/{Main-CJKRE4Tr.js → Main-JAWcoEci.js} +1 -1
  46. package/dist/assets/{Navigator-CanPOnR8.js → Navigator-nCx0zctM.js} +1 -1
  47. package/dist/assets/{NoTasks-Cb8ntRPy.js → NoTasks-D-HX_WRO.js} +1 -1
  48. package/dist/assets/{NotFound-Dn7TxStw.js → NotFound-Bii7ankq.js} +1 -1
  49. package/dist/assets/{OAuthCallback-CtK2eM-l.js → OAuthCallback-WqHbw0Ff.js} +1 -1
  50. package/dist/assets/{Pagination-Css2FfsE.js → Pagination-Cs7qzInO.js} +1 -1
  51. package/dist/assets/{Status-BzogBLiU.js → Status-B70iKLV9.js} +1 -1
  52. package/dist/assets/{Subscribe-C2ca0SqG.js → Subscribe-Crv7wtnJ.js} +1 -1
  53. package/dist/assets/{TransportWebHID-DbqbOno1.js → TransportWebHID-IYLeh2FJ.js} +1 -1
  54. package/dist/assets/{VideoPlayer-QZYuahlJ.js → VideoPlayer-BnHxpSfK.js} +1 -1
  55. package/dist/assets/{_Uint8Array-a5wCK152.js → _Uint8Array-DE6T0OjR.js} +1 -1
  56. package/dist/assets/{_baseClone-JK1xFj5u.js → _baseClone-BK9DuJ-Q.js} +1 -1
  57. package/dist/assets/{_baseIteratee-DtAKlqKl.js → _baseIteratee-C1Fk6TCS.js} +1 -1
  58. package/dist/assets/{_initCloneObject-UCIzaue4.js → _initCloneObject-BMnqIZRv.js} +1 -1
  59. package/dist/assets/{add-QVRWn1iw.js → add-C96O-0sc.js} +1 -1
  60. package/dist/assets/{all-wallets-BKwiZxeX.js → all-wallets-BqxfUyU2.js} +1 -1
  61. package/dist/assets/{app-store-DBUYzS1y.js → app-store-BaaSZuOQ.js} +1 -1
  62. package/dist/assets/{apple-ou_pLfoC.js → apple-Dq9h4i86.js} +1 -1
  63. package/dist/assets/{arrow-bottom-DTlTOT5l.js → arrow-bottom-DvooFXyP.js} +1 -1
  64. package/dist/assets/{arrow-bottom-circle-BeNaJNvj.js → arrow-bottom-circle-DT7ibQKG.js} +1 -1
  65. package/dist/assets/{arrow-left-BHXUjiM5.js → arrow-left-Ql_GXNwd.js} +1 -1
  66. package/dist/assets/{arrow-right-Cf97-mBs.js → arrow-right-NjtoRP1k.js} +1 -1
  67. package/dist/assets/{arrow-top-BL34vU22.js → arrow-top-BpIc9EFZ.js} +1 -1
  68. package/dist/assets/{avatar-X_3IZNep.js → avatar-Bmzu5k6d.js} +1 -1
  69. package/dist/assets/{bank-D-pEEZ2w.js → bank-DFvmq_Fu.js} +1 -1
  70. package/dist/assets/{basic-BpgD8dCA.js → basic-CzlXus7C.js} +1 -1
  71. package/dist/assets/{browser-u_I0YhFk.js → browser-z_vIayx4.js} +1 -1
  72. package/dist/assets/{byokCredential-0hyiBdDM.js → byokCredential-D5RMTXW9.js} +1 -1
  73. package/dist/assets/{card-CYbV5JPB.js → card-XCiPqK23.js} +1 -1
  74. package/dist/assets/{castArray-DzT6pvlU.js → castArray-CfNHhez0.js} +1 -1
  75. package/dist/assets/{chat-DSQB5EZd.js → chat-BreiLx2Y.js} +1 -1
  76. package/dist/assets/{chat-CSWRFf4v.js → chat-CEFfFUFV.js} +1 -1
  77. package/dist/assets/chat-CldaknVn.js +2 -0
  78. package/dist/assets/{checkmark-BoXliZGr.js → checkmark-B-hzn7uF.js} +1 -1
  79. package/dist/assets/{checkmark-bold-C1JzdrUo.js → checkmark-bold-ccpb4eEx.js} +1 -1
  80. package/dist/assets/{chevron-bottom-BpAljN8x.js → chevron-bottom-D2m37JY0.js} +1 -1
  81. package/dist/assets/{chevron-left-DVA9nvRk.js → chevron-left-CGNcwOaD.js} +1 -1
  82. package/dist/assets/{chevron-right-fZiHOaDk.js → chevron-right-BzpjNswK.js} +1 -1
  83. package/dist/assets/{chevron-top-BFXUUzRJ.js → chevron-top-Bj8ZZxOF.js} +1 -1
  84. package/dist/assets/{chrome-store-B8pHxrlI.js → chrome-store-Fbb_tmkX.js} +1 -1
  85. package/dist/assets/{clock-D75NRQeg.js → clock-BLFi-fAc.js} +1 -1
  86. package/dist/assets/{close-DU2uEqVl.js → close-BUJ8S_cy.js} +1 -1
  87. package/dist/assets/{coinPlaceholder-BFWtzmEH.js → coinPlaceholder-CShYjn6F.js} +1 -1
  88. package/dist/assets/{compass-DEfiiAQI.js → compass-CPP2sVek.js} +1 -1
  89. package/dist/assets/{copy-BrO81wpX.js → copy-qpK4Mh88.js} +1 -1
  90. package/dist/assets/{cursor-C23-tuDG.js → cursor-CmjOudFl.js} +1 -1
  91. package/dist/assets/{cursor-transparent-DxbpsUOe.js → cursor-transparent-BuQu4Xza.js} +1 -1
  92. package/dist/assets/{debounce-B74p5Dx9.js → debounce-BPDgOl3K.js} +1 -1
  93. package/dist/assets/{desktop-D2rgpW7k.js → desktop-BEB2x90I.js} +1 -1
  94. package/dist/assets/{disconnect-CZEZvwjC.js → disconnect-BppzJERm.js} +1 -1
  95. package/dist/assets/{discord-DhdiQziW.js → discord-D9ErfH7F.js} +1 -1
  96. package/dist/assets/{distribution-CC2znxi6.js → distribution-COd8JnOO.js} +1 -1
  97. package/dist/assets/{dropdown-n3tVKADr.js → dropdown-C9AJw4pd.js} +1 -1
  98. package/dist/assets/{etherscan-D2RVk6lc.js → etherscan-Da2AijVM.js} +1 -1
  99. package/dist/assets/{exclamation-triangle-Btv2M3vT.js → exclamation-triangle-B02QzVJX.js} +1 -1
  100. package/dist/assets/{extension-D4LXx9Dx.js → extension-DlyOSX2E.js} +1 -1
  101. package/dist/assets/{external-link-VB8uZUlN.js → external-link-knj_xNEx.js} +1 -1
  102. package/dist/assets/{facebook-3nJoCU-F.js → facebook-Dhm2ywvk.js} +1 -1
  103. package/dist/assets/{farcaster-5iph5pnV.js → farcaster-B0tDtTPm.js} +1 -1
  104. package/dist/assets/{filters--HNUDh6h.js → filters-CfIH0b4F.js} +1 -1
  105. package/dist/assets/{flux-GaPULWYi.js → flux-BbGm0JgL.js} +1 -1
  106. package/dist/assets/{github-DLuZx3mb.js → github-D_UZMczu.js} +1 -1
  107. package/dist/assets/{google-BWHWz_y1.js → google-BUgcji2K.js} +1 -1
  108. package/dist/assets/{hailuo-6Z4cpEsW.js → hailuo-DS8314uv.js} +1 -1
  109. package/dist/assets/{headshots-Ruy6voFN.js → headshots-BFUDeV3q.js} +1 -1
  110. package/dist/assets/{help-circle-etlKP3he.js → help-circle-M_TjG9cz.js} +1 -1
  111. package/dist/assets/{id-Cohk1pUu.js → id-7gbtBKLO.js} +1 -1
  112. package/dist/assets/{image-D7gezCa8.js → image-ChIF8buh.js} +1 -1
  113. package/dist/assets/{index-BZTdivI9.js → index--4e-9241.js} +1 -1
  114. package/dist/assets/{index-DALRzfG8.js → index--ewSZOjg.js} +1 -1
  115. package/dist/assets/{index-DutrdntU.js → index-7hkwQR4o.js} +1 -1
  116. package/dist/assets/{index-n3RmhGtc.js → index-B0M1bXln.js} +1 -1
  117. package/dist/assets/{index-4IhcC2Q5.js → index-B2wclSMp.js} +1 -1
  118. package/dist/assets/{index-TGVp909n.js → index-BDzYsDx8.js} +1 -1
  119. package/dist/assets/{index-CBwGaapG.js → index-BK5DuvIJ.js} +1 -1
  120. package/dist/assets/{index-DDnVlL0U.js → index-BK8wZFB8.js} +1 -1
  121. package/dist/assets/{index-BZsK4TAg.js → index-BKLIEE62.js} +1 -1
  122. package/dist/assets/{index-De-s_9_p.js → index-BLK3b_Xp.js} +1 -1
  123. package/dist/assets/{index-CMZC1LbK.js → index-BWLI2t9f.js} +1 -1
  124. package/dist/assets/{index-CTIaxaSN.js → index-Bn4rDC6S.js} +1 -1
  125. package/dist/assets/{index-COsB5e28.js → index-BrkqK7sl.js} +1 -1
  126. package/dist/assets/{index-CYK_ZjxI.js → index-Bw4p7Hn6.js} +1 -1
  127. package/dist/assets/{index-0EOEDiT5.js → index-BwX5s8fC.js} +1 -1
  128. package/dist/assets/{index-CqqR619c.js → index-C23AoQtX.js} +1 -1
  129. package/dist/assets/{index-ClhulR7R.js → index-C5ILW1Ou.js} +1 -1
  130. package/dist/assets/{index-C_hLTYV6.js → index-C6E1J777.js} +1 -1
  131. package/dist/assets/{index-CoLmEdHw.js → index-CBbsBQha.js} +1 -1
  132. package/dist/assets/{index-DrCIdlLh.js → index-CEEKnqKe.js} +1 -1
  133. package/dist/assets/{index-CKbdz8TX.js → index-CISYOTMH.js} +1 -1
  134. package/dist/assets/{index-Cx7TciE9.js → index-CaaVrpc7.js} +1 -1
  135. package/dist/assets/{index-BQ7zd-Q3.js → index-CcDIRTSY.js} +1 -1
  136. package/dist/assets/{index-p6eQKJae.js → index-CehygrDL.js} +1 -1
  137. package/dist/assets/{index-Bti47OvL.js → index-CjrJCVi3.js} +4 -4
  138. package/dist/assets/{index-B8cqf9M7.js → index-Ck7-3bp_.js} +1 -1
  139. package/dist/assets/{index-DNJ0Deds.js → index-CkyhGtoC.js} +1 -1
  140. package/dist/assets/{index-WqSt4SLK.js → index-ClwdU7O1.js} +1 -1
  141. package/dist/assets/{index-DmqdsYe_.js → index-CnRhLgvn.js} +1 -1
  142. package/dist/assets/{index-QotPuZu5.js → index-CoqvM4YB.js} +1 -1
  143. package/dist/assets/{index-CgUi3x9C.js → index-Cqc9uxp4.js} +1 -1
  144. package/dist/assets/{index-BFSfwxgu.js → index-D0w7Z8ty.js} +6 -6
  145. package/dist/assets/{index-Das9vD7Z.js → index-D1obFrQ6.js} +1 -1
  146. package/dist/assets/{index-gY0_GLnY.js → index-D40MqQyw.js} +1 -1
  147. package/dist/assets/{index-CR3JtPGV.js → index-D9rmPKho.js} +1 -1
  148. package/dist/assets/{index-BTuB9iOI.js → index-DBxdQscu.js} +1 -1
  149. package/dist/assets/{index-UIVyWmYx.js → index-DCtjoVct.js} +1 -1
  150. package/dist/assets/{index-Cxez0rJF.js → index-DQBy2VTo.js} +1 -1
  151. package/dist/assets/{index-TjvIRT2V.js → index-DVGd6Xhg.js} +1 -1
  152. package/dist/assets/{index-t4Oimm-h.js → index-DXLhI3ID.js} +1 -1
  153. package/dist/assets/{index-C8bVV1-3.js → index-DYAa0XF7.js} +1 -1
  154. package/dist/assets/{index-DXevThxR.js → index-DYIElpgN.js} +1 -1
  155. package/dist/assets/{index-CbDuQQJI.js → index-DYRY4x8a.js} +1 -1
  156. package/dist/assets/{index-5lJZrwJi.css → index-DZIBVLbD.css} +1 -1
  157. package/dist/assets/{index-iGAJ0EBY.js → index-DezIxVaW.js} +1 -1
  158. package/dist/assets/{index-CDj4oGhc.js → index-Dl8-Goxg.js} +1 -1
  159. package/dist/assets/{index-Boh7ZLmt.js → index-DneHSZ5q.js} +1 -1
  160. package/dist/assets/{index-Bpq8VeIE.js → index-DroKJlFz.js} +1 -1
  161. package/dist/assets/{index-DXYQTkD2.js → index-DxpHBLTs.js} +1 -1
  162. package/dist/assets/{index-DGT2UyCh.js → index-Je6LWhXA.js} +1 -1
  163. package/dist/assets/{index-xKgpRyD9.js → index-L26y6paB.js} +1 -1
  164. package/dist/assets/{index-D2fVgLXM.js → index-M62vPQwv.js} +1 -1
  165. package/dist/assets/{index-B8EULjap.js → index-MfRQJOXO.js} +1 -1
  166. package/dist/assets/{index-wdE_vu7w.js → index-MxDhROWk.js} +3 -3
  167. package/dist/assets/{index-BB3zbewL.js → index-NUDTQYA9.js} +1 -1
  168. package/dist/assets/{index-BKLbg2aH.js → index-PVHx9bSd.js} +1 -1
  169. package/dist/assets/{index-BP_sbpCK.js → index-eSHn18d5.js} +1 -1
  170. package/dist/assets/{index-D7r--JBO.js → index-guHdpfEc.js} +1 -1
  171. package/dist/assets/{index-CC1kUoBp.js → index-hKpIA3KX.js} +1 -1
  172. package/dist/assets/{index-PvtlKQGB.js → index-i-5UiV7F.js} +1 -1
  173. package/dist/assets/{index-Be1d4-PD.js → index-qpE79lxS.js} +1 -1
  174. package/dist/assets/{index-CAL96Kmg.js → index-wTiYiYRV.js} +1 -1
  175. package/dist/assets/{index-z0g7nVX-.js → index-zDkOHKSg.js} +1 -1
  176. package/dist/assets/{index.browser.esm-BMfcuYyV.js → index.browser.esm-BCQuHR2f.js} +1 -1
  177. package/dist/assets/{index.es-DkM2OF-9.js → index.es-SZUFV4pc.js} +1 -1
  178. package/dist/assets/{info-CozxeMPh.js → info-DZ4Oo8s_.js} +1 -1
  179. package/dist/assets/{info-circle-CD7PIB6e.js → info-circle-BQA7CrQA.js} +1 -1
  180. package/dist/assets/{isEqual-CXlvduGT.js → isEqual-CsjxLFGH.js} +1 -1
  181. package/dist/assets/{isPlainObject-CxqZzpxw.js → isPlainObject-DuzUySLk.js} +1 -1
  182. package/dist/assets/{kling-CVouiR4n.js → kling-xorFo7AD.js} +1 -1
  183. package/dist/assets/{lightbulb-WadZYbB6.js → lightbulb-De6yafhi.js} +1 -1
  184. package/dist/assets/{luma-UDDJf5GR.js → luma-7_ybMb_6.js} +1 -1
  185. package/dist/assets/{mail-DmskLNtJ.js → mail-C8PkVLtO.js} +1 -1
  186. package/dist/assets/{midjourney-CTA4775i.js → midjourney-CY1LgUIp.js} +1 -1
  187. package/dist/assets/{mobile-Ds2LzBga.js → mobile-UWJrrWLf.js} +1 -1
  188. package/dist/assets/{more-Duf5FuKz.js → more-Fzja37Wl.js} +1 -1
  189. package/dist/assets/{nanobanana-DdgZPViA.js → nanobanana-CkFNR3ve.js} +1 -1
  190. package/dist/assets/{network-placeholder-CaU1sV5T.js → network-placeholder-7BHKRsM8.js} +1 -1
  191. package/dist/assets/{nftPlaceholder-2czTzqOn.js → nftPlaceholder-Bo1dT09a.js} +1 -1
  192. package/dist/assets/{off-n4ukqXYJ.js → off-B_KjApPd.js} +1 -1
  193. package/dist/assets/{openaiimage-DCwhO-Da.js → openaiimage-DbeIKgYk.js} +1 -1
  194. package/dist/assets/{order-Q1BxnUnM.js → order-CxdsB8ao.js} +1 -1
  195. package/dist/assets/pagination-C4m-FQYl.css +1 -0
  196. package/dist/assets/pagination-zLOBSvf0.js +1 -0
  197. package/dist/assets/{pika-BAz8qBb0.js → pika-lzF_S5Tj.js} +1 -1
  198. package/dist/assets/{pixverse-BsAQ-4Tt.js → pixverse-Bok-8m_R.js} +1 -1
  199. package/dist/assets/{play-store-BUOZKz8F.js → play-store-BqPYWJm6.js} +1 -1
  200. package/dist/assets/{plus-D6Vf6WPk.js → plus-bF5_EB61.js} +1 -1
  201. package/dist/assets/{price-CT1CtNhJ.js → price-Sv1Sj9H3.js} +1 -1
  202. package/dist/assets/{producer-CYviysKm.js → producer-D677gy2i.js} +1 -1
  203. package/dist/assets/{qr-code-Bq2s3a5P.js → qr-code-as7_JVoX.js} +1 -1
  204. package/dist/assets/{qrart-BW1p7eKq.js → qrart-vHHgK44j.js} +1 -1
  205. package/dist/assets/{recycle-horizontal-DeZpuq-V.js → recycle-horizontal-BHq_wKfu.js} +1 -1
  206. package/dist/assets/{refresh-DuDPdN9q.js → refresh-AqqZZpdz.js} +1 -1
  207. package/dist/assets/{reown-logo-OQqY4IFR.js → reown-logo-B5v7fkEL.js} +1 -1
  208. package/dist/assets/{search-CQWMyWrI.js → search-BwZVcAFw.js} +1 -1
  209. package/dist/assets/{secp256k1-BQhkAvy8.js → secp256k1-BAXGIkp5.js} +1 -1
  210. package/dist/assets/{secp256k1-BEDv1Dha.js → secp256k1-C43lEMBe.js} +1 -1
  211. package/dist/assets/{seedance-C5qFou8t.js → seedance-_MAoP_lJ.js} +1 -1
  212. package/dist/assets/{seedream-BM2C5q-d.js → seedream-BdJOMHdm.js} +1 -1
  213. package/dist/assets/{send-Bcn8FywM.js → send-_iojLXQX.js} +1 -1
  214. package/dist/assets/{service-BgOg7AKm.js → service-D8pTLxfo.js} +1 -1
  215. package/dist/assets/{solana-wallets-vue-BkU3BDHc.js → solana-wallets-vue-Dv4JQfB7.js} +1 -1
  216. package/dist/assets/{solana-wallets-DwuGoV-R.js → solana-wallets-ysFpa2tR.js} +2 -2
  217. package/dist/assets/{solanaEmbed.esm-DGZjuWLD.js → solanaEmbed.esm-DLm5-KIb.js} +1 -1
  218. package/dist/assets/{sora-DMKv1bNU.js → sora-DrifPRi3.js} +1 -1
  219. package/dist/assets/{string_decoder-CCfRUbt-.js → string_decoder-CF6EZ2r5.js} +1 -1
  220. package/dist/assets/{suno-BZ2rTza4.js → suno-jobuFjWf.js} +1 -1
  221. package/dist/assets/{swapHorizontal-CNXk9-lb.js → swapHorizontal-Bc0J_Zwv.js} +1 -1
  222. package/dist/assets/{swapHorizontalBold-Ccavc1fv.js → swapHorizontalBold-c9aQvTNb.js} +1 -1
  223. package/dist/assets/{swapHorizontalMedium-BuiULgEB.js → swapHorizontalMedium-DkBfc3CM.js} +1 -1
  224. package/dist/assets/{swapHorizontalRoundedBold-DEBmn91T.js → swapHorizontalRoundedBold-wz3AQfWh.js} +1 -1
  225. package/dist/assets/{swapVertical-DpDA5U0Z.js → swapVertical-DbP_Dr5T.js} +1 -1
  226. package/dist/assets/{telegram-uK7IWH2o.js → telegram-Dx1PgMDc.js} +1 -1
  227. package/dist/assets/{three-dots-Dmkv9Avd.js → three-dots-B15JjTHU.js} +1 -1
  228. package/dist/assets/{twitch-bdPOWdJE.js → twitch-DOlxfeDz.js} +1 -1
  229. package/dist/assets/{twitterIcon-BSGEZN8C.js → twitterIcon-QlLr_yXl.js} +1 -1
  230. package/dist/assets/{typescript-2au3Mu9J.js → typescript-BZnWy4Bd.js} +1 -1
  231. package/dist/assets/{use-form-item-Clq-JJlb.js → use-form-item-BqnxTqcj.js} +1 -1
  232. package/dist/assets/validator-DxIrjUeh.js +1 -0
  233. package/dist/assets/{veo-zEO9V_gH.js → veo-BuLQ-o05.js} +1 -1
  234. package/dist/assets/{verify-h_egHiFx.js → verify-C23xui3e.js} +1 -1
  235. package/dist/assets/{verify-filled-BNrV7WvJ.js → verify-filled-JwkGlMvo.js} +1 -1
  236. package/dist/assets/{w3m-modal-BY41QIjx.js → w3m-modal-Vm-J1GvD.js} +1 -1
  237. package/dist/assets/{wallet-B5waSIW7.js → wallet-BFf-hX9n.js} +1 -1
  238. package/dist/assets/{wallet-placeholder-CluYqRXp.js → wallet-placeholder-BWNI_3Ro.js} +1 -1
  239. package/dist/assets/{walletconnect-CPJdBF2w.js → walletconnect-DsKN4Ih8.js} +1 -1
  240. package/dist/assets/{wan-BB0GmTnO.js → wan-CopRmIT9.js} +1 -1
  241. package/dist/assets/{warning-circle-BN7F7HtP.js → warning-circle-Ds_0qkqf.js} +1 -1
  242. package/dist/assets/{web-B296qwhE.js → web-CG7tPkux.js} +1 -1
  243. package/dist/assets/{web-DZqGkCtR.js → web-DXzOnFBt.js} +1 -1
  244. package/dist/assets/{x-D_Ph4UU9.js → x-Dx-tDohG.js} +1 -1
  245. package/dist/index.html +2 -2
  246. package/package.json +1 -1
  247. package/dist/assets/Conversation-D62UlIlf.js +0 -25
  248. package/dist/assets/Index-B-cqMD92.js +0 -1
  249. package/dist/assets/Index-B6yXqiYj.js +0 -1
  250. package/dist/assets/Index-BN-nFqQK.js +0 -1
  251. package/dist/assets/Index-BhEpE8tc.js +0 -1
  252. package/dist/assets/Index-C-9jSiYb.js +0 -1
  253. package/dist/assets/Index-CI3jIfMT.js +0 -1
  254. package/dist/assets/Index-CIbeLVBD.js +0 -1
  255. package/dist/assets/Index-CLs_tNwl.js +0 -1
  256. package/dist/assets/Index-CgSkF6bt.js +0 -1
  257. package/dist/assets/Index-Ci-SgZmI.js +0 -1
  258. package/dist/assets/Index-CwOYFPiY.js +0 -1
  259. package/dist/assets/Index-D4jtO-fT.js +0 -1
  260. package/dist/assets/Index-D5vK1_4H.js +0 -1
  261. package/dist/assets/Index-DVZ3UetX.js +0 -1
  262. package/dist/assets/Index-DZZa_urE.js +0 -1
  263. package/dist/assets/Index-JrH_Q54i.js +0 -1
  264. package/dist/assets/Index-sny0MAza.js +0 -1
  265. package/dist/assets/ScrollList-DgGwAdqA.css +0 -1
  266. package/dist/assets/ScrollList-WqruYG0f.js +0 -1
  267. package/dist/assets/chat-DzSt93mP.js +0 -2
  268. package/dist/assets/pagination-Cnc6Oeyx.js +0 -1
  269. package/dist/assets/validator-DqeyweMw.js +0 -1
@@ -1 +0,0 @@
1
- import{F as E}from"./index.es-DkM2OF-9.js";import{E as L}from"./index-DNJ0Deds.js";import{E as me}from"./index-BP_sbpCK.js";import{d as b,H as m,E as i,z as j,C as n,y as h,D as o,q as l,F as r,x as V,O as T,N as I,Q as R,J as k,R as ye,I as w,M as we}from"./vendor-vue-NSDaktjZ.js";import{E as y,b7 as A,a0 as Ce,F as Ve,cd as te,aw as oe}from"./index-Bti47OvL.js";import{b as Se,c as ne,d as F,e as N,f as Te,g as Ie,h as Ee}from"./kling-CtoPhhA9.js";import{E as P,a as D}from"./index-BZTdivI9.js";import{E as q}from"./index-C_hLTYV6.js";import{E as C}from"./index-BQ7zd-Q3.js";import{I as S,S as Le}from"./ScrollList-WqruYG0f.js";import{E as H}from"./index-p6eQKJae.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as G}from"./ImagePreview-DZPTnmBT.js";import{E as J}from"./index-gY0_GLnY.js";import{E as K}from"./index-CDj4oGhc.js";import{C as pe}from"./Consumption-BEd757XD.js";import{E as ue}from"./index-D2fVgLXM.js";import{E as ge}from"./index-DXevThxR.js";import{E as Q}from"./index-COsB5e28.js";import{a as fe}from"./price-CT1CtNhJ.js";import{F as Me}from"./FilePreview-BPuB0Ku4.js";import{E as Ue,a as Re}from"./index-ClhulR7R.js";import{E as Ae,a as Pe}from"./index-xKgpRyD9.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{k as ie}from"./kling-CVouiR4n.js";import{C as De}from"./CopyToClipboard-BOQ-Zpxe.js";import{V as Ge}from"./VideoPlayer-QZYuahlJ.js";import{E as Ke}from"./index-DutrdntU.js";import{E as Oe}from"./index-0EOEDiT5.js";import{B as je}from"./BotPlaceholder-C_IGBMvq.js";import{N as Ne}from"./NoTasks-Cb8ntRPy.js";import{l as Be}from"./pagination-Cnc6Oeyx.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-t4Oimm-h.js";import"./typescript-2au3Mu9J.js";import"./index-CbDuQQJI.js";import"./strings-beZM2Y-f.js";import"./isEqual-CXlvduGT.js";import"./_Uint8Array-a5wCK152.js";import"./castArray-DzT6pvlU.js";import"./debounce-B74p5Dx9.js";import"./_baseIteratee-DtAKlqKl.js";import"./index-DmqdsYe_.js";import"./validator-DqeyweMw.js";import"./index-B8cqf9M7.js";import"./_baseClone-JK1xFj5u.js";import"./_initCloneObject-UCIzaue4.js";import"./index-Cu41y2Fl.js";import"./index-CgUi3x9C.js";import"./isPlainObject-CxqZzpxw.js";import"./vue-plyr-BO2nlN4c.js";import"./index-iGAJ0EBY.js";const ze=b({name:"LayoutKling",components:{ElDrawer:me,ElButton:L,FontAwesomeIcon:E},data(){return{drawer:!1}}}),Fe={class:"main flex flex-row flex-1 min-h-0"},qe={class:"config w-[320px] flex-none h-full flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},He={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function We(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("el-drawer");return l(),m("div",Fe,[i("div",qe,[j(e.$slots,"config",{},void 0,!0)]),i("div",He,[j(e.$slots,"result",{},void 0,!0)]),n(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:h(()=>[n(c,{icon:"fa-solid fa-magic"})]),_:1}),n(f,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:h(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Je=y(ze,[["render",We],["__scopeId","data-v-8fa7523c"]]),Qe={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function he(e,t,s){const a=t||"std",u=s??5;switch(e){case"kling-v1":return{text2video:!0,image2video:!0,endImage:u===5,audio:!1,motionControl:u===5};case"kling-v1-6":case"kling-v2-5-turbo":return{text2video:!0,image2video:!0,endImage:a==="pro",audio:!1,motionControl:!1};case"kling-v2-6":return{text2video:!0,image2video:!0,endImage:a==="pro",audio:a==="pro",motionControl:!1};case"kling-v2-master":case"kling-v2-1-master":return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};case"kling-v3":return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:a!=="4k"};case"kling-v3-omni":return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1};case"kling-video-o1":return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1};default:return Qe}}function Y(e,t){if(!e)return[];const s=t.model??e.model,a=t.mode??e.mode,u=t.duration??e.duration;if(!s)return[];const $=he(s,a,u),c=[];return e.end_image_url&&!$.endImage&&c.push({field:"end_image_url",i18nLabel:"kling.name.endImage"}),e.generate_audio&&!$.audio&&c.push({field:"generate_audio",i18nLabel:"kling.name.generateAudio"}),e.camera_control?.type&&!$.motionControl&&c.push({field:"camera_control",i18nLabel:"kling.name.cameraControl"}),c}function X(e,t){const s={...e};for(const a of t)a.field==="end_image_url"&&(s.end_image_url=void 0),a.field==="generate_audio"&&(s.generate_audio=!1),a.field==="camera_control"&&(s.camera_control=void 0);return s}const Ye=b({name:"ModelSelector",components:{ElSelect:D,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0,options:[{value:"kling-v3",label:"v3"},{value:"kling-v3-omni",label:"v3-Omni"},{value:"kling-v2-6",label:"v2.6"},{value:"kling-v2-5-turbo",label:"v2.5-Turbo"},{value:"kling-v2-1-master",label:"v2.1-Master"},{value:"kling-v2-master",label:"v2-Master"},{value:"kling-v1-6",label:"v1.6"},{value:"kling-v1",label:"v1"},{value:"kling-video-o1",label:"Video-o1"}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(Se)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=Y(t,{model:e});if(s.length===0){this.applyModel(e);return}const a=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:a}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=X({...t,model:e},s);this.$store.commit("kling/setConfig",u),C.success(this.$t("kling.message.featureRemovedNotice",{fields:a}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}}),Xe={class:"field"},Ze={class:"title font-bold"};function xe(e,t,s,a,u,$){const c=o("el-option"),p=o("el-select");return l(),m("div",Xe,[i("h2",Ze,r(e.$t("pika.name.model")),1),(l(),V(p,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("pika.placeholder.select"),onChange:e.onChange},{default:h(()=>[(l(!0),m(T,null,I(e.options,f=>(l(),V(c,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const et=y(Ye,[["render",xe],["__scopeId","data-v-04059875"]]),tt=b({name:"ModeSelector",components:{ElSelect:D,ElOption:P,InfoIcon:S},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return F.includes(this.selectedModel)?this.cameraControlSet?this.$t("kling.description.mode4kIncompatibleCamera"):"":this.$t("kling.description.mode4kRequiresV3")},options(){return[{value:"std",label:this.$t("kling.name.modeStd"),disabled:!1,disabledReason:""},{value:"pro",label:this.$t("kling.name.modePro"),disabled:!1,disabledReason:""},{value:"4k",label:this.$t("kling.name.mode4k"),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value==="4k"&&this.applyMode(ne)}},mounted(){this.value||this.applyMode(ne)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=Y(t,{mode:e});if(s.length===0){this.applyMode(e);return}const a=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:a}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=X({...t,mode:e},s);this.$store.commit("kling/setConfig",u),C.success(this.$t("kling.message.featureRemovedNotice",{fields:a}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}}),ot={class:"field"},nt={class:"header"},st={class:"title font-bold"},it={key:0,class:"opt-tip"};function lt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select");return l(),m("div",ot,[i("div",nt,[i("h2",st,r(e.$t("kling.name.mode")),1),n(c,{content:e.$t("kling.description.mode"),class:"info-icon"},null,8,["content"])]),(l(),V(f,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0,onChange:e.onChange},{default:h(()=>[(l(!0),m(T,null,I(e.options,d=>(l(),V(p,{key:d.value,label:d.label,value:d.value,disabled:d.disabled},{default:h(()=>[i("span",{class:R({"opt-disabled":d.disabled})},r(d.label),3),d.disabled&&d.disabledReason?(l(),m("span",it,r(d.disabledReason),1)):k("",!0)]),_:2},1032,["label","value","disabled"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const at=y(tt,[["render",lt],["__scopeId","data-v-9a8fa3c5"]]),le=[3,5,8,10,12,15],ae=[5,10],rt=b({name:"DurationSelector",components:{ElSlider:H,InfoIcon:S},props:{modelValue:{type:Number,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return F.includes(this.selectedModel)},sliderMin(){return this.isV3Model?3:5},sliderMax(){return this.isV3Model?15:10},sliderStep(){return this.isV3Model?1:5},marks(){const e=this.isV3Model?le:ae,t={};for(const s of e)t[s]=`${s}s`;return t},value(){return this.$store.state.kling?.config?.duration??N},sliderValue(){const e=this.value;return e<this.sliderMin?this.sliderMin:e>this.sliderMax?this.sliderMax:e}},watch:{isV3Model(e){(this.isV3Model?le:ae).includes(this.value)||this.applyDuration(N)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(N)},methods:{async onChange(e){const t=Array.isArray(e)?e[0]:e,s=this.$store.state.kling?.config||{},a=Y(s,{duration:t});if(a.length===0){this.applyDuration(t);return}const u=a.map($=>this.$t($.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:u}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const $=X({...s,duration:t},a);this.$store.commit("kling/setConfig",$),C.success(this.$t("kling.message.featureRemovedNotice",{fields:u}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}}),ct={class:"field"},dt={class:"header"},mt={class:"title font-bold"},pt={class:"value-display"};function ut(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-slider");return l(),m("div",ct,[i("div",dt,[i("h2",mt,r(e.$t("kling.name.duration")),1),n(c,{content:e.$t("kling.description.duration"),class:"info-icon ml-1"},null,8,["content"]),i("span",pt,r(e.value)+"s",1)]),(l(),V(p,{key:e.revertKey,"model-value":e.sliderValue,class:"slider",min:e.sliderMin,max:e.sliderMax,step:e.sliderStep,marks:e.marks,"show-tooltip":!1,onChange:e.onChange},null,8,["model-value","min","max","step","marks","onChange"]))])}const gt=y(rt,[["render",ut],["__scopeId","data-v-aa1a22a1"]]),ft=b({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state?.kling?.config?.aspect_ratio},set(e){console.debug("set ratio",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=Te)}}),ht={class:"text-sm font-bold mb-2 block"},_t={class:"items"},$t=["onClick"],vt={class:"name"};function kt(e,t,s,a,u,$){return l(),m("div",null,[i("span",ht,r(e.$t("kling.name.ratio")),1),i("div",_t,[(l(!0),m(T,null,I(e.options,(c,p)=>(l(),m("div",{key:p,class:R({active:e.active===p,item:!0}),onClick:f=>e.value=c.value},[i("div",{class:R(["preview",c.label])},[i("div",{class:"rect",style:ye({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",vt,r(c.label),1)],10,$t))),128))])])}const bt=y(ft,[["render",kt],["__scopeId","data-v-cdb14b2f"]]),yt=b({name:"StartImage",components:{ElUpload:K,ElButton:L,ElTooltip:J,InfoIcon:S,FontAwesomeIcon:E,ImagePreview:G},mixins:[W],emits:["change"],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),wt={class:"relative"},Ct={class:"flex justify-between"},Vt={class:"flex justify-start items-center"},St={class:"text-sm font-bold"};function Tt(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-tooltip"),g=o("el-upload");return l(),m("div",wt,[i("div",Ct,[i("div",Vt,[i("span",St,r(e.$t("kling.name.startImage")),1),n(c,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),n(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,disabled:e.reachedLimit,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:_})=>[_.url&&_.percentage!==void 0?(l(),V(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:M=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(v,{content:e.$t("kling.message.uploadReferencesExceed"),disabled:!e.reachedLimit,placement:"top"},{default:h(()=>[i("span",null,[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.reachedLimit},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1},8,["disabled"])])]),_:1},8,["content","disabled"])]),_:1},8,["file-list","disabled","action","on-exceed","on-error","on-success","headers"])])}const It=y(yt,[["render",Tt],["__scopeId","data-v-40832274"]]),Et=b({name:"EndImage",components:{ElUpload:K,ElButton:L,ElTooltip:J,ImagePreview:G,InfoIcon:S,FontAwesomeIcon:E},mixins:[W],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return he(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},uploadDisabled(){return this.reachedLimit||!this.endImageSupported},uploadTooltip(){return this.endImageSupported?this.reachedLimit?this.$t("kling.message.uploadReferencesExceed"):"":this.$t("kling.message.endImageNotSupported")},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?!0:(C.warning(this.$t("kling.message.endImageNotSupported")),!1)},onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Lt={class:"relative"},Mt={class:"flex justify-between"},Ut={class:"flex justify-start items-center"},Rt={class:"text-sm font-bold"};function At(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-tooltip"),g=o("el-upload");return l(),m("div",Lt,[i("div",Mt,[i("div",Ut,[i("span",Rt,r(e.$t("kling.name.endImage")),1),n(c,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),n(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,disabled:e.uploadDisabled,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","before-upload":e.onBeforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:_})=>[_.url&&_.percentage!==void 0?(l(),V(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:M=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(v,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:"top"},{default:h(()=>[i("span",null,[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.uploadDisabled},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1},8,["disabled"])])]),_:1},8,["content","disabled"])]),_:1},8,["file-list","disabled","action","before-upload","on-exceed","on-error","on-success","headers"])])}const Pt=y(Et,[["render",At],["__scopeId","data-v-6959ad44"]]),Dt=b({name:"CfgScaleSelector",components:{ElSlider:H,InfoIcon:S,ElInputNumber:ue},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug("set cfg_scale",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||(this.value=Ie)}}),Gt={class:"flex justify-between"},Kt={class:"flex justify-start items-center"},Ot={class:"text-sm font-bold"},jt={class:"flex justify-end items-center"},Nt={class:"w-full"};function Bt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input-number"),f=o("el-slider");return l(),m("div",null,[i("div",Gt,[i("div",Kt,[i("span",Ot,r(e.$t("kling.name.cfgScale")),1),n(c,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),i("div",jt,[n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),"controls-position":"right"},null,8,["modelValue"])])]),i("div",Nt,[n(f,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=d=>e.value=d),min:0,max:1,step:.1},null,8,["modelValue"])])])}const zt=y(Dt,[["render",Bt]]),Ft=b({name:"GenerateAudioSelector",components:{ElSwitch:ge,InfoIcon:S},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},supported(){return!!(F.includes(this.selectedModel)||this.selectedModel==="kling-v2-6"&&this.selectedMode==="pro")},tooltipContent(){return this.supported?this.$t("kling.description.generateAudio"):this.$t("kling.description.generateAudioUnsupported")},value:{get(){return this.supported?this.$store.state.kling?.config?.generate_audio??Ee:!1},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:!1})}}}),qt={class:"relative"},Ht={class:"flex justify-between items-center"},Wt={class:"flex justify-start items-center"},Jt={class:"text-sm font-bold"};function Qt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-switch");return l(),m("div",qt,[i("div",Ht,[i("div",Wt,[i("span",Jt,r(e.$t("kling.name.generateAudio")),1),n(c,{content:e.tooltipContent},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",disabled:!e.supported},null,8,["modelValue","disabled"])])])}const Yt=y(Ft,[["render",Qt]]),Xt=["horizontal","vertical","pan","tilt","roll","zoom"],Zt=b({name:"CameraControlSelector",components:{ElSelect:D,ElOption:P,ElSlider:H,ElInputNumber:ue,InfoIcon:S},data(){return{configKeys:Xt}},computed:{typeOptions(){return[{value:"",label:this.$t("kling.name.cameraTypeNone")},{value:"simple",label:this.$t("kling.name.cameraTypeSimple")},{value:"down_back",label:this.$t("kling.name.cameraTypeDownBack")},{value:"forward_up",label:this.$t("kling.name.cameraTypeForwardUp")},{value:"left_turn_forward",label:this.$t("kling.name.cameraTypeLeftTurnForward")},{value:"right_turn_forward",label:this.$t("kling.name.cameraTypeRightTurnForward")}]},selectedMode(){return this.$store.state.kling?.config?.mode||""},disabled(){return this.selectedMode==="4k"},tooltipContent(){return this.disabled?this.$t("kling.description.cameraControlDisabled4k"):this.$t("kling.description.cameraControl")},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??""},set(e){const t=this.$store.state.kling?.config||{};if(!e){const a={...t};delete a.camera_control,this.$store.commit("kling/setConfig",a);return}const s=e;this.$store.commit("kling/setConfig",{...t,camera_control:{type:s,config:s==="simple"?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw="")}},methods:{writeConfig(e,t){const s=this.$store.state.kling?.config||{},a=s.camera_control||{type:"simple"},u={...a.config||{}};t==null?delete u[e]:u[e]=t,this.$store.commit("kling/setConfig",{...s,camera_control:{...a,type:"simple",config:u}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),xt={class:"field"},eo={class:"header"},to={class:"text-sm font-bold"},oo={key:0,class:"config-grid"},no={class:"cfg-row-head"},so={class:"cfg-name"};function io(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select"),d=o("el-input-number"),v=o("el-slider");return l(),m("div",xt,[i("div",eo,[i("span",to,r(e.$t("kling.name.cameraControl")),1),n(c,{content:e.tooltipContent},null,8,["content"])]),n(f,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||(t[0]=g=>e.selectedTypeRaw=g),class:"value",placeholder:e.$t("kling.placeholder.cameraType"),clearable:!0,disabled:e.disabled},{default:h(()=>[(l(!0),m(T,null,I(e.typeOptions,g=>(l(),V(p,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"]),e.selectedType==="simple"&&!e.disabled?(l(),m("div",oo,[(l(!0),m(T,null,I(e.configKeys,g=>(l(),m("div",{key:g,class:"cfg-row"},[i("div",no,[i("span",so,r(e.$t(`kling.name.cc_${g}`)),1),n(d,{modelValue:e.configValues[g],"onUpdate:modelValue":_=>e.configValues[g]=_,min:-1,max:1,step:.1,precision:1,"controls-position":"right",size:"small",class:"cfg-num",onChange:_=>e.onNumberChange(g,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),n(v,{"model-value":e.configValues[g]??0,min:-1,max:1,step:.1,onInput:_=>e.onSliderChange(g,_)},null,8,["model-value","onInput"])]))),128))])):k("",!0)])}const lo=y(Zt,[["render",io],["__scopeId","data-v-fb7b34d0"]]),_e=[{groupKey:"cameraMovements",chipKeys:["rotateAround","stationary","handheld","zoomOut","zoomIn","follow","panRight","tiltUp","tiltDown","orbit"]},{groupKey:"cameraSpeed",chipKeys:["speedSlow","speedMedium","speedFast"]},{groupKey:"shotType",chipKeys:["shotClose","shotMedium","shotLong","shotLowAngle","shotHighAngle","shotShallowDof","shotFront","shotProfile","shotCloseUp","shotDrone"]},{groupKey:"light",chipKeys:["lightSunlight","lightSoft","lightNeon","lightWarm","lightNature","lightCandle","lightCityNight"]},{groupKey:"frame",chipKeys:["frameRichDetails","frameSimpleBg"]},{groupKey:"atmosphere",chipKeys:["atmosphereMysterious","atmospherePeaceful","atmosphereHeartwarming","atmosphereVivid","atmosphereColorful"]}],B=", ";function ao(e,t){const s=(e||"").trim();return s?s.includes(t)?s:`${s}${B}${t}`:t}function z(e,t){if(!e||!t)return e||"";const s=[`${t}${B}`,`${B}${t}`,t];let a=e;for(const u of s)if(a.includes(u)){a=a.replace(u,"");break}return a.replace(/(?:,\s*)+$/,"").replace(/^(?:,\s*)+/,"")}const ro=b({name:"InspirationPills",components:{FontAwesomeIcon:E},computed:{prompt(){return this.$store.state.kling?.config?.prompt||""},allChipTexts(){return _e.flatMap(e=>e.chipKeys.map(t=>this.$t(`kling.inspiration.chip.${t}`)))},selected(){const e=this.prompt;if(!e)return[];const t=[];for(const s of this.allChipTexts){const a=e.indexOf(s);a!==-1&&t.push({text:s,idx:a})}return t.sort((s,a)=>s.idx-a.idx).map(s=>s.text)}},methods:{onRemove(e){const t=z(this.prompt,e);this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:t})}}}),co={key:0,class:"pills",role:"list"},mo={class:"pill-text"},po=["aria-label","onClick"];function uo(e,t,s,a,u,$){const c=o("font-awesome-icon");return e.selected.length>0?(l(),m("div",co,[(l(!0),m(T,null,I(e.selected,p=>(l(),m("div",{key:p,class:"pill",role:"listitem"},[i("span",mo,r(p),1),i("button",{type:"button",class:"pill-remove","aria-label":e.$t("kling.inspiration.removeChip"),onClick:we(f=>e.onRemove(p),["stop"])},[n(c,{icon:"fa-solid fa-xmark"})],8,po)]))),128))])):k("",!0)}const go=y(ro,[["render",uo],["__scopeId","data-v-5fc4fa65"]]),fo="",ho=b({name:"PromptInput",components:{ElInput:Q,ElButton:L,FontAwesomeIcon:E,InfoIcon:S,InspirationPills:go},emits:["open-inspiration"],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=fo)}}),_o={class:"field"},$o={class:"box"},vo={class:"title font-bold"},ko={class:"actions"};function bo(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("info-icon"),d=o("inspiration-pills"),v=o("el-input");return l(),m("div",_o,[i("div",$o,[i("h2",vo,r(e.$t("kling.name.prompt")),1),i("div",ko,[n(p,{text:"",size:"small",class:"inspiration-btn",onClick:t[0]||(t[0]=g=>e.$emit("open-inspiration"))},{default:h(()=>[n(c,{icon:"fa-regular fa-lightbulb",class:"mr-1"}),w(" "+r(e.$t("kling.inspiration.openButton")),1)]),_:1}),n(f,{content:e.$t("kling.description.prompt"),class:"info"},null,8,["content"])])]),n(d),n(v,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||(t[1]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const yo=y(ho,[["render",bo],["__scopeId","data-v-0a5c57b8"]]),wo="",Co=b({name:"NegativePromptInput",components:{ElInput:Q,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||(this.prompt=wo)}}),Vo={class:"field"},So={class:"box"},To={class:"title font-bold"};function Io(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input");return l(),m("div",Vo,[i("div",So,[i("h2",To,r(e.$t("kling.name.negativePrompt")),1),n(c,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Eo=y(Co,[["render",Io],["__scopeId","data-v-de98cf01"]]),Lo=b({name:"InspirationDrawer",components:{ElDrawer:me,ElButton:L,FontAwesomeIcon:E},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{groups:_e,Close:Ce}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},drawerSize(){return window.innerWidth<768?"100%":"380px"},prompt(){return this.$store.state.kling?.config?.prompt||""},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(t=>this.$t(`kling.inspiration.chip.${t}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt(z(this.prompt,e)):this.setPrompt(ao(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(const t of this.allChipTexts)for(;e.includes(t);)e=z(e,t);this.setPrompt(e)}}}),Mo={class:"drawer-content"},Uo={class:"drawer-header"},Ro={class:"title-row"},Ao={class:"title"},Po={class:"hint"},Do={key:0,class:"selected-bar"},Go={class:"selected-text"},Ko={class:"groups"},Oo={class:"group-title"},jo={class:"chip-grid"},No=["onClick"];function Bo(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("el-drawer");return l(),V(f,{modelValue:e.visible,"onUpdate:modelValue":t[1]||(t[1]=d=>e.visible=d),direction:"rtl","with-header":!1,size:e.drawerSize,"custom-class":"kling-inspiration-drawer","destroy-on-close":!1},{default:h(()=>[i("div",Mo,[i("div",Uo,[i("div",Ro,[n(c,{icon:"fa-regular fa-lightbulb",class:"mr-2"}),i("span",Ao,r(e.$t("kling.inspiration.title")),1)]),n(p,{text:"",icon:e.Close,class:"close-btn",onClick:t[0]||(t[0]=d=>e.visible=!1)},null,8,["icon"])]),i("div",Po,r(e.$t("kling.inspiration.hint")),1),e.selectedCount>0?(l(),m("div",Do,[i("span",Go,r(e.$t("kling.inspiration.selectedSummary",{count:e.selectedCount})),1),n(p,{text:"",size:"small",class:"clear-btn",onClick:e.onClearSelected},{default:h(()=>[w(r(e.$t("kling.inspiration.clearSelected")),1)]),_:1},8,["onClick"])])):k("",!0),i("div",Ko,[(l(!0),m(T,null,I(e.groups,d=>(l(),m("div",{key:d.groupKey,class:"group"},[i("div",Oo,r(e.$t(`kling.inspiration.group.${d.groupKey}`)),1),i("div",jo,[(l(!0),m(T,null,I(d.chipKeys,v=>(l(),m("button",{key:v,type:"button",class:R({chip:!0,active:e.isSelected(e.chipText(v))}),onClick:g=>e.onToggle(e.chipText(v))},r(e.chipText(v)),11,No))),128))])]))),128))])])]),_:1},8,["modelValue","size"])}const zo=y(Lo,[["render",Bo],["__scopeId","data-v-7d457a69"]]),Fo={"kling-v3":"v3","kling-v3-omni":"v3-Omni","kling-v2-6":"v2.6","kling-v2-5-turbo":"v2.5-Turbo","kling-v2-1-master":"v2.1-Master","kling-v2-master":"v2-Master","kling-v1-6":"v1.6","kling-v1":"v1","kling-video-o1":"Video-o1"},qo={std:"720p",pro:"1080p","4k":"4K"},Ho=b({name:"SummaryChip",components:{FontAwesomeIcon:E},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){const e=this.config?.model||"kling-v2-5-turbo";return Fo[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||""},modeLabel(){const e=this.config?.mode||"std";return qo[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),Wo={class:"summary-chip"},Jo=["title"],Qo=["title"],Yo=["title"],Xo=["title"],Zo=["title"];function xo(e,t,s,a,u,$){const c=o("font-awesome-icon");return l(),m("div",Wo,[i("span",{class:"part",title:e.$t("kling.name.model")},r(e.modelLabel),9,Jo),t[0]||(t[0]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.duration")},r(e.durationLabel),9,Qo),t[1]||(t[1]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.ratio")},r(e.aspectRatio||"16:9"),9,Yo),t[2]||(t[2]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.mode")},r(e.modeLabel),9,Xo),e.generateAudio?(l(),m("span",{key:0,class:"audio",title:e.$t("kling.name.generateAudio")},[n(c,{icon:"fa-solid fa-headphones"})],8,Zo)):k("",!0)])}const en=y(Ho,[["render",xo],["__scopeId","data-v-418a6733"]]),tn=b({name:"ConfigPanel",components:{ElButton:L,Consumption:pe,FontAwesomeIcon:E,PromptInput:yo,NegativePromptInput:Eo,ModelSelector:et,ModeSelector:at,DurationSelector:gt,RatioSelector:bt,StartImage:It,CfgScaleSelector:zt,GenerateAudioSelector:Yt,CameraControlSelector:lo,InspirationDrawer:zo,SummaryChip:en,EndImage:Pt},emits:["generate"],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return fe(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),on={class:"flex flex-col h-full"},nn={class:"flex-1 overflow-y-auto p-5"},sn={class:"flex flex-col items-center justify-center px-5 pb-5"};function ln(e,t,s,a,u,$){const c=o("prompt-input"),p=o("model-selector"),f=o("ratio-selector"),d=o("start-image"),v=o("end-image"),g=o("duration-selector"),_=o("mode-selector"),M=o("generate-audio-selector"),U=o("camera-control-selector"),O=o("cfg-scale-selector"),$e=o("negative-prompt-input"),ve=o("summary-chip"),ke=o("consumption"),Z=o("font-awesome-icon"),x=o("el-button"),be=o("inspiration-drawer");return l(),m("div",on,[i("div",nn,[n(c,{class:"mb-4",onOpenInspiration:t[0]||(t[0]=ee=>e.inspirationOpen=!0)}),n(p,{class:"mb-4"}),n(f,{class:"mb-4"}),n(d,{class:"mb-2"}),n(v,{class:"mb-2"}),n(g,{class:"mb-4"}),n(_,{class:"mb-4"}),n(M,{class:"mb-4"}),n(U,{class:"mb-4"}),n(O,{class:"mb-4"}),n($e,{class:"mb-4"})]),i("div",sn,[n(ve),n(ke,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(l(),V(x,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:h(()=>[n(Z,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(l(),V(x,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:h(()=>[n(Z,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))]),n(be,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||(t[1]=ee=>e.inspirationOpen=ee)},null,8,["modelValue"])])}const an=y(tn,[["render",ln]]),rn=b({name:"MotionImage",components:{ElUpload:K,ElButton:L,InfoIcon:S,FontAwesomeIcon:E,ImagePreview:G},mixins:[W],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),cn={class:"relative"},dn={class:"flex justify-between"},mn={class:"flex justify-start items-center"},pn={class:"text-sm font-bold"};function un(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-upload");return l(),m("div",cn,[i("div",dn,[i("div",mn,[i("span",pn,r(e.$t("kling.name.motionImage")),1),n(c,{content:e.$t("kling.description.motionImage")},null,8,["content"])])]),n(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[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,headers:e.headers},{file:h(({file:g})=>[g.url&&g.percentage!==void 0?(l(),V(p,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:_=>e.onRemove(g)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const gn=y(rn,[["render",un],["__scopeId","data-v-37d42da7"]]),fn=b({name:"MotionVideo",components:{ElUpload:K,ElButton:L,InfoIcon:S,FilePreview:Me,FontAwesomeIcon:E},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadVideoExceed"))},onError(){C.error(this.$t("kling.message.uploadVideoError"))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){const t=e.type==="video/mp4"||e.type==="video/quicktime",s=e.size/1024/1024<100;return t?s?!0:(C.error(this.$t("kling.message.uploadVideoSizeExceed")),!1):(C.error(this.$t("kling.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),hn={class:"relative"},_n={class:"flex justify-between"},$n={class:"flex justify-start items-center"},vn={class:"text-sm font-bold"};function kn(e,t,s,a,u,$){const c=o("info-icon"),p=o("file-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-upload");return l(),m("div",hn,[i("div",_n,[i("div",$n,[i("span",vn,r(e.$t("kling.name.motionVideo")),1),n(c,{content:e.$t("kling.description.motionVideo")},null,8,["content"])])]),n(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=g=>e.fileList=g),accept:".mp4,.mov",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:g})=>[g.percentage!==void 0?(l(),V(p,{key:0,url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:_=>e.onRemove(g)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const bn=y(fn,[["render",kn],["__scopeId","data-v-5cf93212"]]),yn=b({name:"MotionPromptInput",components:{ElInput:Q,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||""},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),wn={class:"field"},Cn={class:"box"},Vn={class:"title font-bold"};function Sn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input");return l(),m("div",wn,[i("div",Cn,[i("h2",Vn,r(e.$t("kling.name.motionPrompt")),1),n(c,{content:e.$t("kling.description.motionPrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.motionPrompt")},null,8,["modelValue","placeholder"])])}const Tn=y(yn,[["render",Sn],["__scopeId","data-v-ca9fdbe5"]]),re="video",In=b({name:"CharacterOrientationSelector",components:{ElRadioGroup:Re,ElRadioButton:Ue,InfoIcon:S},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||re},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=re)}}),En={class:"field"},Ln={class:"header"},Mn={class:"text-sm font-bold"};function Un(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-radio-button"),f=o("el-radio-group");return l(),m("div",En,[i("div",Ln,[i("span",Mn,r(e.$t("kling.name.characterOrientation")),1),n(c,{content:e.$t("kling.description.characterOrientation")},null,8,["content"])]),n(f,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),size:"small",class:"value"},{default:h(()=>[n(p,{label:"image"},{default:h(()=>[w(r(e.$t("kling.name.orientationImage")),1)]),_:1}),n(p,{label:"video"},{default:h(()=>[w(r(e.$t("kling.name.orientationVideo")),1)]),_:1})]),_:1},8,["modelValue"])])}const Rn=y(In,[["render",Un],["__scopeId","data-v-7a91195b"]]),ce="std",An=b({name:"MotionModeSelector",components:{ElSelect:D,ElOption:P,InfoIcon:S},computed:{options(){return[{value:"std",label:this.$t("kling.name.modeStd")},{value:"pro",label:this.$t("kling.name.modePro")}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||ce},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=ce)}}),Pn={class:"field"},Dn={class:"header"},Gn={class:"title font-bold"};function Kn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select");return l(),m("div",Pn,[i("div",Dn,[i("h2",Gn,r(e.$t("kling.name.mode")),1),n(c,{content:e.$t("kling.description.motionMode")},null,8,["content"])]),n(f,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:h(()=>[(l(!0),m(T,null,I(e.options,d=>(l(),V(p,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const On=y(An,[["render",Kn],["__scopeId","data-v-1295688c"]]),jn=b({name:"KeepOriginalSoundSelector",components:{ElSwitch:ge,InfoIcon:S},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??"yes")==="yes"},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,keep_original_sound:e?"yes":"no"})}}}}),Nn={class:"relative"},Bn={class:"flex justify-between items-center"},zn={class:"flex justify-start items-center"},Fn={class:"text-sm font-bold"};function qn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-switch");return l(),m("div",Nn,[i("div",Bn,[i("div",zn,[i("span",Fn,r(e.$t("kling.name.keepOriginalSound")),1),n(c,{content:e.$t("kling.description.keepOriginalSound")},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f)},null,8,["modelValue"])])])}const Hn=y(jn,[["render",qn]]),Wn=b({name:"MotionPanel",components:{ElButton:L,FontAwesomeIcon:E,Consumption:pe,MotionImage:gn,MotionVideo:bn,MotionPromptInput:Tn,CharacterOrientationSelector:Rn,MotionModeSelector:On,KeepOriginalSoundSelector:Hn},emits:["generate"],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return fe(this.motionConfig,this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){const e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit("generate")}}}),Jn={class:"flex flex-col h-full"},Qn={class:"flex-1 overflow-y-auto p-5"},Yn={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xn(e,t,s,a,u,$){const c=o("motion-image"),p=o("motion-video"),f=o("motion-prompt-input"),d=o("character-orientation-selector"),v=o("motion-mode-selector"),g=o("keep-original-sound-selector"),_=o("consumption"),M=o("font-awesome-icon"),U=o("el-button");return l(),m("div",Jn,[i("div",Qn,[n(c,{class:"mb-3"}),n(p,{class:"mb-3"}),n(f,{class:"mb-4"}),n(d,{class:"mb-4"}),n(v,{class:"mb-4"}),n(g,{class:"mb-4"})]),i("div",Yn,[n(_,{value:e.consumption,service:e.service},null,8,["value","service"]),n(U,{type:"primary",class:"btn w-full",round:"",disabled:!e.canGenerate,onClick:e.onGenerate},{default:h(()=>[n(M,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.generateMotion")),1)]),_:1},8,["disabled","onClick"])])])}const Zn=y(Wn,[["render",Xn]]),xn=b({name:"KlingTabSwitcher",components:{ElTabs:Pe,ElTabPane:Ae,ElTag:Ve},props:{modelValue:{type:String,default:"videos"}},emits:["update:modelValue"],computed:{tabs(){return[{value:"videos",label:this.$t("kling.tab.videoGeneration")},{value:"motion",label:this.$t("kling.tab.motionControl")}]}},methods:{onUpdate(e){this.$emit("update:modelValue",e)}}}),es=["title"],ts={class:"text"};function os(e,t,s,a,u,$){const c=o("el-tag"),p=o("el-tab-pane"),f=o("el-tabs");return l(),V(f,{"model-value":e.modelValue,class:"kling-tabs",stretch:"","onUpdate:modelValue":e.onUpdate},{default:h(()=>[(l(!0),m(T,null,I(e.tabs,d=>(l(),V(p,{key:d.value,name:d.value,disabled:d.disabled},{label:h(()=>[i("span",{class:"tab-label",title:d.disabled?d.disabledReason:void 0},[i("span",ts,r(d.label),1),d.badge?(l(),V(c,{key:0,size:"small",type:"warning",class:"badge"},{default:h(()=>[w(r(d.badge),1)]),_:2},1024)):k("",!0)],8,es)]),_:2},1032,["name","disabled"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])}const ns=y(xn,[["render",os],["__scopeId","data-v-bf00c27e"]]),ss=b({name:"TaskPreview",components:{ElImage:Oe,CopyToClipboard:De,FontAwesomeIcon:E,ElAlert:Ke,VideoPlayer:Ge,ElTooltip:J,ElButton:L,ImagePreview:G},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},referenceImages(){const e=[],t=this.modelValue?.request?.start_image_url,s=this.modelValue?.request?.end_image_url;return t&&e.push({url:t,name:"start-image"}),s&&e.push({url:s,name:"end-image"}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),is={class:"preview"},ls={class:"left"},as={class:"main"},rs={class:"bot"},cs={class:"datetime"},ds={class:"info"},ms={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ps={key:1,class:"prompt mt-2"},us={key:0},gs={key:1},fs={key:0,class:R({content:!0,failed:!0})},hs={key:0,class:"mb-4"},_s={key:1,class:R({operations:!0,"mt-2":!0})},$s={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ks={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bs={key:1,class:R({content:!0})},ys={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ws={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Cs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ss={key:2,class:R({content:!0})},Ts={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Es(e,t,s,a,u,$){const c=o("el-image"),p=o("image-preview"),f=o("video-player"),d=o("el-button"),v=o("el-tooltip"),g=o("font-awesome-icon"),_=o("copy-to-clipboard"),M=o("el-alert");return l(),m("div",is,[i("div",ls,[n(c,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),i("div",as,[i("div",rs,[w(r(e.$t("kling.name.klingBot"))+" ",1),i("span",cs,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",ds,[e.referenceImages.length>0?(l(),m("div",ms,[(l(!0),m(T,null,I(e.referenceImages,(U,O)=>(l(),V(p,{key:O,url:U.url,name:U.name,closable:!1},null,8,["url","name"]))),128))])):k("",!0),e.modelValue?.request?.prompt?(l(),m("p",ps,[w(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?k("",!0):(l(),m("span",us," - ("+r(e.$t("kling.status.pending"))+") ",1)),e.modelValue?.response?.state==="submitted"||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="completed"?(l(),m("span",gs," - ("+r(e.$t("kling.status.processing"))+") ",1)):k("",!0)])):k("",!0)]),e.modelValue?.response?.success===!0?(l(),m("div",fs,[e.modelValue?.response.video_url?(l(),m("div",hs,[n(f,{src:e.modelValue?.response.video_url},null,8,["src"])])):k("",!0),e.modelValue?.response.success?(l(),m("div",_s,[n(v,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:h(()=>[e.modelValue?.response.video_url?(l(),V(d,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response.video_url))},{default:h(()=>[w(r(e.$t("kling.button.download")),1)]),_:1})):k("",!0)]),_:1},8,["content"])])):k("",!0),n(M,{closable:!1,class:"mt-2 success"},{default:h(()=>[i("p",$s,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.model"))+": "+r(e.modelValue?.request?.model),1)]),i("p",vs,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(l(),m("p",ks,[n(g,{icon:"fa-solid fa-clock",class:"mr-1"}),w(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):k("",!0)]),_:1})])):k("",!0),e.modelValue?.response?.success===!1?(l(),m("div",bs,[n(M,{closable:!1,class:"failure"},{template:h(()=>[n(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),w(" "+r(e.$t("kling.name.failure")),1)]),default:h(()=>[i("p",ys,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),i("p",ws,[n(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),w(" "+r(e.$t("kling.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),n(_,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(l(),m("p",Cs,[n(g,{icon:"fa-solid fa-clock",class:"mr-1"}),w(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):k("",!0),e.modelValue?.response?.trace_id?(l(),m("p",Vs,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(_,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):k("",!0)]),_:1})])):k("",!0),e.modelValue?.response?.success===void 0?(l(),m("div",Ss,[n(M,{closable:!1,class:"info"},{template:h(()=>[n(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),w(" "+r(e.$t("kling.name.failure")),1)]),default:h(()=>[i("p",Ts,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(l(),m("p",Is,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(_,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):k("",!0)]),_:1})])):k("",!0)])])}const Ls=y(ss,[["render",Es],["__scopeId","data-v-e8e87659"]]),Ms=b({name:"RecentPanel",components:{TaskPreview:Ls,NoTasks:Ne,BotPlaceholder:je,ScrollList:Le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Us={key:0},Rs={key:2,class:"w-full h-full flex items-center justify-center"};function As(e,t,s,a,u,$){const c=o("bot-placeholder"),p=o("task-preview"),f=o("scroll-list"),d=o("no-tasks");return l(),m(T,null,[e.tasks?.items===void 0?(l(),m("div",Us,[n(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(l(),V(f,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=v=>e.$emit("reach-top"))},{default:h(()=>[(l(!0),m(T,null,I(e.tasks?.items,v=>(l(),V(p,{key:v.id,"model-value":v},null,8,["model-value"]))),128))]),_:1},8,["loading"])):k("",!0),e.tasks?.items?.length===0?(l(),m("div",Rs,[n(d)])):k("",!0)],64)}const Ps=y(Ms,[["render",As]]),de="https://webhook.acedata.cloud/kling",Ds=b({name:"KlingIndex",components:{ConfigPanel:an,MotionPanel:Zn,TabSwitcher:ns,Layout:Je,RecentPanel:Ps},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===oe.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===oe.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},taskType(){return this.$store.state.kling.taskType||"videos"},tasks(){return this.$store.state.kling.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 Be({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(){console.debug("start onGetService"),await this.$store.dispatch("kling/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("kling/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:s,createdAtMax:a}=e||{};console.debug("limit",t,"createdAtMin",s,"createdAtMax",a),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:t,createdAtMin:s,createdAtMax:a})}finally{this.fetchingTasks=!1}},async onGenerate(){const{camera_control:e,...t}=this.config||{},s={...t,callback_url:de};if(!s.video_id&&!t.video_url&&!s.start_image_url&&s.end_image_url){C.warning(this.$t("kling.message.endImageRequiresStart"));return}s.action||(s.video_id||t.video_url?s.action="extend":s.start_image_url?s.action="image2video":s.action="text2video"),s.action==="text2video"&&s.end_image_url&&delete s.end_image_url,e?.type&&(s.camera_control={type:e.type,...e.type==="simple"&&e.config?{config:Object.fromEntries(Object.entries(e.config).filter(([,u])=>u!=null))}:{}});const a=this.credential?.token;if(!a){console.error("no token specified");return}C.info(this.$t("kling.message.startingTask")),te("kling",ie.generate(s,{token:a})).then(()=>{C.success(this.$t("kling.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===se?C.error(this.$t("kling.message.usedUp")):C.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch("kling/setTaskType",e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){const e=this.motionConfig||{};if(!e.image_url||!e.video_url){C.warning(this.$t("kling.message.motionMissingInputs"));return}const t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||"video",mode:e.mode||"std",keep_original_sound:e.keep_original_sound??"yes",...e.prompt?{prompt:e.prompt}:{},callback_url:de},s=this.credential?.token;if(!s){console.error("no token specified");return}C.info(this.$t("kling.message.startingTask")),te("kling",ie.motion(t,{token:s})).then(()=>{C.success(this.$t("kling.message.startTaskSuccess"))}).catch(a=>{a?.response?.data?.error?.code===se?C.error(this.$t("kling.message.usedUp")):C.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),Gs={class:"flex flex-col h-full"},Ks={class:"flex-1 min-h-0"};function Os(e,t,s,a,u,$){const c=o("tab-switcher"),p=o("config-panel"),f=o("motion-panel"),d=o("recent-panel"),v=o("layout");return l(),V(v,null,{config:h(()=>[i("div",Gs,[n(c,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,["model-value","onUpdate:modelValue"]),i("div",Ks,[e.taskType==="videos"?(l(),V(p,{key:0,onGenerate:e.onGenerate},null,8,["onGenerate"])):e.taskType==="motion"?(l(),V(f,{key:1,onGenerate:e.onGenerateMotion},null,8,["onGenerate"])):k("",!0)])])]),result:h(()=>[n(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Bi=y(Ds,[["render",Os]]);export{Bi as default};
@@ -1 +0,0 @@
1
- import{F as P}from"./index.es-DkM2OF-9.js";import{E as U}from"./index-DNJ0Deds.js";import{E as Y}from"./index-BP_sbpCK.js";import{d as b,H as i,E as r,z as L,C as a,y as p,D as n,q as t,F as l,O as E,N as T,x as m,Q as A,R as J,J as d,I as _}from"./vendor-vue-NSDaktjZ.js";import{E as k,b7 as Q,cd as K,aw as M}from"./index-Bti47OvL.js";import{a as W,b as Z,c as x,d as ee,e as oe,f as te,g as G,h as se,i as ne,j as ae}from"./veo-Dg8Zhpd-.js";import{E as C,a as O}from"./index-BZTdivI9.js";import{I as j,S as le}from"./ScrollList-WqruYG0f.js";import{E as ie}from"./index-DXevThxR.js";import{V as D}from"./VideoPlayer-QZYuahlJ.js";import{E as R}from"./index-COsB5e28.js";import{p as re}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ce}from"./ImagePreview-DZPTnmBT.js";import{E as de}from"./index-CDj4oGhc.js";import{E as I}from"./index-BQ7zd-Q3.js";import{C as ue}from"./Consumption-BEd757XD.js";import{a as pe}from"./price-CT1CtNhJ.js";import{b as me}from"./errorCode-Cqj9Td_Z.js";import{v as ve}from"./veo-zEO9V_gH.js";import{C as fe}from"./CopyToClipboard-BOQ-Zpxe.js";import{E as _e}from"./index-gY0_GLnY.js";import{E as he}from"./index-DutrdntU.js";import{E as $e}from"./index-0EOEDiT5.js";import{B as ge}from"./BotPlaceholder-C_IGBMvq.js";import{N as be}from"./NoTasks-Cb8ntRPy.js";import{l as ke}from"./pagination-Cnc6Oeyx.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-t4Oimm-h.js";import"./typescript-2au3Mu9J.js";import"./index-CbDuQQJI.js";import"./strings-beZM2Y-f.js";import"./isEqual-CXlvduGT.js";import"./_Uint8Array-a5wCK152.js";import"./castArray-DzT6pvlU.js";import"./debounce-B74p5Dx9.js";import"./_baseIteratee-DtAKlqKl.js";import"./index-DmqdsYe_.js";import"./validator-DqeyweMw.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CgUi3x9C.js";import"./index-B8cqf9M7.js";import"./_baseClone-JK1xFj5u.js";import"./_initCloneObject-UCIzaue4.js";import"./index-iGAJ0EBY.js";const ye=b({name:"LayoutVeo",components:{ElDrawer:Y,ElButton:U,FontAwesomeIcon:P},data(){return{drawer:!1}}}),Ve={class:"main flex flex-row flex-1"},we={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Ee={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ie(e,o,v,f,y,V){const c=n("font-awesome-icon"),u=n("el-button"),s=n("el-drawer");return t(),i("div",Ve,[r("div",we,[L(e.$slots,"config",{},void 0,!0)]),r("div",Ee,[L(e.$slots,"result",{},void 0,!0)]),a(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=w=>e.drawer=!0)},{default:p(()=>[a(c,{icon:"fa-solid fa-magic"})]),_:1}),a(s,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:p(()=>[L(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Te=k(ye,[["render",Ie],["__scopeId","data-v-816b984c"]]),Se=b({name:"ModelSelector",components:{ElSelect:O,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"veo2",label:"veo2"},{value:"veo2-fast",label:"veo2-fast"},{value:"veo3",label:"veo3"},{value:"veo3-fast",label:"veo3-fast"},{value:"veo31-fast",label:"veo31-fast"},{value:"veo31",label:"veo31"},{value:"veo31-fast-ingredients",label:"veo31-fast-ingredients"}]}},computed:{value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||(this.value=W)}}),Ae={class:"field"},Ce={class:"title font-bold"};function Oe(e,o,v,f,y,V){const c=n("el-option"),u=n("el-select");return t(),i("div",Ae,[r("h2",Ce,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(E,null,T(e.options,s=>(t(),m(c,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=k(Se,[["render",Oe],["__scopeId","data-v-a59d89c9"]]),Ue=b({name:"ActionSelector",components:{ElSelect:O,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("veo.button.action1")},{value:"image2video",label:this.$t("veo.button.action2")},{value:"ingredients2video",label:this.$t("veo.button.actionIngredients")},{value:"upsample",label:this.$t("veo.button.actionUpsample")},{value:"extend",label:this.$t("veo.button.actionExtend")},{value:"reshoot",label:this.$t("veo.button.actionReshoot")},{value:"object_insert",label:this.$t("veo.button.actionObjectInsert")},{value:"object_remove",label:this.$t("veo.button.actionObjectRemove")}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||(this.value=Z)}}),Le={class:"field"},je={class:"title font-bold"},Re={class:"float-left"};function Me(e,o,v,f,y,V){const c=n("el-option"),u=n("el-select");return t(),i("div",Le,[r("h2",je,l(e.$t("veo.name.action")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value",placeholder:e.$t("veo.placeholder.select"),clearable:""},{default:p(()=>[(t(!0),i(E,null,T(e.options,s=>(t(),m(c,{key:s.value,label:s.label,value:s.value},{default:p(()=>[r("span",Re,l(s.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=k(Ue,[["render",Me],["__scopeId","data-v-f4d8785c"]]),De=b({name:"TranslationSelector",components:{ElSwitch:ie,InfoIcon:j},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug("set translation",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=x)}}),Ne={class:"relative"},Fe={class:"flex justify-between"},ze={class:"flex justify-start items-center"},Be={class:"text-sm font-bold"},qe={class:"flex justify-end items-center"};function He(e,o,v,f,y,V){const c=n("info-icon"),u=n("el-switch");return t(),i("div",Ne,[r("div",Fe,[r("div",ze,[r("span",Be,l(e.$t("veo.name.translation")),1),a(c,{content:e.$t("veo.description.translation")},null,8,["content"])]),r("div",qe,[a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value"},null,8,["modelValue"])])])])}const Xe=k(De,[["render",He]]),Ye=b({name:"AspectRatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=ee)}}),Je={class:"text-sm font-bold mb-2 block"},Qe={class:"items"},Ke=["onClick"],We={class:"name"};function Ze(e,o,v,f,y,V){return t(),i("div",null,[r("span",Je,l(e.$t("veo.name.ratio")),1),r("div",Qe,[(t(!0),i(E,null,T(e.options,(c,u)=>(t(),i("div",{key:u,class:A({active:e.active===u,item:!0}),onClick:s=>e.value=c.value},[r("div",{class:A(["preview",c.label])},[r("div",{class:"rect",style:J({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",We,l(c.label),1)],10,Ke))),128))])])}const xe=k(Ye,[["render",Ze],["__scopeId","data-v-0f16be77"]]),eo=b({name:"VideoFromInput",components:{VideoPlayer:D},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.veo?.config}}}),oo={class:"relative"},to={class:"flex mb-2"},so={class:"text-sm font-bold"};function no(e,o,v,f,y,V){const c=n("video-player");return t(),i("div",oo,[r("div",to,[r("span",so,l(e.$t("veo.name.action3")),1)]),r("div",null,[e.config?.video_url?(t(),m(c,{key:0,src:e.config?.video_url},null,8,["src"])):d("",!0)])])}const ao=k(eo,[["render",no]]),lo=b({name:"VideoIdInput",components:{ElInput:R},computed:{value:{get(){return this.$store.state.veo?.config?.video_id},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,video_id:e})}}}}),io={class:"field"},ro={class:"title font-bold"};function co(e,o,v,f,y,V){const c=n("el-input");return t(),i("div",io,[r("h2",ro,l(e.$t("veo.name.videoId")),1),a(c,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.videoId"),clearable:""},null,8,["modelValue","placeholder"])])}const uo=k(lo,[["render",co],["__scopeId","data-v-6eba4026"]]),po=b({name:"StartEndImage",components:{ElUpload:de,ElButton:U,InfoIcon:j,FontAwesomeIcon:P,ImagePreview:ce},mixins:[re],emits:["change"],data(){return{fileList:[],uploadUrl:Q()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){I.warning(this.$t("veo.message.uploadReferencesExceed"))},onError(){I.error(this.$t("veo.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("veo/setConfig",{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),mo={class:"relative"},vo={class:"flex justify-between"},fo={class:"flex justify-start items-center"},_o={class:"text-sm font-bold"};function ho(e,o,v,f,y,V){const c=n("info-icon"),u=n("image-preview"),s=n("font-awesome-icon"),w=n("el-button"),$=n("el-upload");return t(),i("div",mo,[r("div",vo,[r("div",fo,[r("span",_o,l(e.$t("veo.name.startEndImage")),1),a(c,{content:e.$t("veo.description.uploadStartEndImage")},null,8,["content"])])]),a($,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=h=>e.fileList=h),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:h})=>[h.url&&h.percentage!==void 0?(t(),m(u,{key:0,url:h.url,name:h.name,percentage:h.percentage,onRemove:S=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])):d("",!0)]),default:p(()=>[a(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:p(()=>[a(s,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("veo.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const $o=k(po,[["render",ho],["__scopeId","data-v-b8ddb8fb"]]),go=b({name:"UpsampleActionSelector",components:{ElSelect:O,ElOption:C},computed:{options(){return te.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.upsample_action},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,upsample_action:e})}}},mounted(){this.value||(this.value=oe)}}),bo={class:"field"},ko={class:"title font-bold"};function yo(e,o,v,f,y,V){const c=n("el-option"),u=n("el-select");return t(),i("div",bo,[r("h2",ko,l(e.$t("veo.name.upsampleAction")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(E,null,T(e.options,s=>(t(),m(c,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Vo=k(go,[["render",yo],["__scopeId","data-v-8b74a7ae"]]),wo=b({name:"ExtendModelSelector",components:{ElSelect:O,ElOption:C},computed:{options(){return G.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,model:e})}}},mounted(){(!this.value||!G.includes(this.value))&&(this.value=se)}}),Eo={class:"field"},Io={class:"title font-bold"};function To(e,o,v,f,y,V){const c=n("el-option"),u=n("el-select");return t(),i("div",Eo,[r("h2",Io,l(e.$t("veo.name.model")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value",placeholder:e.$t("veo.placeholder.select")},{default:p(()=>[(t(!0),i(E,null,T(e.options,s=>(t(),m(c,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const So=k(wo,[["render",To],["__scopeId","data-v-cc3f9355"]]),Ao=b({name:"MotionTypeSelector",components:{ElSelect:O,ElOption:C},computed:{options(){return ae.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.motion_type},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,motion_type:e})}}},mounted(){this.value||(this.value=ne)}}),Co={class:"field"},Oo={class:"title font-bold"};function Po(e,o,v,f,y,V){const c=n("el-option"),u=n("el-select");return t(),i("div",Co,[r("h2",Oo,l(e.$t("veo.name.motionType")),1),a(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=s=>e.value=s),class:"value",placeholder:e.$t("veo.placeholder.select"),filterable:""},{default:p(()=>[(t(!0),i(E,null,T(e.options,s=>(t(),m(c,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Uo=k(Ao,[["render",Po],["__scopeId","data-v-3affff3c"]]),Lo=b({name:"ImageMaskInput",components:{ElInput:R},computed:{value:{get(){return this.$store.state.veo?.config?.image_mask},set(e){this.$store.commit("veo/setConfig",{...this.$store.state.veo.config,image_mask:e})}}}}),jo={class:"field"},Ro={class:"title font-bold"};function Mo(e,o,v,f,y,V){const c=n("el-input");return t(),i("div",jo,[r("h2",Ro,l(e.$t("veo.name.imageMask")),1),a(c,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value",type:"text",placeholder:e.$t("veo.placeholder.imageMask"),clearable:""},null,8,["modelValue","placeholder"])])}const Go=k(Lo,[["render",Mo],["__scopeId","data-v-6cc27c68"]]),Do="",No=b({name:"PromptInput",components:{ElInput:R,InfoIcon:j},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Do)}}),Fo={class:"field"},zo={class:"box"},Bo={class:"title font-bold"};function qo(e,o,v,f,y,V){const c=n("info-icon"),u=n("el-input");return t(),i("div",Fo,[r("div",zo,[r("h2",Bo,l(e.$t("veo.name.prompt")),1),a(c,{content:e.$t("veo.description.prompt"),class:"info"},null,8,["content"])]),a(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=s=>e.prompt=s),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("veo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ho=k(No,[["render",qo],["__scopeId","data-v-84c55ea0"]]),Xo=["upsample","extend","reshoot","object_insert","object_remove","get1080p"],Yo=["text2video","image2video","ingredients2video"],Jo=b({name:"ConfigPanel",components:{ElButton:U,Consumption:ue,FontAwesomeIcon:P,PromptInput:Ho,ModelSelector:Pe,StartEndImage:$o,ActionSelector:Ge,VideoFromInput:ao,VideoIdInput:uo,UpsampleActionSelector:Vo,ExtendModelSelector:So,MotionTypeSelector:Uo,ImageMaskInput:Go,TranslationSelector:Xe,AspectRatioSelector:xe},emits:["generate"],computed:{config(){return this.$store.state.veo?.config},consumption(){return pe(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},isPostProcessing(){return Xo.includes(this.config?.action??"")},isGeneration(){return Yo.includes(this.config?.action??"")}},methods:{onGenerate(){this.$emit("generate")}}}),Qo={class:"flex flex-col h-full"},Ko={class:"flex-1 overflow-y-auto p-5"},Wo={class:"flex flex-col items-center justify-center px-5 pb-5"};function Zo(e,o,v,f,y,V){const c=n("action-selector"),u=n("video-from-input"),s=n("video-id-input"),w=n("upsample-action-selector"),$=n("extend-model-selector"),h=n("prompt-input"),S=n("motion-type-selector"),g=n("image-mask-input"),N=n("translation-selector"),F=n("aspect-ratio-selector"),z=n("model-selector"),B=n("start-end-image"),q=n("consumption"),H=n("font-awesome-icon"),X=n("el-button");return t(),i("div",Qo,[r("div",Ko,[a(c,{class:"mb-4"}),e.isPostProcessing?(t(),i(E,{key:0},[e.config?.video_url?(t(),m(u,{key:0,class:"mb-4"})):d("",!0),a(s,{class:"mb-4"})],64)):d("",!0),e.config?.action==="upsample"?(t(),m(w,{key:1,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m($,{key:2,class:"mb-4"})):d("",!0),e.config?.action==="extend"?(t(),m(h,{key:3,class:"mb-4"})):d("",!0),e.config?.action==="reshoot"?(t(),m(S,{key:4,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"?(t(),m(h,{key:5,class:"mb-4"})):d("",!0),e.config?.action==="object_insert"||e.config?.action==="object_remove"?(t(),m(g,{key:6,class:"mb-4"})):d("",!0),e.config?.action==="object_remove"?(t(),m(h,{key:7,class:"mb-4"})):d("",!0),e.isGeneration?(t(),i(E,{key:8},[a(N,{class:"mb-4"}),e.config?.action==="image2video"||e.config?.action==="ingredients2video"?(t(),m(F,{key:0,class:"mb-4"})):d("",!0),a(h,{class:"mb-4"}),e.config?.action!=="ingredients2video"?(t(),m(z,{key:1,class:"mb-4"})):d("",!0),e.config?.action==="image2video"||e.config?.action==="ingredients2video"?(t(),m(B,{key:2,class:"mb-2"})):d("",!0)],64)):d("",!0)]),r("div",Wo,[a(q,{value:e.consumption,service:e.service},null,8,["value","service"]),a(X,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:p(()=>[a(H,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("veo.button.generate")),1)]),_:1},8,["onClick"])])])}const xo=k(Jo,[["render",Zo]]),et=b({name:"TaskPreview",components:{ElImage:$e,CopyToClipboard:fe,FontAwesomeIcon:P,ElAlert:he,VideoPlayer:D,ElTooltip:_e,ElButton:U},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onPickAction(e,o,v,f){console.debug("seed config from preview",{action:v,upsampleAction:f,response:o}),this.$store.commit("veo/setConfig",{...this.$store.state.veo?.config,action:v,video_id:o?.data?.[0]?.id,video_url:o?.data?.[0]?.video_url,...f?{upsample_action:f}:{}})},onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),ot={class:"preview"},tt={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},it={key:0,class:"prompt mt-2"},rt={key:0},ct={key:1},dt={key:0,class:A({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:A({operations:!0,"mt-2":!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:A({content:!0})},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},kt={key:2,class:A({content:!0})},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function wt(e,o,v,f,y,V){const c=n("el-image"),u=n("video-player"),s=n("el-button"),w=n("el-tooltip"),$=n("font-awesome-icon"),h=n("copy-to-clipboard"),S=n("el-alert");return t(),i("div",ot,[r("div",tt,[a(c,{src:"https://cdn.acedata.cloud/8nxyy9.jpg",class:"avatar"})]),r("div",st,[r("div",nt,[_(l(e.$t("veo.name.veoBot"))+" ",1),r("span",at,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",lt,[e.modelValue?.request?.prompt?(t(),i("p",it,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?d("",!0):(t(),i("span",rt," - ("+l(e.$t("veo.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="running"?(t(),i("span",ct," - ("+l(e.$t("veo.status.processing"))+") ",1)):d("",!0)])):d("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(t(),i("div",dt,[e.modelValue?.response?.data[0]?.video_url?(t(),i("div",ut,[a(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):d("",!0),e.modelValue?.response.success?(t(),i("div",pt,[e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=g=>e.onPickAction(g,e.modelValue?.response,"upsample","1080p"))},{default:p(()=>[_(l(e.$t("veo.button.actionUpsample1080p")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:1,type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=g=>e.onPickAction(g,e.modelValue?.response,"upsample","4k"))},{default:p(()=>[_(l(e.$t("veo.button.actionUpsample4k")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:2,type:"info",size:"small",class:"btn-action",onClick:o[2]||(o[2]=g=>e.onPickAction(g,e.modelValue?.response,"upsample","gif"))},{default:p(()=>[_(l(e.$t("veo.button.actionUpsampleGif")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:3,type:"info",size:"small",class:"btn-action",onClick:o[3]||(o[3]=g=>e.onPickAction(g,e.modelValue?.response,"extend"))},{default:p(()=>[_(l(e.$t("veo.button.actionExtend")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:4,type:"info",size:"small",class:"btn-action",onClick:o[4]||(o[4]=g=>e.onPickAction(g,e.modelValue?.response,"reshoot"))},{default:p(()=>[_(l(e.$t("veo.button.actionReshoot")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:5,type:"info",size:"small",class:"btn-action",onClick:o[5]||(o[5]=g=>e.onPickAction(g,e.modelValue?.response,"object_insert"))},{default:p(()=>[_(l(e.$t("veo.button.actionObjectInsert")),1)]),_:1})):d("",!0),e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:6,type:"info",size:"small",class:"btn-action",onClick:o[6]||(o[6]=g=>e.onPickAction(g,e.modelValue?.response,"object_remove"))},{default:p(()=>[_(l(e.$t("veo.button.actionObjectRemove")),1)]),_:1})):d("",!0),a(w,{class:"box-item",effect:"dark",content:e.$t("veo.message.downloadVideo"),placement:"top-start"},{default:p(()=>[e.modelValue?.response?.data[0]?.video_url?(t(),m(s,{key:0,type:"info",size:"small",class:"btn-action",onClick:o[7]||(o[7]=g=>e.onDownload(g,e.modelValue?.response?.data[0]?.video_url))},{default:p(()=>[_(l(e.$t("veo.button.download")),1)]),_:1})):d("",!0)]),_:1},8,["content"])])):d("",!0),a(S,{closable:!1,class:"mt-2 success"},{default:p(()=>[r("p",mt,[a($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("veo.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",vt,[a($,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(h,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",ft,[a($,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===!1?(t(),i("div",_t,[a(S,{closable:!1,class:"failure"},{template:p(()=>[a($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[r("p",ht,[a($,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(h,{content:e.modelValue?.id},null,8,["content"])]),r("p",$t,[a($,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("veo.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),a(h,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(t(),i("p",gt,[a($,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("veo.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):d("",!0),e.modelValue?.response?.trace_id?(t(),i("p",bt,[a($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(h,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0),e.modelValue?.response?.success===void 0?(t(),i("div",kt,[a(S,{closable:!1,class:"info"},{template:p(()=>[a($,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("veo.name.failure")),1)]),default:p(()=>[r("p",yt,[a($,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("veo.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),a(h,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(t(),i("p",Vt,[a($,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("veo.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),a(h,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):d("",!0)]),_:1})])):d("",!0)])])}const Et=k(et,[["render",wt],["__scopeId","data-v-83f2991f"]]),It=b({name:"RecentPanel",components:{TaskPreview:Et,NoTasks:be,BotPlaceholder:ge,ScrollList:le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Tt={key:0},St={key:2,class:"w-full h-full flex items-center justify-center"};function At(e,o,v,f,y,V){const c=n("bot-placeholder"),u=n("task-preview"),s=n("scroll-list"),w=n("no-tasks");return t(),i(E,null,[e.tasks?.items===void 0?(t(),i("div",Tt,[a(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(t(),m(s,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=$=>e.$emit("reach-top"))},{default:p(()=>[(t(!0),i(E,null,T(e.tasks?.items,($,h)=>(t(),m(u,{key:h,"model-value":$},null,8,["model-value"]))),128))]),_:1},8,["loading"])):d("",!0),e.tasks?.items?.length===0?(t(),i("div",St,[a(w)])):d("",!0)],64)}const Ct=k(It,[["render",At]]),Ot="https://webhook.acedata.cloud/veo",Pt=b({name:"VeoIndex",components:{ConfigPanel:xo,Layout:Te,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ke({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("veo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("veo/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:v,createdAtMax:f}=e||{};console.debug("limit",o,"createdAtMin",v,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("veo/getTasks",{limit:o,createdAtMin:v,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Ot},o=this.credential?.token;if(!o){console.error("no token specified");return}if(e.action==="image2video"&&!(e.image_urls&&e.image_urls.length>0)){I.warning(this.$t("veo.message.imageRequired"));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,I.info(this.$t("veo.message.startingTask")),K("veo",ve.generate(e,{token:o})).then(()=>{I.success(this.$t("veo.message.startTaskSuccess"))}).catch(v=>{v?.response?.data?.error?.code===me?I.error(this.$t("veo.message.usedUp")):I.error(this.$t("veo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,o,v,f,y,V){const c=n("config-panel"),u=n("recent-panel"),s=n("layout");return t(),m(s,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:p(()=>[a(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ss=k(Pt,[["render",Ut]]);export{Ss as default};
@@ -1 +0,0 @@
1
- import{F as L}from"./index.es-DkM2OF-9.js";import{E as D}from"./index-DNJ0Deds.js";import{E as N}from"./index-BP_sbpCK.js";import{d as b,H as r,E as i,z as U,C as o,y as u,D as s,q as a,F as l,O as V,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as H}from"./vendor-vue-NSDaktjZ.js";import{E as k,b7 as W,cd as Z,aw as G}from"./index-Bti47OvL.js";import{a as P,b as z,c as S,d as M,e as J,f as Q,g as Y,h as X,i as x}from"./sora-Dyuoglk1.js";import{E as C,a as R}from"./index-BZTdivI9.js";import{p as ee}from"./pasteUploadMixin-BurWbGNQ.js";import{I as F,S as te}from"./ScrollList-WqruYG0f.js";import{I as oe}from"./ImagePreview-DZPTnmBT.js";import{E as se}from"./index-CDj4oGhc.js";import{E as T}from"./index-BQ7zd-Q3.js";import{C as ae}from"./Consumption-BEd757XD.js";import{E as ne}from"./index-COsB5e28.js";import{a as le}from"./price-CT1CtNhJ.js";import{b as re}from"./errorCode-Cqj9Td_Z.js";import{s as ie}from"./sora-DMKv1bNU.js";import{C as ce}from"./CopyToClipboard-BOQ-Zpxe.js";import{V as de}from"./VideoPlayer-QZYuahlJ.js";import{E as ue}from"./index-gY0_GLnY.js";import{E as pe}from"./index-DutrdntU.js";import{E as me}from"./index-0EOEDiT5.js";import{B as fe}from"./BotPlaceholder-C_IGBMvq.js";import{N as _e}from"./NoTasks-Cb8ntRPy.js";import{l as he}from"./pagination-Cnc6Oeyx.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-t4Oimm-h.js";import"./typescript-2au3Mu9J.js";import"./index-CbDuQQJI.js";import"./strings-beZM2Y-f.js";import"./isEqual-CXlvduGT.js";import"./_Uint8Array-a5wCK152.js";import"./castArray-DzT6pvlU.js";import"./debounce-B74p5Dx9.js";import"./_baseIteratee-DtAKlqKl.js";import"./index-DmqdsYe_.js";import"./index-B8cqf9M7.js";import"./_baseClone-JK1xFj5u.js";import"./_initCloneObject-UCIzaue4.js";import"./index-CgUi3x9C.js";import"./vue-plyr-BO2nlN4c.js";import"./index-iGAJ0EBY.js";const $e=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},ve={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ke(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",ge,[i("div",ve,[U(e.$slots,"config",{},void 0,!0)]),i("div",be,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const we=k($e,[["render",ke],["__scopeId","data-v-2dca3c13"]]),ye=b({name:"ModelSelector",components:{ElSelect:R,ElOption:C},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:J,label:"sora-2"},{value:Q,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),Se={class:"field"},Ve={class:"title font-bold"};function Ee(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Se,[i("h2",Ve,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Te=k(ye,[["render",Ee],["__scopeId","data-v-0cb7913d"]]),Ie=b({name:"ActionSelector",components:{ElSelect:R,ElOption:C},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=Y)}}),Ae={class:"field"},Le={class:"title font-bold"},De={class:"float-left"};function Ce(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ae,[i("h2",Le,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},{default:u(()=>[i("span",De,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=k(Ie,[["render",Ce],["__scopeId","data-v-7b82fa7f"]]),Oe=b({name:"DurationSelector",components:{ElSelect:R,ElOption:C},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Ue={class:"field"},Ge={class:"control"},Pe={class:"title font-bold"};function ze(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ue,[i("div",Ge,[i("h2",Pe,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.optionsForModel,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Me=k(Oe,[["render",ze],["__scopeId","data-v-c2934598"]]),Fe=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=X)}}),Be={class:"text-sm font-bold mb-2 block"},je={class:"items"},Ne=["onClick"],qe={class:"name"};function Ke(e,t,p,m,g,v){return a(),r("div",null,[i("span",Be,l(e.$t("sora.name.orientation")),1),i("div",je,[(a(!0),r(V,null,A(e.options,(c,d)=>(a(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:I(["preview",c.value])},[i("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",qe,l(e.$t(c.labelKey)),1)],10,Ne))),128))])])}const He=k(Fe,[["render",Ke],["__scopeId","data-v-a20be6d9"]]),We=b({name:"StartEndImage",components:{ElUpload:se,ElButton:D,InfoIcon:F,FontAwesomeIcon:L,ImagePreview:oe},mixins:[ee],emits:["change"],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ze={class:"relative"},Je={class:"flex justify-between"},Qe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Xe(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return a(),r("div",Ze,[i("div",Je,[i("div",Qe,[i("span",Ye,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(a(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const xe=k(We,[["render",Xe],["__scopeId","data-v-a942382b"]]),et=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),tt=b({name:"SizeSelector",components:{ElSelect:R,ElOption:C},data(){return{options:x.map(e=>({value:e,label:et(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),ot={class:"field"},st={class:"control"},at={class:"title font-bold"};function nt(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",ot,[i("div",st,[i("h2",at,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const lt=k(tt,[["render",nt],["__scopeId","data-v-8c485f0f"]]),rt="",it=b({name:"PromptInput",components:{ElInput:ne,InfoIcon:F},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=rt)}}),ct={class:"field"},dt={class:"box"},ut={class:"title font-bold"};function pt(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return a(),r("div",ct,[i("div",dt,[i("h2",ut,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const mt=k(it,[["render",pt],["__scopeId","data-v-a57633d5"]]),ft=b({name:"ConfigPanel",components:{ElButton:D,Consumption:ae,FontAwesomeIcon:L,PromptInput:mt,ModelSelector:Te,StartEndImage:xe,SizeSelector:lt,ActionSelector:Re,OrientationSelector:He,DurationSelector:Me},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return le(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),_t={class:"flex flex-col h-full"},ht={class:"flex-1 overflow-y-auto p-5"},$t={class:"flex flex-col items-center justify-center px-5 pb-5"};function gt(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),j=s("el-button");return a(),r("div",_t,[i("div",ht,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(E,{class:"mb-2"},null,512),[[H,e.config?.action==="image2video"]])]),i("div",$t,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const vt=k(ft,[["render",gt]]),bt=b({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ce,FontAwesomeIcon:L,ElAlert:pe,VideoPlayer:de,ElTooltip:ue,ElButton:D},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),kt={class:"preview"},wt={class:"left"},yt={class:"main"},St={class:"bot"},Vt={class:"datetime"},Et={class:"info"},Tt={key:0,class:"prompt mt-2"},It={key:0},At={key:1},Lt={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Ct={key:1,class:I({operations:!0,"mt-2":!0})},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Gt={key:1,class:I({content:!0})},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Bt={key:2,class:I({content:!0})},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function qt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),n=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",kt,[i("div",wt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",yt,[i("div",St,[h(l(e.$t("sora.name.soraBot"))+" ",1),i("span",Vt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Et,[e.modelValue?.request?.prompt?(a(),r("p",Tt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),r("span",It," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",At," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Lt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(a(),r("div",Ct,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),y(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:u(()=>[i("p",Rt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Ot,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ut,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Gt,[o(E,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",Pt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),i("p",zt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Mt,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Ft,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",Bt,[o(E,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",jt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Kt=k(bt,[["render",qt],["__scopeId","data-v-fa5225eb"]]),Ht=b({name:"RecentPanel",components:{TaskPreview:Kt,NoTasks:_e,BotPlaceholder:fe,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},Zt={key:2,class:"w-full h-full flex items-center justify-center"};function Jt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),w=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Wt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),y(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(V,null,A(e.tasks?.items,(_,f)=>(a(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(a(),r("div",Zt,[o(w)])):$("",!0)],64)}const Qt=k(Ht,[["render",Jt]]),Yt="https://webhook.acedata.cloud/sora",Xt=b({name:"SoraIndex",components:{ConfigPanel:vt,Layout:we,RecentPanel:Qt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await he({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Yt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),Z("sora",ie.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===re?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),y(n,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Wo=k(Xt,[["render",xt]]);export{Wo as default};
@@ -1 +0,0 @@
1
- import{F as U}from"./index.es-DkM2OF-9.js";import{E as L}from"./index-DNJ0Deds.js";import{E as q}from"./index-BP_sbpCK.js";import{d as b,H as c,E as n,z as C,C as t,y as m,D as s,q as a,F as l,I as h,x as v,J as f,M,Q as T,O as F,N as H}from"./vendor-vue-NSDaktjZ.js";import{E as w,b7 as j,cd as J,aw as z}from"./index-Bti47OvL.js";import{a as K,b as Q,c as x}from"./luma-DcySqBv2.js";import{I as S,S as W}from"./ScrollList-WqruYG0f.js";import{E as R}from"./index-DXevThxR.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as D}from"./ImagePreview-DZPTnmBT.js";import{E as A}from"./index-CDj4oGhc.js";import{E}from"./index-BQ7zd-Q3.js";import{F as X}from"./FilePreview-BPuB0Ku4.js";import{E as Y}from"./index-COsB5e28.js";import{V as O}from"./VideoPlayer-QZYuahlJ.js";import{C as Z}from"./Consumption-BEd757XD.js";import{a as ee}from"./price-CT1CtNhJ.js";import{b as te}from"./errorCode-Cqj9Td_Z.js";import{l as oe}from"./luma-UDDJf5GR.js";import{C as se}from"./CopyToClipboard-BOQ-Zpxe.js";import{E as ne}from"./index-gY0_GLnY.js";import{E as ae}from"./index-DutrdntU.js";import{E as le}from"./index-0EOEDiT5.js";import{B as ie}from"./BotPlaceholder-C_IGBMvq.js";import{N as re}from"./NoTasks-Cb8ntRPy.js";import{l as ce}from"./pagination-Cnc6Oeyx.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./validator-DqeyweMw.js";import"./index-CbDuQQJI.js";import"./index-B8cqf9M7.js";import"./typescript-2au3Mu9J.js";import"./_baseClone-JK1xFj5u.js";import"./_Uint8Array-a5wCK152.js";import"./_initCloneObject-UCIzaue4.js";import"./isEqual-CXlvduGT.js";import"./index-CgUi3x9C.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-B74p5Dx9.js";import"./index-iGAJ0EBY.js";const me=b({name:"LayoutLuma",components:{ElDrawer:q,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={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 fe(e,o,_,$,k,y){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return a(),c("div",de,[n("div",ue,[C(e.$slots,"config",{},void 0,!0)]),n("div",pe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=g=>e.drawer=!0)},{default:m(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(d,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:m(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=w(me,[["render",fe],["__scopeId","data-v-7be1f25b"]]),he=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=K)}}),$e={class:"relative"},ge={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ke(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",$e,[n("div",ge,[n("div",ve,[n("span",be,l(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",we,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const ye=w(he,[["render",ke]]),Ee=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),Ve={class:"relative"},Se={class:"flex justify-between"},Ue={class:"flex justify-start items-center"},Le={class:"text-sm font-bold"},Ie={class:"flex justify-end items-center"};function Te(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Ve,[n("div",Se,[n("div",Ue,[n("span",Le,l(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ie,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ce=w(Ee,[["render",Te]]),je=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=x)}}),Re={class:"relative"},Ae={class:"flex justify-between"},Ge={class:"flex justify-start items-center"},Pe={class:"text-sm font-bold"},Me={class:"flex justify-end items-center"};function Fe(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Re,[n("div",Ae,[n("div",Ge,[n("span",Pe,l(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Me,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const ze=w(je,[["render",Fe]]),Be=b({name:"EndImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),De={class:"relative"},Oe={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},qe={class:"text-sm font-bold"};function He(e,o,_,$,k,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",De,[n("div",Oe,[n("div",Ne,[n("span",qe,l(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.url&&i.percentage!==void 0?(a(),v(u,{key:0,url:i.url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Je=w(Be,[["render",He],["__scopeId","data-v-7a787b4d"]]),Ke=b({name:"StartImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Qe={class:"relative"},xe={class:"flex justify-between"},We={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"};function Ye(e,o,_,$,k,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",Qe,[n("div",xe,[n("div",We,[n("span",Xe,l(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ze=w(Ke,[["render",Ye],["__scopeId","data-v-8c5cfe84"]]),et=b({name:"UploadVideo",components:{ElUpload:A,ElButton:L,InfoIcon:S,FilePreview:X,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",_=e.size/1024/1024<10;return o?_?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),tt={class:"relative"},ot={class:"flex justify-between"},st={class:"flex justify-start items-center"},nt={class:"text-sm font-bold"};function at(e,o,_,$,k,y){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",tt,[n("div",ot,[n("div",st,[n("span",nt,l(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t(p,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response?.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const lt=w(et,[["render",at],["__scopeId","data-v-74e51526"]]),it="",rt=b({name:"PromptInput",components:{ElInput:Y,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=it)}}),ct={class:"field"},mt={class:"box"},dt={class:"title font-bold"};function ut(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-input");return a(),c("div",ct,[n("div",mt,[n("h2",dt,l(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=w(rt,[["render",ut],["__scopeId","data-v-281baab8"]]),ft=b({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),_t={class:"relative"},ht={class:"flex mb-2"},$t={class:"text-sm font-bold"};function gt(e,o,_,$,k,y){const r=s("video-player");return a(),c("div",_t,[n("div",ht,[n("span",$t,l(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const vt=w(ft,[["render",gt]]),bt=b({name:"ConfigPanel",components:{LoopSelector:ze,StartImageInput:Ze,EndImageInput:Je,EnhancementSelector:ye,ElButton:L,FontAwesomeIcon:U,PromptInput:pt,ExtendFromInput:vt,CustomSelector:Ce,UploadVideo:lt,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),wt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},yt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Et(e,o,_,$,k,y){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),g=s("upload-video"),p=s("start-image-input"),i=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),N=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),c("div",wt,[n("div",kt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):f("",!0),t(u,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),v(d,{key:1,class:"mb-4"})),e.config?.custom?(a(),v(g,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(p,{key:3,class:"mb-4"})):f("",!0),t(i,{class:"mb-4"}),t(V,{class:"mb-4"}),t(I,{class:"mb-4"})]),n("div",yt,[t(N,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const Vt=w(bt,[["render",Et]]),St=b({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:U,ElAlert:ae,VideoPlayer:O,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Ut={class:"preview"},Lt={class:"left"},It={class:"main"},Tt={class:"bot"},Ct={class:"datetime"},jt={class:"info"},Rt={key:0,class:"prompt mt-2"},At={key:0},Gt={key:1},Pt={key:0,class:T({content:!0,failed:!0})},Mt={key:0,class:"mb-4"},Ft={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Dt={key:1,class:T({content:!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Jt={key:2,class:T({content:!0})},Kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Qt(e,o,_,$,k,y){const r=s("el-image"),u=s("video-player"),d=s("el-button"),g=s("el-tooltip"),p=s("font-awesome-icon"),i=s("copy-to-clipboard"),V=s("el-alert");return a(),c("div",Ut,[n("div",Lt,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",It,[n("div",Tt,[h(l(e.$t("luma.name.lumaBot"))+" ",1),n("span",Ct,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",jt,[e.modelValue?.request?.prompt?(a(),c("p",Rt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),c("span",At," - ("+l(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("span",Gt," - ("+l(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",Pt,[e.modelValue.response.video_url?(a(),c("div",Mt,[t(u,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),c("div",Ft,[t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:m(()=>[n("p",zt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Bt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),c("div",Dt,[t(V,{closable:!1,class:"failure"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Ot,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),n("p",Nt,[t(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("luma.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",qt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),n("p",Ht,[t(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("luma.name.traceId"))+": "+l(e.modelValue?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("div",Jt,[t(V,{closable:!1,class:"info"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Kt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const xt=w(St,[["render",Qt],["__scopeId","data-v-bcbb3d1c"]]),Wt=b({name:"RecentPanel",components:{BotPlaceholder:ie,TaskPreview:xt,NoTasks:re,ScrollList:W},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Yt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,o,_,$,k,y){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),g=s("no-tasks");return a(),c(F,null,[e.tasks?.items===void 0?(a(),c("div",Xt,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:o[1]||(o[1]=p=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),c(F,null,H(e.tasks?.items,p=>(a(),v(u,{key:p.id,"model-value":p,onExtend:o[0]||(o[0]=i=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(a(),c("div",Yt,[t(g)])):f("",!0)],64)}const eo=w(Wt,[["render",Zt]]),to="https://webhook.acedata.cloud/luma",oo=b({name:"LumaIndex",components:{ConfigPanel:Vt,Layout:_e,RecentPanel:eo},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:_,createdAtMax:$}=e||{};console.debug("limit",o,"createdAtMin",_,"createdAtMax",$),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:_,createdAtMax:$})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:to},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J("luma",oe.generate(e,{token:o})).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===te?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function so(e,o,_,$,k,y){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return a(),v(d,null,{config:m(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Qo=w(oo,[["render",so]]);export{Qo as default};
@@ -1 +0,0 @@
1
- import{F as C}from"./index.es-DkM2OF-9.js";import{E as T}from"./index-DNJ0Deds.js";import{E as M}from"./index-BP_sbpCK.js";import{d as w,H as r,E as c,z as U,C as t,y as d,D as o,q as s,F as l,O as I,N as S,x as $,I as f,J as m,M as O,Q as L}from"./vendor-vue-NSDaktjZ.js";import{E as v,b7 as j,cd as B,aw as D}from"./index-Bti47OvL.js";import{a as F,b as N}from"./wan-DKq-jYOo.js";import{E as R,a as G}from"./index-BZTdivI9.js";import{p as q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as z}from"./ScrollList-WqruYG0f.js";import{I as W}from"./ImagePreview-DZPTnmBT.js";import{E as H}from"./index-CDj4oGhc.js";import{E as V}from"./index-BQ7zd-Q3.js";import{E as J}from"./index-COsB5e28.js";import{C as K}from"./Consumption-BEd757XD.js";import{a as Q}from"./price-CT1CtNhJ.js";import{b as X}from"./errorCode-Cqj9Td_Z.js";import{w as Y}from"./wan-BB0GmTnO.js";import{C as Z}from"./CopyToClipboard-BOQ-Zpxe.js";import{V as x}from"./VideoPlayer-QZYuahlJ.js";import{E as ee}from"./index-gY0_GLnY.js";import{E as te}from"./index-DutrdntU.js";import{E as oe}from"./index-0EOEDiT5.js";import{B as se}from"./BotPlaceholder-C_IGBMvq.js";import{N as ne}from"./NoTasks-Cb8ntRPy.js";import{l as ae}from"./pagination-Cnc6Oeyx.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-t4Oimm-h.js";import"./typescript-2au3Mu9J.js";import"./index-CbDuQQJI.js";import"./strings-beZM2Y-f.js";import"./isEqual-CXlvduGT.js";import"./_Uint8Array-a5wCK152.js";import"./castArray-DzT6pvlU.js";import"./debounce-B74p5Dx9.js";import"./_baseIteratee-DtAKlqKl.js";import"./index-DmqdsYe_.js";import"./index-B8cqf9M7.js";import"./_baseClone-JK1xFj5u.js";import"./_initCloneObject-UCIzaue4.js";import"./index-CgUi3x9C.js";import"./vue-plyr-BO2nlN4c.js";import"./index-iGAJ0EBY.js";const le=w({name:"LayoutWan",components:{ElDrawer:M,ElButton:T,FontAwesomeIcon:C},data(){return{drawer:!1}}}),re={class:"main flex flex-row flex-1"},ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ce={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function de(e,n,h,_,b,k){const u=o("font-awesome-icon"),p=o("el-button"),a=o("el-drawer");return s(),r("div",re,[c("div",ie,[U(e.$slots,"config",{},void 0,!0)]),c("div",ce,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:n[0]||(n[0]=g=>e.drawer=!0)},{default:d(()=>[t(u,{icon:"fa-solid fa-magic"})]),_:1}),t(a,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ue=v(le,[["render",de],["__scopeId","data-v-98681d9b"]]),pe=w({name:"ModelSelector",components:{ElSelect:G,ElOption:R},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=F)}}),me={class:"field"},fe={class:"title font-bold"},he={class:"float-left"};function _e(e,n,h,_,b,k){const u=o("el-option"),p=o("el-select");return s(),r("div",me,[c("h2",fe,l(e.$t("wan.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=a=>e.value=a),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(s(!0),r(I,null,S(e.options,a=>(s(),$(u,{key:a.value,label:a.label,value:a.value},{default:d(()=>[c("span",he,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ge=v(pe,[["render",_e],["__scopeId","data-v-eb090beb"]]),$e="720p",we=w({name:"ResolutionSelector",components:{ElSelect:G,ElOption:R},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=$e)}}),ve={class:"field"},be={class:"title font-bold"},ke={class:"float-left"};function ye(e,n,h,_,b,k){const u=o("el-option"),p=o("el-select");return s(),r("div",ve,[c("h2",be,l(e.$t("wan.name.resolution")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=a=>e.value=a),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(s(!0),r(I,null,S(e.options,a=>(s(),$(u,{key:a.value,label:a.label,value:a.value},{default:d(()=>[c("span",ke,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ve=v(we,[["render",ye],["__scopeId","data-v-3e39f44e"]]),Ee=5,Ie=w({name:"DurationSelector",components:{ElSelect:G,ElOption:R},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ee)}}),Te={class:"field"},Se={class:"title font-bold"},Le={class:"float-left"};function Ue(e,n,h,_,b,k){const u=o("el-option"),p=o("el-select");return s(),r("div",Te,[c("h2",Se,l(e.$t("wan.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=a=>e.value=a),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(s(!0),r(I,null,S(e.options,a=>(s(),$(u,{key:a.value,label:a.label,value:a.value},{default:d(()=>[c("span",Le,l(a.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ce=v(Ie,[["render",Ue],["__scopeId","data-v-5f35a2cf"]]),Re=w({name:"ImageUrlInput",components:{ElUpload:H,ElButton:T,InfoIcon:P,ImagePreview:W},mixins:[q],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t("wan.message.uploadImageExceed"))},onError(){V.error(this.$t("wan.message.uploadImageError"))},async onRemove(){V.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Ge={class:"relative"},Ae={class:"flex justify-between"},De={class:"flex justify-start items-center"},Pe={class:"text-sm font-bold"};function Me(e,n,h,_,b,k){const u=o("info-icon"),p=o("image-preview"),a=o("el-button"),g=o("el-upload");return s(),r("div",Ge,[c("div",Ae,[c("div",De,[c("span",Pe,l(e.$t("wan.name.imageUrl")),1),t(u,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:i})=>[i.url&&i.percentage!==void 0?(s(),$(p,{key:0,url:i.url,name:i.name,percentage:i.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(a,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[f(l(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const Oe=v(Re,[["render",Me],["__scopeId","data-v-c9ebe1b1"]]),je="",Be=w({name:"PromptInput",components:{ElInput:J,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),Fe={class:"field"},Ne={class:"box"},qe={class:"title font-bold"};function ze(e,n,h,_,b,k){const u=o("info-icon"),p=o("el-input");return s(),r("div",Fe,[c("div",Ne,[c("h2",qe,l(e.$t("wan.name.prompt")),1),t(u,{content:e.$t("wan.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const We=v(Be,[["render",ze],["__scopeId","data-v-45557a2d"]]),He=w({name:"PresetPanel",components:{ElButton:T,FontAwesomeIcon:C,PromptInput:We,ImageUrlInput:Oe,ModelSelector:ge,ResolutionSelector:Ve,DurationSelector:Ce,Consumption:K},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,n,h,_,b,k){const u=o("prompt-input"),p=o("model-selector"),a=o("resolution-selector"),g=o("duration-selector"),i=o("image-url-input"),y=o("consumption"),E=o("font-awesome-icon"),A=o("el-button");return s(),r("div",Je,[c("div",Ke,[t(u,{class:"mb-4"}),t(p,{class:"mb-4"}),e.supportsResolution?(s(),$(a,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(s(),$(g,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(s(),$(i,{key:2,class:"mb-2"})):m("",!0)]),c("div",Qe,[t(y,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+l(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=v(He,[["render",Xe]]),Ze=w({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:C,ElAlert:te,VideoPlayer:x,ElTooltip:ee,ElButton:T},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:N}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),xe={class:"preview"},et={class:"left"},tt={class:"main"},ot={class:"bot"},st={class:"datetime"},nt={class:"info"},at={key:0,class:"prompt mt-2"},lt={key:0},rt={key:1},it={key:0,class:L({content:!0,failed:!0})},ct={key:0,class:"mb-4"},dt={key:1,class:L({operations:!0,"mt-2":!0})},ut={key:0,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:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ft={key:1,class:L({content:!0})},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wt={key:2,class:L({content:!0})},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function bt(e,n,h,_,b,k){const u=o("el-image"),p=o("video-player"),a=o("el-button"),g=o("el-tooltip"),i=o("font-awesome-icon"),y=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",xe,[c("div",et,[t(u,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),c("div",tt,[c("div",ot,[f(l(e.$t("wan.name.wanBot"))+" ",1),c("span",st,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",nt,[e.modelValue?.request?.prompt?(s(),r("p",at,[f(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),r("span",lt," - ("+l(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",rt," - ("+l(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",it,[e.modelValue?.response?.video_url?(s(),r("div",ct,[t(p,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(s(),r("div",dt,[t(g,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:d(()=>[t(a,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=O(A=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:d(()=>[f(l(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"])])):m("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(s(),r("p",ut,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+l(e.$t("wan.name.model"))+": "+l(e.modelValue?.request?.model)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),c("p",pt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",mt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+l(e.$t("wan.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),r("div",ft,[t(E,{closable:!1,class:"failure"},{template:d(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[c("p",ht,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),c("p",_t,[t(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+l(e.$t("wan.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",gt,[t(i,{icon:"fa-solid fa-clock",class:"mr-1"}),f(" "+l(e.$t("wan.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),c("p",$t,[t(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+l(e.$t("wan.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",wt,[t(E,{closable:!1,class:"info"},{template:d(()=>[t(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[c("p",vt,[t(i,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const kt=v(Ze,[["render",bt],["__scopeId","data-v-6d1d636e"]]),yt=w({name:"RecentPanel",components:{TaskPreview:kt,BotPlaceholder:se,NoTasks:ne,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Vt={key:0},Et={key:2,class:"w-full h-full flex items-center justify-center"};function It(e,n,h,_,b,k){const u=o("bot-placeholder"),p=o("task-preview"),a=o("scroll-list"),g=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",Vt,[t(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(a,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=i=>e.$emit("reach-top"))},{default:d(()=>[(s(!0),r(I,null,S(e.tasks?.items,i=>(s(),$(p,{key:i.id,"model-value":i},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),r("div",Et,[t(g)])):m("",!0)],64)}const Tt=v(yt,[["render",It]]),St="https://webhook.acedata.cloud/wan",Lt=w({name:"WanIndex",components:{ConfigPanel:Ye,Layout:ue,RecentPanel:Tt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:n=5,createdAtMin:h,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",h,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:h,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:St},n=this.credential?.token;if(!n){console.error("no token specified");return}V.info(this.$t("wan.message.startingTask")),B("wan",Y.generate(e,{token:n})).then(()=>{V.success(this.$t("wan.message.startTaskSuccess"))}).catch(h=>{h?.response?.data?.error?.code===X?V.error(this.$t("wan.message.usedUp")):V.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ut(e,n,h,_,b,k){const u=o("config-panel"),p=o("recent-panel"),a=o("layout");return s(),$(a,null,{config:d(()=>[t(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Vo=v(Lt,[["render",Ut]]);export{Vo as default};
@@ -1 +0,0 @@
1
- import{F as S}from"./index.es-DkM2OF-9.js";import{E as q}from"./index-DNJ0Deds.js";import{E as W}from"./index-BP_sbpCK.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as g,M as H,Q as O}from"./vendor-vue-NSDaktjZ.js";import{E as y,b7 as K,cq as J,cr as x,cs as P,ct as Q,cu as T,cv as G,cw as j,cx as D,cd as X,aw as F}from"./index-Bti47OvL.js";import{I as U,S as Y}from"./ScrollList-WqruYG0f.js";import{E as Z}from"./index-COsB5e28.js";import{p as ee}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-DZPTnmBT.js";import{E as te}from"./index-CDj4oGhc.js";import{E as R}from"./index-BQ7zd-Q3.js";import{E as B,a as M}from"./index-BZTdivI9.js";import{C as oe}from"./Consumption-BEd757XD.js";import{a as ae}from"./price-CT1CtNhJ.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{n as se}from"./nanobanana-DdgZPViA.js";import{C as le}from"./CopyToClipboard-BOQ-Zpxe.js";import{I as re}from"./ImageWrapper-CdB5Q-Ka.js";import{E as ie}from"./index-gY0_GLnY.js";import{E as ce}from"./index-DutrdntU.js";import{E as ue}from"./index-0EOEDiT5.js";import{B as de}from"./BotPlaceholder-C_IGBMvq.js";import{N as me}from"./NoTasks-Cb8ntRPy.js";import"./use-form-item-Clq-JJlb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-2au3Mu9J.js";import"./index-CbDuQQJI.js";import"./index-CgUi3x9C.js";import"./index-B8cqf9M7.js";import"./_baseClone-JK1xFj5u.js";import"./_Uint8Array-a5wCK152.js";import"./_initCloneObject-UCIzaue4.js";import"./isEqual-CXlvduGT.js";import"./index-t4Oimm-h.js";import"./strings-beZM2Y-f.js";import"./castArray-DzT6pvlU.js";import"./debounce-B74p5Dx9.js";import"./_baseIteratee-DtAKlqKl.js";import"./index-DmqdsYe_.js";import"./index-iGAJ0EBY.js";const pe=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),fe={class:"main flex flex-row flex-1"},he={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 ge(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",fe,[c("div",he,[C(e.$slots,"config",{},void 0,!0)]),c("div",_e,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=y(pe,[["render",ge],["__scopeId","data-v-9fbc8a5c"]]),$e="",ve=k({name:"PromptInput",components:{ElInput:Z,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=$e)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ae(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ke,[c("div",ye,[c("h2",we,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ve=y(ve,[["render",Ae],["__scopeId","data-v-2331e197"]]),Ne=k({name:"ImageUrlsInput",components:{ElUpload:te,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:S},mixins:[ee],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const d=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);d?t.push(d):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),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(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ee={class:"field flex items-center justify-between"},Re={class:"title font-bold text-[14px] mb-[10px]"},Ie={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Le={class:"controls flex items-center"},Te={class:"file-list flex flex-wrap gap-[10px]"};function Se(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ee,[c("h2",Re,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Ie,[c("div",Le,[o(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),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:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Te,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),V(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=y(Ne,[["render",Se]]),Oe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Ue={class:"field"},Ce={class:"title font-bold"};function Pe(e,t,b,i,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Ue,[c("h2",Ce,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Be=y(Oe,[["render",Pe],["__scopeId","data-v-67f08a08"]]),Me=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Ge={class:"field"},je={class:"label"},De={class:"box"},Fe={class:"title font-bold"};function xe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Ge,[c("div",je,[c("div",De,[c("h2",Fe,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ze=y(Me,[["render",xe],["__scopeId","data-v-94304d73"]]),We=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),He={class:"field"},Ke={class:"label"},Je={class:"box"},Qe={class:"title font-bold"};function Xe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",He,[c("div",Ke,[c("div",Je,[c("h2",Qe,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Ye=y(We,[["render",Xe],["__scopeId","data-v-fd5ab393"]]),Ze=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ve,Consumption:oe,ImageUrlsInput:qe,AspectRatioSelector:Be,ModelSelector:ze,ResolutionSelector:Ye},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ae({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),et={class:"flex flex-col h-full"},tt={class:"flex-1 overflow-y-auto p-5"},ot={class:"flex flex-col items-center justify-center px-5 pb-5"};function at(e,t,b,i,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",et,[c("div",tt,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",ot,[o(r,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const nt=y(Ze,[["render",at]]),st=k({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:le,FontAwesomeIcon:S,ElAlert:ce,ImageWrapper:re,ElButton:q,ElTooltip:ie,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),lt={class:"preview"},rt={class:"left"},it={class:"main"},ct={class:"bot"},ut={class:"datetime"},dt={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},pt={key:1,class:"prompt mt-2"},ft={key:0},ht={key:0,class:O({content:!0,failed:!0})},_t={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},gt={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Vt={key:1,class:O({content:!0})},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:2,class:O({content:!0})},Ut={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Gt(e,t,b,i,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",lt,[c("div",rt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",it,[c("div",ct,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ut,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",dt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):g("",!0),e.modelValue?.request?.prompt?(n(),l("p",pt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(n(),l("span",ft," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):g("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ht,[c("div",_t,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",gt,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",bt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",$t,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",vt,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",kt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",yt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",wt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",At,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):g("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Vt,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Nt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Et,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Rt,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",It,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",Lt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Tt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",St,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",qt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):g("",!0)]),_:1})])):(n(),l("div",Ot,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Ut,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ct,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Pt,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Bt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",Mt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const jt=y(st,[["render",Gt],["__scopeId","data-v-8d5f4fff"]]),Dt=k({name:"RecentPanel",components:{TaskPreview:jt,BotPlaceholder:de,NoTasks:me,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ft={key:0},xt={key:2,class:"w-full h-full flex items-center justify-center"};function zt(e,t,b,i,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Ft,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(n(),l("div",xt,[o(p)])):g("",!0)],64)}const Wt=y(Dt,[["render",zt]]),Ht="https://webhook.acedata.cloud/nanobanana",Kt=k({name:"NanobananaIndex",components:{ConfigPanel:nt,Layout:be,RecentPanel:Wt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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:b,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const b={...e,action:t?"edit":"generate",callback_url:Ht},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",se.generate(b,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===ne?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Jt(e,t,b,i,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Go=y(Kt,[["render",Jt]]);export{Go as default};