|
import{b as e}from"./Basic-BHHKmK6B.js";import{A as t,B as n,C as r,D as i,I as a,J as o,L as s,Q as c,a4 as l,a5 as u,aL as d,aP as f,aS as p,aV as m,aX as h,aa as g,ab as _,ag as v,aq as y,b$ as b,b1 as x,b2 as S,bA as C,bB as w,bC as T,bD as E,bE as D,bF as O,bG as k,bH as A,bI as j,bJ as M,bK as N,bL as P,bM as ee,bO as F,bP as I,bQ as L,bR as R,bS as z,bT as B,bU as V,bW as H,bZ as U,bt as W,bv as G,by as K,bz as q,c0 as J,c1 as Y}from"./index-Cqd4rp-B.js";import{b as X,c as te,d as ne}from"./HeaderLink-BT6NcHw6.js";import{d as Z,e as re,f as ie}from"./Scenes-JbYkYD03.js";function ae(e,t){let n=ie(e,t?.in);if(!re(n))throw RangeError(`Invalid time value`);let r=t?.format??`extended`,i=t?.representation??`complete`,a=``,o=r===`extended`?`-`:``,s=r===`extended`?`:`:``;if(i!==`time`){let e=Z(n.getDate(),2),t=Z(n.getMonth()+1,2),r=Z(n.getFullYear(),4);a=`${r}${o}${t}${o}${e}`}if(i!==`date`){let e=Z(n.getHours(),2),t=Z(n.getMinutes(),2),r=Z(n.getSeconds(),2),i=a===``?``:` `;a=`${a}${i}${e}${s}${t}${s}${r}`}return a}const oe={},se={class:`cross-background-container`};function ce(e,t){return T(),V(`div`,se,[N(e.$slots,`default`,{},void 0,!0)])}var le=d(oe,[[`render`,ce],[`__scopeId`,`data-v-455eb62c`]]);const ue={"mb-1":``,"w-full":``,"gap-2":``},de={"w-full":``};var fe=R({__name:`Header`,setup(e){return(e,t)=>(T(),V(`header`,ue,[D(`div`,de,[K(X)]),K(U(f),{class:`m-1 block max-h-[10lh] min-h-[1lh] rounded-lg bg-neutral-100 p-2 text-lg text-neutral-500 outline-none dark:bg-neutral-800 dark:text-neutral-400`,to:`/settings`},{default:B(()=>t[0]||=[D(`div`,{"i-solar:settings-minimalistic-bold-duotone":``},null,-1)]),_:1,__:[0]})]))}}),pe=fe,me=`/assets/worker-FPXhib_8.js`;const Q=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),he=e=>{let t=typeof e;return t===`object`?e===null?`null`:e?.constructor?.name??`object`:t},ge=e=>{if(typeof e==`string`)return new TextEncoder().encode(e);if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);throw TypeError(`The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type ${he(e)}.`)},_e=e=>{let t=ge(e),n=``,r,i=t.length;for(r=2;r<i;r+=3)n+=Q[t[r-2]>>2],n+=Q[(t[r-2]&3)<<4|t[r-1]>>4],n+=Q[(t[r-1]&15)<<2|t[r]>>6],n+=Q[t[r]&63];return r===i+1&&(n+=Q[t[r-2]>>2],n+=Q[(t[r-2]&3)<<4],n+=`==`),r===i&&(n+=Q[t[r-2]>>2],n+=Q[(t[r-2]&3)<<4|t[r-1]>>4],n+=Q[(t[r-1]&15)<<2],n+=`=`),n};function $(e,t,n){for(let r=0;r<n.length;r++)e.setUint8(t+r,n.charCodeAt(r))}function ve(e,t,n=1){let r=n,i=e.byteLength,a=new ArrayBuffer(44+i*2),o=new DataView(a);$(o,0,`RIFF`),o.setUint32(4,36+i*2,!0),$(o,8,`WAVE`),$(o,12,`fmt `),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,r,!0),o.setUint32(24,t,!0),o.setUint32(28,t*r*2,!0),o.setUint16(32,r*2,!0),o.setUint16(34,16,!0),$(o,36,`data`),o.setUint32(40,i*2,!0);let s=44;for(let t=0;t<i;t++){let n=Math.max(-1,Math.min(1,e[t])),r=n<0?n*32768:n*32767;o.setInt16(s+t*2,r,!0)}return a}function ye(e,t){return _e(ve(e,t))}const be={relative:``,px:`<sm:2`,py:`<sm:2`,flex:`~ col`,rounded:`lg`,"overflow-hidden":``},xe={key:0,flex:``,mr:`12`},Se={flex:`~ col`,border:`2 solid violet-200/50 dark:violet-500/50`,shadow:`md violet-200/50 dark:none`,"min-w-20":``,"rounded-lg":``,"px-2":``,"py-1":``,h:`unset <sm:fit`,bg:`<md:violet-500/25`},Ce={flex:`~ row`,"gap-2":``},we={"flex-1":``},Te={"text-xs":``,text:`violet-400/90 dark:violet-600/90`,"font-normal":``,class:`inline <sm:hidden`},Ee={key:0,"i-eos-icons:three-dots-loading":``},De=[`innerHTML`],Oe={key:1,flex:``,mr:`12`},ke={flex:`~ col`,border:`2 solid primary-200/50 dark:primary-500/50`,shadow:`md primary-200/50 dark:none`,"min-w-20":``,"rounded-lg":``,"px-2":``,"py-1":``,h:`unset <sm:fit`,bg:`<md:primary-500/25`},Ae={"text-xs":``,text:`primary-400/90 dark:primary-600/90`,"font-normal":``,class:`inline <sm:hidden`},je={key:0,class:`markdown-content`,text:`xs primary-400`},Me={key:0},Ne={p:`1`,border:`1 solid primary-200`,"rounded-lg":``,m:`y-1`,bg:`primary-100`},Pe={key:1},Fe=[`innerHTML`],Ie={key:1,"i-eos-icons:three-dots-loading":``},Le={key:2,flex:`~ row-reverse`,ml:`12`},Re={flex:`~ col`,border:`2 solid cyan-200/50 dark:cyan-500/50`,shadow:`md cyan-200/50 dark:none`,px:`2`,h:`unset <sm:fit`,"min-w-20":``,"rounded-lg":``,"px-2":``,"py-1":``,bg:`<md:cyan-500/25`},ze={"text-xs":``,text:`cyan-400/90 dark:cyan-600/90`,"font-normal":``,class:`inline <sm:hidden`},Be=[`innerHTML`],Ve={key:1};var He=R({__name:`ChatHistory`,setup(e){let t=H(),{t:n}=s(),{messages:r,sending:a}=p(i()),{process:o}=u(),{onBeforeMessageComposed:c,onTokenLiteral:l}=i();return c(async()=>{L().then(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})}),l(async()=>{L().then(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})}),(e,i)=>{let s=w(`auto-animate`);return T(),V(`div`,be,[i[3]||=D(`div`,{"flex-1":``},null,-1),P((T(),V(`div`,{ref_key:`chatHistoryRef`,ref:t,"h-full":``,"w-full":``,flex:`~ col`,"overflow-scroll":``},[i[2]||=D(`div`,{"flex-1":``},null,-1),(T(!0),V(F,null,O(U(r),(e,t)=>(T(),V(`div`,{key:t,"mb-2":``},[e.role===`error`?(T(),V(`div`,xe,[D(`div`,Se,[D(`div`,Ce,[D(`div`,we,[D(`span`,Te,Y(U(n)(`stage.chat.message.character-name.core-system`)),1)]),i[0]||=D(`div`,{"i-solar:danger-triangle-bold-duotone":``,"text-violet-500":``},null,-1)]),U(a)&&t===U(r).length-1?(T(),V(`div`,Ee)):(T(),V(`div`,{key:1,class:`markdown-content break-words text-violet-500`,text:`base <sm:xs`,innerHTML:U(o)(e.content)},null,8,De))])])):z(``,!0),e.role===`assistant`?(T(),V(`div`,Oe,[D(`div`,ke,[D(`div`,null,[D(`span`,Ae,Y(U(n)(`stage.chat.message.character-name.airi`)),1)]),e.content&&t===U(r).length-1?(T(),V(`div`,je,[(T(!0),V(F,null,O(e.slices,(e,t)=>(T(),V(`div`,{key:t},[e.type===`tool-call`?(T(),V(`div`,Me,[D(`div`,Ne,[i[1]||=k(` Called: `),D(`code`,null,Y(e.toolCall.toolName),1)])])):e.type===`tool-call-result`?(T(),V(`div`,Pe)):(T(),V(`div`,{key:2,innerHTML:U(o)(e.text)},null,8,Fe))]))),128))])):(T(),V(`div`,Ie))])])):e.role===`user`?(T(),V(`div`,Le,[D(`div`,Re,[D(`div`,null,[D(`span`,ze,Y(U(n)(`stage.chat.message.character-name.you`)),1)]),e.content?(T(),V(`div`,{key:0,class:`markdown-content break-words`,text:`base <sm:xs`,innerHTML:U(o)(e.content)},null,8,Be)):(T(),V(`div`,Ve))])])):z(``,!0)]))),128))])),[[s]])])}}}),Ue=He;const We={flex:`col`,"items-center":``,"pt-4":``},Ge={flex:`~ row`,"w-fit":``,"rounded-lg":``},Ke=[`checked`,`aria-checked`],qe={flex:`~ row`,"items-center":``},Je={"min-w":`3em`},Ye={"h-full":``,"max-h":`[85vh]`,"w-full":``,py:`4`},Xe={flex:`~ col`,border:`solid 4 primary-200/20 dark:primary-400/20`,"h-full":``,"w-full":``,"overflow-scroll":``,"rounded-xl":``,bg:`primary-50/50 dark:primary-950/70`,"backdrop-blur-md":``},Ze={h:`<md:full`,flex:``,"gap-2":``};var Qe=R({__name:`InteractiveArea`,setup(t){let r=H(``),u=H(!1),d=H(`chat`),f=H(!1),m=H(!1),h=o(),{activeProvider:_,activeModel:v}=p(a()),{themeColorsHueDynamic:y}=p(n()),{ensurePermissions:x}=S({constraints:{audio:!0}}),{isAudioInputOn:w,selectedAudioDeviceId:E}=p(n()),{send:O,onAfterSend:k,discoverToolsCompatibility:A}=i(),{messages:j}=p(i()),{audioContext:M}=g(),{t:N}=s(),{transcribe:F,terminate:I}=c(me,{onComplete:async e=>{if(!e||!e.trim())return;let t=h.getProviderConfig(_.value);await O(e,{chatProvider:await h.getProviderInstance(_.value),model:v.value,providerConfig:t})}});async function L(){if(!(!r.value.trim()||m.value))try{let e=h.getProviderConfig(_.value);await O(r.value,{chatProvider:await h.getProviderInstance(_.value),model:v.value,providerConfig:e})}catch(e){j.value.pop(),j.value.push({role:`error`,content:e.message})}}let{destroy:R,start:z}=l(E,{onSpeechStart:()=>{u.value=!0},onVADMisfire:()=>{u.value=!1},onSpeechEnd:e=>{u.value=!1,B(e.buffer)},auto:!1});async function B(e){await M.resume();let t=await ye(e,M.sampleRate);F({type:`generate`,data:{audio:t,language:`en`}})}return C(w,async e=>{e===`false`&&(R(),I())}),C(f,async e=>{e&&await x()}),C([_,v],async()=>{_.value&&v.value&&await A(v.value,await h.getProviderInstance(_.value),[])}),ee(()=>{z()}),k(async()=>{r.value=``}),(t,n)=>(T(),V(`div`,We,[D(`fieldset`,Ge,[D(`label`,{class:b([d.value===`chat`?`bg-primary-100 dark:bg-primary-900`:`bg-white dark:bg-primary-950`,d.value===`chat`?`text-primary-500 dark:text-primary-500`:``,{"transition-colors-none ":U(y)}]),flex:`~ row`,checked:d.value===`chat`,"aria-checked":d.value===`chat`,border:`solid 2 primary-100 dark:primary-900`,text:`primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500`,transition:`all duration-250 ease-in-out`,"cursor-pointer":``,"items-center":``,"gap-1":``,"rounded-lg":``,"px-2":``},[P(D(`input`,{"onUpdate:modelValue":n[0]||=e=>d.value=e,type:`radio`,name:`tab`,value:`chat`,hidden:``},null,512),[[G,d.value]]),n[4]||=D(`div`,{"i-solar:dialog-2-bold-duotone":``,text:`2xl`,transform:`translate-y--2`},null,-1),D(`div`,qe,[D(`span`,Je,Y(U(N)(`stage.chat.tabs.chat`)),1)])],10,Ke)]),D(`div`,Ye,[D(`div`,Xe,[K(Ue,{"h-full":``,"flex-1":``,"p-4":``,w:`full`,"max-h":`<md:[60%]`}),D(`div`,Ze,[K(U(e),{modelValue:r.value,"onUpdate:modelValue":n[1]||=e=>r.value=e,placeholder:U(N)(`stage.message`),text:`primary-500 hover:primary-600 dark:primary-300/50 dark:hover:primary-500 placeholder:primary-400 placeholder:hover:primary-500 placeholder:dark:primary-300/50 placeholder:dark:hover:primary-500`,bg:`primary-200/20 dark:primary-400/20`,"min-h":`[100px]`,"max-h":`[300px]`,"w-full":``,"rounded-t-xl":``,"p-4":``,"font-medium":``,"outline-none":``,transition:`all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out`,class:b({"transition-colors-none placeholder:transition-colors-none":U(y)}),onSubmit:L,onCompositionstart:n[2]||=e=>m.value=!0,onCompositionend:n[3]||=e=>m.value=!1},null,8,[`modelValue`,`placeholder`,`class`])])])])]))}}),$e=Qe;const et=[`src`],tt=[`src`];var nt=R({__name:`MobileHeaderLink`,setup(e){let t=m();return(e,n)=>(T(),A(U(f),{to:`/`,flex:`~`,"items-center":``,"gap-2":``,"px-2":``,"text-nowrap":``,"text-2xl":``,"outline-none":``},{default:B(()=>[U(t)?(T(),V(`img`,{key:0,src:U(ne),"h-8":``,"w-8":``,class:`theme-colored`},null,8,et)):(T(),V(`img`,{key:1,src:U(te),"h-8":``,"w-8":``,class:`theme-colored`},null,8,tt))]),_:1}))}}),rt=d(nt,[[`__scopeId`,`data-v-9c3d67a4`]]);const it={"mb-1":``,"w-full":``,"gap-2":``},at={"w-full":``,flex:``,"justify-center":``};var ot=R({__name:`MobileHeader`,setup(e){return(e,t)=>(T(),V(`header`,it,[D(`div`,at,[K(rt)])]))}}),st=ot;const ct={flex:`~ col`,rounded:`lg`,"overflow-hidden":``},lt={key:0,flex:``,mr:`12`},ut={flex:`~ col`,shadow:`md violet-200/20 dark:none`,"min-w-20":``,"rounded-lg":``,"px-3":``,"py-2":``,h:`unset <sm:fit`,bg:`violet-500 dark:violet-800`,"backdrop-blur-sm":``},dt={flex:`~ row`,"gap-2":``},ft={"flex-1":``},pt={"text-xs":``,text:`violet-400/90 dark:violet-600/90`,"font-normal":``,class:`inline <sm:hidden`},mt=[`innerHTML`],ht={key:1,"i-eos-icons:three-dots-loading":``},gt={key:1,flex:``,mr:`12`},_t={flex:`~ col`,shadow:`md primary-200/20 dark:none`,"min-w-20":``,"rounded-lg":``,"px-3":``,"py-2":``,h:`unset <sm:fit`,bg:`primary-100 dark:primary-800`,"backdrop-blur-md":``},vt={text:`primary-400/90 dark:primary-600/90`,"text-xs":``,"font-normal":``,class:`inline <sm:hidden`},yt=[`innerHTML`],bt={key:1,"i-eos-icons:three-dots-loading":``},xt={key:2,flex:`~`},St={flex:`~ col`,shadow:`md cyan-200/20 dark:none`,px:`2`,h:`unset <sm:fit`,"min-w-20":``,"rounded-lg":``,"px-3":``,"py-2":``,bg:`white dark:neutral-800`,"backdrop-blur-md":``},Ct={"text-xs":``,text:`cyan-400/90 dark:cyan-600/90`,"font-normal":``,class:`inline <sm:hidden`},wt=[`innerHTML`],Tt={key:1};var Et=R({__name:`MobileChatHistory`,setup(e){let t=H(),{t:n}=s(),{messages:r}=p(i()),{process:a}=u(),{onBeforeMessageComposed:o,onTokenLiteral:c}=i();return o(async()=>{L().then(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})}),c(async()=>{L().then(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})}),(e,i)=>{let o=w(`auto-animate`);return T(),V(`div`,ct,[P((T(),V(`div`,{ref_key:`chatHistoryRef`,ref:t,"max-h":`35dvh`,"z-5":``,flex:`~ col`,"h-full":``,"w-full":``,"overflow-scroll":``,class:`chat-history`},[(T(!0),V(F,null,O(U(r),(e,t)=>(T(),V(`div`,{key:t,"mb-2":``},[e.role===`error`?(T(),V(`div`,lt,[D(`div`,ut,[D(`div`,dt,[D(`div`,ft,[D(`span`,pt,Y(U(n)(`stage.chat.message.character-name.core-system`)),1)]),i[0]||=D(`div`,{"i-solar:danger-triangle-bold-duotone":``,"text-violet-500":``},null,-1)]),e.content?(T(),V(`div`,{key:0,class:`markdown-content`,text:`base <sm:xs`,innerHTML:U(a)(e.content)},null,8,mt)):(T(),V(`div`,ht))])])):z(``,!0),e.role===`assistant`?(T(),V(`div`,gt,[D(`div`,_t,[D(`div`,null,[D(`span`,vt,Y(U(n)(`stage.chat.message.character-name.airi`)),1)]),e.content?(T(),V(`div`,{key:0,class:`markdown-content`,text:`base <sm:xs`,innerHTML:U(a)(e.content)},null,8,yt)):(T(),V(`div`,bt))])])):e.role===`user`?(T(),V(`div`,xt,[D(`div`,St,[D(`div`,null,[D(`span`,Ct,Y(U(n)(`stage.chat.message.character-name.you`)),1)]),e.content?(T(),V(`div`,{key:0,class:`markdown-content`,text:`base <sm:xs`,innerHTML:U(a)(e.content)},null,8,wt)):(T(),V(`div`,Tt))])])):z(``,!0)]))),128))])),[[o]])])}}}),Dt=d(Et,[[`__scopeId`,`data-v-23390392`]]),Ot=class extends Date{constructor(){super(),this.setTime(arguments.length===0?Date.now():arguments.length===1?typeof arguments[0]==`string`?+new Date(arguments[0]):arguments[0]:Date.UTC(...arguments))}getTimezoneOffset(){return 0}};const kt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(kt.test(e)){let t=Date.prototype[e.replace(kt,`$1UTC`)];t&&(Ot.prototype[e]=t)}});var At=class extends Ot{toString(){let e=this.toDateString(),t=this.toTimeString();return`${e} ${t}`}toDateString(){let e=jt.format(this),t=Mt.format(this),n=this.getFullYear();return`${e} ${t} ${n}`}toTimeString(){let e=Nt.format(this);return`${e} GMT+0000 (Coordinated Universal Time)`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{timeZone:`UTC`,...t})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{timeZone:`UTC`,...t})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{timeZone:`UTC`,...t})}},jt=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,timeZone:`UTC`}),Mt=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,timeZone:`UTC`}),Nt=new Intl.DateTimeFormat(`en-GB`,{hour12:!1,hour:`numeric`,minute:`numeric`,second:`numeric`,timeZone:`UTC`});const Pt=`9dd1601555`,Ft=`main`,It=`Tue Jul 22 16:30:06 2025 +0800`,Lt={"max-w":`calc[100%-2rem]`,"mx-auto":``,"h-full":``,flex:``,"flex-col":``,"pt-14":``},Rt={"flex-1":``},zt={grid:`~ cols-[70px_1fr]`,"mt-4":``,"gap-2":``,"text-sm":``},Bt={"font-mono":``},Vt={"font-mono":``},Ht={"font-mono":``};var Ut=R({__name:`About`,setup(e){let t=H(!1),n=ae(new At(It));return(e,r)=>(T(),V(F,null,[D(`button`,{border:`2 solid neutral-100/60 dark:neutral-800/30`,bg:`neutral-50/70 dark:neutral-800/70`,"w-fit":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"rounded-xl":``,"p-2":``,"backdrop-blur-md":``,title:`About`,onClick:r[0]||=e=>t.value=!t.value},r[2]||=[D(`div`,{"i-solar:info-circle-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]),K(U(_),{modelValue:t.value,"onUpdate:modelValue":r[1]||=e=>t.value=e},{default:B(()=>[D(`div`,Lt,[r[7]||=D(`div`,{"font-sans-rounded":``,"mb-14":``,"text-center":``,"text-5xl":``},[D(`span`,{text:`neutral-400 dark:neutral-100/65`},`Project`),k(),D(`span`,{text:`pink-400 dark:pink-300/90`},`AIRI`),D(`div`,{"mt-2":``,"text-base":``},` Web ver. `)],-1),D(`div`,Rt,[r[6]||=D(`div`,{text:`neutral-500 dark:neutral-400`},` Application build information `,-1),D(`div`,zt,[r[3]||=D(`div`,{text:`neutral-500 dark:neutral-400`},` Branch `,-1),D(`div`,Bt,Y(U(Ft)),1),r[4]||=D(`div`,{text:`neutral-500 dark:neutral-400`},` Commit `,-1),D(`div`,Vt,Y(U(Pt).substring(0,7)),1),r[5]||=D(`div`,{text:`neutral-500 dark:neutral-400`},` Built on `,-1),D(`div`,Ht,Y(U(n)),1)])]),r[8]||=D(`div`,{"my-10":``},[D(`div`,{text:`neutral-500 dark:neutral-400`},` About `),D(`div`,{"mt-4":``,flex:``,"flex-col":``,"gap-2":``},[D(`a`,{class:b([`block`,`flex items-center gap-2`,`rounded-xl px-3 py-2 lg:px-5 lg:py-3 outline-none backdrop-blur-md active:scale-95 focus:outline-none text-nowrap text-sm md:text-base`,`text-slate-700 dark:text-slate-100`]),bg:`black/4 dark:black/10 dark:hover:white/30`,transition:`colors,transform duration-200 ease-in-out`,href:`https://airi.moeru.ai/docs/`,target:`_blank`},[D(`div`,{"i-solar:home-smile-outline":``}),D(`div`,null,`Home`)]),D(`a`,{href:`https://airi.moeru.ai/docs/en/docs/overview/`,class:b([`block`,`flex items-center gap-2`,`rounded-xl px-3 py-2 lg:px-5 lg:py-3 outline-none backdrop-blur-md active:scale-95 focus:outline-none text-nowrap text-sm md:text-base`,`text-slate-700 dark:text-slate-100`]),bg:`black/4 dark:black/10 dark:hover:white/30`,transition:`colors,transform duration-200 ease-in-out`,target:`_blank`},[D(`div`,{"i-solar:document-add-outline":``}),D(`div`,null,`Documentations`)]),D(`a`,{href:`https://github.com/moeru-ai/airi`,class:b([`block`,`flex items-center gap-2`,`rounded-xl px-3 py-2 lg:px-5 lg:py-3 outline-none backdrop-blur-md active:scale-95 focus:outline-none text-nowrap text-sm md:text-base`,`text-slate-700 dark:text-slate-100`]),bg:`black/4 dark:black/10 dark:hover:white/30`,transition:`colors,transform duration-200 ease-in-out`,target:`_blank`},[D(`div`,{"i-simple-icons:github":``}),D(`div`,null,`GitHub`)])])],-1)])]),_:1},8,[`modelValue`])],64))}}),Wt=Ut;const Gt={"w-full":``,flex:``,"flex-1":``,"items-center":``,"self-end":``,"justify-end":``,"gap-2":``},Kt={key:0,"w-full":``,flex:``,"justify-between":``,"gap-2":``},qt={key:0,"i-solar:tuning-outline":``,"size-5":``},Jt={key:1,"i-solar:alt-arrow-right-outline":``,"size-5":``};var Yt=R({__name:`ViewControls`,props:{modelValue:{required:!0},modelModifiers:{}},emits:q([`reset`],[`update:modelValue`]),setup(e,{emit:t}){let r=t,{stageView:i,stageViewControlsEnabled:a}=p(n()),o=j(e,`modelValue`);function s(e){if(o.value===e){r(`reset`);return}o.value=e}return(e,t)=>(T(),V(`div`,Gt,[K(W,{name:`fade`},{default:B(()=>[U(a)?(T(),V(`div`,Kt,[K(U(v),{variant:`secondary-muted`,toggled:o.value===`x`,"w-full":``,onClick:t[0]||=e=>s(`x`)},{default:B(()=>t[5]||=[k(` X `)]),_:1,__:[5]},8,[`toggled`]),K(U(v),{variant:`secondary-muted`,toggled:o.value===`y`,"w-full":``,onClick:t[1]||=e=>s(`y`)},{default:B(()=>t[6]||=[k(` Y `)]),_:1,__:[6]},8,[`toggled`]),U(i)===`3d`?(T(),A(U(v),{key:0,variant:`secondary-muted`,toggled:o.value===`z`,"w-full":``,onClick:t[2]||=e=>s(`z`)},{default:B(()=>t[7]||=[k(` Z `)]),_:1,__:[7]},8,[`toggled`])):z(``,!0),K(U(v),{variant:`secondary-muted`,toggled:o.value===`scale`,"w-full":``,onClick:t[3]||=e=>s(`scale`)},{default:B(()=>t[8]||=[k(` Scale `)]),_:1,__:[8]},8,[`toggled`])])):z(``,!0)]),_:1}),D(`button`,{"w-fit":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"justify-self-end":``,"rounded-xl":``,"p-2":``,"backdrop-blur-md":``,border:`2 solid neutral-100/60 dark:neutral-800/30`,bg:`neutral-50/70 dark:neutral-800/70`,title:`View`,text:`neutral-500 dark:neutral-400`,onClick:t[4]||=e=>a.value=!U(a)},[K(W,{name:`fade`,mode:`out-in`},{default:B(()=>[U(a)?(T(),V(`div`,Jt)):(T(),V(`div`,qt))]),_:1})])]))}}),Xt=d(Yt,[[`__scopeId`,`data-v-35df7db7`]]);const Zt={key:0},Qt={key:0,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},$t={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},en={key:1,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},tn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},nn={key:2,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},rn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},an={key:3,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},on={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`};var sn=R({__name:`Inputs`,props:{mode:{}},setup(e,{expose:i}){let a=e,{stageView:o,stageViewControlsEnabled:s}=p(n()),{scale:c,position:l,modelSize:u}=p(t()),{scale:d,position:f}=p(r()),m=I({get:()=>{switch(o.value){case`2d`:return f.value.x;case`3d`:return l.value.x;default:return 0}},set:e=>{switch(o.value){case`2d`:f.value.x=e;break;case`3d`:l.value.x=e;break;default:break}}}),h=I(()=>o.value===`2d`?-500:-u.value.x-10),g=I(()=>o.value===`2d`?500:u.value.x+10),_=I({get:()=>{switch(o.value){case`2d`:return f.value.y;case`3d`:return l.value.y;default:return 0}},set:e=>{switch(o.value){case`2d`:f.value.y=e;break;case`3d`:l.value.y=e;break;default:break}}}),v=I(()=>o.value===`2d`?-500:-u.value.y-10),b=I(()=>o.value===`2d`?500:u.value.y+10),x=I({get:()=>{switch(o.value){case`2d`:return 0;case`3d`:return l.value.z;default:return 0}},set:e=>{switch(o.value){case`2d`:break;case`3d`:l.value.z=e;break;default:break}}}),S=I(()=>o.value===`2d`?-500:-u.value.z-10),C=I(()=>o.value===`2d`?500:u.value.z+10),w=I({get:()=>o.value===`2d`?d.value:c.value,set:e=>{o.value===`2d`?d.value=e:c.value=e}});function E(){switch(a.mode){case`x`:m.value=0;break;case`y`:_.value=0;break;case`z`:x.value=0;break;case`scale`:w.value=1;break}}return i({resetOnMode:E}),(e,t)=>(T(),A(W,{name:`fade-side-pops-in`},{default:B(()=>[U(s)?(T(),V(`div`,Zt,[K(W,{name:`fade-side-pops-in`,mode:`out-in`},{default:B(()=>[a.mode===`x`?(T(),V(`div`,Qt,[K(U(y),{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,min:h.value,max:g.value,step:.01,"data-direction":`vertical`,h:`50%`,"write-vertical-left":``},null,8,[`modelValue`,`min`,`max`]),D(`div`,$t,Y(m.value.toFixed(2)),1)])):a.mode===`y`?(T(),V(`div`,en,[K(U(y),{modelValue:_.value,"onUpdate:modelValue":t[1]||=e=>_.value=e,min:v.value,max:b.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),D(`div`,tn,Y(_.value.toFixed(2)),1)])):U(o)===`3d`&&a.mode===`z`?(T(),V(`div`,nn,[K(U(y),{modelValue:x.value,"onUpdate:modelValue":t[2]||=e=>x.value=e,min:S.value,max:C.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),D(`div`,rn,Y(x.value.toFixed(2)),1)])):a.mode===`scale`?(T(),V(`div`,an,[K(U(y),{modelValue:w.value,"onUpdate:modelValue":t[3]||=e=>w.value=e,min:0,max:3,step:1e-4,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`]),D(`div`,on,Y(w.value.toFixed(2)),1)])):z(``,!0)]),_:1})])):z(``,!0)]),_:1}))}}),cn=d(sn,[[`__scopeId`,`data-v-d116bf35`]]);const ln={fixed:``,"bottom-0":``,"w-full":``,flex:``,"flex-col":``},un={relative:``,"w-full":``,"self-end":``},dn={top:`50%`,"translate-y":`[-50%]`,fixed:``,"z-15":``,"px-3":``},fn={"translate-y":`[-100%]`,absolute:``,"right-0":``,"w-full":``,"px-3":``,"pb-3":``,"font-sans":``},pn={flex:`~ col`,"w-full":``,"gap-1":``},mn={key:0,"i-solar:moon-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},hn={key:1,"i-solar:sun-2-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},gn={key:0,"size-5":``,text:`neutral-500 dark:neutral-400`,"inline-flex":``,"items-center":``,"justify-center":``},_n={key:1,"size-5":``,text:`neutral-500 dark:neutral-400`,"inline-flex":``,"items-center":``,"justify-center":``};var vn=R({__name:`MobileInteractiveArea`,setup(t){let r=m({disableTransition:!1}),c=H(`scale`),u=M(`viewControlsInputs`),d=H(``),g=H(!1),_=H(!1),v=h(),y=o(),{activeProvider:S,activeModel:w}=p(a());x(document.documentElement,()=>v.update());let{isAudioInputOn:O,selectedAudioDeviceId:k,themeColorsHueDynamic:j,stageView:N,stageViewControlsEnabled:P}=p(n()),{send:F,onAfterSend:I,discoverToolsCompatibility:L}=i(),{messages:R}=p(i()),{t:G}=s();async function q(){if(!(!d.value.trim()||_.value))try{let e=y.getProviderConfig(S.value);await F(d.value,{chatProvider:await y.getProviderInstance(S.value),model:w.value,providerConfig:e})}catch(e){R.value.pop(),R.value.push({role:`error`,content:e.message})}}let{destroy:Y,start:X}=l(k,{onSpeechStart:()=>{g.value=!0},onVADMisfire:()=>{g.value=!1},onSpeechEnd:e=>{g.value=!1,te(e)},auto:!1});function te(e){alert(`Transcription is not implemented yet`)}return C(O,async e=>{e===`false`&&Y()}),I(async()=>{d.value=``}),C([S,w],async()=>{S.value&&w.value&&await L(w.value,await y.getProviderInstance(S.value),[])}),ee(()=>{X(),v.update()}),(t,n)=>(T(),V(`div`,ln,[(T(),A(E,null,[K(W,{name:`fade`},{default:B(()=>[U(P)?z(``,!0):(T(),A(Dt,{key:0,"max-w":`[calc(100%-3.5rem)]`,"w-full":``,"self-start":``,"pl-3":``}))]),_:1})],1024)),D(`div`,un,[D(`div`,dn,[K(cn,{ref:`viewControlsInputs`,mode:c.value},null,8,[`mode`])]),D(`div`,fn,[D(`div`,pn,[K(Wt),D(`button`,{border:`2 solid neutral-100/60 dark:neutral-800/30`,bg:`neutral-50/70 dark:neutral-800/70`,"w-fit":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"rounded-xl":``,"p-2":``,"backdrop-blur-md":``,title:`Theme`,onClick:n[0]||=e=>r.value=!U(r)},[K(W,{name:`fade`,mode:`out-in`},{default:B(()=>[U(r)?(T(),V(`div`,mn)):(T(),V(`div`,hn))]),_:1})]),K(U(f),{to:`/settings`,border:`2 solid neutral-100/60 dark:neutral-800/30`,bg:`neutral-50/70 dark:neutral-800/70`,"w-fit":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"rounded-xl":``,"p-2":``,"backdrop-blur-md":``,title:`Settings`},{default:B(()=>n[7]||=[D(`div`,{"i-solar:settings-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]),_:1,__:[7]}),D(`button`,{border:`2 solid neutral-100/60 dark:neutral-800/30`,bg:`neutral-50/70 dark:neutral-800/70`,"w-fit":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"rounded-xl":``,"p-2":``,"backdrop-blur-md":``,title:`Stage View`,onClick:n[1]||=e=>N.value=U(N)===`2d`?`3d`:`2d`},[U(N)===`2d`?(T(),V(`div`,gn,n[8]||=[D(`span`,null,`2D`,-1)])):z(``,!0),U(N)===`3d`?(T(),V(`div`,_n,n[9]||=[D(`span`,null,`3D`,-1)])):z(``,!0)]),K(Xt,{modelValue:c.value,"onUpdate:modelValue":n[2]||=e=>c.value=e,onReset:n[3]||=()=>u.value?.resetOnMode()},null,8,[`modelValue`])])]),D(`div`,{bg:`white dark:neutral-800`,"max-h-100dvh":``,"max-w-100dvw":``,"w-full":``,flex:``,"gap-1":``,"overflow-auto":``,"px-3":``,"pt-2":``,style:J({paddingBottom:`${Math.max(Number.parseFloat(U(v).bottom.value.replace(`px`,``)),12)}px`})},[K(U(e),{modelValue:d.value,"onUpdate:modelValue":n[4]||=e=>d.value=e,placeholder:U(G)(`stage.message`),border:`solid 2 neutral-200/60 dark:neutral-700/60`,text:`neutral-500 hover:neutral-600 dark:neutral-100 dark:hover:neutral-200 placeholder:neutral-400 placeholder:hover:neutral-500 placeholder:dark:neutral-300 placeholder:dark:hover:neutral-400`,bg:`neutral-100/80 dark:neutral-950/80`,"max-h":`[10lh]`,"min-h":`[calc(1lh+4px+4px)]`,"w-full":``,"resize-none":``,"overflow-y-scroll":``,rounded:`[1lh]`,"px-4":``,"py-0.5":``,"outline-none":``,"backdrop-blur-md":``,"scrollbar-none":``,transition:`all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out`,class:b([U(j)?`transition-colors-none placeholder:transition-colors-none`:``]),"default-height":`1lh`,onSubmit:q,onCompositionstart:n[5]||=e=>_.value=!0,onCompositionend:n[6]||=e=>_.value=!1},null,8,[`modelValue`,`placeholder`,`class`]),d.value.trim()||_.value?(T(),V(`button`,{key:0,w:`[calc(1lh+4px+4px)]`,h:`[calc(1lh+4px+4px)]`,"aspect-square":``,flex:``,"items-center":``,"self-end":``,"justify-center":``,"rounded-full":``,"outline-none":``,"backdrop-blur-md":``,text:`neutral-500 hover:neutral-600 dark:neutral-900 dark:hover:neutral-800`,bg:`primary-50/80 dark:neutral-100/80 hover:neutral-50`,transition:`all duration-250 ease-in-out`,onClick:q},n[10]||=[D(`div`,{"i-solar:arrow-up-outline":``},null,-1)])):z(``,!0)],4)])]))}}),yn=vn;const bn={class:`relative`},xn={absolute:``,"left-0":``,"right-0":``,"top-0":``,"w-full":``,"overflow-hidden":``};var Sn=R({__name:`AnimatedWave`,props:{height:{default:40},amplitude:{default:14},waveLength:{default:250},fillColor:{default:`oklch(95% 0.10 var(--chromatic-hue))`},direction:{default:`down`},movementDirection:{default:`left`},animationSpeed:{default:50}},setup(e){let t=e,n=H(t.height),r=H(t.amplitude),i=H(t.waveLength),a=H(t.fillColor),o=H(t.direction),s=H(t.movementDirection);function c(e,t,n,r,i){let a=[],o=Math.ceil(e/r),s=o*r,c=1,l=i===`up`?n:t-n;a.push(`M 0 ${l}`);let u=Math.PI*2/r;for(let e=0;e<=s;e+=c){let t=n*Math.sin(u*e),r=i===`up`?l-t:l+t;a.push(`L ${e} ${r}`)}let d=i===`up`?t:0;return a.push(`L ${s} ${d}`),a.push(`L 0 ${d} Z`),a.join(` `)}let l=I(()=>n.value+r.value*2),u=I(()=>{let e=`<svg width="${i.value}" height="${l.value}" xmlns="http://www.w3.org/2000/svg"> |