@acedatacloud/nexior 3.278.9 → 3.278.10
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.
- package/dist/assets/{ApiCodeButton-REzWFnTi.js → ApiCodeButton-fiGmi1qu.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-EupVrx6h.js → AskUserQuestionCard-DiOwxeOm.js} +1 -1
- package/dist/assets/{Auth-CZyrj9-3.js → Auth-BStXEwCw.js} +1 -1
- package/dist/assets/{Bare-B1kEhTSm.js → Bare-Dw6EnvHm.js} +1 -1
- package/dist/assets/{BotPlaceholder-D6AUYJbe.js → BotPlaceholder-DhxmfW9u.js} +1 -1
- package/dist/assets/{BottomFooter-FhdYe5dh.js → BottomFooter-DnrRI7LR.js} +1 -1
- package/dist/assets/{Callback-CNue-cpb.js → Callback-5Umcw6Tz.js} +1 -1
- package/dist/assets/{Console-n8bdLCss.js → Console-DGL5yKDC.js} +1 -1
- package/dist/assets/{Consumption-BuxjrihL.js → Consumption-BR-vJ_zs.js} +1 -1
- package/dist/assets/{Conversation-CtkO8jCx.js → Conversation-Ch-lS2k2.js} +1 -1
- package/dist/assets/{CopyToClipboard-CkWzEIbo.js → CopyToClipboard-CF3D_XDP.js} +1 -1
- package/dist/assets/{Detail-CZhLSdUg.js → Detail-Da8jmBFW.js} +2 -2
- package/dist/assets/{Extra-Bt8RcdvE.js → Extra-CezJxw96.js} +1 -1
- package/dist/assets/{FilePreview-CGYMHZJL.js → FilePreview-S7Y8117j.js} +1 -1
- package/dist/assets/{Hailuo-v_qhDSni.js → Hailuo-oTZUG_YR.js} +1 -1
- package/dist/assets/{History-fqmkkEyY.js → History-KnQ7zUqn.js} +1 -1
- package/dist/assets/{ImagePreview-GRjlSvS4.js → ImagePreview-DBpc1Y4c.js} +1 -1
- package/dist/assets/{ImageWrapper-BXMMoMt0.js → ImageWrapper-C_7JmHBT.js} +1 -1
- package/dist/assets/{Index-B74Z6yEL.js → Index-B2xemiC4.js} +1 -1
- package/dist/assets/{Index-BkREEaRd.js → Index-B4AWjHvr.js} +1 -1
- package/dist/assets/{Index-CUBneeOA.js → Index-BNyOrgGd.js} +1 -1
- package/dist/assets/{Index-Bl2iZfs-.js → Index-BRzAq_x-.js} +1 -1
- package/dist/assets/{Index-CIevkASp.js → Index-Bf45aUKq.js} +1 -1
- package/dist/assets/{Index-CRFp52Yn.js → Index-Bf8aWc_9.js} +1 -1
- package/dist/assets/{Index-DHLXqKae.js → Index-Bh_vJ5cW.js} +1 -1
- package/dist/assets/{Index-C6uAvoOh.js → Index-Bj3DvohR.js} +1 -1
- package/dist/assets/Index-C8E_Nnso.js +1 -0
- package/dist/assets/{Index-BrXsiIVv.js → Index-CBequ2rX.js} +1 -1
- package/dist/assets/{Index-Cw3f1lpX.js → Index-CdAN0R19.js} +1 -1
- package/dist/assets/{Index-BqGJJRjE.js → Index-CqyyC4J4.js} +1 -1
- package/dist/assets/{Index-Dv6QH5PC.css → Index-D3mLso2o.css} +1 -1
- package/dist/assets/{Index-CBP-ENqe.js → Index-D7K9C6LS.js} +1 -1
- package/dist/assets/{Index-gtLgKZEJ.js → Index-D7NubzT5.js} +1 -1
- package/dist/assets/{Index-Bb0_rKP4.js → Index-D8QG5z09.js} +1 -1
- package/dist/assets/{Index-lhi3gupn.js → Index-DMbZyouF.js} +1 -1
- package/dist/assets/{Index-BZTeBNpg.js → Index-DYdKTux8.js} +1 -1
- package/dist/assets/{Index-Mtr6NRqd.js → Index-DdQFjIyG.js} +1 -1
- package/dist/assets/{Index-CADslUeN.js → Index-Dyra9ELV.js} +1 -1
- package/dist/assets/{Index-uSSx9k9W.js → Index-FLfx5sEo.js} +1 -1
- package/dist/assets/{Index-Be6ee_wk.js → Index-FgL2c8yR.js} +1 -1
- package/dist/assets/{Index-QVw1-svc.js → Index-U0XAzHnv.js} +1 -1
- package/dist/assets/{Index-B4RDAnRv.js → Index-VVF4ll7o.js} +1 -1
- package/dist/assets/{Index-DB_CFn0s.js → Index-ahXVwmXf.js} +1 -1
- package/dist/assets/{Index-C0zTgyrH.js → Index-flaGhrlr.js} +1 -1
- package/dist/assets/{Index-o7sXC2_x.js → Index-qi9p5tkr.js} +1 -1
- package/dist/assets/{Invitees-Do26z-J6.js → Invitees-5-HoIDNh.js} +1 -1
- package/dist/assets/{List-B5FFHyhW.js → List-270XCjh4.js} +1 -1
- package/dist/assets/{List-B6_jg8v-.js → List-DCXxqCdH.js} +1 -1
- package/dist/assets/{List-Db5992c5.js → List-DWTjLJnX.js} +1 -1
- package/dist/assets/{Main-D-hvVOor.js → Main-DcrJSPiU.js} +1 -1
- package/dist/assets/{Model-ypXMgUVu.js → Model-BnNa6Ejg.js} +1 -1
- package/dist/assets/{Navigator-Dj9Klk4n.js → Navigator-BT72r5-S.js} +1 -1
- package/dist/assets/{NoTasks-D1nl515w.js → NoTasks-BgpB38go.js} +1 -1
- package/dist/assets/{NotFound-B7Xz2xis.js → NotFound-DI0WTM0o.js} +1 -1
- package/dist/assets/{Pagination-CmrSJ6KO.js → Pagination-q5Qrsqvv.js} +1 -1
- package/dist/assets/{Pay-CZddANc4.js → Pay-CacvwpeV.js} +1 -1
- package/dist/assets/{Player-Cv61tC1H.js → Player-CiVVpV_R.js} +1 -1
- package/dist/assets/{Seedance-5gWXmNhJ.js → Seedance-Bfkm3zk0.js} +1 -1
- package/dist/assets/{Status-_YHPCaWd.js → Status-C6rAYiXq.js} +1 -1
- package/dist/assets/{Subscribe-BJY3joIy.js → Subscribe-B1I06xyZ.js} +1 -1
- package/dist/assets/{TabSwitcher-zHIVqqC5.js → TabSwitcher-CWKS1vll.js} +1 -1
- package/dist/assets/{Tts-F9mnYoWl.js → Tts-CFMm-qda.js} +1 -1
- package/dist/assets/{VideoPlayer-jpXY2eqV.js → VideoPlayer-DyHu8Aqk.js} +1 -1
- package/dist/assets/{avatar-BqxJwwVv.js → avatar-DYKoI-qg.js} +1 -1
- package/dist/assets/{basic-DeI97u8Z.js → basic-TQAfsjJ8.js} +1 -1
- package/dist/assets/{chat-0kuFIBOF.js → chat-Cjw1kdBE.js} +1 -1
- package/dist/assets/codingBridge-CuoYoXR3.js +2 -0
- package/dist/assets/{codingBridgeNotify-Cj8knhgo.js → codingBridgeNotify-BTSvNvJF.js} +2 -2
- package/dist/assets/{collapse-OXWImjIB.js → collapse-DjCo_1UV.js} +1 -1
- package/dist/assets/{createTaskActions-BXstjj_-.js → createTaskActions-CZwpPZA6.js} +1 -1
- package/dist/assets/{date-picker-DkUmHWbO.js → date-picker-p_3r2gZz.js} +1 -1
- package/dist/assets/{dropdown-BqlZM7xP.js → dropdown-6nhKllbG.js} +1 -1
- package/dist/assets/{esm-DosahcCz.js → esm-B8rbFNky.js} +2 -2
- package/dist/assets/{esm-2tCBm0S9.js → esm-BPAm2ZU8.js} +1 -1
- package/dist/assets/{esm-BqjOE_Rz.js → esm-BeqA3YBX.js} +3 -3
- package/dist/assets/esm-CJ7E8o6L.js +1 -0
- package/dist/assets/{esm-DHvo4C7K.js → esm-CMz4ztSO.js} +2 -2
- package/dist/assets/{esm-DkX0Owqf.js → esm-QlzFl90K.js} +1 -1
- package/dist/assets/{esm-BH24VVaM.js → esm-sduXTE0q.js} +1 -1
- package/dist/assets/{fish-Da9qHrfc.js → fish-CHdmnbnJ.js} +1 -1
- package/dist/assets/{flux-D20EfUog.js → flux-FLOfJmjc.js} +1 -1
- package/dist/assets/{grokvideo-B4bJdb1D.js → grokvideo-DRBLY_CE.js} +1 -1
- package/dist/assets/{hailuo-BUq4X2iE.js → hailuo-BVgKKzn3.js} +1 -1
- package/dist/assets/{headshots--mbPZPAq.js → headshots-BmMUFy7g.js} +1 -1
- package/dist/assets/{image-ttyLLhNO.js → image-D8-aqKyG.js} +1 -1
- package/dist/assets/{index-BcUyz1eC.js → index-De1puGQZ.js} +4 -4
- package/dist/assets/{index.browser.esm-D7qwwbRo.js → index.browser.esm-ED6MC0dI.js} +1 -1
- package/dist/assets/{index.es-yT7dU_Va.js → index.es-CdmaWL6t.js} +1 -1
- package/dist/assets/{input-number-CRxXaQtg.js → input-number-CfuESgWH.js} +1 -1
- package/dist/assets/{kling-Crk_aDmo.js → kling-BhO4SZCW.js} +1 -1
- package/dist/assets/{luma-D-MxQBcL.js → luma-CINBiDmj.js} +1 -1
- package/dist/assets/{midjourney-BbXzDU-a.js → midjourney-BpKn09Ep.js} +1 -1
- package/dist/assets/{nanobanana-Cit_myRl.js → nanobanana-DNEzCjP_.js} +1 -1
- package/dist/assets/{openaiimage-mTdO9rAh.js → openaiimage-4Ea3045-.js} +1 -1
- package/dist/assets/{pagination-BIoA190D.js → pagination-BVJMN1HT.js} +1 -1
- package/dist/assets/{pika-C5HrKDuf.js → pika-bmZhNART.js} +1 -1
- package/dist/assets/{pixverse-CbGESB37.js → pixverse-DWiTO6uS.js} +1 -1
- package/dist/assets/{popover-D-4s8qzP.js → popover-BXB2P2cK.js} +1 -1
- package/dist/assets/{producer-uiAkFvjr.js → producer-Sa-Prn3s.js} +1 -1
- package/dist/assets/{qrart-FZ43PKQa.js → qrart-Csu-lXnW.js} +1 -1
- package/dist/assets/{row-BaHDdZz8.js → row-Ccl653J6.js} +1 -1
- package/dist/assets/{seedance-5wbj0nko.js → seedance-CtMB-JU0.js} +1 -1
- package/dist/assets/{seedream-BxlpdHg-.js → seedream-td2TO2fB.js} +1 -1
- package/dist/assets/{select-CbNogKSw.js → select-CPnJWYIb.js} +1 -1
- package/dist/assets/{serp-DRGKWQuh.js → serp-BZ7ULtg8.js} +1 -1
- package/dist/assets/{slider-BMEjpoHD.js → slider-BQ4LUxQR.js} +1 -1
- package/dist/assets/{solana-wallets-4HrZaG6K.js → solana-wallets-CuUuKJOf.js} +2 -2
- package/dist/assets/{solana-wallets-vue-DXPEFDyY.js → solana-wallets-vue-Dw6yIewl.js} +1 -1
- package/dist/assets/{sora-BP2fiqEm.js → sora-DqJrlRWK.js} +1 -1
- package/dist/assets/{suno-B-4V86AS.js → suno-Cg3ISs4p.js} +1 -1
- package/dist/assets/{switch-tbd54zD9.js → switch-DFIgN0tr.js} +1 -1
- package/dist/assets/{tabs-Dg2VTIGH.js → tabs-GPvlIiKc.js} +1 -1
- package/dist/assets/{upload-_lBvoaGk.js → upload-BOWpUG79.js} +1 -1
- package/dist/assets/{veo-C4OUYU0q.js → veo-CeeFShZz.js} +1 -1
- package/dist/assets/{wan-Clufix5r.js → wan-DK0ljHB3.js} +1 -1
- package/dist/assets/{web-DNMeUKX7.js → web-4EBu-kmt.js} +1 -1
- package/dist/assets/{web-C8WBlBz4.js → web-BCL6k8kH.js} +1 -1
- package/dist/assets/{web-DkeLGLL2.js → web-CEA-SLiU.js} +1 -1
- package/dist/assets/{web-hkYj3ZPj.js → web-C_KZ3P1O.js} +1 -1
- package/dist/assets/{web-DMeH2Mwz.js → web-DxE9ZgCR.js} +1 -1
- package/dist/assets/{webextrator-vrN0dTOu.js → webextrator-CQk7-zmV.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Index-BI04nE8j.js +0 -1
- package/dist/assets/codingBridge-BBAHwtN1.js +0 -2
- package/dist/assets/esm-D__U9o7L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,b as f,k as p,tt as m,ut as h}from"./vendor-chart-BJCvKk8-.js";import{t as g}from"./button-DfsQodL-.js";import{r as _,t as v}from"./select-CbNogKSw.js";import{t as y}from"./upload-_lBvoaGk.js";import{t as b}from"./tooltip-BLwTovWL.js";import{t as x}from"./image-ttyLLhNO.js";import{t as S}from"./alert-OvnfgMB-.js";import{t as C}from"./input-number-CRxXaQtg.js";import{t as w}from"./switch-tbd54zD9.js";import{$t as T,At as E,Bt as D,Ft as O,Gt as k,Ht as ee,It as A,Jt as j,Kt as M,Lt as N,Nt as P,Pt as F,Qt as te,Rt as ne,Ut as re,Vt as ie,Wt as ae,Yt as I,Zt as oe,_i as L,jt as R,qt as z,zt as B}from"./constants-Doj9A7vw.js";import{$t as V,Ar as H,At as U,Cr as W,E as G,In as K,Mt as q,Pt as se,br as J,jt as ce,kt as le}from"./index-BcUyz1eC.js";import{t as Y}from"./index.es-yT7dU_Va.js";import{t as ue}from"./CopyToClipboard-CkWzEIbo.js";import{t as X}from"./ImagePreview-GRjlSvS4.js";import{t as de}from"./BotPlaceholder-D6AUYJbe.js";import{i as Z,n as fe,t as pe}from"./pagination-BIoA190D.js";import{n as me,t as he}from"./NoTasks-D1nl515w.js";import{t as ge}from"./Consumption-BuxjrihL.js";import{t as _e}from"./ApiCodeButton-REzWFnTi.js";import{t as ve}from"./ImageWrapper-BXMMoMt0.js";import{t as ye}from"./Seedance-5gWXmNhJ.js";import{t as be}from"./VideoPlayer-jpXY2eqV.js";var xe=r({name:`SeedancePromptInput`,components:{PromptTextarea:me},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Se(e,t,n,r,i,o){let s=m(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ce=G(xe,[[`render`,Se]]),we=r({name:`SeedanceModelSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:D,label:this.$t(`seedance.model.seedance20`)},{value:ie,label:this.$t(`seedance.model.seedance20Fast`)},{value:B,label:this.$t(`seedance.model.seedance15pro`)},{value:N,label:this.$t(`seedance.model.seedance10pro`)},{value:ne,label:this.$t(`seedance.model.seedance10proFast`)},{value:A,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:O,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=E}}),Te={class:`field`},Ee={class:`label`},De={class:`box`},Oe={class:`title font-bold`};function ke(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,Te,[n(`div`,Ee,[n(`div`,De,[n(`h2`,Oe,u(r.$t(`seedance.name.model`)),1),o(g,{content:r.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=G(we,[[`render`,ke],[`__scopeId`,`data-v-61816a81`]]),je=r({name:`SeedanceDurationSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:2,label:`2s`},{value:3,label:`3s`},{value:4,label:`4s`},{value:5,label:`5s`},{value:6,label:`6s`},{value:7,label:`7s`},{value:8,label:`8s`},{value:9,label:`9s`},{value:10,label:`10s`},{value:11,label:`11s`},{value:12,label:`12s`}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||=5}}),Me={class:`field`},Ne={class:`label`},Pe={class:`box`},Fe={class:`title font-bold`};function Ie(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,Me,[n(`div`,Ne,[n(`div`,Pe,[n(`h2`,Fe,u(r.$t(`seedance.name.duration`)),1),o(g,{content:r.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Le=G(je,[[`render`,Ie],[`__scopeId`,`data-v-5c809a72`]]),Re=I,Q={[j]:0,[I]:1,[z]:2},ze=r({name:`SeedanceResolutionSelector`,components:{InfoIcon:Z,ElTooltip:b},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},isLiteModel(){return typeof this.model==`string`&&this.model.includes(`-lite-`)},options(){let e=[{value:j,label:`480p`},{value:I,label:`720p`},{value:z,label:`1080p`}],t=this.isLiteModel;return e.map(e=>({...e,disabled:t&&Q[e.value]>Q[Re]}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),Be={class:`resolution`},Ve={class:`header`},He={class:`title font-bold`},Ue={class:`items`},We=[`onClick`];function Ge(r,i,c,f,p,g){let _=m(`info-icon`),v=m(`el-tooltip`);return d(),t(`div`,Be,[n(`div`,Ve,[n(`h2`,He,u(r.$t(`seedance.name.resolution`)),1),o(_,{content:r.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),n(`div`,Ue,[(d(!0),t(s,null,e(r.options,e=>(d(),a(v,{key:e.value,content:r.$t(`seedance.message.resolutionNotSupported`),disabled:!e.disabled,placement:`top`},{default:h(()=>[n(`div`,{class:l([`item`,{active:r.value===e.value,disabled:e.disabled}]),onClick:t=>r.onSelect(e)},u(e.label),11,We)]),_:2},1032,[`content`,`disabled`]))),128))])])}var Ke=G(ze,[[`render`,Ge],[`__scopeId`,`data-v-fd8d4e4b`]]),qe=r({name:`SeedanceRatioSelector`,components:{InfoIcon:Z},computed:{options(){return[{value:re,label:`16:9`,w:32,h:18},{value:k,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:ae,label:`21:9`,w:34,h:14},{value:M,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=R}}),Je={class:`ratio`},Ye={class:`header`},Xe={class:`title font-bold`},Ze={class:`items`},Qe=[`onClick`],$e={class:`preview`},et={key:1,class:`rect rect-auto`},tt={class:`name`};function nt(r,i,a,f,p,h){let g=m(`info-icon`);return d(),t(`div`,Je,[n(`div`,Ye,[n(`h2`,Xe,u(r.$t(`seedance.name.ratio`)),1),o(g,{content:r.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),n(`div`,Ze,[(d(!0),t(s,null,e(r.options,e=>(d(),t(`div`,{key:e.value,class:l([`item`,{active:r.value===e.value}]),onClick:t=>r.value=e.value},[n(`div`,$e,[e.w&&e.h?(d(),t(`div`,{key:0,class:`rect`,style:c({width:e.w+`px`,height:e.h+`px`})},null,4)):(d(),t(`div`,et,`A`))]),n(`div`,tt,u(e.label),1)],10,Qe))),128))])])}var rt=G(qe,[[`render`,nt],[`__scopeId`,`data-v-8ddec2dd`]]),it=r({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return T(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),at={key:0,class:`field`},ot={class:`label`},st={class:`box`},ct={class:`title font-bold`},lt={class:`value`};function ut(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return e.isSupported?(d(),t(`div`,at,[n(`div`,ot,[n(`div`,st,[n(`h2`,ct,u(e.$t(`seedance.name.generateAudio`)),1),o(l,{content:e.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),n(`div`,lt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):p(``,!0)}var dt=G(it,[[`render`,ut],[`__scopeId`,`data-v-df51dfbd`]]),ft=r({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),pt={class:`field`},mt={class:`label`},ht={class:`box`},gt={class:`title font-bold`},_t={class:`value`};function vt(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return d(),t(`div`,pt,[n(`div`,mt,[n(`div`,ht,[n(`h2`,gt,u(e.$t(`seedance.name.cameraFixed`)),1),o(l,{content:e.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),n(`div`,_t,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var yt=G(ft,[[`render`,vt],[`__scopeId`,`data-v-ae777d61`]]),bt=r({name:`SeedanceFirstFrameImage`,components:{ElUpload:y,ElButton:g,InfoIcon:Z,FontAwesomeIcon:Y,ImagePreview:X},mixins:[q,U],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){H.warning(this.$t(`seedance.message.uploadExceed`))},onError(){H.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),xt={key:0,class:`relative`},St={class:`flex justify-between`},Ct={class:`flex justify-start items-center`},wt={class:`text-sm font-bold`},Tt={key:0,class:`required-badge`};function Et(e,r,s,c,l,f){let g=m(`info-icon`),_=m(`image-preview`),v=m(`font-awesome-icon`),y=m(`el-button`),b=m(`el-upload`);return e.capability.acceptsImage?(d(),t(`div`,xt,[n(`div`,St,[n(`div`,Ct,[n(`span`,wt,u(e.$t(`seedance.name.firstFrame`)),1),e.capability.requiresImage?(d(),t(`span`,Tt,u(e.$t(`seedance.name.required`)),1)):p(``,!0),o(g,{content:e.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):p(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):p(``,!0)}var Dt=G(bt,[[`render`,Et],[`__scopeId`,`data-v-e2597f23`]]),Ot=r({name:`SeedanceLastFrameImage`,components:{ElUpload:y,ElButton:g,ImagePreview:X,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[q,U],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){H.warning(this.$t(`seedance.message.uploadExceed`))},onError(){H.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),kt={key:0,class:`relative`},At={class:`flex justify-between`},jt={class:`flex justify-start items-center`},Mt={class:`text-sm font-bold`};function Nt(e,r,s,c,l,f){let g=m(`info-icon`),_=m(`image-preview`),v=m(`font-awesome-icon`),y=m(`el-button`),b=m(`el-upload`);return e.capability.acceptsLastFrame?(d(),t(`div`,kt,[n(`div`,At,[n(`div`,jt,[n(`span`,Mt,u(e.$t(`seedance.name.lastFrame`)),1),o(g,{content:e.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):p(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):p(``,!0)}var Pt=G(Ot,[[`render`,Nt],[`__scopeId`,`data-v-3a191e51`]]),Ft=r({name:`SeedanceServiceTierSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:oe,label:this.$t(`seedance.serviceTier.default`)},{value:te,label:this.$t(`seedance.serviceTier.flex`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||=P}}),It={class:`field`},Lt={class:`label`},Rt={class:`box`},zt={class:`title font-bold`};function Bt(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,It,[n(`div`,Lt,[n(`div`,Rt,[n(`h2`,zt,u(r.$t(`seedance.name.serviceTier`)),1),o(g,{content:r.$t(`seedance.description.serviceTier`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Vt=G(Ft,[[`render`,Bt],[`__scopeId`,`data-v-cc938de2`]]),Ht=r({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return T(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Ut={key:0,class:`field`},Wt={class:`label`},Gt={class:`box`},Kt={class:`title font-bold`},qt={class:`value`};function Jt(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return e.isSupported?(d(),t(`div`,Ut,[n(`div`,Wt,[n(`div`,Gt,[n(`h2`,Kt,u(e.$t(`seedance.name.returnLastFrame`)),1),o(l,{content:e.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),n(`div`,qt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):p(``,!0)}var Yt=G(Ht,[[`render`,Jt],[`__scopeId`,`data-v-edea5451`]]),Xt=r({name:`SeedanceSeedInput`,components:{ElInputNumber:C,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),Zt={class:`field`},Qt={class:`label`},$t={class:`box`},en={class:`title font-bold`},tn={class:`value`};function nn(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-input-number`);return d(),t(`div`,Zt,[n(`div`,Qt,[n(`div`,$t,[n(`h2`,en,u(e.$t(`seedance.name.seed`)),1),o(l,{content:e.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),n(`div`,tn,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var rn=r({name:`SeedanceConfigPanel`,components:{ElButton:g,FontAwesomeIcon:Y,PromptInput:Ce,ModelSelector:Ae,DurationSelector:Le,ResolutionSelector:Ke,RatioSelector:rt,GenerateAudioSwitch:dt,CameraFixedSwitch:yt,ServiceTierSelector:Vt,ReturnLastFrameSwitch:Yt,SeedInput:G(Xt,[[`render`,nn],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Dt,LastFrameImage:Pt,Consumption:ge},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return se(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),an={class:`flex flex-col h-full`},on={class:`flex-1 overflow-y-auto p-5`},sn={class:`flex flex-col items-center justify-center px-5 pb-5`};function cn(e,r,a,s,c,l){let f=m(`prompt-input`),p=m(`model-selector`),g=m(`ratio-selector`),_=m(`resolution-selector`),v=m(`duration-selector`),y=m(`service-tier-selector`),b=m(`generate-audio-switch`),x=m(`camera-fixed-switch`),S=m(`return-last-frame-switch`),C=m(`seed-input`),w=m(`first-frame-image`),T=m(`last-frame-image`),E=m(`consumption`),D=m(`font-awesome-icon`),O=m(`el-button`);return d(),t(`div`,an,[n(`div`,on,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-2`}),o(T,{class:`mb-2`})]),n(`div`,sn,[o(E,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(O,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(D,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ln=G(rn,[[`render`,cn]]),un=r({name:`SeedanceTaskPreview`,components:{ElImage:x,CopyToClipboard:ue,FontAwesomeIcon:Y,ElAlert:S,VideoPlayer:be,ElTooltip:b,ElButton:g,ImageWrapper:ve,ImagePreview:X,ApiCodeButton:_e},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:F}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){let e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t}},methods:{onDownload(e){window.open(e,`_blank`)}}}),dn={class:`preview`},fn={class:`left`},pn={class:`main`},mn={class:`bot`},hn={class:`datetime`},gn={class:`info`},_n={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},vn={key:1,class:`prompt mt-2`},yn={key:0},bn={key:1},xn={key:0,class:l({content:!0})},Sn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:1,class:l({content:!0})},wn={key:0,class:`mb-4`},Tn={key:1,class:`mb-4`},En={key:2,class:l({operations:!0,"mt-2":!0,"mb-2":!0})},Dn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},On={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},An={key:0},jn={key:1},Mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pn={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Fn={key:2,class:l({content:!0})},In={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Bn={key:3,class:l({content:!0})},Vn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Hn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Un(r,c,l,g,_,v){let y=m(`el-image`),b=m(`image-preview`),x=m(`font-awesome-icon`),S=m(`copy-to-clipboard`),C=m(`el-alert`),w=m(`video-player`),T=m(`image-wrapper`),E=m(`el-button`),D=m(`el-tooltip`),O=m(`api-code-button`);return d(),t(`div`,dn,[n(`div`,fn,[o(y,{src:r.seedanceLogo,class:`avatar`},null,8,[`src`])]),n(`div`,pn,[n(`div`,mn,[i(u(r.$t(`seedance.name.seedanceBot`))+` `,1),n(`span`,hn,u(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,gn,[r.referenceImages.length>0?(d(),t(`div`,_n,[(d(!0),t(s,null,e(r.referenceImages,(e,t)=>(d(),a(b,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):p(``,!0),r.modelValue?.request?.prompt?(d(),t(`p`,vn,[i(u(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?r.video?.status===`processing`||r.video?.status===`pending`?(d(),t(`span`,bn,` - (`+u(r.$t(`seedance.status.processing`))+`) `,1)):p(``,!0):(d(),t(`span`,yn,` - (`+u(r.$t(`seedance.status.pending`))+`) `,1))])):p(``,!0)]),r.modelValue?.response?r.modelValue?.response?.success===!0?(d(),t(`div`,Cn,[r.video?.video_url?(d(),t(`div`,wn,[o(w,{src:r.video?.video_url},null,8,[`src`])])):p(``,!0),r.video?.last_frame_url?(d(),t(`div`,Tn,[o(T,{src:r.video?.last_frame_url,"raw-src":r.video?.last_frame_url},null,8,[`src`,`raw-src`])])):p(``,!0),r.video?.video_url?(d(),t(`div`,En,[o(D,{class:`box-item`,effect:`dark`,content:r.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:h(()=>[o(E,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=f(e=>r.onDownload(r.video?.video_url),[`stop`])},{default:h(()=>[i(u(r.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(O,{path:`/seedance/videos`,body:r.modelValue?.request},null,8,[`body`])])):p(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r.modelValue?.request?.model?(d(),t(`p`,Dn,[o(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.model`))+`: `+u(r.modelValue?.request?.model),1)])):p(``,!0),r.video?.duration?(d(),t(`p`,On,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.duration`))+`: `+u(r.video?.duration)+`s `,1)])):p(``,!0),r.video?.resolution?(d(),t(`p`,kn,[o(x,{icon:`fa-solid fa-expand`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.resolution`))+`: `+u(r.video?.resolution)+` `,1),r.video?.ratio?(d(),t(`span`,An,` · `+u(r.video?.ratio),1)):p(``,!0),r.video?.framespersecond?(d(),t(`span`,jn,` · `+u(r.video?.framespersecond)+`fps`,1)):p(``,!0)])):p(``,!0),r.modelValue?.request?.generate_audio?(d(),t(`p`,Mn,[o(x,{icon:`fa-solid fa-volume-up`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.generateAudio`))+`: `+u(r.$t(`seedance.button.on`)),1)])):p(``,!0),n(`p`,Nn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(d(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,Pn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(d(),t(`div`,Fn,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.failure`)),1)]),default:h(()=>[n(`p`,In,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.response?.error?.message?(d(),t(`p`,Ln,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.failureReason`))+`: `+u(r.modelValue?.response?.error?.message)+` `,1),o(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0),r.modelValue?.elapsed?(d(),t(`p`,Rn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,zn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):(d(),t(`div`,Bn,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.status`)),1)]),default:h(()=>[n(`p`,Vn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.response?.trace_id?(d(),t(`p`,Hn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):(d(),t(`div`,xn,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.status.pending`)),1)]),default:h(()=>[n(`p`,Sn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Wn=r({name:`SeedanceRecentPanel`,components:{TaskPreview:G(un,[[`render`,Un],[`__scopeId`,`data-v-8b7e10f0`]]),BotPlaceholder:de,NoTasks:he,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Gn={key:0},Kn={key:2,class:`w-full h-full flex items-center justify-center`};function qn(n,r,i,c,l,u){let f=m(`bot-placeholder`),g=m(`task-preview`),_=m(`scroll-list`),v=m(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,Gn,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:h(()=>[(d(!0),t(s,null,e(n.tasks?.items,e=>(d(),a(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):p(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,Kn,[o(v)])):p(``,!0)],64)}var Jn=G(Wn,[[`render`,qn]]),Yn=L(`seedance`),Xn=r({name:`SeedanceIndex`,components:{ConfigPanel:ln,Layout:ye,RecentPanel:Jn},mixins:[ce],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===J.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!le(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e={...this.config||{}};if(typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(e=>!!e?.url);let t=e.images.some(e=>e?.role===`first_frame`),n=e.images.some(e=>e?.role===`last_frame`);!t&&n&&(e.images=e.images.map(e=>e?.role===`last_frame`?{...e,role:`first_frame`}:e))}let t=Array.isArray(e?.images)&&e.images.length>0;if(!t&&`images`in e&&delete e.images,e?.model&&!ee[e.model]){H.warning(this.$t(`seedance.message.modelUnsupported`));return}let n=T(e?.model);if(n.requiresImage&&!t){H.warning(this.$t(`seedance.message.modelRequiresImage`));return}if(!n.acceptsImage&&t){H.warning(this.$t(`seedance.message.modelRejectsImage`));return}if(!n.acceptsText&&!t){H.warning(this.$t(`seedance.message.modelRequiresImage`));return}!n.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!n.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!n.acceptsLastFrame&&t&&(e.images=e.images.filter(e=>e?.role!==`last_frame`));let r={...e,callback_url:Yn},i=this.credential?.token;if(!i){console.error(`no token specified`);return}H.info(this.$t(`seedance.message.startingTask`)),K(`seedance`,V.generate(r,{token:i})).then(()=>{H.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?H.error(this.$t(`seedance.message.usedUp`)):H.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Zn(e,t,n,r,i,s){let c=m(`config-panel`),l=m(`recent-panel`),u=m(`layout`);return d(),a(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Qn=G(Xn,[[`render`,Zn]]);export{Qn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,b as f,k as p,tt as m,ut as h}from"./vendor-chart-BJCvKk8-.js";import{t as g}from"./button-DfsQodL-.js";import{r as _,t as v}from"./select-CPnJWYIb.js";import{t as y}from"./upload-BOWpUG79.js";import{t as b}from"./tooltip-BLwTovWL.js";import{t as x}from"./image-D8-aqKyG.js";import{t as S}from"./alert-OvnfgMB-.js";import{t as C}from"./input-number-CfuESgWH.js";import{t as w}from"./switch-DFIgN0tr.js";import{$t as T,At as E,Bt as D,Ft as O,Gt as k,Ht as ee,It as A,Jt as j,Kt as M,Lt as N,Nt as P,Pt as F,Qt as te,Rt as ne,Ut as re,Vt as ie,Wt as ae,Yt as I,Zt as oe,_i as L,jt as R,qt as z,zt as B}from"./constants-Doj9A7vw.js";import{$t as V,Ar as H,At as U,Cr as W,E as G,In as K,Mt as q,Pt as se,br as J,jt as ce,kt as le}from"./index-De1puGQZ.js";import{t as Y}from"./index.es-CdmaWL6t.js";import{t as ue}from"./CopyToClipboard-CF3D_XDP.js";import{t as X}from"./ImagePreview-DBpc1Y4c.js";import{t as de}from"./BotPlaceholder-DhxmfW9u.js";import{i as Z,n as fe,t as pe}from"./pagination-BVJMN1HT.js";import{n as me,t as he}from"./NoTasks-BgpB38go.js";import{t as ge}from"./Consumption-BR-vJ_zs.js";import{t as _e}from"./ApiCodeButton-fiGmi1qu.js";import{t as ve}from"./ImageWrapper-C_7JmHBT.js";import{t as ye}from"./Seedance-Bfkm3zk0.js";import{t as be}from"./VideoPlayer-DyHu8Aqk.js";var xe=r({name:`SeedancePromptInput`,components:{PromptTextarea:me},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Se(e,t,n,r,i,o){let s=m(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ce=G(xe,[[`render`,Se]]),we=r({name:`SeedanceModelSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:D,label:this.$t(`seedance.model.seedance20`)},{value:ie,label:this.$t(`seedance.model.seedance20Fast`)},{value:B,label:this.$t(`seedance.model.seedance15pro`)},{value:N,label:this.$t(`seedance.model.seedance10pro`)},{value:ne,label:this.$t(`seedance.model.seedance10proFast`)},{value:A,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:O,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=E}}),Te={class:`field`},Ee={class:`label`},De={class:`box`},Oe={class:`title font-bold`};function ke(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,Te,[n(`div`,Ee,[n(`div`,De,[n(`h2`,Oe,u(r.$t(`seedance.name.model`)),1),o(g,{content:r.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=G(we,[[`render`,ke],[`__scopeId`,`data-v-61816a81`]]),je=r({name:`SeedanceDurationSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:2,label:`2s`},{value:3,label:`3s`},{value:4,label:`4s`},{value:5,label:`5s`},{value:6,label:`6s`},{value:7,label:`7s`},{value:8,label:`8s`},{value:9,label:`9s`},{value:10,label:`10s`},{value:11,label:`11s`},{value:12,label:`12s`}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||=5}}),Me={class:`field`},Ne={class:`label`},Pe={class:`box`},Fe={class:`title font-bold`};function Ie(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,Me,[n(`div`,Ne,[n(`div`,Pe,[n(`h2`,Fe,u(r.$t(`seedance.name.duration`)),1),o(g,{content:r.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Le=G(je,[[`render`,Ie],[`__scopeId`,`data-v-5c809a72`]]),Re=I,Q={[j]:0,[I]:1,[z]:2},ze=r({name:`SeedanceResolutionSelector`,components:{InfoIcon:Z,ElTooltip:b},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},isLiteModel(){return typeof this.model==`string`&&this.model.includes(`-lite-`)},options(){let e=[{value:j,label:`480p`},{value:I,label:`720p`},{value:z,label:`1080p`}],t=this.isLiteModel;return e.map(e=>({...e,disabled:t&&Q[e.value]>Q[Re]}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),Be={class:`resolution`},Ve={class:`header`},He={class:`title font-bold`},Ue={class:`items`},We=[`onClick`];function Ge(r,i,c,f,p,g){let _=m(`info-icon`),v=m(`el-tooltip`);return d(),t(`div`,Be,[n(`div`,Ve,[n(`h2`,He,u(r.$t(`seedance.name.resolution`)),1),o(_,{content:r.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),n(`div`,Ue,[(d(!0),t(s,null,e(r.options,e=>(d(),a(v,{key:e.value,content:r.$t(`seedance.message.resolutionNotSupported`),disabled:!e.disabled,placement:`top`},{default:h(()=>[n(`div`,{class:l([`item`,{active:r.value===e.value,disabled:e.disabled}]),onClick:t=>r.onSelect(e)},u(e.label),11,We)]),_:2},1032,[`content`,`disabled`]))),128))])])}var Ke=G(ze,[[`render`,Ge],[`__scopeId`,`data-v-fd8d4e4b`]]),qe=r({name:`SeedanceRatioSelector`,components:{InfoIcon:Z},computed:{options(){return[{value:re,label:`16:9`,w:32,h:18},{value:k,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:ae,label:`21:9`,w:34,h:14},{value:M,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=R}}),Je={class:`ratio`},Ye={class:`header`},Xe={class:`title font-bold`},Ze={class:`items`},Qe=[`onClick`],$e={class:`preview`},et={key:1,class:`rect rect-auto`},tt={class:`name`};function nt(r,i,a,f,p,h){let g=m(`info-icon`);return d(),t(`div`,Je,[n(`div`,Ye,[n(`h2`,Xe,u(r.$t(`seedance.name.ratio`)),1),o(g,{content:r.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),n(`div`,Ze,[(d(!0),t(s,null,e(r.options,e=>(d(),t(`div`,{key:e.value,class:l([`item`,{active:r.value===e.value}]),onClick:t=>r.value=e.value},[n(`div`,$e,[e.w&&e.h?(d(),t(`div`,{key:0,class:`rect`,style:c({width:e.w+`px`,height:e.h+`px`})},null,4)):(d(),t(`div`,et,`A`))]),n(`div`,tt,u(e.label),1)],10,Qe))),128))])])}var rt=G(qe,[[`render`,nt],[`__scopeId`,`data-v-8ddec2dd`]]),it=r({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return T(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),at={key:0,class:`field`},ot={class:`label`},st={class:`box`},ct={class:`title font-bold`},lt={class:`value`};function ut(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return e.isSupported?(d(),t(`div`,at,[n(`div`,ot,[n(`div`,st,[n(`h2`,ct,u(e.$t(`seedance.name.generateAudio`)),1),o(l,{content:e.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),n(`div`,lt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):p(``,!0)}var dt=G(it,[[`render`,ut],[`__scopeId`,`data-v-df51dfbd`]]),ft=r({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),pt={class:`field`},mt={class:`label`},ht={class:`box`},gt={class:`title font-bold`},_t={class:`value`};function vt(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return d(),t(`div`,pt,[n(`div`,mt,[n(`div`,ht,[n(`h2`,gt,u(e.$t(`seedance.name.cameraFixed`)),1),o(l,{content:e.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),n(`div`,_t,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var yt=G(ft,[[`render`,vt],[`__scopeId`,`data-v-ae777d61`]]),bt=r({name:`SeedanceFirstFrameImage`,components:{ElUpload:y,ElButton:g,InfoIcon:Z,FontAwesomeIcon:Y,ImagePreview:X},mixins:[q,U],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){H.warning(this.$t(`seedance.message.uploadExceed`))},onError(){H.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),xt={key:0,class:`relative`},St={class:`flex justify-between`},Ct={class:`flex justify-start items-center`},wt={class:`text-sm font-bold`},Tt={key:0,class:`required-badge`};function Et(e,r,s,c,l,f){let g=m(`info-icon`),_=m(`image-preview`),v=m(`font-awesome-icon`),y=m(`el-button`),b=m(`el-upload`);return e.capability.acceptsImage?(d(),t(`div`,xt,[n(`div`,St,[n(`div`,Ct,[n(`span`,wt,u(e.$t(`seedance.name.firstFrame`)),1),e.capability.requiresImage?(d(),t(`span`,Tt,u(e.$t(`seedance.name.required`)),1)):p(``,!0),o(g,{content:e.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):p(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):p(``,!0)}var Dt=G(bt,[[`render`,Et],[`__scopeId`,`data-v-e2597f23`]]),Ot=r({name:`SeedanceLastFrameImage`,components:{ElUpload:y,ElButton:g,ImagePreview:X,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[q,U],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return T(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){H.warning(this.$t(`seedance.message.uploadExceed`))},onError(){H.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),kt={key:0,class:`relative`},At={class:`flex justify-between`},jt={class:`flex justify-start items-center`},Mt={class:`text-sm font-bold`};function Nt(e,r,s,c,l,f){let g=m(`info-icon`),_=m(`image-preview`),v=m(`font-awesome-icon`),y=m(`el-button`),b=m(`el-upload`);return e.capability.acceptsLastFrame?(d(),t(`div`,kt,[n(`div`,At,[n(`div`,jt,[n(`span`,Mt,u(e.$t(`seedance.name.lastFrame`)),1),o(g,{content:e.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):p(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):p(``,!0)}var Pt=G(Ot,[[`render`,Nt],[`__scopeId`,`data-v-3a191e51`]]),Ft=r({name:`SeedanceServiceTierSelector`,components:{ElSelect:_,ElOption:v,InfoIcon:Z},data(){return{options:[{value:oe,label:this.$t(`seedance.serviceTier.default`)},{value:te,label:this.$t(`seedance.serviceTier.flex`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||=P}}),It={class:`field`},Lt={class:`label`},Rt={class:`box`},zt={class:`title font-bold`};function Bt(r,i,c,l,f,p){let g=m(`info-icon`),_=m(`el-option`),v=m(`el-select`);return d(),t(`div`,It,[n(`div`,Lt,[n(`div`,Rt,[n(`h2`,zt,u(r.$t(`seedance.name.serviceTier`)),1),o(g,{content:r.$t(`seedance.description.serviceTier`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedance.placeholder.select`)},{default:h(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Vt=G(Ft,[[`render`,Bt],[`__scopeId`,`data-v-cc938de2`]]),Ht=r({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:w,InfoIcon:Z},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return T(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Ut={key:0,class:`field`},Wt={class:`label`},Gt={class:`box`},Kt={class:`title font-bold`},qt={class:`value`};function Jt(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-switch`);return e.isSupported?(d(),t(`div`,Ut,[n(`div`,Wt,[n(`div`,Gt,[n(`h2`,Kt,u(e.$t(`seedance.name.returnLastFrame`)),1),o(l,{content:e.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),n(`div`,qt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):p(``,!0)}var Yt=G(Ht,[[`render`,Jt],[`__scopeId`,`data-v-edea5451`]]),Xt=r({name:`SeedanceSeedInput`,components:{ElInputNumber:C,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),Zt={class:`field`},Qt={class:`label`},$t={class:`box`},en={class:`title font-bold`},tn={class:`value`};function nn(e,r,i,a,s,c){let l=m(`info-icon`),f=m(`el-input-number`);return d(),t(`div`,Zt,[n(`div`,Qt,[n(`div`,$t,[n(`h2`,en,u(e.$t(`seedance.name.seed`)),1),o(l,{content:e.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),n(`div`,tn,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var rn=r({name:`SeedanceConfigPanel`,components:{ElButton:g,FontAwesomeIcon:Y,PromptInput:Ce,ModelSelector:Ae,DurationSelector:Le,ResolutionSelector:Ke,RatioSelector:rt,GenerateAudioSwitch:dt,CameraFixedSwitch:yt,ServiceTierSelector:Vt,ReturnLastFrameSwitch:Yt,SeedInput:G(Xt,[[`render`,nn],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Dt,LastFrameImage:Pt,Consumption:ge},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return se(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),an={class:`flex flex-col h-full`},on={class:`flex-1 overflow-y-auto p-5`},sn={class:`flex flex-col items-center justify-center px-5 pb-5`};function cn(e,r,a,s,c,l){let f=m(`prompt-input`),p=m(`model-selector`),g=m(`ratio-selector`),_=m(`resolution-selector`),v=m(`duration-selector`),y=m(`service-tier-selector`),b=m(`generate-audio-switch`),x=m(`camera-fixed-switch`),S=m(`return-last-frame-switch`),C=m(`seed-input`),w=m(`first-frame-image`),T=m(`last-frame-image`),E=m(`consumption`),D=m(`font-awesome-icon`),O=m(`el-button`);return d(),t(`div`,an,[n(`div`,on,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-2`}),o(T,{class:`mb-2`})]),n(`div`,sn,[o(E,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(O,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(D,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ln=G(rn,[[`render`,cn]]),un=r({name:`SeedanceTaskPreview`,components:{ElImage:x,CopyToClipboard:ue,FontAwesomeIcon:Y,ElAlert:S,VideoPlayer:be,ElTooltip:b,ElButton:g,ImageWrapper:ve,ImagePreview:X,ApiCodeButton:_e},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:F}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){let e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t}},methods:{onDownload(e){window.open(e,`_blank`)}}}),dn={class:`preview`},fn={class:`left`},pn={class:`main`},mn={class:`bot`},hn={class:`datetime`},gn={class:`info`},_n={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},vn={key:1,class:`prompt mt-2`},yn={key:0},bn={key:1},xn={key:0,class:l({content:!0})},Sn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:1,class:l({content:!0})},wn={key:0,class:`mb-4`},Tn={key:1,class:`mb-4`},En={key:2,class:l({operations:!0,"mt-2":!0,"mb-2":!0})},Dn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},On={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},An={key:0},jn={key:1},Mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pn={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Fn={key:2,class:l({content:!0})},In={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Bn={key:3,class:l({content:!0})},Vn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Hn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Un(r,c,l,g,_,v){let y=m(`el-image`),b=m(`image-preview`),x=m(`font-awesome-icon`),S=m(`copy-to-clipboard`),C=m(`el-alert`),w=m(`video-player`),T=m(`image-wrapper`),E=m(`el-button`),D=m(`el-tooltip`),O=m(`api-code-button`);return d(),t(`div`,dn,[n(`div`,fn,[o(y,{src:r.seedanceLogo,class:`avatar`},null,8,[`src`])]),n(`div`,pn,[n(`div`,mn,[i(u(r.$t(`seedance.name.seedanceBot`))+` `,1),n(`span`,hn,u(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,gn,[r.referenceImages.length>0?(d(),t(`div`,_n,[(d(!0),t(s,null,e(r.referenceImages,(e,t)=>(d(),a(b,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):p(``,!0),r.modelValue?.request?.prompt?(d(),t(`p`,vn,[i(u(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?r.video?.status===`processing`||r.video?.status===`pending`?(d(),t(`span`,bn,` - (`+u(r.$t(`seedance.status.processing`))+`) `,1)):p(``,!0):(d(),t(`span`,yn,` - (`+u(r.$t(`seedance.status.pending`))+`) `,1))])):p(``,!0)]),r.modelValue?.response?r.modelValue?.response?.success===!0?(d(),t(`div`,Cn,[r.video?.video_url?(d(),t(`div`,wn,[o(w,{src:r.video?.video_url},null,8,[`src`])])):p(``,!0),r.video?.last_frame_url?(d(),t(`div`,Tn,[o(T,{src:r.video?.last_frame_url,"raw-src":r.video?.last_frame_url},null,8,[`src`,`raw-src`])])):p(``,!0),r.video?.video_url?(d(),t(`div`,En,[o(D,{class:`box-item`,effect:`dark`,content:r.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:h(()=>[o(E,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=f(e=>r.onDownload(r.video?.video_url),[`stop`])},{default:h(()=>[i(u(r.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(O,{path:`/seedance/videos`,body:r.modelValue?.request},null,8,[`body`])])):p(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:h(()=>[r.modelValue?.request?.model?(d(),t(`p`,Dn,[o(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.model`))+`: `+u(r.modelValue?.request?.model),1)])):p(``,!0),r.video?.duration?(d(),t(`p`,On,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.duration`))+`: `+u(r.video?.duration)+`s `,1)])):p(``,!0),r.video?.resolution?(d(),t(`p`,kn,[o(x,{icon:`fa-solid fa-expand`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.resolution`))+`: `+u(r.video?.resolution)+` `,1),r.video?.ratio?(d(),t(`span`,An,` · `+u(r.video?.ratio),1)):p(``,!0),r.video?.framespersecond?(d(),t(`span`,jn,` · `+u(r.video?.framespersecond)+`fps`,1)):p(``,!0)])):p(``,!0),r.modelValue?.request?.generate_audio?(d(),t(`p`,Mn,[o(x,{icon:`fa-solid fa-volume-up`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.generateAudio`))+`: `+u(r.$t(`seedance.button.on`)),1)])):p(``,!0),n(`p`,Nn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(d(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,Pn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(d(),t(`div`,Fn,[o(C,{closable:!1,class:`failure`},{template:h(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.failure`)),1)]),default:h(()=>[n(`p`,In,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.response?.error?.message?(d(),t(`p`,Ln,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.failureReason`))+`: `+u(r.modelValue?.response?.error?.message)+` `,1),o(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0),r.modelValue?.elapsed?(d(),t(`p`,Rn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,zn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):(d(),t(`div`,Bn,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.status`)),1)]),default:h(()=>[n(`p`,Vn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.response?.trace_id?(d(),t(`p`,Hn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):p(``,!0)]),_:1})])):(d(),t(`div`,xn,[o(C,{closable:!1,class:`info`},{template:h(()=>[o(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`seedance.status.pending`)),1)]),default:h(()=>[n(`p`,Sn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`seedance.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Wn=r({name:`SeedanceRecentPanel`,components:{TaskPreview:G(un,[[`render`,Un],[`__scopeId`,`data-v-8b7e10f0`]]),BotPlaceholder:de,NoTasks:he,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Gn={key:0},Kn={key:2,class:`w-full h-full flex items-center justify-center`};function qn(n,r,i,c,l,u){let f=m(`bot-placeholder`),g=m(`task-preview`),_=m(`scroll-list`),v=m(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,Gn,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:h(()=>[(d(!0),t(s,null,e(n.tasks?.items,e=>(d(),a(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):p(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,Kn,[o(v)])):p(``,!0)],64)}var Jn=G(Wn,[[`render`,qn]]),Yn=L(`seedance`),Xn=r({name:`SeedanceIndex`,components:{ConfigPanel:ln,Layout:ye,RecentPanel:Jn},mixins:[ce],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===J.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!le(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e={...this.config||{}};if(typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(e=>!!e?.url);let t=e.images.some(e=>e?.role===`first_frame`),n=e.images.some(e=>e?.role===`last_frame`);!t&&n&&(e.images=e.images.map(e=>e?.role===`last_frame`?{...e,role:`first_frame`}:e))}let t=Array.isArray(e?.images)&&e.images.length>0;if(!t&&`images`in e&&delete e.images,e?.model&&!ee[e.model]){H.warning(this.$t(`seedance.message.modelUnsupported`));return}let n=T(e?.model);if(n.requiresImage&&!t){H.warning(this.$t(`seedance.message.modelRequiresImage`));return}if(!n.acceptsImage&&t){H.warning(this.$t(`seedance.message.modelRejectsImage`));return}if(!n.acceptsText&&!t){H.warning(this.$t(`seedance.message.modelRequiresImage`));return}!n.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!n.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!n.acceptsLastFrame&&t&&(e.images=e.images.filter(e=>e?.role!==`last_frame`));let r={...e,callback_url:Yn},i=this.credential?.token;if(!i){console.error(`no token specified`);return}H.info(this.$t(`seedance.message.startingTask`)),K(`seedance`,V.generate(r,{token:i})).then(()=>{H.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?H.error(this.$t(`seedance.message.usedUp`)):H.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Zn(e,t,n,r,i,s){let c=m(`config-panel`),l=m(`recent-panel`),u=m(`layout`);return d(),a(u,null,{config:h(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Qn=G(Xn,[[`render`,Zn]]);export{Qn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-DfsQodL-.js";import{t as y}from"./upload-_lBvoaGk.js";import{t as b}from"./tooltip-BLwTovWL.js";import{t as x}from"./image-ttyLLhNO.js";import{t as S}from"./alert-OvnfgMB-.js";import{t as C}from"./drawer-Dpuj2uIl.js";import{t as w}from"./switch-tbd54zD9.js";import{_i as T}from"./constants-Doj9A7vw.js";import{Ar as E,At as D,Cr as O,E as k,In as A,Mt as j,Pt as ee,br as M,gn as N,jt as P,kt as te}from"./index-BcUyz1eC.js";import{t as F}from"./index.es-yT7dU_Va.js";import{t as I}from"./CopyToClipboard-CkWzEIbo.js";import{t as L}from"./FilePreview-CGYMHZJL.js";import{t as R}from"./ImagePreview-GRjlSvS4.js";import{n as z}from"./taskDrawerMixin-DEgO_R5H.js";import{t as B}from"./BotPlaceholder-D6AUYJbe.js";import{i as V,n as H,t as U}from"./pagination-BIoA190D.js";import{n as W,t as G}from"./NoTasks-D1nl515w.js";import{t as K}from"./Consumption-BuxjrihL.js";import{t as q}from"./ApiCodeButton-REzWFnTi.js";import{t as J}from"./VideoPlayer-jpXY2eqV.js";var Y=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:F},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(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,X,[n(`div`,Z,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Q,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=k(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ae,[n(`div`,oe,[n(`div`,se,[n(`span`,ce,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,le,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var de=k(ie,[[`render`,ue]]),fe=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,pe,[n(`div`,me,[n(`div`,he,[n(`span`,ge,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,_e,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ye=k(fe,[[`render`,ve]]),be=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,xe,[n(`div`,Se,[n(`div`,Ce,[n(`span`,we,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,Te,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var De=k(be,[[`render`,Ee]]),Oe=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,ke,[n(`div`,Ae,[n(`div`,je,[n(`span`,Me,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=k(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=k(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:V,FilePreview:L,FontAwesomeIcon:F},mixins:[D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){E.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(E.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(E.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ue,[n(`div`,We,[n(`div`,Ge,[n(`span`,Ke,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=k(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=r({name:`PromptInput`,components:{PromptTextarea:W},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=k(Ye,[[`render`,Xe]]),Qe=r({name:`ExtendFromInput`,components:{VideoPlayer:J},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),$e={class:`relative`},et={class:`flex mb-2`},tt={class:`text-sm font-bold`};function nt(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,$e,[n(`div`,et,[n(`span`,tt,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=r({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:v,FontAwesomeIcon:F,PromptInput:Ze,ExtendFromInput:k(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:K},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,it,[n(`div`,at,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,ot,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=k(rt,[[`render`,st]]),lt=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:I,FontAwesomeIcon:F,ElAlert:S,VideoPlayer:J,ElTooltip:b,ElButton:v,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),ut={class:`preview`},dt={class:`left`},ft={class:`main`},pt={class:`bot`},mt={class:`datetime`},ht={class:`info`},gt={key:0,class:`prompt mt-2`},_t={key:0},vt={key:1},yt={key:0,class:c({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:c({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,ut,[n(`div`,dt,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,ft,[n(`div`,pt,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,mt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ht,[e.modelValue?.request?.prompt?(u(),t(`p`,gt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,vt,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,yt,[e.modelValue.response.video_url?(u(),t(`div`,bt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,xt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Et,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Ot,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,kt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=r({name:`RecentPanel`,components:{BotPlaceholder:B,TaskPreview:k(lt,[[`render`,At],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:G,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Mt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Nt,[o(v)])):m(``,!0)],64)}var Ft=k(jt,[[`render`,Pt]]),It=T(`luma`),Lt=r({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:Ft},mixins:[P],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e={...this.config,callback_url:It};if(!this.hasText(e.prompt)){E.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}E.info(this.$t(`luma.message.startingTask`)),A(`luma`,N.generate(e,{token:t})).then(()=>{E.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`luma.message.usedUp`)):E.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Rt(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var zt=k(Lt,[[`render`,Rt]]);export{zt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-DfsQodL-.js";import{t as y}from"./upload-BOWpUG79.js";import{t as b}from"./tooltip-BLwTovWL.js";import{t as x}from"./image-D8-aqKyG.js";import{t as S}from"./alert-OvnfgMB-.js";import{t as C}from"./drawer-Dpuj2uIl.js";import{t as w}from"./switch-DFIgN0tr.js";import{_i as T}from"./constants-Doj9A7vw.js";import{Ar as E,At as D,Cr as O,E as k,In as A,Mt as j,Pt as ee,br as M,gn as N,jt as P,kt as te}from"./index-De1puGQZ.js";import{t as F}from"./index.es-CdmaWL6t.js";import{t as I}from"./CopyToClipboard-CF3D_XDP.js";import{t as L}from"./FilePreview-S7Y8117j.js";import{t as R}from"./ImagePreview-DBpc1Y4c.js";import{n as z}from"./taskDrawerMixin-DEgO_R5H.js";import{t as B}from"./BotPlaceholder-DhxmfW9u.js";import{i as V,n as H,t as U}from"./pagination-BVJMN1HT.js";import{n as W,t as G}from"./NoTasks-BgpB38go.js";import{t as K}from"./Consumption-BR-vJ_zs.js";import{t as q}from"./ApiCodeButton-fiGmi1qu.js";import{t as J}from"./VideoPlayer-DyHu8Aqk.js";var Y=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:F},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(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,X,[n(`div`,Z,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Q,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=k(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ae,[n(`div`,oe,[n(`div`,se,[n(`span`,ce,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,le,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var de=k(ie,[[`render`,ue]]),fe=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,pe,[n(`div`,me,[n(`div`,he,[n(`span`,ge,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,_e,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ye=k(fe,[[`render`,ve]]),be=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,xe,[n(`div`,Se,[n(`div`,Ce,[n(`span`,we,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,Te,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var De=k(be,[[`render`,Ee]]),Oe=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,ke,[n(`div`,Ae,[n(`div`,je,[n(`span`,Me,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=k(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=k(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:V,FilePreview:L,FontAwesomeIcon:F},mixins:[D],data(){return{fileList:[],uploadUrl:O()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){E.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(E.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(E.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ue,[n(`div`,We,[n(`div`,Ge,[n(`span`,Ke,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=k(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=r({name:`PromptInput`,components:{PromptTextarea:W},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=k(Ye,[[`render`,Xe]]),Qe=r({name:`ExtendFromInput`,components:{VideoPlayer:J},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),$e={class:`relative`},et={class:`flex mb-2`},tt={class:`text-sm font-bold`};function nt(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,$e,[n(`div`,et,[n(`span`,tt,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=r({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:v,FontAwesomeIcon:F,PromptInput:Ze,ExtendFromInput:k(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:K},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,it,[n(`div`,at,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,ot,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=k(rt,[[`render`,st]]),lt=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:I,FontAwesomeIcon:F,ElAlert:S,VideoPlayer:J,ElTooltip:b,ElButton:v,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),ut={class:`preview`},dt={class:`left`},ft={class:`main`},pt={class:`bot`},mt={class:`datetime`},ht={class:`info`},gt={key:0,class:`prompt mt-2`},_t={key:0},vt={key:1},yt={key:0,class:c({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:c({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,ut,[n(`div`,dt,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,ft,[n(`div`,pt,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,mt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ht,[e.modelValue?.request?.prompt?(u(),t(`p`,gt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,vt,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,yt,[e.modelValue.response.video_url?(u(),t(`div`,bt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,xt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Et,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Ot,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,kt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=r({name:`RecentPanel`,components:{BotPlaceholder:B,TaskPreview:k(lt,[[`render`,At],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:G,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Mt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Nt,[o(v)])):m(``,!0)],64)}var Ft=k(jt,[[`render`,Pt]]),It=T(`luma`),Lt=r({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:Ft},mixins:[P],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===M.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===M.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e={...this.config,callback_url:It};if(!this.hasText(e.prompt)){E.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}E.info(this.$t(`luma.message.startingTask`)),A(`luma`,N.generate(e,{token:t})).then(()=>{E.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`luma.message.usedUp`)):E.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Rt(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var zt=k(Lt,[[`render`,Rt]]);export{zt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.markdown-body{--base-size-16:1rem;--base-size-24:1.5rem;--base-size-4:.25rem;--base-size-40:2.5rem;--base-size-8:.5rem;--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fgColor-accent:Highlight}@media (prefers-color-scheme:dark){.markdown-body,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fgColor-accent:#4493f8;--bgColor-attention-muted:#bb800926;--bgColor-default:#0d1117;--bgColor-muted:#151b23;--bgColor-neutral-muted:#656c7633;--borderColor-accent-emphasis:#1f6feb;--borderColor-attention-emphasis:#9e6a03;--borderColor-danger-emphasis:#da3633;--borderColor-default:#3d444d;--borderColor-done-emphasis:#8957e5;--borderColor-success-emphasis:#238636;--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d;--color-prettylights-syntax-variable:#ffa657;--fgColor-attention:#d29922;--fgColor-danger:#f85149;--fgColor-default:#f0f6fc;--fgColor-done:#ab7df8;--fgColor-muted:#9198a1;--fgColor-success:#3fb950;--borderColor-muted:#3d444db3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}@media (prefers-color-scheme:light){.markdown-body,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fgColor-danger:#d1242f;--bgColor-attention-muted:#fff8c5;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--borderColor-accent-emphasis:#0969da;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-default:#d1d9e0;--borderColor-done-emphasis:#8250df;--borderColor-success-emphasis:#1a7f37;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98;--color-prettylights-syntax-variable:#953800;--fgColor-accent:#0969da;--fgColor-attention:#9a6700;--fgColor-done:#8250df;--fgColor-muted:#59636e;--fgColor-success:#1a7f37;--bgColor-default:#fff;--borderColor-muted:#d1d9e0b3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-storage-modifier-import:#1f2328;--fgColor-default:#1f2328;--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}.markdown-body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-weight:var(--base-text-weight-normal,400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif,-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");word-wrap:break-word;margin:0;font-size:16px;line-height:1.5}.markdown-body a{text-underline-offset:.2rem;text-decoration:underline}.markdown-body .octicon{fill:currentColor;vertical-align:text-bottom;display:inline-block}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{content:" ";background-color:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{color:var(--fgColor-accent);background-color:#0000;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold,600)}.markdown-body dfn{font-style:italic}.markdown-body h1{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);margin:.67em 0;padding-bottom:.3em;font-size:2em}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{box-sizing:content-box;border-style:none;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;border-bottom:1px solid var(--borderColor-muted);height:.25em;margin:var(--base-size-24) 0;background:0 0;background-color:var(--borderColor-default);border:0;padding:0;overflow:hidden}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button{height:auto}.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button{appearance:none}.markdown-body [type=search]::-webkit-search-decoration{appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-spacing:0;border-collapse:collapse;font-variant:tabular-nums;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:1px solid #0000}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{padding:var(--base-size-4);font:11px var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted);border-radius:6px;line-height:10px;display:inline-block}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold,600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-weight:var(--base-text-weight-semibold,600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold,600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold,600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);color:var(--fgColor-muted);font-size:.85em}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default);margin:0;padding:0 1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);word-wrap:normal;margin-top:0;margin-bottom:0;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom;fill:currentColor;display:inline-block;overflow:visible!important}.markdown-body input::-webkit-outer-spin-button{appearance:none;margin:0}.markdown-body input::-webkit-inner-spin-button{appearance:none;margin:0}.markdown-body .mr-2{margin-right:var(--base-size-8,8px)!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a\ s]{list-style-type:lower-alpha}.markdown-body ol[type=A\ s]{list-style-type:upper-alpha}.markdown-body ol[type=i\ s]{list-style-type:lower-roman}.markdown-body ol[type=I\ s]{list-style-type:upper-roman}.markdown-body ol[type="1"],.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);padding:0}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{border:1px solid var(--borderColor-default);padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:#0000;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid var(--borderColor-default);width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:var(--fgColor-default);padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{line-height:inherit;word-wrap:normal;background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default);font-size:12px}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{padding-left:var(--base-size-16);margin-top:var(--base-size-16);display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px;position:absolute}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}.markdown-body .pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}.markdown-body .pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){box-shadow:none;outline:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{min-width:1ch;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-weight:var(--base-text-weight-normal,400);vertical-align:-.075em;line-height:1;display:inline-block;font-style:normal!important}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal,400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{vertical-align:middle;margin:0 .2em .25em -1.4em}.markdown-body ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox,.markdown-body ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{clip-path:none;width:auto;height:24px;display:block;overflow:visible}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{font-weight:var(--base-text-weight-medium,500);align-items:center;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.cb-edit-btn[data-v-17816a06]{border:1px solid var(--app-border-subtle);background:var(--app-content-bg);width:26px;height:26px;color:var(--app-text-subtle);cursor:pointer;border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:11px;transition:color .15s,border-color .15s,opacity .15s;display:inline-flex}.cb-edit-btn[data-v-17816a06]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.transcript-item[data-v-17816a06] .markdown-body{color:inherit;font-size:inherit;line-height:inherit;background:0 0}.transcript-item[data-v-17816a06] .markdown-body>:first-child{margin-top:0}.transcript-item[data-v-17816a06] .markdown-body>:last-child{margin-bottom:0}.transcript-item[data-v-17816a06] .markdown-body ol{list-style:decimal}.transcript-item[data-v-17816a06] .markdown-body ul{list-style:outside}.transcript-item[data-v-17816a06] .markdown-body pre{background:0 0;border-radius:6px;margin:0;padding:0;overflow:hidden}.transcript-item[data-v-17816a06] .markdown-body pre code{color:#fff}.transcript-item[data-v-17816a06] .markdown-body a{color:var(--el-color-primary);text-decoration:underline}.cb-stream-text.is-streaming[data-v-17816a06] .markdown-body>:last-child:after{content:"";vertical-align:text-bottom;background:var(--el-color-primary);border-radius:1px;width:.45em;height:1em;margin-left:2px;animation:1s step-end infinite cb-caret-blink-17816a06;display:inline-block}@keyframes cb-caret-blink-17816a06{0%,50%{opacity:1}50.01%,to{opacity:0}}.cb-thinking__spinner[data-v-6087e9e6]{width:1em;font-family:var(--el-font-family-mono,monospace);display:inline-block}.cb-thinking__caret[data-v-6087e9e6]{margin-left:1px;animation:1s step-end infinite cb-thinking-blink-6087e9e6}@keyframes cb-thinking-blink-6087e9e6{0%,50%{opacity:1}50.01%,to{opacity:0}}.cb-question-dock[data-v-aa5e6831]{--auq-max-height:min(52dvh, 560px);flex-direction:column;min-height:0;display:flex}.cb-composer[data-v-aa5e6831]{position:relative}.cb-composer__input[data-v-aa5e6831] .el-textarea__inner{box-shadow:none;min-height:unset;background:0 0;border:none;padding:6px 4px;font-size:14px;line-height:1.5}@media (width<=767px){.cb-composer__input[data-v-aa5e6831] .el-textarea__inner{font-size:16px}}.cb-cwd-input[data-v-aa5e6831] .el-input__wrapper{border-radius:9999px}.cb-cwd-browse[data-v-aa5e6831]{color:var(--app-text-subtle);cursor:pointer;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.cb-cwd-browse[data-v-aa5e6831]:hover,.cb-cwd-browse[data-v-aa5e6831]:focus-visible{color:var(--el-color-primary);outline:none}.cb-slash-menu[data-v-aa5e6831]{z-index:20;border:1px solid var(--app-border-subtle);background:var(--app-content-bg);border-radius:12px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cb-slash-menu__item[data-v-aa5e6831]{cursor:pointer;color:var(--app-text);border-radius:8px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:flex}.cb-slash-menu__item--active[data-v-aa5e6831]{background:var(--app-content-hover-bg)}.cb-slash-menu__name[data-v-aa5e6831]{font-family:var(--el-font-family-mono,monospace);color:var(--el-color-primary);flex:none}.cb-slash-menu__hint[data-v-aa5e6831]{color:var(--app-text-subtle);flex:none;font-size:11px}.cb-slash-menu__desc[data-v-aa5e6831]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-text-subtle);flex:1;font-size:12px;overflow:hidden}.cb-edit-cancel[data-v-aa5e6831]{color:var(--app-text-subtle);cursor:pointer;flex:none;transition:color .15s}.cb-edit-cancel[data-v-aa5e6831]:hover{color:var(--el-color-primary)}.cb-restore-code[data-v-aa5e6831]{height:auto}.cb-restore-code[data-v-aa5e6831] .el-checkbox__label{font-size:12px}.cb-icon-btn[data-v-aa5e6831]{border:1px solid var(--app-border-subtle);width:30px;height:30px;color:var(--app-text-subtle);cursor:pointer;background:0 0;border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:13px;transition:color .15s,border-color .15s;display:inline-flex}.cb-icon-btn[data-v-aa5e6831]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.cb-pill[data-v-aa5e6831]{border:1px solid var(--app-border-subtle);max-width:240px;height:28px;color:var(--app-text-subtle);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;line-height:1.2;transition:color .15s,border-color .15s;display:inline-flex}.cb-pill[data-v-aa5e6831]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.cb-pill__icon[data-v-aa5e6831]{flex:none;font-size:12px}.cb-pill__brand[data-v-aa5e6831]{-o-object-fit:contain;object-fit:contain;vertical-align:middle;flex:none;width:14px;height:14px}.cb-pill__caret[data-v-aa5e6831]{opacity:.55;flex:none;margin-left:2px;font-size:9px}.cb-pill--static[data-v-aa5e6831]{cursor:default}.cb-pill--static[data-v-aa5e6831]:hover{color:var(--app-text-subtle);border-color:var(--app-border-subtle)}html.dark .cb-pill__brand--invert[data-v-aa5e6831]{filter:invert()}.cb-model-menu[data-v-aa5e6831]{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.cb-model-option[data-v-aa5e6831]{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px 8px;font-size:13px;display:flex}.cb-model-option__check[data-v-aa5e6831]{flex:none;margin-right:6px;font-size:11px}.cb-model-option[data-v-aa5e6831]:hover{background:var(--app-content-hover-bg)}.cb-model-custom[data-v-aa5e6831]{border-top:1px solid var(--app-border-color,#00000014);margin-top:4px;padding-top:6px}.step-index[data-v-3d1ed01f]{color:#fff;background-color:var(--el-color-primary);border-radius:9999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.cmd[data-v-3d1ed01f]{background-color:var(--app-sidebar-bg);border:1px solid var(--app-border-subtle);white-space:nowrap;border-radius:6px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:block;overflow-x:auto}.item[data-v-89efc2be]{transition:border-color .15s}.item[data-v-89efc2be]:hover{border-color:var(--el-color-primary)}.provider-icon[data-v-89efc2be]{-o-object-fit:contain;object-fit:contain;flex:none;width:16px;height:16px}.running-dot[data-v-89efc2be]{background:var(--el-color-success);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--el-color-success) 25%, transparent);border-radius:9999px;flex:none}html.dark .provider-icon--invert[data-v-89efc2be]{filter:invert()}.menu[data-v-44a88ff4]{display:none}@media (width<=767px){.sidebar[data-v-44a88ff4]{display:none}.menu[data-v-44a88ff4]{left:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}
|
|
1
|
+
.markdown-body{--base-size-16:1rem;--base-size-24:1.5rem;--base-size-4:.25rem;--base-size-40:2.5rem;--base-size-8:.5rem;--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fgColor-accent:Highlight}@media (prefers-color-scheme:dark){.markdown-body,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fgColor-accent:#4493f8;--bgColor-attention-muted:#bb800926;--bgColor-default:#0d1117;--bgColor-muted:#151b23;--bgColor-neutral-muted:#656c7633;--borderColor-accent-emphasis:#1f6feb;--borderColor-attention-emphasis:#9e6a03;--borderColor-danger-emphasis:#da3633;--borderColor-default:#3d444d;--borderColor-done-emphasis:#8957e5;--borderColor-success-emphasis:#238636;--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d;--color-prettylights-syntax-variable:#ffa657;--fgColor-attention:#d29922;--fgColor-danger:#f85149;--fgColor-default:#f0f6fc;--fgColor-done:#ab7df8;--fgColor-muted:#9198a1;--fgColor-success:#3fb950;--borderColor-muted:#3d444db3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}@media (prefers-color-scheme:light){.markdown-body,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fgColor-danger:#d1242f;--bgColor-attention-muted:#fff8c5;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--borderColor-accent-emphasis:#0969da;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-default:#d1d9e0;--borderColor-done-emphasis:#8250df;--borderColor-success-emphasis:#1a7f37;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-invalid-illegal-text:var(--fgColor-danger);--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98;--color-prettylights-syntax-variable:#953800;--fgColor-accent:#0969da;--fgColor-attention:#9a6700;--fgColor-done:#8250df;--fgColor-muted:#59636e;--fgColor-success:#1a7f37;--bgColor-default:#fff;--borderColor-muted:#d1d9e0b3;--color-prettylights-syntax-invalid-illegal-bg:var(--bgColor-danger-muted);--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-storage-modifier-import:#1f2328;--fgColor-default:#1f2328;--focus-outlineColor:var(--borderColor-accent-emphasis);--borderColor-neutral-muted:var(--borderColor-muted)}}.markdown-body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-weight:var(--base-text-weight-normal,400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif,-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");word-wrap:break-word;margin:0;font-size:16px;line-height:1.5}.markdown-body a{text-underline-offset:.2rem;text-decoration:underline}.markdown-body .octicon{fill:currentColor;vertical-align:text-bottom;display:inline-block}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{content:" ";background-color:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{color:var(--fgColor-accent);background-color:#0000;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold,600)}.markdown-body dfn{font-style:italic}.markdown-body h1{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);margin:.67em 0;padding-bottom:.3em;font-size:2em}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{box-sizing:content-box;border-style:none;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;border-bottom:1px solid var(--borderColor-muted);height:.25em;margin:var(--base-size-24) 0;background:0 0;background-color:var(--borderColor-default);border:0;padding:0;overflow:hidden}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button{height:auto}.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button{appearance:none}.markdown-body [type=search]::-webkit-search-decoration{appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-spacing:0;border-collapse:collapse;font-variant:tabular-nums;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:1px solid #0000}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{padding:var(--base-size-4);font:11px var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted);border-radius:6px;line-height:10px;display:inline-block}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold,600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold,600);border-bottom:1px solid var(--borderColor-muted);padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-weight:var(--base-text-weight-semibold,600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold,600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold,600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);color:var(--fgColor-muted);font-size:.85em}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default);margin:0;padding:0 1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{font-family:var(--fontStack-monospace,ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);word-wrap:normal;margin-top:0;margin-bottom:0;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom;fill:currentColor;display:inline-block;overflow:visible!important}.markdown-body input::-webkit-outer-spin-button{appearance:none;margin:0}.markdown-body input::-webkit-inner-spin-button{appearance:none;margin:0}.markdown-body .mr-2{margin-right:var(--base-size-8,8px)!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a\ s]{list-style-type:lower-alpha}.markdown-body ol[type=A\ s]{list-style-type:upper-alpha}.markdown-body ol[type=i\ s]{list-style-type:lower-roman}.markdown-body ol[type=I\ s]{list-style-type:upper-roman}.markdown-body ol[type="1"],.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);padding:0}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{border:1px solid var(--borderColor-default);padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:#0000;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid var(--borderColor-default);width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:var(--fgColor-default);padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{line-height:inherit;word-wrap:normal;background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default);font-size:12px}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{padding-left:var(--base-size-16);margin-top:var(--base-size-16);display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px;position:absolute}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}.markdown-body .pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}.markdown-body .pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){box-shadow:none;outline:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{min-width:1ch;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-weight:var(--base-text-weight-normal,400);vertical-align:-.075em;line-height:1;display:inline-block;font-style:normal!important}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal,400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{vertical-align:middle;margin:0 .2em .25em -1.4em}.markdown-body ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox,.markdown-body ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{clip-path:none;width:auto;height:24px;display:block;overflow:visible}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{font-weight:var(--base-text-weight-medium,500);align-items:center;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.cb-edit-btn[data-v-17816a06]{border:1px solid var(--app-border-subtle);background:var(--app-content-bg);width:26px;height:26px;color:var(--app-text-subtle);cursor:pointer;border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:11px;transition:color .15s,border-color .15s,opacity .15s;display:inline-flex}.cb-edit-btn[data-v-17816a06]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.transcript-item[data-v-17816a06] .markdown-body{color:inherit;font-size:inherit;line-height:inherit;background:0 0}.transcript-item[data-v-17816a06] .markdown-body>:first-child{margin-top:0}.transcript-item[data-v-17816a06] .markdown-body>:last-child{margin-bottom:0}.transcript-item[data-v-17816a06] .markdown-body ol{list-style:decimal}.transcript-item[data-v-17816a06] .markdown-body ul{list-style:outside}.transcript-item[data-v-17816a06] .markdown-body pre{background:0 0;border-radius:6px;margin:0;padding:0;overflow:hidden}.transcript-item[data-v-17816a06] .markdown-body pre code{color:#fff}.transcript-item[data-v-17816a06] .markdown-body a{color:var(--el-color-primary);text-decoration:underline}.cb-stream-text.is-streaming[data-v-17816a06] .markdown-body>:last-child:after{content:"";vertical-align:text-bottom;background:var(--el-color-primary);border-radius:1px;width:.45em;height:1em;margin-left:2px;animation:1s step-end infinite cb-caret-blink-17816a06;display:inline-block}@keyframes cb-caret-blink-17816a06{0%,50%{opacity:1}50.01%,to{opacity:0}}.cb-thinking__spinner[data-v-6087e9e6]{width:1em;font-family:var(--el-font-family-mono,monospace);display:inline-block}.cb-thinking__caret[data-v-6087e9e6]{margin-left:1px;animation:1s step-end infinite cb-thinking-blink-6087e9e6}@keyframes cb-thinking-blink-6087e9e6{0%,50%{opacity:1}50.01%,to{opacity:0}}.cb-question-dock[data-v-b97e033b]{--auq-max-height:min(52dvh, 560px);flex-direction:column;min-height:0;display:flex}.cb-composer[data-v-b97e033b]{position:relative}.cb-composer__input[data-v-b97e033b] .el-textarea__inner{box-shadow:none;min-height:unset;background:0 0;border:none;padding:6px 4px;font-size:14px;line-height:1.5}@media (width<=767px){.cb-composer__input[data-v-b97e033b] .el-textarea__inner{font-size:16px}}.cb-cwd-input[data-v-b97e033b] .el-input__wrapper{border-radius:9999px}.cb-cwd-browse[data-v-b97e033b]{color:var(--app-text-subtle);cursor:pointer;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.cb-cwd-browse[data-v-b97e033b]:hover,.cb-cwd-browse[data-v-b97e033b]:focus-visible{color:var(--el-color-primary);outline:none}.cb-slash-menu[data-v-b97e033b]{z-index:20;border:1px solid var(--app-border-subtle);background:var(--app-content-bg);border-radius:12px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cb-slash-menu__item[data-v-b97e033b]{cursor:pointer;color:var(--app-text);border-radius:8px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:flex}.cb-slash-menu__item--active[data-v-b97e033b]{background:var(--app-content-hover-bg)}.cb-slash-menu__name[data-v-b97e033b]{font-family:var(--el-font-family-mono,monospace);color:var(--el-color-primary);flex:none}.cb-slash-menu__hint[data-v-b97e033b]{color:var(--app-text-subtle);flex:none;font-size:11px}.cb-slash-menu__desc[data-v-b97e033b]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--app-text-subtle);flex:1;font-size:12px;overflow:hidden}.cb-edit-cancel[data-v-b97e033b]{color:var(--app-text-subtle);cursor:pointer;flex:none;transition:color .15s}.cb-edit-cancel[data-v-b97e033b]:hover{color:var(--el-color-primary)}.cb-restore-code[data-v-b97e033b]{height:auto}.cb-restore-code[data-v-b97e033b] .el-checkbox__label{font-size:12px}.cb-icon-btn[data-v-b97e033b]{border:1px solid var(--app-border-subtle);width:30px;height:30px;color:var(--app-text-subtle);cursor:pointer;background:0 0;border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:13px;transition:color .15s,border-color .15s;display:inline-flex}.cb-icon-btn[data-v-b97e033b]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.cb-pill[data-v-b97e033b]{border:1px solid var(--app-border-subtle);max-width:240px;height:28px;color:var(--app-text-subtle);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;line-height:1.2;transition:color .15s,border-color .15s;display:inline-flex}.cb-pill[data-v-b97e033b]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5)}.cb-pill__icon[data-v-b97e033b]{flex:none;font-size:12px}.cb-pill__brand[data-v-b97e033b]{-o-object-fit:contain;object-fit:contain;vertical-align:middle;flex:none;width:14px;height:14px}.cb-pill__caret[data-v-b97e033b]{opacity:.55;flex:none;margin-left:2px;font-size:9px}.cb-pill--static[data-v-b97e033b]{cursor:default}.cb-pill--static[data-v-b97e033b]:hover{color:var(--app-text-subtle);border-color:var(--app-border-subtle)}html.dark .cb-pill__brand--invert[data-v-b97e033b]{filter:invert()}.cb-model-menu[data-v-b97e033b]{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.cb-model-option[data-v-b97e033b]{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px 8px;font-size:13px;display:flex}.cb-model-option__check[data-v-b97e033b]{flex:none;margin-right:6px;font-size:11px}.cb-model-option[data-v-b97e033b]:hover{background:var(--app-content-hover-bg)}.cb-model-custom[data-v-b97e033b]{border-top:1px solid var(--app-border-color,#00000014);margin-top:4px;padding-top:6px}.step-index[data-v-3d1ed01f]{color:#fff;background-color:var(--el-color-primary);border-radius:9999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.cmd[data-v-3d1ed01f]{background-color:var(--app-sidebar-bg);border:1px solid var(--app-border-subtle);white-space:nowrap;border-radius:6px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:block;overflow-x:auto}.item[data-v-fa29bb91]{transition:border-color .15s}.item[data-v-fa29bb91]:hover{border-color:var(--el-color-primary)}.provider-icon[data-v-fa29bb91]{-o-object-fit:contain;object-fit:contain;flex:none;width:16px;height:16px}.running-dot[data-v-fa29bb91]{background:var(--el-color-success);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--el-color-success) 25%, transparent);border-radius:9999px;flex:none}html.dark .provider-icon--invert[data-v-fa29bb91]{filter:invert()}.menu[data-v-44a88ff4]{display:none}@media (width<=767px){.sidebar[data-v-44a88ff4]{display:none}.menu[data-v-44a88ff4]{left:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,F as n,N as r,O as i,P as a,Wt as o,Z as s,dt as c,k as l,nt as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-DfsQodL-.js";import{n as m,t as h}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,F as n,N as r,O as i,P as a,Wt as o,Z as s,dt as c,k as l,nt as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-DfsQodL-.js";import{n as m,t as h}from"./row-Ccl653J6.js";import{i as g,n as _,r as v,t as y}from"./container-BgEH5azS.js";import{n as b,t as x}from"./dropdown-6nhKllbG.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-DYKoI-qg.js";import{D,E as O,K as k,O as A,Or as j,Sr as M,Vt as N,rt as P,z as F}from"./index-De1puGQZ.js";import{t as I}from"./BottomFooter-DnrRI7LR.js";var L=n({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,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},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(j()){D.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:P})},onLogin(){this.$router.push({name:A})},onDownload(){this.$router.push({name:k})},onProfile(){let e=M();this.openTab(N(`${e}/user/profile`))},onVerify(){let e=M();this.openTab(N(`${e}/user/verify`))},onConsole(){this.$router.push({name:F})},async onLogout(){this.$store.dispatch(`logout`)}}}),R={key:0,class:`mt-4 pr-10`},z={key:1,class:`float-right`},B=[`src`];function V(n,p,m,h,g,_){let v=d(`logo`),y=d(`el-col`),b=d(`el-menu-item`),x=d(`el-sub-menu`),S=d(`el-menu`),C=d(`el-button`),w=d(`language-selector`),T=d(`dark-selector`),E=d(`el-dropdown-item`),D=d(`el-dropdown-menu`),O=d(`el-dropdown`),k=d(`el-row`),A=u(`t`);return s(),i(k,{class:`header`},{default:f(()=>[a(y,{md:4,xs:24,class:`brand-col`},{default:f(()=>[a(v,{onClick:n.onHome},null,8,[`onClick`])]),_:1}),a(y,{md:16,xs:13},{default:f(()=>[a(S,{"default-active":n.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:n.onSelect},{default:f(()=>[a(x,{index:n.products},{title:f(()=>[r(o(n.$t(`common.nav.products`)),1)]),default:f(()=>[n.site?.features?.chatgpt?.enabled?c((s(),i(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):l(``,!0),n.site?.features?.midjourney?.enabled?c((s(),i(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):l(``,!0),n.site?.features?.qrart?.enabled?c((s(),i(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):l(``,!0),n.site?.features?.suno?.enabled?c((s(),i(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):l(``,!0),n.site?.features?.luma?.enabled?c((s(),i(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):l(``,!0),n.site?.features?.headshots?.enabled?c((s(),i(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):l(``,!0)]),_:1},8,[`index`]),c(a(b,{onRoute:e=>void 0,onClick:n.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),c(a(b,{onRoute:e=>void 0,onClick:p[0]||=e=>n.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),c(a(b,{onRoute:e=>void 0,onClick:p[1]||=e=>n.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),c(a(b,{onRoute:e=>void 0,onClick:p[2]||=e=>n.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),a(y,{md:4,xs:11},{default:f(()=>[n.authenticated?(s(),e(`div`,z,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>n.onConsole&&n.onConsole(...e)},o(n.$t(`common.button.console`)),1),a(O,{trigger:`click`},{dropdown:f(()=>[a(D,null,{default:f(()=>[a(E,{onClick:n.onProfile},{default:f(()=>[r(o(n.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),a(E,{onClick:n.onLogout},{default:f(()=>[r(o(n.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:f(()=>[t(`img`,{src:n.user?.avatar||n.defaultAvatar,class:`avatar`},null,8,B)]),_:1})])):(s(),e(`div`,R,[a(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:n.onLogin},{default:f(()=>[r(o(n.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),a(w,{class:`locale float-right mr-4`}),a(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var H=n({name:`LayoutIndex`,components:{TopHeader:O(L,[[`render`,V]]),BottomFooter:I,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function U(e,t,n,r,o,c){let l=d(`top-header`),u=d(`el-header`),p=d(`router-view`),m=d(`el-main`),h=d(`bottom-footer`),g=d(`el-footer`),_=d(`el-container`);return s(),i(_,{class:`wrapper min-h-[100vh]`},{default:f(()=>[a(u,{class:`header p-0 h-auto`},{default:f(()=>[a(l)]),_:1}),a(m,{class:`main`},{default:f(()=>[a(p)]),_:1}),a(g,{class:`footer p-0 h-auto`},{default:f(()=>[a(h)]),_:1})]),_:1})}var W=O(H,[[`render`,U]]);export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-DfsQodL-.js";import{r as y,t as b}from"./select-CbNogKSw.js";import{t as x}from"./upload-_lBvoaGk.js";import{t as S}from"./tooltip-BLwTovWL.js";import{t as C}from"./image-ttyLLhNO.js";import{t as w}from"./alert-OvnfgMB-.js";import{t as T}from"./drawer-Dpuj2uIl.js";import{$n as E,Qn as D,_i as O,ar as k,er as A,nr as ee,or as te,rr as j,tr as M}from"./constants-Doj9A7vw.js";import{Ar as N,At as P,Cr as F,E as I,In as L,Mt as R,Pt as z,br as B,fn as V,jt as H,kt as U}from"./index-BcUyz1eC.js";import{t as W}from"./index.es-yT7dU_Va.js";import{t as G}from"./CopyToClipboard-CkWzEIbo.js";import{t as K}from"./ImagePreview-GRjlSvS4.js";import{n as q}from"./taskDrawerMixin-DEgO_R5H.js";import{t as J}from"./BotPlaceholder-D6AUYJbe.js";import{i as Y,n as X,t as Z}from"./pagination-BIoA190D.js";import{n as Q,t as ne}from"./NoTasks-D1nl515w.js";import{t as re}from"./Consumption-BuxjrihL.js";import{t as ie}from"./ApiCodeButton-REzWFnTi.js";import{t as ae}from"./VideoPlayer-jpXY2eqV.js";var oe=r({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},mixins:[q]}),se={class:`main flex flex-row flex-1`},ce={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},le={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ue(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,se,[n(`div`,ce,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,le,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var de=I(oe,[[`render`,ue],[`__scopeId`,`data-v-531ab990`]]),fe=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:te,label:`sora-2`},{value:k,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=D[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||=M}}),pe={class:`field`},me={class:`title font-bold`};function he(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,pe,[n(`h2`,me,u(r.$t(`sora.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=I(fe,[[`render`,he],[`__scopeId`,`data-v-0cb7913d`]]),_e=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},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||=A}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ve,[n(`h2`,ye,u(r.$t(`sora.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,be,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=I(_e,[[`render`,xe],[`__scopeId`,`data-v-7b82fa7f`]]),Ce=r({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return D[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}}),we={class:`field`},Te={class:`control`},Ee={class:`title font-bold`};function De(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,we,[n(`div`,Te,[n(`h2`,Ee,u(r.$t(`sora.name.duration`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.optionsForModel,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Oe=I(Ce,[[`render`,De],[`__scopeId`,`data-v-c2934598`]]),ke=r({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||=ee}}),Ae={class:`text-sm font-bold mb-2 block`},je={class:`items`},Me=[`onClick`],Ne={class:`name`};function Pe(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,Ae,u(r.$t(`sora.name.orientation`)),1),n(`div`,je,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.value])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Ne,u(r.$t(e.labelKey)),1)],10,Me))),128))])])}var Fe=I(ke,[[`render`,Pe],[`__scopeId`,`data-v-a20be6d9`]]),Ie=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:Y,FontAwesomeIcon:W,ImagePreview:K},mixins:[R,P],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/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(){N.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){N.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()}}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`};function Ve(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Le,[n(`div`,Re,[n(`div`,ze,[n(`span`,Be,u(e.$t(`sora.name.startEndImage`)),1),o(p,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var He=I(Ie,[[`render`,Ve],[`__scopeId`,`data-v-4f7d9ba5`]]),Ue=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),We=r({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:E.map(e=>({value:e,label:Ue(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||=j}}),Ge={class:`field`},Ke={class:`control`},qe={class:`title font-bold`};function Je(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ge,[n(`div`,Ke,[n(`h2`,qe,u(r.$t(`sora.name.size`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Ye=I(We,[[`render`,Je],[`__scopeId`,`data-v-8c485f0f`]]),Xe=r({name:`PromptInput`,components:{PromptTextarea:Q},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 Ze(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{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 Qe=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:re,FontAwesomeIcon:W,PromptInput:I(Xe,[[`render`,Ze]]),ModelSelector:ge,StartEndImage:He,SizeSelector:Ye,ActionSelector:Se,OrientationSelector:Fe,DurationSelector:Oe},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),$e={class:`flex flex-col h-full`},et={class:`flex-1 overflow-y-auto p-5`},tt={class:`flex flex-col items-center justify-center px-5 pb-5`};function nt(e,r,a,s,c,l){let p=h(`model-selector`),m=h(`action-selector`),v=h(`duration-selector`),y=h(`size-selector`),b=h(`orientation-selector`),x=h(`prompt-input`),S=h(`start-end-image`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return d(),t(`div`,$e,[n(`div`,et,[o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),f(o(S,{class:`mb-2`},null,512),[[_,e.config?.action===`image2video`]])]),n(`div`,tt,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var rt=I(Qe,[[`render`,nt]]),it=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ae,ElTooltip:S,ElButton:v,ApiCodeButton:ie},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`)}}}),at={class:`preview`},ot={class:`left`},st={class:`main`},ct={class:`bot`},lt={class:`datetime`},ut={class:`info`},dt={key:0,class:`prompt mt-2`},ft={key:0},pt={key:1},mt={key:0,class:l({content:!0,failed:!0})},ht={key:0,class:`mb-4`},gt={key:1,class:l({operations:!0,"mt-2":!0})},_t={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:1,class:l({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Tt={key:2,class:l({content:!0})},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Dt(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,at,[n(`div`,ot,[o(p,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),n(`div`,st,[n(`div`,ct,[i(u(e.$t(`sora.name.soraBot`))+` `,1),n(`span`,lt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ut,[e.modelValue?.request?.prompt?(d(),t(`p`,dt,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,ft,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),t(`span`,pt,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,mt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,ht,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,gt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`sora.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,_t,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,vt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,yt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,bt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,xt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,St,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,wt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,Tt,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Ot=r({name:`RecentPanel`,components:{TaskPreview:I(it,[[`render`,Dt],[`__scopeId`,`data-v-564d52e9`]]),NoTasks:ne,BotPlaceholder:J,ScrollList:X},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?.()}}}),kt={key:0},At={key:2,class:`w-full h-full flex items-center justify-center`};function jt(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,kt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,At,[o(v)])):m(``,!0)],64)}var Mt=I(Ot,[[`render`,jt]]),Nt=O(`sora`),Pt=r({name:`SoraIndex`,components:{ConfigPanel:rt,Layout:de,RecentPanel:Mt},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===B.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(!U(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let e={...this.config,callback_url:Nt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}N.info(this.$t(`sora.message.startingTask`)),L(`sora`,V.generate(e,{token:t})).then(()=>{N.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?N.error(this.$t(`sora.message.usedUp`)):N.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ft(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var It=I(Pt,[[`render`,Ft]]);export{It as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-DfsQodL-.js";import{r as y,t as b}from"./select-CPnJWYIb.js";import{t as x}from"./upload-BOWpUG79.js";import{t as S}from"./tooltip-BLwTovWL.js";import{t as C}from"./image-D8-aqKyG.js";import{t as w}from"./alert-OvnfgMB-.js";import{t as T}from"./drawer-Dpuj2uIl.js";import{$n as E,Qn as D,_i as O,ar as k,er as A,nr as ee,or as te,rr as j,tr as M}from"./constants-Doj9A7vw.js";import{Ar as N,At as P,Cr as F,E as I,In as L,Mt as R,Pt as z,br as B,fn as V,jt as H,kt as U}from"./index-De1puGQZ.js";import{t as W}from"./index.es-CdmaWL6t.js";import{t as G}from"./CopyToClipboard-CF3D_XDP.js";import{t as K}from"./ImagePreview-DBpc1Y4c.js";import{n as q}from"./taskDrawerMixin-DEgO_R5H.js";import{t as J}from"./BotPlaceholder-DhxmfW9u.js";import{i as Y,n as X,t as Z}from"./pagination-BVJMN1HT.js";import{n as Q,t as ne}from"./NoTasks-BgpB38go.js";import{t as re}from"./Consumption-BR-vJ_zs.js";import{t as ie}from"./ApiCodeButton-fiGmi1qu.js";import{t as ae}from"./VideoPlayer-DyHu8Aqk.js";var oe=r({name:`LayoutSora`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:W},mixins:[q]}),se={class:`main flex flex-row flex-1`},ce={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},le={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ue(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,se,[n(`div`,ce,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,le,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var de=I(oe,[[`render`,ue],[`__scopeId`,`data-v-531ab990`]]),fe=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:te,label:`sora-2`},{value:k,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=D[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||=M}}),pe={class:`field`},me={class:`title font-bold`};function he(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,pe,[n(`h2`,me,u(r.$t(`sora.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=I(fe,[[`render`,he],[`__scopeId`,`data-v-0cb7913d`]]),_e=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},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||=A}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ve,[n(`h2`,ye,u(r.$t(`sora.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,be,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=I(_e,[[`render`,xe],[`__scopeId`,`data-v-7b82fa7f`]]),Ce=r({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return D[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}}),we={class:`field`},Te={class:`control`},Ee={class:`title font-bold`};function De(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,we,[n(`div`,Te,[n(`h2`,Ee,u(r.$t(`sora.name.duration`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.optionsForModel,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Oe=I(Ce,[[`render`,De],[`__scopeId`,`data-v-c2934598`]]),ke=r({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||=ee}}),Ae={class:`text-sm font-bold mb-2 block`},je={class:`items`},Me=[`onClick`],Ne={class:`name`};function Pe(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,Ae,u(r.$t(`sora.name.orientation`)),1),n(`div`,je,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.value])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Ne,u(r.$t(e.labelKey)),1)],10,Me))),128))])])}var Fe=I(ke,[[`render`,Pe],[`__scopeId`,`data-v-a20be6d9`]]),Ie=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:Y,FontAwesomeIcon:W,ImagePreview:K},mixins:[R,P],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/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(){N.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){N.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()}}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`};function Ve(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Le,[n(`div`,Re,[n(`div`,ze,[n(`span`,Be,u(e.$t(`sora.name.startEndImage`)),1),o(p,{content:e.$t(`sora.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var He=I(Ie,[[`render`,Ve],[`__scopeId`,`data-v-4f7d9ba5`]]),Ue=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),We=r({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:E.map(e=>({value:e,label:Ue(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||=j}}),Ge={class:`field`},Ke={class:`control`},qe={class:`title font-bold`};function Je(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,Ge,[n(`div`,Ke,[n(`h2`,qe,u(r.$t(`sora.name.size`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`sora.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Ye=I(We,[[`render`,Je],[`__scopeId`,`data-v-8c485f0f`]]),Xe=r({name:`PromptInput`,components:{PromptTextarea:Q},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 Ze(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{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 Qe=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:re,FontAwesomeIcon:W,PromptInput:I(Xe,[[`render`,Ze]]),ModelSelector:ge,StartEndImage:He,SizeSelector:Ye,ActionSelector:Se,OrientationSelector:Fe,DurationSelector:Oe},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),$e={class:`flex flex-col h-full`},et={class:`flex-1 overflow-y-auto p-5`},tt={class:`flex flex-col items-center justify-center px-5 pb-5`};function nt(e,r,a,s,c,l){let p=h(`model-selector`),m=h(`action-selector`),v=h(`duration-selector`),y=h(`size-selector`),b=h(`orientation-selector`),x=h(`prompt-input`),S=h(`start-end-image`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return d(),t(`div`,$e,[n(`div`,et,[o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),f(o(S,{class:`mb-2`},null,512),[[_,e.config?.action===`image2video`]])]),n(`div`,tt,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var rt=I(Qe,[[`render`,nt]]),it=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:w,VideoPlayer:ae,ElTooltip:S,ElButton:v,ApiCodeButton:ie},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`)}}}),at={class:`preview`},ot={class:`left`},st={class:`main`},ct={class:`bot`},lt={class:`datetime`},ut={class:`info`},dt={key:0,class:`prompt mt-2`},ft={key:0},pt={key:1},mt={key:0,class:l({content:!0,failed:!0})},ht={key:0,class:`mb-4`},gt={key:1,class:l({operations:!0,"mt-2":!0})},_t={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:1,class:l({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Tt={key:2,class:l({content:!0})},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Dt(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,at,[n(`div`,ot,[o(p,{src:`https://cdn.acedata.cloud/z5id1u.png`,class:`avatar`})]),n(`div`,st,[n(`div`,ct,[i(u(e.$t(`sora.name.soraBot`))+` `,1),n(`span`,lt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ut,[e.modelValue?.request?.prompt?(d(),t(`p`,dt,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,ft,` - (`+u(e.$t(`sora.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`pending`?(d(),t(`span`,pt,` - (`+u(e.$t(`sora.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,mt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,ht,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,gt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`sora.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/sora/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,_t,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,vt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,yt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,bt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,xt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,St,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,wt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,Tt,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.failure`)),1)]),default:g(()=>[n(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`sora.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Ot=r({name:`RecentPanel`,components:{TaskPreview:I(it,[[`render`,Dt],[`__scopeId`,`data-v-564d52e9`]]),NoTasks:ne,BotPlaceholder:J,ScrollList:X},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?.()}}}),kt={key:0},At={key:2,class:`w-full h-full flex items-center justify-center`};function jt(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,kt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,At,[o(v)])):m(``,!0)],64)}var Mt=I(Ot,[[`render`,jt]]),Nt=O(`sora`),Pt=r({name:`SoraIndex`,components:{ConfigPanel:rt,Layout:de,RecentPanel:Mt},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===B.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(!U(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let e={...this.config,callback_url:Nt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}N.info(this.$t(`sora.message.startingTask`)),L(`sora`,V.generate(e,{token:t})).then(()=>{N.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?N.error(this.$t(`sora.message.usedUp`)):N.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ft(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var It=I(Pt,[[`render`,Ft]]);export{It as default};
|