@acedatacloud/nexior 3.354.2 → 3.354.4

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 (289) hide show
  1. package/dist/assets/{ApiCodeButton-DBpwradV.js → ApiCodeButton-IHOqOP_v.js} +1 -1
  2. package/dist/assets/{Artifacts-BN_I8OIm.js → Artifacts--7LU0Zzk.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-moYmREED.js → AskUserQuestionCard-CJSfqQaH.js} +1 -1
  4. package/dist/assets/{Auth-DHO4Fgq0.js → Auth-DQRU59gZ.js} +1 -1
  5. package/dist/assets/{Bare-SEMJLEE8.js → Bare-DKP0trSN.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-CQECCUDa.js → BotPlaceholder-RrG8CL2_.js} +1 -1
  7. package/dist/assets/{BottomFooter-DcTiKMfz.js → BottomFooter-DswAESf_.js} +1 -1
  8. package/dist/assets/{BrowserPairingDialog-DFSh0f4m.js → BrowserPairingDialog-DVEyd5Ly.js} +1 -1
  9. package/dist/assets/{Callback-GCKN6zfe.js → Callback-By-WVS_Y.js} +1 -1
  10. package/dist/assets/{CodeSnippet-B6UdB6--.js → CodeSnippet-2xzdK1ak.js} +1 -1
  11. package/dist/assets/{Console-MkUwQDTb.js → Console-CXQakTFl.js} +1 -1
  12. package/dist/assets/{Consumption-DSV6Ajvn.js → Consumption-Bxib8Miy.js} +1 -1
  13. package/dist/assets/Conversation-CA6VWzAh.css +1 -0
  14. package/dist/assets/{Conversation-B9K8CpD1.js → Conversation-C_UTIEBe.js} +1 -1
  15. package/dist/assets/Conversation-DEo_im0v.js +1 -0
  16. package/dist/assets/{CopyToClipboard-8zEkaydk.js → CopyToClipboard-3wXI2V0V.js} +1 -1
  17. package/dist/assets/{Detail-D_Vgrzzb.js → Detail-BOGucWwd.js} +2 -2
  18. package/dist/assets/{Extra-B3HE0lFN.js → Extra-CIcUfovW.js} +1 -1
  19. package/dist/assets/{FilePreview-XQJwBnH1.js → FilePreview-Cbw_ZYOC.js} +1 -1
  20. package/dist/assets/{Hailuo-CJ5BqX3W.js → Hailuo-CJWeL0KH.js} +1 -1
  21. package/dist/assets/{History-zzpBPNFv.js → History-DwIjFyqt.js} +1 -1
  22. package/dist/assets/{ImagePreview-aup3tBhe.js → ImagePreview-DQfitJyI.js} +1 -1
  23. package/dist/assets/{ImageWrapper-lBDb2gpG.js → ImageWrapper-BeIsdHFN.js} +1 -1
  24. package/dist/assets/{Index-B0dEo-WG.js → Index-B-K8Vo16.js} +1 -1
  25. package/dist/assets/{Index-Bf6OokPe.js → Index-B42JunSU.js} +1 -1
  26. package/dist/assets/{Index-BEQoyg5t.js → Index-BEeTSCzm.js} +1 -1
  27. package/dist/assets/{Index-kujvSctT.js → Index-BOO6MnA_.js} +1 -1
  28. package/dist/assets/{Index-Cxrt2zTY.js → Index-BZf7Vvvf.js} +1 -1
  29. package/dist/assets/{Index-BAHXzE6V.js → Index-B_7NlFEi.js} +1 -1
  30. package/dist/assets/{Index-DNVDr6SG.js → Index-BlVECkIT.js} +1 -1
  31. package/dist/assets/{Index-lBq0FPfV.js → Index-BmmrQxF3.js} +1 -1
  32. package/dist/assets/{Index-Bf_HiDMM2.js → Index-BoCiYT-22.js} +1 -1
  33. package/dist/assets/{Index-D8Lr46U-.js → Index-Bs4nYIvE.js} +1 -1
  34. package/dist/assets/{Index-BI1hP34p.css → Index-CCxrPiS5.css} +1 -1
  35. package/dist/assets/{Index-BWVbtNcz.js → Index-CTwTB2V0.js} +1 -1
  36. package/dist/assets/{Index-ByCto-YM.js → Index-Ca3HPf27.js} +1 -1
  37. package/dist/assets/{Index-DqavUCop2.js → Index-CjlHWCPk2.js} +1 -1
  38. package/dist/assets/{Index-BFgrfMUR2.js → Index-Cunxvy-42.js} +1 -1
  39. package/dist/assets/{Index-1q3HSySk.js → Index-DIgFbWBR.js} +1 -1
  40. package/dist/assets/{Index-BzoULQtA.js → Index-DLTAmud8.js} +1 -1
  41. package/dist/assets/{Index-CKeXp3JD.js → Index-DMkUuRH4.js} +1 -1
  42. package/dist/assets/{Index-C5HKZtXA.js → Index-DP3_Iata.js} +1 -1
  43. package/dist/assets/{Index-BJbm7W352.js → Index-DPlV37E82.js} +1 -1
  44. package/dist/assets/Index-DcfuJ6Bf.js +1 -0
  45. package/dist/assets/{Index-DkzOiEX3.js → Index-DkkJEkbR.js} +1 -1
  46. package/dist/assets/{Index-QNsw1suM.js → Index-DqzED4bx.js} +1 -1
  47. package/dist/assets/{Index-Dw5Um8hH.js → Index-DtEtHMv-.js} +1 -1
  48. package/dist/assets/{Index-DpSQWaZW.js → Index-Dvvv8d22.js} +1 -1
  49. package/dist/assets/{Index-BQeqty8C.js → Index-F62LRUrZ.js} +1 -1
  50. package/dist/assets/{Index-BFBeTRXW2.js → Index-FeNrFP8R2.js} +1 -1
  51. package/dist/assets/{Index-B-qMnpn9.js → Index-JTk0eE0o.js} +1 -1
  52. package/dist/assets/{Index-DV8RTz9K.js → Index-LZstnfm8.js} +1 -1
  53. package/dist/assets/{Index-BOuS0HUe.js → Index-WgBzr1VG.js} +1 -1
  54. package/dist/assets/{Index-iiw719ES.js → Index-jmVoZ-B_.js} +1 -1
  55. package/dist/assets/{Index-RRZPUSGm.js → Index-nbkGePmy.js} +1 -1
  56. package/dist/assets/{Index-DClahNrz.js → Index-r9nkN5C6.js} +1 -1
  57. package/dist/assets/{Index-BPisd00-.js → Index-vnNvF_W7.js} +1 -1
  58. package/dist/assets/{Invitees-BBE2lDHm.js → Invitees-ACQMbXZw.js} +1 -1
  59. package/dist/assets/{List-BzRjQ5o6.js → List-CTmFzowu.js} +1 -1
  60. package/dist/assets/{List-DE3JH75Q.js → List-Cypp884t.js} +1 -1
  61. package/dist/assets/{List-DB7iEz8C.js → List-DSbN89hT.js} +1 -1
  62. package/dist/assets/{LocalTools-Ci5PheIe.js → LocalTools-BnpnVjHB.js} +1 -1
  63. package/dist/assets/{LocalTools-CSIlXNlX.js → LocalTools-DalpOYfA.js} +1 -1
  64. package/dist/assets/{Logo-BhHIOuGz.js → Logo-Nq9abMv-.js} +1 -1
  65. package/dist/assets/{Main-EGVifQsz.js → Main-BdlFxerD.js} +1 -1
  66. package/dist/assets/{Message-CpEOXmPy.js → Message-xstG5yEA.js} +2 -2
  67. package/dist/assets/{Model-DAGzQdc2.js → Model-BWfWEPSn.js} +1 -1
  68. package/dist/assets/{Navigator-G9f3sEX4.js → Navigator-DVgYIniC.js} +3 -3
  69. package/dist/assets/{NotFound-9myRRWpx.js → NotFound-B11g7liv.js} +1 -1
  70. package/dist/assets/{PageHeader-S4BgUVFm.js → PageHeader-CCFLMp28.js} +1 -1
  71. package/dist/assets/{Pay-wiJbt9p8.js → Pay-XKtkZ1Co.js} +1 -1
  72. package/dist/assets/{Player-CE8xtvx0.js → Player-TE6Q4yBt.js} +1 -1
  73. package/dist/assets/{Poivelle-DT0tFnbx.js → Poivelle-D3_FZEYD.js} +1 -1
  74. package/dist/assets/{RealtimeCall-DN5mC30I.js → RealtimeCall-DJTA37lo.js} +1 -1
  75. package/dist/assets/{ReportButton-C3Kjfp0k.js → ReportButton-DQZ3-wzd.js} +1 -1
  76. package/dist/assets/{ReportDialog-Ckf1pn-Y.js → ReportDialog-fe8-5UZp.js} +1 -1
  77. package/dist/assets/{ScheduledTasks-Bwjnd1wA.js → ScheduledTasks-B_dtjCq1.js} +1 -1
  78. package/dist/assets/{Status-CK1tpfO3.js → Status-B92l033p.js} +1 -1
  79. package/dist/assets/{Subscribe-BkwcAuOR.js → Subscribe-Cm8CPvFK.js} +1 -1
  80. package/dist/assets/{TabSwitcher-nppNBwGO.js → TabSwitcher-rKaDRwWP.js} +1 -1
  81. package/dist/assets/{Tts-7cf4QX5b.js → Tts-5ldkjC9b.js} +1 -1
  82. package/dist/assets/{VideoPlayer-DOF-WUP8.js → VideoPlayer-CY3GSL1-.js} +1 -1
  83. package/dist/assets/{VideoPreview-o1E0AjIB.js → VideoPreview-BBg63f0S.js} +1 -1
  84. package/dist/assets/arrow-down-CRTPm7-x.js +1 -0
  85. package/dist/assets/{arrow-down-wide-narrow-Cg4SkNzC.js → arrow-down-wide-narrow-CmcaJtGR.js} +1 -1
  86. package/dist/assets/arrow-left-DuvflCTf.js +1 -0
  87. package/dist/assets/arrow-right-D1ACkgKn.js +1 -0
  88. package/dist/assets/arrow-up-AhiAaCHS.js +1 -0
  89. package/dist/assets/{authorizeFlow-RI7CiShm.js → authorizeFlow-BMeYzXEm.js} +1 -1
  90. package/dist/assets/{avatar-CmIuXslT.js → avatar-zTUsq-3c.js} +1 -1
  91. package/dist/assets/{basic-D5BElZrc.js → basic-CF6dATW-.js} +1 -1
  92. package/dist/assets/{book-open-0F9XtSTW.js → book-open-IzBe1e3q.js} +1 -1
  93. package/dist/assets/{box-CyVbYdiI.js → box-DMbFuGXc.js} +1 -1
  94. package/dist/assets/{boxes-JDvIW6mk.js → boxes-C86WD5KU.js} +1 -1
  95. package/dist/assets/{brain-C6tI4QPB.js → brain-BefVR5GY.js} +1 -1
  96. package/dist/assets/{chart-no-axes-combined-CQUiQ2q5.js → chart-no-axes-combined-CZzwJznE.js} +1 -1
  97. package/dist/assets/{chat-BbykEPzO.js → chat-DK16GYnZ.js} +1 -1
  98. package/dist/assets/check-X14tIXJU.js +1 -0
  99. package/dist/assets/chevron-down-C5SaZrsD.js +1 -0
  100. package/dist/assets/chevron-right-C-X7od7B.js +1 -0
  101. package/dist/assets/circle-check-BX0AZ60R.js +1 -0
  102. package/dist/assets/{circle-question-mark-DQX5fqor.js → circle-question-mark-C9ag11xi.js} +1 -1
  103. package/dist/assets/{clipboard-list-sEzrqgvT.js → clipboard-list-DDE3FCEt.js} +1 -1
  104. package/dist/assets/clock-CQnxs-go.js +1 -0
  105. package/dist/assets/code-ruugnPpd.js +1 -0
  106. package/dist/assets/{codingBridge-DZVa4JcA.js → codingBridge-BErsCijT.js} +2 -2
  107. package/dist/assets/{codingBridgeNotify-BCzK-U4r.js → codingBridgeNotify-DTG89HzG.js} +2 -2
  108. package/dist/assets/{coins-BWfK9pwK.js → coins-AmrvO3ez.js} +1 -1
  109. package/dist/assets/{collapse-Cn7VV0Rq.js → collapse-B05qyx9j.js} +1 -1
  110. package/dist/assets/constants-h8CPcG-m.js +1 -0
  111. package/dist/assets/{copy-D6HjVrQb.js → copy-Cyce09Dj.js} +1 -1
  112. package/dist/assets/{createTaskActions-BQjWPsBy.js → createTaskActions-C7swyx2a.js} +1 -1
  113. package/dist/assets/{digitalhuman-CzgLityC.js → digitalhuman-V4gfmOUH.js} +1 -1
  114. package/dist/assets/{dollar-sign-D1JlE3Qq.js → dollar-sign-DE6QCPbE.js} +1 -1
  115. package/dist/assets/{download-DmuXVNjZ.js → download-zppcKDB5.js} +1 -1
  116. package/dist/assets/{drawer-lPnIZOSX.js → drawer-DxwxF53O.js} +1 -1
  117. package/dist/assets/{dropdown-Bl565zff.js → dropdown-FcEuxMvl.js} +1 -1
  118. package/dist/assets/{dropdown-YWpfH9NS.js → dropdown-T4NFBqXB.js} +1 -1
  119. package/dist/assets/{ellipsis-Ds5fAlBh.js → ellipsis-DTs_g5l4.js} +1 -1
  120. package/dist/assets/esm-10y6BpyJ.js +1 -0
  121. package/dist/assets/{esm-s6Q4Fsqb.js → esm-Bc8V7f53.js} +2 -2
  122. package/dist/assets/{esm-F1MFI31N.js → esm-BrdWJawj.js} +3 -3
  123. package/dist/assets/{esm-DZQIB2ED.js → esm-CGWXorFW.js} +1 -1
  124. package/dist/assets/{esm-DsSMUZQE.js → esm-CpmPSfbT.js} +1 -1
  125. package/dist/assets/{esm-_IKhn2RN.js → esm-DJ0mNB5w.js} +2 -2
  126. package/dist/assets/{esm-BY1usF5z.js → esm-QBtpLtpM.js} +1 -1
  127. package/dist/assets/{external-link-CZOcI9lI.js → external-link-4LqvcJxn.js} +1 -1
  128. package/dist/assets/{eye-X_hS-zdv.js → eye-D4YrniOU.js} +1 -1
  129. package/dist/assets/{file-mZlNw7h5.js → file-C3hScSRb.js} +1 -1
  130. package/dist/assets/{file-output-B4aemGYW.js → file-output-dMBEZZlc.js} +1 -1
  131. package/dist/assets/{file-text-Dp5lZCAJ.js → file-text-BUqVAJz5.js} +1 -1
  132. package/dist/assets/{fish-DQzwNL-Y.js → fish-CDeCa17n.js} +1 -1
  133. package/dist/assets/{flux-BLyxBt2W.js → flux-CsGB9oHs.js} +1 -1
  134. package/dist/assets/{folder-CuxMjFwu.js → folder-DNh1ZRNq.js} +1 -1
  135. package/dist/assets/gauge-wDxPuAr7.js +1 -0
  136. package/dist/assets/{globe-DOdwzYJs.js → globe-Ct98Dnm3.js} +1 -1
  137. package/dist/assets/{grokvideo-CtoPgRi4.js → grokvideo-BYo3TO5L.js} +1 -1
  138. package/dist/assets/{hailuo-D2UCJY9S.js → hailuo-BuvmePKp.js} +1 -1
  139. package/dist/assets/{headphones-DQHuPAyA.js → headphones-xOTjNK98.js} +1 -1
  140. package/dist/assets/{history-FXb0xIZR.js → history-D_4UbmPG.js} +1 -1
  141. package/dist/assets/{house-DXAfxZCY.js → house-PS4CdHue.js} +1 -1
  142. package/dist/assets/{i18n-BpJHDNB8.js → i18n-Dsxji-o4.js} +1 -1
  143. package/dist/assets/{image-BHmbUsfT.js → image-C-h8vXAC.js} +1 -1
  144. package/dist/assets/index-CG5Xqr3s.js +570 -0
  145. package/dist/assets/{index.browser.esm-DM8NX0Dm.js → index.browser.esm-gqq2UovJ.js} +1 -1
  146. package/dist/assets/{index.es-DRwIzmE1.js → index.es-DtVqSZJn.js} +1 -1
  147. package/dist/assets/{info-DhXkijI-.js → info-CtHZBG-P.js} +1 -1
  148. package/dist/assets/{input-number-CScClEsg.js → input-number-DsEfUkFT.js} +1 -1
  149. package/dist/assets/{key-round-wWLIvvNM.js → key-round-CGF6UtlN.js} +1 -1
  150. package/dist/assets/{kling-DZ8XDc5h.js → kling-Du21xQU9.js} +1 -1
  151. package/dist/assets/{languages-Br0TDzki.js → languages-k0k336_d.js} +1 -1
  152. package/dist/assets/{laptop-DRl7pRb5.js → laptop-fIBV5yHn.js} +1 -1
  153. package/dist/assets/{lightbulb-dMQ7ZJnq.js → lightbulb-D6jCLFZg.js} +1 -1
  154. package/dist/assets/{link-h42r0KnC.js → link-BCc6pzju.js} +1 -1
  155. package/dist/assets/loader-circle-JOwPlRbe.js +1 -0
  156. package/dist/assets/{lock-DTu0VRQg.js → lock-Bq0PY8aP.js} +1 -1
  157. package/dist/assets/{luma-GWUkrFn7.js → luma-BvagO5ms.js} +1 -1
  158. package/dist/assets/{maestro-DfrtiNFl.js → maestro-CjU6HbNO.js} +1 -1
  159. package/dist/assets/{maestro-CisZBKPm.js → maestro-Dk8b27c6.js} +1 -1
  160. package/dist/assets/{mail-RDgekmEs.js → mail-DQY9DaSN.js} +1 -1
  161. package/dist/assets/{message-circle-BgmozKQL.js → message-circle-DkdYaxyy.js} +1 -1
  162. package/dist/assets/{mic-Si6D9wJ_.js → mic-De89QKLo.js} +1 -1
  163. package/dist/assets/{midjourney-kjpxc7op.js → midjourney-Cvx_Sglp.js} +1 -1
  164. package/dist/assets/{mobileLocalExec-BTedJ09h.js → mobileLocalExec-DCv2SKYw.js} +2 -2
  165. package/dist/assets/{models-BKPWGzi5.js → models-B7iN2eFR.js} +1 -1
  166. package/dist/assets/{monitor-CrEzv_XE.js → monitor-CcVX6AB2.js} +1 -1
  167. package/dist/assets/{mouse-pointer-2-DWAoXtpI.js → mouse-pointer-2-DGEljv6P.js} +1 -1
  168. package/dist/assets/music-2-DqO3nL1g.js +1 -0
  169. package/dist/assets/{nanobanana-u2thuBZn.js → nanobanana-Bw7x0Tdi.js} +1 -1
  170. package/dist/assets/{omni-BeThKoIu.js → omni-AftUphse.js} +1 -1
  171. package/dist/assets/openaiimage-BTeHSPaU.js +1 -0
  172. package/dist/assets/openaiimage-Bk9P42ic.js +1 -0
  173. package/dist/assets/openaiimage-BlNaBJGF.js +1 -0
  174. package/dist/assets/{openaiimage-DL3zXN9_.js → openaiimage-BoNY8Af3.js} +1 -1
  175. package/dist/assets/{openaiimage-BitvkDwZ.js → openaiimage-Bv1yTqnm.js} +1 -1
  176. package/dist/assets/{openaiimage-ChlcZOBt.js → openaiimage-CBr0WhJO.js} +1 -1
  177. package/dist/assets/openaiimage-CLDAA5s-.js +1 -0
  178. package/dist/assets/{openaiimage-pFPtYvSK.js → openaiimage-CQqcCWK3.js} +1 -1
  179. package/dist/assets/{openaiimage-B4bu7J8O.js → openaiimage-CqkH74iw.js} +1 -1
  180. package/dist/assets/{openaiimage-vZbAwwmq.js → openaiimage-CvlCSpiQ.js} +1 -1
  181. package/dist/assets/openaiimage-Ds2cPFkc.js +1 -0
  182. package/dist/assets/{openaiimage-Dl9mM0ll.js → openaiimage-Dw_31sRu.js} +1 -1
  183. package/dist/assets/openaiimage-NoyY_f6a.js +1 -0
  184. package/dist/assets/{openaiimage-CFg8wnQb.js → openaiimage-VXz2QUZq.js} +1 -1
  185. package/dist/assets/openaiimage-YPdjYGgq.js +1 -0
  186. package/dist/assets/openaiimage-abzGxAsb.js +1 -0
  187. package/dist/assets/openaiimage-fMb_c1nx.js +1 -0
  188. package/dist/assets/{openaiimage-C0jCB7z8.js → openaiimage-kR6Mzk3T.js} +1 -1
  189. package/dist/assets/openaiimage-lmdCT5D4.js +1 -0
  190. package/dist/assets/{pagination-C1Q3vk_A.js → pagination-BjfZjjWy.js} +1 -1
  191. package/dist/assets/{pagination-ChtTmjw8.js → pagination-CkPqqJWt.js} +1 -1
  192. package/dist/assets/{pagination-51ny6Oso.js → pagination-CxOt6erg.js} +1 -1
  193. package/dist/assets/{palette--Tp-cxFq.js → palette-B6URsY5w.js} +1 -1
  194. package/dist/assets/{paperclip-CPmK5M-O.js → paperclip-CwdAwwbk.js} +1 -1
  195. package/dist/assets/{pause-CZeGJIbt.js → pause-Ho_7QLu4.js} +1 -1
  196. package/dist/assets/{pencil-CqtTzaRB.js → pencil-gcjUe8GC.js} +1 -1
  197. package/dist/assets/{pika-Czq407Fa.js → pika-etpuX8EH.js} +1 -1
  198. package/dist/assets/{pixverse-CxSwkfLM.js → pixverse-ClHFATTO.js} +1 -1
  199. package/dist/assets/play-BvLOaO-k.js +1 -0
  200. package/dist/assets/{plug-CKuTH8OG.js → plug-CG8AKUvP.js} +1 -1
  201. package/dist/assets/plus-DkOSeY9o.js +1 -0
  202. package/dist/assets/{poivelle-BkgbEjTt.js → poivelle-DjV0m1TM.js} +1 -1
  203. package/dist/assets/{popover-DcrsilIG.js → popover-B9AgiUFj.js} +1 -1
  204. package/dist/assets/{producer-BxnN289B.js → producer-BR0fBcvN.js} +1 -1
  205. package/dist/assets/{qrart-C26DH78a.js → qrart-AmRV4ON1.js} +1 -1
  206. package/dist/assets/{realtime-DMPbZaWw.js → realtime-BS-hTMml.js} +1 -1
  207. package/dist/assets/{refresh-cw-B7Vr1bVU.js → refresh-cw-BOj0WEbZ.js} +1 -1
  208. package/dist/assets/rotate-ccw-BvfnKytr.js +1 -0
  209. package/dist/assets/rotate-cw-zI2ijbow.js +1 -0
  210. package/dist/assets/{row-5G6207BP.js → row-Bu1_q5In.js} +1 -1
  211. package/dist/assets/search-DrM-mheb.js +1 -0
  212. package/dist/assets/{seedance-B9StqJ65.js → seedance-pLWG3R8Q.js} +1 -1
  213. package/dist/assets/{seedream-Bu8x6TRS.js → seedream-DJlMhkLs.js} +1 -1
  214. package/dist/assets/{select-B_LIRKEc.js → select-Bn5sce1w.js} +1 -1
  215. package/dist/assets/{serp-Dk5xO8yr.js → serp-DsMvyJYB.js} +1 -1
  216. package/dist/assets/{shield-D69Ez7Kl.js → shield-DAQARrl8.js} +1 -1
  217. package/dist/assets/{shuffle-vhNhC6mn.js → shuffle-BYpnEkj4.js} +1 -1
  218. package/dist/assets/{slider-Dpo1vqOi.js → slider-B3hFhZqb.js} +1 -1
  219. package/dist/assets/{solana-wallets-CtUb9y_w.js → solana-wallets-CIbdYdj7.js} +2 -2
  220. package/dist/assets/{solana-wallets-vue-e6DxMnsM.js → solana-wallets-vue-DgKqnvKK.js} +1 -1
  221. package/dist/assets/{sora-BVihmrda.js → sora-DbyvXjMc.js} +1 -1
  222. package/dist/assets/{sparkles-DhgToXFt.js → sparkles-BHYMnogC.js} +1 -1
  223. package/dist/assets/square-Cu5blVUd.js +1 -0
  224. package/dist/assets/{store-bEf6tJnJ.js → store-BSGYSRSX.js} +1 -1
  225. package/dist/assets/{suno-qL_h54v3.js → suno-26shVaeE.js} +1 -1
  226. package/dist/assets/{switch-BvCHyQIT.js → switch-BCnnMnoU.js} +1 -1
  227. package/dist/assets/{table-fep0GPeI.js → table-8c6cBWmm.js} +1 -1
  228. package/dist/assets/{tabs-gaoETP28.js → tabs-CEXvzoAf.js} +1 -1
  229. package/dist/assets/{tag-DnNFA4Xh.js → tag-DZs6tOoy.js} +1 -1
  230. package/dist/assets/terminal-BuzSgU88.js +1 -0
  231. package/dist/assets/{time-picker-a5yCdCkb.js → time-picker-B-pIduzF.js} +1 -1
  232. package/dist/assets/{tooltip-65yx4tvR.js → tooltip-CMRAyWII.js} +1 -1
  233. package/dist/assets/{trash-2-DtPyMpc8.js → trash-2-APBNdRD9.js} +1 -1
  234. package/dist/assets/{triangle-alert-DpLecGNq.js → triangle-alert-DhgTh26c.js} +1 -1
  235. package/dist/assets/{upload-CVDRsxmb.js → upload-CNjH3Fr5.js} +1 -1
  236. package/dist/assets/{upload-D2oHJ14J.js → upload-Dz_lLzHB.js} +1 -1
  237. package/dist/assets/user-CKwiJHHf.js +1 -0
  238. package/dist/assets/{veo-DsLwa0nx.js → veo-DVm-FAYL.js} +1 -1
  239. package/dist/assets/{video-dRiFJtAJ.js → video-DzUCYp9B.js} +1 -1
  240. package/dist/assets/{volume-2-CpXlGv3K.js → volume-2-IgKMvOb1.js} +1 -1
  241. package/dist/assets/{wallet-CVamGQFb.js → wallet-BMi6BACY.js} +1 -1
  242. package/dist/assets/{wan-r52MPUS4.js → wan-C28udNgH.js} +1 -1
  243. package/dist/assets/{wand-sparkles--swdHIwq.js → wand-sparkles-DePFIDan.js} +1 -1
  244. package/dist/assets/{web-CJOWch65.js → web-BVz3ZjZw.js} +1 -1
  245. package/dist/assets/{web-D1hl5Srj.js → web-Bx-INEyb.js} +1 -1
  246. package/dist/assets/{web-p_Y_Ew7O.js → web-CPItKmZQ.js} +1 -1
  247. package/dist/assets/{web-BdbUUE4E.js → web-CS7435ux.js} +1 -1
  248. package/dist/assets/{web-BGdWZbCD.js → web-DwaFJw4H.js} +1 -1
  249. package/dist/assets/{webextrator-C2EwxgBt.js → webextrator-Srh0nsHL.js} +1 -1
  250. package/dist/assets/{zap-BxCVvy5i.js → zap-CJ-hTfCp.js} +1 -1
  251. package/dist/index.html +4 -4
  252. package/package.json +1 -1
  253. package/dist/assets/Conversation-AiY5xqke.js +0 -1
  254. package/dist/assets/Conversation-CP1PCEGM.css +0 -1
  255. package/dist/assets/Index-OfG3Mawj.js +0 -1
  256. package/dist/assets/arrow-down-d6UvZwzn.js +0 -1
  257. package/dist/assets/arrow-left-CaNiYnHR.js +0 -1
  258. package/dist/assets/arrow-right-dMuTaNmA.js +0 -1
  259. package/dist/assets/arrow-up-h3Nh1oT3.js +0 -1
  260. package/dist/assets/check-DB_JQiwz.js +0 -1
  261. package/dist/assets/chevron-down-pztrXtC9.js +0 -1
  262. package/dist/assets/chevron-right-BkVpkAp9.js +0 -1
  263. package/dist/assets/circle-check-BDOvHQrP.js +0 -1
  264. package/dist/assets/clock-picb7ciF.js +0 -1
  265. package/dist/assets/code-BUN-R9JK.js +0 -1
  266. package/dist/assets/constants-u1eIRuNz.js +0 -1
  267. package/dist/assets/esm-DTb60onT.js +0 -1
  268. package/dist/assets/gauge-DcU14DH7.js +0 -1
  269. package/dist/assets/index-BK4q_lZQ.js +0 -570
  270. package/dist/assets/loader-circle-F3rw-TI6.js +0 -1
  271. package/dist/assets/music-2-RQoAbcm8.js +0 -1
  272. package/dist/assets/openaiimage-BwZfnTWQ.js +0 -1
  273. package/dist/assets/openaiimage-CBz6nI0u.js +0 -1
  274. package/dist/assets/openaiimage-CEy5ayzF.js +0 -1
  275. package/dist/assets/openaiimage-CL5qT7Su.js +0 -1
  276. package/dist/assets/openaiimage-Cfdtmt74.js +0 -1
  277. package/dist/assets/openaiimage-DQVIkzJZ.js +0 -1
  278. package/dist/assets/openaiimage-DT9faLvp.js +0 -1
  279. package/dist/assets/openaiimage-gsbmK-Nu.js +0 -1
  280. package/dist/assets/openaiimage-qSNYXPTw.js +0 -1
  281. package/dist/assets/openaiimage-yhZwpQ9p.js +0 -1
  282. package/dist/assets/play-B6COElhC.js +0 -1
  283. package/dist/assets/plus-DBkMhDy5.js +0 -1
  284. package/dist/assets/rotate-ccw-DSBoIYol.js +0 -1
  285. package/dist/assets/rotate-cw-4wUH2d0j.js +0 -1
  286. package/dist/assets/search-oq_kx0AC.js +0 -1
  287. package/dist/assets/square-CPAkPKMI.js +0 -1
  288. package/dist/assets/terminal-DWcIA9cX.js +0 -1
  289. package/dist/assets/user-3uEbZ00a.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./upload-CVDRsxmb.js";import{t as y}from"./tooltip-65yx4tvR.js";import{t as b}from"./alert-BprQRUmf.js";import{h as x,v as S}from"./models-BKPWGzi5.js";import{t as C}from"./drawer-lPnIZOSX.js";import{t as w}from"./switch-BvCHyQIT.js";import{t as T}from"./clock-picb7ciF.js";import{a as E,c as D,n as O,o as k,r as ee,t as A}from"./pagination-51ny6Oso.js";import{t as j}from"./info-DhXkijI-.js";import{t as M}from"./trash-2-DtPyMpc8.js";import{t as N}from"./triangle-alert-DpLecGNq.js";import{t as P}from"./upload-D2oHJ14J.js";import{t as F}from"./wand-sparkles--swdHIwq.js";import"./constants-u1eIRuNz.js";import{$t as I,Fi as L,Jt as R,Mr as te,O as z,Qt as ne,en as B,in as V,nn as H,or as U,pn as W,si as G,tn as K,xi as q}from"./index-BK4q_lZQ.js";import{t as J}from"./CopyToClipboard-8zEkaydk.js";import{t as Y}from"./ReportButton-C3Kjfp0k.js";import{t as X}from"./FilePreview-XQJwBnH1.js";import{t as Z}from"./ImagePreview-aup3tBhe.js";import{n as re}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ie}from"./Consumption-DSV6Ajvn.js";import{t as Q}from"./VideoPlayer-DOF-WUP8.js";import{t as ae}from"./ApiCodeButton-DBpwradV.js";import{t as oe}from"./BotPlaceholder-CQECCUDa.js";var se=_({name:`LayoutLuma`,components:{MagicIcon:F,ElDrawer:C,ElButton:L},mixins:[re]}),ce={class:`main flex flex-row flex-1`},le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function de(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ce,[e(`div`,le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ue,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var fe=z(se,[[`render`,de],[`__scopeId`,`data-v-d13d43a9`]]),pe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),me={class:`relative`},he={class:`flex justify-between`},ge={class:`flex justify-start items-center`},_e={class:`text-sm font-bold`},ve={class:`flex justify-end items-center`};function ye(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,me,[e(`div`,he,[e(`div`,ge,[e(`span`,_e,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var be=z(pe,[[`render`,ye]]),xe=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=z(xe,[[`render`,De]]),ke=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=z(ke,[[`render`,Fe]]),Le=_({name:`EndImage`,components:{UploadIcon:P,ElUpload:v,ElButton:L,ImagePreview:Z,InfoIcon:k},mixins:[H,K,I,R],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`};function He(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ue=z(Le,[[`render`,He],[`__scopeId`,`data-v-04c461bb`]]),We=_({name:`StartImage`,components:{UploadIcon:P,ElUpload:v,ElButton:L,ImagePreview:Z,InfoIcon:k},mixins:[H,K,I,R],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ge={class:`relative`},Ke={class:`flex justify-between`},qe={class:`flex justify-start items-center`},Je={class:`text-sm font-bold`};function Ye(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`span`,Je,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Xe=z(We,[[`render`,Ye],[`__scopeId`,`data-v-31c07a19`]]),Ze=_({name:`UploadVideo`,components:{UploadIcon:P,ElUpload:v,ElButton:L,InfoIcon:k,FilePreview:X},mixins:[K,I],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`span`,tt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=z(Ze,[[`render`,nt],[`__scopeId`,`data-v-2189fc52`]]),it=_({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=z(it,[[`render`,at]]),st=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),ct={class:`relative`},lt={class:`flex mb-2`},ut={class:`text-sm font-bold`};function dt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,ct,[e(`div`,lt,[e(`span`,ut,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var ft=_({name:`ConfigPanel`,components:{MagicIcon:F,LoopSelector:Ie,StartImageInput:Xe,EndImageInput:Ue,EnhancementSelector:be,ElButton:L,PromptInput:ot,ExtendFromInput:z(st,[[`render`,dt]]),CustomSelector:Oe,UploadVideo:rt,Consumption:ie},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return V(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),pt={class:`flex flex-col h-full`},mt={class:`flex-1 overflow-y-auto p-5`},ht={class:`flex flex-col items-center justify-center px-5 pb-5`};function gt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`consumption`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,pt,[e(`div`,mt,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,ht,[a(w,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(h(),f(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var _t=z(ft,[[`render`,gt]]),vt=_({name:`TaskPreview`,components:{DeleteIcon:M,ChannelIcon:D,InfoIcon:j,MagicIcon:F,TimeIcon:T,WarningIcon:N,CopyToClipboard:J,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:L,ApiCodeButton:ae,ReportButton:Y},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),yt={class:`preview`},bt={class:`left`},xt={class:`main`},St={class:`bot`},Ct={class:`datetime`},wt=[`aria-label`],Tt={class:`info`},Et={key:0,class:`prompt mt-2`},Dt={key:0},Ot={key:1},kt={key:0,class:n({content:!0,failed:!0})},At={key:0,class:`mb-4`},jt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:n({content:!0})},Pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},It={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Rt={key:2,class:n({content:!0})},zt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Bt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,yt,[e(`div`,bt,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,xt,[e(`div`,St,[a(g,{capability:`luma`,part:`name`}),e(`span`,Ct,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,wt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Tt,[n.modelValue?.request?.prompt?(h(),s(`p`,Et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Dt,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,Ot,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,kt,[n.modelValue.response.video_url?(h(),s(`div`,At,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,jt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Mt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Nt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,$,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Pt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ft,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,It,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Lt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Rt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,zt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Vt=_({name:`RecentPanel`,components:{BotPlaceholder:oe,TaskPreview:z(vt,[[`render`,Bt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:ee,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ht={key:0},Ut={key:2,class:`w-full h-full flex items-center justify-center`};function Wt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Ht,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ut,[a(v)])):o(``,!0)],64)}var Gt=_({name:`LumaIndex`,components:{ConfigPanel:_t,Layout:fe,RecentPanel:z(Vt,[[`render`,Wt]])},mixins:[B],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await A({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!W())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}S.info(this.$t(`luma.message.startingTask`)),te(`luma`,U.generate(e,{token:t})).then(()=>{S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?S.error(this.$t(`luma.message.usedUp`)):S.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Kt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var qt=z(Gt,[[`render`,Kt]]);export{qt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./upload-CNjH3Fr5.js";import{t as y}from"./tooltip-CMRAyWII.js";import{t as b}from"./alert-BprQRUmf.js";import{h as x,v as S}from"./models-B7iN2eFR.js";import{t as C}from"./drawer-DxwxF53O.js";import{t as w}from"./switch-BCnnMnoU.js";import{t as T}from"./clock-CQnxs-go.js";import{a as E,c as D,n as O,o as k,r as ee,t as A}from"./pagination-CxOt6erg.js";import{t as j}from"./info-CtHZBG-P.js";import{t as M}from"./trash-2-APBNdRD9.js";import{t as N}from"./triangle-alert-DhgTh26c.js";import{t as P}from"./upload-Dz_lLzHB.js";import{t as F}from"./wand-sparkles-DePFIDan.js";import"./constants-h8CPcG-m.js";import{$t as I,Fi as L,Jt as R,Mr as te,O as z,Qt as ne,en as B,in as V,nn as H,or as U,pn as W,si as G,tn as K,xi as q}from"./index-CG5Xqr3s.js";import{t as J}from"./CopyToClipboard-3wXI2V0V.js";import{t as Y}from"./ReportButton-DQZ3-wzd.js";import{t as X}from"./FilePreview-Cbw_ZYOC.js";import{t as Z}from"./ImagePreview-DQfitJyI.js";import{n as re}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ie}from"./Consumption-Bxib8Miy.js";import{t as Q}from"./VideoPlayer-CY3GSL1-.js";import{t as ae}from"./ApiCodeButton-IHOqOP_v.js";import{t as oe}from"./BotPlaceholder-RrG8CL2_.js";var se=_({name:`LayoutLuma`,components:{MagicIcon:F,ElDrawer:C,ElButton:L},mixins:[re]}),ce={class:`main flex flex-row flex-1`},le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function de(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ce,[e(`div`,le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ue,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var fe=z(se,[[`render`,de],[`__scopeId`,`data-v-d13d43a9`]]),pe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),me={class:`relative`},he={class:`flex justify-between`},ge={class:`flex justify-start items-center`},_e={class:`text-sm font-bold`},ve={class:`flex justify-end items-center`};function ye(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,me,[e(`div`,he,[e(`div`,ge,[e(`span`,_e,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var be=z(pe,[[`render`,ye]]),xe=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=z(xe,[[`render`,De]]),ke=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:k},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=z(ke,[[`render`,Fe]]),Le=_({name:`EndImage`,components:{UploadIcon:P,ElUpload:v,ElButton:L,ImagePreview:Z,InfoIcon:k},mixins:[H,K,I,R],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`};function He(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ue=z(Le,[[`render`,He],[`__scopeId`,`data-v-04c461bb`]]),We=_({name:`StartImage`,components:{UploadIcon:P,ElUpload:v,ElButton:L,ImagePreview:Z,InfoIcon:k},mixins:[H,K,I,R],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ge={class:`relative`},Ke={class:`flex justify-between`},qe={class:`flex justify-start items-center`},Je={class:`text-sm font-bold`};function Ye(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`span`,Je,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Xe=z(We,[[`render`,Ye],[`__scopeId`,`data-v-31c07a19`]]),Ze=_({name:`UploadVideo`,components:{UploadIcon:P,ElUpload:v,ElButton:L,InfoIcon:k,FilePreview:X},mixins:[K,I],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`span`,tt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=z(Ze,[[`render`,nt],[`__scopeId`,`data-v-2189fc52`]]),it=_({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=z(it,[[`render`,at]]),st=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),ct={class:`relative`},lt={class:`flex mb-2`},ut={class:`text-sm font-bold`};function dt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,ct,[e(`div`,lt,[e(`span`,ut,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var ft=_({name:`ConfigPanel`,components:{MagicIcon:F,LoopSelector:Ie,StartImageInput:Xe,EndImageInput:Ue,EnhancementSelector:be,ElButton:L,PromptInput:ot,ExtendFromInput:z(st,[[`render`,dt]]),CustomSelector:Oe,UploadVideo:rt,Consumption:ie},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return V(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),pt={class:`flex flex-col h-full`},mt={class:`flex-1 overflow-y-auto p-5`},ht={class:`flex flex-col items-center justify-center px-5 pb-5`};function gt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`consumption`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,pt,[e(`div`,mt,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,ht,[a(w,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(h(),f(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var _t=z(ft,[[`render`,gt]]),vt=_({name:`TaskPreview`,components:{DeleteIcon:M,ChannelIcon:D,InfoIcon:j,MagicIcon:F,TimeIcon:T,WarningIcon:N,CopyToClipboard:J,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:L,ApiCodeButton:ae,ReportButton:Y},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),yt={class:`preview`},bt={class:`left`},xt={class:`main`},St={class:`bot`},Ct={class:`datetime`},wt=[`aria-label`],Tt={class:`info`},Et={key:0,class:`prompt mt-2`},Dt={key:0},Ot={key:1},kt={key:0,class:n({content:!0,failed:!0})},At={key:0,class:`mb-4`},jt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:n({content:!0})},Pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},It={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Rt={key:2,class:n({content:!0})},zt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Bt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,yt,[e(`div`,bt,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,xt,[e(`div`,St,[a(g,{capability:`luma`,part:`name`}),e(`span`,Ct,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,wt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Tt,[n.modelValue?.request?.prompt?(h(),s(`p`,Et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Dt,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,Ot,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,kt,[n.modelValue.response.video_url?(h(),s(`div`,At,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,jt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Mt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Nt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,$,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Pt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ft,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,It,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Lt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Rt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,zt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Vt=_({name:`RecentPanel`,components:{BotPlaceholder:oe,TaskPreview:z(vt,[[`render`,Bt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:ee,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ht={key:0},Ut={key:2,class:`w-full h-full flex items-center justify-center`};function Wt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Ht,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ut,[a(v)])):o(``,!0)],64)}var Gt=_({name:`LumaIndex`,components:{ConfigPanel:_t,Layout:fe,RecentPanel:z(Vt,[[`render`,Wt]])},mixins:[B],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await A({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!W())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}S.info(this.$t(`luma.message.startingTask`)),te(`luma`,U.generate(e,{token:t})).then(()=>{S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?S.error(this.$t(`luma.message.usedUp`)):S.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Kt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var qt=z(Gt,[[`render`,Kt]]);export{qt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-B_LIRKEc.js";import{t as x}from"./upload-CVDRsxmb.js";import{t as S}from"./tooltip-65yx4tvR.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-BKPWGzi5.js";import{t as E}from"./drawer-lPnIZOSX.js";import{t as D}from"./input-number-CScClEsg.js";import{t as O}from"./switch-BvCHyQIT.js";import{t as k}from"./box-CyVbYdiI.js";import{t as A}from"./clock-picb7ciF.js";import{a as j,c as M,n as N,o as P,r as F,s as I,t as L}from"./pagination-51ny6Oso.js";import{t as R}from"./info-DhXkijI-.js";import{t as z}from"./trash-2-DtPyMpc8.js";import{t as ee}from"./triangle-alert-DpLecGNq.js";import{t as B}from"./upload-D2oHJ14J.js";import{t as te}from"./volume-2-CpXlGv3K.js";import{t as V}from"./wand-sparkles--swdHIwq.js";import{$t as ne,Qt as re,_n as H,an as ie,cn as ae,dn as oe,fn as se,gn as U,hn as ce,in as le,ln as ue,mn as de,nn as fe,on as pe,pn as me,rn as he,sn as ge,un as _e,yn as W}from"./constants-u1eIRuNz.js";import{$t as G,Fi as K,Jt as q,Mr as ve,O as J,Qt as ye,Rn as be,en as xe,in as Se,nn as Y,pn as Ce,si as X,tn as Z,xi as we}from"./index-BK4q_lZQ.js";import{t as Te}from"./CopyToClipboard-8zEkaydk.js";import{t as Ee}from"./ReportButton-C3Kjfp0k.js";import{t as Q}from"./ImagePreview-aup3tBhe.js";import{n as De}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Oe}from"./Consumption-DSV6Ajvn.js";import{n as ke,t as Ae}from"./VideoPreview-o1E0AjIB.js";import{t as je}from"./VideoPlayer-DOF-WUP8.js";import{t as Me}from"./ApiCodeButton-DBpwradV.js";import{t as Ne}from"./BotPlaceholder-CQECCUDa.js";import{t as Pe}from"./ImageWrapper-lBDb2gpG.js";var Fe=v({name:`LayoutSeedance`,components:{MagicIcon:V,ElDrawer:E,ElButton:K},mixins:[De]}),Ie={class:`main flex flex-row flex-1`},Le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Re={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ze(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Ie,[e(`div`,Le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Re,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Be=J(Fe,[[`render`,ze],[`__scopeId`,`data-v-ff53dce1`]]),Ve=v({name:`SeedancePromptInput`,components:{PromptTextarea:j},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=J(Ve,[[`render`,He]]),We=v({name:`SeedanceModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},data(){return{options:[{value:ge,label:this.$t(`seedance.model.seedance20`)},{value:ae,label:this.$t(`seedance.model.seedance20Fast`)},{value:ue,label:this.$t(`seedance.model.seedance20Mini`)},{value:pe,label:this.$t(`seedance.model.seedance15pro`)},{value:le,label:this.$t(`seedance.model.seedance10pro`)},{value:ie,label:this.$t(`seedance.model.seedance10proFast`)},{value:he,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:fe,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=re}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`h2`,Je,i(t.$t(`seedance.name.model`)),1),a(m,{content:t.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=J(We,[[`render`,Ye],[`__scopeId`,`data-v-deb4c429`]]),Ze=v({name:`SeedanceDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},options(){let e=[];this.capability.supportsAutoDuration&&e.push({value:-1,label:`${this.$t(`seedance.placeholder.seed`)} (-1)`});for(let t=this.capability.minDuration;t<=this.capability.maxDuration;t++)e.push({value:t,label:`${t}s`});return e},value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=5},methods:{clampValue(){let e=this.value;e!==void 0&&!(e===-1&&this.capability.supportsAutoDuration)&&(e<this.capability.minDuration||e>this.capability.maxDuration)&&(this.value=5)}}}),Qe={class:`field`},$e={class:`label`},et={class:`box`},tt={class:`title font-bold`};function nt(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`h2`,tt,i(t.$t(`seedance.name.duration`)),1),a(m,{content:t.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var rt=J(Ze,[[`render`,nt],[`__scopeId`,`data-v-d61cc21b`]]),$={[U]:0,[H]:1,[ce]:2,"4k":3},it=v({name:`SeedanceResolutionSelector`,components:{InfoIcon:P,ElTooltip:S},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},options(){let e=[{value:U,label:`480p`},{value:H,label:`720p`},{value:ce,label:`1080p`},{value:`4k`,label:`4k`}],t=$[this.capability.maxResolution]??$[`1080p`];return e.map(e=>({...e,disabled:$[e.value]>t}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),at={class:`resolution`},ot={class:`header`},st={class:`title font-bold`},ct={class:`items`},lt=[`onClick`];function ut(t,r,o,u,d,m){let _=l(`info-icon`),v=l(`el-tooltip`);return g(),s(`div`,at,[e(`div`,ot,[e(`h2`,st,i(t.$t(`seedance.name.resolution`)),1),a(_,{content:t.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ct,[(g(!0),s(c,null,h(t.options,r=>(g(),f(v,{key:r.value,content:t.$t(`seedance.message.resolutionNotSupported`),disabled:!r.disabled,placement:`top`},{default:p(()=>[e(`div`,{class:n([`item`,{active:t.value===r.value,disabled:r.disabled}]),onClick:e=>t.onSelect(r)},i(r.label),11,lt)]),_:2},1032,[`content`,`disabled`]))),128))])])}var dt=J(it,[[`render`,ut],[`__scopeId`,`data-v-db7e8aff`]]),ft=v({name:`SeedanceRatioSelector`,components:{InfoIcon:P},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:me,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:se,label:`21:9`,w:34,h:14},{value:de,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=ne}}),pt={class:`ratio`},mt={class:`header`},ht={class:`title font-bold`},gt={class:`items`},_t=[`onClick`],vt={class:`preview`},yt={key:1,class:`rect rect-auto`},bt={class:`name`};function xt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,pt,[e(`div`,mt,[e(`h2`,ht,i(t.$t(`seedance.name.ratio`)),1),a(p,{content:t.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,gt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,vt,[r.w&&r.h?(g(),s(`div`,{key:0,class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)):(g(),s(`div`,yt,`A`))]),e(`div`,bt,i(r.label),1)],10,_t))),128))])])}var St=J(ft,[[`render`,xt],[`__scopeId`,`data-v-8ddec2dd`]]),Ct=v({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return W(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),wt={key:0,class:`field`},Tt={class:`label`},Et={class:`box`},Dt={class:`title font-bold`},Ot={class:`value`};function kt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`h2`,Dt,i(t.$t(`seedance.name.generateAudio`)),1),a(f,{content:t.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),e(`div`,Ot,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var At=J(Ct,[[`render`,kt],[`__scopeId`,`data-v-df51dfbd`]]),jt=v({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),Mt={class:`field`},Nt={class:`label`},Pt={class:`box`},Ft={class:`title font-bold`},It={class:`value`};function Lt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Mt,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`seedance.name.cameraFixed`)),1),a(d,{content:t.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),e(`div`,It,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var Rt=J(jt,[[`render`,Lt],[`__scopeId`,`data-v-ae777d61`]]),zt=v({name:`SeedanceFirstFrameImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Bt={key:0,class:`relative`},Vt={class:`flex min-h-8 items-center pr-20`},Ht={class:`flex justify-start items-center`},Ut={class:`text-sm font-bold`},Wt={key:0,class:`required-badge`};function Gt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsImage?(g(),s(`div`,Bt,[e(`div`,Vt,[e(`div`,Ht,[e(`span`,Ut,i(t.$t(`seedance.name.firstFrame`)),1),t.capability.requiresImage?(g(),s(`span`,Wt,i(t.$t(`seedance.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Kt=J(zt,[[`render`,Gt],[`__scopeId`,`data-v-9ed26f7d`]]),qt=v({name:`SeedanceLastFrameImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,ImagePreview:Q,InfoIcon:P},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),Jt={key:0,class:`relative`},Yt={class:`flex min-h-8 items-center pr-20`},Xt={class:`flex justify-start items-center`},Zt={class:`text-sm font-bold`};function Qt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsLastFrame?(g(),s(`div`,Jt,[e(`div`,Yt,[e(`div`,Xt,[e(`span`,Zt,i(t.$t(`seedance.name.lastFrame`)),1),a(h,{content:t.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var $t=J(qt,[[`render`,Qt],[`__scopeId`,`data-v-9b573754`]]),en=v({name:`SeedanceReferenceImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceImage"(e){e||(this.fileList=[],this.onSetReferenceImageUrls())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceImageUrls(){let e=(this.urls||[]).filter(Boolean),t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`reference_image`);e.forEach(e=>t.push({url:e,role:`reference_image`})),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetReferenceImageUrls()},async onRemove(){this.onSetReferenceImageUrls()}}}),tn={key:0,class:`relative`},nn={class:`flex min-h-8 items-center pr-20`},rn={class:`flex justify-start items-center`},an={class:`text-sm font-bold`};function on(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsReferenceImage?(g(),s(`div`,tn,[e(`div`,nn,[e(`div`,rn,[e(`span`,an,i(t.$t(`seedance.name.referenceImage`)),1),a(h,{content:t.$t(`seedance.description.referenceImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var sn=J(en,[[`render`,on],[`__scopeId`,`data-v-3ae3845d`]]),cn=v({name:`SeedanceReferenceAudio`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P},mixins:[Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceAudio"(e){e||(this.fileList=[],this.onSetReferenceAudios())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceAudios(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,audios:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceAudios()},async onRemove(){this.onSetReferenceAudios()}}}),ln={key:0,class:`relative`},un={class:`flex min-h-8 items-center pr-20`},dn={class:`flex justify-start items-center`},fn={class:`text-sm font-bold`};function pn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceAudio?(g(),s(`div`,ln,[e(`div`,un,[e(`div`,dn,[e(`span`,fn,i(t.$t(`seedance.name.referenceAudio`)),1),a(m,{content:t.$t(`seedance.description.referenceAudio`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac,.ogg,.flac`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var mn=J(cn,[[`render`,pn],[`__scopeId`,`data-v-99f6c8be`]]),hn=v({name:`SeedanceReferenceVideo`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P},mixins:[Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceVideo"(e){e||(this.fileList=[],this.onSetReferenceVideos())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceVideos(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,videos:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceVideos()},async onRemove(){this.onSetReferenceVideos()}}}),gn={key:0,class:`relative`},_n={class:`flex min-h-8 items-center pr-20`},vn={class:`flex justify-start items-center`},yn={class:`text-sm font-bold`};function bn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceVideo?(g(),s(`div`,gn,[e(`div`,_n,[e(`div`,vn,[e(`span`,yn,i(t.$t(`seedance.name.referenceVideo`)),1),a(m,{content:t.$t(`seedance.description.referenceVideo`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp4,.mov,.webm,.mkv,.avi`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var xn=J(hn,[[`render`,bn],[`__scopeId`,`data-v-21bc6757`]]),Sn=v({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return W(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Cn={key:0,class:`field`},wn={class:`label`},Tn={class:`box`},En={class:`title font-bold`},Dn={class:`value`};function On(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,Cn,[e(`div`,wn,[e(`div`,Tn,[e(`h2`,En,i(t.$t(`seedance.name.returnLastFrame`)),1),a(f,{content:t.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),e(`div`,Dn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var kn=J(Sn,[[`render`,On],[`__scopeId`,`data-v-edea5451`]]),An=v({name:`SeedanceSeedInput`,components:{ElInputNumber:D,InfoIcon:P},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),jn={class:`field`},Mn={class:`label`},Nn={class:`box`},Pn={class:`title font-bold`},Fn={class:`value`};function In(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`);return g(),s(`div`,jn,[e(`div`,Mn,[e(`div`,Nn,[e(`h2`,Pn,i(t.$t(`seedance.name.seed`)),1),a(d,{content:t.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Fn,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var Ln=v({name:`SeedanceConfigPanel`,components:{MagicIcon:V,ElButton:K,PromptInput:Ue,ModelSelector:Xe,DurationSelector:rt,ResolutionSelector:dt,RatioSelector:St,GenerateAudioSwitch:At,CameraFixedSwitch:Rt,ReturnLastFrameSwitch:kn,SeedInput:J(An,[[`render`,In],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Kt,LastFrameImage:$t,ReferenceImage:sn,ReferenceAudio:mn,ReferenceVideo:xn,Consumption:Oe},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return Se(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Rn={class:`flex flex-col h-full`},zn={class:`flex-1 overflow-y-auto p-5`},Bn={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vn(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`ratio-selector`),_=l(`resolution-selector`),v=l(`duration-selector`),y=l(`generate-audio-switch`),b=l(`camera-fixed-switch`),x=l(`return-last-frame-switch`),S=l(`seed-input`),C=l(`first-frame-image`),w=l(`last-frame-image`),T=l(`reference-image`),E=l(`reference-audio`),D=l(`reference-video`),O=l(`consumption`),k=l(`magic-icon`),A=l(`el-button`);return g(),s(`div`,Rn,[e(`div`,zn,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`}),a(T,{class:`mb-4`}),a(E,{class:`mb-4`}),a(D,{class:`mb-4`})]),e(`div`,Bn,[a(O,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(A,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(k,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Hn=J(Ln,[[`render`,Vn]]),Un=v({name:`SeedanceTaskPreview`,components:{DeleteIcon:z,ApplicationIcon:k,ChannelIcon:M,FullscreenIcon:I,InfoIcon:R,MagicIcon:V,TimeIcon:A,VolumeIcon:te,WarningIcon:ee,CopyToClipboard:Te,ElAlert:C,VideoPlayer:je,ElTooltip:S,ElButton:K,ImageWrapper:Pe,ImagePreview:Q,AudioPreview:ke,VideoPreview:Ae,ApiCodeButton:Me,ReportButton:Ee},props:{modelValue:{type:Object,required:!0}},computed:{video(){return this.modelValue?.response?.data},apiCodeBody(){let e=this.modelValue?.request;if(!e)return e;let{service_tier:t,...n}=e;return n},promptText(){let e=this.modelValue?.request;if(e?.prompt)return e.prompt;let t=e?.content?.find(e=>e?.type===`text`&&e?.text);return t?.text?t.text:this.video?.prompt},referenceImages(){let e=this.collectImages();if(e.length===0)return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t},referenceAudios(){let e=this.modelValue?.request,t=(e?.audios??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`audio_url`&&e?.audio_url?.url&&t.push(e.audio_url.url)}),t},referenceVideos(){let e=this.modelValue?.request,t=(e?.videos??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`video_url`&&e?.video_url?.url&&t.push(e.video_url.url)}),t}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await we.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`seedance/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},collectImages(){let e=this.modelValue?.request,t=Array.isArray(e?.images)?[...e.images]:[];return(e?.content??[]).forEach(e=>{e?.type===`image_url`&&e?.image_url?.url&&t.push({url:e.image_url.url,role:e.role})}),t},onDownload(e){window.open(e,`_blank`)}}}),Wn={class:`preview`},Gn={class:`left`},Kn={class:`main`},qn={class:`bot`},Jn={class:`datetime`},Yn=[`aria-label`],Xn={class:`info`},Zn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qn={key:1,class:`prompt mt-2`},$n={key:0},er={key:1},tr={key:0,class:n({content:!0})},nr={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},rr={key:1,class:n({content:!0})},ir={key:0,class:`mb-4`},ar={key:1,class:`mb-4`},or={key:2,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},sr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ur={key:0},dr={key:1},fr={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mr={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hr={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gr={key:2,class:n({content:!0})},_r={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},br={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xr={key:3,class:n({content:!0})},Sr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Cr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function wr(n,u,d,m,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`audio-preview`),w=l(`video-preview`),T=l(`time-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`el-alert`),k=l(`video-player`),A=l(`image-wrapper`),j=l(`el-button`),M=l(`api-code-button`),N=l(`report-button`),P=l(`application-icon`),F=l(`fullscreen-icon`),I=l(`volume-icon`),L=l(`channel-icon`),R=l(`warning-icon`),z=l(`info-icon`);return g(),s(`div`,Wn,[e(`div`,Gn,[a(y,{capability:`seedance`,part:`avatar`,class:`avatar`})]),e(`div`,Kn,[e(`div`,qn,[a(y,{capability:`seedance`,part:`name`}),e(`span`,Jn,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Yn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Xn,[n.referenceImages.length>0||n.referenceAudios.length>0||n.referenceVideos.length>0?(g(),s(`div`,Zn,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(S,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(C,{key:`audio-${t}`,url:e,name:`audio-${t+1}`},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(w,{key:`video-${t}`,url:e,name:`video-${t+1}`},null,8,[`url`,`name`]))),128))])):o(``,!0),n.promptText?(g(),s(`p`,Qn,[r(i(n.promptText)+` `,1),n.modelValue?.response?n.video?.status===`processing`||n.video?.status===`pending`?(g(),s(`span`,er,` - (`+i(n.$t(`seedance.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,$n,` - (`+i(n.$t(`seedance.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,rr,[n.video?.video_url?(g(),s(`div`,ir,[a(k,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.last_frame_url?(g(),s(`div`,ar,[a(A,{src:n.video?.last_frame_url,"raw-src":n.video?.last_frame_url},null,8,[`src`,`raw-src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,or,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(j,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(M,{path:`/seedance/videos`,body:n.apiCodeBody},null,8,[`body`]),a(N,{service:`seedance`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,sr,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,cr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.video?.resolution?(g(),s(`p`,lr,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.resolution`))+`: `+i(n.video?.resolution)+` `,1),n.video?.ratio?(g(),s(`span`,ur,` · `+i(n.video?.ratio),1)):o(``,!0),n.video?.framespersecond?(g(),s(`span`,dr,` · `+i(n.video?.framespersecond)+`fps`,1)):o(``,!0)])):o(``,!0),n.modelValue?.request?.generate_audio?(g(),s(`p`,fr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.generateAudio`))+`: `+i(n.$t(`seedance.button.on`)),1)])):o(``,!0),e(`p`,pr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,mr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,hr,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,gr,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failure`)),1)]),default:p(()=>[e(`p`,_r,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,vr,[a(z,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,yr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,br,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,xr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(z,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.status`)),1)]),default:p(()=>[e(`p`,Sr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Cr,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,tr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.status.pending`)),1)]),default:p(()=>[e(`p`,nr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Tr=v({name:`SeedanceRecentPanel`,components:{TaskPreview:J(Un,[[`render`,wr],[`__scopeId`,`data-v-91bf07f2`]]),BotPlaceholder:Ne,NoTasks:F,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Er={key:0},Dr={key:2,class:`w-full h-full flex items-center justify-center`};function Or(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Er,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Dr,[a(v)])):o(``,!0)],64)}var kr=J(Tr,[[`render`,Or]]),Ar=new Set(Object.keys(_e)),jr=e=>Array.isArray(e)?e.filter(e=>!!e?.url):[];function Mr(e){let t={...e||{}};if(typeof t.prompt==`string`&&(t.prompt=t.prompt.trim(),t.prompt||delete t.prompt),t.model&&!Ar.has(t.model))return{reject:`modelUnsupported`};let n=W(t.model);t.images=jr(t.images);let r=t.images.some(e=>e.role===`first_frame`),i=t.images.some(e=>e.role===`last_frame`);!r&&i&&(t.images=t.images.map(e=>e.role===`last_frame`?{...e,role:`first_frame`}:e));let a=t.images.length>0;if(a||delete t.images,delete t.service_tier,!n.acceptsImage&&a)return{reject:`modelRejectsImage`};if(!n.acceptsAudio&&t.generate_audio&&(t.generate_audio=!1),!n.acceptsReturnLastFrame&&t.return_last_frame&&(t.return_last_frame=!1),!n.acceptsLastFrame&&a&&(t.images=t.images.filter(e=>e.role!==`last_frame`),a=t.images.length>0,a||delete t.images),n.acceptsReferenceAudio&&Array.isArray(t.audios)&&(t.audios=t.audios.filter(e=>e?.url)),(!n.acceptsReferenceAudio||!Array.isArray(t.audios)||t.audios.length===0)&&delete t.audios,n.acceptsReferenceVideo&&Array.isArray(t.videos)&&(t.videos=t.videos.filter(e=>e?.url)),(!n.acceptsReferenceVideo||!Array.isArray(t.videos)||t.videos.length===0)&&delete t.videos,!n.acceptsReferenceImage&&Array.isArray(t.images)&&(t.images=t.images.filter(e=>e.role!==`reference_image`),t.images.length===0&&delete t.images),a=Array.isArray(t.images)&&t.images.length>0,n.requiresImage&&!a||!n.acceptsText&&!a)return{reject:`modelRequiresImage`};let o=Array.isArray(t.videos)&&t.videos.length>0;return Array.isArray(t.audios)&&t.audios.length>0&&!a&&!o?{reject:`audioRequiresReference`}:{request:{...t,async:!0}}}var Nr=v({name:`SeedanceIndex`,components:{ConfigPanel:Hn,Layout:Be,RecentPanel:kr},mixins:[xe],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await L({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ye(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let{request:e,reject:t}=Mr(this.config);if(t){T.warning(this.$t(`seedance.message.${t}`));return}if(!e||!Ce())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}T.info(this.$t(`seedance.message.startingTask`)),ve(`seedance`,be.generate(e,{token:n})).then(()=>{T.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?T.error(this.$t(`seedance.message.usedUp`)):T.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pr(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Fr=J(Nr,[[`render`,Pr]]);export{Fr as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Bn5sce1w.js";import{t as x}from"./upload-CNjH3Fr5.js";import{t as S}from"./tooltip-CMRAyWII.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-B7iN2eFR.js";import{t as E}from"./drawer-DxwxF53O.js";import{t as D}from"./input-number-DsEfUkFT.js";import{t as O}from"./switch-BCnnMnoU.js";import{t as k}from"./box-DMbFuGXc.js";import{t as A}from"./clock-CQnxs-go.js";import{a as j,c as M,n as N,o as P,r as F,s as I,t as L}from"./pagination-CxOt6erg.js";import{t as R}from"./info-CtHZBG-P.js";import{t as z}from"./trash-2-APBNdRD9.js";import{t as ee}from"./triangle-alert-DhgTh26c.js";import{t as B}from"./upload-Dz_lLzHB.js";import{t as te}from"./volume-2-IgKMvOb1.js";import{t as V}from"./wand-sparkles-DePFIDan.js";import{$t as ne,Qt as re,_n as H,an as ie,cn as ae,dn as oe,fn as se,gn as U,hn as ce,in as le,ln as ue,mn as de,nn as fe,on as pe,pn as me,rn as he,sn as ge,un as _e,yn as W}from"./constants-h8CPcG-m.js";import{$t as G,Fi as K,Jt as q,Mr as ve,O as J,Qt as ye,Rn as be,en as xe,in as Se,nn as Y,pn as Ce,si as X,tn as Z,xi as we}from"./index-CG5Xqr3s.js";import{t as Te}from"./CopyToClipboard-3wXI2V0V.js";import{t as Ee}from"./ReportButton-DQZ3-wzd.js";import{t as Q}from"./ImagePreview-DQfitJyI.js";import{n as De}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Oe}from"./Consumption-Bxib8Miy.js";import{n as ke,t as Ae}from"./VideoPreview-BBg63f0S.js";import{t as je}from"./VideoPlayer-CY3GSL1-.js";import{t as Me}from"./ApiCodeButton-IHOqOP_v.js";import{t as Ne}from"./BotPlaceholder-RrG8CL2_.js";import{t as Pe}from"./ImageWrapper-BeIsdHFN.js";var Fe=v({name:`LayoutSeedance`,components:{MagicIcon:V,ElDrawer:E,ElButton:K},mixins:[De]}),Ie={class:`main flex flex-row flex-1`},Le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Re={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ze(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Ie,[e(`div`,Le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Re,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Be=J(Fe,[[`render`,ze],[`__scopeId`,`data-v-ff53dce1`]]),Ve=v({name:`SeedancePromptInput`,components:{PromptTextarea:j},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=J(Ve,[[`render`,He]]),We=v({name:`SeedanceModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},data(){return{options:[{value:ge,label:this.$t(`seedance.model.seedance20`)},{value:ae,label:this.$t(`seedance.model.seedance20Fast`)},{value:ue,label:this.$t(`seedance.model.seedance20Mini`)},{value:pe,label:this.$t(`seedance.model.seedance15pro`)},{value:le,label:this.$t(`seedance.model.seedance10pro`)},{value:ie,label:this.$t(`seedance.model.seedance10proFast`)},{value:he,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:fe,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=re}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`h2`,Je,i(t.$t(`seedance.name.model`)),1),a(m,{content:t.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=J(We,[[`render`,Ye],[`__scopeId`,`data-v-deb4c429`]]),Ze=v({name:`SeedanceDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},options(){let e=[];this.capability.supportsAutoDuration&&e.push({value:-1,label:`${this.$t(`seedance.placeholder.seed`)} (-1)`});for(let t=this.capability.minDuration;t<=this.capability.maxDuration;t++)e.push({value:t,label:`${t}s`});return e},value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=5},methods:{clampValue(){let e=this.value;e!==void 0&&!(e===-1&&this.capability.supportsAutoDuration)&&(e<this.capability.minDuration||e>this.capability.maxDuration)&&(this.value=5)}}}),Qe={class:`field`},$e={class:`label`},et={class:`box`},tt={class:`title font-bold`};function nt(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`h2`,tt,i(t.$t(`seedance.name.duration`)),1),a(m,{content:t.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var rt=J(Ze,[[`render`,nt],[`__scopeId`,`data-v-d61cc21b`]]),$={[U]:0,[H]:1,[ce]:2,"4k":3},it=v({name:`SeedanceResolutionSelector`,components:{InfoIcon:P,ElTooltip:S},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},options(){let e=[{value:U,label:`480p`},{value:H,label:`720p`},{value:ce,label:`1080p`},{value:`4k`,label:`4k`}],t=$[this.capability.maxResolution]??$[`1080p`];return e.map(e=>({...e,disabled:$[e.value]>t}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),at={class:`resolution`},ot={class:`header`},st={class:`title font-bold`},ct={class:`items`},lt=[`onClick`];function ut(t,r,o,u,d,m){let _=l(`info-icon`),v=l(`el-tooltip`);return g(),s(`div`,at,[e(`div`,ot,[e(`h2`,st,i(t.$t(`seedance.name.resolution`)),1),a(_,{content:t.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ct,[(g(!0),s(c,null,h(t.options,r=>(g(),f(v,{key:r.value,content:t.$t(`seedance.message.resolutionNotSupported`),disabled:!r.disabled,placement:`top`},{default:p(()=>[e(`div`,{class:n([`item`,{active:t.value===r.value,disabled:r.disabled}]),onClick:e=>t.onSelect(r)},i(r.label),11,lt)]),_:2},1032,[`content`,`disabled`]))),128))])])}var dt=J(it,[[`render`,ut],[`__scopeId`,`data-v-db7e8aff`]]),ft=v({name:`SeedanceRatioSelector`,components:{InfoIcon:P},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:me,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:se,label:`21:9`,w:34,h:14},{value:de,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=ne}}),pt={class:`ratio`},mt={class:`header`},ht={class:`title font-bold`},gt={class:`items`},_t=[`onClick`],vt={class:`preview`},yt={key:1,class:`rect rect-auto`},bt={class:`name`};function xt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,pt,[e(`div`,mt,[e(`h2`,ht,i(t.$t(`seedance.name.ratio`)),1),a(p,{content:t.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,gt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,vt,[r.w&&r.h?(g(),s(`div`,{key:0,class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)):(g(),s(`div`,yt,`A`))]),e(`div`,bt,i(r.label),1)],10,_t))),128))])])}var St=J(ft,[[`render`,xt],[`__scopeId`,`data-v-8ddec2dd`]]),Ct=v({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return W(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),wt={key:0,class:`field`},Tt={class:`label`},Et={class:`box`},Dt={class:`title font-bold`},Ot={class:`value`};function kt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`h2`,Dt,i(t.$t(`seedance.name.generateAudio`)),1),a(f,{content:t.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),e(`div`,Ot,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var At=J(Ct,[[`render`,kt],[`__scopeId`,`data-v-df51dfbd`]]),jt=v({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),Mt={class:`field`},Nt={class:`label`},Pt={class:`box`},Ft={class:`title font-bold`},It={class:`value`};function Lt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Mt,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`seedance.name.cameraFixed`)),1),a(d,{content:t.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),e(`div`,It,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var Rt=J(jt,[[`render`,Lt],[`__scopeId`,`data-v-ae777d61`]]),zt=v({name:`SeedanceFirstFrameImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Bt={key:0,class:`relative`},Vt={class:`flex min-h-8 items-center pr-20`},Ht={class:`flex justify-start items-center`},Ut={class:`text-sm font-bold`},Wt={key:0,class:`required-badge`};function Gt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsImage?(g(),s(`div`,Bt,[e(`div`,Vt,[e(`div`,Ht,[e(`span`,Ut,i(t.$t(`seedance.name.firstFrame`)),1),t.capability.requiresImage?(g(),s(`span`,Wt,i(t.$t(`seedance.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Kt=J(zt,[[`render`,Gt],[`__scopeId`,`data-v-9ed26f7d`]]),qt=v({name:`SeedanceLastFrameImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,ImagePreview:Q,InfoIcon:P},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),Jt={key:0,class:`relative`},Yt={class:`flex min-h-8 items-center pr-20`},Xt={class:`flex justify-start items-center`},Zt={class:`text-sm font-bold`};function Qt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsLastFrame?(g(),s(`div`,Jt,[e(`div`,Yt,[e(`div`,Xt,[e(`span`,Zt,i(t.$t(`seedance.name.lastFrame`)),1),a(h,{content:t.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var $t=J(qt,[[`render`,Qt],[`__scopeId`,`data-v-9b573754`]]),en=v({name:`SeedanceReferenceImage`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceImage"(e){e||(this.fileList=[],this.onSetReferenceImageUrls())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceImageUrls(){let e=(this.urls||[]).filter(Boolean),t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`reference_image`);e.forEach(e=>t.push({url:e,role:`reference_image`})),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetReferenceImageUrls()},async onRemove(){this.onSetReferenceImageUrls()}}}),tn={key:0,class:`relative`},nn={class:`flex min-h-8 items-center pr-20`},rn={class:`flex justify-start items-center`},an={class:`text-sm font-bold`};function on(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsReferenceImage?(g(),s(`div`,tn,[e(`div`,nn,[e(`div`,rn,[e(`span`,an,i(t.$t(`seedance.name.referenceImage`)),1),a(h,{content:t.$t(`seedance.description.referenceImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var sn=J(en,[[`render`,on],[`__scopeId`,`data-v-3ae3845d`]]),cn=v({name:`SeedanceReferenceAudio`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P},mixins:[Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceAudio"(e){e||(this.fileList=[],this.onSetReferenceAudios())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceAudios(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,audios:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceAudios()},async onRemove(){this.onSetReferenceAudios()}}}),ln={key:0,class:`relative`},un={class:`flex min-h-8 items-center pr-20`},dn={class:`flex justify-start items-center`},fn={class:`text-sm font-bold`};function pn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceAudio?(g(),s(`div`,ln,[e(`div`,un,[e(`div`,dn,[e(`span`,fn,i(t.$t(`seedance.name.referenceAudio`)),1),a(m,{content:t.$t(`seedance.description.referenceAudio`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac,.ogg,.flac`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var mn=J(cn,[[`render`,pn],[`__scopeId`,`data-v-99f6c8be`]]),hn=v({name:`SeedanceReferenceVideo`,components:{UploadIcon:B,ElUpload:x,ElButton:K,InfoIcon:P},mixins:[Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return W(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceVideo"(e){e||(this.fileList=[],this.onSetReferenceVideos())}},methods:{onExceed(){T.warning(this.$t(`seedance.message.uploadExceed`))},onError(){T.error(this.$t(`seedance.message.uploadError`))},onSetReferenceVideos(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,videos:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceVideos()},async onRemove(){this.onSetReferenceVideos()}}}),gn={key:0,class:`relative`},_n={class:`flex min-h-8 items-center pr-20`},vn={class:`flex justify-start items-center`},yn={class:`text-sm font-bold`};function bn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceVideo?(g(),s(`div`,gn,[e(`div`,_n,[e(`div`,vn,[e(`span`,yn,i(t.$t(`seedance.name.referenceVideo`)),1),a(m,{content:t.$t(`seedance.description.referenceVideo`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp4,.mov,.webm,.mkv,.avi`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var xn=J(hn,[[`render`,bn],[`__scopeId`,`data-v-21bc6757`]]),Sn=v({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:O,InfoIcon:P},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return W(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Cn={key:0,class:`field`},wn={class:`label`},Tn={class:`box`},En={class:`title font-bold`},Dn={class:`value`};function On(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,Cn,[e(`div`,wn,[e(`div`,Tn,[e(`h2`,En,i(t.$t(`seedance.name.returnLastFrame`)),1),a(f,{content:t.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),e(`div`,Dn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var kn=J(Sn,[[`render`,On],[`__scopeId`,`data-v-edea5451`]]),An=v({name:`SeedanceSeedInput`,components:{ElInputNumber:D,InfoIcon:P},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),jn={class:`field`},Mn={class:`label`},Nn={class:`box`},Pn={class:`title font-bold`},Fn={class:`value`};function In(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`);return g(),s(`div`,jn,[e(`div`,Mn,[e(`div`,Nn,[e(`h2`,Pn,i(t.$t(`seedance.name.seed`)),1),a(d,{content:t.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Fn,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var Ln=v({name:`SeedanceConfigPanel`,components:{MagicIcon:V,ElButton:K,PromptInput:Ue,ModelSelector:Xe,DurationSelector:rt,ResolutionSelector:dt,RatioSelector:St,GenerateAudioSwitch:At,CameraFixedSwitch:Rt,ReturnLastFrameSwitch:kn,SeedInput:J(An,[[`render`,In],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Kt,LastFrameImage:$t,ReferenceImage:sn,ReferenceAudio:mn,ReferenceVideo:xn,Consumption:Oe},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return Se(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Rn={class:`flex flex-col h-full`},zn={class:`flex-1 overflow-y-auto p-5`},Bn={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vn(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`ratio-selector`),_=l(`resolution-selector`),v=l(`duration-selector`),y=l(`generate-audio-switch`),b=l(`camera-fixed-switch`),x=l(`return-last-frame-switch`),S=l(`seed-input`),C=l(`first-frame-image`),w=l(`last-frame-image`),T=l(`reference-image`),E=l(`reference-audio`),D=l(`reference-video`),O=l(`consumption`),k=l(`magic-icon`),A=l(`el-button`);return g(),s(`div`,Rn,[e(`div`,zn,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`}),a(T,{class:`mb-4`}),a(E,{class:`mb-4`}),a(D,{class:`mb-4`})]),e(`div`,Bn,[a(O,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(A,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(k,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Hn=J(Ln,[[`render`,Vn]]),Un=v({name:`SeedanceTaskPreview`,components:{DeleteIcon:z,ApplicationIcon:k,ChannelIcon:M,FullscreenIcon:I,InfoIcon:R,MagicIcon:V,TimeIcon:A,VolumeIcon:te,WarningIcon:ee,CopyToClipboard:Te,ElAlert:C,VideoPlayer:je,ElTooltip:S,ElButton:K,ImageWrapper:Pe,ImagePreview:Q,AudioPreview:ke,VideoPreview:Ae,ApiCodeButton:Me,ReportButton:Ee},props:{modelValue:{type:Object,required:!0}},computed:{video(){return this.modelValue?.response?.data},apiCodeBody(){let e=this.modelValue?.request;if(!e)return e;let{service_tier:t,...n}=e;return n},promptText(){let e=this.modelValue?.request;if(e?.prompt)return e.prompt;let t=e?.content?.find(e=>e?.type===`text`&&e?.text);return t?.text?t.text:this.video?.prompt},referenceImages(){let e=this.collectImages();if(e.length===0)return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t},referenceAudios(){let e=this.modelValue?.request,t=(e?.audios??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`audio_url`&&e?.audio_url?.url&&t.push(e.audio_url.url)}),t},referenceVideos(){let e=this.modelValue?.request,t=(e?.videos??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`video_url`&&e?.video_url?.url&&t.push(e.video_url.url)}),t}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await we.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`seedance/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},collectImages(){let e=this.modelValue?.request,t=Array.isArray(e?.images)?[...e.images]:[];return(e?.content??[]).forEach(e=>{e?.type===`image_url`&&e?.image_url?.url&&t.push({url:e.image_url.url,role:e.role})}),t},onDownload(e){window.open(e,`_blank`)}}}),Wn={class:`preview`},Gn={class:`left`},Kn={class:`main`},qn={class:`bot`},Jn={class:`datetime`},Yn=[`aria-label`],Xn={class:`info`},Zn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qn={key:1,class:`prompt mt-2`},$n={key:0},er={key:1},tr={key:0,class:n({content:!0})},nr={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},rr={key:1,class:n({content:!0})},ir={key:0,class:`mb-4`},ar={key:1,class:`mb-4`},or={key:2,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},sr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ur={key:0},dr={key:1},fr={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mr={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hr={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gr={key:2,class:n({content:!0})},_r={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},br={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xr={key:3,class:n({content:!0})},Sr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Cr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function wr(n,u,d,m,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`audio-preview`),w=l(`video-preview`),T=l(`time-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`el-alert`),k=l(`video-player`),A=l(`image-wrapper`),j=l(`el-button`),M=l(`api-code-button`),N=l(`report-button`),P=l(`application-icon`),F=l(`fullscreen-icon`),I=l(`volume-icon`),L=l(`channel-icon`),R=l(`warning-icon`),z=l(`info-icon`);return g(),s(`div`,Wn,[e(`div`,Gn,[a(y,{capability:`seedance`,part:`avatar`,class:`avatar`})]),e(`div`,Kn,[e(`div`,qn,[a(y,{capability:`seedance`,part:`name`}),e(`span`,Jn,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Yn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Xn,[n.referenceImages.length>0||n.referenceAudios.length>0||n.referenceVideos.length>0?(g(),s(`div`,Zn,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(S,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(C,{key:`audio-${t}`,url:e,name:`audio-${t+1}`},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(w,{key:`video-${t}`,url:e,name:`video-${t+1}`},null,8,[`url`,`name`]))),128))])):o(``,!0),n.promptText?(g(),s(`p`,Qn,[r(i(n.promptText)+` `,1),n.modelValue?.response?n.video?.status===`processing`||n.video?.status===`pending`?(g(),s(`span`,er,` - (`+i(n.$t(`seedance.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,$n,` - (`+i(n.$t(`seedance.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,rr,[n.video?.video_url?(g(),s(`div`,ir,[a(k,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.last_frame_url?(g(),s(`div`,ar,[a(A,{src:n.video?.last_frame_url,"raw-src":n.video?.last_frame_url},null,8,[`src`,`raw-src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,or,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(j,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(M,{path:`/seedance/videos`,body:n.apiCodeBody},null,8,[`body`]),a(N,{service:`seedance`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,sr,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,cr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.video?.resolution?(g(),s(`p`,lr,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.resolution`))+`: `+i(n.video?.resolution)+` `,1),n.video?.ratio?(g(),s(`span`,ur,` · `+i(n.video?.ratio),1)):o(``,!0),n.video?.framespersecond?(g(),s(`span`,dr,` · `+i(n.video?.framespersecond)+`fps`,1)):o(``,!0)])):o(``,!0),n.modelValue?.request?.generate_audio?(g(),s(`p`,fr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.generateAudio`))+`: `+i(n.$t(`seedance.button.on`)),1)])):o(``,!0),e(`p`,pr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,mr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,hr,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,gr,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failure`)),1)]),default:p(()=>[e(`p`,_r,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,vr,[a(z,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,yr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,br,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,xr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(z,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.status`)),1)]),default:p(()=>[e(`p`,Sr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Cr,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,tr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.status.pending`)),1)]),default:p(()=>[e(`p`,nr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Tr=v({name:`SeedanceRecentPanel`,components:{TaskPreview:J(Un,[[`render`,wr],[`__scopeId`,`data-v-91bf07f2`]]),BotPlaceholder:Ne,NoTasks:F,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Er={key:0},Dr={key:2,class:`w-full h-full flex items-center justify-center`};function Or(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Er,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Dr,[a(v)])):o(``,!0)],64)}var kr=J(Tr,[[`render`,Or]]),Ar=new Set(Object.keys(_e)),jr=e=>Array.isArray(e)?e.filter(e=>!!e?.url):[];function Mr(e){let t={...e||{}};if(typeof t.prompt==`string`&&(t.prompt=t.prompt.trim(),t.prompt||delete t.prompt),t.model&&!Ar.has(t.model))return{reject:`modelUnsupported`};let n=W(t.model);t.images=jr(t.images);let r=t.images.some(e=>e.role===`first_frame`),i=t.images.some(e=>e.role===`last_frame`);!r&&i&&(t.images=t.images.map(e=>e.role===`last_frame`?{...e,role:`first_frame`}:e));let a=t.images.length>0;if(a||delete t.images,delete t.service_tier,!n.acceptsImage&&a)return{reject:`modelRejectsImage`};if(!n.acceptsAudio&&t.generate_audio&&(t.generate_audio=!1),!n.acceptsReturnLastFrame&&t.return_last_frame&&(t.return_last_frame=!1),!n.acceptsLastFrame&&a&&(t.images=t.images.filter(e=>e.role!==`last_frame`),a=t.images.length>0,a||delete t.images),n.acceptsReferenceAudio&&Array.isArray(t.audios)&&(t.audios=t.audios.filter(e=>e?.url)),(!n.acceptsReferenceAudio||!Array.isArray(t.audios)||t.audios.length===0)&&delete t.audios,n.acceptsReferenceVideo&&Array.isArray(t.videos)&&(t.videos=t.videos.filter(e=>e?.url)),(!n.acceptsReferenceVideo||!Array.isArray(t.videos)||t.videos.length===0)&&delete t.videos,!n.acceptsReferenceImage&&Array.isArray(t.images)&&(t.images=t.images.filter(e=>e.role!==`reference_image`),t.images.length===0&&delete t.images),a=Array.isArray(t.images)&&t.images.length>0,n.requiresImage&&!a||!n.acceptsText&&!a)return{reject:`modelRequiresImage`};let o=Array.isArray(t.videos)&&t.videos.length>0;return Array.isArray(t.audios)&&t.audios.length>0&&!a&&!o?{reject:`audioRequiresReference`}:{request:{...t,async:!0}}}var Nr=v({name:`SeedanceIndex`,components:{ConfigPanel:Hn,Layout:Be,RecentPanel:kr},mixins:[xe],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await L({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ye(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let{request:e,reject:t}=Mr(this.config);if(t){T.warning(this.$t(`seedance.message.${t}`));return}if(!e||!Ce())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}T.info(this.$t(`seedance.message.startingTask`)),ve(`seedance`,be.generate(e,{token:n})).then(()=>{T.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?T.error(this.$t(`seedance.message.usedUp`)):T.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Pr(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Fr=J(Nr,[[`render`,Pr]]);export{Fr as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,j as c,mt as l,rt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{v as p}from"./models-BKPWGzi5.js";import{t as m}from"./card-IQwqnRJR.js";import{t as h}from"./empty-C5KjRN0h.js";import{t as g}from"./skeleton-Dj_a_iIP.js";import{t as _}from"./monitor-CrEzv_XE.js";import{t as v}from"./plus-DBkMhDy5.js";import{Fi as y,Ni as b,O as x,Y as S,xi as C}from"./index-BK4q_lZQ.js";import{t as w}from"./PageHeader-S4BgUVFm.js";import{n as T,t as E}from"./BrowserPairingDialog-DFSh0f4m.js";var D=f({name:`ConsoleBrowserDevices`,components:{AddIcon:v,BrowserPairingDialog:E,ConsolePageHeader:w,DesktopIcon:_,ElButton:y,ElCard:m,ElEmpty:h,ElSkeleton:g,ElTag:b},data(){return{devices:[],loading:!1,busyId:null,pairingVisible:!1}},mounted(){this.refresh()},methods:{async refresh(){this.loading=!0;try{let{data:e}=await T.list();this.devices=e.filter(e=>e.status===`active`)}catch(e){p.error(this.errorDetail(e,`user.browserDevice.loadFailed`))}finally{this.loading=!1}},async rename(e){let t=await C.prompt(this.$t(`user.browserDevice.renamePrompt`),this.$t(`user.browserDevice.renameTitle`),{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:e.name,inputValidator:e=>!!e.trim()&&e.trim().length<=128||this.$t(`user.browserDevice.nameRequired`)}).catch(()=>null);if(!t)return;let n=t.value?.trim();if(n){this.busyId=e.id;try{let{data:t}=await T.rename(e.id,n);this.devices=this.devices.map(e=>e.id===t.id?t:e),p.success(this.$t(`user.browserDevice.renameSuccess`))}catch(e){p.error(this.errorDetail(e,`user.browserDevice.renameFailed`))}finally{this.busyId=null}}},async remove(e){if(await C.confirm(this.$t(`user.browserDevice.deleteConfirm`,{name:e.name,count:e.active_session_count}),this.$t(`user.browserDevice.deleteTitle`),{confirmButtonText:this.$t(`user.browserDevice.delete`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).catch(()=>!1)){this.busyId=e.id;try{await T.delete(e.id),await this.refresh(),p.success(this.$t(`user.browserDevice.deleteSuccess`))}catch(e){p.error(this.errorDetail(e,`user.browserDevice.deleteFailed`))}finally{this.busyId=null}}},onPaired(e){e.status===`active`&&(this.devices=[e,...this.devices.filter(t=>t.id!==e.id)])},openConnectors(){this.$router.push({name:S})},compatibilityLabel(e){return e.compatible?String(this.$t(`connection.message.browserCompatible`)):String(this.$t(`connection.message.browserIncompatibility.${e.incompatibility_reason}`))},compatibilityTagType(e){return e.compatible?`success`:e.incompatibility_reason===`device_offline`?`warning`:`danger`},errorDetail(e,t){let n=e?.response?.data;return(Array.isArray(n?.name)?n.name[0]:n?.name)||n?.detail||String(this.$t(t))}}}),O={class:`devices-page`},k={class:`devices-actions`},A={key:0,class:`devices-loading`},j={key:2,class:`device-list`},M={class:`device-icon`},N={class:`device-content`},P={class:`device-heading`},F={class:`device-meta`},I={class:`device-digest-row`},L={class:`device-actions`};function R(f,p,m,h,g,_){let v=s(`console-page-header`),y=s(`add-icon`),b=s(`el-button`),x=s(`el-skeleton`),S=s(`el-empty`),C=s(`desktop-icon`),w=s(`el-tag`),T=s(`el-card`),E=s(`browser-pairing-dialog`);return d(),a(`div`,O,[r(v,{title:f.$t(`user.browserDevice.title`),subtitle:f.$t(`user.browserDevice.subtitle`)},null,8,[`title`,`subtitle`]),e(`div`,k,[r(b,{type:`primary`,onClick:p[0]||=e=>f.pairingVisible=!0},{default:l(()=>[r(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`user.browserDevice.pairButton`)),1)]),_:1})]),r(T,{shadow:`never`,class:`devices-panel`,"body-style":{padding:0}},{default:l(()=>[f.loading?(d(),a(`div`,A,[r(x,{rows:5,animated:``})])):f.devices.length===0?(d(),c(S,{key:1,description:f.$t(`user.browserDevice.empty`)},null,8,[`description`])):(d(),a(`div`,j,[(d(!0),a(o,null,u(f.devices,o=>(d(),a(`article`,{key:o.id,class:`device-row`},[e(`div`,M,[r(C,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,N,[e(`div`,P,[e(`strong`,null,n(o.name),1),r(w,{type:f.compatibilityTagType(o),size:`small`},{default:l(()=>[t(n(f.compatibilityLabel(o)),1)]),_:2},1032,[`type`])]),e(`dl`,F,[e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.platform`)),1),e(`dd`,null,n(o.platform),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.extensionVersion`)),1),e(`dd`,null,n(o.extension_version),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.lastSeen`)),1),e(`dd`,null,n(o.last_seen_at?f.$dayjs.format(o.last_seen_at):f.$t(`user.browserDevice.neverSeen`)),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.capabilities`)),1),e(`dd`,null,n(o.capabilities.length?o.capabilities.join(`, `):`—`),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.onlineStatus`)),1),e(`dd`,null,n(f.$t(o.online?`connection.message.browserOnline`:`connection.message.browserOffline`)),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.activeSessions`)),1),e(`dd`,null,n(o.active_session_count),1)]),e(`div`,I,[e(`dt`,null,n(f.$t(`user.browserDevice.wireContractDigest`)),1),e(`dd`,null,n(o.wire_contract_digest),1)])])]),e(`div`,L,[o.status!==`revoked`&&o.active_session_count?(d(),c(b,{key:0,size:`small`,onClick:f.openConnectors},{default:l(()=>[t(n(f.$t(`user.browserDevice.manageSessions`)),1)]),_:1},8,[`onClick`])):i(``,!0),o.status===`revoked`?i(``,!0):(d(),c(b,{key:1,size:`small`,disabled:f.busyId===o.id,onClick:e=>f.rename(o)},{default:l(()=>[t(n(f.$t(`user.browserDevice.rename`)),1)]),_:1},8,[`disabled`,`onClick`])),o.status===`revoked`?i(``,!0):(d(),c(b,{key:2,size:`small`,type:`danger`,loading:f.busyId===o.id,onClick:e=>f.remove(o)},{default:l(()=>[t(n(f.$t(`user.browserDevice.delete`)),1)]),_:1},8,[`loading`,`onClick`]))])]))),128))]))]),_:1}),r(E,{modelValue:f.pairingVisible,"onUpdate:modelValue":p[1]||=e=>f.pairingVisible=e,onPaired:f.onPaired},null,8,[`modelValue`,`onPaired`])])}var z=x(D,[[`render`,R],[`__scopeId`,`data-v-eab6a84d`]]);export{z as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,j as c,mt as l,rt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{v as p}from"./models-B7iN2eFR.js";import{t as m}from"./card-IQwqnRJR.js";import{t as h}from"./empty-C5KjRN0h.js";import{t as g}from"./skeleton-Dj_a_iIP.js";import{t as _}from"./monitor-CcVX6AB2.js";import{t as v}from"./plus-DkOSeY9o.js";import{Fi as y,Ni as b,O as x,Y as S,xi as C}from"./index-CG5Xqr3s.js";import{t as w}from"./PageHeader-CCFLMp28.js";import{n as T,t as E}from"./BrowserPairingDialog-DVEyd5Ly.js";var D=f({name:`ConsoleBrowserDevices`,components:{AddIcon:v,BrowserPairingDialog:E,ConsolePageHeader:w,DesktopIcon:_,ElButton:y,ElCard:m,ElEmpty:h,ElSkeleton:g,ElTag:b},data(){return{devices:[],loading:!1,busyId:null,pairingVisible:!1}},mounted(){this.refresh()},methods:{async refresh(){this.loading=!0;try{let{data:e}=await T.list();this.devices=e.filter(e=>e.status===`active`)}catch(e){p.error(this.errorDetail(e,`user.browserDevice.loadFailed`))}finally{this.loading=!1}},async rename(e){let t=await C.prompt(this.$t(`user.browserDevice.renamePrompt`),this.$t(`user.browserDevice.renameTitle`),{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:e.name,inputValidator:e=>!!e.trim()&&e.trim().length<=128||this.$t(`user.browserDevice.nameRequired`)}).catch(()=>null);if(!t)return;let n=t.value?.trim();if(n){this.busyId=e.id;try{let{data:t}=await T.rename(e.id,n);this.devices=this.devices.map(e=>e.id===t.id?t:e),p.success(this.$t(`user.browserDevice.renameSuccess`))}catch(e){p.error(this.errorDetail(e,`user.browserDevice.renameFailed`))}finally{this.busyId=null}}},async remove(e){if(await C.confirm(this.$t(`user.browserDevice.deleteConfirm`,{name:e.name,count:e.active_session_count}),this.$t(`user.browserDevice.deleteTitle`),{confirmButtonText:this.$t(`user.browserDevice.delete`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).catch(()=>!1)){this.busyId=e.id;try{await T.delete(e.id),await this.refresh(),p.success(this.$t(`user.browserDevice.deleteSuccess`))}catch(e){p.error(this.errorDetail(e,`user.browserDevice.deleteFailed`))}finally{this.busyId=null}}},onPaired(e){e.status===`active`&&(this.devices=[e,...this.devices.filter(t=>t.id!==e.id)])},openConnectors(){this.$router.push({name:S})},compatibilityLabel(e){return e.compatible?String(this.$t(`connection.message.browserCompatible`)):String(this.$t(`connection.message.browserIncompatibility.${e.incompatibility_reason}`))},compatibilityTagType(e){return e.compatible?`success`:e.incompatibility_reason===`device_offline`?`warning`:`danger`},errorDetail(e,t){let n=e?.response?.data;return(Array.isArray(n?.name)?n.name[0]:n?.name)||n?.detail||String(this.$t(t))}}}),O={class:`devices-page`},k={class:`devices-actions`},A={key:0,class:`devices-loading`},j={key:2,class:`device-list`},M={class:`device-icon`},N={class:`device-content`},P={class:`device-heading`},F={class:`device-meta`},I={class:`device-digest-row`},L={class:`device-actions`};function R(f,p,m,h,g,_){let v=s(`console-page-header`),y=s(`add-icon`),b=s(`el-button`),x=s(`el-skeleton`),S=s(`el-empty`),C=s(`desktop-icon`),w=s(`el-tag`),T=s(`el-card`),E=s(`browser-pairing-dialog`);return d(),a(`div`,O,[r(v,{title:f.$t(`user.browserDevice.title`),subtitle:f.$t(`user.browserDevice.subtitle`)},null,8,[`title`,`subtitle`]),e(`div`,k,[r(b,{type:`primary`,onClick:p[0]||=e=>f.pairingVisible=!0},{default:l(()=>[r(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`user.browserDevice.pairButton`)),1)]),_:1})]),r(T,{shadow:`never`,class:`devices-panel`,"body-style":{padding:0}},{default:l(()=>[f.loading?(d(),a(`div`,A,[r(x,{rows:5,animated:``})])):f.devices.length===0?(d(),c(S,{key:1,description:f.$t(`user.browserDevice.empty`)},null,8,[`description`])):(d(),a(`div`,j,[(d(!0),a(o,null,u(f.devices,o=>(d(),a(`article`,{key:o.id,class:`device-row`},[e(`div`,M,[r(C,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,N,[e(`div`,P,[e(`strong`,null,n(o.name),1),r(w,{type:f.compatibilityTagType(o),size:`small`},{default:l(()=>[t(n(f.compatibilityLabel(o)),1)]),_:2},1032,[`type`])]),e(`dl`,F,[e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.platform`)),1),e(`dd`,null,n(o.platform),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.extensionVersion`)),1),e(`dd`,null,n(o.extension_version),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.lastSeen`)),1),e(`dd`,null,n(o.last_seen_at?f.$dayjs.format(o.last_seen_at):f.$t(`user.browserDevice.neverSeen`)),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.capabilities`)),1),e(`dd`,null,n(o.capabilities.length?o.capabilities.join(`, `):`—`),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.onlineStatus`)),1),e(`dd`,null,n(f.$t(o.online?`connection.message.browserOnline`:`connection.message.browserOffline`)),1)]),e(`div`,null,[e(`dt`,null,n(f.$t(`user.browserDevice.activeSessions`)),1),e(`dd`,null,n(o.active_session_count),1)]),e(`div`,I,[e(`dt`,null,n(f.$t(`user.browserDevice.wireContractDigest`)),1),e(`dd`,null,n(o.wire_contract_digest),1)])])]),e(`div`,L,[o.status!==`revoked`&&o.active_session_count?(d(),c(b,{key:0,size:`small`,onClick:f.openConnectors},{default:l(()=>[t(n(f.$t(`user.browserDevice.manageSessions`)),1)]),_:1},8,[`onClick`])):i(``,!0),o.status===`revoked`?i(``,!0):(d(),c(b,{key:1,size:`small`,disabled:f.busyId===o.id,onClick:e=>f.rename(o)},{default:l(()=>[t(n(f.$t(`user.browserDevice.rename`)),1)]),_:1},8,[`disabled`,`onClick`])),o.status===`revoked`?i(``,!0):(d(),c(b,{key:2,size:`small`,type:`danger`,loading:f.busyId===o.id,onClick:e=>f.remove(o)},{default:l(()=>[t(n(f.$t(`user.browserDevice.delete`)),1)]),_:1},8,[`loading`,`onClick`]))])]))),128))]))]),_:1}),r(E,{modelValue:f.pairingVisible,"onUpdate:modelValue":p[1]||=e=>f.pairingVisible=e,onPaired:f.onPaired},null,8,[`modelValue`,`onPaired`])])}var z=x(D,[[`render`,R],[`__scopeId`,`data-v-eab6a84d`]]);export{z as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-B_LIRKEc.js";import{t as b}from"./upload-CVDRsxmb.js";import{t as x}from"./tooltip-65yx4tvR.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-BKPWGzi5.js";import{t as T}from"./drawer-lPnIZOSX.js";import{t as E}from"./clock-picb7ciF.js";import{a as D,c as O,n as k,o as A,r as j,t as M}from"./pagination-51ny6Oso.js";import{t as ee}from"./info-DhXkijI-.js";import{t as te}from"./trash-2-DtPyMpc8.js";import{t as N}from"./triangle-alert-DpLecGNq.js";import{t as P}from"./wand-sparkles--swdHIwq.js";import{vt as F}from"./constants-u1eIRuNz.js";import{$t as I,Fi as L,Jt as R,Mr as z,O as B,Pn as V,Qt as H,en as U,in as W,nn as G,pn as K,si as q,tn as J,xi as Y}from"./index-BK4q_lZQ.js";import{t as X}from"./CopyToClipboard-8zEkaydk.js";import{t as Z}from"./ReportButton-C3Kjfp0k.js";import{t as Q}from"./ImagePreview-aup3tBhe.js";import{n as ne}from"./taskDrawerMixin-DyAUhFEq.js";import{t as re}from"./Consumption-DSV6Ajvn.js";import{t as ie}from"./VideoPlayer-DOF-WUP8.js";import{t as ae}from"./ApiCodeButton-DBpwradV.js";import{t as oe}from"./BotPlaceholder-CQECCUDa.js";var se=_({name:`LayoutWan`,components:{MagicIcon:P,ElDrawer:T,ElButton:L},mixins:[ne]}),ce={class:`main flex flex-row flex-1`},le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function de(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ce,[e(`div`,le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ue,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var fe=B(se,[[`render`,de],[`__scopeId`,`data-v-c8c76881`]]),pe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},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||=F}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,me,[e(`h2`,he,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=B(pe,[[`render`,_e],[`__scopeId`,`data-v-eb090beb`]]),ye=`720p`,be=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},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||=ye}}),xe={class:`field`},Se={class:`title font-bold`},Ce={class:`float-left`};function we(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,xe,[e(`h2`,Se,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ce,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=B(be,[[`render`,we],[`__scopeId`,`data-v-3e39f44e`]]),Ee=5,De=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},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||=Ee}}),Oe={class:`field`},ke={class:`title font-bold`},Ae={class:`float-left`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Oe,[e(`h2`,ke,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ae,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=B(De,[[`render`,je],[`__scopeId`,`data-v-5f35a2cf`]]),Ne=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:L,InfoIcon:A,ImagePreview:Q},mixins:[G,J,I,R],data(){return{fileList:[],uploadUrl:q()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){w.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){w.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){w.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Pe={class:`relative`},Fe={class:`flex justify-between`},Ie={class:`flex justify-start items-center`},Le={class:`text-sm font-bold`};function Re(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Pe,[e(`div`,Fe,[e(`div`,Ie,[e(`span`,Le,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ze=B(Ne,[[`render`,Re],[`__scopeId`,`data-v-56929914`]]),Be=_({name:`PromptInput`,components:{PromptTextarea:D},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||=``}});function Ve(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var He=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:B(Be,[[`render`,Ve]]),ImageUrlInput:ze,ModelSelector:ve,ResolutionSelector:Te,DurationSelector:Me,Consumption:re},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let 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(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ue={class:`flex flex-col h-full`},We={class:`flex-1 overflow-y-auto p-5`},Ge={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ke(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ue,[e(`div`,We,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ge,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var qe=B(He,[[`render`,Ke]]),Je=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:O,InfoIcon:ee,MagicIcon:P,TimeIcon:E,WarningIcon:N,CopyToClipboard:X,ElAlert:S,VideoPlayer:ie,ElTooltip:x,ElButton:L,ApiCodeButton:ae,ReportButton:Z},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`wan/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),Ye={class:`preview`},Xe={class:`left`},Ze={class:`main`},Qe={class:`bot`},$e={class:`datetime`},et=[`aria-label`],tt={class:`info`},nt={key:0,class:`prompt mt-2`},rt={key:0},it={key:1},at={key:0,class:n({content:!0,failed:!0})},ot={key:0,class:`mb-4`},st={key:1,class:n({operations:!0,"mt-2":!0})},ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},dt={key:1,class:n({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:n({content:!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function _t(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`channel-icon`),w=l(`copy-to-clipboard`),T=l(`magic-icon`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ze,[e(`div`,Qe,[a(g,{capability:`wan`,part:`name`}),e(`span`,$e,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,et)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,tt,[n.modelValue?.request?.prompt?(h(),s(`p`,nt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,rt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,it,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,at,[n.modelValue?.response?.video_url?(h(),s(`div`,ot,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,st,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`wan`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ct,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,lt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ut,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,dt,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,mt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,ht,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,gt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var vt=_({name:`RecentPanel`,components:{TaskPreview:B(Je,[[`render`,_t],[`__scopeId`,`data-v-f180e91e`]]),BotPlaceholder:oe,NoTasks:j,ScrollList:k},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},bt={key:2,class:`w-full h-full flex items-center justify-center`};function xt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,yt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,bt,[a(v)])):o(``,!0)],64)}var St=_({name:`WanIndex`,components:{ConfigPanel:qe,Layout:fe,RecentPanel:B(vt,[[`render`,xt]])},mixins:[U],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===C.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===C.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,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 M({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e={...this.config,async:!0};if(!K())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}w.info(this.$t(`wan.message.startingTask`)),z(`wan`,V.generate(e,{token:t})).then(()=>{w.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?w.error(this.$t(`wan.message.usedUp`)):w.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ct(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var wt=B(St,[[`render`,Ct]]);export{wt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-Bn5sce1w.js";import{t as b}from"./upload-CNjH3Fr5.js";import{t as x}from"./tooltip-CMRAyWII.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-B7iN2eFR.js";import{t as T}from"./drawer-DxwxF53O.js";import{t as E}from"./clock-CQnxs-go.js";import{a as D,c as O,n as k,o as A,r as j,t as M}from"./pagination-CxOt6erg.js";import{t as ee}from"./info-CtHZBG-P.js";import{t as te}from"./trash-2-APBNdRD9.js";import{t as N}from"./triangle-alert-DhgTh26c.js";import{t as P}from"./wand-sparkles-DePFIDan.js";import{vt as F}from"./constants-h8CPcG-m.js";import{$t as I,Fi as L,Jt as R,Mr as z,O as B,Pn as V,Qt as H,en as U,in as W,nn as G,pn as K,si as q,tn as J,xi as Y}from"./index-CG5Xqr3s.js";import{t as X}from"./CopyToClipboard-3wXI2V0V.js";import{t as Z}from"./ReportButton-DQZ3-wzd.js";import{t as Q}from"./ImagePreview-DQfitJyI.js";import{n as ne}from"./taskDrawerMixin-DyAUhFEq.js";import{t as re}from"./Consumption-Bxib8Miy.js";import{t as ie}from"./VideoPlayer-CY3GSL1-.js";import{t as ae}from"./ApiCodeButton-IHOqOP_v.js";import{t as oe}from"./BotPlaceholder-RrG8CL2_.js";var se=_({name:`LayoutWan`,components:{MagicIcon:P,ElDrawer:T,ElButton:L},mixins:[ne]}),ce={class:`main flex flex-row flex-1`},le={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function de(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ce,[e(`div`,le,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ue,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var fe=B(se,[[`render`,de],[`__scopeId`,`data-v-c8c76881`]]),pe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},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||=F}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,me,[e(`h2`,he,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=B(pe,[[`render`,_e],[`__scopeId`,`data-v-eb090beb`]]),ye=`720p`,be=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},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||=ye}}),xe={class:`field`},Se={class:`title font-bold`},Ce={class:`float-left`};function we(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,xe,[e(`h2`,Se,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ce,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=B(be,[[`render`,we],[`__scopeId`,`data-v-3e39f44e`]]),Ee=5,De=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},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||=Ee}}),Oe={class:`field`},ke={class:`title font-bold`},Ae={class:`float-left`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Oe,[e(`h2`,ke,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ae,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=B(De,[[`render`,je],[`__scopeId`,`data-v-5f35a2cf`]]),Ne=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:L,InfoIcon:A,ImagePreview:Q},mixins:[G,J,I,R],data(){return{fileList:[],uploadUrl:q()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){w.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){w.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){w.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Pe={class:`relative`},Fe={class:`flex justify-between`},Ie={class:`flex justify-start items-center`},Le={class:`text-sm font-bold`};function Re(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Pe,[e(`div`,Fe,[e(`div`,Ie,[e(`span`,Le,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ze=B(Ne,[[`render`,Re],[`__scopeId`,`data-v-56929914`]]),Be=_({name:`PromptInput`,components:{PromptTextarea:D},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||=``}});function Ve(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var He=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:B(Be,[[`render`,Ve]]),ImageUrlInput:ze,ModelSelector:ve,ResolutionSelector:Te,DurationSelector:Me,Consumption:re},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let 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(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ue={class:`flex flex-col h-full`},We={class:`flex-1 overflow-y-auto p-5`},Ge={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ke(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ue,[e(`div`,We,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ge,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var qe=B(He,[[`render`,Ke]]),Je=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:O,InfoIcon:ee,MagicIcon:P,TimeIcon:E,WarningIcon:N,CopyToClipboard:X,ElAlert:S,VideoPlayer:ie,ElTooltip:x,ElButton:L,ApiCodeButton:ae,ReportButton:Z},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`wan/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),Ye={class:`preview`},Xe={class:`left`},Ze={class:`main`},Qe={class:`bot`},$e={class:`datetime`},et=[`aria-label`],tt={class:`info`},nt={key:0,class:`prompt mt-2`},rt={key:0},it={key:1},at={key:0,class:n({content:!0,failed:!0})},ot={key:0,class:`mb-4`},st={key:1,class:n({operations:!0,"mt-2":!0})},ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},dt={key:1,class:n({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:n({content:!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function _t(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`channel-icon`),w=l(`copy-to-clipboard`),T=l(`magic-icon`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ze,[e(`div`,Qe,[a(g,{capability:`wan`,part:`name`}),e(`span`,$e,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,et)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,tt,[n.modelValue?.request?.prompt?(h(),s(`p`,nt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,rt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,it,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,at,[n.modelValue?.response?.video_url?(h(),s(`div`,ot,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,st,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`wan`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ct,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,lt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ut,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,dt,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,mt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,ht,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,gt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var vt=_({name:`RecentPanel`,components:{TaskPreview:B(Je,[[`render`,_t],[`__scopeId`,`data-v-f180e91e`]]),BotPlaceholder:oe,NoTasks:j,ScrollList:k},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),yt={key:0},bt={key:2,class:`w-full h-full flex items-center justify-center`};function xt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,yt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,bt,[a(v)])):o(``,!0)],64)}var St=_({name:`WanIndex`,components:{ConfigPanel:qe,Layout:fe,RecentPanel:B(vt,[[`render`,xt]])},mixins:[U],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===C.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===C.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,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 M({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e={...this.config,async:!0};if(!K())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}w.info(this.$t(`wan.message.startingTask`)),z(`wan`,V.generate(e,{token:t})).then(()=>{w.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?w.error(this.$t(`wan.message.usedUp`)):w.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ct(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var wt=B(St,[[`render`,Ct]]);export{wt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-B_LIRKEc.js";import{t as _}from"./upload-CVDRsxmb.js";import{t as v}from"./tooltip-65yx4tvR.js";import{t as y}from"./alert-BprQRUmf.js";import{h as b,v as x}from"./models-BKPWGzi5.js";import{t as S}from"./clock-picb7ciF.js";import{a as C,c as w,n as T,o as E,r as D,t as O}from"./pagination-51ny6Oso.js";import{t as k}from"./info-DhXkijI-.js";import{t as A}from"./trash-2-DtPyMpc8.js";import{t as ee}from"./triangle-alert-DpLecGNq.js";import{t as j}from"./wand-sparkles--swdHIwq.js";import{sr as M}from"./constants-u1eIRuNz.js";import{$t as te,Fi as N,Jt as P,Mr as F,O as I,Qt as L,Xn as R,en as z,in as B,nn as V,pn as H,si as U,tn as W,xi as G}from"./index-BK4q_lZQ.js";import{t as K}from"./CopyToClipboard-8zEkaydk.js";import{t as q}from"./ReportButton-C3Kjfp0k.js";import{t as J}from"./ImagePreview-aup3tBhe.js";import{t as Y}from"./Consumption-DSV6Ajvn.js";import{t as X}from"./VideoPlayer-DOF-WUP8.js";import{t as Z}from"./ApiCodeButton-DBpwradV.js";import{t as Q}from"./BotPlaceholder-CQECCUDa.js";import{t as ne}from"./Hailuo-CJ5BqX3W.js";var re=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=M}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,ie,[e(`h2`,ae,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=I(re,[[`render`,se],[`__scopeId`,`data-v-a768fbd9`]]),le=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:N,InfoIcon:E,ImagePreview:J},mixins:[V,W,te,P],data(){return{fileList:[],uploadUrl:U()+`/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.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ue={class:`relative`},de={class:`flex justify-between`},fe={class:`flex justify-start items-center`},pe={class:`text-sm font-bold`};function me(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,ue,[e(`div`,de,[e(`div`,fe,[e(`span`,pe,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var he=I(le,[[`render`,me],[`__scopeId`,`data-v-322d7e4c`]]),ge=m({name:`PromptInput`,components:{PromptTextarea:C},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function _e(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ve=m({name:`PresetPanel`,components:{MagicIcon:j,ElButton:N,PromptInput:I(ge,[[`render`,_e]]),StartImageUrlInput:he,ModelSelector:ce,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return B(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ye={class:`flex flex-col h-full`},be={class:`flex-1 overflow-y-auto p-5`},xe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Se(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`consumption`),b=l(`magic-icon`),x=l(`el-button`);return p(),s(`div`,ye,[e(`div`,be,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,xe,[a(y,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(p(),u(x,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(b,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`onClick`])):(p(),u(x,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(b,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Ce=I(ve,[[`render`,Se]]),we=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:w,InfoIcon:k,MagicIcon:j,TimeIcon:S,WarningIcon:ee,CopyToClipboard:K,ElAlert:y,VideoPlayer:X,ElTooltip:v,ElButton:N,ApiCodeButton:Z,ReportButton:q},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Te={class:`preview`},Ee={class:`left`},De={class:`main`},Oe={class:`bot`},ke={class:`datetime`},Ae=[`aria-label`],je={class:`info`},Me={key:0,class:`prompt mt-2`},Ne={key:0},Pe={key:1},Fe={key:0,class:n({content:!0,failed:!0})},Ie={key:0,class:`mb-4`},Le={key:1,class:n({operations:!0,"mt-2":!0})},Re={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ze={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Be={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ve={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},He={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ue={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},We={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ge={key:2,class:n({content:!0})},Ke={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function qe(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Te,[e(`div`,Ee,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,De,[e(`div`,Oe,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,ke,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ae)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,je,[n.modelValue?.request?.prompt?(p(),s(`p`,Me,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Ne,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,Pe,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,Fe,[n.video?.video_url?(p(),s(`div`,Ie,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,Le,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Re,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,ze,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Be,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Ve,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,He,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Ue,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,We,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,Ge,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,Ke,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Je=m({name:`RecentPanel`,components:{TaskPreview:I(we,[[`render`,qe],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:Q,NoTasks:D,ScrollList:T},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ye={key:0},Xe={key:2,class:`w-full h-full flex items-center justify-center`};function Ze(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,Ye,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,Xe,[a(v)])):o(``,!0)],64)}var Qe=m({name:`HailuoIndex`,components:{ConfigPanel:Ce,Layout:ne,RecentPanel:I(Je,[[`render`,Ze]])},mixins:[z],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.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 O({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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`hailuo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let e={...this.config,async:!0};if(!H())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}x.info(this.$t(`hailuo.message.startingTask`)),F(`hailuo`,R.generate(e,{token:t})).then(()=>{x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?x.error(this.$t(`hailuo.message.usedUp`)):x.error(this.$t(`hailuo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function $e(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var et=I(Qe,[[`render`,$e]]);export{et as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-Bn5sce1w.js";import{t as _}from"./upload-CNjH3Fr5.js";import{t as v}from"./tooltip-CMRAyWII.js";import{t as y}from"./alert-BprQRUmf.js";import{h as b,v as x}from"./models-B7iN2eFR.js";import{t as S}from"./clock-CQnxs-go.js";import{a as C,c as w,n as T,o as E,r as D,t as O}from"./pagination-CxOt6erg.js";import{t as k}from"./info-CtHZBG-P.js";import{t as A}from"./trash-2-APBNdRD9.js";import{t as ee}from"./triangle-alert-DhgTh26c.js";import{t as j}from"./wand-sparkles-DePFIDan.js";import{lr as M}from"./constants-h8CPcG-m.js";import{$t as te,Fi as N,Jt as P,Mr as F,O as I,Qt as L,Xn as R,en as z,in as B,nn as V,pn as H,si as U,tn as W,xi as G}from"./index-CG5Xqr3s.js";import{t as K}from"./CopyToClipboard-3wXI2V0V.js";import{t as q}from"./ReportButton-DQZ3-wzd.js";import{t as J}from"./ImagePreview-DQfitJyI.js";import{t as Y}from"./Consumption-Bxib8Miy.js";import{t as X}from"./VideoPlayer-CY3GSL1-.js";import{t as Z}from"./ApiCodeButton-IHOqOP_v.js";import{t as Q}from"./BotPlaceholder-RrG8CL2_.js";import{t as ne}from"./Hailuo-CJWeL0KH.js";var re=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=M}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,ie,[e(`h2`,ae,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=I(re,[[`render`,se],[`__scopeId`,`data-v-a768fbd9`]]),le=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:N,InfoIcon:E,ImagePreview:J},mixins:[V,W,te,P],data(){return{fileList:[],uploadUrl:U()+`/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.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ue={class:`relative`},de={class:`flex justify-between`},fe={class:`flex justify-start items-center`},pe={class:`text-sm font-bold`};function me(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,ue,[e(`div`,de,[e(`div`,fe,[e(`span`,pe,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var he=I(le,[[`render`,me],[`__scopeId`,`data-v-322d7e4c`]]),ge=m({name:`PromptInput`,components:{PromptTextarea:C},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function _e(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ve=m({name:`PresetPanel`,components:{MagicIcon:j,ElButton:N,PromptInput:I(ge,[[`render`,_e]]),StartImageUrlInput:he,ModelSelector:ce,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return B(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ye={class:`flex flex-col h-full`},be={class:`flex-1 overflow-y-auto p-5`},xe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Se(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`consumption`),b=l(`magic-icon`),x=l(`el-button`);return p(),s(`div`,ye,[e(`div`,be,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,xe,[a(y,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(p(),u(x,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(b,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`onClick`])):(p(),u(x,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(b,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Ce=I(ve,[[`render`,Se]]),we=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:w,InfoIcon:k,MagicIcon:j,TimeIcon:S,WarningIcon:ee,CopyToClipboard:K,ElAlert:y,VideoPlayer:X,ElTooltip:v,ElButton:N,ApiCodeButton:Z,ReportButton:q},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Te={class:`preview`},Ee={class:`left`},De={class:`main`},Oe={class:`bot`},ke={class:`datetime`},Ae=[`aria-label`],je={class:`info`},Me={key:0,class:`prompt mt-2`},Ne={key:0},Pe={key:1},Fe={key:0,class:n({content:!0,failed:!0})},Ie={key:0,class:`mb-4`},Le={key:1,class:n({operations:!0,"mt-2":!0})},Re={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ze={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Be={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ve={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},He={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ue={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},We={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ge={key:2,class:n({content:!0})},Ke={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function qe(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Te,[e(`div`,Ee,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,De,[e(`div`,Oe,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,ke,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ae)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,je,[n.modelValue?.request?.prompt?(p(),s(`p`,Me,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Ne,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,Pe,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,Fe,[n.video?.video_url?(p(),s(`div`,Ie,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,Le,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Re,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,ze,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Be,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Ve,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,He,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Ue,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,We,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,Ge,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,Ke,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Je=m({name:`RecentPanel`,components:{TaskPreview:I(we,[[`render`,qe],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:Q,NoTasks:D,ScrollList:T},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ye={key:0},Xe={key:2,class:`w-full h-full flex items-center justify-center`};function Ze(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,Ye,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,Xe,[a(v)])):o(``,!0)],64)}var Qe=m({name:`HailuoIndex`,components:{ConfigPanel:Ce,Layout:ne,RecentPanel:I(Je,[[`render`,Ze]])},mixins:[z],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.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 O({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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`hailuo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let e={...this.config,async:!0};if(!H())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}x.info(this.$t(`hailuo.message.startingTask`)),F(`hailuo`,R.generate(e,{token:t})).then(()=>{x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?x.error(this.$t(`hailuo.message.usedUp`)):x.error(this.$t(`hailuo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function $e(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var et=I(Qe,[[`render`,$e]]);export{et as default};