@acedatacloud/nexior 3.253.1 → 3.255.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 (281) hide show
  1. package/dist/assets/{ApiCodeButton-Drq1wo0T.js → ApiCodeButton-DqTuCryR.js} +1 -1
  2. package/dist/assets/{Auth-CZ1D5LGg.js → Auth-CaUv8GT7.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-Bb3okszP.js → BotPlaceholder-xpsKXt0P.js} +1 -1
  4. package/dist/assets/{Callback-DQYu2lmO.js → Callback-s1CTmMse.js} +1 -1
  5. package/dist/assets/{Console-BBcDMeyv.js → Console-BbgaCMM5.js} +1 -1
  6. package/dist/assets/{Consumption-Bx3U0iJn.js → Consumption-CpH3KfFv.js} +1 -1
  7. package/dist/assets/{Conversation-rw_jqpk1.js → Conversation-CVVFQLLv.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-ffsw6Et3.js → CopyToClipboard-CZv5BP7B.js} +1 -1
  9. package/dist/assets/Detail-DYaY9_OW.js +2 -0
  10. package/dist/assets/{Extra-BthcFzYT.js → Extra-tbli3Pnt.js} +1 -1
  11. package/dist/assets/{FilePreview-SrSnDMh6.js → FilePreview-DWf_R-Z4.js} +1 -1
  12. package/dist/assets/{Hailuo-DJhW5ZsC.js → Hailuo-Ca6pOxJe.js} +1 -1
  13. package/dist/assets/{History-ExPfxYZ0.js → History-DkedzC3a.js} +1 -1
  14. package/dist/assets/{ImagePreview-BKe9oBpc.js → ImagePreview-BX_sHHDN.js} +1 -1
  15. package/dist/assets/{ImageWrapper-DzNRJvY4.js → ImageWrapper-DN_5eVGU.js} +1 -1
  16. package/dist/assets/{Index-Bcky52n4.js → Index--dfj5vd1.js} +1 -1
  17. package/dist/assets/{Index-tnhMyV8C.js → Index--tnVCPxR.js} +1 -1
  18. package/dist/assets/{Index-CmSKAh7m.js → Index-4uSXPw7p.js} +1 -1
  19. package/dist/assets/{Index-BUgPSlDC.js → Index-8lfCdU1j.js} +1 -1
  20. package/dist/assets/{Index-Cqt0TDzx.js → Index-B118IEjm.js} +1 -1
  21. package/dist/assets/{Index-Cpf9Sg77.js → Index-B95QJvMZ.js} +1 -1
  22. package/dist/assets/{Index-CbfQnEXB.js → Index-BDB6WW6f.js} +1 -1
  23. package/dist/assets/{Index-DUSxOyea.js → Index-Bain-D7h.js} +1 -1
  24. package/dist/assets/{Index-Czuez0uY.js → Index-CEnhnlXI.js} +1 -1
  25. package/dist/assets/{Index-D8Z9QaVn.js → Index-CSl7cwDw.js} +1 -1
  26. package/dist/assets/{Index-Ve8jfyOn.js → Index-CrNuM-lN.js} +1 -1
  27. package/dist/assets/{Index-B0phzJBq.js → Index-Cw65p7je.js} +1 -1
  28. package/dist/assets/{Index--3ynTuu6.js → Index-D0rt9Tkm.js} +1 -1
  29. package/dist/assets/{Index-BojlkX3h.js → Index-D1fRP2ei.js} +1 -1
  30. package/dist/assets/{Index-C6HmT5fE.js → Index-D6rkIIKq.js} +1 -1
  31. package/dist/assets/{Index-BtiLj0le.js → Index-DDBsdWbQ.js} +1 -1
  32. package/dist/assets/{Index-BjL51U9D.js → Index-DSGQ9k0v.js} +1 -1
  33. package/dist/assets/Index-Daf9Fkvy.js +1 -0
  34. package/dist/assets/{Index-BYTdrKm4.js → Index-DfXsKJR4.js} +1 -1
  35. package/dist/assets/{Index-DRvtmmcY.js → Index-DqhLb-UU.js} +1 -1
  36. package/dist/assets/{Index-BmOd7ffS.js → Index-LLYXdeFA.js} +1 -1
  37. package/dist/assets/{Index-DKwZ_wBA.js → Index-gxpcGiRW.js} +1 -1
  38. package/dist/assets/{Index-PUHoRpqU.js → Index-qs_4LALf.js} +1 -1
  39. package/dist/assets/{Index-C1oLHd-u.js → Index-xjoHcJJp.js} +1 -1
  40. package/dist/assets/{Index-CVQ96DV5.js → Index-zoUSHAee.js} +1 -1
  41. package/dist/assets/{Invitees-LYo1v4W-.js → Invitees-Cw4eSyX8.js} +1 -1
  42. package/dist/assets/List-B64U3-zy.js +1 -0
  43. package/dist/assets/List-CqG-abBT.css +1 -0
  44. package/dist/assets/{List-Dr5Noynt.js → List-CzyfDKiJ.js} +1 -1
  45. package/dist/assets/{List-D5WSfw2M.js → List-wN-fVbkm.js} +1 -1
  46. package/dist/assets/{Main-BWsVcUq8.js → Main-SsrSyiVA.js} +1 -1
  47. package/dist/assets/{Model-BYyfLGD1.js → Model-DILg2z0u.js} +1 -1
  48. package/dist/assets/{Navigator-ySiZ_3sE.js → Navigator-BMMW5pkI.js} +1 -1
  49. package/dist/assets/{NoTasks-Ct9vzToj.js → NoTasks-tQdol0_2.js} +1 -1
  50. package/dist/assets/{NotFound-_zj9nPTI.js → NotFound-BrAYtk9g.js} +1 -1
  51. package/dist/assets/{Pagination-C_lShewI.js → Pagination-DQzxlNaL.js} +1 -1
  52. package/dist/assets/Pay-CJFF6wco.js +1 -0
  53. package/dist/assets/Pay-CesrMfST.css +1 -0
  54. package/dist/assets/{Player.vue_vue_type_script_setup_true_lang-B7W50pMc.js → Player.vue_vue_type_script_setup_true_lang-DIpmyQqC.js} +1 -1
  55. package/dist/assets/{Status-DAfUPPmi.js → Status-B1QNk4Dj.js} +1 -1
  56. package/dist/assets/{Subscribe-CABz2G6N.js → Subscribe-DEvTl7OY.js} +1 -1
  57. package/dist/assets/{TabSwitcher-Dw8j_EHR.js → TabSwitcher-Cnp92end.js} +1 -1
  58. package/dist/assets/{Tts-DvQqFPAz.js → Tts-DSosAxt6.js} +1 -1
  59. package/dist/assets/{VideoPlayer-CMIYFrB5.js → VideoPlayer-C5VQJMsC.js} +1 -1
  60. package/dist/assets/{_Uint8Array-CVqSvQNa.js → _Uint8Array-DtfKpEZY.js} +1 -1
  61. package/dist/assets/{_baseClone-CxI4YMcc.js → _baseClone-dGPbkYnN.js} +1 -1
  62. package/dist/assets/{_baseIteratee-CCsMHsVd.js → _baseIteratee-CY2Cl0zu.js} +1 -1
  63. package/dist/assets/{_initCloneObject-C7zi7Gf-.js → _initCloneObject-BzDf8hsu.js} +1 -1
  64. package/dist/assets/{add-BbL1JEc3.js → add-wT4RKb1f.js} +1 -1
  65. package/dist/assets/{all-wallets-DdQGFefb.js → all-wallets-Cq_kzkqS.js} +1 -1
  66. package/dist/assets/{app-store-BkcsVQNb.js → app-store-Bjja92cH.js} +1 -1
  67. package/dist/assets/{apple-DK6gw0DT.js → apple-CLVy8IzW.js} +1 -1
  68. package/dist/assets/{arrow-bottom-BBGb_WRw.js → arrow-bottom-AD0AukVd.js} +1 -1
  69. package/dist/assets/{arrow-bottom-circle-CGTx4qcO.js → arrow-bottom-circle-DcKXAtRN.js} +1 -1
  70. package/dist/assets/{arrow-left-BAoKWKC9.js → arrow-left-DtBOUCBT.js} +1 -1
  71. package/dist/assets/{arrow-right-WIaYqO7i.js → arrow-right-BgjiaXrR.js} +1 -1
  72. package/dist/assets/{arrow-top-C9j7ZKAv.js → arrow-top-DysVxSes.js} +1 -1
  73. package/dist/assets/{avatar-Cxk_5Ggh.js → avatar-DfhasVvk.js} +1 -1
  74. package/dist/assets/{bank-BvloARJ4.js → bank-Q7sqLOz1.js} +1 -1
  75. package/dist/assets/{basic-CBOiMGEo.js → basic-1DXN_ZD3.js} +1 -1
  76. package/dist/assets/{browser-0A0ww1Lg.js → browser-CbRcUK6i.js} +1 -1
  77. package/dist/assets/{byokCredential-EfkQl_84.js → byokCredential-Dh3cWl5K.js} +1 -1
  78. package/dist/assets/{card-BPCCAYIt.js → card-B0rx3HS6.js} +1 -1
  79. package/dist/assets/{castArray-DEdhtRiU.js → castArray-CbnSaxKn.js} +1 -1
  80. package/dist/assets/{chat-BsWGw1Fe.js → chat-kuuqFnPd.js} +1 -1
  81. package/dist/assets/{checkmark-TIa-HZL1.js → checkmark-Ewjo6mAi.js} +1 -1
  82. package/dist/assets/{checkmark-bold-CUogUz4V.js → checkmark-bold-DY1Ihkf5.js} +1 -1
  83. package/dist/assets/{chevron-bottom-Dt_WbJd7.js → chevron-bottom-cI6gw9FC.js} +1 -1
  84. package/dist/assets/{chevron-left-uhs4cWhh.js → chevron-left-cRXv6i0A.js} +1 -1
  85. package/dist/assets/{chevron-right-B50bY-xg.js → chevron-right-CddWKGMR.js} +1 -1
  86. package/dist/assets/{chevron-top-xKVL4vA2.js → chevron-top-wGPMxUUJ.js} +1 -1
  87. package/dist/assets/{chrome-store-BDDjIZUl.js → chrome-store-E-8FGb-w.js} +1 -1
  88. package/dist/assets/{clock-B2K-MTG7.js → clock-Kk7mQ8vm.js} +1 -1
  89. package/dist/assets/{close-kkXdBnME.js → close-DU9B7t_z.js} +1 -1
  90. package/dist/assets/{coinPlaceholder-C41D4dQt.js → coinPlaceholder-CoFomJaA.js} +1 -1
  91. package/dist/assets/{compass-CmO_fCDE.js → compass-tJpGEKbR.js} +1 -1
  92. package/dist/assets/{copy-CDX4KaDL.js → copy-C8xQ0ZEO.js} +1 -1
  93. package/dist/assets/{createTaskActions-DJIisH05.js → createTaskActions-DKa0yzzK.js} +1 -1
  94. package/dist/assets/{cursor-CHB-6oOu.js → cursor-Dbh54Rsv.js} +1 -1
  95. package/dist/assets/{cursor-transparent-DdpFJJS6.js → cursor-transparent-BQo9hq09.js} +1 -1
  96. package/dist/assets/{debounce-BTG3LRQl.js → debounce-Dl8en2o_.js} +1 -1
  97. package/dist/assets/{desktop-BvciHaL6.js → desktop-Dwoc4ta0.js} +1 -1
  98. package/dist/assets/{disconnect-CC4T8bxU.js → disconnect-D_nLhU-b.js} +1 -1
  99. package/dist/assets/{discord-CNyAAYkG.js → discord-CIdUESH_.js} +1 -1
  100. package/dist/assets/{distribution-CFg8mzRf.js → distribution-C1zDfqN8.js} +1 -1
  101. package/dist/assets/{dropdown-CfgJYpo-.js → dropdown-Cs39B1D0.js} +1 -1
  102. package/dist/assets/{etherscan--zFzETQv.js → etherscan-c5iL5PR9.js} +1 -1
  103. package/dist/assets/{exclamation-triangle-DuQqiCxL.js → exclamation-triangle-DnNRu5CO.js} +1 -1
  104. package/dist/assets/{extension-D-qpGFg1.js → extension-DNI1Gnrn.js} +1 -1
  105. package/dist/assets/{external-link-FvxnbG0p.js → external-link-DgPbN_EK.js} +1 -1
  106. package/dist/assets/{facebook-BW3aCde4.js → facebook-CCmKeeG5.js} +1 -1
  107. package/dist/assets/{farcaster-BYDOSU6f.js → farcaster-l4iGUECD.js} +1 -1
  108. package/dist/assets/{filters-BClwkmZD.js → filters-pqCYYR-R.js} +1 -1
  109. package/dist/assets/{github-DzcMXO-k.js → github-BB6NCnJa.js} +1 -1
  110. package/dist/assets/{google-DUIsppvT.js → google-DvP4BbxP.js} +1 -1
  111. package/dist/assets/{help-circle-lZ-QdmvQ.js → help-circle-B8emXLBE.js} +1 -1
  112. package/dist/assets/{highlight-CWzFA2AR.js → highlight-CHE-J5E7.js} +1 -1
  113. package/dist/assets/{id-B4BeN1c1.js → id-C5ZJGtmE.js} +1 -1
  114. package/dist/assets/{image-0HI2SbjR.js → image-BLTgaGTx.js} +1 -1
  115. package/dist/assets/{index-CTpATBUx.js → index-2vf0SIFc.js} +1 -1
  116. package/dist/assets/{index-CCgsKWE1.js → index-48ZBNX7c.js} +1 -1
  117. package/dist/assets/{index-BCb0oDfU.css → index-B74JMK1Z.css} +1 -1
  118. package/dist/assets/{index-DC-1EJIg.js → index-B8KoTadR.js} +1 -1
  119. package/dist/assets/{index-BafGfJuZ.js → index-BCBZWdPb.js} +1 -1
  120. package/dist/assets/{index-ugpiiN8d.js → index-BCMWKGau.js} +1 -1
  121. package/dist/assets/{index-CpcLlVkI.js → index-BDQqgVDC.js} +1 -1
  122. package/dist/assets/{index-DZuGeaea.js → index-BNHSnEGK.js} +1 -1
  123. package/dist/assets/{index-CDwwbugy.js → index-BOgFVvRr.js} +1 -1
  124. package/dist/assets/{index-DiwSA7hK.js → index-BRjvV2nQ.js} +1 -1
  125. package/dist/assets/{index-BRAaGgzT.js → index-BTNb2CTo.js} +1 -1
  126. package/dist/assets/{index-Cr5D85Nx.js → index-BwmmAqKj.js} +1 -1
  127. package/dist/assets/{index-DJQ9HAgr.js → index-CEyacY8c.js} +1 -1
  128. package/dist/assets/{index-CPxD-sCL.js → index-CFm7oiDC.js} +1 -1
  129. package/dist/assets/{index-9b5J_69T.js → index-CGdcQQoO.js} +2 -2
  130. package/dist/assets/{index-DPrdPxRp.js → index-CHrGWwpa.js} +1 -1
  131. package/dist/assets/{index-xDJdJ7tW.js → index-CMhaBzH0.js} +1 -1
  132. package/dist/assets/{index-Br1yUMf8.js → index-CNsD4H53.js} +1 -1
  133. package/dist/assets/{index-CQ8_0yRK.js → index-CPWMXvq-.js} +1 -1
  134. package/dist/assets/{index-DxD6oont.js → index-CRixUSlT.js} +1 -1
  135. package/dist/assets/{index-VX-0_ECC.js → index-CTEohCbd.js} +1 -1
  136. package/dist/assets/{index-DmpJeEzY.js → index-CURyBsYJ.js} +1 -1
  137. package/dist/assets/{index-BXuzdQwl.js → index-CVEJz82s.js} +1 -1
  138. package/dist/assets/{index-0LjPFnwM.js → index-CX74Mixx.js} +1 -1
  139. package/dist/assets/{index-A1vs7Tvb.js → index-CYGh3Ikj.js} +1 -1
  140. package/dist/assets/{index-B8wbDRCk.js → index-CZbSaGfF.js} +1 -1
  141. package/dist/assets/{index-rDyNuNM8.js → index-CbnGYE9U.js} +1 -1
  142. package/dist/assets/{index-0JQvyqxg.js → index-CcYwI3ai.js} +1 -1
  143. package/dist/assets/{index-D1E_Y5lj.js → index-CeOpBsgD.js} +1 -1
  144. package/dist/assets/{index-C71cSz36.js → index-Cf_g4cNy.js} +1 -1
  145. package/dist/assets/{index-Cfmbp0EV.js → index-Csx7MJnP.js} +1 -1
  146. package/dist/assets/{index-BpUUocOH.js → index-Cvqp7__y.js} +1 -1
  147. package/dist/assets/{index-CWjfFjXS.js → index-CxKozXfz.js} +1 -1
  148. package/dist/assets/{index-BCXKdZWY.js → index-CxP011hD.js} +1 -1
  149. package/dist/assets/{index-DuewqZJa.js → index-CxyDg8u4.js} +1 -1
  150. package/dist/assets/{index-8OUK_qo_.js → index-D3WkBohO.js} +1 -1
  151. package/dist/assets/{index-DrvYmhcP.js → index-D8aPgnGc.js} +8 -8
  152. package/dist/assets/{index-Bf6ZJ_-M.js → index-DDcepg7B.js} +1 -1
  153. package/dist/assets/{index-BiXKkTGi.js → index-DELZT9kn.js} +5 -5
  154. package/dist/assets/{index-DVF-DbEJ.js → index-DFh4_YKj.js} +1 -1
  155. package/dist/assets/{index-BZblnLXL.js → index-DFm6cIRd.js} +3 -3
  156. package/dist/assets/{index-CLCPMnHR.js → index-DGfV6O79.js} +1 -1
  157. package/dist/assets/{index-DopdqtSU.js → index-DMfygNOh.js} +1 -1
  158. package/dist/assets/{index-lfOMNaVh.js → index-DNCRlcDT.js} +1 -1
  159. package/dist/assets/{index-DDnwYmZh.js → index-DVpXcylC.js} +1 -1
  160. package/dist/assets/{index-BJuXTSkv.js → index-DZku_iGx.js} +1 -1
  161. package/dist/assets/{index-BoXQVYKo.js → index-D_7iS0Ka.js} +1 -1
  162. package/dist/assets/{index-T9dwQr1K.js → index-Daau4-Bi.js} +1 -1
  163. package/dist/assets/{index-B99Tt-3f.js → index-DathU4wC.js} +1 -1
  164. package/dist/assets/{index-BoKfbtX5.js → index-DbIiryMD.js} +1 -1
  165. package/dist/assets/{index-BQ1Esg7B.js → index-DdQiL2e_.js} +1 -1
  166. package/dist/assets/{index-h2aywIom.js → index-DhOSddkE.js} +1 -1
  167. package/dist/assets/{index-DiN4Bfoz.js → index-DwGWWSJ5.js} +1 -1
  168. package/dist/assets/{index-DoQNCDIK.js → index-G2ll_KCq.js} +1 -1
  169. package/dist/assets/{index-CuT8kfLH.js → index-H2Ne3KH4.js} +1 -1
  170. package/dist/assets/index-Pbe8CChL.js +1 -0
  171. package/dist/assets/{index-D_Hz5fA6.js → index-TODsGByG.js} +1 -1
  172. package/dist/assets/{index-CFfoccqE.js → index-TUT4Ls42.js} +1 -1
  173. package/dist/assets/{index-B-XszVZM.js → index-V6-D7WeC.js} +1 -1
  174. package/dist/assets/{index-DRgx3hTx.js → index-h8mYvo0x.js} +1 -1
  175. package/dist/assets/{index-DtKgf_D_.js → index-j-bX9GhB.js} +1 -1
  176. package/dist/assets/{index-DhiRha4e.js → index-jc377qLs.js} +1 -1
  177. package/dist/assets/{index-Blb1DDfP.js → index-mLHeIJV7.js} +1 -1
  178. package/dist/assets/{index-D7KBMZcH.js → index-qdj2_nOs.js} +1 -1
  179. package/dist/assets/{index-DxRJVBld.js → index-uRu0fJoD.js} +1 -1
  180. package/dist/assets/{index.browser.esm-CrJVQdid.js → index.browser.esm-CYce7OkR.js} +1 -1
  181. package/dist/assets/{index.es-CJfukhtE.js → index.es-ChY1FlMW.js} +1 -1
  182. package/dist/assets/{info-BlZxXLeA.js → info-BMU798v9.js} +1 -1
  183. package/dist/assets/{info-circle-CMH3qpFh.js → info-circle-johXmI5G.js} +1 -1
  184. package/dist/assets/{isEqual-Box1EVJE.js → isEqual-CfWw3lpS.js} +1 -1
  185. package/dist/assets/{isPlainObject-DoaviOGK.js → isPlainObject-D5ZKzez2.js} +1 -1
  186. package/dist/assets/{lightbulb-C5rtp_4Y.js → lightbulb-C93g8g5s.js} +1 -1
  187. package/dist/assets/{mail-VdLRq_MO.js → mail-BR9vVl-0.js} +1 -1
  188. package/dist/assets/{midjourney-3vLSyV_6.js → midjourney-DaI1O8Au.js} +1 -1
  189. package/dist/assets/{mobile-PEz03m91.js → mobile-C4xdYxb9.js} +1 -1
  190. package/dist/assets/{more-CqgAmMdq.js → more-HEjhQ3Bk.js} +1 -1
  191. package/dist/assets/{network-placeholder-DqaMG2mQ.js → network-placeholder-C1f4OykN.js} +1 -1
  192. package/dist/assets/{nftPlaceholder-ObdTBCBa.js → nftPlaceholder-BjxSiWW4.js} +1 -1
  193. package/dist/assets/{off-umcDqI-N.js → off-DmgjvrrD.js} +1 -1
  194. package/dist/assets/{order-USBlglMa.js → order-53ZhwUJJ.js} +1 -1
  195. package/dist/assets/{order-BrBYxI1W.js → order-Aq1TYmVv.js} +1 -1
  196. package/dist/assets/{order-BOkEMTGm.js → order-BAn01Jdq.js} +1 -1
  197. package/dist/assets/{order-yvnkyHdx.js → order-BR8jK_l8.js} +1 -1
  198. package/dist/assets/{order-DR286FJG.js → order-BWI_TRvE.js} +1 -1
  199. package/dist/assets/{order-JqQuJvaj.js → order-BjYCXHSR.js} +1 -1
  200. package/dist/assets/{order-ClrkS2zn.js → order-BzJSTnZZ.js} +1 -1
  201. package/dist/assets/{order-CC6B6Gge.js → order-CHShvqiR.js} +1 -1
  202. package/dist/assets/{order-ZYdEDMNp.js → order-CNqzeSfo.js} +1 -1
  203. package/dist/assets/{order-B1hxjKoD.js → order-Cl29thYZ.js} +1 -1
  204. package/dist/assets/{order-BP1IUP5d.js → order-DKNF0BbY.js} +1 -1
  205. package/dist/assets/{order-Crc77GW7.js → order-DShgWTSa.js} +1 -1
  206. package/dist/assets/{order-CyD2axQ8.js → order-DbNd9dX0.js} +1 -1
  207. package/dist/assets/{order-DKLYGFwv.js → order-DlAnaS3P.js} +1 -1
  208. package/dist/assets/{order-D5ID07HO.js → order-E78f71Aq.js} +1 -1
  209. package/dist/assets/{order-BnsarLHZ.js → order-Pqxp_o2D.js} +1 -1
  210. package/dist/assets/{order-B_LsTujN.js → order-Vg8oZNKH.js} +1 -1
  211. package/dist/assets/{order-CYU1HtHS.js → order-kgv9S4hZ.js} +1 -1
  212. package/dist/assets/{order-CoOWtaD7.js → order-sf9aZWzF.js} +1 -1
  213. package/dist/assets/{pagination-CJx5Nyq8.js → pagination-C95fpX7B.js} +1 -1
  214. package/dist/assets/{play-store-C_vpBc5E.js → play-store-CQqWMsLM.js} +1 -1
  215. package/dist/assets/{plus-Cj6dJQCn.js → plus-COaZb5B9.js} +1 -1
  216. package/dist/assets/{price-C6x3zgFx.js → price-CMLeXGYL.js} +1 -1
  217. package/dist/assets/{producer-IWrbrVvV.js → producer-dPR696AG.js} +1 -1
  218. package/dist/assets/{qr-code-B2BXj4Ws.js → qr-code-DJpYbF84.js} +1 -1
  219. package/dist/assets/{recycle-horizontal-gWA-GXAx.js → recycle-horizontal-D8FqNejx.js} +1 -1
  220. package/dist/assets/{refresh-oZ-uQpSm.js → refresh-CvWajFXX.js} +1 -1
  221. package/dist/assets/{reown-logo-DRoPuj3k.js → reown-logo-D-IUAAaQ.js} +1 -1
  222. package/dist/assets/{search-CUx2Toms.js → search-C1QSbmoV.js} +1 -1
  223. package/dist/assets/{secp256k1-D7hQM7XA.js → secp256k1-BerJEjof.js} +1 -1
  224. package/dist/assets/{secp256k1-CKgAHccq.js → secp256k1-CdNBysbQ.js} +1 -1
  225. package/dist/assets/{seedream-C1MkodJX.js → seedream-FPqlKYkV.js} +1 -1
  226. package/dist/assets/{send-BvrGPjYl.js → send-BPr-SYTK.js} +1 -1
  227. package/dist/assets/{service-7_Q7xSzl.js → service-DIdO7z6B.js} +1 -1
  228. package/dist/assets/{solana-wallets-zpWYSaEg.js → solana-wallets-DtYtHF55.js} +2 -2
  229. package/dist/assets/{solana-wallets-vue-BcEdBWYc.js → solana-wallets-vue-BassVOrf.js} +1 -1
  230. package/dist/assets/{suno-CMvMdEud.js → suno-Bd0x0MxO.js} +1 -1
  231. package/dist/assets/{swapHorizontal-Cv-TgJkH.js → swapHorizontal-CQwGVgWb.js} +1 -1
  232. package/dist/assets/{swapHorizontalBold-DuFXa36h.js → swapHorizontalBold-DmuUGF6P.js} +1 -1
  233. package/dist/assets/{swapHorizontalMedium-CmQ52Cpp.js → swapHorizontalMedium-DaW5LoF1.js} +1 -1
  234. package/dist/assets/{swapHorizontalRoundedBold-CjAiyg-2.js → swapHorizontalRoundedBold-Go1JwXPz.js} +1 -1
  235. package/dist/assets/{swapVertical-DzK2PlTe.js → swapVertical-BKQs2hoi.js} +1 -1
  236. package/dist/assets/{telegram-DgjV_aip.js → telegram-B4hFe0JH.js} +1 -1
  237. package/dist/assets/{three-dots-EiLdcMPi.js → three-dots--6oQSEdB.js} +1 -1
  238. package/dist/assets/{twitch-BN1DycPm.js → twitch-DMVqbWmy.js} +1 -1
  239. package/dist/assets/{twitterIcon-CDGin63H.js → twitterIcon-DfDdLEw_.js} +1 -1
  240. package/dist/assets/{typescript-lkSt6sMt.js → typescript-B00PCKaI.js} +1 -1
  241. package/dist/assets/{usage-DT49JIvm.js → usage-4IyyhWoq.js} +1 -1
  242. package/dist/assets/{usage-B11bMhMu.js → usage-6A6nX_rp.js} +1 -1
  243. package/dist/assets/{usage-BKq6wop8.js → usage-BC2zXDQQ.js} +1 -1
  244. package/dist/assets/{usage-CuISlf-m.js → usage-BLu8dztP.js} +1 -1
  245. package/dist/assets/{usage-D28S0Rr_.js → usage-BYnEn_r-.js} +1 -1
  246. package/dist/assets/{usage-Bmfw2Wfu.js → usage-Bh2eERtY.js} +1 -1
  247. package/dist/assets/{usage-DyZHxchW.js → usage-BrCl3f5r.js} +1 -1
  248. package/dist/assets/{usage-jdUmayn9.js → usage-CWaVfIxD.js} +1 -1
  249. package/dist/assets/{usage-Bzj3lxYU.js → usage-CXHRXX6s.js} +1 -1
  250. package/dist/assets/{usage-Nsqhxc9s.js → usage-Cv_G762V.js} +1 -1
  251. package/dist/assets/{usage-oJCiUJ8P.js → usage-DPVUFnX5.js} +1 -1
  252. package/dist/assets/{usage-CXILxQmB.js → usage-DWq25ZdL.js} +1 -1
  253. package/dist/assets/{usage-D-hJR3BT.js → usage-Df5xDkVY.js} +1 -1
  254. package/dist/assets/{usage-03lq5UJ3.js → usage-DmlpBmc8.js} +1 -1
  255. package/dist/assets/{usage-CHOeMSGZ.js → usage-DzffhWT0.js} +1 -1
  256. package/dist/assets/{usage-D1OnFGRV.js → usage-gLw1RCEs.js} +1 -1
  257. package/dist/assets/{usage-Cs8IIsUQ.js → usage-kx4oWed5.js} +1 -1
  258. package/dist/assets/{usage-DGU-d7c5.js → usage-oyX5cjy0.js} +1 -1
  259. package/dist/assets/{use-form-item-xBSOcnBK.js → use-form-item-Bb96LHMh.js} +1 -1
  260. package/dist/assets/validator-ClQ6IwxP.js +1 -0
  261. package/dist/assets/{verify-CcY1lPIc.js → verify-Cnkb9O5n.js} +1 -1
  262. package/dist/assets/{verify-filled-D6hBO2qT.js → verify-filled-xTikAp-D.js} +1 -1
  263. package/dist/assets/{w3m-modal-CiPnWbhU.js → w3m-modal-DZp5hxTu.js} +1 -1
  264. package/dist/assets/{wallet-Bl7RERHs.js → wallet-Dmf8ljEx.js} +1 -1
  265. package/dist/assets/{wallet-placeholder-DAeOzX8D.js → wallet-placeholder-SUqDJ9Kn.js} +1 -1
  266. package/dist/assets/{walletconnect-CnAX0UcV.js → walletconnect-CYZ_QXw3.js} +1 -1
  267. package/dist/assets/{warning-circle-Bbgrb2Be.js → warning-circle-MXnu8_lp.js} +1 -1
  268. package/dist/assets/{web-Bq58frSo.js → web-Bjx_sWoJ.js} +1 -1
  269. package/dist/assets/{web-CEWvXHzG.js → web-Bp8d5cO1.js} +1 -1
  270. package/dist/assets/{web-Drx0rheY.js → web-DZzsB6Mp.js} +1 -1
  271. package/dist/assets/{web-DIg1_spB.js → web-Dh_B_uV_.js} +1 -1
  272. package/dist/assets/wechat-D18nbT82.js +1 -0
  273. package/dist/assets/{x-Dult3UxB.js → x-C9WRvzEs.js} +1 -1
  274. package/dist/index.html +2 -2
  275. package/package.json +1 -1
  276. package/dist/assets/Detail-BMFW5EkL.js +0 -2
  277. package/dist/assets/Index-DT6Sk9aR.js +0 -1
  278. package/dist/assets/List-BY87VDaH.js +0 -1
  279. package/dist/assets/List-BiI54nMB.css +0 -1
  280. package/dist/assets/index-B8svBnpb.js +0 -1
  281. package/dist/assets/validator-Cct-VH_X.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-CJfukhtE.js";import{E as M}from"./index-C71cSz36.js";import{E as ue}from"./index-BpUUocOH.js";import{d as y,C as m,D as i,z,E as n,y as f,J as o,q as a,H as r,x as S,M as V,L as T,P as U,I as v,Q as ye,N as C,K as we}from"./vendor-vue-BWIxYyW8.js";import{J as w,bq as K,ai as Ce,a0 as Se,ct as oe,aJ as ne,S as se,cu as Ve}from"./index-DrvYmhcP.js";import{a as Ie,b as ie,c as H,d as D,e as Te,f as Ee,g as Le}from"./kling-DwJwIwVI.js";import{E as P,a as G}from"./index-D7KBMZcH.js";import{E as J}from"./index-A1vs7Tvb.js";import{E as b}from"./index-BJuXTSkv.js";import{I,S as Me,l as Ue}from"./pagination-CJx5Nyq8.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{u as O,a as Re,e as ae}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as j}from"./ImagePreview-BKe9oBpc.js";import{E as Q}from"./index-BoKfbtX5.js";import{E as N}from"./index-BRAaGgzT.js";import{C as me}from"./Consumption-Bx3U0iJn.js";import{E as pe}from"./index-DiN4Bfoz.js";import{E as ge}from"./index-B8wbDRCk.js";import{E as fe}from"./index-Bf6ZJ_-M.js";import{P as Ae,N as De}from"./NoTasks-Ct9vzToj.js";import{E as he}from"./index-lfOMNaVh.js";import{a as _e}from"./price-C6x3zgFx.js";import{F as Pe}from"./FilePreview-SrSnDMh6.js";import{a as Ge,E as Ke}from"./index-CQ8_0yRK.js";import{E as Oe,a as je}from"./index-DtKgf_D_.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{C as Ne}from"./CopyToClipboard-ffsw6Et3.js";import{V as Be}from"./VideoPlayer-CMIYFrB5.js";import{A as ze}from"./ApiCodeButton-Drq1wo0T.js";import{E as Fe}from"./index-rDyNuNM8.js";import{E as qe}from"./index-Blb1DDfP.js";import{B as He}from"./BotPlaceholder-Bb3okszP.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-0JQvyqxg.js";import"./typescript-lkSt6sMt.js";import"./index-B8svBnpb.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-Box1EVJE.js";import"./_Uint8Array-CVqSvQNa.js";import"./castArray-DEdhtRiU.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./validator-Cct-VH_X.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_initCloneObject-C7zi7Gf-.js";import"./index-BC6AqXIx.js";import"./index-DZuGeaea.js";import"./isPlainObject-DoaviOGK.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CFfoccqE.js";const Je=y({name:"LayoutKling",components:{ElDrawer:ue,ElButton:M,FontAwesomeIcon:L},data(){return{drawer:!1}}}),We={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)]"},Ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Xe(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("el-drawer");return a(),m("div",We,[i("div",Qe,[z(e.$slots,"config",{},void 0,!0)]),i("div",Ye,[z(e.$slots,"result",{},void 0,!0)]),n(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:f(()=>[n(d,{icon:"fa-solid fa-magic"})]),_:1}),n(g,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),direction:"ltr","with-header":!1,size:"350px"},{default:f(()=>[z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ze=w(Je,[["render",Xe],["__scopeId","data-v-be4bb0df"]]),xe={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function Y(e,t,s){const l=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:l==="pro",audio:!1,motionControl:!1};case"kling-v2-6":return{text2video:!0,image2video:!0,endImage:l==="pro",audio:l==="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:l!=="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 xe}}function X(e,t){if(!e)return[];const s=t.model??e.model,l=t.mode??e.mode,u=t.duration??e.duration;if(!s)return[];const $=Y(s,l,u),d=[];return e.end_image_url&&!$.endImage&&d.push({field:"end_image_url",i18nLabel:"kling.name.endImage"}),e.generate_audio&&!$.audio&&d.push({field:"generate_audio",i18nLabel:"kling.name.generateAudio"}),e.camera_control?.type&&(!$.motionControl||e.start_image_url)&&d.push({field:"camera_control",i18nLabel:"kling.name.cameraControl"}),d}function Z(e,t){const s={...e};for(const l of t)l.field==="end_image_url"&&(s.end_image_url=void 0),l.field==="generate_audio"&&(s.generate_audio=!1),l.field==="camera_control"&&(s.camera_control=void 0);return s}const et=y({name:"ModelSelector",components:{ElSelect:G,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(Ie)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{model:e});if(s.length===0){this.applyModel(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,model:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}}),tt={class:"field"},ot={class:"title font-bold"};function nt(e,t,s,l,u,$){const d=o("el-option"),p=o("el-select");return a(),m("div",tt,[i("h2",ot,r(e.$t("pika.name.model")),1),(a(),S(p,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("pika.placeholder.select"),onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.options,g=>(a(),S(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const st=w(et,[["render",nt],["__scopeId","data-v-04059875"]]),it=y({name:"ModeSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},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 H.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(ie)}},mounted(){this.value||this.applyMode(ie)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{mode:e});if(s.length===0){this.applyMode(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,mode:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}}),at={class:"field"},lt={class:"header"},rt={class:"title font-bold"},ct={key:0,class:"opt-tip"};function dt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",at,[i("div",lt,[i("h2",rt,r(e.$t("kling.name.mode")),1),n(d,{content:e.$t("kling.description.mode"),class:"info-icon"},null,8,["content"])]),(a(),S(g,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0,onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.options,c=>(a(),S(p,{key:c.value,label:c.label,value:c.value,disabled:c.disabled},{default:f(()=>[i("span",{class:U({"opt-disabled":c.disabled})},r(c.label),3),c.disabled&&c.disabledReason?(a(),m("span",ct,r(c.disabledReason),1)):v("",!0)]),_:2},1032,["label","value","disabled"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const ut=w(it,[["render",dt],["__scopeId","data-v-9a8fa3c5"]]),mt=[3,5,8,10,12,15],pt=[5,10],gt=y({name:"DurationSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return H.includes(this.selectedModel)},allowedDurations(){return this.isV3Model?mt:pt},value(){return this.$store.state.kling?.config?.duration??D},selectValue(){const e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(D)?D:e[0]}},watch:{isV3Model(){this.allowedDurations.includes(this.value)||this.applyDuration(D)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(D)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{duration:e});if(s.length===0){this.applyDuration(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,duration:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}}),ft={class:"field"},ht={class:"control"},_t={class:"label"},$t={class:"title font-bold"};function kt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",ft,[i("div",ht,[i("div",_t,[i("h2",$t,r(e.$t("kling.name.duration")),1),n(d,{content:e.$t("kling.description.duration"),class:"info-icon ml-1"},null,8,["content"])]),(a(),S(g,{key:e.revertKey,"model-value":e.selectValue,class:"value",placeholder:e.$t("kling.placeholder.select"),onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.allowedDurations,c=>(a(),S(p,{key:c,label:`${c}s`,value:c},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])])}const vt=w(gt,[["render",kt],["__scopeId","data-v-5ae55e28"]]),bt=y({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)}}),yt={class:"text-sm font-bold mb-2 block"},wt={class:"items"},Ct=["onClick"],St={class:"name"};function Vt(e,t,s,l,u,$){return a(),m("div",null,[i("span",yt,r(e.$t("kling.name.ratio")),1),i("div",wt,[(a(!0),m(V,null,T(e.options,(d,p)=>(a(),m("div",{key:p,class:U({active:e.active===p,item:!0}),onClick:g=>e.value=d.value},[i("div",{class:U(["preview",d.label])},[i("div",{class:"rect",style:ye({width:d.width+"px",height:d.height+"px"})},null,4)],2),i("p",St,r(d.label),1)],10,Ct))),128))])])}const It=w(bt,[["render",Vt],["__scopeId","data-v-cdb14b2f"]]),Tt=y({name:"StartImage",components:{ElUpload:N,ElButton:M,ElTooltip:Q,InfoIcon:I,FontAwesomeIcon:L,ImagePreview:j},mixins:[W,O],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},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(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),Et={class:"relative"},Lt={class:"flex justify-between"},Mt={class:"flex justify-start items-center"},Ut={class:"text-sm font-bold"};function Rt(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-tooltip"),h=o("el-upload");return a(),m("div",Et,[i("div",Lt,[i("div",Mt,[i("span",Ut,r(e.$t("kling.name.startImage")),1),n(d,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),n(h,{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:f(({file:_})=>[_.url&&_.percentage!==void 0?(a(),S(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(k,{content:e.$t("kling.message.uploadReferencesExceed"),disabled:!e.reachedLimit,placement:"top"},{default:f(()=>[i("span",null,[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.reachedLimit},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+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 At=w(Tt,[["render",Rt],["__scopeId","data-v-756dc269"]]),Dt=y({name:"EndImage",components:{ElUpload:N,ElButton:M,ElTooltip:Q,ImagePreview:j,InfoIcon:I,FontAwesomeIcon:L},mixins:[W,O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return Y(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t("kling.message.uploadReferencesExceed"):"":this.$t("kling.message.endImageRequiresStart"):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=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?this.hasStartImage?!0:(b.warning(this.$t("kling.message.endImageRequiresStart")),!1):(b.warning(this.$t("kling.message.endImageNotSupported")),!1)},onExceed(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),Pt={class:"relative"},Gt={class:"flex justify-between"},Kt={class:"flex justify-start items-center"},Ot={class:"text-sm font-bold"};function jt(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-tooltip"),h=o("el-upload");return a(),m("div",Pt,[i("div",Gt,[i("div",Kt,[i("span",Ot,r(e.$t("kling.name.endImage")),1),n(d,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),n(h,{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:f(({file:_})=>[_.url&&_.percentage!==void 0?(a(),S(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(k,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:"top"},{default:f(()=>[i("span",null,[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.uploadDisabled},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+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 Nt=w(Dt,[["render",jt],["__scopeId","data-v-c1b257e5"]]),Bt=y({name:"CfgScaleSelector",components:{ElSlider:ge,InfoIcon:I,ElInputNumber:pe},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=Ee)}}),zt={class:"flex justify-between"},Ft={class:"flex justify-start items-center"},qt={class:"text-sm font-bold"},Ht={class:"flex justify-end items-center"},Jt={class:"w-full"};function Wt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input-number"),g=o("el-slider");return a(),m("div",null,[i("div",zt,[i("div",Ft,[i("span",qt,r(e.$t("kling.name.cfgScale")),1),n(d,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),i("div",Ht,[n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),"controls-position":"right"},null,8,["modelValue"])])]),i("div",Jt,[n(g,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=c=>e.value=c),min:0,max:1,step:.1},null,8,["modelValue"])])])}const Qt=w(Bt,[["render",Wt]]),Yt=y({name:"GenerateAudioSelector",components:{ElSwitch:fe,InfoIcon:I},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},supported(){return!!(H.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??Le:!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})}}}),Xt={class:"relative"},Zt={class:"flex justify-between items-center"},xt={class:"flex justify-start items-center"},eo={class:"text-sm font-bold"};function to(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-switch");return a(),m("div",Xt,[i("div",Zt,[i("div",xt,[i("span",eo,r(e.$t("kling.name.generateAudio")),1),n(d,{content:e.tooltipContent},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",disabled:!e.supported},null,8,["modelValue","disabled"])])])}const oo=w(Yt,[["render",to]]),no=["horizontal","vertical","pan","tilt","roll","zoom"],so=y({name:"CameraControlSelector",components:{ElSelect:G,ElOption:P,ElSlider:ge,ElInputNumber:pe,InfoIcon:I},data(){return{configKeys:no}},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||""},selectedModel(){return this.$store.state.kling?.config?.model||""},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return Y(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t("kling.description.cameraControlDisabledImage2Video"):this.$t("kling.description.cameraControl"):this.$t("kling.description.cameraControlNotSupported")},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 l={...t};delete l.camera_control,this.$store.commit("kling/setConfig",l);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||{},l=s.camera_control||{type:"simple"},u={...l.config||{}};t==null?delete u[e]:u[e]=t,this.$store.commit("kling/setConfig",{...s,camera_control:{...l,type:"simple",config:u}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),io={class:"field"},ao={class:"header"},lo={class:"text-sm font-bold"},ro={key:0,class:"config-grid"},co={class:"cfg-row-head"},uo={class:"cfg-name"};function mo(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select"),c=o("el-input-number"),k=o("el-slider");return a(),m("div",io,[i("div",ao,[i("span",lo,r(e.$t("kling.name.cameraControl")),1),n(d,{content:e.tooltipContent},null,8,["content"])]),n(g,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||(t[0]=h=>e.selectedTypeRaw=h),class:"value",placeholder:e.$t("kling.placeholder.cameraType"),clearable:!0,disabled:e.disabled},{default:f(()=>[(a(!0),m(V,null,T(e.typeOptions,h=>(a(),S(p,{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"]),e.selectedType==="simple"&&!e.disabled?(a(),m("div",ro,[(a(!0),m(V,null,T(e.configKeys,h=>(a(),m("div",{key:h,class:"cfg-row"},[i("div",co,[i("span",uo,r(e.$t(`kling.name.cc_${h}`)),1),n(c,{modelValue:e.configValues[h],"onUpdate:modelValue":_=>e.configValues[h]=_,min:-1,max:1,step:.1,precision:1,"controls-position":"right",size:"small",class:"cfg-num",onChange:_=>e.onNumberChange(h,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),n(k,{"model-value":e.configValues[h]??0,min:-1,max:1,step:.1,onInput:_=>e.onSliderChange(h,_)},null,8,["model-value","onInput"])]))),128))])):v("",!0)])}const po=w(so,[["render",mo],["__scopeId","data-v-cd896060"]]),$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"]}],F=", ";function go(e,t){const s=(e||"").trim();return s?s.includes(t)?s:`${s}${F}${t}`:t}function q(e,t){if(!e||!t)return e||"";const s=[`${t}${F}`,`${F}${t}`,t];let l=e;for(const u of s)if(l.includes(u)){l=l.replace(u,"");break}return l.replace(/(?:,\s*)+$/,"").replace(/^(?:,\s*)+/,"")}const fo=y({name:"InspirationPills",components:{FontAwesomeIcon:L},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 l=e.indexOf(s);l!==-1&&t.push({text:s,idx:l})}return t.sort((s,l)=>s.idx-l.idx).map(s=>s.text)}},methods:{onRemove(e){const t=q(this.prompt,e);this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:t})}}}),ho={key:0,class:"pills",role:"list"},_o={class:"pill-text"},$o=["aria-label","onClick"];function ko(e,t,s,l,u,$){const d=o("font-awesome-icon");return e.selected.length>0?(a(),m("div",ho,[(a(!0),m(V,null,T(e.selected,p=>(a(),m("div",{key:p,class:"pill",role:"listitem"},[i("span",_o,r(p),1),i("button",{type:"button",class:"pill-remove","aria-label":e.$t("kling.inspiration.removeChip"),onClick:we(g=>e.onRemove(p),["stop"])},[n(d,{icon:"fa-solid fa-xmark"})],8,$o)]))),128))])):v("",!0)}const vo=w(fo,[["render",ko],["__scopeId","data-v-5fc4fa65"]]),bo="",yo=y({name:"PromptInput",components:{ElButton:M,FontAwesomeIcon:L,PromptTextarea:Ae,InspirationPills:vo},emits:["open-inspiration"],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=bo)}});function wo(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("inspiration-pills"),c=o("prompt-textarea");return a(),S(c,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||(t[1]=k=>e.prompt=k),title:e.$t("kling.name.prompt"),info:e.$t("kling.description.prompt"),placeholder:e.$t("kling.placeholder.prompt")},{actions:f(()=>[n(p,{text:"",size:"small",class:"inspiration-btn",onClick:t[0]||(t[0]=k=>e.$emit("open-inspiration"))},{default:f(()=>[n(d,{icon:"fa-regular fa-lightbulb",class:"mr-1"}),C(" "+r(e.$t("kling.inspiration.openButton")),1)]),_:1})]),before:f(()=>[n(g)]),_:1},8,["modelValue","title","info","placeholder"])}const Co=w(yo,[["render",wo],["__scopeId","data-v-c01fc1a6"]]),So="",Vo=y({name:"NegativePromptInput",components:{ElInput:he,InfoIcon:I},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=So)}}),Io={class:"field"},To={class:"box"},Eo={class:"title font-bold"};function Lo(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input");return a(),m("div",Io,[i("div",To,[i("h2",Eo,r(e.$t("kling.name.negativePrompt")),1),n(d,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Mo=w(Vo,[["render",Lo],["__scopeId","data-v-de98cf01"]]),Uo=y({name:"InspirationDrawer",components:{ElDrawer:ue,ElButton:M,FontAwesomeIcon:L},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(q(this.prompt,e)):this.setPrompt(go(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(const t of this.allChipTexts)for(;e.includes(t);)e=q(e,t);this.setPrompt(e)}}}),Ro={class:"drawer-content"},Ao={class:"drawer-header"},Do={class:"title-row"},Po={class:"title"},Go={class:"hint"},Ko={key:0,class:"selected-bar"},Oo={class:"selected-text"},jo={class:"groups"},No={class:"group-title"},Bo={class:"chip-grid"},zo=["onClick"];function Fo(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("el-drawer");return a(),S(g,{modelValue:e.visible,"onUpdate:modelValue":t[1]||(t[1]=c=>e.visible=c),direction:"rtl","with-header":!1,size:e.drawerSize,"custom-class":"kling-inspiration-drawer","destroy-on-close":!1},{default:f(()=>[i("div",Ro,[i("div",Ao,[i("div",Do,[n(d,{icon:"fa-regular fa-lightbulb",class:"mr-2"}),i("span",Po,r(e.$t("kling.inspiration.title")),1)]),n(p,{text:"",icon:e.Close,class:"close-btn",onClick:t[0]||(t[0]=c=>e.visible=!1)},null,8,["icon"])]),i("div",Go,r(e.$t("kling.inspiration.hint")),1),e.selectedCount>0?(a(),m("div",Ko,[i("span",Oo,r(e.$t("kling.inspiration.selectedSummary",{count:e.selectedCount})),1),n(p,{text:"",size:"small",class:"clear-btn",onClick:e.onClearSelected},{default:f(()=>[C(r(e.$t("kling.inspiration.clearSelected")),1)]),_:1},8,["onClick"])])):v("",!0),i("div",jo,[(a(!0),m(V,null,T(e.groups,c=>(a(),m("div",{key:c.groupKey,class:"group"},[i("div",No,r(e.$t(`kling.inspiration.group.${c.groupKey}`)),1),i("div",Bo,[(a(!0),m(V,null,T(c.chipKeys,k=>(a(),m("button",{key:k,type:"button",class:U({chip:!0,active:e.isSelected(e.chipText(k))}),onClick:h=>e.onToggle(e.chipText(k))},r(e.chipText(k)),11,zo))),128))])]))),128))])])]),_:1},8,["modelValue","size"])}const qo=w(Uo,[["render",Fo],["__scopeId","data-v-7d457a69"]]),Ho={"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"},Jo={std:"720p",pro:"1080p","4k":"4K"},Wo=y({name:"SummaryChip",components:{FontAwesomeIcon:L},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){const e=this.config?.model||"kling-v2-5-turbo";return Ho[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||""},modeLabel(){const e=this.config?.mode||"std";return Jo[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),Qo={class:"summary-chip"},Yo=["title"],Xo=["title"],Zo=["title"],xo=["title"],en=["title"];function tn(e,t,s,l,u,$){const d=o("font-awesome-icon");return a(),m("div",Qo,[i("span",{class:"part",title:e.$t("kling.name.model")},r(e.modelLabel),9,Yo),t[0]||(t[0]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.duration")},r(e.durationLabel),9,Xo),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,Zo),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?(a(),m("span",{key:0,class:"audio",title:e.$t("kling.name.generateAudio")},[n(d,{icon:"fa-solid fa-headphones"})],8,en)):v("",!0)])}const on=w(Wo,[["render",tn],["__scopeId","data-v-418a6733"]]),nn=y({name:"ConfigPanel",components:{ElButton:M,Consumption:me,FontAwesomeIcon:L,PromptInput:Co,NegativePromptInput:Mo,ModelSelector:st,ModeSelector:ut,DurationSelector:vt,RatioSelector:It,StartImage:At,CfgScaleSelector:Qt,GenerateAudioSelector:oo,CameraControlSelector:po,InspirationDrawer:qo,SummaryChip:on,EndImage:Nt},emits:["generate"],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return _e(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),sn={class:"flex flex-col h-full"},an={class:"flex-1 overflow-y-auto p-5"},ln={class:"flex flex-col items-center justify-center px-5 pb-5"};function rn(e,t,s,l,u,$){const d=o("prompt-input"),p=o("model-selector"),g=o("ratio-selector"),c=o("start-image"),k=o("end-image"),h=o("duration-selector"),_=o("mode-selector"),E=o("generate-audio-selector"),R=o("camera-control-selector"),A=o("cfg-scale-selector"),B=o("negative-prompt-input"),ke=o("summary-chip"),ve=o("consumption"),x=o("font-awesome-icon"),ee=o("el-button"),be=o("inspiration-drawer");return a(),m("div",sn,[i("div",an,[n(d,{class:"mb-4",onOpenInspiration:t[0]||(t[0]=te=>e.inspirationOpen=!0)}),n(p,{class:"mb-4"}),n(g,{class:"mb-4"}),n(c,{class:"mb-2"}),n(k,{class:"mb-2"}),n(h,{class:"mb-4"}),n(_,{class:"mb-4"}),n(E,{class:"mb-4"}),n(R,{class:"mb-4"}),n(A,{class:"mb-4"}),n(B,{class:"mb-4"})]),i("div",ln,[n(ke),n(ve,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),S(ee,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[n(x,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(a(),S(ee,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[n(x,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))]),n(be,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||(t[1]=te=>e.inspirationOpen=te)},null,8,["modelValue"])])}const cn=w(nn,[["render",rn]]),dn=y({name:"MotionImage",components:{ElUpload:N,ElButton:M,InfoIcon:I,FontAwesomeIcon:L,ImagePreview:j},mixins:[W,O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),un={class:"relative"},mn={class:"flex justify-between"},pn={class:"flex justify-start items-center"},gn={class:"text-sm font-bold"};function fn(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-upload");return a(),m("div",un,[i("div",mn,[i("div",pn,[i("span",gn,r(e.$t("kling.name.motionImage")),1),n(d,{content:e.$t("kling.description.motionImage")},null,8,["content"])])]),n(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),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:f(({file:h})=>[h.url&&h.percentage!==void 0?(a(),S(p,{key:0,url:h.url,name:h.name,percentage:h.percentage,onRemove:_=>e.onRemove(h)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const hn=w(dn,[["render",fn],["__scopeId","data-v-e52eaf2f"]]),_n=y({name:"MotionVideo",components:{ElUpload:N,ElButton:M,InfoIcon:I,FilePreview:Pe,FontAwesomeIcon:L},mixins:[O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){b.warning(this.$t("kling.message.uploadVideoExceed"))},onError(){b.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:(b.error(this.$t("kling.message.uploadVideoSizeExceed")),!1):(b.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()}}}),$n={class:"relative"},kn={class:"flex justify-between"},vn={class:"flex justify-start items-center"},bn={class:"text-sm font-bold"};function yn(e,t,s,l,u,$){const d=o("info-icon"),p=o("file-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-upload");return a(),m("div",$n,[i("div",kn,[i("div",vn,[i("span",bn,r(e.$t("kling.name.motionVideo")),1),n(d,{content:e.$t("kling.description.motionVideo")},null,8,["content"])])]),n(k,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),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:f(({file:h})=>[h.percentage!==void 0?(a(),S(p,{key:0,url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:_=>e.onRemove(h)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+r(e.$t("kling.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const wn=w(_n,[["render",yn],["__scopeId","data-v-7019a8d2"]]),Cn=y({name:"MotionPromptInput",components:{ElInput:he,InfoIcon:I},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||""},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),Sn={class:"field"},Vn={class:"box"},In={class:"title font-bold"};function Tn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input");return a(),m("div",Sn,[i("div",Vn,[i("h2",In,r(e.$t("kling.name.motionPrompt")),1),n(d,{content:e.$t("kling.description.motionPrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.motionPrompt")},null,8,["modelValue","placeholder"])])}const En=w(Cn,[["render",Tn],["__scopeId","data-v-ca9fdbe5"]]),re="video",Ln=y({name:"CharacterOrientationSelector",components:{ElRadioGroup:Ke,ElRadioButton:Ge,InfoIcon:I},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)}}),Mn={class:"field"},Un={class:"header"},Rn={class:"text-sm font-bold"};function An(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-radio-button"),g=o("el-radio-group");return a(),m("div",Mn,[i("div",Un,[i("span",Rn,r(e.$t("kling.name.characterOrientation")),1),n(d,{content:e.$t("kling.description.characterOrientation")},null,8,["content"])]),n(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),size:"small",class:"value"},{default:f(()=>[n(p,{label:"image"},{default:f(()=>[C(r(e.$t("kling.name.orientationImage")),1)]),_:1}),n(p,{label:"video"},{default:f(()=>[C(r(e.$t("kling.name.orientationVideo")),1)]),_:1})]),_:1},8,["modelValue"])])}const Dn=w(Ln,[["render",An],["__scopeId","data-v-7a91195b"]]),ce="std",Pn=y({name:"MotionModeSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},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)}}),Gn={class:"field"},Kn={class:"header"},On={class:"title font-bold"};function jn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",Gn,[i("div",Kn,[i("h2",On,r(e.$t("kling.name.mode")),1),n(d,{content:e.$t("kling.description.motionMode")},null,8,["content"])]),n(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:f(()=>[(a(!0),m(V,null,T(e.options,c=>(a(),S(p,{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Nn=w(Pn,[["render",jn],["__scopeId","data-v-1295688c"]]),Bn=y({name:"KeepOriginalSoundSelector",components:{ElSwitch:fe,InfoIcon:I},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"})}}}}),zn={class:"relative"},Fn={class:"flex justify-between items-center"},qn={class:"flex justify-start items-center"},Hn={class:"text-sm font-bold"};function Jn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-switch");return a(),m("div",zn,[i("div",Fn,[i("div",qn,[i("span",Hn,r(e.$t("kling.name.keepOriginalSound")),1),n(d,{content:e.$t("kling.description.keepOriginalSound")},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g)},null,8,["modelValue"])])])}const Wn=w(Bn,[["render",Jn]]),Qn=y({name:"MotionPanel",components:{ElButton:M,FontAwesomeIcon:L,Consumption:me,MotionImage:hn,MotionVideo:wn,MotionPromptInput:En,CharacterOrientationSelector:Dn,MotionModeSelector:Nn,KeepOriginalSoundSelector:Wn},emits:["generate"],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return _e(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")}}}),Yn={class:"flex flex-col h-full"},Xn={class:"flex-1 overflow-y-auto p-5"},Zn={class:"flex flex-col items-center justify-center px-5 pb-5"};function xn(e,t,s,l,u,$){const d=o("motion-image"),p=o("motion-video"),g=o("motion-prompt-input"),c=o("character-orientation-selector"),k=o("motion-mode-selector"),h=o("keep-original-sound-selector"),_=o("consumption"),E=o("font-awesome-icon"),R=o("el-button");return a(),m("div",Yn,[i("div",Xn,[n(d,{class:"mb-3"}),n(p,{class:"mb-3"}),n(g,{class:"mb-4"}),n(c,{class:"mb-4"}),n(k,{class:"mb-4"}),n(h,{class:"mb-4"})]),i("div",Zn,[n(_,{value:e.consumption,service:e.service},null,8,["value","service"]),n(R,{type:"primary",class:"btn w-full",round:"",disabled:!e.canGenerate,onClick:e.onGenerate},{default:f(()=>[n(E,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.generateMotion")),1)]),_:1},8,["disabled","onClick"])])])}const es=w(Qn,[["render",xn]]),ts=y({name:"KlingTabSwitcher",components:{ElTabs:je,ElTabPane:Oe,ElTag:Se},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)}}}),os=["title"],ns={class:"text"};function ss(e,t,s,l,u,$){const d=o("el-tag"),p=o("el-tab-pane"),g=o("el-tabs");return a(),S(g,{"model-value":e.modelValue,class:"kling-tabs",stretch:"","onUpdate:modelValue":e.onUpdate},{default:f(()=>[(a(!0),m(V,null,T(e.tabs,c=>(a(),S(p,{key:c.value,name:c.value,disabled:c.disabled},{label:f(()=>[i("span",{class:"tab-label",title:c.disabled?c.disabledReason:void 0},[i("span",ns,r(c.label),1),c.badge?(a(),S(d,{key:0,size:"small",type:"warning",class:"badge"},{default:f(()=>[C(r(c.badge),1)]),_:2},1024)):v("",!0)],8,os)]),_:2},1032,["name","disabled"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])}const is=w(ts,[["render",ss],["__scopeId","data-v-bf00c27e"]]),as=y({name:"TaskPreview",components:{ElImage:qe,CopyToClipboard:Ne,FontAwesomeIcon:L,ElAlert:Fe,VideoPlayer:Be,ElTooltip:Q,ElButton:M,ImagePreview:j,ApiCodeButton:ze},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")}}}),ls={class:"preview"},rs={class:"left"},cs={class:"main"},ds={class:"bot"},us={class:"datetime"},ms={class:"info"},ps={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},gs={key:1,class:"prompt mt-2"},fs={key:0},hs={key:1},_s={key:0,class:U({content:!0,failed:!0})},$s={key:0,class:"mb-4"},ks={key:1,class:U({operations:!0,"mt-2":!0})},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ys={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ws={key:1,class:U({content:!0})},Cs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ss={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ts={key:2,class:U({content:!0})},Es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ls={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ms(e,t,s,l,u,$){const d=o("el-image"),p=o("image-preview"),g=o("video-player"),c=o("el-button"),k=o("el-tooltip"),h=o("api-code-button"),_=o("font-awesome-icon"),E=o("copy-to-clipboard"),R=o("el-alert");return a(),m("div",ls,[i("div",rs,[n(d,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),i("div",cs,[i("div",ds,[C(r(e.$t("kling.name.klingBot"))+" ",1),i("span",us,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",ms,[e.referenceImages.length>0?(a(),m("div",ps,[(a(!0),m(V,null,T(e.referenceImages,(A,B)=>(a(),S(p,{key:B,url:A.url,name:A.name,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),m("p",gs,[C(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),m("span",fs," - ("+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"?(a(),m("span",hs," - ("+r(e.$t("kling.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",_s,[e.modelValue?.response.video_url?(a(),m("div",$s,[n(g,{src:e.modelValue?.response.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(a(),m("div",ks,[n(k,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:f(()=>[e.modelValue?.response.video_url?(a(),S(c,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=A=>e.onDownload(A,e.modelValue?.response.video_url))},{default:f(()=>[C(r(e.$t("kling.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"]),n(h,{path:"/kling/videos",body:e.modelValue?.request},null,8,["body"])])):v("",!0),n(R,{closable:!1,class:"mt-2 success"},{default:f(()=>[i("p",vs,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.model"))+": "+r(e.modelValue?.request?.model),1)]),i("p",bs,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",ys,[n(_,{icon:"fa-solid fa-clock",class:"mr-1"}),C(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(a(),m("div",ws,[n(R,{closable:!1,class:"failure"},{template:f(()=>[n(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),C(" "+r(e.$t("kling.name.failure")),1)]),default:f(()=>[i("p",Cs,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ss,[n(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),C(" "+r(e.$t("kling.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),n(E,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",Vs,[n(_,{icon:"fa-solid fa-clock",class:"mr-1"}),C(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(a(),m("p",Is,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(a(),m("div",Ts,[n(R,{closable:!1,class:"info"},{template:f(()=>[n(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),C(" "+r(e.$t("kling.name.failure")),1)]),default:f(()=>[i("p",Es,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),m("p",Ls,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const Us=w(as,[["render",Ms],["__scopeId","data-v-422e2570"]]),Rs=y({name:"RecentPanel",components:{TaskPreview:Us,NoTasks:De,BotPlaceholder:He,ScrollList:Me},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?.()}}}),As={key:0},Ds={key:2,class:"w-full h-full flex items-center justify-center"};function Ps(e,t,s,l,u,$){const d=o("bot-placeholder"),p=o("task-preview"),g=o("scroll-list"),c=o("no-tasks");return a(),m(V,null,[e.tasks?.items===void 0?(a(),m("div",As,[n(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),S(g,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),m(V,null,T(e.tasks?.items,k=>(a(),S(p,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),m("div",Ds,[n(c)])):v("",!0)],64)}const Gs=w(Rs,[["render",Ps]]),de=Ve("kling"),Ks=y({name:"KlingIndex",components:{ConfigPanel:cn,MotionPanel:es,TabSwitcher:is,Layout:Ze,RecentPanel:Gs},mixins:[Re],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===se.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===se.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 Ue({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:l}=e||{};console.debug("limit",t,"createdAtMin",s,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:t,createdAtMin:s,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,u=>this.$t(u),u=>b.warning(u)))return;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){b.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 l=this.credential?.token;if(!l){console.error("no token specified");return}b.info(this.$t("kling.message.startingTask")),oe("kling",ne.generate(s,{token:l})).then(()=>{b.success(this.$t("kling.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===le?b.error(this.$t("kling.message.usedUp")):b.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(){if(!ae(this.uploadTracker,l=>this.$t(l),l=>b.warning(l)))return;const e=this.motionConfig||{};if(!e.image_url||!e.video_url){b.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}b.info(this.$t("kling.message.startingTask")),oe("kling",ne.motion(t,{token:s})).then(()=>{b.success(this.$t("kling.message.startTaskSuccess"))}).catch(l=>{l?.response?.data?.error?.code===le?b.error(this.$t("kling.message.usedUp")):b.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),Os={class:"flex flex-col h-full"},js={class:"flex-1 min-h-0"};function Ns(e,t,s,l,u,$){const d=o("tab-switcher"),p=o("config-panel"),g=o("motion-panel"),c=o("recent-panel"),k=o("layout");return a(),S(k,null,{config:f(()=>[i("div",Os,[n(d,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,["model-value","onUpdate:modelValue"]),i("div",js,[e.taskType==="videos"?(a(),S(p,{key:0,onGenerate:e.onGenerate},null,8,["onGenerate"])):e.taskType==="motion"?(a(),S(g,{key:1,onGenerate:e.onGenerateMotion},null,8,["onGenerate"])):v("",!0)])])]),result:f(()=>[n(c,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ji=w(Ks,[["render",Ns]]);export{Ji as default};
1
+ import{F as L}from"./index.es-ChY1FlMW.js";import{E as M}from"./index-Cf_g4cNy.js";import{E as ue}from"./index-Cvqp7__y.js";import{d as y,C as m,D as i,z,E as n,y as f,J as o,q as a,H as r,x as S,M as V,L as T,P as U,I as v,Q as ye,N as C,K as we}from"./vendor-vue-BWIxYyW8.js";import{J as w,br as K,ai as Ce,a0 as Se,cx as oe,aJ as ne,S as se,cy as Ve}from"./index-D8aPgnGc.js";import{a as Ie,b as ie,c as H,d as D,e as Te,f as Ee,g as Le}from"./kling-DwJwIwVI.js";import{E as P,a as G}from"./index-qdj2_nOs.js";import{E as J}from"./index-CYGh3Ikj.js";import{E as b}from"./index-DZku_iGx.js";import{I,S as Me,l as Ue}from"./pagination-C95fpX7B.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{u as O,a as Re,e as ae}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as j}from"./ImagePreview-BX_sHHDN.js";import{E as Q}from"./index-DbIiryMD.js";import{E as N}from"./index-BTNb2CTo.js";import{C as me}from"./Consumption-CpH3KfFv.js";import{E as pe}from"./index-DwGWWSJ5.js";import{E as ge}from"./index-CZbSaGfF.js";import{E as fe}from"./index-DDcepg7B.js";import{P as Ae,N as De}from"./NoTasks-tQdol0_2.js";import{E as he}from"./index-DNCRlcDT.js";import{a as _e}from"./price-CMLeXGYL.js";import{F as Pe}from"./FilePreview-DWf_R-Z4.js";import{a as Ge,E as Ke}from"./index-CPWMXvq-.js";import{E as Oe,a as je}from"./index-j-bX9GhB.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{C as Ne}from"./CopyToClipboard-CZv5BP7B.js";import{V as Be}from"./VideoPlayer-C5VQJMsC.js";import{A as ze}from"./ApiCodeButton-DqTuCryR.js";import{E as Fe}from"./index-CbnGYE9U.js";import{E as qe}from"./index-mLHeIJV7.js";import{B as He}from"./BotPlaceholder-xpsKXt0P.js";import"./use-form-item-Bb96LHMh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-CcYwI3ai.js";import"./typescript-B00PCKaI.js";import"./index-Pbe8CChL.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-CfWw3lpS.js";import"./_Uint8Array-DtfKpEZY.js";import"./castArray-CbnSaxKn.js";import"./debounce-Dl8en2o_.js";import"./_baseIteratee-CY2Cl0zu.js";import"./index-D_7iS0Ka.js";import"./validator-ClQ6IwxP.js";import"./highlight-CHE-J5E7.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DhOSddkE.js";import"./_baseClone-dGPbkYnN.js";import"./_initCloneObject-BzDf8hsu.js";import"./index-BC6AqXIx.js";import"./index-BNHSnEGK.js";import"./isPlainObject-D5ZKzez2.js";import"./vue-plyr-BO2nlN4c.js";import"./index-TUT4Ls42.js";const Je=y({name:"LayoutKling",components:{ElDrawer:ue,ElButton:M,FontAwesomeIcon:L},data(){return{drawer:!1}}}),We={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)]"},Ye={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Xe(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("el-drawer");return a(),m("div",We,[i("div",Qe,[z(e.$slots,"config",{},void 0,!0)]),i("div",Ye,[z(e.$slots,"result",{},void 0,!0)]),n(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:f(()=>[n(d,{icon:"fa-solid fa-magic"})]),_:1}),n(g,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),direction:"ltr","with-header":!1,size:"350px"},{default:f(()=>[z(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Ze=w(Je,[["render",Xe],["__scopeId","data-v-be4bb0df"]]),xe={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function Y(e,t,s){const l=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:l==="pro",audio:!1,motionControl:!1};case"kling-v2-6":return{text2video:!0,image2video:!0,endImage:l==="pro",audio:l==="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:l!=="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 xe}}function X(e,t){if(!e)return[];const s=t.model??e.model,l=t.mode??e.mode,u=t.duration??e.duration;if(!s)return[];const $=Y(s,l,u),d=[];return e.end_image_url&&!$.endImage&&d.push({field:"end_image_url",i18nLabel:"kling.name.endImage"}),e.generate_audio&&!$.audio&&d.push({field:"generate_audio",i18nLabel:"kling.name.generateAudio"}),e.camera_control?.type&&(!$.motionControl||e.start_image_url)&&d.push({field:"camera_control",i18nLabel:"kling.name.cameraControl"}),d}function Z(e,t){const s={...e};for(const l of t)l.field==="end_image_url"&&(s.end_image_url=void 0),l.field==="generate_audio"&&(s.generate_audio=!1),l.field==="camera_control"&&(s.camera_control=void 0);return s}const et=y({name:"ModelSelector",components:{ElSelect:G,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(Ie)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{model:e});if(s.length===0){this.applyModel(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,model:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}}),tt={class:"field"},ot={class:"title font-bold"};function nt(e,t,s,l,u,$){const d=o("el-option"),p=o("el-select");return a(),m("div",tt,[i("h2",ot,r(e.$t("pika.name.model")),1),(a(),S(p,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("pika.placeholder.select"),onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.options,g=>(a(),S(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const st=w(et,[["render",nt],["__scopeId","data-v-04059875"]]),it=y({name:"ModeSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},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 H.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(ie)}},mounted(){this.value||this.applyMode(ie)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{mode:e});if(s.length===0){this.applyMode(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,mode:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}}),at={class:"field"},lt={class:"header"},rt={class:"title font-bold"},ct={key:0,class:"opt-tip"};function dt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",at,[i("div",lt,[i("h2",rt,r(e.$t("kling.name.mode")),1),n(d,{content:e.$t("kling.description.mode"),class:"info-icon"},null,8,["content"])]),(a(),S(g,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0,onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.options,c=>(a(),S(p,{key:c.value,label:c.label,value:c.value,disabled:c.disabled},{default:f(()=>[i("span",{class:U({"opt-disabled":c.disabled})},r(c.label),3),c.disabled&&c.disabledReason?(a(),m("span",ct,r(c.disabledReason),1)):v("",!0)]),_:2},1032,["label","value","disabled"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const ut=w(it,[["render",dt],["__scopeId","data-v-9a8fa3c5"]]),mt=[3,5,8,10,12,15],pt=[5,10],gt=y({name:"DurationSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return H.includes(this.selectedModel)},allowedDurations(){return this.isV3Model?mt:pt},value(){return this.$store.state.kling?.config?.duration??D},selectValue(){const e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(D)?D:e[0]}},watch:{isV3Model(){this.allowedDurations.includes(this.value)||this.applyDuration(D)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(D)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=X(t,{duration:e});if(s.length===0){this.applyDuration(e);return}const l=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await J.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:l}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=Z({...t,duration:e},s);this.$store.commit("kling/setConfig",u),b.success(this.$t("kling.message.featureRemovedNotice",{fields:l}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}}),ft={class:"field"},ht={class:"control"},_t={class:"label"},$t={class:"title font-bold"};function kt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",ft,[i("div",ht,[i("div",_t,[i("h2",$t,r(e.$t("kling.name.duration")),1),n(d,{content:e.$t("kling.description.duration"),class:"info-icon ml-1"},null,8,["content"])]),(a(),S(g,{key:e.revertKey,"model-value":e.selectValue,class:"value",placeholder:e.$t("kling.placeholder.select"),onChange:e.onChange},{default:f(()=>[(a(!0),m(V,null,T(e.allowedDurations,c=>(a(),S(p,{key:c,label:`${c}s`,value:c},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])])}const vt=w(gt,[["render",kt],["__scopeId","data-v-5ae55e28"]]),bt=y({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)}}),yt={class:"text-sm font-bold mb-2 block"},wt={class:"items"},Ct=["onClick"],St={class:"name"};function Vt(e,t,s,l,u,$){return a(),m("div",null,[i("span",yt,r(e.$t("kling.name.ratio")),1),i("div",wt,[(a(!0),m(V,null,T(e.options,(d,p)=>(a(),m("div",{key:p,class:U({active:e.active===p,item:!0}),onClick:g=>e.value=d.value},[i("div",{class:U(["preview",d.label])},[i("div",{class:"rect",style:ye({width:d.width+"px",height:d.height+"px"})},null,4)],2),i("p",St,r(d.label),1)],10,Ct))),128))])])}const It=w(bt,[["render",Vt],["__scopeId","data-v-cdb14b2f"]]),Tt=y({name:"StartImage",components:{ElUpload:N,ElButton:M,ElTooltip:Q,InfoIcon:I,FontAwesomeIcon:L,ImagePreview:j},mixins:[W,O],emits:["change"],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},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(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),Et={class:"relative"},Lt={class:"flex justify-between"},Mt={class:"flex justify-start items-center"},Ut={class:"text-sm font-bold"};function Rt(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-tooltip"),h=o("el-upload");return a(),m("div",Et,[i("div",Lt,[i("div",Mt,[i("span",Ut,r(e.$t("kling.name.startImage")),1),n(d,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),n(h,{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:f(({file:_})=>[_.url&&_.percentage!==void 0?(a(),S(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(k,{content:e.$t("kling.message.uploadReferencesExceed"),disabled:!e.reachedLimit,placement:"top"},{default:f(()=>[i("span",null,[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.reachedLimit},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+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 At=w(Tt,[["render",Rt],["__scopeId","data-v-756dc269"]]),Dt=y({name:"EndImage",components:{ElUpload:N,ElButton:M,ElTooltip:Q,ImagePreview:j,InfoIcon:I,FontAwesomeIcon:L},mixins:[W,O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return Y(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t("kling.message.uploadReferencesExceed"):"":this.$t("kling.message.endImageRequiresStart"):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=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?this.hasStartImage?!0:(b.warning(this.$t("kling.message.endImageRequiresStart")),!1):(b.warning(this.$t("kling.message.endImageNotSupported")),!1)},onExceed(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),Pt={class:"relative"},Gt={class:"flex justify-between"},Kt={class:"flex justify-start items-center"},Ot={class:"text-sm font-bold"};function jt(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-tooltip"),h=o("el-upload");return a(),m("div",Pt,[i("div",Gt,[i("div",Kt,[i("span",Ot,r(e.$t("kling.name.endImage")),1),n(d,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),n(h,{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:f(({file:_})=>[_.url&&_.percentage!==void 0?(a(),S(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(k,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:"top"},{default:f(()=>[i("span",null,[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.uploadDisabled},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+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 Nt=w(Dt,[["render",jt],["__scopeId","data-v-c1b257e5"]]),Bt=y({name:"CfgScaleSelector",components:{ElSlider:ge,InfoIcon:I,ElInputNumber:pe},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=Ee)}}),zt={class:"flex justify-between"},Ft={class:"flex justify-start items-center"},qt={class:"text-sm font-bold"},Ht={class:"flex justify-end items-center"},Jt={class:"w-full"};function Wt(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input-number"),g=o("el-slider");return a(),m("div",null,[i("div",zt,[i("div",Ft,[i("span",qt,r(e.$t("kling.name.cfgScale")),1),n(d,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),i("div",Ht,[n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),"controls-position":"right"},null,8,["modelValue"])])]),i("div",Jt,[n(g,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=c=>e.value=c),min:0,max:1,step:.1},null,8,["modelValue"])])])}const Qt=w(Bt,[["render",Wt]]),Yt=y({name:"GenerateAudioSelector",components:{ElSwitch:fe,InfoIcon:I},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},supported(){return!!(H.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??Le:!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})}}}),Xt={class:"relative"},Zt={class:"flex justify-between items-center"},xt={class:"flex justify-start items-center"},eo={class:"text-sm font-bold"};function to(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-switch");return a(),m("div",Xt,[i("div",Zt,[i("div",xt,[i("span",eo,r(e.$t("kling.name.generateAudio")),1),n(d,{content:e.tooltipContent},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",disabled:!e.supported},null,8,["modelValue","disabled"])])])}const oo=w(Yt,[["render",to]]),no=["horizontal","vertical","pan","tilt","roll","zoom"],so=y({name:"CameraControlSelector",components:{ElSelect:G,ElOption:P,ElSlider:ge,ElInputNumber:pe,InfoIcon:I},data(){return{configKeys:no}},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||""},selectedModel(){return this.$store.state.kling?.config?.model||""},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return Y(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t("kling.description.cameraControlDisabledImage2Video"):this.$t("kling.description.cameraControl"):this.$t("kling.description.cameraControlNotSupported")},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 l={...t};delete l.camera_control,this.$store.commit("kling/setConfig",l);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||{},l=s.camera_control||{type:"simple"},u={...l.config||{}};t==null?delete u[e]:u[e]=t,this.$store.commit("kling/setConfig",{...s,camera_control:{...l,type:"simple",config:u}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),io={class:"field"},ao={class:"header"},lo={class:"text-sm font-bold"},ro={key:0,class:"config-grid"},co={class:"cfg-row-head"},uo={class:"cfg-name"};function mo(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select"),c=o("el-input-number"),k=o("el-slider");return a(),m("div",io,[i("div",ao,[i("span",lo,r(e.$t("kling.name.cameraControl")),1),n(d,{content:e.tooltipContent},null,8,["content"])]),n(g,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||(t[0]=h=>e.selectedTypeRaw=h),class:"value",placeholder:e.$t("kling.placeholder.cameraType"),clearable:!0,disabled:e.disabled},{default:f(()=>[(a(!0),m(V,null,T(e.typeOptions,h=>(a(),S(p,{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"]),e.selectedType==="simple"&&!e.disabled?(a(),m("div",ro,[(a(!0),m(V,null,T(e.configKeys,h=>(a(),m("div",{key:h,class:"cfg-row"},[i("div",co,[i("span",uo,r(e.$t(`kling.name.cc_${h}`)),1),n(c,{modelValue:e.configValues[h],"onUpdate:modelValue":_=>e.configValues[h]=_,min:-1,max:1,step:.1,precision:1,"controls-position":"right",size:"small",class:"cfg-num",onChange:_=>e.onNumberChange(h,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),n(k,{"model-value":e.configValues[h]??0,min:-1,max:1,step:.1,onInput:_=>e.onSliderChange(h,_)},null,8,["model-value","onInput"])]))),128))])):v("",!0)])}const po=w(so,[["render",mo],["__scopeId","data-v-cd896060"]]),$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"]}],F=", ";function go(e,t){const s=(e||"").trim();return s?s.includes(t)?s:`${s}${F}${t}`:t}function q(e,t){if(!e||!t)return e||"";const s=[`${t}${F}`,`${F}${t}`,t];let l=e;for(const u of s)if(l.includes(u)){l=l.replace(u,"");break}return l.replace(/(?:,\s*)+$/,"").replace(/^(?:,\s*)+/,"")}const fo=y({name:"InspirationPills",components:{FontAwesomeIcon:L},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 l=e.indexOf(s);l!==-1&&t.push({text:s,idx:l})}return t.sort((s,l)=>s.idx-l.idx).map(s=>s.text)}},methods:{onRemove(e){const t=q(this.prompt,e);this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:t})}}}),ho={key:0,class:"pills",role:"list"},_o={class:"pill-text"},$o=["aria-label","onClick"];function ko(e,t,s,l,u,$){const d=o("font-awesome-icon");return e.selected.length>0?(a(),m("div",ho,[(a(!0),m(V,null,T(e.selected,p=>(a(),m("div",{key:p,class:"pill",role:"listitem"},[i("span",_o,r(p),1),i("button",{type:"button",class:"pill-remove","aria-label":e.$t("kling.inspiration.removeChip"),onClick:we(g=>e.onRemove(p),["stop"])},[n(d,{icon:"fa-solid fa-xmark"})],8,$o)]))),128))])):v("",!0)}const vo=w(fo,[["render",ko],["__scopeId","data-v-5fc4fa65"]]),bo="",yo=y({name:"PromptInput",components:{ElButton:M,FontAwesomeIcon:L,PromptTextarea:Ae,InspirationPills:vo},emits:["open-inspiration"],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=bo)}});function wo(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("inspiration-pills"),c=o("prompt-textarea");return a(),S(c,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||(t[1]=k=>e.prompt=k),title:e.$t("kling.name.prompt"),info:e.$t("kling.description.prompt"),placeholder:e.$t("kling.placeholder.prompt")},{actions:f(()=>[n(p,{text:"",size:"small",class:"inspiration-btn",onClick:t[0]||(t[0]=k=>e.$emit("open-inspiration"))},{default:f(()=>[n(d,{icon:"fa-regular fa-lightbulb",class:"mr-1"}),C(" "+r(e.$t("kling.inspiration.openButton")),1)]),_:1})]),before:f(()=>[n(g)]),_:1},8,["modelValue","title","info","placeholder"])}const Co=w(yo,[["render",wo],["__scopeId","data-v-c01fc1a6"]]),So="",Vo=y({name:"NegativePromptInput",components:{ElInput:he,InfoIcon:I},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=So)}}),Io={class:"field"},To={class:"box"},Eo={class:"title font-bold"};function Lo(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input");return a(),m("div",Io,[i("div",To,[i("h2",Eo,r(e.$t("kling.name.negativePrompt")),1),n(d,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Mo=w(Vo,[["render",Lo],["__scopeId","data-v-de98cf01"]]),Uo=y({name:"InspirationDrawer",components:{ElDrawer:ue,ElButton:M,FontAwesomeIcon:L},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(q(this.prompt,e)):this.setPrompt(go(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(const t of this.allChipTexts)for(;e.includes(t);)e=q(e,t);this.setPrompt(e)}}}),Ro={class:"drawer-content"},Ao={class:"drawer-header"},Do={class:"title-row"},Po={class:"title"},Go={class:"hint"},Ko={key:0,class:"selected-bar"},Oo={class:"selected-text"},jo={class:"groups"},No={class:"group-title"},Bo={class:"chip-grid"},zo=["onClick"];function Fo(e,t,s,l,u,$){const d=o("font-awesome-icon"),p=o("el-button"),g=o("el-drawer");return a(),S(g,{modelValue:e.visible,"onUpdate:modelValue":t[1]||(t[1]=c=>e.visible=c),direction:"rtl","with-header":!1,size:e.drawerSize,"custom-class":"kling-inspiration-drawer","destroy-on-close":!1},{default:f(()=>[i("div",Ro,[i("div",Ao,[i("div",Do,[n(d,{icon:"fa-regular fa-lightbulb",class:"mr-2"}),i("span",Po,r(e.$t("kling.inspiration.title")),1)]),n(p,{text:"",icon:e.Close,class:"close-btn",onClick:t[0]||(t[0]=c=>e.visible=!1)},null,8,["icon"])]),i("div",Go,r(e.$t("kling.inspiration.hint")),1),e.selectedCount>0?(a(),m("div",Ko,[i("span",Oo,r(e.$t("kling.inspiration.selectedSummary",{count:e.selectedCount})),1),n(p,{text:"",size:"small",class:"clear-btn",onClick:e.onClearSelected},{default:f(()=>[C(r(e.$t("kling.inspiration.clearSelected")),1)]),_:1},8,["onClick"])])):v("",!0),i("div",jo,[(a(!0),m(V,null,T(e.groups,c=>(a(),m("div",{key:c.groupKey,class:"group"},[i("div",No,r(e.$t(`kling.inspiration.group.${c.groupKey}`)),1),i("div",Bo,[(a(!0),m(V,null,T(c.chipKeys,k=>(a(),m("button",{key:k,type:"button",class:U({chip:!0,active:e.isSelected(e.chipText(k))}),onClick:h=>e.onToggle(e.chipText(k))},r(e.chipText(k)),11,zo))),128))])]))),128))])])]),_:1},8,["modelValue","size"])}const qo=w(Uo,[["render",Fo],["__scopeId","data-v-7d457a69"]]),Ho={"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"},Jo={std:"720p",pro:"1080p","4k":"4K"},Wo=y({name:"SummaryChip",components:{FontAwesomeIcon:L},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){const e=this.config?.model||"kling-v2-5-turbo";return Ho[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||""},modeLabel(){const e=this.config?.mode||"std";return Jo[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),Qo={class:"summary-chip"},Yo=["title"],Xo=["title"],Zo=["title"],xo=["title"],en=["title"];function tn(e,t,s,l,u,$){const d=o("font-awesome-icon");return a(),m("div",Qo,[i("span",{class:"part",title:e.$t("kling.name.model")},r(e.modelLabel),9,Yo),t[0]||(t[0]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.duration")},r(e.durationLabel),9,Xo),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,Zo),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?(a(),m("span",{key:0,class:"audio",title:e.$t("kling.name.generateAudio")},[n(d,{icon:"fa-solid fa-headphones"})],8,en)):v("",!0)])}const on=w(Wo,[["render",tn],["__scopeId","data-v-418a6733"]]),nn=y({name:"ConfigPanel",components:{ElButton:M,Consumption:me,FontAwesomeIcon:L,PromptInput:Co,NegativePromptInput:Mo,ModelSelector:st,ModeSelector:ut,DurationSelector:vt,RatioSelector:It,StartImage:At,CfgScaleSelector:Qt,GenerateAudioSelector:oo,CameraControlSelector:po,InspirationDrawer:qo,SummaryChip:on,EndImage:Nt},emits:["generate"],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return _e(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),sn={class:"flex flex-col h-full"},an={class:"flex-1 overflow-y-auto p-5"},ln={class:"flex flex-col items-center justify-center px-5 pb-5"};function rn(e,t,s,l,u,$){const d=o("prompt-input"),p=o("model-selector"),g=o("ratio-selector"),c=o("start-image"),k=o("end-image"),h=o("duration-selector"),_=o("mode-selector"),E=o("generate-audio-selector"),R=o("camera-control-selector"),A=o("cfg-scale-selector"),B=o("negative-prompt-input"),ke=o("summary-chip"),ve=o("consumption"),x=o("font-awesome-icon"),ee=o("el-button"),be=o("inspiration-drawer");return a(),m("div",sn,[i("div",an,[n(d,{class:"mb-4",onOpenInspiration:t[0]||(t[0]=te=>e.inspirationOpen=!0)}),n(p,{class:"mb-4"}),n(g,{class:"mb-4"}),n(c,{class:"mb-2"}),n(k,{class:"mb-2"}),n(h,{class:"mb-4"}),n(_,{class:"mb-4"}),n(E,{class:"mb-4"}),n(R,{class:"mb-4"}),n(A,{class:"mb-4"}),n(B,{class:"mb-4"})]),i("div",ln,[n(ke),n(ve,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),S(ee,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[n(x,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(a(),S(ee,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[n(x,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))]),n(be,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||(t[1]=te=>e.inspirationOpen=te)},null,8,["modelValue"])])}const cn=w(nn,[["render",rn]]),dn=y({name:"MotionImage",components:{ElUpload:N,ElButton:M,InfoIcon:I,FontAwesomeIcon:L,ImagePreview:j},mixins:[W,O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){b.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){b.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()}}}),un={class:"relative"},mn={class:"flex justify-between"},pn={class:"flex justify-start items-center"},gn={class:"text-sm font-bold"};function fn(e,t,s,l,u,$){const d=o("info-icon"),p=o("image-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-upload");return a(),m("div",un,[i("div",mn,[i("div",pn,[i("span",gn,r(e.$t("kling.name.motionImage")),1),n(d,{content:e.$t("kling.description.motionImage")},null,8,["content"])])]),n(k,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),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:f(({file:h})=>[h.url&&h.percentage!==void 0?(a(),S(p,{key:0,url:h.url,name:h.name,percentage:h.percentage,onRemove:_=>e.onRemove(h)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const hn=w(dn,[["render",fn],["__scopeId","data-v-e52eaf2f"]]),_n=y({name:"MotionVideo",components:{ElUpload:N,ElButton:M,InfoIcon:I,FilePreview:Pe,FontAwesomeIcon:L},mixins:[O],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){b.warning(this.$t("kling.message.uploadVideoExceed"))},onError(){b.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:(b.error(this.$t("kling.message.uploadVideoSizeExceed")),!1):(b.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()}}}),$n={class:"relative"},kn={class:"flex justify-between"},vn={class:"flex justify-start items-center"},bn={class:"text-sm font-bold"};function yn(e,t,s,l,u,$){const d=o("info-icon"),p=o("file-preview"),g=o("font-awesome-icon"),c=o("el-button"),k=o("el-upload");return a(),m("div",$n,[i("div",kn,[i("div",vn,[i("span",bn,r(e.$t("kling.name.motionVideo")),1),n(d,{content:e.$t("kling.description.motionVideo")},null,8,["content"])])]),n(k,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=h=>e.fileList=h),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:f(({file:h})=>[h.percentage!==void 0?(a(),S(p,{key:0,url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:_=>e.onRemove(h)},null,8,["url","name","percentage","onRemove"])):v("",!0)]),default:f(()=>[n(c,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[n(g,{icon:"fa-solid fa-upload",class:"icon mr-1"}),C(" "+r(e.$t("kling.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const wn=w(_n,[["render",yn],["__scopeId","data-v-7019a8d2"]]),Cn=y({name:"MotionPromptInput",components:{ElInput:he,InfoIcon:I},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||""},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),Sn={class:"field"},Vn={class:"box"},In={class:"title font-bold"};function Tn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-input");return a(),m("div",Sn,[i("div",Vn,[i("h2",In,r(e.$t("kling.name.motionPrompt")),1),n(d,{content:e.$t("kling.description.motionPrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.motionPrompt")},null,8,["modelValue","placeholder"])])}const En=w(Cn,[["render",Tn],["__scopeId","data-v-ca9fdbe5"]]),re="video",Ln=y({name:"CharacterOrientationSelector",components:{ElRadioGroup:Ke,ElRadioButton:Ge,InfoIcon:I},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)}}),Mn={class:"field"},Un={class:"header"},Rn={class:"text-sm font-bold"};function An(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-radio-button"),g=o("el-radio-group");return a(),m("div",Mn,[i("div",Un,[i("span",Rn,r(e.$t("kling.name.characterOrientation")),1),n(d,{content:e.$t("kling.description.characterOrientation")},null,8,["content"])]),n(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),size:"small",class:"value"},{default:f(()=>[n(p,{label:"image"},{default:f(()=>[C(r(e.$t("kling.name.orientationImage")),1)]),_:1}),n(p,{label:"video"},{default:f(()=>[C(r(e.$t("kling.name.orientationVideo")),1)]),_:1})]),_:1},8,["modelValue"])])}const Dn=w(Ln,[["render",An],["__scopeId","data-v-7a91195b"]]),ce="std",Pn=y({name:"MotionModeSelector",components:{ElSelect:G,ElOption:P,InfoIcon:I},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)}}),Gn={class:"field"},Kn={class:"header"},On={class:"title font-bold"};function jn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-option"),g=o("el-select");return a(),m("div",Gn,[i("div",Kn,[i("h2",On,r(e.$t("kling.name.mode")),1),n(d,{content:e.$t("kling.description.motionMode")},null,8,["content"])]),n(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=c=>e.value=c),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:f(()=>[(a(!0),m(V,null,T(e.options,c=>(a(),S(p,{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Nn=w(Pn,[["render",jn],["__scopeId","data-v-1295688c"]]),Bn=y({name:"KeepOriginalSoundSelector",components:{ElSwitch:fe,InfoIcon:I},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"})}}}}),zn={class:"relative"},Fn={class:"flex justify-between items-center"},qn={class:"flex justify-start items-center"},Hn={class:"text-sm font-bold"};function Jn(e,t,s,l,u,$){const d=o("info-icon"),p=o("el-switch");return a(),m("div",zn,[i("div",Fn,[i("div",qn,[i("span",Hn,r(e.$t("kling.name.keepOriginalSound")),1),n(d,{content:e.$t("kling.description.keepOriginalSound")},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g)},null,8,["modelValue"])])])}const Wn=w(Bn,[["render",Jn]]),Qn=y({name:"MotionPanel",components:{ElButton:M,FontAwesomeIcon:L,Consumption:me,MotionImage:hn,MotionVideo:wn,MotionPromptInput:En,CharacterOrientationSelector:Dn,MotionModeSelector:Nn,KeepOriginalSoundSelector:Wn},emits:["generate"],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return _e(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")}}}),Yn={class:"flex flex-col h-full"},Xn={class:"flex-1 overflow-y-auto p-5"},Zn={class:"flex flex-col items-center justify-center px-5 pb-5"};function xn(e,t,s,l,u,$){const d=o("motion-image"),p=o("motion-video"),g=o("motion-prompt-input"),c=o("character-orientation-selector"),k=o("motion-mode-selector"),h=o("keep-original-sound-selector"),_=o("consumption"),E=o("font-awesome-icon"),R=o("el-button");return a(),m("div",Yn,[i("div",Xn,[n(d,{class:"mb-3"}),n(p,{class:"mb-3"}),n(g,{class:"mb-4"}),n(c,{class:"mb-4"}),n(k,{class:"mb-4"}),n(h,{class:"mb-4"})]),i("div",Zn,[n(_,{value:e.consumption,service:e.service},null,8,["value","service"]),n(R,{type:"primary",class:"btn w-full",round:"",disabled:!e.canGenerate,onClick:e.onGenerate},{default:f(()=>[n(E,{icon:"fa-solid fa-magic",class:"mr-2"}),C(" "+r(e.$t("kling.button.generateMotion")),1)]),_:1},8,["disabled","onClick"])])])}const es=w(Qn,[["render",xn]]),ts=y({name:"KlingTabSwitcher",components:{ElTabs:je,ElTabPane:Oe,ElTag:Se},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)}}}),os=["title"],ns={class:"text"};function ss(e,t,s,l,u,$){const d=o("el-tag"),p=o("el-tab-pane"),g=o("el-tabs");return a(),S(g,{"model-value":e.modelValue,class:"kling-tabs",stretch:"","onUpdate:modelValue":e.onUpdate},{default:f(()=>[(a(!0),m(V,null,T(e.tabs,c=>(a(),S(p,{key:c.value,name:c.value,disabled:c.disabled},{label:f(()=>[i("span",{class:"tab-label",title:c.disabled?c.disabledReason:void 0},[i("span",ns,r(c.label),1),c.badge?(a(),S(d,{key:0,size:"small",type:"warning",class:"badge"},{default:f(()=>[C(r(c.badge),1)]),_:2},1024)):v("",!0)],8,os)]),_:2},1032,["name","disabled"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])}const is=w(ts,[["render",ss],["__scopeId","data-v-bf00c27e"]]),as=y({name:"TaskPreview",components:{ElImage:qe,CopyToClipboard:Ne,FontAwesomeIcon:L,ElAlert:Fe,VideoPlayer:Be,ElTooltip:Q,ElButton:M,ImagePreview:j,ApiCodeButton:ze},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")}}}),ls={class:"preview"},rs={class:"left"},cs={class:"main"},ds={class:"bot"},us={class:"datetime"},ms={class:"info"},ps={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},gs={key:1,class:"prompt mt-2"},fs={key:0},hs={key:1},_s={key:0,class:U({content:!0,failed:!0})},$s={key:0,class:"mb-4"},ks={key:1,class:U({operations:!0,"mt-2":!0})},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ys={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ws={key:1,class:U({content:!0})},Cs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ss={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ts={key:2,class:U({content:!0})},Es={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ls={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Ms(e,t,s,l,u,$){const d=o("el-image"),p=o("image-preview"),g=o("video-player"),c=o("el-button"),k=o("el-tooltip"),h=o("api-code-button"),_=o("font-awesome-icon"),E=o("copy-to-clipboard"),R=o("el-alert");return a(),m("div",ls,[i("div",rs,[n(d,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),i("div",cs,[i("div",ds,[C(r(e.$t("kling.name.klingBot"))+" ",1),i("span",us,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",ms,[e.referenceImages.length>0?(a(),m("div",ps,[(a(!0),m(V,null,T(e.referenceImages,(A,B)=>(a(),S(p,{key:B,url:A.url,name:A.name,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),m("p",gs,[C(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),m("span",fs," - ("+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"?(a(),m("span",hs," - ("+r(e.$t("kling.status.processing"))+") ",1)):v("",!0)])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),m("div",_s,[e.modelValue?.response.video_url?(a(),m("div",$s,[n(g,{src:e.modelValue?.response.video_url},null,8,["src"])])):v("",!0),e.modelValue?.response.success?(a(),m("div",ks,[n(k,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:f(()=>[e.modelValue?.response.video_url?(a(),S(c,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=A=>e.onDownload(A,e.modelValue?.response.video_url))},{default:f(()=>[C(r(e.$t("kling.button.download")),1)]),_:1})):v("",!0)]),_:1},8,["content"]),n(h,{path:"/kling/videos",body:e.modelValue?.request},null,8,["body"])])):v("",!0),n(R,{closable:!1,class:"mt-2 success"},{default:f(()=>[i("p",vs,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.model"))+": "+r(e.modelValue?.request?.model),1)]),i("p",bs,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",ys,[n(_,{icon:"fa-solid fa-clock",class:"mr-1"}),C(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===!1?(a(),m("div",ws,[n(R,{closable:!1,class:"failure"},{template:f(()=>[n(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),C(" "+r(e.$t("kling.name.failure")),1)]),default:f(()=>[i("p",Cs,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ss,[n(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),C(" "+r(e.$t("kling.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),n(E,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),m("p",Vs,[n(_,{icon:"fa-solid fa-clock",class:"mr-1"}),C(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):v("",!0),e.modelValue?.response?.trace_id?(a(),m("p",Is,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0),e.modelValue?.response?.success===void 0?(a(),m("div",Ts,[n(R,{closable:!1,class:"info"},{template:f(()=>[n(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),C(" "+r(e.$t("kling.name.failure")),1)]),default:f(()=>[i("p",Es,[n(_,{icon:"fa-solid fa-magic",class:"mr-1"}),C(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(E,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),m("p",Ls,[n(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),C(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(E,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):v("",!0)]),_:1})])):v("",!0)])])}const Us=w(as,[["render",Ms],["__scopeId","data-v-422e2570"]]),Rs=y({name:"RecentPanel",components:{TaskPreview:Us,NoTasks:De,BotPlaceholder:He,ScrollList:Me},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?.()}}}),As={key:0},Ds={key:2,class:"w-full h-full flex items-center justify-center"};function Ps(e,t,s,l,u,$){const d=o("bot-placeholder"),p=o("task-preview"),g=o("scroll-list"),c=o("no-tasks");return a(),m(V,null,[e.tasks?.items===void 0?(a(),m("div",As,[n(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),S(g,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),m(V,null,T(e.tasks?.items,k=>(a(),S(p,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),m("div",Ds,[n(c)])):v("",!0)],64)}const Gs=w(Rs,[["render",Ps]]),de=Ve("kling"),Ks=y({name:"KlingIndex",components:{ConfigPanel:cn,MotionPanel:es,TabSwitcher:is,Layout:Ze,RecentPanel:Gs},mixins:[Re],inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===se.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===se.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 Ue({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:l}=e||{};console.debug("limit",t,"createdAtMin",s,"createdAtMax",l),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:t,createdAtMin:s,createdAtMax:l})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,u=>this.$t(u),u=>b.warning(u)))return;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){b.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 l=this.credential?.token;if(!l){console.error("no token specified");return}b.info(this.$t("kling.message.startingTask")),oe("kling",ne.generate(s,{token:l})).then(()=>{b.success(this.$t("kling.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===le?b.error(this.$t("kling.message.usedUp")):b.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(){if(!ae(this.uploadTracker,l=>this.$t(l),l=>b.warning(l)))return;const e=this.motionConfig||{};if(!e.image_url||!e.video_url){b.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}b.info(this.$t("kling.message.startingTask")),oe("kling",ne.motion(t,{token:s})).then(()=>{b.success(this.$t("kling.message.startTaskSuccess"))}).catch(l=>{l?.response?.data?.error?.code===le?b.error(this.$t("kling.message.usedUp")):b.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),Os={class:"flex flex-col h-full"},js={class:"flex-1 min-h-0"};function Ns(e,t,s,l,u,$){const d=o("tab-switcher"),p=o("config-panel"),g=o("motion-panel"),c=o("recent-panel"),k=o("layout");return a(),S(k,null,{config:f(()=>[i("div",Os,[n(d,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,["model-value","onUpdate:modelValue"]),i("div",js,[e.taskType==="videos"?(a(),S(p,{key:0,onGenerate:e.onGenerate},null,8,["onGenerate"])):e.taskType==="motion"?(a(),S(g,{key:1,onGenerate:e.onGenerateMotion},null,8,["onGenerate"])):v("",!0)])])]),result:f(()=>[n(c,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ji=w(Ks,[["render",Ns]]);export{Ji as default};
@@ -1 +1 @@
1
- import{F as R}from"./index.es-CJfukhtE.js";import{E as S}from"./index-C71cSz36.js";import{E as D}from"./index-BpUUocOH.js";import{d as v,C as r,D as i,z as C,E as t,y as c,J as o,q as s,H as a,M as I,L as U,x as $,N as h,I as m,K as M,P as L}from"./vendor-vue-BWIxYyW8.js";import{J as b,bq as O,ct as B,b6 as j,S as G,cu as N}from"./index-DrvYmhcP.js";import{a as F,b as q}from"./wan-DKq-jYOo.js";import{E as P,a as A}from"./index-D7KBMZcH.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{u as W,a as H,e as J}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as K,S as Q,l as X}from"./pagination-CJx5Nyq8.js";import{I as Y}from"./ImagePreview-BKe9oBpc.js";import{E as Z}from"./index-BRAaGgzT.js";import{E as T}from"./index-BJuXTSkv.js";import{P as x,N as ee}from"./NoTasks-Ct9vzToj.js";import{C as te}from"./Consumption-Bx3U0iJn.js";import{a as oe}from"./price-C6x3zgFx.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{C as ne}from"./CopyToClipboard-ffsw6Et3.js";import{V as ae}from"./VideoPlayer-CMIYFrB5.js";import{A as le}from"./ApiCodeButton-Drq1wo0T.js";import{E as re}from"./index-BoKfbtX5.js";import{E as ie}from"./index-rDyNuNM8.js";import{E as ce}from"./index-Blb1DDfP.js";import{B as de}from"./BotPlaceholder-Bb3okszP.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-0JQvyqxg.js";import"./typescript-lkSt6sMt.js";import"./index-B8svBnpb.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-Box1EVJE.js";import"./_Uint8Array-CVqSvQNa.js";import"./castArray-DEdhtRiU.js";import"./index-lfOMNaVh.js";import"./index-DZuGeaea.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_initCloneObject-C7zi7Gf-.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CFfoccqE.js";const ue=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,n,p,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",pe,[i("div",me,[C(e.$slots,"config",{},void 0,!0)]),i("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=b(ue,[["render",he],["__scopeId","data-v-3b0702a7"]]),ge=v({name:"ModelSelector",components:{ElSelect:A,ElOption:P},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)}}),$e={class:"field"},we={class:"title font-bold"},ve={class:"float-left"};function be(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",$e,[i("h2",we,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b(ge,[["render",be],["__scopeId","data-v-eb090beb"]]),ye="720p",Ve=v({name:"ResolutionSelector",components:{ElSelect:A,ElOption:P},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=ye)}}),Te={class:"field"},Ee={class:"title font-bold"},Ie={class:"float-left"};function Se(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Te,[i("h2",Ee,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ie,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ve,[["render",Se],["__scopeId","data-v-3e39f44e"]]),Le=5,Ce=v({name:"DurationSelector",components:{ElSelect:A,ElOption:P},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=Le)}}),Re={class:"field"},Pe={class:"title font-bold"},Ae={class:"float-left"};function Ge(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Re,[i("h2",Pe,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ae,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ce,[["render",Ge],["__scopeId","data-v-5f35a2cf"]]),Me=v({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:S,InfoIcon:K,ImagePreview:Y},mixins:[z,W],data(){return{fileList:[],uploadUrl:O()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Oe={class:"relative"},Be={class:"flex justify-between"},je={class:"flex justify-start items-center"},Ne={class:"text-sm font-bold"};function Fe(e,n,p,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Oe,[i("div",Be,[i("div",je,[i("span",Ne,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:f})=>[f.url&&f.percentage!==void 0?(s(),$(u,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[h(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const qe=b(Me,[["render",Fe],["__scopeId","data-v-41a69004"]]),ze="",We=v({name:"PromptInput",components:{PromptTextarea:x},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}});function He(e,n,p,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Je=b(We,[["render",He]]),Ke=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:Je,ImageUrlInput:qe,ModelSelector:ke,ResolutionSelector:Ue,DurationSelector:De,Consumption:te},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return oe(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")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ze(e,n,p,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),f=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",Qe,[i("div",Xe,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(s(),$(f,{key:2,class:"mb-2"})):m("",!0)]),i("div",Ye,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=b(Ke,[["render",Ze]]),et=v({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:ne,FontAwesomeIcon:R,ElAlert:ie,VideoPlayer:ae,ElTooltip:re,ElButton:S,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},rt={key:0,class:"prompt mt-2"},it={key:0},ct={key:1},dt={key:0,class:L({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:L({operations:!0,"mt-2":!0})},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bt={key:2,class:L({content:!0})},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function yt(e,n,p,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),f=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",tt,[i("div",ot,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",st,[i("div",nt,[h(a(e.$t("wan.name.wanBot"))+" ",1),i("span",at,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",lt,[e.modelValue?.request?.prompt?(s(),r("p",rt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),r("span",it," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",ct," - ("+a(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",dt,[e.modelValue?.response?.video_url?(s(),r("div",ut,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(s(),r("div",pt,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(Pt=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(f,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):m("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",mt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",ht,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),r("div",_t,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",gt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",$t,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",wt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),i("p",vt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",bt,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",kt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const Vt=b(et,[["render",yt],["__scopeId","data-v-916b8970"]]),Tt=v({name:"RecentPanel",components:{TaskPreview:Vt,BotPlaceholder:de,NoTasks:ee,ScrollList:Q},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?.()}}}),Et={key:0},It={key:2,class:"w-full h-full flex items-center justify-center"};function St(e,n,p,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",Et,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=f=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,f=>(s(),$(u,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),r("div",It,[t(w)])):m("",!0)],64)}const Ut=b(Tt,[["render",St]]),Lt=N("wan"),Ct=v({name:"WanIndex",components:{ConfigPanel:xe,Layout:_e,RecentPanel:Ut},mixins:[H],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===G.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===G.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 X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("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:p,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",p,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:p,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!J(this.uploadTracker,p=>this.$t(p),p=>T.warning(p)))return;const e={...this.config,callback_url:Lt},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===se?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,n,p,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=b(Ct,[["render",Rt]]);export{Lo as default};
1
+ import{F as R}from"./index.es-ChY1FlMW.js";import{E as S}from"./index-Cf_g4cNy.js";import{E as D}from"./index-Cvqp7__y.js";import{d as v,C as r,D as i,z as C,E as t,y as c,J as o,q as s,H as a,M as I,L as U,x as $,N as h,I as m,K as M,P as L}from"./vendor-vue-BWIxYyW8.js";import{J as b,br as O,cx as B,b6 as j,S as G,cy as N}from"./index-D8aPgnGc.js";import{a as F,b as q}from"./wan-DKq-jYOo.js";import{E as P,a as A}from"./index-qdj2_nOs.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{u as W,a as H,e as J}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as K,S as Q,l as X}from"./pagination-C95fpX7B.js";import{I as Y}from"./ImagePreview-BX_sHHDN.js";import{E as Z}from"./index-BTNb2CTo.js";import{E as T}from"./index-DZku_iGx.js";import{P as x,N as ee}from"./NoTasks-tQdol0_2.js";import{C as te}from"./Consumption-CpH3KfFv.js";import{a as oe}from"./price-CMLeXGYL.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{C as ne}from"./CopyToClipboard-CZv5BP7B.js";import{V as ae}from"./VideoPlayer-C5VQJMsC.js";import{A as le}from"./ApiCodeButton-DqTuCryR.js";import{E as re}from"./index-DbIiryMD.js";import{E as ie}from"./index-CbnGYE9U.js";import{E as ce}from"./index-mLHeIJV7.js";import{B as de}from"./BotPlaceholder-xpsKXt0P.js";import"./use-form-item-Bb96LHMh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-CcYwI3ai.js";import"./typescript-B00PCKaI.js";import"./index-Pbe8CChL.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-CfWw3lpS.js";import"./_Uint8Array-DtfKpEZY.js";import"./castArray-CbnSaxKn.js";import"./index-DNCRlcDT.js";import"./index-BNHSnEGK.js";import"./debounce-Dl8en2o_.js";import"./_baseIteratee-CY2Cl0zu.js";import"./index-D_7iS0Ka.js";import"./highlight-CHE-J5E7.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DhOSddkE.js";import"./_baseClone-dGPbkYnN.js";import"./_initCloneObject-BzDf8hsu.js";import"./vue-plyr-BO2nlN4c.js";import"./index-TUT4Ls42.js";const ue=v({name:"LayoutWan",components:{ElDrawer:D,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function he(e,n,p,_,k,y){const d=o("font-awesome-icon"),u=o("el-button"),l=o("el-drawer");return s(),r("div",pe,[i("div",me,[C(e.$slots,"config",{},void 0,!0)]),i("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:n[0]||(n[0]=w=>e.drawer=!0)},{default:c(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(l,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"340px"},{default:c(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=b(ue,[["render",he],["__scopeId","data-v-3b0702a7"]]),ge=v({name:"ModelSelector",components:{ElSelect:A,ElOption:P},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)}}),$e={class:"field"},we={class:"title font-bold"},ve={class:"float-left"};function be(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",$e,[i("h2",we,a(e.$t("wan.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",ve,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ke=b(ge,[["render",be],["__scopeId","data-v-eb090beb"]]),ye="720p",Ve=v({name:"ResolutionSelector",components:{ElSelect:A,ElOption:P},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=ye)}}),Te={class:"field"},Ee={class:"title font-bold"},Ie={class:"float-left"};function Se(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Te,[i("h2",Ee,a(e.$t("wan.name.resolution")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ie,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Ve,[["render",Se],["__scopeId","data-v-3e39f44e"]]),Le=5,Ce=v({name:"DurationSelector",components:{ElSelect:A,ElOption:P},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=Le)}}),Re={class:"field"},Pe={class:"title font-bold"},Ae={class:"float-left"};function Ge(e,n,p,_,k,y){const d=o("el-option"),u=o("el-select");return s(),r("div",Re,[i("h2",Pe,a(e.$t("wan.name.duration")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:c(()=>[(s(!0),r(I,null,U(e.options,l=>(s(),$(d,{key:l.value,label:l.label,value:l.value},{default:c(()=>[i("span",Ae,a(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ce,[["render",Ge],["__scopeId","data-v-5f35a2cf"]]),Me=v({name:"ImageUrlInput",components:{ElUpload:Z,ElButton:S,InfoIcon:K,ImagePreview:Y},mixins:[z,W],data(){return{fileList:[],uploadUrl:O()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){T.warning(this.$t("wan.message.uploadImageExceed"))},onError(){T.error(this.$t("wan.message.uploadImageError"))},async onRemove(){T.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Oe={class:"relative"},Be={class:"flex justify-between"},je={class:"flex justify-start items-center"},Ne={class:"text-sm font-bold"};function Fe(e,n,p,_,k,y){const d=o("info-icon"),u=o("image-preview"),l=o("el-button"),w=o("el-upload");return s(),r("div",Oe,[i("div",Be,[i("div",je,[i("span",Ne,a(e.$t("wan.name.imageUrl")),1),t(d,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(w,{"file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=f=>e.fileList=f),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:c(({file:f})=>[f.url&&f.percentage!==void 0?(s(),$(u,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:g=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:c(()=>[t(l,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:c(()=>[h(a(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const qe=b(Me,[["render",Fe],["__scopeId","data-v-41a69004"]]),ze="",We=v({name:"PromptInput",components:{PromptTextarea:x},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}});function He(e,n,p,_,k,y){const d=o("prompt-textarea");return s(),$(d,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=u=>e.prompt=u),title:e.$t("wan.name.prompt"),info:e.$t("wan.description.prompt"),placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const Je=b(We,[["render",He]]),Ke=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:Je,ImageUrlInput:qe,ModelSelector:ke,ResolutionSelector:Ue,DurationSelector:De,Consumption:te},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return oe(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")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ze(e,n,p,_,k,y){const d=o("prompt-input"),u=o("model-selector"),l=o("resolution-selector"),w=o("duration-selector"),f=o("image-url-input"),g=o("consumption"),V=o("font-awesome-icon"),E=o("el-button");return s(),r("div",Qe,[i("div",Xe,[t(d,{class:"mb-4"}),t(u,{class:"mb-4"}),e.supportsResolution?(s(),$(l,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(s(),$(w,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(s(),$(f,{key:2,class:"mb-2"})):m("",!0)]),i("div",Ye,[t(g,{value:e.consumption,service:e.service},null,8,["value","service"]),t(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:c(()=>[t(V,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+a(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const xe=b(Ke,[["render",Ze]]),et=v({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:ne,FontAwesomeIcon:R,ElAlert:ie,VideoPlayer:ae,ElTooltip:re,ElButton:S,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:q}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},nt={class:"bot"},at={class:"datetime"},lt={class:"info"},rt={key:0,class:"prompt mt-2"},it={key:0},ct={key:1},dt={key:0,class:L({content:!0,failed:!0})},ut={key:0,class:"mb-4"},pt={key:1,class:L({operations:!0,"mt-2":!0})},mt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:1,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bt={key:2,class:L({content:!0})},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function yt(e,n,p,_,k,y){const d=o("el-image"),u=o("video-player"),l=o("el-button"),w=o("el-tooltip"),f=o("api-code-button"),g=o("font-awesome-icon"),V=o("copy-to-clipboard"),E=o("el-alert");return s(),r("div",tt,[i("div",ot,[t(d,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),i("div",st,[i("div",nt,[h(a(e.$t("wan.name.wanBot"))+" ",1),i("span",at,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",lt,[e.modelValue?.request?.prompt?(s(),r("p",rt,[h(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),r("span",it," - ("+a(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(s(),r("span",ct," - ("+a(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),r("div",dt,[e.modelValue?.response?.video_url?(s(),r("div",ut,[t(u,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(s(),r("div",pt,[t(w,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:c(()=>[t(l,{type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=M(Pt=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:c(()=>[h(a(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"]),t(f,{path:"/wan/videos",body:e.modelValue?.request},null,8,["body"])])):m("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:c(()=>[e.modelValue?.request?.model?(s(),r("p",mt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.model"))+": "+a(e.modelValue?.request?.model)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),i("p",ft,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",ht,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),r("div",_t,[t(E,{closable:!1,class:"failure"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",gt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])]),i("p",$t,[t(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+a(e.$t("wan.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),t(V,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),r("p",wt,[t(g,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+a(e.$t("wan.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),i("p",vt,[t(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+a(e.$t("wan.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),t(V,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),r("div",bt,[t(E,{closable:!1,class:"info"},{template:c(()=>[t(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+a(e.$t("wan.name.failure")),1)]),default:c(()=>[i("p",kt,[t(g,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+a(e.$t("wan.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),t(V,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const Vt=b(et,[["render",yt],["__scopeId","data-v-916b8970"]]),Tt=v({name:"RecentPanel",components:{TaskPreview:Vt,BotPlaceholder:de,NoTasks:ee,ScrollList:Q},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?.()}}}),Et={key:0},It={key:2,class:"w-full h-full flex items-center justify-center"};function St(e,n,p,_,k,y){const d=o("bot-placeholder"),u=o("task-preview"),l=o("scroll-list"),w=o("no-tasks");return s(),r(I,null,[e.tasks?.items===void 0?(s(),r("div",Et,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),$(l,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=f=>e.$emit("reach-top"))},{default:c(()=>[(s(!0),r(I,null,U(e.tasks?.items,f=>(s(),$(u,{key:f.id,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),r("div",It,[t(w)])):m("",!0)],64)}const Ut=b(Tt,[["render",St]]),Lt=N("wan"),Ct=v({name:"WanIndex",components:{ConfigPanel:xe,Layout:_e,RecentPanel:Ut},mixins:[H],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===G.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===G.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 X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("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:p,createdAtMax:_}=e||{};console.debug("limit",n,"createdAtMin",p,"createdAtMax",_),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:n,createdAtMin:p,createdAtMax:_})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!J(this.uploadTracker,p=>this.$t(p),p=>T.warning(p)))return;const e={...this.config,callback_url:Lt},n=this.credential?.token;if(!n){console.error("no token specified");return}T.info(this.$t("wan.message.startingTask")),B("wan",j.generate(e,{token:n})).then(()=>{T.success(this.$t("wan.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===se?T.error(this.$t("wan.message.usedUp")):T.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Rt(e,n,p,_,k,y){const d=o("config-panel"),u=o("recent-panel"),l=o("layout");return s(),$(l,null,{config:c(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:c(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=b(Ct,[["render",Rt]]);export{Lo as default};
@@ -1 +1 @@
1
- import{F as L}from"./index.es-CJfukhtE.js";import{E as D}from"./index-C71cSz36.js";import{E as N}from"./index-BpUUocOH.js";import{d as v,C as r,D as i,z as P,E as o,y as m,J as s,q as a,H as l,M as T,L as I,x as w,P as A,Q as j,N as _,I as h,F as q,G as K}from"./vendor-vue-BWIxYyW8.js";import{J as b,bq as W,ct as H,aN as J,S as G,cu as Z}from"./index-DrvYmhcP.js";import{a as M,b as z,c as E,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-D7KBMZcH.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{u as oe,a as se,e as ae}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as ne,S as le,l as re}from"./pagination-CJx5Nyq8.js";import{I as ie}from"./ImagePreview-BKe9oBpc.js";import{E as ce}from"./index-BRAaGgzT.js";import{E as V}from"./index-BJuXTSkv.js";import{C as de}from"./Consumption-Bx3U0iJn.js";import{P as ue,N as pe}from"./NoTasks-Ct9vzToj.js";import{a as me}from"./price-C6x3zgFx.js";import{b as fe}from"./errorCode-Cqj9Td_Z.js";import{C as _e}from"./CopyToClipboard-ffsw6Et3.js";import{V as he}from"./VideoPlayer-CMIYFrB5.js";import{A as $e}from"./ApiCodeButton-Drq1wo0T.js";import{E as ge}from"./index-BoKfbtX5.js";import{E as ve}from"./index-rDyNuNM8.js";import{E as be}from"./index-Blb1DDfP.js";import{B as ke}from"./BotPlaceholder-Bb3okszP.js";import"./use-form-item-xBSOcnBK.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-0JQvyqxg.js";import"./typescript-lkSt6sMt.js";import"./index-B8svBnpb.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-Box1EVJE.js";import"./_Uint8Array-CVqSvQNa.js";import"./castArray-DEdhtRiU.js";import"./index-lfOMNaVh.js";import"./index-DZuGeaea.js";import"./debounce-BTG3LRQl.js";import"./_baseIteratee-CCsMHsVd.js";import"./index-BoXQVYKo.js";import"./highlight-CWzFA2AR.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-h2aywIom.js";import"./_baseClone-CxI4YMcc.js";import"./_initCloneObject-C7zi7Gf-.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CFfoccqE.js";const we=v({name:"LayoutSora",components:{ElDrawer:N,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ye={class:"main flex flex-row flex-1"},Se={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ee(e,t,d,f,$,g){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),r("div",ye,[i("div",Se,[P(e.$slots,"config",{},void 0,!0)]),i("div",Ve,[P(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:m(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Te=b(we,[["render",Ee],["__scopeId","data-v-bbee238c"]]),Ae=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},d=z[e]||[E],f=t.duration,$=f&&d.includes(f)?f:d.includes(E)?E:d[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=M)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Ie,[i("h2",Ce,l(e.$t("sora.name.model")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ae,[["render",Le],["__scopeId","data-v-0cb7913d"]]),Re=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=X)}}),Oe={class:"field"},Ue={class:"title font-bold"},Pe={class:"float-left"};function Ge(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Oe,[i("h2",Ue,l(e.$t("sora.name.action")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:m(()=>[i("span",Pe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=b(Re,[["render",Ge],["__scopeId","data-v-7b82fa7f"]]),ze=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||M},allowedDurations(){return z[this.model]||[E]},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(E)?E:e[0];this.value=t}}},mounted(){this.value||(this.value=E)}}),Fe={class:"field"},Be={class:"control"},Ne={class:"title font-bold"};function je(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Fe,[i("div",Be,[i("h2",Ne,l(e.$t("sora.name.duration")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const qe=b(ze,[["render",je],["__scopeId","data-v-c2934598"]]),Ke=v({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=x)}}),We={class:"text-sm font-bold mb-2 block"},He={class:"items"},Je=["onClick"],Ze={class:"name"};function Qe(e,t,d,f,$,g){return a(),r("div",null,[i("span",We,l(e.$t("sora.name.orientation")),1),i("div",He,[(a(!0),r(T,null,I(e.options,(c,u)=>(a(),r("div",{key:u,class:A({active:e.active===u,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:j({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ze,l(e.$t(c.labelKey)),1)],10,Je))),128))])])}const Ye=b(Ke,[["render",Qe],["__scopeId","data-v-a20be6d9"]]),Xe=v({name:"StartEndImage",components:{ElUpload:ce,ElButton:D,InfoIcon:ne,FontAwesomeIcon:L,ImagePreview:ie},mixins:[te,oe],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(){V.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){V.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()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,d,f,$,g){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",xe,[i("div",et,[i("div",tt,[i("span",ot,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),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:m(({file:p})=>[p.url&&p.percentage!==void 0?(a(),w(u,{key:0,url:p.url,name:p.name,percentage:p.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:m(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const at=b(Xe,[["render",st],["__scopeId","data-v-4f7d9ba5"]]),nt=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),lt=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:nt(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),rt={class:"field"},it={class:"control"},ct={class:"title font-bold"};function dt(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",rt,[i("div",it,[i("h2",ct,l(e.$t("sora.name.size")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ut=b(lt,[["render",dt],["__scopeId","data-v-8c485f0f"]]),pt="",mt=v({name:"PromptInput",components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=pt)}});function ft(e,t,d,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const _t=b(mt,[["render",ft]]),ht=v({name:"ConfigPanel",components:{ElButton:D,Consumption:de,FontAwesomeIcon:L,PromptInput:_t,ModelSelector:De,StartEndImage:at,SizeSelector:ut,ActionSelector:Me,OrientationSelector:Ye,DurationSelector:qe},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return me(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-5"},vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function bt(e,t,d,f,$,g){const c=s("model-selector"),u=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),p=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",$t,[i("div",gt,[o(c,{class:"mb-4"}),o(u,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(p,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[K,e.config?.action==="image2video"]])]),i("div",vt,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const kt=b(ht,[["render",bt]]),wt=v({name:"TaskPreview",components:{ElImage:be,CopyToClipboard:_e,FontAwesomeIcon:L,ElAlert:ve,VideoPlayer:he,ElTooltip:ge,ElButton:D,ApiCodeButton:$e},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")}}}),yt={class:"preview"},St={class:"left"},Vt={class:"main"},Et={class:"bot"},Tt={class:"datetime"},At={class:"info"},It={key:0,class:"prompt mt-2"},Ct={key:0},Lt={key:1},Dt={key:0,class:A({content:!0,failed:!0})},Rt={key:0,class:"mb-4"},Ot={key:1,class:A({operations:!0,"mt-2":!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:1,class:A({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},jt={key:2,class:A({content:!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Wt(e,t,d,f,$,g){const c=s("el-image"),u=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),p=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",yt,[i("div",St,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",Vt,[i("div",Et,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",Tt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",At,[e.modelValue?.request?.prompt?(a(),r("p",It,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Ct," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",Lt," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Dt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Rt,[o(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Ot,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:m(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:m(()=>[i("p",Ut,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Pt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Gt,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Mt,[o(C,{closable:!1,class:"failure"},{template:m(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:m(()=>[i("p",zt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ft,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Bt,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",jt,[o(C,{closable:!1,class:"info"},{template:m(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:m(()=>[i("p",qt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Kt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Ht=b(wt,[["render",Wt],["__scopeId","data-v-935f9471"]]),Jt=v({name:"RecentPanel",components:{TaskPreview:Ht,NoTasks:pe,BotPlaceholder:ke,ScrollList:le},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?.()}}}),Zt={key:0},Qt={key:2,class:"w-full h-full flex items-center justify-center"};function Yt(e,t,d,f,$,g){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(T,null,[e.tasks?.items===void 0?(a(),r("div",Zt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),r(T,null,I(e.tasks?.items,(S,p)=>(a(),w(u,{key:p,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Qt,[o(k)])):h("",!0)],64)}const Xt=b(Jt,[["render",Yt]]),xt=Z("sora"),eo=v({name:"SoraIndex",components:{ConfigPanel:kt,Layout:Te,RecentPanel:Xt},mixins:[se],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 re({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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:d,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",d,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:d,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,d=>this.$t(d),d=>V.warning(d)))return;const e={...this.config,callback_url:xt},t=this.credential?.token;if(!t){console.error("no token specified");return}V.info(this.$t("sora.message.startingTask")),H("sora",J.generate(e,{token:t})).then(()=>{V.success(this.$t("sora.message.startTaskSuccess"))}).catch(d=>{d?.response?.data?.error?.code===fe?V.error(this.$t("sora.message.usedUp")):V.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function to(e,t,d,f,$,g){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Xo=b(eo,[["render",to]]);export{Xo as default};
1
+ import{F as L}from"./index.es-ChY1FlMW.js";import{E as D}from"./index-Cf_g4cNy.js";import{E as N}from"./index-Cvqp7__y.js";import{d as v,C as r,D as i,z as P,E as o,y as m,J as s,q as a,H as l,M as T,L as I,x as w,P as A,Q as j,N as _,I as h,F as q,G as K}from"./vendor-vue-BWIxYyW8.js";import{J as b,br as W,cx as H,aN as J,S as G,cy as Z}from"./index-D8aPgnGc.js";import{a as M,b as z,c as E,d as F,e as Q,f as Y,g as X,h as x,i as ee}from"./sora-Dyuoglk1.js";import{E as R,a as O}from"./index-qdj2_nOs.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{u as oe,a as se,e as ae}from"./uploadTrackerMixin--N-yU8Tl.js";import{I as ne,S as le,l as re}from"./pagination-C95fpX7B.js";import{I as ie}from"./ImagePreview-BX_sHHDN.js";import{E as ce}from"./index-BTNb2CTo.js";import{E as V}from"./index-DZku_iGx.js";import{C as de}from"./Consumption-CpH3KfFv.js";import{P as ue,N as pe}from"./NoTasks-tQdol0_2.js";import{a as me}from"./price-CMLeXGYL.js";import{b as fe}from"./errorCode-Cqj9Td_Z.js";import{C as _e}from"./CopyToClipboard-CZv5BP7B.js";import{V as he}from"./VideoPlayer-C5VQJMsC.js";import{A as $e}from"./ApiCodeButton-DqTuCryR.js";import{E as ge}from"./index-DbIiryMD.js";import{E as ve}from"./index-CbnGYE9U.js";import{E as be}from"./index-mLHeIJV7.js";import{B as ke}from"./BotPlaceholder-xpsKXt0P.js";import"./use-form-item-Bb96LHMh.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-CCWK5dA3.js";import"./index-CcYwI3ai.js";import"./typescript-B00PCKaI.js";import"./index-Pbe8CChL.js";import"./strings-CoSJ5yUQ.js";import"./isEqual-CfWw3lpS.js";import"./_Uint8Array-DtfKpEZY.js";import"./castArray-CbnSaxKn.js";import"./index-DNCRlcDT.js";import"./index-BNHSnEGK.js";import"./debounce-Dl8en2o_.js";import"./_baseIteratee-CY2Cl0zu.js";import"./index-D_7iS0Ka.js";import"./highlight-CHE-J5E7.js";import"./index-BLjywj98.js";import"./vendor-highlight-lEWW1Jxd.js";import"./index-DhOSddkE.js";import"./_baseClone-dGPbkYnN.js";import"./_initCloneObject-BzDf8hsu.js";import"./vue-plyr-BO2nlN4c.js";import"./index-TUT4Ls42.js";const we=v({name:"LayoutSora",components:{ElDrawer:N,ElButton:D,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ye={class:"main flex flex-row flex-1"},Se={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},Ve={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function Ee(e,t,d,f,$,g){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),r("div",ye,[i("div",Se,[P(e.$slots,"config",{},void 0,!0)]),i("div",Ve,[P(e.$slots,"result",{},void 0,!0)]),o(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=k=>e.drawer=!0)},{default:m(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=k=>e.drawer=k),direction:"ltr","with-header":!1,size:"350px"},{default:m(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Te=b(we,[["render",Ee],["__scopeId","data-v-bbee238c"]]),Ae=v({name:"ModelSelector",components:{ElSelect:O,ElOption:R},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Q,label:"sora-2"},{value:Y,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},d=z[e]||[E],f=t.duration,$=f&&d.includes(f)?f:d.includes(E)?E:d[0],g={...t,model:e,duration:$,size:t.size||F};this.$store.commit("sora/setConfig",g)}}},mounted(){this.value||(this.value=M)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Ie,[i("h2",Ce,l(e.$t("sora.name.model")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const De=b(Ae,[["render",Le],["__scopeId","data-v-0cb7913d"]]),Re=v({name:"ActionSelector",components:{ElSelect:O,ElOption:R},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=X)}}),Oe={class:"field"},Ue={class:"title font-bold"},Pe={class:"float-left"};function Ge(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Oe,[i("h2",Ue,l(e.$t("sora.name.action")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},{default:m(()=>[i("span",Pe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=b(Re,[["render",Ge],["__scopeId","data-v-7b82fa7f"]]),ze=v({name:"DurationSelector",components:{ElSelect:O,ElOption:R},computed:{model(){return this.$store.state.sora?.config?.model||M},allowedDurations(){return z[this.model]||[E]},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(E)?E:e[0];this.value=t}}},mounted(){this.value||(this.value=E)}}),Fe={class:"field"},Be={class:"control"},Ne={class:"title font-bold"};function je(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",Fe,[i("div",Be,[i("h2",Ne,l(e.$t("sora.name.duration")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.optionsForModel,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const qe=b(ze,[["render",je],["__scopeId","data-v-c2934598"]]),Ke=v({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=x)}}),We={class:"text-sm font-bold mb-2 block"},He={class:"items"},Je=["onClick"],Ze={class:"name"};function Qe(e,t,d,f,$,g){return a(),r("div",null,[i("span",We,l(e.$t("sora.name.orientation")),1),i("div",He,[(a(!0),r(T,null,I(e.options,(c,u)=>(a(),r("div",{key:u,class:A({active:e.active===u,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:A(["preview",c.value])},[i("div",{class:"rect",style:j({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ze,l(e.$t(c.labelKey)),1)],10,Je))),128))])])}const Ye=b(Ke,[["render",Qe],["__scopeId","data-v-a20be6d9"]]),Xe=v({name:"StartEndImage",components:{ElUpload:ce,ElButton:D,InfoIcon:ne,FontAwesomeIcon:L,ImagePreview:ie},mixins:[te,oe],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(){V.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){V.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()}}}),xe={class:"relative"},et={class:"flex justify-between"},tt={class:"flex justify-start items-center"},ot={class:"text-sm font-bold"};function st(e,t,d,f,$,g){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),k=s("el-button"),S=s("el-upload");return a(),r("div",xe,[i("div",et,[i("div",tt,[i("span",ot,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(S,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),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:m(({file:p})=>[p.url&&p.percentage!==void 0?(a(),w(u,{key:0,url:p.url,name:p.name,percentage:p.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:m(()=>[o(k,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const at=b(Xe,[["render",st],["__scopeId","data-v-4f7d9ba5"]]),nt=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),lt=v({name:"SizeSelector",components:{ElSelect:O,ElOption:R},data(){return{options:ee.map(e=>({value:e,label:nt(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=F)}}),rt={class:"field"},it={class:"control"},ct={class:"title font-bold"};function dt(e,t,d,f,$,g){const c=s("el-option"),u=s("el-select");return a(),r("div",rt,[i("div",it,[i("h2",ct,l(e.$t("sora.name.size")),1),o(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:m(()=>[(a(!0),r(T,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const ut=b(lt,[["render",dt],["__scopeId","data-v-8c485f0f"]]),pt="",mt=v({name:"PromptInput",components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=pt)}});function ft(e,t,d,f,$,g){const c=s("prompt-textarea");return a(),w(c,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=u=>e.prompt=u),title:e.$t("sora.name.prompt"),info:e.$t("sora.description.prompt"),placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","title","info","placeholder"])}const _t=b(mt,[["render",ft]]),ht=v({name:"ConfigPanel",components:{ElButton:D,Consumption:de,FontAwesomeIcon:L,PromptInput:_t,ModelSelector:De,StartEndImage:at,SizeSelector:ut,ActionSelector:Me,OrientationSelector:Ye,DurationSelector:qe},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return me(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),$t={class:"flex flex-col h-full"},gt={class:"flex-1 overflow-y-auto p-5"},vt={class:"flex flex-col items-center justify-center px-5 pb-5"};function bt(e,t,d,f,$,g){const c=s("model-selector"),u=s("action-selector"),n=s("duration-selector"),k=s("size-selector"),S=s("orientation-selector"),p=s("prompt-input"),y=s("start-end-image"),C=s("consumption"),U=s("font-awesome-icon"),B=s("el-button");return a(),r("div",$t,[i("div",gt,[o(c,{class:"mb-4"}),o(u,{class:"mb-4"}),o(n,{class:"mb-4"}),o(k,{class:"mb-4"}),o(S,{class:"mb-4"}),o(p,{class:"mb-4"}),q(o(y,{class:"mb-2"},null,512),[[K,e.config?.action==="image2video"]])]),i("div",vt,[o(C,{value:e.consumption,service:e.service},null,8,["value","service"]),o(B,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[o(U,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const kt=b(ht,[["render",bt]]),wt=v({name:"TaskPreview",components:{ElImage:be,CopyToClipboard:_e,FontAwesomeIcon:L,ElAlert:ve,VideoPlayer:he,ElTooltip:ge,ElButton:D,ApiCodeButton:$e},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")}}}),yt={class:"preview"},St={class:"left"},Vt={class:"main"},Et={class:"bot"},Tt={class:"datetime"},At={class:"info"},It={key:0,class:"prompt mt-2"},Ct={key:0},Lt={key:1},Dt={key:0,class:A({content:!0,failed:!0})},Rt={key:0,class:"mb-4"},Ot={key:1,class:A({operations:!0,"mt-2":!0})},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Mt={key:1,class:A({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},jt={key:2,class:A({content:!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Kt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Wt(e,t,d,f,$,g){const c=s("el-image"),u=s("video-player"),n=s("el-button"),k=s("el-tooltip"),S=s("api-code-button"),p=s("font-awesome-icon"),y=s("copy-to-clipboard"),C=s("el-alert");return a(),r("div",yt,[i("div",St,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",Vt,[i("div",Et,[_(l(e.$t("sora.name.soraBot"))+" ",1),i("span",Tt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",At,[e.modelValue?.request?.prompt?(a(),r("p",It,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),r("span",Ct," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",Lt," - ("+l(e.$t("sora.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Dt,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Rt,[o(u,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(a(),r("div",Ot,[o(k,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),w(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:m(()=>[_(l(e.$t("sora.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"]),o(S,{path:"/sora/videos",body:e.modelValue?.request},null,8,["body"])])):h("",!0),o(C,{closable:!1,class:"mt-2 success"},{default:m(()=>[i("p",Ut,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Pt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Gt,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Mt,[o(C,{closable:!1,class:"failure"},{template:m(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:m(()=>[i("p",zt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ft,[o(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Bt,[o(p,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Nt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",jt,[o(C,{closable:!1,class:"info"},{template:m(()=>[o(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("sora.name.failure")),1)]),default:m(()=>[i("p",qt,[o(p,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(y,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",Kt,[o(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Ht=b(wt,[["render",Wt],["__scopeId","data-v-935f9471"]]),Jt=v({name:"RecentPanel",components:{TaskPreview:Ht,NoTasks:pe,BotPlaceholder:ke,ScrollList:le},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?.()}}}),Zt={key:0},Qt={key:2,class:"w-full h-full flex items-center justify-center"};function Yt(e,t,d,f,$,g){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),k=s("no-tasks");return a(),r(T,null,[e.tasks?.items===void 0?(a(),r("div",Zt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=S=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),r(T,null,I(e.tasks?.items,(S,p)=>(a(),w(u,{key:p,"model-value":S},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),r("div",Qt,[o(k)])):h("",!0)],64)}const Xt=b(Jt,[["render",Yt]]),xt=Z("sora"),eo=v({name:"SoraIndex",components:{ConfigPanel:kt,Layout:Te,RecentPanel:Xt},mixins:[se],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 re({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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:d,createdAtMax:f}=e||{};console.debug("limit",t,"createdAtMin",d,"createdAtMax",f),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:d,createdAtMax:f})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,d=>this.$t(d),d=>V.warning(d)))return;const e={...this.config,callback_url:xt},t=this.credential?.token;if(!t){console.error("no token specified");return}V.info(this.$t("sora.message.startingTask")),H("sora",J.generate(e,{token:t})).then(()=>{V.success(this.$t("sora.message.startTaskSuccess"))}).catch(d=>{d?.response?.data?.error?.code===fe?V.error(this.$t("sora.message.usedUp")):V.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function to(e,t,d,f,$,g){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[o(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Xo=b(eo,[["render",to]]);export{Xo as default};