@acedatacloud/nexior 3.313.8 → 3.313.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-CL_X6jA7.js → ApiCodeButton-BSib-YhW.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-CJ5HQ_OV.js → AskUserQuestionCard-BSPmhOLN.js} +2 -2
- package/dist/assets/{Auth-JKBa8p-o.js → Auth-Bbvd097Z.js} +1 -1
- package/dist/assets/{Bare-D0bj7Hjy.js → Bare-D-cg5lwW.js} +1 -1
- package/dist/assets/{BotPlaceholder-DyQVMYkf.js → BotPlaceholder-CMoT40Pj.js} +1 -1
- package/dist/assets/{BottomFooter-CGLGBwrc.js → BottomFooter-D80FAKrW.js} +1 -1
- package/dist/assets/{Callback-IGeT6IW7.js → Callback-CU3S-KQ_.js} +1 -1
- package/dist/assets/{CodeSnippet-DYT__q26.js → CodeSnippet-DpB6P6Yd.js} +1 -1
- package/dist/assets/{Console-DxiQrJoj.js → Console-BCxzGLKs.js} +1 -1
- package/dist/assets/{Consumption-sLZcUj9B.js → Consumption-yKHMqZWT.js} +1 -1
- package/dist/assets/{Conversation-C_wrvXYY.js → Conversation-Cby3JjKS.js} +2 -2
- package/dist/assets/{CopyToClipboard-BKHtkHty.js → CopyToClipboard-C0OEr-tx.js} +1 -1
- package/dist/assets/{Detail-BT4FALqn.js → Detail-5L58kYaK.js} +2 -2
- package/dist/assets/{Extra-DFY399ZY.js → Extra-BuQRnAut.js} +1 -1
- package/dist/assets/{FilePreview-1R8R5ZXg.js → FilePreview-C3DbL1pM.js} +1 -1
- package/dist/assets/{Hailuo-D6qW_Vm8.js → Hailuo-gApbzLxJ.js} +1 -1
- package/dist/assets/{History-qL52EAm5.js → History-_IDSaVSz.js} +1 -1
- package/dist/assets/{ImagePreview-DN4X7H8P.js → ImagePreview-lHntIv5z.js} +1 -1
- package/dist/assets/{ImageWrapper-CA4WxkvV.js → ImageWrapper-CuTs3Qrq.js} +1 -1
- package/dist/assets/Index--taQBAE3.js +1 -0
- package/dist/assets/{Index-lF7sRF65.js → Index-B3m1K5Gt.js} +1 -1
- package/dist/assets/{Index-vjIc1v9Z.js → Index-BG-SoxEz.js} +1 -1
- package/dist/assets/Index-BLIIdKqK.js +1 -0
- package/dist/assets/Index-BWOr0Fjh.js +1 -0
- package/dist/assets/Index-BWPJ0NEU.js +1 -0
- package/dist/assets/Index-BXx2VHRa.js +1 -0
- package/dist/assets/{Index-CRdADZku.js → Index-BfVIyIKD.js} +1 -1
- package/dist/assets/{Index-BzzijQTt.js → Index-Bfjfkg0y.js} +1 -1
- package/dist/assets/Index-BpL7ACIk.js +1 -0
- package/dist/assets/{Index-CAvBB09G.js → Index-Bq-AHzWX.js} +1 -1
- package/dist/assets/{Index-1GZCHZsJ.js → Index-CDDDqil-.js} +1 -1
- package/dist/assets/Index-CF9OwuTj.css +1 -0
- package/dist/assets/{Index-Ghf2g8dn.js → Index-Cb6zV62Y.js} +1 -1
- package/dist/assets/{Index-DMAMJyw-.js → Index-Ce8bNSmc.js} +1 -1
- package/dist/assets/Index-Cxpfz-OO.js +1 -0
- package/dist/assets/Index-DDYfMVPH.js +1 -0
- package/dist/assets/Index-DcZtb-Cw.js +1 -0
- package/dist/assets/{Index-BNbX2P5r.js → Index-DhP1aizQ.js} +1 -1
- package/dist/assets/{Index-j0OxVLjr.js → Index-DhXgXNdI.js} +1 -1
- package/dist/assets/{Index-BW0Ch3iQ.js → Index-Dj6W1k3K.js} +1 -1
- package/dist/assets/Index-DkyaDKXh.js +1 -0
- package/dist/assets/Index-FDrxJYeb.js +1 -0
- package/dist/assets/Index-TebJbMSb.js +1 -0
- package/dist/assets/Index-_KP-FgfE.js +1 -0
- package/dist/assets/Index-eOdd9J4W.js +1 -0
- package/dist/assets/Index-f717P4FK.js +1 -0
- package/dist/assets/{Index-Cr3xVYzD.js → Index-uLyVH6oh.js} +2 -2
- package/dist/assets/Index-xpWf49Pc.js +1 -0
- package/dist/assets/{Invitees-p_gJ2gmW.js → Invitees-CGo4Ni8T.js} +1 -1
- package/dist/assets/List-BucKAQym.js +1 -0
- package/dist/assets/List-ComvgqXN.js +1 -0
- package/dist/assets/List-CqeRijod.js +1 -0
- package/dist/assets/{LocalTools-Bzj473If.js → LocalTools-BuAc11tX.js} +3 -3
- package/dist/assets/{LocalTools-CPON7nW8.js → LocalTools-DfmpbSRK.js} +1 -1
- package/dist/assets/{Main-IzZcKcWy.js → Main-eGxi0qgM.js} +1 -1
- package/dist/assets/{Model-D_TrYqGT.js → Model-YZFeK4ko.js} +1 -1
- package/dist/assets/{Navigator-DSqPf4iI.js → Navigator-BskmMjTM.js} +2 -2
- package/dist/assets/{NoTasks-Dlxk6n7k.js → NoTasks-BUrbQP_h.js} +1 -1
- package/dist/assets/{NotFound-U_6b-BAK.js → NotFound-C7nC8jhM.js} +1 -1
- package/dist/assets/{Pagination-jPbRT4WV.js → Pagination-B2RcQJIP.js} +1 -1
- package/dist/assets/Pay-Dlv6Mk_N.js +1 -0
- package/dist/assets/{Player--PkHjHZR.js → Player-B1dUvq8M.js} +1 -1
- package/dist/assets/{PromptTextarea-QxVJ1MAS.js → PromptTextarea-4vYySO8B.js} +1 -1
- package/dist/assets/{RealtimeCall-anwfyAWb.js → RealtimeCall-DoAbXm1_.js} +1 -1
- package/dist/assets/ScheduledTasks-DiR2I_K5.js +2 -0
- package/dist/assets/{Status-DAmDzokH.js → Status-Cj_HTDxP.js} +1 -1
- package/dist/assets/{Subscribe-ZBoJ1ryQ.js → Subscribe-BcsPcZCA.js} +1 -1
- package/dist/assets/{TabSwitcher-D63GPeRH.js → TabSwitcher-CuriCoQM.js} +1 -1
- package/dist/assets/{Tts-N5YUDQey.js → Tts-BOXXrPz8.js} +1 -1
- package/dist/assets/{VideoPlayer-CvWu9VNh.js → VideoPlayer-BsAuBAYA.js} +1 -1
- package/dist/assets/{avatar-DfgdnQFd.js → avatar-DD5lBA1F.js} +1 -1
- package/dist/assets/{basic-BgjeNeTv.js → basic-BUZrunwF.js} +1 -1
- package/dist/assets/chat-B6BHtkjl.js +1 -0
- package/dist/assets/{codingBridge-CChlyaff.js → codingBridge-BqQY_Nsb.js} +1 -1
- package/dist/assets/{codingBridgeNotify-C0KRr0CE.js → codingBridgeNotify-Chp8v5fr.js} +2 -2
- package/dist/assets/{collapse-Bnh_wTGQ.js → collapse-DD70EM4-.js} +1 -1
- package/dist/assets/{createTaskActions-CGtfDGsa.js → createTaskActions-BPNADsee.js} +1 -1
- package/dist/assets/{date-picker-DYhHWb-D.js → date-picker-CtBdWrWY.js} +1 -1
- package/dist/assets/{digitalhuman-DmomYqOg.js → digitalhuman-CK34a6He.js} +1 -1
- package/dist/assets/{dropdown-Qr4N76eZ.js → dropdown-DgXt3lQK.js} +1 -1
- package/dist/assets/{esm-Bzjb6vtv.js → esm-BOknPrvP.js} +1 -1
- package/dist/assets/{esm-D5TQT0OQ.js → esm-BusXaExq.js} +2 -2
- package/dist/assets/{esm-BqDcT9io.js → esm-C6CMC0UM.js} +1 -1
- package/dist/assets/{esm-Ci45IrWM.js → esm-CG8GqwVF.js} +3 -3
- package/dist/assets/{esm-Cc81fWmy.js → esm-DFJ_ZSZr.js} +2 -2
- package/dist/assets/esm-DUGRRWjL.js +1 -0
- package/dist/assets/{esm-VJqnJaKu.js → esm-MAdBqrzX.js} +1 -1
- package/dist/assets/{fish-D5nBVhRq.js → fish-AV_hglDV.js} +1 -1
- package/dist/assets/{flux-BJrISxZk.js → flux-BXiFnMD1.js} +1 -1
- package/dist/assets/{seedance-BESl0n73.js → grokvideo-CaMy6Mnl.js} +1 -1
- package/dist/assets/{wan-D-wVcPxc.js → hailuo-CepyUS8Z.js} +1 -1
- package/dist/assets/{qrart-DzovmiDh.js → headshots-8ZoyK2UE.js} +1 -1
- package/dist/assets/image-Aw_-tuqE.js +1 -0
- package/dist/assets/{index-C0Net1hD.js → index-H4ViDRM1.js} +3 -3
- package/dist/assets/{index.browser.esm-D1Vrjuqx.js → index.browser.esm-CfTOAefm.js} +1 -1
- package/dist/assets/{index.es-JQ-yQmrv.js → index.es-D4AbJUQk.js} +2 -2
- package/dist/assets/{input-number-BLsQIBHH.js → input-number-DG7-t3x6.js} +1 -1
- package/dist/assets/{kling-CkInzvre.js → kling-27E42MKD.js} +1 -1
- package/dist/assets/{luma-BpMTuyHC.js → luma-CcJL7c6H.js} +1 -1
- package/dist/assets/{pixverse-uhaQsvdB.js → maestro-DjjjV4wA.js} +1 -1
- package/dist/assets/{midjourney-D8ZDhBte.js → midjourney-CvTTl4Pu.js} +1 -1
- package/dist/assets/{nanobanana-Bm8WmKZE.js → nanobanana-BpzsDMCX.js} +1 -1
- package/dist/assets/{openaiimage-D4j_XI14.js → openaiimage-BLXVEhqT.js} +1 -1
- package/dist/assets/{pagination-By6INo-O.js → pagination-D6gBwFeI.js} +1 -1
- package/dist/assets/{pika-DpEgJ9zm.js → pika-B07dFfri.js} +1 -1
- package/dist/assets/pixverse-B5IhXPqW.js +1 -0
- package/dist/assets/{popover-7ek8Ga_r.js → popover-C-VoTY68.js} +1 -1
- package/dist/assets/{producer-D0WasB8R.js → producer-CMPAkb6q.js} +1 -1
- package/dist/assets/{headshots-CWROSpy9.js → qrart-C697dCAI.js} +1 -1
- package/dist/assets/realtime-C4G-KQ3r.js +1 -0
- package/dist/assets/{row-uJ4WMcrb.js → row-9xY_zqJG.js} +1 -1
- package/dist/assets/{grokvideo-DAQ6BxuR.js → seedance-BkzfFEGM.js} +1 -1
- package/dist/assets/{seedream-DY5EOudd.js → seedream-Ds-BM72s.js} +1 -1
- package/dist/assets/{select-C7K1ogiN.js → select-B2VreL7x.js} +1 -1
- package/dist/assets/{serp-CX2aCp2W.js → serp-MS2AGS5-.js} +1 -1
- package/dist/assets/{slider-Yj2T_BaI.js → slider-DU5Aszak.js} +1 -1
- package/dist/assets/{solana-wallets-CF0LWkmj.js → solana-wallets-CijnWMHX.js} +2 -2
- package/dist/assets/{solana-wallets-vue-BWZ45Gpt.js → solana-wallets-vue-C1zQ_Y9J.js} +1 -1
- package/dist/assets/{sora-Dywzev1g.js → sora-BUp-YUbI.js} +1 -1
- package/dist/assets/{suno-B5nd8o4o.js → suno-7ASUSQPT.js} +1 -1
- package/dist/assets/{switch-B9llgTRJ.js → switch-DcH_0cbe.js} +1 -1
- package/dist/assets/{tabs-C8Uu3TAz.js → tabs-Bfxviyzr.js} +1 -1
- package/dist/assets/{time-picker-D1nx_LTn.js → time-picker-DnrdIogB.js} +1 -1
- package/dist/assets/{upload-AP4-fYqa.js → upload-DN7SJfVA.js} +1 -1
- package/dist/assets/{veo-DiPIXHBn.js → veo-BlzG2yfr.js} +1 -1
- package/dist/assets/{hailuo-DQcdmrBb.js → wan-doJfFdOV.js} +1 -1
- package/dist/assets/{web-fU5QLffU.js → web-BjmXM2EE.js} +1 -1
- package/dist/assets/{web-BbzzA7FL.js → web-Cvo26vzW.js} +1 -1
- package/dist/assets/{web-C1XuTjtm.js → web-DA_J9TXX.js} +1 -1
- package/dist/assets/{web-CM0K7BbW.js → web-Da0R8KBm.js} +1 -1
- package/dist/assets/{web-C_Hx8bio.js → web-ZHOCqwsi.js} +1 -1
- package/dist/assets/{webextrator-Cr6989JF.js → webextrator-DxrYViZF.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Index-B5FAhICZ.js +0 -1
- package/dist/assets/Index-BQjGT45F.js +0 -1
- package/dist/assets/Index-BUBxtOEb.js +0 -1
- package/dist/assets/Index-BttK89de.js +0 -1
- package/dist/assets/Index-C6T41gyE.js +0 -1
- package/dist/assets/Index-CD75AvwQ.js +0 -1
- package/dist/assets/Index-CHsdiiGQ.js +0 -1
- package/dist/assets/Index-CN-FvEhd.js +0 -1
- package/dist/assets/Index-CTk9-BVI.css +0 -1
- package/dist/assets/Index-C_AHVvS_.js +0 -1
- package/dist/assets/Index-D1yzlGpM.js +0 -1
- package/dist/assets/Index-D6fAx7-y.js +0 -1
- package/dist/assets/Index-D83LJ8JU.js +0 -1
- package/dist/assets/Index-DBIKE28j.js +0 -1
- package/dist/assets/Index-DcUtx0mT.js +0 -1
- package/dist/assets/Index-YByC3Kuq.js +0 -1
- package/dist/assets/Index-aTTv0nKH.js +0 -1
- package/dist/assets/List-CSjv8WG9.js +0 -1
- package/dist/assets/List-Dk_vmmwM.js +0 -1
- package/dist/assets/List-DoZ7FMPJ.js +0 -1
- package/dist/assets/Pay-CMRHvQ1T.js +0 -1
- package/dist/assets/ScheduledTasks-JMKNL5uI.js +0 -2
- package/dist/assets/chat-D2aPeQNQ.js +0 -1
- package/dist/assets/esm-VqjVq7Mn.js +0 -1
- package/dist/assets/image-BrD73lk_.js +0 -1
- package/dist/assets/maestro-a5A7Ew2M.js +0 -1
- package/dist/assets/realtime-DiSBWceD.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,b as f,dt as p,et as m,k as h,tt as g,ut as _,v,y}from"./vendor-chart-BJCvKk8-.js";import{t as b}from"./button-BydTr5nV.js";import{r as x,t as S}from"./select-B2VreL7x.js";import{t as C}from"./upload-DN7SJfVA.js";import{t as w}from"./tooltip-ivBOvVK_.js";import{t as T}from"./image-Aw_-tuqE.js";import{t as E}from"./alert-C51owb6L.js";import{t as D}from"./drawer-Aw9IMZFK.js";import{Fn as O,Ln as k,Rn as A,zn as j}from"./constants-DReNd4Tz.js";import{Br as M,Bt as N,Fr as P,Ht as ee,Qt as te,Rr as F,Vt as I,Wt as L,Yn as R,k as z,mn as B,zt as V}from"./index-H4ViDRM1.js";import{t as H}from"./index.es-D4AbJUQk.js";import{t as U}from"./CopyToClipboard-C0OEr-tx.js";import{t as W}from"./ImagePreview-lHntIv5z.js";import{n as G}from"./taskDrawerMixin-DEgO_R5H.js";import{t as K}from"./Consumption-yKHMqZWT.js";import{i as q,n as J,t as Y}from"./pagination-D6gBwFeI.js";import{t as X}from"./ApiCodeButton-BSib-YhW.js";import{t as Z}from"./BotPlaceholder-CMoT40Pj.js";import{t as Q}from"./NoTasks-BUrbQP_h.js";import{t as ne}from"./PromptTextarea-4vYySO8B.js";import{t as re}from"./ImageWrapper-CuTs3Qrq.js";var ie=r({name:`LayoutNanobanana`,components:{ElDrawer:D,ElButton:b,FontAwesomeIcon:H},mixins:[G]}),ae={class:`main flex flex-row flex-1`},oe={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},se={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ce(e,r,i,a,s,c){let l=g(`font-awesome-icon`),u=g(`el-button`),f=g(`el-drawer`);return d(),t(`div`,ae,[n(`div`,oe,[m(e.$slots,`config`,{},void 0,!0)]),n(`div`,se,[m(e.$slots,`result`,{},void 0,!0)]),p(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:_(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[v,!e.tasksEmpty]]),o(f,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:_(()=>[m(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var le=z(ie,[[`render`,ce],[`__scopeId`,`data-v-d7e69eb2`]]),ue=r({name:`PromptInput`,components:{PromptTextarea:ne},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function de(e,t,n,r,i,o){let s=g(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var fe=z(ue,[[`render`,de]]),pe=r({name:`ImageUrlsInput`,components:{ElUpload:C,ElButton:b,InfoIcon:q,ImagePreview:W,FontAwesomeIcon:H},mixins:[ee,N],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){M.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){M.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),me={class:`field flex items-center justify-between`},he={class:`title font-bold text-[14px] mb-[10px]`},ge={class:`upload-wrapper flex flex-col items-start gap-[8px]`},_e={class:`controls flex items-center`},ve={class:`file-list flex flex-wrap gap-[10px]`};function ye(r,c,l,f,p,m){let h=g(`font-awesome-icon`),v=g(`el-button`),y=g(`el-upload`),b=g(`info-icon`),x=g(`image-preview`);return d(),t(s,null,[n(`div`,me,[n(`h2`,he,u(r.$t(`nanobanana.name.imageUrls`)),1),n(`div`,ge,[n(`div`,_e,[o(y,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:_(()=>[o(v,{size:`small`,type:`primary`,round:``},{default:_(()=>[o(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),o(b,{content:r.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),n(`div`,ve,[(d(!0),t(s,null,e(r.fileList,(e,t)=>(d(),a(x,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var be=z(pe,[[`render`,ye]]),xe=r({name:`AspectRatioSelector`,components:{InfoIcon:q},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),Se={class:`ratio`},Ce={class:`header`},we={class:`title font-bold`},Te=[`aria-label`],Ee=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],De={class:`preview`},Oe={class:`name`};function ke(r,i,a,p,m,h){let _=g(`info-icon`);return d(),t(`div`,Se,[n(`div`,Ce,[n(`h2`,we,u(r.$t(`nanobanana.name.aspectRatio`)),1),o(_,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),n(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(d(!0),t(s,null,e(r.options,e=>(d(),t(`div`,{key:e.value,class:l([`item`,{active:r.value===e.value}]),role:`radio`,"aria-checked":r.value===e.value,"aria-label":e.label,tabindex:`0`,onClick:t=>r.onSelect(e.value),onKeydown:[y(f(t=>r.onSelect(e.value),[`prevent`]),[`enter`]),y(f(t=>r.onSelect(e.value),[`prevent`]),[`space`])]},[n(`div`,De,[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)]),n(`p`,Oe,u(e.label),1)],42,Ee))),128))],8,Te)])}var Ae=z(xe,[[`render`,ke],[`__scopeId`,`data-v-7131eb97`]]),je=r({name:`NanobananaModelSelector`,components:{ElSelect:x,ElOption:S,InfoIcon:q},data(){return{options:[{value:k,label:this.$t(`nanobanana.model.nanoBanana`)},{value:j,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:A,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=O}}),Me={class:`field`},Ne={class:`label`},Pe={class:`box`},Fe={class:`title font-bold`};function Ie(r,i,c,l,f,p){let m=g(`info-icon`),h=g(`el-option`),v=g(`el-select`);return d(),t(`div`,Me,[n(`div`,Ne,[n(`div`,Pe,[n(`h2`,Fe,u(r.$t(`nanobanana.name.model`)),1),o(m,{content:r.modelDescription,class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`)},{default:_(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Le=z(je,[[`render`,Ie],[`__scopeId`,`data-v-94304d73`]]),Re=r({name:`NanobananaResolutionSelector`,components:{ElSelect:x,ElOption:S,InfoIcon:q},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==k}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=`1K`),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ze={class:`field`},Be={class:`label`},Ve={class:`box`},He={class:`title font-bold`};function Ue(r,i,c,l,f,p){let m=g(`info-icon`),h=g(`el-option`),v=g(`el-select`);return d(),t(`div`,ze,[n(`div`,Be,[n(`div`,Ve,[n(`h2`,He,u(r.$t(`nanobanana.name.resolution`)),1),o(m,{content:r.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`nanobanana.placeholder.select`),disabled:!r.isProModel},{default:_(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var We=r({name:`ConfigPanel`,components:{ElButton:b,FontAwesomeIcon:H,PromptInput:fe,Consumption:K,ImageUrlsInput:be,AspectRatioSelector:Ae,ModelSelector:Le,ResolutionSelector:z(Re,[[`render`,Ue],[`__scopeId`,`data-v-fd5ab393`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return L({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ge={class:`flex flex-col h-full`},Ke={class:`flex-1 overflow-y-auto p-5`},qe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Je(e,r,a,s,c,l){let f=g(`model-selector`),p=g(`resolution-selector`),m=g(`prompt-input`),h=g(`aspect-ratio-selector`),v=g(`image-urls-input`),y=g(`consumption`),b=g(`font-awesome-icon`),x=g(`el-button`);return d(),t(`div`,Ge,[n(`div`,Ke,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(h,{class:`mb-4`}),o(v,{class:`mb-4`})]),n(`div`,qe,[o(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(x,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:_(()=>[o(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ye=z(We,[[`render`,Je]]),Xe=r({name:`TaskPreview`,components:{ElImage:T,CopyToClipboard:U,FontAwesomeIcon:H,ElAlert:E,ImageWrapper:re,ElButton:b,ElTooltip:w,ImagePreview:W,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Ze={class:`preview`},Qe={class:`left`},$e={class:`main`},et={class:`bot`},tt={class:`datetime`},nt={class:`info`},rt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},it={key:1,class:`prompt mt-2`},at={key:0},ot={key:0,class:l({content:!0,failed:!0})},st={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ct={class:l({operations:!0,"mt-2":!0,"mb-2":!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gt={key:1,class:l({content:!0})},_t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Tt={key:2,class:l({content:!0})},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function At(r,c,l,p,m,v){let y=g(`el-image`),b=g(`image-preview`),x=g(`image-wrapper`),S=g(`el-button`),C=g(`el-tooltip`),w=g(`api-code-button`),T=g(`font-awesome-icon`),E=g(`copy-to-clipboard`),D=g(`el-alert`);return d(),t(`div`,Ze,[n(`div`,Qe,[o(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),n(`div`,$e,[n(`div`,et,[i(u(r.$t(`nanobanana.name.nanobananaBot`))+` `,1),n(`span`,tt,u(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,nt,[r.modelValue?.request?.image_urls&&r.modelValue?.request?.image_urls.length>0?(d(),t(`div`,rt,[(d(!0),t(s,null,e(r.modelValue?.request?.image_urls,(e,t)=>(d(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):h(``,!0),r.modelValue?.request?.prompt?(d(),t(`p`,it,[i(u(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?h(``,!0):(d(),t(`span`,at,` - (`+u(r.$t(`nanobanana.status.pending`))+`) `,1))])):h(``,!0)]),r.modelValue?.response?.success===!0?(d(),t(`div`,ot,[n(`div`,st,[(d(!0),t(s,null,e(r.images,(e,t)=>(d(),a(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),n(`div`,ct,[o(C,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:_(()=>[o(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=f(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:_(()=>[i(u(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(w,{path:`/nano-banana/images`,body:r.modelValue?.request},null,8,[`body`])]),o(D,{closable:!1,class:`mt-2 success`},{default:_(()=>[r.modelValue?.request?.model?(d(),t(`p`,lt,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.model`))+`: `+u(r.modelValue?.request?.model),1)])):h(``,!0),r.modelValue?.request?.resolution?(d(),t(`p`,ut,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.resolution`))+`: `+u(r.modelValue?.request?.resolution),1)])):h(``,!0),r.modelValue?.request?.aspect_ratio?(d(),t(`p`,dt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.aspectRatio`))+`: `+u(r.modelValue?.request?.aspect_ratio),1)])):h(``,!0),r.modelValue?.request?.action?(d(),t(`p`,ft,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.task`))+`: `+u(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):h(``,!0),n(`p`,pt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(d(),t(`p`,mt,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):h(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,ht,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):h(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(d(),t(`div`,gt,[o(D,{closable:!1,class:`failure`},{template:_(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.failure`)),1)]),default:_(()=>[r.modelValue?.request?.model?(d(),t(`p`,_t,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.model`))+`: `+u(r.modelValue?.request?.model),1)])):h(``,!0),r.modelValue?.request?.resolution?(d(),t(`p`,vt,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.resolution`))+`: `+u(r.modelValue?.request?.resolution),1)])):h(``,!0),r.modelValue?.request?.aspect_ratio?(d(),t(`p`,yt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.aspectRatio`))+`: `+u(r.modelValue?.request?.aspect_ratio),1)])):h(``,!0),r.modelValue?.request?.action?(d(),t(`p`,bt,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.task`))+`: `+u(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):h(``,!0),n(`p`,xt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,St,[o(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.failureReason`))+`: `+u(r.modelValue?.response?.error?.message)+` `,1),o(E,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.elapsed?(d(),t(`p`,Ct,[o(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.elapsed`))+`: `+u(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):h(``,!0),r.modelValue?.response?.trace_id?(d(),t(`p`,wt,[o(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.traceId`))+`: `+u(r.modelValue?.response?.trace_id)+` `,1),o(E,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):h(``,!0)]),_:1})])):(d(),t(`div`,Tt,[o(D,{closable:!1,class:`info`},{template:_(()=>[o(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.failure`)),1)]),default:_(()=>[r.modelValue?.request?.model?(d(),t(`p`,Et,[o(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.model`))+`: `+u(r.modelValue?.request?.model),1)])):h(``,!0),r.modelValue?.request?.resolution?(d(),t(`p`,$,[o(T,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.resolution`))+`: `+u(r.modelValue?.request?.resolution),1)])):h(``,!0),r.modelValue?.request?.aspect_ratio?(d(),t(`p`,Dt,[o(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.aspectRatio`))+`: `+u(r.modelValue?.request?.aspect_ratio),1)])):h(``,!0),r.modelValue?.request?.action?(d(),t(`p`,Ot,[o(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.task`))+`: `+u(r.modelValue?.request?.action===`generate`?r.$t(`nanobanana.name.generate`):r.$t(`nanobanana.name.edits`)),1)])):h(``,!0),n(`p`,kt,[o(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(r.$t(`nanobanana.name.taskId`))+`: `+u(r.modelValue?.id)+` `,1),o(E,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var jt=r({name:`RecentPanel`,components:{TaskPreview:z(Xe,[[`render`,At],[`__scopeId`,`data-v-63f58569`]]),BotPlaceholder:Z,NoTasks:Q,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(n,r,i,c,l,u){let f=g(`bot-placeholder`),p=g(`task-preview`),m=g(`scroll-list`),v=g(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,Mt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(m,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:_(()=>[(d(!0),t(s,null,e(n.tasks?.items,e=>(d(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):h(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,Nt,[o(v)])):h(``,!0)],64)}var Ft=r({name:`NanobananaIndex`,components:{ConfigPanel:Ye,Layout:le,RecentPanel:z(jt,[[`render`,Pt]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===P.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Y({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!V(this.uploadTracker,e=>this.$t(e),e=>M.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&`image_urls`in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model===`nano-banana`&&`resolution`in e&&delete e.resolution,e?.model!==`nano-banana`&&!e?.resolution&&(e.resolution=`1K`);let n={...e,action:t?`edit`:`generate`,async:!0};if(!te())return;let r=this.credential?.token;if(!r){console.error(`no token specified`);return}M.info(this.$t(`nanobanana.message.startingTask`)),R(`nanobanana`,B.generate(n,{token:r})).then(()=>{M.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?M.error(this.$t(`nanobanana.message.usedUp`)):M.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,n,r,i,s){let c=g(`config-panel`),l=g(`recent-panel`),u=g(`layout`);return d(),a(u,null,{config:_(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:_(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=z(Ft,[[`render`,It]]);export{Lt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{t as y}from"./upload-DN7SJfVA.js";import{t as b}from"./tooltip-ivBOvVK_.js";import{t as x}from"./image-Aw_-tuqE.js";import{t as S}from"./alert-C51owb6L.js";import{t as C}from"./drawer-Aw9IMZFK.js";import{t as w}from"./switch-DcH_0cbe.js";import"./constants-DReNd4Tz.js";import{An as T,Br as E,Bt as D,Fr as O,Ht as k,Qt as A,Rr as j,Vt as ee,Wt as M,Yn as N,k as P,zt as te}from"./index-H4ViDRM1.js";import{t as F}from"./index.es-D4AbJUQk.js";import{t as I}from"./CopyToClipboard-C0OEr-tx.js";import{t as L}from"./FilePreview-C3DbL1pM.js";import{t as R}from"./ImagePreview-lHntIv5z.js";import{n as z}from"./taskDrawerMixin-DEgO_R5H.js";import{t as B}from"./Consumption-yKHMqZWT.js";import{i as V,n as H,t as U}from"./pagination-D6gBwFeI.js";import{t as W}from"./VideoPlayer-BsAuBAYA.js";import{t as G}from"./ApiCodeButton-BSib-YhW.js";import{t as K}from"./BotPlaceholder-CMoT40Pj.js";import{t as q}from"./NoTasks-BUrbQP_h.js";import{t as J}from"./PromptTextarea-4vYySO8B.js";var Y=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:F},mixins:[z]}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,X,[n(`div`,Z,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Q,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=P(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ae,[n(`div`,oe,[n(`div`,se,[n(`span`,ce,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,le,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var de=P(ie,[[`render`,ue]]),fe=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,pe,[n(`div`,me,[n(`div`,he,[n(`span`,ge,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,_e,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ye=P(fe,[[`render`,ve]]),be=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,xe,[n(`div`,Se,[n(`div`,Ce,[n(`span`,we,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,Te,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var De=P(be,[[`render`,Ee]]),Oe=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[k,D],data(){return{fileList:[],uploadUrl:j()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,ke,[n(`div`,Ae,[n(`div`,je,[n(`span`,Me,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=P(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:F},mixins:[k,D],data(){return{fileList:[],uploadUrl:j()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){E.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=P(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:V,FilePreview:L,FontAwesomeIcon:F},mixins:[D],data(){return{fileList:[],uploadUrl:j()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){E.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){E.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(E.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(E.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ue,[n(`div`,We,[n(`div`,Ge,[n(`span`,Ke,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=P(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=r({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,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=P(Ye,[[`render`,Xe]]),Qe=r({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(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,$e,[n(`div`,et,[n(`span`,tt,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=r({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:v,FontAwesomeIcon:F,PromptInput:Ze,ExtendFromInput:P(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:B},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,it,[n(`div`,at,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,ot,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=P(rt,[[`render`,st]]),lt=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:I,FontAwesomeIcon:F,ElAlert:S,VideoPlayer:W,ElTooltip:b,ElButton:v,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:c({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:c({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,ut,[n(`div`,dt,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,ft,[n(`div`,pt,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,mt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ht,[e.modelValue?.request?.prompt?(u(),t(`p`,gt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,vt,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,yt,[e.modelValue.response.video_url?(u(),t(`div`,bt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,xt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Et,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Ot,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,kt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=r({name:`RecentPanel`,components:{BotPlaceholder:K,TaskPreview:P(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(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Mt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Nt,[o(v)])):m(``,!0)],64)}var Ft=r({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:P(jt,[[`render`,Pt]])},mixins:[ee],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(!te(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){E.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!A())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}E.info(this.$t(`luma.message.startingTask`)),N(`luma`,T.generate(e,{token:t})).then(()=>{E.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`luma.message.usedUp`)):E.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function It(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=P(Ft,[[`render`,It]]);export{Lt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,M as i,N as a,O as o,P as s,S as c,Wt as l,Z as u,b as d,et as f,k as p,tt as m,ut as h,y as g}from"./vendor-chart-BJCvKk8-.js";import{t as _}from"./button-BydTr5nV.js";import{r as v,t as y}from"./select-C7K1ogiN.js";import{n as b,t as x}from"./tabs-C8Uu3TAz.js";import{t as S}from"./tooltip-ivBOvVK_.js";import{t as C}from"./image-BrD73lk_.js";import{t as w}from"./alert-C51owb6L.js";import{n as T,r as E}from"./radio-3Hz7h3DR.js";import{n as D,t as O}from"./collapse-Bnh_wTGQ.js";import{t as k}from"./drawer-Aw9IMZFK.js";import{t as ee}from"./input-number-BLsQIBHH.js";import{t as te}from"./switch-B9llgTRJ.js";import"./constants-DReNd4Tz.js";import{Kr as A,O as j,Pr as M,Ut as N,Zt as P,zr as F}from"./index-C0Net1hD.js";import{t as I}from"./index.es-JQ-yQmrv.js";import{t as L}from"./CopyToClipboard-BKHtkHty.js";import{t as R}from"./Consumption-sLZcUj9B.js";var z=r({name:`LayoutWebextrator`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:I},data(){return{drawer:!1}}}),B={class:`main flex flex-row flex-1`},V={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},H={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function U(e,r,i,a,o,c){let l=m(`font-awesome-icon`),d=m(`el-button`),p=m(`el-drawer`);return u(),t(`div`,B,[n(`div`,V,[f(e.$slots,`config`,{},void 0,!0)]),n(`div`,H,[f(e.$slots,`result`,{},void 0,!0)]),s(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:h(()=>[s(l,{icon:`fa-solid fa-sliders`})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:h(()=>[f(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var W=j(z,[[`render`,U],[`__scopeId`,`data-v-7b1cd8ae`]]),G=r({name:`ModeSelector`,components:{ElRadioGroup:E,ElRadioButton:T,FontAwesomeIcon:I},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),K={class:`field`},q={class:`title font-bold`};function J(e,r,i,o,c,d){let f=m(`font-awesome-icon`),p=m(`el-radio-button`),g=m(`el-radio-group`);return u(),t(`div`,K,[n(`h2`,q,l(e.$t(`webextrator.name.mode`)),1),s(g,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value w-full`},{default:h(()=>[s(p,{label:`extract`,value:`extract`},{default:h(()=>[s(f,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),a(` `+l(e.$t(`webextrator.mode.extract`)),1)]),_:1}),s(p,{label:`render`,value:`render`},{default:h(()=>[s(f,{icon:`fa-solid fa-globe`,class:`mr-1`}),a(` `+l(e.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var Y=j(G,[[`render`,J],[`__scopeId`,`data-v-31e6c11d`]]),X=r({name:`UrlInput`,components:{ElInput:A},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),Z={class:`field`},Q={class:`title font-bold`};function ne(e,r,i,a,o,c){let f=m(`el-input`);return u(),t(`div`,Z,[n(`h2`,Q,l(e.$t(`webextrator.name.url`)),1),s(f,{modelValue:e.url,"onUpdate:modelValue":r[0]||=t=>e.url=t,type:`textarea`,rows:2,class:`prompt`,placeholder:e.$t(`webextrator.placeholder.url`),onKeydown:g(d(e.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var re=j(X,[[`render`,ne],[`__scopeId`,`data-v-18488009`]]),ie=r({name:`ExpectedTypeSelector`,components:{ElSelect:v,ElOption:y},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ae={class:`field`},oe={class:`title font-bold`};function se(e,r,i,a,o,c){let d=m(`el-option`),f=m(`el-select`);return u(),t(`div`,ae,[n(`h2`,oe,l(e.$t(`webextrator.name.expectedType`)),1),s(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},{default:h(()=>[s(d,{value:`general`,label:e.$t(`webextrator.expectedType.general`)},null,8,[`label`]),s(d,{value:`article`,label:e.$t(`webextrator.expectedType.article`)},null,8,[`label`]),s(d,{value:`product`,label:e.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ce=j(ie,[[`render`,se],[`__scopeId`,`data-v-3b572c49`]]),le=r({name:`LlmToggle`,components:{ElSwitch:te,ElTooltip:S,FontAwesomeIcon:I},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),ue={class:`field`},de={class:`title font-bold`};function fe(e,r,i,o,c,d){let f=m(`font-awesome-icon`),p=m(`el-tooltip`),g=m(`el-switch`);return u(),t(`div`,ue,[n(`h2`,de,[a(l(e.$t(`webextrator.name.enableLlm`))+` `,1),s(p,{effect:`dark`,content:e.$t(`webextrator.description.enableLlm`),placement:`top`},{default:h(()=>[s(f,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),s(g,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var pe=j(le,[[`render`,fe],[`__scopeId`,`data-v-32fa7c89`]]),me=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],he=r({name:`AdvancedOptions`,components:{ElCollapse:O,ElCollapseItem:D,ElInput:A,ElInputNumber:ee,ElSelect:v,ElOption:y},data(){return{active:[]}},computed:{resourceKinds(){return me},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),ge={class:`field`},_e={class:`sub-title`},ve={class:`field`},ye={class:`sub-title`},be={class:`field`},xe={class:`sub-title`},Se={class:`field`},Ce={class:`sub-title`},we={class:`field`},Te={class:`sub-title`};function Ee(r,i,a,d,f,p){let g=m(`el-option`),_=m(`el-select`),v=m(`el-input`),y=m(`el-input-number`),b=m(`el-collapse-item`),x=m(`el-collapse`);return u(),o(x,{modelValue:r.active,"onUpdate:modelValue":i[5]||=e=>r.active=e,class:`advanced`},{default:h(()=>[s(b,{title:r.$t(`webextrator.name.advanced`),name:`advanced`},{default:h(()=>[n(`div`,ge,[n(`h2`,_e,l(r.$t(`webextrator.name.waitUntil`)),1),s(_,{modelValue:r.waitUntil,"onUpdate:modelValue":i[0]||=e=>r.waitUntil=e,class:`value`},{default:h(()=>[s(g,{value:`networkidle`,label:r.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),s(g,{value:`load`,label:r.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),s(g,{value:`domcontentloaded`,label:r.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),s(g,{value:`commit`,label:r.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),n(`div`,ve,[n(`h2`,ye,l(r.$t(`webextrator.name.waitForSelector`)),1),s(v,{modelValue:r.waitForSelector,"onUpdate:modelValue":i[1]||=e=>r.waitForSelector=e,placeholder:r.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),n(`div`,be,[n(`h2`,xe,l(r.$t(`webextrator.name.timeout`)),1),s(y,{modelValue:r.timeout,"onUpdate:modelValue":i[2]||=e=>r.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,Se,[n(`h2`,Ce,l(r.$t(`webextrator.name.delay`)),1),s(y,{modelValue:r.delay,"onUpdate:modelValue":i[3]||=e=>r.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,we,[n(`h2`,Te,l(r.$t(`webextrator.name.blockResources`)),1),s(_,{modelValue:r.blockResources,"onUpdate:modelValue":i[4]||=e=>r.blockResources=e,multiple:``,"collapse-tags":``,placeholder:r.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:h(()=>[(u(!0),t(c,null,e(r.resourceKinds,e=>(u(),o(g,{key:e,label:r.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var De=r({name:`WebextratorConfigPanel`,components:{ElButton:_,FontAwesomeIcon:I,ModeSelector:Y,UrlInput:re,ExpectedTypeSelector:ce,LlmToggle:pe,AdvancedOptions:j(he,[[`render`,Ee],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:R},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return N(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===M.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Oe={class:`flex flex-col h-full`},ke={class:`flex-1 overflow-y-auto p-5`},Ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function je(e,r,i,o,d,f){let g=m(`mode-selector`),_=m(`url-input`),v=m(`expected-type-selector`),y=m(`llm-toggle`),b=m(`advanced-options`),x=m(`consumption`),S=m(`font-awesome-icon`),C=m(`el-button`);return u(),t(`div`,Oe,[n(`div`,ke,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`,onSubmit:e.onRun},null,8,[`onSubmit`]),e.isExtract?(u(),t(c,{key:0},[s(v,{class:`mb-4`}),s(y,{class:`mb-4`})],64)):p(``,!0),s(b,{class:`mb-4`})]),n(`div`,Ae,[s(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`w-full`,round:``,loading:e.running,disabled:!e.canRun,onClick:e.onRun},{default:h(()=>[s(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),a(` `+l(e.$t(e.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var Me=j(De,[[`render`,je]]),Ne=e=>!!e&&e.kind!==`render`,Pe=r({name:`WebextratorResultPanel`,components:{ElAlert:w,ElImage:C,ElTabs:b,ElTabPane:x,FontAwesomeIcon:I,CopyToClipboard:L},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===M.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ne(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
|
-
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Fe={class:`h-full overflow-y-auto p-6`},Ie={key:0,class:`max-w-4xl mx-auto py-4`},Le={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Re={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},ze={class:`text-base mb-1`},Be={class:`text-xs opacity-70`},Ve={key:2,class:`max-w-4xl mx-auto py-4`},He={class:`text-xs whitespace-pre-wrap break-words`},Ue={key:3,class:`max-w-4xl mx-auto`},We={class:`mb-4`},Ge={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},Ke={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},qe=[`href`],Je={key:1},Ye={key:2},Xe={key:3},Ze={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},Qe={key:0,class:`mb-5`},$e={class:`tab-toolbar`},et={class:`content-block`},tt={class:`tab-toolbar`},$={class:`content-block`},nt={class:`tab-toolbar`},rt={class:`content-block code`},it={class:`tab-toolbar`},at={class:`links-list`},ot=[`href`],st={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},ct={class:`tab-toolbar`},lt={class:`content-block code`},ut={class:`tab-toolbar`},dt={class:`content-block code`};function ft(r,d,f,g,_,v){let y=m(`font-awesome-icon`),b=m(`el-alert`),x=m(`el-image`),S=m(`copy-to-clipboard`),C=m(`el-tab-pane`),w=m(`el-tabs`);return u(),t(`div`,Fe,[r.running?(u(),t(`div`,Ie,[n(`div`,Le,[s(y,{icon:`fa-solid fa-circle-notch`,spin:``}),n(`span`,null,l(r.$t(`webextrator.message.running`)),1)]),d[1]||=i(`<div class="mb-6 animate-pulse" data-v-b05b4db0><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-b05b4db0></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-b05b4db0></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-b05b4db0></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-b05b4db0></div></div>`,1)])):!r.response&&!r.errorMessage?(u(),t(`div`,Re,[s(y,{icon:`fa-solid fa-globe`,class:`text-6xl mb-4 opacity-30`}),n(`p`,ze,l(r.$t(`webextrator.description.intro`)),1),n(`p`,Be,l(r.$t(`webextrator.description.introHint`)),1)])):r.errorMessage?(u(),t(`div`,Ve,[s(b,{type:`error`,closable:!1,"show-icon":``,title:r.$t(`webextrator.message.failed`)},{default:h(()=>[n(`pre`,He,l(r.errorMessage),1)]),_:1},8,[`title`])])):r.data?(u(),t(`div`,Ue,[n(`header`,We,[n(`h1`,Ge,l(r.data.title||r.$t(`webextrator.message.untitled`)),1),n(`div`,Ke,[r.finalUrl?(u(),t(`a`,{key:0,href:r.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[s(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),a(l(r.finalUrl),1)],8,qe)):p(``,!0),r.renderData?.status?(u(),t(`span`,Je,[s(y,{icon:`fa-solid fa-signal`,class:`mr-1`}),a(l(r.renderData.status),1)])):p(``,!0),r.response?.elapsed?(u(),t(`span`,Ye,[s(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(l(r.response.elapsed.toFixed(2))+`s `,1)])):p(``,!0),r.contentTypeLabel?(u(),t(`span`,Xe,[s(y,{icon:`fa-solid fa-tag`,class:`mr-1`}),a(l(r.contentTypeLabel),1)])):p(``,!0)]),r.extractData?.description?(u(),t(`p`,Ze,l(r.extractData.description),1)):p(``,!0)]),r.screenshotSrc?(u(),t(`figure`,Qe,[s(x,{src:r.screenshotSrc,fit:`contain`,"preview-src-list":[r.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):p(``,!0),s(w,{modelValue:r.activeTab,"onUpdate:modelValue":d[0]||=e=>r.activeTab=e,class:`result-tabs`},{default:h(()=>[r.markdown?(u(),o(C,{key:0,label:r.$t(`webextrator.tab.markdown`),name:`markdown`},{default:h(()=>[n(`div`,$e,[s(S,{content:r.markdown},null,8,[`content`])]),n(`pre`,et,l(r.markdown),1)]),_:1},8,[`label`])):p(``,!0),r.plainText?(u(),o(C,{key:1,label:r.$t(`webextrator.tab.text`),name:`text`},{default:h(()=>[n(`div`,tt,[s(S,{content:r.plainText},null,8,[`content`])]),n(`pre`,$,l(r.plainText),1)]),_:1},8,[`label`])):p(``,!0),r.extractData?.structured?(u(),o(C,{key:2,label:r.$t(`webextrator.tab.structured`),name:`structured`},{default:h(()=>[n(`div`,nt,[s(S,{content:r.structuredPretty},null,8,[`content`])]),n(`pre`,rt,l(r.structuredPretty),1)]),_:1},8,[`label`])):p(``,!0),r.links.length?(u(),o(C,{key:3,label:`${r.$t(`webextrator.tab.links`)} (${r.links.length})`,name:`links`},{default:h(()=>[n(`div`,it,[s(S,{content:r.linksPlain},null,8,[`content`])]),n(`ul`,at,[(u(!0),t(c,null,e(r.links,(e,r)=>(u(),t(`li`,{key:r,class:`truncate`},[n(`a`,{href:e,target:`_blank`,rel:`noopener`},l(e),9,ot)]))),128))])]),_:1},8,[`label`])):p(``,!0),r.images.length?(u(),o(C,{key:4,label:`${r.$t(`webextrator.tab.images`)} (${r.images.length})`,name:`images`},{default:h(()=>[n(`div`,st,[(u(!0),t(c,null,e(r.images,(e,t)=>(u(),o(x,{key:t,src:e,fit:`cover`,loading:`lazy`,"preview-src-list":r.images,"initial-index":t,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):p(``,!0),r.html?(u(),o(C,{key:5,label:r.$t(`webextrator.tab.html`),name:`html`},{default:h(()=>[n(`div`,ct,[s(S,{content:r.html},null,8,[`content`])]),n(`pre`,lt,l(r.html),1)]),_:1},8,[`label`])):p(``,!0),s(C,{label:r.$t(`webextrator.tab.raw`),name:`raw`},{default:h(()=>[n(`div`,ut,[s(S,{content:r.rawPretty},null,8,[`content`])]),n(`pre`,dt,l(r.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):p(``,!0)])}var pt=r({name:`WebextratorIndex`,components:{Layout:W,ConfigPanel:Me,ResultPanel:
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,M as i,N as a,O as o,P as s,S as c,Wt as l,Z as u,b as d,et as f,k as p,tt as m,ut as h,y as g}from"./vendor-chart-BJCvKk8-.js";import{t as _}from"./button-BydTr5nV.js";import{r as v,t as y}from"./select-B2VreL7x.js";import{n as b,t as x}from"./tabs-Bfxviyzr.js";import{t as S}from"./tooltip-ivBOvVK_.js";import{t as C}from"./image-Aw_-tuqE.js";import{t as w}from"./alert-C51owb6L.js";import{n as T,r as E}from"./radio-3Hz7h3DR.js";import{n as D,t as O}from"./collapse-DD70EM4-.js";import{t as k}from"./drawer-Aw9IMZFK.js";import{t as ee}from"./input-number-DG7-t3x6.js";import{t as te}from"./switch-DcH_0cbe.js";import"./constants-DReNd4Tz.js";import{Br as A,Fr as j,Qt as M,Wt as N,k as P,qr as F}from"./index-H4ViDRM1.js";import{t as I}from"./index.es-D4AbJUQk.js";import{t as L}from"./CopyToClipboard-C0OEr-tx.js";import{t as R}from"./Consumption-yKHMqZWT.js";var z=r({name:`LayoutWebextrator`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:I},data(){return{drawer:!1}}}),B={class:`main flex flex-row flex-1`},V={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},H={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function U(e,r,i,a,o,c){let l=m(`font-awesome-icon`),d=m(`el-button`),p=m(`el-drawer`);return u(),t(`div`,B,[n(`div`,V,[f(e.$slots,`config`,{},void 0,!0)]),n(`div`,H,[f(e.$slots,`result`,{},void 0,!0)]),s(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:h(()=>[s(l,{icon:`fa-solid fa-sliders`})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:h(()=>[f(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var W=P(z,[[`render`,U],[`__scopeId`,`data-v-7b1cd8ae`]]),G=r({name:`ModeSelector`,components:{ElRadioGroup:E,ElRadioButton:T,FontAwesomeIcon:I},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),K={class:`field`},q={class:`title font-bold`};function J(e,r,i,o,c,d){let f=m(`font-awesome-icon`),p=m(`el-radio-button`),g=m(`el-radio-group`);return u(),t(`div`,K,[n(`h2`,q,l(e.$t(`webextrator.name.mode`)),1),s(g,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value w-full`},{default:h(()=>[s(p,{label:`extract`,value:`extract`},{default:h(()=>[s(f,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),a(` `+l(e.$t(`webextrator.mode.extract`)),1)]),_:1}),s(p,{label:`render`,value:`render`},{default:h(()=>[s(f,{icon:`fa-solid fa-globe`,class:`mr-1`}),a(` `+l(e.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var Y=P(G,[[`render`,J],[`__scopeId`,`data-v-31e6c11d`]]),X=r({name:`UrlInput`,components:{ElInput:F},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),Z={class:`field`},Q={class:`title font-bold`};function ne(e,r,i,a,o,c){let f=m(`el-input`);return u(),t(`div`,Z,[n(`h2`,Q,l(e.$t(`webextrator.name.url`)),1),s(f,{modelValue:e.url,"onUpdate:modelValue":r[0]||=t=>e.url=t,type:`textarea`,rows:2,class:`prompt`,placeholder:e.$t(`webextrator.placeholder.url`),onKeydown:g(d(e.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var re=P(X,[[`render`,ne],[`__scopeId`,`data-v-18488009`]]),ie=r({name:`ExpectedTypeSelector`,components:{ElSelect:v,ElOption:y},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ae={class:`field`},oe={class:`title font-bold`};function se(e,r,i,a,o,c){let d=m(`el-option`),f=m(`el-select`);return u(),t(`div`,ae,[n(`h2`,oe,l(e.$t(`webextrator.name.expectedType`)),1),s(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},{default:h(()=>[s(d,{value:`general`,label:e.$t(`webextrator.expectedType.general`)},null,8,[`label`]),s(d,{value:`article`,label:e.$t(`webextrator.expectedType.article`)},null,8,[`label`]),s(d,{value:`product`,label:e.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ce=P(ie,[[`render`,se],[`__scopeId`,`data-v-3b572c49`]]),le=r({name:`LlmToggle`,components:{ElSwitch:te,ElTooltip:S,FontAwesomeIcon:I},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),ue={class:`field`},de={class:`title font-bold`};function fe(e,r,i,o,c,d){let f=m(`font-awesome-icon`),p=m(`el-tooltip`),g=m(`el-switch`);return u(),t(`div`,ue,[n(`h2`,de,[a(l(e.$t(`webextrator.name.enableLlm`))+` `,1),s(p,{effect:`dark`,content:e.$t(`webextrator.description.enableLlm`),placement:`top`},{default:h(()=>[s(f,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),s(g,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var pe=P(le,[[`render`,fe],[`__scopeId`,`data-v-32fa7c89`]]),me=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],he=r({name:`AdvancedOptions`,components:{ElCollapse:O,ElCollapseItem:D,ElInput:F,ElInputNumber:ee,ElSelect:v,ElOption:y},data(){return{active:[]}},computed:{resourceKinds(){return me},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),ge={class:`field`},_e={class:`sub-title`},ve={class:`field`},ye={class:`sub-title`},be={class:`field`},xe={class:`sub-title`},Se={class:`field`},Ce={class:`sub-title`},we={class:`field`},Te={class:`sub-title`};function Ee(r,i,a,d,f,p){let g=m(`el-option`),_=m(`el-select`),v=m(`el-input`),y=m(`el-input-number`),b=m(`el-collapse-item`),x=m(`el-collapse`);return u(),o(x,{modelValue:r.active,"onUpdate:modelValue":i[5]||=e=>r.active=e,class:`advanced`},{default:h(()=>[s(b,{title:r.$t(`webextrator.name.advanced`),name:`advanced`},{default:h(()=>[n(`div`,ge,[n(`h2`,_e,l(r.$t(`webextrator.name.waitUntil`)),1),s(_,{modelValue:r.waitUntil,"onUpdate:modelValue":i[0]||=e=>r.waitUntil=e,class:`value`},{default:h(()=>[s(g,{value:`networkidle`,label:r.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),s(g,{value:`load`,label:r.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),s(g,{value:`domcontentloaded`,label:r.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),s(g,{value:`commit`,label:r.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),n(`div`,ve,[n(`h2`,ye,l(r.$t(`webextrator.name.waitForSelector`)),1),s(v,{modelValue:r.waitForSelector,"onUpdate:modelValue":i[1]||=e=>r.waitForSelector=e,placeholder:r.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),n(`div`,be,[n(`h2`,xe,l(r.$t(`webextrator.name.timeout`)),1),s(y,{modelValue:r.timeout,"onUpdate:modelValue":i[2]||=e=>r.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,Se,[n(`h2`,Ce,l(r.$t(`webextrator.name.delay`)),1),s(y,{modelValue:r.delay,"onUpdate:modelValue":i[3]||=e=>r.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,we,[n(`h2`,Te,l(r.$t(`webextrator.name.blockResources`)),1),s(_,{modelValue:r.blockResources,"onUpdate:modelValue":i[4]||=e=>r.blockResources=e,multiple:``,"collapse-tags":``,placeholder:r.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:h(()=>[(u(!0),t(c,null,e(r.resourceKinds,e=>(u(),o(g,{key:e,label:r.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var De=r({name:`WebextratorConfigPanel`,components:{ElButton:_,FontAwesomeIcon:I,ModeSelector:Y,UrlInput:re,ExpectedTypeSelector:ce,LlmToggle:pe,AdvancedOptions:P(he,[[`render`,Ee],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:R},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return N(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===j.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Oe={class:`flex flex-col h-full`},ke={class:`flex-1 overflow-y-auto p-5`},Ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function je(e,r,i,o,d,f){let g=m(`mode-selector`),_=m(`url-input`),v=m(`expected-type-selector`),y=m(`llm-toggle`),b=m(`advanced-options`),x=m(`consumption`),S=m(`font-awesome-icon`),C=m(`el-button`);return u(),t(`div`,Oe,[n(`div`,ke,[s(g,{class:`mb-4`}),s(_,{class:`mb-4`,onSubmit:e.onRun},null,8,[`onSubmit`]),e.isExtract?(u(),t(c,{key:0},[s(v,{class:`mb-4`}),s(y,{class:`mb-4`})],64)):p(``,!0),s(b,{class:`mb-4`})]),n(`div`,Ae,[s(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),s(C,{type:`primary`,class:`w-full`,round:``,loading:e.running,disabled:!e.canRun,onClick:e.onRun},{default:h(()=>[s(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),a(` `+l(e.$t(e.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var Me=P(De,[[`render`,je]]),Ne=e=>!!e&&e.kind!==`render`,Pe=r({name:`WebextratorResultPanel`,components:{ElAlert:w,ElImage:C,ElTabs:b,ElTabPane:x,FontAwesomeIcon:I,CopyToClipboard:L},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===j.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ne(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
|
+
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Fe={class:`h-full overflow-y-auto p-6`},Ie={key:0,class:`max-w-4xl mx-auto py-4`},Le={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Re={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},ze={class:`text-base mb-1`},Be={class:`text-xs opacity-70`},Ve={key:2,class:`max-w-4xl mx-auto py-4`},He={class:`text-xs whitespace-pre-wrap break-words`},Ue={key:3,class:`max-w-4xl mx-auto`},We={class:`mb-4`},Ge={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},Ke={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},qe=[`href`],Je={key:1},Ye={key:2},Xe={key:3},Ze={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},Qe={key:0,class:`mb-5`},$e={class:`tab-toolbar`},et={class:`content-block`},tt={class:`tab-toolbar`},$={class:`content-block`},nt={class:`tab-toolbar`},rt={class:`content-block code`},it={class:`tab-toolbar`},at={class:`links-list`},ot=[`href`],st={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},ct={class:`tab-toolbar`},lt={class:`content-block code`},ut={class:`tab-toolbar`},dt={class:`content-block code`};function ft(r,d,f,g,_,v){let y=m(`font-awesome-icon`),b=m(`el-alert`),x=m(`el-image`),S=m(`copy-to-clipboard`),C=m(`el-tab-pane`),w=m(`el-tabs`);return u(),t(`div`,Fe,[r.running?(u(),t(`div`,Ie,[n(`div`,Le,[s(y,{icon:`fa-solid fa-circle-notch`,spin:``}),n(`span`,null,l(r.$t(`webextrator.message.running`)),1)]),d[1]||=i(`<div class="mb-6 animate-pulse" data-v-b05b4db0><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-b05b4db0></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-b05b4db0></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-b05b4db0></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-b05b4db0></div></div>`,1)])):!r.response&&!r.errorMessage?(u(),t(`div`,Re,[s(y,{icon:`fa-solid fa-globe`,class:`text-6xl mb-4 opacity-30`}),n(`p`,ze,l(r.$t(`webextrator.description.intro`)),1),n(`p`,Be,l(r.$t(`webextrator.description.introHint`)),1)])):r.errorMessage?(u(),t(`div`,Ve,[s(b,{type:`error`,closable:!1,"show-icon":``,title:r.$t(`webextrator.message.failed`)},{default:h(()=>[n(`pre`,He,l(r.errorMessage),1)]),_:1},8,[`title`])])):r.data?(u(),t(`div`,Ue,[n(`header`,We,[n(`h1`,Ge,l(r.data.title||r.$t(`webextrator.message.untitled`)),1),n(`div`,Ke,[r.finalUrl?(u(),t(`a`,{key:0,href:r.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[s(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),a(l(r.finalUrl),1)],8,qe)):p(``,!0),r.renderData?.status?(u(),t(`span`,Je,[s(y,{icon:`fa-solid fa-signal`,class:`mr-1`}),a(l(r.renderData.status),1)])):p(``,!0),r.response?.elapsed?(u(),t(`span`,Ye,[s(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(l(r.response.elapsed.toFixed(2))+`s `,1)])):p(``,!0),r.contentTypeLabel?(u(),t(`span`,Xe,[s(y,{icon:`fa-solid fa-tag`,class:`mr-1`}),a(l(r.contentTypeLabel),1)])):p(``,!0)]),r.extractData?.description?(u(),t(`p`,Ze,l(r.extractData.description),1)):p(``,!0)]),r.screenshotSrc?(u(),t(`figure`,Qe,[s(x,{src:r.screenshotSrc,fit:`contain`,"preview-src-list":[r.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):p(``,!0),s(w,{modelValue:r.activeTab,"onUpdate:modelValue":d[0]||=e=>r.activeTab=e,class:`result-tabs`},{default:h(()=>[r.markdown?(u(),o(C,{key:0,label:r.$t(`webextrator.tab.markdown`),name:`markdown`},{default:h(()=>[n(`div`,$e,[s(S,{content:r.markdown},null,8,[`content`])]),n(`pre`,et,l(r.markdown),1)]),_:1},8,[`label`])):p(``,!0),r.plainText?(u(),o(C,{key:1,label:r.$t(`webextrator.tab.text`),name:`text`},{default:h(()=>[n(`div`,tt,[s(S,{content:r.plainText},null,8,[`content`])]),n(`pre`,$,l(r.plainText),1)]),_:1},8,[`label`])):p(``,!0),r.extractData?.structured?(u(),o(C,{key:2,label:r.$t(`webextrator.tab.structured`),name:`structured`},{default:h(()=>[n(`div`,nt,[s(S,{content:r.structuredPretty},null,8,[`content`])]),n(`pre`,rt,l(r.structuredPretty),1)]),_:1},8,[`label`])):p(``,!0),r.links.length?(u(),o(C,{key:3,label:`${r.$t(`webextrator.tab.links`)} (${r.links.length})`,name:`links`},{default:h(()=>[n(`div`,it,[s(S,{content:r.linksPlain},null,8,[`content`])]),n(`ul`,at,[(u(!0),t(c,null,e(r.links,(e,r)=>(u(),t(`li`,{key:r,class:`truncate`},[n(`a`,{href:e,target:`_blank`,rel:`noopener`},l(e),9,ot)]))),128))])]),_:1},8,[`label`])):p(``,!0),r.images.length?(u(),o(C,{key:4,label:`${r.$t(`webextrator.tab.images`)} (${r.images.length})`,name:`images`},{default:h(()=>[n(`div`,st,[(u(!0),t(c,null,e(r.images,(e,t)=>(u(),o(x,{key:t,src:e,fit:`cover`,loading:`lazy`,"preview-src-list":r.images,"initial-index":t,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):p(``,!0),r.html?(u(),o(C,{key:5,label:r.$t(`webextrator.tab.html`),name:`html`},{default:h(()=>[n(`div`,ct,[s(S,{content:r.html},null,8,[`content`])]),n(`pre`,lt,l(r.html),1)]),_:1},8,[`label`])):p(``,!0),s(C,{label:r.$t(`webextrator.tab.raw`),name:`raw`},{default:h(()=>[n(`div`,ut,[s(S,{content:r.rawPretty},null,8,[`content`])]),n(`pre`,dt,l(r.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):p(``,!0)])}var pt=r({name:`WebextratorIndex`,components:{Layout:W,ConfigPanel:Me,ResultPanel:P(Pe,[[`render`,ft],[`__scopeId`,`data-v-b05b4db0`]])},inject:[`initialized`],async mounted(){await this.$store.dispatch(`webextrator/getService`)},methods:{async onRun(){if(!M())return;let e=this.$store.state.webextrator?.config;if(!e?.url)return;let t=(e.mode||`extract`)===`extract`;A.info(this.$t(t?`webextrator.message.extracting`:`webextrator.message.rendering`));try{await this.$store.dispatch(`webextrator/run`),A.success(this.$t(`webextrator.message.success`))}catch(e){let t=e?.response?.data?.error?.code||e?.response?.data?.code;t===`used_up`?A.error(this.$t(`webextrator.message.usedUp`)):t===`too_many_requests`?A.error(this.$t(`webextrator.message.busy`)):t===`timeout`?A.error(this.$t(`webextrator.message.timeout`)):t===`antibot_blocked`?A.error(this.$t(`webextrator.message.antibotBlocked`)):A.error(this.$t(`webextrator.message.failed`))}}}});function mt(e,t,n,r,i,a){let c=m(`config-panel`),l=m(`result-panel`),d=m(`layout`);return u(),o(d,null,{config:h(()=>[s(c,{onRun:e.onRun},null,8,[`onRun`])]),result:h(()=>[s(l)]),_:1})}var ht=P(pt,[[`render`,mt]]);export{ht as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{n as y,r as b,t as x}from"./select-B2VreL7x.js";import{t as S}from"./upload-DN7SJfVA.js";import{t as C}from"./tooltip-ivBOvVK_.js";import{t as w}from"./image-Aw_-tuqE.js";import{t as T}from"./alert-C51owb6L.js";import{t as E}from"./drawer-Aw9IMZFK.js";import{t as D}from"./input-number-DG7-t3x6.js";import{t as ee}from"./switch-DcH_0cbe.js";import{_n as te,bn as O,fn as k,gn as A,hn as j,ln as ne,mn as M,pn as N,un as P,vn as F,xn as I}from"./constants-DReNd4Tz.js";import{Br as L,Bt as re,Fr as R,Ht as ie,Qt as z,Rr as B,Vt as V,Wt as H,Yn as U,fn as W,k as G,zr as K,zt as q}from"./index-H4ViDRM1.js";import{t as J}from"./index.es-D4AbJUQk.js";import{t as Y}from"./CopyToClipboard-C0OEr-tx.js";import{t as X}from"./ImagePreview-lHntIv5z.js";import{n as ae}from"./taskDrawerMixin-DEgO_R5H.js";import{t as oe}from"./Consumption-yKHMqZWT.js";import{i as Z,n as se,t as ce}from"./pagination-D6gBwFeI.js";import{t as le}from"./ApiCodeButton-BSib-YhW.js";import{t as ue}from"./BotPlaceholder-CMoT40Pj.js";import{t as de}from"./NoTasks-BUrbQP_h.js";import{t as fe}from"./PromptTextarea-4vYySO8B.js";import{t as pe}from"./ImageWrapper-CuTs3Qrq.js";var me=r({name:`LayoutSeedream`,components:{ElDrawer:E,ElButton:v,FontAwesomeIcon:J},mixins:[ae]}),he={class:`main flex flex-row flex-1`},ge={class:`config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},_e={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function ve(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,he,[n(`div`,ge,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,_e,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ye=G(me,[[`render`,ve],[`__scopeId`,`data-v-2a1715d6`]]),be=r({name:`SeedreamPromptInput`,components:{PromptTextarea:fe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Se=G(be,[[`render`,xe]]),Ce={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case j:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case M:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case N:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case k:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:P[k],outputFormat:!1,tools:!1};case A:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:P[A],outputFormat:!1,tools:!1};default:return Ce}}var we=[`1K`,`2K`,`3K`,`4K`];function Te(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(we.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Ee(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var De=r({name:`SeedreamImageInput`,components:{ElUpload:S,ElButton:v,InfoIcon:Z,ImagePreview:X,FontAwesomeIcon:J},mixins:[ie,re],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){L.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){L.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Oe={key:0},ke={class:`field`},Ae={class:`label`},je={class:`box`},Me={class:`title font-bold`},Ne={class:`value`},Pe={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Fe(r,c,d,f,p,_){let v=h(`info-icon`),y=h(`font-awesome-icon`),b=h(`el-button`),x=h(`el-upload`),S=h(`image-preview`);return r.supported?(u(),t(`div`,Oe,[n(`div`,ke,[n(`div`,Ae,[n(`div`,je,[n(`h2`,Me,l(r.$t(`seedream.name.imageUrls`)),1),o(v,{content:r.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),n(`div`,Ne,[o(x,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":c[0]||=e=>r.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:r.uploadUrl,"on-exceed":r.onExceed,"on-error":r.onError,"on-success":r.onSuccess,"on-change":r.onChange,"on-remove":r.onRemove,headers:r.headers},{default:g(()=>[o(b,{size:`small`,type:`primary`,round:``},{default:g(()=>[o(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(r.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),n(`div`,Pe,[(u(!0),t(s,null,e(r.fileList,(e,t)=>(u(),a(S,{key:e.uid||e?.response?.file_url||e.url||t,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>r.onRemovePreview(t,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):m(``,!0)}var Ie=G(De,[[`render`,Fe],[`__scopeId`,`data-v-6ef4c2e4`]]),Le=r({name:`SeedreamModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:Z},data(){return{revertKey:0,options:[{value:j,label:this.$t(`seedream.model.seedream50`)},{value:M,label:this.$t(`seedream.model.seedream45`)},{value:N,label:this.$t(`seedream.model.seedream40`)},{value:k,label:this.$t(`seedream.model.seedream30t2i`)},{value:A,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(ne)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Te(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await K.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Ee({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),L.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`};function He(r,i,c,d,f,p){let m=h(`info-icon`),_=h(`el-option`),v=h(`el-select`);return u(),t(`div`,Re,[n(`div`,ze,[n(`div`,Be,[n(`h2`,Ve,l(r.$t(`seedream.name.model`)),1),o(m,{content:r.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(u(),a(v,{key:r.revertKey,"model-value":r.value,class:`value`,placeholder:r.$t(`seedream.placeholder.select`),onChange:r.onChange},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Ue=G(Le,[[`render`,He],[`__scopeId`,`data-v-8892a12c`]]),We=r({name:`SeedreamSizeSelector`,components:{ElSelect:b,ElOption:x,ElOptionGroup:y,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:O,pixelOptions:F}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(r,i,c,d,f,p){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-option-group`),b=h(`el-select`);return u(),t(`div`,Ge,[n(`div`,Ke,[n(`div`,qe,[n(`h2`,Je,l(r.$t(`seedream.name.size`)),1),o(_,{content:r.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),o(b,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:g(()=>[r.capabilities.sizeTiers.length?(u(),a(y,{key:0,label:r.$t(`seedream.size.group.tier`)},{default:g(()=>[(u(!0),t(s,null,e(r.capabilities.sizeTiers,e=>(u(),a(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):m(``,!0),r.capabilities.sizeAdaptive?(u(),a(y,{key:1,label:r.$t(`seedream.size.group.adaptive`)},{default:g(()=>[(u(),a(v,{key:r.SEEDREAM_SIZE_ADAPTIVE,label:r.$t(`seedream.size.adaptive`),value:r.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):m(``,!0),o(y,{label:r.$t(`seedream.size.group.pixel`)},{default:g(()=>[(u(!0),t(s,null,e(r.pixelOptions,e=>(u(),a(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=G(We,[[`render`,Ye],[`__scopeId`,`data-v-dd7bd021`]]),Ze=r({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:D,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),Qe={key:0,class:`field`},$e={class:`label`},et={class:`box`},tt={class:`title font-bold`},nt={class:`value`};function rt(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-input-number`);return e.supported?(u(),t(`div`,Qe,[n(`div`,$e,[n(`div`,et,[n(`h2`,tt,l(e.$t(`seedream.name.maxImages`)),1),o(d,{content:e.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),n(`div`,nt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:1,max:e.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):m(``,!0)}var it=G(Ze,[[`render`,rt],[`__scopeId`,`data-v-f079fd20`]]),at=r({name:`SeedreamOutputFormatSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:Z},data(){return{options:[...te]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),ot={key:0,class:`field`},st={class:`label`},ct={class:`box`},lt={class:`title font-bold`};function ut(r,i,c,d,f,p){let _=h(`info-icon`),v=h(`el-option`),y=h(`el-select`);return r.supported?(u(),t(`div`,ot,[n(`div`,st,[n(`div`,ct,[n(`h2`,lt,l(r.$t(`seedream.name.outputFormat`)),1),o(_,{content:r.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),o(y,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`seedream.placeholder.select`)},{default:g(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):m(``,!0)}var dt=G(at,[[`render`,ut],[`__scopeId`,`data-v-69ea4c07`]]),ft=r({name:`SeedreamSeedInput`,components:{ElInputNumber:D,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),pt={key:0,class:`field`},mt={class:`label`},ht={class:`box`},gt={class:`title font-bold`},_t={class:`value`};function vt(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-input-number`);return e.supported?(u(),t(`div`,pt,[n(`div`,mt,[n(`div`,ht,[n(`h2`,gt,l(e.$t(`seedream.name.seed`)),1),o(d,{content:e.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),n(`div`,_t,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var yt=G(ft,[[`render`,vt],[`__scopeId`,`data-v-10cdc1e0`]]),bt=r({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:D,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),xt={key:0,class:`field`},St={class:`label`},Ct={class:`box`},wt={class:`title font-bold`},Tt={class:`value`};function Et(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-input-number`);return e.supported?(u(),t(`div`,xt,[n(`div`,St,[n(`div`,Ct,[n(`h2`,wt,l(e.$t(`seedream.name.guidanceScale`)),1),o(d,{content:e.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),n(`div`,Tt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):m(``,!0)}var Dt=G(bt,[[`render`,Et],[`__scopeId`,`data-v-7386f064`]]),Ot=r({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:ee,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),kt={class:`field`},At={class:`label`},jt={class:`box`},Mt={class:`title font-bold`},Nt={class:`value`};function Pt(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,kt,[n(`div`,At,[n(`div`,jt,[n(`h2`,Mt,l(e.$t(`seedream.name.watermark`)),1),o(d,{content:e.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),n(`div`,Nt,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var Ft=r({name:`SeedreamConfigPanel`,components:{ElButton:v,FontAwesomeIcon:J,PromptInput:Se,Consumption:oe,ImageInput:Ie,ModelSelector:Ue,SizeSelector:Xe,MaxImagesSelector:it,OutputFormatSelector:dt,SeedInput:yt,GuidanceScaleInput:Dt,WatermarkSwitch:G(Ot,[[`render`,Pt],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return H({...e,action:t?`edit`:`generate`,model:I(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),It={class:`flex flex-col h-full`},Lt={class:`flex-1 overflow-y-auto p-5`},Rt={class:`flex flex-col items-center justify-center px-5 pb-5`};function zt(e,r,a,s,c,d){let f=h(`model-selector`),p=h(`size-selector`),m=h(`max-images-selector`),_=h(`output-format-selector`),v=h(`seed-input`),y=h(`guidance-scale-input`),b=h(`watermark-switch`),x=h(`prompt-input`),S=h(`image-input`),C=h(`consumption`),w=h(`font-awesome-icon`),T=h(`el-button`);return u(),t(`div`,It,[n(`div`,Lt,[o(f,{class:`mb-4`}),o(p,{class:`mb-4`}),o(m,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),n(`div`,Rt,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Bt=G(Ft,[[`render`,zt]]),Vt=r({name:`SeedreamTaskPreview`,components:{ElImage:w,CopyToClipboard:Y,FontAwesomeIcon:J,ElAlert:T,ImageWrapper:pe,ElButton:v,ElTooltip:C,ImagePreview:X,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return I(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),Ht={class:`preview`},Ut={class:`left`},Wt={class:`main`},Gt={class:`bot`},Kt={class:`datetime`},qt={class:`info`},Jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Yt={key:1,class:`prompt mt-2`},Xt={key:0},Zt={key:0,class:c({content:!0})},Qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$t={key:1,class:c({content:!0,failed:!0})},en={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},tn={class:c({operations:!0,"mt-2":!0,"mb-2":!0})},nn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:c({content:!0})},ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gn={key:3,class:c({content:!0})},_n={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function yn(r,c,f,p,_,v){let y=h(`el-image`),b=h(`image-preview`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`),w=h(`image-wrapper`),T=h(`el-button`),E=h(`el-tooltip`),D=h(`api-code-button`);return u(),t(`div`,Ht,[n(`div`,Ut,[o(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),n(`div`,Wt,[n(`div`,Gt,[i(l(r.$t(`seedream.name.seedreamBot`))+` `,1),n(`span`,Kt,l(r.$dayjs.format(``+new Date(parseFloat((r.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,qt,[Array.isArray(r.modelValue?.request?.image)&&r.modelValue?.request?.image.length>0?(u(),t(`div`,Jt,[(u(!0),t(s,null,e(r.modelValue?.request?.image,(e,t)=>(u(),a(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):m(``,!0),r.modelValue?.request?.prompt?(u(),t(`p`,Yt,[i(l(r.modelValue?.request?.prompt)+` `,1),r.modelValue?.response?m(``,!0):(u(),t(`span`,Xt,` - (`+l(r.$t(`seedream.status.pending`))+`) `,1))])):m(``,!0)]),r.modelValue?.response?r.modelValue?.response?.success===!0?(u(),t(`div`,$t,[n(`div`,en,[(u(!0),t(s,null,e(r.images,(e,t)=>(u(),a(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),n(`div`,tn,[o(E,{class:`box-item`,effect:`dark`,content:r.$t(`common.button.edit`),placement:`top-start`},{default:g(()=>[o(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=d(e=>r.onEdit(r.images?.[0]?.image_url),[`stop`])},{default:g(()=>[i(l(r.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),o(D,{path:`/seedream/images`,body:r.modelValue?.request},null,8,[`body`])]),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,nn,[o(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.model`))+`: `+l(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,rn,[o(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),n(`p`,an,[o(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.task`))+`: `+l(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),n(`p`,on,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),r.modelValue?.elapsed?(u(),t(`p`,sn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,cn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):m(``,!0)]),_:1})])):r.modelValue?.response?.success===!1?(u(),t(`div`,$,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.failure`)),1)]),default:g(()=>[r.modelValue?.request?.model?(u(),t(`p`,ln,[o(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.model`))+`: `+l(r.shortModel(r.modelValue?.request?.model)),1)])):m(``,!0),r.modelValue?.request?.size?(u(),t(`p`,un,[o(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.size`))+`: `+l(r.modelValue?.request?.size),1)])):m(``,!0),n(`p`,dn,[o(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.task`))+`: `+l(r.isEdit?r.$t(`seedream.name.edits`):r.$t(`seedream.name.generate`)),1)]),n(`p`,fn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.error?.message?(u(),t(`p`,pn,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.failureReason`))+`: `+l(r.modelValue?.response?.error?.message)+` `,1),o(S,{content:r.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):m(``,!0),r.modelValue?.elapsed?(u(),t(`p`,mn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.elapsed`))+`: `+l(r.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),r.modelValue?.response?.trace_id?(u(),t(`p`,hn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,gn,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.status`)),1)]),default:g(()=>[n(`p`,_n,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r.modelValue?.response?.trace_id?(u(),t(`p`,vn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.traceId`))+`: `+l(r.modelValue?.response?.trace_id)+` `,1),o(S,{content:r.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):m(``,!0)]),_:1})])):(u(),t(`div`,Zt,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),i(` `+l(r.$t(`seedream.status.pending`)),1)]),default:g(()=>[n(`p`,Qt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(r.$t(`seedream.name.taskId`))+`: `+l(r.modelValue?.id)+` `,1),o(S,{content:r.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var bn=r({name:`SeedreamRecentPanel`,components:{TaskPreview:G(Vt,[[`render`,yn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:ue,NoTasks:de,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xn={key:0},Sn={key:2,class:`w-full h-full flex items-center justify-center`};function Cn(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,xn,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Sn,[o(v)])):m(``,!0)],64)}var wn=r({name:`SeedreamIndex`,components:{ConfigPanel:Bt,Layout:ye,RecentPanel:G(bn,[[`render`,Cn]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===R.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!q(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,async:!0};if(!z())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}L.info(this.$t(`seedream.message.startingTask`)),U(`seedream`,W.generate(t,{token:n})).then(()=>{L.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?L.error(this.$t(`seedream.message.usedUp`)):L.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Tn(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var En=G(wn,[[`render`,Tn]]);export{En as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,F as t,O as n,P as r,Wt as i,Z as a,dt as o,nt as s,tt as c,ut as l}from"./vendor-chart-BJCvKk8-.js";import{n as u,t as d}from"./table-B5c9kfrJ.js";import{t as f}from"./card-DjyfNde2.js";import{n as p,t as m}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,F as t,O as n,P as r,Wt as i,Z as a,dt as o,nt as s,tt as c,ut as l}from"./vendor-chart-BJCvKk8-.js";import{n as u,t as d}from"./table-B5c9kfrJ.js";import{t as f}from"./card-DjyfNde2.js";import{n as p,t as m}from"./row-9xY_zqJG.js";import{t as h}from"./Pagination-B2RcQJIP.js";import{Wn as g,k as _}from"./index-H4ViDRM1.js";import{t as v}from"./CopyToClipboard-C0OEr-tx.js";var y=t({name:`ConsoleDistributionInvitees`,components:{Pagination:h,CopyToClipboard:v,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){let{data:e}=await g.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:`-created_at`});this.invitees=e.items,this.total=e.count}}}),b={class:`title`},x={class:`key`},S={class:`copy`},C={class:`description`},w={class:`description`},T={class:`description`},E={class:`created-at`},D={class:`pagination m-v-lg`};function O(t,u,d,f,p,m){let h=c(`el-col`),g=c(`el-row`),_=c(`copy-to-clipboard`),v=c(`el-table-column`),y=c(`el-table`),O=c(`el-card`),k=c(`pagination`),A=s(`loading`);return a(),n(g,{class:`panel`},{default:l(()=>[r(h,{span:24},{default:l(()=>[r(g,null,{default:l(()=>[r(h,{span:24},{default:l(()=>[e(`h2`,b,i(t.$t(`common.title.invitee`)),1)]),_:1})]),_:1}),r(g,null,{default:l(()=>[r(h,{span:24},{default:l(()=>[r(O,{shadow:`hover`},{default:l(()=>[o((a(),n(y,{data:t.invitees,stripe:``},{default:l(()=>[r(v,{prop:`id`,label:t.$t(`user.field.id`),"class-name":`text-center`,width:`350px`},{default:l(t=>[e(`span`,x,i(t.row.id),1),e(`span`,S,[r(_,{content:t.row.id},null,8,[`content`])])]),_:1},8,[`label`]),r(v,{label:t.$t(`user.field.username`),width:`300px`},{default:l(t=>[e(`span`,C,i(t.row?.username),1)]),_:1},8,[`label`]),r(v,{label:t.$t(`user.field.email`),width:`300px`},{default:l(t=>[e(`span`,w,i(t.row?.email),1)]),_:1},8,[`label`]),r(v,{label:t.$t(`user.field.nickname`),width:`200px`},{default:l(t=>[e(`span`,T,i(t.row.nickname),1)]),_:1},8,[`label`]),r(v,{label:t.$t(`user.field.dateJoined`)},{default:l(n=>[e(`span`,E,i(t.$dayjs.format(n.row.date_joined)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[A,t.loading]])]),_:1})]),_:1})]),_:1}),r(g,null,{default:l(()=>[r(h,{span:10,offset:14},{default:l(()=>[e(`div`,D,[r(k,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var k=_(y,[[`render`,O],[`__scopeId`,`data-v-4556864d`]]);export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,dt as u,k as d,nt as f,tt as p,ut as m}from"./vendor-chart-BJCvKk8-.js";import{t as h}from"./button-BydTr5nV.js";import{n as ee,t as g}from"./table-B5c9kfrJ.js";import{t as _}from"./card-DjyfNde2.js";import{n as v,t as y}from"./row-9xY_zqJG.js";import{t as b}from"./empty-CdsD8g84.js";import{t as x}from"./Pagination-B2RcQJIP.js";import{t as S}from"./skeleton-BwNBivMN.js";import{t as C}from"./switch-DcH_0cbe.js";import{o as w}from"./surface-D249_eDG.js";import{Br as T,Er as E,Gn as D,Gr as O,Mr as k,Nr as A,Tr as j,V as M,k as N,q as P}from"./index-H4ViDRM1.js";import{t as F}from"./index.es-D4AbJUQk.js";import{t as I}from"./CopyToClipboard-C0OEr-tx.js";var L=r({name:`ConsoleApplicationList`,components:{Pagination:x,CopyToClipboard:I,ElTable:g,ElRow:y,ElButton:h,ElCol:v,ElTag:O,ElSkeleton:S,ElSwitch:C,ElEmpty:b,ElTableColumn:ee,ElCard:_,FontAwesomeIcon:F},data(){return{credentialType:j,serviceType:E,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},showGlobalPayment(){return!0}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return w()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||D.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{T.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{T.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:P,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:M,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=k.INDIVIDUAL){return new Promise((t,n)=>{D.getAll({limit:this.limit,...e===k.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:A.USAGE,scope:e}).then(({data:n})=>{e===k.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{T.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(k.INDIVIDUAL),this.onFetchApplications(k.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){D.create({type:A.USAGE,scope:k.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(k.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`}}}),R={class:`title`},z={key:1,class:`summary-card`},B={class:`icon-wrapper`},V={class:`label`},H={class:`value`},U={class:`description`},W={key:1,class:`flex flex-row justify-between items-center gap-3`},G={class:`summary-card min-w-0 flex-1`},K={class:`flex justify-start items-center gap-2 mb-2 w-full`},q={class:`icon-wrapper !mb-0`},te={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},J={class:`label`},Y={class:`value`},X={class:`description`},Z={class:`flex flex-col items-end gap-2 shrink-0`},Q={class:`copy`},ne={key:0,class:`expired-at`},re={class:`flex flex-wrap items-center justify-end gap-1`},ie={class:`application-cards block sm:hidden`},ae={class:`flex items-center gap-2 flex-wrap`},oe={class:`application-card__name`},se={class:`application-card__id`},ce={class:`truncate`},le={class:`application-card__row`},ue={class:`label`},de={class:`value`},fe={key:0,class:`application-card__row`},pe={class:`label`},$={class:`value`},me={key:1,class:`application-card__row`},he={class:`label`},ge={class:`flex items-center justify-end gap-2 mt-3`},_e={class:`pagination`};function ve(r,h,ee,g,_,v){let y=p(`el-col`),b=p(`el-row`),x=p(`el-skeleton`),S=p(`font-awesome-icon`),C=p(`el-card`),w=p(`copy-to-clipboard`),T=p(`el-button`),E=p(`el-table-column`),D=p(`el-tag`),O=p(`el-switch`),k=p(`el-table`),A=p(`el-empty`),j=p(`pagination`),M=f(`loading`);return l(),a(b,{class:`application-list`},{default:m(()=>[o(y,{span:24},{default:m(()=>[o(b,null,{default:m(()=>[o(y,{span:24},{default:m(()=>[n(`h2`,R,c(r.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),o(b,{gutter:15,class:`mb-3`},{default:m(()=>[o(y,{md:12,xs:24},{default:m(()=>[o(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:m(()=>[r.loading?(l(),a(x,{key:0})):(l(),t(`div`,z,[n(`div`,B,[o(S,{icon:`fa-solid fa-cubes-stacked`})]),n(`p`,V,c(r.$t(`application.title.count`)),1),n(`p`,H,c(r.individualApplicationsTotal),1),n(`p`,U,c(r.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),r.showGlobalPayment&&r.globalApplications?.length>0?(l(),a(y,{key:0,md:12,xs:24},{default:m(()=>[o(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:m(()=>[r.loading?(l(),a(x,{key:0})):(l(),t(`div`,W,[n(`div`,G,[n(`div`,K,[n(`div`,q,[o(S,{icon:`fa-solid fa-wallet`})]),n(`span`,te,[i(c(r.$t(`application.field.id`))+`: `+c(r.globalApplications?.[0]?.id)+` `,1),r.globalApplications?.[0]?.id?(l(),a(w,{key:0,content:r.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):d(``,!0)])]),n(`p`,J,c(r.$t(`application.title.globalBalance`)),1),n(`p`,Y,c(r.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+c(r.$t(`service.unit.credits`)),1),n(`p`,X,c(r.$t(`application.message.globalBalanceDescription`)),1)]),n(`div`,Z,[o(T,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:h[0]||=e=>r.onGoUsage(r.globalApplications?.[0])},{default:m(()=>[o(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.usage`)),1)]),_:1}),r.showGlobalPayment?(l(),a(T,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:h[1]||=e=>r.onBuyMore(r.globalApplications?.[0])},{default:m(()=>[o(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.buyMore`)),1)]),_:1})):d(``,!0)])]))]),_:1})]),_:1})):d(``,!0)]),_:1}),o(b,null,{default:m(()=>[o(y,{span:24},{default:m(()=>[o(C,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:m(()=>[u((l(),a(k,{data:r.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":r.$t(`common.message.noData`)},{default:m(()=>[o(E,{prop:`id`,label:r.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:m(e=>[n(`span`,null,c(e.row.id),1),n(`span`,Q,[o(w,{content:e?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),o(E,{label:r.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:m(e=>[e.row?.type===`Period`?(l(),a(D,{key:0,type:`success`,effect:`dark`,round:``},{default:m(()=>[i(c(r.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(l(),a(D,{key:1,effect:`dark`,round:``},{default:m(()=>[i(c(r.$t(`application.type.usage`)),1)]),_:1})):d(``,!0)]),_:1},8,[`label`]),o(E,{label:r.$t(`application.field.name`),width:`180px`},{default:m(e=>[n(`span`,null,c(e.row?.service?.title),1),e.row?.role===`grantee`?(l(),a(D,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:m(()=>[i(c(r.$t(`application.badge.shared`)),1)]),_:1})):d(``,!0)]),_:1},8,[`label`]),o(E,{prop:`remaining_amount`,label:r.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[n(`span`,null,c(r.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),o(E,{prop:`used_amount`,label:r.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:m(e=>[n(`span`,null,c(r.getUsedAmount(e.row)),1)]),_:1},8,[`label`]),o(E,{prop:`allow_consume_global`,label:r.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:m(e=>[e.row.service?.type===r.serviceType.API?(l(),a(O,{key:0,modelValue:e.row.allow_consume_global,"onUpdate:modelValue":t=>e.row.allow_consume_global=t,"active-value":!0,"inactive-value":!1,onChange:t=>r.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):d(``,!0)]),_:1},8,[`label`]),o(E,{label:r.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:m(e=>[e.row.expired_at?(l(),t(`span`,ne,c(r.$dayjs.format(e.row.expired_at)),1)):d(``,!0)]),_:1},8,[`label`]),o(E,{fixed:`right`,width:`200px`},{default:m(e=>[n(`div`,re,[o(T,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:t=>r.onGoUsage(e?.row)},{default:m(()=>[o(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),r.rowCanPay(e?.row)?(l(),a(T,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:t=>r.onBuyMore(e?.row)},{default:m(()=>[o(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):d(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,r.loading]])]),_:1}),n(`div`,ie,[r.loading?(l(),a(x,{key:0,rows:4,animated:``})):(l(),t(s,{key:1},[r.individualApplications?.length?(l(!0),t(s,{key:1},e(r.individualApplications,e=>(l(),a(C,{key:e.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:m(()=>[n(`div`,ae,[n(`span`,oe,c(e?.service?.title),1),e?.type===`Period`?(l(),a(D,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:m(()=>[i(c(r.$t(`application.type.period`)),1)]),_:1})):e?.type===`Usage`?(l(),a(D,{key:1,effect:`dark`,size:`small`,round:``},{default:m(()=>[i(c(r.$t(`application.type.usage`)),1)]),_:1})):d(``,!0),e?.role===`grantee`?(l(),a(D,{key:2,type:`info`,size:`small`,round:``},{default:m(()=>[i(c(r.$t(`application.badge.shared`)),1)]),_:1})):d(``,!0)]),n(`div`,se,[n(`span`,ce,c(r.$t(`application.field.id`))+`: `+c(e.id),1),o(w,{content:e.id,class:`inline-block shrink-0`},null,8,[`content`])]),n(`div`,le,[n(`span`,ue,c(r.$t(`application.field.remainingAmount`)),1),n(`span`,de,c(r.getRemainingAmount(e)),1)]),e?.expired_at?(l(),t(`div`,fe,[n(`span`,pe,c(r.$t(`application.field.expiredAt`)),1),n(`span`,$,c(r.$dayjs.format(e.expired_at)),1)])):d(``,!0),e.service?.type===r.serviceType.API?(l(),t(`div`,me,[n(`span`,he,c(r.$t(`application.field.allowConsumeGlobal`)),1),o(O,{modelValue:e.allow_consume_global,"onUpdate:modelValue":t=>e.allow_consume_global=t,"active-value":!0,"inactive-value":!1,onChange:t=>r.updateAllowConsumeGlobal(e,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):d(``,!0),n(`div`,ge,[o(T,{class:`!m-0 !px-3`,size:`small`,round:``,onClick:t=>r.onGoUsage(e)},{default:m(()=>[o(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),r.rowCanPay(e)?(l(),a(T,{key:0,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:t=>r.onBuyMore(e)},{default:m(()=>[o(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),i(` `+c(r.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):d(``,!0)])]),_:2},1024))),128)):(l(),a(A,{key:0,description:r.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),o(b,null,{default:m(()=>[o(y,{span:24},{default:m(()=>[n(`div`,_e,[o(j,{"current-page":r.page,"page-size":r.limit,total:r.individualApplicationsTotal,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var ye=N(L,[[`render`,ve],[`__scopeId`,`data-v-b4164ed9`]]);export{ye as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,a as u,c as d,dt as f,i as p,k as m,n as h,nt as g,o as _,r as v,s as y,t as b,tt as x,ut as S,v as C}from"./vendor-chart-BJCvKk8-.js";import{t as w}from"./button-BydTr5nV.js";import{r as T,t as E}from"./select-B2VreL7x.js";import{n as D,t as O}from"./table-B5c9kfrJ.js";import{n as k,t as A}from"./tabs-Bfxviyzr.js";import{t as j}from"./card-DjyfNde2.js";import{n as M,r as N}from"./radio-3Hz7h3DR.js";import{t as P}from"./date-picker-CtBdWrWY.js";import{n as F,t as I}from"./row-9xY_zqJG.js";import{t as L}from"./Pagination-B2RcQJIP.js";import{n as R,t as z}from"./skeleton-BwNBivMN.js";import{Bn as B,Er as V,Gn as H,Gr as U,Nr as W,Tr as G,Ur as K,Vn as q,k as J,zn as Y}from"./index-H4ViDRM1.js";import{t as X}from"./index.es-D4AbJUQk.js";import{t as Z}from"./CopyToClipboard-C0OEr-tx.js";p.register(v,u,h,y,d,_);var Q=r({name:`ConsoleUsageList`,components:{Pagination:L,ElTag:U,ElDatePicker:P,ElTable:O,ElSelect:T,ElOption:E,CopyToClipboard:Z,ElRow:I,ElCol:F,ElTableColumn:D,ElCard:j,ElRadioButton:M,ElRadioGroup:N,ElSkeleton:z,ElSkeletonItem:R,ElDialog:K,ElTabs:k,ElTabPane:A,ElButton:w,FontAwesomeIcon:X,BarChart:b},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(`,`):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(`,`):[],applications:[],apis:[],apisLoading:!1,credentialType:G,serviceType:V,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||V.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:`top`,onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.update()}},title:{display:!0,text:this.$t(`usage.title.usageTrend`)}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},methods:{async onFetchUsages(){this.type===V.API?this.onFetchApiUsages():this.type===V.Proxy&&this.onFetchProxyUsages()},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){console.log(`onTimeRangeChanged`,this.createdAtRange),await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``,created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``}}),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await B.getStatusCodes({user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&B.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){H.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:W.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,Y.getAll({limit:100,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(){console.log(`onFetchApiUsages`,this.createdAtRange),this.loading=!0,B.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{this.apiUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,q.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:e})=>{this.proxyUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onExport(){this.exporting=!0,B.exportCsv({user_id:this.$store.getters.user.id,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`usages.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API)return;let e={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{let{data:t}=await B.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r=Array.from(new Set((t.items||[]).map(e=>e.api_id))),i=e=>`hsl(${e*57%360}, 70%, 60%)`,a=r.map((e,r)=>{let a=t.apis?.[e]?.title||e,o={};return(t.items||[]).filter(t=>t.api_id===e).forEach(e=>{o[e.date]=e.amount||0}),{key:e,label:a,data:n.map(e=>o[e]||0),color:i(r)}});this.barChartLabels=n,this.barChartSeries=a}finally{this.aggLoading=!1}}}}),$={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},ee={class:`inline-block w-9`},te={class:`inline-block`},ne={key:1,class:`summary-card`},re={class:`icon-wrapper`},ie={class:`text-left`},ae={class:`description`},oe={class:`value`},se={class:`chart-wrapper`},ce={key:0},le={key:1},ue={class:`flex flex-wrap gap-2`},de={class:`key`},fe={key:0,class:`cursor-pointer`},pe={class:`created-at`},me={class:`created-at`},he={key:1,class:`detail-json`},ge={key:2,class:`text-gray-400`},_e={key:1,class:`detail-json`},ve={key:2,class:`text-gray-400`},ye={class:`float-right`};function be(r,u,d,p,h,_){let v=x(`el-col`),y=x(`el-row`),b=x(`el-radio-button`),w=x(`el-radio-group`),T=x(`el-option`),E=x(`el-select`),D=x(`el-skeleton-item`),O=x(`el-skeleton`),k=x(`el-date-picker`),A=x(`font-awesome-icon`),j=x(`el-button`),M=x(`el-card`),N=x(`bar-chart`),P=x(`el-table-column`),F=x(`el-tag`),I=x(`copy-to-clipboard`),L=x(`el-table`),R=x(`el-tab-pane`),z=x(`el-tabs`),B=x(`el-dialog`),V=x(`pagination`),H=g(`loading`);return l(),a(y,null,{default:S(()=>[o(v,{span:24},{default:S(()=>[o(y,null,{default:S(()=>[o(v,{span:24},{default:S(()=>[n(`h2`,$,c(r.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),o(y,null,{default:S(()=>[o(v,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:S(()=>[n(`span`,null,c(r.$t(`application.field.type`)),1),o(w,{modelValue:r.type,"onUpdate:modelValue":u[0]||=e=>r.type=e},{default:S(()=>[o(b,{value:r.serviceType.API,label:r.$t(`application.field.api`)},null,8,[`value`,`label`]),o(b,{value:r.serviceType.Proxy,label:r.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),f(o(v,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:S(()=>[n(`span`,ee,c(r.$t(`usage.field.application`)),1),o(E,{modelValue:r.applicationIds,"onUpdate:modelValue":u[1]||=e=>r.applicationIds=e,placeholder:r.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:r.onApplicationsChange},{default:S(()=>[(l(!0),t(s,null,e(r.applications,e=>(l(),a(T,{key:e.id,label:e.service?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[C,!1]]),r.type===r.serviceType.API?(l(),a(v,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:S(()=>[n(`span`,te,c(r.$t(`usage.field.api`)),1),r.apisLoading?(l(),a(O,{key:0,animated:``,class:`w-full`},{template:S(()=>[o(D,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(l(),a(E,{key:1,modelValue:r.apiIds,"onUpdate:modelValue":u[2]||=e=>r.apiIds=e,placeholder:r.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:r.onApisChange},{default:S(()=>[(l(!0),t(s,null,e(r.apis,e=>(l(),a(T,{key:e?.id,label:e?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):m(``,!0),r.type===r.serviceType.API?(l(),a(v,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:S(()=>[o(k,{modelValue:r.createdAtRange,"onUpdate:modelValue":u[3]||=e=>r.createdAtRange=e,type:`datetimerange`,class:`w-full`,shortcuts:r.shortcuts,"range-separator":r.$t(`usage.placeholder.to`),"start-placeholder":r.$t(`usage.placeholder.startDate`),"end-placeholder":r.$t(`usage.placeholder.endDate`),onChange:r.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):m(``,!0),r.type===r.serviceType.API?(l(),a(v,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:S(()=>[o(E,{modelValue:r.statusCodeFilter,"onUpdate:modelValue":u[4]||=e=>r.statusCodeFilter=e,placeholder:r.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:r.statusCodeOptionsLoading,onChange:r.onStatusCodeChange},{default:S(()=>[(l(!0),t(s,null,e(r.statusCodeOptions,e=>(l(),a(T,{key:e,label:String(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):m(``,!0),r.type===r.serviceType.API?(l(),a(v,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:S(()=>[o(j,{type:`primary`,plain:``,loading:r.exporting,class:`w-full whitespace-nowrap`,onClick:r.onExport},{default:S(()=>[o(A,{icon:`fa-solid fa-file-export`,class:`mr-1`}),i(` `+c(r.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):m(``,!0)]),_:1}),o(y,null,{default:S(()=>[o(v,{span:24},{default:S(()=>[r.type===r.serviceType.API?(l(),a(y,{key:0,gutter:24,class:`mb-5`},{default:S(()=>[o(v,{md:6,xs:24},{default:S(()=>[o(M,{shadow:`hover`,class:`h-full`},{default:S(()=>[r.aggLoading?(l(),a(O,{key:0})):(l(),t(`div`,ne,[n(`div`,re,[o(A,{icon:`fa-solid fa-cubes`,class:`icon`})]),n(`div`,ie,[n(`p`,ae,c(r.$t(`usage.title.totalUsed`)),1),n(`p`,oe,c(r.totalUsedString),1)])]))]),_:1})]),_:1}),o(v,{md:18,xs:24},{default:S(()=>[o(M,{shadow:`hover`,class:`h-full`},{default:S(()=>[n(`div`,se,[r.aggLoading?(l(),a(O,{key:0,class:`w-full`})):(l(),a(N,{key:1,data:r.barChartData,options:r.barChartOptions,class:`chart`},null,8,[`data`,`options`]))])]),_:1})]),_:1})]),_:1})):m(``,!0),o(M,{shadow:`hover`},{default:S(()=>[r.type===r.serviceType.API?f((l(),a(L,{key:0,data:r.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":r.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:S(()=>[o(P,{label:r.$t(`application.field.name`),width:`160px`},{default:S(e=>[n(`span`,null,c(e.row?.api?.title),1)]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.field.statusCode`),width:`120px`},{default:S(e=>[n(`span`,null,c(e.row.status_code),1)]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.field.elapsed`),width:`120px`},{default:S(e=>[n(`span`,null,c(r.formatElapsed(e.row.elapsed)),1)]),_:1},8,[`label`]),o(P,{prop:`deducted_amount`,label:r.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:S(e=>[r.getDeductedAmount(e.row)===r.getOriginalAmount(e.row)?(l(),t(`div`,ce,[n(`span`,null,c(r.getDeductedAmount(e.row)),1)])):(l(),t(`div`,le,[u[7]||=n(`p`,null,null,-1),n(`p`,null,[n(`span`,null,c(r.getDeductedAmount(e.row)),1)]),n(`p`,null,[n(`del`,null,c(r.getOriginalAmount(e.row)),1)])]))]),_:1},8,[`label`]),o(P,{prop:`remaining_amount`,label:r.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:S(e=>[n(`span`,null,c(r.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),o(P,{prop:`metadata`,label:r.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:S(o=>[n(`div`,ue,[o.row.original_amount>o.row.deducted_amount&&o.row.original_amount>0?(l(),a(F,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:S(()=>[i(c(((o.row.original_amount-o.row.deducted_amount)*100/o.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):m(``,!0),(l(!0),t(s,null,e(r.getSimpleMetadata(o.row.metadata),(e,t)=>(l(),a(F,{key:t,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:S(()=>[i(c(t)+`: `+c(e),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:S(e=>[e.row.id?(l(),a(j,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:t=>r.onShowDetail(e.row)},{default:S(()=>[i(c(r.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):m(``,!0)]),_:1},8,[`label`]),o(P,{prop:`trace_id`,label:r.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:S(e=>[n(`span`,de,c(e.row.trace_id),1),e.row.trace_id?(l(),t(`span`,fe,[o(I,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):m(``,!0)]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.field.createdAt`),width:`200px`},{default:S(e=>[n(`span`,pe,c(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[H,r.loading]]):m(``,!0),r.type===r.serviceType.Proxy?f((l(),a(L,{key:1,data:r.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":r.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:S(()=>[o(P,{label:r.$t(`application.field.name`),width:`160px`},{default:S(e=>[n(`span`,null,c(e.row?.service?.title),1)]),_:1},8,[`label`]),o(P,{prop:`remaining_amount`,label:r.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:S(e=>[n(`span`,null,c(r.getRemainingAmount(e.row)),1),n(`span`,null,c(r.getOriginalAmount(e.row)),1)]),_:1},8,[`label`]),o(P,{prop:`deducted_amount`,label:r.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:S(e=>[n(`span`,null,c(r.getDeductedAmount(e.row)),1)]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:S(e=>[n(`span`,null,c(r.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),o(P,{prop:`metadata`,label:r.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:S(n=>[(l(!0),t(s,null,e(n.row.metadata,(e,t)=>(l(),a(F,{key:t,class:`mb-2`},{default:S(()=>[i(c(t)+`: `+c(e),1)]),_:2},1024))),128))]),_:1},8,[`label`]),o(P,{label:r.$t(`usage.field.createdAt`),width:`200px`},{default:S(e=>[n(`span`,me,c(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[H,r.loading]]):m(``,!0)]),_:1})]),_:1})]),_:1}),o(B,{modelValue:r.detailDialogVisible,"onUpdate:modelValue":u[6]||=e=>r.detailDialogVisible=e,title:r.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:S(()=>[o(z,{modelValue:r.detailActiveTab,"onUpdate:modelValue":u[5]||=e=>r.detailActiveTab=e},{default:S(()=>[o(R,{label:r.$t(`usage.dialog.request`),name:`request`},{default:S(()=>[r.detailLoading?(l(),a(O,{key:0,rows:6,animated:``})):r.detailRow?.metadata?.request?(l(),t(`pre`,he,c(r.formatJson(r.detailRow.metadata.request)),1)):(l(),t(`p`,ge,c(r.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),o(R,{label:r.$t(`usage.dialog.response`),name:`response`},{default:S(()=>[r.detailLoading?(l(),a(O,{key:0,rows:6,animated:``})):r.detailRow?.metadata?.response?(l(),t(`pre`,_e,c(r.formatJson(r.detailRow.metadata.response)),1)):(l(),t(`p`,ve,c(r.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),o(y,null,{default:S(()=>[o(v,{span:10,offset:14},{default:S(()=>[n(`div`,ye,[o(V,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var xe=J(Q,[[`render`,be],[`__scopeId`,`data-v-38f1845c`]]);export{xe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,dt as u,nt as d,tt as f,ut as p}from"./vendor-chart-BJCvKk8-.js";import{t as m}from"./button-BydTr5nV.js";import{r as h,t as g}from"./select-B2VreL7x.js";import{n as _,t as v}from"./table-B5c9kfrJ.js";import{t as y}from"./card-DjyfNde2.js";import{t as b}from"./date-picker-CtBdWrWY.js";import{n as x,t as S}from"./row-9xY_zqJG.js";import{t as C}from"./Pagination-B2RcQJIP.js";import{t as w}from"./skeleton-BwNBivMN.js";import{Dr as T,Gr as E,Gt as D,Rn as O,k}from"./index-H4ViDRM1.js";import{t as A}from"./index.es-D4AbJUQk.js";import{t as j}from"./CopyToClipboard-C0OEr-tx.js";var M={total_count:0,total_spent:0,state_counts:{}},N=r({name:`ConsoleOrderList`,components:{Pagination:C,CopyToClipboard:j,ElRow:S,ElCol:x,ElTable:v,ElTableColumn:_,ElButton:m,ElTag:E,ElCard:y,ElSelect:h,ElOption:g,ElDatePicker:b,ElSkeleton:w,FontAwesomeIcon:A},data(){return{OrderState:T,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...M},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:T.PENDING,label:this.$t(`order.state.pending`)},{value:T.FINISHED,label:this.$t(`order.state.finished`)},{value:T.PAID,label:this.$t(`order.state.paid`)},{value:T.EXPIRED,label:this.$t(`order.state.expired`)},{value:T.FAILED,label:this.$t(`order.state.failed`)},{value:T.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:D,stateTagType(e){return e===T.FINISHED||e===T.PAID?`success`:e===T.EXPIRED||e===T.FAILED?`danger`:e===T.REFUNDED?`warning`:`info`},stateLabel(e){return{[T.PENDING]:this.$t(`order.state.pending`),[T.PAID]:this.$t(`order.state.paid`),[T.FINISHED]:this.$t(`order.state.finished`),[T.EXPIRED]:this.$t(`order.state.expired`),[T.FAILED]:this.$t(`order.state.failed`),[T.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==T.PAID&&e!==T.FINISHED&&e!==T.EXPIRED&&e!==T.FAILED&&e!==T.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,O.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,O.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...M}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,O.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),P={class:`title`},F={key:1,class:`card-content`},I={class:`icon-wrapper`},L={class:`description`},R={class:`value`},z={key:1,class:`card-content`},B={class:`icon-wrapper`},V={class:`description`},H={class:`value`},U={key:1,class:`card-content`},W={class:`icon-wrapper`},ee={class:`description`},G={class:`value`},K={key:1,class:`card-content`},q={class:`icon-wrapper`},J={class:`description`},Y={class:`value`},X={class:`filter-row mb-3`},Z={class:`key`},Q={class:`cursor-pointer`},$={class:`price`},te={class:`description`},ne={class:`text-gray-500`},re={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(r,m,h,g,_,v){let y=f(`el-col`),b=f(`el-row`),x=f(`el-skeleton`),S=f(`font-awesome-icon`),C=f(`el-card`),w=f(`el-option`),T=f(`el-select`),E=f(`el-date-picker`),D=f(`el-button`),O=f(`copy-to-clipboard`),k=f(`el-table-column`),A=f(`el-tag`),j=f(`el-table`),M=f(`pagination`),N=d(`loading`);return l(),a(b,{class:`panel`},{default:p(()=>[o(y,{span:24},{default:p(()=>[o(b,null,{default:p(()=>[o(y,{span:24},{default:p(()=>[n(`h2`,P,c(r.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),o(b,{gutter:16},{default:p(()=>[o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,F,[n(`div`,I,[o(S,{icon:`fa-solid fa-receipt`,class:`icon`})]),n(`p`,L,c(r.$t(`order.title.totalOrders`)),1),n(`p`,R,c(r.summary.total_count),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,z,[n(`div`,B,[o(S,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),n(`p`,V,c(r.$t(`order.title.totalSpent`)),1),n(`p`,H,c(r.getPriceString({value:r.summary.total_spent})),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,U,[n(`div`,W,[o(S,{icon:`fa-solid fa-check-circle`,class:`icon`})]),n(`p`,ee,c(r.$t(`order.title.finishedOrders`)),1),n(`p`,G,c(r.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,K,[n(`div`,q,[o(S,{icon:`fa-solid fa-clock`,class:`icon`})]),n(`p`,J,c(r.$t(`order.title.pendingOrders`)),1),n(`p`,Y,c(r.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),n(`div`,X,[o(T,{modelValue:r.filterState,"onUpdate:modelValue":m[0]||=e=>r.filterState=e,clearable:``,placeholder:r.$t(`order.field.allStates`),class:`filter-select`,onChange:r.onFilterChange},{default:p(()=>[(l(!0),t(s,null,e(r.stateOptions,e=>(l(),a(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(T,{modelValue:r.filterPayWay,"onUpdate:modelValue":m[1]||=e=>r.filterPayWay=e,clearable:``,placeholder:r.$t(`order.field.allPayWays`),class:`filter-select`,onChange:r.onFilterChange},{default:p(()=>[(l(!0),t(s,null,e(r.payWayOptions,e=>(l(),a(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(E,{modelValue:r.createdAtRange,"onUpdate:modelValue":m[2]||=e=>r.createdAtRange=e,type:`datetimerange`,shortcuts:r.shortcuts,"range-separator":r.$t(`usage.placeholder.to`),"start-placeholder":r.$t(`usage.placeholder.startDate`),"end-placeholder":r.$t(`usage.placeholder.endDate`),onChange:r.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),o(D,{type:`primary`,plain:``,loading:r.exporting,onClick:r.onExport},{default:p(()=>[o(S,{icon:`fa-solid fa-file-export`,class:`mr-1`}),i(` `+c(r.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),o(b,null,{default:p(()=>[o(y,{span:24},{default:p(()=>[o(C,{shadow:`hover`},{default:p(()=>[u((l(),a(j,{data:r.orders,stripe:``,"empty-text":r.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:p(()=>[o(k,{prop:`id`,label:r.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:p(e=>[n(`span`,Z,c(e.row.id),1),n(`span`,Q,[o(O,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.price`),width:`110px`,align:`center`},{default:p(e=>[n(`span`,$,c(r.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:p(e=>[n(`span`,te,c(e.row.description),1)]),_:1},8,[`label`]),o(k,{prop:`state`,label:r.$t(`order.field.state`),width:`130px`,align:`center`},{default:p(e=>[o(A,{type:r.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:p(()=>[i(c(r.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:p(e=>[n(`span`,ne,c(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:p(e=>[n(`span`,re,c(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),o(k,{"min-width":`130px`,fixed:`right`},{default:p(e=>[n(`div`,ie,[r.isPendingAction(e.row.state)?(l(),a(D,{key:0,type:`primary`,size:`small`,onClick:t=>r.goToDetail(e.row.id)},{default:p(()=>[i(c(r.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(l(),a(D,{key:1,size:`small`,onClick:t=>r.goToDetail(e.row.id)},{default:p(()=>[i(c(r.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[N,r.loading]])]),_:1})]),_:1})]),_:1}),o(b,null,{default:p(()=>[o(y,{span:10,offset:14},{default:p(()=>[n(`div`,ae,[o(M,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=k(N,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,k as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-BydTr5nV.js";import{H as
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,k as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-BydTr5nV.js";import{H as m}from"./use-deprecated-B-NFNg3W.js";import{t as ee}from"./switch-DcH_0cbe.js";import{i as te}from"./surface-D249_eDG.js";import{Gr as h,j as g,k as _,qr as v}from"./index-H4ViDRM1.js";import{t as y}from"./index.es-D4AbJUQk.js";var b=r({name:`LocalToolsSetting`,components:{ElButton:p,ElTag:h,ElSwitch:ee,ElInput:v,FontAwesomeIcon:y},data(){return{Plus:m,roots:[],tools:[],mcpServers:[],mcpUid:0,mcpStatuses:[],mcpBusy:null,savingMcp:!1,mcpSavedTip:!1,mcpError:``,grants:null,perm:null,computerUse:!1,computerTools:[],computerGrants:{},cuBusy:null,builtinTools:[],toolGrants:{},builtinBusy:null,savingCU:!1,preauthorizing:!1,saving:!1,savedTip:!1,a11yEnabled:!1,onFocus:null,cuOff:null}},computed:{desktop(){return!!g()},android(){return te()}},async mounted(){let e=g();if(!e)return;let t=await e.getConfig();this.roots=t.roots,this.computerUse=t.computerUse===!0,this.mcpServers=(t.mcp??[]).map(e=>({_uid:this.mcpUid++,id:e.id,command:e.command,argsText:(e.args??[]).join(`
|
|
2
2
|
`),envText:Object.entries(e.env??{}).map(([e,t])=>`${e}=${t}`).join(`
|
|
3
|
-
`),enabled:e.enabled!==!1})),this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools()).map(e=>e.name),this.computerTools=await e.computerTools?.()??[],this.builtinTools=await e.builtinTools?.()??[];let n=await e.perm?.status();n?.mac&&(this.perm=n),await this.loadGrants(),this.android&&(await this.refreshA11y(),this.onFocus=()=>{document.visibilityState===`visible`&&this.refreshA11y()},document.addEventListener(`visibilitychange`,this.onFocus)),this.cuOff=e.onComputerUseDisabled?.(()=>{this.computerUse=!1})??null},beforeUnmount(){this.cuOff?.(),this.onFocus&&document.removeEventListener(`visibilitychange`,this.onFocus)},methods:{async refreshA11y(){let e=await
|
|
3
|
+
`),enabled:e.enabled!==!1})),this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools()).map(e=>e.name),this.computerTools=await e.computerTools?.()??[],this.builtinTools=await e.builtinTools?.()??[];let n=await e.perm?.status();n?.mac&&(this.perm=n),await this.loadGrants(),this.android&&(await this.refreshA11y(),this.onFocus=()=>{document.visibilityState===`visible`&&this.refreshA11y()},document.addEventListener(`visibilitychange`,this.onFocus)),this.cuOff=e.onComputerUseDisabled?.(()=>{this.computerUse=!1})??null},beforeUnmount(){this.cuOff?.(),this.onFocus&&document.removeEventListener(`visibilitychange`,this.onFocus)},methods:{async refreshA11y(){let e=await g()?.perm?.status();this.a11yEnabled=e?.accessibility===!0},async openAndroidAccessibility(){await g()?.perm?.openPane(`accessibility`)},async loadGrants(){let e=g();if(!e?.grants){this.grants=null;return}let t=await e.grants.list(),n={},r={},i=new Set(this.builtinTools.map(e=>e.name)),a=[];for(let e of t){if(e.startsWith(`computer.`)&&!e.includes(`:`)){n[e]=!0;continue}if(!e.includes(`:`)&&i.has(e)){r[e]=!0;continue}let t=e.indexOf(`:{`),o=t>=0?t:e.indexOf(`:`);a.push({key:e,name:o>=0?e.slice(0,o):e,input:o>=0?e.slice(o+1):``})}this.computerGrants=n,this.toolGrants=r,this.grants=a},async addFolder(){let e=await g()?.pickFolder();e&&!this.roots.includes(e)&&this.roots.push(e)},removeRoot(e){this.roots.splice(e,1)},addMcp(){this.mcpServers.push({_uid:this.mcpUid++,id:``,command:``,argsText:``,envText:``,enabled:!0})},removeMcp(e){this.mcpServers.splice(e,1)},mcpStatusFor(e){let t=e.trim();return this.mcpStatuses.find(e=>e.id===t)},mcpBadgeType(e){let t=this.mcpStatusFor(e)?.status;return t===`connected`?`success`:t===`failed`?`danger`:`info`},mcpBadgeText(e){let t=this.mcpStatusFor(e);return this.mcpBusy===e.trim()?this.$t(`common.settings.localToolsMcpConnecting`):t?t.status===`connected`?this.$t(`common.settings.localToolsMcpConnected`,{n:t.toolCount}):t.status===`disabled`?this.$t(`common.settings.localToolsMcpDisabled`):this.$t(`common.settings.localToolsMcpFailed`):this.$t(`common.settings.localToolsMcpNotSaved`)},mcpErrorFor(e){let t=this.mcpStatusFor(e);return t?.status===`failed`&&t.error?t.error:``},buildMcpPayload(){this.mcpError=``;let e=[],t=new Set;for(let n of this.mcpServers){let r=n.id.trim(),i=n.command.trim();if(!r||!i)return this.mcpError=this.$t(`common.settings.localToolsMcpNameRequired`),null;if(!/^[A-Za-z0-9_-]+$/.test(r))return this.mcpError=this.$t(`common.settings.localToolsMcpNameInvalid`),null;if(t.has(r))return this.mcpError=this.$t(`common.settings.localToolsMcpDuplicateName`),null;t.add(r);let a=n.argsText.split(`
|
|
4
4
|
`).map(e=>e.trim()).filter(Boolean),o={};for(let e of n.envText.split(`
|
|
5
|
-
`)){let t=e.trim();if(!t)continue;let n=t.indexOf(`=`);n<=0||(o[t.slice(0,n).trim()]=t.slice(n+1).trim())}let s={id:r,command:i,args:a,enabled:n.enabled!==!1};Object.keys(o).length&&(s.env=o),e.push(s)}return e},async saveMcp(){let e=this.buildMcpPayload();if(!e)return!1;this.savingMcp=!0;try{let t=await h()?.getConfig();return await h()?.saveConfig({roots:t?.roots??this.roots,mcp:e,computerUse:this.computerUse}),await this.refreshMcpStatus(),this.mcpSavedTip=!0,setTimeout(()=>this.mcpSavedTip=!1,2e3),!0}finally{this.savingMcp=!1}},async refreshMcpStatus(){let e=h();e&&(this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools())?.map(e=>e.name)??this.tools)},async onToggleMcpEnabled(e){await this.saveMcp()||(e.enabled=!e.enabled)},async reconnectMcp(e){let t=e.id.trim();if(!t||!e.command.trim())return;let n=this.buildMcpPayload();if(n){this.mcpBusy=t;try{let e=await h()?.getConfig();await h()?.saveConfig({roots:e?.roots??this.roots,mcp:n,computerUse:this.computerUse}),await h()?.mcp?.reconnect(t),await this.refreshMcpStatus()}finally{this.mcpBusy=null}}},async open(e){await h()?.perm?.openPane(e)},async save(){this.saving=!0;let e=await h()?.getConfig();await h()?.saveConfig({roots:this.roots,mcp:e?.mcp??[],computerUse:this.computerUse}),this.saving=!1,this.savedTip=!0,setTimeout(()=>this.savedTip=!1,2e3)},async onToggleComputerUse(e){this.savingCU=!0;let t=await h()?.getConfig();await h()?.saveConfig({roots:t?.roots??this.roots,mcp:t?.mcp??[],computerUse:e===!0}),this.savingCU=!1},async preauthorizeAll(){let e=h();if(e?.preauthorizeComputerUse){this.preauthorizing=!0;try{let t=await e.preauthorizeComputerUse();this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm),await this.loadGrants()}finally{this.preauthorizing=!1}}},async onToggleComputerTool(e,t){let n=h();if(n){this.cuBusy=e;try{if(t===!0){let t=await n.preauthorizeComputerUse?.([e]);t&&(this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm))}else await n.grants?.revoke(e);await this.loadGrants()}finally{this.cuBusy=null}}},cuLabel(e){let t=`common.settings.localToolsCu${this.cuSuffix(e)}`,n=this.$t(t);return n===t?e.replace(/^computer\./,``):n},cuIcon(e){return{screenshot:`fa-solid fa-camera`,click:`fa-solid fa-arrow-pointer`,move:`fa-solid fa-up-down-left-right`,type:`fa-solid fa-keyboard`,key:`fa-solid fa-keyboard`,scroll:`fa-solid fa-arrows-up-down`}[e.replace(/^computer\./,``)]??`fa-solid fa-shield-halved`},cuSuffix(e){let t=e.replace(/^computer\./,``);return t.charAt(0).toUpperCase()+t.slice(1)},async onToggleBuiltinTool(e,t){let n=h();if(n?.grants){this.builtinBusy=e;try{t===!0?(await n.grants.grantToolWide?.(e))?.ok||(this.toolGrants={...this.toolGrants,[e]:!1}):await n.grants.revoke(e),await this.loadGrants()}finally{this.builtinBusy=null}}},builtinIcon(e){return e===`shell.run_command`?`fa-solid fa-terminal`:e===`fs.write_file`?`fa-solid fa-pen`:e===`fs.read_file`?`fa-solid fa-file`:e===`fs.list_dir`?`fa-solid fa-folder`:`fa-solid fa-shield-halved`},async revoke(e){await h()?.grants?.revoke(e),await this.loadGrants()},async revokeAll(){await h()?.grants?.clear(),await this.loadGrants()}}}),x={class:`settings-list local-tools-setting`},S={key:0,class:`hint muted`},C={key:0},w={class:`section-head`},T={class:`muted`},E={class:`perm-row`},D={class:`perm-name`},O={key:1},k={class:`section-head`},A={class:`muted`},j={class:`rows`},M={class:`path`},N={key:0,class:`row muted empty`},P={class:`actions`},F={key:0,class:`muted saved-tip`},I={key:0,class:`muted tools`},L={class:`section-head`},R={class:`muted`},z={key:0,class:`rows`},B={class:`mcp-fields`},V={class:`mcp-head`},H={class:`mcp-grid`},U={class:`mcp-flabel`},W={class:`mcp-flabel`},G={class:`mcp-flabel top`},K={class:`mcp-flabel top`},q={key:0,class:`mcp-row-error`},J={key:1,class:`muted`},Y={class:`muted mcp-platform-hint`},X={class:`actions`},Z={key:0,class:`muted saved-tip`},Q={key:1,class:`mcp-error`},ne={key:2},re={class:`section-head`},ie={class:`muted`},ae={class:`rows`},oe={class:`grant`},se={class:`grant-name`},ce={class:`grant-input`},le={key:0,class:`row muted empty`},ue={key:3},de={class:`section-head`},fe={class:`muted`},pe={class:`rows`},me={class:`cu-action`},he={class:`cu-action-name`},ge={class:`grant-name`},_e={class:`cu-action-desc`},ve={class:`section-head`},ye={class:`muted`},be={class:`section-head sub`},xe={class:`muted`},Se={class:`rows`},Ce={class:`cu-action`},we={class:`cu-action-name`},Te={class:`cu-action-desc`},Ee={key:4},De={class:`section-head`},$={class:`muted`},Oe={class:`perm-row`},ke={class:`perm-name`},Ae={class:`perm-row`},je={class:`perm-name`},Me={class:`perm-row`},Ne={class:`perm-name`};function Pe(r,p,ee,te,m,h){let g=d(`el-tag`),_=d(`el-button`),v=d(`font-awesome-icon`),y=d(`el-switch`),b=d(`el-input`);return l(),t(`div`,x,[r.desktop?(l(),t(s,{key:1},[r.android?(l(),t(`section`,C,[n(`div`,w,[n(`h3`,null,c(r.$t(`common.settings.localToolsPermsTitle`)),1)]),n(`p`,T,c(r.$t(`common.settings.localToolsAndroidPermHint`)),1),n(`div`,E,[n(`span`,D,c(r.$t(`common.settings.localToolsPermAccessibility`)),1),o(g,{size:`small`,type:r.a11yEnabled?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.a11yEnabled?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:r.openAndroidAccessibility},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1},8,[`onClick`])])])):u(``,!0),r.android?u(``,!0):(l(),t(`section`,O,[n(`div`,k,[n(`h3`,null,c(r.$t(`common.settings.localToolsFoldersTitle`)),1),o(_,{size:`small`,type:`primary`,icon:r.Plus,onClick:r.addFolder},{default:f(()=>[i(c(r.$t(`common.settings.localToolsAddFolder`)),1)]),_:1},8,[`icon`,`onClick`])]),n(`p`,A,c(r.$t(`common.settings.localToolsFoldersHint`)),1),n(`ul`,j,[(l(!0),t(s,null,e(r.roots,(e,a)=>(l(),t(`li`,{key:e,class:`row`},[o(v,{icon:`fa-solid fa-folder`,class:`row-icon`}),n(`span`,M,c(e),1),o(_,{size:`small`,text:``,type:`danger`,onClick:e=>r.removeRoot(a)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]))),128)),r.roots.length?u(``,!0):(l(),t(`li`,N,c(r.$t(`common.settings.localToolsNoFolders`)),1))]),n(`div`,P,[o(_,{size:`small`,type:`primary`,loading:r.saving,onClick:r.save},{default:f(()=>[i(c(r.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),r.savedTip?(l(),t(`span`,F,c(r.$t(`common.settings.localToolsSaved`)),1)):u(``,!0)]),r.tools.length?(l(),t(`p`,I,c(r.$t(`common.settings.localToolsActiveTools`))+`: `+c(r.tools.join(`, `)),1)):u(``,!0)])),n(`section`,null,[n(`div`,L,[n(`h3`,null,c(r.$t(`common.settings.localToolsMcpTitle`)),1),o(_,{size:`small`,type:`primary`,icon:r.Plus,onClick:r.addMcp},{default:f(()=>[i(c(r.$t(`common.settings.localToolsMcpAdd`)),1)]),_:1},8,[`icon`,`onClick`])]),n(`p`,R,c(r.$t(`common.settings.localToolsMcpHint`)),1),r.mcpServers.length?(l(),t(`ul`,z,[(l(!0),t(s,null,e(r.mcpServers,(e,a)=>(l(),t(`li`,{key:e._uid,class:`row mcp-row`},[n(`div`,B,[n(`div`,V,[o(g,{size:`small`,effect:`plain`,type:r.mcpBadgeType(e.id)},{default:f(()=>[i(c(r.mcpBadgeText(e.id)),1)]),_:2},1032,[`type`]),p[4]||=n(`span`,{class:`mcp-spacer`},null,-1),o(y,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,size:`small`,"active-text":r.$t(`common.settings.localToolsMcpEnabled`),"inline-prompt":``,onChange:t=>r.onToggleMcpEnabled(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`active-text`,`onChange`]),o(_,{size:`small`,text:``,loading:r.mcpBusy===e.id,disabled:!e.id||!e.command,onClick:t=>r.reconnectMcp(e)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsMcpReconnect`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),o(_,{size:`small`,text:``,type:`danger`,onClick:e=>r.removeMcp(a)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]),n(`div`,H,[n(`label`,U,c(r.$t(`common.settings.localToolsMcpName`)),1),o(b,{modelValue:e.id,"onUpdate:modelValue":t=>e.id=t,placeholder:r.$t(`common.settings.localToolsMcpNamePlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,W,c(r.$t(`common.settings.localToolsMcpCommand`)),1),o(b,{modelValue:e.command,"onUpdate:modelValue":t=>e.command=t,placeholder:r.$t(`common.settings.localToolsMcpCommandPlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,G,c(r.$t(`common.settings.localToolsMcpArgs`)),1),o(b,{modelValue:e.argsText,"onUpdate:modelValue":t=>e.argsText=t,type:`textarea`,rows:2,placeholder:r.$t(`common.settings.localToolsMcpArgsHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,K,c(r.$t(`common.settings.localToolsMcpEnv`)),1),o(b,{modelValue:e.envText,"onUpdate:modelValue":t=>e.envText=t,type:`textarea`,rows:2,placeholder:r.$t(`common.settings.localToolsMcpEnvHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),r.mcpErrorFor(e.id)?(l(),t(`p`,q,c(r.mcpErrorFor(e.id)),1)):u(``,!0)])]))),128))])):(l(),t(`p`,J,c(r.$t(`common.settings.localToolsMcpNoServers`)),1)),n(`p`,Y,c(r.$t(`common.settings.localToolsMcpPlatformHint`)),1),n(`div`,X,[o(_,{size:`small`,type:`primary`,loading:r.savingMcp,onClick:r.saveMcp},{default:f(()=>[i(c(r.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),r.mcpSavedTip?(l(),t(`span`,Z,c(r.$t(`common.settings.localToolsSaved`)),1)):u(``,!0),r.mcpError?(l(),t(`span`,Q,c(r.mcpError),1)):u(``,!0)])]),r.grants!==null&&!r.android?(l(),t(`section`,ne,[n(`div`,re,[n(`h3`,null,c(r.$t(`common.settings.localToolsGrantsTitle`)),1),r.grants.length?(l(),a(_,{key:0,size:`small`,text:``,type:`danger`,onClick:r.revokeAll},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRevokeAll`)),1)]),_:1},8,[`onClick`])):u(``,!0)]),n(`p`,ie,c(r.$t(`common.settings.localToolsGrantsHint`)),1),n(`ul`,ae,[(l(!0),t(s,null,e(r.grants,e=>(l(),t(`li`,{key:e.key,class:`row`},[o(v,{icon:`fa-solid fa-shield-halved`,class:`row-icon`}),n(`span`,oe,[n(`code`,se,c(e.name),1),n(`span`,ce,c(e.input),1)]),o(_,{size:`small`,type:`danger`,onClick:t=>r.revoke(e.key)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRevoke`)),1)]),_:1},8,[`onClick`])]))),128)),r.grants.length?u(``,!0):(l(),t(`li`,le,c(r.$t(`common.settings.localToolsNoGrants`)),1))])])):u(``,!0),r.builtinTools.length&&!r.android?(l(),t(`section`,ue,[n(`div`,de,[n(`h3`,null,c(r.$t(`common.settings.localToolsBuiltinTitle`)),1)]),n(`p`,fe,c(r.$t(`common.settings.localToolsBuiltinHint`)),1),n(`ul`,pe,[(l(!0),t(s,null,e(r.builtinTools,e=>(l(),t(`li`,{key:e.name,class:`row`},[o(v,{icon:r.builtinIcon(e.name),class:`row-icon`},null,8,[`icon`]),n(`span`,me,[n(`span`,he,[n(`code`,ge,c(e.name),1),e.name===`shell.run_command`?(l(),a(g,{key:0,size:`small`,type:`danger`,effect:`plain`},{default:f(()=>[i(c(r.$t(`common.settings.localToolsBuiltinRisky`)),1)]),_:1})):u(``,!0)]),n(`span`,_e,c(e.description),1)]),o(y,{"model-value":r.toolGrants[e.name]===!0,loading:r.builtinBusy===e.name,disabled:!!r.builtinBusy,onChange:t=>r.onToggleBuiltinTool(e.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])])):u(``,!0),n(`section`,null,[n(`div`,ve,[n(`h3`,null,c(r.$t(`common.settings.localToolsComputerUseTitle`)),1),o(y,{modelValue:r.computerUse,"onUpdate:modelValue":p[0]||=e=>r.computerUse=e,loading:r.savingCU,onChange:r.onToggleComputerUse},null,8,[`modelValue`,`loading`,`onChange`])]),n(`p`,ye,c(r.$t(`common.settings.localToolsComputerUseHint`)),1),r.computerTools.length?(l(),t(s,{key:0},[n(`div`,be,[n(`h4`,null,c(r.$t(`common.settings.localToolsCuActionsTitle`)),1),o(_,{size:`small`,text:``,type:`primary`,loading:r.preauthorizing,onClick:r.preauthorizeAll},{default:f(()=>[i(c(r.$t(`common.settings.localToolsPreauthorizeAll`)),1)]),_:1},8,[`loading`,`onClick`])]),n(`p`,xe,c(r.$t(`common.settings.localToolsCuActionsHint`)),1),n(`ul`,Se,[(l(!0),t(s,null,e(r.computerTools,e=>(l(),t(`li`,{key:e.name,class:`row`},[o(v,{icon:r.cuIcon(e.name),class:`row-icon`},null,8,[`icon`]),n(`span`,Ce,[n(`span`,we,c(r.cuLabel(e.name)),1),n(`span`,Te,c(e.description),1)]),o(y,{"model-value":r.computerGrants[e.name]===!0,loading:r.cuBusy===e.name,disabled:!!r.cuBusy||r.preauthorizing,onChange:t=>r.onToggleComputerTool(e.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])],64)):u(``,!0)]),r.perm?(l(),t(`section`,Ee,[n(`div`,De,[n(`h3`,null,c(r.$t(`common.settings.localToolsPermsTitle`)),1)]),n(`p`,$,c(r.$t(`common.settings.localToolsPermsHint`)),1),n(`div`,Oe,[n(`span`,ke,c(r.$t(`common.settings.localToolsPermFullDisk`)),1),o(g,{size:`small`,type:r.perm.fullDisk?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.fullDisk?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[1]||=e=>r.open(`fullDisk`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),n(`div`,Ae,[n(`span`,je,c(r.$t(`common.settings.localToolsPermScreen`)),1),o(g,{size:`small`,type:r.perm.screen===`granted`?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.screen===`granted`?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[2]||=e=>r.open(`screen`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),n(`div`,Me,[n(`span`,Ne,c(r.$t(`common.settings.localToolsPermAccessibility`)),1),o(g,{size:`small`,type:r.perm.accessibility?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.accessibility?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[3]||=e=>r.open(`accessibility`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})])])):u(``,!0)],64)):(l(),t(`p`,S,c(r.$t(`common.settings.localToolsDesktopOnly`)),1))])}var Fe=_(b,[[`render`,Pe],[`__scopeId`,`data-v-a0b02a43`]]);export{Fe as t};
|
|
5
|
+
`)){let t=e.trim();if(!t)continue;let n=t.indexOf(`=`);n<=0||(o[t.slice(0,n).trim()]=t.slice(n+1).trim())}let s={id:r,command:i,args:a,enabled:n.enabled!==!1};Object.keys(o).length&&(s.env=o),e.push(s)}return e},async saveMcp(){let e=this.buildMcpPayload();if(!e)return!1;this.savingMcp=!0;try{let t=await g()?.getConfig();return await g()?.saveConfig({roots:t?.roots??this.roots,mcp:e,computerUse:this.computerUse}),await this.refreshMcpStatus(),this.mcpSavedTip=!0,setTimeout(()=>this.mcpSavedTip=!1,2e3),!0}finally{this.savingMcp=!1}},async refreshMcpStatus(){let e=g();e&&(this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools())?.map(e=>e.name)??this.tools)},async onToggleMcpEnabled(e){await this.saveMcp()||(e.enabled=!e.enabled)},async reconnectMcp(e){let t=e.id.trim();if(!t||!e.command.trim())return;let n=this.buildMcpPayload();if(n){this.mcpBusy=t;try{let e=await g()?.getConfig();await g()?.saveConfig({roots:e?.roots??this.roots,mcp:n,computerUse:this.computerUse}),await g()?.mcp?.reconnect(t),await this.refreshMcpStatus()}finally{this.mcpBusy=null}}},async open(e){await g()?.perm?.openPane(e)},async save(){this.saving=!0;let e=await g()?.getConfig();await g()?.saveConfig({roots:this.roots,mcp:e?.mcp??[],computerUse:this.computerUse}),this.saving=!1,this.savedTip=!0,setTimeout(()=>this.savedTip=!1,2e3)},async onToggleComputerUse(e){this.savingCU=!0;let t=await g()?.getConfig();await g()?.saveConfig({roots:t?.roots??this.roots,mcp:t?.mcp??[],computerUse:e===!0}),this.savingCU=!1},async preauthorizeAll(){let e=g();if(e?.preauthorizeComputerUse){this.preauthorizing=!0;try{let t=await e.preauthorizeComputerUse();this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm),await this.loadGrants()}finally{this.preauthorizing=!1}}},async onToggleComputerTool(e,t){let n=g();if(n){this.cuBusy=e;try{if(t===!0){let t=await n.preauthorizeComputerUse?.([e]);t&&(this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm))}else await n.grants?.revoke(e);await this.loadGrants()}finally{this.cuBusy=null}}},cuLabel(e){let t=`common.settings.localToolsCu${this.cuSuffix(e)}`,n=this.$t(t);return n===t?e.replace(/^computer\./,``):n},cuIcon(e){return{screenshot:`fa-solid fa-camera`,click:`fa-solid fa-arrow-pointer`,move:`fa-solid fa-up-down-left-right`,type:`fa-solid fa-keyboard`,key:`fa-solid fa-keyboard`,scroll:`fa-solid fa-arrows-up-down`}[e.replace(/^computer\./,``)]??`fa-solid fa-shield-halved`},cuSuffix(e){let t=e.replace(/^computer\./,``);return t.charAt(0).toUpperCase()+t.slice(1)},async onToggleBuiltinTool(e,t){let n=g();if(n?.grants){this.builtinBusy=e;try{t===!0?(await n.grants.grantToolWide?.(e))?.ok||(this.toolGrants={...this.toolGrants,[e]:!1}):await n.grants.revoke(e),await this.loadGrants()}finally{this.builtinBusy=null}}},builtinIcon(e){return e===`shell.run_command`?`fa-solid fa-terminal`:e===`fs.write_file`?`fa-solid fa-pen`:e===`fs.read_file`?`fa-solid fa-file`:e===`fs.list_dir`?`fa-solid fa-folder`:`fa-solid fa-shield-halved`},async revoke(e){await g()?.grants?.revoke(e),await this.loadGrants()},async revokeAll(){await g()?.grants?.clear(),await this.loadGrants()}}}),x={class:`settings-list local-tools-setting`},S={key:0,class:`hint muted`},C={key:0},w={class:`section-head`},T={class:`muted`},E={class:`perm-row`},D={class:`perm-name`},O={key:1},k={class:`section-head`},A={class:`muted`},j={class:`rows`},M={class:`path`},N={key:0,class:`row muted empty`},P={class:`actions`},F={key:0,class:`muted saved-tip`},I={key:0,class:`muted tools`},L={class:`section-head`},R={class:`muted`},z={key:0,class:`rows`},B={class:`mcp-fields`},V={class:`mcp-head`},H={class:`mcp-grid`},U={class:`mcp-flabel`},W={class:`mcp-flabel`},G={class:`mcp-flabel top`},K={class:`mcp-flabel top`},q={key:0,class:`mcp-row-error`},J={key:1,class:`muted`},Y={class:`muted mcp-platform-hint`},X={class:`actions`},Z={key:0,class:`muted saved-tip`},Q={key:1,class:`mcp-error`},ne={key:2},re={class:`section-head`},ie={class:`muted`},ae={class:`rows`},oe={class:`grant`},se={class:`grant-name`},ce={class:`grant-input`},le={key:0,class:`row muted empty`},ue={key:3},de={class:`section-head`},fe={class:`muted`},pe={class:`rows`},me={class:`cu-action`},he={class:`cu-action-name`},ge={class:`grant-name`},_e={class:`cu-action-desc`},ve={class:`section-head`},ye={class:`muted`},be={class:`section-head sub`},xe={class:`muted`},Se={class:`rows`},Ce={class:`cu-action`},we={class:`cu-action-name`},Te={class:`cu-action-desc`},Ee={key:4},De={class:`section-head`},$={class:`muted`},Oe={class:`perm-row`},ke={class:`perm-name`},Ae={class:`perm-row`},je={class:`perm-name`},Me={class:`perm-row`},Ne={class:`perm-name`};function Pe(r,p,m,ee,te,h){let g=d(`el-tag`),_=d(`el-button`),v=d(`font-awesome-icon`),y=d(`el-switch`),b=d(`el-input`);return l(),t(`div`,x,[r.desktop?(l(),t(s,{key:1},[r.android?(l(),t(`section`,C,[n(`div`,w,[n(`h3`,null,c(r.$t(`common.settings.localToolsPermsTitle`)),1)]),n(`p`,T,c(r.$t(`common.settings.localToolsAndroidPermHint`)),1),n(`div`,E,[n(`span`,D,c(r.$t(`common.settings.localToolsPermAccessibility`)),1),o(g,{size:`small`,type:r.a11yEnabled?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.a11yEnabled?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:r.openAndroidAccessibility},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1},8,[`onClick`])])])):u(``,!0),r.android?u(``,!0):(l(),t(`section`,O,[n(`div`,k,[n(`h3`,null,c(r.$t(`common.settings.localToolsFoldersTitle`)),1),o(_,{size:`small`,type:`primary`,icon:r.Plus,onClick:r.addFolder},{default:f(()=>[i(c(r.$t(`common.settings.localToolsAddFolder`)),1)]),_:1},8,[`icon`,`onClick`])]),n(`p`,A,c(r.$t(`common.settings.localToolsFoldersHint`)),1),n(`ul`,j,[(l(!0),t(s,null,e(r.roots,(e,a)=>(l(),t(`li`,{key:e,class:`row`},[o(v,{icon:`fa-solid fa-folder`,class:`row-icon`}),n(`span`,M,c(e),1),o(_,{size:`small`,text:``,type:`danger`,onClick:e=>r.removeRoot(a)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]))),128)),r.roots.length?u(``,!0):(l(),t(`li`,N,c(r.$t(`common.settings.localToolsNoFolders`)),1))]),n(`div`,P,[o(_,{size:`small`,type:`primary`,loading:r.saving,onClick:r.save},{default:f(()=>[i(c(r.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),r.savedTip?(l(),t(`span`,F,c(r.$t(`common.settings.localToolsSaved`)),1)):u(``,!0)]),r.tools.length?(l(),t(`p`,I,c(r.$t(`common.settings.localToolsActiveTools`))+`: `+c(r.tools.join(`, `)),1)):u(``,!0)])),n(`section`,null,[n(`div`,L,[n(`h3`,null,c(r.$t(`common.settings.localToolsMcpTitle`)),1),o(_,{size:`small`,type:`primary`,icon:r.Plus,onClick:r.addMcp},{default:f(()=>[i(c(r.$t(`common.settings.localToolsMcpAdd`)),1)]),_:1},8,[`icon`,`onClick`])]),n(`p`,R,c(r.$t(`common.settings.localToolsMcpHint`)),1),r.mcpServers.length?(l(),t(`ul`,z,[(l(!0),t(s,null,e(r.mcpServers,(e,a)=>(l(),t(`li`,{key:e._uid,class:`row mcp-row`},[n(`div`,B,[n(`div`,V,[o(g,{size:`small`,effect:`plain`,type:r.mcpBadgeType(e.id)},{default:f(()=>[i(c(r.mcpBadgeText(e.id)),1)]),_:2},1032,[`type`]),p[4]||=n(`span`,{class:`mcp-spacer`},null,-1),o(y,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,size:`small`,"active-text":r.$t(`common.settings.localToolsMcpEnabled`),"inline-prompt":``,onChange:t=>r.onToggleMcpEnabled(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`active-text`,`onChange`]),o(_,{size:`small`,text:``,loading:r.mcpBusy===e.id,disabled:!e.id||!e.command,onClick:t=>r.reconnectMcp(e)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsMcpReconnect`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),o(_,{size:`small`,text:``,type:`danger`,onClick:e=>r.removeMcp(a)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]),n(`div`,H,[n(`label`,U,c(r.$t(`common.settings.localToolsMcpName`)),1),o(b,{modelValue:e.id,"onUpdate:modelValue":t=>e.id=t,placeholder:r.$t(`common.settings.localToolsMcpNamePlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,W,c(r.$t(`common.settings.localToolsMcpCommand`)),1),o(b,{modelValue:e.command,"onUpdate:modelValue":t=>e.command=t,placeholder:r.$t(`common.settings.localToolsMcpCommandPlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,G,c(r.$t(`common.settings.localToolsMcpArgs`)),1),o(b,{modelValue:e.argsText,"onUpdate:modelValue":t=>e.argsText=t,type:`textarea`,rows:2,placeholder:r.$t(`common.settings.localToolsMcpArgsHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),n(`label`,K,c(r.$t(`common.settings.localToolsMcpEnv`)),1),o(b,{modelValue:e.envText,"onUpdate:modelValue":t=>e.envText=t,type:`textarea`,rows:2,placeholder:r.$t(`common.settings.localToolsMcpEnvHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),r.mcpErrorFor(e.id)?(l(),t(`p`,q,c(r.mcpErrorFor(e.id)),1)):u(``,!0)])]))),128))])):(l(),t(`p`,J,c(r.$t(`common.settings.localToolsMcpNoServers`)),1)),n(`p`,Y,c(r.$t(`common.settings.localToolsMcpPlatformHint`)),1),n(`div`,X,[o(_,{size:`small`,type:`primary`,loading:r.savingMcp,onClick:r.saveMcp},{default:f(()=>[i(c(r.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),r.mcpSavedTip?(l(),t(`span`,Z,c(r.$t(`common.settings.localToolsSaved`)),1)):u(``,!0),r.mcpError?(l(),t(`span`,Q,c(r.mcpError),1)):u(``,!0)])]),r.grants!==null&&!r.android?(l(),t(`section`,ne,[n(`div`,re,[n(`h3`,null,c(r.$t(`common.settings.localToolsGrantsTitle`)),1),r.grants.length?(l(),a(_,{key:0,size:`small`,text:``,type:`danger`,onClick:r.revokeAll},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRevokeAll`)),1)]),_:1},8,[`onClick`])):u(``,!0)]),n(`p`,ie,c(r.$t(`common.settings.localToolsGrantsHint`)),1),n(`ul`,ae,[(l(!0),t(s,null,e(r.grants,e=>(l(),t(`li`,{key:e.key,class:`row`},[o(v,{icon:`fa-solid fa-shield-halved`,class:`row-icon`}),n(`span`,oe,[n(`code`,se,c(e.name),1),n(`span`,ce,c(e.input),1)]),o(_,{size:`small`,type:`danger`,onClick:t=>r.revoke(e.key)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsRevoke`)),1)]),_:1},8,[`onClick`])]))),128)),r.grants.length?u(``,!0):(l(),t(`li`,le,c(r.$t(`common.settings.localToolsNoGrants`)),1))])])):u(``,!0),r.builtinTools.length&&!r.android?(l(),t(`section`,ue,[n(`div`,de,[n(`h3`,null,c(r.$t(`common.settings.localToolsBuiltinTitle`)),1)]),n(`p`,fe,c(r.$t(`common.settings.localToolsBuiltinHint`)),1),n(`ul`,pe,[(l(!0),t(s,null,e(r.builtinTools,e=>(l(),t(`li`,{key:e.name,class:`row`},[o(v,{icon:r.builtinIcon(e.name),class:`row-icon`},null,8,[`icon`]),n(`span`,me,[n(`span`,he,[n(`code`,ge,c(e.name),1),e.name===`shell.run_command`?(l(),a(g,{key:0,size:`small`,type:`danger`,effect:`plain`},{default:f(()=>[i(c(r.$t(`common.settings.localToolsBuiltinRisky`)),1)]),_:1})):u(``,!0)]),n(`span`,_e,c(e.description),1)]),o(y,{"model-value":r.toolGrants[e.name]===!0,loading:r.builtinBusy===e.name,disabled:!!r.builtinBusy,onChange:t=>r.onToggleBuiltinTool(e.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])])):u(``,!0),n(`section`,null,[n(`div`,ve,[n(`h3`,null,c(r.$t(`common.settings.localToolsComputerUseTitle`)),1),o(y,{modelValue:r.computerUse,"onUpdate:modelValue":p[0]||=e=>r.computerUse=e,loading:r.savingCU,onChange:r.onToggleComputerUse},null,8,[`modelValue`,`loading`,`onChange`])]),n(`p`,ye,c(r.$t(`common.settings.localToolsComputerUseHint`)),1),r.computerTools.length?(l(),t(s,{key:0},[n(`div`,be,[n(`h4`,null,c(r.$t(`common.settings.localToolsCuActionsTitle`)),1),o(_,{size:`small`,text:``,type:`primary`,loading:r.preauthorizing,onClick:r.preauthorizeAll},{default:f(()=>[i(c(r.$t(`common.settings.localToolsPreauthorizeAll`)),1)]),_:1},8,[`loading`,`onClick`])]),n(`p`,xe,c(r.$t(`common.settings.localToolsCuActionsHint`)),1),n(`ul`,Se,[(l(!0),t(s,null,e(r.computerTools,e=>(l(),t(`li`,{key:e.name,class:`row`},[o(v,{icon:r.cuIcon(e.name),class:`row-icon`},null,8,[`icon`]),n(`span`,Ce,[n(`span`,we,c(r.cuLabel(e.name)),1),n(`span`,Te,c(e.description),1)]),o(y,{"model-value":r.computerGrants[e.name]===!0,loading:r.cuBusy===e.name,disabled:!!r.cuBusy||r.preauthorizing,onChange:t=>r.onToggleComputerTool(e.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])],64)):u(``,!0)]),r.perm?(l(),t(`section`,Ee,[n(`div`,De,[n(`h3`,null,c(r.$t(`common.settings.localToolsPermsTitle`)),1)]),n(`p`,$,c(r.$t(`common.settings.localToolsPermsHint`)),1),n(`div`,Oe,[n(`span`,ke,c(r.$t(`common.settings.localToolsPermFullDisk`)),1),o(g,{size:`small`,type:r.perm.fullDisk?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.fullDisk?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[1]||=e=>r.open(`fullDisk`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),n(`div`,Ae,[n(`span`,je,c(r.$t(`common.settings.localToolsPermScreen`)),1),o(g,{size:`small`,type:r.perm.screen===`granted`?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.screen===`granted`?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[2]||=e=>r.open(`screen`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),n(`div`,Me,[n(`span`,Ne,c(r.$t(`common.settings.localToolsPermAccessibility`)),1),o(g,{size:`small`,type:r.perm.accessibility?`success`:`info`,effect:`plain`},{default:f(()=>[i(c(r.perm.accessibility?r.$t(`common.settings.localToolsGranted`):r.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),o(_,{size:`small`,type:`primary`,onClick:p[3]||=e=>r.open(`accessibility`)},{default:f(()=>[i(c(r.$t(`common.settings.localToolsOpen`)),1)]),_:1})])])):u(``,!0)],64)):(l(),t(`p`,S,c(r.$t(`common.settings.localToolsDesktopOnly`)),1))])}var Fe=_(b,[[`render`,Pe],[`__scopeId`,`data-v-a0b02a43`]]);export{Fe as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,D as t,F as n,P as r,Wt as i,Z as a,tt as o}from"./vendor-chart-BJCvKk8-.js";import{
|
|
1
|
+
import{A as e,D as t,F as n,P as r,Wt as i,Z as a,tt as o}from"./vendor-chart-BJCvKk8-.js";import{k as s}from"./index-H4ViDRM1.js";import{t as c}from"./LocalTools-BuAc11tX.js";var l=n({name:`SettingsLocalTools`,components:{LocalToolsSetting:c}}),u={class:`local-tools-page`};function d(n,s,c,l,d,f){let p=o(`local-tools-setting`);return a(),e(`div`,u,[t(`h2`,null,i(n.$t(`common.settings.localTools`)),1),r(p)])}var f=s(l,[[`render`,d],[`__scopeId`,`data-v-ac732814`]]);export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,E as n,F as r,N as i,O as a,P as o,Wt as s,Z as c,k as l,tt as u,ut as d}from"./vendor-chart-BJCvKk8-.js";import{t as f}from"./button-BydTr5nV.js";import{t as p}from"./Navigator-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,E as n,F as r,N as i,O as a,P as o,Wt as s,Z as c,k as l,tt as u,ut as d}from"./vendor-chart-BJCvKk8-.js";import{t as f}from"./button-BydTr5nV.js";import{t as p}from"./Navigator-BskmMjTM.js";import{t as m}from"./checkbox-BC1X4B2U.js";import{t as h}from"./divider-LA__Fty9.js";import"./constants-DReNd4Tz.js";import{Br as g,Fr as _,Gn as v,Mr as y,Nr as b,Rr as x,Ur as S,Ut as C,k as w}from"./index-H4ViDRM1.js";import{t as T}from"./Status-Cj_HTDxP.js";var E=r({name:`ApplicationConfirm`,components:{ElDialog:S,ElDivider:h,ElCheckbox:m,ElButton:f},props:{visible:{type:Boolean,required:!1,default:!1}},emits:[`update:visible`,`apply`],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:x,onApply(){if(!this.checked){g.error(this.$t(`application.message.notAgreePolicy`));return}this.$emit(`apply`)}}}),D={class:`content py-[10px] px-[40px]`},O={class:`my-4`},k={class:`policy mb-[10px]`},A={class:`policy-title text-[12px] relative -bottom-[3px]`},j=[`href`];function M(e,n,r,l,f,p){let m=u(`el-divider`),h=u(`el-checkbox`),g=u(`el-button`),_=u(`el-dialog`);return c(),a(_,{"model-value":e.visible,width:`500px`,title:e.$t(`application.message.welcome`),center:``,onClose:n[1]||=t=>e.$emit(`update:visible`,!1)},{default:d(()=>[t(`div`,D,[t(`p`,O,s(e.$t(`application.message.notApplied`)),1),o(m,{class:`my-2`}),t(`div`,k,[o(h,{modelValue:e.checked,"onUpdate:modelValue":n[0]||=t=>e.checked=t,size:`large`,class:`policy-checkbox mr-[10px]`},null,8,[`modelValue`]),t(`span`,A,s(e.$t(`application.message.readPolicy`)),1),t(`a`,{class:`policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline`,target:`_blank`,href:e.getBaseUrlPlatform()+`/terms`},` \xA0`+s(e.$t(`application.message.policy`)),9,j)]),o(g,{round:``,type:`primary`,onClick:e.onApply},{default:d(()=>[i(s(e.$t(`common.button.start`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`model-value`,`title`])}var N=w(E,[[`render`,M]]),P=15e3,F=r({name:`LayoutMain`,components:{Navigator:p,ApplicationStatus:T,ApplicationConfirm:N},provide(){return{initialized:n(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:typeof window<`u`&&window.innerWidth<768,initializeRunId:0,balanceTimer:0}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){let e=this.$store.state[this.appName]?.applications??[];console.debug(`individualApplications`,e);let t=this.$store.state.applications??[];return console.debug(`globalApplications`,t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===_.Request},service(){return this.$store.state[this.appName]?.service},userId(){return this.$store.state.user?.id}},watch:{appName(){this.initialize()},userId(e,t){e&&e!==t&&this.initialize()}},mounted(){this.initialize(),window.addEventListener(`resize`,this.onResize),this.balanceTimer=window.setInterval(this.refreshBalances,P),document.addEventListener(`visibilitychange`,this.onVisibility)},beforeUnmount(){window.removeEventListener(`resize`,this.onResize),window.clearInterval(this.balanceTimer),document.removeEventListener(`visibilitychange`,this.onVisibility)},methods:{onResize(){this.mobile=window.innerWidth<768},onVisibility(){typeof document<`u`&&!document.hidden&&this.refreshBalances()},async refreshBalances(){if(!this.appName||!this.$store.state.token?.access||typeof document<`u`&&document.hidden||this.loading)return;await Promise.allSettled([this.$store.dispatch(`getApplications`),this.$store.dispatch(`${this.appName}/getApplications`)]);let e=this.$store.state[this.appName]?.application;if(!e)return;let t=this.applications?.find(t=>t.id===e.id);t&&t!==e&&this.$store.commit(`${this.appName}/setApplication`,t)},async initialize(){let e=++this.initializeRunId;if(this.initialized=!1,!this.$store.state.token?.access||(console.debug(`Fetching all individual and global applications for`,this.appName),await Promise.allSettled([this.$store.dispatch(`getApplications`),this.$store.dispatch(`${this.appName}/getApplications`)]),e!==this.initializeRunId))return;console.debug(`Fetched all applications`,this.applications),this.$store.state.applications?.length===0&&await this.onAutoApply();let t=this.$store.state[this.appName]?.application;console.debug(`current application`,t);let n=C(this.applications,t);console.debug(`final application`,n),n&&(console.debug(`set final application`,n,n?.type),await this.$store.dispatch(`${this.appName}/setApplication`,n)),console.debug(`finished initialization`),this.initialized=!0},onApply(){this.onAutoApply()},async onAutoApply(){try{await v.create({type:b.USAGE,scope:y.GLOBAL,user_id:this.$store.getters.user.id}),this.applying=!1,await this.$store.dispatch(`getApplications`),this.showWelcomeToast()}catch(e){e?.response?.data?.code===`duplication`?await this.$store.dispatch(`getApplications`):g.error(this.$t(`application.message.applyFailed`))}},showWelcomeToast(){let e=this.$store.state.applications?.[0],t=Math.floor(e?.remaining_amount??0);g({message:t>0?this.$t(`application.message.welcomeWithCredits`,{credits:t}):this.$t(`application.message.welcomeNoCredits`),type:`success`,duration:6e3,showClose:!0})}}}),I={class:`wrapper`};function L(t,n,r,i,s,d){let f=u(`router-view`),p=u(`navigator`),m=u(`application-status`),h=u(`application-confirm`);return c(),e(`div`,I,[o(f,{class:`main`}),o(p,{class:`navigator`,direction:t.mobile?`row`:`column`},null,8,[`direction`]),t.application?(c(),a(m,{key:0,class:`status-floating fixed right-2 z-[200]`,application:t.application,applications:t.applications,"show-price":!1,authenticated:!!t.$store.state.token.access,service:t.service,onSelect:n[0]||=e=>t.$store.dispatch(`${t.appName}/setApplication`,e)},null,8,[`application`,`applications`,`authenticated`,`service`])):l(``,!0),o(h,{modelValue:t.applying,"onUpdate:modelValue":n[1]||=e=>t.applying=e,modelModifiers:{visible:!0},onApply:t.onApply},null,8,[`modelValue`,`onApply`])])}var R=w(F,[[`render`,L],[`__scopeId`,`data-v-f071b44e`]]);export{R as default};
|