@acedatacloud/nexior 3.277.5 → 3.277.7
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-9rdgO0or.js → ApiCodeButton-Y9Q_5rli.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-BO9LbC9D.js → AskUserQuestionCard-DLRlAMse.js} +1 -1
- package/dist/assets/{Auth-C3zTAhvN.js → Auth-BeSjk7e1.js} +1 -1
- package/dist/assets/{Bare-3PA6dGCh.js → Bare-DUhpP3zK.js} +1 -1
- package/dist/assets/{BotPlaceholder-DhZ616uF.js → BotPlaceholder-CmBwrP9p.js} +1 -1
- package/dist/assets/{BottomFooter-DegHQFt2.js → BottomFooter-BtB7WcAf.js} +1 -1
- package/dist/assets/{Callback-Csgmunrn.js → Callback-DIGJnTzu.js} +1 -1
- package/dist/assets/{Console-DTqwL9iH.js → Console-CNz0OtR1.js} +1 -1
- package/dist/assets/{Consumption-Dv4UTeE5.js → Consumption-BcXshl57.js} +1 -1
- package/dist/assets/Conversation-Yejcsd_l.js +3 -0
- package/dist/assets/{CopyToClipboard-CW-duTMh.js → CopyToClipboard-DKALNPi7.js} +1 -1
- package/dist/assets/{Detail-Z_2SqsPW.js → Detail-Cb8zWJZn.js} +2 -2
- package/dist/assets/{Extra-BspM5QQI.js → Extra-DFC-4yut.js} +1 -1
- package/dist/assets/{FilePreview-BTDowqVT.js → FilePreview-BItfNOPI.js} +1 -1
- package/dist/assets/{Hailuo-kmnQTeOS.js → Hailuo-CHXl4NNt.js} +1 -1
- package/dist/assets/{History-DJwnqCd7.js → History-CoTacsWJ.js} +1 -1
- package/dist/assets/{ImagePreview-CjurFfIy.js → ImagePreview-VrmtU7qi.js} +1 -1
- package/dist/assets/{ImageWrapper-DZXsT0GB.js → ImageWrapper-Cj_3NER2.js} +1 -1
- package/dist/assets/{Index-CHZJjObr.js → Index-BEty5F9Y.js} +1 -1
- package/dist/assets/{Index-M4C0FZly.css → Index-BmqkB1Up.css} +1 -1
- package/dist/assets/{Index-BsFA8G7I.js → Index-BqQhGaaQ.js} +1 -1
- package/dist/assets/{Index-B_V1107d.js → Index-BsIW-qVJ.js} +1 -1
- package/dist/assets/{Index-SRN-SciE.js → Index-C49SnyNX.js} +1 -1
- package/dist/assets/{Index-DIr7JBqu.js → Index-C91NISmr.js} +1 -1
- package/dist/assets/Index-CCkRnDX-.js +1 -0
- package/dist/assets/{Index-BXuf-l6W.js → Index-COhR9NHw.js} +1 -1
- package/dist/assets/{Index-CtQ2amxO.js → Index-CPda-Gep.js} +1 -1
- package/dist/assets/{Index-4F7k6tIW.js → Index-CQhN1bKZ.js} +1 -1
- package/dist/assets/{Index-rxEQpPu3.js → Index-C_C-cDCk.js} +1 -1
- package/dist/assets/{Index-BrR-NCxC.js → Index-CiFK-INX.js} +1 -1
- package/dist/assets/{Index-Ck7P_BAG.js → Index-CvN5XU7X.js} +1 -1
- package/dist/assets/{Index-Y1wgnIWr.js → Index-DWhenZJw.js} +1 -1
- package/dist/assets/{Index-BXyyTYVj.js → Index-DXxRfT2C.js} +1 -1
- package/dist/assets/{Index-aVHAY8VD.js → Index-D_XsT1hJ.js} +1 -1
- package/dist/assets/{Index-LMJdIXo8.js → Index-DbE7gIS8.js} +1 -1
- package/dist/assets/{Index-DSHxxiqN.js → Index-DchoGZNw.js} +1 -1
- package/dist/assets/{Index-Bueutmwo.js → Index-Dh9vOFuk.js} +1 -1
- package/dist/assets/{Index-DxNU9BrQ.js → Index-Dh_WztNK.js} +1 -1
- package/dist/assets/{Index-BTddZVrJ.js → Index-Dlr5P381.js} +1 -1
- package/dist/assets/{Index-DcuCXN4S.js → Index-Mq7J7PCH.js} +1 -1
- package/dist/assets/{Index-B_2uV-WB.js → Index-OfACtBsb.js} +1 -1
- package/dist/assets/{Index-VVvUshW_.js → Index-aOhzAx-8.js} +1 -1
- package/dist/assets/{Index-Dai9c3aE.js → Index-aS18-qH2.js} +1 -1
- package/dist/assets/{Index-_c1bADkv.js → Index-eGZrn73w.js} +1 -1
- package/dist/assets/{Index-BnMrjX59.js → Index-nzn0-FGr.js} +1 -1
- package/dist/assets/{Invitees-CtmT6N2P.js → Invitees-8UIAwt3T.js} +1 -1
- package/dist/assets/{List-BQsxl9OO.js → List-B88nyiGl.js} +1 -1
- package/dist/assets/{List-Bqa5U4qI.js → List-ClpqUs8T.js} +1 -1
- package/dist/assets/{List-B1eQgXm4.js → List-glRu4-KI.js} +1 -1
- package/dist/assets/{Main-BtSiwJEL.js → Main-B1NDFJbM.js} +1 -1
- package/dist/assets/{Model-CL7S3uKt.js → Model-D9hSM64C.js} +1 -1
- package/dist/assets/{Navigator-C989uP0E.js → Navigator-DcAalEr7.js} +2 -2
- package/dist/assets/{NoTasks-HGgmWayY.js → NoTasks-CDPKmc0O.js} +1 -1
- package/dist/assets/{NotFound-CPpraXlK.js → NotFound-B7xuzAHt.js} +1 -1
- package/dist/assets/{Pagination-DkhsjZ3x.js → Pagination-DQWsJkPb.js} +1 -1
- package/dist/assets/{Pay-BWm8WKVp.js → Pay-BqHbXrV7.js} +1 -1
- package/dist/assets/{Player-Dg2tf_iI.js → Player-BVzCxJuX.js} +1 -1
- package/dist/assets/{Seedance-Cszb_X1k.js → Seedance-CO_ACLOb.js} +1 -1
- package/dist/assets/{Status-B7xq2zJE.js → Status-CM7g9Fus.js} +1 -1
- package/dist/assets/{Subscribe-CBnMeeuP.js → Subscribe-D3WI3_NZ.js} +1 -1
- package/dist/assets/{TabSwitcher-g-agCufh.js → TabSwitcher-yeYGN8ZT.js} +1 -1
- package/dist/assets/{Tts-DOJJTFgz.js → Tts-Rn_B26TY.js} +1 -1
- package/dist/assets/{VideoPlayer-_FQCj0ZO.js → VideoPlayer-B0BnYp4m.js} +1 -1
- package/dist/assets/{avatar-BlmXvUoy.js → avatar-BOVF6M1O.js} +1 -1
- package/dist/assets/{basic-CdSp10T2.js → basic-HSZ3j8Aq.js} +1 -1
- package/dist/assets/{chat-BDQkbDpx.js → chat-D_Fzwt0g.js} +1 -1
- package/dist/assets/{codingBridge-eHNUDtXs.js → codingBridge-C7Me6g4e.js} +2 -2
- package/dist/assets/{codingBridgeNotify-CQnqejnD.js → codingBridgeNotify-CRwsxbsg.js} +2 -2
- package/dist/assets/{collapse-DzxsO3Mt.js → collapse-BByE_tIe.js} +1 -1
- package/dist/assets/{constants-EAH6CsV9.js → constants-BJfzUALM.js} +1 -1
- package/dist/assets/{createTaskActions-08HriN96.js → createTaskActions-W-WP8ugD.js} +1 -1
- package/dist/assets/{date-picker-DFsSONyL.js → date-picker-B16ejAVW.js} +1 -1
- package/dist/assets/{dropdown-Dh3U4lax.js → dropdown-CDNHTiOm.js} +1 -1
- package/dist/assets/{esm-CAB34Hv4.js → esm-BU6OIiFF.js} +2 -2
- package/dist/assets/esm-C7syfVMu.js +1 -0
- package/dist/assets/{esm-Bp9p27ec.js → esm-Ct_RJBy4.js} +3 -3
- package/dist/assets/{esm-Bn0vJPGM.js → esm-DByi5aXQ.js} +1 -1
- package/dist/assets/{esm-tQgyvSEq.js → esm-DxE4PNaE.js} +1 -1
- package/dist/assets/{esm-BnSUrs3x.js → esm-SA2Cpj9c.js} +1 -1
- package/dist/assets/{esm-ed2G2n0j.js → esm-jOYXlAjt.js} +2 -2
- package/dist/assets/{fish-FgOp1bSR.js → fish-o5DuhCTt.js} +1 -1
- package/dist/assets/{flux-CNKI3gnl.js → flux-D5wQ2ETV.js} +1 -1
- package/dist/assets/grokvideo-B3b8amaM.js +1 -0
- package/dist/assets/grokvideo-B3wtXbIO.js +1 -0
- package/dist/assets/grokvideo-B4LsFM6h.js +1 -0
- package/dist/assets/grokvideo-BS56n3ad.js +1 -0
- package/dist/assets/grokvideo-B_VCn8zA.js +1 -0
- package/dist/assets/grokvideo-BgDKZhJE.js +1 -0
- package/dist/assets/grokvideo-By_5vPug.js +1 -0
- package/dist/assets/grokvideo-C6gh6SJd.js +1 -0
- package/dist/assets/grokvideo-CGlrQCrr.js +1 -0
- package/dist/assets/grokvideo-CIinrbSk.js +1 -0
- package/dist/assets/grokvideo-CIyQOvKG.js +1 -0
- package/dist/assets/grokvideo-CYDqls55.js +1 -0
- package/dist/assets/grokvideo-DNPJVaA7.js +1 -0
- package/dist/assets/grokvideo-Df_xXdw9.js +1 -0
- package/dist/assets/{grokvideo-CJ8EegtG.js → grokvideo-RY6WG57V.js} +1 -1
- package/dist/assets/grokvideo-as0Ae3BD.js +1 -0
- package/dist/assets/grokvideo-yFYOcSv2.js +1 -0
- package/dist/assets/{hailuo-g_CiU9UH.js → hailuo-cwddKK4W.js} +1 -1
- package/dist/assets/{headshots-ba-P4q7n.js → headshots-_6sK9NHU.js} +1 -1
- package/dist/assets/{image-BhCAlGZE.js → image-BpgWG7Wr.js} +1 -1
- package/dist/assets/{index-WLGDsbco.js → index-9aLmMXtF.js} +5 -5
- package/dist/assets/{index.browser.esm-DWAeifl9.js → index.browser.esm-BARMNPSn.js} +1 -1
- package/dist/assets/{index.es-DEMCbRdu.js → index.es-CPGZoImb.js} +1 -1
- package/dist/assets/{input-number-De_zhvd-.js → input-number-Dojjbmgd.js} +1 -1
- package/dist/assets/{kling-bCcngi_D.js → kling-BKREZvru.js} +1 -1
- package/dist/assets/{kling--LCDlzCW.js → kling-BKpEDeic.js} +1 -1
- package/dist/assets/{kling-6kHkdbKB.js → kling-BLd5qd0h.js} +1 -1
- package/dist/assets/{kling-Bs_xig2S.js → kling-BMGe7ood.js} +1 -1
- package/dist/assets/{kling-Dx3riLxQ.js → kling-BXi151lQ.js} +1 -1
- package/dist/assets/{kling-CwZj2AiO.js → kling-B_Ukofur.js} +1 -1
- package/dist/assets/{kling-CK8PntGu.js → kling-Bgwfubfp.js} +1 -1
- package/dist/assets/{kling-CfvfsczM.js → kling-BofdxfZO.js} +1 -1
- package/dist/assets/{kling-DhAElmqT.js → kling-BuNJpozy.js} +1 -1
- package/dist/assets/{kling-D0h-A44E.js → kling-CSFWU-Pu.js} +1 -1
- package/dist/assets/{kling-Bav_qAFa.js → kling-CY1mfMIg.js} +1 -1
- package/dist/assets/{kling-CFNm3ACx.js → kling-Cj2RuL2Z.js} +1 -1
- package/dist/assets/{kling-Dc-g0FYY.js → kling-D3pLJVQU.js} +1 -1
- package/dist/assets/{kling-CPa09Sw2.js → kling-DB_Z8Vil.js} +1 -1
- package/dist/assets/{kling-C1bYCIVT.js → kling-DWNWcob0.js} +1 -1
- package/dist/assets/{kling-CBlTBbXH.js → kling-DZfmSQ2u.js} +1 -1
- package/dist/assets/{kling-WHMnuIE1.js → kling-DpxvZTwB.js} +1 -1
- package/dist/assets/{kling-BMl-A8o4.js → kling-lG_TWbZX.js} +1 -1
- package/dist/assets/{kling-Rhjbl3yb.js → kling-pkulSODP.js} +1 -1
- package/dist/assets/{luma-zvOlfp2v.js → luma-BpCgEYu9.js} +1 -1
- package/dist/assets/{midjourney-BkAINbX6.js → midjourney-pI4qbgAr.js} +1 -1
- package/dist/assets/{nanobanana-CDdy7DXE.js → nanobanana-DmFImJqS.js} +1 -1
- package/dist/assets/{openaiimage-MuckNyIT.js → openaiimage-D8EWWNA5.js} +1 -1
- package/dist/assets/{pagination-B3UvJKZu.js → pagination-BUcfBY5t.js} +1 -1
- package/dist/assets/{pika-CgTKZBY7.js → pika-B06LH_T_.js} +1 -1
- package/dist/assets/{pixverse-CpDZvu26.js → pixverse-DFri-5k9.js} +1 -1
- package/dist/assets/{popover-DaX9BEhA.js → popover-EL8tc-fj.js} +1 -1
- package/dist/assets/{producer-BSdBVVx_.js → producer-DnAioqTF.js} +1 -1
- package/dist/assets/{qrart-DukU-wH0.js → qrart-g9aM5n4x.js} +1 -1
- package/dist/assets/{row-DLJTcN3S.js → row-CJohDy7r.js} +1 -1
- package/dist/assets/{seedance-DOMVfpfX.js → seedance-B9l3jEdZ.js} +1 -1
- package/dist/assets/{seedream-qYoaVvs3.js → seedream-D3v2h7En.js} +1 -1
- package/dist/assets/{select-CyfjsVYT.js → select-DSfc3P7w.js} +1 -1
- package/dist/assets/{serp-D8F32UZn.js → serp-cUft_8S7.js} +1 -1
- package/dist/assets/{slider-C8p-p_jG.js → slider-Ca9y-nJ6.js} +1 -1
- package/dist/assets/{solana-wallets-CxX-IPdE.js → solana-wallets-Li4pR758.js} +2 -2
- package/dist/assets/{solana-wallets-vue-IWygWoNX.js → solana-wallets-vue-BFiGM348.js} +1 -1
- package/dist/assets/{sora-BBCFCnxD.js → sora-t2Uu-3D1.js} +1 -1
- package/dist/assets/{suno--sxHZfXr.js → suno-DLPyeVpj.js} +1 -1
- package/dist/assets/{switch-DfeNNIjH.js → switch-BCKqt9Fm.js} +1 -1
- package/dist/assets/{tabs-DDqt-7al.js → tabs-4duYXl7P.js} +1 -1
- package/dist/assets/{upload-CIsl9b3M.js → upload-Dpji6gne.js} +1 -1
- package/dist/assets/{veo-C0Hd8shD.js → veo-DRZVdaXn.js} +1 -1
- package/dist/assets/{wan-CfT1U6Bg.js → wan-fGAG8--r.js} +1 -1
- package/dist/assets/{web-jldUVJrz.js → web-B3V3-JKa.js} +1 -1
- package/dist/assets/{web-C7_2fRfR.js → web-CHalUllj.js} +1 -1
- package/dist/assets/{web-DH9f_v7D.js → web-CKx9bJ4m.js} +1 -1
- package/dist/assets/{web-BLoe5UoX.js → web-CfMoKA6n.js} +1 -1
- package/dist/assets/{web-8dTV3yka.js → web-D4DgfsnP.js} +1 -1
- package/dist/assets/{webextrator-CiqM06HL.js → webextrator-Dchdft_g.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Conversation-CP5iZ9Gh.js +0 -3
- package/dist/assets/Index-CZT2jdAy.js +0 -1
- package/dist/assets/esm-BD9aVehm.js +0 -1
- package/dist/assets/grokvideo-AiKED_Kk.js +0 -1
- package/dist/assets/grokvideo-BAFMcBW1.js +0 -1
- package/dist/assets/grokvideo-BCXPJSWa.js +0 -1
- package/dist/assets/grokvideo-BSrEUixx.js +0 -1
- package/dist/assets/grokvideo-B_dAyB0X.js +0 -1
- package/dist/assets/grokvideo-Bdz4yWG5.js +0 -1
- package/dist/assets/grokvideo-C2ZHW1cN.js +0 -1
- package/dist/assets/grokvideo-CYMpC7HG.js +0 -1
- package/dist/assets/grokvideo-DKci7nDj.js +0 -1
- package/dist/assets/grokvideo-DQZW36Tk.js +0 -1
- package/dist/assets/grokvideo-Dyv36-vR.js +0 -1
- package/dist/assets/grokvideo-aNVkjTom.js +0 -1
- package/dist/assets/grokvideo-scugZKPG.js +0 -1
- package/dist/assets/grokvideo-t8ZvBusV.js +0 -1
- package/dist/assets/grokvideo-tQx4XTBJ.js +0 -1
- package/dist/assets/grokvideo-zn0Cf79G.js +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,T as u,Ut as d,X as f,_ as p,et as m,g as h,k as g,lt as _,st as v,tt as y,ut as b,v as x,x as S,y as C,yt as w}from"./vendor-chart-mdwpew_o.js";import{t as T}from"./button-DWzbdjZV.js";import{F as E,S as D,_ as O,tt as k,w as A}from"./use-deprecated-CPfQu7wa.js";import{t as j}from"./upload-CIsl9b3M.js";import{t as M}from"./tooltip-C3PYfh8V.js";import{t as N}from"./image-BhCAlGZE.js";import{n as ee,t as te}from"./checkbox-hfJFSY6z.js";import{t as P}from"./drawer-BvYPSxXh.js";import{n as F,r as I,t as L}from"./dropdown-Dh3U4lax.js";import{t as ne}from"./popover-DaX9BEhA.js";import{t as re}from"./skeleton-Cn4UY-T8.js";import{t as ie}from"./vendor-axios-Ck2ffRoh.js";import{Br as ae,Ci as R,Di as oe,Ei as se,Gr as ce,Hr as le,Kr as ue,Rr as de,Ti as fe,Ur as pe,Vr as me,Wr as he,_i as ge,bi as _e,ei as z,si as ve,ti as B,vi as ye,wi as be,xi as xe,yi as Se}from"./constants-EAH6CsV9.js";import{Bt as Ce,E as V,Ft as we,Gt as Te,Ir as Ee,It as De,Kt as Oe,Mr as H,On as U,P as ke,Sr as Ae,Tr as je,Vt as Me,hr as W,jn as G,jt as Ne,kr as K,kt as Pe,sr as Fe,xr as q,yr as J}from"./index-WLGDsbco.js";import"./vendor-highlight-BtIeKitL.js";import{t as Y}from"./index.es-DEMCbRdu.js";import{t as Ie}from"./CopyToClipboard-CW-duTMh.js";import{n as Le,t as Re}from"./AskUserQuestionCard-BO9LbC9D.js";import{t as ze}from"./FilePreview-BTDowqVT.js";import{t as Be}from"./ImagePreview-CjurFfIy.js";var Ve=c({name:`AnsweringMark`,data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),He={class:`mark`};function Ue(e,t,n,r,i,a){return f(),g(`div`,He)}var We=V(Ve,[[`render`,Ue]]),Ge=c({name:`CitationCard`,components:{FontAwesomeIcon:Y},props:{citation:{type:Object,required:!0}},data(){return{iconFailed:!1}},computed:{displayUrl(){try{let e=new URL(this.citation.url);return e.host+(e.pathname&&e.pathname!==`/`?e.pathname:``)}catch{return this.citation.url}},hostLabel(){try{return new URL(this.citation.url).host.replace(/^www\./,``)}catch{return``}},resolvedIcon(){if(this.iconFailed)return``;if(this.citation.icon)return this.citation.icon;try{let e=new URL(this.citation.url).host;return e?`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=64`:``}catch{return``}},fallbackIcon(){let e=(this.citation.type||``).toLowerCase();return e===`file`?`fa-solid fa-file-lines`:e===`page`?`fa-solid fa-file`:e===`issue`?`fa-solid fa-circle-dot`:e===`email`?`fa-solid fa-envelope`:e===`message`?`fa-solid fa-message`:e===`web`?`fa-solid fa-globe`:`fa-solid fa-link`}},methods:{onIconError(){this.iconFailed=!0}}}),Ke=[`href`],qe={class:`head`},Je=[`src`,`alt`],Ye={key:2,class:`source`},Xe={key:0,class:`title`},Ze={key:1,class:`snippet`},Qe={class:`url`};function $e(e,t,i,a,o,c){let l=m(`font-awesome-icon`);return f(),g(`a`,{class:`citation-card`,href:e.citation.url,target:`_blank`,rel:`noopener noreferrer`},[r(`div`,qe,[e.resolvedIcon?(f(),g(`img`,{key:0,src:e.resolvedIcon,alt:e.citation.source||``,class:`icon`,referrerpolicy:`no-referrer`,loading:`lazy`,onError:t[0]||=(...t)=>e.onIconError&&e.onIconError(...t)},null,40,Je)):(f(),n(l,{key:1,icon:e.fallbackIcon,class:`icon-fallback`},null,8,[`icon`])),e.citation.source||e.hostLabel?(f(),g(`span`,Ye,d(e.citation.source||e.hostLabel),1)):s(``,!0)]),e.citation.title?(f(),g(`div`,Xe,d(e.citation.title),1)):s(``,!0),e.citation.snippet?(f(),g(`div`,Ze,d(e.citation.snippet),1)):s(``,!0),r(`div`,Qe,d(e.displayUrl),1)],8,Ke)}var et=V(Ge,[[`render`,$e],[`__scopeId`,`data-v-36c9d5dc`]]),tt=/\[\^acite:([A-Za-z0-9_-]{1,32})\]/g,nt=c({name:`MarkdownRenderer`,directives:{highlight:we},components:{VueMarkdown:Le,CitationCard:et,ElPopover:ne},props:{content:{type:String,required:!1,default:``},citations:{type:Object,required:!1,default:()=>({})}},data(){return{hoveredCitation:null,popoverAnchor:null,popoverVisible:!1}},computed:{enrichedContent(){let e=this.content||``;if(!e.includes(`[^acite:`))return e;let t=this.citations||{};return e.replace(tt,(e,n)=>{let r=t[n];return r?it(n,r):``})}},methods:{onChipHover(e){let t=e.target;if(!t)return;let n=t.closest(`.citation-chip`);if(!n){this.popoverVisible=!1;return}let r=n.dataset.citationId;if(!r)return;let i=(this.citations||{})[r];i&&(this.hoveredCitation=i,this.popoverAnchor=n,this.popoverVisible=!0)},onChipLeave(){this.popoverVisible=!1}}});function rt(e){let t=e.source||(()=>{try{return new URL(e.url).host.replace(/^www\./,``)}catch{return``}})()||e.title||`source`;return t.length>24?t.slice(0,23)+`…`:t}function X(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`)}function it(e,t){let n=X(e),r=X(t.title||t.source||t.url||e),i=X(rt(t)),a=t.url?` href="${X(t.url)}"`:``;return[`<span class="citation-chip" data-citation-id="${n}" title="${r}">`,`<a class="citation-chip__link"${a} target="_blank" rel="noopener noreferrer" tabindex="-1">`,`<span class="citation-chip__label">${i}</span>`,`</a>`,`</span>`].join(``)}var at={class:`markdown-with-citations`};function ot(e,t,r,i,a,c){let l=m(`vue-markdown`),u=m(`citation-card`),d=m(`el-popover`),p=y(`highlight`);return f(),g(`div`,at,[b(o(l,{source:e.enrichedContent,class:`markdown-body bg-transparent pt-[3px] text-[inherit]`,onMouseover:e.onChipHover,onMouseleave:e.onChipLeave},null,8,[`source`,`onMouseover`,`onMouseleave`]),[[p]]),e.hoveredCitation&&e.popoverAnchor?(f(),n(d,{key:0,"virtual-ref":e.popoverAnchor,"virtual-triggering":``,trigger:`hover`,visible:e.popoverVisible,placement:`top`,width:340,"popper-class":`citation-popover`,"show-arrow":!0,"hide-after":120},{default:_(()=>[o(u,{citation:e.hoveredCitation},null,8,[`citation`])]),_:1},8,[`virtual-ref`,`visible`])):s(``,!0)])}var Z=V(nt,[[`render`,ot],[`__scopeId`,`data-v-f3f2e7ba`]]),st=c({name:`CopyToClipboard`,components:{FontAwesomeIcon:Y,ElTooltip:M},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`restart`],data(){return{copied:!1}},methods:{onRestart(){this.$emit(`restart`)}}});function ct(e,t,r,i,a,s){let c=m(`font-awesome-icon`),l=m(`el-tooltip`);return f(),n(l,{effect:`dark`,content:e.$t(`common.button.restart`),placement:`bottom`},{default:_(()=>[o(c,{icon:`fa-solid fa-sync`,class:`icon-sync`,onClick:e.onRestart},null,8,[`onClick`])]),_:1},8,[`content`])}var lt=V(st,[[`render`,ct],[`__scopeId`,`data-v-90e169cb`]]),ut=c({name:`EditMessage`,components:{FontAwesomeIcon:Y,ElTooltip:M},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`click`],data(){return{copied:!1}},methods:{onEdit(){this.$emit(`click`)}}});function dt(e,t,n,r,i,a){let s=m(`font-awesome-icon`),c=m(`el-tooltip`);return f(),g(`span`,null,[o(c,{effect:`dark`,content:e.$t(`common.button.restart`),placement:`bottom`},{default:_(()=>[o(s,{icon:`fa-solid fa-edit`,class:`icon icon-edit`,onClick:e.onEdit},null,8,[`onClick`])]),_:1},8,[`content`])])}var ft=V(ut,[[`render`,dt],[`__scopeId`,`data-v-8e947e8f`]]),pt={code_execute:`Running code`,web_search:`Searching the web`,image_generate:`Generating image`,video_generate:`Generating video`,music_generate:`Generating music`},mt=c({name:`ToolActivity`,components:{Loading:E,CircleCheckFilled:D,CircleCloseFilled:A,ArrowRight:O},props:{item:{type:Object,required:!0}},data(){return{expanded:!1}},computed:{displayName(){if(this.item.tool_display_name)return this.item.tool_display_name;let e=this.item.tool_name||``;return pt[e]||e.replace(/_/g,` `)},inputText(){return this.item.input?this.item.tool_name===`code_execute`?this.item.input.code||``:this.item.tool_name===`web_search`?this.item.input.query||``:JSON.stringify(this.item.input,null,2):``}}}),ht={class:`tool-icon`},gt={class:`tool-name`},_t={key:0,class:`tool-duration`},vt={key:0,class:`tool-body`},yt={key:0,class:`tool-section`},bt={class:`tool-code`},xt={key:1,class:`tool-section`},St={class:`tool-code`};function Ct(e,i,a,c,l,u){let p=m(`Loading`),h=m(`el-icon`),v=m(`CircleCloseFilled`),y=m(`CircleCheckFilled`),b=m(`ArrowRight`);return f(),g(`div`,{class:t([`tool-activity`,{"is-error":e.item.is_error,"is-running":e.item.status===`running`}])},[r(`div`,{class:`tool-header`,onClick:i[0]||=t=>e.expanded=!e.expanded},[r(`span`,ht,[e.item.status===`running`?(f(),n(h,{key:0,class:`is-loading`},{default:_(()=>[o(p)]),_:1})):e.item.is_error?(f(),n(h,{key:1,color:`var(--el-color-danger)`},{default:_(()=>[o(v)]),_:1})):(f(),n(h,{key:2,color:`var(--el-color-success)`},{default:_(()=>[o(y)]),_:1}))]),r(`span`,gt,d(e.displayName),1),e.item.duration_ms?(f(),g(`span`,_t,d(e.item.duration_ms)+`ms`,1)):s(``,!0),o(h,{class:t([`tool-expand`,{rotated:e.expanded}])},{default:_(()=>[o(b)]),_:1},8,[`class`])]),e.expanded?(f(),g(`div`,vt,[e.inputText?(f(),g(`div`,yt,[i[1]||=r(`div`,{class:`tool-section-label`},`Input`,-1),r(`pre`,bt,d(e.inputText),1)])):s(``,!0),e.item.output?(f(),g(`div`,xt,[i[2]||=r(`div`,{class:`tool-section-label`},`Output`,-1),r(`pre`,St,d(e.item.output),1)])):s(``,!0)])):s(``,!0)],2)}var wt=V(mt,[[`render`,Ct],[`__scopeId`,`data-v-5a4f0ac9`]]),Tt=c({name:`EntityCard`,components:{ElImage:N,FontAwesomeIcon:Y},props:{card:{type:Object,required:!0}},computed:{cardType(){let e=(this.card.type||``).toLowerCase();return e===`audio`||e===`image`?e:e===`video`||e===`embed`?`video`:this.card.mimeType?.startsWith(`audio/`)?`audio`:this.card.mimeType?.startsWith(`video/`)?`video`:this.card.mimeType?.startsWith(`image/`)?`image`:`file`},formattedDuration(){let e=this.card.duration??0;return!Number.isFinite(e)||e<=0?``:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`},cleanFileName(){try{let e=new URL(this.card.url),t=e.pathname.split(`/`).filter(Boolean);return decodeURIComponent(t[t.length-1]||e.hostname)}catch{return this.card.url}},hostname(){try{return new URL(this.card.url).hostname}catch{return``}},fileIcon(){let e=(this.card.mimeType||``).toLowerCase();return e.includes(`pdf`)?`fa-solid fa-file-pdf`:e.includes(`word`)||e.includes(`msword`)?`fa-solid fa-file-word`:e.includes(`sheet`)||e.includes(`excel`)||e.includes(`csv`)?`fa-solid fa-file-excel`:e.includes(`zip`)||e.includes(`compressed`)?`fa-solid fa-file-zipper`:e.startsWith(`text/`)?`fa-solid fa-file-lines`:`fa-solid fa-file`}}}),Et={key:0,class:`audio-card`},Dt={key:0,class:`thumb`},Ot=[`src`,`alt`],kt={class:`meta`},At=[`title`],jt={key:1,class:`sub`},Mt=[`src`],Nt={class:`actions`},Pt=[`href`],Ft={key:1,class:`video-card`},It={class:`frame`},Lt=[`src`,`title`],Rt={key:0,class:`meta`},zt=[`title`],Bt={key:1,class:`sub`},Vt={key:2,class:`image-card`},Ht=[`title`],Ut=[`href`,`title`],Wt={class:`info`},Gt={class:`title`},Kt={class:`sub`};function qt(e,n,i,c,l,u){let p=m(`font-awesome-icon`),h=m(`el-image`);return f(),g(`div`,{class:t([`entity-card`,`entity-card--${e.cardType}`])},[e.cardType===`audio`?(f(),g(`div`,Et,[e.card.thumbnail?(f(),g(`div`,Dt,[r(`img`,{src:e.card.thumbnail,alt:e.card.title||``},null,8,Ot)])):s(``,!0),r(`div`,kt,[e.card.title?(f(),g(`div`,{key:0,class:`title`,title:e.card.title},d(e.card.title),9,At)):s(``,!0),e.card.duration?(f(),g(`div`,jt,d(e.formattedDuration),1)):s(``,!0),r(`audio`,{class:`player`,controls:``,preload:`metadata`,src:e.card.url},null,8,Mt),r(`div`,Nt,[r(`a`,{class:`download`,href:e.card.url,target:`_blank`,rel:`noopener noreferrer`},[o(p,{icon:`fa-solid fa-arrow-down`}),a(` `+d(e.$t(`common.button.download`)),1)],8,Pt)])])])):e.cardType===`video`?(f(),g(`div`,Ft,[r(`div`,It,[r(`iframe`,{class:`player`,src:e.card.url,title:e.card.title||``,frameborder:`0`,loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowfullscreen:``},null,8,Lt)]),e.card.title||e.card.duration?(f(),g(`div`,Rt,[e.card.title?(f(),g(`span`,{key:0,class:`title`,title:e.card.title},d(e.card.title),9,zt)):s(``,!0),e.card.duration?(f(),g(`span`,Bt,d(e.formattedDuration),1)):s(``,!0)])):s(``,!0)])):e.cardType===`image`?(f(),g(`div`,Vt,[o(h,{src:e.card.url,alt:e.card.alt||e.card.title||``,fit:`contain`,class:`image`,"preview-src-list":[e.card.url],"initial-index":0,"hide-on-click-modal":!0,"preview-teleported":!0},{placeholder:_(()=>[...n[0]||=[r(`div`,{class:`image-placeholder`},null,-1)]]),error:_(()=>[...n[1]||=[r(`div`,{class:`image-placeholder image-placeholder--error`},null,-1)]]),_:1},8,[`src`,`alt`,`preview-src-list`]),e.card.title?(f(),g(`div`,{key:0,class:`caption`,title:e.card.title},d(e.card.title),9,Ht)):s(``,!0)])):(f(),g(`a`,{key:3,class:`file-card`,href:e.card.url,target:`_blank`,rel:`noopener noreferrer`,title:e.card.title||e.card.url},[o(p,{class:`icon`,icon:e.fileIcon},null,8,[`icon`]),r(`div`,Wt,[r(`div`,Gt,d(e.card.title||e.cleanFileName),1),r(`div`,Kt,d(e.card.mimeType||e.hostname),1)]),o(p,{class:`open`,icon:`fa-solid fa-arrow-up-right-from-square`})],8,Ut))],2)}var Jt=V(Tt,[[`render`,qt],[`__scopeId`,`data-v-16d3b472`]]),Yt=c({name:`ThinkingBlock`,components:{ArrowRight:O,ElIcon:k,FontAwesomeIcon:Y,MarkdownRenderer:Z},props:{content:{type:String,required:!0},done:{type:Boolean,default:!1}},setup(e){let{t}=ve(),n=w(!1);return v(()=>e.done,e=>{e&&(n.value=!0)}),{collapsed:n,label:u(()=>e.done?t(`chat.thinking.done`):t(`chat.thinking.inProgress`))}}}),Xt={class:`thinking-label`},Zt={class:`thinking-content`};function Qt(e,n,i,a,s,c){let l=m(`ArrowRight`),u=m(`el-icon`),h=m(`font-awesome-icon`),v=m(`markdown-renderer`);return f(),g(`div`,{class:t([`thinking-block`,{active:!e.done}])},[r(`div`,{class:`thinking-header`,onClick:n[0]||=t=>e.collapsed=!e.collapsed},[o(u,{class:t([`caret`,{"rotate-90":!e.collapsed}])},{default:_(()=>[o(l)]),_:1},8,[`class`]),o(h,{icon:`fa-solid fa-brain`,class:t([`brain`,{pulse:!e.done}])},null,8,[`class`]),r(`span`,Xt,d(e.label),1)]),b(r(`div`,Zt,[o(v,{content:e.content},null,8,[`content`])],512),[[p,!e.collapsed]])],2)}var $t=V(Yt,[[`render`,Qt],[`__scopeId`,`data-v-63e2d974`]]),en=c({name:`ConnectorEntryRow`,components:{ElButton:T,FontAwesomeIcon:Y},props:{entry:{type:Object,required:!0},catalog:{type:Object,default:null},disabled:{type:Boolean,default:!1}},emits:[`authorize`],data(){return{logoError:!1}},computed:{fallbackName(){let e=this.entry.connector??``;return e.startsWith(`acedatacloud/`)?e.slice(13):e},displayName(){return this.catalog?.name?.trim()||this.fallbackName},iconUrl(){return this.logoError?``:this.catalog?.icon_url||``},secondaryText(){return this.entry.context&&this.entry.context.trim()?this.entry.context:this.catalog?.short_description||``}},watch:{"catalog.icon_url"(){this.logoError=!1}},methods:{onAuthorize(){this.$emit(`authorize`,this.entry)},onLogoError(){this.logoError=!0}}}),tn={class:`entry-icon`,"aria-hidden":`true`},nn=[`src`,`alt`],rn={class:`entry-text`},an={class:`entry-name`},on={key:0,class:`entry-context`},sn={class:`entry-action`},cn={key:0,class:`status-pill connected`},ln={key:2,class:`status-pill unconnected`};function un(e,i,o,c,l,u){let p=m(`font-awesome-icon`),h=m(`el-button`);return f(),g(`div`,{class:t([`connector-entry-row`,{"is-connected":e.entry.status===`connected`}])},[r(`div`,tn,[e.iconUrl?(f(),g(`img`,{key:0,src:e.iconUrl,class:`icon-logo`,alt:e.displayName,onError:i[0]||=(...t)=>e.onLogoError&&e.onLogoError(...t)},null,40,nn)):e.entry.status===`connected`?(f(),n(p,{key:1,icon:`fa-solid fa-circle-check`,class:`icon-connected`})):(f(),n(p,{key:2,icon:`fa-solid fa-plug`,class:`icon-unconnected`}))]),r(`div`,rn,[r(`div`,an,d(e.displayName),1),e.secondaryText?(f(),g(`div`,on,d(e.secondaryText),1)):s(``,!0)]),r(`div`,sn,[e.entry.status===`connected`?(f(),g(`span`,cn,d(e.$t(`chat.consent.statusConnected`)),1)):e.entry.install_url?(f(),n(h,{key:1,type:`primary`,size:`small`,disabled:e.disabled,onClick:e.onAuthorize},{default:_(()=>[a(d(e.$t(`chat.consent.authorize`)),1)]),_:1},8,[`disabled`,`onClick`])):(f(),g(`span`,ln,d(e.$t(`chat.consent.statusUnconnected`)),1))])],2)}var dn=V(en,[[`render`,un],[`__scopeId`,`data-v-c9e31277`]]);function fn(e){let t=new Set,n=[];for(let r of e.requirements??[])if(!r.satisfied)for(let e of r.entries??[])e.status===`unconnected`&&!t.has(e.connector)&&(t.add(e.connector),n.push(e.connector));return n}function Q(e,t,n){return JSON.stringify({consent_request_id:e.consent_request_id,authorized:t,skipped:n})}async function pn(){let e=await G.get(`/connections/`,{baseURL:`${q()}/api/v1`});return Array.isArray(e.data)?e.data:[]}var mn=new Map,$=new Map;async function hn(e){if(!e)return;let t=mn.get(e);if(t)return t;let n=$.get(e);if(n)return n;let r=(async()=>{try{let t=(await G.get(`/connectors/${e}/`,{baseURL:`${q()}/api/v1`})).data;return mn.set(e,t),t}catch(t){console.warn(`connector catalog fetch failed`,e,t);return}})().finally(()=>{$.delete(e)});return $.set(e,r),r}async function gn(e,t){return(await G.post(`/connectors/${e}/install/`,t,{baseURL:`${q()}/api/v1`})).data}var _n=c({name:`ConnectorConsentCard`,components:{ConnectorEntryRow:dn,ElButton:T,ElCheckbox:te,ElCheckboxGroup:ee,ElDialog:H,FontAwesomeIcon:Y},props:{toolUseId:{type:String,required:!0},payload:{type:Object,required:!0},resolved:{type:Boolean,default:!1},previousOutput:{type:String,default:``}},emits:[`submit`,`authorize`],data(){return{resolvedAuthorized:[],resolvedSkipped:[],catalogs:{},scopeDialogVisible:!1,scopeDialogEntry:null,scopeDialogCatalog:null,selectedScopes:[],authorizingConnector:``,liveStatuses:{},hasCheckedStatuses:!1,refreshingStatus:!1}},computed:{requirements(){return this.payload?.requirements??[]},effectiveStatus(){return e=>this.liveStatuses[e.connector]??e.status},effectiveEntriesFor(){return e=>e.entries.map(e=>{let t=this.liveStatuses[e.connector];return!t||t===e.status?e:{...e,status:t}})},effectiveSatisfiedFor(){return e=>{let t=e.entries.map(e=>this.effectiveStatus(e));return t.length===0?e.satisfied:e.match===`all`?t.every(e=>e===`connected`):t.some(e=>e===`connected`)}},hasUnsatisfied(){return this.requirements.some(e=>!this.effectiveSatisfiedFor(e))},showContinueButton(){return this.resolved||!this.hasCheckedStatuses?!1:!this.hasUnsatisfied},resolvedSummary(){return this.resolvedAuthorized.length>0?this.$t(`chat.consent.resolvedAuthorized`,{list:this.resolvedAuthorized.join(`, `)}):this.$t(`chat.consent.resolvedSkipped`)}},watch:{resolved:{immediate:!0,handler(e){e&&this.parsePreviousOutput()}},previousOutput:{immediate:!1,handler(){this.resolved&&this.parsePreviousOutput()}},payload:{immediate:!0,deep:!1,handler(){this.refreshCatalogs()}}},mounted(){this.shouldRefreshFromReturn()&&this.refreshConnectionStatuses()},methods:{showMatchLabel(e){return e.entries.length>1&&!this.effectiveSatisfiedFor(e)},catalogFor(e){return this.catalogs[e.catalog_id]||null},async refreshCatalogs(){let e=new Set;for(let t of this.requirements)for(let n of t.entries)n.catalog_id&&e.add(n.catalog_id);await Promise.all(Array.from(e).map(async e=>{if(this.catalogs[e])return;let t=await hn(e);t&&(this.catalogs={...this.catalogs,[e]:t})}))},onAuthorize(e){let t=this.catalogFor(e);if(!t||t.auth_mode===`byoc`||!t.installable){this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e});return}let n=t.permissions||[];if(n.length>1){this.scopeDialogEntry=e,this.scopeDialogCatalog=t,this.selectedScopes=n.map(e=>e.id),this.scopeDialogVisible=!0;return}this.performInstall(e,void 0)},onConfirmScopes(){let e=this.scopeDialogEntry;if(!e){this.scopeDialogVisible=!1;return}let t=[...this.selectedScopes];this.scopeDialogVisible=!1,this.performInstall(e,t)},async performInstall(e,t){this.authorizingConnector=e.connector;try{let n=new URL(window.location.href);n.searchParams.set(`consent`,this.payload.consent_request_id),n.searchParams.delete(`connector`);let r=await gn(e.catalog_id,{scopes:t,return_url:n.toString()});if(r.type===`redirect`&&r.authorization_url){window.location.href=r.authorization_url;return}this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}catch(t){console.error(`installFromCatalog failed`,t),K.error(this.$t(`chat.consent.installFailed`)),this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}finally{this.authorizingConnector=``}},onSkip(){let e=fn(this.payload),t=Q(this.payload,[],e);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},shouldRefreshFromReturn(){if(typeof window>`u`)return!1;try{return new URL(window.location.href).searchParams.get(`consent`)===this.payload?.consent_request_id}catch{return!1}},async refreshConnectionStatuses(){this.refreshingStatus=!0;try{let e=await pn(),t=new Set;for(let n of e){let e=n.connector_identifier;e&&String(n.status).toLowerCase()===`active`&&t.add(e)}let n={};for(let e of this.requirements)for(let r of e.entries)n[r.connector]=t.has(r.connector)?`connected`:`unconnected`;this.liveStatuses=n,this.hasCheckedStatuses=!0}catch(e){console.warn(`listMyConnections failed`,e)}finally{this.refreshingStatus=!1}},onContinue(){let e=[];for(let t of this.requirements)for(let n of t.entries)this.effectiveStatus(n)===`connected`&&e.push(n.connector);let t=Q(this.payload,e,[]);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},parsePreviousOutput(){if(this.resolvedAuthorized=[],this.resolvedSkipped=[],this.previousOutput)try{let e=JSON.parse(this.previousOutput);Array.isArray(e.authorized)&&(this.resolvedAuthorized=e.authorized.filter(e=>typeof e==`string`)),Array.isArray(e.skipped)&&(this.resolvedSkipped=e.skipped.filter(e=>typeof e==`string`))}catch{}}}}),vn={class:`ccc-header`},yn={class:`header-title`},bn={key:0,class:`ccc-rationale`},xn={key:0,class:`ccc-req-match`},Sn={key:1,class:`ccc-actions`},Cn={key:2,class:`ccc-resolved-banner`},wn={class:`ccc-scope-hint`},Tn={class:`ccc-scope-label`},En={key:0,class:`ccc-scope-desc`};function Dn(e,i,c,u,p,h){let v=m(`font-awesome-icon`),y=m(`ConnectorEntryRow`),b=m(`el-button`),x=m(`el-checkbox`),C=m(`el-checkbox-group`),w=m(`el-dialog`);return f(),g(`div`,{class:t([`connector-consent-card`,{"is-resolved":e.resolved}])},[r(`div`,vn,[o(v,{icon:`fa-solid fa-shield-halved`,class:`header-icon`}),r(`span`,yn,d(e.$t(`chat.consent.title`)),1)]),e.payload.rationale?(f(),g(`p`,bn,d(e.payload.rationale),1)):s(``,!0),(f(!0),g(S,null,l(e.requirements,r=>(f(),g(`div`,{key:r.requirement_index,class:t([`ccc-requirement`,{"is-satisfied":e.effectiveSatisfiedFor(r)}])},[e.showMatchLabel(r)?(f(),g(`div`,xn,d(r.match===`any`?e.$t(`chat.consent.matchAny`):e.$t(`chat.consent.matchAll`)),1)):s(``,!0),(f(!0),g(S,null,l(e.effectiveEntriesFor(r),t=>(f(),n(y,{key:t.connector,entry:t,catalog:e.catalogFor(t),disabled:e.resolved||e.authorizingConnector!==``,onAuthorize:e.onAuthorize},null,8,[`entry`,`catalog`,`disabled`,`onAuthorize`]))),128))],2))),128)),!e.resolved&&(e.hasUnsatisfied||e.showContinueButton)?(f(),g(`div`,Sn,[e.hasUnsatisfied?(f(),n(b,{key:0,text:``,disabled:e.authorizingConnector!==``,onClick:e.onSkip},{default:_(()=>[a(d(e.$t(`chat.consent.skip`)),1)]),_:1},8,[`disabled`,`onClick`])):s(``,!0),e.showContinueButton?(f(),n(b,{key:1,type:`primary`,loading:e.refreshingStatus,disabled:e.authorizingConnector!==``,onClick:e.onContinue},{default:_(()=>[a(d(e.$t(`chat.consent.continue`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):s(``,!0)])):s(``,!0),e.resolved?(f(),g(`div`,Cn,d(e.resolvedSummary),1)):s(``,!0),o(w,{modelValue:e.scopeDialogVisible,"onUpdate:modelValue":i[2]||=t=>e.scopeDialogVisible=t,title:e.scopeDialogCatalog?e.$t(`chat.consent.selectScopes`,{provider:e.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,"append-to-body":``},{footer:_(()=>[o(b,{disabled:e.authorizingConnector!==``,onClick:i[1]||=t=>e.scopeDialogVisible=!1},{default:_(()=>[a(d(e.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),o(b,{type:`primary`,loading:e.authorizingConnector!==``,onClick:e.onConfirmScopes},{default:_(()=>[a(d(e.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:_(()=>[r(`p`,wn,d(e.$t(`chat.consent.selectScopesHint`)),1),o(C,{modelValue:e.selectedScopes,"onUpdate:modelValue":i[0]||=t=>e.selectedScopes=t},{default:_(()=>[(f(!0),g(S,null,l(e.scopeDialogCatalog?.permissions||[],e=>(f(),g(`div`,{key:e.id,class:`ccc-scope-row`},[o(x,{value:e.id,label:e.id},{default:_(()=>[r(`span`,Tn,d(e.label||e.id),1)]),_:2},1032,[`value`,`label`]),e.desc?(f(),g(`p`,En,d(e.desc),1)):s(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])],2)}var On=c({name:`Message`,components:{EditMessage:ft,CopyToClipboard:Ie,RestartToGenerate:lt,AnsweringMark:We,MarkdownRenderer:Z,FilePreview:ze,ToolActivity:wt,EntityCard:Jt,ThinkingBlock:$t,AskUserQuestionCard:Re,ConnectorConsentCard:V(_n,[[`render`,Dn],[`__scopeId`,`data-v-5b00f3b0`]]),ElButton:T,ElImage:N,ElInput:Ee,FontAwesomeIcon:Y},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:[`stop`,`edit`,`restart`,`answerAskUserQuestion`,`skipAskUserQuestion`,`respondConnectorConsent`,`authorizeConnector`],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:W}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},copyableText(){let e=this.message.content;return e?typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
|
|
3
|
-
`).trim():``:``},errorText(){if(console.debug(`error`,this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case oe:return this.$t(`chat.message.errorUsedUp`);case ge:return this.$t(`chat.message.errorApiError`);case ye:return this.$t(`chat.message.errorBadRequest`);case be:return this.$t(`chat.message.errorTimeout`);case Se:return this.$t(`chat.message.errorBusy`);case xe:return this.$t(`chat.message.errorContentTooLarge`);case fe:return this.$t(`chat.message.errorTooManyRequests`);case R:return this.$t(`chat.message.errorNotApplied`);case _e:return;case se:default:return this.$t(`chat.message.errorUnknown`)}}},showBuyMore(){return!je()&&this.message.role===`assistant`&&this.message.error?.code===`used_up`}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug(`start to get answer`,this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit(`restart`,this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onEditEnterKey(e){let t=e;t.isComposing||t.keyCode===229||(t.preventDefault(),this.onEdit())},onSubmit(){this.$emit(`edit`,this.message,this.questionValue)},onCopy(){De(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:ke,params:{id:this.application?.id}})},onAskUserQuestionSubmit(e){this.$emit(`answerAskUserQuestion`,e)},onAskUserQuestionSkip(e){this.$emit(`skipAskUserQuestion`,e)},askUserQuestionPayloadFromBlock(e){return e.pending_question?e.pending_question:{questions:e.input?.questions||[]}},onConnectorConsentSubmit(e){this.$emit(`respondConnectorConsent`,e)},onConnectorConsentAuthorize(e){this.$emit(`authorizeConnector`,e)},consentPayloadFromBlock(e){return e.pending_consent_request??null}}}),kn=[`role`],An={class:`author`},jn={key:0,class:`main`},Mn={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`content`},Nn={key:0,class:`message-content`},Pn={key:1},Fn={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},In={key:2},Ln=[`src`],Rn={key:2},zn={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},Bn={key:1,class:`edits`},Vn={class:`flex justify-end`},Hn={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`operations`},Un={key:1,class:`error-card`},Wn={class:`error-content`},Gn={class:`error-text`};function Kn(e,i,c,u,p,h){let v=m(`el-image`),w=m(`thinking-block`),T=m(`markdown-renderer`),E=m(`file-preview`),D=m(`tool-activity`),O=m(`ask-user-question-card`),k=m(`connector-consent-card`),A=m(`entity-card`),j=m(`el-input`),M=m(`el-button`),N=m(`answering-mark`),ee=m(`edit-message`),te=m(`copy-to-clipboard`),P=m(`restart-to-generate`),F=m(`font-awesome-icon`),I=y(`motion`);return f(),g(`div`,{class:t({message:!0,[e.message.role]:!0}),role:e.message.role},[r(`div`,An,[e.message.role===`assistant`?(f(),n(v,{key:0,src:e.modelGroup?.icon,fit:`cover`,class:`avatar`},null,8,[`src`])):s(``,!0)]),e.errorText?(f(),g(`div`,Un,[r(`div`,Wn,[o(F,{icon:`fa-solid fa-circle-exclamation`,class:`error-icon`}),r(`span`,Gn,d(e.errorText),1)]),e.showBuyMore?(f(),n(M,{key:0,round:``,type:`primary`,class:`btn-topup`,size:`small`,onClick:e.onBuyMore},{default:_(()=>[a(d(e.$t(`common.button.buyMore`)),1)]),_:1},8,[`onClick`])):s(``,!0)])):(f(),g(`div`,jn,[b((f(),g(`div`,Mn,[e.isEditing?(f(),g(`div`,Bn,[o(j,{modelValue:e.questionValue,"onUpdate:modelValue":i[0]||=t=>e.questionValue=t,type:`textarea`,class:`mb-2`,onKeydown:x(C(e.onEditEnterKey,[`exact`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),r(`div`,Vn,[o(M,{round:``,onClick:e.cancelEdit},{default:_(()=>[a(d(e.$t(`common.button.cancel`)),1)]),_:1},8,[`onClick`]),o(M,{type:`primary`,class:`btn-confirm`,round:``,onClick:e.onEdit},{default:_(()=>[a(d(e.$t(`common.button.confirm`)),1)]),_:1},8,[`onClick`])])])):(f(),g(`div`,Nn,[e.message.role===`assistant`&&e.message.thinking?(f(),n(w,{key:0,content:e.message.thinking,done:e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED},null,8,[`content`,`done`])):s(``,!0),Array.isArray(e.message.content)?(f(),g(`div`,In,[(f(!0),g(S,null,l(e.message.content,(t,r)=>(f(),g(`div`,{key:r},[t.type===`image_url`?(f(),g(`img`,{key:0,src:typeof t?.image_url==`string`?t.image_url:t.image_url?.url,fit:`cover`,class:`image`},null,8,Ln)):s(``,!0),t.file_url?(f(),n(E,{key:1,name:t.name||(typeof t?.file_url==`string`?t.file_url:t.file_url?.url),percentage:0,closable:!1,class:`mt-2`},null,8,[`name`])):s(``,!0),t.type===`text`?(f(),g(`div`,Rn,[e.message.role===`assistant`?(f(),n(T,{key:0,content:t.text,citations:e.message.citations},null,8,[`content`,`citations`])):(f(),g(`pre`,zn,d(t.text?.trim()),1))])):s(``,!0),t.type===`tool_use`&&!(t.tool_name===`ask_user_question`&&(t.status===`awaiting_input`||t.status===`done`))&&!(t.tool_name===`request_user_consent`&&(t.status===`awaiting_input`||t.status===`done`))?(f(),n(D,{key:3,item:t},null,8,[`item`])):s(``,!0),t.type===`tool_use`&&t.tool_name===`ask_user_question`&&t.status===`awaiting_input`&&t.pending_question?(f(),n(O,{key:4,"tool-use-id":t.tool_id||``,payload:t.pending_question,collapsed:!1,onSubmit:e.onAskUserQuestionSubmit,onSkip:e.onAskUserQuestionSkip},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onSkip`])):s(``,!0),t.type===`tool_use`&&t.tool_name===`ask_user_question`&&t.status===`done`?(f(),n(O,{key:5,"tool-use-id":t.tool_id||``,payload:e.askUserQuestionPayloadFromBlock(t),collapsed:!0,"previous-output":t.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):s(``,!0),t.type===`tool_use`&&t.tool_name===`request_user_consent`&&t.status===`awaiting_input`&&t.pending_consent_request?(f(),n(k,{key:6,"tool-use-id":t.tool_id||``,payload:t.pending_consent_request,resolved:!1,onSubmit:e.onConnectorConsentSubmit,onAuthorize:e.onConnectorConsentAuthorize},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onAuthorize`])):s(``,!0),t.type===`tool_use`&&t.tool_name===`request_user_consent`&&t.status===`done`&&e.consentPayloadFromBlock(t)?(f(),n(k,{key:7,"tool-use-id":t.tool_id||``,payload:e.consentPayloadFromBlock(t),resolved:!0,"previous-output":t.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):s(``,!0),t.type===`card`&&t.card?(f(),n(A,{key:8,card:t.card},null,8,[`card`])):s(``,!0)]))),128))])):(f(),g(`div`,Pn,[e.message.role===`assistant`?(f(),n(T,{key:0,content:e.message?.content,citations:e.message.citations},null,8,[`content`,`citations`])):(f(),g(`pre`,Fn,d(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(f(),n(N,{key:2})):s(``,!0)])),[[I]]),b((f(),g(`div`,Hn,[e.message.role===`user`&&!e.isEditing&&!Array.isArray(e.message.content)?(f(),n(ee,{key:0,class:`btn-edit`,onClick:e.startEditing},null,8,[`onClick`])):s(``,!0),e.copyableText&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(f(),n(te,{key:1,content:e.copyableText,class:`btn-copy`},null,8,[`content`])):s(``,!0),(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role===`assistant`&&e.message===e.messages[e.messages.length-1]?(f(),n(P,{key:2,class:`btn-restart`,messages:e.messages,onRestart:e.onRestart},null,8,[`messages`,`onRestart`])):s(``,!0)])),[[I]])]))],10,kn)}var qn=V(On,[[`render`,Kn],[`__scopeId`,`data-v-d37cfb68`]]),Jn=c({name:`Composer`,components:{FilePreview:ze,ImagePreview:Be,ElTooltip:M,FontAwesomeIcon:Y,ElUpload:j,ElButton:T,ElDropdown:L,ElDropdownMenu:I,ElDropdownItem:F},mixins:[Ne,Pe],props:{answering:{type:Boolean,required:!1,default:!1},ready:{type:Boolean,required:!1,default:!0},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:[`update:question`,`update:references`,`submit`,`stop`],data(){return{inputHeight:`35px`,questionValue:this.question||``,fileList:[],uploadUrl:Ae()+`/api/v1/files/`}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},refs(){let e=[];for(let t of this.fileList){let n=t?.response?.file_url;n&&e.push(t?.name?{url:n,name:t.name}:{url:n})}return e},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic`},pasteAccept(){return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic,image/*`}},watch:{refs(e){console.debug(`References:`,e),e.length>0&&this.$emit(`update:references`,e)},questionValue(e){this.$emit(`update:question`,e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug(`References updated:`,e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:Me,adjustTextareaHeight(){this.$nextTick(()=>{let e=this.$refs.textarea;e&&(e.style.height=`35px`,e.style.height=e.scrollHeight+`px`)})},onSubmit(){!this.question||this.uploading||!this.ready||this.$emit(`submit`)},onEnterKey(e){e.isComposing||e.keyCode===229||(e.preventDefault(),this.onSubmit())},onStop(){this.$emit(`stop`)},onProgress(e,t){console.debug(`File upload progress:`,t.name,e.loaded,e.total,t.percentage)},onExceed(){K.warning(this.$t(`chat.message.uploadReferencesExceed`))},onError(){K.error(this.$t(`chat.message.uploadReferencesError`))},onTriggerUpload(){!this.isFileSupported&&!this.isImageSupported||this.answering||this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},onOpenSkills(){window.open(Ce(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(Ce(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),Yn={class:`composer`},Xn={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},Zn={key:0,class:`file-previews`},Qn=[`disabled`,`placeholder`],$n={class:`tools`},er={class:`btn-plus-trigger`},tr=[`aria-disabled`];function nr(e,a,c,u,v,y){let w=m(`el-upload`),T=m(`image-preview`),E=m(`file-preview`),D=m(`font-awesome-icon`),O=m(`el-tooltip`),k=m(`el-dropdown-item`),A=m(`el-dropdown-menu`),j=m(`el-dropdown`),M=m(`el-button`);return f(),g(`div`,Yn,[o(w,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":a[0]||=t=>e.fileList=t,class:`upload-hidden`,accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:`file`,limit:10,multiple:!0,action:e.uploadUrl,"show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{default:_(()=>[r(`span`,Xn,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),e.fileList.length>0?(f(),g(`div`,Zn,[(f(!0),g(S,null,l(e.fileList,t=>(f(),g(S,{key:t.uid},[e.isImageUrl(t.name)?(f(),n(T,{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`])):(f(),n(E,{key:1,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`name`,`percentage`,`onRemove`]))],64))),128))])):s(``,!0),b(r(`textarea`,{ref:`textarea`,"onUpdate:modelValue":a[1]||=t=>e.questionValue=t,disabled:e.answering,class:`input`,placeholder:e.$t(`chat.message.newMessagePlaceholder`),style:i({height:e.inputHeight}),onKeydown:a[2]||=x(C((...t)=>e.onEnterKey&&e.onEnterKey(...t),[`exact`]),[`enter`]),onInput:a[3]||=(...t)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...t)},null,44,Qn),[[h,e.questionValue]]),r(`div`,$n,[o(j,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:_(()=>[o(A,null,{default:_(()=>[o(k,{disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,onClick:e.onTriggerUpload},{default:_(()=>[o(D,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),r(`span`,null,d(e.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),o(k,{onClick:e.onOpenSkills},{default:_(()=>[o(D,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),r(`span`,null,d(e.$t(`chat.composer.skills`)),1),o(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),o(k,{onClick:e.onOpenConnections},{default:_(()=>[o(D,{icon:`fa-solid fa-plug`,class:`menu-icon`}),r(`span`,null,d(e.$t(`chat.composer.connections`)),1),o(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:_(()=>[r(`span`,er,[o(O,{class:`box-item`,effect:`dark`,content:e.$t(`chat.composer.addAction`),placement:`top`},{default:_(()=>[r(`span`,{class:t({btn:!0,"btn-plus":!0,disabled:e.answering}),"aria-disabled":e.answering,role:`button`},[o(D,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,tr)]),_:1},8,[`content`])])]),_:1})]),o(M,{disabled:e.answering||!e.questionValue||e.uploading||!e.ready,type:`primary`,class:t({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:_(()=>[o(D,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),b(o(M,{disabled:!e.answering,type:`primary`,class:t({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:_(()=>[o(D,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[p,e.answering]])])}var rr=V(Jn,[[`render`,nr],[`__scopeId`,`data-v-7dc7bd90`]]),ir=c({name:`ModelSelector`,components:{ElDropdown:L,ElDropdownMenu:I,ElDropdownItem:F,FontAwesomeIcon:Y},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[me,pe,ce,he,le,ue]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||me}},watch:{modelGroup(e){console.debug(`modelGroup from route changed`,e),this.$store.dispatch(`chat/setModelGroup`,e),this.$store.dispatch(`chat/setModel`,e.models[0])}},mounted(){let e=this.modelGroup;this.$store.state.chat?.modelGroup?.name!==e.name&&this.$store.dispatch(`chat/setModelGroup`,e);let t=this.$store.state.chat?.model;e.models.some(e=>e.name===t?.name)||this.$store.dispatch(`chat/setModel`,e.models[0])},methods:{onModelGroupChange(e){this.$store.dispatch(`chat/setModelGroup`,e),this.$emit(`model-group-changed`,e)},onModelChange(e){this.$store.dispatch(`chat/setModel`,e),this.$emit(`model-changed`,e)}}}),ar={class:`selector`},or={class:`trigger`},sr=[`src`],cr={class:`trigger-name`},lr={class:`item`},ur=[`src`],dr={class:`item-info`},fr={key:0,class:`item-name`},pr={key:0,class:`item-free-tag`},mr={key:1,class:`item-desc`};function hr(e,i,c,u,p,h){let v=m(`font-awesome-icon`),y=m(`el-dropdown-item`),b=m(`el-dropdown-menu`),x=m(`el-dropdown`);return f(),g(`div`,ar,[o(x,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:_(()=>[e.modelGroup&&e.modelGroup?.models?(f(),n(b,{key:0},{default:_(()=>[(f(!0),g(S,null,l(e.modelGroup?.models?.filter(e=>e.enabled),(i,o)=>(f(),n(y,{key:o,class:t({active:e.model?.name===i?.name}),onClick:t=>e.onModelChange(i)},{default:_(()=>[r(`div`,lr,[i?.icon?(f(),g(`img`,{key:0,src:i.icon,class:`item-icon`},null,8,ur)):s(``,!0),r(`div`,dr,[i?.getDisplayName?(f(),g(`p`,fr,[a(d(i?.getDisplayName())+` `,1),i?.isFree?(f(),g(`span`,pr,d(e.$t(`chat.model.freeTag`)),1)):s(``,!0)])):s(``,!0),i?.getDescription?(f(),g(`p`,mr,d(i?.getDescription()),1)):s(``,!0)]),e.model?.name===i?.name?(f(),n(v,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):s(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):s(``,!0)]),default:_(()=>[r(`div`,or,[e.model?.icon?(f(),g(`img`,{key:0,src:e.model.icon,class:`trigger-icon`},null,8,sr)):s(``,!0),r(`span`,cr,d(e.model?.getDisplayName?.()??e.model?.name??``),1),o(v,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var gr=V(ir,[[`render`,hr],[`__scopeId`,`data-v-2e6e7a65`]]),_r=c({name:`DesktopAgentManager`,components:{ElDialog:H},props:{modelValue:{type:Boolean,default:!1},connected:{type:Boolean,default:!1},agentName:{type:String,default:``},toolCount:{type:Number,default:0},connectedAt:{type:String,default:``}},emits:[`update:modelValue`]}),vr={class:`agent-manager`},yr={class:`description`},br={key:0,class:`status-card connected`},xr={class:`status-header`},Sr={class:`status-text`},Cr={class:`info-row`},wr={class:`label`},Tr={class:`value`},Er={class:`info-row`},Dr={class:`label`},Or={class:`value`},kr={class:`info-row`},Ar={class:`label`},jr={class:`value`},Mr={class:`hint`},Nr={key:1,class:`status-card disconnected`},Pr={class:`status-header`},Fr={class:`status-text`},Ir={class:`install-guide`},Lr={class:`step-label`},Rr={class:`step-label`};function zr(e,t,i,a,o,s){let c=m(`el-dialog`);return f(),n(c,{"model-value":e.modelValue,title:e.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":t[0]||=t=>e.$emit(`update:modelValue`,t)},{default:_(()=>[r(`div`,vr,[r(`p`,yr,d(e.$t(`chat.agent.description`)),1),e.connected?(f(),g(`div`,br,[r(`div`,xr,[t[1]||=r(`span`,{class:`pulse-dot`},null,-1),r(`span`,Sr,d(e.$t(`chat.agent.connected`)),1)]),r(`div`,Cr,[r(`span`,wr,d(e.$t(`chat.agent.name`))+`:`,1),r(`span`,Tr,d(e.agentName),1)]),r(`div`,Er,[r(`span`,Dr,d(e.$t(`chat.agent.tools`))+`:`,1),r(`span`,Or,d(e.toolCount),1)]),r(`div`,kr,[r(`span`,Ar,d(e.$t(`chat.agent.connectedSince`))+`:`,1),r(`span`,jr,d(e.connectedAt),1)]),r(`p`,Mr,d(e.$t(`chat.agent.connectedHint`)),1)])):(f(),g(`div`,Nr,[r(`div`,Pr,[r(`span`,Fr,d(e.$t(`chat.agent.notConnected`)),1)]),r(`div`,Ir,[r(`p`,Lr,d(e.$t(`chat.agent.installLabel`)),1),t[2]||=r(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),r(`p`,Rr,d(e.$t(`chat.agent.runLabel`)),1),t[3]||=r(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var Br=V(_r,[[`render`,zr],[`__scopeId`,`data-v-a365b6f4`]]),Vr={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},Hr=c({name:`BYOKBadge`,components:{ElTooltip:M,FontAwesomeIcon:Y},data(){return{credentials:[],loaded:!1}},computed:{token(){return this.$store?.state?.chat?.credential?.token},modelGroup(){return this.$store?.state?.chat?.modelGroup?.name},expectedProvider(){let e=this.modelGroup;if(e)return Vr[e]},activeCredential(){let e=this.expectedProvider;if(e)return this.credentials.find(t=>t.provider===e&&t.is_active)},providerLabel(){return this.activeCredential?.provider_label},show(){return!!this.activeCredential}},watch:{token:{immediate:!0,handler(e){e&&!this.loaded&&this.fetch()}}},methods:{async fetch(){if(this.token)try{let{data:e}=await Te.list({token:this.token});this.credentials=e?.items??[],this.loaded=!0}catch(e){console.debug(`BYOK badge fetch skipped`,e),this.credentials=[]}},onClickManage(){window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:`apiKey`}}))}}}),Ur={class:`badge-text`};function Wr(e,t,i,a,c,l){let u=m(`font-awesome-icon`),p=m(`el-tooltip`);return e.show&&e.providerLabel?(f(),n(p,{key:0,content:`${e.$t(`byok.badge.tooltip`,{provider:e.providerLabel})} — ${e.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:_(()=>[r(`button`,{type:`button`,class:`byok-badge`,onClick:t[0]||=(...t)=>e.onClickManage&&e.onClickManage(...t)},[o(u,{icon:`fa-solid fa-key`,class:`badge-icon`}),r(`span`,Ur,d(e.$t(`byok.badge.active`,{provider:e.providerLabel})),1)])]),_:1},8,[`content`])):s(``,!0)}var Gr=V(Hr,[[`render`,Wr],[`__scopeId`,`data-v-2875e3f2`]]),Kr={},qr={class:`disclaimer`};function Jr(e,t){return f(),g(`p`,qr,d(e.$t(`chat.message.howToUse`)),1)}var Yr=V(Kr,[[`render`,Jr],[`__scopeId`,`data-v-d2d980ab`]]),Xr=c({name:`SidePanel`,components:{ElInput:Ee,ElButton:T,ElDialog:H,ElDropdown:L,ElDropdownItem:F,ElDropdownMenu:I,FontAwesomeIcon:Y,ElSkeleton:re},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,actingConversation:void 0,renameDraft:``,renameSubmitting:!1,deleteSubmitting:!1}},computed:{conversationId(){return console.debug(`conversationId in side`,this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){return this.$store.state.chat.conversations},conversationGroups(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e);n.setDate(n.getDate()-e.getDay());let r=new Date(n);r.setDate(r.getDate()-7);let i=this.conversations?.reduce((r,i)=>{let a=new Date(i.updated_at*1e3);return a>=e?r.today.push(i):a>=t?r.yesterday.push(i):a>=n?r.thisWeek.push(i):r.earlier.push(i),r},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...i?.today?.length>0?{today:i?.today?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.yesterday?.length>0?{yesterday:i?.yesterday?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.thisWeek?.length>0?{thisWeek:i?.thisWeek?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.earlier?.length>0?{earlier:i?.earlier?.sort((e,t)=>t.updated_at-e.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===J.Request},token(){return this.$store.state.chat?.credential?.token}},methods:{async onNewConversation(){console.debug(`onNewConversation from side panel`),this.$emit(`change-conversation`,void 0)},onClickConversation(e){console.debug(`onClickConversation in side panel`,e),this.$emit(`change-conversation`,e)},getConversationTitle(e){return e?.title||e?.last_message_preview||``},onConversationCommand(e,t){e===`rename`?this.openRenameDialog(t):e===`delete`&&this.openDeleteDialog(t)},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||``).trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){let e=this.token,t=this.actingConversation?.id,n=(this.renameDraft||``).trim();if(!e){K.error(`Token 不存在,请重新登录`);return}if(!t){K.error(`会话不存在`);return}if(!n){K.warning(`请输入名称`);return}this.renameSubmitting=!0;try{await U.updateConversation({id:t,title:n},{token:e}),await this.$store.dispatch(`chat/getConversations`),this.renameDialogVisible=!1,K.success(`已重命名`)}catch(e){console.error(e),K.error(`重命名失败,请稍后重试`)}finally{this.renameSubmitting=!1}},async onConfirmDelete(){let e=this.token,t=this.actingConversation?.id;if(!e){K.error(`Token 不存在,请重新登录`);return}if(!t){K.error(`会话不存在`);return}this.deleteSubmitting=!0;try{await U.deleteConversation(t,{token:e}),await this.$store.dispatch(`chat/getConversations`),t===this.conversationId&&this.$emit(`change-conversation`,void 0),this.deleteDialogVisible=!1,K.success(`已删除`)}catch(e){console.error(e),K.error(`删除失败,请稍后重试`)}finally{this.deleteSubmitting=!1}}}}),Zr={class:`panel`},Qr={key:1,class:`conversations`},$r={class:`icons`},ei={class:`title`},ti={class:`key`},ni=[`onClick`],ri={class:`title`},ii={class:`operations`};function ai(e,i,s,c,u,p){let h=m(`el-skeleton`),v=m(`font-awesome-icon`),y=m(`el-dropdown-item`),b=m(`el-dropdown-menu`),w=m(`el-dropdown`),T=m(`el-input`),E=m(`el-button`),D=m(`el-dialog`);return f(),g(`div`,Zr,[e.loading&&e.conversationGroups===void 0?(f(),n(h,{key:0})):(f(),g(`div`,Qr,[r(`div`,{class:`conversation`,onClick:i[0]||=(...t)=>e.onNewConversation&&e.onNewConversation(...t)},[r(`div`,$r,[o(v,{icon:`fa-solid fa-plus`,class:`icon`})]),r(`div`,ei,d(e.$t(`chat.message.startNewChat`)),1)]),(f(!0),g(S,null,l(e.conversationGroups,(n,s)=>(f(),g(`div`,{key:s,class:`group`},[r(`div`,ti,d(e.$t(`chat.group.${s}`)),1),(f(!0),g(S,null,l(n,(n,s)=>(f(),g(`div`,{key:s,class:t({conversation:!0,active:n.id===e.conversationId}),onClick:t=>e.onClickConversation(n.id)},[r(`div`,ri,d(e.getConversationTitle(n)),1),r(`div`,ii,[o(w,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:t=>e.onConversationCommand(t,n)},{dropdown:_(()=>[o(b,null,{default:_(()=>[o(y,{command:`rename`,onClick:i[2]||=C(()=>{},[`stop`])},{default:_(()=>[o(v,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),i[9]||=a(` 重命名 `,-1)]),_:1}),o(y,{command:`delete`,onClick:i[3]||=C(()=>{},[`stop`])},{default:_(()=>[o(v,{icon:`fa-solid fa-trash`,class:`mr-2`}),a(` `+d(e.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:_(()=>[r(`span`,{class:`more`,onClick:i[1]||=C(()=>{},[`stop`])},[o(v,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,ni))),128))]))),128))])),o(D,{modelValue:e.renameDialogVisible,"onUpdate:modelValue":i[6]||=t=>e.renameDialogVisible=t,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:_(()=>[o(E,{onClick:i[5]||=t=>e.renameDialogVisible=!1},{default:_(()=>[a(d(e.$t(`common.button.cancel`)),1)]),_:1}),o(E,{type:`primary`,loading:e.renameSubmitting,onClick:e.onConfirmRename},{default:_(()=>[a(d(e.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:_(()=>[o(T,{modelValue:e.renameDraft,"onUpdate:modelValue":i[4]||=t=>e.renameDraft=t,autofocus:``,onKeydown:x(e.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),o(D,{modelValue:e.deleteDialogVisible,"onUpdate:modelValue":i[8]||=t=>e.deleteDialogVisible=t,width:`420px`,title:e.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:_(()=>[o(E,{onClick:i[7]||=t=>e.deleteDialogVisible=!1},{default:_(()=>[a(d(e.$t(`common.button.cancel`)),1)]),_:1}),o(E,{type:`danger`,loading:e.deleteSubmitting,onClick:e.onConfirmDelete},{default:_(()=>[a(d(e.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:_(()=>[i[10]||=r(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`])])}var oi=c({name:`LayoutChat`,components:{SidePanel:V(Xr,[[`render`,ai],[`__scopeId`,`data-v-ed94f565`]]),ElDrawer:P,ElButton:T,FontAwesomeIcon:Y},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),si={class:`main`},ci={class:`side`},li={class:`chat`};function ui(t,n,i,a,s,c){let l=m(`side-panel`),u=m(`font-awesome-icon`),d=m(`el-button`),p=m(`el-drawer`);return f(),g(`div`,si,[r(`div`,ci,[e(t.$slots,`side`,{},()=>[o(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),r(`div`,li,[e(t.$slots,`chat`,{},void 0,!0)]),o(d,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:_(()=>[o(u,{icon:`fa-solid fa-bars`})]),_:1}),o(p,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`290px`},{default:_(()=>[o(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var di=V(oi,[[`render`,ui],[`__scopeId`,`data-v-fb35b9e6`]]);function fi(e){return typeof e==`string`&&e.trim().length>0?e:Array.isArray(e)&&typeof e[0]==`string`&&e[0].trim().length>0?e[0]:null}function pi(e){let t=fi(e.consent),n=fi(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function mi(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`&&Array.isArray(r.content)){for(let e=r.content.length-1;e>=0;e--){let n=r.content[e];if(n.type!==`tool_use`||n.tool_name!==`request_user_consent`||n.status!==`awaiting_input`)continue;let i=n.pending_consent_request;if(!(!i||i.consent_request_id!==t)&&n.tool_id)return{toolUseId:n.tool_id,payload:i}}break}}return null}function hi(e,t){return Q(e,[t],[])}var gi=c({name:`ChatConversation`,components:{Composer:rr,Disclaimer:Yr,ModelSelector:gr,DesktopAgentManager:Br,"byok-badge":Gr,Message:qn,Layout:di,ElTooltip:M,ElButton:T,FontAwesomeIcon:Y},data(){return{drawer:!1,question:``,references:[],upload:!1,answering:!1,canceler:void 0,agentManagerVisible:!1,agentConnected:!1,agentName:``,agentToolCount:0,agentConnectedAt:``,skipNextRestoreId:void 0,messages:[],pendingConsentReturn:null}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===J.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===J.Request},ready(){return!this.initializing&&!!this.credential?.token&&!!this.application}},watch:{async references(e){console.log(`references changed`,e)},question(e){this.$store.commit(`chat/setPendingDraft`,e||``)},async modelGroup(e){console.debug(`modelGroup changed`,e),this.$store.commit(`chat/setConversations`,[]),await this.$store.dispatch(`chat/getConversations`)},"credential.token":{immediate:!0,async handler(e){e&&(this.modelGroup?.name&&await this.$store.dispatch(`chat/getConversations`),await this.onRestoreCurrentConversation(),this.onCheckAgentStatus())}},async conversationId(e){if(console.debug(`conversationId changed`,e),!e){this.resetConversation();return}await this.onRestoreCurrentConversation()},messages:{handler(){this.pendingConsentReturn&&this.onConsumePendingConsentReturn()},deep:!1}},async mounted(){this.onCaptureConsentReturnFromUrl(),await this.onGetService(),await this.onGetApplication(),this.onConsumePendingDraft(),this.onApplyQueryFromUrl()},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[]},async onRestoreCurrentConversation(){let e=this.conversationId;if(!(!e||!this.credential?.token)){if(this.skipNextRestoreId===e){this.skipNextRestoreId=void 0;return}await this.onRestoreConversation(e)}},async onCheckAgentStatus(){let e=this.credential?.token;if(e)try{let{data:t}=await Oe.status(e);this.agentConnected=t?.connected===!0,this.agentName=t?.name||``,this.agentToolCount=t?.tool_count||0,this.agentConnectedAt=t?.connected_at||``}catch{this.agentConnected=!1}},onConsumePendingDraft(){if(this.conversationId||this.question&&this.question.trim().length>0)return;let e=this.$store.state.chat?.pendingDraft;e&&(this.question=e)},onApplyQueryFromUrl(){let e=this.$route.query?.query,t=Array.isArray(e)?e[0]:e;if(!t||typeof t!=`string`||this.conversationId)return;if(this.question&&this.question.trim().length>0){let e=this.$store.state.chat?.pendingDraft;if(!(e!=null&&this.question===e))return}this.question=t;let n=new Set([`query`,`source`,`suggestion_id`,`connector`]),r={};for(let[e,t]of Object.entries(this.$route.query||{}))n.has(e)||t!=null&&(r[e]=t);this.$router.replace({path:this.$route.path,query:r})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`chat/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`chat/getApplications`),console.debug(`end onGetApplication`)},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){let t=this.messages.findIndex(t=>t===e),n=this.messages[t-1],r=[];if(t!==-1){if(r=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content==`string`)this.question=n.content;else if(Array.isArray(n.content))for(let e of n.content)if(e.type===`image_url`||e.type===`file_url`){let t=e.type===`image_url`?e.image_url:e.file_url,n=typeof t==`string`?t:t?.url;n&&this.references.push(e.name?{url:n,name:e.name}:{url:n})}else e.type===`text`&&e.text&&(this.question=e.text)}console.debug(`onRestart!`,this.question,JSON.stringify(this.references));let i=this.credential?.token,a=this.question.trim();if(!i||!a){console.error(`no token or endpoint or question`),this.messages.push({error:{code:R},role:z,state:W.FAILED});return}let o=this.conversationId;U.updateConversation({id:this.conversationId,messages:r},{token:i}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:o,messages:this.messages}),console.debug(`finished update conversation`,this.messages),console.debug(`onRestart`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},async onEdit(e,t){let n=this.messages.findIndex(t=>t===e);n!==-1&&(this.messages=this.messages.slice(0,n)),this.question=t;let r=this.credential?.token;if(!r){console.error(`no token or endpoint or question`),this.messages.push({error:{code:R},role:z,state:W.FAILED});return}let i=this.conversationId;U.updateConversation({id:this.conversationId,messages:this.messages},{token:r}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:i,messages:this.messages}),console.debug(`finished update conversation`,this.messages),this.messages.push({content:this.question,role:B}),console.debug(`onEdit`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},conversationsPath(e){let t=this.$route.matched[0]?.path??``;return e?`${t}/conversations/${e}`:`${t}/conversations`},async onNewConversation(){this.conversationId?await this.$router.push(this.conversationsPath()):this.resetConversation()},async onRestoreConversation(e){console.debug(`onRestoreConversation id`,e);let t=this.conversations?.find(t=>t.id===e);if(!t||!t.messages){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=de.find(e=>e.name===n),i=ae.find(e=>e.name===r?.modelGroup);i&&this.$store.dispatch(`chat/setModelGroup`,i),r&&this.$store.dispatch(`chat/setModel`,r),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log(`onChangeConversation in conversation`,e),await this.onStop();let t=e||``;if(t===(this.conversationId||``)){t||await this.onNewConversation();return}await this.$router.push(this.conversationsPath(t))},async onSubmit(){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=Me(t.url)?{type:`image_url`,image_url:t.url}:{type:`file_url`,file_url:t.url};t.name&&(n.name=t.name),e.push(n)}this.messages.push({content:e,role:B})}else this.messages.push({content:this.question.trim(),role:B});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()},async onRequest(){console.debug(`start to get answer`,this.messages);let e=this.credential?.token,t=this.question.trim(),n=this.references.map(e=>e.url);if(console.debug(`validated`,t,n),this.question=``,this.references=[],!e||!t){console.error(`no token or endpoint or question`),this.messages.push({error:{code:R},role:z,state:W.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:z,state:W.PENDING}),console.debug(`start to get answer`,this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({question:t,model:this.model.name,references:n,id:this.conversationId,stateful:!0},e,r)},async onAnswerAskUserQuestion(e){let t=this.credential?.token;if(!t||!this.conversationId){console.error(`cannot resume: no token or no conversation id`);return}let n=[...this.messages].reverse().find(e=>e.role===z);if(n&&Array.isArray(n.content)){let t=n.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);t&&(t.status=`done`,t.output=e.output,delete t.pending_question)}this.messages.push({content:``,role:z,state:W.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}]},t,this.conversationId)},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===z);if(!t||!Array.isArray(t.content))return;let n=t.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);n&&(n.status=`done`,n.is_error=!0,n.output=n.output||``,delete n.pending_question)},async onRespondConnectorConsent(e){let t=this.credential?.token;if(!t||!this.conversationId){console.error(`cannot resume: no token or no conversation id`);return}let n=[...this.messages].reverse().find(e=>e.role===z);if(n&&Array.isArray(n.content)){let t=n.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);t&&(t.status=`done`,t.output=e.output)}this.messages.push({content:``,role:z,state:W.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}]},t,this.conversationId)},onAuthorizeConnector(e){let t=e.entry?.install_url;if(!t){console.warn(`authorize click with no install_url`,e);return}window.location.href=t},onCaptureConsentReturnFromUrl(){let e=pi(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=mi(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=hi(t.payload,e.connector);this.stripConsentReturnFromUrl(),this.onRespondConnectorConsent({tool_use_id:t.toolUseId,output:n})},stripConsentReturnFromUrl(){let e={};for(let[t,n]of Object.entries(this.$route.query||{}))t===`consent`||t===`connector`||n!=null&&(e[t]=n);this.$router.replace({path:this.$route.path,query:e})},_streamAssistantTurn(e,t,n){let r=n,i=[],a=new Map,o=``,s=0;U.chatConversation(e,{token:t,stream:e=>{console.debug(`stream response`,e);let t=this.messages[this.messages.length-1];if(e.type===`thinking`&&e.content){let t=this.messages[this.messages.length-1];t.thinking=(t.thinking??``)+e.content}else if(e.type===`tool_use_start`&&e.tool_id){o&&(i.push({type:`text`,text:o}),o=``,s=e.answer?.length??0);let t={type:`tool_use`,tool_id:e.tool_id,tool_name:e.tool_name,tool_display_name:e.tool_display_name,input:e.input,status:`running`};i.push(t),a.set(e.tool_id,t)}else if(e.type===`tool_result`&&e.tool_id){let t=a.get(e.tool_id);t&&(t.output=e.output,t.is_error=e.is_error,t.duration_ms=e.duration_ms,t.status=`done`,delete t.pending_question)}else if(e.type===`ask_user_question`&&e.tool_id&&e.payload){let t=a.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_question=e.payload)}else if(e.type===`consent_request`&&e.tool_id&&e.payload){let t=a.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_consent_request=e.payload)}else if(e.type===`artifact`&&e.artifact)e.artifact.type===`image`||e.artifact.mimeType?.startsWith(`image/`)?i.push({type:`image_url`,image_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType}):i.push({type:`file_url`,file_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType});else if(e.type===`card`&&e.card)o&&(i.push({type:`text`,text:o}),o=``,s=e.answer?.length??0),i.push({type:`card`,card:e.card});else if(e.type===`citation`&&e.citation){let t=this.messages[this.messages.length-1];t.citations={...t.citations??{},[e.citation.id]:e.citation}}else e.delta_answer&&(o=(e.answer||``).slice(s));let n=[...i];o&&n.push({type:`text`,text:o}),n.length>0?this.messages[this.messages.length-1]={role:z,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===W.FINISHED?t?.state:W.ANSWERING}:this.messages[this.messages.length-1]={role:z,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===W.FINISHED?t?.state:W.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{console.debug(`finished fetch answer`,this.messages),this.messages[this.messages.length-1].state=W.FINISHED,console.debug(`finished fetch answer`,JSON.stringify(this.messages)),await this.$store.dispatch(`chat/setConversation`,{id:r,messages:this.messages}),this.answering=!1,r&&(this.skipNextRestoreId=r,await this.$router.push(this.conversationsPath(r))),this.onScrollDown(),await this.$store.dispatch(`chat/getConversations`),await this.$store.dispatch(`chat/getApplications`)}).catch(e=>{this.handleRequestError(e)})},async handleRequestError(e){if(console.error(`error happened`,e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=W.FAILED),e.name===`AbortError`){console.error(`aborted`);return}else e instanceof Fe?(console.debug(`BaseError`,e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):ie.isCancel(e)?this.messages[this.messages.length-1].error={code:_e}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:se});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),_i={class:`toolbar`},vi={class:`toolbar-left`},yi={class:`toolbar-actions`},bi={key:0,class:`messages`},xi={class:`starter`};function Si(e,i,a,c,u,d){let p=m(`model-selector`),h=m(`byok-badge`);m(`font-awesome-icon`),m(`el-button`),m(`el-tooltip`);let v=m(`desktop-agent-manager`),y=m(`message`),b=m(`composer`),x=m(`disclaimer`),C=m(`layout`);return f(),n(C,{onChangeConversation:i[6]||=t=>e.onChangeConversation(t)},{chat:_(()=>[r(`div`,_i,[r(`div`,vi,[o(p,{class:`selector`,onModelGroupChanged:i[0]||=t=>e.onChangeConversation(void 0)}),o(h,{class:`byok-badge`})]),r(`div`,yi,[s(``,!0)])]),e.agentManagerVisible?(f(),n(v,{key:0,modelValue:e.agentManagerVisible,"onUpdate:modelValue":i[2]||=t=>e.agentManagerVisible=t,connected:e.agentConnected,"agent-name":e.agentName,"tool-count":e.agentToolCount,"connected-at":e.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):s(``,!0),r(`div`,{class:t({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(f(),g(`div`,bi,[(f(!0),g(S,null,l(e.messages,(t,r)=>(f(),n(y,{key:r,message:t,messages:e.messages,question:e.question,application:e.application,class:`message`,"onUpdate:question":i[3]||=t=>e.question=t,onEdit:e.onEdit,onRestart:e.onRestart,onAnswerAskUserQuestion:e.onAnswerAskUserQuestion,onSkipAskUserQuestion:e.onSkipAskUserQuestion,onRespondConnectorConsent:e.onRespondConnectorConsent,onAuthorizeConnector:e.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):s(``,!0),r(`div`,xi,[o(b,{question:e.question,"onUpdate:question":i[4]||=t=>e.question=t,answering:e.answering,ready:e.ready,references:e.references,"onUpdate:references":i[5]||=t=>e.references=t,onSubmit:e.onSubmit,onStop:e.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),o(x,{class:`disclaimer`})])],2)]),_:1})}var Ci=V(gi,[[`render`,Si],[`__scopeId`,`data-v-e9d03e4c`]]);export{Ci as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,_ as f,et as p,k as m,lt as h,ut as g,x as _,y as v}from"./vendor-chart-mdwpew_o.js";import{t as y}from"./button-DWzbdjZV.js";import{E as b}from"./use-deprecated-CPfQu7wa.js";import{r as x,t as S}from"./select-CyfjsVYT.js";import{n as C,t as w}from"./tabs-DDqt-7al.js";import{t as T}from"./upload-CIsl9b3M.js";import{t as E}from"./tooltip-C3PYfh8V.js";import{t as D}from"./image-BhCAlGZE.js";import{t as O}from"./alert-BJj7gY4q.js";import{n as k,r as ee}from"./radio-IJQsW93X.js";import{t as te}from"./drawer-BvYPSxXh.js";import{t as ne}from"./input-number-De_zhvd-.js";import{t as A}from"./slider-C8p-p_jG.js";import{t as j}from"./switch-DfeNNIjH.js";import{Sr as M,hi as re,yr as ie}from"./constants-EAH6CsV9.js";import{At as ae,E as N,Fn as P,Ir as F,Nt as I,Or as L,Ot as R,Pr as oe,Sr as z,jt as B,kr as V,kt as H,pn as U,yr as se}from"./index-WLGDsbco.js";import{t as W}from"./index.es-DEMCbRdu.js";import{t as ce}from"./CopyToClipboard-CW-duTMh.js";import{t as le}from"./FilePreview-BTDowqVT.js";import{t as G}from"./ImagePreview-CjurFfIy.js";import{n as ue}from"./taskDrawerMixin-Cr17Yxqk.js";import{t as de}from"./BotPlaceholder-DhZ616uF.js";import{i as K,n as fe,t as pe}from"./pagination-B3UvJKZu.js";import{n as me,t as he}from"./NoTasks-HGgmWayY.js";import{t as q}from"./Consumption-Dv4UTeE5.js";import{t as ge}from"./ApiCodeButton-9rdgO0or.js";import{t as _e}from"./VideoPlayer-_FQCj0ZO.js";var ve=c({name:`LayoutKling`,components:{ElDrawer:te,ElButton:y,FontAwesomeIcon:W},mixins:[ue]}),ye={class:`main flex flex-row flex-1 min-h-0`},be={class:`config w-[320px] flex-none h-full flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,i,a,s,c){let l=p(`font-awesome-icon`),u=p(`el-button`),_=p(`el-drawer`);return d(),m(`div`,ye,[r(`div`,be,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,xe,[e(t.$slots,`result`,{},void 0,!0)]),g(o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[f,!t.tasksEmpty]]),o(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:h(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ce=N(ve,[[`render`,Se],[`__scopeId`,`data-v-b87958dc`]]),we={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function J(e,t,n){let r=t||`std`,i=n??5;switch(e){case`kling-v1`:return{text2video:!0,image2video:!0,endImage:i===5,audio:!1,motionControl:i===5};case`kling-v1-6`:case`kling-v2-5-turbo`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:!1,motionControl:!1};case`kling-v2-6`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:r===`pro`,motionControl:!1};case`kling-v2-master`:case`kling-v2-1-master`:return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};case`kling-v3`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:r!==`4k`};case`kling-v3-omni`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1};case`kling-video-o1`:return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1};default:return we}}function Y(e,t){if(!e)return[];let n=t.model??e.model,r=t.mode??e.mode,i=t.duration??e.duration;if(!n)return[];let a=J(n,r,i),o=[];return e.end_image_url&&!a.endImage&&o.push({field:`end_image_url`,i18nLabel:`kling.name.endImage`}),e.generate_audio&&!a.audio&&o.push({field:`generate_audio`,i18nLabel:`kling.name.generateAudio`}),e.camera_control?.type&&(!a.motionControl||e.start_image_url)&&o.push({field:`camera_control`,i18nLabel:`kling.name.cameraControl`}),o}function X(e,t){let n={...e};for(let e of t)e.field===`end_image_url`&&(n.end_image_url=void 0),e.field===`generate_audio`&&(n.generate_audio=!1),e.field===`camera_control`&&(n.camera_control=void 0);return n}var Te=c({name:`ModelSelector`,components:{ElSelect:x,ElOption:S},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0,options:[{value:`kling-v3`,label:`v3`},{value:`kling-v3-omni`,label:`v3-Omni`},{value:`kling-v2-6`,label:`v2.6`},{value:`kling-v2-5-turbo`,label:`v2.5-Turbo`},{value:`kling-v2-1-master`,label:`v2.1-Master`},{value:`kling-v2-master`,label:`v2-Master`},{value:`kling-v1-6`,label:`v1.6`},{value:`kling-v1`,label:`v1`},{value:`kling-video-o1`,label:`Video-o1`}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(ie)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=Y(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await L.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=X({...t,model:e},n);this.$store.commit(`kling/setConfig`,i),V.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,model:e})}}}),Ee={class:`field`},De={class:`title font-bold`};function Oe(e,t,i,a,o,s){let c=p(`el-option`),f=p(`el-select`);return d(),m(`div`,Ee,[r(`h2`,De,u(e.$t(`pika.name.model`)),1),(d(),n(f,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`pika.placeholder.select`),onChange:e.onChange},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(c,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var ke=N(Te,[[`render`,Oe],[`__scopeId`,`data-v-04059875`]]),Ae=c({name:`ModeSelector`,components:{ElSelect:x,ElOption:S,InfoIcon:K},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return M.includes(this.selectedModel)?this.cameraControlSet?this.$t(`kling.description.mode4kIncompatibleCamera`):``:this.$t(`kling.description.mode4kRequiresV3`)},options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`),disabled:!1,disabledReason:``},{value:`pro`,label:this.$t(`kling.name.modePro`),disabled:!1,disabledReason:``},{value:`4k`,label:this.$t(`kling.name.mode4k`),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value===`4k`&&this.applyMode(`std`)}},mounted(){this.value||this.applyMode(`std`)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=Y(t,{mode:e});if(n.length===0){this.applyMode(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await L.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=X({...t,mode:e},n);this.$store.commit(`kling/setConfig`,i),V.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,mode:e})}}}),je={class:`field`},Me={class:`header`},Ne={class:`title font-bold`},Pe={key:0,class:`opt-tip`};function Fe(e,i,a,c,f,g){let v=p(`info-icon`),y=p(`el-option`),b=p(`el-select`);return d(),m(`div`,je,[r(`div`,Me,[r(`h2`,Ne,u(e.$t(`kling.name.mode`)),1),o(v,{content:e.$t(`kling.description.mode`),class:`info-icon`},null,8,[`content`])]),(d(),n(b,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`kling.placeholder.select`),clearable:!0,onChange:e.onChange},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(y,{key:e.value,label:e.label,value:e.value,disabled:e.disabled},{default:h(()=>[r(`span`,{class:t({"opt-disabled":e.disabled})},u(e.label),3),e.disabled&&e.disabledReason?(d(),m(`span`,Pe,u(e.disabledReason),1)):s(``,!0)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Ie=N(Ae,[[`render`,Fe],[`__scopeId`,`data-v-9a8fa3c5`]]),Le=[3,5,8,10,12,15],Re=[5,10],ze=c({name:`DurationSelector`,components:{ElSelect:x,ElOption:S,InfoIcon:K},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},isV3Model(){return M.includes(this.selectedModel)},allowedDurations(){return this.isV3Model?Le:Re},value(){return this.$store.state.kling?.config?.duration??5},selectValue(){let e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(5)?5:e[0]}},watch:{isV3Model(){this.allowedDurations.includes(this.value)||this.applyDuration(5)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(5)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=Y(t,{duration:e});if(n.length===0){this.applyDuration(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await L.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=X({...t,duration:e},n);this.$store.commit(`kling/setConfig`,i),V.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,duration:e})}}}),Be={class:`field`},Ve={class:`control`},He={class:`label`},Ue={class:`title font-bold`};function We(e,t,i,a,s,c){let f=p(`info-icon`),g=p(`el-option`),v=p(`el-select`);return d(),m(`div`,Be,[r(`div`,Ve,[r(`div`,He,[r(`h2`,Ue,u(e.$t(`kling.name.duration`)),1),o(f,{content:e.$t(`kling.description.duration`),class:`info-icon ml-1`},null,8,[`content`])]),(d(),n(v,{key:e.revertKey,"model-value":e.selectValue,class:`value`,placeholder:e.$t(`kling.placeholder.select`),onChange:e.onChange},{default:h(()=>[(d(!0),m(_,null,l(e.allowedDurations,e=>(d(),n(g,{key:e,label:`${e}s`,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])])}var Ge=N(ze,[[`render`,We],[`__scopeId`,`data-v-5ae55e28`]]),Ke=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state?.kling?.config?.aspect_ratio},set(e){console.debug(`set ratio`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),qe={class:`text-sm font-bold mb-2 block`},Je={class:`items`},Ye=[`onClick`],Xe={class:`name`};function Ze(e,n,a,o,s,c){return d(),m(`div`,null,[r(`span`,qe,u(e.$t(`kling.name.ratio`)),1),r(`div`,Je,[(d(!0),m(_,null,l(e.options,(n,a)=>(d(),m(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Xe,u(n.label),1)],10,Ye))),128))])])}var Qe=N(Ke,[[`render`,Ze],[`__scopeId`,`data-v-cdb14b2f`]]),$e=c({name:`StartImage`,components:{ElUpload:T,ElButton:y,ElTooltip:E,InfoIcon:K,FontAwesomeIcon:W,ImagePreview:G},mixins:[B,H],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`kling.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),et={class:`relative`},tt={class:`flex justify-between`},nt={class:`flex justify-start items-center`},rt={class:`text-sm font-bold`};function it(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-tooltip`),x=p(`el-upload`);return d(),m(`div`,et,[r(`div`,tt,[r(`div`,nt,[r(`span`,rt,u(e.$t(`kling.name.startImage`)),1),o(g,{content:e.$t(`kling.description.uploadStartImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.reachedLimit,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:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{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`])):s(``,!0)]),default:h(()=>[o(b,{content:e.$t(`kling.message.uploadReferencesExceed`),disabled:!e.reachedLimit,placement:`top`},{default:h(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.reachedLimit},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var at=N($e,[[`render`,it],[`__scopeId`,`data-v-756dc269`]]),ot=c({name:`EndImage`,components:{ElUpload:T,ElButton:y,ElTooltip:E,ImagePreview:G,InfoIcon:K,FontAwesomeIcon:W},mixins:[B,H],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return J(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t(`kling.message.uploadReferencesExceed`):``:this.$t(`kling.message.endImageRequiresStart`):this.$t(`kling.message.endImageNotSupported`)},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?this.hasStartImage?!0:(V.warning(this.$t(`kling.message.endImageRequiresStart`)),!1):(V.warning(this.$t(`kling.message.endImageNotSupported`)),!1)},onExceed(){V.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`kling.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),st={class:`relative`},ct={class:`flex justify-between`},lt={class:`flex justify-start items-center`},ut={class:`text-sm font-bold`};function dt(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-tooltip`),x=p(`el-upload`);return d(),m(`div`,st,[r(`div`,ct,[r(`div`,lt,[r(`span`,ut,u(e.$t(`kling.name.endImage`)),1),o(g,{content:e.$t(`kling.description.uploadEndImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.uploadDisabled,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"before-upload":e.onBeforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{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`])):s(``,!0)]),default:h(()=>[o(b,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:`top`},{default:h(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.uploadDisabled},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var ft=N(ot,[[`render`,dt],[`__scopeId`,`data-v-c1b257e5`]]),pt=c({name:`CfgScaleSelector`,components:{ElSlider:A,InfoIcon:K,ElInputNumber:ne},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug(`set cfg_scale`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||=0}}),mt={class:`flex justify-between`},ht={class:`flex justify-start items-center`},gt={class:`text-sm font-bold`},_t={class:`flex justify-end items-center`},vt={class:`w-full`};function yt(e,t,n,i,a,s){let c=p(`info-icon`),l=p(`el-input-number`),f=p(`el-slider`);return d(),m(`div`,null,[r(`div`,mt,[r(`div`,ht,[r(`span`,gt,u(e.$t(`kling.name.cfgScale`)),1),o(c,{content:e.$t(`kling.description.cfgScale`)},null,8,[`content`])]),r(`div`,_t,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,vt,[o(f,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1,step:.1},null,8,[`modelValue`])])])}var bt=N(pt,[[`render`,yt]]),xt=c({name:`GenerateAudioSelector`,components:{ElSwitch:j,InfoIcon:K},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},selectedMode(){return this.$store.state.kling?.config?.mode||``},supported(){return!!(M.includes(this.selectedModel)||this.selectedModel===`kling-v2-6`&&this.selectedMode===`pro`)},tooltipContent(){return this.supported?this.$t(`kling.description.generateAudio`):this.$t(`kling.description.generateAudioUnsupported`)},value:{get(){return this.supported?this.$store.state.kling?.config?.generate_audio??!1:!1},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:!1})}}}),St={class:`relative`},Ct={class:`flex justify-between items-center`},wt={class:`flex justify-start items-center`},Tt={class:`text-sm font-bold`};function Et(e,t,n,i,a,s){let c=p(`info-icon`),l=p(`el-switch`);return d(),m(`div`,St,[r(`div`,Ct,[r(`div`,wt,[r(`span`,Tt,u(e.$t(`kling.name.generateAudio`)),1),o(c,{content:e.tooltipContent},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,disabled:!e.supported},null,8,[`modelValue`,`disabled`])])])}var Dt=N(xt,[[`render`,Et]]),Ot=[`horizontal`,`vertical`,`pan`,`tilt`,`roll`,`zoom`],kt=c({name:`CameraControlSelector`,components:{ElSelect:x,ElOption:S,ElSlider:A,ElInputNumber:ne,InfoIcon:K},data(){return{configKeys:Ot}},computed:{typeOptions(){return[{value:``,label:this.$t(`kling.name.cameraTypeNone`)},{value:`simple`,label:this.$t(`kling.name.cameraTypeSimple`)},{value:`down_back`,label:this.$t(`kling.name.cameraTypeDownBack`)},{value:`forward_up`,label:this.$t(`kling.name.cameraTypeForwardUp`)},{value:`left_turn_forward`,label:this.$t(`kling.name.cameraTypeLeftTurnForward`)},{value:`right_turn_forward`,label:this.$t(`kling.name.cameraTypeRightTurnForward`)}]},selectedMode(){return this.$store.state.kling?.config?.mode||``},selectedModel(){return this.$store.state.kling?.config?.model||``},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return J(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t(`kling.description.cameraControlDisabledImage2Video`):this.$t(`kling.description.cameraControl`):this.$t(`kling.description.cameraControlNotSupported`)},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??``},set(e){let t=this.$store.state.kling?.config||{};if(!e){let e={...t};delete e.camera_control,this.$store.commit(`kling/setConfig`,e);return}let n=e;this.$store.commit(`kling/setConfig`,{...t,camera_control:{type:n,config:n===`simple`?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw=``)}},methods:{writeConfig(e,t){let n=this.$store.state.kling?.config||{},r=n.camera_control||{type:`simple`},i={...r.config||{}};t==null?delete i[e]:i[e]=t,this.$store.commit(`kling/setConfig`,{...n,camera_control:{...r,type:`simple`,config:i}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),At={class:`field`},jt={class:`header`},Mt={class:`text-sm font-bold`},Nt={key:0,class:`config-grid`},Pt={class:`cfg-row-head`},Ft={class:`cfg-name`};function It(e,t,i,a,c,f){let g=p(`info-icon`),v=p(`el-option`),y=p(`el-select`),b=p(`el-input-number`),x=p(`el-slider`);return d(),m(`div`,At,[r(`div`,jt,[r(`span`,Mt,u(e.$t(`kling.name.cameraControl`)),1),o(g,{content:e.tooltipContent},null,8,[`content`])]),o(y,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||=t=>e.selectedTypeRaw=t,class:`value`,placeholder:e.$t(`kling.placeholder.cameraType`),clearable:!0,disabled:e.disabled},{default:h(()=>[(d(!0),m(_,null,l(e.typeOptions,e=>(d(),n(v,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`]),e.selectedType===`simple`&&!e.disabled?(d(),m(`div`,Nt,[(d(!0),m(_,null,l(e.configKeys,t=>(d(),m(`div`,{key:t,class:`cfg-row`},[r(`div`,Pt,[r(`span`,Ft,u(e.$t(`kling.name.cc_${t}`)),1),o(b,{modelValue:e.configValues[t],"onUpdate:modelValue":n=>e.configValues[t]=n,min:-1,max:1,step:.1,precision:1,"controls-position":`right`,size:`small`,class:`cfg-num`,onChange:n=>e.onNumberChange(t,n)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])]),o(x,{"model-value":e.configValues[t]??0,min:-1,max:1,step:.1,onInput:n=>e.onSliderChange(t,n)},null,8,[`model-value`,`onInput`])]))),128))])):s(``,!0)])}var Lt=N(kt,[[`render`,It],[`__scopeId`,`data-v-cd896060`]]),Rt=[{groupKey:`cameraMovements`,chipKeys:[`rotateAround`,`stationary`,`handheld`,`zoomOut`,`zoomIn`,`follow`,`panRight`,`tiltUp`,`tiltDown`,`orbit`]},{groupKey:`cameraSpeed`,chipKeys:[`speedSlow`,`speedMedium`,`speedFast`]},{groupKey:`shotType`,chipKeys:[`shotClose`,`shotMedium`,`shotLong`,`shotLowAngle`,`shotHighAngle`,`shotShallowDof`,`shotFront`,`shotProfile`,`shotCloseUp`,`shotDrone`]},{groupKey:`light`,chipKeys:[`lightSunlight`,`lightSoft`,`lightNeon`,`lightWarm`,`lightNature`,`lightCandle`,`lightCityNight`]},{groupKey:`frame`,chipKeys:[`frameRichDetails`,`frameSimpleBg`]},{groupKey:`atmosphere`,chipKeys:[`atmosphereMysterious`,`atmospherePeaceful`,`atmosphereHeartwarming`,`atmosphereVivid`,`atmosphereColorful`]}],Z=`, `;function zt(e,t){let n=(e||``).trim();return n?n.includes(t)?n:`${n}${Z}${t}`:t}function Q(e,t){if(!e||!t)return e||``;let n=[`${t}${Z}`,`${Z}${t}`,t],r=e;for(let e of n)if(r.includes(e)){r=r.replace(e,``);break}return r.replace(/(?:,\s*)+$/,``).replace(/^(?:,\s*)+/,``)}var Bt=c({name:`InspirationPills`,components:{FontAwesomeIcon:W},computed:{prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return Rt.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selected(){let e=this.prompt;if(!e)return[];let t=[];for(let n of this.allChipTexts){let r=e.indexOf(n);r!==-1&&t.push({text:n,idx:r})}return t.sort((e,t)=>e.idx-t.idx).map(e=>e.text)}},methods:{onRemove(e){let t=Q(this.prompt,e);this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:t})}}}),Vt={key:0,class:`pills`,role:`list`},Ht={class:`pill-text`},Ut=[`aria-label`,`onClick`];function Wt(e,t,n,i,a,c){let f=p(`font-awesome-icon`);return e.selected.length>0?(d(),m(`div`,Vt,[(d(!0),m(_,null,l(e.selected,t=>(d(),m(`div`,{key:t,class:`pill`,role:`listitem`},[r(`span`,Ht,u(t),1),r(`button`,{type:`button`,class:`pill-remove`,"aria-label":e.$t(`kling.inspiration.removeChip`),onClick:v(n=>e.onRemove(t),[`stop`])},[o(f,{icon:`fa-solid fa-xmark`})],8,Ut)]))),128))])):s(``,!0)}var Gt=c({name:`PromptInput`,components:{ElButton:y,FontAwesomeIcon:W,PromptTextarea:me,InspirationPills:N(Bt,[[`render`,Wt],[`__scopeId`,`data-v-5fc4fa65`]])},emits:[`open-inspiration`],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Kt(e,t,r,i,s,c){let l=p(`font-awesome-icon`),f=p(`el-button`),m=p(`inspiration-pills`),g=p(`prompt-textarea`);return d(),n(g,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||=t=>e.prompt=t,title:e.$t(`kling.name.prompt`),info:e.$t(`kling.description.prompt`),placeholder:e.$t(`kling.placeholder.prompt`)},{actions:h(()=>[o(f,{text:``,size:`small`,class:`inspiration-btn`,onClick:t[0]||=t=>e.$emit(`open-inspiration`)},{default:h(()=>[o(l,{icon:`fa-regular fa-lightbulb`,class:`mr-1`}),a(` `+u(e.$t(`kling.inspiration.openButton`)),1)]),_:1})]),before:h(()=>[o(m)]),_:1},8,[`modelValue`,`title`,`info`,`placeholder`])}var qt=N(Gt,[[`render`,Kt],[`__scopeId`,`data-v-c01fc1a6`]]),Jt=c({name:`NegativePromptInput`,components:{ElInput:F,InfoIcon:K},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug(`set prompt`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||=``}}),Yt={class:`field`},Xt={class:`box`},Zt={class:`title font-bold`};function Qt(e,t,n,i,a,s){let c=p(`info-icon`),l=p(`el-input`);return d(),m(`div`,Yt,[r(`div`,Xt,[r(`h2`,Zt,u(e.$t(`kling.name.negativePrompt`)),1),o(c,{content:e.$t(`kling.description.negativePrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.negativePrompt`)},null,8,[`modelValue`,`placeholder`])])}var $t=N(Jt,[[`render`,Qt],[`__scopeId`,`data-v-de98cf01`]]),en=c({name:`InspirationDrawer`,components:{ElDrawer:te,ElButton:y,FontAwesomeIcon:W},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`],data(){return{groups:Rt,Close:b}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},drawerSize(){return window.innerWidth<768?`100%`:`380px`},prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt(Q(this.prompt,e)):this.setPrompt(zt(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(let t of this.allChipTexts)for(;e.includes(t);)e=Q(e,t);this.setPrompt(e)}}}),tn={class:`drawer-content`},nn={class:`drawer-header`},rn={class:`title-row`},an={class:`title`},on={class:`hint`},sn={key:0,class:`selected-bar`},cn={class:`selected-text`},ln={class:`groups`},un={class:`group-title`},dn={class:`chip-grid`},fn=[`onClick`];function pn(e,i,c,f,g,v){let y=p(`font-awesome-icon`),b=p(`el-button`),x=p(`el-drawer`);return d(),n(x,{modelValue:e.visible,"onUpdate:modelValue":i[1]||=t=>e.visible=t,direction:`rtl`,"with-header":!1,size:e.drawerSize,"custom-class":`kling-inspiration-drawer`,"destroy-on-close":!1},{default:h(()=>[r(`div`,tn,[r(`div`,nn,[r(`div`,rn,[o(y,{icon:`fa-regular fa-lightbulb`,class:`mr-2`}),r(`span`,an,u(e.$t(`kling.inspiration.title`)),1)]),o(b,{text:``,icon:e.Close,class:`close-btn`,onClick:i[0]||=t=>e.visible=!1},null,8,[`icon`])]),r(`div`,on,u(e.$t(`kling.inspiration.hint`)),1),e.selectedCount>0?(d(),m(`div`,sn,[r(`span`,cn,u(e.$t(`kling.inspiration.selectedSummary`,{count:e.selectedCount})),1),o(b,{text:``,size:`small`,class:`clear-btn`,onClick:e.onClearSelected},{default:h(()=>[a(u(e.$t(`kling.inspiration.clearSelected`)),1)]),_:1},8,[`onClick`])])):s(``,!0),r(`div`,ln,[(d(!0),m(_,null,l(e.groups,n=>(d(),m(`div`,{key:n.groupKey,class:`group`},[r(`div`,un,u(e.$t(`kling.inspiration.group.${n.groupKey}`)),1),r(`div`,dn,[(d(!0),m(_,null,l(n.chipKeys,n=>(d(),m(`button`,{key:n,type:`button`,class:t({chip:!0,active:e.isSelected(e.chipText(n))}),onClick:t=>e.onToggle(e.chipText(n))},u(e.chipText(n)),11,fn))),128))])]))),128))])])]),_:1},8,[`modelValue`,`size`])}var mn=N(en,[[`render`,pn],[`__scopeId`,`data-v-7d457a69`]]),hn={"kling-v3":`v3`,"kling-v3-omni":`v3-Omni`,"kling-v2-6":`v2.6`,"kling-v2-5-turbo":`v2.5-Turbo`,"kling-v2-1-master":`v2.1-Master`,"kling-v2-master":`v2-Master`,"kling-v1-6":`v1.6`,"kling-v1":`v1`,"kling-video-o1":`Video-o1`},gn={std:`720p`,pro:`1080p`,"4k":`4K`},_n=c({name:`SummaryChip`,components:{FontAwesomeIcon:W},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){let e=this.config?.model||`kling-v2-5-turbo`;return hn[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||``},modeLabel(){let e=this.config?.mode||`std`;return gn[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),vn={class:`summary-chip`},yn=[`title`],bn=[`title`],xn=[`title`],Sn=[`title`],Cn=[`title`];function wn(e,t,n,i,a,c){let l=p(`font-awesome-icon`);return d(),m(`div`,vn,[r(`span`,{class:`part`,title:e.$t(`kling.name.model`)},u(e.modelLabel),9,yn),t[0]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.duration`)},u(e.durationLabel),9,bn),t[1]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.ratio`)},u(e.aspectRatio||`16:9`),9,xn),t[2]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.mode`)},u(e.modeLabel),9,Sn),e.generateAudio?(d(),m(`span`,{key:0,class:`audio`,title:e.$t(`kling.name.generateAudio`)},[o(l,{icon:`fa-solid fa-headphones`})],8,Cn)):s(``,!0)])}var Tn=c({name:`ConfigPanel`,components:{ElButton:y,Consumption:q,FontAwesomeIcon:W,PromptInput:qt,NegativePromptInput:$t,ModelSelector:ke,ModeSelector:Ie,DurationSelector:Ge,RatioSelector:Qe,StartImage:at,CfgScaleSelector:bt,GenerateAudioSelector:Dt,CameraControlSelector:Lt,InspirationDrawer:mn,SummaryChip:N(_n,[[`render`,wn],[`__scopeId`,`data-v-418a6733`]]),EndImage:ft},emits:[`generate`],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return I(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),En={class:`flex flex-col h-full`},Dn={class:`flex-1 overflow-y-auto p-5`},On={class:`flex flex-col items-center justify-center px-5 pb-5`};function kn(e,t,i,s,c,l){let f=p(`prompt-input`),g=p(`model-selector`),_=p(`ratio-selector`),v=p(`start-image`),y=p(`end-image`),b=p(`duration-selector`),x=p(`mode-selector`),S=p(`generate-audio-selector`),C=p(`camera-control-selector`),w=p(`cfg-scale-selector`),T=p(`negative-prompt-input`),E=p(`summary-chip`),D=p(`consumption`),O=p(`font-awesome-icon`),k=p(`el-button`),ee=p(`inspiration-drawer`);return d(),m(`div`,En,[r(`div`,Dn,[o(f,{class:`mb-4`,onOpenInspiration:t[0]||=t=>e.inspirationOpen=!0}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-2`}),o(y,{class:`mb-2`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-4`}),o(T,{class:`mb-4`})]),r(`div`,On,[o(E),o(D,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(d(),n(k,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.extend`)),1)]),_:1},8,[`onClick`])):(d(),n(k,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generate`)),1)]),_:1},8,[`onClick`]))]),o(ee,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||=t=>e.inspirationOpen=t},null,8,[`modelValue`])])}var An=N(Tn,[[`render`,kn]]),jn=c({name:`MotionImage`,components:{ElUpload:T,ElButton:y,InfoIcon:K,FontAwesomeIcon:W,ImagePreview:G},mixins:[B,H],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`kling.message.uploadReferencesError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Mn={class:`relative`},Nn={class:`flex justify-between`},Pn={class:`flex justify-start items-center`},Fn={class:`text-sm font-bold`};function In(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,Mn,[r(`div`,Nn,[r(`div`,Pn,[r(`span`,Fn,u(e.$t(`kling.name.motionImage`)),1),o(g,{content:e.$t(`kling.description.motionImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ln=N(jn,[[`render`,In],[`__scopeId`,`data-v-e52eaf2f`]]),Rn=c({name:`MotionVideo`,components:{ElUpload:T,ElButton:y,InfoIcon:K,FilePreview:le,FontAwesomeIcon:W},mixins:[H],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){V.warning(this.$t(`kling.message.uploadVideoExceed`))},onError(){V.error(this.$t(`kling.message.uploadVideoError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=e.size/1024/1024<100;return t?n?!0:(V.error(this.$t(`kling.message.uploadVideoSizeExceed`)),!1):(V.error(this.$t(`kling.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),zn={class:`relative`},Bn={class:`flex justify-between`},Vn={class:`flex justify-start items-center`},Hn={class:`text-sm font-bold`};function Un(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`file-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`);return d(),m(`div`,zn,[r(`div`,Bn,[r(`div`,Vn,[r(`span`,Hn,u(e.$t(`kling.name.motionVideo`)),1),o(g,{content:e.$t(`kling.description.motionVideo`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.mp4,.mov`,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:h(({file:t})=>[t.percentage===void 0?s(``,!0):(d(),n(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Wn=N(Rn,[[`render`,Un],[`__scopeId`,`data-v-7019a8d2`]]),Gn=c({name:`MotionPromptInput`,components:{ElInput:F,InfoIcon:K},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||``},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),Kn={class:`field`},qn={class:`box`},Jn={class:`title font-bold`};function Yn(e,t,n,i,a,s){let c=p(`info-icon`),l=p(`el-input`);return d(),m(`div`,Kn,[r(`div`,qn,[r(`h2`,Jn,u(e.$t(`kling.name.motionPrompt`)),1),o(c,{content:e.$t(`kling.description.motionPrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.motionPrompt`)},null,8,[`modelValue`,`placeholder`])])}var Xn=N(Gn,[[`render`,Yn],[`__scopeId`,`data-v-ca9fdbe5`]]),Zn=`video`,Qn=c({name:`CharacterOrientationSelector`,components:{ElRadioGroup:ee,ElRadioButton:k,InfoIcon:K},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||Zn},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=Zn)}}),$n={class:`field`},er={class:`header`},tr={class:`text-sm font-bold`};function nr(e,t,n,i,s,c){let l=p(`info-icon`),f=p(`el-radio-button`),g=p(`el-radio-group`);return d(),m(`div`,$n,[r(`div`,er,[r(`span`,tr,u(e.$t(`kling.name.characterOrientation`)),1),o(l,{content:e.$t(`kling.description.characterOrientation`)},null,8,[`content`])]),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,size:`small`,class:`value`},{default:h(()=>[o(f,{label:`image`},{default:h(()=>[a(u(e.$t(`kling.name.orientationImage`)),1)]),_:1}),o(f,{label:`video`},{default:h(()=>[a(u(e.$t(`kling.name.orientationVideo`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var rr=N(Qn,[[`render`,nr],[`__scopeId`,`data-v-7a91195b`]]),ir=`std`,ar=c({name:`MotionModeSelector`,components:{ElSelect:x,ElOption:S,InfoIcon:K},computed:{options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`)},{value:`pro`,label:this.$t(`kling.name.modePro`)}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||ir},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=ir)}}),or={class:`field`},sr={class:`header`},cr={class:`title font-bold`};function lr(e,t,i,a,s,c){let f=p(`info-icon`),g=p(`el-option`),v=p(`el-select`);return d(),m(`div`,or,[r(`div`,sr,[r(`h2`,cr,u(e.$t(`kling.name.mode`)),1),o(f,{content:e.$t(`kling.description.motionMode`)},null,8,[`content`])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`kling.placeholder.select`)},{default:h(()=>[(d(!0),m(_,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ur=N(ar,[[`render`,lr],[`__scopeId`,`data-v-1295688c`]]),dr=c({name:`KeepOriginalSoundSelector`,components:{ElSwitch:j,InfoIcon:K},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??`yes`)===`yes`},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,keep_original_sound:e?`yes`:`no`})}}}}),fr={class:`relative`},pr={class:`flex justify-between items-center`},mr={class:`flex justify-start items-center`},hr={class:`text-sm font-bold`};function gr(e,t,n,i,a,s){let c=p(`info-icon`),l=p(`el-switch`);return d(),m(`div`,fr,[r(`div`,pr,[r(`div`,mr,[r(`span`,hr,u(e.$t(`kling.name.keepOriginalSound`)),1),o(c,{content:e.$t(`kling.description.keepOriginalSound`)},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var _r=c({name:`MotionPanel`,components:{ElButton:y,FontAwesomeIcon:W,Consumption:q,MotionImage:Ln,MotionVideo:Wn,MotionPromptInput:Xn,CharacterOrientationSelector:rr,MotionModeSelector:ur,KeepOriginalSoundSelector:N(dr,[[`render`,gr]])},emits:[`generate`],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return I(this.motionConfig,this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){let e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit(`generate`)}}}),vr={class:`flex flex-col h-full`},yr={class:`flex-1 overflow-y-auto p-5`},br={class:`flex flex-col items-center justify-center px-5 pb-5`};function xr(e,t,n,i,s,c){let l=p(`motion-image`),f=p(`motion-video`),g=p(`motion-prompt-input`),_=p(`character-orientation-selector`),v=p(`motion-mode-selector`),y=p(`keep-original-sound-selector`),b=p(`consumption`),x=p(`font-awesome-icon`),S=p(`el-button`);return d(),m(`div`,vr,[r(`div`,yr,[o(l,{class:`mb-3`}),o(f,{class:`mb-3`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`})]),r(`div`,br,[o(b,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(S,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:h(()=>[o(x,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generateMotion`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Sr=N(_r,[[`render`,xr]]),Cr=c({name:`KlingTabSwitcher`,components:{ElTabs:C,ElTabPane:w,ElTag:oe},props:{modelValue:{type:String,default:`videos`}},emits:[`update:modelValue`],computed:{tabs(){return[{value:`videos`,label:this.$t(`kling.tab.videoGeneration`)},{value:`motion`,label:this.$t(`kling.tab.motionControl`)},{value:`talking-photo`,label:this.$t(`kling.tab.talkingPhoto`)}]}},methods:{onUpdate(e){this.$emit(`update:modelValue`,e)}}}),wr=[`title`],Tr={class:`text`};function Er(e,t,i,o,c,f){let g=p(`el-tag`),v=p(`el-tab-pane`),y=p(`el-tabs`);return d(),n(y,{"model-value":e.modelValue,class:`kling-tabs`,stretch:``,"onUpdate:modelValue":e.onUpdate},{default:h(()=>[(d(!0),m(_,null,l(e.tabs,e=>(d(),n(v,{key:e.value,name:e.value,disabled:e.disabled},{label:h(()=>[r(`span`,{class:`tab-label`,title:e.disabled?e.disabledReason:void 0},[r(`span`,Tr,u(e.label),1),e.badge?(d(),n(g,{key:0,size:`small`,type:`warning`,class:`badge`},{default:h(()=>[a(u(e.badge),1)]),_:2},1024)):s(``,!0)],8,wr)]),_:2},1032,[`name`,`disabled`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Dr=N(Cr,[[`render`,Er],[`__scopeId`,`data-v-fda33e4c`]]),Or=c({name:`TalkingPhotoPanel`,components:{ElUpload:T,ElButton:y,ElInput:F,FontAwesomeIcon:W,Consumption:q,InfoIcon:K,ImagePreview:G},mixins:[H],emits:[`generate`],data(){return{imageFiles:[],audioFiles:[],uploadUrl:z()+`/api/v1/files/`}},computed:{config(){return this.$store.state.kling?.talkingPhotoConfig||{}},audioUrl(){return this.config.audio_url},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},service(){return this.$store.state.kling?.service},consumption(){return I({...this.config,action:`talking-photo`},this.service?.cost)},canGenerate(){return!!(this.config.image_url&&this.config.audio_url)}},methods:{commit(e){this.$store.commit(`kling/setTalkingPhotoConfig`,{...this.config,...e})},onPromptChange(e){this.commit({prompt:e})},onImageExceed(){V.warning(this.$t(`kling.message.uploadReferencesExceed`))},onImageError(){V.error(this.$t(`kling.message.uploadReferencesError`))},onImageSuccess(e){this.commit({image_url:e?.file_url})},onImageRemove(e){this.imageFiles.splice(this.imageFiles.indexOf(e),1),this.commit({image_url:void 0})},onAudioExceed(){V.warning(this.$t(`kling.message.uploadAudioExceed`))},onAudioError(){V.error(this.$t(`kling.message.uploadAudioError`))},onAudioSuccess(e){this.commit({audio_url:e?.file_url})},onAudioRemove(){this.commit({audio_url:void 0})},onGenerate(){this.$emit(`generate`)}}}),kr={class:`flex flex-col h-full`},Ar={class:`flex-1 overflow-y-auto p-5`},jr={class:`relative mb-4`},Mr={class:`flex justify-start items-center`},Nr={class:`text-sm font-bold`},Pr={class:`relative mb-4`},Fr={class:`flex justify-start items-center`},Ir={class:`text-sm font-bold`},Lr=[`src`],Rr={class:`mb-4`},zr={class:`flex justify-start items-center`},Br={class:`text-sm font-bold`},Vr={class:`flex flex-col items-center justify-center px-5 pb-5`};function Hr(e,t,i,c,l,f){let g=p(`info-icon`),_=p(`image-preview`),v=p(`font-awesome-icon`),y=p(`el-button`),b=p(`el-upload`),x=p(`el-input`),S=p(`consumption`);return d(),m(`div`,kr,[r(`div`,Ar,[r(`div`,jr,[r(`div`,Mr,[r(`span`,Nr,u(e.$t(`kling.name.talkingPhotoImage`)),1),o(g,{content:e.$t(`kling.description.talkingPhotoImage`)},null,8,[`content`])]),o(b,{ref:`imageUploader`,"file-list":e.imageFiles,"onUpdate:fileList":t[0]||=t=>e.imageFiles=t,name:`file`,accept:`.png,.jpg,.jpeg,.webp,.bmp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,headers:e.headers,"on-exceed":e.onImageExceed,"on-error":e.onImageError,"on-success":e.onImageSuccess},{file:h(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.onImageRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`])]),r(`div`,Pr,[r(`div`,Fr,[r(`span`,Ir,u(e.$t(`kling.name.talkingPhotoAudio`)),1),o(g,{content:e.$t(`kling.description.talkingPhotoAudio`)},null,8,[`content`])]),o(b,{ref:`audioUploader`,"file-list":e.audioFiles,"onUpdate:fileList":t[1]||=t=>e.audioFiles=t,name:`file`,accept:`.mp3,.wav,.m4a,.aac`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onAudioExceed,"on-error":e.onAudioError,"on-success":e.onAudioSuccess,"on-remove":e.onAudioRemove},{default:h(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn`},{default:h(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadAudio`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`]),e.audioUrl?(d(),m(`audio`,{key:0,src:e.audioUrl,controls:``,class:`w-full mt-2`},null,8,Lr)):s(``,!0)]),r(`div`,Rr,[r(`div`,zr,[r(`span`,Br,u(e.$t(`kling.name.talkingPhotoPrompt`)),1),o(g,{content:e.$t(`kling.description.talkingPhotoPrompt`)},null,8,[`content`])]),o(x,{"model-value":e.config.prompt,type:`textarea`,rows:2,placeholder:e.$t(`kling.placeholder.talkingPhotoPrompt`),class:`mt-1`,"onUpdate:modelValue":e.onPromptChange},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])])]),r(`div`,Vr,[o(S,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(y,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:h(()=>[o(v,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generateTalkingPhoto`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Ur=N(Or,[[`render`,Hr],[`__scopeId`,`data-v-a3aa5a3a`]]),Wr=c({name:`TaskPreview`,components:{ElImage:D,CopyToClipboard:ce,FontAwesomeIcon:W,ElAlert:O,VideoPlayer:_e,ElTooltip:E,ElButton:y,ImagePreview:G,ApiCodeButton:ge},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},referenceImages(){let e=[],t=this.modelValue?.request?.start_image_url,n=this.modelValue?.request?.end_image_url;return t&&e.push({url:t,name:`start-image`}),n&&e.push({url:n,name:`end-image`}),e}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Gr={class:`preview`},Kr={class:`left`},qr={class:`main`},Jr={class:`bot`},Yr={class:`datetime`},Xr={class:`info`},Zr={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qr={key:1,class:`prompt mt-2`},$r={key:0},ei={key:1},ti={key:0,class:t({content:!0,failed:!0})},ni={key:0,class:`mb-4`},ri={key:1,class:t({operations:!0,"mt-2":!0})},ii={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ai={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},oi={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},si={key:1,class:t({content:!0})},ci={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},li={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ui={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},di={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},fi={key:2,class:t({content:!0})},pi={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mi={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function hi(e,t,i,c,f,g){let v=p(`el-image`),y=p(`image-preview`),b=p(`video-player`),x=p(`el-button`),S=p(`el-tooltip`),C=p(`api-code-button`),w=p(`font-awesome-icon`),T=p(`copy-to-clipboard`),E=p(`el-alert`);return d(),m(`div`,Gr,[r(`div`,Kr,[o(v,{src:`https://cdn.acedata.cloud/qpbbbb.jpg`,class:`avatar`})]),r(`div`,qr,[r(`div`,Jr,[a(u(e.$t(`kling.name.klingBot`))+` `,1),r(`span`,Yr,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Xr,[e.referenceImages.length>0?(d(),m(`div`,Zr,[(d(!0),m(_,null,l(e.referenceImages,(e,t)=>(d(),n(y,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):s(``,!0),e.modelValue?.request?.prompt?(d(),m(`p`,Qr,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),m(`span`,$r,` - (`+u(e.$t(`kling.status.pending`))+`) `,1)),e.modelValue?.response?.state===`submitted`||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`completed`?(d(),m(`span`,ei,` - (`+u(e.$t(`kling.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0?(d(),m(`div`,ti,[e.modelValue?.response.video_url?(d(),m(`div`,ni,[o(b,{src:e.modelValue?.response.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),m(`div`,ri,[o(S,{class:`box-item`,effect:`dark`,content:e.$t(`kling.message.downloadVideo`),placement:`top-start`},{default:h(()=>[e.modelValue?.response.video_url?(d(),n(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response.video_url)},{default:h(()=>[a(u(e.$t(`kling.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(C,{path:`/kling/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(E,{closable:!1,class:`mt-2 success`},{default:h(()=>[r(`p`,ii,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,ai,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,oi,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),m(`div`,si,[o(E,{closable:!1,class:`failure`},{template:h(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:h(()=>[r(`p`,ci,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,li,[o(w,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(T,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),m(`p`,ui,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),m(`p`,di,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),m(`div`,fi,[o(E,{closable:!1,class:`info`},{template:h(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:h(()=>[r(`p`,pi,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),m(`p`,mi,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var gi=c({name:`RecentPanel`,components:{TaskPreview:N(Wr,[[`render`,hi],[`__scopeId`,`data-v-c36bfd7f`]]),NoTasks:he,BotPlaceholder:de,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),_i={key:0},vi={key:2,class:`w-full h-full flex items-center justify-center`};function yi(e,t,r,i,a,c){let u=p(`bot-placeholder`),f=p(`task-preview`),g=p(`scroll-list`),v=p(`no-tasks`);return d(),m(_,null,[e.tasks?.items===void 0?(d(),m(`div`,_i,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(g,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(d(!0),m(_,null,l(e.tasks?.items,e=>(d(),n(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),m(`div`,vi,[o(v)])):s(``,!0)],64)}var bi=N(gi,[[`render`,yi]]),$=re(`kling`),xi=c({name:`KlingIndex`,components:{ConfigPanel:An,MotionPanel:Sr,TalkingPhotoPanel:Ur,TabSwitcher:Dr,Layout:Ce,RecentPanel:bi},mixins:[ae],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===se.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===se.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},talkingPhotoConfig(){return this.$store.state.kling.talkingPhotoConfig},taskType(){return this.$store.state.kling.taskType||`videos`},tasks(){return this.$store.state.kling.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 pe({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`kling/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`kling/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`kling/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!R(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let{camera_control:e,...t}=this.config||{},n={...t,callback_url:$};if(!n.video_id&&!t.video_url&&!n.start_image_url&&n.end_image_url){V.warning(this.$t(`kling.message.endImageRequiresStart`));return}n.action||(n.video_id||t.video_url?n.action=`extend`:n.start_image_url?n.action=`image2video`:n.action=`text2video`),n.action===`text2video`&&n.end_image_url&&delete n.end_image_url,e?.type&&(n.camera_control={type:e.type,...e.type===`simple`&&e.config?{config:Object.fromEntries(Object.entries(e.config).filter(([,e])=>e!=null))}:{}});let r=this.credential?.token;if(!r){console.error(`no token specified`);return}V.info(this.$t(`kling.message.startingTask`)),P(`kling`,U.generate(n,{token:r})).then(()=>{V.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?V.error(this.$t(`kling.message.usedUp`)):V.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch(`kling/setTaskType`,e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){if(!R(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e=this.motionConfig||{};if(!e.image_url||!e.video_url){V.warning(this.$t(`kling.message.motionMissingInputs`));return}let t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||`video`,mode:e.mode||`std`,keep_original_sound:e.keep_original_sound??`yes`,...e.prompt?{prompt:e.prompt}:{},callback_url:$},n=this.credential?.token;if(!n){console.error(`no token specified`);return}V.info(this.$t(`kling.message.startingTask`)),P(`kling`,U.motion(t,{token:n})).then(()=>{V.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?V.error(this.$t(`kling.message.usedUp`)):V.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},async onGenerateTalkingPhoto(){if(!R(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e=this.talkingPhotoConfig||{};if(!e.image_url||!e.audio_url){V.warning(this.$t(`kling.message.talkingPhotoMissingInputs`));return}let t={image_url:e.image_url,audio_url:e.audio_url,...e.prompt?{prompt:e.prompt}:{},...e.model?{model:e.model}:{},...e.duration?{duration:e.duration}:{},...e.mode?{mode:e.mode}:{},callback_url:$},n=this.credential?.token;if(!n){console.error(`no token specified`);return}V.info(this.$t(`kling.message.startingTask`)),P(`kling`,U.talkingPhoto(t,{token:n})).then(()=>{V.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?V.error(this.$t(`kling.message.usedUp`)):V.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),Si={class:`flex flex-col h-full`},Ci={class:`flex-1 min-h-0`};function wi(e,t,i,a,c,l){let u=p(`tab-switcher`),f=p(`config-panel`),m=p(`motion-panel`),g=p(`talking-photo-panel`),_=p(`recent-panel`),v=p(`layout`);return d(),n(v,null,{config:h(()=>[r(`div`,Si,[o(u,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,[`model-value`,`onUpdate:modelValue`]),r(`div`,Ci,[e.taskType===`videos`?(d(),n(f,{key:0,onGenerate:e.onGenerate},null,8,[`onGenerate`])):e.taskType===`motion`?(d(),n(m,{key:1,onGenerate:e.onGenerateMotion},null,8,[`onGenerate`])):e.taskType===`talking-photo`?(d(),n(g,{key:2,onGenerate:e.onGenerateTalkingPhoto},null,8,[`onGenerate`])):s(``,!0)])])]),result:h(()=>[o(_,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ti=N(xi,[[`render`,wi]]);export{Ti as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ur as e}from"./index-WLGDsbco.js";var t=e(`PushNotifications`,{});export{t as PushNotifications};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.bot":{message:`Grok Video Bot`,description:`Name of the Grok video generator`},"name.prompt":{message:`Prompt`,description:`Prompt for generating the video`},"name.model":{message:`Model`,description:`Label for model selection`},"name.ratio":{message:`Aspect Ratio`,description:`Label for aspect ratio`},"name.resolution":{message:`Resolution`,description:`Label for resolution`},"name.duration":{message:`Duration`,description:`Label for duration`},"name.image":{message:`Image`,description:`Label for input image`},"name.required":{message:`Required`,description:`Required badge`},"name.taskId":{message:`Task ID`,description:`Task id label`},"name.elapsed":{message:`Elapsed`,description:`Elapsed time label`},"name.traceId":{message:`Trace ID`,description:`Trace id label`},"name.failure":{message:`Generation Failed`,description:`Failure title`},"name.failureReason":{message:`Reason`,description:`Failure reason label`},"name.status":{message:`Status`,description:`Status title`},"description.prompt":{message:`Describe the video you want to generate (scene, subject, motion, camera, lighting, style).`,description:`Instructions for prompt input`},"description.model":{message:`Choose the Grok Imagine model. grok-imagine-video supports text and image; 1.5-preview is image-to-video only.`,description:`Instructions for model selection`},"description.ratio":{message:`Select the output aspect ratio.`,description:`Instructions for aspect ratio`},"description.resolution":{message:`Select the output resolution. Higher resolution costs more credits per second.`,description:`Instructions for resolution`},"description.duration":{message:`Video duration in seconds. Billed per output second.`,description:`Instructions for duration`},"description.image":{message:`Optional input image to animate (image-to-video). Required for grok-imagine-video-1.5-preview.`,description:`Instructions for image input`},"placeholder.prompt":{message:`Describe your video…`,description:`Placeholder for prompt`},"placeholder.select":{message:`Please select`,description:`Placeholder for selects`},"model.default":{message:`Grok Imagine Video`,description:`Default model label`},"model.preview15":{message:`Grok Imagine Video 1.5 (Preview, image-to-video)`,description:`1.5 preview model label`},"button.upload":{message:`Upload`,description:`Upload button`},"button.generate":{message:`Generate`,description:`Generate button`},"button.download":{message:`Download`,description:`Download button`},"status.pending":{message:`Pending`,description:`Pending status`},"status.processing":{message:`Processing`,description:`Processing status`},"message.uploadExceed":{message:`You can upload only one image.`,description:`Upload exceed warning`},"message.uploadError":{message:`Image upload failed, please try again.`,description:`Upload error`},"message.downloadVideo":{message:`Download video`,description:`Download tooltip`},"message.modelRequiresImage":{message:`This model requires an input image (image-to-video).`,description:`Model requires image warning`},"message.promptOrImageRequired":{message:`Please enter a prompt or upload an image.`,description:`Prompt or image required warning`},"message.startingTask":{message:`Submitting your video generation task…`,description:`Starting task`},"message.startTaskSuccess":{message:`Task submitted successfully.`,description:`Task success`},"message.startTaskFailed":{message:`Failed to submit task: `,description:`Task failed`},"message.usedUp":{message:`Your quota has been used up. Please purchase more to continue.`,description:`Used up`}};export{e as default};
|