@acedatacloud/nexior 3.318.1 → 3.318.2
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-wgOlho8X.js → ApiCodeButton-DtQf7EM-.js} +1 -1
- package/dist/assets/{Artifacts-CXZcy2DX.js → Artifacts-DraZEj_Y.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-2B11CWSG.js → AskUserQuestionCard-DgPe8dnM.js} +1 -1
- package/dist/assets/{Auth-CYda4Ur5.js → Auth-DSBKuYsL.js} +1 -1
- package/dist/assets/{Bare-CvgakV86.js → Bare-BTPBpQHP.js} +1 -1
- package/dist/assets/{BotPlaceholder-BBa7CDpO.js → BotPlaceholder-BiB7lsSi.js} +1 -1
- package/dist/assets/{BottomFooter-DGm3lDw5.js → BottomFooter-yGZNXRtu.js} +1 -1
- package/dist/assets/{Callback-DgouWBIl.js → Callback-BbfDOULd.js} +1 -1
- package/dist/assets/{CodeSnippet-LKBGH9rJ.js → CodeSnippet-BtlPZWJt.js} +1 -1
- package/dist/assets/{Console-PxZvL98h.js → Console-Bm_k-3CJ.js} +1 -1
- package/dist/assets/{Consumption-B7oPcRnx.js → Consumption-NOLjlY5-.js} +1 -1
- package/dist/assets/{Conversation-CtpToozC.js → Conversation-BPKqvsR8.js} +1 -1
- package/dist/assets/{Conversation-D_SLQsbF.js → Conversation-CWx0ViRr.js} +1 -1
- package/dist/assets/{CopyToClipboard-D8gJOukV.js → CopyToClipboard-C-5MtrCb.js} +1 -1
- package/dist/assets/{Detail-Dqgu2hBn.js → Detail-C3BPVCYj.js} +2 -2
- package/dist/assets/{Extra-BsPqUXuI.js → Extra-o0HXUdow.js} +1 -1
- package/dist/assets/{FilePreview-y4VNrGmk.js → FilePreview-CebzLtuW.js} +1 -1
- package/dist/assets/{Hailuo-3D4qylFS.js → Hailuo-DkCZ7qD2.js} +1 -1
- package/dist/assets/{History-BUbJYVtR.js → History-BkMA_MzE.js} +1 -1
- package/dist/assets/{ImagePreview-DtPgesXi.js → ImagePreview-DBO6eOxj.js} +1 -1
- package/dist/assets/{ImageWrapper-CKuj75Dg.js → ImageWrapper-CocM1Guo.js} +1 -1
- package/dist/assets/{Index-mVL2VYVc.js → Index-BAHbLlc4.js} +1 -1
- package/dist/assets/{Index-MHMtqTle.js → Index-BNBYXVm-.js} +1 -1
- package/dist/assets/{Index-Ee7RkHan.js → Index-BOcCU_E7.js} +1 -1
- package/dist/assets/{Index-Cpa22ib4.js → Index-BP3r_chp.js} +1 -1
- package/dist/assets/{Index-BBLnjagD.js → Index-BXjTOf4o.js} +1 -1
- package/dist/assets/{Index-CDzPcevN.js → Index-Bh7FWbwz.js} +1 -1
- package/dist/assets/{Index-BOWUU7_h.js → Index-BqftvPjk.js} +1 -1
- package/dist/assets/{Index-C3kiWeUu.js → Index-BueM5icT.js} +1 -1
- package/dist/assets/{Index-DvAApEcD.js → Index-BwdQlK_G.js} +1 -1
- package/dist/assets/{Index-CPhZowrC.js → Index-BwloFpjQ.js} +1 -1
- package/dist/assets/{Index-CeP9wXEB.js → Index-BxzSa38_.js} +1 -1
- package/dist/assets/{Index-CqfDSaWw.js → Index-CJo8nOWl.js} +1 -1
- package/dist/assets/{Index-_Qaedys-.js → Index-CSZaE8nB.js} +1 -1
- package/dist/assets/{Index-BTQO30GB.js → Index-CY73BDMf.js} +1 -1
- package/dist/assets/{Index-d0ujNW24.js → Index-Cg6S35aN.js} +1 -1
- package/dist/assets/{Index-DOZFJEdd.js → Index-CuVZT_Mi.js} +1 -1
- package/dist/assets/{Index-2etdo-76.js → Index-CzKbJxyv.js} +1 -1
- package/dist/assets/{Index-CVfmk3bX.js → Index-D-L4ViYd.js} +1 -1
- package/dist/assets/{Index-EPh4fcSi.js → Index-D1wDLTp8.js} +1 -1
- package/dist/assets/{Index-BH_0BAYr.js → Index-DB83CuDL.js} +1 -1
- package/dist/assets/{Index-CJO1-JPj.js → Index-DBm9p59a.js} +1 -1
- package/dist/assets/{Index-C_6MY3Cz.js → Index-DET6awz8.js} +1 -1
- package/dist/assets/{Index-BqGOislX.js → Index-DQYpT4ka.js} +1 -1
- package/dist/assets/{Index-CVXa2Ea4.js → Index-DRJa5cTt.js} +1 -1
- package/dist/assets/{Index-DgPJbU7J.js → Index-ErfXtsm_.js} +1 -1
- package/dist/assets/{Index-FbOIZJKQ.js → Index-VPMuZ3mQ.js} +1 -1
- package/dist/assets/{Index-a1xouAR7.js → Index-eGzbwid1.js} +1 -1
- package/dist/assets/{Index-BFWTTvgn.js → Index-ptAC0cqN.js} +1 -1
- package/dist/assets/{Invitees-DXee9JvC.js → Invitees-oBKtFoPz.js} +1 -1
- package/dist/assets/{List-DfT3yQNT.js → List-By8Y_sEg.js} +1 -1
- package/dist/assets/{List-DK28j3Og.js → List-CrUVsZhB.js} +1 -1
- package/dist/assets/{List-Hisek5Vq.js → List-Qu_Ws2Dp.js} +1 -1
- package/dist/assets/{LocalTools-DmFqVbMB.js → LocalTools-BR_0kZMh.js} +1 -1
- package/dist/assets/{LocalTools-BCHo14IO.js → LocalTools-DS-HvWqe.js} +1 -1
- package/dist/assets/{Main-zOIYg0X7.js → Main-CreIRZe8.js} +1 -1
- package/dist/assets/{Message-lVBcC5BV.js → Message-BjNAnWdl.js} +1 -1
- package/dist/assets/{Model-fAPZOcOu.js → Model-DjBcnVCU.js} +1 -1
- package/dist/assets/Navigator-DWdK6ci4.css +1 -0
- package/dist/assets/{Navigator-C2YhAcPP.js → Navigator-DYtK5Mbg.js} +3 -3
- package/dist/assets/{NoTasks-CGrunQ-b.js → NoTasks-BJGOPpgL.js} +1 -1
- package/dist/assets/{NotFound-BJkn9bHC.js → NotFound-BpmshhgL.js} +1 -1
- package/dist/assets/{Pagination-C94BNzE6.js → Pagination-DcQ9GlU6.js} +1 -1
- package/dist/assets/{Pay-DCL-Teg3.js → Pay-DWLri10s.js} +1 -1
- package/dist/assets/{Player-NTlaGeEB.js → Player-D2kYYTP0.js} +1 -1
- package/dist/assets/{PromptTextarea-CMhCuxJH.js → PromptTextarea-BLWDxqEF.js} +1 -1
- package/dist/assets/{RealtimeCall-D4CPoFWe.js → RealtimeCall-BbA_sknK.js} +1 -1
- package/dist/assets/{ScheduledTasks-IwxVwfkW.js → ScheduledTasks-CwHespc9.js} +1 -1
- package/dist/assets/{Status-Xf3arMf9.js → Status-Bkh-sdQm.js} +1 -1
- package/dist/assets/{Subscribe-DAsMU9o8.js → Subscribe-CQrIc5l9.js} +1 -1
- package/dist/assets/{TabSwitcher-C-DCP5l_.js → TabSwitcher-BZ1XCtmW.js} +1 -1
- package/dist/assets/{Tts-C03UaPB3.js → Tts-FG1o4B5k.js} +1 -1
- package/dist/assets/{VideoPlayer-CgGC2uHg.js → VideoPlayer-BOEc5-h5.js} +1 -1
- package/dist/assets/{VideoPreview-0TSgwdv2.js → VideoPreview-nFpsh8tQ.js} +1 -1
- package/dist/assets/{alert-CXSqX3ys.js → alert-BgZtqyol.js} +1 -1
- package/dist/assets/{avatar-D9dPhF16.js → avatar-WbfHARLT.js} +1 -1
- package/dist/assets/{basic-nhaReqxy.js → basic-IHky53wE.js} +1 -1
- package/dist/assets/{chat-MrUrYnvB.js → chat-umBO4NTy.js} +1 -1
- package/dist/assets/{codingBridge-uYqF7N6p.js → codingBridge-Dwbzn3Dr.js} +1 -1
- package/dist/assets/{codingBridgeNotify-0vBnVt0E.js → codingBridgeNotify-BC8uYTG6.js} +2 -2
- package/dist/assets/{collapse-BPov2dKT.js → collapse-CBNwqY8q.js} +1 -1
- package/dist/assets/{createTaskActions-DS483BuS.js → createTaskActions-C6p4NkDt.js} +1 -1
- package/dist/assets/{date-picker-BsK68iD-.js → date-picker-DkkhhfYp.js} +1 -1
- package/dist/assets/{digitalhuman-DpeUyxSc.js → digitalhuman-Csy4G_xD.js} +1 -1
- package/dist/assets/{drawer-CF-Mh2Gm.js → drawer-B_aoVshd.js} +1 -1
- package/dist/assets/{dropdown-Cwzl5Bdk.js → dropdown-CZE5XZZc.js} +1 -1
- package/dist/assets/{dropdown-DCD4N07K.js → dropdown-LybsmLeS.js} +1 -1
- package/dist/assets/{esm-BAn04B3h.js → esm-B_a3A3oN.js} +1 -1
- package/dist/assets/esm-BztJUQtW.js +1 -0
- package/dist/assets/{esm-n0Dc0blS.js → esm-CoPXKYYS.js} +2 -2
- package/dist/assets/{esm-DwRU-Ys2.js → esm-DfkEWxZU.js} +2 -2
- package/dist/assets/{esm-D8BDVzFZ.js → esm-MQjuVdF0.js} +1 -1
- package/dist/assets/{esm-BDLSAWI8.js → esm-_XEIT0mK.js} +1 -1
- package/dist/assets/{esm-YVjHtvxZ.js → esm-sAK-M5rJ.js} +3 -3
- package/dist/assets/{fish-hW5diXoj.js → fish-Da9aXtIF.js} +1 -1
- package/dist/assets/{flux-C1T7X7Pd.js → flux-1AqNNSB9.js} +1 -1
- package/dist/assets/{grokvideo-CQKHtoct.js → grokvideo-Bsyn1jow.js} +1 -1
- package/dist/assets/{hailuo-BxYpe2Ha.js → hailuo-lXVsYSMS.js} +1 -1
- package/dist/assets/{headshots-BtgdNSJZ.js → headshots-BsfRSW34.js} +1 -1
- package/dist/assets/{image-BJNsYYKd.js → image-DHm0KtJ4.js} +1 -1
- package/dist/assets/{index-Bf6bS8cW.js → index-ldpF6zqg.js} +3 -3
- package/dist/assets/{index.browser.esm-Bu9bIqqC.js → index.browser.esm-CAjX73xi.js} +1 -1
- package/dist/assets/{index.es-CuQlvr5B.js → index.es-DOzkBJSB.js} +1 -1
- package/dist/assets/{input-number-D5etV7az.js → input-number-CUsL_JE4.js} +1 -1
- package/dist/assets/{kling-DStIbLPG.js → kling-8A47ABPJ.js} +1 -1
- package/dist/assets/{luma-Crqwafyq.js → luma-DwBFQRLe.js} +1 -1
- package/dist/assets/{maestro-5eCcoaHV.js → maestro-N9wpZP-o.js} +1 -1
- package/dist/assets/{midjourney-B6L3wKEB.js → midjourney-BLob4riQ.js} +1 -1
- package/dist/assets/{mobileLocalExec-CR7XlRgT.js → mobileLocalExec-CpGVxoIw.js} +2 -2
- package/dist/assets/{nanobanana-cQ9q3cEZ.js → nanobanana-rqEhvpxp.js} +1 -1
- package/dist/assets/{openaiimage-D6U7K59J.js → openaiimage-HHy4_E1R.js} +1 -1
- package/dist/assets/{pagination-BJ34zRxf.js → pagination-B-1QyeBs.js} +1 -1
- package/dist/assets/{pika-Bg914Dur.js → pika-C0dATlcH.js} +1 -1
- package/dist/assets/{pixverse-DaE-5Enp.js → pixverse-BB-fUZyH.js} +1 -1
- package/dist/assets/{popover-qKQ35FWK.js → popover-Cb6zci2I.js} +1 -1
- package/dist/assets/{producer-CgDhuaaZ.js → producer-DZQJbUFA.js} +1 -1
- package/dist/assets/{qrart-bKPmWp6O.js → qrart-C_2FWi8e.js} +1 -1
- package/dist/assets/{realtime-ReS3DC64.js → realtime-B4BO5URs.js} +1 -1
- package/dist/assets/{row-BB4IYwi9.js → row-Becyumcf.js} +1 -1
- package/dist/assets/{seedance-B3vk5KB5.js → seedance-DaSL4h7I.js} +1 -1
- package/dist/assets/{seedream-B2um1gCg.js → seedream-BTQ2r3nS.js} +1 -1
- package/dist/assets/{select-ul7Wo_Q6.js → select-CZ_7vuAa.js} +1 -1
- package/dist/assets/{serp-CVniV9lG.js → serp-CRa18O0n.js} +1 -1
- package/dist/assets/{slider-BAnHaO57.js → slider-XUr0Fse0.js} +1 -1
- package/dist/assets/{solana-wallets-CKd7UMzL.js → solana-wallets-CbCipsAj.js} +2 -2
- package/dist/assets/{solana-wallets-vue-Cuu2sQA3.js → solana-wallets-vue-CA1YqOEX.js} +1 -1
- package/dist/assets/{sora-80GEYXx0.js → sora-V-MBTice.js} +1 -1
- package/dist/assets/{suno-CkFHsdZ0.js → suno-BB1goroz.js} +1 -1
- package/dist/assets/{switch-DFeLUK7J.js → switch-CLPnTfNp.js} +1 -1
- package/dist/assets/{table-DeX9wTtz.js → table-DZV7Ta-M.js} +1 -1
- package/dist/assets/{tabs-CcGiBXnJ.js → tabs-D-ocs8Lp.js} +1 -1
- package/dist/assets/{time-picker-wCdQM-l9.js → time-picker-Do6-zE0K.js} +1 -1
- package/dist/assets/{tooltip-BWueZx_j.js → tooltip-ClLB1TIj.js} +1 -1
- package/dist/assets/{upload-BUY6iRe-.js → upload-BnDQ5ura.js} +1 -1
- package/dist/assets/{veo-EScwHyw1.js → veo-C-yHf6uX.js} +1 -1
- package/dist/assets/{wan-B1J2B1bi.js → wan-ccWhOr5k.js} +1 -1
- package/dist/assets/{web-sWSjKZZn.js → web-BSSBbHy6.js} +1 -1
- package/dist/assets/{web-91rlXmFM.js → web-BsN9O7VA.js} +1 -1
- package/dist/assets/{web-BGpuHWE6.js → web-DBSsGkOO.js} +1 -1
- package/dist/assets/{web-aoR5k19y.js → web-DZ65EFZ6.js} +1 -1
- package/dist/assets/{web-KpJNJXNj.js → web-VaFx7z2L.js} +1 -1
- package/dist/assets/{webextrator-77012YXT.js → webextrator-D5oV4b83.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Navigator-dtZvduSY.css +0 -1
- package/dist/assets/esm-CKXTlwF1.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{n as v,r as y,t as b}from"./select-ul7Wo_Q6.js";import{t as x}from"./upload-BUY6iRe-.js";import{t as S}from"./tooltip-BWueZx_j.js";import{t as C}from"./image-BJNsYYKd.js";import{t as w}from"./alert-CXSqX3ys.js";import{t as T}from"./drawer-CF-Mh2Gm.js";import{t as E}from"./input-number-D5etV7az.js";import{t as D}from"./switch-DFeLUK7J.js";import{_n as O,bn as k,cn as ee,dn as A,fn as j,gn as te,hn as M,ln as N,mn as P,pn as F,yn as I}from"./constants-BbSGgy1t.js";import{$n as L,$r as R,A as z,Hr as ne,Ht as re,Kt as ie,Qr as B,Ut as V,Vt as H,Wt as U,en as W,gn as G,ui as K,zr as q}from"./index-Bf6bS8cW.js";import{t as J}from"./index.es-CuQlvr5B.js";import{t as Y}from"./CopyToClipboard-D8gJOukV.js";import{t as X}from"./ImagePreview-DtPgesXi.js";import{n as ae}from"./taskDrawerMixin-CfysS2FH.js";import{t as oe}from"./Consumption-B7oPcRnx.js";import{i as Z,n as se,t as ce}from"./pagination-BJ34zRxf.js";import{t as le}from"./ApiCodeButton-wgOlho8X.js";import{t as ue}from"./BotPlaceholder-BBa7CDpO.js";import{t as de}from"./NoTasks-CGrunQ-b.js";import{t as fe}from"./PromptTextarea-CMhCuxJH.js";import{t as pe}from"./ImageWrapper-CKuj75Dg.js";var me=i({name:`LayoutSeedream`,components:{ElDrawer:T,ElButton:K,FontAwesomeIcon:J},mixins:[ae]}),he={class:`main flex flex-row flex-1`},ge={class:`config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},_e={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function ve(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,he,[t(`div`,ge,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,_e,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ye=z(me,[[`render`,ve],[`__scopeId`,`data-v-2a1715d6`]]),be=i({name:`SeedreamPromptInput`,components:{PromptTextarea:fe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function xe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Se=z(be,[[`render`,xe]]),Ce={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case P:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case F:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case j:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case A:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:N[A],outputFormat:!1,tools:!1};case M:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:N[M],outputFormat:!1,tools:!1};default:return Ce}}var we=[`1K`,`2K`,`3K`,`4K`];function Te(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(we.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Ee(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var De=i({name:`SeedreamImageInput`,components:{ElUpload:x,ElButton:K,InfoIcon:Z,ImagePreview:X,FontAwesomeIcon:J},mixins:[U,re],data(){return{fileList:[],uploadUrl:ne()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){R.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){R.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Oe={key:0},ke={class:`field`},Ae={class:`label`},je={class:`box`},Me={class:`title font-bold`},Ne={class:`value`},Pe={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Fe(r,i,u,p,g,_){let v=h(`info-icon`),y=h(`font-awesome-icon`),b=h(`el-button`),x=h(`el-upload`),S=h(`image-preview`);return r.supported?(c(),e(`div`,Oe,[t(`div`,ke,[t(`div`,Ae,[t(`div`,je,[t(`h2`,Me,n(r.$t(`seedream.name.imageUrls`)),1),s(v,{content:r.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),t(`div`,Ne,[s(x,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:d(()=>[s(b,{size:`small`,type:`primary`,round:``},{default:d(()=>[s(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),a(` `+n(r.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),t(`div`,Pe,[(c(!0),e(l,null,f(r.fileList,(e,t)=>(c(),o(S,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):m(``,!0)}var Ie=z(De,[[`render`,Fe],[`__scopeId`,`data-v-6ef4c2e4`]]),Le=i({name:`SeedreamModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{revertKey:0,options:[{value:P,label:this.$t(`seedream.model.seedream50`)},{value:F,label:this.$t(`seedream.model.seedream45`)},{value:j,label:this.$t(`seedream.model.seedream40`)},{value:A,label:this.$t(`seedream.model.seedream30t2i`)},{value:M,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(ee)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Te(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await B.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Ee({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),R.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`};function He(r,i,a,u,p,m){let g=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return c(),e(`div`,Re,[t(`div`,ze,[t(`div`,Be,[t(`h2`,Ve,n(r.$t(`seedream.name.model`)),1),s(g,{content:r.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(c(),o(v,{key:r.revertKey,"model-value":r.value,class:`value`,placeholder:r.$t(`seedream.placeholder.select`),onChange:r.onChange},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Ue=z(Le,[[`render`,He],[`__scopeId`,`data-v-8892a12c`]]),We=i({name:`SeedreamSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:I,pixelOptions:O}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(r,i,a,u,p,g){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-option-group`),b=h(`el-select`);return c(),e(`div`,Ge,[t(`div`,Ke,[t(`div`,qe,[t(`h2`,Je,n(r.$t(`seedream.name.size`)),1),s(_,{content:r.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),s(b,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:d(()=>[r.capabilities.sizeTiers.length?(c(),o(y,{key:0,label:r.$t(`seedream.size.group.tier`)},{default:d(()=>[(c(!0),e(l,null,f(r.capabilities.sizeTiers,e=>(c(),o(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):m(``,!0),r.capabilities.sizeAdaptive?(c(),o(y,{key:1,label:r.$t(`seedream.size.group.adaptive`)},{default:d(()=>[(c(),o(v,{key:r.SEEDREAM_SIZE_ADAPTIVE,label:r.$t(`seedream.size.adaptive`),value:r.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):m(``,!0),s(y,{label:r.$t(`seedream.size.group.pixel`)},{default:d(()=>[(c(!0),e(l,null,f(r.pixelOptions,e=>(c(),o(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=z(We,[[`render`,Ye],[`__scopeId`,`data-v-dd7bd021`]]),Ze=i({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),Qe={key:0,class:`field`},$e={class:`label`},et={class:`box`},tt={class:`title font-bold`},nt={class:`value`};function rt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,Qe,[t(`div`,$e,[t(`div`,et,[t(`h2`,tt,n(r.$t(`seedream.name.maxImages`)),1),s(d,{content:r.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),t(`div`,nt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:1,max:r.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):m(``,!0)}var it=z(Ze,[[`render`,rt],[`__scopeId`,`data-v-f079fd20`]]),at=i({name:`SeedreamOutputFormatSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[...te]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),ot={key:0,class:`field`},st={class:`label`},ct={class:`box`},lt={class:`title font-bold`};function ut(r,i,a,u,p,g){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-select`);return r.supported?(c(),e(`div`,ot,[t(`div`,st,[t(`div`,ct,[t(`h2`,lt,n(r.$t(`seedream.name.outputFormat`)),1),s(_,{content:r.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),s(y,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):m(``,!0)}var dt=z(at,[[`render`,ut],[`__scopeId`,`data-v-69ea4c07`]]),ft=i({name:`SeedreamSeedInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),pt={key:0,class:`field`},mt={class:`label`},ht={class:`box`},gt={class:`title font-bold`},_t={class:`value`};function vt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,pt,[t(`div`,mt,[t(`div`,ht,[t(`h2`,gt,n(r.$t(`seedream.name.seed`)),1),s(d,{content:r.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),t(`div`,_t,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var yt=z(ft,[[`render`,vt],[`__scopeId`,`data-v-10cdc1e0`]]),bt=i({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),xt={key:0,class:`field`},St={class:`label`},Ct={class:`box`},wt={class:`title font-bold`},Tt={class:`value`};function Et(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,xt,[t(`div`,St,[t(`div`,Ct,[t(`h2`,wt,n(r.$t(`seedream.name.guidanceScale`)),1),s(d,{content:r.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),t(`div`,Tt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var Dt=z(bt,[[`render`,Et],[`__scopeId`,`data-v-7386f064`]]),Ot=i({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),kt={class:`field`},At={class:`label`},jt={class:`box`},Mt={class:`title font-bold`},Nt={class:`value`};function Pt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,kt,[t(`div`,At,[t(`div`,jt,[t(`h2`,Mt,n(r.$t(`seedream.name.watermark`)),1),s(d,{content:r.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),t(`div`,Nt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e},null,8,[`modelValue`])])])}var Ft=i({name:`SeedreamConfigPanel`,components:{ElButton:K,FontAwesomeIcon:J,PromptInput:Se,Consumption:oe,ImageInput:Ie,ModelSelector:Ue,SizeSelector:Xe,MaxImagesSelector:it,OutputFormatSelector:dt,SeedInput:yt,GuidanceScaleInput:Dt,WatermarkSwitch:z(Ot,[[`render`,Pt],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return ie({...e,action:t?`edit`:`generate`,model:k(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),It={class:`flex flex-col h-full`},Lt={class:`flex-1 overflow-y-auto p-5`},Rt={class:`flex flex-col items-center justify-center px-5 pb-5`};function zt(r,i,o,l,u,f){let p=h(`model-selector`),m=h(`size-selector`),g=h(`max-images-selector`),_=h(`output-format-selector`),v=h(`seed-input`),y=h(`guidance-scale-input`),b=h(`watermark-switch`),x=h(`prompt-input`),S=h(`image-input`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return c(),e(`div`,It,[t(`div`,Lt,[s(p,{class:`mb-4`}),s(m,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),s(v,{class:`mb-4`}),s(y,{class:`mb-4`}),s(b,{class:`mb-4`}),s(x,{class:`mb-4`}),s(S,{class:`mb-4`})]),t(`div`,Rt,[s(C,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(T,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Bt=z(Ft,[[`render`,zt]]),Vt=i({name:`SeedreamTaskPreview`,components:{ElImage:C,CopyToClipboard:Y,FontAwesomeIcon:J,ElAlert:w,ImageWrapper:pe,ElButton:K,ElTooltip:S,ImagePreview:X,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return k(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),Ht={class:`preview`},Ut={class:`left`},Wt={class:`main`},Gt={class:`bot`},Kt={class:`datetime`},qt={class:`info`},Jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Yt={key:1,class:`prompt mt-2`},Xt={key:0},Zt={key:0,class:r({content:!0})},Qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$t={key:1,class:r({content:!0,failed:!0})},en={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},tn={class:r({operations:!0,"mt-2":!0,"mb-2":!0})},nn={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`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:r({content:!0})},ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gn={key:3,class:r({content:!0})},_n={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function yn(r,i,p,g,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`),w=h(`image-wrapper`),T=h(`el-button`),E=h(`el-tooltip`),D=h(`api-code-button`);return c(),e(`div`,Ht,[t(`div`,Ut,[s(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),t(`div`,Wt,[t(`div`,Gt,[a(n(r.$t(`seedream.name.seedreamBot`))+` `,1),t(`span`,Kt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,qt,[Array.isArray(r.modelValue?.request?.image)&&r.modelValue?.request?.image.length>0?(c(),e(`div`,Jt,[(c(!0),e(l,null,f(r.modelValue?.request?.image,(e,t)=>(c(),o(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(c(),e(`p`,Yt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,Xt,` - (`+n(r.$t(`seedream.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?r.modelValue?.response?.success===!0?(c(),e(`div`,$t,[t(`div`,en,[(c(!0),e(l,null,f(r.images,(e,t)=>(c(),o(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),t(`div`,tn,[s(E,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:d(()=>[s(T,{type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=u(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:d(()=>[a(n(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),s(D,{path:`/seedream/images`,body:r.modelValue?.request},null,8,[`body`])]),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,nn,[s(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.model`))+`: `+n(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(c(),e(`p`,rn,[s(x,{icon:`fa-solid fa-image`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.size`))+`: `+n(r.modelValue?.request?.size),1)])):m(``,!0),t(`p`,an,[s(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.task`))+`: `+n(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),t(`p`,on,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,sn,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,cn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(c(),e(`div`,$,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.failure`)),1)]),default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,ln,[s(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.model`))+`: `+n(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(c(),e(`p`,un,[s(x,{icon:`fa-solid fa-image`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.size`))+`: `+n(r.modelValue?.request?.size),1)])):m(``,!0),t(`p`,dn,[s(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.task`))+`: `+n(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),t(`p`,fn,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.error?.message?(c(),e(`p`,pn,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):m(``,!0),r.modelValue?.elapsed?(c(),e(`p`,mn,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,hn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(c(),e(`div`,gn,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.status`)),1)]),default:d(()=>[t(`p`,_n,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.trace_id?(c(),e(`p`,vn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(c(),e(`div`,Zt,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.status.pending`)),1)]),default:d(()=>[t(`p`,Qt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var bn=i({name:`SeedreamRecentPanel`,components:{TaskPreview:z(Vt,[[`render`,yn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:ue,NoTasks:de,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xn={key:0},Sn={key:2,class:`w-full h-full flex items-center justify-center`};function Cn(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,xn,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Sn,[s(v)])):m(``,!0)],64)}var wn=i({name:`SeedreamIndex`,components:{ConfigPanel:Bt,Layout:ye,RecentPanel:z(bn,[[`render`,Cn]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===q.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===q.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.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 ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/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.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,async:!0};if(!W())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}R.info(this.$t(`seedream.message.startingTask`)),L(`seedream`,G.generate(t,{token:n})).then(()=>{R.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?R.error(this.$t(`seedream.message.usedUp`)):R.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Tn(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var En=z(wn,[[`render`,Tn]]);export{En as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{n as v,r as y,t as b}from"./select-CZ_7vuAa.js";import{t as x}from"./upload-BnDQ5ura.js";import{t as S}from"./tooltip-ClLB1TIj.js";import{t as C}from"./image-DHm0KtJ4.js";import{t as w}from"./alert-BgZtqyol.js";import{t as T}from"./drawer-B_aoVshd.js";import{t as E}from"./input-number-CUsL_JE4.js";import{t as D}from"./switch-CLPnTfNp.js";import{_n as O,bn as k,cn as ee,dn as A,fn as j,gn as te,hn as M,ln as N,mn as P,pn as F,yn as I}from"./constants-BbSGgy1t.js";import{$n as L,$r as R,A as z,Hr as ne,Ht as re,Kt as ie,Qr as B,Ut as V,Vt as H,Wt as U,en as W,gn as G,ui as K,zr as q}from"./index-ldpF6zqg.js";import{t as J}from"./index.es-DOzkBJSB.js";import{t as Y}from"./CopyToClipboard-C-5MtrCb.js";import{t as X}from"./ImagePreview-DBO6eOxj.js";import{n as ae}from"./taskDrawerMixin-CfysS2FH.js";import{t as oe}from"./Consumption-NOLjlY5-.js";import{i as Z,n as se,t as ce}from"./pagination-B-1QyeBs.js";import{t as le}from"./ApiCodeButton-DtQf7EM-.js";import{t as ue}from"./BotPlaceholder-BiB7lsSi.js";import{t as de}from"./NoTasks-BJGOPpgL.js";import{t as fe}from"./PromptTextarea-BLWDxqEF.js";import{t as pe}from"./ImageWrapper-CocM1Guo.js";var me=i({name:`LayoutSeedream`,components:{ElDrawer:T,ElButton:K,FontAwesomeIcon:J},mixins:[ae]}),he={class:`main flex flex-row flex-1`},ge={class:`config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},_e={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function ve(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,he,[t(`div`,ge,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,_e,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ye=z(me,[[`render`,ve],[`__scopeId`,`data-v-2a1715d6`]]),be=i({name:`SeedreamPromptInput`,components:{PromptTextarea:fe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function xe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Se=z(be,[[`render`,xe]]),Ce={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case P:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case F:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case j:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case A:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:N[A],outputFormat:!1,tools:!1};case M:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:N[M],outputFormat:!1,tools:!1};default:return Ce}}var we=[`1K`,`2K`,`3K`,`4K`];function Te(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(we.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Ee(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var De=i({name:`SeedreamImageInput`,components:{ElUpload:x,ElButton:K,InfoIcon:Z,ImagePreview:X,FontAwesomeIcon:J},mixins:[U,re],data(){return{fileList:[],uploadUrl:ne()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){R.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){R.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Oe={key:0},ke={class:`field`},Ae={class:`label`},je={class:`box`},Me={class:`title font-bold`},Ne={class:`value`},Pe={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Fe(r,i,u,p,g,_){let v=h(`info-icon`),y=h(`font-awesome-icon`),b=h(`el-button`),x=h(`el-upload`),S=h(`image-preview`);return r.supported?(c(),e(`div`,Oe,[t(`div`,ke,[t(`div`,Ae,[t(`div`,je,[t(`h2`,Me,n(r.$t(`seedream.name.imageUrls`)),1),s(v,{content:r.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),t(`div`,Ne,[s(x,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:d(()=>[s(b,{size:`small`,type:`primary`,round:``},{default:d(()=>[s(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),a(` `+n(r.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),t(`div`,Pe,[(c(!0),e(l,null,f(r.fileList,(e,t)=>(c(),o(S,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):m(``,!0)}var Ie=z(De,[[`render`,Fe],[`__scopeId`,`data-v-6ef4c2e4`]]),Le=i({name:`SeedreamModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{revertKey:0,options:[{value:P,label:this.$t(`seedream.model.seedream50`)},{value:F,label:this.$t(`seedream.model.seedream45`)},{value:j,label:this.$t(`seedream.model.seedream40`)},{value:A,label:this.$t(`seedream.model.seedream30t2i`)},{value:M,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(ee)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Te(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await B.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Ee({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),R.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`};function He(r,i,a,u,p,m){let g=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return c(),e(`div`,Re,[t(`div`,ze,[t(`div`,Be,[t(`h2`,Ve,n(r.$t(`seedream.name.model`)),1),s(g,{content:r.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(c(),o(v,{key:r.revertKey,"model-value":r.value,class:`value`,placeholder:r.$t(`seedream.placeholder.select`),onChange:r.onChange},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Ue=z(Le,[[`render`,He],[`__scopeId`,`data-v-8892a12c`]]),We=i({name:`SeedreamSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:I,pixelOptions:O}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(r,i,a,u,p,g){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-option-group`),b=h(`el-select`);return c(),e(`div`,Ge,[t(`div`,Ke,[t(`div`,qe,[t(`h2`,Je,n(r.$t(`seedream.name.size`)),1),s(_,{content:r.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),s(b,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:d(()=>[r.capabilities.sizeTiers.length?(c(),o(y,{key:0,label:r.$t(`seedream.size.group.tier`)},{default:d(()=>[(c(!0),e(l,null,f(r.capabilities.sizeTiers,e=>(c(),o(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):m(``,!0),r.capabilities.sizeAdaptive?(c(),o(y,{key:1,label:r.$t(`seedream.size.group.adaptive`)},{default:d(()=>[(c(),o(v,{key:r.SEEDREAM_SIZE_ADAPTIVE,label:r.$t(`seedream.size.adaptive`),value:r.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):m(``,!0),s(y,{label:r.$t(`seedream.size.group.pixel`)},{default:d(()=>[(c(!0),e(l,null,f(r.pixelOptions,e=>(c(),o(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=z(We,[[`render`,Ye],[`__scopeId`,`data-v-dd7bd021`]]),Ze=i({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),Qe={key:0,class:`field`},$e={class:`label`},et={class:`box`},tt={class:`title font-bold`},nt={class:`value`};function rt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,Qe,[t(`div`,$e,[t(`div`,et,[t(`h2`,tt,n(r.$t(`seedream.name.maxImages`)),1),s(d,{content:r.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),t(`div`,nt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:1,max:r.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):m(``,!0)}var it=z(Ze,[[`render`,rt],[`__scopeId`,`data-v-f079fd20`]]),at=i({name:`SeedreamOutputFormatSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[...te]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),ot={key:0,class:`field`},st={class:`label`},ct={class:`box`},lt={class:`title font-bold`};function ut(r,i,a,u,p,g){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-select`);return r.supported?(c(),e(`div`,ot,[t(`div`,st,[t(`div`,ct,[t(`h2`,lt,n(r.$t(`seedream.name.outputFormat`)),1),s(_,{content:r.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),s(y,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):m(``,!0)}var dt=z(at,[[`render`,ut],[`__scopeId`,`data-v-69ea4c07`]]),ft=i({name:`SeedreamSeedInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),pt={key:0,class:`field`},mt={class:`label`},ht={class:`box`},gt={class:`title font-bold`},_t={class:`value`};function vt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,pt,[t(`div`,mt,[t(`div`,ht,[t(`h2`,gt,n(r.$t(`seedream.name.seed`)),1),s(d,{content:r.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),t(`div`,_t,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var yt=z(ft,[[`render`,vt],[`__scopeId`,`data-v-10cdc1e0`]]),bt=i({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),xt={key:0,class:`field`},St={class:`label`},Ct={class:`box`},wt={class:`title font-bold`},Tt={class:`value`};function Et(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`);return r.supported?(c(),e(`div`,xt,[t(`div`,St,[t(`div`,Ct,[t(`h2`,wt,n(r.$t(`seedream.name.guidanceScale`)),1),s(d,{content:r.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),t(`div`,Tt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var Dt=z(bt,[[`render`,Et],[`__scopeId`,`data-v-7386f064`]]),Ot=i({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),kt={class:`field`},At={class:`label`},jt={class:`box`},Mt={class:`title font-bold`},Nt={class:`value`};function Pt(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,kt,[t(`div`,At,[t(`div`,jt,[t(`h2`,Mt,n(r.$t(`seedream.name.watermark`)),1),s(d,{content:r.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),t(`div`,Nt,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e},null,8,[`modelValue`])])])}var Ft=i({name:`SeedreamConfigPanel`,components:{ElButton:K,FontAwesomeIcon:J,PromptInput:Se,Consumption:oe,ImageInput:Ie,ModelSelector:Ue,SizeSelector:Xe,MaxImagesSelector:it,OutputFormatSelector:dt,SeedInput:yt,GuidanceScaleInput:Dt,WatermarkSwitch:z(Ot,[[`render`,Pt],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return ie({...e,action:t?`edit`:`generate`,model:k(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),It={class:`flex flex-col h-full`},Lt={class:`flex-1 overflow-y-auto p-5`},Rt={class:`flex flex-col items-center justify-center px-5 pb-5`};function zt(r,i,o,l,u,f){let p=h(`model-selector`),m=h(`size-selector`),g=h(`max-images-selector`),_=h(`output-format-selector`),v=h(`seed-input`),y=h(`guidance-scale-input`),b=h(`watermark-switch`),x=h(`prompt-input`),S=h(`image-input`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return c(),e(`div`,It,[t(`div`,Lt,[s(p,{class:`mb-4`}),s(m,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),s(v,{class:`mb-4`}),s(y,{class:`mb-4`}),s(b,{class:`mb-4`}),s(x,{class:`mb-4`}),s(S,{class:`mb-4`})]),t(`div`,Rt,[s(C,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(T,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Bt=z(Ft,[[`render`,zt]]),Vt=i({name:`SeedreamTaskPreview`,components:{ElImage:C,CopyToClipboard:Y,FontAwesomeIcon:J,ElAlert:w,ImageWrapper:pe,ElButton:K,ElTooltip:S,ImagePreview:X,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return k(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),Ht={class:`preview`},Ut={class:`left`},Wt={class:`main`},Gt={class:`bot`},Kt={class:`datetime`},qt={class:`info`},Jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Yt={key:1,class:`prompt mt-2`},Xt={key:0},Zt={key:0,class:r({content:!0})},Qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$t={key:1,class:r({content:!0,failed:!0})},en={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},tn={class:r({operations:!0,"mt-2":!0,"mb-2":!0})},nn={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`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:r({content:!0})},ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gn={key:3,class:r({content:!0})},_n={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function yn(r,i,p,g,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`),w=h(`image-wrapper`),T=h(`el-button`),E=h(`el-tooltip`),D=h(`api-code-button`);return c(),e(`div`,Ht,[t(`div`,Ut,[s(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),t(`div`,Wt,[t(`div`,Gt,[a(n(r.$t(`seedream.name.seedreamBot`))+` `,1),t(`span`,Kt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,qt,[Array.isArray(r.modelValue?.request?.image)&&r.modelValue?.request?.image.length>0?(c(),e(`div`,Jt,[(c(!0),e(l,null,f(r.modelValue?.request?.image,(e,t)=>(c(),o(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(c(),e(`p`,Yt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,Xt,` - (`+n(r.$t(`seedream.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?r.modelValue?.response?.success===!0?(c(),e(`div`,$t,[t(`div`,en,[(c(!0),e(l,null,f(r.images,(e,t)=>(c(),o(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),t(`div`,tn,[s(E,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:d(()=>[s(T,{type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=u(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:d(()=>[a(n(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),s(D,{path:`/seedream/images`,body:r.modelValue?.request},null,8,[`body`])]),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,nn,[s(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.model`))+`: `+n(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(c(),e(`p`,rn,[s(x,{icon:`fa-solid fa-image`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.size`))+`: `+n(r.modelValue?.request?.size),1)])):m(``,!0),t(`p`,an,[s(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.task`))+`: `+n(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),t(`p`,on,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,sn,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,cn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(c(),e(`div`,$,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.failure`)),1)]),default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,ln,[s(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.model`))+`: `+n(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(c(),e(`p`,un,[s(x,{icon:`fa-solid fa-image`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.size`))+`: `+n(r.modelValue?.request?.size),1)])):m(``,!0),t(`p`,dn,[s(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.task`))+`: `+n(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),t(`p`,fn,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.error?.message?(c(),e(`p`,pn,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):m(``,!0),r.modelValue?.elapsed?(c(),e(`p`,mn,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,hn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(c(),e(`div`,gn,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.status`)),1)]),default:d(()=>[t(`p`,_n,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.trace_id?(c(),e(`p`,vn,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(c(),e(`div`,Zt,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`seedream.status.pending`)),1)]),default:d(()=>[t(`p`,Qt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`seedream.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var bn=i({name:`SeedreamRecentPanel`,components:{TaskPreview:z(Vt,[[`render`,yn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:ue,NoTasks:de,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xn={key:0},Sn={key:2,class:`w-full h-full flex items-center justify-center`};function Cn(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,xn,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Sn,[s(v)])):m(``,!0)],64)}var wn=i({name:`SeedreamIndex`,components:{ConfigPanel:Bt,Layout:ye,RecentPanel:z(bn,[[`render`,Cn]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===q.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===q.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.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 ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/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.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,async:!0};if(!W())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}R.info(this.$t(`seedream.message.startingTask`)),L(`seedream`,G.generate(t,{token:n})).then(()=>{R.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?R.error(this.$t(`seedream.message.usedUp`)):R.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Tn(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var En=z(wn,[[`render`,Tn]]);export{En as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,I as r,M as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,k as p,nt as m,tt as h,y as g}from"./vendor-chart-kBsXB1rh.js";import{r as _,t as v}from"./select-ul7Wo_Q6.js";import{n as y,t as b}from"./tabs-CcGiBXnJ.js";import{t as x}from"./tooltip-BWueZx_j.js";import{t as S}from"./image-BJNsYYKd.js";import{t as C}from"./alert-CXSqX3ys.js";import{n as w,r as ee}from"./radio-Ct6y4mt7.js";import{n as te,t as T}from"./collapse-BPov2dKT.js";import{t as E}from"./drawer-CF-Mh2Gm.js";import{t as D}from"./input-number-D5etV7az.js";import{t as O}from"./switch-DFeLUK7J.js";import"./constants-BbSGgy1t.js";import{$r as k,A,Kt as j,en as M,ui as N,yi as P,zr as F}from"./index-Bf6bS8cW.js";import{t as I}from"./index.es-CuQlvr5B.js";import{t as L}from"./CopyToClipboard-D8gJOukV.js";import{t as R}from"./Consumption-B7oPcRnx.js";var z=r({name:`LayoutWebextrator`,components:{ElDrawer:E,ElButton:N,FontAwesomeIcon:I},data(){return{drawer:!1}}}),B={class:`main flex flex-row flex-1`},V={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},H={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function U(n,r,i,a,o,l){let u=m(`font-awesome-icon`),f=m(`el-button`),p=m(`el-drawer`);return c(),e(`div`,B,[t(`div`,V,[h(n.$slots,`config`,{},void 0,!0)]),t(`div`,H,[h(n.$slots,`result`,{},void 0,!0)]),s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-sliders`})]),_:1}),s(p,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[h(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var W=A(z,[[`render`,U],[`__scopeId`,`data-v-7b1cd8ae`]]),G=r({name:`ModeSelector`,components:{ElRadioGroup:ee,ElRadioButton:w,FontAwesomeIcon:I},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),K={class:`field`},q={class:`title font-bold`};function J(r,i,o,l,u,f){let p=m(`font-awesome-icon`),h=m(`el-radio-button`),g=m(`el-radio-group`);return c(),e(`div`,K,[t(`h2`,q,n(r.$t(`webextrator.name.mode`)),1),s(g,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value w-full`},{default:d(()=>[s(h,{label:`extract`,value:`extract`},{default:d(()=>[s(p,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),a(` `+n(r.$t(`webextrator.mode.extract`)),1)]),_:1}),s(h,{label:`render`,value:`render`},{default:d(()=>[s(p,{icon:`fa-solid fa-globe`,class:`mr-1`}),a(` `+n(r.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var Y=A(G,[[`render`,J],[`__scopeId`,`data-v-31e6c11d`]]),X=r({name:`UrlInput`,components:{ElInput:P},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),Z={class:`field`},Q={class:`title font-bold`};function ne(r,i,a,o,l,d){let f=m(`el-input`);return c(),e(`div`,Z,[t(`h2`,Q,n(r.$t(`webextrator.name.url`)),1),s(f,{modelValue:r.url,"onUpdate:modelValue":i[0]||=e=>r.url=e,type:`textarea`,rows:2,class:`prompt`,placeholder:r.$t(`webextrator.placeholder.url`),onKeydown:g(u(r.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var re=A(X,[[`render`,ne],[`__scopeId`,`data-v-18488009`]]),ie=r({name:`ExpectedTypeSelector`,components:{ElSelect:_,ElOption:v},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ae={class:`field`},oe={class:`title font-bold`};function se(r,i,a,o,l,u){let f=m(`el-option`),p=m(`el-select`);return c(),e(`div`,ae,[t(`h2`,oe,n(r.$t(`webextrator.name.expectedType`)),1),s(p,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},{default:d(()=>[s(f,{value:`general`,label:r.$t(`webextrator.expectedType.general`)},null,8,[`label`]),s(f,{value:`article`,label:r.$t(`webextrator.expectedType.article`)},null,8,[`label`]),s(f,{value:`product`,label:r.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ce=A(ie,[[`render`,se],[`__scopeId`,`data-v-3b572c49`]]),le=r({name:`LlmToggle`,components:{ElSwitch:O,ElTooltip:x,FontAwesomeIcon:I},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),ue={class:`field`},de={class:`title font-bold`};function fe(r,i,o,l,u,f){let p=m(`font-awesome-icon`),h=m(`el-tooltip`),g=m(`el-switch`);return c(),e(`div`,ue,[t(`h2`,de,[a(n(r.$t(`webextrator.name.enableLlm`))+` `,1),s(h,{effect:`dark`,content:r.$t(`webextrator.description.enableLlm`),placement:`top`},{default:d(()=>[s(p,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),s(g,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])}var pe=A(le,[[`render`,fe],[`__scopeId`,`data-v-32fa7c89`]]),me=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],he=r({name:`AdvancedOptions`,components:{ElCollapse:T,ElCollapseItem:te,ElInput:P,ElInputNumber:D,ElSelect:_,ElOption:v},data(){return{active:[]}},computed:{resourceKinds(){return me},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),ge={class:`field`},_e={class:`sub-title`},ve={class:`field`},ye={class:`sub-title`},be={class:`field`},xe={class:`sub-title`},Se={class:`field`},Ce={class:`sub-title`},we={class:`field`},Te={class:`sub-title`};function Ee(r,i,a,u,p,h){let g=m(`el-option`),_=m(`el-select`),v=m(`el-input`),y=m(`el-input-number`),b=m(`el-collapse-item`),x=m(`el-collapse`);return c(),o(x,{modelValue:r.active,"onUpdate:modelValue":i[5]||=e=>r.active=e,class:`advanced`},{default:d(()=>[s(b,{title:r.$t(`webextrator.name.advanced`),name:`advanced`},{default:d(()=>[t(`div`,ge,[t(`h2`,_e,n(r.$t(`webextrator.name.waitUntil`)),1),s(_,{modelValue:r.waitUntil,"onUpdate:modelValue":i[0]||=e=>r.waitUntil=e,class:`value`},{default:d(()=>[s(g,{value:`networkidle`,label:r.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),s(g,{value:`load`,label:r.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),s(g,{value:`domcontentloaded`,label:r.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),s(g,{value:`commit`,label:r.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),t(`div`,ve,[t(`h2`,ye,n(r.$t(`webextrator.name.waitForSelector`)),1),s(v,{modelValue:r.waitForSelector,"onUpdate:modelValue":i[1]||=e=>r.waitForSelector=e,placeholder:r.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),t(`div`,be,[t(`h2`,xe,n(r.$t(`webextrator.name.timeout`)),1),s(y,{modelValue:r.timeout,"onUpdate:modelValue":i[2]||=e=>r.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),t(`div`,Se,[t(`h2`,Ce,n(r.$t(`webextrator.name.delay`)),1),s(y,{modelValue:r.delay,"onUpdate:modelValue":i[3]||=e=>r.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),t(`div`,we,[t(`h2`,Te,n(r.$t(`webextrator.name.blockResources`)),1),s(_,{modelValue:r.blockResources,"onUpdate:modelValue":i[4]||=e=>r.blockResources=e,multiple:``,"collapse-tags":``,placeholder:r.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:d(()=>[(c(!0),e(l,null,f(r.resourceKinds,e=>(c(),o(g,{key:e,label:r.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var De=r({name:`WebextratorConfigPanel`,components:{ElButton:N,FontAwesomeIcon:I,ModeSelector:Y,UrlInput:re,ExpectedTypeSelector:ce,LlmToggle:pe,AdvancedOptions:A(he,[[`render`,Ee],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:R},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return j(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===F.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Oe={class:`flex flex-col h-full`},ke={class:`flex-1 overflow-y-auto p-5`},Ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function je(r,i,o,u,f,h){let g=m(`mode-selector`),_=m(`url-input`),v=m(`expected-type-selector`),y=m(`llm-toggle`),b=m(`advanced-options`),x=m(`consumption`),S=m(`font-awesome-icon`),C=m(`el-button`);return c(),e(`div`,Oe,[t(`div`,ke,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`,onSubmit:r.onRun},null,8,[`onSubmit`]),r.isExtract?(c(),e(l,{key:0},[s(v,{class:`mb-4`}),s(y,{class:`mb-4`})],64)):p(``,!0),s(b,{class:`mb-4`})]),t(`div`,Ae,[s(x,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`w-full`,round:``,loading:r.running,disabled:!r.canRun,onClick:r.onRun},{default:d(()=>[s(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),a(` `+n(r.$t(r.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var Me=A(De,[[`render`,je]]),Ne=e=>!!e&&e.kind!==`render`,Pe=r({name:`WebextratorResultPanel`,components:{ElAlert:C,ElImage:S,ElTabs:y,ElTabPane:b,FontAwesomeIcon:I,CopyToClipboard:L},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===F.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ne(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,I as r,M as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,k as p,nt as m,tt as h,y as g}from"./vendor-chart-kBsXB1rh.js";import{r as _,t as v}from"./select-CZ_7vuAa.js";import{n as y,t as b}from"./tabs-D-ocs8Lp.js";import{t as x}from"./tooltip-ClLB1TIj.js";import{t as S}from"./image-DHm0KtJ4.js";import{t as C}from"./alert-BgZtqyol.js";import{n as w,r as ee}from"./radio-Ct6y4mt7.js";import{n as te,t as T}from"./collapse-CBNwqY8q.js";import{t as E}from"./drawer-B_aoVshd.js";import{t as D}from"./input-number-CUsL_JE4.js";import{t as O}from"./switch-CLPnTfNp.js";import"./constants-BbSGgy1t.js";import{$r as k,A,Kt as j,en as M,ui as N,yi as P,zr as F}from"./index-ldpF6zqg.js";import{t as I}from"./index.es-DOzkBJSB.js";import{t as L}from"./CopyToClipboard-C-5MtrCb.js";import{t as R}from"./Consumption-NOLjlY5-.js";var z=r({name:`LayoutWebextrator`,components:{ElDrawer:E,ElButton:N,FontAwesomeIcon:I},data(){return{drawer:!1}}}),B={class:`main flex flex-row flex-1`},V={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},H={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function U(n,r,i,a,o,l){let u=m(`font-awesome-icon`),f=m(`el-button`),p=m(`el-drawer`);return c(),e(`div`,B,[t(`div`,V,[h(n.$slots,`config`,{},void 0,!0)]),t(`div`,H,[h(n.$slots,`result`,{},void 0,!0)]),s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-sliders`})]),_:1}),s(p,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[h(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var W=A(z,[[`render`,U],[`__scopeId`,`data-v-7b1cd8ae`]]),G=r({name:`ModeSelector`,components:{ElRadioGroup:ee,ElRadioButton:w,FontAwesomeIcon:I},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),K={class:`field`},q={class:`title font-bold`};function J(r,i,o,l,u,f){let p=m(`font-awesome-icon`),h=m(`el-radio-button`),g=m(`el-radio-group`);return c(),e(`div`,K,[t(`h2`,q,n(r.$t(`webextrator.name.mode`)),1),s(g,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value w-full`},{default:d(()=>[s(h,{label:`extract`,value:`extract`},{default:d(()=>[s(p,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),a(` `+n(r.$t(`webextrator.mode.extract`)),1)]),_:1}),s(h,{label:`render`,value:`render`},{default:d(()=>[s(p,{icon:`fa-solid fa-globe`,class:`mr-1`}),a(` `+n(r.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var Y=A(G,[[`render`,J],[`__scopeId`,`data-v-31e6c11d`]]),X=r({name:`UrlInput`,components:{ElInput:P},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),Z={class:`field`},Q={class:`title font-bold`};function ne(r,i,a,o,l,d){let f=m(`el-input`);return c(),e(`div`,Z,[t(`h2`,Q,n(r.$t(`webextrator.name.url`)),1),s(f,{modelValue:r.url,"onUpdate:modelValue":i[0]||=e=>r.url=e,type:`textarea`,rows:2,class:`prompt`,placeholder:r.$t(`webextrator.placeholder.url`),onKeydown:g(u(r.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var re=A(X,[[`render`,ne],[`__scopeId`,`data-v-18488009`]]),ie=r({name:`ExpectedTypeSelector`,components:{ElSelect:_,ElOption:v},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ae={class:`field`},oe={class:`title font-bold`};function se(r,i,a,o,l,u){let f=m(`el-option`),p=m(`el-select`);return c(),e(`div`,ae,[t(`h2`,oe,n(r.$t(`webextrator.name.expectedType`)),1),s(p,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},{default:d(()=>[s(f,{value:`general`,label:r.$t(`webextrator.expectedType.general`)},null,8,[`label`]),s(f,{value:`article`,label:r.$t(`webextrator.expectedType.article`)},null,8,[`label`]),s(f,{value:`product`,label:r.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ce=A(ie,[[`render`,se],[`__scopeId`,`data-v-3b572c49`]]),le=r({name:`LlmToggle`,components:{ElSwitch:O,ElTooltip:x,FontAwesomeIcon:I},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),ue={class:`field`},de={class:`title font-bold`};function fe(r,i,o,l,u,f){let p=m(`font-awesome-icon`),h=m(`el-tooltip`),g=m(`el-switch`);return c(),e(`div`,ue,[t(`h2`,de,[a(n(r.$t(`webextrator.name.enableLlm`))+` `,1),s(h,{effect:`dark`,content:r.$t(`webextrator.description.enableLlm`),placement:`top`},{default:d(()=>[s(p,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),s(g,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])}var pe=A(le,[[`render`,fe],[`__scopeId`,`data-v-32fa7c89`]]),me=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],he=r({name:`AdvancedOptions`,components:{ElCollapse:T,ElCollapseItem:te,ElInput:P,ElInputNumber:D,ElSelect:_,ElOption:v},data(){return{active:[]}},computed:{resourceKinds(){return me},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),ge={class:`field`},_e={class:`sub-title`},ve={class:`field`},ye={class:`sub-title`},be={class:`field`},xe={class:`sub-title`},Se={class:`field`},Ce={class:`sub-title`},we={class:`field`},Te={class:`sub-title`};function Ee(r,i,a,u,p,h){let g=m(`el-option`),_=m(`el-select`),v=m(`el-input`),y=m(`el-input-number`),b=m(`el-collapse-item`),x=m(`el-collapse`);return c(),o(x,{modelValue:r.active,"onUpdate:modelValue":i[5]||=e=>r.active=e,class:`advanced`},{default:d(()=>[s(b,{title:r.$t(`webextrator.name.advanced`),name:`advanced`},{default:d(()=>[t(`div`,ge,[t(`h2`,_e,n(r.$t(`webextrator.name.waitUntil`)),1),s(_,{modelValue:r.waitUntil,"onUpdate:modelValue":i[0]||=e=>r.waitUntil=e,class:`value`},{default:d(()=>[s(g,{value:`networkidle`,label:r.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),s(g,{value:`load`,label:r.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),s(g,{value:`domcontentloaded`,label:r.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),s(g,{value:`commit`,label:r.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),t(`div`,ve,[t(`h2`,ye,n(r.$t(`webextrator.name.waitForSelector`)),1),s(v,{modelValue:r.waitForSelector,"onUpdate:modelValue":i[1]||=e=>r.waitForSelector=e,placeholder:r.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),t(`div`,be,[t(`h2`,xe,n(r.$t(`webextrator.name.timeout`)),1),s(y,{modelValue:r.timeout,"onUpdate:modelValue":i[2]||=e=>r.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),t(`div`,Se,[t(`h2`,Ce,n(r.$t(`webextrator.name.delay`)),1),s(y,{modelValue:r.delay,"onUpdate:modelValue":i[3]||=e=>r.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),t(`div`,we,[t(`h2`,Te,n(r.$t(`webextrator.name.blockResources`)),1),s(_,{modelValue:r.blockResources,"onUpdate:modelValue":i[4]||=e=>r.blockResources=e,multiple:``,"collapse-tags":``,placeholder:r.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:d(()=>[(c(!0),e(l,null,f(r.resourceKinds,e=>(c(),o(g,{key:e,label:r.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var De=r({name:`WebextratorConfigPanel`,components:{ElButton:N,FontAwesomeIcon:I,ModeSelector:Y,UrlInput:re,ExpectedTypeSelector:ce,LlmToggle:pe,AdvancedOptions:A(he,[[`render`,Ee],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:R},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return j(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===F.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Oe={class:`flex flex-col h-full`},ke={class:`flex-1 overflow-y-auto p-5`},Ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function je(r,i,o,u,f,h){let g=m(`mode-selector`),_=m(`url-input`),v=m(`expected-type-selector`),y=m(`llm-toggle`),b=m(`advanced-options`),x=m(`consumption`),S=m(`font-awesome-icon`),C=m(`el-button`);return c(),e(`div`,Oe,[t(`div`,ke,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`,onSubmit:r.onRun},null,8,[`onSubmit`]),r.isExtract?(c(),e(l,{key:0},[s(v,{class:`mb-4`}),s(y,{class:`mb-4`})],64)):p(``,!0),s(b,{class:`mb-4`})]),t(`div`,Ae,[s(x,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`w-full`,round:``,loading:r.running,disabled:!r.canRun,onClick:r.onRun},{default:d(()=>[s(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),a(` `+n(r.$t(r.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var Me=A(De,[[`render`,je]]),Ne=e=>!!e&&e.kind!==`render`,Pe=r({name:`WebextratorResultPanel`,components:{ElAlert:C,ElImage:S,ElTabs:y,ElTabPane:b,FontAwesomeIcon:I,CopyToClipboard:L},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===F.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ne(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
2
|
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Fe={class:`h-full overflow-y-auto p-6`},Ie={key:0,class:`max-w-4xl mx-auto py-4`},Le={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Re={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},ze={class:`text-base mb-1`},Be={class:`text-xs opacity-70`},Ve={key:2,class:`max-w-4xl mx-auto py-4`},He={class:`text-xs whitespace-pre-wrap break-words`},Ue={key:3,class:`max-w-4xl mx-auto`},We={class:`mb-4`},Ge={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},Ke={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},qe=[`href`],Je={key:1},Ye={key:2},Xe={key:3},Ze={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},Qe={key:0,class:`mb-5`},$e={class:`tab-toolbar`},et={class:`content-block`},tt={class:`tab-toolbar`},$={class:`content-block`},nt={class:`tab-toolbar`},rt={class:`content-block code`},it={class:`tab-toolbar`},at={class:`links-list`},ot=[`href`],st={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},ct={class:`tab-toolbar`},lt={class:`content-block code`},ut={class:`tab-toolbar`},dt={class:`content-block code`};function ft(r,u,h,g,_,v){let y=m(`font-awesome-icon`),b=m(`el-alert`),x=m(`el-image`),S=m(`copy-to-clipboard`),C=m(`el-tab-pane`),w=m(`el-tabs`);return c(),e(`div`,Fe,[r.running?(c(),e(`div`,Ie,[t(`div`,Le,[s(y,{icon:`fa-solid fa-circle-notch`,spin:``}),t(`span`,null,n(r.$t(`webextrator.message.running`)),1)]),u[1]||=i(`<div class="mb-6 animate-pulse" data-v-b05b4db0><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-b05b4db0></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-b05b4db0></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-b05b4db0></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-b05b4db0></div></div>`,1)])):!r.response&&!r.errorMessage?(c(),e(`div`,Re,[s(y,{icon:`fa-solid fa-globe`,class:`text-6xl mb-4 opacity-30`}),t(`p`,ze,n(r.$t(`webextrator.description.intro`)),1),t(`p`,Be,n(r.$t(`webextrator.description.introHint`)),1)])):r.errorMessage?(c(),e(`div`,Ve,[s(b,{type:`error`,closable:!1,"show-icon":``,title:r.$t(`webextrator.message.failed`)},{default:d(()=>[t(`pre`,He,n(r.errorMessage),1)]),_:1},8,[`title`])])):r.data?(c(),e(`div`,Ue,[t(`header`,We,[t(`h1`,Ge,n(r.data.title||r.$t(`webextrator.message.untitled`)),1),t(`div`,Ke,[r.finalUrl?(c(),e(`a`,{key:0,href:r.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[s(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),a(n(r.finalUrl),1)],8,qe)):p(``,!0),r.renderData?.status?(c(),e(`span`,Je,[s(y,{icon:`fa-solid fa-signal`,class:`mr-1`}),a(n(r.renderData.status),1)])):p(``,!0),r.response?.elapsed?(c(),e(`span`,Ye,[s(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(n(r.response.elapsed.toFixed(2))+`s `,1)])):p(``,!0),r.contentTypeLabel?(c(),e(`span`,Xe,[s(y,{icon:`fa-solid fa-tag`,class:`mr-1`}),a(n(r.contentTypeLabel),1)])):p(``,!0)]),r.extractData?.description?(c(),e(`p`,Ze,n(r.extractData.description),1)):p(``,!0)]),r.screenshotSrc?(c(),e(`figure`,Qe,[s(x,{src:r.screenshotSrc,fit:`contain`,"preview-src-list":[r.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):p(``,!0),s(w,{modelValue:r.activeTab,"onUpdate:modelValue":u[0]||=e=>r.activeTab=e,class:`result-tabs`},{default:d(()=>[r.markdown?(c(),o(C,{key:0,label:r.$t(`webextrator.tab.markdown`),name:`markdown`},{default:d(()=>[t(`div`,$e,[s(S,{content:r.markdown},null,8,[`content`])]),t(`pre`,et,n(r.markdown),1)]),_:1},8,[`label`])):p(``,!0),r.plainText?(c(),o(C,{key:1,label:r.$t(`webextrator.tab.text`),name:`text`},{default:d(()=>[t(`div`,tt,[s(S,{content:r.plainText},null,8,[`content`])]),t(`pre`,$,n(r.plainText),1)]),_:1},8,[`label`])):p(``,!0),r.extractData?.structured?(c(),o(C,{key:2,label:r.$t(`webextrator.tab.structured`),name:`structured`},{default:d(()=>[t(`div`,nt,[s(S,{content:r.structuredPretty},null,8,[`content`])]),t(`pre`,rt,n(r.structuredPretty),1)]),_:1},8,[`label`])):p(``,!0),r.links.length?(c(),o(C,{key:3,label:`${r.$t(`webextrator.tab.links`)} (${r.links.length})`,name:`links`},{default:d(()=>[t(`div`,it,[s(S,{content:r.linksPlain},null,8,[`content`])]),t(`ul`,at,[(c(!0),e(l,null,f(r.links,(r,i)=>(c(),e(`li`,{key:i,class:`truncate`},[t(`a`,{href:r,target:`_blank`,rel:`noopener`},n(r),9,ot)]))),128))])]),_:1},8,[`label`])):p(``,!0),r.images.length?(c(),o(C,{key:4,label:`${r.$t(`webextrator.tab.images`)} (${r.images.length})`,name:`images`},{default:d(()=>[t(`div`,st,[(c(!0),e(l,null,f(r.images,(e,t)=>(c(),o(x,{key:t,src:e,fit:`cover`,loading:`lazy`,"preview-src-list":r.images,"initial-index":t,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):p(``,!0),r.html?(c(),o(C,{key:5,label:r.$t(`webextrator.tab.html`),name:`html`},{default:d(()=>[t(`div`,ct,[s(S,{content:r.html},null,8,[`content`])]),t(`pre`,lt,n(r.html),1)]),_:1},8,[`label`])):p(``,!0),s(C,{label:r.$t(`webextrator.tab.raw`),name:`raw`},{default:d(()=>[t(`div`,ut,[s(S,{content:r.rawPretty},null,8,[`content`])]),t(`pre`,dt,n(r.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):p(``,!0)])}var pt=r({name:`WebextratorIndex`,components:{Layout:W,ConfigPanel:Me,ResultPanel:A(Pe,[[`render`,ft],[`__scopeId`,`data-v-b05b4db0`]])},inject:[`initialized`],async mounted(){await this.$store.dispatch(`webextrator/getService`)},methods:{async onRun(){if(!M())return;let e=this.$store.state.webextrator?.config;if(!e?.url)return;let t=(e.mode||`extract`)===`extract`;k.info(this.$t(t?`webextrator.message.extracting`:`webextrator.message.rendering`));try{await this.$store.dispatch(`webextrator/run`),k.success(this.$t(`webextrator.message.success`))}catch(e){let t=e?.response?.data?.error?.code||e?.response?.data?.code;t===`used_up`?k.error(this.$t(`webextrator.message.usedUp`)):t===`too_many_requests`?k.error(this.$t(`webextrator.message.busy`)):t===`timeout`?k.error(this.$t(`webextrator.message.timeout`)):t===`antibot_blocked`?k.error(this.$t(`webextrator.message.antibotBlocked`)):k.error(this.$t(`webextrator.message.failed`))}}}});function mt(e,t,n,r,i,a){let l=m(`config-panel`),u=m(`result-panel`),f=m(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onRun:e.onRun},null,8,[`onRun`])]),result:d(()=>[s(u)]),_:1})}var ht=A(pt,[[`render`,mt]]);export{ht as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,Wt as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{r as v,t as y}from"./select-ul7Wo_Q6.js";import{t as b}from"./upload-BUY6iRe-.js";import{t as x}from"./tooltip-BWueZx_j.js";import{t as S}from"./image-BJNsYYKd.js";import{t as C}from"./alert-CXSqX3ys.js";import{t as w}from"./drawer-CF-Mh2Gm.js";import{t as T}from"./input-number-D5etV7az.js";import{t as ee}from"./slider-BAnHaO57.js";import{ar as te,ir as E,nr as D,rr as O}from"./constants-BbSGgy1t.js";import{$n as k,$r as A,A as j,Dn as M,Hr as N,Ht as P,Kt as F,Ut as I,Vt as L,Wt as R,en as z,ui as B,zr as V}from"./index-Bf6bS8cW.js";import{t as H}from"./index.es-CuQlvr5B.js";import{t as U}from"./CopyToClipboard-D8gJOukV.js";import{t as W}from"./ImagePreview-DtPgesXi.js";import{n as G}from"./taskDrawerMixin-CfysS2FH.js";import{t as K}from"./Consumption-B7oPcRnx.js";import{i as q,n as J,t as Y}from"./pagination-BJ34zRxf.js";import{t as X}from"./VideoPlayer-CgGC2uHg.js";import{t as Z}from"./ApiCodeButton-wgOlho8X.js";import{t as Q}from"./BotPlaceholder-BBa7CDpO.js";import{t as ne}from"./NoTasks-CGrunQ-b.js";import{t as re}from"./PromptTextarea-CMhCuxJH.js";var ie=i({name:`LayoutPixverse`,components:{ElDrawer:w,ElButton:B,FontAwesomeIcon:H},mixins:[G]}),ae={class:`main flex flex-row flex-1`},oe={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},se={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ce(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,ae,[t(`div`,oe,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,se,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var le=j(ie,[[`render`,ce],[`__scopeId`,`data-v-e688a015`]]),ue=i({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=O}}),de={class:`field`},fe={class:`title font-bold`};function pe(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,de,[t(`h2`,fe,n(r.$t(`pixverse.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var me=j(ue,[[`render`,pe],[`__scopeId`,`data-v-e8f337ca`]]),he=i({name:`QualitySelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=te}}),ge={class:`field`},_e={class:`title font-bold`};function ve(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,ge,[t(`h2`,_e,n(r.$t(`pixverse.name.quality`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ye=j(he,[[`render`,ve],[`__scopeId`,`data-v-64aeaae9`]]),be=i({name:`MotionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=E}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`pixverse.name.motion`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=j(be,[[`render`,Ce],[`__scopeId`,`data-v-94237408`]]),Te=i({name:`StyleSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ee={class:`field`},De={class:`title font-bold`};function Oe(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,Ee,[t(`h2`,De,n(r.$t(`pixverse.name.style`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ke=j(Te,[[`render`,Oe],[`__scopeId`,`data-v-64e17b3c`]]),Ae=i({name:`SeedSelector`,components:{ElSlider:ee,InfoIcon:q,ElInputNumber:T},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`},Fe={class:`w-full`};function Ie(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`),p=h(`el-slider`);return c(),e(`div`,null,[t(`div`,je,[t(`div`,Me,[t(`span`,Ne,n(r.$t(`pixverse.name.seed`)),1),s(d,{content:r.$t(`pixverse.description.seed`)},null,8,[`content`])]),t(`div`,Pe,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),t(`div`,Fe,[s(p,{modelValue:r.value,"onUpdate:modelValue":i[1]||=e=>r.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Le=j(Ae,[[`render`,Ie]]),Re=i({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),ze={class:`field`},Be={class:`title font-bold`};function Ve(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,ze,[t(`h2`,Be,n(r.$t(`pixverse.name.duration`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var He=j(Re,[[`render`,Ve],[`__scopeId`,`data-v-065c77ef`]]),Ue=i({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=D}}),We={class:`text-sm font-bold mb-2 block`},Ge={class:`items`},Ke=[`onClick`],qe={class:`name`};function Je(i,a,o,s,d,p){return c(),e(`div`,null,[t(`span`,We,n(i.$t(`pixverse.name.aspectRatio`)),1),t(`div`,Ge,[(c(!0),e(l,null,f(i.options,(a,o)=>(c(),e(`div`,{key:o,class:r({active:i.active===o,item:!0}),onClick:e=>i.value=a.value},[t(`div`,{class:r([`preview`,a.label])},[t(`div`,{class:`rect`,style:u({width:a.width+`px`,height:a.height+`px`})},null,4)],2),t(`p`,qe,n(a.label),1)],10,Ke))),128))])])}var Ye=j(Ue,[[`render`,Je],[`__scopeId`,`data-v-53038264`]]),Xe=i({name:`StartImage`,components:{ElUpload:b,ElButton:B,InfoIcon:q,FontAwesomeIcon:H,ImagePreview:W},mixins:[R,P],emits:[`change`],data(){return{fileList:[],uploadUrl:N()+`/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){A.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){A.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ze={class:`relative`},Qe={class:`flex justify-between`},$e={class:`flex justify-start items-center`},et={class:`text-sm font-bold`};function tt(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return c(),e(`div`,Ze,[t(`div`,Qe,[t(`div`,$e,[t(`span`,et,n(r.$t(`pixverse.name.startImage`)),1),s(g,{content:r.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),s(b,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:r.uploadUrl,"list-type":`picture`,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(c(),o(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:d(()=>[s(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:d(()=>[s(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+n(r.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var nt=j(Xe,[[`render`,tt],[`__scopeId`,`data-v-0d570ad7`]]),rt=i({name:`PromptInput`,components:{PromptTextarea:re},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function it(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var at=i({name:`ConfigPanel`,components:{ElButton:B,FontAwesomeIcon:H,PromptInput:j(rt,[[`render`,it]]),ModelSelector:me,QualitySelector:ye,MotionSelector:we,StyleSelector:ke,DurationSelector:He,StartImage:nt,SeedSelector:Le,RatioSelector:Ye,Consumption:K},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ot={class:`flex flex-col h-full`},st={class:`flex-1 overflow-y-auto p-5`},ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function lt(r,i,o,l,u,f){let p=h(`prompt-input`),m=h(`model-selector`),g=h(`style-selector`),_=h(`ratio-selector`),v=h(`motion-selector`),y=h(`quality-selector`),b=h(`start-image`),x=h(`seed-selector`),S=h(`duration-selector`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return c(),e(`div`,ot,[t(`div`,st,[s(p,{class:`mb-4`}),s(m,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),s(v,{class:`mb-4`}),s(y,{class:`mb-4`}),s(b,{class:`mb-2`}),s(x,{class:`mb-4`}),s(S,{class:`mb-4`})]),t(`div`,ct,[s(C,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(T,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ut=j(at,[[`render`,lt]]),dt=i({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:U,FontAwesomeIcon:H,ElAlert:C,VideoPlayer:X,ElTooltip:x,ElButton:B,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),ft={class:`preview`},pt={class:`left`},mt={class:`main`},ht={class:`bot`},gt={class:`datetime`},_t={class:`info`},vt={key:0,class:`prompt mt-2`},yt={key:0},bt={key:1},xt={key:0,class:r({content:!0,failed:!0})},St={key:0,class:`mb-4`},Ct={key:1,class:r({operations:!0,"mt-2":!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:r({content:!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function jt(r,i,l,u,f,p){let g=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 c(),e(`div`,ft,[t(`div`,pt,[s(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),t(`div`,mt,[t(`div`,ht,[a(n(r.$t(`pixverse.name.pixverseBot`))+` `,1),t(`span`,gt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,_t,[r.modelValue?.request?.prompt?(c(),e(`p`,vt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,yt,` - (`+n(r.$t(`pixverse.status.pending`))+`) `,1)),r.modelValue?.response?.data&&(r.modelValue?.response?.data[0]?.state===`processing`||r.modelValue?.response?.data[0]?.state===`pending`)?(c(),e(`span`,bt,` - (`+n(r.$t(`pixverse.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0&&r.modelValue?.response?.data?(c(),e(`div`,xt,[r.modelValue?.response?.data[0]?.video_url?(c(),e(`div`,St,[s(_,{src:r.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response.success?(c(),e(`div`,Ct,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:d(()=>[r.modelValue?.response?.data[0]?.video_url?(c(),o(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=e=>r.onDownload(e,r.modelValue?.response?.data[0]?.video_url)},{default:d(()=>[a(n(r.$t(`pixverse.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),s(b,{path:`/pixverse/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[t(`p`,wt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.model`))+`: `+n(r.modelValue?.request?.model),1)]),t(`p`,Tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,Et,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,$,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.failure`)),1)]),default:d(()=>[t(`p`,Dt,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message},null,8,[`content`])]),t(`p`,Ot,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,kt,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,At,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Mt=i({name:`RecentPanel`,components:{TaskPreview:j(dt,[[`render`,jt],[`__scopeId`,`data-v-dd3037dc`]]),NoTasks:ne,BotPlaceholder:Q,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Nt={key:0},Pt={key:2,class:`w-full h-full flex items-center justify-center`};function Ft(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,Nt,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,(e,t)=>(c(),o(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Pt,[s(v)])):m(``,!0)],64)}var It=i({name:`PixverseIndex`,components:{ConfigPanel:ut,Layout:le,RecentPanel:j(Mt,[[`render`,Ft]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===V.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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 Y({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,async:!0};if(!z())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`pixverse.message.startingTask`)),k(`pixverse`,M.generate(e,{token:t})).then(()=>{A.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?A.error(this.$t(`pixverse.message.usedUp`)):A.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Rt=j(It,[[`render`,Lt]]);export{Rt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,Wt as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{r as v,t as y}from"./select-CZ_7vuAa.js";import{t as b}from"./upload-BnDQ5ura.js";import{t as x}from"./tooltip-ClLB1TIj.js";import{t as S}from"./image-DHm0KtJ4.js";import{t as C}from"./alert-BgZtqyol.js";import{t as w}from"./drawer-B_aoVshd.js";import{t as T}from"./input-number-CUsL_JE4.js";import{t as ee}from"./slider-XUr0Fse0.js";import{ar as te,ir as E,nr as D,rr as O}from"./constants-BbSGgy1t.js";import{$n as k,$r as A,A as j,Dn as M,Hr as N,Ht as P,Kt as F,Ut as I,Vt as L,Wt as R,en as z,ui as B,zr as V}from"./index-ldpF6zqg.js";import{t as H}from"./index.es-DOzkBJSB.js";import{t as U}from"./CopyToClipboard-C-5MtrCb.js";import{t as W}from"./ImagePreview-DBO6eOxj.js";import{n as G}from"./taskDrawerMixin-CfysS2FH.js";import{t as K}from"./Consumption-NOLjlY5-.js";import{i as q,n as J,t as Y}from"./pagination-B-1QyeBs.js";import{t as X}from"./VideoPlayer-BOEc5-h5.js";import{t as Z}from"./ApiCodeButton-DtQf7EM-.js";import{t as Q}from"./BotPlaceholder-BiB7lsSi.js";import{t as ne}from"./NoTasks-BJGOPpgL.js";import{t as re}from"./PromptTextarea-BLWDxqEF.js";var ie=i({name:`LayoutPixverse`,components:{ElDrawer:w,ElButton:B,FontAwesomeIcon:H},mixins:[G]}),ae={class:`main flex flex-row flex-1`},oe={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},se={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ce(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,ae,[t(`div`,oe,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,se,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var le=j(ie,[[`render`,ce],[`__scopeId`,`data-v-e688a015`]]),ue=i({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=O}}),de={class:`field`},fe={class:`title font-bold`};function pe(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,de,[t(`h2`,fe,n(r.$t(`pixverse.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var me=j(ue,[[`render`,pe],[`__scopeId`,`data-v-e8f337ca`]]),he=i({name:`QualitySelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=te}}),ge={class:`field`},_e={class:`title font-bold`};function ve(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,ge,[t(`h2`,_e,n(r.$t(`pixverse.name.quality`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ye=j(he,[[`render`,ve],[`__scopeId`,`data-v-64aeaae9`]]),be=i({name:`MotionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=E}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`pixverse.name.motion`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=j(be,[[`render`,Ce],[`__scopeId`,`data-v-94237408`]]),Te=i({name:`StyleSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ee={class:`field`},De={class:`title font-bold`};function Oe(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,Ee,[t(`h2`,De,n(r.$t(`pixverse.name.style`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ke=j(Te,[[`render`,Oe],[`__scopeId`,`data-v-64e17b3c`]]),Ae=i({name:`SeedSelector`,components:{ElSlider:ee,InfoIcon:q,ElInputNumber:T},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`},Fe={class:`w-full`};function Ie(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-input-number`),p=h(`el-slider`);return c(),e(`div`,null,[t(`div`,je,[t(`div`,Me,[t(`span`,Ne,n(r.$t(`pixverse.name.seed`)),1),s(d,{content:r.$t(`pixverse.description.seed`)},null,8,[`content`])]),t(`div`,Pe,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),t(`div`,Fe,[s(p,{modelValue:r.value,"onUpdate:modelValue":i[1]||=e=>r.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Le=j(Ae,[[`render`,Ie]]),Re=i({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),ze={class:`field`},Be={class:`title font-bold`};function Ve(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,ze,[t(`h2`,Be,n(r.$t(`pixverse.name.duration`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`pixverse.placeholder.select`)},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var He=j(Re,[[`render`,Ve],[`__scopeId`,`data-v-065c77ef`]]),Ue=i({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=D}}),We={class:`text-sm font-bold mb-2 block`},Ge={class:`items`},Ke=[`onClick`],qe={class:`name`};function Je(i,a,o,s,d,p){return c(),e(`div`,null,[t(`span`,We,n(i.$t(`pixverse.name.aspectRatio`)),1),t(`div`,Ge,[(c(!0),e(l,null,f(i.options,(a,o)=>(c(),e(`div`,{key:o,class:r({active:i.active===o,item:!0}),onClick:e=>i.value=a.value},[t(`div`,{class:r([`preview`,a.label])},[t(`div`,{class:`rect`,style:u({width:a.width+`px`,height:a.height+`px`})},null,4)],2),t(`p`,qe,n(a.label),1)],10,Ke))),128))])])}var Ye=j(Ue,[[`render`,Je],[`__scopeId`,`data-v-53038264`]]),Xe=i({name:`StartImage`,components:{ElUpload:b,ElButton:B,InfoIcon:q,FontAwesomeIcon:H,ImagePreview:W},mixins:[R,P],emits:[`change`],data(){return{fileList:[],uploadUrl:N()+`/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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){A.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){A.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ze={class:`relative`},Qe={class:`flex justify-between`},$e={class:`flex justify-start items-center`},et={class:`text-sm font-bold`};function tt(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return c(),e(`div`,Ze,[t(`div`,Qe,[t(`div`,$e,[t(`span`,et,n(r.$t(`pixverse.name.startImage`)),1),s(g,{content:r.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),s(b,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:r.uploadUrl,"list-type":`picture`,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(c(),o(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:d(()=>[s(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:d(()=>[s(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+n(r.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var nt=j(Xe,[[`render`,tt],[`__scopeId`,`data-v-0d570ad7`]]),rt=i({name:`PromptInput`,components:{PromptTextarea:re},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function it(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var at=i({name:`ConfigPanel`,components:{ElButton:B,FontAwesomeIcon:H,PromptInput:j(rt,[[`render`,it]]),ModelSelector:me,QualitySelector:ye,MotionSelector:we,StyleSelector:ke,DurationSelector:He,StartImage:nt,SeedSelector:Le,RatioSelector:Ye,Consumption:K},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ot={class:`flex flex-col h-full`},st={class:`flex-1 overflow-y-auto p-5`},ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function lt(r,i,o,l,u,f){let p=h(`prompt-input`),m=h(`model-selector`),g=h(`style-selector`),_=h(`ratio-selector`),v=h(`motion-selector`),y=h(`quality-selector`),b=h(`start-image`),x=h(`seed-selector`),S=h(`duration-selector`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return c(),e(`div`,ot,[t(`div`,st,[s(p,{class:`mb-4`}),s(m,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),s(v,{class:`mb-4`}),s(y,{class:`mb-4`}),s(b,{class:`mb-2`}),s(x,{class:`mb-4`}),s(S,{class:`mb-4`})]),t(`div`,ct,[s(C,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(T,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ut=j(at,[[`render`,lt]]),dt=i({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:U,FontAwesomeIcon:H,ElAlert:C,VideoPlayer:X,ElTooltip:x,ElButton:B,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),ft={class:`preview`},pt={class:`left`},mt={class:`main`},ht={class:`bot`},gt={class:`datetime`},_t={class:`info`},vt={key:0,class:`prompt mt-2`},yt={key:0},bt={key:1},xt={key:0,class:r({content:!0,failed:!0})},St={key:0,class:`mb-4`},Ct={key:1,class:r({operations:!0,"mt-2":!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:r({content:!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function jt(r,i,l,u,f,p){let g=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 c(),e(`div`,ft,[t(`div`,pt,[s(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),t(`div`,mt,[t(`div`,ht,[a(n(r.$t(`pixverse.name.pixverseBot`))+` `,1),t(`span`,gt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,_t,[r.modelValue?.request?.prompt?(c(),e(`p`,vt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,yt,` - (`+n(r.$t(`pixverse.status.pending`))+`) `,1)),r.modelValue?.response?.data&&(r.modelValue?.response?.data[0]?.state===`processing`||r.modelValue?.response?.data[0]?.state===`pending`)?(c(),e(`span`,bt,` - (`+n(r.$t(`pixverse.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0&&r.modelValue?.response?.data?(c(),e(`div`,xt,[r.modelValue?.response?.data[0]?.video_url?(c(),e(`div`,St,[s(_,{src:r.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response.success?(c(),e(`div`,Ct,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:d(()=>[r.modelValue?.response?.data[0]?.video_url?(c(),o(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=e=>r.onDownload(e,r.modelValue?.response?.data[0]?.video_url)},{default:d(()=>[a(n(r.$t(`pixverse.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),s(b,{path:`/pixverse/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[t(`p`,wt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.model`))+`: `+n(r.modelValue?.request?.model),1)]),t(`p`,Tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,Et,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,$,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.failure`)),1)]),default:d(()=>[t(`p`,Dt,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message},null,8,[`content`])]),t(`p`,Ot,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,kt,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(c(),e(`p`,At,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`pixverse.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var Mt=i({name:`RecentPanel`,components:{TaskPreview:j(dt,[[`render`,jt],[`__scopeId`,`data-v-dd3037dc`]]),NoTasks:ne,BotPlaceholder:Q,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Nt={key:0},Pt={key:2,class:`w-full h-full flex items-center justify-center`};function Ft(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,Nt,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,(e,t)=>(c(),o(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Pt,[s(v)])):m(``,!0)],64)}var It=i({name:`PixverseIndex`,components:{ConfigPanel:ut,Layout:le,RecentPanel:j(Mt,[[`render`,Ft]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===V.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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 Y({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,async:!0};if(!z())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`pixverse.message.startingTask`)),k(`pixverse`,M.generate(e,{token:t})).then(()=>{A.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?A.error(this.$t(`pixverse.message.usedUp`)):A.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Rt=j(It,[[`render`,Lt]]);export{Rt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,dt as u,et as d,ft as f,k as p,nt as m,tt as h,v as g}from"./vendor-chart-kBsXB1rh.js";import{r as _,t as v}from"./select-ul7Wo_Q6.js";import{t as y}from"./upload-BUY6iRe-.js";import{t as b}from"./image-BJNsYYKd.js";import{t as x}from"./alert-CXSqX3ys.js";import{t as S}from"./drawer-CF-Mh2Gm.js";import{t as C}from"./input-number-D5etV7az.js";import{t as w}from"./slider-BAnHaO57.js";import{$n as T,Qn as E,Zn as D}from"./constants-BbSGgy1t.js";import{$n as O,$r as k,A,En as ee,Hr as te,Ht as j,Kt as M,Ut as N,Vt as P,Wt as F,en as I,ui as L,zr as R}from"./index-Bf6bS8cW.js";import{t as z}from"./index.es-CuQlvr5B.js";import{t as B}from"./CopyToClipboard-D8gJOukV.js";import{t as V}from"./ImagePreview-DtPgesXi.js";import{n as H}from"./taskDrawerMixin-CfysS2FH.js";import{t as U}from"./Consumption-B7oPcRnx.js";import{i as W,n as G,t as K}from"./pagination-BJ34zRxf.js";import{t as q}from"./ApiCodeButton-wgOlho8X.js";import{t as J}from"./BotPlaceholder-BBa7CDpO.js";import{t as Y}from"./NoTasks-CGrunQ-b.js";import{t as X}from"./PromptTextarea-CMhCuxJH.js";import{t as Z}from"./ImageWrapper-CKuj75Dg.js";var Q=i({name:`LayoutFlux`,components:{ElDrawer:S,ElButton:L,FontAwesomeIcon:z},mixins:[H]}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(n,r,i,a,o,l){let d=m(`font-awesome-icon`),p=m(`el-button`),_=m(`el-drawer`);return c(),e(`div`,ne,[t(`div`,re,[h(n.$slots,`config`,{},void 0,!0)]),t(`div`,ie,[h(n.$slots,`result`,{},void 0,!0)]),f(s(p,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:u(()=>[s(d,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!n.tasksEmpty]]),s(_,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:u(()=>[h(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=A(Q,[[`render`,ae],[`__scopeId`,`data-v-8ae8c974`]]),se=i({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=T}}),ce={class:`field`},le={class:`title font-bold`};function ue(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,ce,[t(`h2`,le,n(r.$t(`flux.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=A(se,[[`render`,ue],[`__scopeId`,`data-v-e9b17945`]]),fe=i({name:`CountSelector`,components:{ElSlider:w,InfoIcon:W,ElInputNumber:C},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`},_e={class:`w-full`};function ve(r,i,a,o,l,u){let d=m(`info-icon`),f=m(`el-input-number`),p=m(`el-slider`);return c(),e(`div`,null,[t(`div`,pe,[t(`div`,me,[t(`span`,he,n(r.$t(`flux.name.numbers`)),1),s(d,{content:r.$t(`flux.description.numbers`)},null,8,[`content`])]),t(`div`,ge,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),t(`div`,_e,[s(p,{modelValue:r.value,"onUpdate:modelValue":i[1]||=e=>r.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var ye=A(fe,[[`render`,ve]]),be=i({name:`ActionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=E}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`flux.name.task`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=A(be,[[`render`,Ce],[`__scopeId`,`data-v-81fd05e5`]]),Te=i({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:L,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[F,j],emits:[`change`],data(){return{fileList:[],uploadUrl:te()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){k.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){k.error(this.$t(`flux.message.uploadStartImageError`))}}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`};function Ae(r,i,o,l,d,f){let p=m(`info-icon`),h=m(`image-preview`),g=m(`font-awesome-icon`),_=m(`el-button`),v=m(`el-upload`);return c(),e(`div`,Ee,[t(`div`,De,[t(`div`,Oe,[t(`span`,ke,n(r.$t(`flux.name.imageUrl`)),1),s(p,{content:r.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),s(v,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,headers:r.headers},{file:u(({file:e})=>[s(h,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:u(()=>[s(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:u(()=>[s(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+n(r.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var je=A(Te,[[`render`,Ae],[`__scopeId`,`data-v-7482072d`]]),Me=i({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,n,r,i,a){let s=m(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=A(Me,[[`render`,Ne]]),Fe=i({name:`SizeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:D}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,Ie,[t(`h2`,Le,n(r.$t(`flux.name.ratio`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=i({name:`PresetPanel`,components:{ElButton:L,FontAwesomeIcon:z,PromptInput:Pe,ModelSelector:de,CountSelector:ye,Consumption:U,ActionSelector:we,ImageUrlInput:je,SizeSelector:A(Fe,[[`render`,Re],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Be={class:`flex flex-col h-full`},Ve={class:`flex-1 overflow-y-auto p-5`},He={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ue(r,i,l,d,f,h){let g=m(`action-selector`),_=m(`prompt-input`),v=m(`image-url-input`),y=m(`model-selector`),b=m(`size-selector`),x=m(`count-selector`),S=m(`consumption`),C=m(`font-awesome-icon`),w=m(`el-button`);return c(),e(`div`,Be,[t(`div`,Ve,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),r.config?.action===`edits`?(c(),o(v,{key:0,class:`mb-4`})):p(``,!0),s(y,{class:`mb-4`}),s(b,{class:`mb-4`}),s(x,{class:`mb-4`})]),t(`div`,He,[s(S,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(w,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:u(()=>[s(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var We=A(ze,[[`render`,Ue]]),Ge=i({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:x,ImageWrapper:Z,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Ke={class:`preview`},qe={class:`left`},Je={class:`main`},Ye={class:`bot`},Xe={class:`datetime`},Ze={class:`info`},Qe={key:0,class:`prompt mt-2`},$e={key:0},et={key:0,class:r({content:!0,failed:!0})},tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},nt={class:r({operations:!0,"mt-2":!0,"mb-2":!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:r({content:!0})},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},dt={key:2,class:r({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(r,i,f,h,g,_){let v=m(`el-image`),y=m(`image-wrapper`),b=m(`api-code-button`),x=m(`font-awesome-icon`),S=m(`copy-to-clipboard`),C=m(`el-alert`);return c(),e(`div`,Ke,[t(`div`,qe,[s(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),t(`div`,Je,[t(`div`,Ye,[a(n(r.$t(`flux.name.fluxBot`))+` `,1),t(`span`,Xe,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,Ze,[r.modelValue?.request?.prompt?(c(),e(`p`,Qe,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?p(``,!0):(c(),e(`span`,$e,` - (`+n(r.$t(`flux.status.pending`))+`) `,1))])):p(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,et,[t(`div`,tt,[(c(!0),e(l,null,d(r.images,(e,t)=>(c(),o(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),t(`div`,nt,[s(b,{path:`/flux/images`,body:r.modelValue?.request},null,8,[`body`])]),s(C,{closable:!1,class:`mt-2 success`},{default:u(()=>[t(`p`,rt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.model`))+`: `+n(r.modelValue?.request?.model),1)]),t(`p`,it,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,at,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0)]),_:1})])):p(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,ot,[s(C,{closable:!1,class:`failure`},{template:u(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failure`)),1)]),default:u(()=>[t(`p`,st,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),t(`p`,ct,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,lt,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),t(`p`,ut,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):p(``,!0),r.modelValue?.response?p(``,!0):(c(),e(`div`,dt,[s(C,{closable:!1,class:`info`},{template:u(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failure`)),1)]),default:u(()=>[t(`p`,ft,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var pt=i({name:`RecentPanel`,components:{TaskPreview:A(Ge,[[`render`,$],[`__scopeId`,`data-v-bf1b183c`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),mt={key:0},ht={key:2,class:`w-full h-full flex items-center justify-center`};function gt(t,n,r,i,a,f){let h=m(`bot-placeholder`),g=m(`task-preview`),_=m(`scroll-list`),v=m(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,mt,[s(h)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:u(()=>[(c(!0),e(l,null,d(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):p(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,ht,[s(v)])):p(``,!0)],64)}var _t=i({name:`FluxIndex`,components:{ConfigPanel:We,Layout:oe,RecentPanel:A(pt,[[`render`,gt]])},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.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 K({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(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/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(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!P(this.uploadTracker,e=>this.$t(e),e=>k.warning(e)))return;let e={...this.config,async:!0};if(!I())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}k.info(this.$t(`flux.message.startingTask`)),O(`flux`,ee.generate(e,{token:t})).then(()=>{k.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?k.error(this.$t(`flux.message.usedUp`)):k.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function vt(e,t,n,r,i,a){let l=m(`config-panel`),d=m(`recent-panel`),f=m(`layout`);return c(),o(f,null,{config:u(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:u(()=>[s(d,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var yt=A(_t,[[`render`,vt]]);export{yt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,dt as u,et as d,ft as f,k as p,nt as m,tt as h,v as g}from"./vendor-chart-kBsXB1rh.js";import{r as _,t as v}from"./select-CZ_7vuAa.js";import{t as y}from"./upload-BnDQ5ura.js";import{t as b}from"./image-DHm0KtJ4.js";import{t as x}from"./alert-BgZtqyol.js";import{t as S}from"./drawer-B_aoVshd.js";import{t as C}from"./input-number-CUsL_JE4.js";import{t as w}from"./slider-XUr0Fse0.js";import{$n as T,Qn as E,Zn as D}from"./constants-BbSGgy1t.js";import{$n as O,$r as k,A,En as ee,Hr as te,Ht as j,Kt as M,Ut as N,Vt as P,Wt as F,en as I,ui as L,zr as R}from"./index-ldpF6zqg.js";import{t as z}from"./index.es-DOzkBJSB.js";import{t as B}from"./CopyToClipboard-C-5MtrCb.js";import{t as V}from"./ImagePreview-DBO6eOxj.js";import{n as H}from"./taskDrawerMixin-CfysS2FH.js";import{t as U}from"./Consumption-NOLjlY5-.js";import{i as W,n as G,t as K}from"./pagination-B-1QyeBs.js";import{t as q}from"./ApiCodeButton-DtQf7EM-.js";import{t as J}from"./BotPlaceholder-BiB7lsSi.js";import{t as Y}from"./NoTasks-BJGOPpgL.js";import{t as X}from"./PromptTextarea-BLWDxqEF.js";import{t as Z}from"./ImageWrapper-CocM1Guo.js";var Q=i({name:`LayoutFlux`,components:{ElDrawer:S,ElButton:L,FontAwesomeIcon:z},mixins:[H]}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(n,r,i,a,o,l){let d=m(`font-awesome-icon`),p=m(`el-button`),_=m(`el-drawer`);return c(),e(`div`,ne,[t(`div`,re,[h(n.$slots,`config`,{},void 0,!0)]),t(`div`,ie,[h(n.$slots,`result`,{},void 0,!0)]),f(s(p,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:u(()=>[s(d,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!n.tasksEmpty]]),s(_,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:u(()=>[h(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=A(Q,[[`render`,ae],[`__scopeId`,`data-v-8ae8c974`]]),se=i({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=T}}),ce={class:`field`},le={class:`title font-bold`};function ue(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,ce,[t(`h2`,le,n(r.$t(`flux.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=A(se,[[`render`,ue],[`__scopeId`,`data-v-e9b17945`]]),fe=i({name:`CountSelector`,components:{ElSlider:w,InfoIcon:W,ElInputNumber:C},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`},_e={class:`w-full`};function ve(r,i,a,o,l,u){let d=m(`info-icon`),f=m(`el-input-number`),p=m(`el-slider`);return c(),e(`div`,null,[t(`div`,pe,[t(`div`,me,[t(`span`,he,n(r.$t(`flux.name.numbers`)),1),s(d,{content:r.$t(`flux.description.numbers`)},null,8,[`content`])]),t(`div`,ge,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),t(`div`,_e,[s(p,{modelValue:r.value,"onUpdate:modelValue":i[1]||=e=>r.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var ye=A(fe,[[`render`,ve]]),be=i({name:`ActionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=E}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`flux.name.task`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=A(be,[[`render`,Ce],[`__scopeId`,`data-v-81fd05e5`]]),Te=i({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:L,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[F,j],emits:[`change`],data(){return{fileList:[],uploadUrl:te()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){k.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){k.error(this.$t(`flux.message.uploadStartImageError`))}}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`};function Ae(r,i,o,l,d,f){let p=m(`info-icon`),h=m(`image-preview`),g=m(`font-awesome-icon`),_=m(`el-button`),v=m(`el-upload`);return c(),e(`div`,Ee,[t(`div`,De,[t(`div`,Oe,[t(`span`,ke,n(r.$t(`flux.name.imageUrl`)),1),s(p,{content:r.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),s(v,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,headers:r.headers},{file:u(({file:e})=>[s(h,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:u(()=>[s(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:u(()=>[s(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+n(r.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var je=A(Te,[[`render`,Ae],[`__scopeId`,`data-v-7482072d`]]),Me=i({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,n,r,i,a){let s=m(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=A(Me,[[`render`,Ne]]),Fe=i({name:`SizeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:D}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(r,i,a,f,p,h){let g=m(`el-option`),_=m(`el-select`);return c(),e(`div`,Ie,[t(`h2`,Le,n(r.$t(`flux.name.ratio`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`flux.placeholder.select`)},{default:u(()=>[(c(!0),e(l,null,d(r.options,e=>(c(),o(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=i({name:`PresetPanel`,components:{ElButton:L,FontAwesomeIcon:z,PromptInput:Pe,ModelSelector:de,CountSelector:ye,Consumption:U,ActionSelector:we,ImageUrlInput:je,SizeSelector:A(Fe,[[`render`,Re],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Be={class:`flex flex-col h-full`},Ve={class:`flex-1 overflow-y-auto p-5`},He={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ue(r,i,l,d,f,h){let g=m(`action-selector`),_=m(`prompt-input`),v=m(`image-url-input`),y=m(`model-selector`),b=m(`size-selector`),x=m(`count-selector`),S=m(`consumption`),C=m(`font-awesome-icon`),w=m(`el-button`);return c(),e(`div`,Be,[t(`div`,Ve,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),r.config?.action===`edits`?(c(),o(v,{key:0,class:`mb-4`})):p(``,!0),s(y,{class:`mb-4`}),s(b,{class:`mb-4`}),s(x,{class:`mb-4`})]),t(`div`,He,[s(S,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(w,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:u(()=>[s(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var We=A(ze,[[`render`,Ue]]),Ge=i({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:x,ImageWrapper:Z,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Ke={class:`preview`},qe={class:`left`},Je={class:`main`},Ye={class:`bot`},Xe={class:`datetime`},Ze={class:`info`},Qe={key:0,class:`prompt mt-2`},$e={key:0},et={key:0,class:r({content:!0,failed:!0})},tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},nt={class:r({operations:!0,"mt-2":!0,"mb-2":!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:r({content:!0})},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},dt={key:2,class:r({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(r,i,f,h,g,_){let v=m(`el-image`),y=m(`image-wrapper`),b=m(`api-code-button`),x=m(`font-awesome-icon`),S=m(`copy-to-clipboard`),C=m(`el-alert`);return c(),e(`div`,Ke,[t(`div`,qe,[s(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),t(`div`,Je,[t(`div`,Ye,[a(n(r.$t(`flux.name.fluxBot`))+` `,1),t(`span`,Xe,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,Ze,[r.modelValue?.request?.prompt?(c(),e(`p`,Qe,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?p(``,!0):(c(),e(`span`,$e,` - (`+n(r.$t(`flux.status.pending`))+`) `,1))])):p(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,et,[t(`div`,tt,[(c(!0),e(l,null,d(r.images,(e,t)=>(c(),o(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),t(`div`,nt,[s(b,{path:`/flux/images`,body:r.modelValue?.request},null,8,[`body`])]),s(C,{closable:!1,class:`mt-2 success`},{default:u(()=>[t(`p`,rt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.model`))+`: `+n(r.modelValue?.request?.model),1)]),t(`p`,it,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,at,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0)]),_:1})])):p(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,ot,[s(C,{closable:!1,class:`failure`},{template:u(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failure`)),1)]),default:u(()=>[t(`p`,st,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),t(`p`,ct,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,lt,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),t(`p`,ut,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):p(``,!0),r.modelValue?.response?p(``,!0):(c(),e(`div`,dt,[s(C,{closable:!1,class:`info`},{template:u(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.failure`)),1)]),default:u(()=>[t(`p`,ft,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`flux.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var pt=i({name:`RecentPanel`,components:{TaskPreview:A(Ge,[[`render`,$],[`__scopeId`,`data-v-bf1b183c`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),mt={key:0},ht={key:2,class:`w-full h-full flex items-center justify-center`};function gt(t,n,r,i,a,f){let h=m(`bot-placeholder`),g=m(`task-preview`),_=m(`scroll-list`),v=m(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,mt,[s(h)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:u(()=>[(c(!0),e(l,null,d(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):p(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,ht,[s(v)])):p(``,!0)],64)}var _t=i({name:`FluxIndex`,components:{ConfigPanel:We,Layout:oe,RecentPanel:A(pt,[[`render`,gt]])},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.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 K({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(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/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(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!P(this.uploadTracker,e=>this.$t(e),e=>k.warning(e)))return;let e={...this.config,async:!0};if(!I())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}k.info(this.$t(`flux.message.startingTask`)),O(`flux`,ee.generate(e,{token:t})).then(()=>{k.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?k.error(this.$t(`flux.message.usedUp`)):k.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function vt(e,t,n,r,i,a){let l=m(`config-panel`),d=m(`recent-panel`),f=m(`layout`);return c(),o(f,null,{config:u(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:u(()=>[s(d,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var yt=A(_t,[[`render`,vt]]);export{yt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{r as v,t as y}from"./select-ul7Wo_Q6.js";import{t as b}from"./upload-BUY6iRe-.js";import{t as x}from"./tooltip-BWueZx_j.js";import{t as S}from"./image-BJNsYYKd.js";import{t as C}from"./alert-CXSqX3ys.js";import{t as w}from"./drawer-CF-Mh2Gm.js";import{gt as ee,ht as T}from"./constants-BbSGgy1t.js";import{$n as E,$r as D,A as O,Hr as te,Ht as k,Kt as A,Ut as j,Vt as M,Wt as N,en as P,fn as F,ui as I,zr as L}from"./index-Bf6bS8cW.js";import{t as R}from"./index.es-CuQlvr5B.js";import{t as z}from"./CopyToClipboard-D8gJOukV.js";import{t as B}from"./ImagePreview-DtPgesXi.js";import{n as V}from"./taskDrawerMixin-CfysS2FH.js";import{t as H}from"./Consumption-B7oPcRnx.js";import{i as U,n as W,t as G}from"./pagination-BJ34zRxf.js";import{t as K}from"./VideoPlayer-CgGC2uHg.js";import{t as q}from"./ApiCodeButton-wgOlho8X.js";import{t as J}from"./BotPlaceholder-BBa7CDpO.js";import{t as Y}from"./NoTasks-CGrunQ-b.js";import{t as X}from"./PromptTextarea-CMhCuxJH.js";var Z=i({name:`LayoutWan`,components:{ElDrawer:w,ElButton:I,FontAwesomeIcon:R},mixins:[V]}),Q={class:`main flex flex-row flex-1`},ne={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},re={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ie(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,Q,[t(`div`,ne,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,re,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ae=O(Z,[[`render`,ie],[`__scopeId`,`data-v-1ffeb6b4`]]),oe=i({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=T}}),se={class:`field`},ce={class:`title font-bold`},le={class:`float-left`};function ue(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,se,[t(`h2`,ce,n(r.$t(`wan.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,le,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=O(oe,[[`render`,ue],[`__scopeId`,`data-v-eb090beb`]]),fe=`720p`,pe=i({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=fe}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,me,[t(`h2`,he,n(r.$t(`wan.name.resolution`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,ge,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=O(pe,[[`render`,_e],[`__scopeId`,`data-v-3e39f44e`]]),ye=5,be=i({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ye}}),xe={class:`field`},Se={class:`title font-bold`},Ce={class:`float-left`};function we(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`wan.name.duration`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,Ce,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=O(be,[[`render`,we],[`__scopeId`,`data-v-5f35a2cf`]]),Ee=i({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:I,InfoIcon:U,ImagePreview:B},mixins:[N,k],data(){return{fileList:[],uploadUrl:te()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){D.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){D.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){D.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),De={class:`relative`},Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`};function je(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`image-preview`),v=h(`el-button`),y=h(`el-upload`);return c(),e(`div`,De,[t(`div`,Oe,[t(`div`,ke,[t(`span`,Ae,n(r.$t(`wan.name.imageUrl`)),1),s(g,{content:r.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),s(y,{"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-remove":r.onRemove,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(c(),o(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:d(()=>[s(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[a(n(r.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Me=O(Ee,[[`render`,je],[`__scopeId`,`data-v-41a69004`]]),Ne=i({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Pe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Fe=i({name:`PresetPanel`,components:{ElButton:I,FontAwesomeIcon:R,PromptInput:O(Ne,[[`render`,Pe]]),ImageUrlInput:Me,ModelSelector:de,ResolutionSelector:ve,DurationSelector:Te,Consumption:H},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ie={class:`flex flex-col h-full`},Le={class:`flex-1 overflow-y-auto p-5`},Re={class:`flex flex-col items-center justify-center px-5 pb-5`};function ze(r,i,l,u,f,p){let g=h(`prompt-input`),_=h(`model-selector`),v=h(`resolution-selector`),y=h(`duration-selector`),b=h(`image-url-input`),x=h(`consumption`),S=h(`font-awesome-icon`),C=h(`el-button`);return c(),e(`div`,Ie,[t(`div`,Le,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),r.supportsResolution?(c(),o(v,{key:0,class:`mb-4`})):m(``,!0),r.supportsDuration?(c(),o(y,{key:1,class:`mb-4`})):m(``,!0),r.supportsImageUrl?(c(),o(b,{key:2,class:`mb-2`})):m(``,!0)]),t(`div`,Re,[s(x,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Be=O(Fe,[[`render`,ze]]),Ve=i({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:C,VideoPlayer:K,ElTooltip:x,ElButton:I,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:ee}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),He={class:`preview`},Ue={class:`left`},We={class:`main`},Ge={class:`bot`},Ke={class:`datetime`},qe={class:`info`},Je={key:0,class:`prompt mt-2`},Ye={key:0},Xe={key:1},Ze={key:0,class:r({content:!0,failed:!0})},Qe={key:0,class:`mb-4`},$e={key:1,class:r({operations:!0,"mt-2":!0})},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},nt={key:1,class:r({content:!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},st={key:2,class:r({content:!0})},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function lt(r,i,o,l,f,p){let g=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 c(),e(`div`,He,[t(`div`,Ue,[s(g,{src:r.WAN_LOGO,class:`avatar`},null,8,[`src`])]),t(`div`,We,[t(`div`,Ge,[a(n(r.$t(`wan.name.wanBot`))+` `,1),t(`span`,Ke,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,qe,[r.modelValue?.request?.prompt?(c(),e(`p`,Je,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,Ye,` - (`+n(r.$t(`wan.status.pending`))+`) `,1)),r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`||r.modelValue?.response?.state===`running`?(c(),e(`span`,Xe,` - (`+n(r.$t(`wan.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,Ze,[r.modelValue?.response?.video_url?(c(),e(`div`,Qe,[s(_,{src:r.modelValue?.response?.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response?.video_url?(c(),e(`div`,$e,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`mb-2`,onClick:i[0]||=u(e=>r.onDownload(r.modelValue?.response?.video_url),[`stop`])},{default:d(()=>[a(n(r.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),s(b,{path:`/wan/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,et,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.model`))+`: `+n(r.modelValue?.request?.model)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])):m(``,!0),t(`p`,tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,$,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,nt,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failure`)),1)]),default:d(()=>[t(`p`,rt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),t(`p`,it,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,at,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),t(`p`,ot,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),r.modelValue?.response?.success===void 0?(c(),e(`div`,st,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failure`)),1)]),default:d(()=>[t(`p`,ct,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var ut=i({name:`RecentPanel`,components:{TaskPreview:O(Ve,[[`render`,lt],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:W},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),dt={key:0},ft={key:2,class:`w-full h-full flex items-center justify-center`};function pt(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,dt,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,ft,[s(v)])):m(``,!0)],64)}var mt=i({name:`WanIndex`,components:{ConfigPanel:Be,Layout:ae,RecentPanel:O(ut,[[`render`,pt]])},mixins:[j],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===L.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await G({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!M(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e={...this.config,async:!0};if(!P())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}D.info(this.$t(`wan.message.startingTask`)),E(`wan`,F.generate(e,{token:t})).then(()=>{D.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`wan.message.usedUp`)):D.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ht(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var gt=O(mt,[[`render`,ht]]);export{gt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,O as o,P as s,Q as c,S as l,b as u,dt as d,et as f,ft as p,k as m,nt as h,tt as g,v as _}from"./vendor-chart-kBsXB1rh.js";import{r as v,t as y}from"./select-CZ_7vuAa.js";import{t as b}from"./upload-BnDQ5ura.js";import{t as x}from"./tooltip-ClLB1TIj.js";import{t as S}from"./image-DHm0KtJ4.js";import{t as C}from"./alert-BgZtqyol.js";import{t as w}from"./drawer-B_aoVshd.js";import{gt as ee,ht as T}from"./constants-BbSGgy1t.js";import{$n as E,$r as D,A as O,Hr as te,Ht as k,Kt as A,Ut as j,Vt as M,Wt as N,en as P,fn as F,ui as I,zr as L}from"./index-ldpF6zqg.js";import{t as R}from"./index.es-DOzkBJSB.js";import{t as z}from"./CopyToClipboard-C-5MtrCb.js";import{t as B}from"./ImagePreview-DBO6eOxj.js";import{n as V}from"./taskDrawerMixin-CfysS2FH.js";import{t as H}from"./Consumption-NOLjlY5-.js";import{i as U,n as W,t as G}from"./pagination-B-1QyeBs.js";import{t as K}from"./VideoPlayer-BOEc5-h5.js";import{t as q}from"./ApiCodeButton-DtQf7EM-.js";import{t as J}from"./BotPlaceholder-BiB7lsSi.js";import{t as Y}from"./NoTasks-BJGOPpgL.js";import{t as X}from"./PromptTextarea-BLWDxqEF.js";var Z=i({name:`LayoutWan`,components:{ElDrawer:w,ElButton:I,FontAwesomeIcon:R},mixins:[V]}),Q={class:`main flex flex-row flex-1`},ne={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},re={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ie(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,Q,[t(`div`,ne,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,re,[g(n.$slots,`result`,{},void 0,!0)]),p(s(f,{circle:``,class:`menu`,onClick:r[0]||=e=>n.drawer=!0},{default:d(()=>[s(u,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!n.tasksEmpty]]),s(m,{modelValue:n.drawer,"onUpdate:modelValue":r[1]||=e=>n.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ae=O(Z,[[`render`,ie],[`__scopeId`,`data-v-1ffeb6b4`]]),oe=i({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=T}}),se={class:`field`},ce={class:`title font-bold`},le={class:`float-left`};function ue(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,se,[t(`h2`,ce,n(r.$t(`wan.name.model`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,le,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=O(oe,[[`render`,ue],[`__scopeId`,`data-v-eb090beb`]]),fe=`720p`,pe=i({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=fe}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,me,[t(`h2`,he,n(r.$t(`wan.name.resolution`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,ge,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=O(pe,[[`render`,_e],[`__scopeId`,`data-v-3e39f44e`]]),ye=5,be=i({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ye}}),xe={class:`field`},Se={class:`title font-bold`},Ce={class:`float-left`};function we(r,i,a,u,p,m){let g=h(`el-option`),_=h(`el-select`);return c(),e(`div`,xe,[t(`h2`,Se,n(r.$t(`wan.name.duration`)),1),s(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`wan.placeholder.select`),clearable:``},{default:d(()=>[(c(!0),e(l,null,f(r.options,e=>(c(),o(g,{key:e.value,label:e.label,value:e.value},{default:d(()=>[t(`span`,Ce,n(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=O(be,[[`render`,we],[`__scopeId`,`data-v-5f35a2cf`]]),Ee=i({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:I,InfoIcon:U,ImagePreview:B},mixins:[N,k],data(){return{fileList:[],uploadUrl:te()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){D.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){D.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){D.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),De={class:`relative`},Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`};function je(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`image-preview`),v=h(`el-button`),y=h(`el-upload`);return c(),e(`div`,De,[t(`div`,Oe,[t(`div`,ke,[t(`span`,Ae,n(r.$t(`wan.name.imageUrl`)),1),s(g,{content:r.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),s(y,{"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-remove":r.onRemove,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(c(),o(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:d(()=>[s(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[a(n(r.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Me=O(Ee,[[`render`,je],[`__scopeId`,`data-v-41a69004`]]),Ne=i({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Pe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Fe=i({name:`PresetPanel`,components:{ElButton:I,FontAwesomeIcon:R,PromptInput:O(Ne,[[`render`,Pe]]),ImageUrlInput:Me,ModelSelector:de,ResolutionSelector:ve,DurationSelector:Te,Consumption:H},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ie={class:`flex flex-col h-full`},Le={class:`flex-1 overflow-y-auto p-5`},Re={class:`flex flex-col items-center justify-center px-5 pb-5`};function ze(r,i,l,u,f,p){let g=h(`prompt-input`),_=h(`model-selector`),v=h(`resolution-selector`),y=h(`duration-selector`),b=h(`image-url-input`),x=h(`consumption`),S=h(`font-awesome-icon`),C=h(`el-button`);return c(),e(`div`,Ie,[t(`div`,Le,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`}),r.supportsResolution?(c(),o(v,{key:0,class:`mb-4`})):m(``,!0),r.supportsDuration?(c(),o(y,{key:1,class:`mb-4`})):m(``,!0),r.supportsImageUrl?(c(),o(b,{key:2,class:`mb-2`})):m(``,!0)]),t(`div`,Re,[s(x,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Be=O(Fe,[[`render`,ze]]),Ve=i({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:C,VideoPlayer:K,ElTooltip:x,ElButton:I,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:ee}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),He={class:`preview`},Ue={class:`left`},We={class:`main`},Ge={class:`bot`},Ke={class:`datetime`},qe={class:`info`},Je={key:0,class:`prompt mt-2`},Ye={key:0},Xe={key:1},Ze={key:0,class:r({content:!0,failed:!0})},Qe={key:0,class:`mb-4`},$e={key:1,class:r({operations:!0,"mt-2":!0})},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},nt={key:1,class:r({content:!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},st={key:2,class:r({content:!0})},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function lt(r,i,o,l,f,p){let g=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 c(),e(`div`,He,[t(`div`,Ue,[s(g,{src:r.WAN_LOGO,class:`avatar`},null,8,[`src`])]),t(`div`,We,[t(`div`,Ge,[a(n(r.$t(`wan.name.wanBot`))+` `,1),t(`span`,Ke,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,qe,[r.modelValue?.request?.prompt?(c(),e(`p`,Je,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,Ye,` - (`+n(r.$t(`wan.status.pending`))+`) `,1)),r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`||r.modelValue?.response?.state===`running`?(c(),e(`span`,Xe,` - (`+n(r.$t(`wan.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,Ze,[r.modelValue?.response?.video_url?(c(),e(`div`,Qe,[s(_,{src:r.modelValue?.response?.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response?.video_url?(c(),e(`div`,$e,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`mb-2`,onClick:i[0]||=u(e=>r.onDownload(r.modelValue?.response?.video_url),[`stop`])},{default:d(()=>[a(n(r.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),s(b,{path:`/wan/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[r.modelValue?.request?.model?(c(),e(`p`,et,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.model`))+`: `+n(r.modelValue?.request?.model)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])):m(``,!0),t(`p`,tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,$,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.success===!1?(c(),e(`div`,nt,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failure`)),1)]),default:d(()=>[t(`p`,rt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),t(`p`,it,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failureReason`))+`: `+n(r.modelValue?.response?.error?.message)+` `,1),s(S,{content:r.modelValue?.response?.error?.message},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,at,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),t(`p`,ot,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.traceId`))+`: `+n(r.modelValue?.response?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),r.modelValue?.response?.success===void 0?(c(),e(`div`,st,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.failure`)),1)]),default:d(()=>[t(`p`,ct,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`wan.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var ut=i({name:`RecentPanel`,components:{TaskPreview:O(Ve,[[`render`,lt],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:W},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),dt={key:0},ft={key:2,class:`w-full h-full flex items-center justify-center`};function pt(t,n,r,i,a,u){let p=h(`bot-placeholder`),g=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return c(),e(l,null,[t.tasks?.items===void 0?(c(),e(`div`,dt,[s(p)])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(c(),o(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:d(()=>[(c(!0),e(l,null,f(t.tasks?.items,e=>(c(),o(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,ft,[s(v)])):m(``,!0)],64)}var mt=i({name:`WanIndex`,components:{ConfigPanel:Be,Layout:ae,RecentPanel:O(ut,[[`render`,pt]])},mixins:[j],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===L.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===L.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await G({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!M(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e={...this.config,async:!0};if(!P())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}D.info(this.$t(`wan.message.startingTask`)),E(`wan`,F.generate(e,{token:t})).then(()=>{D.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`wan.message.usedUp`)):D.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ht(e,t,n,r,i,a){let l=h(`config-panel`),u=h(`recent-panel`),f=h(`layout`);return c(),o(f,null,{config:d(()=>[s(l,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[s(u,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var gt=O(mt,[[`render`,ht]]);export{gt as default};
|