@acedatacloud/nexior 3.318.8 → 3.318.9
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-C5S7m7hi.js → ApiCodeButton-CY2r4Eda.js} +1 -1
- package/dist/assets/{Artifacts-BcnHbAwC.js → Artifacts-B5kaoVZk.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-BzMqZRAE.js → AskUserQuestionCard-Bo2KGJOi.js} +1 -1
- package/dist/assets/{Auth-CAX4EPcx.js → Auth-BgF3BVrR.js} +1 -1
- package/dist/assets/{Bare-CIfhCMKT.js → Bare-BS-6HnA8.js} +1 -1
- package/dist/assets/{BotPlaceholder-CNsf-s0r.js → BotPlaceholder-DzeqbRrk.js} +1 -1
- package/dist/assets/{BottomFooter-QFWN4EXU.js → BottomFooter-BwcKcB5v.js} +1 -1
- package/dist/assets/{Callback-DyZ537ry.js → Callback-qtmAjN3Q.js} +1 -1
- package/dist/assets/{CodeSnippet-DFPzYyNq.js → CodeSnippet-jzu4J9rq.js} +1 -1
- package/dist/assets/{Console-h-b8T1OV.js → Console-BEIvMTWx.js} +1 -1
- package/dist/assets/{Consumption-BqNpc4s7.js → Consumption-Ck-PBDoM.js} +1 -1
- package/dist/assets/{Conversation-CAbw3RdI.js → Conversation-CE5CMZlH.js} +1 -1
- package/dist/assets/{Conversation-C8zZwODJ.js → Conversation-ClAMye2c.js} +1 -1
- package/dist/assets/{CopyToClipboard-CdFq7QFL.js → CopyToClipboard-BVZWQS2q.js} +1 -1
- package/dist/assets/{Detail-0mmGpsXA.js → Detail-D2xav7PL.js} +2 -2
- package/dist/assets/{Extra-I7v1x7tk.js → Extra-COHYdV_C.js} +1 -1
- package/dist/assets/{FilePreview-CV_3StM_.js → FilePreview-AvpS0t2H.js} +1 -1
- package/dist/assets/{Hailuo-Bv4jOMUk.js → Hailuo-BlHv0WKU.js} +1 -1
- package/dist/assets/{History-Cef4H2s0.js → History-DyYjCDX-.js} +1 -1
- package/dist/assets/{ImagePreview-VtTHSxg5.js → ImagePreview-Csfrra1Z.js} +1 -1
- package/dist/assets/{ImageWrapper-D0rZwiC-.js → ImageWrapper-BqlNAWkb.js} +1 -1
- package/dist/assets/{Index-hgb5ofMg.js → Index-B4VRFadd.js} +1 -1
- package/dist/assets/{Index-CKW6WPx-.js → Index-BAPeFMLo.js} +1 -1
- package/dist/assets/{Index-i3PEzBq3.js → Index-BEwYBTAR.js} +1 -1
- package/dist/assets/{Index-Bur90rxB.js → Index-BKHsqJKd.js} +1 -1
- package/dist/assets/{Index-BTvhXXST.js → Index-BSQq4m31.js} +1 -1
- package/dist/assets/{Index-D5bonh1W.js → Index-BVh0JW3D.js} +1 -1
- package/dist/assets/{Index-CXj1beZN.js → Index-Bls6eFFk.js} +1 -1
- package/dist/assets/{Index-0acIfGWm.js → Index-Bt3c5GbD.js} +1 -1
- package/dist/assets/{Index-qNxrt469.js → Index-C4uuw3za.js} +1 -1
- package/dist/assets/{Index-COqhag6K.js → Index-CGWdfqBF.js} +1 -1
- package/dist/assets/{Index-zuaEgyHt.js → Index-CP7uWK4Q.js} +1 -1
- package/dist/assets/{Index-D3HcRV69.js → Index-Ckr_1acN.js} +1 -1
- package/dist/assets/{Index-CTICiUpB.js → Index-CmLXRpca.js} +1 -1
- package/dist/assets/{Index-Cggbjmbj.js → Index-CsMdbYjq.js} +1 -1
- package/dist/assets/{Index-BobRk26l.js → Index-D1sl3nfB.js} +1 -1
- package/dist/assets/{Index-DO3RgGbF.js → Index-D8U5lsGT.js} +1 -1
- package/dist/assets/{Index-SvA5xiWU.js → Index-DH5Eei3G.js} +1 -1
- package/dist/assets/{Index-Ox_HybQv.js → Index-DH82keHy.js} +1 -1
- package/dist/assets/{Index-BXZgeunb.js → Index-DMM6KhGY.js} +1 -1
- package/dist/assets/{Index-C97kazxD.js → Index-DX6GMTF1.js} +1 -1
- package/dist/assets/{Index-CQ0kPu28.js → Index-DXfZ3I9q.js} +1 -1
- package/dist/assets/{Index-k_D2pVpv.js → Index-DgdYm_Ky.js} +1 -1
- package/dist/assets/{Index-z_nN6pJb.js → Index-DpkBiVJi.js} +1 -1
- package/dist/assets/{Index-Cqf74Ykm.js → Index-DsmAUnsX.js} +1 -1
- package/dist/assets/{Index-B0H7F2Fp.js → Index-DtsABosg.js} +1 -1
- package/dist/assets/{Index-D0pblRZO.js → Index-StCL2RL1.js} +1 -1
- package/dist/assets/{Index-BWv2JyYj.js → Index-YuqVcV7G.js} +1 -1
- package/dist/assets/{Index-DuNj6K-T.js → Index-w8ui_6g5.js} +1 -1
- package/dist/assets/{Invitees-QCJWCtpB.js → Invitees-DXbKozOu.js} +1 -1
- package/dist/assets/{List-C8SRxlyy.js → List-BDbYPShf.js} +1 -1
- package/dist/assets/{List-CTAHoNgM.js → List-BIASM374.js} +1 -1
- package/dist/assets/{List-DTUI4ySD.js → List-BVF9MJES.js} +1 -1
- package/dist/assets/{LocalTools-BOr7eJTZ.js → LocalTools-BSefXEqH.js} +1 -1
- package/dist/assets/{LocalTools-De1rKNIK.js → LocalTools-D7LPBvq_.js} +1 -1
- package/dist/assets/{Main-CCCfl2r4.js → Main-CO1Swy-E.js} +1 -1
- package/dist/assets/{Message-CCAJU2Jk.js → Message-BTlfCCSk.js} +1 -1
- package/dist/assets/{Model-D_Buzs87.js → Model-DQcHY0bX.js} +1 -1
- package/dist/assets/{Navigator-bSFj7Ilf.js → Navigator-DYeEwpr-.js} +3 -3
- package/dist/assets/{NoTasks-CjQBnFRg.js → NoTasks-WG6QDTIq.js} +1 -1
- package/dist/assets/{NotFound-CkAc18ld.js → NotFound-BhEpAAx7.js} +1 -1
- package/dist/assets/{Pagination-Da7edwK-.js → Pagination-CwrK0qjT.js} +1 -1
- package/dist/assets/{Pay-C1HP8bkW.js → Pay-BERgDpUp.js} +1 -1
- package/dist/assets/{Player-McAgg9IN.js → Player-BvMmKvwi.js} +1 -1
- package/dist/assets/{PromptTextarea-1i39MI9w.js → PromptTextarea-DuuPTWH1.js} +1 -1
- package/dist/assets/{RealtimeCall-Df5K2K8S.js → RealtimeCall-DRWWijyn.js} +1 -1
- package/dist/assets/{ScheduledTasks-DaRTYryJ.js → ScheduledTasks-C8AiY--r.js} +1 -1
- package/dist/assets/{Status-BNQL_qPO.js → Status-Com_8Scv.js} +1 -1
- package/dist/assets/{Subscribe-D8o2JsDj.js → Subscribe-jXXn2q9_.js} +1 -1
- package/dist/assets/{TabSwitcher-qB-HL0Hp.js → TabSwitcher-DHIbkVKk.js} +1 -1
- package/dist/assets/{Tts-DGoebQxP.js → Tts-rpLLWq8I.js} +1 -1
- package/dist/assets/{VideoPlayer-mql77_ru.js → VideoPlayer-CTJ6cy_2.js} +1 -1
- package/dist/assets/{VideoPreview-BvkXgyOw.js → VideoPreview-NoaRHmmP.js} +1 -1
- package/dist/assets/{alert-DFJEFJnM.js → alert-C5bhzaNt.js} +1 -1
- package/dist/assets/{avatar-DfIe4Wep.js → avatar-Dails8FB.js} +1 -1
- package/dist/assets/{basic-CSKKFSnH.js → basic-Dyirn_mS.js} +1 -1
- package/dist/assets/{chat-Xq6CB3i9.js → chat-CPUD9uo9.js} +1 -1
- package/dist/assets/{codingBridge-BjStBzWx.js → codingBridge-QWkraU7l.js} +1 -1
- package/dist/assets/{codingBridgeNotify-D96dPf37.js → codingBridgeNotify-BN2YLF9F.js} +2 -2
- package/dist/assets/{collapse-CbNnreE4.js → collapse-C1PJOjAr.js} +1 -1
- package/dist/assets/{createTaskActions-DeFrbnqu.js → createTaskActions-DASP77_F.js} +1 -1
- package/dist/assets/{date-picker-g_Lhv-Hs.js → date-picker-DeV_s83q.js} +1 -1
- package/dist/assets/{digitalhuman-BySVlKNC.js → digitalhuman-RuI8inv1.js} +1 -1
- package/dist/assets/{drawer-BzkgPXU-.js → drawer-r1iwGevv.js} +1 -1
- package/dist/assets/{dropdown-0xA3Z21F.js → dropdown-BjKRtQOn.js} +1 -1
- package/dist/assets/{dropdown-BZT6aajK.js → dropdown-ClTgArMH.js} +1 -1
- package/dist/assets/{esm-DCsuvzX_.js → esm-CFu9PHoU.js} +3 -3
- package/dist/assets/{esm-BUF3YkHT.js → esm-D6vDd9rs.js} +1 -1
- package/dist/assets/{esm-CpL1nnQx.js → esm-D8C8BRA-.js} +2 -2
- package/dist/assets/{esm-C4OE3V76.js → esm-DR4hG7RM.js} +1 -1
- package/dist/assets/{esm-D3AqfEDI.js → esm-Fvf4Fth5.js} +2 -2
- package/dist/assets/esm-i7MGonO-.js +1 -0
- package/dist/assets/{esm-Dkdi8mqr.js → esm-raqJ0DaL.js} +1 -1
- package/dist/assets/{fish-C38QzSSz.js → fish-DFYlWv1i.js} +1 -1
- package/dist/assets/{flux-Dv5Gd-Od.js → flux-Bf1EoLnp.js} +1 -1
- package/dist/assets/{grokvideo-VXE4ogpX.js → grokvideo-Bjgik3gg.js} +1 -1
- package/dist/assets/{hailuo-BDV3uMvP.js → hailuo-D_WvNc4M.js} +1 -1
- package/dist/assets/{headshots-CQ4uwqyJ.js → headshots-Ruh6XnPq.js} +1 -1
- package/dist/assets/{image-bqWKLaFI.js → image-JjxqCtA0.js} +1 -1
- package/dist/assets/{index-34RPB4ut.js → index-BcxoYUlP.js} +3 -3
- package/dist/assets/{index.browser.esm-BuNjHw2p.js → index.browser.esm-DQcMDJQZ.js} +1 -1
- package/dist/assets/{index.es-R0-t1Ecj.js → index.es-64VOxNI4.js} +1 -1
- package/dist/assets/{input-number-2vH4e6yP.js → input-number-X2zlIeRN.js} +1 -1
- package/dist/assets/{kling-BhwfA9_d.js → kling-BNaV1IEF.js} +1 -1
- package/dist/assets/{luma-COT2fC4Y.js → luma-DmoWFy7L.js} +1 -1
- package/dist/assets/{maestro-BcohCEqj.js → maestro-DwiLtOgt.js} +1 -1
- package/dist/assets/{midjourney-Ca2mSnaY.js → midjourney-BYbmURhd.js} +1 -1
- package/dist/assets/{mobileLocalExec-oT6UltIi.js → mobileLocalExec-BHVnRf9x.js} +2 -2
- package/dist/assets/{nanobanana-DEnjD5CE.js → nanobanana-BYMF5gxB.js} +1 -1
- package/dist/assets/{openaiimage-8tIB3m2p.js → openaiimage-Ox_HZcAj.js} +1 -1
- package/dist/assets/{pagination-CBOn0s2p.js → pagination-BxSZ-T5H.js} +1 -1
- package/dist/assets/{pika-PjGKEX0P.js → pika-DFK25sbE.js} +1 -1
- package/dist/assets/{pixverse-Ehs5ro-w.js → pixverse-D0gtMoKP.js} +1 -1
- package/dist/assets/{popover-DxwDnVaM.js → popover-Cwqiu7eL.js} +1 -1
- package/dist/assets/{producer-BYD04kx6.js → producer-B3XRm9t_.js} +1 -1
- package/dist/assets/{qrart-DWGDA68B.js → qrart-DFQaaxyr.js} +1 -1
- package/dist/assets/{realtime-8DwzA9HK.js → realtime-DFl5iVSb.js} +1 -1
- package/dist/assets/{row-XTUeBT7B.js → row-COa4xI6p.js} +1 -1
- package/dist/assets/{seedance-CssAtNwc.js → seedance-D0R_X5eA.js} +1 -1
- package/dist/assets/{seedream-BOrOuONw.js → seedream-BKgLqkqA.js} +1 -1
- package/dist/assets/{select-DUBIeg4E.js → select-OsT7Fvj4.js} +1 -1
- package/dist/assets/{serp-B1U13NLt.js → serp-CiJTRG9_.js} +1 -1
- package/dist/assets/{slider-DgLKMVE7.js → slider-DNRmqsc_.js} +1 -1
- package/dist/assets/{solana-wallets-Condn1ld.js → solana-wallets-CuXg8-SJ.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CVtelLWg.js → solana-wallets-vue-MdviLLyQ.js} +1 -1
- package/dist/assets/{sora-MuH1O1ao.js → sora-DzL45Yp6.js} +1 -1
- package/dist/assets/{suno-D8bQ7v4f.js → suno-BB25tqgq.js} +1 -1
- package/dist/assets/{switch-ZzCetipd.js → switch-Cw4iZ41F.js} +1 -1
- package/dist/assets/{table-BIQkaM3M.js → table-yyhuV-km.js} +1 -1
- package/dist/assets/{tabs-CJffZ7bB.js → tabs-CTpXu8Ab.js} +1 -1
- package/dist/assets/{time-picker-Cu7SdgsW.js → time-picker-B-H0X3Yb.js} +1 -1
- package/dist/assets/{tooltip-CDUbGAHQ.js → tooltip-BqyvQBDc.js} +1 -1
- package/dist/assets/{upload-DWH55RWe.js → upload-Co0mA80B.js} +1 -1
- package/dist/assets/{veo-2U6_Zo6G.js → veo--87uFlVE.js} +1 -1
- package/dist/assets/{wan-CU60itn9.js → wan-o-RpfA49.js} +1 -1
- package/dist/assets/{web-Di341lJA.js → web-B6cHrLWb.js} +1 -1
- package/dist/assets/{web-DCdp4sPg.js → web-Cd0z-7kJ.js} +1 -1
- package/dist/assets/{web-Chs_N133.js → web-DIvo6x-G.js} +1 -1
- package/dist/assets/{web-C1Ox5uqk.js → web-DtdIZqwv.js} +1 -1
- package/dist/assets/{web-BxE3XEqf.js → web-f7yhFaBh.js} +1 -1
- package/dist/assets/{webextrator-DGu47QDy.js → webextrator-CTLjkLjZ.js} +1 -1
- package/dist/index.html +31 -1
- package/package.json +1 -1
- package/dist/assets/esm-6-2XOuRy.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{t as v}from"./upload-DWH55RWe.js";import{t as y}from"./tooltip-CDUbGAHQ.js";import{t as b}from"./image-bqWKLaFI.js";import{t as x}from"./alert-DFJEFJnM.js";import{t as S}from"./drawer-BzkgPXU-.js";import{t as C}from"./switch-ZzCetipd.js";import"./constants-ipFObddr.js";import{A as w,Ht as T,In as E,Kt as ee,Ut as D,Vr as O,Vt as k,Wr as A,Wt as j,en as M,fi as N,ti as P,tr as te}from"./index-34RPB4ut.js";import{t as F}from"./index.es-R0-t1Ecj.js";import{t as I}from"./CopyToClipboard-CdFq7QFL.js";import{t as L}from"./FilePreview-CV_3StM_.js";import{t as R}from"./ImagePreview-VtTHSxg5.js";import{n as z}from"./taskDrawerMixin-CfysS2FH.js";import{t as B}from"./Consumption-BqNpc4s7.js";import{i as V,n as H,t as U}from"./pagination-CBOn0s2p.js";import{t as W}from"./VideoPlayer-mql77_ru.js";import{t as G}from"./ApiCodeButton-C5S7m7hi.js";import{t as K}from"./BotPlaceholder-CNsf-s0r.js";import{t as q}from"./NoTasks-CjQBnFRg.js";import{t as J}from"./PromptTextarea-1i39MI9w.js";var Y=i({name:`LayoutLuma`,components:{ElDrawer:S,ElButton:N,FontAwesomeIcon:F},mixins:[z]}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,X,[t(`div`,Z,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,Q,[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`,class:`drawer`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=w(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=i({name:`EnhancementSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,ae,[t(`div`,oe,[t(`div`,se,[t(`span`,ce,n(r.$t(`luma.name.enhancement`)),1),s(d,{content:r.$t(`luma.description.enhancement`)},null,8,[`content`])]),t(`div`,le,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var de=w(ie,[[`render`,ue]]),fe=i({name:`CustomSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,pe,[t(`div`,me,[t(`div`,he,[t(`span`,ge,n(r.$t(`luma.name.custom`)),1),s(d,{content:r.$t(`luma.description.custom`)},null,8,[`content`])]),t(`div`,_e,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var ye=w(fe,[[`render`,ve]]),be=i({name:`LoopSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,xe,[t(`div`,Se,[t(`div`,Ce,[t(`span`,we,n(r.$t(`luma.name.loop`)),1),s(d,{content:r.$t(`luma.description.loop`)},null,8,[`content`])]),t(`div`,Te,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var De=w(be,[[`render`,Ee]]),Oe=i({name:`EndImage`,components:{ElUpload:v,ElButton:N,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(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`,ke,[t(`div`,Ae,[t(`div`,je,[t(`span`,Me,n(r.$t(`luma.name.endImageUrl`)),1),s(g,{content:r.$t(`luma.description.endImageUrl`)},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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=w(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=i({name:`StartImage`,components:{ElUpload:v,ElButton:N,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(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`,Ie,[t(`div`,Le,[t(`div`,Re,[t(`span`,ze,n(r.$t(`luma.name.startImageUrl`)),1),s(g,{content:r.$t(`luma.description.startImageUrl`)},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.percentage==null?m(``,!0):(c(),o(_,{key:0,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: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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=w(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=i({name:`UploadVideo`,components:{ElUpload:v,ElButton:N,InfoIcon:V,FilePreview:L,FontAwesomeIcon:F},mixins:[T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){P.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(P.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(P.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return c(),e(`div`,Ue,[t(`div`,We,[t(`div`,Ge,[t(`span`,Ke,n(r.$t(`luma.name.videoUrl`)),1),s(g,{content:r.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),s(b,{"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:r.uploadUrl,"before-upload":r.beforeUpload,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.percentage==null?m(``,!0):(c(),o(_,{key:0,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: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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=w(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=i({name:`PromptInput`,components:{PromptTextarea:J},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=w(Ye,[[`render`,Xe]]),Qe=i({name:`ExtendFromInput`,components:{VideoPlayer:W},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),$e={class:`relative`},et={class:`flex mb-2`},tt={class:`text-sm font-bold`};function nt(r,i,a,s,l,u){let d=h(`video-player`);return c(),e(`div`,$e,[t(`div`,et,[t(`span`,tt,n(r.$t(`luma.name.extend`)),1)]),t(`div`,null,[r.config?.video_url?(c(),o(d,{key:0,src:r.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=i({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:N,FontAwesomeIcon:F,PromptInput:Ze,ExtendFromInput:w(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:B},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(r,i,l,u,f,p){let g=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return c(),e(`div`,it,[t(`div`,at,[r.config?.video_id||r.config?.video_url?(c(),o(g,{key:0,class:`mb-4`})):m(``,!0),s(_,{class:`mb-4`}),r.config?.video_id?m(``,!0):(c(),o(v,{key:1,class:`mb-4`})),r.config?.custom?(c(),o(y,{key:2,class:`mb-4`})):m(``,!0),!(r.config?.video_id||r.config?.video_url)&&!r.config?.custom?(c(),o(b,{key:3,class:`mb-4`})):m(``,!0),s(x,{class:`mb-4`}),s(S,{class:`mb-4`}),s(C,{class:`mb-4`})]),t(`div`,ot,[s(w,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),r.config?.video_url!==void 0||r.config?.custom?(c(),o(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(c(),o(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=w(rt,[[`render`,st]]),lt=i({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:I,FontAwesomeIcon:F,ElAlert:x,VideoPlayer:W,ElTooltip:y,ElButton:N,ApiCodeButton:G},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),ut={class:`preview`},dt={class:`left`},ft={class:`main`},pt={class:`bot`},mt={class:`datetime`},ht={class:`info`},gt={key:0,class:`prompt mt-2`},_t={key:0},vt={key:1},yt={key:0,class:r({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:r({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:r({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:r({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(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`,ut,[t(`div`,dt,[s(g,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),t(`div`,ft,[t(`div`,pt,[a(n(r.$t(`luma.name.lumaBot`))+` `,1),t(`span`,mt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,ht,[r.modelValue?.request?.prompt?(c(),e(`p`,gt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,_t,` - (`+n(r.$t(`luma.status.pending`))+`) `,1)),r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`?(c(),e(`span`,vt,` - (`+n(r.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,yt,[r.modelValue.response.video_url?(c(),e(`div`,bt,[s(_,{src:r.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response&&!r.config?.custom?(c(),e(`div`,xt,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`luma.message.extendVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=u(e=>r.onExtend(e,r.modelValue?.response),[`stop`])},{default:d(()=>[a(n(r.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),s(y,{class:`box-item`,effect:`dark`,content:r.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`btn-action`,onClick:i[1]||=u(e=>r.onDownload(r.modelValue?.response?.video_url),[`stop`])},{default:d(()=>[a(n(r.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),s(b,{path:`/luma/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[t(`p`,St,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,Ct,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.state===`failed`||r.modelValue?.response?.success===!1?(c(),e(`div`,wt,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.failure`)),1)]),default:d(()=>[t(`p`,Tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),t(`p`,Et,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`luma.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`,$,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),t(`p`,Dt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.traceId`))+`: `+n(r.modelValue?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!r.modelValue?.response||r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`?(c(),e(`div`,Ot,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.failure`)),1)]),default:d(()=>[t(`p`,kt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=i({name:`RecentPanel`,components:{BotPlaceholder:K,TaskPreview:w(lt,[[`render`,At],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:q,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(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`,Mt,[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[1]||=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,onExtend:n[0]||=e=>t.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Nt,[s(v)])):m(``,!0)],64)}var Ft=i({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:w(jt,[[`render`,Pt]])},mixins:[D],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!k(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){P.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!M())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`luma.message.startingTask`)),te(`luma`,E.generate(e,{token:t})).then(()=>{P.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`luma.message.usedUp`)):P.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function It(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=w(Ft,[[`render`,It]]);export{Lt 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{t as v}from"./upload-Co0mA80B.js";import{t as y}from"./tooltip-BqyvQBDc.js";import{t as b}from"./image-JjxqCtA0.js";import{t as x}from"./alert-C5bhzaNt.js";import{t as S}from"./drawer-r1iwGevv.js";import{t as C}from"./switch-Cw4iZ41F.js";import"./constants-ipFObddr.js";import{A as w,Ht as T,In as E,Kt as ee,Ut as D,Vr as O,Vt as k,Wr as A,Wt as j,en as M,fi as N,ti as P,tr as te}from"./index-BcxoYUlP.js";import{t as F}from"./index.es-64VOxNI4.js";import{t as I}from"./CopyToClipboard-BVZWQS2q.js";import{t as L}from"./FilePreview-AvpS0t2H.js";import{t as R}from"./ImagePreview-Csfrra1Z.js";import{n as z}from"./taskDrawerMixin-CfysS2FH.js";import{t as B}from"./Consumption-Ck-PBDoM.js";import{i as V,n as H,t as U}from"./pagination-BxSZ-T5H.js";import{t as W}from"./VideoPlayer-CTJ6cy_2.js";import{t as G}from"./ApiCodeButton-CY2r4Eda.js";import{t as K}from"./BotPlaceholder-DzeqbRrk.js";import{t as q}from"./NoTasks-WG6QDTIq.js";import{t as J}from"./PromptTextarea-DuuPTWH1.js";var Y=i({name:`LayoutLuma`,components:{ElDrawer:S,ElButton:N,FontAwesomeIcon:F},mixins:[z]}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(n,r,i,a,o,l){let u=h(`font-awesome-icon`),f=h(`el-button`),m=h(`el-drawer`);return c(),e(`div`,X,[t(`div`,Z,[g(n.$slots,`config`,{},void 0,!0)]),t(`div`,Q,[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`,class:`drawer`},{default:d(()=>[g(n.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=w(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=i({name:`EnhancementSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,ae,[t(`div`,oe,[t(`div`,se,[t(`span`,ce,n(r.$t(`luma.name.enhancement`)),1),s(d,{content:r.$t(`luma.description.enhancement`)},null,8,[`content`])]),t(`div`,le,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var de=w(ie,[[`render`,ue]]),fe=i({name:`CustomSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,pe,[t(`div`,me,[t(`div`,he,[t(`span`,ge,n(r.$t(`luma.name.custom`)),1),s(d,{content:r.$t(`luma.description.custom`)},null,8,[`content`])]),t(`div`,_e,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var ye=w(fe,[[`render`,ve]]),be=i({name:`LoopSelector`,components:{ElSwitch:C,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(r,i,a,o,l,u){let d=h(`info-icon`),f=h(`el-switch`);return c(),e(`div`,xe,[t(`div`,Se,[t(`div`,Ce,[t(`span`,we,n(r.$t(`luma.name.loop`)),1),s(d,{content:r.$t(`luma.description.loop`)},null,8,[`content`])]),t(`div`,Te,[s(f,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`},null,8,[`modelValue`])])])])}var De=w(be,[[`render`,Ee]]),Oe=i({name:`EndImage`,components:{ElUpload:v,ElButton:N,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(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`,ke,[t(`div`,Ae,[t(`div`,je,[t(`span`,Me,n(r.$t(`luma.name.endImageUrl`)),1),s(g,{content:r.$t(`luma.description.endImageUrl`)},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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=w(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=i({name:`StartImage`,components:{ElUpload:v,ElButton:N,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[j,T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(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`,Ie,[t(`div`,Le,[t(`div`,Re,[t(`span`,ze,n(r.$t(`luma.name.startImageUrl`)),1),s(g,{content:r.$t(`luma.description.startImageUrl`)},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.percentage==null?m(``,!0):(c(),o(_,{key:0,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: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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=w(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=i({name:`UploadVideo`,components:{ElUpload:v,ElButton:N,InfoIcon:V,FilePreview:L,FontAwesomeIcon:F},mixins:[T],data(){return{fileList:[],uploadUrl:A()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){P.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(P.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(P.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(r,i,l,u,f,p){let g=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return c(),e(`div`,Ue,[t(`div`,We,[t(`div`,Ge,[t(`span`,Ke,n(r.$t(`luma.name.videoUrl`)),1),s(g,{content:r.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),s(b,{"file-list":r.fileList,"onUpdate:fileList":i[0]||=e=>r.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:r.uploadUrl,"before-upload":r.beforeUpload,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,headers:r.headers},{file:d(({file:e})=>[e.percentage==null?m(``,!0):(c(),o(_,{key:0,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: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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=w(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=i({name:`PromptInput`,components:{PromptTextarea:J},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,a){let s=h(`prompt-textarea`);return c(),o(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=w(Ye,[[`render`,Xe]]),Qe=i({name:`ExtendFromInput`,components:{VideoPlayer:W},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),$e={class:`relative`},et={class:`flex mb-2`},tt={class:`text-sm font-bold`};function nt(r,i,a,s,l,u){let d=h(`video-player`);return c(),e(`div`,$e,[t(`div`,et,[t(`span`,tt,n(r.$t(`luma.name.extend`)),1)]),t(`div`,null,[r.config?.video_url?(c(),o(d,{key:0,src:r.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=i({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:N,FontAwesomeIcon:F,PromptInput:Ze,ExtendFromInput:w(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:B},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(r,i,l,u,f,p){let g=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return c(),e(`div`,it,[t(`div`,at,[r.config?.video_id||r.config?.video_url?(c(),o(g,{key:0,class:`mb-4`})):m(``,!0),s(_,{class:`mb-4`}),r.config?.video_id?m(``,!0):(c(),o(v,{key:1,class:`mb-4`})),r.config?.custom?(c(),o(y,{key:2,class:`mb-4`})):m(``,!0),!(r.config?.video_id||r.config?.video_url)&&!r.config?.custom?(c(),o(b,{key:3,class:`mb-4`})):m(``,!0),s(x,{class:`mb-4`}),s(S,{class:`mb-4`}),s(C,{class:`mb-4`})]),t(`div`,ot,[s(w,{value:r.consumption,service:r.service},null,8,[`value`,`service`]),r.config?.video_url!==void 0||r.config?.custom?(c(),o(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(c(),o(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:r.onGenerate},{default:d(()=>[s(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+n(r.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=w(rt,[[`render`,st]]),lt=i({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:I,FontAwesomeIcon:F,ElAlert:x,VideoPlayer:W,ElTooltip:y,ElButton:N,ApiCodeButton:G},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),ut={class:`preview`},dt={class:`left`},ft={class:`main`},pt={class:`bot`},mt={class:`datetime`},ht={class:`info`},gt={key:0,class:`prompt mt-2`},_t={key:0},vt={key:1},yt={key:0,class:r({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:r({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:r({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:r({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(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`,ut,[t(`div`,dt,[s(g,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),t(`div`,ft,[t(`div`,pt,[a(n(r.$t(`luma.name.lumaBot`))+` `,1),t(`span`,mt,n(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),t(`div`,ht,[r.modelValue?.request?.prompt?(c(),e(`p`,gt,[a(n(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(c(),e(`span`,_t,` - (`+n(r.$t(`luma.status.pending`))+`) `,1)),r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`?(c(),e(`span`,vt,` - (`+n(r.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),r.modelValue?.response?.success===!0?(c(),e(`div`,yt,[r.modelValue.response.video_url?(c(),e(`div`,bt,[s(_,{src:r.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),r.modelValue?.response&&!r.config?.custom?(c(),e(`div`,xt,[s(y,{class:`box-item`,effect:`dark`,content:r.$t(`luma.message.extendVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`btn-action`,onClick:i[0]||=u(e=>r.onExtend(e,r.modelValue?.response),[`stop`])},{default:d(()=>[a(n(r.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),s(y,{class:`box-item`,effect:`dark`,content:r.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:d(()=>[s(v,{type:`info`,size:`small`,class:`btn-action`,onClick:i[1]||=u(e=>r.onDownload(r.modelValue?.response?.video_url),[`stop`])},{default:d(()=>[a(n(r.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),s(b,{path:`/luma/videos`,body:r.modelValue?.request},null,8,[`body`])])):m(``,!0),s(C,{closable:!1,class:`mt-2 success`},{default:d(()=>[t(`p`,St,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),r.modelValue?.elapsed?(c(),e(`p`,Ct,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),r.modelValue?.response?.state===`failed`||r.modelValue?.response?.success===!1?(c(),e(`div`,wt,[s(C,{closable:!1,class:`failure`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.failure`)),1)]),default:d(()=>[t(`p`,Tt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])]),t(`p`,Et,[s(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+n(r.$t(`luma.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`,$,[s(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.elapsed`))+`: `+n(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),t(`p`,Dt,[s(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.traceId`))+`: `+n(r.modelValue?.trace_id)+` `,1),s(S,{content:r.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!r.modelValue?.response||r.modelValue?.response?.state===`processing`||r.modelValue?.response?.state===`pending`?(c(),e(`div`,Ot,[s(C,{closable:!1,class:`info`},{template:d(()=>[s(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.failure`)),1)]),default:d(()=>[t(`p`,kt,[s(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+n(r.$t(`luma.name.taskId`))+`: `+n(r.modelValue?.id)+` `,1),s(S,{content:r.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=i({name:`RecentPanel`,components:{BotPlaceholder:K,TaskPreview:w(lt,[[`render`,At],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:q,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(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`,Mt,[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[1]||=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,onExtend:n[0]||=e=>t.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),t.tasks?.items?.length===0?(c(),e(`div`,Nt,[s(v)])):m(``,!0)],64)}var Ft=i({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:w(jt,[[`render`,Pt]])},mixins:[D],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===O.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===O.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!k(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){P.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!M())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`luma.message.startingTask`)),te(`luma`,E.generate(e,{token:t})).then(()=>{P.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`luma.message.usedUp`)):P.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function It(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=w(Ft,[[`render`,It]]);export{Lt 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-DUBIeg4E.js";import{t as y}from"./upload-DWH55RWe.js";import{t as b}from"./image-bqWKLaFI.js";import{t as x}from"./alert-DFJEFJnM.js";import{t as S}from"./drawer-BzkgPXU-.js";import{t as C}from"./input-number-2vH4e6yP.js";import{t as w}from"./slider-DgLKMVE7.js";import{$n as T,Qn as E,Zn as D}from"./constants-ipFObddr.js";import{A as O,Ht as k,Kt as A,On as ee,Ut as te,Vr as j,Vt as M,Wr as N,Wt as P,en as F,fi as I,ti as L,tr as R}from"./index-34RPB4ut.js";import{t as z}from"./index.es-R0-t1Ecj.js";import{t as B}from"./CopyToClipboard-CdFq7QFL.js";import{t as V}from"./ImagePreview-VtTHSxg5.js";import{n as H}from"./taskDrawerMixin-CfysS2FH.js";import{t as U}from"./Consumption-BqNpc4s7.js";import{i as W,n as G,t as K}from"./pagination-CBOn0s2p.js";import{t as q}from"./ApiCodeButton-C5S7m7hi.js";import{t as J}from"./BotPlaceholder-CNsf-s0r.js";import{t as Y}from"./NoTasks-CjQBnFRg.js";import{t as X}from"./PromptTextarea-1i39MI9w.js";import{t as Z}from"./ImageWrapper-D0rZwiC-.js";var Q=i({name:`LayoutFlux`,components:{ElDrawer:S,ElButton:I,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=O(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=O(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=O(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=O(be,[[`render`,Ce],[`__scopeId`,`data-v-81fd05e5`]]),Te=i({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:I,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[P,k],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)}},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(){L.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){L.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=O(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=O(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:I,FontAwesomeIcon:z,PromptInput:Pe,ModelSelector:de,CountSelector:ye,Consumption:U,ActionSelector:we,ImageUrlInput:je,SizeSelector:O(Fe,[[`render`,Re],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return A(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=O(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:O(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:O(pt,[[`render`,gt]])},mixins:[te],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===j.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(!M(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config,async:!0};if(!F())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}L.info(this.$t(`flux.message.startingTask`)),R(`flux`,ee.generate(e,{token:t})).then(()=>{L.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?L.error(this.$t(`flux.message.usedUp`)):L.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=O(_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-OsT7Fvj4.js";import{t as y}from"./upload-Co0mA80B.js";import{t as b}from"./image-JjxqCtA0.js";import{t as x}from"./alert-C5bhzaNt.js";import{t as S}from"./drawer-r1iwGevv.js";import{t as C}from"./input-number-X2zlIeRN.js";import{t as w}from"./slider-DNRmqsc_.js";import{$n as T,Qn as E,Zn as D}from"./constants-ipFObddr.js";import{A as O,Ht as k,Kt as A,On as ee,Ut as te,Vr as j,Vt as M,Wr as N,Wt as P,en as F,fi as I,ti as L,tr as R}from"./index-BcxoYUlP.js";import{t as z}from"./index.es-64VOxNI4.js";import{t as B}from"./CopyToClipboard-BVZWQS2q.js";import{t as V}from"./ImagePreview-Csfrra1Z.js";import{n as H}from"./taskDrawerMixin-CfysS2FH.js";import{t as U}from"./Consumption-Ck-PBDoM.js";import{i as W,n as G,t as K}from"./pagination-BxSZ-T5H.js";import{t as q}from"./ApiCodeButton-CY2r4Eda.js";import{t as J}from"./BotPlaceholder-DzeqbRrk.js";import{t as Y}from"./NoTasks-WG6QDTIq.js";import{t as X}from"./PromptTextarea-DuuPTWH1.js";import{t as Z}from"./ImageWrapper-BqlNAWkb.js";var Q=i({name:`LayoutFlux`,components:{ElDrawer:S,ElButton:I,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=O(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=O(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=O(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=O(be,[[`render`,Ce],[`__scopeId`,`data-v-81fd05e5`]]),Te=i({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:I,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[P,k],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)}},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(){L.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){L.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=O(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=O(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:I,FontAwesomeIcon:z,PromptInput:Pe,ModelSelector:de,CountSelector:ye,Consumption:U,ActionSelector:we,ImageUrlInput:je,SizeSelector:O(Fe,[[`render`,Re],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return A(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=O(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:O(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:O(pt,[[`render`,gt]])},mixins:[te],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===j.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(!M(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config,async:!0};if(!F())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}L.info(this.$t(`flux.message.startingTask`)),R(`flux`,ee.generate(e,{token:t})).then(()=>{L.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?L.error(this.$t(`flux.message.usedUp`)):L.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=O(_t,[[`render`,vt]]);export{yt as default};
|