@acedatacloud/nexior 3.329.16 → 3.329.17

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 (144) hide show
  1. package/dist/assets/{ApiCodeButton-B4AbprcE.js → ApiCodeButton-B_Fbr2Mf.js} +1 -1
  2. package/dist/assets/{Artifacts-PhyjpCtJ.js → Artifacts-Dgm9kOc2.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-gej1HInv.js → AskUserQuestionCard-nIx1rQLr.js} +1 -1
  4. package/dist/assets/{AudioPreview-BSZwbHFC.js → AudioPreview-Cwb7ScZ0.js} +1 -1
  5. package/dist/assets/{Auth-wrbtTe49.js → Auth-QQ9fP4BN.js} +1 -1
  6. package/dist/assets/{Bare-CJW0KY7n.js → Bare-DPry7kjn.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-ClF3L6UZ.js → BotPlaceholder-TFPpOTC5.js} +1 -1
  8. package/dist/assets/{BottomFooter-DMeMSGST.js → BottomFooter-D2Usc-nq.js} +1 -1
  9. package/dist/assets/{Callback-ZCx6v2Qm.js → Callback-DKpKq7pt.js} +1 -1
  10. package/dist/assets/{CodeSnippet-BLx5PNoE.js → CodeSnippet-B78At6QW.js} +1 -1
  11. package/dist/assets/{Console--3BSnjhd.js → Console-kv7g8WNJ.js} +1 -1
  12. package/dist/assets/{Consumption-DoSnOpCh.js → Consumption-B-_J3ARX.js} +1 -1
  13. package/dist/assets/{Conversation-otwyTC3G.js → Conversation-CDxI_n0V.js} +1 -1
  14. package/dist/assets/{Conversation-CyHqOxgu.js → Conversation-s39MqcNB.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-BovNTELl.js → CopyToClipboard-SOk0OfUA.js} +1 -1
  16. package/dist/assets/{Detail-Bw3B_wFT.js → Detail-Cfr4qEpF.js} +2 -2
  17. package/dist/assets/{Extra-m-UX_HKW.js → Extra-BJnZDwju.js} +1 -1
  18. package/dist/assets/{FilePreview-Ce20lKHh.js → FilePreview-DRvbLc-w.js} +1 -1
  19. package/dist/assets/{Hailuo-DJdgVTZk.js → Hailuo-CvuDcDBC.js} +1 -1
  20. package/dist/assets/{History-D9ucrqH3.js → History-CeBrfSh-.js} +1 -1
  21. package/dist/assets/{ImagePreview-BKDkeMuD.js → ImagePreview-BJg6GpnM.js} +1 -1
  22. package/dist/assets/{ImageWrapper-CJPUt9fO.js → ImageWrapper-Bp7J2Kyr.js} +1 -1
  23. package/dist/assets/{Index-F-k_Gtdn.js → Index-2968jdfD.js} +1 -1
  24. package/dist/assets/{Index-DZaSDeRC.css → Index-82dxEr85.css} +1 -1
  25. package/dist/assets/{Index-BzfDCKvB.js → Index-B10waoOW.js} +1 -1
  26. package/dist/assets/{Index-BJ2uTn7f.js → Index-B4P1zEB8.js} +1 -1
  27. package/dist/assets/{Index-ClXholKq.js → Index-BGCjJNXK.js} +1 -1
  28. package/dist/assets/{Index-CNjhG1xg.js → Index-BHjxjHGA.js} +1 -1
  29. package/dist/assets/{Index-DtFRbU0N.js → Index-BNEbwL-S.js} +1 -1
  30. package/dist/assets/{Index-DAr6f-_O.js → Index-BacG1KNs.js} +1 -1
  31. package/dist/assets/{Index-Jqt2yQvt.js → Index-Blcd_NMV.js} +1 -1
  32. package/dist/assets/{Index-CARRGZlZ.js → Index-BoMNGQRN.js} +1 -1
  33. package/dist/assets/{Index-FmpcU_Ri.js → Index-BrtHEfhp.js} +1 -1
  34. package/dist/assets/{Index-CPaFzSUd.js → Index-BtaiLrlN.js} +1 -1
  35. package/dist/assets/{Index-DsB34PP1.js → Index-C0ygQSu-.js} +1 -1
  36. package/dist/assets/{Index-BzMJicqQ.js → Index-C6RJIok4.js} +1 -1
  37. package/dist/assets/{Index-BGlgGMXY.js → Index-CGTVcpLh.js} +1 -1
  38. package/dist/assets/{Index-rzXksBpy.js → Index-CH_v6Dc3.js} +1 -1
  39. package/dist/assets/{Index-DSiWRGHv.js → Index-COMompjz.js} +1 -1
  40. package/dist/assets/{Index-DtmVV4ES.js → Index-CVCPKHkj.js} +1 -1
  41. package/dist/assets/{Index-CKOUb2hk.js → Index-CreyroBE.js} +1 -1
  42. package/dist/assets/{Index-C_pwE0Yp.js → Index-DEvf1MPs.js} +1 -1
  43. package/dist/assets/{Index-CBON_aOb.js → Index-DMdxWwMd.js} +1 -1
  44. package/dist/assets/{Index-C8_SKL-4.js → Index-DcyU3JBz.js} +1 -1
  45. package/dist/assets/{Index-p-m_XsAg.js → Index-DdqQWAcI.js} +1 -1
  46. package/dist/assets/{Index-s53Hc8JB.js → Index-DlLN51-Q.js} +1 -1
  47. package/dist/assets/{Index-DcBVIIXz.js → Index-DnA15bCY.js} +1 -1
  48. package/dist/assets/{Index-BSPdlju8.js → Index-DqZkyVHt.js} +1 -1
  49. package/dist/assets/{Index-Cu5n9kJn.js → Index-Dr-oTweF.js} +1 -1
  50. package/dist/assets/{Index-DeYagwk6.js → Index-DyMozBxf.js} +1 -1
  51. package/dist/assets/{Index-wVuMpc_H.js → Index-tIXJcg4X.js} +1 -1
  52. package/dist/assets/{Index-GEIDO90j.js → Index-zPzhvhg9.js} +1 -1
  53. package/dist/assets/{Invitees-BlbDmUXN.js → Invitees-CsuLEVVx.js} +1 -1
  54. package/dist/assets/{List-CUwZEDHu.js → List-CKi4YFq-.js} +1 -1
  55. package/dist/assets/{List-DkCLGYMJ.js → List-Crz3Is5D.js} +1 -1
  56. package/dist/assets/{List-CY1N3ILM.js → List-bSrP1cTj.js} +1 -1
  57. package/dist/assets/{LocalTools-CMxoLA7U.js → LocalTools-BwYNkCFA.js} +1 -1
  58. package/dist/assets/{LocalTools-z8jtbr5O.js → LocalTools-o7EWU2Uf.js} +1 -1
  59. package/dist/assets/{Main-D1328AkQ.js → Main-DudYMzsE.js} +1 -1
  60. package/dist/assets/{Message-BtxG96K4.js → Message-CvC69gZL.js} +1 -1
  61. package/dist/assets/{Model-D54rLtLP.js → Model-B7gMomyD.js} +1 -1
  62. package/dist/assets/{Navigator-DuFxlRAw.js → Navigator-Brxg7zUQ.js} +3 -3
  63. package/dist/assets/{NotFound-CmF6ZwZt.js → NotFound-DhnB3uW1.js} +1 -1
  64. package/dist/assets/{Pay-CKNhqbmz.js → Pay-CZFt8w7T.js} +1 -1
  65. package/dist/assets/{Player-DI8pLNuE.js → Player-meEpIyyU.js} +1 -1
  66. package/dist/assets/{PromptTextarea-BpckscxC.js → PromptTextarea-CqrfR04T.js} +1 -1
  67. package/dist/assets/{RealtimeCall-CGy7ZxhI.js → RealtimeCall-DPgXvnk-.js} +1 -1
  68. package/dist/assets/{ScheduledTasks-DUrJ69M5.js → ScheduledTasks-BD2EiwWX.js} +1 -1
  69. package/dist/assets/{Status-CHAGfb_i.js → Status-tjI9ia1o.js} +1 -1
  70. package/dist/assets/{Subscribe-cI8uUXfb.js → Subscribe-B6li-4PP.js} +1 -1
  71. package/dist/assets/{TabSwitcher-XjtjYDRZ.js → TabSwitcher-CfcbdXSN.js} +1 -1
  72. package/dist/assets/{Tts-Cl3Ic91o.js → Tts-BculNGDV.js} +1 -1
  73. package/dist/assets/{VideoPlayer-DG7NZuWz.js → VideoPlayer-DlmdRAid.js} +1 -1
  74. package/dist/assets/{alert--fOgAzyp.js → alert-Be4RiVE7.js} +1 -1
  75. package/dist/assets/{avatar-BXGv6zGv.js → avatar-7W9CtA1g.js} +1 -1
  76. package/dist/assets/{basic--Jaf95DS.js → basic-Dki1Ggy9.js} +1 -1
  77. package/dist/assets/{chat-DbQzoeiN.js → chat-DdZlkDzh.js} +1 -1
  78. package/dist/assets/{codingBridge-BD51ayKI.js → codingBridge-B9D1N-eE.js} +1 -1
  79. package/dist/assets/{codingBridgeNotify-B_LfJogk.js → codingBridgeNotify-BfCUpopl.js} +2 -2
  80. package/dist/assets/{collapse-B2P7gr8-.js → collapse-CdfDTVKX.js} +1 -1
  81. package/dist/assets/{createTaskActions-BaE6E9Kr.js → createTaskActions-CW7_Ar5F.js} +1 -1
  82. package/dist/assets/{date-picker-CUsRrFGr.js → date-picker-QWWj3YBF.js} +1 -1
  83. package/dist/assets/{digitalhuman-DCfYw1cL.js → digitalhuman--CvWis8w.js} +1 -1
  84. package/dist/assets/{drawer-CZMqTsUy.js → drawer-QVnlp-9l.js} +1 -1
  85. package/dist/assets/{dropdown-BBawqoPC.js → dropdown-UFkdtFBz.js} +1 -1
  86. package/dist/assets/{dropdown-QxLSlPQh.js → dropdown-bhP6II8i.js} +1 -1
  87. package/dist/assets/{esm-BZuX_Fyl.js → esm-B09J_eTi.js} +1 -1
  88. package/dist/assets/{esm-DrQEXzOh.js → esm-B0PyI9kB.js} +1 -1
  89. package/dist/assets/esm-B86wq0wb.js +1 -0
  90. package/dist/assets/{esm-ByN3pv2U.js → esm-B_DIAu_B.js} +2 -2
  91. package/dist/assets/{esm-sR7mbXpp.js → esm-C7frXp1U.js} +3 -3
  92. package/dist/assets/{esm-B-IdJIQl.js → esm-DELPJsEG.js} +1 -1
  93. package/dist/assets/{esm-CFgtBr1r.js → esm-xdmXFcbu.js} +2 -2
  94. package/dist/assets/{fish-wuJzVy-R.js → fish-BW-T79KL.js} +1 -1
  95. package/dist/assets/{flux-BajN9vCH.js → flux-Cmhhyqbi.js} +1 -1
  96. package/dist/assets/{grokvideo-CEadYeuZ.js → grokvideo-C0r0MjYk.js} +1 -1
  97. package/dist/assets/{hailuo-BZE9nS_n.js → hailuo-B3cXIyO2.js} +1 -1
  98. package/dist/assets/{index-DHGr0qfr.js → index-0RhdvXdP.js} +3 -3
  99. package/dist/assets/{index.browser.esm-K9JZkjg8.js → index.browser.esm-BiF3H-ZA.js} +1 -1
  100. package/dist/assets/{index.es-J-PBjzcR.js → index.es-RNUZL6kj.js} +1 -1
  101. package/dist/assets/{input-number-DcS9Bx33.js → input-number-DYt3_8iT.js} +1 -1
  102. package/dist/assets/{kling-B2rPSLOo.js → kling-DNLi30sJ.js} +1 -1
  103. package/dist/assets/{luma-BCu9MMAZ.js → luma-CqlkwAbO.js} +1 -1
  104. package/dist/assets/{maestro-qo4uPl6x.js → maestro-BFMOKxaB.js} +1 -1
  105. package/dist/assets/{midjourney-DsoKv-1p.js → midjourney-CmIbN0v8.js} +1 -1
  106. package/dist/assets/{mobileLocalExec-D3sozPgv.js → mobileLocalExec-DMXSy_q6.js} +2 -2
  107. package/dist/assets/{nanobanana-DRYIuuVI.js → nanobanana-BnNIiYvx.js} +1 -1
  108. package/dist/assets/{omni-UYuMATIw.js → omni-DTrrwnkX.js} +1 -1
  109. package/dist/assets/{openaiimage-LY_8QKWs.js → openaiimage-ChQc6QYF.js} +1 -1
  110. package/dist/assets/{pagination-DCFtt8SX.js → pagination-CZQpIiuE.js} +1 -1
  111. package/dist/assets/{pagination-ChSSHmgO.js → pagination-DJfdZUpV.js} +1 -1
  112. package/dist/assets/{pika-yIxZbMZX.js → pika-Cj0oRjGu.js} +1 -1
  113. package/dist/assets/{pixverse-oTCUOx_0.js → pixverse-D5h5Zh7I.js} +1 -1
  114. package/dist/assets/{popover-DBSUmqsP.js → popover-mn1EGoMV.js} +1 -1
  115. package/dist/assets/{producer-DBxzblcL.js → producer-z55o2FRT.js} +1 -1
  116. package/dist/assets/{qrart-B1nZNo_9.js → qrart-BkyhiFKS.js} +1 -1
  117. package/dist/assets/{realtime-CpuHRnMw.js → realtime-ZZETevKY.js} +1 -1
  118. package/dist/assets/{row-CoYwxMjN.js → row-B6TzCjFU.js} +1 -1
  119. package/dist/assets/{seedance-D1W8OuKj.js → seedance-3yLZRCsm.js} +1 -1
  120. package/dist/assets/{seedream-BWFXgRu_.js → seedream-CQR_3Rit.js} +1 -1
  121. package/dist/assets/{select-Dl8tgFjL.js → select-C9BBGK_W.js} +1 -1
  122. package/dist/assets/{serp-BXd__tcu.js → serp-qa_OoSnT.js} +1 -1
  123. package/dist/assets/{slider-CKn9N3dl.js → slider-2iZQO2Zw.js} +1 -1
  124. package/dist/assets/{solana-wallets-CWi7yIKW.js → solana-wallets-BU7AjRYO.js} +2 -2
  125. package/dist/assets/{solana-wallets-vue-DrFKw32L.js → solana-wallets-vue-C1sHxP0w.js} +1 -1
  126. package/dist/assets/{sora-B-T8syCN.js → sora-DQLLbgO-.js} +1 -1
  127. package/dist/assets/{suno-CaPg5wI3.js → suno-Bvx0DyV2.js} +1 -1
  128. package/dist/assets/{switch-DcEkrwHo.js → switch-U1rSTqNM.js} +1 -1
  129. package/dist/assets/{table-1P1mzhi4.js → table-BtPnfCav.js} +1 -1
  130. package/dist/assets/{tabs-DtAZ3so9.js → tabs-DL9XtawR.js} +1 -1
  131. package/dist/assets/{time-picker-VghfSWRJ.js → time-picker-BgAS6tqz.js} +1 -1
  132. package/dist/assets/{tooltip-BY0D7YKq.js → tooltip-bsBfzZxe.js} +1 -1
  133. package/dist/assets/{upload-gI1Lxhu7.js → upload-ByBAXUSx.js} +1 -1
  134. package/dist/assets/{veo-CfVto-d5.js → veo-CmtbDgTh.js} +1 -1
  135. package/dist/assets/{wan-bBEoiM8z.js → wan-KXcZ7KHX.js} +1 -1
  136. package/dist/assets/{web-CjKTM_kC.js → web-BSkNTnEY.js} +1 -1
  137. package/dist/assets/{web-Dkf3rM2x.js → web-Dt7gi5-p.js} +1 -1
  138. package/dist/assets/{web-ByPN4P1G.js → web-DtZc6wm0.js} +1 -1
  139. package/dist/assets/{web-BJ4_Hr_r.js → web-Dy5tWTbz.js} +1 -1
  140. package/dist/assets/{web-D51lKmXr.js → web-p6rGA-Dw.js} +1 -1
  141. package/dist/assets/{webextrator-B0U-wvh0.js → webextrator-DslrqETr.js} +1 -1
  142. package/dist/index.html +1 -1
  143. package/package.json +1 -1
  144. package/dist/assets/esm-BAoWV04N.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,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};
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-C9BBGK_W.js";import{t as E}from"./upload-ByBAXUSx.js";import{t as D}from"./alert-Be4RiVE7.js";import{t as O}from"./drawer-QVnlp-9l.js";import{t as k}from"./input-number-DYt3_8iT.js";import{t as A}from"./switch-U1rSTqNM.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-0RhdvXdP.js";import{t as K}from"./index.es-RNUZL6kj.js";import{t as q}from"./CopyToClipboard-SOk0OfUA.js";import{t as se}from"./FilePreview-DRvbLc-w.js";import{t as ce}from"./ImagePreview-BJg6GpnM.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{a as ue,n as de,r as fe,t as pe}from"./pagination-DJfdZUpV.js";import{t as me}from"./VideoPlayer-DlmdRAid.js";import{t as he}from"./ApiCodeButton-B_Fbr2Mf.js";import{t as ge}from"./BotPlaceholder-TFPpOTC5.js";import{t as _e}from"./PromptTextarea-CqrfR04T.js";import{n as ve,t as ye}from"./AudioPreview-Cwb7ScZ0.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};
@@ -1 +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
+ 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-C9BBGK_W.js";import{t as b}from"./upload-ByBAXUSx.js";import{t as x}from"./tooltip-bsBfzZxe.js";import{t as S}from"./alert-Be4RiVE7.js";import{t as C}from"./drawer-QVnlp-9l.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-0RhdvXdP.js";import{t as U}from"./index.es-RNUZL6kj.js";import{t as W}from"./CopyToClipboard-SOk0OfUA.js";import{t as G}from"./ImagePreview-BJg6GpnM.js";import{n as K}from"./taskDrawerMixin-DyAUhFEq.js";import{t as q}from"./Consumption-B-_J3ARX.js";import{a as J,n as Y,r as X,t as Z}from"./pagination-DJfdZUpV.js";import{t as Q}from"./VideoPlayer-DlmdRAid.js";import{t as ne}from"./ApiCodeButton-B_Fbr2Mf.js";import{t as re}from"./BotPlaceholder-TFPpOTC5.js";import{t as ie}from"./PromptTextarea-CqrfR04T.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
- 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};
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-C9BBGK_W.js";import{t as b}from"./upload-ByBAXUSx.js";import{t as x}from"./tooltip-bsBfzZxe.js";import{t as S}from"./alert-Be4RiVE7.js";import{t as C}from"./drawer-QVnlp-9l.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-0RhdvXdP.js";import{t as I}from"./index.es-RNUZL6kj.js";import{t as L}from"./CopyToClipboard-SOk0OfUA.js";import{t as R}from"./ImagePreview-BJg6GpnM.js";import{n as z}from"./taskDrawerMixin-DyAUhFEq.js";import{t as B}from"./Consumption-B-_J3ARX.js";import{a as V,n as H,r as U,t as W}from"./pagination-DJfdZUpV.js";import{t as G}from"./VideoPlayer-DlmdRAid.js";import{t as K}from"./ApiCodeButton-B_Fbr2Mf.js";import{t as q}from"./BotPlaceholder-TFPpOTC5.js";import{t as J}from"./PromptTextarea-CqrfR04T.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};
@@ -1 +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};
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-C9BBGK_W.js";import{n as b,t as x}from"./tabs-DL9XtawR.js";import{t as S}from"./upload-ByBAXUSx.js";import{t as C}from"./tooltip-bsBfzZxe.js";import{t as w}from"./alert-Be4RiVE7.js";import{t as T}from"./drawer-QVnlp-9l.js";import{t as E}from"./switch-U1rSTqNM.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-0RhdvXdP.js";import{t as z}from"./index.es-RNUZL6kj.js";import{t as B}from"./CopyToClipboard-SOk0OfUA.js";import{t as V}from"./ImagePreview-BJg6GpnM.js";import{n as H}from"./taskDrawerMixin-DyAUhFEq.js";import{t as U}from"./Consumption-B-_J3ARX.js";import{a as W,n as G,r as K,t as q}from"./pagination-DJfdZUpV.js";import{t as J}from"./VideoPlayer-DlmdRAid.js";import{t as Y}from"./ApiCodeButton-B_Fbr2Mf.js";import{t as X}from"./BotPlaceholder-TFPpOTC5.js";import{t as ie}from"./PromptTextarea-CqrfR04T.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};
@@ -1 +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,at as s,ht as c,j as l,mt as u,ot as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./row-CoYwxMjN.js";import{i as g,n as _,r as v,t as y}from"./container-VI0MzukK.js";import{n as b,t as x}from"./dropdown-QxLSlPQh.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-BXGv6zGv.js";import{Ai as D,J as O,Mi as k,Mt as A,Oi as j,Tn as M,Xi as N,Z as P,bn as F,pt as I,wi as L,xt as R}from"./index-DHGr0qfr.js";import{t as z}from"./BottomFooter-DMeMSGST.js";var B=p({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:N,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},isHome(){return this.$route.name===A},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated},isMainOfficialHost(){return M()},isDesktopChrome(){return j()},isMacChrome(){return j()&&D()}},methods:{openTab(e){if(k()){P.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:A})},onLogin(){this.$store.dispatch(`login`,{redirect:this.$route.fullPath})},onDownload(){this.$router.push({name:R})},onProfile(){let e=L();this.openTab(F(`${e}/user/profile`))},onVerify(){let e=L();this.openTab(F(`${e}/user/verify`))},onConsole(){this.$router.push({name:I})},async onLogout(){this.$store.dispatch(`logout`)}}}),V={key:0,class:`mt-4 pr-10`},H={key:1,class:`float-right`},U=[`src`];function W(p,m,h,g,_,v){let y=s(`logo`),b=s(`el-col`),x=s(`el-menu-item`),S=s(`el-sub-menu`),C=s(`el-menu`),w=s(`el-button`),T=s(`language-selector`),E=s(`dark-selector`),D=s(`el-dropdown-item`),O=s(`el-dropdown-menu`),k=s(`el-dropdown`),A=s(`el-row`),j=d(`t`);return f(),l(A,{class:t([`header`,{"desktop-chrome":p.isDesktopChrome,"is-mac":p.isMacChrome,"home-only":p.isHome}])},{default:u(()=>[p.isHome?(f(),l(b,{key:0,span:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})):(f(),l(b,{key:1,md:4,xs:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:2,md:16,xs:13},{default:u(()=>[i(C,{"default-active":p.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:p.onSelect},{default:u(()=>[i(S,{index:p.products},{title:u(()=>[n(r(p.$t(`common.nav.products`)),1)]),default:u(()=>[p.site?.features?.chatgpt?.enabled?c((f(),l(x,{key:0,index:`/chat`},null,512)),[[j,`index.title.chat`]]):a(``,!0),p.site?.features?.midjourney?.enabled?c((f(),l(x,{key:1,index:`/midjourney`},null,512)),[[j,`index.title.midjourney`]]):a(``,!0),p.site?.features?.qrart?.enabled?c((f(),l(x,{key:2,index:`/qrart`},null,512)),[[j,`index.title.qrart`]]):a(``,!0),p.site?.features?.suno?.enabled?c((f(),l(x,{key:3,index:`/suno`},null,512)),[[j,`index.title.suno`]]):a(``,!0),p.site?.features?.luma?.enabled?c((f(),l(x,{key:4,index:`/luma`},null,512)),[[j,`index.title.luma`]]):a(``,!0)]),_:1},8,[`index`]),p.isMainOfficialHost?c((f(),l(x,{key:0,onRoute:e=>void 0,onClick:p.onDownload},null,8,[`onClick`])),[[j,`common.nav.mobileApp`]]):a(``,!0),c(i(x,{onRoute:e=>void 0,onClick:m[0]||=e=>p.openTab(`https://platform.acedata.cloud`)},null,512),[[j,`common.nav.apiPlatform`]]),c(i(x,{onRoute:e=>void 0,onClick:m[1]||=e=>p.openTab(`https://platform.acedata.cloud/support`)},null,512),[[j,`common.nav.support`]]),c(i(x,{onRoute:e=>void 0,onClick:m[2]||=e=>p.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[j,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:3,md:4,xs:11},{default:u(()=>[p.authenticated?(f(),o(`div`,H,[e(`div`,{class:`console`,onClick:m[3]||=(...e)=>p.onConsole&&p.onConsole(...e)},r(p.$t(`common.button.console`)),1),i(k,{trigger:`click`},{dropdown:u(()=>[i(O,null,{default:u(()=>[i(D,{onClick:p.onProfile},{default:u(()=>[n(r(p.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),i(D,{onClick:p.onLogout},{default:u(()=>[n(r(p.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[e(`img`,{src:p.user?.avatar||p.defaultAvatar,class:`avatar`},null,8,U)]),_:1})])):(f(),o(`div`,V,[i(w,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:p.onLogin},{default:u(()=>[n(r(p.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),i(T,{class:`locale float-right mr-4`}),i(E,{class:`float-right mr-4`})]))]),_:1}))]),_:1},8,[`class`])}var G=p({name:`LayoutIndex`,components:{TopHeader:O(B,[[`render`,W]]),BottomFooter:z,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function K(e,t,n,r,a,o){let c=s(`top-header`),d=s(`el-header`),p=s(`router-view`),m=s(`el-main`),h=s(`bottom-footer`),g=s(`el-footer`),_=s(`el-container`);return f(),l(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[i(d,{class:`header p-0 h-auto`},{default:u(()=>[i(c)]),_:1}),i(m,{class:`main`},{default:u(()=>[i(p)]),_:1}),i(g,{class:`footer p-0 h-auto`},{default:u(()=>[i(h)]),_:1})]),_:1})}var q=O(G,[[`render`,K]]);export{q as default};
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,at as s,ht as c,j as l,mt as u,ot as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./row-B6TzCjFU.js";import{i as g,n as _,r as v,t as y}from"./container-VI0MzukK.js";import{n as b,t as x}from"./dropdown-bhP6II8i.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-7W9CtA1g.js";import{Ai as D,J as O,Mi as k,Mt as A,Oi as j,Tn as M,Xi as N,Z as P,bn as F,pt as I,wi as L,xt as R}from"./index-0RhdvXdP.js";import{t as z}from"./BottomFooter-D2Usc-nq.js";var B=p({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:N,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},isHome(){return this.$route.name===A},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated},isMainOfficialHost(){return M()},isDesktopChrome(){return j()},isMacChrome(){return j()&&D()}},methods:{openTab(e){if(k()){P.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:A})},onLogin(){this.$store.dispatch(`login`,{redirect:this.$route.fullPath})},onDownload(){this.$router.push({name:R})},onProfile(){let e=L();this.openTab(F(`${e}/user/profile`))},onVerify(){let e=L();this.openTab(F(`${e}/user/verify`))},onConsole(){this.$router.push({name:I})},async onLogout(){this.$store.dispatch(`logout`)}}}),V={key:0,class:`mt-4 pr-10`},H={key:1,class:`float-right`},U=[`src`];function W(p,m,h,g,_,v){let y=s(`logo`),b=s(`el-col`),x=s(`el-menu-item`),S=s(`el-sub-menu`),C=s(`el-menu`),w=s(`el-button`),T=s(`language-selector`),E=s(`dark-selector`),D=s(`el-dropdown-item`),O=s(`el-dropdown-menu`),k=s(`el-dropdown`),A=s(`el-row`),j=d(`t`);return f(),l(A,{class:t([`header`,{"desktop-chrome":p.isDesktopChrome,"is-mac":p.isMacChrome,"home-only":p.isHome}])},{default:u(()=>[p.isHome?(f(),l(b,{key:0,span:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})):(f(),l(b,{key:1,md:4,xs:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:2,md:16,xs:13},{default:u(()=>[i(C,{"default-active":p.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:p.onSelect},{default:u(()=>[i(S,{index:p.products},{title:u(()=>[n(r(p.$t(`common.nav.products`)),1)]),default:u(()=>[p.site?.features?.chatgpt?.enabled?c((f(),l(x,{key:0,index:`/chat`},null,512)),[[j,`index.title.chat`]]):a(``,!0),p.site?.features?.midjourney?.enabled?c((f(),l(x,{key:1,index:`/midjourney`},null,512)),[[j,`index.title.midjourney`]]):a(``,!0),p.site?.features?.qrart?.enabled?c((f(),l(x,{key:2,index:`/qrart`},null,512)),[[j,`index.title.qrart`]]):a(``,!0),p.site?.features?.suno?.enabled?c((f(),l(x,{key:3,index:`/suno`},null,512)),[[j,`index.title.suno`]]):a(``,!0),p.site?.features?.luma?.enabled?c((f(),l(x,{key:4,index:`/luma`},null,512)),[[j,`index.title.luma`]]):a(``,!0)]),_:1},8,[`index`]),p.isMainOfficialHost?c((f(),l(x,{key:0,onRoute:e=>void 0,onClick:p.onDownload},null,8,[`onClick`])),[[j,`common.nav.mobileApp`]]):a(``,!0),c(i(x,{onRoute:e=>void 0,onClick:m[0]||=e=>p.openTab(`https://platform.acedata.cloud`)},null,512),[[j,`common.nav.apiPlatform`]]),c(i(x,{onRoute:e=>void 0,onClick:m[1]||=e=>p.openTab(`https://platform.acedata.cloud/support`)},null,512),[[j,`common.nav.support`]]),c(i(x,{onRoute:e=>void 0,onClick:m[2]||=e=>p.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[j,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:3,md:4,xs:11},{default:u(()=>[p.authenticated?(f(),o(`div`,H,[e(`div`,{class:`console`,onClick:m[3]||=(...e)=>p.onConsole&&p.onConsole(...e)},r(p.$t(`common.button.console`)),1),i(k,{trigger:`click`},{dropdown:u(()=>[i(O,null,{default:u(()=>[i(D,{onClick:p.onProfile},{default:u(()=>[n(r(p.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),i(D,{onClick:p.onLogout},{default:u(()=>[n(r(p.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[e(`img`,{src:p.user?.avatar||p.defaultAvatar,class:`avatar`},null,8,U)]),_:1})])):(f(),o(`div`,V,[i(w,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:p.onLogin},{default:u(()=>[n(r(p.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),i(T,{class:`locale float-right mr-4`}),i(E,{class:`float-right mr-4`})]))]),_:1}))]),_:1},8,[`class`])}var G=p({name:`LayoutIndex`,components:{TopHeader:O(B,[[`render`,W]]),BottomFooter:z,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function K(e,t,n,r,a,o){let c=s(`top-header`),d=s(`el-header`),p=s(`router-view`),m=s(`el-main`),h=s(`bottom-footer`),g=s(`el-footer`),_=s(`el-container`);return f(),l(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[i(d,{class:`header p-0 h-auto`},{default:u(()=>[i(c)]),_:1}),i(m,{class:`main`},{default:u(()=>[i(p)]),_:1}),i(g,{class:`footer p-0 h-auto`},{default:u(()=>[i(h)]),_:1})]),_:1})}var q=O(G,[[`render`,K]]);export{q as default};