@acedatacloud/nexior 3.329.15 → 3.329.16

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 (210) hide show
  1. package/dist/assets/{ApiCodeButton-C2AtLmtg.js → ApiCodeButton-B4AbprcE.js} +1 -1
  2. package/dist/assets/{Artifacts-bEmfem6e.js → Artifacts-PhyjpCtJ.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-DEDW36BD.js → AskUserQuestionCard-gej1HInv.js} +2 -2
  4. package/dist/assets/{AudioPreview-DCxghez5.js → AudioPreview-BSZwbHFC.js} +1 -1
  5. package/dist/assets/{Auth-AH_M4lZA.js → Auth-wrbtTe49.js} +1 -1
  6. package/dist/assets/{Bare-B_dhUb_6.js → Bare-CJW0KY7n.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-BKd_E3lk.js → BotPlaceholder-ClF3L6UZ.js} +1 -1
  8. package/dist/assets/{BottomFooter-BFpCtNEG.js → BottomFooter-DMeMSGST.js} +1 -1
  9. package/dist/assets/{Callback-DeJuYqv7.js → Callback-ZCx6v2Qm.js} +1 -1
  10. package/dist/assets/{CodeSnippet-BnLhnEYA.js → CodeSnippet-BLx5PNoE.js} +1 -1
  11. package/dist/assets/{Console-BRDFrAcy.js → Console--3BSnjhd.js} +1 -1
  12. package/dist/assets/{Consumption-CA3ED6JY.js → Consumption-DoSnOpCh.js} +1 -1
  13. package/dist/assets/{Conversation-Bs0WaZFD.js → Conversation-CyHqOxgu.js} +1 -1
  14. package/dist/assets/Conversation-otwyTC3G.js +1 -0
  15. package/dist/assets/{CopyToClipboard-CUlDAZQC.js → CopyToClipboard-BovNTELl.js} +1 -1
  16. package/dist/assets/{Detail-CZMKauta.js → Detail-Bw3B_wFT.js} +2 -2
  17. package/dist/assets/Extra-m-UX_HKW.js +1 -0
  18. package/dist/assets/{FilePreview-LvCSEXU2.js → FilePreview-Ce20lKHh.js} +1 -1
  19. package/dist/assets/{Hailuo-CasN_idw.js → Hailuo-DJdgVTZk.js} +1 -1
  20. package/dist/assets/{History-IAq_K_ds.js → History-D9ucrqH3.js} +1 -1
  21. package/dist/assets/ImagePreview-BKDkeMuD.js +1 -0
  22. package/dist/assets/ImageWrapper-CJPUt9fO.js +1 -0
  23. package/dist/assets/{Index-k-blC7yR.css → Index--3K8RS8S.css} +1 -1
  24. package/dist/assets/{Index-C9qX8M02.js → Index-BGlgGMXY.js} +1 -1
  25. package/dist/assets/Index-BJ2uTn7f.js +1 -0
  26. package/dist/assets/{Index-CyY2WVto.css → Index-BMXzenZp.css} +1 -1
  27. package/dist/assets/{Index-Dp9WjWzn.js → Index-BSPdlju8.js} +1 -1
  28. package/dist/assets/{Index-BADVtSqQ.css → Index-BUXkFzyQ.css} +1 -1
  29. package/dist/assets/{Index-Be5la0_9.css → Index-BbBLrXAa.css} +1 -1
  30. package/dist/assets/{Index-Dr1GWEqN.css → Index-BbvQZS50.css} +1 -1
  31. package/dist/assets/{Index-DzPuB6Cj.js → Index-BzMJicqQ.js} +1 -1
  32. package/dist/assets/Index-BzfDCKvB.js +1 -0
  33. package/dist/assets/Index-C8_SKL-4.js +1 -0
  34. package/dist/assets/Index-CARRGZlZ.js +1 -0
  35. package/dist/assets/Index-CBON_aOb.js +1 -0
  36. package/dist/assets/Index-CKOUb2hk.js +1 -0
  37. package/dist/assets/Index-CNjhG1xg.js +1 -0
  38. package/dist/assets/Index-CPaFzSUd.js +1 -0
  39. package/dist/assets/{Index-E-znw7gf.css → Index-CR0w7X3v.css} +1 -1
  40. package/dist/assets/Index-C_pwE0Yp.js +1 -0
  41. package/dist/assets/{Index-CfDpUO3a.css → Index-Cb8V3UVl.css} +1 -1
  42. package/dist/assets/Index-ClXholKq.js +1 -0
  43. package/dist/assets/{Index-Bn3kx1M5.css → Index-Co9JBcbb.css} +1 -1
  44. package/dist/assets/{Index-krDOJ-ma.css → Index-Csf7kXZK.css} +1 -1
  45. package/dist/assets/Index-Cu5n9kJn.js +1 -0
  46. package/dist/assets/{Index-UKArA0UR.css → Index-D3UyqMVL.css} +1 -1
  47. package/dist/assets/Index-DAr6f-_O.js +1 -0
  48. package/dist/assets/{Index-fGhTf-xt.css → Index-DE83lXAg.css} +1 -1
  49. package/dist/assets/Index-DSiWRGHv.js +1 -0
  50. package/dist/assets/{Index-CwldxJqL.css → Index-DSu_7z05.css} +1 -1
  51. package/dist/assets/{Index--aivHZUr.css → Index-DZaSDeRC.css} +1 -1
  52. package/dist/assets/Index-DcBVIIXz.js +1 -0
  53. package/dist/assets/Index-DeYagwk6.js +1 -0
  54. package/dist/assets/Index-DsB34PP1.js +1 -0
  55. package/dist/assets/Index-DtFRbU0N.js +1 -0
  56. package/dist/assets/{Index-CP3thN21.css → Index-DtX8tgv2.css} +1 -1
  57. package/dist/assets/{Index-CVAZTeC5.js → Index-DtmVV4ES.js} +1 -1
  58. package/dist/assets/Index-F-k_Gtdn.js +1 -0
  59. package/dist/assets/Index-FmpcU_Ri.js +1 -0
  60. package/dist/assets/Index-GEIDO90j.js +1 -0
  61. package/dist/assets/Index-Jqt2yQvt.js +1 -0
  62. package/dist/assets/{Index-BfTA2HeC.css → Index-Vl8NdkN7.css} +1 -1
  63. package/dist/assets/{Index-Dj8XXSuj.css → Index-Yj85WaPQ.css} +1 -1
  64. package/dist/assets/{Index-n6jG_3SR.css → Index-oZDYIyem.css} +1 -1
  65. package/dist/assets/{Index-ChFn15MZ.js → Index-p-m_XsAg.js} +1 -1
  66. package/dist/assets/Index-rzXksBpy.js +2 -0
  67. package/dist/assets/Index-s53Hc8JB.js +1 -0
  68. package/dist/assets/{Index-BMWHcHQ7.css → Index-vD8Y4tNk.css} +1 -1
  69. package/dist/assets/Index-wVuMpc_H.js +1 -0
  70. package/dist/assets/{Index-C3CTyQMx.css → Index-y_vO4c-d.css} +1 -1
  71. package/dist/assets/{Invitees-DJivTc_D.js → Invitees-BlbDmUXN.js} +1 -1
  72. package/dist/assets/{List-BTRDRHTd.js → List-CUwZEDHu.js} +1 -1
  73. package/dist/assets/{List-CHMm4rNk.js → List-CY1N3ILM.js} +1 -1
  74. package/dist/assets/{List-Bda-NnuJ.js → List-DkCLGYMJ.js} +1 -1
  75. package/dist/assets/{LocalTools-DMVDU4bA.js → LocalTools-CMxoLA7U.js} +3 -3
  76. package/dist/assets/{LocalTools-DK-BN4iD.js → LocalTools-z8jtbr5O.js} +1 -1
  77. package/dist/assets/{Main-DdAJ3O-L.js → Main-D1328AkQ.js} +1 -1
  78. package/dist/assets/Message-BtxG96K4.js +3 -0
  79. package/dist/assets/Model-D54rLtLP.js +1 -0
  80. package/dist/assets/Navigator-DuFxlRAw.js +8 -0
  81. package/dist/assets/{NotFound-qNr2IjzW.js → NotFound-CmF6ZwZt.js} +1 -1
  82. package/dist/assets/Pay-CKNhqbmz.js +1 -0
  83. package/dist/assets/{Player-BtXsOf-F.js → Player-DI8pLNuE.js} +1 -1
  84. package/dist/assets/{PromptTextarea-CL7BKdvx.js → PromptTextarea-BpckscxC.js} +1 -1
  85. package/dist/assets/RealtimeCall-CGy7ZxhI.js +1 -0
  86. package/dist/assets/{ScheduledTasks-KYhIyLpN.js → ScheduledTasks-DUrJ69M5.js} +2 -2
  87. package/dist/assets/{Status-B0jxWQTT.js → Status-CHAGfb_i.js} +1 -1
  88. package/dist/assets/{Subscribe-Gmo_SM4Y.js → Subscribe-cI8uUXfb.js} +1 -1
  89. package/dist/assets/{TabSwitcher-DeXe1Go8.js → TabSwitcher-XjtjYDRZ.js} +1 -1
  90. package/dist/assets/Tts-Cl3Ic91o.js +1 -0
  91. package/dist/assets/{Tts-BaFSQQkf.css → Tts-DDzFkd7l.css} +1 -1
  92. package/dist/assets/{VideoPlayer-C3Urz2v9.js → VideoPlayer-DG7NZuWz.js} +1 -1
  93. package/dist/assets/{alert-B7jJ4uYN.js → alert--fOgAzyp.js} +1 -1
  94. package/dist/assets/avatar-BXGv6zGv.js +1 -0
  95. package/dist/assets/{basic-KmFCrDHd.js → basic--Jaf95DS.js} +1 -1
  96. package/dist/assets/{chat-C2WROCRl.js → chat-DbQzoeiN.js} +1 -1
  97. package/dist/assets/{codingBridge-C2-XOLHi.js → codingBridge-BD51ayKI.js} +2 -2
  98. package/dist/assets/{codingBridgeNotify-CgxYze-S.js → codingBridgeNotify-B_LfJogk.js} +2 -2
  99. package/dist/assets/{collapse-DbtIi9R9.js → collapse-B2P7gr8-.js} +1 -1
  100. package/dist/assets/{createTaskActions-DGGRU2-s.js → createTaskActions-BaE6E9Kr.js} +1 -1
  101. package/dist/assets/{date-picker-BY8LUdJF.js → date-picker-CUsRrFGr.js} +1 -1
  102. package/dist/assets/{digitalhuman-DFwmfprC.js → digitalhuman-DCfYw1cL.js} +1 -1
  103. package/dist/assets/{drawer-sXTMh4p0.js → drawer-CZMqTsUy.js} +1 -1
  104. package/dist/assets/{dropdown-CGz36hOK.js → dropdown-BBawqoPC.js} +1 -1
  105. package/dist/assets/{dropdown-DuzfG0fg.js → dropdown-QxLSlPQh.js} +1 -1
  106. package/dist/assets/{esm-BTCPGy0s.js → esm-B-IdJIQl.js} +1 -1
  107. package/dist/assets/esm-BAoWV04N.js +1 -0
  108. package/dist/assets/{esm-B20Et_KE.js → esm-BZuX_Fyl.js} +1 -1
  109. package/dist/assets/{esm-L2JU3HTP.js → esm-ByN3pv2U.js} +2 -2
  110. package/dist/assets/{esm-z-KhOuPR.js → esm-CFgtBr1r.js} +2 -2
  111. package/dist/assets/{esm-DpsZAjyE.js → esm-DrQEXzOh.js} +1 -1
  112. package/dist/assets/{esm-B9mTMhr_.js → esm-sR7mbXpp.js} +3 -3
  113. package/dist/assets/fish-wuJzVy-R.js +1 -0
  114. package/dist/assets/{flux-Cd3AcH2n.js → flux-BajN9vCH.js} +1 -1
  115. package/dist/assets/{grokvideo-BQH9rndg.js → grokvideo-CEadYeuZ.js} +1 -1
  116. package/dist/assets/{pixverse-yK7GC5nA.js → hailuo-BZE9nS_n.js} +1 -1
  117. package/dist/assets/index-DHGr0qfr.js +570 -0
  118. package/dist/assets/{index.browser.esm-D27PKZFw.js → index.browser.esm-K9JZkjg8.js} +1 -1
  119. package/dist/assets/{index.es-D6IJMicG.js → index.es-J-PBjzcR.js} +1 -1
  120. package/dist/assets/{input-number-qBTG6s1O.js → input-number-DcS9Bx33.js} +1 -1
  121. package/dist/assets/{kling-CiMIjyMw.js → kling-B2rPSLOo.js} +1 -1
  122. package/dist/assets/{luma-DQWpfvmN.js → luma-BCu9MMAZ.js} +1 -1
  123. package/dist/assets/{maestro-BrU-qFjn.js → maestro-qo4uPl6x.js} +1 -1
  124. package/dist/assets/{midjourney-BuvTnPUd.js → midjourney-DsoKv-1p.js} +1 -1
  125. package/dist/assets/{mobileLocalExec-DD11UDko.js → mobileLocalExec-D3sozPgv.js} +2 -2
  126. package/dist/assets/{nanobanana-DxU9-zqC.js → nanobanana-DRYIuuVI.js} +1 -1
  127. package/dist/assets/{seedance-Dpffnp2x.js → omni-UYuMATIw.js} +1 -1
  128. package/dist/assets/{openaiimage-BkISyjNh.js → openaiimage-LY_8QKWs.js} +1 -1
  129. package/dist/assets/{pagination-nKm-Pwm8.js → pagination-ChSSHmgO.js} +2 -2
  130. package/dist/assets/{pagination-CrPRHL7s.js → pagination-DCFtt8SX.js} +1 -1
  131. package/dist/assets/{pika-DZfQDkdH.js → pika-yIxZbMZX.js} +1 -1
  132. package/dist/assets/pixverse-oTCUOx_0.js +1 -0
  133. package/dist/assets/{popover-53xie2NB.js → popover-DBSUmqsP.js} +1 -1
  134. package/dist/assets/{producer-DiWEZin2.js → producer-DBxzblcL.js} +1 -1
  135. package/dist/assets/{qrart-Dwo6kW35.js → qrart-B1nZNo_9.js} +1 -1
  136. package/dist/assets/realtime-CpuHRnMw.js +1 -0
  137. package/dist/assets/{row-KOzmQE1C.js → row-CoYwxMjN.js} +1 -1
  138. package/dist/assets/{omni-DzPuNQ9x.js → seedance-D1W8OuKj.js} +1 -1
  139. package/dist/assets/{seedream-BDAFdtES.js → seedream-BWFXgRu_.js} +1 -1
  140. package/dist/assets/select-Dl8tgFjL.js +1 -0
  141. package/dist/assets/{serp-Cc9klnsN.js → serp-BXd__tcu.js} +1 -1
  142. package/dist/assets/slider-CKn9N3dl.js +1 -0
  143. package/dist/assets/{solana-wallets-CjIXukwp.js → solana-wallets-CWi7yIKW.js} +2 -2
  144. package/dist/assets/{solana-wallets-vue-Duq1k6JX.js → solana-wallets-vue-DrFKw32L.js} +1 -1
  145. package/dist/assets/{sora-uf6ksRSB.js → sora-B-T8syCN.js} +1 -1
  146. package/dist/assets/{suno-DhQTtz72.js → suno-CaPg5wI3.js} +1 -1
  147. package/dist/assets/{switch-D_ODtpMv.js → switch-DcEkrwHo.js} +1 -1
  148. package/dist/assets/table-1P1mzhi4.js +1 -0
  149. package/dist/assets/{tabs-B-hOlaTK.js → tabs-DtAZ3so9.js} +1 -1
  150. package/dist/assets/time-picker-VghfSWRJ.js +1 -0
  151. package/dist/assets/{tooltip-DIQ1TjUR.js → tooltip-BY0D7YKq.js} +1 -1
  152. package/dist/assets/{upload-DZWNbjf2.js → upload-gI1Lxhu7.js} +1 -1
  153. package/dist/assets/{veo-BdyEeSH8.js → veo-CfVto-d5.js} +1 -1
  154. package/dist/assets/{wan-fSSo5Re6.js → wan-bBEoiM8z.js} +1 -1
  155. package/dist/assets/{web-CtNwT8c4.js → web-BJ4_Hr_r.js} +1 -1
  156. package/dist/assets/{web-dBeJ-g69.js → web-ByPN4P1G.js} +1 -1
  157. package/dist/assets/{web-DltsZ16D.js → web-CjKTM_kC.js} +1 -1
  158. package/dist/assets/{web-CKziqU6a.js → web-D51lKmXr.js} +1 -1
  159. package/dist/assets/{web-5E_9uRCR.js → web-Dkf3rM2x.js} +1 -1
  160. package/dist/assets/webextrator-B0U-wvh0.js +1 -0
  161. package/dist/index.html +1 -1
  162. package/package.json +1 -1
  163. package/dist/assets/Conversation-BrFu3vWq.js +0 -1
  164. package/dist/assets/Extra-9_713Rr_.js +0 -1
  165. package/dist/assets/ImagePreview--hccmdBd.js +0 -1
  166. package/dist/assets/ImageWrapper-H8ZOISCF.js +0 -1
  167. package/dist/assets/Index-B--DpoJC.js +0 -1
  168. package/dist/assets/Index-B8knFepd.js +0 -1
  169. package/dist/assets/Index-BB3bUFX6.js +0 -1
  170. package/dist/assets/Index-BMRnOqXS.js +0 -1
  171. package/dist/assets/Index-BY3IhtZY.js +0 -1
  172. package/dist/assets/Index-BxyE09jj.js +0 -1
  173. package/dist/assets/Index-C1UqYJdm.js +0 -1
  174. package/dist/assets/Index-C32IeJa5.js +0 -1
  175. package/dist/assets/Index-C5m_lCpb.js +0 -2
  176. package/dist/assets/Index-CGw1u7lP.js +0 -1
  177. package/dist/assets/Index-C_svDySe.js +0 -1
  178. package/dist/assets/Index-CdH1ZXue.js +0 -1
  179. package/dist/assets/Index-CuT0b7Wp.js +0 -1
  180. package/dist/assets/Index-CxXeSEhY.js +0 -1
  181. package/dist/assets/Index-D-IE6CJV.js +0 -1
  182. package/dist/assets/Index-DRN_p_mW.js +0 -1
  183. package/dist/assets/Index-DUzRQjlQ.js +0 -1
  184. package/dist/assets/Index-GriIdIBy.js +0 -1
  185. package/dist/assets/Index-IOpBzkzV.js +0 -1
  186. package/dist/assets/Index-LqP3NJjT.js +0 -1
  187. package/dist/assets/Index-XvkfFKeN.js +0 -1
  188. package/dist/assets/Index-gFDVTg-a.js +0 -1
  189. package/dist/assets/Index-n2ypUyiW.js +0 -1
  190. package/dist/assets/Index-ng8NCzlC.js +0 -1
  191. package/dist/assets/Message-Caz13wD4.js +0 -3
  192. package/dist/assets/Model-F3xxy73J.js +0 -1
  193. package/dist/assets/Navigator-0G6cB3LX.js +0 -8
  194. package/dist/assets/Pay-CiRoI4vQ.js +0 -1
  195. package/dist/assets/RealtimeCall-DolT37JR.js +0 -1
  196. package/dist/assets/Tts-CCXz8ywK.js +0 -1
  197. package/dist/assets/avatar-DcZhgIo4.js +0 -1
  198. package/dist/assets/capabilities-CBfZ1dYC.js +0 -1
  199. package/dist/assets/debounce-BpbMwTHv.js +0 -1
  200. package/dist/assets/esm-D0T1nP5l.js +0 -1
  201. package/dist/assets/fish-BaqTo6tF.js +0 -1
  202. package/dist/assets/hailuo-myt4YrJR.js +0 -1
  203. package/dist/assets/image-DF8cabVr.js +0 -1
  204. package/dist/assets/index-DNz_lMrM.js +0 -570
  205. package/dist/assets/realtime-BaNdV1xm.js +0 -1
  206. package/dist/assets/select-ruot-XV3.js +0 -1
  207. package/dist/assets/slider-BQgcQSfm.js +0 -1
  208. package/dist/assets/table-DrsKyeYQ.js +0 -1
  209. package/dist/assets/time-picker-x2E9OCcv.js +0 -1
  210. package/dist/assets/webextrator-gfENjuvB.js +0 -1
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,qt 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-Dl8tgFjL.js";import{n as b,t as x}from"./tabs-DtAZ3so9.js";import{t as S}from"./upload-gI1Lxhu7.js";import{t as C}from"./tooltip-BY0D7YKq.js";import{t as w}from"./alert--fOgAzyp.js";import{t as T}from"./drawer-CZMqTsUy.js";import{t as E}from"./switch-DcEkrwHo.js";import{$r as D,ei as O,ti as k}from"./constants-DWe-ziJf.js";import{Ii as A,Ir as j,J as M,Si as N,Ti as P,Xi as F,cn as ee,cr as te,fn as ne,ln as re,sn as I,un as L,xn as R}from"./index-DHGr0qfr.js";import{t as z}from"./index.es-J-PBjzcR.js";import{t as B}from"./CopyToClipboard-BovNTELl.js";import{t as V}from"./ImagePreview-BKDkeMuD.js";import{n as H}from"./taskDrawerMixin-DyAUhFEq.js";import{t as U}from"./Consumption-DoSnOpCh.js";import{a as W,n as G,r as K,t as q}from"./pagination-ChSSHmgO.js";import{t as J}from"./VideoPlayer-DG7NZuWz.js";import{t as Y}from"./ApiCodeButton-B4AbprcE.js";import{t as X}from"./BotPlaceholder-ClF3L6UZ.js";import{t as ie}from"./PromptTextarea-BpckscxC.js";var ae=_({name:`LayoutVeo`,components:{ElDrawer:T,ElButton:F,FontAwesomeIcon:z},mixins:[H]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,a,s,d){let p=c(`font-awesome-icon`),m=c(`el-button`),_=c(`el-drawer`);return h(),o(`div`,oe,[e(`div`,se,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[u(t.$slots,`result`,{},void 0,!0)]),l(i(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-12b82bc3`]]),Z=`veo31-fast-ingredients`,de=[{value:`veo31-fast`,label:`Veo 3.1 Fast`},{value:`veo3-fast`,label:`Veo 3 Fast`},{value:`veo31`,label:`Veo 3.1`},{value:`veo3`,label:`Veo 3`}],Q=(e,t)=>{let n=!!(e?.action&&e.action!==t),r={...e,action:t};return t===`text2video`?(r.model=r.model===`veo31-fast-ingredients`?k:r.model||`veo31-fast`,delete r.image_urls,r):t===`ingredients2video`?(r.model=Z,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,3),r):(r.model=r.model===`veo31-fast-ingredients`?k:r.model||`veo31-fast`,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,2),r)},fe=e=>{let t={...Q(e,e?.action||`text2video`),async:!0};return t.image_urls?.length||delete t.image_urls,t},pe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:Z,label:`Veo 3.1 Fast`}]:de},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=k}}),me={class:`field`},he={class:`title font-bold`};function ge(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,me,[e(`h2`,he,r(t.$t(`veo.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var _e=M(pe,[[`render`,ge],[`__scopeId`,`data-v-90ed8cff`]]),ve=_({name:`ActionSelector`,components:{ElTabs:b,ElTabPane:x},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(D)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,Q(this.$store.state.veo?.config,e))}}});function ye(e,t,n,r,i,a){let l=c(`el-tab-pane`),u=c(`el-tabs`);return h(),d(u,{"model-value":e.value,class:`action-tabs`,stretch:``,"onUpdate:modelValue":e.onUpdate},{default:f(()=>[(h(!0),o(s,null,m(e.options,e=>(h(),d(l,{key:e.value,name:e.value,label:e.label},null,8,[`name`,`label`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var be=M(ve,[[`render`,ye],[`__scopeId`,`data-v-349937fd`]]),xe=_({name:`TranslationSelector`,components:{ElSwitch:E,InfoIcon:W},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!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,a,s,l,u){let d=c(`info-icon`),f=c(`el-switch`);return h(),o(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,r(t.$t(`veo.name.translation`)),1),i(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ee,[i(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=M(xe,[[`render`,De]]),ke=_({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=O}}),Ae={class:`text-sm font-bold mb-2 block`},je={class:`items`},Me=[`onClick`],Ne={class:`name`};function Pe(n,i,a,c,l,u){return h(),o(`div`,null,[e(`span`,Ae,r(n.$t(`veo.name.ratio`)),1),e(`div`,je,[(h(!0),o(s,null,m(n.options,(i,a)=>(h(),o(`div`,{key:a,class:t({active:n.active===a,item:!0}),onClick:e=>n.value=i.value},[e(`div`,{class:t([`preview`,i.label])},[e(`div`,{class:`rect`,style:p({width:i.width+`px`,height:i.height+`px`})},null,4)],2),e(`p`,Ne,r(i.label),1)],10,Me))),128))])])}var Fe=M(ke,[[`render`,Pe],[`__scopeId`,`data-v-28c472c4`]]),Ie=_({name:`StartEndImage`,components:{ElUpload:S,ElButton:F,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[L,ee],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){A.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){A.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`};function Ve(t,s,l,u,p,m){let g=c(`info-icon`),_=c(`image-preview`),v=c(`font-awesome-icon`),y=c(`el-button`),b=c(`el-upload`);return h(),o(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,r(t.title),1),i(g,{content:t.description},null,8,[`content`])])]),i(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":s[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:f(({file:e})=>[e.url&&e.percentage!==void 0?(h(),d(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):a(``,!0)]),default:f(()=>[i(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:f(()=>[i(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),n(` `+r(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var He=M(Ie,[[`render`,Ve],[`__scopeId`,`data-v-4f7ed755`]]),Ue=_({name:`PromptInput`,components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(e,t,n,r,i,a){let o=c(`prompt-textarea`);return h(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=_({name:`ConfigPanel`,components:{ElButton:F,Consumption:U,FontAwesomeIcon:z,PromptInput:M(Ue,[[`render`,We]]),ModelSelector:_e,StartEndImage:He,ActionSelector:be,TranslationSelector:Oe,AspectRatioSelector:Fe},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ne(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ke={class:`flex flex-col h-full`},qe={class:`flex-1 overflow-y-auto p-5`},Je={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ye(t,s,l,u,p,m){let g=c(`action-selector`),_=c(`model-selector`),v=c(`start-end-image`),y=c(`prompt-input`),b=c(`aspect-ratio-selector`),x=c(`translation-selector`),S=c(`consumption`),C=c(`font-awesome-icon`),w=c(`el-button`);return h(),o(`div`,Ke,[e(`div`,qe,[i(g,{class:`mb-5`}),i(_,{class:`mb-4`}),t.showsImages?(h(),d(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):a(``,!0),i(y,{class:`mb-4`}),i(b,{class:`mb-4`}),i(x,{class:`mb-2`})]),e(`div`,Je,[i(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Xe=M(Ge,[[`render`,Ye]]),Ze=_({name:`TaskPreview`,components:{CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:w,VideoPlayer:J,ImagePreview:V,ElTooltip:C,ElButton:F,ApiCodeButton:Y},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Qe={class:`preview`},$e={class:`left`},et={class:`main`},tt={class:`bot`},nt={class:`datetime`},rt={class:`info`},it={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},at={key:1,class:`prompt mt-2`},ot={key:0},st={key:1},ct={key:0,class:t({content:!0,failed:!0})},lt={key:0,class:`mb-4`},ut={key:1,class:t({operations:!0,"mt-2":!0})},dt={key:1,class:t({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={class:t({content:!0})},mt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function bt(l,u,p,g,_,v){let y=c(`capability-presentation`),b=c(`image-preview`),x=c(`video-player`),S=c(`el-button`),C=c(`el-tooltip`),w=c(`api-code-button`),T=c(`font-awesome-icon`),E=c(`copy-to-clipboard`),D=c(`el-alert`);return h(),o(`div`,Qe,[e(`div`,$e,[i(y,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,et,[e(`div`,tt,[i(y,{capability:`veo`,part:`name`}),e(`span`,nt,r(l.$dayjs.format(``+new Date(parseFloat((l.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,rt,[l.referenceImages.length>0?(h(),o(`div`,it,[(h(!0),o(s,null,m(l.referenceImages,(e,t)=>(h(),d(b,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):a(``,!0),l.modelValue?.request?.prompt?(h(),o(`p`,at,[n(r(l.modelValue?.request?.prompt)+` `,1),l.modelValue?.response?a(``,!0):(h(),o(`span`,ot,` - (`+r(l.$t(`veo.status.pending`))+`) `,1)),Array.isArray(l.modelValue?.response?.data)&&l.modelValue?.response?.data[0]?.state===`running`?(h(),o(`span`,st,` - (`+r(l.$t(`veo.status.processing`))+`) `,1)):a(``,!0)])):a(``,!0)]),l.modelValue?.response?.success===!0&&l.modelValue?.response?.data?(h(),o(`div`,ct,[l.modelValue?.response?.data[0]?.video_url?(h(),o(`div`,lt,[i(x,{src:l.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):a(``,!0),l.modelValue?.response.success?(h(),o(`div`,ut,[i(C,{class:`box-item`,effect:`dark`,content:l.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:f(()=>[l.modelValue?.response?.data[0]?.video_url?(h(),d(S,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:u[0]||=e=>l.onDownload(e,l.modelValue?.response?.data[0]?.video_url)},{default:f(()=>[n(r(l.$t(`veo.button.download`)),1)]),_:1})):a(``,!0)]),_:1},8,[`content`]),i(w,{path:`/veo/videos`,body:l.modelValue?.request},null,8,[`body`])])):a(``,!0)])):a(``,!0),l.modelValue?.response?.success===!1?(h(),o(`div`,dt,[i(D,{closable:!1,class:`failure`},{template:f(()=>[i(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.failure`)),1)]),default:f(()=>[e(`p`,ft,[i(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.failureReason`))+`: `+r(l.modelValue?.response?.error?.message)+` `,1),i(E,{content:l.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):a(``,!0),e(`div`,pt,[i(D,{closable:!1,class:t([`mt-2`,`task-metadata`,l.taskInfoClass])},{default:f(()=>[l.modelValue?.request?.model?(h(),o(`p`,mt,[i(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.model`))+`: `+r(l.modelValue?.request?.model),1)])):a(``,!0),e(`p`,ht,[i(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.action`))+`: `+r(l.actionLabel),1)]),l.modelValue?.request?.aspect_ratio?(h(),o(`p`,gt,[i(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.ratio`))+`: `+r(l.modelValue?.request?.aspect_ratio),1)])):a(``,!0),l.modelValue?.request?.translation===void 0?a(``,!0):(h(),o(`p`,_t,[i(T,{icon:`fa-solid fa-language`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.translation`))+`: `+r(l.$t(l.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,vt,[i(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.taskId`))+`: `+r(l.modelValue?.id)+` `,1),i(E,{content:l.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),l.modelValue?.elapsed?(h(),o(`p`,yt,[i(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.elapsed`))+`: `+r(l.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),l.traceId?(h(),o(`p`,$,[i(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(l.$t(`veo.name.traceId`))+`: `+r(l.traceId)+` `,1),i(E,{content:l.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`class`])])])])}var xt=_({name:`RecentPanel`,components:{TaskPreview:M(Ze,[[`render`,bt],[`__scopeId`,`data-v-32e97821`]]),NoTasks:K,BotPlaceholder:X,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),St={key:0},Ct={key:2,class:`w-full h-full flex items-center justify-center`};function wt(e,t,n,r,l,u){let p=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return h(),o(s,null,[e.tasks?.items===void 0?(h(),o(`div`,St,[i(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),d(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:f(()=>[(h(!0),o(s,null,m(e.tasks?.items,(e,t)=>(h(),d(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(h(),o(`div`,Ct,[i(v)])):a(``,!0)],64)}var Tt=_({name:`VeoIndex`,components:{ConfigPanel:Xe,Layout:ue,RecentPanel:M(xt,[[`render`,wt]])},mixins:[re],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===N.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,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 q({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!I(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e=fe(this.config);if(!R())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){A.warning(this.$t(`veo.message.imageRequired`));return}A.info(this.$t(`veo.message.startingTask`)),j(`veo`,te.generate(e,{token:t})).then(()=>{A.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?A.error(this.$t(`veo.message.usedUp`)):A.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Et(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`layout`);return h(),d(u,null,{config:f(()=>[i(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dt=M(Tt,[[`render`,Et]]);export{Dt as default};
@@ -0,0 +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-Dl8tgFjL.js";import{t as x}from"./upload-gI1Lxhu7.js";import{t as S}from"./tooltip-BY0D7YKq.js";import{t as C}from"./alert--fOgAzyp.js";import{t as w}from"./drawer-CZMqTsUy.js";import{At as T,Bt as E,Ft as ee,Ht as D,It as O,Lt as k,Mt as A,Pt as j,Rt as M,Ut as N,jt as P,kt as te,zt as ne}from"./constants-DWe-ziJf.js";import{Ii as F,Ir as I,J as L,Si as R,Ti as z,Un as B,Xi as V,cn as H,fn as U,ln as W,sn as G,un as K,xn as q}from"./index-DHGr0qfr.js";import{t as J}from"./index.es-J-PBjzcR.js";import{t as Y}from"./CopyToClipboard-BovNTELl.js";import{t as X}from"./ImagePreview-BKDkeMuD.js";import{n as Z}from"./taskDrawerMixin-DyAUhFEq.js";import{t as re}from"./Consumption-DoSnOpCh.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-ChSSHmgO.js";import{t as se}from"./VideoPlayer-DG7NZuWz.js";import{t as ce}from"./ApiCodeButton-B4AbprcE.js";import{t as le}from"./BotPlaceholder-ClF3L6UZ.js";import{t as ue}from"./PromptTextarea-BpckscxC.js";var de=v({name:`LayoutGrokVideo`,components:{ElDrawer:w,ElButton:V,FontAwesomeIcon:J},mixins:[Z]}),fe={class:`main flex flex-row flex-1`},pe={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},me={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function he(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,fe,[e(`div`,pe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,me,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ge=L(de,[[`render`,he],[`__scopeId`,`data-v-76ddc288`]]),_e=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ve(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ye=L(_e,[[`render`,ve]]),be=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},data(){return{options:[{value:ee,label:this.$t(`grokvideo.model.default`)},{value:j,label:this.$t(`grokvideo.model.preview15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=te}}),xe={class:`field`},Se={class:`label`},Ce={class:`box`},we={class:`title font-bold`};function Te(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,xe,[e(`div`,Se,[e(`div`,Ce,[e(`h2`,we,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 Ee=L(be,[[`render`,Te],[`__scopeId`,`data-v-291d93fb`]]),De=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return D(this.model)},options(){return A.filter(e=>e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)}},mounted(){this.value||=6}}),Oe={class:`field`},ke={class:`label`},Ae={class:`box`},je={class:`title font-bold`};function Me(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Oe,[e(`div`,ke,[e(`div`,Ae,[e(`h2`,je,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 Ne=L(De,[[`render`,Me],[`__scopeId`,`data-v-9c711686`]]),Pe=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:Q},data(){return{options:[{value:ne,label:`480p`},{value:E,label:`720p`},{value:M,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=P}}),Fe={class:`resolution`},Ie={class:`header`},Le={class:`title font-bold`},Re={class:`items`},ze=[`onClick`];function Be(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,Fe,[e(`div`,Ie,[e(`h2`,Le,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,Re,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,ze))),128))])])}var Ve=L(Pe,[[`render`,Be],[`__scopeId`,`data-v-54f22a22`]]),He=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:Q},computed:{options(){return[{value:O,label:`16:9`,w:32,h:18},{value:k,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=T}}),Ue={class:`ratio`},We={class:`header`},Ge={class:`title font-bold`},Ke={class:`items`},qe=[`onClick`],Je={class:`preview`},Ye={class:`name`};function Xe(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,Ue,[e(`div`,We,[e(`h2`,Ge,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,Ke,[(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`,Je,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,Ye,i(r.label),1)],10,qe))),128))])])}var Ze=L(He,[[`render`,Xe],[`__scopeId`,`data-v-70115284`]]),Qe=v({name:`GrokVideoImageInput`,components:{ElUpload:x,ElButton:V,InfoIcon:Q,FontAwesomeIcon:J,ImagePreview:X},mixins:[K,H],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return N(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){F.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){F.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),$e={class:`relative`},et={class:`flex justify-between`},tt={class:`flex justify-start items-center`},nt={class:`text-sm font-bold`},rt={key:0,class:`required-badge`};function it(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`span`,nt,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),s(`span`,rt,i(t.$t(`grokvideo.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`grokvideo.description.image`)},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,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,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var at=L(Qe,[[`render`,it],[`__scopeId`,`data-v-164e5a1d`]]),ot=4,st=v({name:`GrokVideoReferenceImagesInput`,components:{ElUpload:x,ElButton:V,InfoIcon:Q,ImagePreview:X,FontAwesomeIcon:J},mixins:[K,H],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`,limit:ot,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){F.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){F.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),ct={class:`field flex items-center justify-between`},lt={class:`title font-bold text-[14px] mb-[10px]`},ut={class:`upload-wrapper flex flex-col items-start gap-[8px]`},dt={class:`controls flex items-center`},ft={class:`file-list flex flex-wrap gap-[10px]`};function pt(t,n,o,u,d,m){let _=l(`font-awesome-icon`),v=l(`el-button`),y=l(`el-upload`),b=l(`info-icon`),x=l(`image-preview`);return g(),s(c,null,[e(`div`,ct,[e(`h2`,lt,i(t.$t(`grokvideo.name.referenceImages`)),1),e(`div`,ut,[e(`div`,dt,[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`,class:`value`,limit:t.limit,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(v,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(_,{icon:`fa-solid fa-upload`,class:`mr-1`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),a(b,{content:t.$t(`grokvideo.description.referenceImages`),class:`ml-2`},null,8,[`content`])])])]),e(`div`,ft,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var mt=v({name:`GrokVideoConfigPanel`,components:{ElButton:V,FontAwesomeIcon:J,PromptInput:ye,ModelSelector:Ee,DurationSelector:Ne,ResolutionSelector:Ve,RatioSelector:Ze,ImageInput:at,ReferenceImagesInput:L(st,[[`render`,pt]]),Consumption:re},emits:[`generate`],computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!N(this.$store.state.grokvideo?.config?.model)},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ht={class:`flex flex-col h-full`},gt={class:`flex-1 overflow-y-auto p-5`},_t={class:`flex flex-col items-center justify-center px-5 pb-5`};function vt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`consumption`),w=l(`font-awesome-icon`),T=l(`el-button`);return g(),s(`div`,ht,[e(`div`,gt,[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-2`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-2`})):o(``,!0)]),e(`div`,_t,[a(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var yt=L(mt,[[`render`,vt]]),bt=v({name:`GrokVideoTaskPreview`,components:{CopyToClipboard:Y,FontAwesomeIcon:J,ElAlert:C,VideoPlayer:se,ElTooltip:S,ElButton:V,ImagePreview:X,ApiCodeButton:ce},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),xt={class:`preview`},St={class:`left`},Ct={class:`main`},wt={class:`bot`},Tt={class:`datetime`},Et={class:`info`},Dt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Ot={key:1,class:`prompt mt-2`},kt={key:0},At={key:1},jt={key:0,class:n({content:!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`},Pt={key:1,class:n({content:!0})},Ft={key:0,class:`mb-4`},It={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:0},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:2,class:n({content:!0})},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},qt={key:3,class:n({content:!0})},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`copy-to-clipboard`),b=l(`el-alert`),x=l(`video-player`),S=l(`el-button`),C=l(`el-tooltip`),w=l(`api-code-button`);return g(),s(`div`,xt,[e(`div`,St,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,Ct,[e(`div`,wt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Tt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Et,[n.inputImage?(g(),s(`div`,Dt,[a(_,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,Ot,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,At,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,kt,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,Pt,[n.video?.video_url?(g(),s(`div`,Ft,[a(x,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,It,[a(C,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`grokvideo.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(w,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(b,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,Lt,[a(v,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,Rt,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,zt,[a(v,{icon:`fa-solid fa-expand`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,Bt,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,$,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(y,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Vt,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Ht,[a(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(y,{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`,Ut,[a(b,{closable:!1,class:`failure`},{template:p(()=>[a(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,Wt,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(y,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,Gt,[a(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(y,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Kt,[a(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(y,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,qt,[a(b,{closable:!1,class:`info`},{template:p(()=>[a(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,Jt,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(y,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,jt,[a(b,{closable:!1,class:`info`},{template:p(()=>[a(v,{icon:`fa-regular fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,Mt,[a(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(y,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,Nt,[a(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Xt=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:L(bt,[[`render`,Yt],[`__scopeId`,`data-v-ead48cc1`]]),BotPlaceholder:le,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},Qt={key:2,class:`w-full h-full flex items-center justify-center`};function $t(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`,Zt,[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`,Qt,[a(v)])):o(``,!0)],64)}var en=v({name:`GrokVideoIndex`,components:{ConfigPanel:yt,Layout:ge,RecentPanel:L(Xt,[[`render`,$t]])},mixins:[W],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`grokvideo/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(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!G(this.uploadTracker,e=>this.$t(e),e=>F.warning(e)))return;let e={...this.config||{}};typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),typeof e?.image_url==`string`&&!e.image_url.trim()&&delete e.image_url,(N(e?.model)||!(Array.isArray(e?.reference_image_urls)&&e.reference_image_urls.length))&&delete e.reference_image_urls;let t=!!e?.image_url;if(N(e?.model)&&!t){F.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e?.prompt){F.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n={...e,async:!0};if(!q())return;let r=this.credential?.token;if(!r){console.error(`no token specified`);return}F.info(this.$t(`grokvideo.message.startingTask`)),I(`grokvideo`,B.generate(n,{token:r})).then(()=>{F.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?F.error(this.$t(`grokvideo.message.usedUp`)):F.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function tn(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 nn=L(en,[[`render`,tn]]);export{nn as default};
@@ -0,0 +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-Dl8tgFjL.js";import{t as b}from"./upload-gI1Lxhu7.js";import{t as x}from"./tooltip-BY0D7YKq.js";import{t as S}from"./alert--fOgAzyp.js";import{t as C}from"./drawer-CZMqTsUy.js";import{mt as ee}from"./constants-DWe-ziJf.js";import{Bn as w,Ii as T,Ir as E,J as D,Si as O,Ti as te,Xi as k,cn as A,fn as j,ln as M,sn as N,un as P,xn as F}from"./index-DHGr0qfr.js";import{t as I}from"./index.es-J-PBjzcR.js";import{t as L}from"./CopyToClipboard-BovNTELl.js";import{t as R}from"./ImagePreview-BKDkeMuD.js";import{n as z}from"./taskDrawerMixin-DyAUhFEq.js";import{t as B}from"./Consumption-DoSnOpCh.js";import{a as V,n as H,r as U,t as W}from"./pagination-ChSSHmgO.js";import{t as G}from"./VideoPlayer-DG7NZuWz.js";import{t as K}from"./ApiCodeButton-B4AbprcE.js";import{t as q}from"./BotPlaceholder-ClF3L6UZ.js";import{t as J}from"./PromptTextarea-BpckscxC.js";var Y=_({name:`LayoutWan`,components:{ElDrawer:C,ElButton:k,FontAwesomeIcon:I},mixins:[z]}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,X,[e(`div`,Z,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Q,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=D(Y,[[`render`,ne],[`__scopeId`,`data-v-1ffeb6b4`]]),ie=_({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||=ee}}),ae={class:`field`},oe={class:`title font-bold`},se={class:`float-left`};function ce(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ae,[e(`h2`,oe,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`,se,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var le=D(ie,[[`render`,ce],[`__scopeId`,`data-v-eb090beb`]]),ue=`720p`,de=_({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||=ue}}),fe={class:`field`},pe={class:`title font-bold`},me={class:`float-left`};function he(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,fe,[e(`h2`,pe,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`,me,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=D(de,[[`render`,he],[`__scopeId`,`data-v-3e39f44e`]]),_e=5,ve=_({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||=_e}}),ye={class:`field`},be={class:`title font-bold`},xe={class:`float-left`};function Se(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,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`,xe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ce=D(ve,[[`render`,Se],[`__scopeId`,`data-v-5f35a2cf`]]),we=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:k,InfoIcon:V,ImagePreview:R},mixins:[P,A],data(){return{fileList:[],uploadUrl:te()+`/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(){T.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){T.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){T.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Te={class:`relative`},Ee={class:`flex justify-between`},De={class:`flex justify-start items-center`},Oe={class:`text-sm font-bold`};function ke(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`,Te,[e(`div`,Ee,[e(`div`,De,[e(`span`,Oe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"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`,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`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Ae=D(we,[[`render`,ke],[`__scopeId`,`data-v-41a69004`]]),je=_({name:`PromptInput`,components:{PromptTextarea:J},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 Me(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 Ne=_({name:`PresetPanel`,components:{ElButton:k,FontAwesomeIcon:I,PromptInput:D(je,[[`render`,Me]]),ImageUrlInput:Ae,ModelSelector:le,ResolutionSelector:ge,DurationSelector:Ce,Consumption:B},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return j(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`)}}}),Pe={class:`flex flex-col h-full`},Fe={class:`flex-1 overflow-y-auto p-5`},Ie={class:`flex flex-col items-center justify-center px-5 pb-5`};function Le(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(`font-awesome-icon`),C=l(`el-button`);return h(),s(`div`,Pe,[e(`div`,Fe,[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-2`})):o(``,!0)]),e(`div`,Ie,[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,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Re=D(Ne,[[`render`,Le]]),ze=_({name:`TaskPreview`,components:{CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:G,ElTooltip:x,ElButton:k,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),Be={class:`preview`},Ve={class:`left`},He={class:`main`},Ue={class:`bot`},We={class:`datetime`},Ge={class:`info`},Ke={key:0,class:`prompt mt-2`},qe={key:0},Je={key:1},Ye={key:0,class:n({content:!0,failed:!0})},Xe={key:0,class:`mb-4`},Ze={key:1,class:n({operations:!0,"mt-2":!0})},Qe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},at={key:2,class:n({content:!0})},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function st(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`video-player`),v=l(`el-button`),y=l(`el-tooltip`),b=l(`api-code-button`),x=l(`font-awesome-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`);return h(),s(`div`,Be,[e(`div`,Ve,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,He,[e(`div`,Ue,[a(g,{capability:`wan`,part:`name`}),e(`span`,We,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Ge,[n.modelValue?.request?.prompt?(h(),s(`p`,Ke,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,qe,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`||n.modelValue?.response?.state===`running`?(h(),s(`span`,Je,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Ye,[n.modelValue?.response?.video_url?(h(),s(`div`,Xe,[a(_,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,Ze,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:c[0]||=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(b,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,Qe,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,$e,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,tt,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,nt,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,rt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,it,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(h(),s(`div`,at,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ot,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var ct=_({name:`RecentPanel`,components:{TaskPreview:D(ze,[[`render`,st],[`__scopeId`,`data-v-3a3a35c2`]]),BotPlaceholder:q,NoTasks:U,ScrollList:H},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?.()}}}),lt={key:0},ut={key:2,class:`w-full h-full flex items-center justify-center`};function dt(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`,lt,[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`,ut,[a(v)])):o(``,!0)],64)}var ft=_({name:`WanIndex`,components:{ConfigPanel:Re,Layout:re,RecentPanel:D(ct,[[`render`,dt]])},mixins:[M],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===O.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===O.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 W({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(!N(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config,async:!0};if(!F())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}T.info(this.$t(`wan.message.startingTask`)),E(`wan`,w.generate(e,{token:t})).then(()=>{T.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?T.error(this.$t(`wan.message.usedUp`)):T.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function pt(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 mt=D(ft,[[`render`,pt]]);export{mt as default};
@@ -0,0 +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,S as c,T as l,at as u,bt as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,tt as v,x as y,z as b}from"./vendor-chart-Dw-P17PN.js";import{I as x,b as S,nt as C}from"./use-deprecated-B-uvyrTL.js";import{r as w,t as T}from"./select-Dl8tgFjL.js";import{t as E}from"./upload-gI1Lxhu7.js";import{t as D}from"./alert--fOgAzyp.js";import{t as O}from"./drawer-CZMqTsUy.js";import{t as k}from"./input-number-DcS9Bx33.js";import{t as A}from"./switch-DcEkrwHo.js";import{Ar as j,Br as ee,Dr as te,Hr as M,Ir as N,Nr as P,Or as F,Rr as I,Tr as ne,jr as re,kr as ie}from"./constants-DWe-ziJf.js";import{Cn as ae,Dn as L,Ii as R,Ir as oe,J as z,Si as B,Ti as V,Xi as H,or as U,wn as W,xn as G}from"./index-DHGr0qfr.js";import{t as K}from"./index.es-J-PBjzcR.js";import{t as q}from"./CopyToClipboard-BovNTELl.js";import{t as se}from"./FilePreview-Ce20lKHh.js";import{t as ce}from"./ImagePreview-BKDkeMuD.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{a as ue,n as de,r as fe,t as pe}from"./pagination-ChSSHmgO.js";import{t as me}from"./VideoPlayer-DG7NZuWz.js";import{t as he}from"./ApiCodeButton-B4AbprcE.js";import{t as ge}from"./BotPlaceholder-ClF3L6UZ.js";import{t as _e}from"./PromptTextarea-BpckscxC.js";import{n as ve,t as ye}from"./AudioPreview-BSZwbHFC.js";import{a as J,i as be,n as xe,o as Se,s as Ce,t as we}from"./maestro-C2hfrcpL.js";var Te=b({name:`LayoutMaestro`,components:{ElDrawer:O,ElButton:H,FontAwesomeIcon:K},mixins:[le]}),Ee={class:`main flex flex-row flex-1`},De={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Oe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ke(t,n,r,i,o,c){let l=u(`font-awesome-icon`),d=u(`el-button`),m=u(`el-drawer`);return v(),s(`div`,Ee,[e(`div`,De,[p(t.$slots,`config`,{},void 0,!0)]),e(`div`,Oe,[p(t.$slots,`result`,{},void 0,!0)]),f(a(d,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[y,!t.tasksEmpty]]),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[p(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ae=z(Te,[[`render`,ke],[`__scopeId`,`data-v-91db2b6f`]]),je=b({name:`MaestroFileUrlsInput`,components:{ElUpload:E,ElButton:H,FontAwesomeIcon:K},data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`,MAESTRO_FILE_ACCEPT:I,MAESTRO_FILE_LIMIT:6}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},value(){return this.$store.state.maestro?.config?.file_urls||[]}},watch:{value:{immediate:!0,handler(e){let t=new Map(this.fileList.map(e=>[e?.response?.file_url||e.url,e])),n=e.map(e=>t.get(e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}}),r=this.fileList.filter(e=>!(e?.response?.file_url||e.url));this.fileList=[...n,...r]}}},methods:{onExceed(){R.warning(this.$t(`maestro.message.uploadExceed`))},onError(){R.error(this.$t(`maestro.message.uploadError`))},onChange(){let e=this.fileList.map(e=>e?.response?.file_url||e.url).filter(e=>!!e);this.$store.commit(`maestro/setConfig`,{...this.$store.state.maestro?.config,file_urls:e})}}});function Me(e,t,n,o,c,l){let d=u(`font-awesome-icon`),f=u(`el-button`),p=u(`el-upload`);return v(),s(`div`,null,[a(p,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:e.MAESTRO_FILE_ACCEPT,name:`file`,class:`w-full`,limit:e.MAESTRO_FILE_LIMIT,multiple:!0,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:h(()=>[a(f,{size:`small`,round:``},{default:h(()=>[a(d,{icon:`fa-solid fa-paperclip`,class:`mr-1`}),r(` `+i(e.$t(`maestro.button.uploadFiles`)),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`limit`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Ne=z(je,[[`render`,Me]]),Pe={"9:16":{width:15,height:26},"16:9":{width:26,height:15},"1:1":{width:20,height:20}},Fe=b({name:`ConfigPanel`,components:{ElButton:H,ElSelect:w,ElOption:T,ElInputNumber:k,ElAlert:D,ElSwitch:A,InfoIcon:ue,PromptTextarea:_e,FileUrlsInput:Ne,FontAwesomeIcon:K},emits:[`generate`],data(){return{MAESTRO_MIN_DURATION:1,MAESTRO_MAX_DURATION:600,MAESTRO_ALLOWED_QUALITIES:te,MAESTRO_ALLOWED_SCENARIOS:F,MAESTRO_SCENARIO_THUMBNAILS:ee,MAESTRO_ALLOWED_STYLES:ie,MAESTRO_ALLOWED_VOICES:j,playing:!1,audioEl:null}},computed:{config(){return this.$store.state.maestro?.config},service(){return this.$store.state.maestro?.service},ratioOptions(){return ne.map(e=>({value:e,...Pe[e]??{width:20,height:20}}))},isRemixing(){let e=this.config?.action;return!!e&&e!==`generate`&&!!this.config?.ref_task_id},refTaskId(){return this.config?.ref_task_id},needsVideoUpload(){if(!this.scenarioCustomizationEnabled)return!1;let e=this.config?.scenario;return!e||!M.includes(e)?!1:!(this.config?.file_urls||[]).some(e=>L(e))},canGenerate(){return!!this.prompt?.trim()&&!this.needsVideoUpload},prompt:{get(){return this.config?.prompt},set(e){this.update({prompt:e})}},langs:{get(){return J(this.config?.langs)},set(e){this.update({langs:J(e)})}},languageOptions(){return be(this.$i18n.locale)},additionalLanguageOptions(){return this.languageOptions.filter(e=>e.value!==this.primaryLanguage)},primaryLanguage:{get(){return this.langs[0]||P[0]},set(e){this.update({langs:Ce(this.langs,e)})}},additionalLanguages:{get(){return this.langs.slice(1)},set(e){this.update({langs:Se(this.langs,e)})}},aspect:{get(){return this.config?.aspect},set(e){this.update({aspect:e})}},duration:{get(){return this.config?.duration},set(e){let t=Math.min(600,Math.max(1,Math.round(typeof e==`number`&&!Number.isNaN(e)?e:30)));this.update({duration:t})}},quality:{get(){return this.config?.quality},set(e){this.update({quality:e})}},scenarioCustomizationEnabled:{get(){return this.config?.scenario_customization_enabled??!1},set(e){this.update({scenario_customization_enabled:e})}},styleCustomizationEnabled:{get(){return this.config?.style_customization_enabled??!1},set(e){this.update({style_customization_enabled:e})}},voiceCustomizationEnabled:{get(){return this.config?.voice_customization_enabled??!1},set(e){e||this.stopSample(),this.update({voice_customization_enabled:e})}},scenario:{get(){return this.config?.scenario},set(e){this.update({scenario:e})}},style:{get(){return this.config?.style},set(e){let t=e?.trim();this.update({style:!t||t.toLowerCase()===`auto`?N:t})}},voice:{get(){return this.config?.voice},set(e){this.stopSample(),this.update({voice:e||`warm-female`})}},currentSample(){return j.find(e=>e.key===this.voice)?.sample}},watch:{voiceCustomizationEnabled(e){e||this.stopSample()},voice(){this.stopSample()}},mounted(){this.update({action:this.config?.action??`generate`,langs:J(this.config?.langs),aspect:this.config?.aspect??`9:16`,duration:this.config?.duration??30,quality:this.config?.quality??`standard`})},beforeUnmount(){this.stopSample()},methods:{update(e){this.$store.commit(`maestro/setConfig`,{...this.config,...e})},onClearRemix(){this.update({action:re,ref_task_id:void 0})},onToggleSample(){let e=this.currentSample;if(e){if(this.audioEl||(this.audioEl=d(new Audio),this.audioEl.addEventListener(`ended`,()=>{this.playing=!1})),this.playing){this.audioEl.pause(),this.playing=!1;return}this.audioEl.src!==e&&(this.audioEl.src=e),this.audioEl.currentTime=0,this.audioEl.play().then(()=>{this.playing=!0}).catch(()=>{this.playing=!1})}},stopSample(){this.audioEl&&(this.audioEl.pause(),this.audioEl.currentTime=0),this.playing=!1},onGenerate(){this.$emit(`generate`)}}}),Ie={class:`flex flex-col h-full`},Le={class:`flex-1 overflow-y-auto p-5`},Re={class:`text-xs mb-1`},ze={class:`field-block mb-5`},Be={class:`field-head`},Ve={class:`field-title font-bold`},He={class:`field-block mb-5`},Ue={class:`field-head`},We={class:`field-title font-bold`},Ge={class:`language-picker`},Ke={class:`language-role language-role--primary`},qe={class:`language-role-label`},Je={class:`language-role`},Ye={class:`language-role-label`},Xe={class:`field-block mb-5`},Ze={class:`field-head`},Qe={class:`field-title font-bold`},$e=[`aria-label`],et=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],tt={class:`ratio-preview`},nt={class:`ratio-name`},rt={class:`field-row mb-4`},it={class:`field-head`},at={class:`field-title font-bold`},ot={class:`field-row`},st={class:`field-head`},ct={class:`field-title font-bold`},lt={class:`custom-field`},ut={class:`custom-field-header mb-2`},dt={class:`field-head`},ft={class:`field-title font-bold`},pt=[`aria-label`,`aria-disabled`],mt=[`aria-checked`,`aria-disabled`,`aria-label`,`tabindex`,`onClick`,`onKeydown`],ht={class:`scenario-thumb`},gt=[`src`,`alt`],_t={class:`scenario-name`},vt={class:`custom-field`},yt={class:`custom-field-header mb-2`},bt={class:`field-head`},xt={class:`field-title font-bold`},St={class:`custom-field`},Ct={class:`custom-field-header mb-2`},wt={class:`field-head`},Tt={class:`field-title font-bold`},Et={class:`voice-row`},Dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ot(d,f,p,y,b,x){let S=u(`font-awesome-icon`),C=u(`el-button`),w=u(`el-alert`),T=u(`prompt-textarea`),E=u(`info-icon`),D=u(`file-urls-input`),O=u(`el-option`),k=u(`el-select`),A=u(`el-input-number`),j=u(`el-switch`);return v(),s(`div`,Ie,[e(`div`,Le,[d.isRemixing?(v(),m(w,{key:0,closable:!1,type:`info`,class:`mb-5`},{default:h(()=>[e(`p`,Re,[a(S,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),r(` `+i(d.$t(`maestro.name.remixing`))+`: `+i(d.refTaskId),1)]),a(C,{size:`small`,text:``,onClick:d.onClearRemix},{default:h(()=>[r(i(d.$t(`maestro.button.cancelRemix`)),1)]),_:1},8,[`onClick`])]),_:1})):o(``,!0),a(T,{modelValue:d.prompt,"onUpdate:modelValue":f[0]||=e=>d.prompt=e,class:`mb-5`,title:d.$t(`maestro.name.prompt`),info:d.$t(`maestro.description.prompt`),placeholder:d.$t(`maestro.placeholder.prompt`),"min-rows":6},null,8,[`modelValue`,`title`,`info`,`placeholder`]),e(`div`,ze,[e(`div`,Be,[e(`h2`,Ve,i(d.$t(`maestro.name.files`)),1),a(E,{content:d.$t(`maestro.description.files`),class:`ml-1`},null,8,[`content`])]),a(D)]),e(`div`,He,[e(`div`,Ue,[e(`h2`,We,i(d.$t(`maestro.name.langs`)),1),a(E,{content:d.$t(`maestro.description.langs`),class:`ml-1`},null,8,[`content`])]),e(`div`,Ge,[e(`label`,Ke,[e(`span`,qe,i(d.$t(`maestro.name.primaryLanguage`)),1),a(k,{modelValue:d.primaryLanguage,"onUpdate:modelValue":f[1]||=e=>d.primaryLanguage=e,class:`w-full`},{default:h(()=>[(v(!0),s(l,null,_(d.languageOptions,e=>(v(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`label`,Je,[e(`span`,Ye,i(d.$t(`maestro.name.additionalLanguages`)),1),a(k,{modelValue:d.additionalLanguages,"onUpdate:modelValue":f[2]||=e=>d.additionalLanguages=e,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:d.$t(`maestro.placeholder.additionalLanguages`),class:`w-full`},{default:h(()=>[(v(!0),s(l,null,_(d.additionalLanguageOptions,e=>(v(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])]),e(`div`,Xe,[e(`div`,Ze,[e(`h2`,Qe,i(d.$t(`maestro.name.aspect`)),1)]),e(`div`,{class:`ratio-items`,role:`radiogroup`,"aria-label":d.$t(`maestro.name.aspect`)},[(v(!0),s(l,null,_(d.ratioOptions,r=>(v(),s(`div`,{key:r.value,class:n([`ratio-item`,{active:d.aspect===r.value}]),role:`radio`,"aria-checked":d.aspect===r.value,"aria-label":r.value,tabindex:`0`,onClick:e=>d.aspect=r.value,onKeydown:[c(t(e=>d.aspect=r.value,[`prevent`]),[`enter`]),c(t(e=>d.aspect=r.value,[`prevent`]),[`space`])]},[e(`div`,tt,[e(`div`,{class:`ratio-rect`,style:g({width:r.width+`px`,height:r.height+`px`})},null,4)]),e(`p`,nt,i(r.value),1)],42,et))),128))],8,$e)]),e(`div`,rt,[e(`div`,it,[e(`h2`,at,i(d.$t(`maestro.name.duration`)),1),a(E,{content:d.$t(`maestro.description.duration`),class:`ml-1`},null,8,[`content`])]),a(A,{modelValue:d.duration,"onUpdate:modelValue":f[3]||=e=>d.duration=e,class:`field-control`,min:d.MAESTRO_MIN_DURATION,max:d.MAESTRO_MAX_DURATION,step:5,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`])]),e(`div`,ot,[e(`div`,st,[e(`h2`,ct,i(d.$t(`maestro.name.quality`)),1),a(E,{content:d.$t(`maestro.description.quality`),class:`ml-1`},null,8,[`content`])]),a(k,{modelValue:d.quality,"onUpdate:modelValue":f[4]||=e=>d.quality=e,class:`field-control`},{default:h(()=>[(v(!0),s(l,null,_(d.MAESTRO_ALLOWED_QUALITIES,e=>(v(),m(O,{key:e,label:d.$t(`maestro.option.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,lt,[e(`div`,ut,[e(`div`,dt,[e(`h2`,ft,i(d.$t(`maestro.name.customizeScenario`)),1),a(E,{content:d.$t(`maestro.description.scenario`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.scenarioCustomizationEnabled,"onUpdate:modelValue":f[5]||=e=>d.scenarioCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeScenario`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,{class:n([`scenario-cards`,{"is-disabled":!d.scenarioCustomizationEnabled}]),role:`radiogroup`,"aria-label":d.$t(`maestro.name.scenario`),"aria-disabled":!d.scenarioCustomizationEnabled},[(v(!0),s(l,null,_(d.MAESTRO_ALLOWED_SCENARIOS,r=>(v(),s(`div`,{key:r,class:n([`scenario-card`,{active:d.scenarioCustomizationEnabled&&d.scenario===r,disabled:!d.scenarioCustomizationEnabled}]),role:`radio`,"aria-checked":d.scenarioCustomizationEnabled&&d.scenario===r,"aria-disabled":!d.scenarioCustomizationEnabled,"aria-label":d.$t(`maestro.option.scenario.${r}`),tabindex:d.scenarioCustomizationEnabled?0:-1,onClick:e=>d.scenarioCustomizationEnabled&&(d.scenario=r),onKeydown:[c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`enter`]),c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`space`])]},[e(`div`,ht,[e(`img`,{src:d.MAESTRO_SCENARIO_THUMBNAILS[r],alt:d.$t(`maestro.option.scenario.${r}`),loading:`lazy`},null,8,gt)]),e(`p`,_t,i(d.$t(`maestro.option.scenario.${r}`)),1)],42,mt))),128))],10,pt),d.needsVideoUpload?(v(),m(w,{key:0,title:d.$t(`maestro.message.captionsNeedVideo`),type:`warning`,closable:!1,"show-icon":``,class:`mt-2`},null,8,[`title`])):o(``,!0)]),e(`div`,vt,[e(`div`,yt,[e(`div`,bt,[e(`h2`,xt,i(d.$t(`maestro.name.customizeStyle`)),1),a(E,{content:d.$t(`maestro.description.style`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.styleCustomizationEnabled,"onUpdate:modelValue":f[6]||=e=>d.styleCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeStyle`)},null,8,[`modelValue`,`aria-label`])]),a(k,{modelValue:d.style,"onUpdate:modelValue":f[7]||=e=>d.style=e,class:`w-full`,filterable:``,"allow-create":``,"default-first-option":``,disabled:!d.styleCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeStyle`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(v(!0),s(l,null,_(d.MAESTRO_ALLOWED_STYLES,e=>(v(),m(O,{key:e,label:d.$t(`maestro.option.style.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`])]),e(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(d.$t(`maestro.name.customizeVoice`)),1),a(E,{content:d.$t(`maestro.description.voice`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.voiceCustomizationEnabled,"onUpdate:modelValue":f[8]||=e=>d.voiceCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeVoice`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,Et,[a(k,{modelValue:d.voice,"onUpdate:modelValue":f[9]||=e=>d.voice=e,class:`voice-select`,disabled:!d.voiceCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeVoice`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(v(!0),s(l,null,_(d.MAESTRO_ALLOWED_VOICES,e=>(v(),m(O,{key:e.key,label:d.$t(`maestro.option.voice.${e.key}`),value:e.key},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`]),a(C,{class:`voice-play`,disabled:!d.voiceCustomizationEnabled||!d.currentSample,title:d.$t(`maestro.button.preview`),onClick:d.onToggleSample},{default:h(()=>[a(S,{icon:d.playing?`fa-solid fa-pause`:`fa-solid fa-play`},null,8,[`icon`])]),_:1},8,[`disabled`,`title`,`onClick`])])])]),e(`div`,Dt,[a(C,{type:`primary`,class:`btn w-full`,round:``,disabled:!d.canGenerate,onClick:d.onGenerate},{default:h(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(d.$t(`maestro.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var kt=z(Fe,[[`render`,Ot],[`__scopeId`,`data-v-0e7c2918`]]),At=50,jt=1e4,Y=new Map,X=new Map,Mt=(e,t)=>{if(Y.set(e,t),Y.size>At){let e=Y.keys().next().value;e&&Y.delete(e)}};async function Nt(e,t){let n=`${t.credentialKey}:${e}`,r=Y.get(n);if(r)return r;let i=X.get(n);if(i)return i.promise;let a=new AbortController,o,s={controller:a,promise:void 0},c=U.task(e,{token:t.token,signal:a.signal}).then(({data:e})=>{if(!a.signal.aborted)return Mt(n,e),e}).catch(t=>{a.signal.aborted||console.warn(`failed to load maestro remix reference task`,e,t)}),l=new Promise(e=>{o=window.setTimeout(()=>{a.abort(),e(void 0)},jt)});return s.promise=Promise.race([c,l]).finally(()=>{o!==void 0&&window.clearTimeout(o),X.get(n)===s&&X.delete(n)}),X.set(n,s),s.promise}var Z=[`plan`,`source`,`voice`,`compose`,`render`,`deliver`];function Q(e){if(!e)return-1;let t=e.toLowerCase(),n=Z.indexOf(t);return n>=0?n:/plan|storyboard|script|brief/.test(t)?0:/source|search|image|photo|asset|media/.test(t)?1:/voice|tts|audio|narrat/.test(t)?2:/compose|composit|build|layout|scene/.test(t)?3:/render|encode/.test(t)?4:/deliver|upload|cdn|complete|done|finish/.test(t)?5:-1}var Pt=b({name:`ProgressSteps`,components:{ElIcon:C,Loading:x,Check:S},props:{modelValue:{type:Object,required:!0}},computed:{currentIndex(){let e=this.modelValue?.response?.data?.progress||[],t=-1;for(let n of e)t=Math.max(t,Q(n?.stage));return t=Math.max(t,Q(this.modelValue?.response?.data?.stage)),Math.max(t,0)},detail(){let e=this.modelValue?.response?.data;if(e?.activity)return e.activity;let t=e?.progress||[];for(let e=t.length-1;e>=0;e--)if(t[e]?.message)return t[e]?.message},steps(){return Z.map(e=>({key:e}))}},methods:{stateOf(e){let t=this.currentIndex;return e<t?`done`:e===t?`active`:`pending`}}}),Ft={class:`progress-steps`,"aria-live":`polite`},It=[`aria-current`],Lt={class:`ico`},Rt={class:`txt`},zt={key:0,class:`detail`};function Bt(t,r,c,d,f,p){let g=u(`loading`),y=u(`el-icon`),b=u(`check`);return v(),s(`div`,Ft,[(v(!0),s(l,null,_(t.steps,(r,c)=>(v(),s(`div`,{key:r.key,class:n([`step`,t.stateOf(c)]),"aria-current":c===t.currentIndex?`step`:void 0},[e(`span`,Lt,[c===t.currentIndex?(v(),m(y,{key:0,class:`is-loading`,"aria-label":t.$t(`maestro.step.${r.key}`)},{default:h(()=>[a(g)]),_:1},8,[`aria-label`])):c<t.currentIndex?(v(),m(y,{key:1},{default:h(()=>[a(b)]),_:1})):o(``,!0)]),e(`span`,Rt,i(t.$t(`maestro.step.${r.key}`)),1)],10,It))),128)),t.detail?(v(),s(`p`,zt,i(t.detail),1)):o(``,!0)])}var Vt=z(Pt,[[`render`,Bt],[`__scopeId`,`data-v-86e2e559`]]),Ht=[`succeeded`,`failed`],Ut=[1e3,3e3],Wt=b({name:`TaskPreview`,components:{CopyToClipboard:q,FontAwesomeIcon:K,ElAlert:D,VideoPlayer:me,ElButton:H,ApiCodeButton:he,ImagePreview:ce,AudioPreview:ye,VideoPreview:ve,FilePreview:se,ProgressSteps:Vt},props:{modelValue:{type:Object,required:!0}},data(){return{fetchedReferenceTask:void 0,fetchedReferenceKey:void 0,referenceLoadAttempt:0,referenceLoadFailed:!1,referenceLoadTimer:void 0,referenceLoadVersion:0}},computed:{variants(){return this.modelValue?.response?.data?.variants||[]},files(){let e=[...this.modelValue?.request?.file_urls||[]];if(this.referenceTaskId)for(let t of this.referenceTask?.response?.data?.variants||[])t.output_url&&e.push(t.output_url);return[...new Set(e)].filter(e=>!!e).map(e=>{let t=e.split(`?`)[0].split(`#`)[0],n=W(t)?`image`:L(t)?`video`:ae(t)?`audio`:`file`;return{url:e,name:this.fileName(t),kind:n}})},referenceTaskId(){let e=this.modelValue?.request;return e?.action===`remix`?e?.ref_task_id:void 0},referenceLoadKey(){let e=this.$store.state.maestro?.credential,t=e?.token;if(!(!this.referenceTaskId||!t))return JSON.stringify([this.referenceTaskId,e?.id||e?.user_id||t,t])},referenceTask(){if(this.referenceTaskId)return this.$store.state.maestro?.tasks?.items?.find(e=>e.id===this.referenceTaskId)||(this.fetchedReferenceKey===this.referenceLoadKey?this.fetchedReferenceTask:void 0)},isTerminal(){return Ht.includes(this.modelValue?.status||``)},traceId(){return this.modelValue?.trace_id||this.modelValue?.response?.trace_id},progressPct(){let e=this.modelValue?.response?.data?.progress,t=e?.length?e[e.length-1]:void 0;return typeof t?.pct==`number`?t.pct:void 0},progressText(){return this.progressPct===void 0?this.statusLabel:`${this.progressPct}%`},statusLabel(){let e=`maestro.status.${this.modelValue?.status||`pending`}`,t=this.$t(e);return t===e?this.$t(`maestro.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message},requestParams(){let e=this.modelValue?.request;if(!e)return[];let t=[];return e.action&&t.push({icon:`fa-solid fa-wand-magic-sparkles`,label:this.$t(`maestro.name.mode`),value:this.optionLabel(`maestro.option.action`,e.action)}),e.scenario&&t.push({icon:`fa-solid fa-clapperboard`,label:this.$t(`maestro.name.scenario`),value:this.optionLabel(`maestro.option.scenario`,e.scenario)}),e.style&&t.push({icon:`fa-solid fa-palette`,label:this.$t(`maestro.name.style`),value:this.optionLabel(`maestro.option.style`,e.style)}),e.quality&&t.push({icon:`fa-solid fa-gauge-high`,label:this.$t(`maestro.name.quality`),value:this.optionLabel(`maestro.option.quality`,e.quality)}),e.aspect&&t.push({icon:`fa-solid fa-expand`,label:this.$t(`maestro.name.aspect`),value:e.aspect}),e.duration&&t.push({icon:`fa-solid fa-clock`,label:this.$t(`maestro.name.duration`),value:`${e.duration}s`}),e.langs?.length&&t.push({icon:`fa-solid fa-language`,label:this.$t(`maestro.name.langs`),value:e.langs.join(` · `)}),t}},watch:{referenceLoadKey:{immediate:!0,handler(e){this.resetReferenceLoad(),e&&!this.referenceTask&&this.loadReferenceTask(e)}}},beforeUnmount(){this.resetReferenceLoad()},methods:{resetReferenceLoad(){this.referenceLoadTimer!==void 0&&window.clearTimeout(this.referenceLoadTimer),this.referenceLoadTimer=void 0,this.referenceLoadVersion+=1,this.referenceLoadAttempt=0,this.referenceLoadFailed=!1,this.fetchedReferenceTask=void 0,this.fetchedReferenceKey=void 0},async loadReferenceTask(e){if(e!==this.referenceLoadKey||this.referenceTask)return;let t=this.$store.state.maestro?.credential,n=t?.token,r=this.referenceTaskId;if(!r||!n)return;let i=t?.id||t?.user_id||n,a=this.referenceLoadVersion;this.referenceLoadAttempt+=1;let o=await Nt(r,{token:n,credentialKey:i});if(a!==this.referenceLoadVersion||e!==this.referenceLoadKey)return;if(o){this.fetchedReferenceTask=o,this.fetchedReferenceKey=e,this.referenceLoadFailed=!1;return}let s=Ut[this.referenceLoadAttempt-1];s===void 0?this.referenceLoadFailed=!0:this.referenceLoadTimer=window.setTimeout(()=>{this.referenceLoadTimer=void 0,this.loadReferenceTask(e)},s)},retryReferenceTask(){let e=this.referenceLoadKey;this.resetReferenceLoad(),e&&this.loadReferenceTask(e)},optionLabel(e,t){let n=`${e}.${t}`,r=this.$t(n);return r===n?t:r},fileName(e){let t=e.substring(e.lastIndexOf(`/`)+1);try{return decodeURIComponent(t)||e}catch{return t||e}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)},onRemix(){if(!this.modelValue)return;let e=xe(this.$store.state.maestro?.config,this.modelValue);this.$store.commit(`maestro/setConfig`,e),R.info(this.$t(`maestro.message.remixLoaded`))}}}),Gt={class:`preview`},Kt={class:`left`},qt={class:`main`},Jt={class:`bot`},Yt={class:`datetime`},Xt={class:`info`},Zt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qt=[`href`,`title`],$t={key:1,class:`reference-load-failed flex items-center gap-1 mt-2 text-xs text-[var(--el-text-color-secondary)]`},en={key:2,class:`prompt mt-2`},tn={key:0,class:`progress-pct`},nn={key:0,class:`content`},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:1,class:`content`},sn={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},cn={key:0},$={class:`operations`},ln={key:0},un={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pn={key:2,class:`content`},mn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function vn(t,c,d,f,p,g){let y=u(`capability-presentation`),b=u(`image-preview`),x=u(`video-preview`),S=u(`audio-preview`),C=u(`file-preview`),w=u(`font-awesome-icon`),T=u(`el-button`),E=u(`progress-steps`),D=u(`copy-to-clipboard`),O=u(`el-alert`),k=u(`video-player`),A=u(`api-code-button`);return v(),s(`div`,Gt,[e(`div`,Kt,[a(y,{capability:`maestro`,part:`avatar`,class:`avatar`})]),e(`div`,qt,[e(`div`,Jt,[a(y,{capability:`maestro`,part:`name`}),e(`span`,Yt,i(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Xt,[t.files.length?(v(),s(`div`,Zt,[(v(!0),s(l,null,_(t.files,(e,t)=>(v(),s(l,{key:t},[e.kind===`image`?(v(),m(b,{key:0,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`])):e.kind===`video`?(v(),m(x,{key:1,url:e.url,name:e.name},null,8,[`url`,`name`])):e.kind===`audio`?(v(),m(S,{key:2,url:e.url,name:e.name},null,8,[`url`,`name`])):(v(),s(`a`,{key:3,href:e.url,title:e.name,target:`_blank`,rel:`noopener noreferrer`,class:`shrink-0 no-underline`},[a(C,{name:e.name,closable:!1},null,8,[`name`])],8,Qt))],64))),128))])):o(``,!0),t.referenceLoadFailed&&t.referenceTaskId&&!t.referenceTask?(v(),s(`div`,$t,[a(w,{icon:`fa-solid fa-circle-info`}),e(`span`,null,i(t.$t(`maestro.name.files`))+`: `+i(t.$t(`maestro.name.failure`)),1),a(T,{class:`reference-retry`,size:`small`,text:``,circle:``,title:t.$t(`codingBridge.session.retry`),"aria-label":t.$t(`codingBridge.session.retry`),onClick:t.retryReferenceTask},{default:h(()=>[a(w,{icon:`fa-solid fa-rotate-right`})]),_:1},8,[`title`,`aria-label`,`onClick`])])):o(``,!0),t.modelValue?.request?.prompt?(v(),s(`p`,en,[r(i(t.modelValue?.request?.prompt)+` `,1),t.isTerminal?o(``,!0):(v(),s(`span`,tn,` · `+i(t.progressText),1))])):o(``,!0)]),t.isTerminal?o(``,!0):(v(),s(`div`,nn,[a(O,{closable:!1,class:`mt-2 processing`},{default:h(()=>[a(E,{"model-value":t.modelValue},null,8,[`model-value`]),(v(!0),s(l,null,_(t.requestParams,(e,t)=>(v(),s(`p`,{key:`param-${t}`,class:n([`text-[var(--el-text-color-regular)] text-xs mb-2`,{"mt-3":t===0}])},[a(w,{icon:e.icon,class:`mr-1`},null,8,[`icon`]),r(` `+i(e.label)+`: `+i(e.value),1)],2))),128)),e(`p`,rn,[a(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(D,{content:t.modelValue?.id},null,8,[`content`])]),t.traceId?(v(),s(`p`,an,[a(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(D,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])),t.modelValue?.response?.success===!0&&t.variants.length?(v(),s(`div`,on,[(v(!0),s(l,null,_(t.variants,(t,n)=>(v(),s(`div`,{key:n,class:`mb-4`},[e(`p`,sn,[a(w,{icon:`fa-solid fa-language`,class:`mr-1`}),r(i(t.lang),1),t.title?(v(),s(`span`,cn,` · `+i(t.title),1)):o(``,!0)]),t.output_url?(v(),m(k,{key:0,src:t.output_url},null,8,[`src`])):o(``,!0)]))),128)),e(`div`,$,[(v(!0),s(l,null,_(t.variants,(e,n)=>(v(),s(l,{key:n},[e.output_url?(v(),m(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>t.onDownload(n,e.output_url)},{default:h(()=>[a(w,{icon:`fa-solid fa-download`,class:`mr-1`}),r(` `+i(t.$t(`maestro.button.download`)),1),t.variants.length>1?(v(),s(`span`,ln,` · `+i(e.lang),1)):o(``,!0)]),_:2},1032,[`onClick`])):o(``,!0)],64))),128)),a(T,{size:`small`,type:`primary`,class:`btn-action`,onClick:t.onRemix},{default:h(()=>[a(w,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),r(` `+i(t.$t(`maestro.button.remix`)),1)]),_:1},8,[`onClick`]),a(A,{path:`/maestro/videos`,body:t.modelValue?.request},null,8,[`body`])]),a(O,{closable:!1,class:`mt-2 success`},{default:h(()=>[(v(!0),s(l,null,_(t.requestParams,(e,t)=>(v(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[a(w,{icon:e.icon,class:`mr-1`},null,8,[`icon`]),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,un,[a(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(D,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(v(),s(`p`,dn,[a(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(v(),s(`p`,fn,[a(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(D,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),t.modelValue?.response?.success===!1?(v(),s(`div`,pn,[a(O,{closable:!1,class:`failure`},{template:h(()=>[a(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.failure`)),1)]),default:h(()=>[(v(!0),s(l,null,_(t.requestParams,(e,t)=>(v(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[a(w,{icon:e.icon,class:`mr-1`},null,8,[`icon`]),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,mn,[a(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(D,{content:t.modelValue?.id},null,8,[`content`])]),t.failureReason?(v(),s(`p`,hn,[a(w,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.failureReason`))+`: `+i(t.failureReason),1)])):o(``,!0),t.modelValue?.elapsed?(v(),s(`p`,gn,[a(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(v(),s(`p`,_n,[a(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(D,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var yn=b({name:`RecentPanel`,components:{TaskPreview:z(Wt,[[`render`,vn],[`__scopeId`,`data-v-abe9fc6c`]]),NoTasks:fe,BotPlaceholder:ge,ScrollList:de},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.maestro?.tasks,items:this.$store.state.maestro?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),bn={key:0},xn={key:2,class:`w-full h-full flex items-center justify-center`};function Sn(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),p=u(`scroll-list`),g=u(`no-tasks`);return v(),s(l,null,[e.tasks?.items===void 0?(v(),s(`div`,bn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(v(),m(p,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(v(!0),s(l,null,_(e.tasks?.items,(e,t)=>(v(),m(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(v(),s(`div`,xn,[a(g)])):o(``,!0)],64)}var Cn=b({name:`MaestroIndex`,components:{ConfigPanel:kt,Layout:Ae,RecentPanel:z(yn,[[`render`,Sn]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.maestro?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.maestro?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.maestro.credential},config(){return this.$store.state.maestro.config},tasks(){return this.$store.state.maestro.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 pe({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(){await this.$store.dispatch(`maestro/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(`maestro/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=we(this.config);if(!G())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}R.info(this.$t(`maestro.message.startingTask`)),oe(`maestro`,U.generate(e,{token:t})).then(()=>{R.success(this.$t(`maestro.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?R.error(this.$t(`maestro.message.usedUp`)):R.error(this.$t(`maestro.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return v(),m(l,null,{config:h(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Tn=z(Cn,[[`render`,wn]]);export{Tn as default};
@@ -0,0 +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,ht as c,it as l,j as u,mt as d,rt as f,tt as p,x as m,z as h}from"./vendor-chart-Dw-P17PN.js";import{r as g,t as _}from"./select-Dl8tgFjL.js";import{t as v}from"./upload-gI1Lxhu7.js";import{t as y}from"./alert--fOgAzyp.js";import{n as b,r as x}from"./radio-Bj0tEwH8.js";import{t as S}from"./drawer-CZMqTsUy.js";import{t as C}from"./progress-BfXLGwWW.js";import{Cr as w,_r as T,br as E,gr as ee,hr as te,mr as D}from"./constants-DWe-ziJf.js";import{Ii as O,Ir as k,J as A,Si as j,Ti as ne,Xi as M,aa as N,ar as P,fn as F,xn as I}from"./index-DHGr0qfr.js";import{t as L}from"./index.es-J-PBjzcR.js";import{t as R}from"./CopyToClipboard-BovNTELl.js";import{n as z}from"./taskDrawerMixin-DyAUhFEq.js";import{t as B}from"./Consumption-DoSnOpCh.js";import{a as V,n as H,r as U,t as W}from"./pagination-ChSSHmgO.js";import{t as G}from"./VideoPlayer-DG7NZuWz.js";import{t as K}from"./ApiCodeButton-B4AbprcE.js";import{t as q}from"./BotPlaceholder-ClF3L6UZ.js";var J=h({name:`LayoutDigitalHuman`,components:{ElDrawer:S,ElButton:M,FontAwesomeIcon:L},mixins:[z]}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,u,f){let h=s(`font-awesome-icon`),g=s(`el-button`),_=s(`el-drawer`);return p(),a(`div`,Y,[e(`div`,X,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,Z,[l(t.$slots,`result`,{},void 0,!0)]),c(r(g,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[r(h,{icon:`fa-solid fa-user`})]),_:1},512),[[m,!t.tasksEmpty]]),r(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=A(J,[[`render`,re],[`__scopeId`,`data-v-b03e40b3`]]),ae=h({name:`DigitalHumanFileInput`,components:{ElUpload:v,ElButton:M,FontAwesomeIcon:L},props:{accept:{type:String,default:``},buttonText:{type:String,default:``},icon:{type:String,default:`fa-solid fa-upload`}},emits:[`change`],data(){return{fileList:[],uploadUrl:ne()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}}},methods:{onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){O.error(this.$t(`digitalhuman.message.uploadError`))},onChange(){let e=this.fileList?.[0]?.response?.file_url;this.$emit(`change`,e)}}});function oe(e,i,o,c,l,u){let f=s(`font-awesome-icon`),m=s(`el-button`),h=s(`el-upload`);return p(),a(`div`,null,[r(h,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":i[0]||=t=>e.fileList=t,accept:e.accept,name:`file`,class:`w-full`,limit:1,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:d(()=>[r(m,{size:`small`,round:``},{default:d(()=>[r(f,{icon:e.icon,class:`mr-1`},null,8,[`icon`]),t(` `+n(e.buttonText),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Q=A(ae,[[`render`,oe]]),se=3e3,ce=60,le=h({name:`VoiceClone`,components:{ElButton:M,ElSelect:g,ElOption:_,ElAlert:y,FileInput:Q,FontAwesomeIcon:L},data(){return{sampleUrl:void 0,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_ALLOWED_LANGS:te,DIGITALHUMAN_AUDIO_ACCEPT:T}},computed:{credentialToken(){return this.$store.state.digitalhuman?.credential?.token},voiceId(){return this.$store.state.digitalhuman?.config?.voice_id}},watch:{lang(){this.invalidate()}},beforeUnmount(){this.destroyed=!0,this.runId++},methods:{onSampleChange(e){this.sampleUrl=e,this.invalidate()},invalidate(){this.runId++,this.cloning=!1,this.voiceId&&this.setVoiceId(void 0)},isStale(e){return this.destroyed||e!==this.runId},setVoiceId(e){this.$store.commit(`digitalhuman/setConfig`,{...this.$store.state.digitalhuman?.config,voice_id:e})},sleep(e){return new Promise(t=>setTimeout(t,e))},async onClone(){let e=this.credentialToken;if(!this.sampleUrl||!e)return;let t=++this.runId;this.cloning=!0,this.setVoiceId(void 0);try{let{data:n}=await P.cloneVoice({audio_url:this.sampleUrl,lang:this.lang},{token:e});if(this.isStale(t))return;if(n?.voice_id){this.onCloned(n.voice_id);return}if(n?.task_id)await this.pollVoice(n.task_id,e,t);else throw Error(`no task`)}catch{this.isStale(t)||O.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t,n){for(let r=0;r<ce;r++){if(this.isStale(n)||(await this.sleep(se),this.isStale(n)))return;let{data:r}=await P.pollTask(e,{token:t});if(this.isStale(n))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},onCloned(e){this.setVoiceId(e),O.success(this.$t(`digitalhuman.message.voiceCloneSuccess`))}}}),ue={class:`voice-clone`},de={class:`text-xs text-[var(--el-text-color-secondary)] mb-2`},fe={class:`flex flex-row items-center gap-2 mb-2`},pe={class:`text-xs mb-0`};function me(c,l,m,h,g,_){let v=s(`file-input`),y=s(`el-option`),b=s(`el-select`),x=s(`font-awesome-icon`),S=s(`el-button`),C=s(`el-alert`);return p(),a(`div`,ue,[e(`p`,de,n(c.$t(`digitalhuman.description.voiceClone`)),1),e(`div`,fe,[r(v,{accept:c.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":c.$t(`digitalhuman.button.uploadSample`),icon:`fa-solid fa-microphone`,onChange:c.onSampleChange},null,8,[`accept`,`button-text`,`onChange`]),r(b,{modelValue:c.lang,"onUpdate:modelValue":l[0]||=e=>c.lang=e,size:`small`,class:`!w-[90px]`},{default:d(()=>[(p(!0),a(o,null,f(c.DIGITALHUMAN_ALLOWED_LANGS,e=>(p(),u(y,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),r(S,{size:`small`,type:`primary`,round:``,loading:c.cloning,disabled:!c.sampleUrl||c.cloning,onClick:c.onClone},{default:d(()=>[r(x,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),t(` `+n(c.cloning?c.$t(`digitalhuman.button.cloning`):c.$t(`digitalhuman.button.clone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),c.voiceId?(p(),u(C,{key:0,closable:!1,type:`success`,class:`mt-2`},{default:d(()=>[e(`p`,pe,[r(x,{icon:`fa-solid fa-check`,class:`mr-1`}),t(` `+n(c.$t(`digitalhuman.name.voiceReady`))+`: `+n(c.voiceId),1)])]),_:1})):i(``,!0)])}var he=h({name:`ConfigPanel`,components:{ElButton:M,ElInput:N,ElRadioGroup:x,ElRadioButton:b,Consumption:B,InfoIcon:V,FileInput:Q,VoiceClone:A(le,[[`render`,me]]),FontAwesomeIcon:L},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`audio`,DIGITALHUMAN_ALLOWED_ENGINES:D,DIGITALHUMAN_ALLOWED_RESOLUTIONS:ee,DIGITALHUMAN_VIDEO_ACCEPT:w,DIGITALHUMAN_IMAGE_ACCEPT:E,DIGITALHUMAN_AUDIO_ACCEPT:T}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return F(this.config,this.service?.cost)},canGenerate(){let e=this.faceMode===`video`?!!this.config?.video_url:!!this.config?.image_url,t=this.voiceMode===`audio`?!!this.config?.audio_url:!!this.config?.text?.trim()&&!!this.config?.voice_id;return e&&t},text:{get(){return this.config?.text},set(e){this.update({text:e})}},engine:{get(){return this.config?.engine},set(e){this.update({engine:e})}},resolution:{get(){return this.config?.resolution},set(e){this.update({resolution:e})}}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),(this.config?.text||this.config?.voice_id)&&(this.voiceMode=`text`),this.update({engine:this.config?.engine??`latentsync`,resolution:this.config?.resolution??`720p`})},methods:{update(e){this.$store.commit(`digitalhuman/setConfig`,{...this.config,...e})},onFaceModeChange(e){this.update(e===`video`?{image_url:void 0}:{video_url:void 0})},onVoiceModeChange(e){this.update(e===`audio`?{text:void 0,voice_id:void 0}:{audio_url:void 0})},onFaceVideoChange(e){this.update({video_url:e})},onFacePhotoChange(e){this.update({image_url:e})},onAudioChange(e){this.update({audio_url:e})},onGenerate(){let e=this.config||{},t={engine:e.engine,resolution:e.resolution};this.faceMode===`video`?t.video_url=e.video_url:t.image_url=e.image_url,this.voiceMode===`audio`?t.audio_url=e.audio_url:(t.text=e.text,t.voice_id=e.voice_id),this.$emit(`generate`,t)}}}),ge={class:`flex flex-col h-full`},_e={class:`flex-1 overflow-y-auto p-5`},ve={class:`field-block mb-5`},ye={class:`field-head`},be={class:`field-title font-bold`},xe={class:`field-block mb-5`},Se={class:`field-head`},Ce={class:`field-title font-bold`},we={class:`field-block mb-5`},Te={class:`field-head`},Ee={class:`field-title font-bold`},De={class:`field-block`},Oe={class:`field-head`},ke={class:`field-title font-bold`},Ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function je(i,c,l,m,h,g){let _=s(`info-icon`),v=s(`el-radio-button`),y=s(`el-radio-group`),b=s(`file-input`),x=s(`el-input`),S=s(`voice-clone`),C=s(`consumption`),w=s(`font-awesome-icon`),T=s(`el-button`);return p(),a(`div`,ge,[e(`div`,_e,[e(`div`,ve,[e(`div`,ye,[e(`h2`,be,n(i.$t(`digitalhuman.name.face`)),1),r(_,{content:i.$t(`digitalhuman.description.face`),class:`ml-1`},null,8,[`content`])]),r(y,{modelValue:i.faceMode,"onUpdate:modelValue":c[0]||=e=>i.faceMode=e,class:`w-full mb-2`,onChange:i.onFaceModeChange},{default:d(()=>[r(v,{value:`video`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.faceVideo`)),1)]),_:1}),r(v,{value:`photo`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.facePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.faceMode===`video`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadVideo`),icon:`fa-solid fa-film`,onChange:i.onFaceVideoChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),u(b,{key:1,accept:i.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadPhoto`),icon:`fa-solid fa-image`,onChange:i.onFacePhotoChange},null,8,[`accept`,`button-text`,`onChange`]))]),e(`div`,xe,[e(`div`,Se,[e(`h2`,Ce,n(i.$t(`digitalhuman.name.voice`)),1)]),r(y,{modelValue:i.voiceMode,"onUpdate:modelValue":c[1]||=e=>i.voiceMode=e,class:`w-full mb-2`,onChange:i.onVoiceModeChange},{default:d(()=>[r(v,{value:`audio`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceAudio`)),1)]),_:1}),r(v,{value:`text`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceText`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.voiceMode===`audio`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadAudio`),icon:`fa-solid fa-music`,onChange:i.onAudioChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),a(o,{key:1},[r(x,{modelValue:i.text,"onUpdate:modelValue":c[2]||=e=>i.text=e,type:`textarea`,rows:4,placeholder:i.$t(`digitalhuman.placeholder.text`),class:`mb-2`},null,8,[`modelValue`,`placeholder`]),r(S)],64))]),e(`div`,we,[e(`div`,Te,[e(`h2`,Ee,n(i.$t(`digitalhuman.name.engine`)),1)]),r(y,{modelValue:i.engine,"onUpdate:modelValue":c[3]||=e=>i.engine=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_ENGINES,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,De,[e(`div`,Oe,[e(`h2`,ke,n(i.$t(`digitalhuman.name.resolution`)),1)]),r(y,{modelValue:i.resolution,"onUpdate:modelValue":c[4]||=e=>i.resolution=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_RESOLUTIONS,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])])]),e(`div`,Ae,[r(C,{value:i.consumption,service:i.service},null,8,[`value`,`service`]),r(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!i.canGenerate,onClick:i.onGenerate},{default:d(()=>[r(w,{icon:`fa-solid fa-user`,class:`mr-2`}),t(` `+n(i.$t(`digitalhuman.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Me=A(he,[[`render`,je],[`__scopeId`,`data-v-0908bd0e`]]),Ne=h({name:`TaskPreview`,components:{CopyToClipboard:R,FontAwesomeIcon:L,ElAlert:y,ElProgress:C,VideoPlayer:G,ElButton:M,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},computed:{status(){return this.modelValue?.status||this.modelValue?.response?.state||`pending`},isSuccess(){return[`succeed`,`succeeded`].includes(this.status)||!!this.modelValue?.response?.video_url},isFailure(){return[`failed`,`dead`].includes(this.status)||this.modelValue?.response?.success===!1},isTerminal(){return this.isSuccess||this.isFailure},videoUrl(){return this.modelValue?.response?.video_url},progressPct(){let e=this.modelValue?.response?.progress;return typeof e==`number`?e:0},voiceLabel(){return this.modelValue?.request?.audio_url?this.$t(`digitalhuman.name.audioDriven`):this.$t(`digitalhuman.name.textDriven`)},faceLabel(){return this.modelValue?.request?.image_url?this.$t(`digitalhuman.name.facePhoto`):this.$t(`digitalhuman.name.faceVideo`)},faceIcon(){return this.modelValue?.request?.image_url?`fa-solid fa-image`:`fa-solid fa-film`},engineLabel(){return this.modelValue?.request?.engine||this.modelValue?.response?.engine||`latentsync`},statusLabel(){let e=`digitalhuman.status.${this.status}`,t=this.$t(e);return t===e?this.$t(`digitalhuman.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message}},methods:{onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),Pe={class:`preview`},Fe={class:`left`},Ie={class:`main`},Le={class:`bot`},Re={class:`datetime`},ze={class:`info`},Be={key:0,class:`prompt mt-2`},Ve={key:0},He={key:1,class:`prompt mt-2`},Ue={key:0},We={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},Ge={class:`ml-2`},Ke={key:0,class:`content`},qe={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},Je={key:1,class:`content`},$={class:`operations mt-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ze={key:2,class:`content`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function et(o,c,l,f,m,h){let g=s(`capability-presentation`),_=s(`font-awesome-icon`),v=s(`el-progress`),y=s(`video-player`),b=s(`el-button`),x=s(`api-code-button`),S=s(`copy-to-clipboard`),C=s(`el-alert`);return p(),a(`div`,Pe,[e(`div`,Fe,[r(g,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,Ie,[e(`div`,Le,[r(g,{capability:`digitalhuman`,part:`name`}),e(`span`,Re,n(o.$dayjs.format(``+new Date(parseFloat((o.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,ze,[o.modelValue?.request?.text?(p(),a(`p`,Be,[t(n(o.modelValue?.request?.text)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,Ve,` - (`+n(o.statusLabel)+`) `,1))])):(p(),a(`p`,He,[t(n(o.voiceLabel)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,Ue,` - (`+n(o.statusLabel)+`) `,1))])),e(`p`,We,[r(_,{icon:o.faceIcon,class:`mr-1`},null,8,[`icon`]),t(n(o.faceLabel)+` `,1),e(`span`,Ge,[r(_,{icon:`fa-solid fa-sliders`,class:`mr-1`}),t(n(o.engineLabel),1)])])]),o.isTerminal?i(``,!0):(p(),a(`div`,Ke,[e(`p`,qe,n(o.statusLabel),1),r(v,{percentage:o.progressPct,"stroke-width":6},null,8,[`percentage`])])),o.isSuccess?(p(),a(`div`,Je,[o.videoUrl?(p(),u(y,{key:0,src:o.videoUrl},null,8,[`src`])):i(``,!0),e(`div`,$,[o.videoUrl?(p(),u(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=e=>o.onDownload(e,o.videoUrl)},{default:d(()=>[t(n(o.$t(`digitalhuman.button.download`)),1)]),_:1})):i(``,!0),r(x,{path:`/digital-human/videos`,body:o.modelValue?.request},null,8,[`body`])]),r(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[e(`p`,Ye,[r(_,{icon:`fa-solid fa-user`,class:`mr-1`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(S,{content:o.modelValue?.id},null,8,[`content`])]),o.modelValue?.elapsed?(p(),a(`p`,Xe,[r(_,{icon:`fa-solid fa-clock`,class:`mr-1`}),t(` `+n(o.$t(`digitalhuman.name.elapsed`))+`: `+n(o.modelValue?.elapsed?.toFixed(2))+`s `,1)])):i(``,!0)]),_:1})])):i(``,!0),o.isFailure?(p(),a(`div`,Ze,[r(C,{closable:!1,class:`failure`},{template:d(()=>[r(_,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),t(` `+n(o.$t(`digitalhuman.name.failure`)),1)]),default:d(()=>[e(`p`,Qe,[r(_,{icon:`fa-solid fa-user`,class:`mr-1`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(S,{content:o.modelValue?.id},null,8,[`content`])]),o.failureReason?(p(),a(`p`,$e,[r(_,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),t(` `+n(o.$t(`digitalhuman.name.failureReason`))+`: `+n(o.failureReason),1)])):i(``,!0)]),_:1})])):i(``,!0)])])}var tt=h({name:`RecentPanel`,components:{TaskPreview:A(Ne,[[`render`,et],[`__scopeId`,`data-v-93b67a57`]]),NoTasks:U,BotPlaceholder:q,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.digitalhuman?.tasks,items:this.$store.state.digitalhuman?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nt={key:0},rt={key:2,class:`w-full h-full flex items-center justify-center`};function it(e,t,n,c,l,m){let h=s(`bot-placeholder`),g=s(`task-preview`),_=s(`scroll-list`),v=s(`no-tasks`);return p(),a(o,null,[e.tasks?.items===void 0?(p(),a(`div`,nt,[r(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),a(o,null,f(e.tasks?.items,(e,t)=>(p(),u(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):i(``,!0),e.tasks?.items?.length===0?(p(),a(`div`,rt,[r(v)])):i(``,!0)],64)}var at=h({name:`DigitalHumanIndex`,components:{ConfigPanel:Me,Layout:ie,RecentPanel:A(tt,[[`render`,it]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks}},watch:{initialized:{async handler(e){window.clearInterval(this.job),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 W({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(){await this.$store.dispatch(`digitalhuman/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(`digitalhuman/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!I())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`digitalhuman.message.startingTask`)),k(`digitalhuman`,P.generate(e,{token:t})).then(()=>{O.success(this.$t(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`digitalhuman.message.usedUp`)):O.error(this.$t(`digitalhuman.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ot(e,t,n,i,a,o){let c=s(`config-panel`),l=s(`recent-panel`),f=s(`layout`);return p(),u(f,null,{config:d(()=>[r(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[r(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var st=A(at,[[`render`,ot]]);export{st as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{at as p,it as m,nt as ee,rt as h}from"./constants-DWe-ziJf.js";import{D as te,J as g,M as _,O as v,V as y,Xi as b,a as x,c as S,d as C,rn as w}from"./index-DHGr0qfr.js";import{t as T}from"./index.es-J-PBjzcR.js";var E=f({name:`DownloadIndex`,components:{ElButton:b,QrCode:w,FontAwesomeIcon:T},data(){return{faAndroid:te,faApple:v,faGooglePlay:_,faWindows:y,faDownload:C,faCircleInfo:S,faArrowLeft:x}},computed:{brandTitle(){return this.$store.state.site?.title||`AceData`},brandLogo(){return this.$store.state.site?.logo||`/assets/logo-CDy94G52.png`},androidDownloadUrl(){return h},hasAndroidDownload(){return!!h},playStoreUrl(){return m},hasPlayStore(){return!!m},appStoreUrl(){return p},hasAppStore(){return!!p},iosDownloadUrl(){return``},iosFallbackUrl(){return``},hasIosDownload(){return!1},hasIos(){return this.hasAppStore||this.hasIosDownload},desktopReleasesUrl(){return ee}},methods:{goBack(){window.history.length>1?this.$router.back():this.$router.push(`/`)},openSupport(){window.open(`https://platform.acedata.cloud/support`,`_blank`)}}}),D={class:`download-page`},O={class:`download-page__inner`},k={class:`hero`},A={class:`hero__brand`},j=[`src`,`alt`],M={class:`hero__eyebrow`},N={class:`hero__title`},P={class:`hero__subtitle`},F={class:`hero__badges`},I={class:`badge badge--live`},L={class:`badge`},R={class:`hero__actions`},z={class:`platforms`},B={class:`platform platform--android`},V={class:`platform__head`},H={class:`platform__os`},U={class:`chip chip--live`},W={class:`platform__title`},G={class:`platform__text`},K={key:0,class:`qr`},q={class:`qr__hint`},J={class:`platform__foot platform__foot--stack`},Y={key:0,class:`platform__fallback`},X={class:`platform__meta`},Z={class:`platform__meta`},Q={class:`platform platform--ios`},ne={class:`platform__head`},re={class:`platform__os`},ie={class:`platform__title`},ae={class:`platform__text`},oe={key:0,class:`qr`},se={class:`qr__hint`},ce={key:1,class:`platform__foot platform__foot--stack`},le={class:`btn-row`},ue={class:`platform__meta`},de={class:`ios-soon`},fe={class:`ios-soon__text`},pe={class:`platform__foot platform__foot--stack`},me={class:`platform platform--windows`},he={class:`platform__head`},ge={class:`platform__os`},_e={class:`platform__title`},ve={class:`platform__text`},ye={class:`platform__foot platform__foot--stack`},be={class:`platform platform--mac`},xe={class:`platform__head`},Se={class:`platform__os`},Ce={class:`platform__title`},we={class:`platform__text`},Te={class:`platform__foot platform__foot--stack`},Ee={class:`advantages`},De={class:`advantage`},$={class:`advantage__title`},Oe={class:`advantage__text`},ke={class:`advantage`},Ae={class:`advantage__title`},je={class:`advantage__text`},Me={class:`advantage`},Ne={class:`advantage__title`},Pe={class:`advantage__text`},Fe={key:0,class:`note`},Ie={class:`note__text`},Le={class:`note`},Re={class:`note__text`};function ze(f,p,m,ee,h,te){let g=c(`font-awesome-icon`),_=c(`el-button`),v=c(`qr-code`);return d(),o(`div`,D,[p[15]||=e(`div`,{class:`download-page__glow`,"aria-hidden":`true`},null,-1),e(`div`,O,[e(`button`,{type:`button`,class:`download-back`,onClick:p[0]||=(...e)=>f.goBack&&f.goBack(...e)},[i(g,{icon:f.faArrowLeft,class:`download-back__icon`},null,8,[`icon`]),e(`span`,null,r(f.$t(`common.button.goBack`)),1)]),e(`header`,k,[e(`span`,A,[e(`img`,{src:f.brandLogo,alt:f.brandTitle,class:`hero__logo`},null,8,j)]),e(`p`,M,r(f.brandTitle)+` · `+r(f.$t(`common.nav.mobileApp`)),1),e(`h1`,N,r(f.$t(`common.title.mobileApp`)),1),e(`p`,P,r(f.$t(`common.message.mobileAppDescription`)),1),e(`div`,F,[e(`span`,I,[p[1]||=e(`span`,{class:`badge__dot`},null,-1),n(r(f.$t(`common.message.mobileAvailableNow`)),1)]),e(`span`,L,r(f.$t(`common.message.mobileSharedAccount`)),1)]),e(`div`,R,[f.hasPlayStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.playStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):f.hasAndroidDownload?(d(),l(_,{key:1,type:`primary`,round:``,size:`large`,tag:`a`,href:f.androidDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faAndroid,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasAppStore?(d(),l(_,{key:2,round:``,size:`large`,tag:`a`,href:f.appStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):a(``,!0),i(_,{round:``,size:`large`,class:`btn-ghost`,onClick:f.openSupport},{default:u(()=>[n(r(f.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])]),e(`section`,z,[e(`article`,B,[e(`div`,V,[e(`span`,H,[i(g,{icon:f.faAndroid,class:`platform__os-icon`},null,8,[`icon`]),p[2]||=n(` Android `,-1)]),e(`span`,U,[p[3]||=e(`span`,{class:`chip__dot`},null,-1),n(r(f.$t(`common.message.mobileAvailableNow`)),1)])]),e(`h2`,W,r(f.$t(`common.button.downloadAndroid`)),1),e(`p`,G,r(f.$t(`common.message.mobileAndroidHint`)),1),f.hasPlayStore||f.hasAndroidDownload?(d(),o(`div`,K,[i(v,{value:f.hasPlayStore?f.playStoreUrl:f.androidDownloadUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,q,r(f.hasPlayStore?f.$t(`common.message.mobilePlayStoreHint`):f.$t(`common.message.mobileSecureDelivery`)),1)])):a(``,!0),e(`div`,J,[f.hasPlayStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.playStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasAndroidDownload?(d(),o(s,{key:1},[f.hasPlayStore?(d(),o(`div`,Y,[i(_,{round:``,tag:`a`,href:f.androidDownloadUrl,target:`_blank`,class:`btn-ghost`},{default:u(()=>[i(g,{icon:f.faDownload,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,X,r(f.$t(`common.message.mobileApkFallback`)),1)])):(d(),o(s,{key:1},[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.androidDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faDownload,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,Z,r(f.$t(`common.message.mobileDirectInstall`)),1)],64))],64)):a(``,!0)])]),e(`article`,Q,[e(`div`,ne,[e(`span`,re,[i(g,{icon:f.faApple,class:`platform__os-icon`},null,8,[`icon`]),p[4]||=n(` iOS `,-1)]),e(`span`,{class:t([`chip`,f.hasIos?`chip--live`:`chip--pending`])},[p[5]||=e(`span`,{class:`chip__dot`},null,-1),n(` `+r(f.hasIos?f.$t(`common.message.mobileNowOnAppStore`):f.$t(`common.message.mobileComingSoon`)),1)],2)]),e(`h2`,ie,r(f.$t(`common.button.downloadIos`)),1),e(`p`,ae,r(f.hasIos?f.$t(`common.message.mobileIosHint`):f.$t(`common.message.mobileIosPending`)),1),f.hasAppStore?(d(),o(`div`,oe,[i(v,{value:f.appStoreUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,se,r(f.$t(`common.message.mobileAppStoreHint`)),1)])):a(``,!0),f.hasIos?(d(),o(`div`,ce,[f.hasAppStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.appStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasIosDownload?(d(),o(s,{key:1},[e(`div`,le,[i(_,{type:f.hasAppStore?`default`:`primary`,round:``,size:f.hasAppStore?`default`:`large`,class:t({"btn-ghost":f.hasAppStore}),tag:`a`,href:f.iosDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.installIos`)),1)]),_:1},8,[`type`,`size`,`class`,`href`]),i(_,{round:``,size:`large`,class:`btn-ghost`,tag:`a`,href:f.iosFallbackUrl,target:`_blank`},{default:u(()=>[n(r(f.$t(`common.button.downloadIos`)),1)]),_:1},8,[`href`])]),e(`span`,ue,r(f.$t(`common.message.mobileInstallNote`)),1)],64)):a(``,!0)])):(d(),o(s,{key:2},[e(`div`,de,[i(g,{icon:f.faApple,class:`ios-soon__icon`},null,8,[`icon`]),e(`p`,fe,r(f.$t(`common.message.mobileComingSoon`)),1)]),e(`div`,pe,[i(_,{round:``,size:`large`,class:`btn-ghost`,onClick:f.openSupport},{default:u(()=>[n(r(f.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])],64))]),e(`article`,me,[e(`div`,he,[e(`span`,ge,[i(g,{icon:f.faWindows,class:`platform__os-icon`},null,8,[`icon`]),p[6]||=n(` Windows `,-1)]),p[7]||=e(`span`,{class:`chip chip--beta`},[e(`span`,{class:`chip__dot`}),n(`Beta `)],-1)]),e(`h2`,_e,r(f.$t(`common.button.downloadWindows`)),1),e(`p`,ve,r(f.$t(`common.message.desktopWindowsHint`)),1),e(`div`,ye,[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.desktopReleasesUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faWindows,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadWindows`)),1)]),_:1},8,[`href`]),p[8]||=e(`span`,{class:`platform__meta`},`Beta`,-1)])]),e(`article`,be,[e(`div`,xe,[e(`span`,Se,[i(g,{icon:f.faApple,class:`platform__os-icon`},null,8,[`icon`]),p[9]||=n(` macOS `,-1)]),p[10]||=e(`span`,{class:`chip chip--beta`},[e(`span`,{class:`chip__dot`}),n(`Beta `)],-1)]),e(`h2`,Ce,r(f.$t(`common.button.downloadMac`)),1),e(`p`,we,r(f.$t(`common.message.desktopMacHint`)),1),e(`div`,Te,[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.desktopReleasesUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadMac`)),1)]),_:1},8,[`href`]),p[11]||=e(`span`,{class:`platform__meta`},`Beta · Apple Silicon & Intel`,-1)])])]),e(`section`,Ee,[e(`article`,De,[p[12]||=e(`span`,{class:`advantage__num`},`01`,-1),e(`h3`,$,r(f.$t(`common.title.mobileFastAccess`)),1),e(`p`,Oe,r(f.$t(`common.message.mobileFastAccess`)),1)]),e(`article`,ke,[p[13]||=e(`span`,{class:`advantage__num`},`02`,-1),e(`h3`,Ae,r(f.$t(`common.title.mobileTrustedRelease`)),1),e(`p`,je,r(f.$t(`common.message.mobileTrustedRelease`)),1)]),e(`article`,Me,[p[14]||=e(`span`,{class:`advantage__num`},`03`,-1),e(`h3`,Ne,r(f.$t(`common.title.mobileUnifiedExperience`)),1),e(`p`,Pe,r(f.$t(`common.message.mobileUnifiedExperience`)),1)])]),f.hasIosDownload?(d(),o(`aside`,Fe,[i(g,{icon:f.faCircleInfo,class:`note__icon`},null,8,[`icon`]),e(`p`,Ie,r(f.$t(`common.message.mobileInstallNote`)),1)])):a(``,!0),e(`aside`,Le,[i(g,{icon:f.faCircleInfo,class:`note__icon`},null,8,[`icon`]),e(`p`,Re,r(f.$t(`common.message.desktopUnsignedNote`)),1)])])])}var Be=g(E,[[`render`,ze],[`__scopeId`,`data-v-ba0c480b`]]);export{Be as default};
@@ -1 +1 @@
1
- .menu[data-v-aa4f020d]{display:none}@media (width<=767px){.config[data-v-aa4f020d]{display:none}.result[data-v-aa4f020d]{width:100%}.menu[data-v-aa4f020d]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.resolution .header[data-v-1f9abe29]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-1f9abe29]{margin:0;font-size:14px}.resolution .header .info[data-v-1f9abe29]{margin-left:6px}.resolution .items[data-v-1f9abe29]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-1f9abe29]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-1f9abe29]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.active[data-v-1f9abe29]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-1c0c1511]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-1c0c1511]{margin:0;font-size:14px}.ratio .header .info[data-v-1c0c1511]{margin-left:6px}.ratio .items[data-v-1c0c1511]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-1c0c1511]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-1c0c1511]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-1c0c1511]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-1c0c1511]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .name[data-v-1c0c1511]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-1c0c1511]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-1c0c1511]{border-color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-1c0c1511]{color:var(--el-color-primary);font-weight:600}.title[data-v-4fb6a4c6]{font-size:14px}.preview[data-v-ffa53afb]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-ffa53afb]{width:70px}.preview .left .avatar[data-v-ffa53afb]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-ffa53afb]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-ffa53afb]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-ffa53afb]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-ffa53afb]{overflow:hidden}.preview .main .info .prompt[data-v-ffa53afb]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-ffa53afb]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-ffa53afb]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-ffa53afb]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-ffa53afb]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-ffa53afb]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-ffa53afb] p:last-child{margin-bottom:0}
1
+ .menu[data-v-aa4f020d]{display:none}@media (width<=767px){.config[data-v-aa4f020d]{display:none}.result[data-v-aa4f020d]{width:100%}.menu[data-v-aa4f020d]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.resolution .header[data-v-1f9abe29]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-1f9abe29]{margin:0;font-size:14px}.resolution .header .info[data-v-1f9abe29]{margin-left:6px}.resolution .items[data-v-1f9abe29]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-1f9abe29]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-1f9abe29]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.active[data-v-1f9abe29]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-1c0c1511]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-1c0c1511]{margin:0;font-size:14px}.ratio .header .info[data-v-1c0c1511]{margin-left:6px}.ratio .items[data-v-1c0c1511]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-1c0c1511]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-1c0c1511]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-1c0c1511]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-1c0c1511]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .name[data-v-1c0c1511]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-1c0c1511]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-1c0c1511]{border-color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-1c0c1511]{color:var(--el-color-primary);font-weight:600}.title[data-v-4fb6a4c6]{font-size:14px}.preview[data-v-e3eee3d5]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-e3eee3d5]{width:70px}.preview .left .avatar[data-v-e3eee3d5]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-e3eee3d5]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-e3eee3d5]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-e3eee3d5]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-e3eee3d5]{overflow:hidden}.preview .main .info .prompt[data-v-e3eee3d5]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-e3eee3d5]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-e3eee3d5]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-e3eee3d5]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-e3eee3d5]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-e3eee3d5]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-e3eee3d5] p:last-child{margin-bottom:0}
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,qt 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-Dl8tgFjL.js";import{t as b}from"./upload-gI1Lxhu7.js";import{t as x}from"./tooltip-BY0D7YKq.js";import{t as S}from"./alert--fOgAzyp.js";import{t as C}from"./drawer-CZMqTsUy.js";import{Gr as w,Jr as T,Kr as ee,Ur as E,Wr as D,Xr as O,Zr as k,qr as A}from"./constants-DWe-ziJf.js";import{Ii as j,Ir as te,J as M,Si as N,Ti as P,Xi as F,cn as I,fn as L,ln as R,sn as z,sr as B,un as V,xn as H}from"./index-DHGr0qfr.js";import{t as U}from"./index.es-J-PBjzcR.js";import{t as W}from"./CopyToClipboard-BovNTELl.js";import{t as G}from"./ImagePreview-BKDkeMuD.js";import{n as K}from"./taskDrawerMixin-DyAUhFEq.js";import{t as q}from"./Consumption-DoSnOpCh.js";import{a as J,n as Y,r as X,t as Z}from"./pagination-ChSSHmgO.js";import{t as Q}from"./VideoPlayer-DG7NZuWz.js";import{t as ne}from"./ApiCodeButton-B4AbprcE.js";import{t as re}from"./BotPlaceholder-ClF3L6UZ.js";import{t as ie}from"./PromptTextarea-BpckscxC.js";var ae=_({name:`LayoutSora`,components:{ElDrawer:C,ElButton:F,FontAwesomeIcon:U},mixins:[K]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,a,s,d){let p=c(`font-awesome-icon`),m=c(`el-button`),_=c(`el-drawer`);return h(),o(`div`,oe,[e(`div`,se,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[u(t.$slots,`result`,{},void 0,!0)]),l(i(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-531ab990`]]),de=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:k,label:`sora-2`},{value:O,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=E[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=ee}}),fe={class:`field`},pe={class:`title font-bold`};function me(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,fe,[e(`h2`,pe,r(t.$t(`sora.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=M(de,[[`render`,me],[`__scopeId`,`data-v-0cb7913d`]]),ge=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=w}}),_e={class:`field`},ve={class:`title font-bold`},ye={class:`float-left`};function be(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,_e,[e(`h2`,ve,r(t.$t(`sora.name.action`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`),clearable:``},{default:f(()=>[(h(!0),o(s,null,m(t.options,t=>(h(),d(g,{key:t.value,label:t.label,value:t.value},{default:f(()=>[e(`span`,ye,r(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=M(ge,[[`render`,be],[`__scopeId`,`data-v-7b82fa7f`]]),Se=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return E[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Ce={class:`field`},we={class:`control`},Te={class:`title font-bold`};function Ee(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,Ce,[e(`div`,we,[e(`h2`,Te,r(t.$t(`sora.name.duration`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.optionsForModel,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var De=M(Se,[[`render`,Ee],[`__scopeId`,`data-v-c2934598`]]),Oe=_({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=A}}),ke={class:`text-sm font-bold mb-2 block`},Ae={class:`items`},je=[`onClick`],Me={class:`name`};function Ne(n,i,a,c,l,u){return h(),o(`div`,null,[e(`span`,ke,r(n.$t(`sora.name.orientation`)),1),e(`div`,Ae,[(h(!0),o(s,null,m(n.options,(i,a)=>(h(),o(`div`,{key:a,class:t({active:n.active===a,item:!0}),onClick:e=>n.value=i.value},[e(`div`,{class:t([`preview`,i.value])},[e(`div`,{class:`rect`,style:p({width:i.width+`px`,height:i.height+`px`})},null,4)],2),e(`p`,Me,r(n.$t(i.labelKey)),1)],10,je))),128))])])}var Pe=M(Oe,[[`render`,Ne],[`__scopeId`,`data-v-a20be6d9`]]),Fe=_({name:`StartEndImage`,components:{ElUpload:b,ElButton:F,InfoIcon:J,FontAwesomeIcon:U,ImagePreview:G},mixins:[V,I],emits:[`change`],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){j.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){j.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(t,s,l,u,p,m){let g=c(`info-icon`),_=c(`image-preview`),v=c(`font-awesome-icon`),y=c(`el-button`),b=c(`el-upload`);return h(),o(`div`,Ie,[e(`div`,Le,[e(`div`,Re,[e(`span`,ze,r(t.$t(`sora.name.startEndImage`)),1),i(g,{content:t.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),i(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":s[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:f(({file:e})=>[e.url&&e.percentage!==void 0?(h(),d(_,{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`])):a(``,!0)]),default:f(()=>[i(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:f(()=>[i(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),n(` `+r(t.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=M(Fe,[[`render`,Be],[`__scopeId`,`data-v-4f7d9ba5`]]),He=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Ue=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:D.map(e=>({value:e,label:He(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=T}}),We={class:`field`},Ge={class:`control`},Ke={class:`title font-bold`};function qe(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,We,[e(`div`,Ge,[e(`h2`,Ke,r(t.$t(`sora.name.size`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Je=M(Ue,[[`render`,qe],[`__scopeId`,`data-v-8c485f0f`]]),Ye=_({name:`PromptInput`,components:{PromptTextarea:ie},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,a){let o=c(`prompt-textarea`);return h(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=_({name:`ConfigPanel`,components:{ElButton:F,Consumption:q,FontAwesomeIcon:U,PromptInput:M(Ye,[[`render`,Xe]]),ModelSelector:he,StartEndImage:Ve,SizeSelector:Je,ActionSelector:xe,OrientationSelector:Pe,DurationSelector:De},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return L(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Qe={class:`flex flex-col h-full`},$e={class:`flex-1 overflow-y-auto p-5`},et={class:`flex flex-col items-center justify-center px-5 pb-5`};function tt(t,a,s,u,d,p){let m=c(`model-selector`),_=c(`action-selector`),v=c(`duration-selector`),y=c(`size-selector`),b=c(`orientation-selector`),x=c(`prompt-input`),S=c(`start-end-image`),C=c(`consumption`),w=c(`font-awesome-icon`),T=c(`el-button`);return h(),o(`div`,Qe,[e(`div`,$e,[i(m,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),i(y,{class:`mb-4`}),i(b,{class:`mb-4`}),i(x,{class:`mb-4`}),l(i(S,{class:`mb-2`},null,512),[[g,t.config?.action===`image2video`]])]),e(`div`,et,[i(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var nt=M(Ze,[[`render`,tt]]),rt=_({name:`TaskPreview`,components:{CopyToClipboard:W,FontAwesomeIcon:U,ElAlert:S,VideoPlayer:Q,ElTooltip:x,ElButton:F,ApiCodeButton:ne},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),it={class:`preview`},at={class:`left`},ot={class:`main`},st={class:`bot`},ct={class:`datetime`},lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:1},pt={key:0,class:t({content:!0,failed:!0})},mt={key:0,class:`mb-4`},ht={key:1,class:t({operations:!0,"mt-2":!0})},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:t({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:2,class:t({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Et(t,s,l,u,p,m){let g=c(`capability-presentation`),_=c(`video-player`),v=c(`el-button`),y=c(`el-tooltip`),b=c(`api-code-button`),x=c(`font-awesome-icon`),S=c(`copy-to-clipboard`),C=c(`el-alert`);return h(),o(`div`,it,[e(`div`,at,[i(g,{capability:`sora`,part:`avatar`,class:`avatar`})]),e(`div`,ot,[e(`div`,st,[i(g,{capability:`sora`,part:`name`}),e(`span`,ct,r(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,lt,[t.modelValue?.request?.prompt?(h(),o(`p`,ut,[n(r(t.modelValue?.request?.prompt)+` `,1),t.modelValue?.response?a(``,!0):(h(),o(`span`,dt,` - (`+r(t.$t(`sora.status.pending`))+`) `,1)),Array.isArray(t.modelValue?.response?.data)&&t.modelValue?.response?.data[0]?.state===`pending`?(h(),o(`span`,ft,` - (`+r(t.$t(`sora.status.processing`))+`) `,1)):a(``,!0)])):a(``,!0)]),t.modelValue?.response?.success===!0&&t.modelValue?.response?.data?(h(),o(`div`,pt,[t.modelValue?.response?.data[0]?.video_url?(h(),o(`div`,mt,[i(_,{src:t.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):a(``,!0),t.modelValue?.response.success?(h(),o(`div`,ht,[i(y,{class:`box-item`,effect:`dark`,content:t.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:f(()=>[t.modelValue?.response?.data[0]?.video_url?(h(),d(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:s[0]||=e=>t.onDownload(e,t.modelValue?.response?.data[0]?.video_url)},{default:f(()=>[n(r(t.$t(`sora.button.download`)),1)]),_:1})):a(``,!0)]),_:1},8,[`content`]),i(b,{path:`/sora/videos`,body:t.modelValue?.request},null,8,[`body`])])):a(``,!0),i(C,{closable:!1,class:`mt-2 success`},{default:f(()=>[e(`p`,gt,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.model`))+`: `+r(t.modelValue?.request?.model),1)]),e(`p`,_t,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(h(),o(`p`,vt,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===!1?(h(),o(`div`,yt,[i(C,{closable:!1,class:`failure`},{template:f(()=>[i(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.failure`)),1)]),default:f(()=>[e(`p`,$,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id},null,8,[`content`])]),e(`p`,bt,[i(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.failureReason`))+`: `+r(t.modelValue?.response?.error?.message)+` `,1),i(S,{content:t.modelValue?.response?.error?.message},null,8,[`content`])]),t.modelValue?.elapsed?(h(),o(`p`,xt,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),t.modelValue?.response?.trace_id?(h(),o(`p`,St,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(S,{content:t.modelValue?.response?.trace_id},null,8,[`content`])])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===void 0?(h(),o(`div`,Ct,[i(C,{closable:!1,class:`info`},{template:f(()=>[i(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.failure`)),1)]),default:f(()=>[e(`p`,wt,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.response?.trace_id?(h(),o(`p`,Tt,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`sora.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(S,{content:t.modelValue?.response?.trace_id},null,8,[`content`])])):a(``,!0)]),_:1})])):a(``,!0)])])}var Dt=_({name:`RecentPanel`,components:{TaskPreview:M(rt,[[`render`,Et],[`__scopeId`,`data-v-ac6d711d`]]),NoTasks:X,BotPlaceholder:re,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ot={key:0},kt={key:2,class:`w-full h-full flex items-center justify-center`};function At(e,t,n,r,l,u){let p=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return h(),o(s,null,[e.tasks?.items===void 0?(h(),o(`div`,Ot,[i(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),d(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:f(()=>[(h(!0),o(s,null,m(e.tasks?.items,(e,t)=>(h(),d(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(h(),o(`div`,kt,[i(v)])):a(``,!0)],64)}var jt=_({name:`SoraIndex`,components:{ConfigPanel:nt,Layout:ue,RecentPanel:M(Dt,[[`render`,At]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===N.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>j.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}j.info(this.$t(`sora.message.startingTask`)),te(`sora`,B.generate(e,{token:t})).then(()=>{j.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?j.error(this.$t(`sora.message.usedUp`)):j.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`layout`);return h(),d(u,null,{config:f(()=>[i(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nt=M(jt,[[`render`,Mt]]);export{Nt as default};
@@ -1 +1 @@
1
- .menu[data-v-ec312952]{display:none}@media (width<=767px){.config[data-v-ec312952]{display:none}.result[data-v-ec312952]{width:100%}.menu[data-v-ec312952]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-deb4c429]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-deb4c429]{align-items:center;width:30%;display:flex}.field .label .box[data-v-deb4c429]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-deb4c429]{margin:0;font-size:14px}.field .label .box .info[data-v-deb4c429]{margin-left:6px}.field .value[data-v-deb4c429]{width:160px}.field[data-v-d61cc21b]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-d61cc21b]{align-items:center;width:30%;display:flex}.field .label .box[data-v-d61cc21b]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-d61cc21b]{margin:0;font-size:14px}.field .label .box .info[data-v-d61cc21b]{margin-left:6px}.field .value[data-v-d61cc21b]{width:80px}.resolution .header[data-v-db7e8aff]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-db7e8aff]{margin:0;font-size:14px}.resolution .header .info[data-v-db7e8aff]{margin-left:6px}.resolution .items[data-v-db7e8aff]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-db7e8aff]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-db7e8aff]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.disabled[data-v-db7e8aff]{opacity:.45;cursor:not-allowed}.resolution .items .item.disabled[data-v-db7e8aff]:hover{background-color:var(--el-fill-color-lighter);border-color:var(--el-border-color)}.resolution .items .item.active[data-v-db7e8aff]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-8ddec2dd]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-8ddec2dd]{margin:0;font-size:14px}.ratio .header .info[data-v-8ddec2dd]{margin-left:6px}.ratio .items[data-v-8ddec2dd]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-8ddec2dd]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-8ddec2dd]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-8ddec2dd]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-8ddec2dd]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .preview .rect-auto[data-v-8ddec2dd]{width:28px;height:28px;color:var(--el-text-color-secondary);border-style:dashed;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.ratio .items .item .name[data-v-8ddec2dd]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-8ddec2dd]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-8ddec2dd]{border-color:var(--el-color-primary);color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-8ddec2dd]{color:var(--el-color-primary);font-weight:600}.field[data-v-df51dfbd]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-df51dfbd]{align-items:center;width:70%;display:flex}.field .label .box[data-v-df51dfbd]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-df51dfbd]{margin:0;font-size:14px}.field .label .box .info[data-v-df51dfbd]{margin-left:6px}.field[data-v-ae777d61]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-ae777d61]{align-items:center;width:70%;display:flex}.field .label .box[data-v-ae777d61]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-ae777d61]{margin:0;font-size:14px}.field .label .box .info[data-v-ae777d61]{margin-left:6px}.field .value[data-v-ae777d61]{flex:1;justify-content:flex-end;display:flex}.btn.btn-upload[data-v-e2597f23]{position:absolute;top:5px;right:0}.required-badge[data-v-e2597f23]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border:1px solid var(--el-color-warning-light-7);border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px}.btn.btn-upload[data-v-3a191e51],.btn.btn-upload[data-v-230a67f6]{position:absolute;top:5px;right:0}.btn.btn-upload[data-v-49515675]{position:absolute;top:5px;right:0}.btn.btn-upload[data-v-b212c474]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{width:100%;margin:0}.field[data-v-edea5451]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-edea5451]{align-items:center;width:70%;display:flex}.field .label .box[data-v-edea5451]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-edea5451]{margin:0;font-size:14px}.field .label .box .info[data-v-edea5451]{margin-left:6px}.field .value[data-v-edea5451]{flex:1;justify-content:flex-end;display:flex}.field[data-v-685a9869]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-685a9869]{align-items:center;width:30%;display:flex}.field .label .box[data-v-685a9869]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-685a9869]{margin:0;font-size:14px}.field .label .box .info[data-v-685a9869]{margin-left:6px}.field .value[data-v-685a9869]{justify-content:flex-end;width:160px;display:flex}.field .value .counter[data-v-685a9869]{width:140px}.preview[data-v-f340ebf6]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-f340ebf6]{width:70px}.preview .left .avatar[data-v-f340ebf6]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-f340ebf6]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-f340ebf6]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-f340ebf6]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-f340ebf6]{overflow:hidden}.preview .main .info .prompt[data-v-f340ebf6]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-f340ebf6]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-f340ebf6]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-f340ebf6]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-f340ebf6]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-f340ebf6]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-f340ebf6] p:last-child{margin-bottom:0}
1
+ .menu[data-v-ec312952]{display:none}@media (width<=767px){.config[data-v-ec312952]{display:none}.result[data-v-ec312952]{width:100%}.menu[data-v-ec312952]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-deb4c429]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-deb4c429]{align-items:center;width:30%;display:flex}.field .label .box[data-v-deb4c429]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-deb4c429]{margin:0;font-size:14px}.field .label .box .info[data-v-deb4c429]{margin-left:6px}.field .value[data-v-deb4c429]{width:160px}.field[data-v-d61cc21b]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-d61cc21b]{align-items:center;width:30%;display:flex}.field .label .box[data-v-d61cc21b]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-d61cc21b]{margin:0;font-size:14px}.field .label .box .info[data-v-d61cc21b]{margin-left:6px}.field .value[data-v-d61cc21b]{width:80px}.resolution .header[data-v-db7e8aff]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-db7e8aff]{margin:0;font-size:14px}.resolution .header .info[data-v-db7e8aff]{margin-left:6px}.resolution .items[data-v-db7e8aff]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-db7e8aff]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-db7e8aff]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.disabled[data-v-db7e8aff]{opacity:.45;cursor:not-allowed}.resolution .items .item.disabled[data-v-db7e8aff]:hover{background-color:var(--el-fill-color-lighter);border-color:var(--el-border-color)}.resolution .items .item.active[data-v-db7e8aff]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-8ddec2dd]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-8ddec2dd]{margin:0;font-size:14px}.ratio .header .info[data-v-8ddec2dd]{margin-left:6px}.ratio .items[data-v-8ddec2dd]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-8ddec2dd]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-8ddec2dd]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-8ddec2dd]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-8ddec2dd]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .preview .rect-auto[data-v-8ddec2dd]{width:28px;height:28px;color:var(--el-text-color-secondary);border-style:dashed;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.ratio .items .item .name[data-v-8ddec2dd]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-8ddec2dd]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-8ddec2dd]{border-color:var(--el-color-primary);color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-8ddec2dd]{color:var(--el-color-primary);font-weight:600}.field[data-v-df51dfbd]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-df51dfbd]{align-items:center;width:70%;display:flex}.field .label .box[data-v-df51dfbd]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-df51dfbd]{margin:0;font-size:14px}.field .label .box .info[data-v-df51dfbd]{margin-left:6px}.field[data-v-ae777d61]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-ae777d61]{align-items:center;width:70%;display:flex}.field .label .box[data-v-ae777d61]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-ae777d61]{margin:0;font-size:14px}.field .label .box .info[data-v-ae777d61]{margin-left:6px}.field .value[data-v-ae777d61]{flex:1;justify-content:flex-end;display:flex}.btn.btn-upload[data-v-e2597f23]{position:absolute;top:5px;right:0}.required-badge[data-v-e2597f23]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border:1px solid var(--el-color-warning-light-7);border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px}.btn.btn-upload[data-v-3a191e51],.btn.btn-upload[data-v-230a67f6]{position:absolute;top:5px;right:0}.btn.btn-upload[data-v-49515675]{position:absolute;top:5px;right:0}.btn.btn-upload[data-v-b212c474]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{width:100%;margin:0}.field[data-v-edea5451]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-edea5451]{align-items:center;width:70%;display:flex}.field .label .box[data-v-edea5451]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-edea5451]{margin:0;font-size:14px}.field .label .box .info[data-v-edea5451]{margin-left:6px}.field .value[data-v-edea5451]{flex:1;justify-content:flex-end;display:flex}.field[data-v-685a9869]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-685a9869]{align-items:center;width:30%;display:flex}.field .label .box[data-v-685a9869]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-685a9869]{margin:0;font-size:14px}.field .label .box .info[data-v-685a9869]{margin-left:6px}.field .value[data-v-685a9869]{justify-content:flex-end;width:160px;display:flex}.field .value .counter[data-v-685a9869]{width:140px}.preview[data-v-13376a64]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-13376a64]{width:70px}.preview .left .avatar[data-v-13376a64]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-13376a64]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-13376a64]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-13376a64]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-13376a64]{overflow:hidden}.preview .main .info .prompt[data-v-13376a64]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-13376a64]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-13376a64]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-13376a64]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-13376a64]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-13376a64]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-13376a64] p:last-child{margin-bottom:0}
@@ -0,0 +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-gI1Lxhu7.js";import{t as y}from"./tooltip-BY0D7YKq.js";import{t as b}from"./alert--fOgAzyp.js";import{t as x}from"./drawer-CZMqTsUy.js";import{t as S}from"./switch-DcEkrwHo.js";import"./constants-DWe-ziJf.js";import{Ii as C,Ir as w,J as T,Si as E,Ti as D,Xi as O,cn as k,dr as A,fn as ee,ln as j,sn as M,un as N,xn as te}from"./index-DHGr0qfr.js";import{t as P}from"./index.es-J-PBjzcR.js";import{t as F}from"./CopyToClipboard-BovNTELl.js";import{t as I}from"./FilePreview-Ce20lKHh.js";import{t as L}from"./ImagePreview-BKDkeMuD.js";import{n as R}from"./taskDrawerMixin-DyAUhFEq.js";import{t as z}from"./Consumption-DoSnOpCh.js";import{a as B,n as V,r as H,t as U}from"./pagination-ChSSHmgO.js";import{t as W}from"./VideoPlayer-DG7NZuWz.js";import{t as G}from"./ApiCodeButton-B4AbprcE.js";import{t as K}from"./BotPlaceholder-ClF3L6UZ.js";import{t as q}from"./PromptTextarea-BpckscxC.js";var J=_({name:`LayoutLuma`,components:{ElDrawer:x,ElButton:O,FontAwesomeIcon:P},mixins:[R]}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Y,[e(`div`,X,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Z,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=T(J,[[`render`,Q],[`__scopeId`,`data-v-da4bcd3a`]]),re=_({name:`EnhancementSelector`,components:{ElSwitch:S,InfoIcon:B},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)}}),ie={class:`relative`},ae={class:`flex justify-between`},oe={class:`flex justify-start items-center`},se={class:`text-sm font-bold`},ce={class:`flex justify-end items-center`};function le(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,ie,[e(`div`,ae,[e(`div`,oe,[e(`span`,se,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,ce,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var ue=T(re,[[`render`,le]]),de=_({name:`CustomSelector`,components:{ElSwitch:S,InfoIcon:B},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)}}),fe={class:`relative`},pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`};function _e(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,fe,[e(`div`,pe,[e(`div`,me,[e(`span`,he,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,ge,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var ve=T(de,[[`render`,_e]]),ye=_({name:`LoopSelector`,components:{ElSwitch:S,InfoIcon:B},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)}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`},we={class:`flex justify-end items-center`};function Te(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,be,[e(`div`,xe,[e(`div`,Se,[e(`span`,Ce,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,we,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ee=T(ye,[[`render`,Te]]),De=_({name:`EndImage`,components:{ElUpload:v,ElButton:O,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:P},mixins:[N,k],data(){return{fileList:[],uploadUrl:D()+`/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(){C.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){C.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()}}}),Oe={class:`relative`},ke={class:`flex justify-between`},Ae={class:`flex justify-start items-center`},je={class:`text-sm font-bold`};function Me(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Oe,[e(`div`,ke,[e(`div`,Ae,[e(`span`,je,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,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,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ne=T(De,[[`render`,Me],[`__scopeId`,`data-v-cd768b26`]]),Pe=_({name:`StartImage`,components:{ElUpload:v,ElButton:O,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:P},mixins:[N,k],data(){return{fileList:[],uploadUrl:D()+`/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(){C.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){C.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()}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Fe,[e(`div`,Ie,[e(`div`,Le,[e(`span`,Re,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,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,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Be=T(Pe,[[`render`,ze],[`__scopeId`,`data-v-4d03e978`]]),Ve=_({name:`UploadVideo`,components:{ElUpload:v,ElButton:O,InfoIcon:B,FilePreview:I,FontAwesomeIcon:P},mixins:[k],data(){return{fileList:[],uploadUrl:D()+`/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(){C.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){C.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(C.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(C.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()}}}),He={class:`relative`},Ue={class:`flex justify-between`},We={class:`flex justify-start items-center`},Ge={class:`text-sm font-bold`};function Ke(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,He,[e(`div`,Ue,[e(`div`,We,[e(`span`,Ge,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{"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,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var qe=T(Ve,[[`render`,Ke],[`__scopeId`,`data-v-b4c637fa`]]),Je=_({name:`PromptInput`,components:{PromptTextarea:q},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 Ye(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 Xe=T(Je,[[`render`,Ye]]),Ze=_({name:`ExtendFromInput`,components:{VideoPlayer:W},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),Qe={class:`relative`},$e={class:`flex mb-2`},et={class:`text-sm font-bold`};function tt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,Qe,[e(`div`,$e,[e(`span`,et,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 nt=_({name:`ConfigPanel`,components:{LoopSelector:Ee,StartImageInput:Be,EndImageInput:Ne,EnhancementSelector:ue,ElButton:O,FontAwesomeIcon:P,PromptInput:Xe,ExtendFromInput:T(Ze,[[`render`,tt]]),CustomSelector:ve,UploadVideo:qe,Consumption:z},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(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(`font-awesome-icon`),E=l(`el-button`);return h(),s(`div`,rt,[e(`div`,it,[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`,at,[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,{icon:`fa-solid fa-magic`,class:`mr-2`}),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,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var st=T(nt,[[`render`,ot]]),ct=_({name:`TaskPreview`,components:{CopyToClipboard:F,FontAwesomeIcon:P,ElAlert:b,VideoPlayer:W,ElTooltip:y,ElButton:O,ApiCodeButton:G},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:n({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:1,class:n({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:2,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function kt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`video-player`),v=l(`el-button`),y=l(`el-tooltip`),b=l(`api-code-button`),x=l(`font-awesome-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`);return h(),s(`div`,lt,[e(`div`,ut,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,dt,[e(`div`,ft,[a(g,{capability:`luma`,part:`name`}),e(`span`,pt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,mt,[n.modelValue?.request?.prompt?(h(),s(`p`,ht,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,gt,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,_t,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,vt,[n.modelValue.response.video_url?(h(),s(`div`,yt,[a(_,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,bt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=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(b,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,xt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,St,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),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`,Ct,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,wt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Tt,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(S,{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`,Dt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var At=_({name:`RecentPanel`,components:{BotPlaceholder:K,TaskPreview:T(ct,[[`render`,kt],[`__scopeId`,`data-v-a5f3c125`]]),NoTasks:H,ScrollList:V},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?.()}}}),jt={key:0},Mt={key:2,class:`w-full h-full flex items-center justify-center`};function Nt(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`,jt,[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`,Mt,[a(v)])):o(``,!0)],64)}var Pt=_({name:`LumaIndex`,components:{ConfigPanel:st,Layout:ne,RecentPanel:T(At,[[`render`,Nt]])},mixins:[j],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===E.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 U({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(!M(this.uploadTracker,e=>this.$t(e),e=>C.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){C.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!te())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}C.info(this.$t(`luma.message.startingTask`)),w(`luma`,A.generate(e,{token:t})).then(()=>{C.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?C.error(this.$t(`luma.message.usedUp`)):C.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 Ft(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 It=T(Pt,[[`render`,Ft]]);export{It as default};
@@ -1 +1 @@
1
- .menu[data-v-da4bcd3a]{display:none}@media (width<=767px){.config[data-v-da4bcd3a]{display:none}.result[data-v-da4bcd3a]{width:100%}.menu[data-v-da4bcd3a]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.title[data-v-cd768b26]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-cd768b26]{position:absolute;top:5px;right:0}.title[data-v-4d03e978]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-4d03e978]{position:absolute;top:5px;right:0}.title[data-v-b4c637fa]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-b4c637fa]{position:absolute;top:5px;right:0}.preview[data-v-9c354ffe]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-9c354ffe]{width:70px}.preview .left .avatar[data-v-9c354ffe]{background-color:#000;border-radius:50%;width:50px;height:50px;margin:10px;padding:2px}.preview .main[data-v-9c354ffe]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-9c354ffe]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-9c354ffe]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-9c354ffe]{overflow:hidden}.preview .main .info .prompt[data-v-9c354ffe]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-9c354ffe]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-9c354ffe]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-9c354ffe]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-9c354ffe]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-9c354ffe]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-9c354ffe] p:last-child{margin-bottom:0}
1
+ .menu[data-v-da4bcd3a]{display:none}@media (width<=767px){.config[data-v-da4bcd3a]{display:none}.result[data-v-da4bcd3a]{width:100%}.menu[data-v-da4bcd3a]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.title[data-v-cd768b26]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-cd768b26]{position:absolute;top:5px;right:0}.title[data-v-4d03e978]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-4d03e978]{position:absolute;top:5px;right:0}.title[data-v-b4c637fa]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-b4c637fa]{position:absolute;top:5px;right:0}.preview[data-v-a5f3c125]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-a5f3c125]{width:70px}.preview .left .avatar[data-v-a5f3c125]{background-color:#000;border-radius:50%;width:50px;height:50px;margin:10px;padding:2px}.preview .main[data-v-a5f3c125]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-a5f3c125]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-a5f3c125]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-a5f3c125]{overflow:hidden}.preview .main .info .prompt[data-v-a5f3c125]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-a5f3c125]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-a5f3c125]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-a5f3c125]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-a5f3c125]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-a5f3c125]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-a5f3c125] p:last-child{margin-bottom:0}
@@ -1 +1 @@
1
- .menu[data-v-76ddc288]{display:none}@media (width<=767px){.config[data-v-76ddc288]{display:none}.result[data-v-76ddc288]{width:100%}.menu[data-v-76ddc288]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-291d93fb]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-291d93fb]{align-items:center;width:30%;display:flex}.field .label .box[data-v-291d93fb]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-291d93fb]{margin:0;font-size:14px}.field .label .box .info[data-v-291d93fb]{margin-left:6px}.field .value[data-v-291d93fb]{width:200px}.field[data-v-9c711686]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-9c711686]{align-items:center;width:30%;display:flex}.field .label .box[data-v-9c711686]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-9c711686]{margin:0;font-size:14px}.field .label .box .info[data-v-9c711686]{margin-left:6px}.field .value[data-v-9c711686]{width:80px}.resolution .header[data-v-54f22a22]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-54f22a22]{margin:0;font-size:14px}.resolution .header .info[data-v-54f22a22]{margin-left:6px}.resolution .items[data-v-54f22a22]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-54f22a22]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-54f22a22]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.active[data-v-54f22a22]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-70115284]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-70115284]{margin:0;font-size:14px}.ratio .header .info[data-v-70115284]{margin-left:6px}.ratio .items[data-v-70115284]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-70115284]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-70115284]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-70115284]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-70115284]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .name[data-v-70115284]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-70115284]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-70115284]{border-color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-70115284]{color:var(--el-color-primary);font-weight:600}.btn.btn-upload[data-v-164e5a1d]{position:absolute;top:5px;right:0}.required-badge[data-v-164e5a1d]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border:1px solid var(--el-color-warning-light-7);border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{width:100%;margin:0}.preview[data-v-48f65a64]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-48f65a64]{width:70px}.preview .left .avatar[data-v-48f65a64]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-48f65a64]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-48f65a64]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-48f65a64]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-48f65a64]{overflow:hidden}.preview .main .info .prompt[data-v-48f65a64]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-48f65a64]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-48f65a64]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-48f65a64]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-48f65a64]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-48f65a64]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-48f65a64] p:last-child{margin-bottom:0}
1
+ .menu[data-v-76ddc288]{display:none}@media (width<=767px){.config[data-v-76ddc288]{display:none}.result[data-v-76ddc288]{width:100%}.menu[data-v-76ddc288]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-291d93fb]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-291d93fb]{align-items:center;width:30%;display:flex}.field .label .box[data-v-291d93fb]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-291d93fb]{margin:0;font-size:14px}.field .label .box .info[data-v-291d93fb]{margin-left:6px}.field .value[data-v-291d93fb]{width:200px}.field[data-v-9c711686]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-9c711686]{align-items:center;width:30%;display:flex}.field .label .box[data-v-9c711686]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-9c711686]{margin:0;font-size:14px}.field .label .box .info[data-v-9c711686]{margin-left:6px}.field .value[data-v-9c711686]{width:80px}.resolution .header[data-v-54f22a22]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.resolution .header .title[data-v-54f22a22]{margin:0;font-size:14px}.resolution .header .info[data-v-54f22a22]{margin-left:6px}.resolution .items[data-v-54f22a22]{flex-direction:row;gap:8px;display:flex}.resolution .items .item[data-v-54f22a22]{text-align:center;color:var(--el-text-color-regular);border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.resolution .items .item[data-v-54f22a22]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.resolution .items .item.active[data-v-54f22a22]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary);font-weight:600}.ratio .header[data-v-70115284]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-70115284]{margin:0;font-size:14px}.ratio .header .info[data-v-70115284]{margin-left:6px}.ratio .items[data-v-70115284]{flex-wrap:wrap;gap:8px;display:flex}.ratio .items .item[data-v-70115284]{border:1px solid var(--el-border-color);cursor:pointer;background-color:var(--el-fill-color-lighter);border-radius:8px;flex-direction:column;flex:0 0 calc(25% - 6px);justify-content:center;align-items:center;padding:8px 0 6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ratio .items .item[data-v-70115284]:hover{background-color:var(--el-fill-color);border-color:var(--el-border-color-hover)}.ratio .items .item .preview[data-v-70115284]{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-70115284]{border:1.5px solid var(--el-text-color-secondary);background-color:#0000;border-radius:2px}.ratio .items .item .name[data-v-70115284]{color:var(--el-text-color-regular);font-size:12px;line-height:1}.ratio .items .item.active[data-v-70115284]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-70115284]{border-color:var(--el-color-primary)}.ratio .items .item.active .name[data-v-70115284]{color:var(--el-color-primary);font-weight:600}.btn.btn-upload[data-v-164e5a1d]{position:absolute;top:5px;right:0}.required-badge[data-v-164e5a1d]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border:1px solid var(--el-color-warning-light-7);border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{width:100%;margin:0}.preview[data-v-ead48cc1]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-ead48cc1]{width:70px}.preview .left .avatar[data-v-ead48cc1]{width:50px;height:50px;box-shadow:var(--app-shadow-xs);border-radius:50%;margin:10px}.preview .main[data-v-ead48cc1]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-ead48cc1]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-ead48cc1]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-ead48cc1]{overflow:hidden}.preview .main .info .prompt[data-v-ead48cc1]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-ead48cc1]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-ead48cc1]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-ead48cc1]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-ead48cc1]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-ead48cc1]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-ead48cc1] p:last-child{margin-bottom:0}