diff --git a/assets/CardCreationDialog-B-y2_x-f.js b/assets/CardCreationDialog-7OuTNvMM.js
similarity index 72%
rename from assets/CardCreationDialog-B-y2_x-f.js
rename to assets/CardCreationDialog-7OuTNvMM.js
index f538351128915270e139b7ba99409ac2d32f8fe1..fdcf70c4411ce6aa6f96abcdb35239e5ad8f2491 100644
--- a/assets/CardCreationDialog-B-y2_x-f.js
+++ b/assets/CardCreationDialog-7OuTNvMM.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-aLmIHzTk.js";import{t as e}from"./CardCreationDialog-D1h_sOQn.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-Chm8EQFK.js";import{t as e}from"./CardCreationDialog-C5DB5RX7.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardCreationDialog-D1h_sOQn.js b/assets/CardCreationDialog-C5DB5RX7.js
similarity index 99%
rename from assets/CardCreationDialog-D1h_sOQn.js
rename to assets/CardCreationDialog-C5DB5RX7.js
index 53581aba2dbcdd81cfa5b123ffcdd4b9a91798b3..16c82fa314817a28dfaf728596a872d09538ae75 100644
--- a/assets/CardCreationDialog-D1h_sOQn.js
+++ b/assets/CardCreationDialog-C5DB5RX7.js
@@ -1,3 +1,3 @@
-import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,C as r,J as i,K as a,O as o,Pt as s,R as c,S as ee,Tt as te,b as l,gt as u,jt as d,k as f,kt as p,lt as m,m as ne,nt as re,w as h,x as g,xt as _}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as v,I as y,K as ie,M as ae,N as oe,u as b}from"./widgets-DXnWA3E4.js";import{o as x,u as S}from"./src-C1mn1H34.js";import{t as C}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{n as se}from"./vue-i18n.runtime-DrfLf34E.js";import{t as w}from"./airi-card-aLmIHzTk.js";var T=t(((e,t)=>{function n(e){return e.toLowerCase()}t.exports=n})),E=t(((e,t)=>{t.exports=T()})),D=t(((e,t)=>{function n(e,t,n){return e.replace(t,n)}t.exports=n})),O=t(((e,t)=>{t.exports=D()})),k=t(((e,t)=>{t.exports=String.prototype.trim!==void 0})),A=t(((e,t)=>{t.exports=String.prototype.trim})),j=t(((e,t)=>{var n=A(),r=`
+import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,C as r,J as i,K as a,O as o,Pt as s,R as c,S as ee,Tt as te,b as l,gt as u,jt as d,k as f,kt as p,lt as m,m as ne,nt as re,w as h,x as g,xt as _}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as v,I as y,K as ie,M as ae,N as oe,u as b}from"./widgets-DXnWA3E4.js";import{o as x,u as S}from"./src-C1mn1H34.js";import{t as C}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{n as se}from"./vue-i18n.runtime-DrfLf34E.js";import{t as w}from"./airi-card-Chm8EQFK.js";var T=t(((e,t)=>{function n(e){return e.toLowerCase()}t.exports=n})),E=t(((e,t)=>{t.exports=T()})),D=t(((e,t)=>{function n(e,t,n){return e.replace(t,n)}t.exports=n})),O=t(((e,t)=>{t.exports=D()})),k=t(((e,t)=>{t.exports=String.prototype.trim!==void 0})),A=t(((e,t)=>{t.exports=String.prototype.trim})),j=t(((e,t)=>{var n=A(),r=`
\r
\f\v \u2028\u2029 `,i=``;function a(){return n.call(r)===``&&n.call(i)===i}t.exports=a})),M=t(((e,t)=>{var n=O(),r=/^[\u0020\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*([\S\s]*?)[\u0020\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*$/;function i(e){return n(e,r,`$1`)}t.exports=i})),N=t(((e,t)=>{var n=A();function r(e){return n.call(e)}t.exports=r})),P=t(((e,t)=>{var n=k(),r=j(),i=M(),a=N();t.exports=n&&r()?a:i})),F=t(((e,t)=>{var n=E(),r=O(),i=P(),a=/\s+/g,o=/[!"'(),–.:;<>?`{}|~\/\\\[\]_#$*&^@%]+/g,s=/([a-z0-9])([A-Z])/g;function c(e){return e=r(e,o,` `),e=r(e,s,`$1 $2`),e=i(e),e=r(e,a,`-`),n(e)}t.exports=c})),I=e(t(((e,t)=>{t.exports=F()}))(),1),L={class:`w-full flex flex-col gap-5`},R={class:`mt-4`},z={class:`border-b border-neutral-200 dark:border-neutral-700`},B={class:`flex justify-center -mb-px sm:justify-start space-x-1`},V=[`onClick`],H={class:`flex items-center gap-1`},U={key:0,class:`w-full rounded-xl bg-red900`},W={class:`w-full p-4`},G={key:1,class:`tab-content ml-auto mr-auto w-95%`},ce={class:`mb-3`},le={class:`input-list ml-auto mr-auto w-90% flex flex-row flex-wrap justify-center gap-8`},ue={key:2,class:`tab-content ml-auto mr-auto w-95%`},de={class:`input-list ml-auto mr-auto w-90% flex flex-row flex-wrap justify-center gap-8`},fe={key:3,class:`tab-content ml-auto mr-auto w-95%`},pe={class:`input-list ml-auto mr-auto w-90% flex flex-row flex-wrap justify-center gap-8`},me={class:`ml-auto mr-1 flex flex-row gap-2`},K=C(n({__name:`CardCreationDialog`,props:c({modelValue:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:c([`update:modelValue`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,c=re(e,`modelValue`),{t:C}=se(),T=w(),E=_(``),D=[{id:`identity`,label:C(`settings.pages.card.creation.identity`),icon:`i-solar:emoji-funny-square-bold-duotone`},{id:`behavior`,label:C(`settings.pages.card.creation.behavior`),icon:`i-solar:chat-round-line-bold-duotone`},{id:`settings`,label:C(`settings.pages.card.creation.settings`),icon:`i-solar:settings-bold-duotone`}],O=l({get:()=>D.find(e=>e.id===E.value)?E.value:D[0]?.id||``,set:e=>{E.value=e}}),k=_(!1),A=_(``);function j(e){let t=te(e);if(t.name.length>0)if(/^(?:\d+\.)+\d+$/.test(t.version))if(t.description.length>0)if(t.personality.length>0)if(t.scenario.length>0)if(t.systemPrompt.length>0){if(!(t.postHistoryInstructions.length>0))return k.value=!0,A.value=C(`settings.pages.card.creation.errors.posthistoryinstructions`),!1}else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.systemprompt`),!1;else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.scenario`),!1;else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.personality`),!1;else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.description`),!1;else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.version`),!1;else return k.value=!0,A.value=C(`settings.pages.card.creation.errors.name`),!1;return k.value=!1,T.addCard(t),c.value=!1,!0}let M=_({name:C(`settings.pages.card.creation.defaults.name`),nickname:void 0,version:`1.0`,description:``,notes:void 0,personality:C(`settings.pages.card.creation.defaults.personality`),scenario:C(`settings.pages.card.creation.defaults.scenario`),systemPrompt:C(`settings.pages.card.creation.defaults.systemprompt`),postHistoryInstructions:C(`settings.pages.card.creation.defaults.posthistoryinstructions`),greetings:[],messageExample:[]});function N(e,t){return l({get:()=>M.value[e]??``,set:n=>{let r=n.trim();M.value[e]=r.length>0?t?t(r):r:``}})}let P=N(`name`,e=>(0,I.default)(e)),F=N(`nickname`),K=N(`description`),q=N(`notes`),J=N(`personality`),Y=N(`scenario`),X=l({get:()=>M.value.greetings??[],set:e=>{M.value.greetings=e||[]}}),Z=N(`version`),Q=N(`systemPrompt`),$=N(`postHistoryInstructions`);return(e,t)=>(a(),ee(p(ie),{open:c.value,"onUpdate:open":t[12]||=e=>n(`update:modelValue`,e)},{default:m(()=>[f(p(oe),null,{default:m(()=>[f(p(v),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),f(p(y),{class:`fixed left-1/2 top-1/2 z-100 m-0 max-h-[90vh] max-w-6xl w-[92vw] flex flex-col overflow-auto border border-neutral-200 rounded-xl bg-white p-5 shadow-xl 2xl:w-[60vw] lg:w-[80vw] md:w-[85vw] xl:w-[70vw] -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:border-neutral-700 dark:bg-neutral-800 sm:p-6`},{default:m(()=>[g(`div`,L,[f(p(ae),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:m(()=>[o(s(p(C)(`settings.pages.card.create_card`)),1)]),_:1}),g(`div`,R,[g(`div`,z,[g(`div`,B,[(a(),h(ne,null,i(D,e=>g(`button`,{key:e.id,class:d([`px-4 py-2 text-sm font-medium`,[O.value===e.id?`text-primary-600 dark:text-primary-400 border-b-2 border-primary-500 dark:border-primary-400`:`text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300`]]),onClick:t=>O.value=e.id},[g(`div`,H,[g(`div`,{class:d(e.icon)},null,2),o(` `+s(e.label),1)])],10,V)),64))])])]),k.value?(a(),h(`div`,U,[g(`p`,W,s(A.value),1)])):r(``,!0),O.value===`identity`?(a(),h(`div`,G,[g(`p`,ce,s(p(C)(`settings.pages.card.creation.fields_info.subtitle`)),1),g(`div`,le,[f(p(S),{modelValue:p(P),"onUpdate:modelValue":t[0]||=e=>u(P)?P.value=e:null,label:p(C)(`settings.pages.card.creation.name`),description:p(C)(`settings.pages.card.creation.fields_info.name`),required:!0},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p(F),"onUpdate:modelValue":t[1]||=e=>u(F)?F.value=e:null,label:p(C)(`settings.pages.card.creation.nickname`),description:p(C)(`settings.pages.card.creation.fields_info.nickname`)},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p(K),"onUpdate:modelValue":t[2]||=e=>u(K)?K.value=e:null,label:p(C)(`settings.pages.card.creation.description`),"single-line":!1,required:!0,description:p(C)(`settings.pages.card.creation.fields_info.description`)},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p(q),"onUpdate:modelValue":t[3]||=e=>u(q)?q.value=e:null,label:p(C)(`settings.pages.card.creator_notes`),"single-line":!1,description:p(C)(`settings.pages.card.creation.fields_info.notes`)},null,8,[`modelValue`,`label`,`description`])])])):O.value===`behavior`?(a(),h(`div`,ue,[g(`div`,de,[f(p(S),{modelValue:p(J),"onUpdate:modelValue":t[4]||=e=>u(J)?J.value=e:null,label:p(C)(`settings.pages.card.personality`),"single-line":!1,required:!0,description:p(C)(`settings.pages.card.creation.fields_info.personality`)},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p(Y),"onUpdate:modelValue":t[5]||=e=>u(Y)?Y.value=e:null,label:p(C)(`settings.pages.card.scenario`),"single-line":!1,required:!0,description:p(C)(`settings.pages.card.creation.fields_info.scenario`)},null,8,[`modelValue`,`label`,`description`]),f(p(x),{modelValue:X.value,"onUpdate:modelValue":t[6]||=e=>X.value=e,label:p(C)(`settings.pages.card.creation.greetings`),description:p(C)(`settings.pages.card.creation.fields_info.greetings`)},null,8,[`modelValue`,`label`,`description`])])])):O.value===`settings`?(a(),h(`div`,fe,[g(`div`,pe,[f(p(S),{modelValue:p(Q),"onUpdate:modelValue":t[7]||=e=>u(Q)?Q.value=e:null,label:p(C)(`settings.pages.card.systemprompt`),"single-line":!1,required:!0,description:p(C)(`settings.pages.card.creation.fields_info.systemprompt`)},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p($),"onUpdate:modelValue":t[8]||=e=>u($)?$.value=e:null,label:p(C)(`settings.pages.card.posthistoryinstructions`),"single-line":!1,required:!0,description:p(C)(`settings.pages.card.creation.fields_info.posthistoryinstructions`)},null,8,[`modelValue`,`label`,`description`]),f(p(S),{modelValue:p(Z),"onUpdate:modelValue":t[9]||=e=>u(Z)?Z.value=e:null,label:p(C)(`settings.pages.card.creation.version`),required:!0,description:p(C)(`settings.pages.card.creation.fields_info.version`)},null,8,[`modelValue`,`label`,`description`])])])):r(``,!0),g(`div`,me,[f(p(b),{variant:`secondary`,icon:`i-solar:undo-left-bold-duotone`,label:p(C)(`settings.pages.card.cancel`),disabled:!1,onClick:t[10]||=e=>c.value=!1},null,8,[`label`]),f(p(b),{variant:`primary`,icon:`i-solar:check-circle-bold-duotone`,label:p(C)(`settings.pages.card.creation.create`),disabled:!1,onClick:t[11]||=e=>j(M.value)},null,8,[`label`])])])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-439c497b`]]);export{K as t};
\ No newline at end of file
diff --git a/assets/CardDetailDialog-CxRdgU_c.js b/assets/CardDetailDialog-DnVUImCO.js
similarity index 70%
rename from assets/CardDetailDialog-CxRdgU_c.js
rename to assets/CardDetailDialog-DnVUImCO.js
index 0118662e137b88d2bbe4daf21eb21cc577e08758..56c6c67735e8992224a66b688f36998f417343c3 100644
--- a/assets/CardDetailDialog-CxRdgU_c.js
+++ b/assets/CardDetailDialog-DnVUImCO.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-aLmIHzTk.js";import{t as e}from"./CardDetailDialog-oXPZC8Jm.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-Chm8EQFK.js";import{t as e}from"./CardDetailDialog-L_2qfeXs.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardDetailDialog-oXPZC8Jm.js b/assets/CardDetailDialog-L_2qfeXs.js
similarity index 98%
rename from assets/CardDetailDialog-oXPZC8Jm.js
rename to assets/CardDetailDialog-L_2qfeXs.js
index 80f8712364331b85026eccdc56873802534255de..6a42ad0664374db88ec3dca12685caed1b633272 100644
--- a/assets/CardDetailDialog-oXPZC8Jm.js
+++ b/assets/CardDetailDialog-L_2qfeXs.js
@@ -1 +1 @@
-import{A as e,C as t,J as n,K as r,O as i,Pt as a,b as o,jt as s,k as c,kt as l,lt as u,m as d,w as f,x as p,xt as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as ee,I as te,K as ne,M as re,N as ie,u as ae}from"./widgets-DXnWA3E4.js";import{I as h}from"./settings-m9HC-9j-.js";import{t as g}from"./DeleteCardDialog-DW-hojOV.js";import{Lt as oe}from"./components-FkJVIJjS.js";import{n as se}from"./vue-i18n.runtime-DrfLf34E.js";import{t as ce}from"./airi-card-aLmIHzTk.js";var le={key:0,class:`w-full flex flex-col gap-5`},ue={flex:`~ col`,"gap-3":``},de={flex:`~ row`,"items-center":``,"justify-between":``},fe={flex:`~ row`,"items-center":``,"gap-2":``},pe={key:0,class:`flex items-center gap-1 rounded-full bg-primary-100 px-2 py-0.5 text-xs text-primary-600 font-medium dark:bg-primary-900/40 dark:text-primary-400`},me={"mt-1":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},he={"font-medium":``},_={flex:`~ row`,"gap-2":``},v={class:`mt-4`},y={class:`border-b border-neutral-200 dark:border-neutral-700`},b={class:`flex justify-center -mb-px sm:justify-start space-x-1`},x=[`onClick`],S={class:`flex items-center gap-1`},C={key:0},w=[`innerHTML`],T={key:1},E=[`innerHTML`],D={key:2},O={flex:`~ col`,"max-h-60":``,"gap-4":``,"overflow-auto":``,"pr-1":``,"sm:max-h-80":``},k={key:0,flex:`~ col`,"gap-2":``},A={"text-lg":``,"text-neutral-500":``,"font-medium":``,"dark:text-neutral-400":``},j=[`innerHTML`],M={key:3},N={grid:`~ cols-1 sm:cols-3`,"gap-4":``},P={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-1":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},F={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},ge={truncate:``,"font-medium":``},I={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-2":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},L={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},_e={truncate:``,"font-medium":``},ve={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-2":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},ye={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},be={truncate:``,"font-medium":``},xe={key:1,bg:`neutral-50/50 dark:neutral-900/50`,"rounded-xl":``,"p-8":``,"text-center":``,border:`~ neutral-200/50 dark:neutral-700/30`,shadow:`sm`},R=e({__name:`CardDetailDialog`,props:{modelValue:{type:Boolean},cardId:{}},emits:[`update:modelValue`],setup(e,{emit:R}){let z=e,B=R,{t:V}=se(),H=ce(),{removeCard:Se}=H,{activeCardId:U}=h(H),W=o(()=>{if(z.cardId)return H.getCard(z.cardId)}),G=o(()=>{if(!W.value||!W.value.extensions?.airi?.modules)return{consciousness:``,speech:``,voice:``};let e=W.value.extensions.airi.modules;return{consciousness:e.consciousness?.model||``,speech:e.speech?.model||``,voice:e.speech?.voice_id||``}}),K=o(()=>W.value?{personality:W.value.personality,scenario:W.value.scenario,systemPrompt:W.value.systemPrompt,postHistoryInstructions:W.value.postHistoryInstructions}:{}),q=o(()=>z.cardId===U.value),J=m(!1);function Ce(){J.value=!0,setTimeout(()=>{U.value=z.cardId,J.value=!1},300)}function Y(e){return oe.sanitize(e?.replace(/\{\{(.*?)\}\}/g,`{{ $1 }}`).trim())}let X=m(!1);function we(){W.value&&(Se(z.cardId),B(`update:modelValue`,!1)),X.value=!1}let Z=m(``),Q=o(()=>{let e=[];return W.value?.description&&e.push({id:`description`,label:V(`settings.pages.card.description_label`),icon:`i-solar:document-text-linear`}),W.value?.notes&&e.push({id:`notes`,label:V(`settings.pages.card.creator_notes`),icon:`i-solar:notes-linear`}),Object.values(K.value).some(e=>!!e)&&e.push({id:`character`,label:V(`settings.pages.card.character`),icon:`i-solar:user-rounded-linear`}),e.push({id:`modules`,label:V(`settings.pages.card.modules`),icon:`i-solar:tuning-square-linear`}),e}),$=o({get:()=>Q.value.find(e=>e.id===Z.value)?Z.value:Q.value[0]?.id||``,set:e=>{Z.value=e}});return(o,m)=>(r(),f(d,null,[c(l(ne),{open:e.modelValue,"onUpdate:open":m[0]||=e=>B(`update:modelValue`,e)},{default:u(()=>[c(l(ie),null,{default:u(()=>[c(l(ee),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),c(l(te),{class:`fixed left-1/2 top-1/2 z-100 m-0 max-h-[90vh] max-w-6xl w-[92vw] flex flex-col overflow-auto border border-neutral-200 rounded-xl bg-white p-5 shadow-xl 2xl:w-[60vw] lg:w-[80vw] md:w-[85vw] xl:w-[70vw] -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:border-neutral-700 dark:bg-neutral-800 sm:p-6`},{default:u(()=>[W.value?(r(),f(`div`,le,[p(`div`,ue,[p(`div`,de,[p(`div`,null,[p(`div`,fe,[c(l(re),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:u(()=>[i(a(W.value.name),1)]),_:1}),q.value?(r(),f(`div`,pe,[m[3]||=p(`div`,{"i-solar:check-circle-bold-duotone":``,"text-xs":``},null,-1),i(` `+a(l(V)(`settings.pages.card.active_badge`)),1)])):t(``,!0)]),p(`div`,me,[i(` v`+a(W.value.version)+` `,1),W.value.creator?(r(),f(d,{key:0},[i(` · `+a(l(V)(`settings.pages.card.created_by`))+` `,1),p(`span`,he,a(W.value.creator),1)],64)):t(``,!0)])]),p(`div`,_,[c(l(ae),{variant:`primary`,icon:q.value?`i-solar:check-circle-bold-duotone`:`i-solar:play-circle-broken`,label:q.value?l(V)(`settings.pages.card.active`):l(V)(`settings.pages.card.activate`),disabled:q.value,class:s({"animate-pulse":J.value}),onClick:Ce},null,8,[`icon`,`label`,`disabled`,`class`])])]),p(`div`,v,[p(`div`,y,[p(`div`,b,[(r(!0),f(d,null,n(Q.value,e=>(r(),f(`button`,{key:e.id,class:s([`px-4 py-2 text-sm font-medium`,[$.value===e.id?`text-primary-600 dark:text-primary-400 border-b-2 border-primary-500 dark:border-primary-400`:`text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300`]]),onClick:t=>$.value=e.id},[p(`div`,S,[p(`div`,{class:s(e.icon)},null,2),i(` `+a(e.label),1)])],10,x))),128))])])]),$.value===`notes`&&W.value.notes?(r(),f(`div`,C,[p(`div`,{bg:`white/60 dark:black/30`,border:`~ neutral-200/50 dark:neutral-700/30`,"max-h-60":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-4":``,"text-neutral-700":``,"sm:max-h-80":``,"dark:text-neutral-300":``,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`,innerHTML:Y(W.value.notes)},null,8,w)])):t(``,!0),$.value===`description`&&W.value.description?(r(),f(`div`,T,[p(`div`,{bg:`white/60 dark:black/30`,"max-h-60":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-4":``,"sm:max-h-80":``,text:`neutral-600 dark:neutral-300`,border:`~ neutral-200/50 dark:neutral-700/30`,innerHTML:Y(W.value.description)},null,8,E)])):t(``,!0),$.value===`character`&&Object.values(K.value).some(e=>!!e)?(r(),f(`div`,D,[p(`div`,O,[(r(!0),f(d,null,n(K.value,(e,n)=>(r(),f(d,{key:n},[e?(r(),f(`div`,k,[p(`h2`,A,a(l(V)(`settings.pages.card.${n.toLowerCase()}`)),1),p(`div`,{bg:`white/60 dark:black/30`,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`,"max-h-none":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-3":``,"text-neutral-700":``,"dark:text-neutral-300":``,innerHTML:Y(e)},null,8,j)])):t(``,!0)],64))),128))])])):t(``,!0),$.value===`modules`?(r(),f(`div`,M,[p(`div`,N,[p(`div`,P,[p(`span`,F,[m[4]||=p(`div`,{"i-lucide:ghost":``},null,-1),i(` `+a(l(V)(`settings.pages.card.consciousness.model`)),1)]),p(`div`,ge,a(G.value.consciousness??`default`),1)]),p(`div`,I,[p(`span`,L,[m[5]||=p(`div`,{"i-lucide:mic":``},null,-1),i(` `+a(l(V)(`settings.pages.card.speech.model`)),1)]),p(`div`,_e,a(G.value.speech??`default`),1)]),p(`div`,ve,[p(`span`,ye,[m[6]||=p(`div`,{"i-lucide:music":``},null,-1),i(` `+a(l(V)(`settings.pages.card.speech.voice`)),1)]),p(`div`,be,a(G.value.voice??`default`),1)])])])):t(``,!0)])])):(r(),f(`div`,xe,[m[7]||=p(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),i(` `+a(l(V)(`settings.pages.card.card_not_found`)),1)]))]),_:1})]),_:1})]),_:1},8,[`open`]),c(g,{modelValue:X.value,"onUpdate:modelValue":m[1]||=e=>X.value=e,"card-name":W.value?.name,onConfirm:we,onCancel:m[2]||=e=>X.value=!1},null,8,[`modelValue`,`card-name`])],64))}});export{R as t};
\ No newline at end of file
+import{A as e,C as t,J as n,K as r,O as i,Pt as a,b as o,jt as s,k as c,kt as l,lt as u,m as d,w as f,x as p,xt as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as ee,I as te,K as ne,M as re,N as ie,u as ae}from"./widgets-DXnWA3E4.js";import{I as h}from"./settings-m9HC-9j-.js";import{t as g}from"./DeleteCardDialog-DW-hojOV.js";import{Lt as oe}from"./components-BmY-4iwk.js";import{n as se}from"./vue-i18n.runtime-DrfLf34E.js";import{t as ce}from"./airi-card-Chm8EQFK.js";var le={key:0,class:`w-full flex flex-col gap-5`},ue={flex:`~ col`,"gap-3":``},de={flex:`~ row`,"items-center":``,"justify-between":``},fe={flex:`~ row`,"items-center":``,"gap-2":``},pe={key:0,class:`flex items-center gap-1 rounded-full bg-primary-100 px-2 py-0.5 text-xs text-primary-600 font-medium dark:bg-primary-900/40 dark:text-primary-400`},me={"mt-1":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},he={"font-medium":``},_={flex:`~ row`,"gap-2":``},v={class:`mt-4`},y={class:`border-b border-neutral-200 dark:border-neutral-700`},b={class:`flex justify-center -mb-px sm:justify-start space-x-1`},x=[`onClick`],S={class:`flex items-center gap-1`},C={key:0},w=[`innerHTML`],T={key:1},E=[`innerHTML`],D={key:2},O={flex:`~ col`,"max-h-60":``,"gap-4":``,"overflow-auto":``,"pr-1":``,"sm:max-h-80":``},k={key:0,flex:`~ col`,"gap-2":``},A={"text-lg":``,"text-neutral-500":``,"font-medium":``,"dark:text-neutral-400":``},j=[`innerHTML`],M={key:3},N={grid:`~ cols-1 sm:cols-3`,"gap-4":``},P={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-1":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},F={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},ge={truncate:``,"font-medium":``},I={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-2":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},L={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},_e={truncate:``,"font-medium":``},ve={flex:`~ col`,bg:`white/60 dark:black/30`,"gap-2":``,"rounded-lg":``,"p-3":``,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`},ye={flex:`~ row`,"items-center":``,"gap-2":``,"text-sm":``,"text-neutral-500":``,"dark:text-neutral-400":``},be={truncate:``,"font-medium":``},xe={key:1,bg:`neutral-50/50 dark:neutral-900/50`,"rounded-xl":``,"p-8":``,"text-center":``,border:`~ neutral-200/50 dark:neutral-700/30`,shadow:`sm`},R=e({__name:`CardDetailDialog`,props:{modelValue:{type:Boolean},cardId:{}},emits:[`update:modelValue`],setup(e,{emit:R}){let z=e,B=R,{t:V}=se(),H=ce(),{removeCard:Se}=H,{activeCardId:U}=h(H),W=o(()=>{if(z.cardId)return H.getCard(z.cardId)}),G=o(()=>{if(!W.value||!W.value.extensions?.airi?.modules)return{consciousness:``,speech:``,voice:``};let e=W.value.extensions.airi.modules;return{consciousness:e.consciousness?.model||``,speech:e.speech?.model||``,voice:e.speech?.voice_id||``}}),K=o(()=>W.value?{personality:W.value.personality,scenario:W.value.scenario,systemPrompt:W.value.systemPrompt,postHistoryInstructions:W.value.postHistoryInstructions}:{}),q=o(()=>z.cardId===U.value),J=m(!1);function Ce(){J.value=!0,setTimeout(()=>{U.value=z.cardId,J.value=!1},300)}function Y(e){return oe.sanitize(e?.replace(/\{\{(.*?)\}\}/g,`{{ $1 }}`).trim())}let X=m(!1);function we(){W.value&&(Se(z.cardId),B(`update:modelValue`,!1)),X.value=!1}let Z=m(``),Q=o(()=>{let e=[];return W.value?.description&&e.push({id:`description`,label:V(`settings.pages.card.description_label`),icon:`i-solar:document-text-linear`}),W.value?.notes&&e.push({id:`notes`,label:V(`settings.pages.card.creator_notes`),icon:`i-solar:notes-linear`}),Object.values(K.value).some(e=>!!e)&&e.push({id:`character`,label:V(`settings.pages.card.character`),icon:`i-solar:user-rounded-linear`}),e.push({id:`modules`,label:V(`settings.pages.card.modules`),icon:`i-solar:tuning-square-linear`}),e}),$=o({get:()=>Q.value.find(e=>e.id===Z.value)?Z.value:Q.value[0]?.id||``,set:e=>{Z.value=e}});return(o,m)=>(r(),f(d,null,[c(l(ne),{open:e.modelValue,"onUpdate:open":m[0]||=e=>B(`update:modelValue`,e)},{default:u(()=>[c(l(ie),null,{default:u(()=>[c(l(ee),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),c(l(te),{class:`fixed left-1/2 top-1/2 z-100 m-0 max-h-[90vh] max-w-6xl w-[92vw] flex flex-col overflow-auto border border-neutral-200 rounded-xl bg-white p-5 shadow-xl 2xl:w-[60vw] lg:w-[80vw] md:w-[85vw] xl:w-[70vw] -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:border-neutral-700 dark:bg-neutral-800 sm:p-6`},{default:u(()=>[W.value?(r(),f(`div`,le,[p(`div`,ue,[p(`div`,de,[p(`div`,null,[p(`div`,fe,[c(l(re),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:u(()=>[i(a(W.value.name),1)]),_:1}),q.value?(r(),f(`div`,pe,[m[3]||=p(`div`,{"i-solar:check-circle-bold-duotone":``,"text-xs":``},null,-1),i(` `+a(l(V)(`settings.pages.card.active_badge`)),1)])):t(``,!0)]),p(`div`,me,[i(` v`+a(W.value.version)+` `,1),W.value.creator?(r(),f(d,{key:0},[i(` · `+a(l(V)(`settings.pages.card.created_by`))+` `,1),p(`span`,he,a(W.value.creator),1)],64)):t(``,!0)])]),p(`div`,_,[c(l(ae),{variant:`primary`,icon:q.value?`i-solar:check-circle-bold-duotone`:`i-solar:play-circle-broken`,label:q.value?l(V)(`settings.pages.card.active`):l(V)(`settings.pages.card.activate`),disabled:q.value,class:s({"animate-pulse":J.value}),onClick:Ce},null,8,[`icon`,`label`,`disabled`,`class`])])]),p(`div`,v,[p(`div`,y,[p(`div`,b,[(r(!0),f(d,null,n(Q.value,e=>(r(),f(`button`,{key:e.id,class:s([`px-4 py-2 text-sm font-medium`,[$.value===e.id?`text-primary-600 dark:text-primary-400 border-b-2 border-primary-500 dark:border-primary-400`:`text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300`]]),onClick:t=>$.value=e.id},[p(`div`,S,[p(`div`,{class:s(e.icon)},null,2),i(` `+a(e.label),1)])],10,x))),128))])])]),$.value===`notes`&&W.value.notes?(r(),f(`div`,C,[p(`div`,{bg:`white/60 dark:black/30`,border:`~ neutral-200/50 dark:neutral-700/30`,"max-h-60":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-4":``,"text-neutral-700":``,"sm:max-h-80":``,"dark:text-neutral-300":``,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`,innerHTML:Y(W.value.notes)},null,8,w)])):t(``,!0),$.value===`description`&&W.value.description?(r(),f(`div`,T,[p(`div`,{bg:`white/60 dark:black/30`,"max-h-60":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-4":``,"sm:max-h-80":``,text:`neutral-600 dark:neutral-300`,border:`~ neutral-200/50 dark:neutral-700/30`,innerHTML:Y(W.value.description)},null,8,E)])):t(``,!0),$.value===`character`&&Object.values(K.value).some(e=>!!e)?(r(),f(`div`,D,[p(`div`,O,[(r(!0),f(d,null,n(K.value,(e,n)=>(r(),f(d,{key:n},[e?(r(),f(`div`,k,[p(`h2`,A,a(l(V)(`settings.pages.card.${n.toLowerCase()}`)),1),p(`div`,{bg:`white/60 dark:black/30`,border:`~ neutral-200/50 dark:neutral-700/30`,transition:`all duration-200`,hover:`bg-white/80 dark:bg-black/40`,"max-h-none":``,"overflow-auto":``,"whitespace-pre-line":``,"rounded-lg":``,"p-3":``,"text-neutral-700":``,"dark:text-neutral-300":``,innerHTML:Y(e)},null,8,j)])):t(``,!0)],64))),128))])])):t(``,!0),$.value===`modules`?(r(),f(`div`,M,[p(`div`,N,[p(`div`,P,[p(`span`,F,[m[4]||=p(`div`,{"i-lucide:ghost":``},null,-1),i(` `+a(l(V)(`settings.pages.card.consciousness.model`)),1)]),p(`div`,ge,a(G.value.consciousness??`default`),1)]),p(`div`,I,[p(`span`,L,[m[5]||=p(`div`,{"i-lucide:mic":``},null,-1),i(` `+a(l(V)(`settings.pages.card.speech.model`)),1)]),p(`div`,_e,a(G.value.speech??`default`),1)]),p(`div`,ve,[p(`span`,ye,[m[6]||=p(`div`,{"i-lucide:music":``},null,-1),i(` `+a(l(V)(`settings.pages.card.speech.voice`)),1)]),p(`div`,be,a(G.value.voice??`default`),1)])])])):t(``,!0)])])):(r(),f(`div`,xe,[m[7]||=p(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),i(` `+a(l(V)(`settings.pages.card.card_not_found`)),1)]))]),_:1})]),_:1})]),_:1},8,[`open`]),c(g,{modelValue:X.value,"onUpdate:modelValue":m[1]||=e=>X.value=e,"card-name":W.value?.name,onConfirm:we,onCancel:m[2]||=e=>X.value=!1},null,8,[`modelValue`,`card-name`])],64))}});export{R as t};
\ No newline at end of file
diff --git a/assets/CardListItem-Comn8kg4.js b/assets/CardListItem-DYY0_mWJ.js
similarity index 77%
rename from assets/CardListItem-Comn8kg4.js
rename to assets/CardListItem-DYY0_mWJ.js
index 08fbcdeabdc64719c22901d1dc46a9b1453d56cb..db433f656876da14152fdd500e36c811bbe7e34a 100644
--- a/assets/CardListItem-Comn8kg4.js
+++ b/assets/CardListItem-DYY0_mWJ.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as e}from"./CardListItem-BXwBIt7y.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as e}from"./CardListItem-Gac0R_cb.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardListItem-BXwBIt7y.js b/assets/CardListItem-Gac0R_cb.js
similarity index 98%
rename from assets/CardListItem-BXwBIt7y.js
rename to assets/CardListItem-Gac0R_cb.js
index 293e512728699b2e43dac9f3fadcb9210e210472..838534254476e731dae5790341efb3258e4b32fc 100644
--- a/assets/CardListItem-BXwBIt7y.js
+++ b/assets/CardListItem-Gac0R_cb.js
@@ -1 +1 @@
-import{A as e,C as t,K as n,Pt as r,S as i,f as a,jt as o,kt as s,lt as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{xt as d}from"./components-FkJVIJjS.js";var f={relative:``,flex:`~ col 1`,"justify-between":``,"gap-3":``,"overflow-hidden":``,"rounded-lg":``,bg:`white dark:neutral-900`,"p-5":``,transition:`all ease-in-out duration-400`,after:`content-empty absolute inset-0 z--2 w-full h-full bg-dotted-[neutral-200/80] bg-size-10px mask-image-[linear-gradient(165deg,white_30%,transparent_50%)] transition-all duration-400 ease-in-out`,hover:`after:bg-dotted-[primary-300/50] dark:after:bg-dotted-[primary-200/20] text-primary-600/80 dark:text-primary-300/80`},p={"z-1":``,flex:``,"items-start":``,"justify-between":``,"gap-2":``},m={"flex-1":``,truncate:``,"text-lg":``,"font-normal":``},h={key:0,"shrink-0":``,"rounded-md":``,"p-1":``,bg:`primary-100 dark:primary-900/40`,text:`primary-600 dark:primary-400`},g={key:0,"line-clamp-3":``,"min-h-40px":``,"flex-1":``,"text-sm":``,text:`neutral-500 dark:neutral-400`},_={"z-1":``,flex:``,"items-center":``,"justify-between":``,"text-xs":``,text:`neutral-500 dark:neutral-400`},v={flex:``,"items-center":``,"gap-1.5":``},y={flex:``,"items-center":``,"gap-0.5":``},b={flex:``,"items-center":``,"gap-0.5":``},x={flex:``,"items-center":``,"justify-end":``,"px-2":``,"py-1.5":``},S=[`disabled`],C=e({__name:`CardListItem`,props:{id:{},name:{},description:{},isActive:{type:Boolean},isSelected:{type:Boolean},version:{},consciousnessModel:{},voiceModel:{}},emits:[`select`,`activate`,`delete`],setup(e,{emit:C}){let w=C;return(C,T)=>(n(),i(s(d),{relative:``,"min-h-120px":``,flex:`~ col`,"cursor-pointer":``,"overflow-hidden":``,"rounded-xl":``,class:o([e.isSelected?`border-2 border-primary-400 dark:border-primary-600`:`border-2 border-neutral-100 dark:border-neutral-800/25`]),bg:`neutral-200/50 dark:neutral-800/50`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,transition:`all ease-in-out duration-400`,before:`content-empty absolute inset-0 z-0 w-25% h-full transition-all duration-400 ease-in-out bg-gradient-to-r from-primary-500/0 to-primary-500/0 dark:from-primary-400/0 dark:to-primary-400/0 mask-image-[linear-gradient(120deg,white_100%)] opacity-0`,hover:`before:opacity-100 before:bg-gradient-to-r before:from-primary-500/20 before:via-primary-500/10 before:to-transparent before:dark:from-primary-400/20 before:dark:via-primary-400/10 before:dark:to-transparent`,onClick:T[2]||=e=>w(`select`)},{default:c(()=>[u(`div`,f,[u(`div`,p,[u(`h3`,m,r(e.name),1),e.isActive?(n(),l(`div`,h,[...T[3]||=[u(`div`,{"i-solar:check-circle-bold-duotone":``,"text-sm":``},null,-1)]])):t(``,!0)]),e.description?(n(),l(`p`,g,r(e.description),1)):t(``,!0),u(`div`,_,[u(`div`,null,`v`+r(e.version),1),u(`div`,v,[u(`div`,y,[T[4]||=u(`div`,{"i-lucide:ghost":``,"text-xs":``},null,-1),u(`span`,null,r(e.consciousnessModel),1)]),u(`div`,b,[T[5]||=u(`div`,{"i-lucide:mic":``,"text-xs":``},null,-1),u(`span`,null,r(e.voiceModel),1)])])])]),u(`div`,x,[u(`button`,{"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,disabled:e.isActive,onClick:T[0]||=a(e=>w(`activate`),[`stop`])},[u(`div`,{class:o([e.isActive?`i-solar:check-circle-bold-duotone text-primary-500 dark:text-primary-400`:`i-solar:play-circle-broken text-neutral-500 dark:text-neutral-400`])},null,2)],8,S),e.id===`default`?t(``,!0):(n(),l(`button`,{key:0,"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,onClick:T[1]||=a(e=>w(`delete`),[`stop`])},[...T[6]||=[u(`div`,{"i-solar:trash-bin-trash-linear":``,text:`neutral-500 dark:neutral-400`},null,-1)]]))])]),_:1},8,[`class`]))}});export{C as t};
\ No newline at end of file
+import{A as e,C as t,K as n,Pt as r,S as i,f as a,jt as o,kt as s,lt as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{xt as d}from"./components-BmY-4iwk.js";var f={relative:``,flex:`~ col 1`,"justify-between":``,"gap-3":``,"overflow-hidden":``,"rounded-lg":``,bg:`white dark:neutral-900`,"p-5":``,transition:`all ease-in-out duration-400`,after:`content-empty absolute inset-0 z--2 w-full h-full bg-dotted-[neutral-200/80] bg-size-10px mask-image-[linear-gradient(165deg,white_30%,transparent_50%)] transition-all duration-400 ease-in-out`,hover:`after:bg-dotted-[primary-300/50] dark:after:bg-dotted-[primary-200/20] text-primary-600/80 dark:text-primary-300/80`},p={"z-1":``,flex:``,"items-start":``,"justify-between":``,"gap-2":``},m={"flex-1":``,truncate:``,"text-lg":``,"font-normal":``},h={key:0,"shrink-0":``,"rounded-md":``,"p-1":``,bg:`primary-100 dark:primary-900/40`,text:`primary-600 dark:primary-400`},g={key:0,"line-clamp-3":``,"min-h-40px":``,"flex-1":``,"text-sm":``,text:`neutral-500 dark:neutral-400`},_={"z-1":``,flex:``,"items-center":``,"justify-between":``,"text-xs":``,text:`neutral-500 dark:neutral-400`},v={flex:``,"items-center":``,"gap-1.5":``},y={flex:``,"items-center":``,"gap-0.5":``},b={flex:``,"items-center":``,"gap-0.5":``},x={flex:``,"items-center":``,"justify-end":``,"px-2":``,"py-1.5":``},S=[`disabled`],C=e({__name:`CardListItem`,props:{id:{},name:{},description:{},isActive:{type:Boolean},isSelected:{type:Boolean},version:{},consciousnessModel:{},voiceModel:{}},emits:[`select`,`activate`,`delete`],setup(e,{emit:C}){let w=C;return(C,T)=>(n(),i(s(d),{relative:``,"min-h-120px":``,flex:`~ col`,"cursor-pointer":``,"overflow-hidden":``,"rounded-xl":``,class:o([e.isSelected?`border-2 border-primary-400 dark:border-primary-600`:`border-2 border-neutral-100 dark:border-neutral-800/25`]),bg:`neutral-200/50 dark:neutral-800/50`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,transition:`all ease-in-out duration-400`,before:`content-empty absolute inset-0 z-0 w-25% h-full transition-all duration-400 ease-in-out bg-gradient-to-r from-primary-500/0 to-primary-500/0 dark:from-primary-400/0 dark:to-primary-400/0 mask-image-[linear-gradient(120deg,white_100%)] opacity-0`,hover:`before:opacity-100 before:bg-gradient-to-r before:from-primary-500/20 before:via-primary-500/10 before:to-transparent before:dark:from-primary-400/20 before:dark:via-primary-400/10 before:dark:to-transparent`,onClick:T[2]||=e=>w(`select`)},{default:c(()=>[u(`div`,f,[u(`div`,p,[u(`h3`,m,r(e.name),1),e.isActive?(n(),l(`div`,h,[...T[3]||=[u(`div`,{"i-solar:check-circle-bold-duotone":``,"text-sm":``},null,-1)]])):t(``,!0)]),e.description?(n(),l(`p`,g,r(e.description),1)):t(``,!0),u(`div`,_,[u(`div`,null,`v`+r(e.version),1),u(`div`,v,[u(`div`,y,[T[4]||=u(`div`,{"i-lucide:ghost":``,"text-xs":``},null,-1),u(`span`,null,r(e.consciousnessModel),1)]),u(`div`,b,[T[5]||=u(`div`,{"i-lucide:mic":``,"text-xs":``},null,-1),u(`span`,null,r(e.voiceModel),1)])])])]),u(`div`,x,[u(`button`,{"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,disabled:e.isActive,onClick:T[0]||=a(e=>w(`activate`),[`stop`])},[u(`div`,{class:o([e.isActive?`i-solar:check-circle-bold-duotone text-primary-500 dark:text-primary-400`:`i-solar:play-circle-broken text-neutral-500 dark:text-neutral-400`])},null,2)],8,S),e.id===`default`?t(``,!0):(n(),l(`button`,{key:0,"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,onClick:T[1]||=a(e=>w(`delete`),[`stop`])},[...T[6]||=[u(`div`,{"i-solar:trash-bin-trash-linear":``,text:`neutral-500 dark:neutral-400`},null,-1)]]))])]),_:1},8,[`class`]))}});export{C as t};
\ No newline at end of file
diff --git a/assets/DeleteCardDialog-CQkKdXtw.js b/assets/DeleteCardDialog-CZQZTls7.js
similarity index 88%
rename from assets/DeleteCardDialog-CQkKdXtw.js
rename to assets/DeleteCardDialog-CZQZTls7.js
index 2a0a8c0d4941e6fcfb484d79259938c549f1a8cb..722230a50d1d65c7df763601a48a979918f616ef 100644
--- a/assets/DeleteCardDialog-CQkKdXtw.js
+++ b/assets/DeleteCardDialog-CZQZTls7.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as e}from"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as e}from"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";export{e as default};
\ No newline at end of file
diff --git a/assets/_...all_-B39m47SF.js b/assets/_...all_-Dzp86WeZ.js
similarity index 93%
rename from assets/_...all_-B39m47SF.js
rename to assets/_...all_-Dzp86WeZ.js
index 338ba922bb74b62fb89bb92caa9e9c533fceeefe..254669c55d6fc291cf9ae9dd2f5dc16e24dd1142 100644
--- a/assets/_...all_-B39m47SF.js
+++ b/assets/_...all_-Dzp86WeZ.js
@@ -1 +1 @@
-import{A as e,K as t,O as n,k as r,kt as i,lt as a,w as o,x as s}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{u as c}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{o as l}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";var u={"h-full":``,"w-full":``,flex:``,"flex-col":``,"items-center":``,"justify-center":``,"gap-4":``},d=e({__name:`[...all]`,setup(e){let d=l();return(e,l)=>(t(),o(`div`,u,[l[2]||=s(`div`,{"text-3xl":``},` Where are we? `,-1),s(`div`,null,[r(i(c),{onClick:l[0]||=e=>i(d).go(-1)},{default:a(()=>[...l[1]||=[n(` Go Back `,-1)]]),_:1})])]))}});export{d as default};
\ No newline at end of file
+import{A as e,K as t,O as n,k as r,kt as i,lt as a,w as o,x as s}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{u as c}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{o as l}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";var u={"h-full":``,"w-full":``,flex:``,"flex-col":``,"items-center":``,"justify-center":``,"gap-4":``},d=e({__name:`[...all]`,setup(e){let d=l();return(e,l)=>(t(),o(`div`,u,[l[2]||=s(`div`,{"text-3xl":``},` Where are we? `,-1),s(`div`,null,[r(i(c),{onClick:l[0]||=e=>i(d).go(-1)},{default:a(()=>[...l[1]||=[n(` Go Back `,-1)]]),_:1})])]))}});export{d as default};
\ No newline at end of file
diff --git a/assets/_providerId_-DAfZlpa0.js b/assets/_providerId_-_FoDQKpZ.js
similarity index 92%
rename from assets/_providerId_-DAfZlpa0.js
rename to assets/_providerId_-_FoDQKpZ.js
index a6390ff9fb79186ab9e0091d3121dcd2af7e08fb..6e72c499c7b1c34c393196ed5cff637ef2a71bdb 100644
--- a/assets/_providerId_-DAfZlpa0.js
+++ b/assets/_providerId_-_FoDQKpZ.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{a as m}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,q as x}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./use-provider-validation-D4atw8Ll.js";var w={class:`whitespace-pre-wrap break-all`},T=e({__name:`[providerId]`,setup(e){let S=m().params.providerId,{providers:T}=p(h()),E=s({get:()=>T.value[S]?.apiKey||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].apiKey=e}}),D=s({get:()=>T.value[S]?.baseUrl||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].baseUrl=e}}),{t:O,router:k,providerMetadata:A,isValidating:j,isValid:M,validationMessage:N,handleResetSettings:P}=C(S);return(e,s)=>(r(),o(l(g),{"provider-name":l(A)?.localizedName,"provider-icon-color":l(A)?.iconColor,"on-back":()=>l(k).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(x),{title:l(O)(`settings.pages.providers.common.section.basic.title`),description:l(O)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(P)},{default:u(()=>[c(l(b),{modelValue:E.value,"onUpdate:modelValue":s[0]||=e=>E.value=e,"provider-name":l(A)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(O)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:D.value,"onUpdate:modelValue":s[1]||=e=>D.value=e,placeholder:l(A)?.defaultOptions?.().baseUrl||`Base URL of your provider`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!l(M)&&l(j)===0&&l(N)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(O)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(N)?{name:`content`,fn:u(()=>[d(`div`,w,a(l(N)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(M)&&l(j)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(O)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof S==`function`&&S(T);var E=T;export{E as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{a as m}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,q as x}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./use-provider-validation-CSFNUQmK.js";var w={class:`whitespace-pre-wrap break-all`},T=e({__name:`[providerId]`,setup(e){let S=m().params.providerId,{providers:T}=p(h()),E=s({get:()=>T.value[S]?.apiKey||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].apiKey=e}}),D=s({get:()=>T.value[S]?.baseUrl||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].baseUrl=e}}),{t:O,router:k,providerMetadata:A,isValidating:j,isValid:M,validationMessage:N,handleResetSettings:P}=C(S);return(e,s)=>(r(),o(l(g),{"provider-name":l(A)?.localizedName,"provider-icon-color":l(A)?.iconColor,"on-back":()=>l(k).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(x),{title:l(O)(`settings.pages.providers.common.section.basic.title`),description:l(O)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(P)},{default:u(()=>[c(l(b),{modelValue:E.value,"onUpdate:modelValue":s[0]||=e=>E.value=e,"provider-name":l(A)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(O)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:D.value,"onUpdate:modelValue":s[1]||=e=>D.value=e,placeholder:l(A)?.defaultOptions?.().baseUrl||`Base URL of your provider`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!l(M)&&l(j)===0&&l(N)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(O)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(N)?{name:`content`,fn:u(()=>[d(`div`,w,a(l(N)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(M)&&l(j)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(O)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof S==`function`&&S(T);var E=T;export{E as default};
\ No newline at end of file
diff --git a/assets/airi-card-aLmIHzTk.js b/assets/airi-card-Chm8EQFK.js
similarity index 97%
rename from assets/airi-card-aLmIHzTk.js
rename to assets/airi-card-Chm8EQFK.js
index bf989abc2973c0630cf5320d8cc55440e9f01810..17a0f76095653723dc975623eb354a94b2344ac1 100644
--- a/assets/airi-card-aLmIHzTk.js
+++ b/assets/airi-card-Chm8EQFK.js
@@ -1,4 +1,4 @@
-import{W as e,at as t,b as n}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{A as r,F as i,I as a}from"./settings-m9HC-9j-.js";import{f as o}from"./dist-DpJ_SbNQ.js";import{Q as s,Vt as c,l}from"./components-FkJVIJjS.js";import{n as u}from"./vue-i18n.runtime-DrfLf34E.js";const d=i(`airi-card`,()=>{let i=o(`airi-cards`,new Map),d=o(`airi-card-active-id`,`default`),f=n(()=>i.value.get(d.value)),p=s(),m=l(),{activeModel:h}=a(p),{activeSpeechVoiceId:g,activeSpeechModel:_}=a(m),v=e=>{let t=r();return i.value.set(t,S(e)),t},y=e=>{i.value.delete(e)},b=e=>i.value.get(e);function x(e){let t=`data`in e?e.data?.extensions?.airi:e.extensions?.airi,n={consciousness:{model:h.value},speech:{model:_.value,voice_id:g.value}};return t?{modules:{consciousness:{model:t.modules?.consciousness?.model??n.consciousness.model},speech:{model:t.modules?.speech?.model??n.speech.model,voice_id:t.modules?.speech?.voice_id??n.speech.voice_id,pitch:t.modules?.speech?.pitch,rate:t.modules?.speech?.rate,ssml:t.modules?.speech?.ssml,language:t.modules?.speech?.language},vrm:t.modules?.vrm,live2d:t.modules?.live2d},agents:t.agents??{}}:{modules:n,agents:{}}}function S(e){if(`data`in e){let t=e;return{name:t.data.name,version:t.data.character_version??`1.0.0`,description:t.data.description??``,creator:t.data.creator??``,notes:t.data.creator_notes??``,notesMultilingual:t.data.creator_notes_multilingual,personality:t.data.personality??``,scenario:t.data.scenario??``,greetings:[t.data.first_mes,...t.data.alternate_greetings??[]],greetingsGroupOnly:t.data.group_only_greetings??[],systemPrompt:t.data.system_prompt??``,postHistoryInstructions:t.data.post_history_instructions??``,messageExample:t.data.mes_example?t.data.mes_example.split(`
+import{W as e,at as t,b as n}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{A as r,F as i,I as a}from"./settings-m9HC-9j-.js";import{f as o}from"./dist-DpJ_SbNQ.js";import{Q as s,Vt as c,l}from"./components-BmY-4iwk.js";import{n as u}from"./vue-i18n.runtime-DrfLf34E.js";const d=i(`airi-card`,()=>{let i=o(`airi-cards`,new Map),d=o(`airi-card-active-id`,`default`),f=n(()=>i.value.get(d.value)),p=s(),m=l(),{activeModel:h}=a(p),{activeSpeechVoiceId:g,activeSpeechModel:_}=a(m),v=e=>{let t=r();return i.value.set(t,S(e)),t},y=e=>{i.value.delete(e)},b=e=>i.value.get(e);function x(e){let t=`data`in e?e.data?.extensions?.airi:e.extensions?.airi,n={consciousness:{model:h.value},speech:{model:_.value,voice_id:g.value}};return t?{modules:{consciousness:{model:t.modules?.consciousness?.model??n.consciousness.model},speech:{model:t.modules?.speech?.model??n.speech.model,voice_id:t.modules?.speech?.voice_id??n.speech.voice_id,pitch:t.modules?.speech?.pitch,rate:t.modules?.speech?.rate,ssml:t.modules?.speech?.ssml,language:t.modules?.speech?.language},vrm:t.modules?.vrm,live2d:t.modules?.live2d},agents:t.agents??{}}:{modules:n,agents:{}}}function S(e){if(`data`in e){let t=e;return{name:t.data.name,version:t.data.character_version??`1.0.0`,description:t.data.description??``,creator:t.data.creator??``,notes:t.data.creator_notes??``,notesMultilingual:t.data.creator_notes_multilingual,personality:t.data.personality??``,scenario:t.data.scenario??``,greetings:[t.data.first_mes,...t.data.alternate_greetings??[]],greetingsGroupOnly:t.data.group_only_greetings??[],systemPrompt:t.data.system_prompt??``,postHistoryInstructions:t.data.post_history_instructions??``,messageExample:t.data.mes_example?t.data.mes_example.split(`
`).filter(Boolean).map(e=>e.split(`
`).map(e=>{if(e.startsWith(`{{char}}:`)||e.startsWith(`{{user}}:`))return e;throw Error(`Invalid message example format: ${e}`)})):[],tags:t.data.tags??[],extensions:{airi:x(t),...t.data.extensions}}}return{...e,extensions:{airi:x(e),...e.extensions}}}return e(()=>{let{t:e}=u();i.value.set(`default`,S({name:`ReLU`,version:`1.0.0`,description:c(e(`base.prompt.prefix`),e(`base.prompt.suffix`)).content}))}),t(f,e=>{if(!e)return;let t=x(e);t&&(h.value=t?.modules?.consciousness?.model,_.value=t?.modules?.speech?.model,g.value=t?.modules?.speech?.voice_id)}),{cards:i,activeCard:f,activeCardId:d,addCard:v,removeCard:y,getCard:b,currentModels:n(()=>({consciousness:{model:h.value},speech:{model:_.value,voice_id:g.value}})),systemPrompt:n(()=>{let e=f.value;return e?[e.systemPrompt,e.description,e.personality].filter(Boolean).join(`
`):``})}});export{d as t};
\ No newline at end of file
diff --git a/assets/airi-card-CEEXb0xY.js b/assets/airi-card-DqFXycz0.js
similarity index 95%
rename from assets/airi-card-CEEXb0xY.js
rename to assets/airi-card-DqFXycz0.js
index 8f3810abe3a9f3d37baa133dffba755c000d9953..b3bacba786f270f8bda3d72b2fdbc5a37d7a83fa 100644
--- a/assets/airi-card-CEEXb0xY.js
+++ b/assets/airi-card-DqFXycz0.js
@@ -1 +1 @@
-import{A as e,C as t,J as n,K as r,O as i,Pt as a,S as o,Z as s,at as c,b as l,jt as u,k as d,kt as f,l as p,lt as m,m as h,ut as g,w as _,x as v,xt as y}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as b}from"./widgets-DXnWA3E4.js";import{r as x}from"./src-C1mn1H34.js";import{I as ee}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as te}from"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./BasicInputFile-C4ZWuuil.js";import{t as S}from"./InputFile-BP4nvqwM.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import{n as ne}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{t as w}from"./airi-card-aLmIHzTk.js";import{t as T}from"./CardCreate-OyDk_hFv.js";import{t as E}from"./CardCreationDialog-D1h_sOQn.js";import{t as D}from"./CardDetailDialog-oXPZC8Jm.js";import{t as re}from"./CardListItem-BXwBIt7y.js";var ie={"rounded-xl":``,"p-4":``,flex:`~ col gap-4`},ae={flex:`~ row`,"flex-wrap":``,"items-center":``,"justify-between":``,"gap-4":``},oe={class:`relative min-w-[200px] flex-1`,"inline-flex":`~`,"w-full":``,"items-center":``},O=[`placeholder`],k={class:`relative flex flex-row justify-start gap-2 lg:flex-col`},A={class:`top-[-32px] whitespace-nowrap text-sm text-neutral-500 leading-10 lg:absolute dark:text-neutral-400`},j={key:0,flex:``,"flex-col":``,"items-center":``},M={"font-medium":``,text:`neutral-600 dark:neutral-300`},N={text:`neutral-500 dark:neutral-400`,"mt-2":``,"text-sm":``},P={key:1,flex:``,"flex-col":``,"items-center":``},F={"font-medium":``,text:`primary-600 dark:primary-300`},I={key:1,class:`col-span-full rounded-xl p-8 text-center`,border:`~ neutral-200/50 dark:neutral-700/30`,bg:`neutral-50/50 dark:neutral-900/50`},L={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},R=e({__name:`index`,setup(e){let{t:C}=ne(),R=w(),{addCard:z,removeCard:B}=R,{cards:V,activeCardId:H}=ee(R),U=y(``),W=y(!1),G=y(!1),K=y(``),q=y(`nameAsc`),J=y([]);c(J,async e=>{let t=e[0];if(t)try{let e=await t.text();U.value=z(JSON.parse(e)),W.value=!0}catch(e){console.error(`Error processing card file:`,e)}});let Y=l(()=>Array.from(V.value.entries()).map(([e,t])=>({id:e,name:t.name,description:t.description}))),se=l(()=>{if(!K.value)return Y.value;let e=K.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))}),X=l(()=>{let e=[...se.value];return q.value===`nameAsc`?e.sort((e,t)=>e.name.localeCompare(t.name)):q.value===`nameDesc`?e.sort((e,t)=>t.name.localeCompare(e.name)):q.value===`recent`?e.sort((e,t)=>t.id.localeCompare(e.id)):e}),Z=y(!1),Q=y(null);function ce(){Q.value&&(B(Q.value),Q.value=null,Z.value=!1)}function le(e){Q.value=e,Z.value=!0}function ue(e){U.value=e,W.value=!0}function de(){G.value=!0}function fe(e){H.value=e}function pe(e){return V.value.get(e)?.version||`1.0.0`}function $(e,t){let n=V.value.get(e);if(!n||!n.extensions?.airi?.modules)return`default`;let r=n.extensions.airi.modules;return t===`consciousness`?r.consciousness?.model&&r.consciousness.model.split(`-`).pop()||`default`:t===`voice`&&r.speech?.voice_id||`default`}return(e,c)=>{let l=s(`motion`);return r(),_(h,null,[v(`div`,ie,[v(`div`,ae,[v(`div`,oe,[c[7]||=v(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[v(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),g(v(`input`,{"onUpdate:modelValue":c[0]||=e=>K.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:f(C)(`settings.pages.card.search`)},null,8,O),[[p,K.value]])]),v(`div`,k,[v(`div`,A,a(f(C)(`settings.pages.card.sort_by`))+`: `,1),d(f(x),{modelValue:q.value,"onUpdate:modelValue":c[1]||=e=>q.value=e,options:[{value:`nameAsc`,label:f(C)(`settings.pages.card.name_asc`)},{value:`nameDesc`,label:f(C)(`settings.pages.card.name_desc`)},{value:`recent`,label:f(C)(`settings.pages.card.recent`)}],placeholder:`Select sort option`,class:`min-w-[150px]`},null,8,[`modelValue`,`options`])])]),v(`div`,{class:u([`mt-4`,{"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4 grid-auto-rows-[minmax(min-content,max-content)] grid-auto-flow-dense sm:grid-cols-[repeat(auto-fill,minmax(240px,1fr))] sm:gap-5 md:grid-cols-[repeat(auto-fill,minmax(220px,1fr))] lg:grid-cols-[repeat(auto-fill,minmax(250px,1fr))]":f(V).size>0}])},[d(f(S),{modelValue:J.value,"onUpdate:modelValue":c[2]||=e=>J.value=e,accept:`*.json`},{default:m(({isDragging:e})=>[e?(r(),_(`div`,P,[c[9]||=v(`div`,{"i-solar:upload-minimalistic-bold":``,class:`mb-2 text-5xl text-primary-500 dark:text-primary-400`},null,-1),v(`p`,F,a(f(C)(`settings.pages.card.drop_here`)),1)])):(r(),_(`div`,j,[c[8]||=v(`div`,{"i-solar:upload-square-line-duotone":``,"mb-4":``,"text-5xl":``,text:`neutral-400 dark:neutral-500`},null,-1),v(`p`,M,a(f(C)(`settings.pages.card.upload`)),1),v(`p`,N,a(f(C)(`settings.pages.card.upload_desc`)),1)]))]),_:1},8,[`modelValue`]),d(T,{onClick:de}),f(V).size>0?(r(!0),_(h,{key:0},n(X.value,e=>(r(),o(re,{id:e.id,key:e.id,name:e.name,description:e.description,"is-active":e.id===f(H),"is-selected":e.id===U.value&&W.value,version:pe(e.id),"consciousness-model":$(e.id,`consciousness`),"voice-model":$(e.id,`voice`),onSelect:t=>ue(e.id),onActivate:t=>fe(e.id),onDelete:t=>le(e.id)},null,8,[`id`,`name`,`description`,`is-active`,`is-selected`,`version`,`consciousness-model`,`voice-model`,`onSelect`,`onActivate`,`onDelete`]))),128)):t(``,!0),f(V).size===0?(r(),_(`div`,I,[c[10]||=v(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),v(`p`,null,a(f(C)(`settings.pages.card.no_cards`)),1)])):t(``,!0),K.value&&X.value.length===0?(r(),o(f(b),{key:2,type:`warning`},{title:m(()=>[i(a(f(C)(`settings.pages.card.no_results`)),1)]),content:m(()=>[i(a(f(C)(`settings.pages.card.try_different_search`)),1)]),_:1})):t(``,!0)],2)]),d(te,{modelValue:Z.value,"onUpdate:modelValue":c[3]||=e=>Z.value=e,"card-name":Q.value?f(R).getCard(Q.value)?.name:``,onConfirm:ce,onCancel:c[4]||=e=>Q.value=null},null,8,[`modelValue`,`card-name`]),d(D,{modelValue:W.value,"onUpdate:modelValue":c[5]||=e=>W.value=e,"card-id":U.value},null,8,[`modelValue`,`card-id`]),d(E,{modelValue:G.value,"onUpdate:modelValue":c[6]||=e=>G.value=e},null,8,[`modelValue`]),g((r(),_(`div`,L,[...c[11]||=[v(`div`,{text:`60`,"i-solar:emoji-funny-square-bold-duotone":``},null,-1)]])),[[l]])],64)}}});typeof C==`function`&&C(R);var z=R;export{z as default};
\ No newline at end of file
+import{A as e,C as t,J as n,K as r,O as i,Pt as a,S as o,Z as s,at as c,b as l,jt as u,k as d,kt as f,l as p,lt as m,m as h,ut as g,w as _,x as v,xt as y}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as b}from"./widgets-DXnWA3E4.js";import{r as x}from"./src-C1mn1H34.js";import{I as ee}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as te}from"./DeleteCardDialog-DW-hojOV.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./BasicInputFile-C4ZWuuil.js";import{t as S}from"./InputFile-BP4nvqwM.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import{n as ne}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{t as w}from"./airi-card-Chm8EQFK.js";import{t as T}from"./CardCreate-OyDk_hFv.js";import{t as E}from"./CardCreationDialog-C5DB5RX7.js";import{t as D}from"./CardDetailDialog-L_2qfeXs.js";import{t as re}from"./CardListItem-Gac0R_cb.js";var ie={"rounded-xl":``,"p-4":``,flex:`~ col gap-4`},ae={flex:`~ row`,"flex-wrap":``,"items-center":``,"justify-between":``,"gap-4":``},oe={class:`relative min-w-[200px] flex-1`,"inline-flex":`~`,"w-full":``,"items-center":``},O=[`placeholder`],k={class:`relative flex flex-row justify-start gap-2 lg:flex-col`},A={class:`top-[-32px] whitespace-nowrap text-sm text-neutral-500 leading-10 lg:absolute dark:text-neutral-400`},j={key:0,flex:``,"flex-col":``,"items-center":``},M={"font-medium":``,text:`neutral-600 dark:neutral-300`},N={text:`neutral-500 dark:neutral-400`,"mt-2":``,"text-sm":``},P={key:1,flex:``,"flex-col":``,"items-center":``},F={"font-medium":``,text:`primary-600 dark:primary-300`},I={key:1,class:`col-span-full rounded-xl p-8 text-center`,border:`~ neutral-200/50 dark:neutral-700/30`,bg:`neutral-50/50 dark:neutral-900/50`},L={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},R=e({__name:`index`,setup(e){let{t:C}=ne(),R=w(),{addCard:z,removeCard:B}=R,{cards:V,activeCardId:H}=ee(R),U=y(``),W=y(!1),G=y(!1),K=y(``),q=y(`nameAsc`),J=y([]);c(J,async e=>{let t=e[0];if(t)try{let e=await t.text();U.value=z(JSON.parse(e)),W.value=!0}catch(e){console.error(`Error processing card file:`,e)}});let Y=l(()=>Array.from(V.value.entries()).map(([e,t])=>({id:e,name:t.name,description:t.description}))),se=l(()=>{if(!K.value)return Y.value;let e=K.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))}),X=l(()=>{let e=[...se.value];return q.value===`nameAsc`?e.sort((e,t)=>e.name.localeCompare(t.name)):q.value===`nameDesc`?e.sort((e,t)=>t.name.localeCompare(e.name)):q.value===`recent`?e.sort((e,t)=>t.id.localeCompare(e.id)):e}),Z=y(!1),Q=y(null);function ce(){Q.value&&(B(Q.value),Q.value=null,Z.value=!1)}function le(e){Q.value=e,Z.value=!0}function ue(e){U.value=e,W.value=!0}function de(){G.value=!0}function fe(e){H.value=e}function pe(e){return V.value.get(e)?.version||`1.0.0`}function $(e,t){let n=V.value.get(e);if(!n||!n.extensions?.airi?.modules)return`default`;let r=n.extensions.airi.modules;return t===`consciousness`?r.consciousness?.model&&r.consciousness.model.split(`-`).pop()||`default`:t===`voice`&&r.speech?.voice_id||`default`}return(e,c)=>{let l=s(`motion`);return r(),_(h,null,[v(`div`,ie,[v(`div`,ae,[v(`div`,oe,[c[7]||=v(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[v(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),g(v(`input`,{"onUpdate:modelValue":c[0]||=e=>K.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:f(C)(`settings.pages.card.search`)},null,8,O),[[p,K.value]])]),v(`div`,k,[v(`div`,A,a(f(C)(`settings.pages.card.sort_by`))+`: `,1),d(f(x),{modelValue:q.value,"onUpdate:modelValue":c[1]||=e=>q.value=e,options:[{value:`nameAsc`,label:f(C)(`settings.pages.card.name_asc`)},{value:`nameDesc`,label:f(C)(`settings.pages.card.name_desc`)},{value:`recent`,label:f(C)(`settings.pages.card.recent`)}],placeholder:`Select sort option`,class:`min-w-[150px]`},null,8,[`modelValue`,`options`])])]),v(`div`,{class:u([`mt-4`,{"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4 grid-auto-rows-[minmax(min-content,max-content)] grid-auto-flow-dense sm:grid-cols-[repeat(auto-fill,minmax(240px,1fr))] sm:gap-5 md:grid-cols-[repeat(auto-fill,minmax(220px,1fr))] lg:grid-cols-[repeat(auto-fill,minmax(250px,1fr))]":f(V).size>0}])},[d(f(S),{modelValue:J.value,"onUpdate:modelValue":c[2]||=e=>J.value=e,accept:`*.json`},{default:m(({isDragging:e})=>[e?(r(),_(`div`,P,[c[9]||=v(`div`,{"i-solar:upload-minimalistic-bold":``,class:`mb-2 text-5xl text-primary-500 dark:text-primary-400`},null,-1),v(`p`,F,a(f(C)(`settings.pages.card.drop_here`)),1)])):(r(),_(`div`,j,[c[8]||=v(`div`,{"i-solar:upload-square-line-duotone":``,"mb-4":``,"text-5xl":``,text:`neutral-400 dark:neutral-500`},null,-1),v(`p`,M,a(f(C)(`settings.pages.card.upload`)),1),v(`p`,N,a(f(C)(`settings.pages.card.upload_desc`)),1)]))]),_:1},8,[`modelValue`]),d(T,{onClick:de}),f(V).size>0?(r(!0),_(h,{key:0},n(X.value,e=>(r(),o(re,{id:e.id,key:e.id,name:e.name,description:e.description,"is-active":e.id===f(H),"is-selected":e.id===U.value&&W.value,version:pe(e.id),"consciousness-model":$(e.id,`consciousness`),"voice-model":$(e.id,`voice`),onSelect:t=>ue(e.id),onActivate:t=>fe(e.id),onDelete:t=>le(e.id)},null,8,[`id`,`name`,`description`,`is-active`,`is-selected`,`version`,`consciousness-model`,`voice-model`,`onSelect`,`onActivate`,`onDelete`]))),128)):t(``,!0),f(V).size===0?(r(),_(`div`,I,[c[10]||=v(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),v(`p`,null,a(f(C)(`settings.pages.card.no_cards`)),1)])):t(``,!0),K.value&&X.value.length===0?(r(),o(f(b),{key:2,type:`warning`},{title:m(()=>[i(a(f(C)(`settings.pages.card.no_results`)),1)]),content:m(()=>[i(a(f(C)(`settings.pages.card.try_different_search`)),1)]),_:1})):t(``,!0)],2)]),d(te,{modelValue:Z.value,"onUpdate:modelValue":c[3]||=e=>Z.value=e,"card-name":Q.value?f(R).getCard(Q.value)?.name:``,onConfirm:ce,onCancel:c[4]||=e=>Q.value=null},null,8,[`modelValue`,`card-name`]),d(D,{modelValue:W.value,"onUpdate:modelValue":c[5]||=e=>W.value=e,"card-id":U.value},null,8,[`modelValue`,`card-id`]),d(E,{modelValue:G.value,"onUpdate:modelValue":c[6]||=e=>G.value=e},null,8,[`modelValue`]),g((r(),_(`div`,L,[...c[11]||=[v(`div`,{text:`60`,"i-solar:emoji-funny-square-bold-duotone":``},null,-1)]])),[[l]])],64)}}});typeof C==`function`&&C(R);var z=R;export{z as default};
\ No newline at end of file
diff --git a/assets/alibaba-cloud-model-studio-CCW-iOyL.js b/assets/alibaba-cloud-model-studio-lFV6m_y5.js
similarity index 98%
rename from assets/alibaba-cloud-model-studio-CCW-iOyL.js
rename to assets/alibaba-cloud-model-studio-lFV6m_y5.js
index 169deaefcb6efb6156555911be1f28d656193c4a..c569ffb7517fe02529a55e9cfad44321c251dd3d 100644
--- a/assets/alibaba-cloud-model-studio-CCW-iOyL.js
+++ b/assets/alibaba-cloud-model-studio-lFV6m_y5.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d}from"./src-C1mn1H34.js";import{I as f}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as p,c as m,f as h,l as g}from"./components-FkJVIJjS.js";import{n as _}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as v}from"./route-block-B7Ro39Uj.js";var y={flex:`~ col gap-4`},b=`alibaba-cloud-model-studio`,x=`cosyvoice-v1`,S=e({__name:`alibaba-cloud-model-studio`,setup(e){let v={speed:1},S=u(0),C=u(1),w=u(0),T=g(),E=p(),{providers:D}=f(E),{t:O}=_(),k=a(()=>!!D.value[b]?.apiKey),A=a(()=>T.availableVoices[b]||[]);async function j(e,t,n){let r=await E.getProviderInstance(b);if(!r)throw Error(`Failed to initialize speech provider`);let i=E.getProviderConfig(b),a=i.model||x;return await T.speech(r,a,e,t,{...i,...v})}return r(async()=>{let e=E.getProviderConfig(b);await E.getProviderMetadata(b).validators.validateProviderConfig(e)?await T.loadVoicesForProvider(b):console.error(`Failed to validate provider config`,e)}),i(S,async()=>{let e=E.getProviderConfig(b);e.pitch=S.value}),i(C,async()=>{let e=E.getProviderConfig(b);e.speed=C.value}),i(w,async()=>{let e=E.getProviderConfig(b);e.volume=w.value}),i(D,async()=>{let e=E.getProviderConfig(b);await E.getProviderMetadata(b).validators.validateProviderConfig(e)?await T.loadVoicesForProvider(b):console.error(`Failed to validate provider config`,e)},{immediate:!0}),(e,r)=>(t(),n(s(m),{"provider-id":b,"default-model":x,"additional-settings":v},{"voice-settings":c(()=>[l(`div`,y,[o(s(d),{modelValue:S.value,"onUpdate:modelValue":r[0]||=e=>S.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:C.value,"onUpdate:modelValue":r[1]||=e=>C.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:w.value,"onUpdate:modelValue":r[2]||=e=>w.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`])])]),playground:c(()=>[o(s(h),{"available-voices":A.value,"generate-speech":j,"api-key-configured":k.value,"default-text":`Hello! This is a test of the ElevenLabs voice synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof v==`function`&&v(S);var C=S;export{C as default};
\ No newline at end of file
+import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d}from"./src-C1mn1H34.js";import{I as f}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as p,c as m,f as h,l as g}from"./components-BmY-4iwk.js";import{n as _}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as v}from"./route-block-B7Ro39Uj.js";var y={flex:`~ col gap-4`},b=`alibaba-cloud-model-studio`,x=`cosyvoice-v1`,S=e({__name:`alibaba-cloud-model-studio`,setup(e){let v={speed:1},S=u(0),C=u(1),w=u(0),T=g(),E=p(),{providers:D}=f(E),{t:O}=_(),k=a(()=>!!D.value[b]?.apiKey),A=a(()=>T.availableVoices[b]||[]);async function j(e,t,n){let r=await E.getProviderInstance(b);if(!r)throw Error(`Failed to initialize speech provider`);let i=E.getProviderConfig(b),a=i.model||x;return await T.speech(r,a,e,t,{...i,...v})}return r(async()=>{let e=E.getProviderConfig(b);await E.getProviderMetadata(b).validators.validateProviderConfig(e)?await T.loadVoicesForProvider(b):console.error(`Failed to validate provider config`,e)}),i(S,async()=>{let e=E.getProviderConfig(b);e.pitch=S.value}),i(C,async()=>{let e=E.getProviderConfig(b);e.speed=C.value}),i(w,async()=>{let e=E.getProviderConfig(b);e.volume=w.value}),i(D,async()=>{let e=E.getProviderConfig(b);await E.getProviderMetadata(b).validators.validateProviderConfig(e)?await T.loadVoicesForProvider(b):console.error(`Failed to validate provider config`,e)},{immediate:!0}),(e,r)=>(t(),n(s(m),{"provider-id":b,"default-model":x,"additional-settings":v},{"voice-settings":c(()=>[l(`div`,y,[o(s(d),{modelValue:S.value,"onUpdate:modelValue":r[0]||=e=>S.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:C.value,"onUpdate:modelValue":r[1]||=e=>C.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:w.value,"onUpdate:modelValue":r[2]||=e=>w.value=e,label:s(O)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(O)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`])])]),playground:c(()=>[o(s(h),{"available-voices":A.value,"generate-speech":j,"api-key-configured":k.value,"default-text":`Hello! This is a test of the ElevenLabs voice synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof v==`function`&&v(S);var C=S;export{C as default};
\ No newline at end of file
diff --git a/assets/aliyun-nls-transcription-IeipaSuc.js b/assets/aliyun-nls-transcription-CnAfyh2t.js
similarity index 96%
rename from assets/aliyun-nls-transcription-IeipaSuc.js
rename to assets/aliyun-nls-transcription-CnAfyh2t.js
index 847736de522a436240221bc0edfa37d2b353a0b3..2c17bb0877b507fe29fedac680778f16510eda87 100644
--- a/assets/aliyun-nls-transcription-IeipaSuc.js
+++ b/assets/aliyun-nls-transcription-CnAfyh2t.js
@@ -1 +1 @@
-import{A as e,C as t,H as n,J as r,K as i,O as a,Pt as o,S as s,b as c,jt as ee,k as l,kt as u,lt as d,m as te,w as f,wt as p,x as m,xt as h,yt as g}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as _,u as v}from"./widgets-DXnWA3E4.js";import{s as y,u as b}from"./src-C1mn1H34.js";import{I as x}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as S,G as ne,K as re,q as ie}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as ae}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";import{t as oe}from"./process.worklet-D7mV4gP1.js";import{t as se}from"./use-provider-validation-D4atw8Ll.js";var ce={class:`flex flex-col gap-6 md:flex-row`},le={class:`whitespace-pre-wrap break-all`},ue={class:`w-full flex flex-1 flex-col gap-6`},de={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},fe={class:`flex flex-wrap items-center justify-between gap-3`},pe={class:`space-x-3`},me={class:`text-sm text-neutral-500 dark:text-neutral-400`},he={key:0,class:`rounded bg-red-500/10 px-2 py-0.5 text-xs text-red-500`},ge={key:1,class:`rounded bg-blue-500/10 px-2 py-0.5 text-xs text-blue-500`},_e={key:0,class:`mt-3 text-sm text-red-500`},ve={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},ye={key:0,class:`mt-3 text-sm text-neutral-500 dark:text-neutral-400`},be={class:`mt-1 font-medium`},xe={key:1,class:`mt-3 text-sm text-neutral-400 dark:text-neutral-600`},Se={class:`mt-4 text-sm space-y-3`},Ce={class:`mt-0.5 rounded bg-neutral-200/80 px-2 py-0.5 text-xs text-neutral-700 dark:bg-neutral-800/70 dark:text-neutral-200`},we={key:0,class:`text-xs text-neutral-400`},w=`aliyun-nls-transcription`,Te=`aliyun-nls-v1`,T=16e3,E=e({__name:`aliyun-nls-transcription`,setup(e){let C=[{label:`cn-shanghai`,value:`cn-shanghai`},{label:`cn-beijing`,value:`cn-beijing`},{label:`cn-shenzhen`,value:`cn-shenzhen`},{label:`cn-shanghai (internal)`,value:`cn-shanghai-internal`},{label:`cn-beijing (internal)`,value:`cn-beijing-internal`},{label:`cn-shenzhen (internal)`,value:`cn-shenzhen-internal`}],E=ae(),D=S(),{providers:O}=x(D);D.initializeProvider(w);let k=g({get accessKeyId(){return O.value[w]?.accessKeyId||``},set accessKeyId(e){A(),O.value[w].accessKeyId=e},get accessKeySecret(){return O.value[w]?.accessKeySecret||``},set accessKeySecret(e){A(),O.value[w].accessKeySecret=e},get appKey(){return O.value[w]?.appKey||``},set appKey(e){A(),O.value[w].appKey=e},get region(){return O.value[w]?.region||`cn-shanghai`},set region(e){A(),O.value[w].region=e}});function A(){O.value[w]||(O.value[w]={accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`})}let Ee=c(()=>!!(k.accessKeyId.trim()&&k.accessKeySecret.trim()&&k.appKey.trim())),j=h(!1),M=h(!1),N=h(null),P=h(``),F=h([]),I=p(),L=p(),R=p(),z=p(),B=p(),V=p(),H=p(null),U=p(null),W=c(()=>Ee.value&&!j.value&&!M.value),De=c(()=>j.value||M.value),Oe=c(()=>M.value&&!!V.value),{t:G,router:ke,providerMetadata:K,isValidating:q,isValid:J,validationMessage:Y,handleResetSettings:Ae}=se(w);function je(e){let t=new Int16Array(e.length);for(let n=0;n{let t=e.buffer,n=B.value;if(!t||!n)return;let r=je(t);n.enqueue(r.buffer.slice(0))};let r=t.createMediaStreamSource(e);r.connect(n);let i=t.createGain();i.gain.value=0,n.connect(i),i.connect(t.destination),I.value=t,L.value=n,z.value=r}function Ne(){P.value=``,F.value=[]}function X(e){switch(e.header.name){case`TranscriptionResultChanged`:{let t=e.payload;P.value=t.result,Z(t.index,t.result,!1);break}case`SentenceEnd`:{let t=e.payload;P.value=``,Z(t.index,t.result,!0);break}default:break}}function Z(e,t,n){let r=F.value.findIndex(t=>t.index===e);if(r>=0){let i=F.value[r];F.value.splice(r,1,{index:e,text:t,final:i.final||n})}else F.value.push({index:e,text:t,final:n});F.value.sort((e,t)=>e.index-t.index)}async function Pe(){if(!W.value)return;N.value=null,Ne();let e=new AbortController;V.value=e;let t=new ReadableStream({start(e){B.value=e},cancel:()=>{B.value=void 0}});try{let n=await D.getProviderInstance(w);if(!n)throw Error(`Failed to initialize Aliyun NLS provider.`);let r=await E.transcription(w,n,Te,{inputAudioStream:t},void 0,{providerOptions:{abortSignal:e.signal,hooks:{onServerEvent:e=>{X(e)}},onSessionTerminated:async e=>{e&&(N.value=e instanceof Error?e.message:String(e)),M.value=!1,V.value=void 0},sessionOptions:{format:`pcm`,sample_rate:T,enable_punctuation_prediction:!0}}});if(r.mode!==`stream`)throw Error(`Aliyun NLS returned a non-streaming result unexpectedly.`);H.value=r,U.value=r.text.catch(e=>{throw N.value=e instanceof Error?e.message:String(e),e});let i=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:T,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});R.value=i,await Me(i),I.value?.state===`suspended`&&await I.value.resume(),j.value=!0,M.value=!0}catch(e){N.value=e instanceof Error?e.message:String(e),await Q()}}async function Q(){try{L.value?.port.postMessage({type:`stop`})}catch{}if(z.value&&=(z.value.disconnect(),void 0),L.value&&=(L.value.port.onmessage=null,L.value.disconnect(),void 0),R.value&&=(R.value.getTracks().forEach(e=>e.stop()),void 0),I.value){try{await I.value.close()}catch{}I.value=void 0}if(B.value?.close(),B.value=void 0,j.value=!1,U.value)try{await U.value}catch{}finally{U.value=null}M.value=!1,V.value=void 0,H.value=null}function $(){let e=V.value;e&&(e.abort(new DOMException(`Aborted by user`,`AbortError`)),B.value?.error(new DOMException(`Aborted by user`,`AbortError`)),B.value=void 0,Q())}return n(async()=>{$(),await Q()}),(e,n)=>(i(),s(u(ne),{"provider-name":u(K)?.localizedName,"provider-icon":u(K)?.icon,"provider-icon-color":u(K)?.iconColor,"on-back":()=>u(ke).back()},{default:d(()=>[m(`div`,ce,[l(u(re),{class:`w-full md:w-[40%] space-y-6`},{default:d(()=>[l(u(ie),{title:u(G)(`settings.pages.providers.common.section.basic.title`),description:u(G)(`settings.pages.providers.common.section.basic.description`),"on-reset":u(Ae)},{default:d(()=>[l(u(b),{modelValue:k.accessKeyId,"onUpdate:modelValue":n[0]||=e=>k.accessKeyId=e,label:`Access Key ID`,placeholder:`LTAI...`},null,8,[`modelValue`]),l(u(b),{modelValue:k.accessKeySecret,"onUpdate:modelValue":n[1]||=e=>k.accessKeySecret=e,label:`Access Key Secret`,type:`password`,placeholder:`****************`},null,8,[`modelValue`]),l(u(b),{modelValue:k.appKey,"onUpdate:modelValue":n[2]||=e=>k.appKey=e,label:`App Key`,placeholder:`请输入 AppKey`},null,8,[`modelValue`]),l(u(y),{modelValue:k.region,"onUpdate:modelValue":n[3]||=e=>k.region=e,label:`Region`,options:C,layout:`vertical`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!u(J)&&u(q)===0&&u(Y)?(i(),s(u(_),{key:0,type:`error`},{title:d(()=>[a(o(u(G)(`settings.dialogs.onboarding.validationFailed`)),1)]),content:d(()=>[m(`div`,le,o(u(Y)),1)]),_:1})):t(``,!0),u(J)&&u(q)===0?(i(),s(u(_),{key:1,type:`success`},{title:d(()=>[a(o(u(G)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),m(`div`,ue,[m(`div`,de,[m(`div`,fe,[m(`div`,pe,[l(u(v),{disabled:!W.value,variant:`primary`,onClick:Pe},{default:d(()=>[a(o(j.value?`Streaming...`:`Start Realtime Transcription`),1)]),_:1},8,[`disabled`]),l(u(v),{disabled:!De.value,variant:`secondary`,onClick:Q},{default:d(()=>[...n[4]||=[a(` Stop `,-1)]]),_:1},8,[`disabled`]),M.value?(i(),s(u(v),{key:0,disabled:!Oe.value,onClick:$},{default:d(()=>[...n[5]||=[a(` Abort Session `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),m(`div`,me,[j.value?(i(),f(`span`,he,` Recording `)):M.value?(i(),f(`span`,ge,` Connected `)):t(``,!0)])]),N.value?(i(),f(`p`,_e,o(N.value),1)):t(``,!0)]),m(`div`,ve,[n[7]||=m(`h2`,{class:`text-lg font-semibold`},` Transcripts `,-1),P.value?(i(),f(`div`,ye,[n[6]||=m(`div`,{class:`text-xs text-neutral-400 tracking-wide uppercase dark:text-neutral-500`},` Partial `,-1),m(`div`,be,o(P.value),1)])):t(``,!0),!F.value.length&&!P.value?(i(),f(`div`,xe,` Waiting for audio... `)):t(``,!0),m(`ul`,Se,[(i(!0),f(te,null,r(F.value,e=>(i(),f(`li`,{key:e.index,class:`flex items-start gap-3`},[m(`span`,Ce,` #`+o(e.index),1),m(`div`,null,[m(`div`,{class:ee([`font-medium`,e.final?``:`italic text-neutral-500 dark:text-neutral-400`])},o(e.text),3),e.final?t(``,!0):(i(),f(`div`,we,` Awaiting final result... `))])]))),128))])])])])]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(E);var D=E;export{D as default};
\ No newline at end of file
+import{A as e,C as t,H as n,J as r,K as i,O as a,Pt as o,S as s,b as c,jt as ee,k as l,kt as u,lt as d,m as te,w as f,wt as p,x as m,xt as h,yt as g}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as _,u as v}from"./widgets-DXnWA3E4.js";import{s as y,u as b}from"./src-C1mn1H34.js";import{I as x}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as S,G as ne,K as re,q as ie}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as ae}from"./hearing-DsZOp5Sx.js";import"./dist-CnHFOEYg.js";import{t as oe}from"./process.worklet-D7mV4gP1.js";import{t as se}from"./use-provider-validation-CSFNUQmK.js";var ce={class:`flex flex-col gap-6 md:flex-row`},le={class:`whitespace-pre-wrap break-all`},ue={class:`w-full flex flex-1 flex-col gap-6`},de={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},fe={class:`flex flex-wrap items-center justify-between gap-3`},pe={class:`space-x-3`},me={class:`text-sm text-neutral-500 dark:text-neutral-400`},he={key:0,class:`rounded bg-red-500/10 px-2 py-0.5 text-xs text-red-500`},ge={key:1,class:`rounded bg-blue-500/10 px-2 py-0.5 text-xs text-blue-500`},_e={key:0,class:`mt-3 text-sm text-red-500`},ve={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},ye={key:0,class:`mt-3 text-sm text-neutral-500 dark:text-neutral-400`},be={class:`mt-1 font-medium`},xe={key:1,class:`mt-3 text-sm text-neutral-400 dark:text-neutral-600`},Se={class:`mt-4 text-sm space-y-3`},Ce={class:`mt-0.5 rounded bg-neutral-200/80 px-2 py-0.5 text-xs text-neutral-700 dark:bg-neutral-800/70 dark:text-neutral-200`},we={key:0,class:`text-xs text-neutral-400`},w=`aliyun-nls-transcription`,Te=`aliyun-nls-v1`,T=16e3,E=e({__name:`aliyun-nls-transcription`,setup(e){let C=[{label:`cn-shanghai`,value:`cn-shanghai`},{label:`cn-beijing`,value:`cn-beijing`},{label:`cn-shenzhen`,value:`cn-shenzhen`},{label:`cn-shanghai (internal)`,value:`cn-shanghai-internal`},{label:`cn-beijing (internal)`,value:`cn-beijing-internal`},{label:`cn-shenzhen (internal)`,value:`cn-shenzhen-internal`}],E=ae(),D=S(),{providers:O}=x(D);D.initializeProvider(w);let k=g({get accessKeyId(){return O.value[w]?.accessKeyId||``},set accessKeyId(e){A(),O.value[w].accessKeyId=e},get accessKeySecret(){return O.value[w]?.accessKeySecret||``},set accessKeySecret(e){A(),O.value[w].accessKeySecret=e},get appKey(){return O.value[w]?.appKey||``},set appKey(e){A(),O.value[w].appKey=e},get region(){return O.value[w]?.region||`cn-shanghai`},set region(e){A(),O.value[w].region=e}});function A(){O.value[w]||(O.value[w]={accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`})}let Ee=c(()=>!!(k.accessKeyId.trim()&&k.accessKeySecret.trim()&&k.appKey.trim())),j=h(!1),M=h(!1),N=h(null),P=h(``),F=h([]),I=p(),L=p(),R=p(),z=p(),B=p(),V=p(),H=p(null),U=p(null),W=c(()=>Ee.value&&!j.value&&!M.value),De=c(()=>j.value||M.value),Oe=c(()=>M.value&&!!V.value),{t:G,router:ke,providerMetadata:K,isValidating:q,isValid:J,validationMessage:Y,handleResetSettings:Ae}=se(w);function je(e){let t=new Int16Array(e.length);for(let n=0;n{let t=e.buffer,n=B.value;if(!t||!n)return;let r=je(t);n.enqueue(r.buffer.slice(0))};let r=t.createMediaStreamSource(e);r.connect(n);let i=t.createGain();i.gain.value=0,n.connect(i),i.connect(t.destination),I.value=t,L.value=n,z.value=r}function Ne(){P.value=``,F.value=[]}function X(e){switch(e.header.name){case`TranscriptionResultChanged`:{let t=e.payload;P.value=t.result,Z(t.index,t.result,!1);break}case`SentenceEnd`:{let t=e.payload;P.value=``,Z(t.index,t.result,!0);break}default:break}}function Z(e,t,n){let r=F.value.findIndex(t=>t.index===e);if(r>=0){let i=F.value[r];F.value.splice(r,1,{index:e,text:t,final:i.final||n})}else F.value.push({index:e,text:t,final:n});F.value.sort((e,t)=>e.index-t.index)}async function Pe(){if(!W.value)return;N.value=null,Ne();let e=new AbortController;V.value=e;let t=new ReadableStream({start(e){B.value=e},cancel:()=>{B.value=void 0}});try{let n=await D.getProviderInstance(w);if(!n)throw Error(`Failed to initialize Aliyun NLS provider.`);let r=await E.transcription(w,n,Te,{inputAudioStream:t},void 0,{providerOptions:{abortSignal:e.signal,hooks:{onServerEvent:e=>{X(e)}},onSessionTerminated:async e=>{e&&(N.value=e instanceof Error?e.message:String(e)),M.value=!1,V.value=void 0},sessionOptions:{format:`pcm`,sample_rate:T,enable_punctuation_prediction:!0}}});if(r.mode!==`stream`)throw Error(`Aliyun NLS returned a non-streaming result unexpectedly.`);H.value=r,U.value=r.text.catch(e=>{throw N.value=e instanceof Error?e.message:String(e),e});let i=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:T,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});R.value=i,await Me(i),I.value?.state===`suspended`&&await I.value.resume(),j.value=!0,M.value=!0}catch(e){N.value=e instanceof Error?e.message:String(e),await Q()}}async function Q(){try{L.value?.port.postMessage({type:`stop`})}catch{}if(z.value&&=(z.value.disconnect(),void 0),L.value&&=(L.value.port.onmessage=null,L.value.disconnect(),void 0),R.value&&=(R.value.getTracks().forEach(e=>e.stop()),void 0),I.value){try{await I.value.close()}catch{}I.value=void 0}if(B.value?.close(),B.value=void 0,j.value=!1,U.value)try{await U.value}catch{}finally{U.value=null}M.value=!1,V.value=void 0,H.value=null}function $(){let e=V.value;e&&(e.abort(new DOMException(`Aborted by user`,`AbortError`)),B.value?.error(new DOMException(`Aborted by user`,`AbortError`)),B.value=void 0,Q())}return n(async()=>{$(),await Q()}),(e,n)=>(i(),s(u(ne),{"provider-name":u(K)?.localizedName,"provider-icon":u(K)?.icon,"provider-icon-color":u(K)?.iconColor,"on-back":()=>u(ke).back()},{default:d(()=>[m(`div`,ce,[l(u(re),{class:`w-full md:w-[40%] space-y-6`},{default:d(()=>[l(u(ie),{title:u(G)(`settings.pages.providers.common.section.basic.title`),description:u(G)(`settings.pages.providers.common.section.basic.description`),"on-reset":u(Ae)},{default:d(()=>[l(u(b),{modelValue:k.accessKeyId,"onUpdate:modelValue":n[0]||=e=>k.accessKeyId=e,label:`Access Key ID`,placeholder:`LTAI...`},null,8,[`modelValue`]),l(u(b),{modelValue:k.accessKeySecret,"onUpdate:modelValue":n[1]||=e=>k.accessKeySecret=e,label:`Access Key Secret`,type:`password`,placeholder:`****************`},null,8,[`modelValue`]),l(u(b),{modelValue:k.appKey,"onUpdate:modelValue":n[2]||=e=>k.appKey=e,label:`App Key`,placeholder:`请输入 AppKey`},null,8,[`modelValue`]),l(u(y),{modelValue:k.region,"onUpdate:modelValue":n[3]||=e=>k.region=e,label:`Region`,options:C,layout:`vertical`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!u(J)&&u(q)===0&&u(Y)?(i(),s(u(_),{key:0,type:`error`},{title:d(()=>[a(o(u(G)(`settings.dialogs.onboarding.validationFailed`)),1)]),content:d(()=>[m(`div`,le,o(u(Y)),1)]),_:1})):t(``,!0),u(J)&&u(q)===0?(i(),s(u(_),{key:1,type:`success`},{title:d(()=>[a(o(u(G)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),m(`div`,ue,[m(`div`,de,[m(`div`,fe,[m(`div`,pe,[l(u(v),{disabled:!W.value,variant:`primary`,onClick:Pe},{default:d(()=>[a(o(j.value?`Streaming...`:`Start Realtime Transcription`),1)]),_:1},8,[`disabled`]),l(u(v),{disabled:!De.value,variant:`secondary`,onClick:Q},{default:d(()=>[...n[4]||=[a(` Stop `,-1)]]),_:1},8,[`disabled`]),M.value?(i(),s(u(v),{key:0,disabled:!Oe.value,onClick:$},{default:d(()=>[...n[5]||=[a(` Abort Session `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),m(`div`,me,[j.value?(i(),f(`span`,he,` Recording `)):M.value?(i(),f(`span`,ge,` Connected `)):t(``,!0)])]),N.value?(i(),f(`p`,_e,o(N.value),1)):t(``,!0)]),m(`div`,ve,[n[7]||=m(`h2`,{class:`text-lg font-semibold`},` Transcripts `,-1),P.value?(i(),f(`div`,ye,[n[6]||=m(`div`,{class:`text-xs text-neutral-400 tracking-wide uppercase dark:text-neutral-500`},` Partial `,-1),m(`div`,be,o(P.value),1)])):t(``,!0),!F.value.length&&!P.value?(i(),f(`div`,xe,` Waiting for audio... `)):t(``,!0),m(`ul`,Se,[(i(!0),f(te,null,r(F.value,e=>(i(),f(`li`,{key:e.index,class:`flex items-start gap-3`},[m(`span`,Ce,` #`+o(e.index),1),m(`div`,null,[m(`div`,{class:ee([`font-medium`,e.final?``:`italic text-neutral-500 dark:text-neutral-400`])},o(e.text),3),e.final?t(``,!0):(i(),f(`div`,we,` Awaiting final result... `))])]))),128))])])])])]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(E);var D=E;export{D as default};
\ No newline at end of file
diff --git a/assets/azure-ai-foundry-D_dUNEyi.js b/assets/azure-ai-foundry-CJm6XpyJ.js
similarity index 96%
rename from assets/azure-ai-foundry-D_dUNEyi.js
rename to assets/azure-ai-foundry-CJm6XpyJ.js
index f5fca994abbab02eebb9993fcf2ce89ab4e6d687..fdac048769e8462276dca33dfc65540d17d3bf80 100644
--- a/assets/azure-ai-foundry-D_dUNEyi.js
+++ b/assets/azure-ai-foundry-CJm6XpyJ.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,X as _,Y as v,Z as y,q as b}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";import{t as S}from"./use-provider-validation-D4atw8Ll.js";var C={class:`whitespace-pre-wrap break-all`},w=`azure-ai-foundry`,T=e({__name:`azure-ai-foundry`,setup(e){let{providers:x}=p(m()),T=s({get:()=>x.value[w]?.apiKey||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiKey=e}}),E=s({get:()=>x.value[w]?.resourceName||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].resourceName=e}}),D=s({get:()=>x.value[w]?.apiVersion||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiVersion=e}}),O=s({get:()=>x.value[w]?.modelId||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].modelId=e}}),{t:k,router:A,providerMetadata:j,isValidating:M,isValid:N,validationMessage:P,handleResetSettings:F}=S(w);return(e,s)=>(r(),o(l(h),{"provider-name":l(j)?.localizedName,"provider-icon-color":l(j)?.iconColor,"on-back":()=>l(A).back()},{default:u(()=>[c(l(g),null,{default:u(()=>[c(l(b),{title:l(k)(`settings.pages.providers.common.section.basic.title`),description:l(k)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(F)},{default:u(()=>[c(l(v),{modelValue:T.value,"onUpdate:modelValue":s[0]||=e=>T.value=e,"provider-name":l(j)?.localizedName,placeholder:`...`,required:``},null,8,[`modelValue`,`provider-name`]),c(l(y),{modelValue:E.value,"onUpdate:modelValue":s[1]||=e=>E.value=e,label:`Resouce name`,placeholder:`...`,description:`Prefix used in https://.services.ai.azure.com`,required:``},null,8,[`modelValue`]),c(l(y),{modelValue:O.value,"onUpdate:modelValue":s[2]||=e=>O.value=e,label:`Model id`,placeholder:`...`,description:`Model ID on Azure AI Foundry`,required:``},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(_),{title:l(k)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(y),{modelValue:D.value,"onUpdate:modelValue":s[3]||=e=>D.value=e,label:`API version`,placeholder:`e.g. 2025-04-01-preview`,description:`API version for snapshot of the models`},null,8,[`modelValue`])]),_:1},8,[`title`]),!l(N)&&l(M)===0&&l(P)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(k)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(P)?{name:`content`,fn:u(()=>[d(`div`,C,a(l(P)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(N)&&l(M)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(k)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof x==`function`&&x(T);var E=T;export{E as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,X as _,Y as v,Z as y,q as b}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";import{t as S}from"./use-provider-validation-CSFNUQmK.js";var C={class:`whitespace-pre-wrap break-all`},w=`azure-ai-foundry`,T=e({__name:`azure-ai-foundry`,setup(e){let{providers:x}=p(m()),T=s({get:()=>x.value[w]?.apiKey||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiKey=e}}),E=s({get:()=>x.value[w]?.resourceName||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].resourceName=e}}),D=s({get:()=>x.value[w]?.apiVersion||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiVersion=e}}),O=s({get:()=>x.value[w]?.modelId||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].modelId=e}}),{t:k,router:A,providerMetadata:j,isValidating:M,isValid:N,validationMessage:P,handleResetSettings:F}=S(w);return(e,s)=>(r(),o(l(h),{"provider-name":l(j)?.localizedName,"provider-icon-color":l(j)?.iconColor,"on-back":()=>l(A).back()},{default:u(()=>[c(l(g),null,{default:u(()=>[c(l(b),{title:l(k)(`settings.pages.providers.common.section.basic.title`),description:l(k)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(F)},{default:u(()=>[c(l(v),{modelValue:T.value,"onUpdate:modelValue":s[0]||=e=>T.value=e,"provider-name":l(j)?.localizedName,placeholder:`...`,required:``},null,8,[`modelValue`,`provider-name`]),c(l(y),{modelValue:E.value,"onUpdate:modelValue":s[1]||=e=>E.value=e,label:`Resouce name`,placeholder:`...`,description:`Prefix used in https://.services.ai.azure.com`,required:``},null,8,[`modelValue`]),c(l(y),{modelValue:O.value,"onUpdate:modelValue":s[2]||=e=>O.value=e,label:`Model id`,placeholder:`...`,description:`Model ID on Azure AI Foundry`,required:``},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(_),{title:l(k)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(y),{modelValue:D.value,"onUpdate:modelValue":s[3]||=e=>D.value=e,label:`API version`,placeholder:`e.g. 2025-04-01-preview`,description:`API version for snapshot of the models`},null,8,[`modelValue`])]),_:1},8,[`title`]),!l(N)&&l(M)===0&&l(P)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(k)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(P)?{name:`content`,fn:u(()=>[d(`div`,C,a(l(P)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(N)&&l(M)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(k)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof x==`function`&&x(T);var E=T;export{E as default};
\ No newline at end of file
diff --git a/assets/beat-sync-BtYHy7Nw.js b/assets/beat-sync-BzDTtWDS.js
similarity index 99%
rename from assets/beat-sync-BtYHy7Nw.js
rename to assets/beat-sync-BzDTtWDS.js
index d07e94f141fde315a113afd5faaeee329842d41f..a5706edbbf06a106a5c11cd348d6f12be35570af 100644
--- a/assets/beat-sync-BtYHy7Nw.js
+++ b/assets/beat-sync-BzDTtWDS.js
@@ -1 +1 @@
-import{A as e,G as t,J as n,K as r,O as i,Pt as a,S as o,W as s,k as c,kt as l,lt as u,m as d,ot as f,r as ee,w as p,x as m,xt as h}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{u as g}from"./widgets-DXnWA3E4.js";import{c as _,f as v}from"./src-C1mn1H34.js";import{A as y}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{A as b,B as x,C as S,D as C,E as w,F as T,H as E,I as D,L as O,M as k,N as A,O as j,P as M,R as te,S as N,T as ne,U as P,V as F,W as I,b as L,j as R,k as z,w as B,x as V,y as H,z as U}from"./components-FkJVIJjS.js";import{n as W}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as G}from"./route-block-B7Ro39Uj.js";import{n as K,t as q}from"./beat-sync-Dt3oi7by.js";var J=(e,t)=>{if(U(t,`<`)){let n=t[1]===`<`,r=e._tail,i=r?r._offset+r._delay:0;return n?i:i+r.duration}},Y=(e,t)=>{let n=e.iterationDuration;if(n===1e-11&&(n=0),D(t))return n;if(A(+t))return+t;let r=t,i=e?e.labels:null,a=!k(i),o=J(e,r),s=!D(o),c=P.exec(r);if(c){let e=c[0],t=r.split(e),l=a&&t[0]?i[t[0]]:n;return w(s?o:a?l:n,+t[1],e[0])}else return s?o:a?D(i[r])?n:i[r]:n};function X(e){return z((e.iterationDuration+e._loopDelay)*e.iterationCount-e._loopDelay)||1e-11}function Z(e,t,n,r,i,a){let o=A(e.duration)&&e.duration<=1e-11?n-E:n;ne(t,o,1,1,I.AUTO);let s=r?new H(r,e,t,o,!1,i,a):new N(e,t,o);return s.init(!0),j(t,s),b(t,e=>{let n=e._offset+e._delay+e.duration;n>t.iterationDuration&&(t.iterationDuration=n)}),t.duration=X(t),t}var re=class extends N{constructor(e={}){super(e,null,0),this.duration=0,this.labels={};let t=e.defaults,n=x.defaults;this.defaults=t?O(t,n):n,this.onRender=e.onRender||n.onRender;let r=C(e.playbackEase,n.playbackEase);this._ease=r?L(r):null,this.iterationDuration=0}add(e,t,n){let r=M(t),i=M(e);if(r||i){if(this._hasChildren=!0,r){let r=t;if(R(n)){let t=n,i=V(e),a=this.duration,o=this.iterationDuration,s=r.id,c=0,l=i.length;i.forEach(e=>{let n={...r};this.duration=a,this.iterationDuration=o,D(s)||(n.id=s+`-`+c),Z(n,this,Y(this,t(e,c,l,this)),e,c,l),c++})}else Z(r,this,Y(this,n),e)}else Z(e,this,Y(this,t));return this.init(!0)}}sync(e,t){if(D(e)||e&&D(e.pause))return this;e.pause();let n=+(e.effect?e.effect.getTiming().duration:e.duration);return this.add(e,{currentTime:[0,n],duration:n,ease:`linear`},t)}set(e,t,n){return D(t)?this:(t.duration=E,t.composition=F.replace,this.add(e,t,n))}call(e,t){return D(e)||e&&!R(e)?this:this.add({duration:0,onComplete:()=>e(this)},t)}label(e,t){return D(e)||e&&!T(e)||(this.labels[e]=Y(this,t)),this}remove(e,t){return S(V(e),this,t),this}stretch(e){let t=this.duration;if(t===te(e))return this;let n=e/t,r=this.labels;for(let e in b(this,e=>e.stretch(e.duration*n)),r)r[e]*=n;return super.stretch(e)}refresh(){return b(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),b(this,e=>e.revert,!0),B(this)}then(e){return super.then(e)}},ie=e=>new re(e).init(),ae={flex:`~ col md:row gap-6`},oe={bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`,class:`h-fit w-full md:w-[40%]`},se={flex:`~ col gap-6`},ce={flex:`~ col gap-4`},le={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},ue={text:`neutral-400 dark:neutral-400`},de={"max-w-full":``,flex:`~ row gap-4 wrap`},fe={flex:`~ col gap-4`},pe={flex:`~ row`,"items-center":``,"justify-between":``},me={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},Q={text:`neutral-400 dark:neutral-400`},he={"max-w-full":``,flex:`~ col gap-4`},ge={class:`text text-neutral-500 md:text-xl dark:text-neutral-500`},_e={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},ve={"w-full":``,"rounded-xl":``,flex:`~ col gap-4`},ye={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},be={class:`inline-flex items-center gap-4`},xe={flex:`~ col gap-4 items-center`},Se=[`data-beat-id`],$=e({__name:`beat-sync`,setup(e){let b=q(),{t:x}=W(),S=h([]),C=h({...K});f(()=>{b.updateParameters(C.value)});function w(e){return((2**e-1)/1)**.5}s(()=>{let e=({energy:e})=>{S.value.unshift({id:y(),energy:e,normalizedEnergy:w(e)})};b.on(`beat`,e),t(()=>{b.off(`beat`,e)})});function T(e,t){let n=e.dataset.beatId;ie().set(e,{opacity:1,scale:0}).add(e,{opacity:0,scale:1,duration:2e3,delay:0,ease:`out(5)`,onComplete:()=>{if(!n)return;let e=S.value.findIndex(e=>e.id===n);e>=0&&S.value.splice(e,1),t()}})}function E(){C.value={...K}}return(e,t)=>(r(),p(`div`,ae,[m(`div`,oe,[m(`div`,se,[m(`div`,ce,[m(`div`,null,[m(`h2`,le,a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.title`)),1),m(`div`,ue,[m(`span`,null,a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.description`)),1)])]),m(`div`,de,[l(b).isActive?(r(),o(l(g),{key:0,onClick:l(b).stop},{default:u(()=>[i(a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.stop`)),1)]),_:1},8,[`onClick`])):(r(),o(l(g),{key:1,onClick:l(b).startFromScreenCapture},{default:u(()=>[i(a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.start_screen_capture`)),1)]),_:1},8,[`onClick`]))])]),m(`div`,fe,[m(`div`,pe,[m(`div`,null,[m(`h2`,me,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.title`)),1),m(`div`,Q,[m(`span`,null,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.description`)),1)])]),m(`button`,{title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:E},[...t[9]||=[m(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])]),m(`div`,he,[c(l(_),{modelValue:C.value.sensitivity,"onUpdate:modelValue":t[0]||=e=>C.value.sensitivity=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.sensitivity.label`),min:0,max:1,step:.01,"format-value":e=>e.toFixed(1)},null,8,[`modelValue`,`label`,`format-value`]),c(l(_),{modelValue:C.value.minBeatInterval,"onUpdate:modelValue":t[1]||=e=>C.value.minBeatInterval=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.description`),min:.05,max:1,step:.01,"format-value":e=>`${(60/e).toFixed(1)} BPM / ${e.toFixed(2)} s`},null,8,[`modelValue`,`label`,`description`,`format-value`]),m(`div`,null,[m(`h3`,ge,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.advanced_parameters`)),1)]),c(l(_),{modelValue:C.value.lowpassFilterFrequency,"onUpdate:modelValue":t[2]||=e=>C.value.lowpassFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.description`),min:20,max:600,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(_),{modelValue:C.value.highpassFilterFrequency,"onUpdate:modelValue":t[3]||=e=>C.value.highpassFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.description`),min:150,max:2e3,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(_),{modelValue:C.value.envelopeFilterFrequency,"onUpdate:modelValue":t[4]||=e=>C.value.envelopeFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.description`),min:20,max:200,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(v),{modelValue:C.value.warmup,"onUpdate:modelValue":t[5]||=e=>C.value.warmup=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(v),{modelValue:C.value.adaptiveThreshold,"onUpdate:modelValue":t[6]||=e=>C.value.adaptiveThreshold=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(v),{modelValue:C.value.spectralFlux,"onUpdate:modelValue":t[7]||=e=>C.value.spectralFlux=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(_),{modelValue:C.value.bufferDuration,"onUpdate:modelValue":t[8]||=e=>C.value.bufferDuration=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.description`),min:2,max:10,step:.5,"format-value":e=>`${e.toFixed(1)} s`},null,8,[`modelValue`,`label`,`description`,`format-value`])])])])]),m(`div`,_e,[m(`div`,ve,[m(`h2`,ye,[m(`div`,be,a(l(x)(`settings.pages.modules.beat_sync.sections.beat_visualizer.title`)),1)]),m(`div`,xe,[c(ee,{tag:`div`,bg:`neutral/10`,relative:``,"box-border":``,"aspect-square":``,"h-full":``,"max-h-400px":``,"max-w-400px":``,"w-full":``,"rounded-2xl":``,flex:`~ row gap-2 wrap items-center`,css:!1,onEnter:T},{default:u(()=>[(r(!0),p(d,null,n(S.value,e=>(r(),p(`div`,{key:e.id,"data-beat-id":e.id,absolute:``,"h-full":``,"w-full":``,"rounded-full":``,bg:`primary/50`},null,8,Se))),128))]),_:1})])])])]))}});typeof G==`function`&&G($);var Ce=$;export{Ce as default};
\ No newline at end of file
+import{A as e,G as t,J as n,K as r,O as i,Pt as a,S as o,W as s,k as c,kt as l,lt as u,m as d,ot as f,r as ee,w as p,x as m,xt as h}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{u as g}from"./widgets-DXnWA3E4.js";import{c as _,f as v}from"./src-C1mn1H34.js";import{A as y}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{A as b,B as x,C as S,D as C,E as w,F as T,H as E,I as D,L as O,M as k,N as A,O as j,P as M,R as te,S as N,T as ne,U as P,V as F,W as I,b as L,j as R,k as z,w as B,x as V,y as H,z as U}from"./components-BmY-4iwk.js";import{n as W}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as G}from"./route-block-B7Ro39Uj.js";import{n as K,t as q}from"./beat-sync-Dt3oi7by.js";var J=(e,t)=>{if(U(t,`<`)){let n=t[1]===`<`,r=e._tail,i=r?r._offset+r._delay:0;return n?i:i+r.duration}},Y=(e,t)=>{let n=e.iterationDuration;if(n===1e-11&&(n=0),D(t))return n;if(A(+t))return+t;let r=t,i=e?e.labels:null,a=!k(i),o=J(e,r),s=!D(o),c=P.exec(r);if(c){let e=c[0],t=r.split(e),l=a&&t[0]?i[t[0]]:n;return w(s?o:a?l:n,+t[1],e[0])}else return s?o:a?D(i[r])?n:i[r]:n};function X(e){return z((e.iterationDuration+e._loopDelay)*e.iterationCount-e._loopDelay)||1e-11}function Z(e,t,n,r,i,a){let o=A(e.duration)&&e.duration<=1e-11?n-E:n;ne(t,o,1,1,I.AUTO);let s=r?new H(r,e,t,o,!1,i,a):new N(e,t,o);return s.init(!0),j(t,s),b(t,e=>{let n=e._offset+e._delay+e.duration;n>t.iterationDuration&&(t.iterationDuration=n)}),t.duration=X(t),t}var re=class extends N{constructor(e={}){super(e,null,0),this.duration=0,this.labels={};let t=e.defaults,n=x.defaults;this.defaults=t?O(t,n):n,this.onRender=e.onRender||n.onRender;let r=C(e.playbackEase,n.playbackEase);this._ease=r?L(r):null,this.iterationDuration=0}add(e,t,n){let r=M(t),i=M(e);if(r||i){if(this._hasChildren=!0,r){let r=t;if(R(n)){let t=n,i=V(e),a=this.duration,o=this.iterationDuration,s=r.id,c=0,l=i.length;i.forEach(e=>{let n={...r};this.duration=a,this.iterationDuration=o,D(s)||(n.id=s+`-`+c),Z(n,this,Y(this,t(e,c,l,this)),e,c,l),c++})}else Z(r,this,Y(this,n),e)}else Z(e,this,Y(this,t));return this.init(!0)}}sync(e,t){if(D(e)||e&&D(e.pause))return this;e.pause();let n=+(e.effect?e.effect.getTiming().duration:e.duration);return this.add(e,{currentTime:[0,n],duration:n,ease:`linear`},t)}set(e,t,n){return D(t)?this:(t.duration=E,t.composition=F.replace,this.add(e,t,n))}call(e,t){return D(e)||e&&!R(e)?this:this.add({duration:0,onComplete:()=>e(this)},t)}label(e,t){return D(e)||e&&!T(e)||(this.labels[e]=Y(this,t)),this}remove(e,t){return S(V(e),this,t),this}stretch(e){let t=this.duration;if(t===te(e))return this;let n=e/t,r=this.labels;for(let e in b(this,e=>e.stretch(e.duration*n)),r)r[e]*=n;return super.stretch(e)}refresh(){return b(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),b(this,e=>e.revert,!0),B(this)}then(e){return super.then(e)}},ie=e=>new re(e).init(),ae={flex:`~ col md:row gap-6`},oe={bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`,class:`h-fit w-full md:w-[40%]`},se={flex:`~ col gap-6`},ce={flex:`~ col gap-4`},le={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},ue={text:`neutral-400 dark:neutral-400`},de={"max-w-full":``,flex:`~ row gap-4 wrap`},fe={flex:`~ col gap-4`},pe={flex:`~ row`,"items-center":``,"justify-between":``},me={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},Q={text:`neutral-400 dark:neutral-400`},he={"max-w-full":``,flex:`~ col gap-4`},ge={class:`text text-neutral-500 md:text-xl dark:text-neutral-500`},_e={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},ve={"w-full":``,"rounded-xl":``,flex:`~ col gap-4`},ye={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},be={class:`inline-flex items-center gap-4`},xe={flex:`~ col gap-4 items-center`},Se=[`data-beat-id`],$=e({__name:`beat-sync`,setup(e){let b=q(),{t:x}=W(),S=h([]),C=h({...K});f(()=>{b.updateParameters(C.value)});function w(e){return((2**e-1)/1)**.5}s(()=>{let e=({energy:e})=>{S.value.unshift({id:y(),energy:e,normalizedEnergy:w(e)})};b.on(`beat`,e),t(()=>{b.off(`beat`,e)})});function T(e,t){let n=e.dataset.beatId;ie().set(e,{opacity:1,scale:0}).add(e,{opacity:0,scale:1,duration:2e3,delay:0,ease:`out(5)`,onComplete:()=>{if(!n)return;let e=S.value.findIndex(e=>e.id===n);e>=0&&S.value.splice(e,1),t()}})}function E(){C.value={...K}}return(e,t)=>(r(),p(`div`,ae,[m(`div`,oe,[m(`div`,se,[m(`div`,ce,[m(`div`,null,[m(`h2`,le,a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.title`)),1),m(`div`,ue,[m(`span`,null,a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.description`)),1)])]),m(`div`,de,[l(b).isActive?(r(),o(l(g),{key:0,onClick:l(b).stop},{default:u(()=>[i(a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.stop`)),1)]),_:1},8,[`onClick`])):(r(),o(l(g),{key:1,onClick:l(b).startFromScreenCapture},{default:u(()=>[i(a(l(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.start_screen_capture`)),1)]),_:1},8,[`onClick`]))])]),m(`div`,fe,[m(`div`,pe,[m(`div`,null,[m(`h2`,me,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.title`)),1),m(`div`,Q,[m(`span`,null,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.description`)),1)])]),m(`button`,{title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:E},[...t[9]||=[m(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])]),m(`div`,he,[c(l(_),{modelValue:C.value.sensitivity,"onUpdate:modelValue":t[0]||=e=>C.value.sensitivity=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.sensitivity.label`),min:0,max:1,step:.01,"format-value":e=>e.toFixed(1)},null,8,[`modelValue`,`label`,`format-value`]),c(l(_),{modelValue:C.value.minBeatInterval,"onUpdate:modelValue":t[1]||=e=>C.value.minBeatInterval=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.description`),min:.05,max:1,step:.01,"format-value":e=>`${(60/e).toFixed(1)} BPM / ${e.toFixed(2)} s`},null,8,[`modelValue`,`label`,`description`,`format-value`]),m(`div`,null,[m(`h3`,ge,a(l(x)(`settings.pages.modules.beat_sync.sections.parameters.advanced_parameters`)),1)]),c(l(_),{modelValue:C.value.lowpassFilterFrequency,"onUpdate:modelValue":t[2]||=e=>C.value.lowpassFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.description`),min:20,max:600,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(_),{modelValue:C.value.highpassFilterFrequency,"onUpdate:modelValue":t[3]||=e=>C.value.highpassFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.description`),min:150,max:2e3,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(_),{modelValue:C.value.envelopeFilterFrequency,"onUpdate:modelValue":t[4]||=e=>C.value.envelopeFilterFrequency=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.description`),min:20,max:200,step:10,"format-value":e=>`${e.toFixed(0)} Hz`},null,8,[`modelValue`,`label`,`description`,`format-value`]),c(l(v),{modelValue:C.value.warmup,"onUpdate:modelValue":t[5]||=e=>C.value.warmup=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(v),{modelValue:C.value.adaptiveThreshold,"onUpdate:modelValue":t[6]||=e=>C.value.adaptiveThreshold=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(v),{modelValue:C.value.spectralFlux,"onUpdate:modelValue":t[7]||=e=>C.value.spectralFlux=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.description`)},null,8,[`modelValue`,`label`,`description`]),c(l(_),{modelValue:C.value.bufferDuration,"onUpdate:modelValue":t[8]||=e=>C.value.bufferDuration=e,label:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.label`),description:l(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.description`),min:2,max:10,step:.5,"format-value":e=>`${e.toFixed(1)} s`},null,8,[`modelValue`,`label`,`description`,`format-value`])])])])]),m(`div`,_e,[m(`div`,ve,[m(`h2`,ye,[m(`div`,be,a(l(x)(`settings.pages.modules.beat_sync.sections.beat_visualizer.title`)),1)]),m(`div`,xe,[c(ee,{tag:`div`,bg:`neutral/10`,relative:``,"box-border":``,"aspect-square":``,"h-full":``,"max-h-400px":``,"max-w-400px":``,"w-full":``,"rounded-2xl":``,flex:`~ row gap-2 wrap items-center`,css:!1,onEnter:T},{default:u(()=>[(r(!0),p(d,null,n(S.value,e=>(r(),p(`div`,{key:e.id,"data-beat-id":e.id,absolute:``,"h-full":``,"w-full":``,"rounded-full":``,bg:`primary/50`},null,8,Se))),128))]),_:1})])])])]))}});typeof G==`function`&&G($);var Ce=$;export{Ce as default};
\ No newline at end of file
diff --git a/assets/cloudflare-workers-ai-CCkU2t7M.js b/assets/cloudflare-workers-ai-C8Mfe2vK.js
similarity index 93%
rename from assets/cloudflare-workers-ai-CCkU2t7M.js
rename to assets/cloudflare-workers-ai-C8Mfe2vK.js
index 5f9a627d301866aeca5819a77ca2ce42326d1d8b..097fedadc6fb084e19bdacf94b0ac89de14d139d 100644
--- a/assets/cloudflare-workers-ai-CCkU2t7M.js
+++ b/assets/cloudflare-workers-ai-C8Mfe2vK.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,Y as _,Z as v,q as y}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./use-provider-validation-D4atw8Ll.js";var S={class:`whitespace-pre-wrap break-all`},C=`cloudflare-workers-ai`,w=e({__name:`cloudflare-workers-ai`,setup(e){let{providers:b}=p(m()),w=s({get:()=>b.value[C]?.apiKey||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].apiKey=e}}),T=s({get:()=>b.value[C]?.accountId||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].accountId=e}}),{t:E,router:D,providerMetadata:O,isValidating:k,isValid:A,validationMessage:j,handleResetSettings:M}=x(C);return(e,s)=>(r(),o(l(h),{"provider-name":l(O)?.localizedName,"provider-icon":l(O)?.icon,"provider-icon-color":l(O)?.iconColor,"on-back":()=>l(D).back()},{default:u(()=>[c(l(g),null,{default:u(()=>[c(l(y),{title:l(E)(`settings.pages.providers.common.section.basic.title`),description:l(E)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(M)},{default:u(()=>[c(l(_),{modelValue:w.value,"onUpdate:modelValue":s[0]||=e=>w.value=e,"provider-name":l(O)?.localizedName,placeholder:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.api-key.placeholder`)},null,8,[`modelValue`,`provider-name`,`placeholder`]),c(l(v),{modelValue:T.value,"onUpdate:modelValue":s[1]||=e=>T.value=e,label:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.label`),description:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.description`),placeholder:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),!l(A)&&l(k)===0&&l(j)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(E)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(j)?{name:`content`,fn:u(()=>[d(`div`,S,a(l(j)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(A)&&l(k)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(E)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof b==`function`&&b(w);var T=w;export{T as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,Y as _,Z as v,q as y}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./use-provider-validation-CSFNUQmK.js";var S={class:`whitespace-pre-wrap break-all`},C=`cloudflare-workers-ai`,w=e({__name:`cloudflare-workers-ai`,setup(e){let{providers:b}=p(m()),w=s({get:()=>b.value[C]?.apiKey||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].apiKey=e}}),T=s({get:()=>b.value[C]?.accountId||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].accountId=e}}),{t:E,router:D,providerMetadata:O,isValidating:k,isValid:A,validationMessage:j,handleResetSettings:M}=x(C);return(e,s)=>(r(),o(l(h),{"provider-name":l(O)?.localizedName,"provider-icon":l(O)?.icon,"provider-icon-color":l(O)?.iconColor,"on-back":()=>l(D).back()},{default:u(()=>[c(l(g),null,{default:u(()=>[c(l(y),{title:l(E)(`settings.pages.providers.common.section.basic.title`),description:l(E)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(M)},{default:u(()=>[c(l(_),{modelValue:w.value,"onUpdate:modelValue":s[0]||=e=>w.value=e,"provider-name":l(O)?.localizedName,placeholder:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.api-key.placeholder`)},null,8,[`modelValue`,`provider-name`,`placeholder`]),c(l(v),{modelValue:T.value,"onUpdate:modelValue":s[1]||=e=>T.value=e,label:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.label`),description:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.description`),placeholder:l(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),!l(A)&&l(k)===0&&l(j)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(E)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(j)?{name:`content`,fn:u(()=>[d(`div`,S,a(l(j)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(A)&&l(k)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(E)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof b==`function`&&b(w);var T=w;export{T as default};
\ No newline at end of file
diff --git a/assets/color-scheme-BzYKiT0A.js b/assets/color-scheme-CqxDz06N.js
similarity index 98%
rename from assets/color-scheme-BzYKiT0A.js
rename to assets/color-scheme-CqxDz06N.js
index 20f56f4d8369b424dbb73c07138703fba3768338..059b0983e88374523f318948190788e2f80d873f 100644
--- a/assets/color-scheme-BzYKiT0A.js
+++ b/assets/color-scheme-CqxDz06N.js
@@ -1 +1 @@
-import{A as e,J as t,K as n,O as r,Pt as i,S as a,Z as o,a as s,k as c,kt as l,lt as u,m as d,ut as f,w as p,x as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{p as h,t as g}from"./widgets-DXnWA3E4.js";import{a as _}from"./src-C1mn1H34.js";import{n as v}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as y}from"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import{n as b}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";var S=[[],[`#A5978B`,`#D8CAAF`,`#B8B4A7`,`#C4BCB1`,`#E5DED8`,`#9A8F7D`,`#BEB5A7`,`#C9C0B6`],[`#7A9EAF`,`#B8C7CC`,`#D4B79C`,`#8B9D77`,`#C7D5CB`,`#E6D0B1`,`#94A7B1`,`#B4C8C3`],[`#D9B48F`,`#B5917A`,`#8C7A6B`,`#A17F5F`,`#B98C46`,`#C7A252`,`#DAB300`,`#D19826`],[`#9BA7B0`,`#C1CBD4`,`#A5ADB6`,`#8B959E`,`#D4DCE4`,`#7F8A94`,`#B3BCC6`,`#98A4AE`],[`#E4C6D0`,`#A61B29`,`#5D513C`,`#789262`,`#1C0D1A`,`#F7C242`,`#62A9DD`,`#8C4B3C`]],C={flex:``,"items-center":``,"justify-between":``,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:300,delay:250,transition:`all ease-in-out duration-250`},w={"text-lg":``,"font-normal":``},T={relative:``,flex:``,"cursor-pointer":``,"items-center":``,"gap-2":``},E={class:`color-bar text-[10px] md:text-base sm:text-xs`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:320,delay:350,transition:`all ease-in-out duration-250`},D={"text-white":``,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:330,delay:400,transition:`all ease-in-out duration-250`},O={class:`color-bar transparency-grid text-[10px] md:text-base sm:text-xs`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:340,delay:450,transition:`all ease-in-out duration-250`},k=[`duration`,`delay`],A={"font-medium":``},j={text:`sm neutral-500`},M={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[65dvh]`,"right--15":``,"z--1":``,initial:{scale:.9,opacity:0,rotate:30},enter:{scale:1,opacity:1,rotate:0},duration:250,flex:``,"items-center":``,"justify-center":``},N=e({__name:`color-scheme`,setup(e){let y=v(),{t:x}=b();return(e,v)=>{let b=o(`motion`);return n(),p(d,null,[f((n(),a(l(h),{"mb-2":``,title:l(x)(`settings.pages.system.sections.section.custom-color.title`),icon:`i-solar:pallete-2-bold-duotone`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:290,delay:200,transition:`all ease-in-out duration-250`},{default:u(()=>[f((n(),p(`div`,C,[m(`span`,w,i(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.label`)),1),m(`label`,T,[f(m(`input`,{"onUpdate:modelValue":v[0]||=e=>l(y).themeColorsHueDynamic=e,type:`checkbox`,class:`peer sr-only`},null,512),[[s,l(y).themeColorsHueDynamic]]),v[2]||=m(`div`,{class:`h-6 w-11 rounded-full bg-neutral-200 after:absolute after:left-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:bg-white dark:bg-neutral-600 peer-checked:bg-primary-500 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white`},null,-1),r(` `+i(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.rgb-on.title`)),1)])])),[[b]]),f(c(l(_),{modelValue:l(y).themeColorsHue,"onUpdate:modelValue":v[1]||=e=>l(y).themeColorsHue=e,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:310,delay:300,disabled:l(y).themeColorsHueDynamic},null,8,[`modelValue`,`disabled`]),[[b]]),f((n(),p(`div`,E,[v[4]||=m(`span`,{"bg-primary-50":``},`50`,-1),v[5]||=m(`span`,{"bg-primary-100":``},`100`,-1),v[6]||=m(`span`,{"bg-primary-200":``},`200`,-1),v[7]||=m(`span`,{"bg-primary-300":``},`300`,-1),v[8]||=m(`span`,{"bg-primary-400":``},`400`,-1),v[9]||=m(`span`,{"bg-primary-500":``},`500`,-1),f((n(),p(`div`,D,[...v[3]||=[m(`span`,{"bg-primary-600":``},`600`,-1),m(`span`,{"bg-primary-700":``},`700`,-1),m(`span`,{"bg-primary-800":``},`800`,-1),m(`span`,{"bg-primary-900":``},`900`,-1),m(`span`,{"bg-primary-950":``},`950`,-1)]])),[[b]])])),[[b]]),f((n(),p(`div`,O,[...v[10]||=[m(`span`,{bg:`primary-500/5`},`500/5`,-1),m(`span`,{bg:`primary-500/10`},`500/10`,-1),m(`span`,{bg:`primary-500/20`},`500/20`,-1),m(`span`,{bg:`primary-500/30`},`500/30`,-1),m(`span`,{bg:`primary-500/40`},`500/40`,-1),m(`span`,{bg:`primary-500/50`},`500/50`,-1),m(`span`,{bg:`primary-500/60`},`500/60`,-1),m(`span`,{bg:`primary-500/70`},`500/70`,-1),m(`span`,{bg:`primary-500/80`},`500/80`,-1),m(`span`,{bg:`primary-500/90`},`500/90`,-1),m(`span`,{bg:`primary-500`},`500`,-1)]])),[[b]])]),_:1},8,[`title`])),[[b]]),f((n(),a(l(h),{"mb-2":``,title:l(x)(`settings.pages.system.sections.section.theme-presets.title`),icon:`i-solar:magic-stick-2-bold-duotone`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:350,delay:500,transition:`all ease-in-out duration-250`},{default:u(()=>[(n(!0),p(d,null,t(e.$tm(`settings.pages.system.sections.section.theme-presets.presets`),({title:t,description:r,colors:a},o)=>f((n(),p(`div`,{key:o,class:`w-full flex flex-col items-start justify-between gap-2 rounded-lg px-4 py-3 outline-none transition-all duration-250 ease-in-out md:flex-row md:items-center md:gap-0`,bg:`neutral-100 dark:neutral-800`,hover:`bg-neutral-200 dark:bg-neutral-700`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:360+o*10,delay:550+o*50,transition:`all ease-in-out duration-250`},[m(`div`,null,[m(`span`,A,i(e.$rt(t)),1),m(`div`,j,i(e.$rt(r)),1)]),c(l(g),{colors:a.map((t,n)=>({hex:l(S)[o][n],name:e.$rt(t)}))},null,8,[`colors`])],8,k)),[[b]])),128))]),_:1},8,[`title`])),[[b]]),f((n(),p(`div`,M,[...v[11]||=[m(`div`,{text:`60`,"i-solar:pallete-2-bold-duotone":``},null,-1)]])),[[b]])],64)}}});typeof x==`function`&&x(N);var P=y(N,[[`__scopeId`,`data-v-b1891b95`]]);export{P as default};
\ No newline at end of file
+import{A as e,J as t,K as n,O as r,Pt as i,S as a,Z as o,a as s,k as c,kt as l,lt as u,m as d,ut as f,w as p,x as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{p as h,t as g}from"./widgets-DXnWA3E4.js";import{a as _}from"./src-C1mn1H34.js";import{n as v}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import{t as y}from"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import{n as b}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";var S=[[],[`#A5978B`,`#D8CAAF`,`#B8B4A7`,`#C4BCB1`,`#E5DED8`,`#9A8F7D`,`#BEB5A7`,`#C9C0B6`],[`#7A9EAF`,`#B8C7CC`,`#D4B79C`,`#8B9D77`,`#C7D5CB`,`#E6D0B1`,`#94A7B1`,`#B4C8C3`],[`#D9B48F`,`#B5917A`,`#8C7A6B`,`#A17F5F`,`#B98C46`,`#C7A252`,`#DAB300`,`#D19826`],[`#9BA7B0`,`#C1CBD4`,`#A5ADB6`,`#8B959E`,`#D4DCE4`,`#7F8A94`,`#B3BCC6`,`#98A4AE`],[`#E4C6D0`,`#A61B29`,`#5D513C`,`#789262`,`#1C0D1A`,`#F7C242`,`#62A9DD`,`#8C4B3C`]],C={flex:``,"items-center":``,"justify-between":``,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:300,delay:250,transition:`all ease-in-out duration-250`},w={"text-lg":``,"font-normal":``},T={relative:``,flex:``,"cursor-pointer":``,"items-center":``,"gap-2":``},E={class:`color-bar text-[10px] md:text-base sm:text-xs`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:320,delay:350,transition:`all ease-in-out duration-250`},D={"text-white":``,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:330,delay:400,transition:`all ease-in-out duration-250`},O={class:`color-bar transparency-grid text-[10px] md:text-base sm:text-xs`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:340,delay:450,transition:`all ease-in-out duration-250`},k=[`duration`,`delay`],A={"font-medium":``},j={text:`sm neutral-500`},M={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[65dvh]`,"right--15":``,"z--1":``,initial:{scale:.9,opacity:0,rotate:30},enter:{scale:1,opacity:1,rotate:0},duration:250,flex:``,"items-center":``,"justify-center":``},N=e({__name:`color-scheme`,setup(e){let y=v(),{t:x}=b();return(e,v)=>{let b=o(`motion`);return n(),p(d,null,[f((n(),a(l(h),{"mb-2":``,title:l(x)(`settings.pages.system.sections.section.custom-color.title`),icon:`i-solar:pallete-2-bold-duotone`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:290,delay:200,transition:`all ease-in-out duration-250`},{default:u(()=>[f((n(),p(`div`,C,[m(`span`,w,i(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.label`)),1),m(`label`,T,[f(m(`input`,{"onUpdate:modelValue":v[0]||=e=>l(y).themeColorsHueDynamic=e,type:`checkbox`,class:`peer sr-only`},null,512),[[s,l(y).themeColorsHueDynamic]]),v[2]||=m(`div`,{class:`h-6 w-11 rounded-full bg-neutral-200 after:absolute after:left-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:bg-white dark:bg-neutral-600 peer-checked:bg-primary-500 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white`},null,-1),r(` `+i(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.rgb-on.title`)),1)])])),[[b]]),f(c(l(_),{modelValue:l(y).themeColorsHue,"onUpdate:modelValue":v[1]||=e=>l(y).themeColorsHue=e,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:310,delay:300,disabled:l(y).themeColorsHueDynamic},null,8,[`modelValue`,`disabled`]),[[b]]),f((n(),p(`div`,E,[v[4]||=m(`span`,{"bg-primary-50":``},`50`,-1),v[5]||=m(`span`,{"bg-primary-100":``},`100`,-1),v[6]||=m(`span`,{"bg-primary-200":``},`200`,-1),v[7]||=m(`span`,{"bg-primary-300":``},`300`,-1),v[8]||=m(`span`,{"bg-primary-400":``},`400`,-1),v[9]||=m(`span`,{"bg-primary-500":``},`500`,-1),f((n(),p(`div`,D,[...v[3]||=[m(`span`,{"bg-primary-600":``},`600`,-1),m(`span`,{"bg-primary-700":``},`700`,-1),m(`span`,{"bg-primary-800":``},`800`,-1),m(`span`,{"bg-primary-900":``},`900`,-1),m(`span`,{"bg-primary-950":``},`950`,-1)]])),[[b]])])),[[b]]),f((n(),p(`div`,O,[...v[10]||=[m(`span`,{bg:`primary-500/5`},`500/5`,-1),m(`span`,{bg:`primary-500/10`},`500/10`,-1),m(`span`,{bg:`primary-500/20`},`500/20`,-1),m(`span`,{bg:`primary-500/30`},`500/30`,-1),m(`span`,{bg:`primary-500/40`},`500/40`,-1),m(`span`,{bg:`primary-500/50`},`500/50`,-1),m(`span`,{bg:`primary-500/60`},`500/60`,-1),m(`span`,{bg:`primary-500/70`},`500/70`,-1),m(`span`,{bg:`primary-500/80`},`500/80`,-1),m(`span`,{bg:`primary-500/90`},`500/90`,-1),m(`span`,{bg:`primary-500`},`500`,-1)]])),[[b]])]),_:1},8,[`title`])),[[b]]),f((n(),a(l(h),{"mb-2":``,title:l(x)(`settings.pages.system.sections.section.theme-presets.title`),icon:`i-solar:magic-stick-2-bold-duotone`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:350,delay:500,transition:`all ease-in-out duration-250`},{default:u(()=>[(n(!0),p(d,null,t(e.$tm(`settings.pages.system.sections.section.theme-presets.presets`),({title:t,description:r,colors:a},o)=>f((n(),p(`div`,{key:o,class:`w-full flex flex-col items-start justify-between gap-2 rounded-lg px-4 py-3 outline-none transition-all duration-250 ease-in-out md:flex-row md:items-center md:gap-0`,bg:`neutral-100 dark:neutral-800`,hover:`bg-neutral-200 dark:bg-neutral-700`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:360+o*10,delay:550+o*50,transition:`all ease-in-out duration-250`},[m(`div`,null,[m(`span`,A,i(e.$rt(t)),1),m(`div`,j,i(e.$rt(r)),1)]),c(l(g),{colors:a.map((t,n)=>({hex:l(S)[o][n],name:e.$rt(t)}))},null,8,[`colors`])],8,k)),[[b]])),128))]),_:1},8,[`title`])),[[b]]),f((n(),p(`div`,M,[...v[11]||=[m(`div`,{text:`60`,"i-solar:pallete-2-bold-duotone":``},null,-1)]])),[[b]])],64)}}});typeof x==`function`&&x(N);var P=y(N,[[`__scopeId`,`data-v-b1891b95`]]);export{P as default};
\ No newline at end of file
diff --git a/assets/comet-api-speech-B6VhGkuG.js b/assets/comet-api-speech-Cajnmkky.js
similarity index 96%
rename from assets/comet-api-speech-B6VhGkuG.js
rename to assets/comet-api-speech-Cajnmkky.js
index eb103ccd40ed87409c3c2a291c22beedc7744186..1252bd109a524609962a87477c18c1993c8ed177 100644
--- a/assets/comet-api-speech-B6VhGkuG.js
+++ b/assets/comet-api-speech-Cajnmkky.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,at as r,b as i,k as a,kt as o,lt as s,xt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as l}from"./src-C1mn1H34.js";import{I as u}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-FkJVIJjS.js";import{n as h}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as g}from"./route-block-B7Ro39Uj.js";var _=`comet-api-speech`,v=`gpt-4o-mini-tts`,y=e({__name:`comet-api-speech`,setup(e){let g=m(),y=d(),{providers:b}=u(y),{t:x}=h(),S={speed:1},C=c(1),w=i(()=>!!b.value[_]?.apiKey),T=i(()=>g.availableVoices[_]||[]);async function E(e,t,n){let r=await y.getProviderInstance(_);if(!r)throw Error(`Failed to initialize speech provider`);let i=y.getProviderConfig(_),a=i.model||v;return await g.speech(r,a,e,t,{...i,...S})}return r(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,r)=>(t(),n(o(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(o(l),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:o(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:o(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(o(p),{"available-voices":T.value,"generate-speech":E,"api-key-configured":w.value,"default-text":`Hello! This is a test of the OpenAI Speech.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof g==`function`&&g(y);var b=y;export{b as default};
\ No newline at end of file
+import{A as e,K as t,S as n,at as r,b as i,k as a,kt as o,lt as s,xt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as l}from"./src-C1mn1H34.js";import{I as u}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-BmY-4iwk.js";import{n as h}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as g}from"./route-block-B7Ro39Uj.js";var _=`comet-api-speech`,v=`gpt-4o-mini-tts`,y=e({__name:`comet-api-speech`,setup(e){let g=m(),y=d(),{providers:b}=u(y),{t:x}=h(),S={speed:1},C=c(1),w=i(()=>!!b.value[_]?.apiKey),T=i(()=>g.availableVoices[_]||[]);async function E(e,t,n){let r=await y.getProviderInstance(_);if(!r)throw Error(`Failed to initialize speech provider`);let i=y.getProviderConfig(_),a=i.model||v;return await g.speech(r,a,e,t,{...i,...S})}return r(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,r)=>(t(),n(o(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(o(l),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:o(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:o(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(o(p),{"available-voices":T.value,"generate-speech":E,"api-key-configured":w.value,"default-text":`Hello! This is a test of the OpenAI Speech.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof g==`function`&&g(y);var b=y;export{b as default};
\ No newline at end of file
diff --git a/assets/comet-api-transcription-BOOtLEfj.js b/assets/comet-api-transcription-Cl_6XdWM.js
similarity index 94%
rename from assets/comet-api-transcription-BOOtLEfj.js
rename to assets/comet-api-transcription-Cl_6XdWM.js
index 95f4c552deecb6d36fa82f2bdf4af8867a2e9e6d..833f05a89cff2925b7694ad991e66104a03e909d 100644
--- a/assets/comet-api-transcription-BOOtLEfj.js
+++ b/assets/comet-api-transcription-Cl_6XdWM.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import{u as p}from"./src-C1mn1H34.js";import{I as m}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,a as x,q as S}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";import{t as T}from"./use-provider-validation-D4atw8Ll.js";var E={class:`whitespace-pre-wrap break-all`},D=`comet-api-transcription`,O=e({__name:`comet-api-transcription`,setup(e){let C=w(),O=h(),{providers:k}=m(O),A=s({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=s({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=s({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=s(()=>!!k.value[D]?.apiKey);async function P(e){let t=await O.getProviderInstance(D);if(!t)throw Error(`Failed to initialize transcription provider`);return await C.transcription(D,t,M.value,e,`json`)}let{t:F,router:I,providerMetadata:L,isValidating:R,isValid:z,validationMessage:B,handleResetSettings:V}=T(D);return(e,s)=>(r(),o(l(g),{"provider-name":l(L)?.localizedName,"provider-icon-color":l(L)?.iconColor,"on-back":()=>l(I).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(S),{title:l(F)(`settings.pages.providers.common.section.basic.title`),description:l(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(V)},{default:u(()=>[c(l(b),{modelValue:A.value,"onUpdate:modelValue":s[0]||=e=>A.value=e,"provider-name":l(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),c(l(p),{modelValue:M.value,"onUpdate:modelValue":s[1]||=e=>M.value=e,label:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:j.value,"onUpdate:modelValue":s[2]||=e=>j.value=e,placeholder:l(L)?.defaultOptions?.().baseUrl||`https://api.cometapi.com/v1/`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!l(z)&&l(R)===0&&l(B)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(B)?{name:`content`,fn:u(()=>[d(`div`,E,a(l(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(z)&&l(R)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(x),{"generate-transcription":P,"api-key-configured":N.value},null,8,[`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(O);var k=O;export{k as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import{u as p}from"./src-C1mn1H34.js";import{I as m}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,a as x,q as S}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-DsZOp5Sx.js";import"./dist-CnHFOEYg.js";import{t as T}from"./use-provider-validation-CSFNUQmK.js";var E={class:`whitespace-pre-wrap break-all`},D=`comet-api-transcription`,O=e({__name:`comet-api-transcription`,setup(e){let C=w(),O=h(),{providers:k}=m(O),A=s({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=s({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=s({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=s(()=>!!k.value[D]?.apiKey);async function P(e){let t=await O.getProviderInstance(D);if(!t)throw Error(`Failed to initialize transcription provider`);return await C.transcription(D,t,M.value,e,`json`)}let{t:F,router:I,providerMetadata:L,isValidating:R,isValid:z,validationMessage:B,handleResetSettings:V}=T(D);return(e,s)=>(r(),o(l(g),{"provider-name":l(L)?.localizedName,"provider-icon-color":l(L)?.iconColor,"on-back":()=>l(I).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(S),{title:l(F)(`settings.pages.providers.common.section.basic.title`),description:l(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(V)},{default:u(()=>[c(l(b),{modelValue:A.value,"onUpdate:modelValue":s[0]||=e=>A.value=e,"provider-name":l(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),c(l(p),{modelValue:M.value,"onUpdate:modelValue":s[1]||=e=>M.value=e,label:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:j.value,"onUpdate:modelValue":s[2]||=e=>j.value=e,placeholder:l(L)?.defaultOptions?.().baseUrl||`https://api.cometapi.com/v1/`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!l(z)&&l(R)===0&&l(B)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(B)?{name:`content`,fn:u(()=>[d(`div`,E,a(l(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(z)&&l(R)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(x),{"generate-transcription":P,"api-key-configured":N.value},null,8,[`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(O);var k=O;export{k as default};
\ No newline at end of file
diff --git a/assets/components-FkJVIJjS.js b/assets/components-BmY-4iwk.js
similarity index 77%
rename from assets/components-FkJVIJjS.js
rename to assets/components-BmY-4iwk.js
index ffed22b4601559c36a3634f223df009206db5dfa..dbe8052cb0dd1a01fd2068b2e85b1bede37afe37 100644
--- a/assets/components-FkJVIJjS.js
+++ b/assets/components-BmY-4iwk.js
@@ -293,6 +293,6 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`});++r0&&n.push({type:`text`,value:`
`}),n}function Wb(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Gb(e,t){let n=zb(e,t),r=n.one(e,void 0),i=Ib(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(`children`in a,a.children.push({type:`text`,value:`
-`},i)),a}function Kb(e,t){return e&&`run`in e?async function(n,r){let i=Gb(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Gb(n,{file:r,...e||t})}}function qb(e){if(e)throw e}var Jb=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`)if(n.call(e,t)){if(a)return a(e,t).value}else return;return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});f
t.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var Qb=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=o?o.line:void 0,this.name=ky(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual,this.expected,this.note,this.url}};Qb.prototype.file=``,Qb.prototype.name=``,Qb.prototype.reason=``,Qb.prototype.message=``,Qb.prototype.stack=``,Qb.prototype.column=void 0,Qb.prototype.line=void 0,Qb.prototype.ancestors=void 0,Qb.prototype.cause=void 0,Qb.prototype.fatal=void 0,Qb.prototype.place=void 0,Qb.prototype.ruleId=void 0,Qb.prototype.source=void 0;const $b={basename:ex,dirname:tx,extname:nx,join:rx,sep:`/`};function ex(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);ox(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function tx(e){if(ox(e),e.length===0)return`.`;let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function nx(e){ox(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function rx(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function ax(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function ox(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const sx={cwd:cx};function cx(){return`/`}function lx(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function ux(e){if(typeof e==`string`)e=new URL(e);else if(!lx(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code=`ERR_INVALID_ARG_TYPE`,t}if(e.protocol!==`file:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return dx(e)}function dx(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];Yb(o)&&Yb(r)&&(r=(0,yx.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function Sx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function Cx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function wx(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Tx(e){if(!Yb(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Ex(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Dx(e){return Ox(e)?e:new px(e)}function Ox(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function kx(e){return typeof e==`string`||Ax(e)}function Ax(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var jx=new Map,Mx=/```(.{2,})\s/g;function Nx(e){let t=e.matchAll(Mx),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function Px(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return xx().use(By).use(Jg).use(Kb).use(xg).use(Rl,t).use(Sg)}function Fx(e){let t=[...e].sort().join(`,`);if(!jx.has(t)){let n=Px(e);jx.set(t,n)}return jx.get(t)}function Ix(){let e=xx().use(By).use(Jg).use(Kb).use(xg).use(Sg);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=Nx(t),r=new Set(n);return r.add(`python`),(await(await Fx(Array.from(r))).process(t)).toString()}catch(n){return console.warn(`Failed to process markdown with syntax highlighting, falling back to basic processing:`,n),e.processSync(t).toString()}},processSync:t=>e.processSync(t).toString()}}var Lx=[`innerHTML`],Rx=Be(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=M(``),{process:r,processSync:i}=Ix();async function a(){if(!t.content){n.value=``;return}try{n.value=fr.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=fr.sanitize(i(t.content))}}return C(()=>t.content,a,{immediate:!0}),v(()=>{a()}),(e,r)=>(d(),A(`div`,{class:E([t.class,`markdown-content`]),innerHTML:n.value},null,10,Lx))}}),[[`__scopeId`,`data-v-abd97585`]]),zx={"z-1":``,"flex-1":``},Bx={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},Vx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},Hx=Be(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=y(`RouterLink`);return d(),_(r,{box:`border`,flex:`~ row`,bg:`neutral-50 dark:neutral-900`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-item`,transition:`all ease-in-out duration-400`,relative:``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,cursor:`pointer`,to:e.to},{default:k(()=>[j(`div`,zx,[j(`div`,Bx,h(e.title),1),j(`div`,Vx,[j(`span`,null,h(e.description),1)])]),typeof e.icon==`string`?(d(),A(`div`,{key:0,class:E([`menu-icon-item-icon`,[e.icon]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-24":``,"translate-y-4":``,text:`neutral-400/50 dark:neutral-600/50`},null,2)):a(``,!0),e.iconTemplate?b(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),Ux={flex:`~ col`,bg:`neutral-50 dark:neutral-800`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-status-item`,transition:`all ease-in-out duration-400`,"w-full":``,"cursor-pointer":``,"of-hidden":``,"rounded-xl":``},Wx={"z-1":``,"flex-1":``},Gx={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},Kx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},qx=[`src`],Jx={"p-2":``},Yx={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},Xx={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},Zx=Be(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=y(`RouterLink`);return d(),A(`div`,Ux,[D(r,{flex:`~ row`,class:`menu-icon-status-item-link`,bg:`white dark:neutral-900`,transition:`all ease-in-out duration-400`,relative:``,"h-full":``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,to:t.to},{default:k(()=>[j(`div`,Wx,[j(`div`,Gx,h(t.title),1),j(`div`,Kx,[j(`span`,null,h(t.description||``),1)])]),t.icon?(d(),A(`div`,{key:0,class:E([`menu-icon-status-item-icon`,t.icon]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconColor?(d(),A(`div`,{key:1,class:E([`menu-icon-status-item-icon-color`,[t.iconColor]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconImage?(d(),A(`img`,{key:2,src:t.iconImage,class:`menu-icon-status-item-icon-image`,transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,"grayscale-100":``},null,8,qx)):a(``,!0)]),_:1},8,[`to`]),j(`div`,Jx,[t.configured?(d(),A(`div`,Yx)):(d(),A(`div`,Xx))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),Qx=[`checked`,`name`,`value`],$x={class:`relative mr-3 mt-0.5 flex-shrink-0`},eS={class:`w-full flex flex-col gap-2`},tS={class:`flex items-center`},nS={key:0,class:`relative`},rS=[`title`],iS={key:1,class:`mt-2`},aS=Be(r({__name:`RadioCardDetail`,props:g({id:{},name:{},value:{},title:{},description:{},deprecated:{type:Boolean,default:!1},showExpandCollapse:{type:Boolean,default:!0},expandCollapseThreshold:{default:100},customInputValue:{default:``},customInputPlaceholder:{default:``},showCustomInput:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`),n=M(!1);function r(){n.value=!n.value}return(i,o)=>(d(),A(`label`,{key:e.id,class:E([`form_radio-card-detail relative flex cursor-pointer items-start rounded-xl p-3 pr-[20px]`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-detail-active`:``,e.deprecated?`opacity-60`:``]]),transition:`all duration-200 ease-in-out`,border:`2 solid`},[se(j(`input`,{"onUpdate:modelValue":o[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,Qx),[[oe,t.value]]),j(`div`,$x,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[t.value===e.value?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[t.value===e.value?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),j(`div`,eS,[j(`div`,tS,[j(`span`,{class:E([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},h(e.title),3)]),e.description?(d(),A(`div`,nS,[D(O(he),null,{default:k(()=>[!n.value||!e.showExpandCollapse?(d(),A(`div`,{key:0,class:E([`line-clamp-2 cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),title:e.description,onClick:ee(r,[`prevent`])},h(e.description),11,rS)):(d(),A(`div`,{key:1,class:E([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:ee(r,[`prevent`])},h(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(d(),A(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:ee(r,[`prevent`])},[j(`span`,null,h(n.value?`Show less`:`Show more`),1),j(`div`,{class:E([{"rotate-180":n.value},`transition-transform duration-200`])},[...o[2]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``,"ml-0.5":``,"text-xs":``},null,-1)]],2)])):a(``,!0)])):a(``,!0),e.showCustomInput&&t.value===e.value?(d(),A(`div`,iS,[D(O(Oe),{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0)])],2))}}),[[`__scopeId`,`data-v-a2eb6bd0`]]),oS={class:`radio-card-detail-many-select`},sS={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},cS=[`placeholder`],lS={class:`mt-4 space-y-2`},uS={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},dS={class:`relative`},fS=Be(r({__name:`RadioCardManySelect`,props:g({items:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search...`},searchNoResultsTitle:{default:`No results found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} results`},customInputPlaceholder:{default:`Enter custom value`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},showMore:{type:Boolean,default:!0},listClass:{default:``}},{modelValue:{required:!0},modelModifiers:{},searchQuery:{},searchQueryModifiers:{}}),emits:g([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=ie(e,`modelValue`),o=ie(e,`searchQuery`),s=M(!1),c=M(``),l=w(()=>{if(!o.value)return n.items;let e=o.value.toLowerCase();return n.items.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function f(e){c.value=e,r(`update:customValue`,e)}return(t,r)=>(d(),A(`div`,oS,[e.searchable?(d(),A(`div`,sS,[r[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,cS),[[te,o.value]])])):a(``,!0),j(`div`,lS,[o.value?(d(),A(`div`,uS,h(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(d(),_(ve,{key:1,type:`warning`},{title:k(()=>[p(h(e.searchNoResultsTitle),1)]),content:k(()=>[p(h(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),j(`div`,dS,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto pb-4 scrollbar-none`,[s.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...n.listClass?typeof n.listClass==`string`?[n.listClass]:n.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[(d(!0),A(ne,null,u(l.value,t=>(d(),_(aS,{id:t.id,key:t.id,modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,value:t.id,title:t.name,description:t.description,deprecated:t.deprecated,"show-expand-collapse":e.showMore,"expand-collapse-threshold":100,"show-custom-input":t.customizable,"custom-input-value":c.value,"custom-input-placeholder":e.customInputPlaceholder,name:`radio-card-detail-many-select`,class:`scroll-snap-align-start`,"onUpdate:customInputValue":r[2]||=e=>f(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`deprecated`,`show-expand-collapse`,`show-custom-input`,`custom-input-value`,`custom-input-placeholder`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([s.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:r[3]||=e=>s.value=!s.value},[j(`span`,null,h(s.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([s.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-96f33af6`]]),pS=[`checked`,`name`,`value`],mS={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},hS=Be(r({__name:`RadioCardSimple`,props:g({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`);return(n,r)=>(d(),A(`label`,{key:e.id,border:`2px solid`,class:E([`form_radio-card-simple relative`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-simple-active`:``]]),transition:`all duration-200 ease-in-out`,flex:`~ col`,block:``,"min-w-50":``,"w-fit":``,"cursor-pointer":``,"items-start":``,"rounded-xl":``,"p-4":``,"text-left":``},[se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0 [&:checked+div]:border-primary-500 [&:checked+div_.radio-dot]:opacity-100 dark:[&:checked+div]:border-primary-400`},null,8,pS),[[oe,t.value]]),r[1]||=j(`div`,{class:`radio-circle absolute left-2 top-2 size-5 rounded-full`,border:`2 solid neutral-300 dark:neutral-600`,transition:`all duration-200 ease-in-out`},[j(`div`,{class:`radio-dot absolute left-1/2 top-1/2 size-3 rounded-full opacity-0 -translate-x-1/2 -translate-y-1/2`,transition:`all duration-200 ease-in-out`,bg:`primary-500 dark:primary-400`})],-1),j(`div`,mS,[j(`span`,{class:E([`radio-item-name font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-500 dark:text-neutral-500`]]),text:`md`,transition:`all duration-200 ease-in-out`},h(e.title),3),e.description?(d(),A(`span`,{key:0,class:E([`radio-item-description`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-400 dark:text-neutral-600`]]),transition:`all duration-200 ease-in-out`},h(e.description),3)):a(``,!0)]),r[2]||=j(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50 [input:checked~&]:bg-dotted-primary-300/50 dark:[input:checked~&]:bg-dotted-primary-200/20`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)],2))}}),[[`__scopeId`,`data-v-7f0c3c41`]]),gS={class:`p-3`},_S={class:`flex items-start`},vS=[`checked`,`name`,`value`],yS={class:`relative mr-3 mt-0.5 flex-shrink-0`},bS={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},xS={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},SS={key:1,class:`mt-auto w-full flex items-center justify-center bg-neutral-50 py-3 text-xs text-neutral-400 italic dark:bg-neutral-800/50 dark:text-neutral-600`},CS={class:`flex-1 cursor-pointer`},wS={class:`flex items-center`},TS={key:0,class:`mt-1 flex flex-wrap gap-1`},ES={key:1,class:`mt-3`},DS={relative:``},OS={key:0,class:`h-16 px-3 pb-2`},kS=Be(r({__name:`VoiceCard`,props:g({name:{},voice:{},currentlyPlayingId:{},customInputPlaceholder:{default:`Enter custom voice name`},showVisualizer:{type:Boolean,default:!0},audioStream:{default:null}},{"voice-id":{required:!1,default:``},"voice-idModifiers":{},"custom-voice-name":{required:!1,default:``},"custom-voice-nameModifiers":{}}),emits:g([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=ie(e,`voice-id`),o=ie(e,`custom-voice-name`);function s(e){return e.previewURL||e.preview_audio_url}function c(e){let t=[];if(e.labels?.gender&&t.push(e.labels.gender),e.labels?.age&&t.push(e.labels.age),e.labels?.accent&&t.push(e.labels.accent),e.languages&&e.languages.length>0){let n=e.languages.map(e=>e.name).join(`, `);t.push(n)}return t}function l(){r(`togglePlayback`,n.voice)}return(t,r)=>(d(),A(`label`,{border:`2px solid`,class:E([`scroll-snap-align-start form_voice-card relative flex flex-col overflow-hidden rounded-xl`,[i.value===n.voice.id?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,i.value===n.voice.id?`form_voice-card-active`:``]]),transition:`all duration-200 ease-in-out`},[j(`div`,gS,[j(`div`,_S,[se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>i.value=e,checked:i.value===n.voice.id,type:`radio`,name:e.name,value:n.voice.id,class:`absolute cursor-pointer opacity-0`},null,8,vS),[[oe,i.value]]),j(`div`,yS,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[i.value===n.voice.id?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[i.value===n.voice.id?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),s(e.voice)?(d(),A(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:E([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:l},[e.currentlyPlayingId===e.voice.id?(d(),A(`div`,bS)):(d(),A(`div`,xS))],2)):(d(),A(`div`,SS,` No preview available. You can select it and test voice on the right experiment. `)),j(`div`,CS,[j(`div`,wS,[j(`span`,{class:E([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},h(e.voice.name),3)]),c(e.voice).length>0?(d(),A(`div`,TS,[(d(!0),A(ne,null,u(c(e.voice),(t,n)=>(d(),A(`span`,{key:n,class:E([`inline-flex items-center rounded-md px-1.5 py-0.5 text-xs`,[i.value===e.voice.id?`bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400`:`bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300`]])},h(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(d(),A(`div`,ES,[D(O(Oe),{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e.voice.description?(d(),A(`div`,{key:2,class:E([`line-clamp-2 mt-1 text-xs`,[i.value===e.voice.id?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]])},h(e.voice.description),3)):a(``,!0)])])]),j(`div`,DS,[D(O(he),null,{default:k(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(d(),A(`div`,OS,[D(O(ft),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:k(({frequencies:t})=>[D(O(ht),{frequencies:t,"bars-class":i.value===e.voice.id?`bg-primary-500 dark:bg-primary-400`:`bg-neutral-400 dark:bg-neutral-600`},null,8,[`frequencies`,`bars-class`])]),_:1},8,[`stream`])])):a(``,!0)]),_:1})])],2))}}),[[`__scopeId`,`data-v-2130ea5b`]]),AS={class:`voice-preview-player`},jS={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},MS=[`placeholder`],NS={class:`mt-4 space-y-2`},PS={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},FS={class:`relative`},IS=Be(r({__name:`VoiceCardManySelect`,props:g({voices:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search voices...`},searchNoResultsTitle:{default:`No voices found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} voices`},unsupportedVoiceWarningTitle:{default:`No voices`},unsupportedVoiceWarningContent:{default:`Try a different model or provider. We are working on supporting all the voice for this model as quickly as possible. If you need it urgently, please let us know on GitHub.`},customInputPlaceholder:{default:`Enter custom voice name`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},playButtonText:{default:`Play sample`},pauseButtonText:{default:`Pause`},showVisualizer:{type:Boolean,default:!0},listClass:{default:``}},{"search-query":{required:!1,default:``},"search-queryModifiers":{},"voice-id":{required:!1,default:``},"voice-idModifiers":{}}),emits:[`update:search-query`,`update:voice-id`],setup(e){let t=e,n=M(!1),r=M(),i=M(new Map),o=M(new Map),s=M(new Map),c=M(new Map),f=M(null);function m(){return f.value||=new(window.AudioContext||window.webkitAudioContext),f.value}let g=ie(e,`search-query`),v=ie(e,`voice-id`),y=w(()=>{if(!g.value)return t.voices;let e=g.value.toLowerCase();return t.voices.filter(t=>{let n=t.name.toLowerCase().includes(e),r=t.description&&t.description.toLowerCase().includes(e),i=t.tags&&t.tags.some(t=>t.toLowerCase().includes(e)),a=t.labels&&Object.values(t.labels).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)),o=t.languages&&t.languages.some(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e));return n||r||i||a||o})});function b(e){return e.previewURL||e.preview_audio_url}function x(e){let t=b(e);if(!t)return null;if(i.value.has(e.id))return i.value.get(e.id)||null;let n=new Audio(t);return n.crossOrigin=`anonymous`,n.preload=`auto`,n.addEventListener(`ended`,()=>{if(r.value===e.id){r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id))}}),i.value.set(e.id,n),n}function S(e,t){try{if(o.value.has(t))return o.value.get(t)||null;let n=m();if(c.value.has(t)){let e=c.value.get(t),r=n.createMediaStreamDestination();e.connect(r);let i=r.stream;return o.value.set(t,i),i}let r=n.createMediaElementSource(e);c.value.set(t,r),r.connect(n.destination);let i=n.createMediaStreamDestination();r.connect(i);let a=i.stream;return o.value.set(t,a),a}catch(e){return console.error(`Failed to create audio stream for visualizer:`,e),null}}function ee(e){try{if(!b(e))return;let n=x(e);if(!n)return;if(r.value===e.id){n.pause(),r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id));return}if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value))}t.showVisualizer&&!o.value.has(e.id)&&S(n,e.id),n.currentTime=0,n.play().catch(e=>{console.error(`Failed to play audio:`,e)}),r.value=e.id}catch(e){console.error(e),r.value=void 0}}function T(){i.value.forEach(e=>{e.pause(),e.src=``}),i.value.clear(),o.value.forEach(e=>{e.getTracks().forEach(e=>e.stop())}),o.value.clear(),s.value.forEach(e=>{e.state!==`closed`&&e.close()}),s.value.clear(),c.value.clear(),r.value=void 0}C(g,()=>{if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value)),r.value=void 0}}),l(T);let D=M(``);return(i,s)=>(d(),A(`div`,AS,[e.searchable?(d(),A(`div`,jS,[s[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),se(j(`input`,{"onUpdate:modelValue":s[0]||=e=>g.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,MS),[[te,g.value]])])):a(``,!0),j(`div`,NS,[g.value?(d(),A(`div`,PS,h(e.searchResultsText.replace(`{count}`,y.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),g.value&&y.value.length===0?(d(),_(ve,{key:1,type:`warning`},{title:k(()=>[p(h(e.searchNoResultsTitle),1)]),content:k(()=>[p(h(e.searchNoResultsDescription.replace(`{query}`,g.value)),1)]),_:1})):a(``,!0),j(`div`,FS,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto scrollbar-none`,[n.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...t.listClass?typeof t.listClass==`string`?[t.listClass]:t.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[!g.value&&y.value.length===0?(d(),_(ve,{key:0,type:`warning`},{title:k(()=>[p(h(e.unsupportedVoiceWarningTitle),1)]),content:k(()=>[p(h(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(d(!0),A(ne,null,u(y.value,t=>(d(),_(kS,{key:t.id,"voice-id":v.value,"onUpdate:voiceId":s[1]||=e=>v.value=e,"custom-voice-name":D.value,"onUpdate:customVoiceName":s[2]||=e=>D.value=e,name:`voice`,voice:t,"currently-playing-id":r.value,"custom-input-placeholder":e.customInputPlaceholder,"show-visualizer":e.showVisualizer,"audio-stream":o.value.get(t.id),onTogglePlayback:ee},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([n.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:s[3]||=e=>n.value=!n.value},[j(`span`,null,h(n.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([n.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-063d85cc`]]);function LS(e){return w({get:()=>e.value?.toString()??``,set:t=>{if(t===``){e.value=null;return}let n=Number.parseInt(t,10);Number.isNaN(n)||(e.value=n)}})}var RS={flex:`~ col gap-6`},zS={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},BS=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=rt(),{enabled:r,serverAddress:i,serverPort:o,username:s,configured:c}=Pe(t.store),l=LS(o);function u(){t.store.saveSettings()}return(t,o)=>(d(),A(`div`,RS,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":o[0]||=e=>T(r)?r.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.enable`),description:O(n)(`${e.i18nKeyPrefix}.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":o[1]||=e=>T(i)?i.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.server-address`),description:O(n)(`${e.i18nKeyPrefix}.server-address-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.server-address-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(l),"onUpdate:modelValue":o[2]||=e=>T(l)?l.value=e:null,type:`number`,min:1,max:65535,step:1,label:O(n)(`${e.i18nKeyPrefix}.server-port`),description:O(n)(`${e.i18nKeyPrefix}.server-port-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(s),"onUpdate:modelValue":o[3]||=e=>T(s)?s.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.username`),description:O(n)(`${e.i18nKeyPrefix}.username-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.username-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(n)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(c)?(d(),A(`div`,zS,h(O(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),VS=globalThis.WebSocket,HS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),US=e=>{let t=typeof e;return t===`object`?e===null?`null`:e?.constructor?.name??`object`:t},WS=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 ${US(e)}.`)},GS=e=>{let t=WS(e),n=``,r,i=t.length;for(r=2;r>2],n+=HS[(t[r-2]&3)<<4|t[r-1]>>4],n+=HS[(t[r-1]&15)<<2|t[r]>>6],n+=HS[t[r]&63];return r===i+1&&(n+=HS[t[r-2]>>2],n+=HS[(t[r-2]&3)<<4],n+=`==`),r===i&&(n+=HS[t[r-2]>>2],n+=HS[(t[r-2]&3)<<4|t[r-1]>>4],n+=HS[(t[r-1]&15)<<2],n+=`=`),n},KS=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},qS=class{connected=!1;connecting=!1;websocket;shouldClose=!1;opts;eventListeners=new Map;constructor(e){this.opts={url:`ws://localhost:6121/ws`,possibleEvents:[],onError:()=>{},onClose:()=>{},autoConnect:!0,autoReconnect:!0,maxReconnectAttempts:-1,...e},this.onEvent(`module:authenticated`,async e=>{e.data.authenticated?this.tryAnnounce():await this.retryWithExponentialBackoff(()=>this.tryAuthenticate())}),this.opts.autoConnect&&this.connect()}async retryWithExponentialBackoff(e){let{maxReconnectAttempts:t}=this.opts,n=0;for(;;){if(t!==-1&&n>=t){console.error(`Maximum retry attempts (${t}) reached`);return}try{await e();return}catch(e){if(e instanceof KS)return;this.opts.onError?.(e),await at(Math.min(2**n*1e3,3e4)),n++}}}async tryReconnectWithExponentialBackoff(){this.shouldClose||await this.retryWithExponentialBackoff(()=>this._connect())}_connect(){return this.shouldClose||this.connected?Promise.resolve():this.connecting?Promise.reject(new KS(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new VS(this.opts.url);this.websocket=n,n.onmessage=this.handleMessageBound,n.onerror=e=>{this.connecting=!1,this.connected=!1,this.opts.onError?.(e),t(e?.error??Error(`WebSocket error`))},n.onclose=()=>{this.connecting=!1,this.connected&&(this.connected=!1,this.opts.onClose?.()),this.opts.autoReconnect&&!this.shouldClose&&this.tryReconnectWithExponentialBackoff()},n.onopen=()=>{this.connecting=!1,this.connected=!0,this.opts.token?this.tryAuthenticate():this.tryAnnounce(),e()}})}async connect(){await this.tryReconnectWithExponentialBackoff()}tryAnnounce(){this.send({type:`module:announce`,data:{name:this.opts.name,possibleEvents:this.opts.possibleEvents}})}tryAuthenticate(){this.opts.token&&this.send({type:`module:authenticate`,data:{token:this.opts.token}})}handleMessageBound=e=>{this.handleMessage(e)};async handleMessage(e){try{let t=JSON.parse(e.data),n=this.eventListeners.get(t.type);if(!n?.size)return;let r=[];for(let e of n)r.push(Promise.resolve(e(t)));await Promise.allSettled(r)}catch(e){console.error(`Failed to parse message:`,e),this.opts.onError?.(e)}}onEvent(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n)),n.add(t)}offEvent(e,t){let n=this.eventListeners.get(e);n&&(t?(n.delete(t),n.size||this.eventListeners.delete(e)):this.eventListeners.delete(e))}send(e){this.websocket&&this.connected&&this.websocket.send(JSON.stringify(e))}sendRaw(e){this.websocket&&this.connected&&this.websocket.send(e)}close(){this.shouldClose=!0,this.websocket&&(this.websocket.close(),this.connected=!1)}};const JS=Ne(`mods:channels:proj-airi:server`,()=>{let e=M(!1),t=M(),n=M([]);function r(n){return new Promise((r,i)=>{t.value=new qS({name:`proj-airi:ui:stage`,url:`ws://localhost:6121/ws`,token:n?.token,possibleEvents:[`ui:configure`,`module:authenticated`],onError:e=>{i(e)}}),t.value.onEvent(`module:authenticated`,t=>{t.data.authenticated&&(e.value=!0,a(),r())})})}function i(r){t.value&&e.value?t.value.send(r):n.value.push(r)}function a(){if(t.value&&e.value){for(let e of n.value)t.value.send(e);n.value=[]}}function o(){a(),t.value?.close(),e.value=!1,t.value=void 0}return{connected:e,initialize:r,send:i,dispose:o}}),YS=Ne(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=JS();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function XS(e,t){return Ne(e,()=>{let n=YS(),r=Ke(`settings/${e}/enabled`,!1),i=Ke(`settings/${e}/server-address`,``),a=Ke(`settings/${e}/server-port`,t),o=Ke(`settings/${e}/username`,``);function s(){n.updateFor(e,{enabled:r.value,serverAddress:i.value,serverPort:a.value,username:o.value})}return{enabled:r,serverAddress:i,serverPort:a,username:o,configured:w(()=>!!(i.value.trim()&&o.value.trim()&&a.value!==null)),saveSettings:s}})}const ZS=XS(`factorio`,34197);var QS=r({__name:`GamingFactorio`,setup(e){let t=ZS();return(e,n)=>(d(),_(BS,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const $S=XS(`minecraft`,25565);var eC=r({__name:`GamingMinecraft`,setup(e){let t=$S();return(e,n)=>(d(),_(BS,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const tC=Ne(`discord`,()=>{let e=YS(),t=Ke(`settings/discord/enabled`,!1),n=Ke(`settings/discord/token`,``);function r(){e.updateFor(`discord`,{token:n.value,enabled:t.value})}return{enabled:t,token:n,configured:w(()=>!!n.value.trim()),saveSettings:r}});var nC={flex:`~ col gap-6`},rC={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},iC=r({__name:`MessagingDiscord`,setup(e){let{t}=rt(),n=tC(),{enabled:r,token:i,configured:o}=Pe(n);function s(){n.saveSettings()}return(e,n)=>(d(),A(`div`,nC,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>T(r)?r.value=e:null,label:O(t)(`settings.pages.modules.messaging-discord.enable`),description:O(t)(`settings.pages.modules.messaging-discord.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>T(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.messaging-discord.token`),description:O(t)(`settings.pages.modules.messaging-discord.token-description`),placeholder:O(t)(`settings.pages.modules.messaging-discord.token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:s},null,8,[`label`])]),O(o)?(d(),A(`div`,rC,h(O(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const aC=Ne(`twitter`,()=>{let e=YS(),t=Ke(`settings/twitter/enabled`,!1),n=Ke(`settings/twitter/api-key`,``),r=Ke(`settings/twitter/api-secret`,``),i=Ke(`settings/twitter/access-token`,``),a=Ke(`settings/twitter/access-token-secret`,``);function o(){e.updateFor(`twitter`,{enabled:t.value,apiKey:n.value,apiSecret:r.value,accessToken:i.value,accessTokenSecret:a.value})}return{enabled:t,apiKey:n,apiSecret:r,accessToken:i,accessTokenSecret:a,configured:w(()=>!!(n.value.trim()&&r.value.trim()&&i.value.trim()&&a.value.trim())),saveSettings:o}});var oC={flex:`~ col gap-6`},sC={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},cC=r({__name:`X`,setup(e){let{t}=rt(),n=aC(),{enabled:r,apiKey:i,apiSecret:o,accessToken:s,accessTokenSecret:c,configured:l}=Pe(n);function u(){n.saveSettings()}return(e,n)=>(d(),A(`div`,oC,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>T(r)?r.value=e:null,label:O(t)(`settings.pages.modules.x.enable`),description:O(t)(`settings.pages.modules.x.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>T(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-key`),description:O(t)(`settings.pages.modules.x.api-key-description`),placeholder:O(t)(`settings.pages.modules.x.api-key-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(o),"onUpdate:modelValue":n[2]||=e=>T(o)?o.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-secret`),description:O(t)(`settings.pages.modules.x.api-secret-description`),placeholder:O(t)(`settings.pages.modules.x.api-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(s),"onUpdate:modelValue":n[3]||=e=>T(s)?s.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token`),description:O(t)(`settings.pages.modules.x.access-token-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(c),"onUpdate:modelValue":n[4]||=e=>T(c)?c.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token-secret`),description:O(t)(`settings.pages.modules.x.access-token-secret-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(l)?(d(),A(`div`,sC,h(O(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),lC=Be(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=M(null),r=M(``),i=M(`50% 50%`),a=M(`50% 50%`),o=M(.5);function s(e){if(!n.value)return;let s=n.value,c=s.getBoundingClientRect(),l=e.clientX-c.left,u=e.clientY-c.top,d=s.offsetWidth,f=s.offsetHeight,p=Math.abs(Math.floor(100/d*l)-100),m=Math.abs(Math.floor(100/f*u)-100),h=50+(p-50)/1.5,g=50+(m-50)/1.5,_=50+(p-50)/7,v=50+(m-50)/7,y=(h-50)/1.5*.2*t.intensity,b=(g-50)/2*-1*.2*t.intensity,x=50-p+(50-m),S=.5+Math.abs(x)*.008*t.intensity;r.value=`perspective(1200px) rotateX(${b}deg) rotateY(${y}deg) scale3d(${1+.015*t.intensity}, ${1+.015*t.intensity}, ${1+.015*t.intensity})`,i.value=`${h}% ${g}%`,a.value=`${_}% ${v}%`,o.value=S}function c(){r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`,i.value=`50% 50%`,a.value=`50% 50%`,o.value=.5}return v(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(d(),A(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:f({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[b(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),uC=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`),n=Ye(`(min-width: 768px)`),r=$e();return Qe(document.documentElement,()=>r.update()),v(()=>r.update()),(e,i)=>O(n)?(d(),_(O(fe),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:k(()=>[b(e.$slots,`trigger`),D(O(me),null,{default:k(()=>[D(O(ue),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(de),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[b(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(d(),_(O(_e),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:k(()=>[D(O(me),null,{default:k(()=>[D(O(Ce),{class:`fixed inset-0`}),D(O(we),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:f({paddingBottom:`${Math.max(Number.parseFloat(O(r).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(be)),b(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),dC={class:`space-y-2`},fC={class:`flex flex-col items-center justify-center py-2`},pC={class:`relative h-28 w-28 select-none`},mC={key:0,class:`mt-3 w-full`},hC={class:`mt-3 w-full`},gC=r({__name:`hearing-config`,props:g({enabled:{type:Boolean,default:!1},granted:{type:Boolean,default:!1},audioInputs:{default:()=>[]},volumeLevel:{default:0}},{enabled:{type:Boolean},enabledModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{}}),emits:[`update:enabled`,`update:selectedAudioInput`],setup(e){let t=e,n=ie(e,`enabled`),r=ie(e,`selectedAudioInput`),i=w(()=>n.value?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`);return(e,o)=>(d(),A(`div`,dC,[j(`div`,fC,[j(`div`,pC,[j(`div`,{class:E([`absolute left-1/2 top-1/2 h-20 w-20 rounded-full transition-all duration-150 -translate-x-1/2 -translate-y-1/2`,i.value]),style:f({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-24 w-24 rounded-full transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:f({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-28 w-28 rounded-full transition-all duration-300 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:f({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),j(`button`,{class:E([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,[t.enabled?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]]),onClick:o[0]||=()=>n.value=!n.value},[j(`div`,{class:E([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),o[3]||=j(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(d(),A(`div`,mC,[D(ye,{theme:`orange`,label:`Microphone permission required`},{default:k(()=>[...o[2]||=[j(`div`,{class:`text-sm`},` The app doesn't have permission to access your microphone. Please grant microphone access in your system settings to enable audio input. `,-1)]]),_:1})]))]),j(`div`,hC,[D(O(Ae),{modelValue:r.value,"onUpdate:modelValue":o[1]||=e=>r.value=e,label:`Input device`,description:`Select the microphone you want to use.`,options:t.audioInputs.map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),placeholder:`Select microphone`,layout:`vertical`},null,8,[`modelValue`,`options`])])]))}}),_C=r({__name:`hearing-config-dialog`,props:g({overlayDim:{type:Boolean},overlayBlur:{type:Boolean},granted:{type:Boolean},audioInputs:{},volumeLevel:{}},{show:{type:Boolean,default:!1,required:!1},showModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{},enabled:{type:Boolean,default:!1},enabledModifiers:{}}),emits:[`update:show`,`update:selectedAudioInput`,`update:enabled`],setup(e){let t=e,n=ie(e,`show`),r=ie(e,`selectedAudioInput`),i=ie(e,`enabled`),a=Ye(`(min-width: 768px)`),o=$e();return Qe(document.documentElement,()=>o.update()),v(()=>o.update()),(e,s)=>O(a)?(d(),_(O(fe),{key:0,open:n.value,"onUpdate:open":s[2]||=e=>n.value=e},{default:k(()=>[D(O(xe),{"as-child":``},{default:k(()=>[b(e.$slots,`default`)]),_:3}),D(O(me),null,{default:k(()=>[D(O(ue),{class:E([[t.overlayDim?`bg-black/50`:``,t.overlayBlur?`backdrop-blur-sm`:``],`fixed inset-0 z-[9999] data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`])},null,8,[`class`]),D(O(de),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-5xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Ee),null,{default:k(()=>[D(O(pe),null,{default:k(()=>[...s[6]||=[p(`Hearing Input`,-1)]]),_:1})]),_:1}),D(gC,{enabled:i.value,"onUpdate:enabled":s[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[1]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),b(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(d(),_(O(_e),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":s[5]||=e=>n.value=e},{default:k(()=>[D(O(xe),{"as-child":``},{default:k(()=>[b(e.$slots,`default`)]),_:3}),D(O(me),null,{default:k(()=>[D(O(Ce),{class:`fixed inset-0`}),D(O(we),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[45%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:f({paddingBottom:`${Math.max(Number.parseFloat(O(o).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(be),{"my-2":``}),D(gC,{enabled:i.value,"onUpdate:enabled":s[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[4]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),b(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),vC=e=>({chat:t=>Object.assign(e,{model:t})}),yC=e=>({embed:t=>Object.assign(e,{model:t})}),bC=e=>({image:t=>Object.assign(e,{model:t})}),xC=e=>({model:()=>e}),SC=e=>({speech:t=>Object.assign(e,{model:t})}),CC=e=>({transcription:t=>Object.assign(e,{model:t})}),wC=(e,t)=>({metadata:{id:e,...t}}),TC=(...e)=>Object.assign(e[0],...e.slice(1)),EC=class extends Error{response;constructor(e,t,n){super(e,{cause:n}),this.name=`XSAIError`,this.response=t}},DC=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),OC=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[DC(e),t])),kC=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),AC=class{get promise(){return this._promise??=new Promise((e,t)=>{this.status.type===`resolved`?e(this.status.value):this.status.type===`rejected`&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise}_promise;_reject;_resolve;status={type:`pending`};reject(e){this.status={error:e,type:`rejected`},this._promise&&this._reject?.(e)}resolve(e){this.status={type:`resolved`,value:e},this._promise&&this._resolve?.(e)}},jC=e=>JSON.stringify(OC(kC({...e,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),MC=(e,t)=>kC({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),NC=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},PC=async e=>{if(!e.ok)throw new EC(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new EC(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new EC(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},FC=async e=>{let t=await e.text();try{return JSON.parse(t)}catch(n){throw new EC(`Failed to parse response, response body: ${t}`,e,n)}},IC=async e=>{let t=await e();for(;t instanceof Function;)t=await t();return t},LC=async e=>{let t=typeof e.apiKey==`string`?{"api-key":e.apiKey}:void 0,n=`https://${e.resourceName}.services.ai.azure.com/models/`,r=async(t,n)=>{e.apiVersion!=null&&t.searchParams.set(`api-version`,e.apiVersion);let r=`Bearer ${typeof e.apiKey==`function`?await e.apiKey():e.apiKey}`;return n.headers??={},Array.isArray(n.headers)?n.headers.push([`Authorization`,r]):n.headers instanceof Headers?n.headers.append(`Authorization`,r):n.headers.Authorization=r,globalThis.fetch(t,n)};return TC(wC(`azure`),vC({baseURL:n,fetch:r,headers:t}),yC({baseURL:n,fetch:r,headers:t}),SC({baseURL:n,fetch:r,headers:t}),CC({baseURL:n,fetch:r,headers:t}),xC({baseURL:n,fetch:r,headers:t}))},RC=(e,t=`https://api.cerebras.ai/v1/`)=>TC(wC(`cerebras`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),zC=(e,t=`https://api.deepseek.com/`)=>TC(wC(`deepseek`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),BC=(e,t=`https://api.fireworks.ai/inference/v1/`)=>TC(wC(`fireworks`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),VC=(e,t=`https://generativelanguage.googleapis.com/v1beta/openai/`)=>TC(wC(`google-generative-ai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),HC=(e,t=`https://api.mistral.ai/v1/`)=>TC(wC(`mistral`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),UC=(e,t=`https://api.moonshot.cn/v1/`)=>TC(wC(`moonshot`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),WC=(e,t=`https://api.novita.ai/v3/openai/`)=>TC(wC(`novita`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),GC=(e,t=`https://api.openai.com/v1/`)=>TC(wC(`openai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),bC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t}),SC({apiKey:e,baseURL:t}),CC({apiKey:e,baseURL:t})),KC=(e,t=`https://openrouter.ai/api/v1/`)=>TC(wC(`openrouter`),{chat:(n,r)=>{let i={apiKey:e,baseURL:t,model:n};return{...r?(({extraHeaders:e,models:t,provider:n})=>{e!=null&&(i.headers??={},Object.assign(i.headers,e));let r;return n!=null&&(r=OC(n)),OC({models:t,provider:r})})(r):{},...i}}},xC({apiKey:e,baseURL:t})),qC=(e,t=`https://api.perplexity.ai/`)=>TC(wC(`perplexity`),vC({apiKey:e,baseURL:t})),JC=(e,t=`https://api.together.xyz/v1/`)=>TC(wC(`together-ai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t,fetch:async(...e)=>globalThis.fetch(...e).then(async e=>e.json()).then(e=>Response.json({data:e,object:`list`}))})),YC=(e,t)=>{let n=`https://api.cloudflare.com/client/v4/accounts/${t}/ai/v1/`;return TC(wC(`workers-ai`),vC({apiKey:e,baseURL:n}),yC({apiKey:e,baseURL:n}))},XC=(e,t=`https://api.x.ai/v1/`)=>TC(wC(`xai`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),ZC=(e=`http://localhost:11434/v1/`)=>TC(wC(`ollama`),vC({baseURL:e}),yC({baseURL:e}),xC({baseURL:e})),QC=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;eTC(wC(`player2`),vC({baseURL:e,headers:{"player2-game-key":t}}),SC({baseURL:e,fetch:async(e,t)=>{let n=`${e.toString().slice(0,-12)}tts/speak`;try{let{input:e,response_format:n,speed:r,voice:i,...a}=JSON.parse(t?.body),o={audio_format:n,play_in_app:!1,speed:r??1,text:e,voice_ids:i==null?[]:[i],...a};t&&(t.body=JSON.stringify(o))}catch(e){console.warn(`Could not parse body as JSON:`,e)}return globalThis.fetch(n,t).then(async e=>e.json()).then(e=>{let t=QC(e.data??``);return new Response(t,{headers:{"Content-Type":`audio/mpeg`},status:200})})},headers:{"player2-game-key":t}})),ew=e=>({chat:t=>Object.assign(e,{model:t})}),tw=e=>({embed:t=>Object.assign(e,{model:t})}),nw=e=>({model:()=>e}),rw=e=>({speech:t=>Object.assign(e,{model:t})}),iw=e=>({transcription:t=>Object.assign(e,{model:t})}),aw=(e,t)=>({metadata:{id:e,...t}}),ow=(...e)=>Object.assign(e[0],...e.slice(1)),sw=async e=>(e.fetch??globalThis.fetch)(NC(`models`,e.baseURL),{headers:MC(e.headers,e.apiKey),signal:e.abortSignal}).then(PC).then(FC).then(({data:e})=>e),cw=(...e)=>Object.assign(e[0],...e.slice(1)),lw=class extends Error{response;constructor(e,t){super(e),this.name=`XSAIError`,this.response=t}},uw=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),dw=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[uw(e),t])),fw=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),pw=(e,t)=>fw({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),mw=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},hw=async e=>{if(!e.ok)throw new lw(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new lw(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new lw(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},gw=async e=>hw(e).then(async e=>{let t=await e.text();try{return JSON.parse(t)}catch{throw Error(`Failed to parse response, response body: ${t}`)}}),_w=(e,t=`http://localhost:5933/v1/`)=>{let n=({applyTextNormalization:e,languageCode:t,nextRequestIds:n,nextText:r,previousRequestIds:i,previousText:a,pronunciationDictionaryLocators:o,seed:s,voiceSettings:c})=>({extraBody:dw({applyTextNormalization:e,languageCode:t,nextRequestIds:n,nextText:r,previousRequestIds:i,previousText:a,pronunciationDictionaryLocators:o?o.map(e=>dw(e)):void 0,seed:s,voiceSettings:dw(c??{similarityBoost:.75,stability:.5})})});return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`elevenlabs/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`provider=elevenlabs`,...r?n(r):{},apiKey:e,baseURL:t})})},vw=(e,t=`http://localhost:5933/v1/`)=>{let n=e=>{let{deploymentId:t,region:n,sampleRate:r}=e,i={deploymentId:t,region:n,sampleRate:r};return`disableSsml`in e?i.disableSsml=e.disableSsml:`lang`in e&&(i.lang=e.lang,i.gender=e.gender,i.voice=e.voice),{extraBody:dw(i)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`microsoft/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`region=${r?.region}&provider=microsoft`,...r?n(r):{},apiKey:e,baseURL:t})})},yw=(e,t=`http://localhost:5933/v1/`)=>{let n=t=>{let n={app:{appid:t.app?.appId,token:e}};return t.app!==void 0&&(n.app={...t.app,appid:t.app?.appId,token:e}),t.user!==void 0&&(n.user=t.user),t.audio!==void 0&&(n.audio=t.audio),{extraBody:dw(n)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`volcengine/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`provider=volcengine`,...r?n(r):{},apiKey:e,baseURL:t})})},bw=(e,t=`http://localhost:5933/v1/`)=>{let n=e=>{let{sampleRate:t,volume:n,rate:r,pitch:i}=e,a={sampleRate:t,volume:n,rate:r,pitch:i};return Object.keys(a).forEach(e=>a[e]===void 0&&delete a[e]),{extraBody:dw(a)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`alibaba/${r}`})},{voice:r=>{let i=t;return i.endsWith(`v1/`)?i=i.slice(0,-3):i.endsWith(`v1`)&&(i=i.slice(0,-2)),{query:`provider=alibaba`,...r?n(r):{},apiKey:e,baseURL:i}}})},xw=async e=>(e.fetch??globalThis.fetch)(mw(e.query?`api/voices?${e.query}`:`api/voices`,e.baseURL),{headers:pw({...e.headers},e.apiKey),method:`GET`,signal:e.abortSignal}).then(gw).then(({voices:e})=>e),Sw=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}},Cw=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(Cw.test(e)){let t=Date.prototype[e.replace(Cw,`$1UTC`)];t&&(Sw.prototype[e]=t)}});var ww=class extends Sw{toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){return`${Tw.format(this)} ${Ew.format(this)} ${this.getFullYear()}`}toTimeString(){return`${Dw.format(this)} 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})}},Tw=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,timeZone:`UTC`}),Ew=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,timeZone:`UTC`}),Dw=new Intl.DateTimeFormat(`en-GB`,{hour12:!1,hour:`numeric`,minute:`numeric`,second:`numeric`,timeZone:`UTC`});const Ow=e=>new ww(+new Date(e)),kw=6048e5,Aw=3600*24;Aw*7,Aw*365.2425;const jw=Symbol.for(`constructDateFrom`);function Mw(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&jw in e?e[jw](t):e instanceof Date?new e.constructor(t):new Date(t)}function Nw(e,t){return Mw(t||e,e)}var Pw={};function Fw(){return Pw}function Iw(e,t){let n=Fw(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Nw(e,t?.in),a=i.getDay(),o=(a=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function zw(e){let t=Nw(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function Bw(e,...t){let n=Mw.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Vw(e,t){let n=Nw(e,t?.in);return n.setHours(0,0,0,0),n}function Hw(e,t,n){let[r,i]=Bw(n?.in,e,t),a=Vw(r),o=Vw(i),s=+a-zw(a),c=+o-zw(o);return Math.round((s-c)/864e5)}function Uw(e,t){let n=Rw(e,t),r=Mw(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Lw(r)}function Ww(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function Gw(e){return!(!Ww(e)&&typeof e!=`number`||isNaN(+Nw(e)))}function Kw(e,t){let n=Nw(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var qw={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}};const Jw=(e,t,n)=>{let r,i=qw[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Yw(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Xw={date:Yw({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Yw({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Yw({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})};var Zw={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`};const Qw=(e,t,n,r)=>Zw[e];function $w(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}const eT={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:$w({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:$w({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:$w({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:$w({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:$w({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function tT(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?rT(s,e=>e.test(o)):nT(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function nT(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function rT(e,t){for(let n=0;n{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}const aT={code:`en-US`,formatDistance:Jw,formatLong:Xw,formatRelative:Qw,localize:eT,match:{ordinalNumber:iT({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:tT({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:tT({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:tT({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:tT({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:tT({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function oT(e,t){let n=Nw(e,t?.in);return Hw(n,Kw(n))+1}function sT(e,t){let n=Nw(e,t?.in),r=Lw(n)-+Uw(n);return Math.round(r/kw)+1}function cT(e,t){let n=Nw(e,t?.in),r=n.getFullYear(),i=Fw(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Mw(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=Iw(o,t),c=Mw(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=Iw(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function lT(e,t){let n=Fw(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=cT(e,t),a=Mw(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),Iw(a,t)}function uT(e,t){let n=Nw(e,t?.in),r=Iw(n,t)-+lT(n,t);return Math.round(r/kw)+1}function dT(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}const fT={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return dT(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):dT(n+1,2)},d(e,t){return dT(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];case`aaaa`:default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return dT(e.getHours()%12||12,t.length)},H(e,t){return dT(e.getHours(),t.length)},m(e,t){return dT(e.getMinutes(),t.length)},s(e,t){return dT(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return dT(Math.trunc(r*10**(n-3)),t.length)}};var pT={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`};const mT={G:function(e,t,n){let r=e.getFullYear()>0?1:0;switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});case`GGGG`:default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return fT.y(e,t)},Y:function(e,t,n,r){let i=cT(e,r),a=i>0?i:1-i;return t===`YY`?dT(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):dT(a,t.length)},R:function(e,t){return dT(Rw(e),t.length)},u:function(e,t){return dT(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return dT(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});case`QQQQ`:default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return dT(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});case`qqqq`:default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return fT.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});case`MMMM`:default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return dT(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});case`LLLL`:default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=uT(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):dT(i,t.length)},I:function(e,t,n){let r=sT(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):dT(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):fT.d(e,t)},D:function(e,t,n){let r=oT(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):dT(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});case`EEEE`:default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return dT(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});case`eeee`:default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return dT(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});case`cccc`:default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return dT(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});case`iiii`:default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});case`aaaa`:default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?pT.noon:r===0?pT.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`bbbb`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?pT.evening:r>=12?pT.afternoon:r>=4?pT.morning:pT.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`BBBB`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return fT.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):fT.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):dT(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):dT(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):fT.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):fT.s(e,t)},S:function(e,t){return fT.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return gT(r);case`XXXX`:case`XX`:return _T(r);case`XXXXX`:case`XXX`:default:return _T(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return gT(r);case`xxxx`:case`xx`:return _T(r);case`xxxxx`:case`xxx`:default:return _T(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+hT(r,`:`);case`OOOO`:default:return`GMT`+_T(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+hT(r,`:`);case`zzzz`:default:return`GMT`+_T(r,`:`)}},t:function(e,t,n){return dT(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return dT(+e,t.length)}};function hT(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+dT(a,2)}function gT(e,t){return e%60==0?(e>0?`-`:`+`)+dT(Math.abs(e)/60,2):_T(e,t)}function _T(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=dT(Math.trunc(r/60),2),a=dT(r%60,2);return n+i+t+a}var vT=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});case`PPPP`:default:return t.date({width:`full`})}},yT=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});case`pppp`:default:return t.time({width:`full`})}};const bT={p:yT,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return vT(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;case`PPPP`:default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,vT(r,t)).replace(`{{time}}`,yT(i,t))}};var xT=/^D+$/,ST=/^Y+$/,CT=[`D`,`DD`,`YY`,`YYYY`];function wT(e){return xT.test(e)}function TT(e){return ST.test(e)}function ET(e,t,n){let r=DT(e,t,n);if(console.warn(r),CT.includes(e))throw RangeError(r)}function DT(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var OT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,kT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,AT=/^'([^]*?)'?$/,jT=/''/g,MT=/[a-zA-Z]/;function NT(e,t,n){let r=Fw(),i=n?.locale??r.locale??aT,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Nw(e,n?.in);if(!Gw(s))throw RangeError(`Invalid time value`);let c=t.match(kT).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=bT[t];return n(e,i.formatLong)}return e}).join(``).match(OT).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:PT(e)};if(mT[t])return{isToken:!0,value:e};if(t.match(MT))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&TT(a)||!n?.useAdditionalDayOfYearTokens&&wT(a))&&ET(a,t,String(e));let o=mT[a[0]];return o(s,a,i.localize,l)}).join(``)}function PT(e){let t=e.match(AT);return t?t[1].replace(jT,`'`):e}function FT(e,t){return+Nw(e)<+Nw(t)}var IT=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,LT=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,RT=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function zT(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){BT(e);return}return t}function BT(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function VT(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!RT.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(IT.test(e)||LT.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,zT)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var HT=/#/g,UT=/&/g,WT=/\//g,GT=/=/g,KT=/\+/g,qT=/%5e/gi,JT=/%60/gi,YT=/%7c/gi,XT=/%20/gi;function ZT(e){return encodeURI(``+e).replace(YT,`|`)}function QT(e){return ZT(typeof e==`string`?e:JSON.stringify(e)).replace(KT,`%2B`).replace(XT,`+`).replace(HT,`%23`).replace(UT,`%26`).replace(JT,"`").replace(qT,`^`).replace(WT,`%2F`)}function $T(e){return QT(e).replace(GT,`%3D`)}function eE(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function tE(e){return eE(e.replace(KT,` `))}function nE(e){return eE(e.replace(KT,` `))}function rE(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=tE(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=nE(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function iE(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${$T(e)}=${QT(t)}`).join(`&`):`${$T(e)}=${QT(t)}`:$T(e)}function aE(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>iE(t,e[t])).filter(Boolean).join(`&`)}var oE=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,sE=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,cE=/^([/\\]\s*){2,}[^/\\]/,lE=/\/$|\/\?|\/#/,uE=/^\.?\//;function dE(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?oE.test(e):sE.test(e)||(t.acceptRelative?cE.test(e):!1)}function fE(e=``,t){return t?lE.test(e):e.endsWith(`/`)}function pE(e=``,t){if(!t)return(fE(e)?e.slice(0,-1):e)||`/`;if(!fE(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function mE(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(fE(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function hE(e,t){if(_E(t)||dE(e))return e;let n=pE(t);return e.startsWith(n)?e:yE(n,e)}function gE(e,t){let n=xE(e);return n.search=aE({...rE(n.search),...t}),CE(n)}function _E(e){return!e||e===`/`}function vE(e){return e&&e!==`/`}function yE(e,...t){let n=e||``;for(let e of t.filter(e=>vE(e)))if(n){let t=e.replace(uE,``);n=mE(n)+t}else n=e;return n}var bE=Symbol.for(`ufo:protocolRelative`);function xE(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!dE(e,{acceptRelative:!0}))return t?xE(t+e):SE(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=SE(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[bE]:!r}}function SE(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function CE(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[bE]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var wE=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function TE(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new wE(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:``}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var EE=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function DE(e=`GET`){return EE.has(e.toUpperCase())}function OE(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var kE=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),AE=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function jE(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return AE.test(t)?`json`:t===`text/event-stream`?`stream`:kE.has(t)||t.startsWith(`text/`)?`text`:`blob`}function ME(e,t,n,r){let i=NE(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function NE(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function PE(e,t){if(t)if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}var FE=new Set([408,409,425,429,500,502,503,504]),IE=new Set([101,204,205,304]);function LE(e={}){let{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function i(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:DE(e.options.method)?0:1;let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):FE.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),a(e.request,{...e.options,retry:t-1})}}let n=TE(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:ME(a,o,e.defaults,n),response:void 0,error:void 0};if(s.options.method&&(s.options.method=s.options.method.toUpperCase()),s.options.onRequest&&(await PE(s,s.options.onRequest),s.options.headers instanceof n||(s.options.headers=new n(s.options.headers||{}))),typeof s.request==`string`&&(s.options.baseURL&&(s.request=hE(s.request,s.options.baseURL)),s.options.query&&(s.request=gE(s.request,s.options.query),delete s.options.query),`query`in s.options&&delete s.options.query,`params`in s.options&&delete s.options.params),s.options.body&&DE(s.options.method))if(OE(s.options.body)){let e=s.options.headers.get(`content-type`);typeof s.options.body!=`string`&&(s.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(s.options.body).toString():JSON.stringify(s.options.body)),e||s.options.headers.set(`content-type`,`application/json`),s.options.headers.has(`accept`)||s.options.headers.set(`accept`,`application/json`)}else (`pipeTo`in s.options.body&&typeof s.options.body.pipeTo==`function`||typeof s.options.body.pipe==`function`)&&(`duplex`in s.options||(s.options.duplex=`half`));let c;if(!s.options.signal&&s.options.timeout){let e=new r;c=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},s.options.timeout),s.options.signal=e.signal}try{s.response=await t(s.request,s.options)}catch(e){return s.error=e,s.options.onRequestError&&await PE(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!IE.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||jE(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||VT;s.response._data=t(e);break}case`stream`:s.response._data=s.response.body||s.response._bodyInit;break;default:s.response._data=await s.response[e]()}}return s.options.onResponse&&await PE(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await PE(s,s.options.onResponseError),await i(s)):s.response},o=async function(e,t){return(await a(e,t))._data};return o.raw=a,o.native=(...e)=>t(...e),o.create=(t={},n={})=>LE({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var RE=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),zE=RE.fetch?(...e)=>RE.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),BE=RE.Headers,VE=RE.AbortController,HE=LE({fetch:zE,Headers:BE,AbortController:VE}),UE=globalThis.crypto.subtle,WE=[];for(let e=0;e<256;++e)WE.push((e+256).toString(16).slice(1));function GE(e,t=0){return(WE[e[t+0]]+WE[e[t+1]]+WE[e[t+2]]+WE[e[t+3]]+`-`+WE[e[t+4]]+WE[e[t+5]]+`-`+WE[e[t+6]]+WE[e[t+7]]+`-`+WE[e[t+8]]+WE[e[t+9]]+`-`+WE[e[t+10]]+WE[e[t+11]]+WE[e[t+12]]+WE[e[t+13]]+WE[e[t+14]]+WE[e[t+15]]).toLowerCase()}var KE,qE=new Uint8Array(16);function JE(){if(!KE){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);KE=crypto.getRandomValues.bind(crypto)}return KE(qE)}var YE={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function XE(e,t,n){e||={};let r=e.random??e.rng?.()??JE();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return GE(r)}function ZE(e,t,n){return YE.randomUUID&&!t&&!e?YE.randomUUID():XE(e,t,n)}var QE=ZE;function $E(e){return new URL(`http://nls-meta.${e}.aliyuncs.com`)}function eD(e=`cn-shanghai`){let t=new URL(`/ws/v1`,`https://example.com`);switch(e){case`cn-shanghai`:case`cn-beijing`:case`cn-shenzhen`:t.protocol=`wss:`,t.hostname=`nls-gateway-${e}.aliyuncs.com`;break;case`cn-shanghai-internal`:case`cn-beijing-internal`:case`cn-shenzhen-internal`:t.protocol=`wss:`,t.hostname=`nls-gateway-${e}-internal.aliyuncs.com:80`}return t}var tD=`HMAC-SHA1`,nD=`1.0`,rD=`2019-02-28`;function iD(e){return Object.keys(e).sort().map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join(`&`)}function aD(e,t,n){return`${e}&${encodeURIComponent(t)}&${encodeURIComponent(n)}`}async function oD(e,t){let n=new TextEncoder().encode(`${t}&`),r=await UE.importKey(`raw`,n,{name:`HMAC`,hash:{name:`SHA-1`}},!1,[`sign`]),i=new TextEncoder().encode(e);return GS(await UE.sign(`HMAC`,r,i))}async function sD(e,t,n){let r=NT(Ow(it({timestamp:new Date},n).timestamp),`yyyy-MM-dd'T'HH:mm:ssXX`),i=n?.signatureNonce??QE(),a={AccessKeyId:e,Action:`CreateToken`,Format:`JSON`,RegionId:n?.regionId??`cn-shanghai`,SignatureMethod:tD,SignatureNonce:i,SignatureVersion:nD,Timestamp:r,Version:rD,...n?.extraQuery},o=iD(a),s=aD(`POST`,`/`,o),c=await oD(s,t),l=encodeURIComponent(c),u=`Signature=${l}&${o}`,d=(n?.endpoint??$E(n?.regionId??`cn-shanghai`).toString()).replace(/\/$/,``),f=`${d}/?${u}`;return{endpoint:d,canonicalQuery:o,stringToSign:s,signature:c,encodedSignature:l,signedQuery:u,params:{Signature:c,...a},url:f}}async function cD(e,t,n){let r=await HE((await sD(e,t,n)).url,{method:`POST`});if(`Token`in r&&typeof r.Token==`object`&&`Id`in r.Token)return{token:r.Token.Id,expiresAt:r.Token.ExpireTime*1e3};throw Error(`Failed to create token: ${JSON.stringify(r)||`Unknown error`}`)}var lD=Le(`0123456789abcdef`,32);function uD(e,t,n,r){let i=dD(e,t,n,r),a=lD();function o(e,t){let n=it({sessionId:a},t);e.send(JSON.stringify({header:{appkey:i.appKey,message_id:lD(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StartTranscription`},payload:{format:`wav`}}))}function s(e,t){let n=it({sessionId:a},t);e?.send(JSON.stringify({header:{appkey:i.appKey,message_id:lD(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StopTranscription`},payload:void 0}))}function c(e,t){t(e)}return{...i,sessionId:a,start:o,stop:s,onEvent:c}}function dD(e,t,n,r){let i=``,a=Ow(new Date).getTime();async function o(){if(!i||FT(new Date(a),Ow(new Date))){let n=await cD(e,t,{regionId:r?.region??`cn-shanghai`});i=n.token,a=n.expiresAt}let n=eD(r?.region??`cn-shanghai`);return n.searchParams.set(`token`,i),n.toString()}return{websocketUrl:o,appKey:n}}var fD={format:`pcm`,sample_rate:16e3};function pD(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);throw TypeError(`Unsupported audio chunk type for Aliyun streaming transcription`)}var mD=new TextEncoder;function hD(e){return mD.encode(`data: ${JSON.stringify(e)}\n\n`)}function gD(e){try{return e()}catch{return}}function _D(e,t,n){return{on:()=>n?.addEventListener(e,t),off:()=>n?.removeEventListener(e,t)}}async function vD(e){let{accessKeyId:t,accessKeySecret:n,appKey:r,region:i,sessionOptions:a,audioStream:o,abortSignal:s,hooks:c,onSessionTerminated:l,onSentenceFinal:u}=e,d=uD(t,n,r,{region:i}),f=o.getReader(),p=await d.websocketUrl();gD(()=>c?.onWebSocketConnecting?.());let m=new WebSocket(p);m.binaryType=`arraybuffer`;let h=_D(`abort`,()=>g(s?.reason??new DOMException(`Aborted`,`AbortError`)),s);s&&h.on();async function g(e){h&&s&&h.off(),gD(async()=>await f.cancel()),m&&(m.readyState===WebSocket.OPEN?(gD(()=>d.stop(m)),m.close(1e3,`client closed`)):gD(()=>m?.close())),await l?.(e)}async function _(){try{for(;!s?.aborted;){let{done:e,value:t}=await f.read();if(e)break;t&&m.send(pD(t))}}catch(e){await g(e)}}async function v(e){let t=JSON.parse(e.data);d.onEvent(t,async e=>{gD(async()=>await c?.onServerEvent?.(e));try{switch(e.header.name){case`TranscriptionStarted`:_();break;case`SentenceEnd`:await u?.(e.payload);break;case`TranscriptionCompleted`:await g();break;default:break}}catch(e){await g(e)}})}async function y(){gD(()=>c?.onWebSocketOpen?.()),d.start(m,{enable_intermediate_result:!0,enable_punctuation_prediction:!0,...fD,...a})}if(m.onerror=e=>gD(()=>c?.onWebSocketError?.(e)),m.onclose=e=>gD(()=>c?.onWebSocketClose?.(e?.code??1006,e?.reason??``)),m.onopen=()=>gD(async()=>y()),m.onmessage=e=>gD(async()=>v(e)),s?.aborted)throw s.reason??new DOMException(`Aborted`,`AbortError`)}function yD(e,t,n,r){return{speech(i,a){return{baseURL:eD(a?.region??r?.region),model:`aliyun-nls-v1`,fetch:async(i,o)=>{let s=o?.body??a?.inputAudioStream;if(!(s instanceof ReadableStream))throw TypeError(`Audio stream must be provided as a ReadableStream for Aliyun NLS streaming transcription.`);let c=!1,l=new ReadableStream({start(i){vD({accessKeyId:e,accessKeySecret:t,appKey:n,region:a?.region??r?.region,sessionOptions:a?.sessionOptions,audioStream:s,abortSignal:a?.abortSignal||o?.signal||void 0,hooks:a?.hooks,onSessionTerminated:async e=>{c=!0;try{await a?.onSessionTerminated?.(e)}finally{e?i.error(e instanceof Error?e:Error(String(e))):i.close()}},onSentenceFinal:async e=>{let t=e.result?`${e.result}\n`:``;t&&i.enqueue(hD({delta:t,type:`transcript.text.delta`})),i.enqueue(hD({delta:``,type:`transcript.text.done`}))}})},cancel:async()=>{c||await(void 0)?.close()}});return new Response(l,{headers:{"Cache-Control":`no-cache`,"Content-Type":`text/event-stream`}})}}}}}const bD=[{model_id:`eleven_multilingual_v2`,name:`Eleven Multilingual v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our most life-like, emotionally rich mode in 29 languages. Best for voice overs, audiobooks, post-production, or any other content creation needs.`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`ru`,name:`Russian`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_flash_v2_5`,name:`Eleven Flash v2.5`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our ultra low latency model in 32 languages. Ideal for conversational use cases.`,requires_alpha_access:!1,max_characters_request_free_user:4e4,max_characters_request_subscribed_user:4e4,maximum_text_length_per_request:4e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`hu`,name:`Hungarian`},{language_id:`no`,name:`Norwegian`},{language_id:`vi`,name:`Vietnamese`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_turbo_v2_5`,name:`Eleven Turbo v2.5`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our high quality, low latency model in 32 languages. Best for developer use cases where speed matters and you need non-English languages.`,requires_alpha_access:!1,max_characters_request_free_user:4e4,max_characters_request_subscribed_user:4e4,maximum_text_length_per_request:4e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`vi`,name:`Vietnamese`},{language_id:`no`,name:`Norwegian`},{language_id:`hu`,name:`Hungarian`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_turbo_v2`,name:`Eleven Turbo v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our English-only, low latency model. Best for developer use cases where speed matters and you only need English. Performance is on par with Turbo v2.5.`,requires_alpha_access:!1,max_characters_request_free_user:3e4,max_characters_request_subscribed_user:3e4,maximum_text_length_per_request:3e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_flash_v2`,name:`Eleven Flash v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our ultra low latency model in english. Ideal for conversational use cases.`,requires_alpha_access:!1,max_characters_request_free_user:3e4,max_characters_request_subscribed_user:3e4,maximum_text_length_per_request:3e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_english_sts_v2`,name:`Eleven English v2`,can_be_finetuned:!1,can_do_text_to_speech:!1,can_do_voice_conversion:!0,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our state-of-the-art speech to speech model suitable for scenarios where you need maximum control over the content and prosody of your generations.`,requires_alpha_access:!1,max_characters_request_free_user:5e3,max_characters_request_subscribed_user:5e3,maximum_text_length_per_request:5e3,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_multilingual_v1`,name:`Eleven Multilingual v1`,can_be_finetuned:!1,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our first Multilingual model, capability of generating speech in 10 languages. Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases).`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`de`,name:`German`},{language_id:`pl`,name:`Polish`},{language_id:`es`,name:`Spanish`},{language_id:`it`,name:`Italian`},{language_id:`fr`,name:`French`},{language_id:`pt`,name:`Portuguese`},{language_id:`hi`,name:`Hindi`},{language_id:`ar`,name:`Arabic`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_multilingual_sts_v2`,name:`Eleven Multilingual v2`,can_be_finetuned:!0,can_do_text_to_speech:!1,can_do_voice_conversion:!0,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our cutting-edge, multilingual speech-to-speech model is designed for situations that demand unparalleled control over both the content and the prosody of the generated speech across various languages.`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_monolingual_v1`,name:`Eleven English v1`,can_be_finetuned:!1,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our first ever text to speech model. Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases).`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`}];var xD=async e=>(e.fetch??globalThis.fetch)(NC(`chat/completions`,e.baseURL),{body:jC({...e,tools:e.tools?.map(e=>({function:kC({...e.function,returns:void 0}),type:`function`}))}),headers:MC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(PC),SD=({finishReason:e,maxSteps:t,stepsLength:n,toolCallsLength:r})=>{if(n===0)return`initial`;if(n0&&e===`tool_calls`)return`tool-result`;if(![`error`,`length`].includes(e))return`continue`}return`done`},CD=e=>typeof e==`string`||Array.isArray(e)&&e.every(e=>!!(typeof e==`object`&&`type`in e&&[`file`,`image_url`,`input_audio`,`text`].includes(e.type)))?e:JSON.stringify(e),wD=async({abortSignal:e,messages:t,toolCall:n,tools:r})=>{let i=r?.find(e=>e.function.name===n.function.name);if(!i){let e=r?.map(e=>e.function.name),t=e==null||e.length===0?`No tools are available`:`Available tools: ${e.join(`, `)}`;throw Error(`Model tried to call unavailable tool "${n.function.name}", ${t}.`)}let a=n.id,o=n.function.name,s=JSON.parse(n.function.arguments),c=CD(await i.execute(s,{abortSignal:e,messages:t,toolCallId:a}));return{completionToolCall:{args:n.function.arguments,toolCallId:a,toolCallType:n.type,toolName:o},completionToolResult:{args:s,result:c,toolCallId:a,toolName:o},message:{content:c,role:`tool`,tool_call_id:a}}},TD=async e=>xD({...e,maxSteps:void 0,steps:void 0,stream:!1}).then(FC).then(async t=>{let{choices:n,usage:r}=t;if(!n?.length)throw Error(`No choices returned, response body: ${JSON.stringify(t)}`);let i=structuredClone(e.messages),a=e.steps?structuredClone(e.steps):[],o=[],s=[],{finish_reason:c,message:l}=n[0],u=l?.tool_calls??[],d=SD({finishReason:c,maxSteps:e.maxSteps??1,stepsLength:a.length,toolCallsLength:u.length});if(i.push(kC({...l,reasoning_content:void 0})),c!==`stop`&&d!==`done`)for(let t of u){let{completionToolCall:n,completionToolResult:r,message:a}=await wD({abortSignal:e.abortSignal,messages:i,toolCall:t,tools:e.tools});o.push(n),s.push(r),i.push(a)}let f={finishReason:c,stepType:d,text:l.content,toolCalls:o,toolResults:s,usage:r};return a.push(f),e.onStepFinish&&await e.onStepFinish(f),f.finishReason===`stop`||f.stepType===`done`?{finishReason:f.finishReason,messages:i,reasoningText:l.reasoning_content,steps:a,text:f.text,toolCalls:f.toolCalls,toolResults:f.toolResults,usage:f.usage}:async()=>TD({...e,messages:i,steps:a})}),ED=async e=>IC(async()=>TD(e)),DD=(...e)=>e,OD=e=>({content:e,role:`system`}),kD=e=>({content:e,role:`user`}),AD=e=>({text:e,type:`text`}),jD=e=>({image_url:{url:e},type:`image_url`}),MD=e=>{let t=e=>typeof e==`object`&&`type`in e&&e.type===`function`&&`id`in e&&`function`in e&&typeof e.function==`object`;return t(e)||Array.isArray(e)&&e.every(e=>t(e))},ND=Object.freeze({__proto__:null,assistant:e=>MD(e)?Array.isArray(e)?{role:`assistant`,tool_calls:e}:{role:`assistant`,tool_calls:[e]}:{content:e,role:`assistant`},imagePart:jD,isToolCall:MD,messages:DD,system:OD,textPart:AD,tool:(e,t)=>({content:e,role:`tool`,tool_call_id:t.id}),user:kD});function PD(e){return typeof e==`string`?e.trim():``}function FD(e){let t=PD(e);return t&&!t.endsWith(`/`)&&(t+=`/`),t}function ID(){try{return typeof localStorage<`u`&&localStorage.getItem(`airi:debug`)===`1`}catch{return!1}}function LD(...e){ID()&&console.warn(...e)}function RD(e){let{id:t,name:n,icon:r,description:i,nameKey:a,descriptionKey:o,category:s,tasks:c,defaultBaseUrl:l,creator:u,capabilities:d,validators:f,validation:p,additionalHeaders:m,transcriptionFeatures:h,...g}=e,_=d||{listModels:async e=>{let n=PD(e.apiKey),r=FD(e.baseUrl);if(!n||!r)return[];let i=await u(n,r);return!i||typeof i.model!=`function`?[]:(await sw({apiKey:n,baseURL:r,headers:m})).map(e=>({id:e.id,name:e.name||e.display_name||e.id,provider:t,description:e.description||``,contextLength:e.context_length||0,deprecated:!1}))}},v=f||{validateProviderConfig:async e=>{let t=[],n=PD(e.baseUrl),r=PD(e.apiKey);r||t.push(Error(`API Key is required`)),n||t.push(Error(`Base URL is required`));try{new URL(n).host.length===0&&t.push(Error(`Base URL is not absolute. Check your input.`))}catch{t.push(Error(`Base URL is invalid. It must be an absolute URL.`))}if(n=FD(n),t.length>0)return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let i=p||[],a=!!r,o=(async()=>{let t=`test`;if(!a)return t;try{let e=await sw({apiKey:r,baseURL:n,headers:m}).then(e=>e.filter(e=>[`embed`,`tts`,`models/gemini-2.5-pro`].every(t=>!e.id.includes(t))));e.length>0&&(t=e[0].id)}catch(t){LD(`Model auto-detection failed: ${t.message}`),LD(`Falling back to default test model for validation checks.`);try{if(d?.listModels){let t=await d.listModels(e);if(t.length<=0)throw Error(`No models returned from capabilities.listModels`);return t[0].id}}catch(e){LD(`Model auto-detection via capabilities.listModels also failed: ${e.message}`)}}return t})(),s=[];if(i.includes(`health`)&&a&&s.push((async()=>{try{let e=await o;return await ED({apiKey:r,baseURL:n,headers:m,model:e,messages:ND.messages(ND.user(`ping`)),max_tokens:1}),null}catch(e){return Error(`Health check failed: ${e.message}`)}})()),i.includes(`model_list`)&&a&&s.push((async()=>{try{let e=await sw({apiKey:r,baseURL:n,headers:m});return!e||e.length===0?Error(`Model list check failed: no models found`):null}catch(e){return Error(`Model list check failed: ${e.message}`)}})()),i.includes(`chat_completions`)&&a&&s.push((async()=>{try{let e=await o;return await ED({apiKey:r,baseURL:n,headers:m,model:e,messages:ND.messages(ND.user(`ping`)),max_tokens:1}),null}catch(e){return Error(`Chat completions check failed: ${e.message}`)}})()),s.length>0){let e=await Promise.allSettled(s);for(let n of e)n.status===`fulfilled`&&n.value?t.push(n.value):n.status===`rejected`&&t.push(Error(String(n.reason)))}return{errors:t,reason:t.length>0?t.map(e=>e.message).join(`, `):``,valid:t.length===0}}},y=s??`chat`;return{id:t,category:y,tasks:c||[`text-generation`],nameKey:a,name:n,descriptionKey:o,description:i,icon:r,defaultOptions:()=>({baseUrl:l||``}),createProvider:async e=>u(PD(e.apiKey),FD(e.baseUrl)),capabilities:_,validators:v,...y===`transcription`?{transcriptionFeatures:h??{supportsGenerate:!0,supportsStreamOutput:!1,supportsStreamInput:!1}}:{},...g}}var zD=[`cn-shanghai`,`cn-shanghai-internal`,`cn-beijing`,`cn-beijing-internal`,`cn-shenzhen`,`cn-shenzhen-internal`];function BD(e,t=`https://api.anthropic.com/v1/`){let n=async(e,t)=>(t.headers??={},Array.isArray(t.headers)?t.headers.push([`anthropic-dangerous-direct-browser-access`,`true`]):t.headers instanceof Headers?t.headers.append(`anthropic-dangerous-direct-browser-access`,`true`):t.headers[`anthropic-dangerous-direct-browser-access`]=`true`,fetch(e,t));return ow(aw(`anthropic`),ew({apiKey:e,fetch:n,baseURL:t}),nw({apiKey:e,fetch:n,baseURL:t}))}const VD=Ne(`providers`,()=>{let e=Ke(`settings/credentials/providers`,{}),{t}=rt(),n=w(()=>e=>{let t=``;return e?typeof e==`string`?!Ie(e)||new URL(e).host.length===0?t=`Base URL is not absolute. Try to include a scheme (http:// or https://).`:e.endsWith(`/`)||(t=`Base URL must end with a trailing slash (/).`):t=`Base URL must be a string.`:t=`Base URL is required.`,t?{errors:[Error(t)],reason:t,valid:!1}:null});async function r(){return Fe()?!1:!!(await ot()||`navigator`in globalThis&&globalThis.navigator!=null&&`deviceMemory`in globalThis.navigator&&typeof globalThis.navigator.deviceMemory==`number`&&globalThis.navigator.deviceMemory>=8)}let i={"openrouter-ai":RD({id:`openrouter-ai`,name:`OpenRouter`,nameKey:`settings.pages.providers.provider.openrouter.title`,descriptionKey:`settings.pages.providers.provider.openrouter.description`,icon:`i-lobe-icons:openrouter`,description:`openrouter.ai`,defaultBaseUrl:`https://openrouter.ai/api/v1/`,creator:KC,validation:[`health`,`model_list`],validators:{validateProviderConfig:async e=>{let t=[];if(e.apiKey||t.push(Error(`API Key is required`)),e.baseUrl||t.push(Error(`Base URL is required`)),t.length>0||((!Ie(e.baseUrl)||new URL(e.baseUrl).host.length===0)&&t.push(Error(`Base URL is not absolute. Check your input.`)),e.baseUrl.endsWith(`/`)||t.push(Error(`Base URL must end with a trailing slash (/).`)),t.length>0))return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let n=await(await fetch(`${e.baseUrl}chat/completions`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:`POST`,body:`{"model": "test","messages": [{"role": "user","content": "Hello, world"}],"stream": false}`})).json();return n.user_id?{errors:[],reason:``,valid:!0}:{errors:[Error(`OpenRouterError: ${n.error.message}`)],reason:`OpenRouterError: ${n.error.message}`,valid:!1}}}}),"app-local-audio-speech":RD({id:`app-local-audio-speech`,name:`App (Local)`,nameKey:`settings.pages.providers.provider.app-local-audio-speech.title`,descriptionKey:`settings.pages.providers.provider.app-local-audio-speech.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/huggingface/candle`,category:`speech`,tasks:[`text-to-speech`,`tts`],isAvailableBy:Fe,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"app-local-audio-transcription":RD({id:`app-local-audio-transcription`,name:`App (Local)`,nameKey:`settings.pages.providers.provider.app-local-audio-transcription.title`,descriptionKey:`settings.pages.providers.provider.app-local-audio-transcription.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/huggingface/candle`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],isAvailableBy:Fe,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"browser-local-audio-speech":RD({id:`browser-local-audio-speech`,name:`Browser (Local)`,nameKey:`settings.pages.providers.provider.browser-local-audio-speech.title`,descriptionKey:`settings.pages.providers.provider.browser-local-audio-speech.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/moeru-ai/xsai-transformers`,category:`speech`,tasks:[`text-to-speech`,`tts`],isAvailableBy:r,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"browser-local-audio-transcription":RD({id:`browser-local-audio-transcription`,name:`Browser (Local)`,nameKey:`settings.pages.providers.provider.browser-local-audio-transcription.title`,descriptionKey:`settings.pages.providers.provider.browser-local-audio-transcription.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/moeru-ai/xsai-transformers`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],isAvailableBy:r,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),ollama:{id:`ollama`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.ollama.title`,name:`Ollama`,descriptionKey:`settings.pages.providers.provider.ollama.description`,description:`ollama.com`,icon:`i-lobe-icons:ollama`,defaultOptions:()=>({baseUrl:`http://localhost:11434/v1/`}),createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await sw({...ZC(e.baseUrl.trim()).model()})).map(e=>({id:e.id,name:e.id,provider:`ollama`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`Ollama server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Ollama server, error: ${String(e)} occurred.\n\nIf you are using Ollama locally, this is likely the CORS (Cross-Origin Resource Sharing) security issue, where you will need to set OLLAMA_ORIGINS=* or OLLAMA_ORIGINS=https://airi.moeru.ai,${location.origin} environment variable before launching Ollama server to make this work.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:11434/v1/ for Ollama.`,valid:!1}}},"ollama-embedding":{id:`ollama-embedding`,category:`embed`,tasks:[`text-feature-extraction`],nameKey:`settings.pages.providers.provider.ollama.title`,name:`Ollama`,descriptionKey:`settings.pages.providers.provider.ollama.description`,description:`ollama.com`,icon:`i-lobe-icons:ollama`,defaultOptions:()=>({baseUrl:`http://localhost:11434/v1/`}),createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await sw({...ZC(e.baseUrl.trim()).model()})).map(e=>({id:e.id,name:e.id,provider:`ollama`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`Ollama server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Ollama server, error: ${String(e)} occurred.\n\nIf you are using Ollama locally, this is likely the CORS (Cross-Origin Resource Sharing) security issue, where you will need to set OLLAMA_ORIGINS=* or OLLAMA_ORIGINS=https://airi.moeru.ai,http://localhost environment variable before launching Ollama server to make this work.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:11434/v1/ for Ollama.`,valid:!1}}},"lm-studio":{id:`lm-studio`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.lm-studio.title`,name:`LM Studio`,descriptionKey:`settings.pages.providers.provider.lm-studio.description`,description:`lmstudio.ai`,icon:`i-lobe-icons:lmstudio`,defaultOptions:()=>({baseUrl:`http://localhost:1234/v1/`}),createProvider:async e=>GC(``,e.baseUrl.trim()),capabilities:{listModels:async e=>{try{let t=await fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0});if(!t.ok)throw Error(`LM Studio server returned non-ok status code: ${t.statusText}`);return(await t.json()).data.map(e=>({id:e.id,name:e.id,provider:`lm-studio`,description:e.description||``,contextLength:e.context_length||0,deprecated:!1}))}catch(e){return console.error(`Error fetching LM Studio models:`,e),[]}}},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`LM Studio server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach LM Studio server, error: ${String(e)} occurred.\n\nMake sure LM Studio is running and the local server is started. You can start the local server in LM Studio by going to the 'Local Server' tab and clicking 'Start Server'.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:1234/v1/ for LM Studio.`,valid:!1}}},openai:RD({id:`openai`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`,`model_list`]}),"openai-compatible":RD({id:`openai-compatible`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,creator:GC,validation:[`health`]}),"openai-audio-speech":RD({id:`openai-audio-speech`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,category:`speech`,tasks:[`text-to-speech`],defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`],capabilities:{listVoices:async()=>[{id:`alloy`,name:`Alloy`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`ash`,name:`Ash`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`ballad`,name:`Ballad`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`coral`,name:`Coral`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`echo`,name:`Echo`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`fable`,name:`Fable`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`onyx`,name:`Onyx`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`nova`,name:`Nova`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`sage`,name:`Sage`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`shimmer`,name:`Shimmer`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`verse`,name:`Verse`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]}],listModels:async()=>[{id:`tts-1`,name:`TTS-1`,provider:`openai-audio-speech`,description:``,contextLength:0,deprecated:!1},{id:`tts-1-hd`,name:`TTS-1-HD`,provider:`openai-audio-speech`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API Key is required`),!e.baseUrl&&Error(`Base URL is required. Default to https://api.openai.com/v1/ for official OpenAI API.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}}),"openai-compatible-audio-speech":RD({id:`openai-compatible-audio-speech`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,category:`speech`,tasks:[`text-to-speech`],capabilities:{listVoices:async()=>[]},creator:GC}),"openai-audio-transcription":RD({id:`openai-audio-transcription`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`],validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API Key is required`),!e.baseUrl&&Error(`Base URL is required. Default to https://api.openai.com/v1/ for official OpenAI API.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}}),"openai-compatible-audio-transcription":RD({id:`openai-compatible-audio-transcription`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],creator:GC}),"aliyun-nls-transcription":{id:`aliyun-nls-transcription`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`,`streaming-transcription`],nameKey:`settings.pages.providers.provider.aliyun-nls.title`,name:`Aliyun NLS`,descriptionKey:`settings.pages.providers.provider.aliyun-nls.description`,description:`nls-console.aliyun.com`,icon:`i-lobe-icons:alibabacloud`,defaultOptions:()=>({accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`}),transcriptionFeatures:{supportsGenerate:!1,supportsStreamOutput:!0,supportsStreamInput:!0},createProvider:async e=>{let t=e=>typeof e==`string`?e.trim():``,n=t(e.accessKeyId),r=t(e.accessKeySecret),i=t(e.appKey),a=t(e.region),o=zD.includes(a)?a:`cn-shanghai`;if(!n||!r||!i)throw Error(`Aliyun NLS credentials are incomplete.`);let s=yD(n,r,i,{region:o});return{transcription(e,t){return s.speech(e,t)}}},capabilities:{listModels:async()=>[{id:`aliyun-nls-v1`,name:`Aliyun NLS Realtime`,provider:`aliyun-nls-transcription`,description:`Realtime streaming transcription using Aliyun NLS.`,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[],n=e=>typeof e==`string`?e.trim():``,r=n(e.accessKeyId),i=n(e.accessKeySecret),a=n(e.appKey),o=n(e.region);return r||t.push(Error(`Access Key ID is required.`)),i||t.push(Error(`Access Key Secret is required.`)),a||t.push(Error(`App Key is required.`)),o&&!zD.includes(o)&&t.push(Error(`Region is invalid.`)),{errors:t,reason:t.length>0?t.map(e=>e.message).join(`, `):``,valid:t.length===0}}}},anthropic:RD({id:`anthropic`,name:`Anthropic`,nameKey:`settings.pages.providers.provider.anthropic.title`,descriptionKey:`settings.pages.providers.provider.anthropic.description`,icon:`i-lobe-icons:anthropic`,description:`anthropic.com`,defaultBaseUrl:`https://api.anthropic.com/v1/`,creator:BD,validation:[`health`],additionalHeaders:{"anthropic-dangerous-direct-browser-access":`true`},capabilities:{listModels:async()=>[{id:`claude-haiku-4-5-20251001`,name:`Claude Haiku 4.5`,provider:`anthropic`,description:`Anthropic fastest model with near-frontier intelligence`},{id:`claude-sonnet-4-5-20250929`,name:`Claude Sonnet 4.5`,provider:`anthropic`,description:`Anthropic smartest model for complex agents and coding`},{id:`claude-opus-4-1-20250805`,name:`Claude Opus 4.1`,provider:`anthropic`,description:`Exceptional model for specialized reasoning tasks`}]}}),"google-generative-ai":RD({id:`google-generative-ai`,name:`Google Gemini`,nameKey:`settings.pages.providers.provider.google-generative-ai.title`,descriptionKey:`settings.pages.providers.provider.google-generative-ai.description`,icon:`i-lobe-icons:gemini`,description:`ai.google.dev`,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta/openai/`,creator:VC,validation:[`health`,`model_list`]}),deepseek:RD({id:`deepseek`,name:`DeepSeek`,nameKey:`settings.pages.providers.provider.deepseek.title`,descriptionKey:`settings.pages.providers.provider.deepseek.description`,icon:`i-lobe-icons:deepseek`,description:`deepseek.com`,defaultBaseUrl:`https://api.deepseek.com/`,creator:zC,validation:[`health`,`model_list`]}),"302-ai":RD({id:`302-ai`,name:`302.AI`,nameKey:`settings.pages.providers.provider.302-ai.title`,descriptionKey:`settings.pages.providers.provider.302-ai.description`,icon:`i-lobe-icons:ai302`,description:`302.ai`,defaultBaseUrl:`https://api.302.ai/v1/`,creator:(e,t=`https://api.302.ai/v1/`)=>ow(ew({apiKey:e,baseURL:t}),tw({apiKey:e,baseURL:t}),nw({apiKey:e,baseURL:t})),validation:[`model_list`]}),elevenlabs:{id:`elevenlabs`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.elevenlabs.title`,name:`ElevenLabs`,descriptionKey:`settings.pages.providers.provider.elevenlabs.description`,description:`elevenlabs.io`,icon:`i-simple-icons:elevenlabs`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`,voiceSettings:{similarityBoost:.75,stability:.5}}),createProvider:async e=>_w(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>bD.map(e=>({id:e.model_id,name:e.name,provider:`elevenlabs`,description:e.description,contextLength:0,deprecated:!1})),listVoices:async e=>{let t=await xw({..._w(e.apiKey.trim(),e.baseUrl.trim()).voice()}),n=t.findIndex(e=>e.name.includes(`Aria`)),r=t.findIndex(e=>e.name.includes(`Bill`)),i=n===-1?0:n,a=r===-1?t.length-1:r,o=Math.min(i,a),s=Math.max(i,a);return[...t.slice(0,o),...t.slice(s+1),...t.slice(o,s+1)].map(e=>({id:e.id,name:e.name,provider:`elevenlabs`,previewURL:e.preview_audio_url,languages:e.languages}))}},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},"microsoft-speech":{id:`microsoft-speech`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.microsoft-speech.title`,name:`Microsoft / Azure Speech`,descriptionKey:`settings.pages.providers.provider.microsoft-speech.description`,description:`speech.microsoft.com`,iconColor:`i-lobe-icons:microsoft`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>vw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`v1`,name:`v1`,provider:`microsoft-speech`,description:``,contextLength:0,deprecated:!1}],listVoices:async e=>(await xw({...vw(e.apiKey.trim(),e.baseUrl.trim()).voice({region:e.region})})).map(e=>({id:e.id,name:e.name,provider:`microsoft-speech`,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender}))},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},"index-tts-vllm":{id:`index-tts-vllm`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.index-tts-vllm.title`,name:`Index-TTS by Bilibili`,descriptionKey:`settings.pages.providers.provider.index-tts-vllm.description`,description:`index-tts.github.io`,iconColor:`i-lobe-icons:bilibiliindex`,defaultOptions:()=>({baseUrl:`http://localhost:11996/tts/`}),createProvider:async e=>({speech:()=>({baseURL:e.baseUrl,model:`IndexTTS-1.5`})}),capabilities:{listVoices:async e=>{let t=e.baseUrl,n=await fetch(`${t}audio/voices`);if(!n.ok)throw Error(`Failed to fetch voices: ${n.statusText}`);let r=await n.json();return Object.keys(r).map(e=>({id:e,name:e,provider:`index-tts-vllm`,languages:[{code:`cn`,title:`Chinese`},{code:`en`,title:`English`}]}))}},validators:{validateProviderConfig:e=>{let t=[!e.baseUrl&&Error(`Base URL is required. Default to http://localhost:11996/tts/ for Index-TTS.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.baseUrl}}}},"alibaba-cloud-model-studio":{id:`alibaba-cloud-model-studio`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.alibaba-cloud-model-studio.title`,name:`Alibaba Cloud Model Studio`,descriptionKey:`settings.pages.providers.provider.alibaba-cloud-model-studio.description`,description:`bailian.console.aliyun.com`,iconColor:`i-lobe-icons:alibabacloud`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>bw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await xw({...bw(e.apiKey.trim(),e.baseUrl.trim()).voice()})).map(e=>({id:e.id,name:e.name,provider:`alibaba-cloud-model-studio`,compatibleModels:e.compatible_models,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender})),listModels:async()=>[{id:`cosyvoice-v1`,name:`CosyVoice`,provider:`alibaba-cloud-model-studio`,description:``,contextLength:0,deprecated:!1},{id:`cosyvoice-v2`,name:`CosyVoice (New)`,provider:`alibaba-cloud-model-studio`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},volcengine:{id:`volcengine`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.volcengine.title`,name:`settings.pages.providers.provider.volcengine.title`,descriptionKey:`settings.pages.providers.provider.volcengine.description`,description:`volcengine.com`,iconColor:`i-lobe-icons:volcengine`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>yw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await xw({...yw(e.apiKey.trim(),e.baseUrl.trim()).voice()})).map(e=>({id:e.id,name:e.name,provider:`volcano-engine`,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender})),listModels:async()=>[{id:`v1`,name:`v1`,provider:`volcano-engine`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`),!e.app?.appId&&Error(`App ID is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl&&!!e.app&&!!e.app.appId}}}},"comet-api-speech":RD({id:`comet-api-speech`,name:`CometAPI Speech`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,category:`speech`,tasks:[`text-to-speech`],defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(nw({apiKey:e,baseURL:t}),rw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"comet-api-transcription":RD({id:`comet-api-transcription`,name:`CometAPI Transcription`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(nw({apiKey:e,baseURL:t}),iw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"cerebras-ai":RD({id:`cerebras-ai`,name:`Cerebras`,nameKey:`settings.pages.providers.provider.cerebras.title`,descriptionKey:`settings.pages.providers.provider.cerebras.description`,icon:`i-lobe-icons:cerebras`,description:`cerebras.ai`,defaultBaseUrl:`https://api.cerebras.ai/v1/`,creator:RC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:cerebras-color`}),"together-ai":RD({id:`together-ai`,name:`Together.ai`,nameKey:`settings.pages.providers.provider.together.title`,descriptionKey:`settings.pages.providers.provider.together.description`,icon:`i-lobe-icons:together`,description:`together.ai`,defaultBaseUrl:`https://api.together.xyz/v1/`,creator:JC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:together`}),"azure-ai-foundry":{id:`azure-ai-foundry`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.azure-ai-foundry.title`,name:`Azure AI Foundry`,descriptionKey:`settings.pages.providers.provider.azure-ai-foundry.description`,description:`azure.com`,icon:`i-lobe-icons:microsoft`,defaultOptions:()=>({}),createProvider:async e=>await LC({apiKey:async()=>e.apiKey.trim(),resourceName:e.resourceName,apiVersion:e.apiVersion}),capabilities:{listModels:async e=>[{id:e.modelId}].map(e=>({id:e.id,name:e.id,provider:`azure-ai-foundry`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required`),!e.resourceName&&Error(`Resource name is required`),!e.modelId&&Error(`Model ID is required`)];return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.resourceName&&!!e.modelId}}}},xai:RD({id:`xai`,name:`xAI`,nameKey:`settings.pages.providers.provider.xai.title`,descriptionKey:`settings.pages.providers.provider.xai.description`,icon:`i-lobe-icons:xai`,description:`x.ai`,defaultBaseUrl:`https://api.x.ai/v1/`,creator:XC,validation:[`health`,`model_list`]}),vllm:{id:`vllm`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.vllm.title`,name:`vLLM`,descriptionKey:`settings.pages.providers.provider.vllm.description`,description:`vllm.ai`,iconColor:`i-lobe-icons:vllm`,createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`llama-2-7b`,name:`Llama 2 (7B)`,provider:`vllm`,description:`Meta's Llama 2 7B parameter model`,contextLength:4096},{id:`llama-2-13b`,name:`Llama 2 (13B)`,provider:`vllm`,description:`Meta's Llama 2 13B parameter model`,contextLength:4096},{id:`llama-2-70b`,name:`Llama 2 (70B)`,provider:`vllm`,description:`Meta's Llama 2 70B parameter model`,contextLength:4096},{id:`mistral-7b`,name:`Mistral (7B)`,provider:`vllm`,description:`Mistral AI's 7B parameter model`,contextLength:8192},{id:`mixtral-8x7b`,name:`Mixtral (8x7B)`,provider:`vllm`,description:`Mistral AI's Mixtral 8x7B MoE model`,contextLength:32768},{id:`custom`,name:`Custom Model`,provider:`vllm`,description:`Specify a custom model name`,contextLength:0}]},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`vLLM returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach vLLM, error: ${String(e)} occurred.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:8000/v1/ for vLLM.`,valid:!1}}},"novita-ai":RD({id:`novita-ai`,name:`Novita`,nameKey:`settings.pages.providers.provider.novita.title`,descriptionKey:`settings.pages.providers.provider.novita.description`,icon:`i-lobe-icons:novita`,description:`novita.ai`,defaultBaseUrl:`https://api.novita.ai/openai/`,creator:WC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:novita`}),"fireworks-ai":RD({id:`fireworks-ai`,name:`Fireworks.ai`,nameKey:`settings.pages.providers.provider.fireworks.title`,descriptionKey:`settings.pages.providers.provider.fireworks.description`,icon:`i-lobe-icons:fireworks`,description:`fireworks.ai`,defaultBaseUrl:`https://api.fireworks.ai/inference/v1/`,creator:BC,validation:[`health`,`model_list`]}),"featherless-ai":RD({id:`featherless-ai`,name:`Featherless.ai`,nameKey:`settings.pages.providers.provider.featherless.title`,descriptionKey:`settings.pages.providers.provider.featherless.description`,icon:`i-lobe-icons:featherless-ai`,description:`featherless.ai`,defaultBaseUrl:`https://api.featherless.ai/v1/`,creator:GC,validation:[`health`,`model_list`]}),"cloudflare-workers-ai":{id:`cloudflare-workers-ai`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.cloudflare-workers-ai.title`,name:`Cloudflare Workers AI`,descriptionKey:`settings.pages.providers.provider.cloudflare-workers-ai.description`,description:`cloudflare.com`,iconColor:`i-lobe-icons:cloudflare`,createProvider:async e=>YC(e.apiKey.trim(),e.accountId),capabilities:{listModels:async()=>[]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.accountId&&Error(`Account ID is required.`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.accountId}}}},"comet-api":RD({id:`comet-api`,name:`CometAPI`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(ew({apiKey:e,baseURL:t}),nw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"perplexity-ai":RD({id:`perplexity-ai`,name:`Perplexity`,nameKey:`settings.pages.providers.provider.perplexity.title`,descriptionKey:`settings.pages.providers.provider.perplexity.description`,icon:`i-lobe-icons:perplexity`,description:`perplexity.ai`,defaultBaseUrl:`https://api.perplexity.ai/`,creator:qC,validation:[`health`,`model_list`]}),"mistral-ai":RD({id:`mistral-ai`,name:`Mistral`,nameKey:`settings.pages.providers.provider.mistral.title`,descriptionKey:`settings.pages.providers.provider.mistral.description`,icon:`i-lobe-icons:mistral`,description:`mistral.ai`,defaultBaseUrl:`https://api.mistral.ai/v1/`,creator:HC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:mistral`}),"moonshot-ai":RD({id:`moonshot-ai`,name:`Moonshot AI`,nameKey:`settings.pages.providers.provider.moonshot.title`,descriptionKey:`settings.pages.providers.provider.moonshot.description`,icon:`i-lobe-icons:moonshot`,description:`moonshot.ai`,defaultBaseUrl:`https://api.moonshot.ai/v1/`,creator:UC,validation:[`health`,`model_list`]}),modelscope:RD({id:`modelscope`,name:`ModelScope`,nameKey:`settings.pages.providers.provider.modelscope.title`,descriptionKey:`settings.pages.providers.provider.modelscope.description`,icon:`i-lobe-icons:modelscope`,description:`modelscope`,defaultBaseUrl:`https://api-inference.modelscope.cn/v1/`,creator:GC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:modelscope`}),player2:{id:`player2`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.player2.title`,name:`Player2`,descriptionKey:`settings.pages.providers.provider.player2.description`,description:`player2.game`,icon:`i-lobe-icons:player2`,defaultOptions:()=>({baseUrl:`http://localhost:4315/v1/`}),createProvider:e=>$C(e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`player2-model`,name:`Player2 Model`,provider:`player2`}]},validators:{validateProviderConfig:async e=>e.baseUrl?n.value(e.baseUrl)||await fetch(`${e.baseUrl}health`,{method:`GET`,headers:{"player2-game-key":`airi`}}).then(e=>{let t=[!e.ok&&Error(`Player 2 returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Player 2, error: ${String(e)} occurred. If you do not have Player 2 running, please start it and try again.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:4315/v1/`,valid:!1}}},"player2-speech":{id:`player2-speech`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.player2.title`,name:`Player2 Speech`,descriptionKey:`settings.pages.providers.provider.player2.description`,description:`player2.game`,icon:`i-lobe-icons:player2`,defaultOptions:()=>({baseUrl:`http://localhost:4315/v1/`}),createProvider:async e=>$C(e.baseUrl.trim(),`airi`),capabilities:{listVoices:async e=>{let t=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl;return await fetch(`${t}/tts/voices`).then(e=>e.json()).then(({voices:e})=>e.map(({id:e,language:t,name:n,gender:r})=>({id:e,name:n,provider:`player2-speech`,gender:r,languages:[{american_english:{code:`en`,title:`English`},british_english:{code:`en`,title:`English`},japanese:{code:`ja`,title:`Japanese`},mandarin_chinese:{code:`zh`,title:`Chinese`},spanish:{code:`es`,title:`Spanish`},french:{code:`fr`,title:`French`},hindi:{code:`hi`,title:`Hindi`},italian:{code:`it`,title:`Italian`},brazilian_portuguese:{code:`pt`,title:`Portuguese`}}[t]]})))}},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:4315/v1/`,valid:!1}}}},a=M({}),o=M({});async function s(t){let n=e.value[t];if(!n)return!1;let r=JSON.stringify(n||{});if(o.value[t]===r&&typeof a.value[t]==`boolean`)return a.value[t];let s=i[t];if(!s)return!1;o.value[t]=r;let c=await s.validators.validateProviderConfig(n);return a.value[t]=c.valid,c.valid}function c(t){if(!e.value[t]){let n=i[t].defaultOptions?.()||{};e.value[t]={...n,...Object.prototype.hasOwnProperty.call(n,`baseUrl`)?{}:{baseUrl:``}}}}Object.keys(i).forEach(c);async function l(){await Promise.all(Object.entries(i).map(async([e])=>{try{a.value[e]=await s(e)}catch{a.value[e]=!1}}))}C(e,l,{deep:!0,immediate:!0});let u=w(()=>Object.keys(i).filter(e=>a.value[e])),d=M({}),f=M({}),p=M({});async function m(t){let n=e.value[t];if(!n)return[];let r=i[t];if(!r)return[];f.value[t]=!0,p.value[t]=null;try{let e=r.capabilities.listModels?await r.capabilities.listModels(n):[];return d.value[t]=e.map(e=>({id:e.id,name:e.name,description:e.description,contextLength:e.contextLength,deprecated:e.deprecated,provider:t})),d.value[t]}catch(e){return console.error(`Error fetching models for ${t}:`,e),p.value[t]=e instanceof Error?e.message:`Unknown error`,[]}finally{f.value[t]=!1}}function h(e){return d.value[e]||[]}let g=w(()=>{let e=[];for(let t of u.value)e.push(...d.value[t]||[]);return e});async function _(){for(let e of u.value)i[e].capabilities.listModels&&await m(e)}C(e,(e,t)=>{let n=Object.keys(e).filter(n=>JSON.stringify(e[n])!==JSON.stringify(t?.[n]));for(let e of n)a.value[e]&&i[e]?.capabilities.listModels&&m(e)},{deep:!0});function v(e){let n=i[e];if(!n)throw Error(`Provider metadata for ${e} not found`);return{...n,localizedName:t(n.nameKey,n.name),localizedDescription:t(n.descriptionKey,n.description)}}let y=w(()=>Object.values(i).map(e=>({...e,localizedName:t(e.nameKey,e.name),localizedDescription:t(e.descriptionKey,e.description),configured:a.value[e.id]||!1})));function b(e){let t=i[e]?.transcriptionFeatures;return{supportsGenerate:t?.supportsGenerate??!0,supportsStreamOutput:t?.supportsStreamOutput??!1,supportsStreamInput:t?.supportsStreamInput??!1}}async function x(t){let n=e.value[t];if(!n)throw Error(`Provider credentials for ${t} not found`);let r=i[t];if(!r)throw Error(`Provider metadata for ${t} not found`);try{return await r.createProvider(n)}catch(e){throw console.error(`Error creating provider instance for ${t}:`,e),e}}let S=Xe(async()=>{let e=[];for(let t of y.value)await(v(t.id).isAvailableBy||(()=>!0))()&&e.push(t);return e},[]),ee=w(()=>S.value.filter(e=>e.category===`chat`)),T=w(()=>S.value.filter(e=>e.category===`speech`)),E=w(()=>S.value.filter(e=>e.category===`transcription`)),D=w(()=>ee.value.filter(e=>a.value[e.id])),O=w(()=>T.value.filter(e=>a.value[e.id])),te=w(()=>E.value.filter(e=>a.value[e.id]));function k(t){return e.value[t]}return{providers:e,getProviderConfig:k,availableProviders:u,configuredProviders:a,providerMetadata:i,getProviderMetadata:v,getTranscriptionFeatures:b,allProvidersMetadata:y,initializeProvider:c,validateProvider:s,availableModels:d,isLoadingModels:f,modelLoadError:p,fetchModelsForProvider:m,getModelsForProvider:h,allAvailableModels:g,loadModelsForConfiguredProviders:_,getProviderInstance:x,availableProvidersMetadata:S,allChatProvidersMetadata:ee,allAudioSpeechProvidersMetadata:T,allAudioTranscriptionProvidersMetadata:E,configuredChatProvidersMetadata:D,configuredSpeechProvidersMetadata:O,configuredTranscriptionProvidersMetadata:te}}),HD=Ne(`consciousness`,()=>{let e=VD(),t=Ke(`settings/consciousness/active-provider`,``),n=Ke(`settings/consciousness/active-model`,``),r=Ke(`settings/consciousness/active-custom-model`,``),i=M({}),a=M(``),o=w(()=>e.getProviderMetadata(t.value)?.capabilities.listModels!==void 0),s=w(()=>e.getModelsForProvider(t.value)),c=w(()=>e.isLoadingModels[t.value]||!1),l=w(()=>e.modelLoadError[t.value]||null),u=w(()=>{if(!a.value.trim())return s.value;let e=a.value.toLowerCase().trim();return s.value.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function d(){n.value=``,r.value=``,i.value={},a.value=``}async function f(t){t&&e.getProviderMetadata(t)?.capabilities.listModels!==void 0&&await e.fetchModelsForProvider(t)}async function p(t){return t&&e.getProviderMetadata(t)?.capabilities.listModels!==void 0?e.getModelsForProvider(t):[]}return{configured:w(()=>!!t.value&&!!n.value),activeProvider:t,activeModel:n,customModelName:r,expandedDescriptions:i,modelSearchQuery:a,supportsModelListing:o,providerModels:s,isLoadingActiveProviderModels:c,activeProviderModelError:l,filteredModels:u,resetModelSelection:d,loadModelsForProvider:f,getModelsForProvider:p}}),UD=Symbol(`onboarding-context`);var WD={"h-full":``,flex:``,"flex-col":``,"gap-4":``},GD={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},KD={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},qD={"flex-1":``},JD={class:`whitespace-pre-wrap break-all`},YD=r({__name:`step-model-selection`,setup(e){let{t}=rt(),n=s(UD),{activeModel:r,modelSearchQuery:i,providerModels:a,isLoadingActiveProviderModels:o}=Pe(HD());return(e,s)=>(d(),A(`div`,WD,[j(`div`,GD,[j(`button`,{"outline-none":``,onClick:s[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...s[3]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,KD,h(O(t)(`settings.dialogs.onboarding.select-model`)),1),s[4]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),j(`div`,qD,[O(a).length>0?(d(),_(O(fS),{key:0,modelValue:O(r),"onUpdate:modelValue":s[1]||=e=>T(r)?r.value=e:null,"search-query":O(i),"onUpdate:searchQuery":s[2]||=e=>T(i)?i.value=e:null,items:O(a).toSorted((e,t)=>e.id===O(r)?-1:t.id===O(r)?1:0),searchable:!0,"search-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:O(i)}),"search-results-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"list-class":`max-h-[calc(100dvh-17rem)] sm:max-h-120`},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):(d(),_(ve,{key:1,type:`error`},{title:k(()=>[p(h(O(t)(`settings.dialogs.onboarding.no-models`)),1)]),content:k(()=>[j(`div`,JD,h(O(t)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),D(O(Te),{variant:`primary`,disabled:!O(r),loading:O(o),label:O(t)(`settings.dialogs.onboarding.saveAndContinue`),onClick:O(n).handleSave},null,8,[`disabled`,`loading`,`label`,`onClick`])]))}}),XD=r({__name:`ProviderAccountIdInput`,props:g({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ie(e,`modelValue`);return(e,r)=>(d(),_(O(je),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Account ID`,description:t.description||`Account ID`,placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),ZD=[`onClick`],QD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},$D={"mt-4":``},eO=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=M(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(d(),_(le,{"w-full":``},{trigger:k(t=>[j(`button`,{transition:`all ease-in-out duration-250`,"w-full":``,flex:``,"items-center":``,"gap-1.5":``,"outline-none":``,class:`[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0`,onClick:()=>t.setVisible(!t.visible)&&n()},[j(`h2`,QD,[j(`span`,null,h(e.title||`Advanced`),1)]),j(`div`,{transform:``,transition:`transform duration-250`,class:E({"rotate-180":t.visible})},[...r[0]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,ZD)]),default:k(()=>[j(`div`,$D,[b(t.$slots,`default`)])]),_:3}))}}),tO=r({__name:`ProviderApiKeyInput`,props:g({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=rt(),r=ie(e,`modelValue`),i=w(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(d(),_(O(je),{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,label:e.label||O(n)(`settings.pages.providers.common.fields.field.api-key.label`),description:i.value,placeholder:e.placeholder,required:e.required,type:`password`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),nO=r({__name:`ProviderBaseUrlInput`,props:g({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ie(e,`modelValue`);return(e,r)=>(d(),_(O(je),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Base URL`,description:t.description||(t.required?`Base URL`:`Custom base URL (optional)`),placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),rO={flex:`~ col gap-6`},iO={flex:`~ row`,"items-center":``,"justify-between":``},aO={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},oO={text:`neutral-400 dark:neutral-500`},sO=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(d(),A(`div`,rO,[j(`div`,iO,[j(`div`,null,[j(`h2`,aO,h(e.title||`Basic`),1),j(`div`,oO,[j(`span`,null,h(e.description||`Essential settings`),1)])]),e.onReset?(d(),A(`button`,{key:0,title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:n[0]||=(...t)=>e.onReset&&e.onReset(...t)},[...n[1]||=[j(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),b(t.$slots,`default`)]))}}),cO={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},lO=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(d(),A(`div`,cO,[b(e.$slots,`default`)]))}}),uO={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``},dO=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=x(`motion`);return d(),A(ne,null,[b(t.$slots,`default`),se((d(),A(`div`,uO,[j(`div`,{text:`60`,class:E(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),fO=typeof window<`u`,pO=fO?window:null,mO=fO?document:null,hO={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},gO={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},_O={NONE:0,AUTO:1,FORCE:2},vO={replace:0,none:1,blend:2},yO=Symbol(),bO=Symbol(),xO=Symbol(),SO=Symbol(),CO=Symbol(),wO=1e-11,TO=0xe8d4a51000,EO=1e3,DO=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),OO=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],kO=OO.reduce((e,t)=>({...e,[t]:t+`(`}),{}),AO=()=>{},jO=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,MO=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,NO=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,PO=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,FO=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,IO=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,LO=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,RO=/([a-z])([A-Z])/g,zO=/(\w+)(\([^)]+\)+)/g,BO=/(\*=|\+=|-=)/,VO=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,HO={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:EO,delay:0,loopDelay:0,ease:`out(2)`,composition:vO.replace,modifier:e=>e,onBegin:AO,onBeforeUpdate:AO,onUpdate:AO,onLoop:AO,onPause:AO,onComplete:AO,onRender:AO},UO={current:null,root:mO},WO={defaults:HO,precision:4,timeScale:1,tickThreshold:200},GO={version:`4.2.2`,engine:null};fO&&(pO.AnimeJS||=[],pO.AnimeJS.push(GO));var KO=e=>e.replace(RO,`$1-$2`).toLowerCase(),qO=(e,t)=>e.indexOf(t)===0,JO=Date.now,YO=Array.isArray,XO=e=>e&&e.constructor===Object,ZO=e=>typeof e==`number`&&!isNaN(e),QO=e=>typeof e==`string`,$O=e=>typeof e==`function`,ek=e=>e===void 0,tk=e=>ek(e)||e===null,nk=e=>fO&&e instanceof SVGElement,rk=e=>jO.test(e),ik=e=>qO(e,`rgb`),ak=e=>qO(e,`hsl`),ok=e=>rk(e)||ik(e)||ak(e),sk=e=>!WO.defaults.hasOwnProperty(e),ck=[`opacity`,`rotate`,`overflow`,`color`],lk=(e,t)=>{if(ck.includes(t))return!1;if(e.getAttribute(t)||t in e){if(t===`scale`){let t=e.parentNode;return t&&t.tagName===`filter`}return!0}},uk=Math.pow,dk=Math.sqrt,fk=Math.sin,pk=Math.cos,mk=Math.floor,hk=Math.asin,gk=Math.PI,_k=Math.round,vk=(e,t,n)=>en?n:e,yk={},bk=(e,t)=>{if(t<0)return e;if(!t)return _k(e);let n=yk[t];return n||=yk[t]=10**t,_k(e*n)/n},xk=(e,t,n)=>e+(t-e)*n,Sk=e=>e===1/0?TO:e===-1/0?-TO:e,Ck=e=>e<=1e-11?wO:Sk(bk(e,11)),wk=e=>YO(e)?[...e]:e,Tk=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=ek(i)?t[r]:i}return n},Ek=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._head,o=i;for(n&&(a=e._tail,o=r);a;){let e=a[o];t(a),a=e}},Dk=(e,t,n=`_prev`,r=`_next`)=>{let i=t[n],a=t[r];i?i[r]=a:e._head=a,a?a[n]=i:e._tail=i,t[n]=null,t[r]=null},Ok=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._tail;for(;a&&n&&n(a,t);)a=a[r];let o=a?a[i]:e._head;a?a[i]=t:e._head=t,o?o[r]=t:e._tail=t,t[r]=a,t[i]=o},kk=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[SO],o;for(;o=zO.exec(r);){let e=o[1],r=o[2].slice(1,-1);a[e]=r,e===t&&(i=r,n&&(n[t]=r))}}return r&&!ek(i)?i:qO(t,`scale`)?`1`:qO(t,`rotate`)||qO(t,`skew`)?`0deg`:`0px`},Ak=e=>{let t=MO.exec(e)||NO.exec(e),n=ek(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},jk=e=>{let t=e.length,n=t===4||t===5;return[+(`0x`+e[1]+e[n?1:2]),+(`0x`+e[n?2:3]+e[n?2:4]),+(`0x`+e[n?3:5]+e[n?3:6]),t===5||t===9?+((`0x`+e[n?4:7]+e[n?4:8])/255).toFixed(3):1]},Mk=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),Nk=e=>{let t=PO.exec(e)||FO.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=ek(t[4])?1:+t[4],o,s,c;if(r===0)o=s=c=i;else{let e=i<.5?i*(1+r):i+r-i*r,t=2*i-e;o=bk(Mk(t,e,n+1/3)*255,0),s=bk(Mk(t,e,n)*255,0),c=bk(Mk(t,e,n-1/3)*255,0)}return[o,s,c,a]},Pk=e=>ik(e)?Ak(e):rk(e)?jk(e):ak(e)?Nk(e):[0,0,0,1],Fk=(e,t)=>ek(e)?t:e,Ik=(e,t,n,r,i)=>{let a;if($O(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(QO(e)&&qO(e,`var(`))a=()=>{let n=e.match(VO),r=n[1],i=n[2],a=getComputedStyle(t)?.getPropertyValue(r);return(!a||a.trim()===``)&&i&&(a=i.trim()),a||0};else return e;return i&&(i.func=a),a()},Lk=(e,t)=>e[bO]?e[xO]&&lk(e,t)?hO.ATTRIBUTE:OO.includes(t)||DO.get(t)?hO.TRANSFORM:qO(t,`--`)?hO.CSS_VAR:t in e.style?hO.CSS:t in e?hO.OBJECT:hO.ATTRIBUTE:hO.OBJECT,Rk=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[CO]||e).getPropertyValue(t);return i===`auto`?`0`:i},zk=(e,t,n,r)=>{let i=ek(n)?Lk(e,t):n;return i===hO.OBJECT?e[t]||0:i===hO.ATTRIBUTE?e.getAttribute(t):i===hO.TRANSFORM?kk(e,t,r):i===hO.CSS_VAR?Rk(e,t,r).trimStart():Rk(e,t,r)},Bk=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,Vk=()=>({t:gO.NUMBER,n:0,u:null,o:null,d:null,s:null}),Hk=(e,t)=>{if(t.t=gO.NUMBER,t.n=0,t.u=null,t.o=null,t.d=null,t.s=null,!e)return t;let n=+e;if(isNaN(n)){let n=e;n[1]===`=`&&(t.o=n[0],n=n.slice(2));let r=n.includes(` `)?!1:LO.exec(n);if(r)return t.t=gO.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(ok(n))return t.t=gO.COLOR,t.d=Pk(n),t;{let e=n.match(IO);return t.t=gO.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(IO)||[],t}}else return t.n=n,t},Uk=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=wk(e._toNumbers),t.s=wk(e._strings),t),Wk=Vk(),Gk=(e,t,n,r,i)=>{let a=e.parent,o=e.duration,s=e.completed,c=e.iterationDuration,l=e.iterationCount,u=e._currentIteration,d=e._loopDelay,f=e._reversed,p=e._alternate,m=e._hasChildren,h=e._delay,g=e._currentTime,_=h+c,v=t-h,y=vk(g,-h,o),b=vk(v,-h,o),x=v-g,S=b>0,C=b>=o,w=o<=wO,ee=i===_O.FORCE,T=0,E=v,D=0;l>1&&(e._currentIteration=vk(~~(b/(c+(C?0:d))),0,l),C&&e._currentIteration--,T=e._currentIteration%2,E=b%(c+d)||0);let O=f^(p&&T),te=e._ease,k=C?O?0:o:O?c-E:E;te&&(k=c*te(k/c)||0);let ne=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||k>=_&&y!==o||k<=h&&y>0||t<=y&&y===o&&s||C&&!s&&w){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=ee||(ne?x*-1:x)>=WO.tickThreshold,i=e._offset+(a?a._offset:0)+h+k,o=e._head,s,c,l,u,d=0;for(;o;){let e=o._composition,n=o._currentTime,a=o._changeDuration,f=o._absoluteStartTime+o._changeDuration,p=o._nextRep,m=o._prevRep,h=e!==vO.none;if((t||(n!==a||i<=f+(p?p._delay:0))&&(n!==0||i>=o._absoluteStartTime))&&(!h||!o._isOverridden&&(!o._isOverlapped||i<=f)&&(!p||p._isOverridden||i<=p._absoluteStartTime)&&(!m||m._isOverridden||i>=m._absoluteStartTime+m._changeDuration+o._delay))){let t=o._currentTime=vk(k-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===hO.OBJECT,g=f===gO.NUMBER,_=g&&m||n===0||n===1?-1:WO.precision,v,y;if(g)v=y=i(bk(xk(o._fromNumber,o._toNumber,n),_));else if(f===gO.UNIT)y=i(bk(xk(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===gO.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=bk(vk(i(xk(e[0],t[0],n)),0,255),0),a=bk(vk(i(xk(e[1],t[1],n)),0,255),0),s=bk(vk(i(xk(e[2],t[2],n)),0,255),0),c=vk(i(bk(xk(e[3],t[3],n),_)),0,1);if(v=`rgba(${r},${a},${s},${c})`,h){let e=o._numbers;e[0]=r,e[1]=a,e[2]=s,e[3]=c}}else if(f===gO.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||ne&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!ne):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(ne||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,D},Kk=(e,t,n,r,i)=>{let a=e._currentIteration;if(Gk(e,t,n,r,i),e._hasChildren){let o=e,s=o.backwards,c=r?t:o._iterationTime,l=JO(),u=0,d=!0;if(!r&&o._currentIteration!==a){let e=o.iterationDuration;Ek(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=bk((c-e._offset)*e._speed,12),a=e._fps=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},qk={},Jk=(e,t,n)=>{if(n===hO.TRANSFORM)return DO.get(e)||e;if(n===hO.CSS||n===hO.ATTRIBUTE&&nk(t)&&e in t.style){let t=qk[e];if(t)return t;{let t=e&&KO(e);return qk[e]=t,t}}else return e},Yk=e=>{if(e._hasChildren)Ek(e,Yk,!0);else{let t=e;t.pause(),Ek(t,e=>{let n=e.property,r=e.target;if(r[bO]){let i=r.style,a=e._inlineValue,o=tk(a)||a===``;if(e._tweenType===hO.TRANSFORM){let t=r[SO];if(o?delete t[n]:t[n]=a,e._renderTransforms)if(!Object.keys(t).length)i.removeProperty(`transform`);else{let e=``;for(let n in t)e+=kO[n]+t[n]+`) `;i.transform=e}}else o?i.removeProperty(KO(n)):i[n]=a;t._tail===e&&t.targets.forEach(e=>{e.getAttribute&&e.getAttribute(`style`)===``&&e.removeAttribute(`style`)})}})}return e},Xk=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=bk(EO/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=this._frameDuration,n=+e,r=n<1e-11?wO:n,i=bk(EO/r,0);this._fps=r,this._frameDuration=i,this._scheduledTime+=i-t}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<1e-11?wO:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=Zk.animation;return t||(t={duration:wO,computeDeltaTime:AO,_offset:0,_delay:0,_head:null,_tail:null},Zk.animation=t,Zk.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===gO.COMPLEX||e===gO.COLOR?wk(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;efO?requestAnimationFrame:setImmediate)(),eA=(()=>fO?cancelAnimationFrame:clearImmediate)(),tA=class extends Xk{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=HO,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=JO();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,n=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(Dk(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):Kk(r,(e-r._startTime)*r._speed*t,0,0,r._fpse.resetTime()),this.wake()}get speed(){return this._speed*(WO.timeScale===1?1:EO)}set speed(e){this._speed=e*WO.timeScale,Ek(this,e=>e.speed=e._speed)}get timeUnit(){return WO.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(WO.timeScale!==r){WO.timeScale=r,WO.tickThreshold=200*r;let e=n?t:EO;this.defaults.duration*=e,this._speed*=e}}get precision(){return WO.precision}set precision(e){WO.precision=e}},nA=(()=>{let e=new tA(JO());return fO&&(GO.engine=e,mO.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(mO.hidden?e.pause():e.resume())})),e})(),rA=()=>{nA._head?(nA.reqId=$k(rA),nA.update()):nA.reqId=0},iA=()=>(eA(nA.reqId),nA.reqId=0,nA),aA={_rep:new WeakMap,_add:new Map},oA=(e,t,n=`_rep`)=>{let r=aA[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},sA=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,cA=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=wO,e._currentTime=wO},lA=(e,t)=>{let n=e._composition;if(n===vO.replace){let n=e._absoluteStartTime;Ok(t,e,sA,`_prevRep`,`_nextRep`);let r=e._prevRep;if(r){let t=r.parent,i=r._absoluteStartTime+r._changeDuration;if(e.parent.id!==t.id&&t.iterationCount>1&&i+(t.duration-t.iterationDuration)>n){cA(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)cA(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=bk(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&cA(r)}let o=!0;if(Ek(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;Ek(e,e=>{e!==t&&Ek(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===vO.blend){let t=oA(e.target,e.property,`_add`),n=Qk(aA._add),r=t._head;r||(r={...e},r._composition=vO.replace,r._updateDuration=wO,r._startTime=0,r._numbers=wk(e._fromNumbers),r._number=0,r._next=null,r._prev=null,Ok(t,r),Ok(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=wk(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=wk(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}Ok(t,e,null,`_prevAdd`,`_nextAdd`)}return e},uA=e=>{let t=e._composition;if(t!==vO.none){let n=e.target,r=e.property,i=aA._rep.get(n)[r];if(Dk(i,e,`_prevRep`,`_nextRep`),t===vO.blend){let t=aA._add,i=t.get(n);if(!i)return;let a=i[r],o=Zk.animation;Dk(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){Dk(a,s,`_prevAdd`,`_nextAdd`),Dk(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},dA=(e,t,n)=>{let r=!1;return Ek(t,i=>{let a=i.target;if(e.includes(a)){let e=i.property,o=i._tweenType,s=Jk(n,a,o);(!s||s&&s===e)&&(i.parent._tail===i&&i._tweenType===hO.TRANSFORM&&i._prev&&i._prev._tweenType===hO.TRANSFORM&&(i._prev._renderTransforms=1),Dk(t,i),uA(i),r=!0)}},!0),r},fA=(e,t,n)=>{let r=t||nA,i;if(r._hasChildren){let t=0;Ek(r,a=>{if(!a._hasChildren)if(i=dA(e,a,n),i&&!a._head)a.cancel(),Dk(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?fA(e,a,n):a._hasChildren=!1},!0),ek(r.iterationDuration)||(r.iterationDuration=t)}else i=dA(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},pA=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),mA=e=>e._cancelled?(e._hasChildren?Ek(e,mA):Ek(e,e=>{e._composition!==vO.none&&lA(e,oA(e.target,e.property))}),e._cancelled=0,e):e,hA=0,gA=class extends Xk{constructor(e={},t=null,n=0){super(0);let{id:r,delay:i,duration:a,reversed:o,alternate:s,loop:c,loopDelay:l,autoplay:u,frameRate:d,playbackRate:f,onComplete:p,onLoop:m,onPause:h,onBegin:g,onBeforeUpdate:_,onUpdate:v}=e;UO.current&&UO.current.register(this);let y=t?0:nA._elapsedTime,b=t?t.defaults:WO.defaults,x=$O(i)||ek(i)?b.delay:+i,S=$O(a)||ek(a)?1/0:+a,C=Fk(c,b.loop),w=Fk(l,b.loopDelay),ee=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(nA.reqId||nA.requestTick(JO()),T=(nA._elapsedTime-nA._startTime)*WO.timeScale),this.id=ek(r)?++hA:r,this.parent=t,this.duration=Sk((S+w)*ee-w)||1e-11,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=g||b.onBegin,this.onBeforeUpdate=_||b.onBeforeUpdate,this.onUpdate=v||b.onUpdate,this.onLoop=m||b.onLoop,this.onPause=h||b.onPause,this.onComplete=p||b.onComplete,this.iterationDuration=S,this.iterationCount=ee,this._autoplay=t?!1:Fk(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=w,this._iterationTime=0,this._currentIteration=0,this._resolve=AO,this._running=!1,this._reversed=+Fk(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Fk(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=Fk(d,b.frameRate),this._speed=Fk(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return vk(bk(this._currentTime,WO.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return bk(this._iterationTime,WO.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return vk(bk(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return vk(bk(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*vk(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return mA(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Kk(this,0,1,~~e,_O.FORCE),pA(this),this._hasChildren&&Ek(this,pA),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&Kk(this,this.duration,1,~~e,_O.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!ek(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*nA._speed);return this._startTime=JO()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=1e-11&&!this._hasChildren?Kk(this,wO,0,0,_O.FORCE):(this._running||=(Ok(nA,this),nA._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,nA.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){mA(this),this.completed=!1;let r=this.paused;return this.paused=!0,Kk(this,e+this._delay,~~t,~~n,_O.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?mk(TO/n):t;return this._reversed=+(this._alternate&&!(r%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*r-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?Ek(this,e=>e.cancel(),!0):Ek(this,uA),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=Ck(e);if(t===n)return this;let r=e/t,i=e<=wO;return this.duration=i?wO:n,this.iterationDuration=i?wO:Ck(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){Kk(this,0,1,0,_O.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(e=AO){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=AO};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function _A(e){let t=QO(e)?UO.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function vA(e){if(tk(e))return[];if(!fO)return YO(e)&&e.flat(1/0)||[e];if(YO(e)){let t=e.flat(1/0),n=[];for(let e=0,r=t.length;e{let i=t.u,a=t.n;if(t.t===gO.UNIT&&i===n)return t;let o=a+i+n,s=xA[o];if(!ek(s)&&!r)t.n=s;else{let r;if(i in bA)r=a*bA[i]/bA[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==mO?o:mO.body;s.appendChild(t);let c=t.style;c.width=100+i;let l=t.offsetWidth||100;c.width=100+n;let u=l/(t.offsetWidth||100);s.removeChild(t),r=u*a}t.n=r,xA[o]=r}return t.t,gO.UNIT,t.u=n,t},CA=e=>e,wA=(e=1.68)=>t=>uk(t,+e),TA={in:e=>t=>e(t),out:e=>t=>1-e(1-t),inOut:e=>t=>t<.5?e(t*2)/2:1-e(t*-2+2)/2,outIn:e=>t=>t<.5?(1-e(1-t*2))/2:(e(t*2-1)+1)/2},EA=gk/2,DA=gk*2,OA={"":wA,Quad:wA(2),Cubic:wA(3),Quart:wA(4),Quint:wA(5),Sine:e=>1-pk(e*EA),Circ:e=>1-dk(1-e*e),Expo:e=>e?uk(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=uk(2,--n))-1)/11;);return 1/uk(4,3-n)-7.5625*uk((t*3-2)/22-e,2)},Back:(e=1.7)=>t=>(+e+1)*t*t*t-+e*t*t,Elastic:(e=1,t=.3)=>{let n=vk(+e,1,10),r=vk(+t,wO,2),i=r/DA*hk(1/n),a=DA/r;return e=>e===0||e===1?e:-n*uk(2,-10*(1-e))*fk((1-e-i)*a)}},kA=(()=>{let e={linear:CA,none:CA};for(let t in TA)for(let n in OA){let r=OA[n],i=TA[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),AA={linear:CA,none:CA},jA=e=>{if(AA[e])return AA[e];if(e.indexOf(`(`)<=-1){let t=TA[e]||e.includes(`Back`)||e.includes(`Elastic`)?kA[e]():kA[e];return t?AA[e]=t:CA}else{let t=e.slice(0,-1).split(`(`),n=kA[t[0]];return n?AA[e]=n(...t[1].split(`,`)):CA}},MA=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],NA=e=>{if(QO(e)){for(let t=0,n=MA.length;t{let n={};if(YO(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(sk);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];sk(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=Fk(t.duration,WO.defaults.duration);for(let t in Object.keys(e).map(t=>({o:parseFloat(t)/100,p:e[t]})).sort((e,t)=>e.o-t.o).forEach(e=>{let t=e.o,i=e.p;for(let e in i)if(sk(e)){let a=n[e];a||=n[e]=[];let o=t*r,s=a.length,c=a[s-1],l={to:i[e]},u=0;for(let e=0;e=1e3?vO.none:ek(g)?v.composition:g,E=this._offset+(n?n._offset:0);x&&(p.parent=this);let D=NaN,O=NaN,te=0,k=0;for(let e=0;e2&&t?(HA=[],s.forEach((e,t)=>{t?t===1?(zA[1]=e,HA.push(zA)):HA.push(e):zA[0]=e})):HA=s}else RA[0]=s,HA=RA;let p=null,m=null,h=NaN,g=0,_=0;for(let e=HA.length;_1?Ik(C,t,r,l)/e:C),t,r,l),b=Ik(Fk(UA.delay,_?0:w),t,r,l),x=Ik(Fk(UA.composition,T),t,r,l),D=ZO(x)?x:vO[x],O=UA.modifier||ee,ne=!ek(u),re=!ek(c),ie=YO(c),ae=ie||ne&&re,oe=m?g+b:b,se=bk(E+oe,12);!k&&(ne||ie)&&(k=1);let A=m;if(D!==vO.none){p||=oA(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=se;)if(A=e,e=e._nextRep,e&&e._absoluteStartTime>=se)for(;e;)cA(e),e=e._nextRep}if(ae?(Hk(ie?Ik(c[0],t,r,l):u,PA),Hk(ie?Ik(c[1],t,r,l,LA):c,FA),PA.t===gO.NUMBER&&(A?A._valueType===gO.UNIT&&(PA.t=gO.UNIT,PA.u=A._unit):(Hk(zk(t,o,a,IA),Wk),Wk.t===gO.UNIT&&(PA.t=gO.UNIT,PA.u=Wk.u)))):(re?Hk(c,FA):m?Uk(m,FA):Hk(n&&A&&A.parent.parent===n?A._value:zk(t,o,a,IA),FA),ne?Hk(u,PA):m?Uk(m,PA):Hk(n&&A&&A.parent.parent===n?A._value:zk(t,o,a,IA),PA)),PA.o&&(PA.n=Bk(A?A._toNumber:Hk(zk(t,o,a,IA),Wk).n,PA.n,PA.o)),FA.o&&(FA.n=Bk(PA.n,FA.n,FA.o)),PA.t!==FA.t){if(PA.t===gO.COMPLEX||FA.t===gO.COMPLEX){let e=PA.t===gO.COMPLEX?PA:FA,t=PA.t===gO.COMPLEX?FA:PA;t.t=gO.COMPLEX,t.s=wk(e.s),t.d=e.d.map(()=>t.n)}else if(PA.t===gO.UNIT||FA.t===gO.UNIT){let e=PA.t===gO.UNIT?PA:FA,t=PA.t===gO.UNIT?FA:PA;t.t=gO.UNIT,t.u=e.u}else if(PA.t===gO.COLOR||FA.t===gO.COLOR){let e=PA.t===gO.COLOR?PA:FA,t=PA.t===gO.COLOR?FA:PA;t.t=gO.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(PA.u!==FA.u){let e=FA.u?PA:FA;e=SA(t,e,FA.u?FA.u:PA.u,!1)}if(FA.d&&PA.d&&FA.d.length!==PA.d.length){let e=PA.d.length>FA.d.length?PA:FA,t=e===PA?FA:PA;t.d=e.d.map((e,n)=>ek(t.d[n])?0:t.d[n]),t.s=wk(e.s)}let ce=bk(+y||1e-11,12),j=IA[o];tk(j)||(IA[o]=null);let M={parent:this,id:VA++,property:o,target:t,_value:null,_func:LA.func,_ease:NA(v),_fromNumbers:wk(PA.d),_toNumbers:wk(FA.d),_strings:wk(FA.s),_fromNumber:PA.n,_toNumber:FA.n,_numbers:wk(PA.d),_number:PA.n,_unit:FA.u,_modifier:O,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:ce,_changeDuration:ce,_absoluteStartTime:se,_tweenType:a,_valueType:FA.t,_composition:D,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:j,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};D!==vO.none&&lA(M,p),isNaN(h)&&(h=M._startTime),g=bk(oe+ce,12),m=M,te++,Ok(this,M)}(isNaN(O)||hD)&&(D=g),a===hO.TRANSFORM&&(d=te-_,f=te)}if(!isNaN(d)){let e=0;Ek(this,t=>{e>=d&&e{e.id===t.id&&(e._renderTransforms=1)})),e++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),O?(Ek(this,e=>{e._startTime-e._delay||(e._delay-=O),e._startTime-=O}),D-=O):O=0,D||(D=wO,this.iterationCount=0),this.targets=s,this.duration=D===1e-11?wO:Sk((D+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=O,this.iterationDuration=D,!this._autoplay&&k&&this.onRender(this)}stretch(e){let t=this.duration;if(t===Ck(e))return this;let n=e/t;return Ek(this,e=>{e._updateDuration=Ck(e._updateDuration*n),e._changeDuration=Ck(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return Ek(this,e=>{let t=e._func;t&&(Hk(zk(e.target,e.property,e._tweenType),Wk),Hk(t(),FA),e._fromNumbers=wk(Wk.d),e._fromNumber=Wk.n,e._toNumbers=wk(FA.d),e._strings=wk(FA.s),e._toNumber=FA.o?Bk(Wk.n,FA.n,FA.o):FA.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),Yk(this)}then(e){return super.then(e)}},KA=(e,t)=>new GA(e,t,null,0,!1).init();function qA(e){let t=[],n,r={enqueue:[],dequeue:[],process:[],error:[],result:[],drain:[]},i={};function a(e,t){r[e].push(t)}function o(e,...t){r[e].forEach(e=>e(...t))}function s(e,t){i[e]=i[e]||[],i[e].push(t)}function c(e,...t){(i[e]||[]).forEach(e=>e(...t))}function l(e){t.push(e),o(`enqueue`,e,t.length),n||=d()}function u(){t.length=0}async function d(){for(;t.length>0;){let n=t.shift();o(`dequeue`,n,t.length);for(let t of e.handlers){o(`process`,n,t);try{o(`result`,n,await t({data:n,emit:c}),t)}catch(e){o(`error`,n,e,t);continue}}}o(`drain`),n=void 0}function f(){return t.length}return{enqueue:l,clear:u,length:f,on:a,onHandlerEvent:s}}function JA(){let e;return{stream:new ReadableStream({start(t){e=t}}),controller:e}}function YA(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function XA(e,t){let n=new Intl.Segmenter(void 0,{granularity:`grapheme`}),r=new TextDecoder(`utf-8`,{fatal:!1}),i=t?.signal;return async function*(){let t=``;for(;;){YA(i,e.close);let{done:a,value:o}=await new Promise((t,n)=>{i?.addEventListener(`abort`,()=>{e.close?.();let t=Error(`Operation canceled`);t.name=i.reason,n(t)},{once:!0}),Promise.resolve(e.read()).then(t).catch(n)});t+=r.decode(o,{stream:!0});let s=n.segment(t);if(a){for(let t of s)YA(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){YA(i,e.close);let t=c.next();if(t.done)break;l=t.value.index,yield u.value.segment,u=t}a||(t=t.slice(l))}}()}const ZA=``;var QA=new Set(`??!!`),$A=new Set(`.。??!!…⋯~~
+`},i)),a}function Kb(e,t){return e&&`run`in e?async function(n,r){let i=Gb(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Gb(n,{file:r,...e||t})}}function qb(e){if(e)throw e}var Jb=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`)if(n.call(e,t)){if(a)return a(e,t).value}else return;return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});f
t.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var Qb=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=o?o.line:void 0,this.name=ky(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual,this.expected,this.note,this.url}};Qb.prototype.file=``,Qb.prototype.name=``,Qb.prototype.reason=``,Qb.prototype.message=``,Qb.prototype.stack=``,Qb.prototype.column=void 0,Qb.prototype.line=void 0,Qb.prototype.ancestors=void 0,Qb.prototype.cause=void 0,Qb.prototype.fatal=void 0,Qb.prototype.place=void 0,Qb.prototype.ruleId=void 0,Qb.prototype.source=void 0;const $b={basename:ex,dirname:tx,extname:nx,join:rx,sep:`/`};function ex(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);ox(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function tx(e){if(ox(e),e.length===0)return`.`;let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function nx(e){ox(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function rx(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function ax(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function ox(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const sx={cwd:cx};function cx(){return`/`}function lx(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function ux(e){if(typeof e==`string`)e=new URL(e);else if(!lx(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code=`ERR_INVALID_ARG_TYPE`,t}if(e.protocol!==`file:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return dx(e)}function dx(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];Yb(o)&&Yb(r)&&(r=(0,yx.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function Sx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function Cx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function wx(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Tx(e){if(!Yb(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Ex(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Dx(e){return Ox(e)?e:new px(e)}function Ox(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function kx(e){return typeof e==`string`||Ax(e)}function Ax(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var jx=new Map,Mx=/```(.{2,})\s/g;function Nx(e){let t=e.matchAll(Mx),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function Px(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return xx().use(By).use(Jg).use(Kb).use(xg,{output:`mathml`}).use(Rl,t).use(Sg)}function Fx(e){let t=[...e].sort().join(`,`);if(!jx.has(t)){let n=Px(e);jx.set(t,n)}return jx.get(t)}function Ix(){let e=xx().use(By).use(Jg).use(Kb).use(xg,{output:`mathml`}).use(Sg);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=Nx(t),r=new Set(n);return r.add(`python`),(await(await Fx(Array.from(r))).process(t)).toString()}catch(n){return console.warn(`Failed to process markdown with syntax highlighting, falling back to basic processing:`,n),e.processSync(t).toString()}},processSync:t=>e.processSync(t).toString()}}var Lx=[`innerHTML`],Rx=Be(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=M(``),{process:r,processSync:i}=Ix();async function a(){if(!t.content){n.value=``;return}try{n.value=fr.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=fr.sanitize(i(t.content))}}return C(()=>t.content,a,{immediate:!0}),v(()=>{a()}),(e,r)=>(d(),A(`div`,{class:E([t.class,`markdown-content`]),innerHTML:n.value},null,10,Lx))}}),[[`__scopeId`,`data-v-abd97585`]]),zx={"z-1":``,"flex-1":``},Bx={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},Vx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},Hx=Be(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=y(`RouterLink`);return d(),_(r,{box:`border`,flex:`~ row`,bg:`neutral-50 dark:neutral-900`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-item`,transition:`all ease-in-out duration-400`,relative:``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,cursor:`pointer`,to:e.to},{default:k(()=>[j(`div`,zx,[j(`div`,Bx,h(e.title),1),j(`div`,Vx,[j(`span`,null,h(e.description),1)])]),typeof e.icon==`string`?(d(),A(`div`,{key:0,class:E([`menu-icon-item-icon`,[e.icon]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-24":``,"translate-y-4":``,text:`neutral-400/50 dark:neutral-600/50`},null,2)):a(``,!0),e.iconTemplate?b(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),Ux={flex:`~ col`,bg:`neutral-50 dark:neutral-800`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-status-item`,transition:`all ease-in-out duration-400`,"w-full":``,"cursor-pointer":``,"of-hidden":``,"rounded-xl":``},Wx={"z-1":``,"flex-1":``},Gx={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},Kx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},qx=[`src`],Jx={"p-2":``},Yx={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},Xx={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},Zx=Be(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=y(`RouterLink`);return d(),A(`div`,Ux,[D(r,{flex:`~ row`,class:`menu-icon-status-item-link`,bg:`white dark:neutral-900`,transition:`all ease-in-out duration-400`,relative:``,"h-full":``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,to:t.to},{default:k(()=>[j(`div`,Wx,[j(`div`,Gx,h(t.title),1),j(`div`,Kx,[j(`span`,null,h(t.description||``),1)])]),t.icon?(d(),A(`div`,{key:0,class:E([`menu-icon-status-item-icon`,t.icon]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconColor?(d(),A(`div`,{key:1,class:E([`menu-icon-status-item-icon-color`,[t.iconColor]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconImage?(d(),A(`img`,{key:2,src:t.iconImage,class:`menu-icon-status-item-icon-image`,transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,"grayscale-100":``},null,8,qx)):a(``,!0)]),_:1},8,[`to`]),j(`div`,Jx,[t.configured?(d(),A(`div`,Yx)):(d(),A(`div`,Xx))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),Qx=[`checked`,`name`,`value`],$x={class:`relative mr-3 mt-0.5 flex-shrink-0`},eS={class:`w-full flex flex-col gap-2`},tS={class:`flex items-center`},nS={key:0,class:`relative`},rS=[`title`],iS={key:1,class:`mt-2`},aS=Be(r({__name:`RadioCardDetail`,props:g({id:{},name:{},value:{},title:{},description:{},deprecated:{type:Boolean,default:!1},showExpandCollapse:{type:Boolean,default:!0},expandCollapseThreshold:{default:100},customInputValue:{default:``},customInputPlaceholder:{default:``},showCustomInput:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`),n=M(!1);function r(){n.value=!n.value}return(i,o)=>(d(),A(`label`,{key:e.id,class:E([`form_radio-card-detail relative flex cursor-pointer items-start rounded-xl p-3 pr-[20px]`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-detail-active`:``,e.deprecated?`opacity-60`:``]]),transition:`all duration-200 ease-in-out`,border:`2 solid`},[se(j(`input`,{"onUpdate:modelValue":o[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,Qx),[[oe,t.value]]),j(`div`,$x,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[t.value===e.value?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[t.value===e.value?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),j(`div`,eS,[j(`div`,tS,[j(`span`,{class:E([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},h(e.title),3)]),e.description?(d(),A(`div`,nS,[D(O(he),null,{default:k(()=>[!n.value||!e.showExpandCollapse?(d(),A(`div`,{key:0,class:E([`line-clamp-2 cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),title:e.description,onClick:ee(r,[`prevent`])},h(e.description),11,rS)):(d(),A(`div`,{key:1,class:E([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:ee(r,[`prevent`])},h(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(d(),A(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:ee(r,[`prevent`])},[j(`span`,null,h(n.value?`Show less`:`Show more`),1),j(`div`,{class:E([{"rotate-180":n.value},`transition-transform duration-200`])},[...o[2]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``,"ml-0.5":``,"text-xs":``},null,-1)]],2)])):a(``,!0)])):a(``,!0),e.showCustomInput&&t.value===e.value?(d(),A(`div`,iS,[D(O(Oe),{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0)])],2))}}),[[`__scopeId`,`data-v-a2eb6bd0`]]),oS={class:`radio-card-detail-many-select`},sS={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},cS=[`placeholder`],lS={class:`mt-4 space-y-2`},uS={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},dS={class:`relative`},fS=Be(r({__name:`RadioCardManySelect`,props:g({items:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search...`},searchNoResultsTitle:{default:`No results found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} results`},customInputPlaceholder:{default:`Enter custom value`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},showMore:{type:Boolean,default:!0},listClass:{default:``}},{modelValue:{required:!0},modelModifiers:{},searchQuery:{},searchQueryModifiers:{}}),emits:g([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=ie(e,`modelValue`),o=ie(e,`searchQuery`),s=M(!1),c=M(``),l=w(()=>{if(!o.value)return n.items;let e=o.value.toLowerCase();return n.items.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function f(e){c.value=e,r(`update:customValue`,e)}return(t,r)=>(d(),A(`div`,oS,[e.searchable?(d(),A(`div`,sS,[r[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,cS),[[te,o.value]])])):a(``,!0),j(`div`,lS,[o.value?(d(),A(`div`,uS,h(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(d(),_(ve,{key:1,type:`warning`},{title:k(()=>[p(h(e.searchNoResultsTitle),1)]),content:k(()=>[p(h(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),j(`div`,dS,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto pb-4 scrollbar-none`,[s.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...n.listClass?typeof n.listClass==`string`?[n.listClass]:n.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[(d(!0),A(ne,null,u(l.value,t=>(d(),_(aS,{id:t.id,key:t.id,modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,value:t.id,title:t.name,description:t.description,deprecated:t.deprecated,"show-expand-collapse":e.showMore,"expand-collapse-threshold":100,"show-custom-input":t.customizable,"custom-input-value":c.value,"custom-input-placeholder":e.customInputPlaceholder,name:`radio-card-detail-many-select`,class:`scroll-snap-align-start`,"onUpdate:customInputValue":r[2]||=e=>f(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`deprecated`,`show-expand-collapse`,`show-custom-input`,`custom-input-value`,`custom-input-placeholder`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([s.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:r[3]||=e=>s.value=!s.value},[j(`span`,null,h(s.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([s.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-96f33af6`]]),pS=[`checked`,`name`,`value`],mS={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},hS=Be(r({__name:`RadioCardSimple`,props:g({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`);return(n,r)=>(d(),A(`label`,{key:e.id,border:`2px solid`,class:E([`form_radio-card-simple relative`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-simple-active`:``]]),transition:`all duration-200 ease-in-out`,flex:`~ col`,block:``,"min-w-50":``,"w-fit":``,"cursor-pointer":``,"items-start":``,"rounded-xl":``,"p-4":``,"text-left":``},[se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0 [&:checked+div]:border-primary-500 [&:checked+div_.radio-dot]:opacity-100 dark:[&:checked+div]:border-primary-400`},null,8,pS),[[oe,t.value]]),r[1]||=j(`div`,{class:`radio-circle absolute left-2 top-2 size-5 rounded-full`,border:`2 solid neutral-300 dark:neutral-600`,transition:`all duration-200 ease-in-out`},[j(`div`,{class:`radio-dot absolute left-1/2 top-1/2 size-3 rounded-full opacity-0 -translate-x-1/2 -translate-y-1/2`,transition:`all duration-200 ease-in-out`,bg:`primary-500 dark:primary-400`})],-1),j(`div`,mS,[j(`span`,{class:E([`radio-item-name font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-500 dark:text-neutral-500`]]),text:`md`,transition:`all duration-200 ease-in-out`},h(e.title),3),e.description?(d(),A(`span`,{key:0,class:E([`radio-item-description`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-400 dark:text-neutral-600`]]),transition:`all duration-200 ease-in-out`},h(e.description),3)):a(``,!0)]),r[2]||=j(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50 [input:checked~&]:bg-dotted-primary-300/50 dark:[input:checked~&]:bg-dotted-primary-200/20`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)],2))}}),[[`__scopeId`,`data-v-7f0c3c41`]]),gS={class:`p-3`},_S={class:`flex items-start`},vS=[`checked`,`name`,`value`],yS={class:`relative mr-3 mt-0.5 flex-shrink-0`},bS={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},xS={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},SS={key:1,class:`mt-auto w-full flex items-center justify-center bg-neutral-50 py-3 text-xs text-neutral-400 italic dark:bg-neutral-800/50 dark:text-neutral-600`},CS={class:`flex-1 cursor-pointer`},wS={class:`flex items-center`},TS={key:0,class:`mt-1 flex flex-wrap gap-1`},ES={key:1,class:`mt-3`},DS={relative:``},OS={key:0,class:`h-16 px-3 pb-2`},kS=Be(r({__name:`VoiceCard`,props:g({name:{},voice:{},currentlyPlayingId:{},customInputPlaceholder:{default:`Enter custom voice name`},showVisualizer:{type:Boolean,default:!0},audioStream:{default:null}},{"voice-id":{required:!1,default:``},"voice-idModifiers":{},"custom-voice-name":{required:!1,default:``},"custom-voice-nameModifiers":{}}),emits:g([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=ie(e,`voice-id`),o=ie(e,`custom-voice-name`);function s(e){return e.previewURL||e.preview_audio_url}function c(e){let t=[];if(e.labels?.gender&&t.push(e.labels.gender),e.labels?.age&&t.push(e.labels.age),e.labels?.accent&&t.push(e.labels.accent),e.languages&&e.languages.length>0){let n=e.languages.map(e=>e.name).join(`, `);t.push(n)}return t}function l(){r(`togglePlayback`,n.voice)}return(t,r)=>(d(),A(`label`,{border:`2px solid`,class:E([`scroll-snap-align-start form_voice-card relative flex flex-col overflow-hidden rounded-xl`,[i.value===n.voice.id?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,i.value===n.voice.id?`form_voice-card-active`:``]]),transition:`all duration-200 ease-in-out`},[j(`div`,gS,[j(`div`,_S,[se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>i.value=e,checked:i.value===n.voice.id,type:`radio`,name:e.name,value:n.voice.id,class:`absolute cursor-pointer opacity-0`},null,8,vS),[[oe,i.value]]),j(`div`,yS,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[i.value===n.voice.id?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[i.value===n.voice.id?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),s(e.voice)?(d(),A(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:E([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:l},[e.currentlyPlayingId===e.voice.id?(d(),A(`div`,bS)):(d(),A(`div`,xS))],2)):(d(),A(`div`,SS,` No preview available. You can select it and test voice on the right experiment. `)),j(`div`,CS,[j(`div`,wS,[j(`span`,{class:E([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},h(e.voice.name),3)]),c(e.voice).length>0?(d(),A(`div`,TS,[(d(!0),A(ne,null,u(c(e.voice),(t,n)=>(d(),A(`span`,{key:n,class:E([`inline-flex items-center rounded-md px-1.5 py-0.5 text-xs`,[i.value===e.voice.id?`bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400`:`bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300`]])},h(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(d(),A(`div`,ES,[D(O(Oe),{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e.voice.description?(d(),A(`div`,{key:2,class:E([`line-clamp-2 mt-1 text-xs`,[i.value===e.voice.id?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]])},h(e.voice.description),3)):a(``,!0)])])]),j(`div`,DS,[D(O(he),null,{default:k(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(d(),A(`div`,OS,[D(O(ft),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:k(({frequencies:t})=>[D(O(ht),{frequencies:t,"bars-class":i.value===e.voice.id?`bg-primary-500 dark:bg-primary-400`:`bg-neutral-400 dark:bg-neutral-600`},null,8,[`frequencies`,`bars-class`])]),_:1},8,[`stream`])])):a(``,!0)]),_:1})])],2))}}),[[`__scopeId`,`data-v-2130ea5b`]]),AS={class:`voice-preview-player`},jS={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},MS=[`placeholder`],NS={class:`mt-4 space-y-2`},PS={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},FS={class:`relative`},IS=Be(r({__name:`VoiceCardManySelect`,props:g({voices:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search voices...`},searchNoResultsTitle:{default:`No voices found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} voices`},unsupportedVoiceWarningTitle:{default:`No voices`},unsupportedVoiceWarningContent:{default:`Try a different model or provider. We are working on supporting all the voice for this model as quickly as possible. If you need it urgently, please let us know on GitHub.`},customInputPlaceholder:{default:`Enter custom voice name`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},playButtonText:{default:`Play sample`},pauseButtonText:{default:`Pause`},showVisualizer:{type:Boolean,default:!0},listClass:{default:``}},{"search-query":{required:!1,default:``},"search-queryModifiers":{},"voice-id":{required:!1,default:``},"voice-idModifiers":{}}),emits:[`update:search-query`,`update:voice-id`],setup(e){let t=e,n=M(!1),r=M(),i=M(new Map),o=M(new Map),s=M(new Map),c=M(new Map),f=M(null);function m(){return f.value||=new(window.AudioContext||window.webkitAudioContext),f.value}let g=ie(e,`search-query`),v=ie(e,`voice-id`),y=w(()=>{if(!g.value)return t.voices;let e=g.value.toLowerCase();return t.voices.filter(t=>{let n=t.name.toLowerCase().includes(e),r=t.description&&t.description.toLowerCase().includes(e),i=t.tags&&t.tags.some(t=>t.toLowerCase().includes(e)),a=t.labels&&Object.values(t.labels).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)),o=t.languages&&t.languages.some(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e));return n||r||i||a||o})});function b(e){return e.previewURL||e.preview_audio_url}function x(e){let t=b(e);if(!t)return null;if(i.value.has(e.id))return i.value.get(e.id)||null;let n=new Audio(t);return n.crossOrigin=`anonymous`,n.preload=`auto`,n.addEventListener(`ended`,()=>{if(r.value===e.id){r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id))}}),i.value.set(e.id,n),n}function S(e,t){try{if(o.value.has(t))return o.value.get(t)||null;let n=m();if(c.value.has(t)){let e=c.value.get(t),r=n.createMediaStreamDestination();e.connect(r);let i=r.stream;return o.value.set(t,i),i}let r=n.createMediaElementSource(e);c.value.set(t,r),r.connect(n.destination);let i=n.createMediaStreamDestination();r.connect(i);let a=i.stream;return o.value.set(t,a),a}catch(e){return console.error(`Failed to create audio stream for visualizer:`,e),null}}function ee(e){try{if(!b(e))return;let n=x(e);if(!n)return;if(r.value===e.id){n.pause(),r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id));return}if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value))}t.showVisualizer&&!o.value.has(e.id)&&S(n,e.id),n.currentTime=0,n.play().catch(e=>{console.error(`Failed to play audio:`,e)}),r.value=e.id}catch(e){console.error(e),r.value=void 0}}function T(){i.value.forEach(e=>{e.pause(),e.src=``}),i.value.clear(),o.value.forEach(e=>{e.getTracks().forEach(e=>e.stop())}),o.value.clear(),s.value.forEach(e=>{e.state!==`closed`&&e.close()}),s.value.clear(),c.value.clear(),r.value=void 0}C(g,()=>{if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value)),r.value=void 0}}),l(T);let D=M(``);return(i,s)=>(d(),A(`div`,AS,[e.searchable?(d(),A(`div`,jS,[s[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),se(j(`input`,{"onUpdate:modelValue":s[0]||=e=>g.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,MS),[[te,g.value]])])):a(``,!0),j(`div`,NS,[g.value?(d(),A(`div`,PS,h(e.searchResultsText.replace(`{count}`,y.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),g.value&&y.value.length===0?(d(),_(ve,{key:1,type:`warning`},{title:k(()=>[p(h(e.searchNoResultsTitle),1)]),content:k(()=>[p(h(e.searchNoResultsDescription.replace(`{query}`,g.value)),1)]),_:1})):a(``,!0),j(`div`,FS,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto scrollbar-none`,[n.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...t.listClass?typeof t.listClass==`string`?[t.listClass]:t.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[!g.value&&y.value.length===0?(d(),_(ve,{key:0,type:`warning`},{title:k(()=>[p(h(e.unsupportedVoiceWarningTitle),1)]),content:k(()=>[p(h(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(d(!0),A(ne,null,u(y.value,t=>(d(),_(kS,{key:t.id,"voice-id":v.value,"onUpdate:voiceId":s[1]||=e=>v.value=e,"custom-voice-name":D.value,"onUpdate:customVoiceName":s[2]||=e=>D.value=e,name:`voice`,voice:t,"currently-playing-id":r.value,"custom-input-placeholder":e.customInputPlaceholder,"show-visualizer":e.showVisualizer,"audio-stream":o.value.get(t.id),onTogglePlayback:ee},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([n.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:s[3]||=e=>n.value=!n.value},[j(`span`,null,h(n.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([n.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-063d85cc`]]);function LS(e){return w({get:()=>e.value?.toString()??``,set:t=>{if(t===``){e.value=null;return}let n=Number.parseInt(t,10);Number.isNaN(n)||(e.value=n)}})}var RS={flex:`~ col gap-6`},zS={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},BS=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=rt(),{enabled:r,serverAddress:i,serverPort:o,username:s,configured:c}=Pe(t.store),l=LS(o);function u(){t.store.saveSettings()}return(t,o)=>(d(),A(`div`,RS,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":o[0]||=e=>T(r)?r.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.enable`),description:O(n)(`${e.i18nKeyPrefix}.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":o[1]||=e=>T(i)?i.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.server-address`),description:O(n)(`${e.i18nKeyPrefix}.server-address-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.server-address-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(l),"onUpdate:modelValue":o[2]||=e=>T(l)?l.value=e:null,type:`number`,min:1,max:65535,step:1,label:O(n)(`${e.i18nKeyPrefix}.server-port`),description:O(n)(`${e.i18nKeyPrefix}.server-port-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(s),"onUpdate:modelValue":o[3]||=e=>T(s)?s.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.username`),description:O(n)(`${e.i18nKeyPrefix}.username-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.username-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(n)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(c)?(d(),A(`div`,zS,h(O(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),VS=globalThis.WebSocket,HS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),US=e=>{let t=typeof e;return t===`object`?e===null?`null`:e?.constructor?.name??`object`:t},WS=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 ${US(e)}.`)},GS=e=>{let t=WS(e),n=``,r,i=t.length;for(r=2;r>2],n+=HS[(t[r-2]&3)<<4|t[r-1]>>4],n+=HS[(t[r-1]&15)<<2|t[r]>>6],n+=HS[t[r]&63];return r===i+1&&(n+=HS[t[r-2]>>2],n+=HS[(t[r-2]&3)<<4],n+=`==`),r===i&&(n+=HS[t[r-2]>>2],n+=HS[(t[r-2]&3)<<4|t[r-1]>>4],n+=HS[(t[r-1]&15)<<2],n+=`=`),n},KS=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},qS=class{connected=!1;connecting=!1;websocket;shouldClose=!1;opts;eventListeners=new Map;constructor(e){this.opts={url:`ws://localhost:6121/ws`,possibleEvents:[],onError:()=>{},onClose:()=>{},autoConnect:!0,autoReconnect:!0,maxReconnectAttempts:-1,...e},this.onEvent(`module:authenticated`,async e=>{e.data.authenticated?this.tryAnnounce():await this.retryWithExponentialBackoff(()=>this.tryAuthenticate())}),this.opts.autoConnect&&this.connect()}async retryWithExponentialBackoff(e){let{maxReconnectAttempts:t}=this.opts,n=0;for(;;){if(t!==-1&&n>=t){console.error(`Maximum retry attempts (${t}) reached`);return}try{await e();return}catch(e){if(e instanceof KS)return;this.opts.onError?.(e),await at(Math.min(2**n*1e3,3e4)),n++}}}async tryReconnectWithExponentialBackoff(){this.shouldClose||await this.retryWithExponentialBackoff(()=>this._connect())}_connect(){return this.shouldClose||this.connected?Promise.resolve():this.connecting?Promise.reject(new KS(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new VS(this.opts.url);this.websocket=n,n.onmessage=this.handleMessageBound,n.onerror=e=>{this.connecting=!1,this.connected=!1,this.opts.onError?.(e),t(e?.error??Error(`WebSocket error`))},n.onclose=()=>{this.connecting=!1,this.connected&&(this.connected=!1,this.opts.onClose?.()),this.opts.autoReconnect&&!this.shouldClose&&this.tryReconnectWithExponentialBackoff()},n.onopen=()=>{this.connecting=!1,this.connected=!0,this.opts.token?this.tryAuthenticate():this.tryAnnounce(),e()}})}async connect(){await this.tryReconnectWithExponentialBackoff()}tryAnnounce(){this.send({type:`module:announce`,data:{name:this.opts.name,possibleEvents:this.opts.possibleEvents}})}tryAuthenticate(){this.opts.token&&this.send({type:`module:authenticate`,data:{token:this.opts.token}})}handleMessageBound=e=>{this.handleMessage(e)};async handleMessage(e){try{let t=JSON.parse(e.data),n=this.eventListeners.get(t.type);if(!n?.size)return;let r=[];for(let e of n)r.push(Promise.resolve(e(t)));await Promise.allSettled(r)}catch(e){console.error(`Failed to parse message:`,e),this.opts.onError?.(e)}}onEvent(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n)),n.add(t)}offEvent(e,t){let n=this.eventListeners.get(e);n&&(t?(n.delete(t),n.size||this.eventListeners.delete(e)):this.eventListeners.delete(e))}send(e){this.websocket&&this.connected&&this.websocket.send(JSON.stringify(e))}sendRaw(e){this.websocket&&this.connected&&this.websocket.send(e)}close(){this.shouldClose=!0,this.websocket&&(this.websocket.close(),this.connected=!1)}};const JS=Ne(`mods:channels:proj-airi:server`,()=>{let e=M(!1),t=M(),n=M([]);function r(n){return new Promise((r,i)=>{t.value=new qS({name:`proj-airi:ui:stage`,url:`ws://localhost:6121/ws`,token:n?.token,possibleEvents:[`ui:configure`,`module:authenticated`],onError:e=>{i(e)}}),t.value.onEvent(`module:authenticated`,t=>{t.data.authenticated&&(e.value=!0,a(),r())})})}function i(r){t.value&&e.value?t.value.send(r):n.value.push(r)}function a(){if(t.value&&e.value){for(let e of n.value)t.value.send(e);n.value=[]}}function o(){a(),t.value?.close(),e.value=!1,t.value=void 0}return{connected:e,initialize:r,send:i,dispose:o}}),YS=Ne(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=JS();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function XS(e,t){return Ne(e,()=>{let n=YS(),r=Ke(`settings/${e}/enabled`,!1),i=Ke(`settings/${e}/server-address`,``),a=Ke(`settings/${e}/server-port`,t),o=Ke(`settings/${e}/username`,``);function s(){n.updateFor(e,{enabled:r.value,serverAddress:i.value,serverPort:a.value,username:o.value})}return{enabled:r,serverAddress:i,serverPort:a,username:o,configured:w(()=>!!(i.value.trim()&&o.value.trim()&&a.value!==null)),saveSettings:s}})}const ZS=XS(`factorio`,34197);var QS=r({__name:`GamingFactorio`,setup(e){let t=ZS();return(e,n)=>(d(),_(BS,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const $S=XS(`minecraft`,25565);var eC=r({__name:`GamingMinecraft`,setup(e){let t=$S();return(e,n)=>(d(),_(BS,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const tC=Ne(`discord`,()=>{let e=YS(),t=Ke(`settings/discord/enabled`,!1),n=Ke(`settings/discord/token`,``);function r(){e.updateFor(`discord`,{token:n.value,enabled:t.value})}return{enabled:t,token:n,configured:w(()=>!!n.value.trim()),saveSettings:r}});var nC={flex:`~ col gap-6`},rC={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},iC=r({__name:`MessagingDiscord`,setup(e){let{t}=rt(),n=tC(),{enabled:r,token:i,configured:o}=Pe(n);function s(){n.saveSettings()}return(e,n)=>(d(),A(`div`,nC,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>T(r)?r.value=e:null,label:O(t)(`settings.pages.modules.messaging-discord.enable`),description:O(t)(`settings.pages.modules.messaging-discord.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>T(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.messaging-discord.token`),description:O(t)(`settings.pages.modules.messaging-discord.token-description`),placeholder:O(t)(`settings.pages.modules.messaging-discord.token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:s},null,8,[`label`])]),O(o)?(d(),A(`div`,rC,h(O(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const aC=Ne(`twitter`,()=>{let e=YS(),t=Ke(`settings/twitter/enabled`,!1),n=Ke(`settings/twitter/api-key`,``),r=Ke(`settings/twitter/api-secret`,``),i=Ke(`settings/twitter/access-token`,``),a=Ke(`settings/twitter/access-token-secret`,``);function o(){e.updateFor(`twitter`,{enabled:t.value,apiKey:n.value,apiSecret:r.value,accessToken:i.value,accessTokenSecret:a.value})}return{enabled:t,apiKey:n,apiSecret:r,accessToken:i,accessTokenSecret:a,configured:w(()=>!!(n.value.trim()&&r.value.trim()&&i.value.trim()&&a.value.trim())),saveSettings:o}});var oC={flex:`~ col gap-6`},sC={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},cC=r({__name:`X`,setup(e){let{t}=rt(),n=aC(),{enabled:r,apiKey:i,apiSecret:o,accessToken:s,accessTokenSecret:c,configured:l}=Pe(n);function u(){n.saveSettings()}return(e,n)=>(d(),A(`div`,oC,[D(O(ke),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>T(r)?r.value=e:null,label:O(t)(`settings.pages.modules.x.enable`),description:O(t)(`settings.pages.modules.x.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(je),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>T(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-key`),description:O(t)(`settings.pages.modules.x.api-key-description`),placeholder:O(t)(`settings.pages.modules.x.api-key-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(o),"onUpdate:modelValue":n[2]||=e=>T(o)?o.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-secret`),description:O(t)(`settings.pages.modules.x.api-secret-description`),placeholder:O(t)(`settings.pages.modules.x.api-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(s),"onUpdate:modelValue":n[3]||=e=>T(s)?s.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token`),description:O(t)(`settings.pages.modules.x.access-token-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(je),{modelValue:O(c),"onUpdate:modelValue":n[4]||=e=>T(c)?c.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token-secret`),description:O(t)(`settings.pages.modules.x.access-token-secret-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(Te),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(l)?(d(),A(`div`,sC,h(O(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),lC=Be(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=M(null),r=M(``),i=M(`50% 50%`),a=M(`50% 50%`),o=M(.5);function s(e){if(!n.value)return;let s=n.value,c=s.getBoundingClientRect(),l=e.clientX-c.left,u=e.clientY-c.top,d=s.offsetWidth,f=s.offsetHeight,p=Math.abs(Math.floor(100/d*l)-100),m=Math.abs(Math.floor(100/f*u)-100),h=50+(p-50)/1.5,g=50+(m-50)/1.5,_=50+(p-50)/7,v=50+(m-50)/7,y=(h-50)/1.5*.2*t.intensity,b=(g-50)/2*-1*.2*t.intensity,x=50-p+(50-m),S=.5+Math.abs(x)*.008*t.intensity;r.value=`perspective(1200px) rotateX(${b}deg) rotateY(${y}deg) scale3d(${1+.015*t.intensity}, ${1+.015*t.intensity}, ${1+.015*t.intensity})`,i.value=`${h}% ${g}%`,a.value=`${_}% ${v}%`,o.value=S}function c(){r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`,i.value=`50% 50%`,a.value=`50% 50%`,o.value=.5}return v(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(d(),A(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:f({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[b(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),uC=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`),n=Ye(`(min-width: 768px)`),r=$e();return Qe(document.documentElement,()=>r.update()),v(()=>r.update()),(e,i)=>O(n)?(d(),_(O(fe),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:k(()=>[b(e.$slots,`trigger`),D(O(me),null,{default:k(()=>[D(O(ue),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(de),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[b(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(d(),_(O(_e),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:k(()=>[D(O(me),null,{default:k(()=>[D(O(Ce),{class:`fixed inset-0`}),D(O(we),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:f({paddingBottom:`${Math.max(Number.parseFloat(O(r).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(be)),b(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),dC={class:`space-y-2`},fC={class:`flex flex-col items-center justify-center py-2`},pC={class:`relative h-28 w-28 select-none`},mC={key:0,class:`mt-3 w-full`},hC={class:`mt-3 w-full`},gC=r({__name:`hearing-config`,props:g({enabled:{type:Boolean,default:!1},granted:{type:Boolean,default:!1},audioInputs:{default:()=>[]},volumeLevel:{default:0}},{enabled:{type:Boolean},enabledModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{}}),emits:[`update:enabled`,`update:selectedAudioInput`],setup(e){let t=e,n=ie(e,`enabled`),r=ie(e,`selectedAudioInput`),i=w(()=>n.value?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`);return(e,o)=>(d(),A(`div`,dC,[j(`div`,fC,[j(`div`,pC,[j(`div`,{class:E([`absolute left-1/2 top-1/2 h-20 w-20 rounded-full transition-all duration-150 -translate-x-1/2 -translate-y-1/2`,i.value]),style:f({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-24 w-24 rounded-full transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:f({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-28 w-28 rounded-full transition-all duration-300 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:f({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),j(`button`,{class:E([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,[t.enabled?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]]),onClick:o[0]||=()=>n.value=!n.value},[j(`div`,{class:E([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),o[3]||=j(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(d(),A(`div`,mC,[D(ye,{theme:`orange`,label:`Microphone permission required`},{default:k(()=>[...o[2]||=[j(`div`,{class:`text-sm`},` The app doesn't have permission to access your microphone. Please grant microphone access in your system settings to enable audio input. `,-1)]]),_:1})]))]),j(`div`,hC,[D(O(Ae),{modelValue:r.value,"onUpdate:modelValue":o[1]||=e=>r.value=e,label:`Input device`,description:`Select the microphone you want to use.`,options:t.audioInputs.map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),placeholder:`Select microphone`,layout:`vertical`},null,8,[`modelValue`,`options`])])]))}}),_C=r({__name:`hearing-config-dialog`,props:g({overlayDim:{type:Boolean},overlayBlur:{type:Boolean},granted:{type:Boolean},audioInputs:{},volumeLevel:{}},{show:{type:Boolean,default:!1,required:!1},showModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{},enabled:{type:Boolean,default:!1},enabledModifiers:{}}),emits:[`update:show`,`update:selectedAudioInput`,`update:enabled`],setup(e){let t=e,n=ie(e,`show`),r=ie(e,`selectedAudioInput`),i=ie(e,`enabled`),a=Ye(`(min-width: 768px)`),o=$e();return Qe(document.documentElement,()=>o.update()),v(()=>o.update()),(e,s)=>O(a)?(d(),_(O(fe),{key:0,open:n.value,"onUpdate:open":s[2]||=e=>n.value=e},{default:k(()=>[D(O(xe),{"as-child":``},{default:k(()=>[b(e.$slots,`default`)]),_:3}),D(O(me),null,{default:k(()=>[D(O(ue),{class:E([[t.overlayDim?`bg-black/50`:``,t.overlayBlur?`backdrop-blur-sm`:``],`fixed inset-0 z-[9999] data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`])},null,8,[`class`]),D(O(de),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-5xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Ee),null,{default:k(()=>[D(O(pe),null,{default:k(()=>[...s[6]||=[p(`Hearing Input`,-1)]]),_:1})]),_:1}),D(gC,{enabled:i.value,"onUpdate:enabled":s[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[1]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),b(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(d(),_(O(_e),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":s[5]||=e=>n.value=e},{default:k(()=>[D(O(xe),{"as-child":``},{default:k(()=>[b(e.$slots,`default`)]),_:3}),D(O(me),null,{default:k(()=>[D(O(Ce),{class:`fixed inset-0`}),D(O(we),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[45%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:f({paddingBottom:`${Math.max(Number.parseFloat(O(o).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(be),{"my-2":``}),D(gC,{enabled:i.value,"onUpdate:enabled":s[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[4]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),b(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),vC=e=>({chat:t=>Object.assign(e,{model:t})}),yC=e=>({embed:t=>Object.assign(e,{model:t})}),bC=e=>({image:t=>Object.assign(e,{model:t})}),xC=e=>({model:()=>e}),SC=e=>({speech:t=>Object.assign(e,{model:t})}),CC=e=>({transcription:t=>Object.assign(e,{model:t})}),wC=(e,t)=>({metadata:{id:e,...t}}),TC=(...e)=>Object.assign(e[0],...e.slice(1)),EC=class extends Error{response;constructor(e,t,n){super(e,{cause:n}),this.name=`XSAIError`,this.response=t}},DC=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),OC=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[DC(e),t])),kC=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),AC=class{get promise(){return this._promise??=new Promise((e,t)=>{this.status.type===`resolved`?e(this.status.value):this.status.type===`rejected`&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise}_promise;_reject;_resolve;status={type:`pending`};reject(e){this.status={error:e,type:`rejected`},this._promise&&this._reject?.(e)}resolve(e){this.status={type:`resolved`,value:e},this._promise&&this._resolve?.(e)}},jC=e=>JSON.stringify(OC(kC({...e,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),MC=(e,t)=>kC({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),NC=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},PC=async e=>{if(!e.ok)throw new EC(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new EC(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new EC(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},FC=async e=>{let t=await e.text();try{return JSON.parse(t)}catch(n){throw new EC(`Failed to parse response, response body: ${t}`,e,n)}},IC=async e=>{let t=await e();for(;t instanceof Function;)t=await t();return t},LC=async e=>{let t=typeof e.apiKey==`string`?{"api-key":e.apiKey}:void 0,n=`https://${e.resourceName}.services.ai.azure.com/models/`,r=async(t,n)=>{e.apiVersion!=null&&t.searchParams.set(`api-version`,e.apiVersion);let r=`Bearer ${typeof e.apiKey==`function`?await e.apiKey():e.apiKey}`;return n.headers??={},Array.isArray(n.headers)?n.headers.push([`Authorization`,r]):n.headers instanceof Headers?n.headers.append(`Authorization`,r):n.headers.Authorization=r,globalThis.fetch(t,n)};return TC(wC(`azure`),vC({baseURL:n,fetch:r,headers:t}),yC({baseURL:n,fetch:r,headers:t}),SC({baseURL:n,fetch:r,headers:t}),CC({baseURL:n,fetch:r,headers:t}),xC({baseURL:n,fetch:r,headers:t}))},RC=(e,t=`https://api.cerebras.ai/v1/`)=>TC(wC(`cerebras`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),zC=(e,t=`https://api.deepseek.com/`)=>TC(wC(`deepseek`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),BC=(e,t=`https://api.fireworks.ai/inference/v1/`)=>TC(wC(`fireworks`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),VC=(e,t=`https://generativelanguage.googleapis.com/v1beta/openai/`)=>TC(wC(`google-generative-ai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),HC=(e,t=`https://api.mistral.ai/v1/`)=>TC(wC(`mistral`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),UC=(e,t=`https://api.moonshot.cn/v1/`)=>TC(wC(`moonshot`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),WC=(e,t=`https://api.novita.ai/v3/openai/`)=>TC(wC(`novita`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),GC=(e,t=`https://api.openai.com/v1/`)=>TC(wC(`openai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),bC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t}),SC({apiKey:e,baseURL:t}),CC({apiKey:e,baseURL:t})),KC=(e,t=`https://openrouter.ai/api/v1/`)=>TC(wC(`openrouter`),{chat:(n,r)=>{let i={apiKey:e,baseURL:t,model:n};return{...r?(({extraHeaders:e,models:t,provider:n})=>{e!=null&&(i.headers??={},Object.assign(i.headers,e));let r;return n!=null&&(r=OC(n)),OC({models:t,provider:r})})(r):{},...i}}},xC({apiKey:e,baseURL:t})),qC=(e,t=`https://api.perplexity.ai/`)=>TC(wC(`perplexity`),vC({apiKey:e,baseURL:t})),JC=(e,t=`https://api.together.xyz/v1/`)=>TC(wC(`together-ai`),vC({apiKey:e,baseURL:t}),yC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t,fetch:async(...e)=>globalThis.fetch(...e).then(async e=>e.json()).then(e=>Response.json({data:e,object:`list`}))})),YC=(e,t)=>{let n=`https://api.cloudflare.com/client/v4/accounts/${t}/ai/v1/`;return TC(wC(`workers-ai`),vC({apiKey:e,baseURL:n}),yC({apiKey:e,baseURL:n}))},XC=(e,t=`https://api.x.ai/v1/`)=>TC(wC(`xai`),vC({apiKey:e,baseURL:t}),xC({apiKey:e,baseURL:t})),ZC=(e=`http://localhost:11434/v1/`)=>TC(wC(`ollama`),vC({baseURL:e}),yC({baseURL:e}),xC({baseURL:e})),QC=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;eTC(wC(`player2`),vC({baseURL:e,headers:{"player2-game-key":t}}),SC({baseURL:e,fetch:async(e,t)=>{let n=`${e.toString().slice(0,-12)}tts/speak`;try{let{input:e,response_format:n,speed:r,voice:i,...a}=JSON.parse(t?.body),o={audio_format:n,play_in_app:!1,speed:r??1,text:e,voice_ids:i==null?[]:[i],...a};t&&(t.body=JSON.stringify(o))}catch(e){console.warn(`Could not parse body as JSON:`,e)}return globalThis.fetch(n,t).then(async e=>e.json()).then(e=>{let t=QC(e.data??``);return new Response(t,{headers:{"Content-Type":`audio/mpeg`},status:200})})},headers:{"player2-game-key":t}})),ew=e=>({chat:t=>Object.assign(e,{model:t})}),tw=e=>({embed:t=>Object.assign(e,{model:t})}),nw=e=>({model:()=>e}),rw=e=>({speech:t=>Object.assign(e,{model:t})}),iw=e=>({transcription:t=>Object.assign(e,{model:t})}),aw=(e,t)=>({metadata:{id:e,...t}}),ow=(...e)=>Object.assign(e[0],...e.slice(1)),sw=async e=>(e.fetch??globalThis.fetch)(NC(`models`,e.baseURL),{headers:MC(e.headers,e.apiKey),signal:e.abortSignal}).then(PC).then(FC).then(({data:e})=>e),cw=(...e)=>Object.assign(e[0],...e.slice(1)),lw=class extends Error{response;constructor(e,t){super(e),this.name=`XSAIError`,this.response=t}},uw=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),dw=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[uw(e),t])),fw=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),pw=(e,t)=>fw({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),mw=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},hw=async e=>{if(!e.ok)throw new lw(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new lw(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new lw(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},gw=async e=>hw(e).then(async e=>{let t=await e.text();try{return JSON.parse(t)}catch{throw Error(`Failed to parse response, response body: ${t}`)}}),_w=(e,t=`http://localhost:5933/v1/`)=>{let n=({applyTextNormalization:e,languageCode:t,nextRequestIds:n,nextText:r,previousRequestIds:i,previousText:a,pronunciationDictionaryLocators:o,seed:s,voiceSettings:c})=>({extraBody:dw({applyTextNormalization:e,languageCode:t,nextRequestIds:n,nextText:r,previousRequestIds:i,previousText:a,pronunciationDictionaryLocators:o?o.map(e=>dw(e)):void 0,seed:s,voiceSettings:dw(c??{similarityBoost:.75,stability:.5})})});return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`elevenlabs/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`provider=elevenlabs`,...r?n(r):{},apiKey:e,baseURL:t})})},vw=(e,t=`http://localhost:5933/v1/`)=>{let n=e=>{let{deploymentId:t,region:n,sampleRate:r}=e,i={deploymentId:t,region:n,sampleRate:r};return`disableSsml`in e?i.disableSsml=e.disableSsml:`lang`in e&&(i.lang=e.lang,i.gender=e.gender,i.voice=e.voice),{extraBody:dw(i)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`microsoft/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`region=${r?.region}&provider=microsoft`,...r?n(r):{},apiKey:e,baseURL:t})})},yw=(e,t=`http://localhost:5933/v1/`)=>{let n=t=>{let n={app:{appid:t.app?.appId,token:e}};return t.app!==void 0&&(n.app={...t.app,appid:t.app?.appId,token:e}),t.user!==void 0&&(n.user=t.user),t.audio!==void 0&&(n.audio=t.audio),{extraBody:dw(n)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`volcengine/${r}`})},{voice:r=>(t.endsWith(`v1/`)?t=t.slice(0,-3):t.endsWith(`v1`)&&(t=t.slice(0,-2)),{query:`provider=volcengine`,...r?n(r):{},apiKey:e,baseURL:t})})},bw=(e,t=`http://localhost:5933/v1/`)=>{let n=e=>{let{sampleRate:t,volume:n,rate:r,pitch:i}=e,a={sampleRate:t,volume:n,rate:r,pitch:i};return Object.keys(a).forEach(e=>a[e]===void 0&&delete a[e]),{extraBody:dw(a)}};return cw({speech:(r,i)=>({...i?n(i):{},apiKey:e,baseURL:t,model:`alibaba/${r}`})},{voice:r=>{let i=t;return i.endsWith(`v1/`)?i=i.slice(0,-3):i.endsWith(`v1`)&&(i=i.slice(0,-2)),{query:`provider=alibaba`,...r?n(r):{},apiKey:e,baseURL:i}}})},xw=async e=>(e.fetch??globalThis.fetch)(mw(e.query?`api/voices?${e.query}`:`api/voices`,e.baseURL),{headers:pw({...e.headers},e.apiKey),method:`GET`,signal:e.abortSignal}).then(gw).then(({voices:e})=>e),Sw=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}},Cw=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(Cw.test(e)){let t=Date.prototype[e.replace(Cw,`$1UTC`)];t&&(Sw.prototype[e]=t)}});var ww=class extends Sw{toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){return`${Tw.format(this)} ${Ew.format(this)} ${this.getFullYear()}`}toTimeString(){return`${Dw.format(this)} 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})}},Tw=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,timeZone:`UTC`}),Ew=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,timeZone:`UTC`}),Dw=new Intl.DateTimeFormat(`en-GB`,{hour12:!1,hour:`numeric`,minute:`numeric`,second:`numeric`,timeZone:`UTC`});const Ow=e=>new ww(+new Date(e)),kw=6048e5,Aw=3600*24;Aw*7,Aw*365.2425;const jw=Symbol.for(`constructDateFrom`);function Mw(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&jw in e?e[jw](t):e instanceof Date?new e.constructor(t):new Date(t)}function Nw(e,t){return Mw(t||e,e)}var Pw={};function Fw(){return Pw}function Iw(e,t){let n=Fw(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Nw(e,t?.in),a=i.getDay(),o=(a=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function zw(e){let t=Nw(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function Bw(e,...t){let n=Mw.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Vw(e,t){let n=Nw(e,t?.in);return n.setHours(0,0,0,0),n}function Hw(e,t,n){let[r,i]=Bw(n?.in,e,t),a=Vw(r),o=Vw(i),s=+a-zw(a),c=+o-zw(o);return Math.round((s-c)/864e5)}function Uw(e,t){let n=Rw(e,t),r=Mw(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Lw(r)}function Ww(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function Gw(e){return!(!Ww(e)&&typeof e!=`number`||isNaN(+Nw(e)))}function Kw(e,t){let n=Nw(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var qw={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}};const Jw=(e,t,n)=>{let r,i=qw[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Yw(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Xw={date:Yw({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Yw({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Yw({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})};var Zw={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`};const Qw=(e,t,n,r)=>Zw[e];function $w(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}const eT={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:$w({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:$w({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:$w({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:$w({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:$w({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function tT(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?rT(s,e=>e.test(o)):nT(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function nT(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function rT(e,t){for(let n=0;n{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}const aT={code:`en-US`,formatDistance:Jw,formatLong:Xw,formatRelative:Qw,localize:eT,match:{ordinalNumber:iT({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:tT({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:tT({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:tT({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:tT({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:tT({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function oT(e,t){let n=Nw(e,t?.in);return Hw(n,Kw(n))+1}function sT(e,t){let n=Nw(e,t?.in),r=Lw(n)-+Uw(n);return Math.round(r/kw)+1}function cT(e,t){let n=Nw(e,t?.in),r=n.getFullYear(),i=Fw(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Mw(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=Iw(o,t),c=Mw(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=Iw(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function lT(e,t){let n=Fw(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=cT(e,t),a=Mw(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),Iw(a,t)}function uT(e,t){let n=Nw(e,t?.in),r=Iw(n,t)-+lT(n,t);return Math.round(r/kw)+1}function dT(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}const fT={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return dT(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):dT(n+1,2)},d(e,t){return dT(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];case`aaaa`:default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return dT(e.getHours()%12||12,t.length)},H(e,t){return dT(e.getHours(),t.length)},m(e,t){return dT(e.getMinutes(),t.length)},s(e,t){return dT(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return dT(Math.trunc(r*10**(n-3)),t.length)}};var pT={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`};const mT={G:function(e,t,n){let r=e.getFullYear()>0?1:0;switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});case`GGGG`:default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return fT.y(e,t)},Y:function(e,t,n,r){let i=cT(e,r),a=i>0?i:1-i;return t===`YY`?dT(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):dT(a,t.length)},R:function(e,t){return dT(Rw(e),t.length)},u:function(e,t){return dT(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return dT(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});case`QQQQ`:default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return dT(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});case`qqqq`:default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return fT.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});case`MMMM`:default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return dT(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});case`LLLL`:default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=uT(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):dT(i,t.length)},I:function(e,t,n){let r=sT(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):dT(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):fT.d(e,t)},D:function(e,t,n){let r=oT(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):dT(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});case`EEEE`:default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return dT(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});case`eeee`:default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return dT(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});case`cccc`:default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return dT(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});case`iiii`:default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});case`aaaa`:default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?pT.noon:r===0?pT.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`bbbb`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?pT.evening:r>=12?pT.afternoon:r>=4?pT.morning:pT.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});case`BBBB`:default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return fT.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):fT.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):dT(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):dT(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):fT.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):fT.s(e,t)},S:function(e,t){return fT.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return gT(r);case`XXXX`:case`XX`:return _T(r);case`XXXXX`:case`XXX`:default:return _T(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return gT(r);case`xxxx`:case`xx`:return _T(r);case`xxxxx`:case`xxx`:default:return _T(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+hT(r,`:`);case`OOOO`:default:return`GMT`+_T(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+hT(r,`:`);case`zzzz`:default:return`GMT`+_T(r,`:`)}},t:function(e,t,n){return dT(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return dT(+e,t.length)}};function hT(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+dT(a,2)}function gT(e,t){return e%60==0?(e>0?`-`:`+`)+dT(Math.abs(e)/60,2):_T(e,t)}function _T(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=dT(Math.trunc(r/60),2),a=dT(r%60,2);return n+i+t+a}var vT=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});case`PPPP`:default:return t.date({width:`full`})}},yT=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});case`pppp`:default:return t.time({width:`full`})}};const bT={p:yT,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return vT(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;case`PPPP`:default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,vT(r,t)).replace(`{{time}}`,yT(i,t))}};var xT=/^D+$/,ST=/^Y+$/,CT=[`D`,`DD`,`YY`,`YYYY`];function wT(e){return xT.test(e)}function TT(e){return ST.test(e)}function ET(e,t,n){let r=DT(e,t,n);if(console.warn(r),CT.includes(e))throw RangeError(r)}function DT(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var OT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,kT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,AT=/^'([^]*?)'?$/,jT=/''/g,MT=/[a-zA-Z]/;function NT(e,t,n){let r=Fw(),i=n?.locale??r.locale??aT,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Nw(e,n?.in);if(!Gw(s))throw RangeError(`Invalid time value`);let c=t.match(kT).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=bT[t];return n(e,i.formatLong)}return e}).join(``).match(OT).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:PT(e)};if(mT[t])return{isToken:!0,value:e};if(t.match(MT))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&TT(a)||!n?.useAdditionalDayOfYearTokens&&wT(a))&&ET(a,t,String(e));let o=mT[a[0]];return o(s,a,i.localize,l)}).join(``)}function PT(e){let t=e.match(AT);return t?t[1].replace(jT,`'`):e}function FT(e,t){return+Nw(e)<+Nw(t)}var IT=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,LT=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,RT=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function zT(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){BT(e);return}return t}function BT(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function VT(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!RT.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(IT.test(e)||LT.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,zT)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var HT=/#/g,UT=/&/g,WT=/\//g,GT=/=/g,KT=/\+/g,qT=/%5e/gi,JT=/%60/gi,YT=/%7c/gi,XT=/%20/gi;function ZT(e){return encodeURI(``+e).replace(YT,`|`)}function QT(e){return ZT(typeof e==`string`?e:JSON.stringify(e)).replace(KT,`%2B`).replace(XT,`+`).replace(HT,`%23`).replace(UT,`%26`).replace(JT,"`").replace(qT,`^`).replace(WT,`%2F`)}function $T(e){return QT(e).replace(GT,`%3D`)}function eE(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function tE(e){return eE(e.replace(KT,` `))}function nE(e){return eE(e.replace(KT,` `))}function rE(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=tE(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=nE(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function iE(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${$T(e)}=${QT(t)}`).join(`&`):`${$T(e)}=${QT(t)}`:$T(e)}function aE(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>iE(t,e[t])).filter(Boolean).join(`&`)}var oE=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,sE=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,cE=/^([/\\]\s*){2,}[^/\\]/,lE=/\/$|\/\?|\/#/,uE=/^\.?\//;function dE(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?oE.test(e):sE.test(e)||(t.acceptRelative?cE.test(e):!1)}function fE(e=``,t){return t?lE.test(e):e.endsWith(`/`)}function pE(e=``,t){if(!t)return(fE(e)?e.slice(0,-1):e)||`/`;if(!fE(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function mE(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(fE(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function hE(e,t){if(_E(t)||dE(e))return e;let n=pE(t);return e.startsWith(n)?e:yE(n,e)}function gE(e,t){let n=xE(e);return n.search=aE({...rE(n.search),...t}),CE(n)}function _E(e){return!e||e===`/`}function vE(e){return e&&e!==`/`}function yE(e,...t){let n=e||``;for(let e of t.filter(e=>vE(e)))if(n){let t=e.replace(uE,``);n=mE(n)+t}else n=e;return n}var bE=Symbol.for(`ufo:protocolRelative`);function xE(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!dE(e,{acceptRelative:!0}))return t?xE(t+e):SE(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=SE(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[bE]:!r}}function SE(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function CE(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[bE]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var wE=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function TE(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new wE(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:``}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var EE=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function DE(e=`GET`){return EE.has(e.toUpperCase())}function OE(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var kE=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),AE=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function jE(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return AE.test(t)?`json`:t===`text/event-stream`?`stream`:kE.has(t)||t.startsWith(`text/`)?`text`:`blob`}function ME(e,t,n,r){let i=NE(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function NE(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function PE(e,t){if(t)if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}var FE=new Set([408,409,425,429,500,502,503,504]),IE=new Set([101,204,205,304]);function LE(e={}){let{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function i(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:DE(e.options.method)?0:1;let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):FE.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),a(e.request,{...e.options,retry:t-1})}}let n=TE(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:ME(a,o,e.defaults,n),response:void 0,error:void 0};if(s.options.method&&(s.options.method=s.options.method.toUpperCase()),s.options.onRequest&&(await PE(s,s.options.onRequest),s.options.headers instanceof n||(s.options.headers=new n(s.options.headers||{}))),typeof s.request==`string`&&(s.options.baseURL&&(s.request=hE(s.request,s.options.baseURL)),s.options.query&&(s.request=gE(s.request,s.options.query),delete s.options.query),`query`in s.options&&delete s.options.query,`params`in s.options&&delete s.options.params),s.options.body&&DE(s.options.method))if(OE(s.options.body)){let e=s.options.headers.get(`content-type`);typeof s.options.body!=`string`&&(s.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(s.options.body).toString():JSON.stringify(s.options.body)),e||s.options.headers.set(`content-type`,`application/json`),s.options.headers.has(`accept`)||s.options.headers.set(`accept`,`application/json`)}else (`pipeTo`in s.options.body&&typeof s.options.body.pipeTo==`function`||typeof s.options.body.pipe==`function`)&&(`duplex`in s.options||(s.options.duplex=`half`));let c;if(!s.options.signal&&s.options.timeout){let e=new r;c=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},s.options.timeout),s.options.signal=e.signal}try{s.response=await t(s.request,s.options)}catch(e){return s.error=e,s.options.onRequestError&&await PE(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!IE.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||jE(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||VT;s.response._data=t(e);break}case`stream`:s.response._data=s.response.body||s.response._bodyInit;break;default:s.response._data=await s.response[e]()}}return s.options.onResponse&&await PE(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await PE(s,s.options.onResponseError),await i(s)):s.response},o=async function(e,t){return(await a(e,t))._data};return o.raw=a,o.native=(...e)=>t(...e),o.create=(t={},n={})=>LE({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var RE=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),zE=RE.fetch?(...e)=>RE.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),BE=RE.Headers,VE=RE.AbortController,HE=LE({fetch:zE,Headers:BE,AbortController:VE}),UE=globalThis.crypto.subtle,WE=[];for(let e=0;e<256;++e)WE.push((e+256).toString(16).slice(1));function GE(e,t=0){return(WE[e[t+0]]+WE[e[t+1]]+WE[e[t+2]]+WE[e[t+3]]+`-`+WE[e[t+4]]+WE[e[t+5]]+`-`+WE[e[t+6]]+WE[e[t+7]]+`-`+WE[e[t+8]]+WE[e[t+9]]+`-`+WE[e[t+10]]+WE[e[t+11]]+WE[e[t+12]]+WE[e[t+13]]+WE[e[t+14]]+WE[e[t+15]]).toLowerCase()}var KE,qE=new Uint8Array(16);function JE(){if(!KE){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);KE=crypto.getRandomValues.bind(crypto)}return KE(qE)}var YE={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function XE(e,t,n){e||={};let r=e.random??e.rng?.()??JE();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return GE(r)}function ZE(e,t,n){return YE.randomUUID&&!t&&!e?YE.randomUUID():XE(e,t,n)}var QE=ZE;function $E(e){return new URL(`http://nls-meta.${e}.aliyuncs.com`)}function eD(e=`cn-shanghai`){let t=new URL(`/ws/v1`,`https://example.com`);switch(e){case`cn-shanghai`:case`cn-beijing`:case`cn-shenzhen`:t.protocol=`wss:`,t.hostname=`nls-gateway-${e}.aliyuncs.com`;break;case`cn-shanghai-internal`:case`cn-beijing-internal`:case`cn-shenzhen-internal`:t.protocol=`wss:`,t.hostname=`nls-gateway-${e}-internal.aliyuncs.com:80`}return t}var tD=`HMAC-SHA1`,nD=`1.0`,rD=`2019-02-28`;function iD(e){return Object.keys(e).sort().map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join(`&`)}function aD(e,t,n){return`${e}&${encodeURIComponent(t)}&${encodeURIComponent(n)}`}async function oD(e,t){let n=new TextEncoder().encode(`${t}&`),r=await UE.importKey(`raw`,n,{name:`HMAC`,hash:{name:`SHA-1`}},!1,[`sign`]),i=new TextEncoder().encode(e);return GS(await UE.sign(`HMAC`,r,i))}async function sD(e,t,n){let r=NT(Ow(it({timestamp:new Date},n).timestamp),`yyyy-MM-dd'T'HH:mm:ssXX`),i=n?.signatureNonce??QE(),a={AccessKeyId:e,Action:`CreateToken`,Format:`JSON`,RegionId:n?.regionId??`cn-shanghai`,SignatureMethod:tD,SignatureNonce:i,SignatureVersion:nD,Timestamp:r,Version:rD,...n?.extraQuery},o=iD(a),s=aD(`POST`,`/`,o),c=await oD(s,t),l=encodeURIComponent(c),u=`Signature=${l}&${o}`,d=(n?.endpoint??$E(n?.regionId??`cn-shanghai`).toString()).replace(/\/$/,``),f=`${d}/?${u}`;return{endpoint:d,canonicalQuery:o,stringToSign:s,signature:c,encodedSignature:l,signedQuery:u,params:{Signature:c,...a},url:f}}async function cD(e,t,n){let r=await HE((await sD(e,t,n)).url,{method:`POST`});if(`Token`in r&&typeof r.Token==`object`&&`Id`in r.Token)return{token:r.Token.Id,expiresAt:r.Token.ExpireTime*1e3};throw Error(`Failed to create token: ${JSON.stringify(r)||`Unknown error`}`)}var lD=Le(`0123456789abcdef`,32);function uD(e,t,n,r){let i=dD(e,t,n,r),a=lD();function o(e,t){let n=it({sessionId:a},t);e.send(JSON.stringify({header:{appkey:i.appKey,message_id:lD(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StartTranscription`},payload:{format:`wav`}}))}function s(e,t){let n=it({sessionId:a},t);e?.send(JSON.stringify({header:{appkey:i.appKey,message_id:lD(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StopTranscription`},payload:void 0}))}function c(e,t){t(e)}return{...i,sessionId:a,start:o,stop:s,onEvent:c}}function dD(e,t,n,r){let i=``,a=Ow(new Date).getTime();async function o(){if(!i||FT(new Date(a),Ow(new Date))){let n=await cD(e,t,{regionId:r?.region??`cn-shanghai`});i=n.token,a=n.expiresAt}let n=eD(r?.region??`cn-shanghai`);return n.searchParams.set(`token`,i),n.toString()}return{websocketUrl:o,appKey:n}}var fD={format:`pcm`,sample_rate:16e3};function pD(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);throw TypeError(`Unsupported audio chunk type for Aliyun streaming transcription`)}var mD=new TextEncoder;function hD(e){return mD.encode(`data: ${JSON.stringify(e)}\n\n`)}function gD(e){try{return e()}catch{return}}function _D(e,t,n){return{on:()=>n?.addEventListener(e,t),off:()=>n?.removeEventListener(e,t)}}async function vD(e){let{accessKeyId:t,accessKeySecret:n,appKey:r,region:i,sessionOptions:a,audioStream:o,abortSignal:s,hooks:c,onSessionTerminated:l,onSentenceFinal:u}=e,d=uD(t,n,r,{region:i}),f=o.getReader(),p=await d.websocketUrl();gD(()=>c?.onWebSocketConnecting?.());let m=new WebSocket(p);m.binaryType=`arraybuffer`;let h=_D(`abort`,()=>g(s?.reason??new DOMException(`Aborted`,`AbortError`)),s);s&&h.on();async function g(e){h&&s&&h.off(),gD(async()=>await f.cancel()),m&&(m.readyState===WebSocket.OPEN?(gD(()=>d.stop(m)),m.close(1e3,`client closed`)):gD(()=>m?.close())),await l?.(e)}async function _(){try{for(;!s?.aborted;){let{done:e,value:t}=await f.read();if(e)break;t&&m.send(pD(t))}}catch(e){await g(e)}}async function v(e){let t=JSON.parse(e.data);d.onEvent(t,async e=>{gD(async()=>await c?.onServerEvent?.(e));try{switch(e.header.name){case`TranscriptionStarted`:_();break;case`SentenceEnd`:await u?.(e.payload);break;case`TranscriptionCompleted`:await g();break;default:break}}catch(e){await g(e)}})}async function y(){gD(()=>c?.onWebSocketOpen?.()),d.start(m,{enable_intermediate_result:!0,enable_punctuation_prediction:!0,...fD,...a})}if(m.onerror=e=>gD(()=>c?.onWebSocketError?.(e)),m.onclose=e=>gD(()=>c?.onWebSocketClose?.(e?.code??1006,e?.reason??``)),m.onopen=()=>gD(async()=>y()),m.onmessage=e=>gD(async()=>v(e)),s?.aborted)throw s.reason??new DOMException(`Aborted`,`AbortError`)}function yD(e,t,n,r){return{speech(i,a){return{baseURL:eD(a?.region??r?.region),model:`aliyun-nls-v1`,fetch:async(i,o)=>{let s=o?.body??a?.inputAudioStream;if(!(s instanceof ReadableStream))throw TypeError(`Audio stream must be provided as a ReadableStream for Aliyun NLS streaming transcription.`);let c=!1,l=new ReadableStream({start(i){vD({accessKeyId:e,accessKeySecret:t,appKey:n,region:a?.region??r?.region,sessionOptions:a?.sessionOptions,audioStream:s,abortSignal:a?.abortSignal||o?.signal||void 0,hooks:a?.hooks,onSessionTerminated:async e=>{c=!0;try{await a?.onSessionTerminated?.(e)}finally{e?i.error(e instanceof Error?e:Error(String(e))):i.close()}},onSentenceFinal:async e=>{let t=e.result?`${e.result}\n`:``;t&&i.enqueue(hD({delta:t,type:`transcript.text.delta`})),i.enqueue(hD({delta:``,type:`transcript.text.done`}))}})},cancel:async()=>{c||await(void 0)?.close()}});return new Response(l,{headers:{"Cache-Control":`no-cache`,"Content-Type":`text/event-stream`}})}}}}}const bD=[{model_id:`eleven_multilingual_v2`,name:`Eleven Multilingual v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our most life-like, emotionally rich mode in 29 languages. Best for voice overs, audiobooks, post-production, or any other content creation needs.`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`ru`,name:`Russian`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_flash_v2_5`,name:`Eleven Flash v2.5`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our ultra low latency model in 32 languages. Ideal for conversational use cases.`,requires_alpha_access:!1,max_characters_request_free_user:4e4,max_characters_request_subscribed_user:4e4,maximum_text_length_per_request:4e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`hu`,name:`Hungarian`},{language_id:`no`,name:`Norwegian`},{language_id:`vi`,name:`Vietnamese`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_turbo_v2_5`,name:`Eleven Turbo v2.5`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our high quality, low latency model in 32 languages. Best for developer use cases where speed matters and you need non-English languages.`,requires_alpha_access:!1,max_characters_request_free_user:4e4,max_characters_request_subscribed_user:4e4,maximum_text_length_per_request:4e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`},{language_id:`vi`,name:`Vietnamese`},{language_id:`no`,name:`Norwegian`},{language_id:`hu`,name:`Hungarian`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_turbo_v2`,name:`Eleven Turbo v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our English-only, low latency model. Best for developer use cases where speed matters and you only need English. Performance is on par with Turbo v2.5.`,requires_alpha_access:!1,max_characters_request_free_user:3e4,max_characters_request_subscribed_user:3e4,maximum_text_length_per_request:3e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_flash_v2`,name:`Eleven Flash v2`,can_be_finetuned:!0,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our ultra low latency model in english. Ideal for conversational use cases.`,requires_alpha_access:!1,max_characters_request_free_user:3e4,max_characters_request_subscribed_user:3e4,maximum_text_length_per_request:3e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:.5},concurrency_group:`turbo`},{model_id:`eleven_english_sts_v2`,name:`Eleven English v2`,can_be_finetuned:!1,can_do_text_to_speech:!1,can_do_voice_conversion:!0,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our state-of-the-art speech to speech model suitable for scenarios where you need maximum control over the content and prosody of your generations.`,requires_alpha_access:!1,max_characters_request_free_user:5e3,max_characters_request_subscribed_user:5e3,maximum_text_length_per_request:5e3,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_multilingual_v1`,name:`Eleven Multilingual v1`,can_be_finetuned:!1,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our first Multilingual model, capability of generating speech in 10 languages. Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases).`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`de`,name:`German`},{language_id:`pl`,name:`Polish`},{language_id:`es`,name:`Spanish`},{language_id:`it`,name:`Italian`},{language_id:`fr`,name:`French`},{language_id:`pt`,name:`Portuguese`},{language_id:`hi`,name:`Hindi`},{language_id:`ar`,name:`Arabic`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_multilingual_sts_v2`,name:`Eleven Multilingual v2`,can_be_finetuned:!0,can_do_text_to_speech:!1,can_do_voice_conversion:!0,can_use_style:!0,can_use_speaker_boost:!0,serves_pro_voices:!1,token_cost_factor:1,description:`Our cutting-edge, multilingual speech-to-speech model is designed for situations that demand unparalleled control over both the content and the prosody of the generated speech across various languages.`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`},{language_id:`ja`,name:`Japanese`},{language_id:`zh`,name:`Chinese`},{language_id:`de`,name:`German`},{language_id:`hi`,name:`Hindi`},{language_id:`fr`,name:`French`},{language_id:`ko`,name:`Korean`},{language_id:`pt`,name:`Portuguese`},{language_id:`it`,name:`Italian`},{language_id:`es`,name:`Spanish`},{language_id:`ru`,name:`Russian`},{language_id:`id`,name:`Indonesian`},{language_id:`nl`,name:`Dutch`},{language_id:`tr`,name:`Turkish`},{language_id:`fil`,name:`Filipino`},{language_id:`pl`,name:`Polish`},{language_id:`sv`,name:`Swedish`},{language_id:`bg`,name:`Bulgarian`},{language_id:`ro`,name:`Romanian`},{language_id:`ar`,name:`Arabic`},{language_id:`cs`,name:`Czech`},{language_id:`el`,name:`Greek`},{language_id:`fi`,name:`Finnish`},{language_id:`hr`,name:`Croatian`},{language_id:`ms`,name:`Malay`},{language_id:`sk`,name:`Slovak`},{language_id:`da`,name:`Danish`},{language_id:`ta`,name:`Tamil`},{language_id:`uk`,name:`Ukrainian`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`},{model_id:`eleven_monolingual_v1`,name:`Eleven English v1`,can_be_finetuned:!1,can_do_text_to_speech:!0,can_do_voice_conversion:!1,can_use_style:!1,can_use_speaker_boost:!1,serves_pro_voices:!1,token_cost_factor:1,description:`Our first ever text to speech model. Now outclassed by Multilingual v2 (for content creation) and Turbo v2.5 (for low latency use cases).`,requires_alpha_access:!1,max_characters_request_free_user:1e4,max_characters_request_subscribed_user:1e4,maximum_text_length_per_request:1e4,languages:[{language_id:`en`,name:`English`}],model_rates:{character_cost_multiplier:1},concurrency_group:`standard`}];var xD=async e=>(e.fetch??globalThis.fetch)(NC(`chat/completions`,e.baseURL),{body:jC({...e,tools:e.tools?.map(e=>({function:kC({...e.function,returns:void 0}),type:`function`}))}),headers:MC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(PC),SD=({finishReason:e,maxSteps:t,stepsLength:n,toolCallsLength:r})=>{if(n===0)return`initial`;if(n0&&e===`tool_calls`)return`tool-result`;if(![`error`,`length`].includes(e))return`continue`}return`done`},CD=e=>typeof e==`string`||Array.isArray(e)&&e.every(e=>!!(typeof e==`object`&&`type`in e&&[`file`,`image_url`,`input_audio`,`text`].includes(e.type)))?e:JSON.stringify(e),wD=async({abortSignal:e,messages:t,toolCall:n,tools:r})=>{let i=r?.find(e=>e.function.name===n.function.name);if(!i){let e=r?.map(e=>e.function.name),t=e==null||e.length===0?`No tools are available`:`Available tools: ${e.join(`, `)}`;throw Error(`Model tried to call unavailable tool "${n.function.name}", ${t}.`)}let a=n.id,o=n.function.name,s=JSON.parse(n.function.arguments),c=CD(await i.execute(s,{abortSignal:e,messages:t,toolCallId:a}));return{completionToolCall:{args:n.function.arguments,toolCallId:a,toolCallType:n.type,toolName:o},completionToolResult:{args:s,result:c,toolCallId:a,toolName:o},message:{content:c,role:`tool`,tool_call_id:a}}},TD=async e=>xD({...e,maxSteps:void 0,steps:void 0,stream:!1}).then(FC).then(async t=>{let{choices:n,usage:r}=t;if(!n?.length)throw Error(`No choices returned, response body: ${JSON.stringify(t)}`);let i=structuredClone(e.messages),a=e.steps?structuredClone(e.steps):[],o=[],s=[],{finish_reason:c,message:l}=n[0],u=l?.tool_calls??[],d=SD({finishReason:c,maxSteps:e.maxSteps??1,stepsLength:a.length,toolCallsLength:u.length});if(i.push(kC({...l,reasoning_content:void 0})),c!==`stop`&&d!==`done`)for(let t of u){let{completionToolCall:n,completionToolResult:r,message:a}=await wD({abortSignal:e.abortSignal,messages:i,toolCall:t,tools:e.tools});o.push(n),s.push(r),i.push(a)}let f={finishReason:c,stepType:d,text:l.content,toolCalls:o,toolResults:s,usage:r};return a.push(f),e.onStepFinish&&await e.onStepFinish(f),f.finishReason===`stop`||f.stepType===`done`?{finishReason:f.finishReason,messages:i,reasoningText:l.reasoning_content,steps:a,text:f.text,toolCalls:f.toolCalls,toolResults:f.toolResults,usage:f.usage}:async()=>TD({...e,messages:i,steps:a})}),ED=async e=>IC(async()=>TD(e)),DD=(...e)=>e,OD=e=>({content:e,role:`system`}),kD=e=>({content:e,role:`user`}),AD=e=>({text:e,type:`text`}),jD=e=>({image_url:{url:e},type:`image_url`}),MD=e=>{let t=e=>typeof e==`object`&&`type`in e&&e.type===`function`&&`id`in e&&`function`in e&&typeof e.function==`object`;return t(e)||Array.isArray(e)&&e.every(e=>t(e))},ND=Object.freeze({__proto__:null,assistant:e=>MD(e)?Array.isArray(e)?{role:`assistant`,tool_calls:e}:{role:`assistant`,tool_calls:[e]}:{content:e,role:`assistant`},imagePart:jD,isToolCall:MD,messages:DD,system:OD,textPart:AD,tool:(e,t)=>({content:e,role:`tool`,tool_call_id:t.id}),user:kD});function PD(e){return typeof e==`string`?e.trim():``}function FD(e){let t=PD(e);return t&&!t.endsWith(`/`)&&(t+=`/`),t}function ID(){try{return typeof localStorage<`u`&&localStorage.getItem(`airi:debug`)===`1`}catch{return!1}}function LD(...e){ID()&&console.warn(...e)}function RD(e){let{id:t,name:n,icon:r,description:i,nameKey:a,descriptionKey:o,category:s,tasks:c,defaultBaseUrl:l,creator:u,capabilities:d,validators:f,validation:p,additionalHeaders:m,transcriptionFeatures:h,...g}=e,_=d||{listModels:async e=>{let n=PD(e.apiKey),r=FD(e.baseUrl);if(!n||!r)return[];let i=await u(n,r);return!i||typeof i.model!=`function`?[]:(await sw({apiKey:n,baseURL:r,headers:m})).map(e=>({id:e.id,name:e.name||e.display_name||e.id,provider:t,description:e.description||``,contextLength:e.context_length||0,deprecated:!1}))}},v=f||{validateProviderConfig:async e=>{let t=[],n=PD(e.baseUrl),r=PD(e.apiKey);r||t.push(Error(`API Key is required`)),n||t.push(Error(`Base URL is required`));try{new URL(n).host.length===0&&t.push(Error(`Base URL is not absolute. Check your input.`))}catch{t.push(Error(`Base URL is invalid. It must be an absolute URL.`))}if(n=FD(n),t.length>0)return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let i=p||[],a=!!r,o=(async()=>{let t=`test`;if(!a)return t;try{let e=await sw({apiKey:r,baseURL:n,headers:m}).then(e=>e.filter(e=>[`embed`,`tts`,`models/gemini-2.5-pro`].every(t=>!e.id.includes(t))));e.length>0&&(t=e[0].id)}catch(t){LD(`Model auto-detection failed: ${t.message}`),LD(`Falling back to default test model for validation checks.`);try{if(d?.listModels){let t=await d.listModels(e);if(t.length<=0)throw Error(`No models returned from capabilities.listModels`);return t[0].id}}catch(e){LD(`Model auto-detection via capabilities.listModels also failed: ${e.message}`)}}return t})(),s=[];if(i.includes(`health`)&&a&&s.push((async()=>{try{let e=await o;return await ED({apiKey:r,baseURL:n,headers:m,model:e,messages:ND.messages(ND.user(`ping`)),max_tokens:1}),null}catch(e){return Error(`Health check failed: ${e.message}`)}})()),i.includes(`model_list`)&&a&&s.push((async()=>{try{let e=await sw({apiKey:r,baseURL:n,headers:m});return!e||e.length===0?Error(`Model list check failed: no models found`):null}catch(e){return Error(`Model list check failed: ${e.message}`)}})()),i.includes(`chat_completions`)&&a&&s.push((async()=>{try{let e=await o;return await ED({apiKey:r,baseURL:n,headers:m,model:e,messages:ND.messages(ND.user(`ping`)),max_tokens:1}),null}catch(e){return Error(`Chat completions check failed: ${e.message}`)}})()),s.length>0){let e=await Promise.allSettled(s);for(let n of e)n.status===`fulfilled`&&n.value?t.push(n.value):n.status===`rejected`&&t.push(Error(String(n.reason)))}return{errors:t,reason:t.length>0?t.map(e=>e.message).join(`, `):``,valid:t.length===0}}},y=s??`chat`;return{id:t,category:y,tasks:c||[`text-generation`],nameKey:a,name:n,descriptionKey:o,description:i,icon:r,defaultOptions:()=>({baseUrl:l||``}),createProvider:async e=>u(PD(e.apiKey),FD(e.baseUrl)),capabilities:_,validators:v,...y===`transcription`?{transcriptionFeatures:h??{supportsGenerate:!0,supportsStreamOutput:!1,supportsStreamInput:!1}}:{},...g}}var zD=[`cn-shanghai`,`cn-shanghai-internal`,`cn-beijing`,`cn-beijing-internal`,`cn-shenzhen`,`cn-shenzhen-internal`];function BD(e,t=`https://api.anthropic.com/v1/`){let n=async(e,t)=>(t.headers??={},Array.isArray(t.headers)?t.headers.push([`anthropic-dangerous-direct-browser-access`,`true`]):t.headers instanceof Headers?t.headers.append(`anthropic-dangerous-direct-browser-access`,`true`):t.headers[`anthropic-dangerous-direct-browser-access`]=`true`,fetch(e,t));return ow(aw(`anthropic`),ew({apiKey:e,fetch:n,baseURL:t}),nw({apiKey:e,fetch:n,baseURL:t}))}const VD=Ne(`providers`,()=>{let e=Ke(`settings/credentials/providers`,{}),{t}=rt(),n=w(()=>e=>{let t=``;return e?typeof e==`string`?!Ie(e)||new URL(e).host.length===0?t=`Base URL is not absolute. Try to include a scheme (http:// or https://).`:e.endsWith(`/`)||(t=`Base URL must end with a trailing slash (/).`):t=`Base URL must be a string.`:t=`Base URL is required.`,t?{errors:[Error(t)],reason:t,valid:!1}:null});async function r(){return Fe()?!1:!!(await ot()||`navigator`in globalThis&&globalThis.navigator!=null&&`deviceMemory`in globalThis.navigator&&typeof globalThis.navigator.deviceMemory==`number`&&globalThis.navigator.deviceMemory>=8)}let i={"openrouter-ai":RD({id:`openrouter-ai`,name:`OpenRouter`,nameKey:`settings.pages.providers.provider.openrouter.title`,descriptionKey:`settings.pages.providers.provider.openrouter.description`,icon:`i-lobe-icons:openrouter`,description:`openrouter.ai`,defaultBaseUrl:`https://openrouter.ai/api/v1/`,creator:KC,validation:[`health`,`model_list`],validators:{validateProviderConfig:async e=>{let t=[];if(e.apiKey||t.push(Error(`API Key is required`)),e.baseUrl||t.push(Error(`Base URL is required`)),t.length>0||((!Ie(e.baseUrl)||new URL(e.baseUrl).host.length===0)&&t.push(Error(`Base URL is not absolute. Check your input.`)),e.baseUrl.endsWith(`/`)||t.push(Error(`Base URL must end with a trailing slash (/).`)),t.length>0))return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let n=await(await fetch(`${e.baseUrl}chat/completions`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:`POST`,body:`{"model": "test","messages": [{"role": "user","content": "Hello, world"}],"stream": false}`})).json();return n.user_id?{errors:[],reason:``,valid:!0}:{errors:[Error(`OpenRouterError: ${n.error.message}`)],reason:`OpenRouterError: ${n.error.message}`,valid:!1}}}}),"app-local-audio-speech":RD({id:`app-local-audio-speech`,name:`App (Local)`,nameKey:`settings.pages.providers.provider.app-local-audio-speech.title`,descriptionKey:`settings.pages.providers.provider.app-local-audio-speech.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/huggingface/candle`,category:`speech`,tasks:[`text-to-speech`,`tts`],isAvailableBy:Fe,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"app-local-audio-transcription":RD({id:`app-local-audio-transcription`,name:`App (Local)`,nameKey:`settings.pages.providers.provider.app-local-audio-transcription.title`,descriptionKey:`settings.pages.providers.provider.app-local-audio-transcription.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/huggingface/candle`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],isAvailableBy:Fe,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"browser-local-audio-speech":RD({id:`browser-local-audio-speech`,name:`Browser (Local)`,nameKey:`settings.pages.providers.provider.browser-local-audio-speech.title`,descriptionKey:`settings.pages.providers.provider.browser-local-audio-speech.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/moeru-ai/xsai-transformers`,category:`speech`,tasks:[`text-to-speech`,`tts`],isAvailableBy:r,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),"browser-local-audio-transcription":RD({id:`browser-local-audio-transcription`,name:`Browser (Local)`,nameKey:`settings.pages.providers.provider.browser-local-audio-transcription.title`,descriptionKey:`settings.pages.providers.provider.browser-local-audio-transcription.description`,icon:`i-lobe-icons:huggingface`,description:`https://github.com/moeru-ai/xsai-transformers`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],isAvailableBy:r,creator:GC,validation:[],validators:{validateProviderConfig:e=>e.baseUrl?{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. This is likely a bug, report to developers on https://github.com/moeru-ai/airi/issues.`,valid:!1}}}),ollama:{id:`ollama`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.ollama.title`,name:`Ollama`,descriptionKey:`settings.pages.providers.provider.ollama.description`,description:`ollama.com`,icon:`i-lobe-icons:ollama`,defaultOptions:()=>({baseUrl:`http://localhost:11434/v1/`}),createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await sw({...ZC(e.baseUrl.trim()).model()})).map(e=>({id:e.id,name:e.id,provider:`ollama`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`Ollama server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Ollama server, error: ${String(e)} occurred.\n\nIf you are using Ollama locally, this is likely the CORS (Cross-Origin Resource Sharing) security issue, where you will need to set OLLAMA_ORIGINS=* or OLLAMA_ORIGINS=https://airi.moeru.ai,${location.origin} environment variable before launching Ollama server to make this work.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:11434/v1/ for Ollama.`,valid:!1}}},"ollama-embedding":{id:`ollama-embedding`,category:`embed`,tasks:[`text-feature-extraction`],nameKey:`settings.pages.providers.provider.ollama.title`,name:`Ollama`,descriptionKey:`settings.pages.providers.provider.ollama.description`,description:`ollama.com`,icon:`i-lobe-icons:ollama`,defaultOptions:()=>({baseUrl:`http://localhost:11434/v1/`}),createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await sw({...ZC(e.baseUrl.trim()).model()})).map(e=>({id:e.id,name:e.id,provider:`ollama`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`Ollama server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Ollama server, error: ${String(e)} occurred.\n\nIf you are using Ollama locally, this is likely the CORS (Cross-Origin Resource Sharing) security issue, where you will need to set OLLAMA_ORIGINS=* or OLLAMA_ORIGINS=https://airi.moeru.ai,http://localhost environment variable before launching Ollama server to make this work.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:11434/v1/ for Ollama.`,valid:!1}}},"lm-studio":{id:`lm-studio`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.lm-studio.title`,name:`LM Studio`,descriptionKey:`settings.pages.providers.provider.lm-studio.description`,description:`lmstudio.ai`,icon:`i-lobe-icons:lmstudio`,defaultOptions:()=>({baseUrl:`http://localhost:1234/v1/`}),createProvider:async e=>GC(``,e.baseUrl.trim()),capabilities:{listModels:async e=>{try{let t=await fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0});if(!t.ok)throw Error(`LM Studio server returned non-ok status code: ${t.statusText}`);return(await t.json()).data.map(e=>({id:e.id,name:e.id,provider:`lm-studio`,description:e.description||``,contextLength:e.context_length||0,deprecated:!1}))}catch(e){return console.error(`Error fetching LM Studio models:`,e),[]}}},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`LM Studio server returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach LM Studio server, error: ${String(e)} occurred.\n\nMake sure LM Studio is running and the local server is started. You can start the local server in LM Studio by going to the 'Local Server' tab and clicking 'Start Server'.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:1234/v1/ for LM Studio.`,valid:!1}}},openai:RD({id:`openai`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`,`model_list`]}),"openai-compatible":RD({id:`openai-compatible`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,creator:GC,validation:[`health`]}),"openai-audio-speech":RD({id:`openai-audio-speech`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,category:`speech`,tasks:[`text-to-speech`],defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`],capabilities:{listVoices:async()=>[{id:`alloy`,name:`Alloy`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`ash`,name:`Ash`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`ballad`,name:`Ballad`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`coral`,name:`Coral`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`echo`,name:`Echo`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`fable`,name:`Fable`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`onyx`,name:`Onyx`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`nova`,name:`Nova`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`sage`,name:`Sage`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`shimmer`,name:`Shimmer`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]},{id:`verse`,name:`Verse`,provider:`openai-audio-speech`,languages:[],compatibleModels:[`tts-1`,`tts-1-hd`]}],listModels:async()=>[{id:`tts-1`,name:`TTS-1`,provider:`openai-audio-speech`,description:``,contextLength:0,deprecated:!1},{id:`tts-1-hd`,name:`TTS-1-HD`,provider:`openai-audio-speech`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API Key is required`),!e.baseUrl&&Error(`Base URL is required. Default to https://api.openai.com/v1/ for official OpenAI API.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}}),"openai-compatible-audio-speech":RD({id:`openai-compatible-audio-speech`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,category:`speech`,tasks:[`text-to-speech`],capabilities:{listVoices:async()=>[]},creator:GC}),"openai-audio-transcription":RD({id:`openai-audio-transcription`,name:`OpenAI`,nameKey:`settings.pages.providers.provider.openai.title`,descriptionKey:`settings.pages.providers.provider.openai.description`,icon:`i-lobe-icons:openai`,description:`openai.com`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],defaultBaseUrl:`https://api.openai.com/v1/`,creator:GC,validation:[`health`],validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API Key is required`),!e.baseUrl&&Error(`Base URL is required. Default to https://api.openai.com/v1/ for official OpenAI API.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}}),"openai-compatible-audio-transcription":RD({id:`openai-compatible-audio-transcription`,name:`OpenAI Compatible`,nameKey:`settings.pages.providers.provider.openai-compatible.title`,descriptionKey:`settings.pages.providers.provider.openai-compatible.description`,icon:`i-lobe-icons:openai`,description:`Connect to any API that follows the OpenAI specification.`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],creator:GC}),"aliyun-nls-transcription":{id:`aliyun-nls-transcription`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`,`streaming-transcription`],nameKey:`settings.pages.providers.provider.aliyun-nls.title`,name:`Aliyun NLS`,descriptionKey:`settings.pages.providers.provider.aliyun-nls.description`,description:`nls-console.aliyun.com`,icon:`i-lobe-icons:alibabacloud`,defaultOptions:()=>({accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`}),transcriptionFeatures:{supportsGenerate:!1,supportsStreamOutput:!0,supportsStreamInput:!0},createProvider:async e=>{let t=e=>typeof e==`string`?e.trim():``,n=t(e.accessKeyId),r=t(e.accessKeySecret),i=t(e.appKey),a=t(e.region),o=zD.includes(a)?a:`cn-shanghai`;if(!n||!r||!i)throw Error(`Aliyun NLS credentials are incomplete.`);let s=yD(n,r,i,{region:o});return{transcription(e,t){return s.speech(e,t)}}},capabilities:{listModels:async()=>[{id:`aliyun-nls-v1`,name:`Aliyun NLS Realtime`,provider:`aliyun-nls-transcription`,description:`Realtime streaming transcription using Aliyun NLS.`,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[],n=e=>typeof e==`string`?e.trim():``,r=n(e.accessKeyId),i=n(e.accessKeySecret),a=n(e.appKey),o=n(e.region);return r||t.push(Error(`Access Key ID is required.`)),i||t.push(Error(`Access Key Secret is required.`)),a||t.push(Error(`App Key is required.`)),o&&!zD.includes(o)&&t.push(Error(`Region is invalid.`)),{errors:t,reason:t.length>0?t.map(e=>e.message).join(`, `):``,valid:t.length===0}}}},anthropic:RD({id:`anthropic`,name:`Anthropic`,nameKey:`settings.pages.providers.provider.anthropic.title`,descriptionKey:`settings.pages.providers.provider.anthropic.description`,icon:`i-lobe-icons:anthropic`,description:`anthropic.com`,defaultBaseUrl:`https://api.anthropic.com/v1/`,creator:BD,validation:[`health`],additionalHeaders:{"anthropic-dangerous-direct-browser-access":`true`},capabilities:{listModels:async()=>[{id:`claude-haiku-4-5-20251001`,name:`Claude Haiku 4.5`,provider:`anthropic`,description:`Anthropic fastest model with near-frontier intelligence`},{id:`claude-sonnet-4-5-20250929`,name:`Claude Sonnet 4.5`,provider:`anthropic`,description:`Anthropic smartest model for complex agents and coding`},{id:`claude-opus-4-1-20250805`,name:`Claude Opus 4.1`,provider:`anthropic`,description:`Exceptional model for specialized reasoning tasks`}]}}),"google-generative-ai":RD({id:`google-generative-ai`,name:`Google Gemini`,nameKey:`settings.pages.providers.provider.google-generative-ai.title`,descriptionKey:`settings.pages.providers.provider.google-generative-ai.description`,icon:`i-lobe-icons:gemini`,description:`ai.google.dev`,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta/openai/`,creator:VC,validation:[`health`,`model_list`]}),deepseek:RD({id:`deepseek`,name:`DeepSeek`,nameKey:`settings.pages.providers.provider.deepseek.title`,descriptionKey:`settings.pages.providers.provider.deepseek.description`,icon:`i-lobe-icons:deepseek`,description:`deepseek.com`,defaultBaseUrl:`https://api.deepseek.com/`,creator:zC,validation:[`health`,`model_list`]}),"302-ai":RD({id:`302-ai`,name:`302.AI`,nameKey:`settings.pages.providers.provider.302-ai.title`,descriptionKey:`settings.pages.providers.provider.302-ai.description`,icon:`i-lobe-icons:ai302`,description:`302.ai`,defaultBaseUrl:`https://api.302.ai/v1/`,creator:(e,t=`https://api.302.ai/v1/`)=>ow(ew({apiKey:e,baseURL:t}),tw({apiKey:e,baseURL:t}),nw({apiKey:e,baseURL:t})),validation:[`model_list`]}),elevenlabs:{id:`elevenlabs`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.elevenlabs.title`,name:`ElevenLabs`,descriptionKey:`settings.pages.providers.provider.elevenlabs.description`,description:`elevenlabs.io`,icon:`i-simple-icons:elevenlabs`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`,voiceSettings:{similarityBoost:.75,stability:.5}}),createProvider:async e=>_w(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>bD.map(e=>({id:e.model_id,name:e.name,provider:`elevenlabs`,description:e.description,contextLength:0,deprecated:!1})),listVoices:async e=>{let t=await xw({..._w(e.apiKey.trim(),e.baseUrl.trim()).voice()}),n=t.findIndex(e=>e.name.includes(`Aria`)),r=t.findIndex(e=>e.name.includes(`Bill`)),i=n===-1?0:n,a=r===-1?t.length-1:r,o=Math.min(i,a),s=Math.max(i,a);return[...t.slice(0,o),...t.slice(s+1),...t.slice(o,s+1)].map(e=>({id:e.id,name:e.name,provider:`elevenlabs`,previewURL:e.preview_audio_url,languages:e.languages}))}},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},"microsoft-speech":{id:`microsoft-speech`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.microsoft-speech.title`,name:`Microsoft / Azure Speech`,descriptionKey:`settings.pages.providers.provider.microsoft-speech.description`,description:`speech.microsoft.com`,iconColor:`i-lobe-icons:microsoft`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>vw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`v1`,name:`v1`,provider:`microsoft-speech`,description:``,contextLength:0,deprecated:!1}],listVoices:async e=>(await xw({...vw(e.apiKey.trim(),e.baseUrl.trim()).voice({region:e.region})})).map(e=>({id:e.id,name:e.name,provider:`microsoft-speech`,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender}))},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},"index-tts-vllm":{id:`index-tts-vllm`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.index-tts-vllm.title`,name:`Index-TTS by Bilibili`,descriptionKey:`settings.pages.providers.provider.index-tts-vllm.description`,description:`index-tts.github.io`,iconColor:`i-lobe-icons:bilibiliindex`,defaultOptions:()=>({baseUrl:`http://localhost:11996/tts/`}),createProvider:async e=>({speech:()=>({baseURL:e.baseUrl,model:`IndexTTS-1.5`})}),capabilities:{listVoices:async e=>{let t=e.baseUrl,n=await fetch(`${t}audio/voices`);if(!n.ok)throw Error(`Failed to fetch voices: ${n.statusText}`);let r=await n.json();return Object.keys(r).map(e=>({id:e,name:e,provider:`index-tts-vllm`,languages:[{code:`cn`,title:`Chinese`},{code:`en`,title:`English`}]}))}},validators:{validateProviderConfig:e=>{let t=[!e.baseUrl&&Error(`Base URL is required. Default to http://localhost:11996/tts/ for Index-TTS.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.baseUrl}}}},"alibaba-cloud-model-studio":{id:`alibaba-cloud-model-studio`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.alibaba-cloud-model-studio.title`,name:`Alibaba Cloud Model Studio`,descriptionKey:`settings.pages.providers.provider.alibaba-cloud-model-studio.description`,description:`bailian.console.aliyun.com`,iconColor:`i-lobe-icons:alibabacloud`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>bw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await xw({...bw(e.apiKey.trim(),e.baseUrl.trim()).voice()})).map(e=>({id:e.id,name:e.name,provider:`alibaba-cloud-model-studio`,compatibleModels:e.compatible_models,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender})),listModels:async()=>[{id:`cosyvoice-v1`,name:`CosyVoice`,provider:`alibaba-cloud-model-studio`,description:``,contextLength:0,deprecated:!1},{id:`cosyvoice-v2`,name:`CosyVoice (New)`,provider:`alibaba-cloud-model-studio`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl}}}},volcengine:{id:`volcengine`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.volcengine.title`,name:`settings.pages.providers.provider.volcengine.title`,descriptionKey:`settings.pages.providers.provider.volcengine.description`,description:`volcengine.com`,iconColor:`i-lobe-icons:volcengine`,defaultOptions:()=>({baseUrl:`https://unspeech.hyp3r.link/v1/`}),createProvider:async e=>yw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await xw({...yw(e.apiKey.trim(),e.baseUrl.trim()).voice()})).map(e=>({id:e.id,name:e.name,provider:`volcano-engine`,previewURL:e.preview_audio_url,languages:e.languages,gender:e.labels?.gender})),listModels:async()=>[{id:`v1`,name:`v1`,provider:`volcano-engine`,description:``,contextLength:0,deprecated:!1}]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.baseUrl&&Error(`Base URL is required.`),!e.app?.appId&&Error(`App ID is required.`)].filter(Boolean);return n.value(e.baseUrl)||{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.baseUrl&&!!e.app&&!!e.app.appId}}}},"comet-api-speech":RD({id:`comet-api-speech`,name:`CometAPI Speech`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,category:`speech`,tasks:[`text-to-speech`],defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(nw({apiKey:e,baseURL:t}),rw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"comet-api-transcription":RD({id:`comet-api-transcription`,name:`CometAPI Transcription`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,category:`transcription`,tasks:[`speech-to-text`,`automatic-speech-recognition`,`asr`,`stt`],defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(nw({apiKey:e,baseURL:t}),iw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"cerebras-ai":RD({id:`cerebras-ai`,name:`Cerebras`,nameKey:`settings.pages.providers.provider.cerebras.title`,descriptionKey:`settings.pages.providers.provider.cerebras.description`,icon:`i-lobe-icons:cerebras`,description:`cerebras.ai`,defaultBaseUrl:`https://api.cerebras.ai/v1/`,creator:RC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:cerebras-color`}),"together-ai":RD({id:`together-ai`,name:`Together.ai`,nameKey:`settings.pages.providers.provider.together.title`,descriptionKey:`settings.pages.providers.provider.together.description`,icon:`i-lobe-icons:together`,description:`together.ai`,defaultBaseUrl:`https://api.together.xyz/v1/`,creator:JC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:together`}),"azure-ai-foundry":{id:`azure-ai-foundry`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.azure-ai-foundry.title`,name:`Azure AI Foundry`,descriptionKey:`settings.pages.providers.provider.azure-ai-foundry.description`,description:`azure.com`,icon:`i-lobe-icons:microsoft`,defaultOptions:()=>({}),createProvider:async e=>await LC({apiKey:async()=>e.apiKey.trim(),resourceName:e.resourceName,apiVersion:e.apiVersion}),capabilities:{listModels:async e=>[{id:e.modelId}].map(e=>({id:e.id,name:e.id,provider:`azure-ai-foundry`,description:``,contextLength:0,deprecated:!1}))},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required`),!e.resourceName&&Error(`Resource name is required`),!e.modelId&&Error(`Model ID is required`)];return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.resourceName&&!!e.modelId}}}},xai:RD({id:`xai`,name:`xAI`,nameKey:`settings.pages.providers.provider.xai.title`,descriptionKey:`settings.pages.providers.provider.xai.description`,icon:`i-lobe-icons:xai`,description:`x.ai`,defaultBaseUrl:`https://api.x.ai/v1/`,creator:XC,validation:[`health`,`model_list`]}),vllm:{id:`vllm`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.vllm.title`,name:`vLLM`,descriptionKey:`settings.pages.providers.provider.vllm.description`,description:`vllm.ai`,iconColor:`i-lobe-icons:vllm`,createProvider:async e=>ZC(e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`llama-2-7b`,name:`Llama 2 (7B)`,provider:`vllm`,description:`Meta's Llama 2 7B parameter model`,contextLength:4096},{id:`llama-2-13b`,name:`Llama 2 (13B)`,provider:`vllm`,description:`Meta's Llama 2 13B parameter model`,contextLength:4096},{id:`llama-2-70b`,name:`Llama 2 (70B)`,provider:`vllm`,description:`Meta's Llama 2 70B parameter model`,contextLength:4096},{id:`mistral-7b`,name:`Mistral (7B)`,provider:`vllm`,description:`Mistral AI's 7B parameter model`,contextLength:8192},{id:`mixtral-8x7b`,name:`Mixtral (8x7B)`,provider:`vllm`,description:`Mistral AI's Mixtral 8x7B MoE model`,contextLength:32768},{id:`custom`,name:`Custom Model`,provider:`vllm`,description:`Specify a custom model name`,contextLength:0}]},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||fetch(`${e.baseUrl.trim()}models`,{headers:e.headers||void 0}).then(e=>{let t=[!e.ok&&Error(`vLLM returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach vLLM, error: ${String(e)} occurred.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:8000/v1/ for vLLM.`,valid:!1}}},"novita-ai":RD({id:`novita-ai`,name:`Novita`,nameKey:`settings.pages.providers.provider.novita.title`,descriptionKey:`settings.pages.providers.provider.novita.description`,icon:`i-lobe-icons:novita`,description:`novita.ai`,defaultBaseUrl:`https://api.novita.ai/openai/`,creator:WC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:novita`}),"fireworks-ai":RD({id:`fireworks-ai`,name:`Fireworks.ai`,nameKey:`settings.pages.providers.provider.fireworks.title`,descriptionKey:`settings.pages.providers.provider.fireworks.description`,icon:`i-lobe-icons:fireworks`,description:`fireworks.ai`,defaultBaseUrl:`https://api.fireworks.ai/inference/v1/`,creator:BC,validation:[`health`,`model_list`]}),"featherless-ai":RD({id:`featherless-ai`,name:`Featherless.ai`,nameKey:`settings.pages.providers.provider.featherless.title`,descriptionKey:`settings.pages.providers.provider.featherless.description`,icon:`i-lobe-icons:featherless-ai`,description:`featherless.ai`,defaultBaseUrl:`https://api.featherless.ai/v1/`,creator:GC,validation:[`health`,`model_list`]}),"cloudflare-workers-ai":{id:`cloudflare-workers-ai`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.cloudflare-workers-ai.title`,name:`Cloudflare Workers AI`,descriptionKey:`settings.pages.providers.provider.cloudflare-workers-ai.description`,description:`cloudflare.com`,iconColor:`i-lobe-icons:cloudflare`,createProvider:async e=>YC(e.apiKey.trim(),e.accountId),capabilities:{listModels:async()=>[]},validators:{validateProviderConfig:e=>{let t=[!e.apiKey&&Error(`API key is required.`),!e.accountId&&Error(`Account ID is required.`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:!!e.apiKey&&!!e.accountId}}}},"comet-api":RD({id:`comet-api`,name:`CometAPI`,nameKey:`settings.pages.providers.provider.comet-api.title`,descriptionKey:`settings.pages.providers.provider.comet-api.description`,icon:`i-lobe-icons:cometapi`,description:`cometapi.com`,defaultBaseUrl:`https://api.cometapi.com/v1/`,creator:(e,t=`https://api.cometapi.com/v1/`)=>ow(ew({apiKey:e,baseURL:t}),nw({apiKey:e,baseURL:t})),validation:[`model_list`]}),"perplexity-ai":RD({id:`perplexity-ai`,name:`Perplexity`,nameKey:`settings.pages.providers.provider.perplexity.title`,descriptionKey:`settings.pages.providers.provider.perplexity.description`,icon:`i-lobe-icons:perplexity`,description:`perplexity.ai`,defaultBaseUrl:`https://api.perplexity.ai/`,creator:qC,validation:[`health`,`model_list`]}),"mistral-ai":RD({id:`mistral-ai`,name:`Mistral`,nameKey:`settings.pages.providers.provider.mistral.title`,descriptionKey:`settings.pages.providers.provider.mistral.description`,icon:`i-lobe-icons:mistral`,description:`mistral.ai`,defaultBaseUrl:`https://api.mistral.ai/v1/`,creator:HC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:mistral`}),"moonshot-ai":RD({id:`moonshot-ai`,name:`Moonshot AI`,nameKey:`settings.pages.providers.provider.moonshot.title`,descriptionKey:`settings.pages.providers.provider.moonshot.description`,icon:`i-lobe-icons:moonshot`,description:`moonshot.ai`,defaultBaseUrl:`https://api.moonshot.ai/v1/`,creator:UC,validation:[`health`,`model_list`]}),modelscope:RD({id:`modelscope`,name:`ModelScope`,nameKey:`settings.pages.providers.provider.modelscope.title`,descriptionKey:`settings.pages.providers.provider.modelscope.description`,icon:`i-lobe-icons:modelscope`,description:`modelscope`,defaultBaseUrl:`https://api-inference.modelscope.cn/v1/`,creator:GC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:modelscope`}),player2:{id:`player2`,category:`chat`,tasks:[`text-generation`],nameKey:`settings.pages.providers.provider.player2.title`,name:`Player2`,descriptionKey:`settings.pages.providers.provider.player2.description`,description:`player2.game`,icon:`i-lobe-icons:player2`,defaultOptions:()=>({baseUrl:`http://localhost:4315/v1/`}),createProvider:e=>$C(e.baseUrl.trim()),capabilities:{listModels:async()=>[{id:`player2-model`,name:`Player2 Model`,provider:`player2`}]},validators:{validateProviderConfig:async e=>e.baseUrl?n.value(e.baseUrl)||await fetch(`${e.baseUrl}health`,{method:`GET`,headers:{"player2-game-key":`airi`}}).then(e=>{let t=[!e.ok&&Error(`Player 2 returned non-ok status code: ${e.statusText}`)].filter(Boolean);return{errors:t,reason:t.filter(e=>e).map(e=>String(e)).join(`, `)||``,valid:e.ok}}).catch(e=>({errors:[e],reason:`Failed to reach Player 2, error: ${String(e)} occurred. If you do not have Player 2 running, please start it and try again.`,valid:!1})):{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:4315/v1/`,valid:!1}}},"player2-speech":{id:`player2-speech`,category:`speech`,tasks:[`text-to-speech`],nameKey:`settings.pages.providers.provider.player2.title`,name:`Player2 Speech`,descriptionKey:`settings.pages.providers.provider.player2.description`,description:`player2.game`,icon:`i-lobe-icons:player2`,defaultOptions:()=>({baseUrl:`http://localhost:4315/v1/`}),createProvider:async e=>$C(e.baseUrl.trim(),`airi`),capabilities:{listVoices:async e=>{let t=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl;return await fetch(`${t}/tts/voices`).then(e=>e.json()).then(({voices:e})=>e.map(({id:e,language:t,name:n,gender:r})=>({id:e,name:n,provider:`player2-speech`,gender:r,languages:[{american_english:{code:`en`,title:`English`},british_english:{code:`en`,title:`English`},japanese:{code:`ja`,title:`Japanese`},mandarin_chinese:{code:`zh`,title:`Chinese`},spanish:{code:`es`,title:`Spanish`},french:{code:`fr`,title:`French`},hindi:{code:`hi`,title:`Hindi`},italian:{code:`it`,title:`Italian`},brazilian_portuguese:{code:`pt`,title:`Portuguese`}}[t]]})))}},validators:{validateProviderConfig:e=>e.baseUrl?n.value(e.baseUrl)||{errors:[],reason:``,valid:!0}:{errors:[Error(`Base URL is required.`)],reason:`Base URL is required. Default to http://localhost:4315/v1/`,valid:!1}}}},a=M({}),o=M({});async function s(t){let n=e.value[t];if(!n)return!1;let r=JSON.stringify(n||{});if(o.value[t]===r&&typeof a.value[t]==`boolean`)return a.value[t];let s=i[t];if(!s)return!1;o.value[t]=r;let c=await s.validators.validateProviderConfig(n);return a.value[t]=c.valid,c.valid}function c(t){if(!e.value[t]){let n=i[t].defaultOptions?.()||{};e.value[t]={...n,...Object.prototype.hasOwnProperty.call(n,`baseUrl`)?{}:{baseUrl:``}}}}Object.keys(i).forEach(c);async function l(){await Promise.all(Object.entries(i).map(async([e])=>{try{a.value[e]=await s(e)}catch{a.value[e]=!1}}))}C(e,l,{deep:!0,immediate:!0});let u=w(()=>Object.keys(i).filter(e=>a.value[e])),d=M({}),f=M({}),p=M({});async function m(t){let n=e.value[t];if(!n)return[];let r=i[t];if(!r)return[];f.value[t]=!0,p.value[t]=null;try{let e=r.capabilities.listModels?await r.capabilities.listModels(n):[];return d.value[t]=e.map(e=>({id:e.id,name:e.name,description:e.description,contextLength:e.contextLength,deprecated:e.deprecated,provider:t})),d.value[t]}catch(e){return console.error(`Error fetching models for ${t}:`,e),p.value[t]=e instanceof Error?e.message:`Unknown error`,[]}finally{f.value[t]=!1}}function h(e){return d.value[e]||[]}let g=w(()=>{let e=[];for(let t of u.value)e.push(...d.value[t]||[]);return e});async function _(){for(let e of u.value)i[e].capabilities.listModels&&await m(e)}C(e,(e,t)=>{let n=Object.keys(e).filter(n=>JSON.stringify(e[n])!==JSON.stringify(t?.[n]));for(let e of n)a.value[e]&&i[e]?.capabilities.listModels&&m(e)},{deep:!0});function v(e){let n=i[e];if(!n)throw Error(`Provider metadata for ${e} not found`);return{...n,localizedName:t(n.nameKey,n.name),localizedDescription:t(n.descriptionKey,n.description)}}let y=w(()=>Object.values(i).map(e=>({...e,localizedName:t(e.nameKey,e.name),localizedDescription:t(e.descriptionKey,e.description),configured:a.value[e.id]||!1})));function b(e){let t=i[e]?.transcriptionFeatures;return{supportsGenerate:t?.supportsGenerate??!0,supportsStreamOutput:t?.supportsStreamOutput??!1,supportsStreamInput:t?.supportsStreamInput??!1}}async function x(t){let n=e.value[t];if(!n)throw Error(`Provider credentials for ${t} not found`);let r=i[t];if(!r)throw Error(`Provider metadata for ${t} not found`);try{return await r.createProvider(n)}catch(e){throw console.error(`Error creating provider instance for ${t}:`,e),e}}let S=Xe(async()=>{let e=[];for(let t of y.value)await(v(t.id).isAvailableBy||(()=>!0))()&&e.push(t);return e},[]),ee=w(()=>S.value.filter(e=>e.category===`chat`)),T=w(()=>S.value.filter(e=>e.category===`speech`)),E=w(()=>S.value.filter(e=>e.category===`transcription`)),D=w(()=>ee.value.filter(e=>a.value[e.id])),O=w(()=>T.value.filter(e=>a.value[e.id])),te=w(()=>E.value.filter(e=>a.value[e.id]));function k(t){return e.value[t]}return{providers:e,getProviderConfig:k,availableProviders:u,configuredProviders:a,providerMetadata:i,getProviderMetadata:v,getTranscriptionFeatures:b,allProvidersMetadata:y,initializeProvider:c,validateProvider:s,availableModels:d,isLoadingModels:f,modelLoadError:p,fetchModelsForProvider:m,getModelsForProvider:h,allAvailableModels:g,loadModelsForConfiguredProviders:_,getProviderInstance:x,availableProvidersMetadata:S,allChatProvidersMetadata:ee,allAudioSpeechProvidersMetadata:T,allAudioTranscriptionProvidersMetadata:E,configuredChatProvidersMetadata:D,configuredSpeechProvidersMetadata:O,configuredTranscriptionProvidersMetadata:te}}),HD=Ne(`consciousness`,()=>{let e=VD(),t=Ke(`settings/consciousness/active-provider`,``),n=Ke(`settings/consciousness/active-model`,``),r=Ke(`settings/consciousness/active-custom-model`,``),i=M({}),a=M(``),o=w(()=>e.getProviderMetadata(t.value)?.capabilities.listModels!==void 0),s=w(()=>e.getModelsForProvider(t.value)),c=w(()=>e.isLoadingModels[t.value]||!1),l=w(()=>e.modelLoadError[t.value]||null),u=w(()=>{if(!a.value.trim())return s.value;let e=a.value.toLowerCase().trim();return s.value.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function d(){n.value=``,r.value=``,i.value={},a.value=``}async function f(t){t&&e.getProviderMetadata(t)?.capabilities.listModels!==void 0&&await e.fetchModelsForProvider(t)}async function p(t){return t&&e.getProviderMetadata(t)?.capabilities.listModels!==void 0?e.getModelsForProvider(t):[]}return{configured:w(()=>!!t.value&&!!n.value),activeProvider:t,activeModel:n,customModelName:r,expandedDescriptions:i,modelSearchQuery:a,supportsModelListing:o,providerModels:s,isLoadingActiveProviderModels:c,activeProviderModelError:l,filteredModels:u,resetModelSelection:d,loadModelsForProvider:f,getModelsForProvider:p}}),UD=Symbol(`onboarding-context`);var WD={"h-full":``,flex:``,"flex-col":``,"gap-4":``},GD={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},KD={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},qD={"flex-1":``},JD={class:`whitespace-pre-wrap break-all`},YD=r({__name:`step-model-selection`,setup(e){let{t}=rt(),n=s(UD),{activeModel:r,modelSearchQuery:i,providerModels:a,isLoadingActiveProviderModels:o}=Pe(HD());return(e,s)=>(d(),A(`div`,WD,[j(`div`,GD,[j(`button`,{"outline-none":``,onClick:s[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...s[3]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,KD,h(O(t)(`settings.dialogs.onboarding.select-model`)),1),s[4]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),j(`div`,qD,[O(a).length>0?(d(),_(O(fS),{key:0,modelValue:O(r),"onUpdate:modelValue":s[1]||=e=>T(r)?r.value=e:null,"search-query":O(i),"onUpdate:searchQuery":s[2]||=e=>T(i)?i.value=e:null,items:O(a).toSorted((e,t)=>e.id===O(r)?-1:t.id===O(r)?1:0),searchable:!0,"search-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:O(i)}),"search-results-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"list-class":`max-h-[calc(100dvh-17rem)] sm:max-h-120`},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):(d(),_(ve,{key:1,type:`error`},{title:k(()=>[p(h(O(t)(`settings.dialogs.onboarding.no-models`)),1)]),content:k(()=>[j(`div`,JD,h(O(t)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),D(O(Te),{variant:`primary`,disabled:!O(r),loading:O(o),label:O(t)(`settings.dialogs.onboarding.saveAndContinue`),onClick:O(n).handleSave},null,8,[`disabled`,`loading`,`label`,`onClick`])]))}}),XD=r({__name:`ProviderAccountIdInput`,props:g({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ie(e,`modelValue`);return(e,r)=>(d(),_(O(je),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Account ID`,description:t.description||`Account ID`,placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),ZD=[`onClick`],QD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},$D={"mt-4":``},eO=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=M(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(d(),_(le,{"w-full":``},{trigger:k(t=>[j(`button`,{transition:`all ease-in-out duration-250`,"w-full":``,flex:``,"items-center":``,"gap-1.5":``,"outline-none":``,class:`[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0`,onClick:()=>t.setVisible(!t.visible)&&n()},[j(`h2`,QD,[j(`span`,null,h(e.title||`Advanced`),1)]),j(`div`,{transform:``,transition:`transform duration-250`,class:E({"rotate-180":t.visible})},[...r[0]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,ZD)]),default:k(()=>[j(`div`,$D,[b(t.$slots,`default`)])]),_:3}))}}),tO=r({__name:`ProviderApiKeyInput`,props:g({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=rt(),r=ie(e,`modelValue`),i=w(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(d(),_(O(je),{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,label:e.label||O(n)(`settings.pages.providers.common.fields.field.api-key.label`),description:i.value,placeholder:e.placeholder,required:e.required,type:`password`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),nO=r({__name:`ProviderBaseUrlInput`,props:g({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ie(e,`modelValue`);return(e,r)=>(d(),_(O(je),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Base URL`,description:t.description||(t.required?`Base URL`:`Custom base URL (optional)`),placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),rO={flex:`~ col gap-6`},iO={flex:`~ row`,"items-center":``,"justify-between":``},aO={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},oO={text:`neutral-400 dark:neutral-500`},sO=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(d(),A(`div`,rO,[j(`div`,iO,[j(`div`,null,[j(`h2`,aO,h(e.title||`Basic`),1),j(`div`,oO,[j(`span`,null,h(e.description||`Essential settings`),1)])]),e.onReset?(d(),A(`button`,{key:0,title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:n[0]||=(...t)=>e.onReset&&e.onReset(...t)},[...n[1]||=[j(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),b(t.$slots,`default`)]))}}),cO={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},lO=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(d(),A(`div`,cO,[b(e.$slots,`default`)]))}}),uO={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``},dO=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=x(`motion`);return d(),A(ne,null,[b(t.$slots,`default`),se((d(),A(`div`,uO,[j(`div`,{text:`60`,class:E(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),fO=typeof window<`u`,pO=fO?window:null,mO=fO?document:null,hO={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},gO={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},_O={NONE:0,AUTO:1,FORCE:2},vO={replace:0,none:1,blend:2},yO=Symbol(),bO=Symbol(),xO=Symbol(),SO=Symbol(),CO=Symbol(),wO=1e-11,TO=0xe8d4a51000,EO=1e3,DO=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),OO=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],kO=OO.reduce((e,t)=>({...e,[t]:t+`(`}),{}),AO=()=>{},jO=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,MO=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,NO=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,PO=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,FO=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,IO=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,LO=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,RO=/([a-z])([A-Z])/g,zO=/(\w+)(\([^)]+\)+)/g,BO=/(\*=|\+=|-=)/,VO=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,HO={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:EO,delay:0,loopDelay:0,ease:`out(2)`,composition:vO.replace,modifier:e=>e,onBegin:AO,onBeforeUpdate:AO,onUpdate:AO,onLoop:AO,onPause:AO,onComplete:AO,onRender:AO},UO={current:null,root:mO},WO={defaults:HO,precision:4,timeScale:1,tickThreshold:200},GO={version:`4.2.2`,engine:null};fO&&(pO.AnimeJS||=[],pO.AnimeJS.push(GO));var KO=e=>e.replace(RO,`$1-$2`).toLowerCase(),qO=(e,t)=>e.indexOf(t)===0,JO=Date.now,YO=Array.isArray,XO=e=>e&&e.constructor===Object,ZO=e=>typeof e==`number`&&!isNaN(e),QO=e=>typeof e==`string`,$O=e=>typeof e==`function`,ek=e=>e===void 0,tk=e=>ek(e)||e===null,nk=e=>fO&&e instanceof SVGElement,rk=e=>jO.test(e),ik=e=>qO(e,`rgb`),ak=e=>qO(e,`hsl`),ok=e=>rk(e)||ik(e)||ak(e),sk=e=>!WO.defaults.hasOwnProperty(e),ck=[`opacity`,`rotate`,`overflow`,`color`],lk=(e,t)=>{if(ck.includes(t))return!1;if(e.getAttribute(t)||t in e){if(t===`scale`){let t=e.parentNode;return t&&t.tagName===`filter`}return!0}},uk=Math.pow,dk=Math.sqrt,fk=Math.sin,pk=Math.cos,mk=Math.floor,hk=Math.asin,gk=Math.PI,_k=Math.round,vk=(e,t,n)=>en?n:e,yk={},bk=(e,t)=>{if(t<0)return e;if(!t)return _k(e);let n=yk[t];return n||=yk[t]=10**t,_k(e*n)/n},xk=(e,t,n)=>e+(t-e)*n,Sk=e=>e===1/0?TO:e===-1/0?-TO:e,Ck=e=>e<=1e-11?wO:Sk(bk(e,11)),wk=e=>YO(e)?[...e]:e,Tk=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=ek(i)?t[r]:i}return n},Ek=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._head,o=i;for(n&&(a=e._tail,o=r);a;){let e=a[o];t(a),a=e}},Dk=(e,t,n=`_prev`,r=`_next`)=>{let i=t[n],a=t[r];i?i[r]=a:e._head=a,a?a[n]=i:e._tail=i,t[n]=null,t[r]=null},Ok=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._tail;for(;a&&n&&n(a,t);)a=a[r];let o=a?a[i]:e._head;a?a[i]=t:e._head=t,o?o[r]=t:e._tail=t,t[r]=a,t[i]=o},kk=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[SO],o;for(;o=zO.exec(r);){let e=o[1],r=o[2].slice(1,-1);a[e]=r,e===t&&(i=r,n&&(n[t]=r))}}return r&&!ek(i)?i:qO(t,`scale`)?`1`:qO(t,`rotate`)||qO(t,`skew`)?`0deg`:`0px`},Ak=e=>{let t=MO.exec(e)||NO.exec(e),n=ek(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},jk=e=>{let t=e.length,n=t===4||t===5;return[+(`0x`+e[1]+e[n?1:2]),+(`0x`+e[n?2:3]+e[n?2:4]),+(`0x`+e[n?3:5]+e[n?3:6]),t===5||t===9?+((`0x`+e[n?4:7]+e[n?4:8])/255).toFixed(3):1]},Mk=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),Nk=e=>{let t=PO.exec(e)||FO.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=ek(t[4])?1:+t[4],o,s,c;if(r===0)o=s=c=i;else{let e=i<.5?i*(1+r):i+r-i*r,t=2*i-e;o=bk(Mk(t,e,n+1/3)*255,0),s=bk(Mk(t,e,n)*255,0),c=bk(Mk(t,e,n-1/3)*255,0)}return[o,s,c,a]},Pk=e=>ik(e)?Ak(e):rk(e)?jk(e):ak(e)?Nk(e):[0,0,0,1],Fk=(e,t)=>ek(e)?t:e,Ik=(e,t,n,r,i)=>{let a;if($O(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(QO(e)&&qO(e,`var(`))a=()=>{let n=e.match(VO),r=n[1],i=n[2],a=getComputedStyle(t)?.getPropertyValue(r);return(!a||a.trim()===``)&&i&&(a=i.trim()),a||0};else return e;return i&&(i.func=a),a()},Lk=(e,t)=>e[bO]?e[xO]&&lk(e,t)?hO.ATTRIBUTE:OO.includes(t)||DO.get(t)?hO.TRANSFORM:qO(t,`--`)?hO.CSS_VAR:t in e.style?hO.CSS:t in e?hO.OBJECT:hO.ATTRIBUTE:hO.OBJECT,Rk=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[CO]||e).getPropertyValue(t);return i===`auto`?`0`:i},zk=(e,t,n,r)=>{let i=ek(n)?Lk(e,t):n;return i===hO.OBJECT?e[t]||0:i===hO.ATTRIBUTE?e.getAttribute(t):i===hO.TRANSFORM?kk(e,t,r):i===hO.CSS_VAR?Rk(e,t,r).trimStart():Rk(e,t,r)},Bk=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,Vk=()=>({t:gO.NUMBER,n:0,u:null,o:null,d:null,s:null}),Hk=(e,t)=>{if(t.t=gO.NUMBER,t.n=0,t.u=null,t.o=null,t.d=null,t.s=null,!e)return t;let n=+e;if(isNaN(n)){let n=e;n[1]===`=`&&(t.o=n[0],n=n.slice(2));let r=n.includes(` `)?!1:LO.exec(n);if(r)return t.t=gO.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(ok(n))return t.t=gO.COLOR,t.d=Pk(n),t;{let e=n.match(IO);return t.t=gO.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(IO)||[],t}}else return t.n=n,t},Uk=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=wk(e._toNumbers),t.s=wk(e._strings),t),Wk=Vk(),Gk=(e,t,n,r,i)=>{let a=e.parent,o=e.duration,s=e.completed,c=e.iterationDuration,l=e.iterationCount,u=e._currentIteration,d=e._loopDelay,f=e._reversed,p=e._alternate,m=e._hasChildren,h=e._delay,g=e._currentTime,_=h+c,v=t-h,y=vk(g,-h,o),b=vk(v,-h,o),x=v-g,S=b>0,C=b>=o,w=o<=wO,ee=i===_O.FORCE,T=0,E=v,D=0;l>1&&(e._currentIteration=vk(~~(b/(c+(C?0:d))),0,l),C&&e._currentIteration--,T=e._currentIteration%2,E=b%(c+d)||0);let O=f^(p&&T),te=e._ease,k=C?O?0:o:O?c-E:E;te&&(k=c*te(k/c)||0);let ne=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||k>=_&&y!==o||k<=h&&y>0||t<=y&&y===o&&s||C&&!s&&w){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=ee||(ne?x*-1:x)>=WO.tickThreshold,i=e._offset+(a?a._offset:0)+h+k,o=e._head,s,c,l,u,d=0;for(;o;){let e=o._composition,n=o._currentTime,a=o._changeDuration,f=o._absoluteStartTime+o._changeDuration,p=o._nextRep,m=o._prevRep,h=e!==vO.none;if((t||(n!==a||i<=f+(p?p._delay:0))&&(n!==0||i>=o._absoluteStartTime))&&(!h||!o._isOverridden&&(!o._isOverlapped||i<=f)&&(!p||p._isOverridden||i<=p._absoluteStartTime)&&(!m||m._isOverridden||i>=m._absoluteStartTime+m._changeDuration+o._delay))){let t=o._currentTime=vk(k-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===hO.OBJECT,g=f===gO.NUMBER,_=g&&m||n===0||n===1?-1:WO.precision,v,y;if(g)v=y=i(bk(xk(o._fromNumber,o._toNumber,n),_));else if(f===gO.UNIT)y=i(bk(xk(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===gO.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=bk(vk(i(xk(e[0],t[0],n)),0,255),0),a=bk(vk(i(xk(e[1],t[1],n)),0,255),0),s=bk(vk(i(xk(e[2],t[2],n)),0,255),0),c=vk(i(bk(xk(e[3],t[3],n),_)),0,1);if(v=`rgba(${r},${a},${s},${c})`,h){let e=o._numbers;e[0]=r,e[1]=a,e[2]=s,e[3]=c}}else if(f===gO.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||ne&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!ne):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(ne||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,D},Kk=(e,t,n,r,i)=>{let a=e._currentIteration;if(Gk(e,t,n,r,i),e._hasChildren){let o=e,s=o.backwards,c=r?t:o._iterationTime,l=JO(),u=0,d=!0;if(!r&&o._currentIteration!==a){let e=o.iterationDuration;Ek(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=bk((c-e._offset)*e._speed,12),a=e._fps=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},qk={},Jk=(e,t,n)=>{if(n===hO.TRANSFORM)return DO.get(e)||e;if(n===hO.CSS||n===hO.ATTRIBUTE&&nk(t)&&e in t.style){let t=qk[e];if(t)return t;{let t=e&&KO(e);return qk[e]=t,t}}else return e},Yk=e=>{if(e._hasChildren)Ek(e,Yk,!0);else{let t=e;t.pause(),Ek(t,e=>{let n=e.property,r=e.target;if(r[bO]){let i=r.style,a=e._inlineValue,o=tk(a)||a===``;if(e._tweenType===hO.TRANSFORM){let t=r[SO];if(o?delete t[n]:t[n]=a,e._renderTransforms)if(!Object.keys(t).length)i.removeProperty(`transform`);else{let e=``;for(let n in t)e+=kO[n]+t[n]+`) `;i.transform=e}}else o?i.removeProperty(KO(n)):i[n]=a;t._tail===e&&t.targets.forEach(e=>{e.getAttribute&&e.getAttribute(`style`)===``&&e.removeAttribute(`style`)})}})}return e},Xk=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=bk(EO/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=this._frameDuration,n=+e,r=n<1e-11?wO:n,i=bk(EO/r,0);this._fps=r,this._frameDuration=i,this._scheduledTime+=i-t}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<1e-11?wO:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=Zk.animation;return t||(t={duration:wO,computeDeltaTime:AO,_offset:0,_delay:0,_head:null,_tail:null},Zk.animation=t,Zk.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===gO.COMPLEX||e===gO.COLOR?wk(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;efO?requestAnimationFrame:setImmediate)(),eA=(()=>fO?cancelAnimationFrame:clearImmediate)(),tA=class extends Xk{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=HO,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=JO();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,n=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(Dk(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):Kk(r,(e-r._startTime)*r._speed*t,0,0,r._fpse.resetTime()),this.wake()}get speed(){return this._speed*(WO.timeScale===1?1:EO)}set speed(e){this._speed=e*WO.timeScale,Ek(this,e=>e.speed=e._speed)}get timeUnit(){return WO.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(WO.timeScale!==r){WO.timeScale=r,WO.tickThreshold=200*r;let e=n?t:EO;this.defaults.duration*=e,this._speed*=e}}get precision(){return WO.precision}set precision(e){WO.precision=e}},nA=(()=>{let e=new tA(JO());return fO&&(GO.engine=e,mO.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(mO.hidden?e.pause():e.resume())})),e})(),rA=()=>{nA._head?(nA.reqId=$k(rA),nA.update()):nA.reqId=0},iA=()=>(eA(nA.reqId),nA.reqId=0,nA),aA={_rep:new WeakMap,_add:new Map},oA=(e,t,n=`_rep`)=>{let r=aA[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},sA=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,cA=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=wO,e._currentTime=wO},lA=(e,t)=>{let n=e._composition;if(n===vO.replace){let n=e._absoluteStartTime;Ok(t,e,sA,`_prevRep`,`_nextRep`);let r=e._prevRep;if(r){let t=r.parent,i=r._absoluteStartTime+r._changeDuration;if(e.parent.id!==t.id&&t.iterationCount>1&&i+(t.duration-t.iterationDuration)>n){cA(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)cA(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=bk(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&cA(r)}let o=!0;if(Ek(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;Ek(e,e=>{e!==t&&Ek(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===vO.blend){let t=oA(e.target,e.property,`_add`),n=Qk(aA._add),r=t._head;r||(r={...e},r._composition=vO.replace,r._updateDuration=wO,r._startTime=0,r._numbers=wk(e._fromNumbers),r._number=0,r._next=null,r._prev=null,Ok(t,r),Ok(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=wk(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=wk(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}Ok(t,e,null,`_prevAdd`,`_nextAdd`)}return e},uA=e=>{let t=e._composition;if(t!==vO.none){let n=e.target,r=e.property,i=aA._rep.get(n)[r];if(Dk(i,e,`_prevRep`,`_nextRep`),t===vO.blend){let t=aA._add,i=t.get(n);if(!i)return;let a=i[r],o=Zk.animation;Dk(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){Dk(a,s,`_prevAdd`,`_nextAdd`),Dk(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},dA=(e,t,n)=>{let r=!1;return Ek(t,i=>{let a=i.target;if(e.includes(a)){let e=i.property,o=i._tweenType,s=Jk(n,a,o);(!s||s&&s===e)&&(i.parent._tail===i&&i._tweenType===hO.TRANSFORM&&i._prev&&i._prev._tweenType===hO.TRANSFORM&&(i._prev._renderTransforms=1),Dk(t,i),uA(i),r=!0)}},!0),r},fA=(e,t,n)=>{let r=t||nA,i;if(r._hasChildren){let t=0;Ek(r,a=>{if(!a._hasChildren)if(i=dA(e,a,n),i&&!a._head)a.cancel(),Dk(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?fA(e,a,n):a._hasChildren=!1},!0),ek(r.iterationDuration)||(r.iterationDuration=t)}else i=dA(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},pA=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),mA=e=>e._cancelled?(e._hasChildren?Ek(e,mA):Ek(e,e=>{e._composition!==vO.none&&lA(e,oA(e.target,e.property))}),e._cancelled=0,e):e,hA=0,gA=class extends Xk{constructor(e={},t=null,n=0){super(0);let{id:r,delay:i,duration:a,reversed:o,alternate:s,loop:c,loopDelay:l,autoplay:u,frameRate:d,playbackRate:f,onComplete:p,onLoop:m,onPause:h,onBegin:g,onBeforeUpdate:_,onUpdate:v}=e;UO.current&&UO.current.register(this);let y=t?0:nA._elapsedTime,b=t?t.defaults:WO.defaults,x=$O(i)||ek(i)?b.delay:+i,S=$O(a)||ek(a)?1/0:+a,C=Fk(c,b.loop),w=Fk(l,b.loopDelay),ee=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(nA.reqId||nA.requestTick(JO()),T=(nA._elapsedTime-nA._startTime)*WO.timeScale),this.id=ek(r)?++hA:r,this.parent=t,this.duration=Sk((S+w)*ee-w)||1e-11,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=g||b.onBegin,this.onBeforeUpdate=_||b.onBeforeUpdate,this.onUpdate=v||b.onUpdate,this.onLoop=m||b.onLoop,this.onPause=h||b.onPause,this.onComplete=p||b.onComplete,this.iterationDuration=S,this.iterationCount=ee,this._autoplay=t?!1:Fk(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=w,this._iterationTime=0,this._currentIteration=0,this._resolve=AO,this._running=!1,this._reversed=+Fk(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Fk(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=Fk(d,b.frameRate),this._speed=Fk(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return vk(bk(this._currentTime,WO.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return bk(this._iterationTime,WO.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return vk(bk(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return vk(bk(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*vk(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return mA(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Kk(this,0,1,~~e,_O.FORCE),pA(this),this._hasChildren&&Ek(this,pA),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&Kk(this,this.duration,1,~~e,_O.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!ek(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*nA._speed);return this._startTime=JO()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=1e-11&&!this._hasChildren?Kk(this,wO,0,0,_O.FORCE):(this._running||=(Ok(nA,this),nA._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,nA.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){mA(this),this.completed=!1;let r=this.paused;return this.paused=!0,Kk(this,e+this._delay,~~t,~~n,_O.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?mk(TO/n):t;return this._reversed=+(this._alternate&&!(r%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*r-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?Ek(this,e=>e.cancel(),!0):Ek(this,uA),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=Ck(e);if(t===n)return this;let r=e/t,i=e<=wO;return this.duration=i?wO:n,this.iterationDuration=i?wO:Ck(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){Kk(this,0,1,0,_O.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(e=AO){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=AO};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function _A(e){let t=QO(e)?UO.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function vA(e){if(tk(e))return[];if(!fO)return YO(e)&&e.flat(1/0)||[e];if(YO(e)){let t=e.flat(1/0),n=[];for(let e=0,r=t.length;e{let i=t.u,a=t.n;if(t.t===gO.UNIT&&i===n)return t;let o=a+i+n,s=xA[o];if(!ek(s)&&!r)t.n=s;else{let r;if(i in bA)r=a*bA[i]/bA[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==mO?o:mO.body;s.appendChild(t);let c=t.style;c.width=100+i;let l=t.offsetWidth||100;c.width=100+n;let u=l/(t.offsetWidth||100);s.removeChild(t),r=u*a}t.n=r,xA[o]=r}return t.t,gO.UNIT,t.u=n,t},CA=e=>e,wA=(e=1.68)=>t=>uk(t,+e),TA={in:e=>t=>e(t),out:e=>t=>1-e(1-t),inOut:e=>t=>t<.5?e(t*2)/2:1-e(t*-2+2)/2,outIn:e=>t=>t<.5?(1-e(1-t*2))/2:(e(t*2-1)+1)/2},EA=gk/2,DA=gk*2,OA={"":wA,Quad:wA(2),Cubic:wA(3),Quart:wA(4),Quint:wA(5),Sine:e=>1-pk(e*EA),Circ:e=>1-dk(1-e*e),Expo:e=>e?uk(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=uk(2,--n))-1)/11;);return 1/uk(4,3-n)-7.5625*uk((t*3-2)/22-e,2)},Back:(e=1.7)=>t=>(+e+1)*t*t*t-+e*t*t,Elastic:(e=1,t=.3)=>{let n=vk(+e,1,10),r=vk(+t,wO,2),i=r/DA*hk(1/n),a=DA/r;return e=>e===0||e===1?e:-n*uk(2,-10*(1-e))*fk((1-e-i)*a)}},kA=(()=>{let e={linear:CA,none:CA};for(let t in TA)for(let n in OA){let r=OA[n],i=TA[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),AA={linear:CA,none:CA},jA=e=>{if(AA[e])return AA[e];if(e.indexOf(`(`)<=-1){let t=TA[e]||e.includes(`Back`)||e.includes(`Elastic`)?kA[e]():kA[e];return t?AA[e]=t:CA}else{let t=e.slice(0,-1).split(`(`),n=kA[t[0]];return n?AA[e]=n(...t[1].split(`,`)):CA}},MA=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],NA=e=>{if(QO(e)){for(let t=0,n=MA.length;t{let n={};if(YO(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(sk);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];sk(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=Fk(t.duration,WO.defaults.duration);for(let t in Object.keys(e).map(t=>({o:parseFloat(t)/100,p:e[t]})).sort((e,t)=>e.o-t.o).forEach(e=>{let t=e.o,i=e.p;for(let e in i)if(sk(e)){let a=n[e];a||=n[e]=[];let o=t*r,s=a.length,c=a[s-1],l={to:i[e]},u=0;for(let e=0;e=1e3?vO.none:ek(g)?v.composition:g,E=this._offset+(n?n._offset:0);x&&(p.parent=this);let D=NaN,O=NaN,te=0,k=0;for(let e=0;e2&&t?(HA=[],s.forEach((e,t)=>{t?t===1?(zA[1]=e,HA.push(zA)):HA.push(e):zA[0]=e})):HA=s}else RA[0]=s,HA=RA;let p=null,m=null,h=NaN,g=0,_=0;for(let e=HA.length;_1?Ik(C,t,r,l)/e:C),t,r,l),b=Ik(Fk(UA.delay,_?0:w),t,r,l),x=Ik(Fk(UA.composition,T),t,r,l),D=ZO(x)?x:vO[x],O=UA.modifier||ee,ne=!ek(u),re=!ek(c),ie=YO(c),ae=ie||ne&&re,oe=m?g+b:b,se=bk(E+oe,12);!k&&(ne||ie)&&(k=1);let A=m;if(D!==vO.none){p||=oA(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=se;)if(A=e,e=e._nextRep,e&&e._absoluteStartTime>=se)for(;e;)cA(e),e=e._nextRep}if(ae?(Hk(ie?Ik(c[0],t,r,l):u,PA),Hk(ie?Ik(c[1],t,r,l,LA):c,FA),PA.t===gO.NUMBER&&(A?A._valueType===gO.UNIT&&(PA.t=gO.UNIT,PA.u=A._unit):(Hk(zk(t,o,a,IA),Wk),Wk.t===gO.UNIT&&(PA.t=gO.UNIT,PA.u=Wk.u)))):(re?Hk(c,FA):m?Uk(m,FA):Hk(n&&A&&A.parent.parent===n?A._value:zk(t,o,a,IA),FA),ne?Hk(u,PA):m?Uk(m,PA):Hk(n&&A&&A.parent.parent===n?A._value:zk(t,o,a,IA),PA)),PA.o&&(PA.n=Bk(A?A._toNumber:Hk(zk(t,o,a,IA),Wk).n,PA.n,PA.o)),FA.o&&(FA.n=Bk(PA.n,FA.n,FA.o)),PA.t!==FA.t){if(PA.t===gO.COMPLEX||FA.t===gO.COMPLEX){let e=PA.t===gO.COMPLEX?PA:FA,t=PA.t===gO.COMPLEX?FA:PA;t.t=gO.COMPLEX,t.s=wk(e.s),t.d=e.d.map(()=>t.n)}else if(PA.t===gO.UNIT||FA.t===gO.UNIT){let e=PA.t===gO.UNIT?PA:FA,t=PA.t===gO.UNIT?FA:PA;t.t=gO.UNIT,t.u=e.u}else if(PA.t===gO.COLOR||FA.t===gO.COLOR){let e=PA.t===gO.COLOR?PA:FA,t=PA.t===gO.COLOR?FA:PA;t.t=gO.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(PA.u!==FA.u){let e=FA.u?PA:FA;e=SA(t,e,FA.u?FA.u:PA.u,!1)}if(FA.d&&PA.d&&FA.d.length!==PA.d.length){let e=PA.d.length>FA.d.length?PA:FA,t=e===PA?FA:PA;t.d=e.d.map((e,n)=>ek(t.d[n])?0:t.d[n]),t.s=wk(e.s)}let ce=bk(+y||1e-11,12),j=IA[o];tk(j)||(IA[o]=null);let M={parent:this,id:VA++,property:o,target:t,_value:null,_func:LA.func,_ease:NA(v),_fromNumbers:wk(PA.d),_toNumbers:wk(FA.d),_strings:wk(FA.s),_fromNumber:PA.n,_toNumber:FA.n,_numbers:wk(PA.d),_number:PA.n,_unit:FA.u,_modifier:O,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:ce,_changeDuration:ce,_absoluteStartTime:se,_tweenType:a,_valueType:FA.t,_composition:D,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:j,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};D!==vO.none&&lA(M,p),isNaN(h)&&(h=M._startTime),g=bk(oe+ce,12),m=M,te++,Ok(this,M)}(isNaN(O)||hD)&&(D=g),a===hO.TRANSFORM&&(d=te-_,f=te)}if(!isNaN(d)){let e=0;Ek(this,t=>{e>=d&&e{e.id===t.id&&(e._renderTransforms=1)})),e++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),O?(Ek(this,e=>{e._startTime-e._delay||(e._delay-=O),e._startTime-=O}),D-=O):O=0,D||(D=wO,this.iterationCount=0),this.targets=s,this.duration=D===1e-11?wO:Sk((D+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=O,this.iterationDuration=D,!this._autoplay&&k&&this.onRender(this)}stretch(e){let t=this.duration;if(t===Ck(e))return this;let n=e/t;return Ek(this,e=>{e._updateDuration=Ck(e._updateDuration*n),e._changeDuration=Ck(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return Ek(this,e=>{let t=e._func;t&&(Hk(zk(e.target,e.property,e._tweenType),Wk),Hk(t(),FA),e._fromNumbers=wk(Wk.d),e._fromNumber=Wk.n,e._toNumbers=wk(FA.d),e._strings=wk(FA.s),e._toNumber=FA.o?Bk(Wk.n,FA.n,FA.o):FA.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),Yk(this)}then(e){return super.then(e)}},KA=(e,t)=>new GA(e,t,null,0,!1).init();function qA(e){let t=[],n,r={enqueue:[],dequeue:[],process:[],error:[],result:[],drain:[]},i={};function a(e,t){r[e].push(t)}function o(e,...t){r[e].forEach(e=>e(...t))}function s(e,t){i[e]=i[e]||[],i[e].push(t)}function c(e,...t){(i[e]||[]).forEach(e=>e(...t))}function l(e){t.push(e),o(`enqueue`,e,t.length),n||=d()}function u(){t.length=0}async function d(){for(;t.length>0;){let n=t.shift();o(`dequeue`,n,t.length);for(let t of e.handlers){o(`process`,n,t);try{o(`result`,n,await t({data:n,emit:c}),t)}catch(e){o(`error`,n,e,t);continue}}}o(`drain`),n=void 0}function f(){return t.length}return{enqueue:l,clear:u,length:f,on:a,onHandlerEvent:s}}function JA(){let e;return{stream:new ReadableStream({start(t){e=t}}),controller:e}}function YA(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function XA(e,t){let n=new Intl.Segmenter(void 0,{granularity:`grapheme`}),r=new TextDecoder(`utf-8`,{fatal:!1}),i=t?.signal;return async function*(){let t=``;for(;;){YA(i,e.close);let{done:a,value:o}=await new Promise((t,n)=>{i?.addEventListener(`abort`,()=>{e.close?.();let t=Error(`Operation canceled`);t.name=i.reason,n(t)},{once:!0}),Promise.resolve(e.read()).then(t).catch(n)});t+=r.decode(o,{stream:!0});let s=n.segment(t);if(a){for(let t of s)YA(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){YA(i,e.close);let t=c.next();if(t.done)break;l=t.value.index,yield u.value.segment,u=t}a||(t=t.slice(l))}}()}const ZA=``;var QA=new Set(`??!!`),$A=new Set(`.。??!!…⋯~~
\r`),ej=new Set(`,,、–—::;;《》「」`);async function*tj(e,t){let{boost:n=2,minimumWords:r=4,maximumWords:i=12}=t??{},a=XA(typeof e==`string`?new ReadableStream({start(t){t.enqueue(new TextEncoder().encode(e)),t.close()}}).getReader():e),o=new Intl.Segmenter(void 0,{granularity:`word`}),s=0,c=``,l=``,u=0,d,f=await a.next();for(;!f.done;){let e=f.value;if(e.length>1){d=e,f=await a.next();continue}let t=e===``,p=e===``,m=$A.has(e),h=ej.has(e),g=QA.has(e),_,v;if(t||p||m||h){switch(e){case`.`:case`,`:if(d!==void 0&&/\d/.test(d)){if(_=await a.next(),!_.done&&_.value&&/\d/.test(_.value)){c+=e,f=_,_=void 0;continue}}else e===`.`&&(_=await a.next(),!_.done&&_.value&&_.value===`.`&&(v=await a.next(),!v.done&&v.value&&v.value===`.`&&(e=`…`,_=void 0,v=void 0)))}if(c.length===0){p&&(yield{text:``,words:0,reason:`special`},s++,u=0),d=e,f=await a.next();continue}let h=[...o.segment(c)].filter(e=>e.isWordLike);u>r&&u+h.length>i&&(yield{text:g?l.trim()+e:l.trim(),words:u,reason:`limit`},s++,l=``,u=0),l+=c+e,u+=h.length,c=``,p?(yield{text:l.slice(0,-1).trim(),words:u,reason:`special`},s++,l=``,u=0):(t||m||u>i||si?`limit`:`boost`},s++,l=``,u=0),d=e,_===void 0?f=await a.next():v===void 0?(f=_,_=void 0):(f=v,_=void 0,v=void 0);continue}c+=e,d=e,_=await a.next(),f=_}console.debug(`while loop ends, chunk/buffer:`,l,c),(l.length>0||c.length>0)&&(yield{text:(l+c).trim(),words:u+[...o.segment(c)].filter(e=>e.isWordLike).length,reason:`flush`})}async function nj(e,t,n){let r=e=>e.replaceAll(``,``).replaceAll(``,``).trim();try{for await(let i of tj(e))if(i.reason===`special`){let e=t.shift();await n({chunk:r(i.text),special:e??null})}else await n({chunk:r(i.text),special:null})}catch(e){console.error(`Error chunking stream to TTS queue:`,e)}}function rj(e){function t(e){for(let t of ge)if(e.includes(t))return{ok:!0,emotion:t};return{ok:!1,emotion:``}}return qA({handlers:[async n=>{if(ge.includes(n.data)){n.emit(`emotion`,n.data),e.enqueue(n.data);return}{let{ok:r,emotion:i}=t(n.data);r&&(n.emit(`emotion`,i),e.enqueue(i))}}]})}function ij(){function e(e){if(!/<\|DELAY:\d+\|>/i.test(e))return{ok:!1,delay:0};let t=/<\|DELAY:(\d+)\|>/i.exec(e)?.[1];if(!t)return{ok:!1,delay:0};let n=Number.parseFloat(t);return n<=0||Number.isNaN(n)?{ok:!0,delay:0}:{ok:!0,delay:n}}return qA({handlers:[async t=>{let{ok:n,delay:r}=e(t.data);n&&(t.emit(`delay`,r),await at(r*1e3))}]})}const aj=Ne(`pipelines:character:speech`,()=>{let e=M([]),t=M([]);function n(t){e.value.push(t)}function r(e){t.value.push(e)}let i=ce(),a=ce(),o=ce();function s(e){a.value=e}function c(e){o.value=e}function l(){if(i){try{i.value?.stop(),i.value?.disconnect()}catch{}i.value=void 0}}let u=M(He(()=>qA({handlers:[n=>new Promise(r=>{if(l(),!a.value){r();return}let s=a.value.createBufferSource();s.buffer=n.data.audioBuffer,s.connect(a.value.destination),s.connect(o.value);for(let t of e.value)t({text:n.data.text});i.value=s,s.start(0),s.onended=()=>{if(n.data.special)for(let e of t.value)e({special:n.data.special});i.value===s&&(i.value=void 0),r()}})]})));function d(){u.value.clear()}function f(){l(),d()}return{onPlaybackStarted:n,onPlaybackFinished:r,connectAudioContext:s,connectAudioAnalyser:c,clearPlaying:l,clearQueue:d,clearAll:f,currentAudioSource:i,playbackQueue:u}}),oj=Ne(`pipelines:workflows:text-segmentation`,()=>{let e=M([]);function t(t){e.value.push(t)}function n(){e.value=[]}return{onTextSegmented:t,clearHooks:n,textSegmentationQueue:M(He(()=>{let t=M(),n=M(),r=new TextEncoder,{stream:i,controller:a}=JA();t.value=i,n.value=a;let o=[];return nj(i.getReader(),o,async t=>{for(let n of e.value)await n(t)}),qA({handlers:[async e=>{e.data.type===`literal`?a.enqueue(r.encode(e.data.value)):(o.push(e.data.value),a.enqueue(r.encode(``)))}]})}))}});var sj={flex:`~ row`,"gap-4":``},cj={flex:`~ col gap-2 items-start`,"py-4":``},lj={"ml-1":``},uj={key:0,tag:`div`,flex:`~ row items-center gap-1`,"text-sm":``},dj=r({__name:`SpeechStreamingPlayground`,props:{text:{},generateSpeech:{type:Function},voice:{}},setup(e){let t=e,{onTextSegmented:n}=oj(),{textSegmentationQueue:r}=Pe(oj()),{audioContext:i}=Me(),o=M(!1),s=M([]),c=M(-1),l=qA({handlers:[e=>new Promise(t=>{let n=i.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(i.destination),o.value=!0,n.start(0),n.onended=()=>{o.value=!1,t()}})]});async function f(e){c.value++;try{let n=e.data,r=await t.generateSpeech(n,t.voice,!1),a=await i.decodeAudioData(r);l.enqueue({audioBuffer:a,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let p=qA({handlers:[f]});n(e=>{p.enqueue(e.chunk)});async function m(){r.value.enqueue({type:`literal`,value:t.text})}async function g(){let e=[],n=new ReadableStream({start(e){e.enqueue(new TextEncoder().encode(t.text)),e.close()}});for await(let t of tj(n.getReader(),{boost:1,minimumWords:4,maximumWords:12}))e.push(t);s.value=e}return(e,t)=>(d(),A(ne,null,[t[4]||=j(`div`,{class:`flex items-center gap-1 text-sm font-medium`},` Streaming Playground `,-1),j(`div`,sj,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:g},[...t[1]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test chunking`)],-1)]]),s.value.length>0?(d(),A(`button`,{key:0,border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:m},[...t[2]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test streaming`)],-1)]])):a(``,!0)]),j(`div`,cj,[(d(!0),A(ne,null,u(s.value,(e,n)=>(d(),A(`div`,{key:n,flex:`~ row gap-2 items-center`},[j(`div`,{flex:`~ row gap-2 items-center`,"rounded-xl":``,"px-2":``,"py-1.5":``,class:E({"bg-neutral-100 dark:bg-neutral-800":c.value=n})},[j(`span`,lj,h(e.text),1),j(`span`,{"rounded-full":``,"px-2":``,"py-.5":``,"text-nowrap":``,"text-xs":``,b:`~ dashed`,class:E({"b-green text-green":e.reason===`boost`,"b-orange text-orange":e.reason===`limit`,"b-red text-red":e.reason===`hard`,"b-purple text-purple":e.reason===`flush`})},h(e.words)+` words, `+h(e.reason),3)],2),D(re,{css:!1,onEnter:t[0]||=e=>O(KA)(e,{opacity:[0,1],translateX:[10,0],duration:200,ease:`inOut`})},{default:k(()=>[c.value>=n?(d(),A(`div`,uj,[...t[3]||=[j(`div`,{"i-solar-check-circle-line-duotone":``},null,-1),j(`div`,null,`Queued`,-1)]])):a(``,!0)]),_:2},1024)]))),128))])],64))}}),fj={"w-full":``,"rounded-xl":``},pj={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},mj={class:`inline-flex items-center gap-4`},hj={flex:`~ col gap-4`},gj=[`placeholder`],_j=[`placeholder`],vj={flex:`~ row`,"gap-4":``},yj=[`disabled`],bj={flex:`~ row`,"items-center":``,"gap-2":``},xj={flex:`~ row`,"items-center":``,"gap-2":``},Sj={key:2,class:`mt-2 text-sm text-red-500`},Cj={key:3,class:`mt-2 text-sm text-red-500`},wj={key:4,class:`mt-2 text-sm text-red-500`},Tj=[`src`],Ej=r({__name:`SpeechPlayground`,props:{defaultText:{},availableVoices:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:r}=rt(),i=M(n.defaultText||`Hello! This is a test of the voice synthesis.`),o=M(!1),s=M(``),l=M(``),u=M(null),f=M(!1),p=M(``),m=M(``);C(()=>n.availableVoices,e=>{e.length>0&&!m.value&&(m.value=e[0]?.id||``)},{immediate:!0});let g=w(()=>n.availableVoices.map(e=>({value:e.id,label:e.name})));async function _(){if(!(!i.value.trim()&&!f.value||f.value&&!p.value.trim()||!m.value)){o.value=!0,l.value=``;try{s.value&&v();let e=f.value?p.value:i.value,t=await n.generateSpeech(e,m.value,f.value);s.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{u.value&&u.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),l.value=e instanceof Error?e.message:`An unknown error occurred`}finally{o.value=!1}}}function v(){u.value&&(u.value.pause(),u.value.currentTime=0),s.value&&=(URL.revokeObjectURL(s.value),``)}return c(()=>{s.value&&URL.revokeObjectURL(s.value)}),t({testText:i,ssmlText:p,useSSML:f,selectedVoice:m,isGenerating:o,audioUrl:s,errorMessage:l,audioPlayer:u,generateTestSpeech:_,stopTestAudio:v}),(t,n)=>(d(),A(`div`,fj,[j(`h2`,pj,[j(`div`,mj,[D(O(Ct)),j(`div`,null,h(O(r)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,hj,[D(O(ke),{modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,label:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),f.value?se((d(),A(`textarea`,{key:1,"onUpdate:modelValue":n[2]||=e=>p.value=e,placeholder:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,_j)),[[te,p.value]]):se((d(),A(`textarea`,{key:0,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,gj)),[[te,i.value]]),D(O(Ae),{modelValue:m.value,"onUpdate:modelValue":n[3]||=e=>m.value=e,class:`[&>div]:grid [&>div]:grid-cols-[4fr_2fr]`,options:g.value,label:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.label`),description:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.description`),layout:`horizontal`},null,8,[`modelValue`,`options`,`label`,`description`]),j(`div`,vj,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:o.value||!i.value.trim()&&!f.value||f.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":o.value||!i.value.trim()&&!f.value||f.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:_},[j(`div`,bj,[n[4]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,h(o.value?O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,yj),s.value?(d(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:v},[j(`div`,xj,[n[5]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,h(O(r)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(d(),A(`div`,Sj,h(O(r)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?a(``,!0):(d(),A(`div`,Cj,h(O(r)(`settings.pages.modules.speech.sections.section.playground.select-voice.required`)),1)),l.value?(d(),A(`div`,wj,h(l.value),1)):a(``,!0),s.value?(d(),A(`audio`,{key:5,ref_key:`audioPlayer`,ref:u,src:s.value,controls:``,class:`mt-2 w-full`},null,8,Tj)):a(``,!0),D(dj,{text:i.value,voice:m.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),b(t.$slots,`default`)]))}}),Dj={"w-full":``,"rounded-xl":``},Oj={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},kj={class:`inline-flex items-center gap-4`},Aj={flex:`~ col gap-4`},jj=[`placeholder`],Mj=[`placeholder`],Nj={flex:`~ row`,"gap-4":``},Pj=[`disabled`],Fj={flex:`~ row`,"items-center":``,"gap-2":``},Ij={flex:`~ row`,"items-center":``,"gap-2":``},Lj={key:2,class:`mt-2 text-sm text-red-500`},Rj={key:3,class:`mt-2 text-sm text-red-500`},zj=[`src`],Bj=r({__name:`SpeechPlaygroundOpenAICompatible`,props:{defaultText:{},modelValue:{},voice:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},emits:[`update:modelValue`,`update:voice`],setup(e,{expose:t,emit:n}){let r=e,i=n,{t:o}=rt(),s=w({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),l=w({get:()=>r.voice,set:e=>i(`update:voice`,e)}),u=M(r.defaultText||`Hello! This is a test of the voice synthesis.`),f=M(!1),p=M(``),m=M(``),g=M(null),_=M(!1),v=M(``);async function x(){if(!(!u.value.trim()&&!_.value||_.value&&!v.value.trim())){f.value=!0,m.value=``;try{p.value&&S();let e=_.value?v.value:u.value,t=await r.generateSpeech(e,l.value,_.value,s.value);p.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{g.value&&g.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),m.value=e instanceof Error?e.message:`An unknown error occurred`}finally{f.value=!1}}}function S(){g.value&&(g.value.pause(),g.value.currentTime=0),p.value&&=(URL.revokeObjectURL(p.value),``)}return c(()=>{p.value&&URL.revokeObjectURL(p.value)}),t({testText:u,ssmlText:v,useSSML:_,isGenerating:f,audioUrl:p,errorMessage:m,audioPlayer:g,generateTestSpeech:x,stopTestAudio:S}),(t,n)=>{let r=y(`SpeechStreamingPlayground`);return d(),A(`div`,Dj,[j(`h2`,Oj,[j(`div`,kj,[D(O(Ct)),j(`div`,null,h(O(o)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,Aj,[D(O(je),{modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,label:`Model ID`,placeholder:`tts-1`},null,8,[`modelValue`]),D(O(je),{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,label:`Voice`,placeholder:`alloy`},null,8,[`modelValue`]),D(O(ke),{modelValue:_.value,"onUpdate:modelValue":n[2]||=e=>_.value=e,label:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),_.value?se((d(),A(`textarea`,{key:1,"onUpdate:modelValue":n[4]||=e=>v.value=e,placeholder:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,Mj)),[[te,v.value]]):se((d(),A(`textarea`,{key:0,"onUpdate:modelValue":n[3]||=e=>u.value=e,placeholder:O(o)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,jj)),[[te,u.value]]),j(`div`,Nj,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:f.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":f.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:x},[j(`div`,Fj,[n[5]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,h(f.value?O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,Pj),p.value?(d(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:S},[j(`div`,Ij,[n[6]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,h(O(o)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(d(),A(`div`,Lj,h(O(o)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?(d(),A(`div`,Rj,h(m.value),1)):a(``,!0),p.value?(d(),A(`audio`,{key:4,ref_key:`audioPlayer`,ref:g,src:p.value,controls:``,class:`mt-2 w-full`},null,8,zj)):a(``,!0),D(r,{text:u.value,voice:l.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),b(t.$slots,`default`)])}}}),Vj=async e=>(e.fetch??globalThis.fetch)(NC(`audio/speech`,e.baseURL),{body:jC(e),headers:MC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(PC).then(async e=>e.arrayBuffer()),Hj=/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g;function Uj(e,t,n){let r=Wj(e);return n?r.replace(n,i):i(r);function i(e){return no(e,{subset:t})}}function Wj(e){return String(e||``).replace(Hj,``)}var Gj=/]]>/g,Kj=[`>`];function qj(e){return``}function Jj(e){return``}var Yj=[` `,`
`,` `,`"`,`&`,`'`,`/`,`<`,`=`,`>`];function Xj(e){return Uj(e,Yj)}function Zj(e,t){let n=String(e),r=t.options.quote||`"`;if(t.options.quoteSmart){let e=r===`"`?`'`:`"`;co(n,r)>co(n,e)&&(r=e)}return r+Uj(n,[`<`,`&`,r])+r}function Qj(e,t){let n=Xj(e.name),r=e.public,i=e.system,a=``}var $j={}.hasOwnProperty;function eM(e,t){let n=Xj(e.name),r=uM(e,t),i=e.attributes||{},a=r?!1:t.options.closeEmptyElements,o=[],s;for(s in i)if($j.call(i,s)){let e=i[s];e!=null&&o.push(Xj(s)+`=`+Zj(e,t))}return`<`+n+(o.length===0?``:` `+o.join(` `))+(a?(t.options.tightClose?``:` `)+`/`:``)+`>`+r+(a?``:``+n+`>`)}var tM=/\?>/g,nM=[`>`];function rM(e){let t=Xj(e.name)||`x`,n=Uj(e.value,nM,tM);return``+t+(n?` `+n:``)+`?>`}var iM=[`&`,`<`];function aM(e){return Uj(e.value,iM)}function oM(e,t){return t.options.allowDangerousXml?e.value:aM(e)}var sM={}.hasOwnProperty,cM={cdata:qj,comment:Jj,doctype:Qj,element:eM,instruction:rM,raw:oM,root:uM,text:aM};function lM(e,t){let n=e&&e.type;if(!n)throw Error("Expected node, not `"+e+"`");if(!sM.call(cM,n))throw Error("Cannot compile unknown node `"+n+"`");let r=cM[n];return r(e,t)}function uM(e,t){let n=e&&e.children||[],r=-1,i=[];for(;++r{let e=VD(),{allAudioSpeechProvidersMetadata:t}=Pe(e),n=Ke(`settings/speech/active-provider`,``),r=Ke(`settings/speech/active-model`,`eleven_multilingual_v2`),i=Ke(`settings/speech/voice`,``),a=M(),o=Ke(`settings/speech/pitch`,0),s=Ke(`settings/speech/rate`,1),c=Ke(`settings/speech/ssml-enabled`,!1),l=M(!1),u=M(null),d=M({}),f=Ke(`settings/speech/language`,`en-US`),p=M(``),m=w(()=>t.value),h=w(()=>e.getProviderMetadata(n.value)?.capabilities.listModels!==void 0),g=w(()=>e.getModelsForProvider(n.value)),_=w(()=>e.isLoadingModels[n.value]||!1),y=w(()=>e.modelLoadError[n.value]||null),b=w(()=>{if(!p.value.trim())return g.value;let e=p.value.toLowerCase().trim();return g.value.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))}),x=w(()=>n.value===`alibaba-cloud-model-studio`&&r.value===`cosyvoice-v2`?!0:[`elevenlabs`,`microsoft-speech`,`azure-speech`,`google`,`volcengine`].includes(n.value));async function S(t){if(!t)return[];l.value=!0,u.value=null;try{let n=await e.getProviderMetadata(t).capabilities.listVoices?.(e.getProviderConfig(t))||[];return d.value[t]=n,n}catch(e){return console.error(`Error fetching voices for ${t}:`,e),u.value=e instanceof Error?e.message:`Unknown error`,[]}finally{l.value=!1}}function ee(e){return d.value[e]||[]}C(n,async e=>{e&&await S(e)}),v(()=>{S(n.value).then(()=>{i.value&&(a.value=d.value[n.value]?.find(e=>e.id===i.value))})}),C(i,e=>{e&&(a.value=d.value[n.value]?.find(t=>t.id===e))},{immediate:!0}),C(d,e=>{i.value&&(a.value=e[n.value]?.find(e=>e.id===i.value))},{immediate:!0});async function T(e,t,n,r,i={}){return await Vj({...e.speech(t,{...i}),input:n,voice:r})}function E(e,t,n){let r=n?.pitch,i=n?.speed,a=n?.volume,o={pitch:r==null?void 0:r>0?`+${r}%`:`-${r}%`,rate:i==null?void 0:i===1?`1`:`${i}`,volume:a==null?void 0:a>0?`+${a}%`:`${a}%`};return dM(fM(`speak`,{version:`1.0`,xmlns:`http://www.w3.org/2001/10/synthesis`,"xml:lang":t.languages[0]?.code||`en-US`},[fM(`voice`,{name:t.id,gender:t.gender||`neutral`},[Object.entries(o).filter(([e,t])=>t!=null).length>0?fM(`prosody`,{pitch:r==null?void 0:r>0?`+${r}%`:`-${r}%`,rate:i==null?void 0:i===1?`1`:`${i}`,volume:a==null?void 0:a>0?`+${a}%`:`${a}%`},[e]):e])]))}return{configured:w(()=>!!n.value&&!!r.value&&!!i.value),activeSpeechProvider:n,activeSpeechModel:r,activeSpeechVoice:a,activeSpeechVoiceId:i,pitch:o,rate:s,ssmlEnabled:c,selectedLanguage:f,isLoadingSpeechProviderVoices:l,speechProviderError:u,availableVoices:d,modelSearchQuery:p,availableSpeechProvidersMetadata:m,supportsSSML:x,supportsModelListing:h,providerModels:g,isLoadingActiveProviderModels:_,activeProviderModelError:y,filteredModels:b,speech:T,loadVoicesForProvider:S,getVoicesForProvider:ee,generateSSML:E}});var gM={flex:`~ col md:row gap-6`},_M={flex:`~ col gap-6`},vM={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},yM={flex:`~ col gap-4`},bM={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},xM={"w-full":``,"rounded-xl":``},SM=r({__name:`SpeechProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=rt(),r=ze(),i=VD(),a=hM(),{providers:o}=Pe(i),s=w(()=>i.getProviderMetadata(t.providerId)),c=w({get:()=>o.value[t.providerId]?.apiKey||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].apiKey=e}}),l=w({get:()=>o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].baseUrl=e}}),u=M({});function f(){o.value[t.providerId]?.voiceSettings?u.value={...o.value[t.providerId].voiceSettings}:u.value={pitch:0,speed:1,volume:0,...t.additionalSettings}}v(()=>{i.initializeProvider(t.providerId),c.value=o.value[t.providerId]?.apiKey||``,l.value=o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,f(),i.configuredProviders[t.providerId]&&a.loadVoicesForProvider(t.providerId)});let p=Ve(()=>{o.value[t.providerId]={...o.value[t.providerId],apiKey:c.value,baseUrl:l.value||s.value?.defaultOptions?.().baseUrl||``,voiceSettings:{...u.value}}},1e3);C([c,l],p),C(u,p,{deep:!0});function m(){u.value={...s.value?.defaultOptions?.().voiceSettings},p()}return(e,i)=>(d(),_(dO,{"provider-name":s.value?.localizedName,"provider-icon":s.value?.icon,"provider-icon-color":s.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,gM,[D(O(lO),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(sO),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":m},{default:k(()=>[D(O(tO),{modelValue:c.value,"onUpdate:modelValue":i[0]||=e=>c.value=e,"provider-name":s.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),b(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),j(`div`,_M,[j(`h2`,vM,h(O(n)(`settings.pages.providers.common.section.voice.title`)),1),j(`div`,yM,[b(e.$slots,`voice-settings`)])]),D(O(eO),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(nO),{modelValue:l.value,"onUpdate:modelValue":i[1]||=e=>l.value=e,placeholder:s.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),b(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,bM,[j(`div`,xM,[b(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});function CM(){let e=M(),t=M(),n=M(),r=M([]),i=M(0),a=M();function o(e){return r.value.push(e),()=>{r.value=r.value.filter(t=>t!==e)}}function s(){if(n.value)return;let a=()=>{if(!e.value||!t.value)return;e.value.getByteFrequencyData(t.value);let o=0;for(let e=0;e{u()}),{volumeLevel:i,error:a,startAnalyzer:l,stopAnalyzer:u,onAnalyzerUpdate:o}}function wM(e){let t=e.getAudioTracks();if(!t.length)throw Error(`No audio tracks found in stream`);return t[0]}function TM(e){let t=o(e),n=ce(),r=M(),i=M(),a=M([]);function s(e){return a.value.push(e),()=>{a.value=a.value.filter(t=>t!==e)}}async function c(){await Ue(t).toBeTruthy();let e=await wM(t.value);r.value=new dt({format:new ct,target:new st});let n=new lt(e,{codec:`pcm-f32`,bitrate:ut});n.errorPromise.catch(console.error),r.value.addAudioTrack(n),i.value=await r.value.getMimeType(),await r.value.start()}async function l(){if(!r.value)return;await r.value.finalize();let e=r.value.target?.buffer,t=e?new Blob([e],{type:i.value}):void 0;n.value=t;for(let e of a.value)try{await e(t)}catch(e){console.error(`onStopRecord hook failed:`,e)}return r.value=void 0,t}return{startRecord:c,stopRecord:l,onStopRecord:s,recording:n}}function EM(){let e=Ge({constraints:{audio:!0},requestPermissions:!0}),t=w(()=>e.audioInputs.value),n=M(e.audioInputs.value[0]?.deviceId||``),r=w(()=>({audio:{deviceId:{exact:n.value},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0}})),{stream:a,stop:o,start:s}=We({constraints:r,enabled:!1,autoSwitch:!0});return C(t,()=>{!n.value&&t.value.length>0&&(n.value=t.value[0]?.deviceId)}),v(()=>{e.ensurePermissions().then(()=>i()).then(()=>{t.value.length>0&&!n.value&&(n.value=t.value.find(e=>e.deviceId===`default`)?.deviceId||t.value[0].deviceId)}).catch(e=>{console.error(`Error ensuring permissions:`,e)})}),{audioInputs:t,selectedAudioInput:n,stream:a,stopStream:o,startStream:s,deviceConstraints:r}}var DM={"w-full":``,"pt-1":``},OM={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},kM={class:`inline-flex items-center gap-4`},AM={"mb-2":``},jM=[`src`],MM={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},NM={class:`space-y-3`},PM={class:`space-y-3`},FM={class:`flex items-center gap-3`},IM={class:`text-sm font-medium`},LM=r({__name:`TranscriptionPlayground`,props:{generateTranscription:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e){let t=e,{t:n}=rt(),{audioInputs:r,selectedAudioInput:i,stream:o,stopStream:s,startStream:l}=EM(),{volumeLevel:f,stopAnalyzer:m,startAnalyzer:g}=CM(),{startRecord:_,stopRecord:v,onStopRecord:y}=TM(o),b=M(25),x=M(!1),S=M(!1),ee=M(``),te=ce(),re=M(),ie=M(),ae=M([]),oe=M([]),se=w(()=>ae.value.map(e=>{let t=URL.createObjectURL(e);return oe.value.push(()=>URL.revokeObjectURL(t)),t})),le=M([]);C(i,async()=>{x.value&&await ue()}),C(r,()=>{!i.value&&r.value.length>0&&(i.value=r.value.find(e=>e.deviceId===`default`)?.deviceId||r.value[0].deviceId)});async function ue(){try{await de(),await l(),await Ue(o).toBeTruthy(),te.value=new AudioContext;let e=te.value.createMediaStreamSource(o.value),t=g(te.value);e.connect(t);let n=t.frequencyBinCount;re.value=new Uint8Array(n)}catch(e){console.error(`Error setting up audio monitoring:`,e),ee.value=e instanceof Error?e.message:String(e)}}async function de(){ie.value&&=(cancelAnimationFrame(ie.value),void 0),o.value&&=(o.value.getTracks().forEach(e=>e.stop()),void 0),te.value&&=(await te.value.close(),void 0),await v(),await s(),await m(),re.value=void 0,S.value=!1}y(async e=>{try{if(e&&e.size>0){ae.value.push(e);let n=await t.generateTranscription(new File([e],`recording.wav`)),r=n.mode===`stream`?await n.text:n.text;le.value.push(r)}}catch(e){ee.value=e instanceof Error?e.message:String(e),console.error(`Error generating transcription:`,ee.value)}});async function fe(){x.value?(await de(),await v(),x.value=!1):(await ue(),await _(),x.value=!0)}let pe=w(()=>S.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`);return c(()=>{de()}),(e,t)=>(d(),A(`div`,DM,[j(`h2`,OM,[j(`div`,kM,[D(O(Ct)),j(`div`,null,h(O(n)(`settings.pages.providers.provider.transcriptions.playground.title`)),1)])]),j(`div`,AM,[D(O(Ae),{modelValue:O(i),"onUpdate:modelValue":t[0]||=e=>T(i)?i.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:O(r).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`,"h-fit":``,"w-full":``},null,8,[`modelValue`,`options`])]),D(O(Te),{class:`my-4`,"w-full":``,onClick:fe},{default:k(()=>[p(h(x.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),j(`div`,null,[(d(!0),A(ne,null,u(se.value,(e,t)=>(d(),A(`div`,{key:t,class:`mb-2`},[j(`audio`,{src:e,controls:``,class:`w-full`},null,8,jM),le.value[t]?(d(),A(`div`,MM,h(le.value[t]),1)):a(``,!0)]))),128))]),j(`div`,NM,[D(O(yt),{level:O(f),label:`Input Level`},null,8,[`level`]),D(O(jt),{value:O(f)/100,threshold:b.value/100,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`]),j(`div`,PM,[D(O(De),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])]),j(`div`,FM,[j(`div`,{class:E([`h-4 w-4 rounded-full transition-all duration-200`,pe.value])},null,2),j(`span`,IM,h(S.value?`Speaking Detected`:`Silence`),1)])])]))}}),RM={flex:`~ col md:row gap-6`},zM={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},BM={"w-full":``,"rounded-xl":``},VM=r({__name:`TranscriptionProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=rt(),r=ze(),i=VD(),{providers:a}=Pe(i),o=w(()=>i.getProviderMetadata(t.providerId)),s=w({get:()=>a.value[t.providerId]?.apiKey||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].apiKey=e}}),c=w({get:()=>a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].baseUrl=e}});v(()=>{i.initializeProvider(t.providerId),s.value=a.value[t.providerId]?.apiKey||``,c.value=a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``});function l(){s.value=``,c.value=o.value?.defaultOptions?.().baseUrl||``}return(e,i)=>(d(),_(O(dO),{"provider-name":o.value?.localizedName,"provider-icon":o.value?.icon,"provider-icon-color":o.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,RM,[D(O(lO),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(sO),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":l},{default:k(()=>[D(O(tO),{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,"provider-name":o.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),b(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),D(O(eO),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(nO),{modelValue:c.value,"onUpdate:modelValue":i[1]||=e=>c.value=e,placeholder:o.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),b(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,zM,[j(`div`,BM,[b(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}}),HM={"h-full":``,flex:``,"flex-col":``,"gap-4":``},UM={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},WM={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},GM={key:0,"flex-1":``,"overflow-y-auto":``,"space-y-4":``},KM={class:`space-y-4`},qM={key:0},JM={key:1},YM={key:2},XM=r({__name:`step-provider-configuration`,setup(e){let{t}=rt(),n=s(UD),r=VD(),i=M(``),o=M(``),c=M(``),l=M(`unchecked`),u=M();function f(){let e=n.selectedProvider.value;e&&(o.value=(e.defaultOptions?.()||{})?.baseUrl||``,i.value=``,c.value=``,l.value=`unchecked`,u.value=void 0)}C(()=>n.selectedProvider.value?.id,()=>{f()});let m=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`ollama`&&n.selectedProvider.value.id!==`player2`:!1),g=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`cloudflare-workers-ai`:!1),v=w(()=>!n.selectedProviderId.value||m.value&&!i.value.trim()?!1:l.value===`unchecked`||l.value===`succeed`);async function y(){if(n.selectedProvider.value){l.value=`pending`;try{let e={};m.value&&(e.apiKey=i.value.trim()),g.value&&(e.baseUrl=o.value.trim()),n.selectedProvider.value.id===`cloudflare-workers-ai`&&(e.accountId=c.value.trim());let t=await r.getProviderMetadata(n.selectedProvider.value.id).validators.validateProviderConfig(e);l.value=t.valid?`succeed`:`failed`,l.value===`failed`&&(u.value=t.reason)}catch(e){l.value=`failed`,u.value=t(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}}async function b(){await y(),l.value!==`failed`&&await n.handleNextStep({apiKey:i.value,baseUrl:o.value,accountId:c.value})}function x(e){return{openai:`sk-...`,anthropic:`sk-ant-...`,"google-generative-ai":`AI...`,"openrouter-ai":`sk-or-...`,deepseek:`sk-...`,xai:`xai-...`,"together-ai":`togetherapi-...`,"mistral-ai":`mis-...`,"moonshot-ai":`ms-...`,modelscope:`ms-...`,"fireworks-ai":`fw-...`,"featherless-ai":`fw-...`,"novita-ai":`nvt-...`}[e]||`API Key`}function S(e){return(n.selectedProvider.value?.defaultOptions?.()||{})?.baseUrl||`https://api.example.com/v1/`}return f(),(e,r)=>(d(),A(`div`,HM,[j(`div`,UM,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[4]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,WM,h(O(t)(`settings.dialogs.onboarding.configureProvider`,{provider:O(n).selectedProvider.value?.localizedName})),1),r[5]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),O(n).selectedProvider.value?(d(),A(`div`,GM,[D(O(ye),{label:`Keep your API keys and credentials safe!`,theme:`violet`},{default:k(()=>[...r[6]||=[j(`div`,null,[j(`div`,null,` AIRI is running pure locally in your browser, and we will never steal your credentials for AI / LLM providers. But keep in mind that your API keys are sensitive information. Make sure to keep them safe and do not share them with anyone. `),j(`div`,null,[p(` AIRI is open sourced at `),j(`div`,{"inline-flex":``,"translate-y-1":``,"items-center":``,"gap-1":``},[j(`div`,{"i-simple-icons:github":``,"inline-block":``}),j(`a`,{"decoration-underline":``,"decoration-dashed":``,href:`https://github.com/moeru-ai/airi`,target:`_blank`,rel:`noopener noreferrer`},`GitHub`)]),p(`, if you want to check how we handle your credentials, feel free to inspect our code. `)])],-1)]]),_:1}),j(`div`,KM,[m.value?(d(),A(`div`,qM,[D(O(je),{modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,placeholder:x(O(n).selectedProvider.value.id),type:`password`,label:`API Key`,description:`Enter your API key for the selected provider.`,required:``},null,8,[`modelValue`,`placeholder`])])):a(``,!0),g.value?(d(),A(`div`,JM,[D(O(je),{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,placeholder:S(O(n).selectedProvider.value.id),type:`text`,label:`Base URL`,description:`Enter the base URL for the provider's API.`},null,8,[`modelValue`,`placeholder`])])):a(``,!0),O(n).selectedProvider.value.id===`cloudflare-workers-ai`?(d(),A(`div`,YM,[D(O(XD),{modelValue:c.value,"onUpdate:modelValue":r[3]||=e=>c.value=e},null,8,[`modelValue`])])):a(``,!0)]),l.value===`failed`?(d(),_(O(Se),{key:0,title:O(t)(`settings.dialogs.onboarding.validationFailed`),error:u.value},null,8,[`title`,`error`])):a(``,!0)])):a(``,!0),D(O(Te),{label:O(t)(`settings.dialogs.onboarding.next`),loading:l.value===`pending`,disabled:!v.value,onClick:b},null,8,[`label`,`loading`,`disabled`])]))}}),ZM={"h-full":``,flex:``,"flex-col":``,"gap-4":``},QM={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},$M={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},eN={class:`flex-1 overflow-y-auto`},tN={class:`grid grid-cols-1 gap-3 sm:grid-cols-2`},nN=r({__name:`step-provider-selection`,setup(e){let{t}=rt(),n=s(UD);return(e,r)=>(d(),A(`div`,ZM,[j(`div`,QM,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[2]||=[j(`div`,{class:`i-solar:alt-arrow-left-line-duotone h-5 w-5`},null,-1)]]),j(`h2`,$M,h(O(t)(`settings.dialogs.onboarding.selectProvider`)),1),r[3]||=j(`div`,{class:`h-5 w-5`},null,-1)]),j(`div`,eN,[j(`div`,tN,[(d(!0),A(ne,null,u(O(n).popularProviders.value,e=>(d(),_(O(aS),{id:e.id,key:e.id,modelValue:O(n).selectedProviderId.value,"onUpdate:modelValue":r[1]||=e=>O(n).selectedProviderId.value=e,name:`provider-selection`,value:e.id,title:e.localizedName||e.id,description:e.localizedDescription||``,onClick:t=>O(n).selectProvider(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`onClick`]))),128))])]),D(O(Te),{label:O(t)(`settings.dialogs.onboarding.next`),disabled:!O(n).selectedProviderId.value,onClick:O(n).handleNextStep},null,8,[`label`,`disabled`,`onClick`])]))}}),rN=`/assets/onboarding-S2C4LIWw.avif`,iN={"h-full":``,flex:``,"flex-col":``},aN={class:`mb-2 text-center md:mb-8`,flex:``,"flex-1":``,"flex-col":``,"justify-center":``},oN={initial:{opacity:0,scale:.5},visible:{opacity:1,scale:1},duration:500,class:`mb-1 flex justify-center md:mb-4 lg:pt-16 md:pt-8`},sN=[`src`],cN={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,class:`mb-0 text-3xl text-neutral-800 font-bold md:mb-2 dark:text-neutral-100`},lN={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,delay:100,class:`text-sm text-neutral-600 md:text-lg dark:text-neutral-400`},uN=r({__name:`step-welcome`,setup(e){let{t}=rt(),n=s(UD);return(e,r)=>{let i=x(`motion`);return d(),A(`div`,iN,[j(`div`,aN,[se((d(),A(`div`,oN,[j(`img`,{src:O(rN),"max-h":`50`,"aspect-square":``,"h-auto":``,"w-auto":``,"object-cover":``},null,8,sN)])),[[i]]),se((d(),A(`h2`,cN,[p(h(O(t)(`settings.dialogs.onboarding.title`)),1)])),[[i]]),se((d(),A(`p`,lN,[p(h(O(t)(`settings.dialogs.onboarding.description`)),1)])),[[i]])]),se(D(O(Te),{initial:{opacity:0},visible:{opacity:1},duration:500,delay:200,label:O(t)(`settings.dialogs.onboarding.start`),onClick:O(n).handleNextStep},null,8,[`label`,`onClick`]),[[i]])])}}}),dN={"h-full":``,"w-full":``},fN=Be(r({__name:`onboarding`,emits:[`configured`,`skipped`],setup(e,{emit:t}){let n=t,r=M(1),o=M(`next`),{providers:s,allChatProvidersMetadata:c}=Pe(VD()),l=HD(),{activeProvider:u}=Pe(l),f=w(()=>{let e=[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`player2`,`openai-compatible`];return c.value.filter(t=>e.includes(t.id)).sort((t,n)=>e.indexOf(t.id)-e.indexOf(n.id))}),p=M(``),m=w(()=>c.value.find(e=>e.id===p.value)||null);function h(e){p.value=e.id}function g(){r.value>1&&(o.value=`previous`,r.value--)}async function v(e){if(r.value===3&&e){await y(e),o.value=`next`,r.value++;return}r.value<4?(o.value=`next`,r.value++):b()}async function y(e){if(!m.value)return;let t={};e.apiKey&&(t.apiKey=e.apiKey.trim()),e.baseUrl&&(t.baseUrl=e.baseUrl.trim()),e.accountId&&(t.accountId=e.accountId.trim()),s.value[m.value.id]={...s.value[m.value.id],...t},u.value=m.value.id,await i();try{await l.loadModelsForProvider(m.value.id)}catch(e){console.error(`error`,e)}}async function b(){n(`configured`)}return ae(UD,{selectedProviderId:p,selectedProvider:m,selectProvider:h,popularProviders:f,handleNextStep:v,handlePreviousStep:g,handleSave:b}),(e,t)=>(d(),A(`div`,dN,[D(re,{name:o.value===`next`?`slide-next`:`slide-prev`,mode:`out-in`},{default:k(()=>[r.value===1?(d(),_(uN,{key:1})):r.value===2?(d(),_(nN,{key:2})):r.value===3?(d(),_(XM,{key:3})):r.value===4?(d(),_(YD,{key:4})):a(``,!0)]),_:1},8,[`name`])]))}}),[[`__scopeId`,`data-v-52c8a4c7`]]),pN=r({__name:`onboarding-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:g([`configured`,`skipped`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,r=ie(e,`modelValue`),i=Ye(`(min-width: 768px)`),a=$e();return Qe(document.documentElement,()=>a.update()),v(()=>a.update()),(e,t)=>O(i)?(d(),_(O(fe),{key:0,open:r.value,"onUpdate:open":t[2]||=e=>r.value=e},{default:k(()=>[D(O(me),null,{default:k(()=>[D(O(ue),{class:`fixed inset-0 z-9999 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(de),{class:`fixed left-1/2 top-1/2 z-9999 max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Ee),null,{default:k(()=>[D(O(pe),null,{default:k(()=>[...t[6]||=[p(`Onboarding`,-1)]]),_:1})]),_:1}),D(fN,{onConfigured:t[0]||=e=>n(`configured`),onSkipped:t[1]||=e=>n(`skipped`)})]),_:1})]),_:1})]),_:1},8,[`open`])):(d(),_(O(_e),{key:1,open:r.value,"should-scale-background":``,"onUpdate:open":t[5]||=e=>r.value=e},{default:k(()=>[D(O(me),null,{default:k(()=>[D(O(Ce),{class:`fixed inset-0`}),D(O(we),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:f({paddingBottom:`${Math.max(Number.parseFloat(O(a).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(be)),D(fN,{onConfigured:t[3]||=e=>n(`configured`),onSkipped:t[4]||=e=>n(`skipped`)})]),_:1},8,[`style`])]),_:1})]),_:1},8,[`open`]))}}),mN={class:`w-full flex cursor-pointer items-center justify-between rounded-lg px-4 py-3 text-sm outline-none transition-all duration-250 ease-in-out`,bg:`neutral-50 dark:neutral-800`,hover:`bg-neutral-200 dark:bg-neutral-700`},hN={key:0,text:`sm neutral-500`},gN=r({__name:`Bar`,props:{text:{},description:{}},setup(e){return(t,n)=>(d(),A(`label`,mN,[j(`div`,null,[p(h(t.$t(e.text))+` `,1),e.description?(d(),A(`div`,hN,h(t.$t(e.description)),1)):a(``,!0)]),b(t.$slots,`default`)]))}}),_N=[`aria-checked`],vN=r({__name:`CheckBar`,props:g({text:{},iconOn:{},iconOff:{},description:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ie(e,`modelValue`);return(n,r)=>(d(),_(gN,{text:e.text,description:e.description},{default:k(()=>[se(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,"aria-checked":t.value,type:`checkbox`,hidden:``},null,8,_N),[[S,t.value]]),D(re,{name:`slide-away`,mode:`out-in`},{default:k(()=>[t.value?(d(),A(`div`,{key:0,class:E(e.iconOn),transition:`all ease-in-out duration-250`},null,2)):(d(),A(`div`,{key:1,class:E(e.iconOff),transition:`all ease-in-out duration-250`},null,2))]),_:1})]),_:1},8,[`text`,`description`]))}});const yN=Symbol(`ToasterRoot`);var bN=r({__name:`ToasterRoot`,emits:[`close`],setup(e,{emit:t}){let n=t;return ae(yN,{close:e=>n(`close`,e)}),(e,t)=>b(e.$slots,`default`)}});export{VD as $,Ek as A,JS as At,WO as B,zt as Bt,fA as C,aC as Ct,Fk as D,$S as Dt,Bk as E,eC as Et,QO as F,Hx as Ft,dO as G,wO as H,jt as Ht,ek as I,Rx as It,nO as J,lO as K,Tk as L,fr as Lt,tk as M,hS as Mt,ZO as N,fS as Nt,Ok as O,QS as Ot,XO as P,Zx as Pt,HD as Q,Ck as R,cn as Rt,gA as S,cC as St,Kk as T,tC as Tt,BO as U,Ct as Ut,vO as V,Rt as Vt,_O as W,yt as Wt,eO as X,tO as Y,XD as Z,ZA as _,FC as _t,LM as a,dT as at,NA as b,uC as bt,SM as c,Mw as ct,Bj as d,AC as dt,xD as et,Ej as f,EC as ft,oj as g,PC as gt,aj as h,NC as ht,VM as i,NT as it,$O as j,IS as jt,Sk as k,ZS as kt,hM as l,ww as lt,rj as m,MC as mt,vN as n,wD as nt,TM as o,Gw as ot,ij as p,OC as pt,sO as q,pN as r,yD as rt,CM as s,Nw as st,bN as t,SD as tt,Vj as u,sw as ut,qA as v,IC as vt,Yk as w,iC as wt,vA as x,lC as xt,GA as y,_C as yt,qO as z,rn as zt};
\ No newline at end of file
diff --git a/assets/consciousness-BWukNXnd.js b/assets/consciousness-DBa82UmO.js
similarity index 99%
rename from assets/consciousness-BWukNXnd.js
rename to assets/consciousness-DBa82UmO.js
index e3a7c014f23bbda9fdba5bf3610fb8c7a6ebd906..1345fb65d35d389db95b107001681a91e6824a0d 100644
--- a/assets/consciousness-BWukNXnd.js
+++ b/assets/consciousness-DBa82UmO.js
@@ -1 +1 @@
-import{A as e,C as t,J as ee,K as n,O as r,Pt as i,S as a,Z as te,at as o,gt as s,k as c,kt as l,l as u,lt as d,m as f,ut as p,w as m,x as h}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as g,l as _}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as v}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{t as y}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as ne,Mt as re,Nt as ie,Q as ae}from"./components-FkJVIJjS.js";import{n as oe}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";var se={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`},x={flex:`~ col gap-4`},S={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},C={text:`neutral-400 dark:neutral-400`},w={"max-w-full":``},T={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},E={key:1},D={key:0},O={flex:`~ col gap-4`},k={class:`text-lg md:text-2xl`},A={text:`neutral-400 dark:neutral-400`},j={key:0,class:`flex items-center justify-center py-4`},M={key:1},N={flex:`~ col gap-4`},P={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},F={text:`neutral-400 dark:neutral-500`},I={class:`flex items-center gap-3 border border-primary-200 rounded-lg bg-primary-50 p-4 dark:border-primary-800 dark:bg-primary-900/20`},ce={class:`flex flex-col`},L={class:`font-medium`},R={class:`text-sm text-primary-600 dark:text-primary-400`},z={class:`mt-2`},B={class:`mb-1 block text-sm font-medium`},V=[`placeholder`],H={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},U=e({__name:`consciousness`,setup(e){let b=ne(),U=ae(),{configuredChatProvidersMetadata:W}=v(b),{activeProvider:G,activeModel:K,customModelName:le,modelSearchQuery:q,supportsModelListing:J,providerModels:Y,isLoadingActiveProviderModels:X,activeProviderModelError:Z}=v(U),{t:Q}=oe();o(G,async e=>{await U.loadModelsForProvider(e)},{immediate:!0});function $(e){le.value=e}return(e,o)=>{let v=te(`motion`);return n(),m(f,null,[h(`div`,se,[h(`div`,null,[h(`div`,x,[h(`div`,null,[h(`h2`,S,i(l(Q)(`settings.pages.providers.title`)),1),h(`div`,C,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.description`)),1)])]),h(`div`,w,[l(W).length>0?(n(),m(`fieldset`,T,[(n(!0),m(f,null,ee(l(W),e=>(n(),a(l(re),{id:e.id,key:e.id,modelValue:l(G),"onUpdate:modelValue":o[0]||=e=>s(G)?G.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),c(l(y),{to:`/settings/providers`,border:`2px solid`,class:`border-neutral-100 bg-white dark:border-neutral-900 hover:border-primary-500/30 dark:bg-neutral-900/20 dark:hover:border-primary-400/30`,flex:`~ col items-center justify-center`,transition:`all duration-200 ease-in-out`,relative:``,"min-w-50":``,"w-fit":``,"rounded-xl":``,"p-4":``},{default:d(()=>[...o[4]||=[h(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),h(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)]]),_:1})])):(n(),m(`div`,E,[c(l(y),{class:`flex items-center gap-3 rounded-lg p-4`,border:`2 dashed neutral-200 dark:neutral-800`,bg:`neutral-50 dark:neutral-800`,transition:`colors duration-200 ease-in-out`,to:`/settings/providers`},{default:d(()=>[...o[5]||=[h(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),h(`div`,{class:`flex flex-col`},[h(`span`,{class:`font-medium`},`No Providers Configured`),h(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your LLM providers`)],-1),h(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])])]),l(G)&&l(J)?(n(),m(`div`,D,[h(`div`,O,[h(`div`,null,[h(`h2`,k,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,A,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),l(X)?(n(),m(`div`,j,[o[6]||=h(`div`,{class:`mr-2 animate-spin`},[h(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):l(Z)?(n(),a(l(_),{key:1,title:l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:l(Z)},null,8,[`title`,`error`])):l(Y).length===0&&!l(X)?(n(),a(l(g),{key:2,type:`warning`},{title:d(()=>[r(i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:d(()=>[r(i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):l(Y).length>0?(n(),a(l(ie),{key:3,modelValue:l(K),"onUpdate:modelValue":o[1]||=e=>s(K)?K.value=e:null,"search-query":l(q),"onUpdate:searchQuery":o[2]||=e=>s(q)?q.value=e:null,items:l(Y).sort((e,t)=>e.id===l(K)?-1:t.id===l(K)?1:0),searchable:!0,"search-placeholder":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:l(q)}),"search-results-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"onUpdate:customValue":$},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):t(``,!0)])])):l(G)&&!l(J)?(n(),m(`div`,M,[h(`div`,N,[h(`div`,null,[h(`h2`,P,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,F,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),h(`div`,I,[o[7]||=h(`div`,{"i-solar:info-circle-line-duotone":``,class:`text-2xl text-primary-500 dark:text-primary-400`},null,-1),h(`div`,ce,[h(`span`,L,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported`)),1),h(`span`,R,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported_description`)),1)])]),h(`div`,z,[h(`label`,B,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`)),1),p(h(`input`,{"onUpdate:modelValue":o[3]||=e=>s(K)?K.value=e:null,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-3 py-2 dark:border-neutral-700 dark:bg-neutral-900`,placeholder:l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,V),[[u,l(K)]])])])])):t(``,!0)]),p((n(),m(`div`,H,[...o[8]||=[h(`div`,{text:`60`,"i-solar:ghost-bold-duotone":``},null,-1)]])),[[v]])],64)}}});typeof b==`function`&&b(U);var W=U;export{W as default};
\ No newline at end of file
+import{A as e,C as t,J as ee,K as n,O as r,Pt as i,S as a,Z as te,at as o,gt as s,k as c,kt as l,l as u,lt as d,m as f,ut as p,w as m,x as h}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as g,l as _}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as v}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{t as y}from"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as ne,Mt as re,Nt as ie,Q as ae}from"./components-BmY-4iwk.js";import{n as oe}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";var se={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`},x={flex:`~ col gap-4`},S={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},C={text:`neutral-400 dark:neutral-400`},w={"max-w-full":``},T={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},E={key:1},D={key:0},O={flex:`~ col gap-4`},k={class:`text-lg md:text-2xl`},A={text:`neutral-400 dark:neutral-400`},j={key:0,class:`flex items-center justify-center py-4`},M={key:1},N={flex:`~ col gap-4`},P={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},F={text:`neutral-400 dark:neutral-500`},I={class:`flex items-center gap-3 border border-primary-200 rounded-lg bg-primary-50 p-4 dark:border-primary-800 dark:bg-primary-900/20`},ce={class:`flex flex-col`},L={class:`font-medium`},R={class:`text-sm text-primary-600 dark:text-primary-400`},z={class:`mt-2`},B={class:`mb-1 block text-sm font-medium`},V=[`placeholder`],H={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},U=e({__name:`consciousness`,setup(e){let b=ne(),U=ae(),{configuredChatProvidersMetadata:W}=v(b),{activeProvider:G,activeModel:K,customModelName:le,modelSearchQuery:q,supportsModelListing:J,providerModels:Y,isLoadingActiveProviderModels:X,activeProviderModelError:Z}=v(U),{t:Q}=oe();o(G,async e=>{await U.loadModelsForProvider(e)},{immediate:!0});function $(e){le.value=e}return(e,o)=>{let v=te(`motion`);return n(),m(f,null,[h(`div`,se,[h(`div`,null,[h(`div`,x,[h(`div`,null,[h(`h2`,S,i(l(Q)(`settings.pages.providers.title`)),1),h(`div`,C,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.description`)),1)])]),h(`div`,w,[l(W).length>0?(n(),m(`fieldset`,T,[(n(!0),m(f,null,ee(l(W),e=>(n(),a(l(re),{id:e.id,key:e.id,modelValue:l(G),"onUpdate:modelValue":o[0]||=e=>s(G)?G.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),c(l(y),{to:`/settings/providers`,border:`2px solid`,class:`border-neutral-100 bg-white dark:border-neutral-900 hover:border-primary-500/30 dark:bg-neutral-900/20 dark:hover:border-primary-400/30`,flex:`~ col items-center justify-center`,transition:`all duration-200 ease-in-out`,relative:``,"min-w-50":``,"w-fit":``,"rounded-xl":``,"p-4":``},{default:d(()=>[...o[4]||=[h(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),h(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)]]),_:1})])):(n(),m(`div`,E,[c(l(y),{class:`flex items-center gap-3 rounded-lg p-4`,border:`2 dashed neutral-200 dark:neutral-800`,bg:`neutral-50 dark:neutral-800`,transition:`colors duration-200 ease-in-out`,to:`/settings/providers`},{default:d(()=>[...o[5]||=[h(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),h(`div`,{class:`flex flex-col`},[h(`span`,{class:`font-medium`},`No Providers Configured`),h(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your LLM providers`)],-1),h(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])])]),l(G)&&l(J)?(n(),m(`div`,D,[h(`div`,O,[h(`div`,null,[h(`h2`,k,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,A,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),l(X)?(n(),m(`div`,j,[o[6]||=h(`div`,{class:`mr-2 animate-spin`},[h(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):l(Z)?(n(),a(l(_),{key:1,title:l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:l(Z)},null,8,[`title`,`error`])):l(Y).length===0&&!l(X)?(n(),a(l(g),{key:2,type:`warning`},{title:d(()=>[r(i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:d(()=>[r(i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):l(Y).length>0?(n(),a(l(ie),{key:3,modelValue:l(K),"onUpdate:modelValue":o[1]||=e=>s(K)?K.value=e:null,"search-query":l(q),"onUpdate:searchQuery":o[2]||=e=>s(q)?q.value=e:null,items:l(Y).sort((e,t)=>e.id===l(K)?-1:t.id===l(K)?1:0),searchable:!0,"search-placeholder":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:l(q)}),"search-results-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"onUpdate:customValue":$},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):t(``,!0)])])):l(G)&&!l(J)?(n(),m(`div`,M,[h(`div`,N,[h(`div`,null,[h(`h2`,P,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,F,[h(`span`,null,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),h(`div`,I,[o[7]||=h(`div`,{"i-solar:info-circle-line-duotone":``,class:`text-2xl text-primary-500 dark:text-primary-400`},null,-1),h(`div`,ce,[h(`span`,L,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported`)),1),h(`span`,R,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported_description`)),1)])]),h(`div`,z,[h(`label`,B,i(l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`)),1),p(h(`input`,{"onUpdate:modelValue":o[3]||=e=>s(K)?K.value=e:null,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-3 py-2 dark:border-neutral-700 dark:bg-neutral-900`,placeholder:l(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,V),[[u,l(K)]])])])])):t(``,!0)]),p((n(),m(`div`,H,[...o[8]||=[h(`div`,{text:`60`,"i-solar:ghost-bold-duotone":``},null,-1)]])),[[v]])],64)}}});typeof b==`function`&&b(U);var W=U;export{W as default};
\ No newline at end of file
diff --git a/assets/developer-BJFquX1o.js b/assets/developer-Bqct0x_Q.js
similarity index 98%
rename from assets/developer-BJFquX1o.js
rename to assets/developer-Bqct0x_Q.js
index 34aa74228684da2c3fef61af6910564b95886fe0..74b41309b2ca4629cec59ec9ac6ff9eb40ed712e 100644
--- a/assets/developer-BJFquX1o.js
+++ b/assets/developer-Bqct0x_Q.js
@@ -1 +1 @@
-import{A as e,J as t,K as n,Nt as r,S as i,Z as a,b as o,k as s,kt as c,m as l,ut as u,w as d,x as f}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{n as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ft as m,n as h}from"./components-FkJVIJjS.js";import{n as g}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as _}from"./route-block-B7Ro39Uj.js";var v={flex:`~ col gap-4`,"pb-12":``},y={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[65dvh]`,"right--15":``,"z--1":``,initial:{scale:.9,opacity:0,rotate:30},enter:{scale:1,opacity:1,rotate:0},duration:250,flex:``,"items-center":``,"justify-center":``},b=e({__name:`developer`,setup(e){let{t:_}=g(),b=p(),x=o(()=>[{title:`Audio Record`,description:`Test Audio related composables`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/audio-record`},{title:`Background Theme color blending`,description:`Test blending & theme`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/background-gradient-blending`},{title:`Background removal (WebGPU required)`,description:`Utility for background removal`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/background-removal`},{title:`Chat`,description:`Chat`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/chat`},{title:`Gesture Circle (Desktop only)`,description:`Test gesture recognition`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/gesture-circle`},{title:`Image`,description:`Image`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/image`},{title:`Polaroid`,description:`Utility for taking shots of models`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/polaroid`},{title:_(`settings.pages.system.sections.section.developer.sections.section.use-magic-keys.title`),description:_(`settings.pages.system.sections.section.developer.sections.section.use-magic-keys.description`),icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/use-magic-keys`},{title:`Color extract`,description:`Test color extraction`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/vibrant`},{title:`Aliyun Real-time Transcriber`,description:`Stream microphone audio to Aliyun NLS and inspect live transcripts`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/providers-transcription-realtime-aliyun-nls`}]);return(e,o)=>{let p=a(`motion`);return n(),d(l,null,[u(s(c(h),{modelValue:c(b).disableTransitions,"onUpdate:modelValue":o[0]||=e=>c(b).disableTransitions=e,"mb-2":``,"icon-on":`i-solar:people-nearby-bold-duotone`,"icon-off":`i-solar:running-2-line-duotone`,text:`settings.animations.stage-transitions.title`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:440,delay:50,transition:`all ease-in-out duration-250`},null,8,[`modelValue`]),[[p]]),u(s(c(h),{modelValue:c(b).usePageSpecificTransitions,"onUpdate:modelValue":o[1]||=e=>c(b).usePageSpecificTransitions=e,disabled:c(b).disableTransitions,"icon-on":`i-solar:running-2-line-duotone`,"icon-off":`i-solar:people-nearby-bold-duotone`,text:`settings.animations.use-page-specific-transitions.title`,description:`settings.animations.use-page-specific-transitions.description`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:450,delay:100,transition:`all ease-in-out duration-250`},null,8,[`modelValue`,`disabled`]),[[p]]),f(`div`,v,[(n(!0),d(l,null,t(x.value,(e,t)=>u((n(),i(c(m),{key:e.to,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250,style:r({transitionDelay:`${t*50}ms`}),title:e.title,description:e.description,icon:e.icon,to:e.to},null,8,[`style`,`title`,`description`,`icon`,`to`])),[[p]])),128))]),u((n(),d(`div`,y,[...o[2]||=[f(`div`,{text:`60`,"i-solar:code-bold-duotone":``},null,-1)]])),[[p]])],64)}}});typeof _==`function`&&_(b);var x=b;export{x as default};
\ No newline at end of file
+import{A as e,J as t,K as n,Nt as r,S as i,Z as a,b as o,k as s,kt as c,m as l,ut as u,w as d,x as f}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{n as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ft as m,n as h}from"./components-BmY-4iwk.js";import{n as g}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as _}from"./route-block-B7Ro39Uj.js";var v={flex:`~ col gap-4`,"pb-12":``},y={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[65dvh]`,"right--15":``,"z--1":``,initial:{scale:.9,opacity:0,rotate:30},enter:{scale:1,opacity:1,rotate:0},duration:250,flex:``,"items-center":``,"justify-center":``},b=e({__name:`developer`,setup(e){let{t:_}=g(),b=p(),x=o(()=>[{title:`Audio Record`,description:`Test Audio related composables`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/audio-record`},{title:`Background Theme color blending`,description:`Test blending & theme`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/background-gradient-blending`},{title:`Background removal (WebGPU required)`,description:`Utility for background removal`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/background-removal`},{title:`Chat`,description:`Chat`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/chat`},{title:`Gesture Circle (Desktop only)`,description:`Test gesture recognition`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/gesture-circle`},{title:`Image`,description:`Image`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/image`},{title:`Polaroid`,description:`Utility for taking shots of models`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/polaroid`},{title:_(`settings.pages.system.sections.section.developer.sections.section.use-magic-keys.title`),description:_(`settings.pages.system.sections.section.developer.sections.section.use-magic-keys.description`),icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/use-magic-keys`},{title:`Color extract`,description:`Test color extraction`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/vibrant`},{title:`Aliyun Real-time Transcriber`,description:`Stream microphone audio to Aliyun NLS and inspect live transcripts`,icon:`i-solar:sledgehammer-bold-duotone`,to:`/devtools/providers-transcription-realtime-aliyun-nls`}]);return(e,o)=>{let p=a(`motion`);return n(),d(l,null,[u(s(c(h),{modelValue:c(b).disableTransitions,"onUpdate:modelValue":o[0]||=e=>c(b).disableTransitions=e,"mb-2":``,"icon-on":`i-solar:people-nearby-bold-duotone`,"icon-off":`i-solar:running-2-line-duotone`,text:`settings.animations.stage-transitions.title`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:440,delay:50,transition:`all ease-in-out duration-250`},null,8,[`modelValue`]),[[p]]),u(s(c(h),{modelValue:c(b).usePageSpecificTransitions,"onUpdate:modelValue":o[1]||=e=>c(b).usePageSpecificTransitions=e,disabled:c(b).disableTransitions,"icon-on":`i-solar:running-2-line-duotone`,"icon-off":`i-solar:people-nearby-bold-duotone`,text:`settings.animations.use-page-specific-transitions.title`,description:`settings.animations.use-page-specific-transitions.description`,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:450,delay:100,transition:`all ease-in-out duration-250`},null,8,[`modelValue`,`disabled`]),[[p]]),f(`div`,v,[(n(!0),d(l,null,t(x.value,(e,t)=>u((n(),i(c(m),{key:e.to,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250,style:r({transitionDelay:`${t*50}ms`}),title:e.title,description:e.description,icon:e.icon,to:e.to},null,8,[`style`,`title`,`description`,`icon`,`to`])),[[p]])),128))]),u((n(),d(`div`,y,[...o[2]||=[f(`div`,{text:`60`,"i-solar:code-bold-duotone":``},null,-1)]])),[[p]])],64)}}});typeof _==`function`&&_(b);var x=b;export{x as default};
\ No newline at end of file
diff --git a/assets/dist-BCmu4H8w.js b/assets/dist-CnHFOEYg.js
similarity index 91%
rename from assets/dist-BCmu4H8w.js
rename to assets/dist-CnHFOEYg.js
index 89565699c44afa0446640e9672eb531a44d6db95..0581e50fd439318b2066fe0f922166c550c18c48 100644
--- a/assets/dist-BCmu4H8w.js
+++ b/assets/dist-CnHFOEYg.js
@@ -1,2 +1,2 @@
-import{dt as e,gt as t,ht as n,mt as r}from"./components-FkJVIJjS.js";var i=e=>{if(!e||!e.startsWith(`data:`))return[void 0,!1];let t=e.slice(5),n=t.startsWith(` `)?t.slice(1):t;if(n.includes(`[DONE]`))return[void 0,!0];if(n.startsWith(`{`)&&n.includes(`"error":`))throw Error(`Error from server: ${n}`);return[JSON.parse(n),!1]},a=()=>{let e=new TextDecoder,t=``;return new TransformStream({transform:async(n,r)=>{let a=e.decode(n,{stream:!0});t+=a;let o=t.split(`
+import{dt as e,gt as t,ht as n,mt as r}from"./components-BmY-4iwk.js";var i=e=>{if(!e||!e.startsWith(`data:`))return[void 0,!1];let t=e.slice(5),n=t.startsWith(` `)?t.slice(1):t;if(n.includes(`[DONE]`))return[void 0,!0];if(n.startsWith(`{`)&&n.includes(`"error":`))throw Error(`Error from server: ${n}`);return[JSON.parse(n),!1]},a=()=>{let e=new TextDecoder,t=``;return new TransformStream({transform:async(n,r)=>{let a=e.decode(n,{stream:!0});t+=a;let o=t.split(`
`);t=o.pop()??``;for(let e of o)try{let[t,n]=i(e);if(n)break;t&&r.enqueue(t)}catch(e){r.error(e)}}})},o=i=>{let o,s,c=new ReadableStream({start:e=>s=e}),l=new ReadableStream({start:e=>o=e}),u=new e,d=``,f=async()=>{let e=new FormData;e.append(`model`,i.model),e.append(`file`,i.file,i.fileName),e.append(`stream`,`true`),i.language!=null&&e.append(`language`,i.language),i.prompt!=null&&e.append(`prompt`,i.prompt),i.temperature!=null&&e.append(`temperature`,i.temperature);let c=await(i.fetch??globalThis.fetch)(n(`audio/transcriptions`,i.baseURL),{body:e,headers:r(i.headers,i.apiKey),method:`POST`,signal:i.abortSignal});await t(c);let{body:l}=c;await l.pipeThrough(a()).pipeTo(new WritableStream({abort:e=>{s?.error(e),o?.error(e)},close:()=>{},write:e=>{e.type===`transcript.text.delta`?(o?.enqueue(e.delta),d+=e.delta,s?.enqueue(e)):e.type}}))};return(async()=>{try{await f(),u.resolve(d),s?.close(),o?.close()}catch(e){s?.error(e),o?.error(e),u.reject(e)}})(),{fullStream:c,text:u.promise,textStream:l}};export{o as t};
\ No newline at end of file
diff --git a/assets/elevenlabs-DvE15YP-.js b/assets/elevenlabs-CMLTreXT.js
similarity index 98%
rename from assets/elevenlabs-DvE15YP-.js
rename to assets/elevenlabs-CMLTreXT.js
index 27f93491a14d142def4c8468d82391f0c5d7ebed..f02148f33ca466fcde576e85c949a0edf32eceec 100644
--- a/assets/elevenlabs-DvE15YP-.js
+++ b/assets/elevenlabs-CMLTreXT.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d,f}from"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-FkJVIJjS.js";import{n as v}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";var b={flex:`~ col gap-4`},x=`elevenlabs`,S=`eleven_multilingual_v2`,C=e({__name:`elevenlabs`,setup(e){let y={similarityBoost:.75,stability:.5,speed:1,style:0,useSpeakerBoost:!0},C=u(0),w=u(1),T=u(0),E=u(0),D=u(.5),O=u(.75),k=u(!1),A=_(),j=m(),{providers:M}=p(j),{t:N}=v(),P=a(()=>!!M.value[x]?.apiKey),F=a(()=>A.availableVoices[x]||[]);async function I(e,t,n){let r=await j.getProviderInstance(x);if(!r)throw Error(`Failed to initialize speech provider`);let i=j.getProviderConfig(x),a=i.model||S;return await A.speech(r,a,e,t,{...i,...y})}return r(async()=>{let e=j.getProviderConfig(x);await j.getProviderMetadata(x).validators.validateProviderConfig(e)?await A.loadVoicesForProvider(x):console.error(`Failed to validate provider config`,e)}),i(C,async()=>{let e=j.getProviderConfig(x);e.pitch=C.value}),i(w,async()=>{let e=j.getProviderConfig(x);e.speed=w.value}),i(T,async()=>{let e=j.getProviderConfig(x);e.volume=T.value}),i(E,async()=>{let e=j.getProviderConfig(x);e.style=E.value}),i(D,async()=>{let e=j.getProviderConfig(x);e.stability=D.value}),i(O,async()=>{let e=j.getProviderConfig(x);e.similarityBoost=O.value}),i(k,async()=>{let e=j.getProviderConfig(x);e.useSpeakerBoost=k.value}),i(M,async()=>{let e=j.getProviderConfig(x);await j.getProviderMetadata(x).validators.validateProviderConfig(e)?await A.loadVoicesForProvider(x):console.error(`Failed to validate provider config`,e)},{immediate:!0}),(e,r)=>(t(),n(s(h),{"provider-id":x,"default-model":S,"additional-settings":y},{"voice-settings":c(()=>[l(`div`,b,[o(s(d),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:T.value,"onUpdate:modelValue":r[2]||=e=>T.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:E.value,"onUpdate:modelValue":r[3]||=e=>E.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:D.value,"onUpdate:modelValue":r[4]||=e=>D.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:O.value,"onUpdate:modelValue":r[5]||=e=>O.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(f),{modelValue:k.value,"onUpdate:modelValue":r[6]||=e=>k.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.description`)},null,8,[`modelValue`,`label`,`description`])])]),playground:c(()=>[o(s(g),{"available-voices":F.value,"generate-speech":I,"api-key-configured":P.value,"default-text":`Hello! This is a test of the ElevenLabs voice synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
+import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d,f}from"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-BmY-4iwk.js";import{n as v}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";var b={flex:`~ col gap-4`},x=`elevenlabs`,S=`eleven_multilingual_v2`,C=e({__name:`elevenlabs`,setup(e){let y={similarityBoost:.75,stability:.5,speed:1,style:0,useSpeakerBoost:!0},C=u(0),w=u(1),T=u(0),E=u(0),D=u(.5),O=u(.75),k=u(!1),A=_(),j=m(),{providers:M}=p(j),{t:N}=v(),P=a(()=>!!M.value[x]?.apiKey),F=a(()=>A.availableVoices[x]||[]);async function I(e,t,n){let r=await j.getProviderInstance(x);if(!r)throw Error(`Failed to initialize speech provider`);let i=j.getProviderConfig(x),a=i.model||S;return await A.speech(r,a,e,t,{...i,...y})}return r(async()=>{let e=j.getProviderConfig(x);await j.getProviderMetadata(x).validators.validateProviderConfig(e)?await A.loadVoicesForProvider(x):console.error(`Failed to validate provider config`,e)}),i(C,async()=>{let e=j.getProviderConfig(x);e.pitch=C.value}),i(w,async()=>{let e=j.getProviderConfig(x);e.speed=w.value}),i(T,async()=>{let e=j.getProviderConfig(x);e.volume=T.value}),i(E,async()=>{let e=j.getProviderConfig(x);e.style=E.value}),i(D,async()=>{let e=j.getProviderConfig(x);e.stability=D.value}),i(O,async()=>{let e=j.getProviderConfig(x);e.similarityBoost=O.value}),i(k,async()=>{let e=j.getProviderConfig(x);e.useSpeakerBoost=k.value}),i(M,async()=>{let e=j.getProviderConfig(x);await j.getProviderMetadata(x).validators.validateProviderConfig(e)?await A.loadVoicesForProvider(x):console.error(`Failed to validate provider config`,e)},{immediate:!0}),(e,r)=>(t(),n(s(h),{"provider-id":x,"default-model":S,"additional-settings":y},{"voice-settings":c(()=>[l(`div`,b,[o(s(d),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:T.value,"onUpdate:modelValue":r[2]||=e=>T.value=e,label:s(N)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(N)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:E.value,"onUpdate:modelValue":r[3]||=e=>E.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:D.value,"onUpdate:modelValue":r[4]||=e=>D.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:O.value,"onUpdate:modelValue":r[5]||=e=>O.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(f),{modelValue:k.value,"onUpdate:modelValue":r[6]||=e=>k.value=e,label:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.label`),description:s(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.description`)},null,8,[`modelValue`,`label`,`description`])])]),playground:c(()=>[o(s(g),{"available-voices":F.value,"generate-speech":I,"api-key-configured":P.value,"default-text":`Hello! This is a test of the ElevenLabs voice synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
diff --git a/assets/gaming-factorio-DX_oxd32.js b/assets/gaming-factorio-vQIO9xW6.js
similarity index 91%
rename from assets/gaming-factorio-DX_oxd32.js
rename to assets/gaming-factorio-vQIO9xW6.js
index f415ab1dd2556f0690b13da4848292d35a18bfed..f202bd69ce1222cb80dd6bc3a60065cc854f6565 100644
--- a/assets/gaming-factorio-DX_oxd32.js
+++ b/assets/gaming-factorio-vQIO9xW6.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ot as i}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`gaming-factorio`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ot as i}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`gaming-factorio`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
diff --git a/assets/gaming-minecraft-DYBfldLk.js b/assets/gaming-minecraft-8mXTwqaF.js
similarity index 91%
rename from assets/gaming-minecraft-DYBfldLk.js
rename to assets/gaming-minecraft-8mXTwqaF.js
index 63e35856a659a8508736444e1addc71d2144b65f..f0e130a60f65da68d5a5c1bc6d1c4d23d38eada0 100644
--- a/assets/gaming-minecraft-DYBfldLk.js
+++ b/assets/gaming-minecraft-8mXTwqaF.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Et as i}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`gaming-minecraft`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Et as i}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`gaming-minecraft`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
diff --git a/assets/hearing-BBZ19k6p.js b/assets/hearing-DHQOfoO0.js
similarity index 98%
rename from assets/hearing-BBZ19k6p.js
rename to assets/hearing-DHQOfoO0.js
index b92156c30afdf8111ef7fee52555506e8d403146..be0db7c2b5215c31f46d8307cdb27a9a3863b8ab 100644
--- a/assets/hearing-BBZ19k6p.js
+++ b/assets/hearing-DHQOfoO0.js
@@ -1 +1 @@
-import{A as e,C as t,G as n,J as r,K as i,O as a,Pt as o,S as s,W as c,X as l,at as ee,b as u,gt as d,jt as te,k as f,kt as p,lt as m,m as h,w as g,x as _,xt as v}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as ne,l as y,u as re}from"./widgets-DXnWA3E4.js";import{c as b,f as ie,s as ae}from"./src-C1mn1H34.js";import{D as oe,I as x,r as S}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as se,Ht as ce,Mt as le,Nt as ue,Ut as de,Wt as fe,o as pe,s as me,zt as he}from"./components-FkJVIJjS.js";import{n as ge}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./transformers.web-Kvh9V7-B.js";import{t as C}from"./route-block-B7Ro39Uj.js";import"./llmmarkerParser-DC1ErTJG.js";import{n as _e,t as ve}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";import{t as ye}from"./process.worklet-D7mV4gP1.js";import{t as be}from"./composables-DQUpXsnb.js";var xe={flex:`~ col md:row gap-6`},Se={bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`,class:`h-fit w-full md:w-[40%]`},Ce={flex:`~ col gap-4`},we={flex:`~ col gap-4`},Te={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},Ee={text:`neutral-400 dark:neutral-400`},De={"max-w-full":``},w={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},T={key:1},E={key:0},Oe={flex:`~ col gap-4`},ke={class:`text-lg md:text-2xl`},Ae={text:`neutral-400 dark:neutral-400`},je={key:0,class:`flex items-center justify-center py-4`},Me={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},Ne={"w-full":``,"rounded-xl":``},Pe={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},Fe={class:`inline-flex items-center gap-4`},Ie=[`src`],Le={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},Re={flex:`~ col gap-4`},ze={class:`space-y-4`},Be={class:`space-y-3`},Ve={key:1,class:`space-y-3`},He={key:2,class:`space-y-3`},Ue={class:`flex items-center gap-3`},We={class:`text-sm font-medium`},Ge={class:`ml-auto text-xs text-neutral-500`},Ke={class:`border-t border-neutral-200 pt-3 dark:border-neutral-700`},qe={key:0,class:`mt-3 space-y-2`},Je={key:0,class:`flex items-center gap-2 text-primary-600 dark:text-primary-400`},Ye={key:2,class:`flex items-center gap-2 text-green-600 dark:text-green-400`},Xe={class:`ml-auto text-xs text-neutral-500`},D=e({__name:`hearing`,setup(e){let{t:C}=ge(),D=_e(),{activeTranscriptionProvider:O,activeTranscriptionModel:k,providerModels:A,activeProviderModelError:j,isLoadingActiveProviderModels:M,supportsModelListing:Ze,transcriptionModelSearchQuery:N,activeCustomModelName:Qe}=x(D),{configuredTranscriptionProvidersMetadata:P}=x(se()),{stopStream:$e,startStream:et}=S(),{audioInputs:tt,selectedAudioInput:F,stream:I}=x(S()),{startRecord:nt,stopRecord:rt,onStopRecord:it}=pe(I),{startAnalyzer:at,stopAnalyzer:ot,onAnalyzerUpdate:st,volumeLevel:ct}=me(),{audioContext:L}=x(oe()),{transcribeForRecording:lt}=ve(),R=v(),z=v(``),B=v(!1),V=v([]),H=v([]),U=v([]),ut=u(()=>H.value.map(e=>{let t=URL.createObjectURL(e);return U.value.push(()=>URL.revokeObjectURL(t)),t})),W=v(.6),G=v(!0),{init:dt,dispose:K,isSpeech:ft,isSpeechProb:q,isSpeechHistory:pt,inferenceError:J,start:mt,loaded:Y,loading:ht}=be(ye,{threshold:W,onSpeechStart:()=>nt(),onSpeechEnd:()=>rt()}),X=v(!1),Z=u(()=>G.value&&Y.value?ft.value:X.value);async function Q(){try{if(!F.value){console.warn(`No audio input device selected`);return}if(await $(),await et(),!I.value){console.warn(`No audio stream available`);return}let e=L.value.createMediaStreamSource(I.value),t=at(L.value);st(e=>{(!G.value||!Y.value)&&(X.value=e>W.value)}),t&&e.connect(t),G.value&&(await dt(),await mt(I.value))}catch(e){console.error(`Error setting up audio monitoring:`,e),J.value=e instanceof Error?e.message:String(e)}}async function $(){R.value&&=(cancelAnimationFrame(R.value),void 0),I.value&&$e(),ot(),K()}async function gt(){B.value?(await $(),B.value=!1):(await Q(),B.value=!0)}let _t=u(()=>{if(!G.value||!Y.value)return X.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`;let e=q.value,t=W.value;return e>t?`bg-green-500 shadow-lg shadow-green-500/50`:e>t*.5?`bg-yellow-500 shadow-lg shadow-yellow-500/30`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`});function vt(e){Qe.value=e}return it(async e=>{e&&e.size>0&&H.value.push(e);let t=await lt(e);t&&V.value.push(t)}),ee(F,async()=>B.value&&await Q()),c(async()=>{await D.loadModelsForProvider(O.value)}),n(()=>{$(),K(),U.value.forEach(e=>e())}),(e,n)=>{let c=l(`RouterLink`);return i(),g(`div`,xe,[_(`div`,Se,[_(`div`,Ce,[_(`div`,null,[f(p(ae),{modelValue:p(F),"onUpdate:modelValue":n[0]||=e=>d(F)?F.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:p(tt).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`},null,8,[`modelValue`,`options`])]),_(`div`,we,[_(`div`,null,[_(`h2`,Te,o(p(C)(`settings.pages.providers.title`)),1),_(`div`,Ee,[_(`span`,null,o(p(C)(`settings.pages.modules.hearing.sections.section.provider-selection.description`)),1)])]),_(`div`,De,[p(P).length>0?(i(),g(`fieldset`,w,[(i(!0),g(h,null,r(p(P),e=>(i(),s(p(le),{id:e.id,key:e.id,modelValue:p(O),"onUpdate:modelValue":n[1]||=e=>d(O)?O.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),f(c,{to:`/settings/providers#transcription`,border:`2px solid`,class:`border-neutral-100 bg-white dark:border-neutral-900 hover:border-primary-500/30 dark:bg-neutral-900/20 dark:hover:border-primary-400/30`,flex:`~ col items-center justify-center`,transition:`all duration-200 ease-in-out`,relative:``,"min-w-50":``,"w-fit":``,"rounded-xl":``,"p-4":``},{default:m(()=>[...n[7]||=[_(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),_(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)]]),_:1})])):(i(),g(`div`,T,[f(c,{class:`flex items-center gap-3 rounded-lg p-4`,border:`2 dashed neutral-200 dark:neutral-800`,bg:`neutral-50 dark:neutral-800`,transition:`colors duration-200 ease-in-out`,to:`/settings/providers`},{default:m(()=>[...n[8]||=[_(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),_(`div`,{class:`flex flex-col`},[_(`span`,{class:`font-medium`},`No Providers Configured`),_(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your Transcription providers`)],-1),_(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])]),p(O)&&p(Ze)?(i(),g(`div`,E,[_(`div`,Oe,[_(`div`,null,[_(`h2`,ke,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),_(`div`,Ae,[_(`span`,null,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),p(M)?(i(),g(`div`,je,[n[9]||=_(`div`,{class:`mr-2 animate-spin`},[_(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),_(`span`,null,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):p(j)?(i(),s(p(y),{key:1,title:p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:p(j)},null,8,[`title`,`error`])):p(A).length===0&&!p(M)?(i(),s(p(ne),{key:2,type:`warning`},{title:m(()=>[a(o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:m(()=>[a(o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):p(A).length>0?(i(),s(p(ue),{key:3,modelValue:p(k),"onUpdate:modelValue":n[2]||=e=>d(k)?k.value=e:null,"search-query":p(N),"onUpdate:searchQuery":n[3]||=e=>d(N)?N.value=e:null,items:p(A).sort((e,t)=>e.id===p(k)?-1:t.id===p(k)?1:0),searchable:!0,"search-placeholder":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:p(N)}),"search-results-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"onUpdate:customValue":vt},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):t(``,!0)])])):t(``,!0)])]),_(`div`,Me,[_(`div`,Ne,[_(`h2`,Pe,[_(`div`,Fe,[f(p(de)),_(`div`,null,o(p(C)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),z.value?(i(),s(p(y),{key:0,title:`Error occurred`,error:z.value,"mb-4":``},null,8,[`error`])):t(``,!0),f(p(re),{class:`mb-4`,"w-full":``,onClick:gt},{default:m(()=>[a(o(B.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),_(`div`,null,[(i(!0),g(h,null,r(ut.value,(e,n)=>(i(),g(`div`,{key:n,class:`mb-2`},[_(`audio`,{src:e,controls:``,class:`w-full`},null,8,Ie),V.value[n]?(i(),g(`div`,Le,o(V.value[n]),1)):t(``,!0)]))),128))]),_(`div`,Re,[_(`div`,ze,[_(`div`,Be,[f(p(fe),{level:p(ct),label:`Input Level`},null,8,[`level`]),G.value&&p(Y)?(i(),s(p(ce),{key:0,value:p(q),threshold:W.value,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`])):t(``,!0),G.value&&p(Y)?(i(),g(`div`,Ve,[f(p(b),{modelValue:W.value,"onUpdate:modelValue":n[4]||=e=>W.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:.1,max:.9,step:.05,"format-value":e=>`${(e*100).toFixed(0)}%`},null,8,[`modelValue`,`format-value`])])):(i(),g(`div`,He,[f(p(b),{modelValue:W.value,"onUpdate:modelValue":n[5]||=e=>W.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])])),_(`div`,Ue,[_(`div`,{class:te([`h-4 w-4 rounded-full transition-all duration-200`,_t.value])},null,2),_(`span`,We,o(Z.value?`Speaking Detected`:`Silence`),1),_(`span`,Ge,o(G.value&&p(Y)?`Model Based`:`Volume Based`),1)]),_(`div`,Ke,[f(p(ie),{modelValue:G.value,"onUpdate:modelValue":n[6]||=e=>G.value=e,label:`Model Based`,description:`Use AI models for more accurate speech detection`},null,8,[`modelValue`]),G.value?(i(),g(`div`,qe,[p(ht)?(i(),g(`div`,Je,[...n[10]||=[_(`div`,{class:`animate-spin text-sm`,"i-solar:spinner-line-duotone":``},null,-1),_(`span`,{class:`text-sm`},`Loading...`,-1)]])):p(J)?(i(),s(p(y),{key:1,title:`Inference error`,error:p(J)},null,8,[`error`])):p(Y)?(i(),g(`div`,Ye,[n[11]||=_(`div`,{class:`text-sm`,"i-solar:check-circle-bold-duotone":``},null,-1),n[12]||=_(`span`,{class:`text-sm`},`Activated`,-1),_(`span`,Xe,` Probability: `+o((p(q)*100).toFixed(1))+`% `,1)])):t(``,!0)])):t(``,!0)]),G.value&&p(Y)?(i(),s(p(he),{key:3,history:p(pt),"current-value":p(q),threshold:W.value,"is-active":Z.value,title:`Voice Activity`,subtitle:`Last 2 seconds`,"active-label":`Speaking`,"active-legend-label":`Voice detected`,"inactive-legend-label":`Silence`,"threshold-label":`Speech threshold`},null,8,[`history`,`current-value`,`threshold`,`is-active`])):t(``,!0)])])])])])])}}});typeof C==`function`&&C(D);var O=D;export{O as default};
\ No newline at end of file
+import{A as e,C as t,G as n,J as r,K as i,O as a,Pt as o,S as s,W as c,X as l,at as ee,b as u,gt as d,jt as te,k as f,kt as p,lt as m,m as h,w as g,x as _,xt as v}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as ne,l as y,u as re}from"./widgets-DXnWA3E4.js";import{c as b,f as ie,s as ae}from"./src-C1mn1H34.js";import{D as oe,I as x,r as S}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as se,Ht as ce,Mt as le,Nt as ue,Ut as de,Wt as fe,o as pe,s as me,zt as he}from"./components-BmY-4iwk.js";import{n as ge}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import"./transformers.web-Kvh9V7-B.js";import{t as C}from"./route-block-B7Ro39Uj.js";import"./llmmarkerParser-DC1ErTJG.js";import{n as _e,t as ve}from"./hearing-DsZOp5Sx.js";import"./dist-CnHFOEYg.js";import{t as ye}from"./process.worklet-D7mV4gP1.js";import{t as be}from"./composables-DQUpXsnb.js";var xe={flex:`~ col md:row gap-6`},Se={bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-4`,class:`h-fit w-full md:w-[40%]`},Ce={flex:`~ col gap-4`},we={flex:`~ col gap-4`},Te={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},Ee={text:`neutral-400 dark:neutral-400`},De={"max-w-full":``},w={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},T={key:1},E={key:0},Oe={flex:`~ col gap-4`},ke={class:`text-lg md:text-2xl`},Ae={text:`neutral-400 dark:neutral-400`},je={key:0,class:`flex items-center justify-center py-4`},Me={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},Ne={"w-full":``,"rounded-xl":``},Pe={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},Fe={class:`inline-flex items-center gap-4`},Ie=[`src`],Le={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},Re={flex:`~ col gap-4`},ze={class:`space-y-4`},Be={class:`space-y-3`},Ve={key:1,class:`space-y-3`},He={key:2,class:`space-y-3`},Ue={class:`flex items-center gap-3`},We={class:`text-sm font-medium`},Ge={class:`ml-auto text-xs text-neutral-500`},Ke={class:`border-t border-neutral-200 pt-3 dark:border-neutral-700`},qe={key:0,class:`mt-3 space-y-2`},Je={key:0,class:`flex items-center gap-2 text-primary-600 dark:text-primary-400`},Ye={key:2,class:`flex items-center gap-2 text-green-600 dark:text-green-400`},Xe={class:`ml-auto text-xs text-neutral-500`},D=e({__name:`hearing`,setup(e){let{t:C}=ge(),D=_e(),{activeTranscriptionProvider:O,activeTranscriptionModel:k,providerModels:A,activeProviderModelError:j,isLoadingActiveProviderModels:M,supportsModelListing:Ze,transcriptionModelSearchQuery:N,activeCustomModelName:Qe}=x(D),{configuredTranscriptionProvidersMetadata:P}=x(se()),{stopStream:$e,startStream:et}=S(),{audioInputs:tt,selectedAudioInput:F,stream:I}=x(S()),{startRecord:nt,stopRecord:rt,onStopRecord:it}=pe(I),{startAnalyzer:at,stopAnalyzer:ot,onAnalyzerUpdate:st,volumeLevel:ct}=me(),{audioContext:L}=x(oe()),{transcribeForRecording:lt}=ve(),R=v(),z=v(``),B=v(!1),V=v([]),H=v([]),U=v([]),ut=u(()=>H.value.map(e=>{let t=URL.createObjectURL(e);return U.value.push(()=>URL.revokeObjectURL(t)),t})),W=v(.6),G=v(!0),{init:dt,dispose:K,isSpeech:ft,isSpeechProb:q,isSpeechHistory:pt,inferenceError:J,start:mt,loaded:Y,loading:ht}=be(ye,{threshold:W,onSpeechStart:()=>nt(),onSpeechEnd:()=>rt()}),X=v(!1),Z=u(()=>G.value&&Y.value?ft.value:X.value);async function Q(){try{if(!F.value){console.warn(`No audio input device selected`);return}if(await $(),await et(),!I.value){console.warn(`No audio stream available`);return}let e=L.value.createMediaStreamSource(I.value),t=at(L.value);st(e=>{(!G.value||!Y.value)&&(X.value=e>W.value)}),t&&e.connect(t),G.value&&(await dt(),await mt(I.value))}catch(e){console.error(`Error setting up audio monitoring:`,e),J.value=e instanceof Error?e.message:String(e)}}async function $(){R.value&&=(cancelAnimationFrame(R.value),void 0),I.value&&$e(),ot(),K()}async function gt(){B.value?(await $(),B.value=!1):(await Q(),B.value=!0)}let _t=u(()=>{if(!G.value||!Y.value)return X.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`;let e=q.value,t=W.value;return e>t?`bg-green-500 shadow-lg shadow-green-500/50`:e>t*.5?`bg-yellow-500 shadow-lg shadow-yellow-500/30`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`});function vt(e){Qe.value=e}return it(async e=>{e&&e.size>0&&H.value.push(e);let t=await lt(e);t&&V.value.push(t)}),ee(F,async()=>B.value&&await Q()),c(async()=>{await D.loadModelsForProvider(O.value)}),n(()=>{$(),K(),U.value.forEach(e=>e())}),(e,n)=>{let c=l(`RouterLink`);return i(),g(`div`,xe,[_(`div`,Se,[_(`div`,Ce,[_(`div`,null,[f(p(ae),{modelValue:p(F),"onUpdate:modelValue":n[0]||=e=>d(F)?F.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:p(tt).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`},null,8,[`modelValue`,`options`])]),_(`div`,we,[_(`div`,null,[_(`h2`,Te,o(p(C)(`settings.pages.providers.title`)),1),_(`div`,Ee,[_(`span`,null,o(p(C)(`settings.pages.modules.hearing.sections.section.provider-selection.description`)),1)])]),_(`div`,De,[p(P).length>0?(i(),g(`fieldset`,w,[(i(!0),g(h,null,r(p(P),e=>(i(),s(p(le),{id:e.id,key:e.id,modelValue:p(O),"onUpdate:modelValue":n[1]||=e=>d(O)?O.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),f(c,{to:`/settings/providers#transcription`,border:`2px solid`,class:`border-neutral-100 bg-white dark:border-neutral-900 hover:border-primary-500/30 dark:bg-neutral-900/20 dark:hover:border-primary-400/30`,flex:`~ col items-center justify-center`,transition:`all duration-200 ease-in-out`,relative:``,"min-w-50":``,"w-fit":``,"rounded-xl":``,"p-4":``},{default:m(()=>[...n[7]||=[_(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),_(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)]]),_:1})])):(i(),g(`div`,T,[f(c,{class:`flex items-center gap-3 rounded-lg p-4`,border:`2 dashed neutral-200 dark:neutral-800`,bg:`neutral-50 dark:neutral-800`,transition:`colors duration-200 ease-in-out`,to:`/settings/providers`},{default:m(()=>[...n[8]||=[_(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),_(`div`,{class:`flex flex-col`},[_(`span`,{class:`font-medium`},`No Providers Configured`),_(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your Transcription providers`)],-1),_(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])]),p(O)&&p(Ze)?(i(),g(`div`,E,[_(`div`,Oe,[_(`div`,null,[_(`h2`,ke,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),_(`div`,Ae,[_(`span`,null,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),p(M)?(i(),g(`div`,je,[n[9]||=_(`div`,{class:`mr-2 animate-spin`},[_(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),_(`span`,null,o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):p(j)?(i(),s(p(y),{key:1,title:p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:p(j)},null,8,[`title`,`error`])):p(A).length===0&&!p(M)?(i(),s(p(ne),{key:2,type:`warning`},{title:m(()=>[a(o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:m(()=>[a(o(p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):p(A).length>0?(i(),s(p(ue),{key:3,modelValue:p(k),"onUpdate:modelValue":n[2]||=e=>d(k)?k.value=e:null,"search-query":p(N),"onUpdate:searchQuery":n[3]||=e=>d(N)?N.value=e:null,items:p(A).sort((e,t)=>e.id===p(k)?-1:t.id===p(k)?1:0),searchable:!0,"search-placeholder":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:p(N)}),"search-results-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":p(C)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"onUpdate:customValue":vt},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):t(``,!0)])])):t(``,!0)])]),_(`div`,Me,[_(`div`,Ne,[_(`h2`,Pe,[_(`div`,Fe,[f(p(de)),_(`div`,null,o(p(C)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),z.value?(i(),s(p(y),{key:0,title:`Error occurred`,error:z.value,"mb-4":``},null,8,[`error`])):t(``,!0),f(p(re),{class:`mb-4`,"w-full":``,onClick:gt},{default:m(()=>[a(o(B.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),_(`div`,null,[(i(!0),g(h,null,r(ut.value,(e,n)=>(i(),g(`div`,{key:n,class:`mb-2`},[_(`audio`,{src:e,controls:``,class:`w-full`},null,8,Ie),V.value[n]?(i(),g(`div`,Le,o(V.value[n]),1)):t(``,!0)]))),128))]),_(`div`,Re,[_(`div`,ze,[_(`div`,Be,[f(p(fe),{level:p(ct),label:`Input Level`},null,8,[`level`]),G.value&&p(Y)?(i(),s(p(ce),{key:0,value:p(q),threshold:W.value,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`])):t(``,!0),G.value&&p(Y)?(i(),g(`div`,Ve,[f(p(b),{modelValue:W.value,"onUpdate:modelValue":n[4]||=e=>W.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:.1,max:.9,step:.05,"format-value":e=>`${(e*100).toFixed(0)}%`},null,8,[`modelValue`,`format-value`])])):(i(),g(`div`,He,[f(p(b),{modelValue:W.value,"onUpdate:modelValue":n[5]||=e=>W.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])])),_(`div`,Ue,[_(`div`,{class:te([`h-4 w-4 rounded-full transition-all duration-200`,_t.value])},null,2),_(`span`,We,o(Z.value?`Speaking Detected`:`Silence`),1),_(`span`,Ge,o(G.value&&p(Y)?`Model Based`:`Volume Based`),1)]),_(`div`,Ke,[f(p(ie),{modelValue:G.value,"onUpdate:modelValue":n[6]||=e=>G.value=e,label:`Model Based`,description:`Use AI models for more accurate speech detection`},null,8,[`modelValue`]),G.value?(i(),g(`div`,qe,[p(ht)?(i(),g(`div`,Je,[...n[10]||=[_(`div`,{class:`animate-spin text-sm`,"i-solar:spinner-line-duotone":``},null,-1),_(`span`,{class:`text-sm`},`Loading...`,-1)]])):p(J)?(i(),s(p(y),{key:1,title:`Inference error`,error:p(J)},null,8,[`error`])):p(Y)?(i(),g(`div`,Ye,[n[11]||=_(`div`,{class:`text-sm`,"i-solar:check-circle-bold-duotone":``},null,-1),n[12]||=_(`span`,{class:`text-sm`},`Activated`,-1),_(`span`,Xe,` Probability: `+o((p(q)*100).toFixed(1))+`% `,1)])):t(``,!0)])):t(``,!0)]),G.value&&p(Y)?(i(),s(p(he),{key:3,history:p(pt),"current-value":p(q),threshold:W.value,"is-active":Z.value,title:`Voice Activity`,subtitle:`Last 2 seconds`,"active-label":`Speaking`,"active-legend-label":`Voice detected`,"inactive-legend-label":`Silence`,"threshold-label":`Speech threshold`},null,8,[`history`,`current-value`,`threshold`,`is-active`])):t(``,!0)])])])])])])}}});typeof C==`function`&&C(D);var O=D;export{O as default};
\ No newline at end of file
diff --git a/assets/hearing-Ch1HGYwu.js b/assets/hearing-DsZOp5Sx.js
similarity index 96%
rename from assets/hearing-Ch1HGYwu.js
rename to assets/hearing-DsZOp5Sx.js
index d5ecd1e749d3bb67d1051e729a2057a4c22f5887..b81a628df53aa6e36074b8f53edfbd83a4a6c156 100644
--- a/assets/hearing-Ch1HGYwu.js
+++ b/assets/hearing-DsZOp5Sx.js
@@ -1 +1 @@
-import{b as e,xt as t}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as n,I as r}from"./settings-m9HC-9j-.js";import{f as i}from"./dist-DpJ_SbNQ.js";import{$ as a,_t as o,gt as s,ht as c,mt as l}from"./components-FkJVIJjS.js";import{t as u}from"./dist-BCmu4H8w.js";var d=async e=>{let t=new FormData;return t.append(`model`,e.model),t.append(`file`,e.file,e.fileName),t.append(`response_format`,e.responseFormat??`json`),e.responseFormat===`verbose_json`&&t.append(`timestamp_granularities[]`,e.timestampGranularities??`segment`),e.language!=null&&t.append(`language`,e.language),e.prompt!=null&&t.append(`prompt`,e.prompt),e.temperature!=null&&t.append(`temperature`,e.temperature),(e.fetch??globalThis.fetch)(c(`audio/transcriptions`,e.baseURL),{body:t,headers:l(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal}).then(s).then(o)},f={"aliyun-nls-transcription":u};const p=n(`hearing-store`,()=>{let n=a(),{allAudioTranscriptionProvidersMetadata:o}=r(n),s=i(`settings/hearing/active-provider`,``),c=i(`settings/hearing/active-model`,``),l=i(`settings/hearing/active-custom-model`,``),u=t(``),p=e(()=>o.value),m=e(()=>n.getProviderMetadata(s.value)?.capabilities.listModels!==void 0),h=e(()=>n.getModelsForProvider(s.value)),g=e(()=>n.isLoadingModels[s.value]||!1),_=e(()=>n.modelLoadError[s.value]||null);async function v(e){e&&n.getProviderMetadata(e)?.capabilities.listModels!==void 0&&await n.fetchModelsForProvider(e)}async function y(e){return e&&n.getProviderMetadata(e)?.capabilities.listModels!==void 0?n.getModelsForProvider(e):[]}let b=e(()=>!!s.value&&!!c.value);async function x(e,t,r,i,a,o){let s=i instanceof File?{file:i}:i??{},c=n.getTranscriptionFeatures(e),l=f[e];if(c.supportsStreamOutput&&l){let e=t.transcription(r,o?.providerOptions);if(c.supportsStreamInput&&s.inputAudioStream)return{mode:`stream`,...l({...e,inputAudioStream:s.inputAudioStream})};if(!c.supportsStreamInput&&s.file||c.supportsStreamInput&&!s.inputAudioStream&&s.file)return{mode:`stream`,...l({...e,file:s.file})};if(!c.supportsGenerate||!s.file)throw Error(`No compatible input provided for streaming transcription.`)}if(!s.file)throw Error(`File input is required for transcription.`);return{mode:`generate`,...await d({...t.transcription(r,o?.providerOptions),file:s.file,responseFormat:a})}}return{activeTranscriptionProvider:s,activeTranscriptionModel:c,availableProvidersMetadata:p,activeCustomModelName:l,transcriptionModelSearchQuery:u,supportsModelListing:m,providerModels:h,isLoadingActiveProviderModels:g,activeProviderModelError:_,configured:b,transcription:x,loadModelsForProvider:v,getModelsForProvider:y}}),m=n(`modules:hearing:speech:audio-input-pipeline`,()=>{let e=t(),n=p(),{activeTranscriptionProvider:i,activeTranscriptionModel:o}=r(n),s=a();async function c(t){if(t)try{if(t&&t.size>0){let e=i.value,r=await s.getProviderInstance(e);if(!r)throw Error(`Failed to initialize speech provider`);let a=o.value,c=await n.transcription(e,r,a,new File([t],`recording.wav`));return c.mode===`stream`?await c.text:c.text}}catch(t){e.value=t instanceof Error?t.message:String(t),console.error(`Error generating transcription:`,e.value)}}return{error:e,transcribeForRecording:c}});export{p as n,m as t};
\ No newline at end of file
+import{b as e,xt as t}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{F as n,I as r}from"./settings-m9HC-9j-.js";import{f as i}from"./dist-DpJ_SbNQ.js";import{$ as a,_t as o,gt as s,ht as c,mt as l}from"./components-BmY-4iwk.js";import{t as u}from"./dist-CnHFOEYg.js";var d=async e=>{let t=new FormData;return t.append(`model`,e.model),t.append(`file`,e.file,e.fileName),t.append(`response_format`,e.responseFormat??`json`),e.responseFormat===`verbose_json`&&t.append(`timestamp_granularities[]`,e.timestampGranularities??`segment`),e.language!=null&&t.append(`language`,e.language),e.prompt!=null&&t.append(`prompt`,e.prompt),e.temperature!=null&&t.append(`temperature`,e.temperature),(e.fetch??globalThis.fetch)(c(`audio/transcriptions`,e.baseURL),{body:t,headers:l(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal}).then(s).then(o)},f={"aliyun-nls-transcription":u};const p=n(`hearing-store`,()=>{let n=a(),{allAudioTranscriptionProvidersMetadata:o}=r(n),s=i(`settings/hearing/active-provider`,``),c=i(`settings/hearing/active-model`,``),l=i(`settings/hearing/active-custom-model`,``),u=t(``),p=e(()=>o.value),m=e(()=>n.getProviderMetadata(s.value)?.capabilities.listModels!==void 0),h=e(()=>n.getModelsForProvider(s.value)),g=e(()=>n.isLoadingModels[s.value]||!1),_=e(()=>n.modelLoadError[s.value]||null);async function v(e){e&&n.getProviderMetadata(e)?.capabilities.listModels!==void 0&&await n.fetchModelsForProvider(e)}async function y(e){return e&&n.getProviderMetadata(e)?.capabilities.listModels!==void 0?n.getModelsForProvider(e):[]}let b=e(()=>!!s.value&&!!c.value);async function x(e,t,r,i,a,o){let s=i instanceof File?{file:i}:i??{},c=n.getTranscriptionFeatures(e),l=f[e];if(c.supportsStreamOutput&&l){let e=t.transcription(r,o?.providerOptions);if(c.supportsStreamInput&&s.inputAudioStream)return{mode:`stream`,...l({...e,inputAudioStream:s.inputAudioStream})};if(!c.supportsStreamInput&&s.file||c.supportsStreamInput&&!s.inputAudioStream&&s.file)return{mode:`stream`,...l({...e,file:s.file})};if(!c.supportsGenerate||!s.file)throw Error(`No compatible input provided for streaming transcription.`)}if(!s.file)throw Error(`File input is required for transcription.`);return{mode:`generate`,...await d({...t.transcription(r,o?.providerOptions),file:s.file,responseFormat:a})}}return{activeTranscriptionProvider:s,activeTranscriptionModel:c,availableProvidersMetadata:p,activeCustomModelName:l,transcriptionModelSearchQuery:u,supportsModelListing:m,providerModels:h,isLoadingActiveProviderModels:g,activeProviderModelError:_,configured:b,transcription:x,loadModelsForProvider:v,getModelsForProvider:y}}),m=n(`modules:hearing:speech:audio-input-pipeline`,()=>{let e=t(),n=p(),{activeTranscriptionProvider:i,activeTranscriptionModel:o}=r(n),s=a();async function c(t){if(t)try{if(t&&t.size>0){let e=i.value,r=await s.getProviderInstance(e);if(!r)throw Error(`Failed to initialize speech provider`);let a=o.value,c=await n.transcription(e,r,a,new File([t],`recording.wav`));return c.mode===`stream`?await c.text:c.text}}catch(t){e.value=t instanceof Error?t.message:String(t),console.error(`Error generating transcription:`,e.value)}}return{error:e,transcribeForRecording:c}});export{p as n,m as t};
\ No newline at end of file
diff --git a/assets/index-C7qqBj6K.js b/assets/index-Bunogzwz.js
similarity index 91%
rename from assets/index-C7qqBj6K.js
rename to assets/index-Bunogzwz.js
index b462e3333e41d77afbbcc2cc20001876e828e3e6..446fc9ac9f09d9bdfe36666992f9ed5a266383cf 100644
--- a/assets/index-C7qqBj6K.js
+++ b/assets/index-Bunogzwz.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/default-Dk7zUw81.js","assets/_plugin-vue_export-helper-CdbDUOI-.js","assets/HeaderLink-iCsZuwo3.js","assets/src-C1mn1H34.js","assets/vue.runtime.esm-bundler-DKHrlDSa.js","assets/chunk-oCmw4s_B.js","assets/dist-DpJ_SbNQ.js","assets/src-CO8_9JkB.css","assets/vue-router-DMAUnmFL.js","assets/HeaderLink-CO18o3XU.css","assets/home-GCK_2FpN.js","assets/plain-C1q66kd0.js","assets/settings-CAKC2v6t.js","assets/preload-helper-C_mzgxuZ.js","assets/theme-color-DDNLtgPg.js","assets/sleep-Cx_IPFyQ.js","assets/components-FkJVIJjS.js","assets/vue-i18n.runtime-DrfLf34E.js","assets/settings-m9HC-9j-.js","assets/src-B2sntzra.js","assets/widgets-DXnWA3E4.js","assets/widgets-CXcBqV8l.css","assets/webgpu-Cl7aOF9V.js","assets/output-gpNWKyLz.js","assets/__vite-browser-external-qSVDfb5s.js","assets/components-DJSDV4uB.css","assets/stage-CyQ-sP1K.js","assets/pages-BoRqKgX7.js","assets/route-block-B7Ro39Uj.js","assets/scenes-DW9qmoLd.js","assets/import-url-browser-D1GlhyBB.js","assets/duckdb-mvp-Dg0vXvL4.js","assets/src-DTxatrRk.js","assets/beat-sync-Dt3oi7by.js","assets/tres-Qf1PkoDf.js","assets/index-Cx_srAfm-B9uS40hV.js","assets/core-BD3KI8tQ.js","assets/llmmarkerParser-DC1ErTJG.js","assets/airi-card-aLmIHzTk.js","assets/transformers.web-Kvh9V7-B.js","assets/composables-DQUpXsnb.js","assets/hearing-Ch1HGYwu.js","assets/dist-BCmu4H8w.js","assets/process.worklet-D7mV4gP1.js","assets/Basic-DC1QpFbz.js","assets/pages-BOP7PIGs.css","assets/_...all_-B39m47SF.js","assets/audio-record-CE95NPr-.js","assets/background-gradient-blending-CYyhwK9V.js","assets/browser-BoU2m5e0.js","assets/BasicInputFile-C4ZWuuil.js","assets/background-gradient-blending-B88qVe8m.css","assets/background-removal-BuH8tSPP.js","assets/InputFile-BP4nvqwM.js","assets/gesture-circle-MvDvRJR1.js","assets/image-DMrmm27k.js","assets/image-DolN1ewS.css","assets/polaroid-BoU1JRdF.js","assets/providers-transcription-realtime-aliyun-nls-V3ewgwIq.js","assets/use-magic-keys-CLEdzKIr.js","assets/vibrant-BXiat_eB.js","assets/settings-IcSj1UkN.js","assets/use-ripple-grid-state-roQxVJoH.js","assets/airi-card-CEEXb0xY.js","assets/CardCreationDialog-D1h_sOQn.js","assets/CardCreationDialog-gtYAalV5.css","assets/DeleteCardDialog-DW-hojOV.js","assets/CardCreate-OyDk_hFv.js","assets/CardDetailDialog-oXPZC8Jm.js","assets/CardListItem-BXwBIt7y.js","assets/CardCreate-BFwGsbN5.js","assets/CardCreationDialog-B-y2_x-f.js","assets/CardDetailDialog-CxRdgU_c.js","assets/CardListItem-Comn8kg4.js","assets/DeleteCardDialog-CQkKdXtw.js","assets/memory-p6kGtyp1.js","assets/models-BHjy_E2G.js","assets/modules-aH_q0oVe.js","assets/beat-sync-BtYHy7Nw.js","assets/consciousness-BWukNXnd.js","assets/gaming-factorio-DX_oxd32.js","assets/gaming-minecraft-DYBfldLk.js","assets/hearing-BBZ19k6p.js","assets/memory-long-term-CN-kk9tf.js","assets/memory-short-term-_qPnPOVZ.js","assets/messaging-discord-Bgpu6vmn.js","assets/speech-BMmzAlV8.js","assets/vision-D7ouNKmG.js","assets/x-VeeXVmn3.js","assets/providers-BYIF9c2A.js","assets/_providerId_-DAfZlpa0.js","assets/use-provider-validation-D4atw8Ll.js","assets/azure-ai-foundry-D_dUNEyi.js","assets/cloudflare-workers-ai-CCkU2t7M.js","assets/lm-studio-D58hq5iP.js","assets/ollama-CjDjrPxU.js","assets/alibaba-cloud-model-studio-CCW-iOyL.js","assets/comet-api-speech-B6VhGkuG.js","assets/elevenlabs-DvE15YP-.js","assets/index-tts-vllm-BT7keHEe.js","assets/microsoft-speech-BPaDuLMw.js","assets/openai-audio-speech-DAHXQnEd.js","assets/openai-compatible-audio-speech-CU3M5E29.js","assets/player2-speech-D5bhU7qy.js","assets/volcengine-W3wgkiHi.js","assets/aliyun-nls-transcription-IeipaSuc.js","assets/comet-api-transcription-BOOtLEfj.js","assets/openai-audio-transcription-BVo_75pk.js","assets/openai-compatible-audio-transcription-CCnrgFoQ.js","assets/scene-cAb0mnLw.js","assets/system-oK27WrOf.js","assets/color-scheme-BzYKiT0A.js","assets/color-scheme-Cj4kFQq0.css","assets/developer-BJFquX1o.js","assets/general-BWhGcqSO.js"])))=>i.map(i=>d[i]);
-import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,B as r,C as i,D as a,G as o,H as s,I as c,J as l,K as u,Mt as d,Nt as f,O as p,Pt as m,Q as h,S as g,W as _,Y as v,at as y,b,et as ee,gt as x,h as S,i as C,jt as w,k as T,kt as E,lt as D,m as O,ot as k,w as A,wt as j,x as M,xt as N,z as te}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{r as ne}from"./tres-Qf1PkoDf.js";import{X as P}from"./widgets-DXnWA3E4.js";import{t as re}from"./src-C1mn1H34.js";import{E as ie,F,I,P as ae,a as oe,n as se}from"./settings-m9HC-9j-.js";import{n as ce,t as L}from"./preload-helper-C_mzgxuZ.js";import{i as le,n as ue,o as de,r as fe}from"./vue-router-DMAUnmFL.js";import{t as R}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{f as pe,i as me,t as he}from"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as ge,At as _e,r as ve,t as ye}from"./components-FkJVIJjS.js";import{n as z,t as be}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var xe=e(t(((e,t)=>{(function(n,r){typeof define==`function`&&define.amd?define(r):typeof e==`object`?t.exports=r():n.NProgress=r()})(e,function(){var e={};e.version=`0.2.0`;var t=e.settings={minimum:.08,easing:`ease`,positionUsing:``,speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:`[role="bar"]`,spinnerSelector:`[role="spinner"]`,parent:`body`,template:`
`};e.configure=function(e){var n,r;for(n in e)r=e[n],r!==void 0&&e.hasOwnProperty(n)&&(t[n]=r);return this},e.status=null,e.set=function(r){var s=e.isStarted();r=n(r,t.minimum,1),e.status=r===1?null:r;var c=e.render(!s),l=c.querySelector(t.barSelector),u=t.speed,d=t.easing;return c.offsetWidth,a(function(n){t.positionUsing===``&&(t.positionUsing=e.getPositioningCSS()),o(l,i(r,u,d)),r===1?(o(c,{transition:`none`,opacity:1}),c.offsetWidth,setTimeout(function(){o(c,{transition:`all `+u+`ms linear`,opacity:0}),setTimeout(function(){e.remove(),n()},u)},u)):setTimeout(n,u)}),this},e.isStarted=function(){return typeof e.status==`number`},e.start=function(){e.status||e.set(0);var n=function(){setTimeout(function(){e.status&&(e.trickle(),n())},t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return!t&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(t){var r=e.status;return r?(typeof t!=`number`&&(t=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},(function(){var t=0,n=0;e.promise=function(r){return!r||r.state()===`resolved`?this:(n===0&&e.start(),t++,n++,r.always(function(){n--,n===0?(t=0,e.done()):e.set((t-n)/t)}),this)}})(),e.render=function(n){if(e.isRendered())return document.getElementById(`nprogress`);c(document.documentElement,`nprogress-busy`);var i=document.createElement(`div`);i.id=`nprogress`,i.innerHTML=t.template;var a=i.querySelector(t.barSelector),s=n?`-100`:r(e.status||0),l=document.querySelector(t.parent),u;return o(a,{transition:`all 0 linear`,transform:`translate3d(`+s+`%,0,0)`}),t.showSpinner||(u=i.querySelector(t.spinnerSelector),u&&d(u)),l!=document.body&&c(l,`nprogress-custom-parent`),l.appendChild(i),i},e.remove=function(){l(document.documentElement,`nprogress-busy`),l(document.querySelector(t.parent),`nprogress-custom-parent`);var e=document.getElementById(`nprogress`);e&&d(e)},e.isRendered=function(){return!!document.getElementById(`nprogress`)},e.getPositioningCSS=function(){var e=document.body.style,t=`WebkitTransform`in e?`Webkit`:`MozTransform`in e?`Moz`:`msTransform`in e?`ms`:`OTransform`in e?`O`:``;return t+`Perspective`in e?`translate3d`:t+`Transform`in e?`translate`:`margin`};function n(e,t,n){return en?n:e}function r(e){return(-1+e)*100}function i(e,n,i){var a=t.positionUsing===`translate3d`?{transform:`translate3d(`+r(e)+`%,0,0)`}:t.positionUsing===`translate`?{transform:`translate(`+r(e)+`%,0)`}:{"margin-left":r(e)+`%`};return a.transition=`all `+n+`ms `+i,a}var a=(function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),e.length==1&&t()}})(),o=(function(){var e=[`Webkit`,`O`,`Moz`,`ms`],t={};function n(e){return e.replace(/^-ms-/,`ms-`).replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function r(t){var n=document.body.style;if(t in n)return t;for(var r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1),a;r--;)if(a=e[r]+i,a in n)return a;return t}function i(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=i(t),e.style[t]=n}return function(e,t){var n=arguments,r,i;if(n.length==2)for(r in t)i=t[r],i!==void 0&&t.hasOwnProperty(r)&&a(e,r,i);else a(e,n[1],n[2])}})();function s(e,t){return(typeof e==`string`?e:u(e)).indexOf(` `+t+` `)>=0}function c(e,t){var n=u(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function l(e,t){var n=u(e),r;s(e,t)&&(r=n.replace(` `+t+` `,` `),e.className=r.substring(1,r.length-1))}function u(e){return(` `+(e.className||``)+` `).replace(/\s+/gi,` `)}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e})}))(),1),Se=new Set,B=new WeakMap,V=new WeakMap,H=new WeakMap,U=new WeakMap,Ce=new WeakMap,we=new WeakMap,W=new WeakMap,G=new WeakMap,K=new WeakSet,q,Te=0,Ee=0,J=`__aa_tgt`,De=`__aa_del`,Oe=`__aa_new`,ke=e=>{let t=Re(e);t&&t.forEach(e=>Be(e))},Ae=e=>{e.forEach(e=>{e.target===q&&Ne(),B.has(e.target)&&Y(e.target)})};function je(e){let t=e.getBoundingClientRect(),n=q?.clientWidth||0,r=q?.clientHeight||0;return t.bottom<0||t.top>r||t.right<0||t.left>n}function Me(e){U.get(e)?.disconnect();let t=B.get(e),n=0;t||(t=Z(e),B.set(e,t));let{offsetWidth:r,offsetHeight:i}=q,a=[t.top-5,r-(t.left+5+t.width),i-(t.top+5+t.height),t.left-5].map(e=>`${-1*Math.floor(e)}px`).join(` `),o=new IntersectionObserver(()=>{++n>1&&Y(e)},{root:q,threshold:1,rootMargin:a});o.observe(e),U.set(e,o)}function Y(e,t=!0){clearTimeout(G.get(e));let n=Ue(e),r=t?Je(n)?500:n.duration:0;G.set(e,setTimeout(async()=>{let t=H.get(e);try{await t?.finished,B.set(e,Z(e)),Me(e)}catch{}},r))}function Ne(){clearTimeout(G.get(q)),G.set(q,setTimeout(()=>{Se.forEach(e=>Ke(e,e=>Fe(()=>Y(e))))},100))}function Pe(e){setTimeout(()=>{we.set(e,setInterval(()=>Fe(Y.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function Fe(e){typeof requestIdleCallback==`function`?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}var Ie,Le=typeof window<`u`&&`ResizeObserver`in window;Le&&(q=document.documentElement,new MutationObserver(ke),Ie=new ResizeObserver(Ae),window.addEventListener(`scroll`,()=>{Ee=window.scrollY,Te=window.scrollX}),Ie.observe(q));function Re(e){return e.reduce((e,t)=>[...e,...Array.from(t.addedNodes),...Array.from(t.removedNodes)],[]).every(e=>e.nodeName===`#comment`)?!1:e.reduce((e,t)=>{if(e===!1)return!1;if(t.target instanceof Element){if(ze(t.target),!e.has(t.target)){e.add(t.target);for(let n=0;nt(e,W.has(e)));for(let n=0;ne(r,W.has(r)))}}function qe(e){return Array.isArray(e)?e:[e]}function Je(e){return typeof e==`function`}function Ye(e){let t=B.get(e),n=Z(e);if(!Ge(e))return B.set(e,n);if(je(e)){B.set(e,n),Me(e);return}let r;if(!t)return;let i=Ue(e);if(typeof i!=`function`){let a=t.left-n.left,o=t.top-n.top,s=t.left+t.width-(n.left+n.width);t.top+t.height-(n.top+n.height)==0&&(o=0),s==0&&(a=0);let[c,l,u,d]=He(e,t,n),f={transform:`translate(${a}px, ${o}px)`},p={transform:`translate(0, 0)`};c!==l&&(f.width=`${c}px`,p.width=`${l}px`),u!==d&&(f.height=`${u}px`,p.height=`${d}px`),r=e.animate([f,p],{duration:i.duration,easing:i.easing})}else{let[a]=qe(i(e,`remain`,t,n));r=new Animation(a),r.play()}H.set(e,r),B.set(e,n),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Xe(e){Oe in e&&delete e[Oe];let t=Z(e);B.set(e,t);let n=Ue(e);if(!Ge(e))return;if(je(e)){Me(e);return}let r;if(typeof n!=`function`)r=e.animate([{transform:`scale(.98)`,opacity:0},{transform:`scale(0.98)`,opacity:0,offset:.5},{transform:`scale(1)`,opacity:1}],{duration:n.duration*1.5,easing:`ease-in`});else{let[i]=qe(n(e,`add`,t));r=new Animation(i),r.play()}H.set(e,r),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Ze(e,t){var n;e.remove(),B.delete(e),V.delete(e),H.delete(e),(n=U.get(e))==null||n.disconnect(),setTimeout(()=>{if(De in e&&delete e[De],Object.defineProperty(e,Oe,{value:!0,configurable:!0}),t&&e instanceof HTMLElement)for(let n in t)e.style[n]=``},0)}function Qe(e){var t;if(!V.has(e)||!B.has(e))return;let[n,r]=V.get(e);Object.defineProperty(e,De,{value:!0,configurable:!0});let i=window.scrollX,a=window.scrollY;if(r&&r.parentNode&&r.parentNode instanceof Element?r.parentNode.insertBefore(e,r):n&&n.parentNode?n.parentNode.appendChild(e):(t=We(e))==null||t.appendChild(e),!Ge(e))return Ze(e);let[o,s,c,l]=et(e),u=Ue(e),d=B.get(e);(i!==Te||a!==Ee)&&$e(e,i,a,u);let f,p={position:`absolute`,top:`${o}px`,left:`${s}px`,width:`${c}px`,height:`${l}px`,margin:`0`,pointerEvents:`none`,transformOrigin:`center`,zIndex:`100`};if(!Je(u))Object.assign(e.style,p),f=e.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(.98)`,opacity:0}],{duration:u.duration,easing:`ease-out`});else{let[t,n]=qe(u(e,`remove`,d));n?.styleReset!==!1&&(p=n?.styleReset||p,Object.assign(e.style,p)),f=new Animation(t),f.play()}H.set(e,f),f.addEventListener(`finish`,()=>Ze(e,p),{once:!0})}function $e(e,t,n,r){let i=Te-t,a=Ee-n,o=document.documentElement.style.scrollBehavior;if(getComputedStyle(q).scrollBehavior===`smooth`&&(document.documentElement.style.scrollBehavior=`auto`),window.scrollTo(window.scrollX+i,window.scrollY+a),!e.parentElement)return;let s=e.parentElement,c=s.clientHeight,l=s.clientWidth,u=performance.now();function d(){requestAnimationFrame(()=>{if(!Je(r)){let e=c-s.clientHeight,t=l-s.clientWidth;u+r.duration>performance.now()?(window.scrollTo({left:window.scrollX-t,top:window.scrollY-e}),c=s.clientHeight,l=s.clientWidth,d()):document.documentElement.style.scrollBehavior=o}})}d()}function et(e){let t=B.get(e),[n,,r]=He(e,t,Z(e)),i=e.parentElement;for(;i&&(getComputedStyle(i).position===`static`||i instanceof HTMLBodyElement);)i=i.parentElement;i||=document.body;let a=getComputedStyle(i),o=!H.has(e)||H.get(e)?.playState===`finished`?Z(i):B.get(i);return[Math.round(t.top-o.top)-X(a.borderTopWidth),Math.round(t.left-o.left)-X(a.borderLeftWidth),n,r]}function tt(e,t={}){if(Le&&Ie&&!(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&!Je(t)&&!t.disrespectUserMotionPreference)){K.add(e),getComputedStyle(e).position===`static`&&Object.assign(e.style,{position:`relative`}),Ke(e,Y,Pe,e=>Ie?.observe(e)),Je(t)?W.set(e,t):W.set(e,{duration:250,easing:`ease-in-out`,...t});let n=new MutationObserver(ke);n.observe(e,{childList:!0}),Ce.set(e,n),Se.add(e)}return Object.freeze({parent:e,enable:()=>{K.add(e)},disable:()=>{K.delete(e),Ke(e,e=>{let t=H.get(e);try{t?.cancel()}catch{}H.delete(e);let n=G.get(e);n&&clearTimeout(n),G.delete(e);let r=we.get(e);r&&clearInterval(r),we.delete(e)})},isEnabled:()=>K.has(e),destroy:()=>{K.delete(e),Se.delete(e),W.delete(e),Ce.get(e)?.disconnect(),Ce.delete(e),Ke(e,e=>{Ie?.unobserve(e);let t=H.get(e);try{t?.cancel()}catch{}H.delete(e),U.get(e)?.disconnect(),U.delete(e);let n=we.get(e);n&&clearInterval(n),we.delete(e);let r=G.get(e);r&&clearTimeout(r),G.delete(e),B.delete(e),V.delete(e)})}})}function nt(e){return{mounted(t,n){let r={},i=n.value;r=typeof i==`function`?i:typeof e==`function`?e:{...e||{},...i||{}};let a=tt(t,r);Object.defineProperty(t,`__aa_ctl`,{value:a,configurable:!0})},unmounted(e){var t;let n=e.__aa_ctl;(t=n?.destroy)==null||t.call(n);try{delete e.__aa_ctl}catch{}},getSSRProps:()=>({})}}var rt={install(e,t){e.directive(`auto-animate`,nt(t))}};ce();const it=e=>{let t={};Object.entries({"/src/layouts/default.vue":()=>L(()=>import(`./default-Dk7zUw81.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),"/src/layouts/home.vue":()=>L(()=>import(`./home-GCK_2FpN.js`),__vite__mapDeps([10,4,5,8])),"/src/layouts/plain.vue":()=>L(()=>import(`./plain-C1q66kd0.js`),__vite__mapDeps([11,1,4,5])),"/src/layouts/settings.vue":()=>L(()=>import(`./settings-CAKC2v6t.js`),__vite__mapDeps([12,1,13,5,2,3,4,6,7,8,9,14,15,16,17,18,19,20,21,22,23,24,25])),"/src/layouts/stage.vue":()=>L(()=>import(`./stage-CyQ-sP1K.js`),__vite__mapDeps([26,4,5,8]))}).forEach(([e,n])=>{let r=e.replace(`/src/layouts/`,``).replace(`.vue`,``);t[r]=n});function n(e,r=!0){return e.map(e=>{if(e.children?.length>0&&(e.children=n(e.children,!1)),r){if(!e.component&&e.children?.find(e=>(e.path===``||e.path===`/`)&&e.meta?.isLayout))return e;if(e.meta?.layout!==!1)return{path:e.path,component:t[e.meta?.layout||`default`],children:e.path===`/`?[e]:[{...e,path:``}],meta:{isLayout:!0}}}return e.meta?.layout?{path:e.path,component:t[e.meta?.layout],children:[{...e,path:``}],meta:{isLayout:!0}}:e})}return n(e)};ce();const at=[{path:`/`,name:`IndexScenePage`,component:()=>L(()=>import(`./pages-BoRqKgX7.js`),__vite__mapDeps([27,1,13,5,28,2,3,4,6,7,8,9,14,15,29,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45])),meta:{layout:`stage`,stageTransition:{name:`bubble-wave-out`}}},{path:`/:all(.*)`,name:`/[...all]`,component:()=>L(()=>import(`./_...all_-B39m47SF.js`),__vite__mapDeps([46,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25]))},{path:`/devtools`,children:[{path:`audio-record`,name:`/devtools/audio-record`,component:()=>L(()=>import(`./audio-record-CE95NPr-.js`),__vite__mapDeps([47,4,5,6,23,24]))},{path:`background-gradient-blending`,name:`/devtools/background-gradient-blending`,component:()=>L(()=>import(`./background-gradient-blending-CYyhwK9V.js`),__vite__mapDeps([48,1,14,3,4,5,6,7,15,49,19,50,51]))},{path:`background-removal`,name:`/devtools/background-removal`,component:()=>L(()=>import(`./background-removal-BuH8tSPP.js`),__vite__mapDeps([52,1,13,5,3,4,6,7,39,22,50,53]))},{path:`gesture-circle`,name:`/devtools/gesture-circle`,component:()=>L(()=>import(`./gesture-circle-MvDvRJR1.js`),__vite__mapDeps([54,28,4,5,6])),meta:{layout:`plain`}},{path:`image`,name:`/devtools/image`,component:()=>L(()=>import(`./image-DMrmm27k.js`),__vite__mapDeps([55,1,4,5,6,56]))},{path:`polaroid`,name:`/devtools/polaroid`,component:()=>L(()=>import(`./polaroid-BoU1JRdF.js`),__vite__mapDeps([57,1,13,5,29,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,30,31,32,33,34,35,36,37,38,41,42]))},{path:`providers-transcription-realtime-aliyun-nls`,name:`/devtools/providers-transcription-realtime-aliyun-nls`,component:()=>L(()=>import(`./providers-transcription-realtime-aliyun-nls-V3ewgwIq.js`),__vite__mapDeps([58,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,42,43])),meta:{layout:`settings`}},{path:`use-magic-keys`,name:`/devtools/use-magic-keys`,component:()=>L(()=>import(`./use-magic-keys-CLEdzKIr.js`),__vite__mapDeps([59,4,5,6]))},{path:`vibrant`,name:`/devtools/vibrant`,component:()=>L(()=>import(`./vibrant-BXiat_eB.js`),__vite__mapDeps([60,1,3,4,5,6,7,49,50,53]))}]},{path:`/settings`,children:[{path:``,name:`/settings/`,component:()=>L(()=>import(`./settings-IcSj1UkN.js`),__vite__mapDeps([61,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`airi-card`,children:[{path:``,name:`/settings/airi-card/`,component:()=>L(()=>import(`./airi-card-CEEXb0xY.js`),__vite__mapDeps([63,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,64,38,65,66,67,68,69,50,53])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`components`,children:[{path:`CardCreate`,name:`/settings/airi-card/components/CardCreate`,component:()=>L(()=>import(`./CardCreate-BFwGsbN5.js`),__vite__mapDeps([70,17,4,5,67]))},{path:`CardCreationDialog`,name:`/settings/airi-card/components/CardCreationDialog`,component:()=>L(()=>import(`./CardCreationDialog-B-y2_x-f.js`),__vite__mapDeps([71,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,64,38,65]))},{path:`CardDetailDialog`,name:`/settings/airi-card/components/CardDetailDialog`,component:()=>L(()=>import(`./CardDetailDialog-CxRdgU_c.js`),__vite__mapDeps([72,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,66,68,38]))},{path:`CardListItem`,name:`/settings/airi-card/components/CardListItem`,component:()=>L(()=>import(`./CardListItem-Comn8kg4.js`),__vite__mapDeps([73,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,69]))},{path:`DeleteCardDialog`,name:`/settings/airi-card/components/DeleteCardDialog`,component:()=>L(()=>import(`./DeleteCardDialog-CQkKdXtw.js`),__vite__mapDeps([74,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,66]))}]}]},{path:`memory`,children:[{path:``,name:`/settings/memory/`,component:()=>L(()=>import(`./memory-p6kGtyp1.js`),__vite__mapDeps([75,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`models`,children:[{path:``,name:`/settings/models/`,component:()=>L(()=>import(`./models-BHjy_E2G.js`),__vite__mapDeps([76,1,28,3,4,5,6,7,17,18,19,33,32,34,20,8,21,49])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`modules`,children:[{path:``,name:`/settings/modules/`,component:()=>L(()=>import(`./modules-aH_q0oVe.js`),__vite__mapDeps([77,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,33,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`beat-sync`,name:`/settings/modules/beat-sync`,component:()=>L(()=>import(`./beat-sync-BtYHy7Nw.js`),__vite__mapDeps([78,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`consciousness`,name:`/settings/modules/consciousness`,component:()=>L(()=>import(`./consciousness-BWukNXnd.js`),__vite__mapDeps([79,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`gaming-factorio`,name:`/settings/modules/gaming-factorio`,component:()=>L(()=>import(`./gaming-factorio-DX_oxd32.js`),__vite__mapDeps([80,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`gaming-minecraft`,name:`/settings/modules/gaming-minecraft`,component:()=>L(()=>import(`./gaming-minecraft-DYBfldLk.js`),__vite__mapDeps([81,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`hearing`,name:`/settings/modules/hearing`,component:()=>L(()=>import(`./hearing-BBZ19k6p.js`),__vite__mapDeps([82,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,39,40,41,42,37,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-long-term`,name:`/settings/modules/memory-long-term`,component:()=>L(()=>import(`./memory-long-term-CN-kk9tf.js`),__vite__mapDeps([83,28,4,5])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-short-term`,name:`/settings/modules/memory-short-term`,component:()=>L(()=>import(`./memory-short-term-_qPnPOVZ.js`),__vite__mapDeps([84,28,4,5])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`messaging-discord`,name:`/settings/modules/messaging-discord`,component:()=>L(()=>import(`./messaging-discord-Bgpu6vmn.js`),__vite__mapDeps([85,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`speech`,name:`/settings/modules/speech`,component:()=>L(()=>import(`./speech-BMmzAlV8.js`),__vite__mapDeps([86,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,44])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`vision`,name:`/settings/modules/vision`,component:()=>L(()=>import(`./vision-D7ouNKmG.js`),__vite__mapDeps([87,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`x`,name:`/settings/modules/x`,component:()=>L(()=>import(`./x-VeeXVmn3.js`),__vite__mapDeps([88,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`providers`,children:[{path:``,name:`/settings/providers/`,component:()=>L(()=>import(`./providers-BYIF9c2A.js`),__vite__mapDeps([89,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`chat`,children:[{path:`:providerId`,name:`/settings/providers/chat/[providerId]`,component:()=>L(()=>import(`./_providerId_-DAfZlpa0.js`),__vite__mapDeps([90,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`azure-ai-foundry`,name:`/settings/providers/chat/azure-ai-foundry`,component:()=>L(()=>import(`./azure-ai-foundry-D_dUNEyi.js`),__vite__mapDeps([92,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`cloudflare-workers-ai`,name:`/settings/providers/chat/cloudflare-workers-ai`,component:()=>L(()=>import(`./cloudflare-workers-ai-CCkU2t7M.js`),__vite__mapDeps([93,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`lm-studio`,name:`/settings/providers/chat/lm-studio`,component:()=>L(()=>import(`./lm-studio-D58hq5iP.js`),__vite__mapDeps([94,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`ollama`,name:`/settings/providers/chat/ollama`,component:()=>L(()=>import(`./ollama-CjDjrPxU.js`),__vite__mapDeps([95,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`speech`,children:[{path:`alibaba-cloud-model-studio`,name:`/settings/providers/speech/alibaba-cloud-model-studio`,component:()=>L(()=>import(`./alibaba-cloud-model-studio-CCW-iOyL.js`),__vite__mapDeps([96,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-speech`,name:`/settings/providers/speech/comet-api-speech`,component:()=>L(()=>import(`./comet-api-speech-B6VhGkuG.js`),__vite__mapDeps([97,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`elevenlabs`,name:`/settings/providers/speech/elevenlabs`,component:()=>L(()=>import(`./elevenlabs-DvE15YP-.js`),__vite__mapDeps([98,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`index-tts-vllm`,name:`/settings/providers/speech/index-tts-vllm`,component:()=>L(()=>import(`./index-tts-vllm-BT7keHEe.js`),__vite__mapDeps([99,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`microsoft-speech`,name:`/settings/providers/speech/microsoft-speech`,component:()=>L(()=>import(`./microsoft-speech-BPaDuLMw.js`),__vite__mapDeps([100,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-speech`,name:`/settings/providers/speech/openai-audio-speech`,component:()=>L(()=>import(`./openai-audio-speech-DAHXQnEd.js`),__vite__mapDeps([101,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-compatible-audio-speech`,name:`/settings/providers/speech/openai-compatible-audio-speech`,component:()=>L(()=>import(`./openai-compatible-audio-speech-CU3M5E29.js`),__vite__mapDeps([102,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`player2-speech`,name:`/settings/providers/speech/player2-speech`,component:()=>L(()=>import(`./player2-speech-D5bhU7qy.js`),__vite__mapDeps([103,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`volcengine`,name:`/settings/providers/speech/volcengine`,component:()=>L(()=>import(`./volcengine-W3wgkiHi.js`),__vite__mapDeps([104,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`transcription`,children:[{path:`aliyun-nls-transcription`,name:`/settings/providers/transcription/aliyun-nls-transcription`,component:()=>L(()=>import(`./aliyun-nls-transcription-IeipaSuc.js`),__vite__mapDeps([105,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-transcription`,name:`/settings/providers/transcription/comet-api-transcription`,component:()=>L(()=>import(`./comet-api-transcription-BOOtLEfj.js`),__vite__mapDeps([106,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-transcription`,name:`/settings/providers/transcription/openai-audio-transcription`,component:()=>L(()=>import(`./openai-audio-transcription-BVo_75pk.js`),__vite__mapDeps([107,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-compatible-audio-transcription`,name:`/settings/providers/transcription/openai-compatible-audio-transcription`,component:()=>L(()=>import(`./openai-compatible-audio-transcription-CCnrgFoQ.js`),__vite__mapDeps([108,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]},{path:`scene`,children:[{path:``,name:`/settings/scene/`,component:()=>L(()=>import(`./scene-cAb0mnLw.js`),__vite__mapDeps([109,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`system`,children:[{path:``,name:`/settings/system/`,component:()=>L(()=>import(`./system-oK27WrOf.js`),__vite__mapDeps([110,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`color-scheme`,name:`/settings/system/color-scheme`,component:()=>L(()=>import(`./color-scheme-BzYKiT0A.js`),__vite__mapDeps([111,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,112])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`developer`,name:`/settings/system/developer`,component:()=>L(()=>import(`./developer-BJFquX1o.js`),__vite__mapDeps([113,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`general`,name:`/settings/system/general`,component:()=>L(()=>import(`./general-BWhGcqSO.js`),__vite__mapDeps([114,1,28,3,4,5,6,7,17,18,19])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]}],ot=F(`onboarding`,()=>{let e=ge(),t=pe(`onboarding/completed`,!1),n=pe(`onboarding/skipped`,!1),i=N(!1),a=b(()=>[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`openai-compatible`].some(t=>e.configuredProviders[t])),o=b(()=>t.value||n.value?(console.warn(`Onboarding already completed or skipped`),!1):a.value?(console.warn(`Essential provider already configured, no onboarding needed`),!1):!0);async function s(){o.value&&(await r(),i.value=!0)}function c(){t.value=!0,n.value=!1,i.value=!1}function l(){n.value=!0,i.value=!1}function u(){t.value=!1,n.value=!1,i.value=!1}function d(){i.value=!0}return{hasCompletedSetup:t,hasSkippedSetup:n,shouldShowSetup:i,hasEssentialProviderConfigured:a,needsOnboarding:o,initializeSetupCheck:s,markSetupCompleted:c,markSetupSkipped:l,resetSetupState:u,forceShowSetup:d}});var st=R(n({__name:`ArrowTransition`,props:{stageTransition:{default:()=>({primaryColor:`#666`,secondaryColor:`#ccc`})}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value.primaryColor||`#666`),i=b(()=>n.value.secondaryColor||`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-3-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-3-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-3`,style:f({zIndex:n.value.zIndex||100})},null,4))}}),[[`__scopeId`,`data-v-17464329`]]),ct=R(n({__name:`BubbleWaveOutTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition?.colors||[`#eee`,`#ebcb8b`,`#c56370`,`#3f3b52`]);return _(()=>{document.documentElement.style.setProperty(`--circle-expansion-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--circle-expansion-duration`,`${t.stageTransition?.duration||.4}s`),n.value.forEach((e,t)=>{document.documentElement.style.setProperty(`--circle-expansion-color-${t+1}`,e)})}),(t,r)=>(u(),A(`div`,{class:`circle-expansion-transition`,style:f({zIndex:e.stageTransition?.zIndex||100})},[(u(!0),A(O,null,l(n.value,(e,t)=>(u(),A(`div`,{key:t}))),128))],4))}}),[[`__scopeId`,`data-v-4624be9e`]]),lt=R(n({__name:`FantasyFallTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition?.direction||`up`),r=b(()=>`fantasy-fall-${n.value}`);return _(()=>{document.documentElement.style.setProperty(`--fantasy-fall-color`,t.stageTransition?.primaryColor||`#eee`),document.documentElement.style.setProperty(`--fantasy-fall-duration`,`${t.stageTransition?.duration||.6}s`),document.documentElement.style.setProperty(`--fantasy-fall-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--fantasy-fall-radius-sm`,`${t.stageTransition?.borderRadius?.sm||`14rem`}`),document.documentElement.style.setProperty(`--fantasy-fall-radius-md`,`${t.stageTransition?.borderRadius?.md||`14rem`}`),document.documentElement.style.setProperty(`--fantasy-fall-radius-lg`,`${t.stageTransition?.borderRadius?.lg||`50%`}`)}),(t,n)=>(u(),A(`div`,{class:w([`fantasy-fall-transition`,r.value]),style:f({zIndex:e.stageTransition?.zIndex??100})},null,6))}}),[[`__scopeId`,`data-v-826171f5`]]),ut=R(n({__name:`MultipleBlocksRevealTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor||`#666`),i=b(()=>n.value?.secondaryColor||`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-4-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-4-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-4`,style:f({zIndex:n.value?.zIndex??100})},[...t[0]||=[a(``,5)]],4))}}),[[`__scopeId`,`data-v-4221f976`]]),dt=R(n({__name:`SlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor||`#666`),i=b(()=>n.value?.secondaryColor||`#ccc`);return y([n,r,i],()=>{document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-2`,i.value)}),_(()=>{document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-1`,style:f({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-81c0af14`]]),ft=R(n({__name:`SlopeSlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor??`#666`),i=b(()=>n.value?.secondaryColor??`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-2-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-2-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-2`,style:f({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-9e8b66c8`]]),pt=R(n({__name:`RectanglesRotateTransition`,props:{stageTransition:{}},setup(e){let t=e;return _(()=>{document.documentElement.style.setProperty(`--rectangle-rotate-1-color`,t.stageTransition?.primaryColor||`#ebcb8b`),document.documentElement.style.setProperty(`--rectangle-rotate-2-color`,t.stageTransition?.secondaryColor||`#c56370`),document.documentElement.style.setProperty(`--rectangle-rotate-3-color`,t.stageTransition?.tertiaryColor||`#43445b`),document.documentElement.style.setProperty(`--rectangle-rotate-duration`,`${t.stageTransition?.duration||.6}s`),document.documentElement.style.setProperty(`--rectangle-rotate-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--rectangle-rotate-stagger`,`${t.stageTransition?.staggerDelay||.1}s`),document.documentElement.style.setProperty(`--rectangle-rotate-rotation`,`${t.stageTransition?.rotation||270}deg`)}),(t,n)=>(u(),A(`div`,{class:`rectangle-rotate-transition`,style:f({zIndex:e.stageTransition?.zIndex??100})},[...n[0]||=[M(`div`,{class:`rectangle rectangle-rotate-1`},[M(`div`)],-1),M(`div`,{class:`rectangle rectangle-rotate-2`},[M(`div`)],-1),M(`div`,{class:`rectangle rectangle-rotate-3`},[M(`div`)],-1)]],4))}}),[[`__scopeId`,`data-v-45ea2f7f`]]),mt=n({__name:`StageTransitionGroup`,props:{primaryColor:{},secondaryColor:{},tertiaryColor:{},colors:{},zIndex:{},disableTransitions:{type:Boolean},usePageSpecificTransitions:{type:Boolean}},setup(e){let t=e,n=de(),r=N(!1),a=N(),o=N(``),s=N(),c=j({slide:{component:dt,duration:2700},"slope-slide":{component:ft,duration:2700},arrow:{component:st,duration:2700},"multiple-blocks-reveal":{component:ut,duration:2800},"fantasy-fall":{component:lt,duration:2700},"rectangles-rotate":{component:pt,duration:2700},"bubble-wave-out":{component:ct,duration:1e3}}),l=N([]);function d(e){return l.value.push(e),()=>{let t=l.value.indexOf(e);t>=0&&l.value.splice(t,1)}}async function f(e,t={}){a.value=e;for(let n of l.value)try{await Promise.resolve(n(e,t))}catch(t){console.error(`Error in transition hook at stage "${e}":`,t)}}async function p(e,t,n){if(e.name===`none`||!e.name){t(),n();return}let i=c.value[e.name];if(!i){console.error(`Transition ${e.name} not found`),t(),n();return}let a=i.nextDelay===void 0?i.duration/3:i.nextDelay,l=!1,u=d(e=>{e===`navigation`&&!l&&(l=!0,t())});try{await f(`before-enter`,{transitionName:e.name}),r.value&&(await f(`before-leave`,{transitionName:o.value}),o.value=``,s.value=void 0,r.value=!1,await f(`after-leave`,{transitionName:o.value}),await new Promise(e=>setTimeout(e,50))),o.value=e.name,s.value=e,r.value=!0,await f(`enter-active`,{transitionName:name}),setTimeout(async()=>{await f(`navigation`,{transitionName:e.name,config:i}),l||(l=!0,t())},a),setTimeout(async()=>{await f(`after-enter`,{transitionName:e.name})},i.duration),setTimeout(async()=>{await f(`before-leave`,{transitionName:e.name})},i.duration+10),setTimeout(async()=>{await f(`leave-active`,{transitionName:e.name})},i.duration+20);let c=i.exitDuration??0;setTimeout(async()=>{r.value=!1,o.value=``,s.value=void 0,await f(`after-leave`,{transitionName:e.name}),n()},i.duration+c)}catch(e){console.error(e)}finally{u(),setTimeout(()=>{l||(l=!0,t())},i.duration*2)}}function m(e,t){return new Promise(n=>{p(e,t,n)})}return n.beforeEach((e,n,r)=>{if(t.disableTransitions){r();return}if(typeof e.meta.stageTransition!=`object`){r();return}let i=e.meta.stageTransition;if(t.usePageSpecificTransitions&&i.pageSpecificAvailable){r();return}t.primaryColor!==void 0&&(i.primaryColor=t.primaryColor),t.secondaryColor!==void 0&&(i.secondaryColor=t.secondaryColor),t.tertiaryColor!==void 0&&(i.tertiaryColor=t.tertiaryColor),t.colors!==void 0&&(i.colors=t.colors),t.zIndex!==void 0&&(i.zIndex=t.zIndex),m(i,r)}),(e,t)=>(u(),A(O,null,[v(e.$slots,`default`),r.value?(u(),A(O,{key:0},[c.value[o.value]?(u(),g(h(c.value[o.value].component),{key:0,"stage-transition":s.value},null,8,[`stage-transition`])):i(``,!0)],64)):i(``,!0)],64))}}),ht=1,Q=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:ht++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],c(e))i=!1,this.create({id:n,type:`default`,message:e});else if(_t(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||ht++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function gt(e,t){let n=t?.id||ht++;return Q.create({message:e,id:n,type:`default`,...t}),n}var _t=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,vt=gt,yt=Object.assign(vt,{success:Q.success,info:Q.info,warning:Q.warning,error:Q.error,custom:Q.custom,message:Q.message,promise:Q.promise,dismiss:Q.dismiss,loading:Q.loading},{getHistory:()=>Q.toasts,getToasts:()=>Q.getActiveToasts()});function bt(e){return e.label!==void 0}var xt=3,St=`24px`,Ct=`16px`,wt=4e3,Tt=356,Et=14,Dt=45,Ot=200;function kt(){let e=N(!1);return k(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function $(...e){return e.filter(Boolean).join(` `)}function At(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function jt(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?Ct:St;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var Mt=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],Nt=[`aria-label`,`data-disabled`,`data-close-button-position`],Pt=n({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(e,{emit:t}){let n=e,a=t,o=N(null),c=N(null),l=N(!1),ee=N(!1),x=N(!1),S=N(!1),C=N(!1),T=N(0),D=N(0),j=N(n.toast.duration||n.duration||wt),ne=N(null),P=N(null),re=b(()=>n.index===0),ie=b(()=>n.index+1<=n.visibleToasts),F=b(()=>n.toast.type),I=b(()=>n.toast.dismissible!==!1),ae=b(()=>n.toast.class||``),oe=b(()=>n.descriptionClass||``),se=b(()=>{let e=n.toast.position||n.position,t=n.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===n.toast.id);return t>=0?t:0}),ce=b(()=>{let e=n.toast.position||n.position;return n.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=se.value?e:e+t.height,0)}),L=b(()=>se.value*n.gap+ce.value||0),le=b(()=>n.toast.closeButton??n.closeButton),ue=b(()=>n.toast.duration||n.duration||wt),de=N(0),fe=N(0),R=N(null),pe=b(()=>n.position.split(`-`)),me=b(()=>pe.value[0]),he=b(()=>pe.value[1]),ge=b(()=>typeof n.toast.title!=`string`),_e=b(()=>typeof n.toast.description!=`string`),{isDocumentHidden:ve}=kt(),ye=b(()=>F.value&&F.value===`loading`);_(()=>{l.value=!0,j.value=ue.value}),k(async()=>{if(!l.value||!P.value)return;await r();let e=P.value,t=e.style.height;e.style.height=`auto`;let i=e.getBoundingClientRect().height;e.style.height=t,D.value=i,a(`update:height`,{toastId:n.toast.id,height:i,position:n.toast.position||n.position})});function z(){ee.value=!0,T.value=L.value,setTimeout(()=>{a(`removeToast`,n.toast)},Ot)}function be(){if(ye.value||!I.value)return{};z(),n.toast.onDismiss?.(n.toast)}function xe(e){e.button!==2&&(ye.value||!I.value||(ne.value=new Date,T.value=L.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(x.value=!0,R.value={x:e.clientX,y:e.clientY})))}function Se(){if(S.value||!I.value)return;R.value=null;let e=Number(P.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(P.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-(ne.value?.getTime()||0),i=o.value===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Dt||a>.11){T.value=L.value,n.toast.onDismiss?.(n.toast),o.value===`x`?c.value=e>0?`right`:`left`:c.value=t>0?`down`:`up`,z(),S.value=!0;return}else P.value?.style.setProperty(`--swipe-amount-x`,`0px`),P.value?.style.setProperty(`--swipe-amount-y`,`0px`);C.value=!1,x.value=!1,o.value=null}function B(e){if(!R.value||!I.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-R.value.y,r=e.clientX-R.value.x,i=n.swipeDirections??At(n.position);!o.value&&(Math.abs(r)>1||Math.abs(t)>1)&&(o.value=Math.abs(r)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},s=e=>1/(1.5+Math.abs(e)/20);if(o.value===`y`){if(i.includes(`top`)||i.includes(`bottom`))if(i.includes(`top`)&&t<0||i.includes(`bottom`)&&t>0)a.y=t;else{let e=t*s(t);a.y=Math.abs(e)0)a.x=r;else{let e=r*s(r);a.x=Math.abs(e)0||Math.abs(a.y)>0)&&(C.value=!0),P.value?.style.setProperty(`--swipe-amount-x`,`${a.x}px`),P.value?.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}_(()=>{if(l.value=!0,!P.value)return;let e=P.value.getBoundingClientRect().height;D.value=e,a(`update:heights`,[{toastId:n.toast.id,height:e,position:n.toast.position},...n.heights])}),s(()=>{P.value&&a(`removeToast`,n.toast)}),k(e=>{if(n.toast.promise&&F.value===`loading`||n.toast.duration===1/0||n.toast.type===`loading`)return;let t;n.expanded||n.interacting||ve.value?(()=>{if(fe.value{n.toast.onAutoClose?.(n.toast),z()},j.value)),e(()=>{clearTimeout(t)})}),y(()=>n.toast.delete,e=>{e!==void 0&&e&&(z(),n.toast.onDismiss?.(n.toast))},{deep:!0});function V(){x.value=!1,o.value=null,R.value=null}return(e,t)=>(u(),A(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:P,class:w(E($)(n.class,ae.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[F.value],e.toast?.classes?.[F.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":l.value,"data-promise":!!e.toast.promise,"data-swiped":C.value,"data-removed":ee.value,"data-visible":ie.value,"data-y-position":me.value,"data-x-position":he.value,"data-index":e.index,"data-front":re.value,"data-swiping":x.value,"data-dismissible":I.value,"data-type":F.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":S.value,"data-swipe-direction":c.value,"data-expanded":!!(e.expanded||e.expandByDefault&&l.value),"data-testid":e.toast.testId,style:f({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${ee.value?T.value:L.value}px`,"--initial-height":e.expandByDefault?`auto`:`${D.value}px`,...e.style,...n.toast.style}),onDragend:V,onPointerdown:xe,onPointerup:Se,onPointermove:B},[le.value&&!e.toast.component&&F.value!==`loading`?(u(),A(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":ye.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:w(E($)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:be},[e.icons?.close?(u(),g(h(e.icons?.close),{key:0})):v(e.$slots,`close-icon`,{key:1})],10,Nt)):i(`v-if`,!0),e.toast.component?(u(),g(h(e.toast.component),te({key:1},e.toast.componentProps,{onCloseToast:be,isPaused:e.$props.expanded||e.$props.interacting||E(ve)}),null,16,[`isPaused`])):(u(),A(O,{key:2},[F.value!==`default`||e.toast.icon||e.toast.promise?(u(),A(`div`,{key:0,"data-icon":``,class:w(E($)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?(u(),g(h(e.toast.icon),{key:0})):(u(),A(O,{key:1},[F.value===`loading`?v(e.$slots,`loading-icon`,{key:0}):F.value===`success`?v(e.$slots,`success-icon`,{key:1}):F.value===`error`?v(e.$slots,`error-icon`,{key:2}):F.value===`warning`?v(e.$slots,`warning-icon`,{key:3}):F.value===`info`?v(e.$slots,`info-icon`,{key:4}):i(`v-if`,!0)],64))],2)):i(`v-if`,!0),M(`div`,{"data-content":``,class:w(E($)(e.classes?.content,e.toast?.classes?.content))},[M(`div`,{"data-title":``,class:w(E($)(e.classes?.title,e.toast.classes?.title))},[ge.value?(u(),g(h(e.toast.title),d(te({key:0},e.toast.componentProps)),null,16)):(u(),A(O,{key:1},[p(m(e.toast.title),1)],64))],2),e.toast.description?(u(),A(`div`,{key:0,"data-description":``,class:w(E($)(e.descriptionClass,oe.value,e.classes?.description,e.toast.classes?.description))},[_e.value?(u(),g(h(e.toast.description),d(te({key:0},e.toast.componentProps)),null,16)):(u(),A(O,{key:1},[p(m(e.toast.description),1)],64))],2)):i(`v-if`,!0)],2),e.toast.cancel?(u(),A(`button`,{key:1,style:f(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:w(E($)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:t[0]||=t=>{E(bt)(e.toast.cancel)&&I.value&&(e.toast.cancel.onClick?.(t),z())}},m(E(bt)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):i(`v-if`,!0),e.toast.action?(u(),A(`button`,{key:2,style:f(e.toast.actionButtonStyle||e.actionButtonStyle),class:w(E($)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:t[1]||=t=>{E(bt)(e.toast.action)&&(e.toast.action.onClick?.(t),!t.defaultPrevented&&z())}},m(E(bt)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):i(`v-if`,!0)],64))],46,Mt))}}),Ft=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},It={},Lt={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Rt(e,t){return u(),A(`svg`,Lt,t[0]||=[M(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),M(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var zt=Ft(It,[[`render`,Rt]]),Bt=[`data-visible`],Vt={class:`sonner-spinner`},Ht=n({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let t=Array(12).fill(0);return(e,n)=>(u(),A(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[M(`div`,Vt,[(u(!0),A(O,null,l(E(t),e=>(u(),A(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,Bt))}}),Ut={},Wt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Gt(e,t){return u(),A(`svg`,Wt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var Kt=Ft(Ut,[[`render`,Gt]]),qt={},Jt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Yt(e,t){return u(),A(`svg`,Jt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var Xt=Ft(qt,[[`render`,Yt]]),Zt={},Qt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function $t(e,t){return u(),A(`svg`,Qt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var en=Ft(Zt,[[`render`,$t]]),tn={},nn={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function rn(e,t){return u(),A(`svg`,nn,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var an=Ft(tn,[[`render`,rn]]),on=[`aria-label`],sn=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],cn=typeof window<`u`&&typeof document<`u`;function ln(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var un=n({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:Et},visibleToasts:{default:xt},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:St},mobileOffset:{default:Ct},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(e){let t=e,n=ee(),a=N([]),o=b(()=>t.id?a.value.filter(e=>e.toasterId===t.id):a.value.filter(e=>!e.toasterId));function s(e,t){return o.value.filter(n=>!n.position&&t===0||n.position===e)}let c=b(()=>{let e=o.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([t.position].concat(e))):[t.position]}),d=b(()=>{let e={};return c.value.forEach(t=>{e[t]=a.value.filter(e=>e.position===t)}),e}),p=N([]),m=N({}),h=N(!1);k(()=>{c.value.forEach(e=>{e in m.value||(m.value[e]=!1)})});let _=N(t.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t.theme),y=N(null),x=N(null),S=N(!1),C=t.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function j(e){a.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),a.value=a.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{a.value.find(t=>t.id===e.id)||(p.value=p.value.filter(t=>t.toastId!==e.id))},Ot+50)}function ne(e){S.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(S.value=!1,x.value&&=(x.value.focus({preventScroll:!0}),null))}function P(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||S.value||(S.value=!0,x.value=e.relatedTarget)}function re(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(h.value=!0)}k(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{a.value=a.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}r(()=>{let t=a.value.findIndex(t=>t.id===e.id);t===-1?a.value=[e,...a.value]:a.value=[...a.value.slice(0,t),{...a.value[t],...e},...a.value.slice(t+1)]})}))}),k(e=>{if(typeof window>`u`)return;if(t.theme!==`system`){_.value=t.theme;return}let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{_.value=e?`dark`:`light`};r(n.matches);let i=e=>{r(e.matches)};try{n.addEventListener(`change`,i)}catch{n.addListener(i)}e(()=>{try{n.removeEventListener(`change`,i)}catch{n.removeListener(i)}})}),k(()=>{y.value&&x.value&&(x.value.focus({preventScroll:!0}),x.value=null,S.value=!1)}),k(()=>{a.value.length<=1&&Object.keys(m.value).forEach(e=>{m.value[e]=!1})}),k(e=>{function n(e){let n=t.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(y.value)?y.value[0]:y.value;n&&(c.value.forEach(e=>{m.value[e]=!0}),r?.focus());let i=document.activeElement===y.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&c.value.forEach(e=>{m.value[e]=!1})}cn&&(document.addEventListener(`keydown`,n),e(()=>{document.removeEventListener(`keydown`,n)}))});function ie(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!0}function F(e){if(!h.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!1}}function I(){Object.keys(m.value).forEach(e=>{m.value[e]=!1})}function ae(){h.value=!1}function oe(e){p.value=e}function se(e){let t=p.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)p.value[t]=e;else{let t=p.value.findIndex(t=>t.position===e.position);t===-1?p.value.unshift(e):p.value.splice(t,0,e)}}return(e,r)=>(u(),A(O,null,[i(` Remove item from normal navigation flow, only available via hotkey `),M(`section`,{"aria-label":`${e.containerAriaLabel} ${E(C)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(u(!0),A(O,null,l(c.value,(r,i)=>(u(),A(`ol`,te({key:r,ref_for:!0,ref_key:`listRef`,ref:y,"data-sonner-toaster":``,"data-sonner-theme":_.value,class:t.class,dir:e.dir===`auto`?ln():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":r.split(`-`)[0],"data-x-position":r.split(`-`)[1],style:{"--front-toast-height":`${p.value[0]?.height||0}px`,"--width":`${E(Tt)}px`,"--gap":`${e.gap}px`,...e.style,...E(n).style,...E(jt)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:ne,onFocus:P,onMouseenter:ie,onMousemove:ie,onMouseleave:F,onDragend:I,onPointerdown:re,onPointerup:ae}),[(u(!0),A(O,null,l(s(r,i),(n,i)=>(u(),g(Pt,{key:n.id,heights:p.value,icons:e.icons,index:i,toast:n,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:w(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:h.value,position:r,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:f(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:d.value[r],expandByDefault:e.expand,gap:e.gap,expanded:m.value[r]||!1,swipeDirections:t.swipeDirections,"onUpdate:heights":oe,"onUpdate:height":se,onRemoveToast:j},{"close-icon":D(()=>[v(e.$slots,`close-icon`,{},()=>[T(zt)])]),"loading-icon":D(()=>[v(e.$slots,`loading-icon`,{},()=>[T(Ht,{visible:n.type===`loading`},null,8,[`visible`])])]),"success-icon":D(()=>[v(e.$slots,`success-icon`,{},()=>[T(Kt)])]),"error-icon":D(()=>[v(e.$slots,`error-icon`,{},()=>[T(an)])]),"warning-icon":D(()=>[v(e.$slots,`warning-icon`,{},()=>[T(en)])]),"info-icon":D(()=>[v(e.$slots,`info-icon`,{},()=>[T(Xt)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,sn))),128))],8,on)],2112))}});const dn=F(`pwa`,()=>{N([]),me(he).smaller(`md`),_(async()=>{})});var fn=n({__name:`App`,setup(e){dn();let t=z(),n=oe(),r=se(),i=I(r),a=ot(),{shouldShowSetup:s}=I(a),{isDark:c}=re(),l=_e(),d=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 0)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 0)) 90%, oklch(90% 0 360))`),f=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 180)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 180)) 90%, oklch(90% 0 360))`),p=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 60)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 60)) 90%, oklch(90% 0 360))`),m=b(()=>[d.value,f.value,p.value,c.value?`#121212`:`#FFFFFF`]);y(i.language,()=>{t.locale.value=i.language.value}),y(i.themeColorsHue,()=>{document.documentElement.style.setProperty(`--chromatic-hue`,i.themeColorsHue.value.toString())},{immediate:!0}),y(i.themeColorsHueDynamic,()=>{document.documentElement.classList.toggle(`dynamic-hue`,i.themeColorsHueDynamic.value)},{immediate:!0}),_(async()=>{a.initializeSetupCheck(),l.initialize(),await n.loadDisplayModelsFromIndexedDB(),await r.initializeStageModel()}),o(()=>{l.dispose()});function v(){a.markSetupCompleted()}function ee(){a.markSetupSkipped()}return(e,t)=>(u(),A(O,null,[T(E(mt),{"primary-color":d.value,"secondary-color":f.value,"tertiary-color":p.value,colors:m.value,"z-index":100,"disable-transitions":E(i).disableTransitions.value,"use-page-specific-transitions":E(i).usePageSpecificTransitions.value},{default:D(()=>[T(E(ue),null,{default:D(({Component:e})=>[(u(),g(S,{include:[`IndexScenePage`,`StageScenePage`]},[(u(),g(h(e)))],1024))]),_:1})]),_:1},8,[`primary-color`,`secondary-color`,`tertiary-color`,`colors`,`disable-transitions`,`use-page-specific-transitions`]),T(E(ye),{onClose:t[0]||=e=>E(yt).dismiss(e)},{default:D(()=>[T(E(un))]),_:1}),T(E(ve),{modelValue:E(s),"onUpdate:modelValue":t[1]||=e=>x(s)?s.value=e:null,onConfigured:v,onSkipped:ee},null,8,[`modelValue`])],64))}}),pn={"zh-CN":`zh-Hans`,"zh-TW":`zh-Hant`,"zh-HK":`zh-Hans`,"zh-Hant":`zh-Hans`,"en-US":`en`,"en-GB":`en`,"en-AU":`en`,en:`en`,"es-ES":`es`,"es-MX":`es`,"es-AR":`es`,es:`es`,vi:`vi`,"vi-VN":`vi`,ru:`ru`,"ru-RU":`ru`,fr:`fr`,"fr-FR":`fr`};function mn(){let e=localStorage.getItem(`settings/language`);e||=navigator.language||`en`;let t=Object.keys(ie);return pn[e||`en`]!=null&&(e=pn[e||`en`]),e&&t.includes(e)?e:`en`}const hn=be({legacy:!1,locale:mn(),fallbackLocale:`en`,messages:ie});var gn=ae(),_n=fe({routes:it(at),history:le()});_n.beforeEach((e,t)=>{e.path!==t.path&&xe.default.start()}),_n.afterEach(()=>{xe.default.done()}),C(fn).use(P).use(rt).use(_n).use(gn).use(hn).use(ne).mount(`#app`);
\ No newline at end of file
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/default-Dk7zUw81.js","assets/_plugin-vue_export-helper-CdbDUOI-.js","assets/HeaderLink-iCsZuwo3.js","assets/src-C1mn1H34.js","assets/vue.runtime.esm-bundler-DKHrlDSa.js","assets/chunk-oCmw4s_B.js","assets/dist-DpJ_SbNQ.js","assets/src-CO8_9JkB.css","assets/vue-router-DMAUnmFL.js","assets/HeaderLink-CO18o3XU.css","assets/home-GCK_2FpN.js","assets/plain-C1q66kd0.js","assets/settings-DeRqCbai.js","assets/preload-helper-C_mzgxuZ.js","assets/theme-color-DDNLtgPg.js","assets/sleep-Cx_IPFyQ.js","assets/components-BmY-4iwk.js","assets/vue-i18n.runtime-DrfLf34E.js","assets/settings-m9HC-9j-.js","assets/src-B2sntzra.js","assets/widgets-DXnWA3E4.js","assets/widgets-CXcBqV8l.css","assets/webgpu-Cl7aOF9V.js","assets/output-gpNWKyLz.js","assets/__vite-browser-external-qSVDfb5s.js","assets/components-DJSDV4uB.css","assets/stage-CyQ-sP1K.js","assets/pages-D1LhuPZe.js","assets/route-block-B7Ro39Uj.js","assets/scenes-DMa8BJ3-.js","assets/import-url-browser-D1GlhyBB.js","assets/duckdb-mvp-Dg0vXvL4.js","assets/src-DTxatrRk.js","assets/beat-sync-Dt3oi7by.js","assets/tres-Qf1PkoDf.js","assets/index-Cx_srAfm-B9uS40hV.js","assets/core-BD3KI8tQ.js","assets/llmmarkerParser-DC1ErTJG.js","assets/airi-card-Chm8EQFK.js","assets/transformers.web-Kvh9V7-B.js","assets/composables-DQUpXsnb.js","assets/hearing-DsZOp5Sx.js","assets/dist-CnHFOEYg.js","assets/process.worklet-D7mV4gP1.js","assets/Basic-DC1QpFbz.js","assets/pages-BOP7PIGs.css","assets/_...all_-Dzp86WeZ.js","assets/audio-record-CE95NPr-.js","assets/background-gradient-blending-CYyhwK9V.js","assets/browser-BoU2m5e0.js","assets/BasicInputFile-C4ZWuuil.js","assets/background-gradient-blending-B88qVe8m.css","assets/background-removal-BuH8tSPP.js","assets/InputFile-BP4nvqwM.js","assets/gesture-circle-MvDvRJR1.js","assets/image-DMrmm27k.js","assets/image-DolN1ewS.css","assets/polaroid-CNZLM6o4.js","assets/providers-transcription-realtime-aliyun-nls-BjvlVbND.js","assets/use-magic-keys-CLEdzKIr.js","assets/vibrant-BXiat_eB.js","assets/settings-BPj6Sj7z.js","assets/use-ripple-grid-state-roQxVJoH.js","assets/airi-card-DqFXycz0.js","assets/CardCreationDialog-C5DB5RX7.js","assets/CardCreationDialog-gtYAalV5.css","assets/DeleteCardDialog-DW-hojOV.js","assets/CardCreate-OyDk_hFv.js","assets/CardDetailDialog-L_2qfeXs.js","assets/CardListItem-Gac0R_cb.js","assets/CardCreate-BFwGsbN5.js","assets/CardCreationDialog-7OuTNvMM.js","assets/CardDetailDialog-DnVUImCO.js","assets/CardListItem-DYY0_mWJ.js","assets/DeleteCardDialog-CZQZTls7.js","assets/memory-2km7EBVw.js","assets/models-BHjy_E2G.js","assets/modules-BTfjG6L_.js","assets/beat-sync-BzDTtWDS.js","assets/consciousness-DBa82UmO.js","assets/gaming-factorio-vQIO9xW6.js","assets/gaming-minecraft-8mXTwqaF.js","assets/hearing-DHQOfoO0.js","assets/memory-long-term-CN-kk9tf.js","assets/memory-short-term-_qPnPOVZ.js","assets/messaging-discord-BJu6CnzB.js","assets/speech-l-JJ-s7G.js","assets/vision-BeUqfakj.js","assets/x-D30-_ynv.js","assets/providers-B1WMjqMj.js","assets/_providerId_-_FoDQKpZ.js","assets/use-provider-validation-CSFNUQmK.js","assets/azure-ai-foundry-CJm6XpyJ.js","assets/cloudflare-workers-ai-C8Mfe2vK.js","assets/lm-studio-DtKxDxtQ.js","assets/ollama-Dt95tZne.js","assets/alibaba-cloud-model-studio-lFV6m_y5.js","assets/comet-api-speech-Cajnmkky.js","assets/elevenlabs-CMLTreXT.js","assets/index-tts-vllm-BveHd-zW.js","assets/microsoft-speech-DJ5P7nRr.js","assets/openai-audio-speech-BKkztmRz.js","assets/openai-compatible-audio-speech-CfLp8JwN.js","assets/player2-speech-B63wFnW1.js","assets/volcengine-BbLOIBYa.js","assets/aliyun-nls-transcription-CnAfyh2t.js","assets/comet-api-transcription-Cl_6XdWM.js","assets/openai-audio-transcription-BxEJsyuJ.js","assets/openai-compatible-audio-transcription-B2M_FOWS.js","assets/scene-CwvvqX3J.js","assets/system-CE-YwsK9.js","assets/color-scheme-CqxDz06N.js","assets/color-scheme-Cj4kFQq0.css","assets/developer-Bqct0x_Q.js","assets/general-BWhGcqSO.js"])))=>i.map(i=>d[i]);
+import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,B as r,C as i,D as a,G as o,H as s,I as c,J as l,K as u,Mt as d,Nt as f,O as p,Pt as m,Q as h,S as g,W as _,Y as v,at as y,b,et as ee,gt as x,h as S,i as C,jt as w,k as T,kt as E,lt as D,m as O,ot as k,w as A,wt as j,x as M,xt as N,z as te}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{r as ne}from"./tres-Qf1PkoDf.js";import{X as P}from"./widgets-DXnWA3E4.js";import{t as re}from"./src-C1mn1H34.js";import{E as ie,F,I,P as ae,a as oe,n as se}from"./settings-m9HC-9j-.js";import{n as ce,t as L}from"./preload-helper-C_mzgxuZ.js";import{i as le,n as ue,o as de,r as fe}from"./vue-router-DMAUnmFL.js";import{t as R}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{f as pe,i as me,t as he}from"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as ge,At as _e,r as ve,t as ye}from"./components-BmY-4iwk.js";import{n as z,t as be}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var xe=e(t(((e,t)=>{(function(n,r){typeof define==`function`&&define.amd?define(r):typeof e==`object`?t.exports=r():n.NProgress=r()})(e,function(){var e={};e.version=`0.2.0`;var t=e.settings={minimum:.08,easing:`ease`,positionUsing:``,speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:`[role="bar"]`,spinnerSelector:`[role="spinner"]`,parent:`body`,template:`
`};e.configure=function(e){var n,r;for(n in e)r=e[n],r!==void 0&&e.hasOwnProperty(n)&&(t[n]=r);return this},e.status=null,e.set=function(r){var s=e.isStarted();r=n(r,t.minimum,1),e.status=r===1?null:r;var c=e.render(!s),l=c.querySelector(t.barSelector),u=t.speed,d=t.easing;return c.offsetWidth,a(function(n){t.positionUsing===``&&(t.positionUsing=e.getPositioningCSS()),o(l,i(r,u,d)),r===1?(o(c,{transition:`none`,opacity:1}),c.offsetWidth,setTimeout(function(){o(c,{transition:`all `+u+`ms linear`,opacity:0}),setTimeout(function(){e.remove(),n()},u)},u)):setTimeout(n,u)}),this},e.isStarted=function(){return typeof e.status==`number`},e.start=function(){e.status||e.set(0);var n=function(){setTimeout(function(){e.status&&(e.trickle(),n())},t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return!t&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(t){var r=e.status;return r?(typeof t!=`number`&&(t=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},(function(){var t=0,n=0;e.promise=function(r){return!r||r.state()===`resolved`?this:(n===0&&e.start(),t++,n++,r.always(function(){n--,n===0?(t=0,e.done()):e.set((t-n)/t)}),this)}})(),e.render=function(n){if(e.isRendered())return document.getElementById(`nprogress`);c(document.documentElement,`nprogress-busy`);var i=document.createElement(`div`);i.id=`nprogress`,i.innerHTML=t.template;var a=i.querySelector(t.barSelector),s=n?`-100`:r(e.status||0),l=document.querySelector(t.parent),u;return o(a,{transition:`all 0 linear`,transform:`translate3d(`+s+`%,0,0)`}),t.showSpinner||(u=i.querySelector(t.spinnerSelector),u&&d(u)),l!=document.body&&c(l,`nprogress-custom-parent`),l.appendChild(i),i},e.remove=function(){l(document.documentElement,`nprogress-busy`),l(document.querySelector(t.parent),`nprogress-custom-parent`);var e=document.getElementById(`nprogress`);e&&d(e)},e.isRendered=function(){return!!document.getElementById(`nprogress`)},e.getPositioningCSS=function(){var e=document.body.style,t=`WebkitTransform`in e?`Webkit`:`MozTransform`in e?`Moz`:`msTransform`in e?`ms`:`OTransform`in e?`O`:``;return t+`Perspective`in e?`translate3d`:t+`Transform`in e?`translate`:`margin`};function n(e,t,n){return en?n:e}function r(e){return(-1+e)*100}function i(e,n,i){var a=t.positionUsing===`translate3d`?{transform:`translate3d(`+r(e)+`%,0,0)`}:t.positionUsing===`translate`?{transform:`translate(`+r(e)+`%,0)`}:{"margin-left":r(e)+`%`};return a.transition=`all `+n+`ms `+i,a}var a=(function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),e.length==1&&t()}})(),o=(function(){var e=[`Webkit`,`O`,`Moz`,`ms`],t={};function n(e){return e.replace(/^-ms-/,`ms-`).replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function r(t){var n=document.body.style;if(t in n)return t;for(var r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1),a;r--;)if(a=e[r]+i,a in n)return a;return t}function i(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=i(t),e.style[t]=n}return function(e,t){var n=arguments,r,i;if(n.length==2)for(r in t)i=t[r],i!==void 0&&t.hasOwnProperty(r)&&a(e,r,i);else a(e,n[1],n[2])}})();function s(e,t){return(typeof e==`string`?e:u(e)).indexOf(` `+t+` `)>=0}function c(e,t){var n=u(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function l(e,t){var n=u(e),r;s(e,t)&&(r=n.replace(` `+t+` `,` `),e.className=r.substring(1,r.length-1))}function u(e){return(` `+(e.className||``)+` `).replace(/\s+/gi,` `)}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e})}))(),1),Se=new Set,B=new WeakMap,V=new WeakMap,H=new WeakMap,U=new WeakMap,Ce=new WeakMap,we=new WeakMap,W=new WeakMap,G=new WeakMap,K=new WeakSet,q,Te=0,Ee=0,J=`__aa_tgt`,De=`__aa_del`,Oe=`__aa_new`,ke=e=>{let t=Re(e);t&&t.forEach(e=>Be(e))},Ae=e=>{e.forEach(e=>{e.target===q&&Ne(),B.has(e.target)&&Y(e.target)})};function je(e){let t=e.getBoundingClientRect(),n=q?.clientWidth||0,r=q?.clientHeight||0;return t.bottom<0||t.top>r||t.right<0||t.left>n}function Me(e){U.get(e)?.disconnect();let t=B.get(e),n=0;t||(t=Z(e),B.set(e,t));let{offsetWidth:r,offsetHeight:i}=q,a=[t.top-5,r-(t.left+5+t.width),i-(t.top+5+t.height),t.left-5].map(e=>`${-1*Math.floor(e)}px`).join(` `),o=new IntersectionObserver(()=>{++n>1&&Y(e)},{root:q,threshold:1,rootMargin:a});o.observe(e),U.set(e,o)}function Y(e,t=!0){clearTimeout(G.get(e));let n=Ue(e),r=t?Je(n)?500:n.duration:0;G.set(e,setTimeout(async()=>{let t=H.get(e);try{await t?.finished,B.set(e,Z(e)),Me(e)}catch{}},r))}function Ne(){clearTimeout(G.get(q)),G.set(q,setTimeout(()=>{Se.forEach(e=>Ke(e,e=>Fe(()=>Y(e))))},100))}function Pe(e){setTimeout(()=>{we.set(e,setInterval(()=>Fe(Y.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function Fe(e){typeof requestIdleCallback==`function`?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}var Ie,Le=typeof window<`u`&&`ResizeObserver`in window;Le&&(q=document.documentElement,new MutationObserver(ke),Ie=new ResizeObserver(Ae),window.addEventListener(`scroll`,()=>{Ee=window.scrollY,Te=window.scrollX}),Ie.observe(q));function Re(e){return e.reduce((e,t)=>[...e,...Array.from(t.addedNodes),...Array.from(t.removedNodes)],[]).every(e=>e.nodeName===`#comment`)?!1:e.reduce((e,t)=>{if(e===!1)return!1;if(t.target instanceof Element){if(ze(t.target),!e.has(t.target)){e.add(t.target);for(let n=0;nt(e,W.has(e)));for(let n=0;ne(r,W.has(r)))}}function qe(e){return Array.isArray(e)?e:[e]}function Je(e){return typeof e==`function`}function Ye(e){let t=B.get(e),n=Z(e);if(!Ge(e))return B.set(e,n);if(je(e)){B.set(e,n),Me(e);return}let r;if(!t)return;let i=Ue(e);if(typeof i!=`function`){let a=t.left-n.left,o=t.top-n.top,s=t.left+t.width-(n.left+n.width);t.top+t.height-(n.top+n.height)==0&&(o=0),s==0&&(a=0);let[c,l,u,d]=He(e,t,n),f={transform:`translate(${a}px, ${o}px)`},p={transform:`translate(0, 0)`};c!==l&&(f.width=`${c}px`,p.width=`${l}px`),u!==d&&(f.height=`${u}px`,p.height=`${d}px`),r=e.animate([f,p],{duration:i.duration,easing:i.easing})}else{let[a]=qe(i(e,`remain`,t,n));r=new Animation(a),r.play()}H.set(e,r),B.set(e,n),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Xe(e){Oe in e&&delete e[Oe];let t=Z(e);B.set(e,t);let n=Ue(e);if(!Ge(e))return;if(je(e)){Me(e);return}let r;if(typeof n!=`function`)r=e.animate([{transform:`scale(.98)`,opacity:0},{transform:`scale(0.98)`,opacity:0,offset:.5},{transform:`scale(1)`,opacity:1}],{duration:n.duration*1.5,easing:`ease-in`});else{let[i]=qe(n(e,`add`,t));r=new Animation(i),r.play()}H.set(e,r),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Ze(e,t){var n;e.remove(),B.delete(e),V.delete(e),H.delete(e),(n=U.get(e))==null||n.disconnect(),setTimeout(()=>{if(De in e&&delete e[De],Object.defineProperty(e,Oe,{value:!0,configurable:!0}),t&&e instanceof HTMLElement)for(let n in t)e.style[n]=``},0)}function Qe(e){var t;if(!V.has(e)||!B.has(e))return;let[n,r]=V.get(e);Object.defineProperty(e,De,{value:!0,configurable:!0});let i=window.scrollX,a=window.scrollY;if(r&&r.parentNode&&r.parentNode instanceof Element?r.parentNode.insertBefore(e,r):n&&n.parentNode?n.parentNode.appendChild(e):(t=We(e))==null||t.appendChild(e),!Ge(e))return Ze(e);let[o,s,c,l]=et(e),u=Ue(e),d=B.get(e);(i!==Te||a!==Ee)&&$e(e,i,a,u);let f,p={position:`absolute`,top:`${o}px`,left:`${s}px`,width:`${c}px`,height:`${l}px`,margin:`0`,pointerEvents:`none`,transformOrigin:`center`,zIndex:`100`};if(!Je(u))Object.assign(e.style,p),f=e.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(.98)`,opacity:0}],{duration:u.duration,easing:`ease-out`});else{let[t,n]=qe(u(e,`remove`,d));n?.styleReset!==!1&&(p=n?.styleReset||p,Object.assign(e.style,p)),f=new Animation(t),f.play()}H.set(e,f),f.addEventListener(`finish`,()=>Ze(e,p),{once:!0})}function $e(e,t,n,r){let i=Te-t,a=Ee-n,o=document.documentElement.style.scrollBehavior;if(getComputedStyle(q).scrollBehavior===`smooth`&&(document.documentElement.style.scrollBehavior=`auto`),window.scrollTo(window.scrollX+i,window.scrollY+a),!e.parentElement)return;let s=e.parentElement,c=s.clientHeight,l=s.clientWidth,u=performance.now();function d(){requestAnimationFrame(()=>{if(!Je(r)){let e=c-s.clientHeight,t=l-s.clientWidth;u+r.duration>performance.now()?(window.scrollTo({left:window.scrollX-t,top:window.scrollY-e}),c=s.clientHeight,l=s.clientWidth,d()):document.documentElement.style.scrollBehavior=o}})}d()}function et(e){let t=B.get(e),[n,,r]=He(e,t,Z(e)),i=e.parentElement;for(;i&&(getComputedStyle(i).position===`static`||i instanceof HTMLBodyElement);)i=i.parentElement;i||=document.body;let a=getComputedStyle(i),o=!H.has(e)||H.get(e)?.playState===`finished`?Z(i):B.get(i);return[Math.round(t.top-o.top)-X(a.borderTopWidth),Math.round(t.left-o.left)-X(a.borderLeftWidth),n,r]}function tt(e,t={}){if(Le&&Ie&&!(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&!Je(t)&&!t.disrespectUserMotionPreference)){K.add(e),getComputedStyle(e).position===`static`&&Object.assign(e.style,{position:`relative`}),Ke(e,Y,Pe,e=>Ie?.observe(e)),Je(t)?W.set(e,t):W.set(e,{duration:250,easing:`ease-in-out`,...t});let n=new MutationObserver(ke);n.observe(e,{childList:!0}),Ce.set(e,n),Se.add(e)}return Object.freeze({parent:e,enable:()=>{K.add(e)},disable:()=>{K.delete(e),Ke(e,e=>{let t=H.get(e);try{t?.cancel()}catch{}H.delete(e);let n=G.get(e);n&&clearTimeout(n),G.delete(e);let r=we.get(e);r&&clearInterval(r),we.delete(e)})},isEnabled:()=>K.has(e),destroy:()=>{K.delete(e),Se.delete(e),W.delete(e),Ce.get(e)?.disconnect(),Ce.delete(e),Ke(e,e=>{Ie?.unobserve(e);let t=H.get(e);try{t?.cancel()}catch{}H.delete(e),U.get(e)?.disconnect(),U.delete(e);let n=we.get(e);n&&clearInterval(n),we.delete(e);let r=G.get(e);r&&clearTimeout(r),G.delete(e),B.delete(e),V.delete(e)})}})}function nt(e){return{mounted(t,n){let r={},i=n.value;r=typeof i==`function`?i:typeof e==`function`?e:{...e||{},...i||{}};let a=tt(t,r);Object.defineProperty(t,`__aa_ctl`,{value:a,configurable:!0})},unmounted(e){var t;let n=e.__aa_ctl;(t=n?.destroy)==null||t.call(n);try{delete e.__aa_ctl}catch{}},getSSRProps:()=>({})}}var rt={install(e,t){e.directive(`auto-animate`,nt(t))}};ce();const it=e=>{let t={};Object.entries({"/src/layouts/default.vue":()=>L(()=>import(`./default-Dk7zUw81.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),"/src/layouts/home.vue":()=>L(()=>import(`./home-GCK_2FpN.js`),__vite__mapDeps([10,4,5,8])),"/src/layouts/plain.vue":()=>L(()=>import(`./plain-C1q66kd0.js`),__vite__mapDeps([11,1,4,5])),"/src/layouts/settings.vue":()=>L(()=>import(`./settings-DeRqCbai.js`),__vite__mapDeps([12,1,13,5,2,3,4,6,7,8,9,14,15,16,17,18,19,20,21,22,23,24,25])),"/src/layouts/stage.vue":()=>L(()=>import(`./stage-CyQ-sP1K.js`),__vite__mapDeps([26,4,5,8]))}).forEach(([e,n])=>{let r=e.replace(`/src/layouts/`,``).replace(`.vue`,``);t[r]=n});function n(e,r=!0){return e.map(e=>{if(e.children?.length>0&&(e.children=n(e.children,!1)),r){if(!e.component&&e.children?.find(e=>(e.path===``||e.path===`/`)&&e.meta?.isLayout))return e;if(e.meta?.layout!==!1)return{path:e.path,component:t[e.meta?.layout||`default`],children:e.path===`/`?[e]:[{...e,path:``}],meta:{isLayout:!0}}}return e.meta?.layout?{path:e.path,component:t[e.meta?.layout],children:[{...e,path:``}],meta:{isLayout:!0}}:e})}return n(e)};ce();const at=[{path:`/`,name:`IndexScenePage`,component:()=>L(()=>import(`./pages-D1LhuPZe.js`),__vite__mapDeps([27,1,13,5,28,2,3,4,6,7,8,9,14,15,29,16,17,18,19,20,21,22,23,24,25,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45])),meta:{layout:`stage`,stageTransition:{name:`bubble-wave-out`}}},{path:`/:all(.*)`,name:`/[...all]`,component:()=>L(()=>import(`./_...all_-Dzp86WeZ.js`),__vite__mapDeps([46,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25]))},{path:`/devtools`,children:[{path:`audio-record`,name:`/devtools/audio-record`,component:()=>L(()=>import(`./audio-record-CE95NPr-.js`),__vite__mapDeps([47,4,5,6,23,24]))},{path:`background-gradient-blending`,name:`/devtools/background-gradient-blending`,component:()=>L(()=>import(`./background-gradient-blending-CYyhwK9V.js`),__vite__mapDeps([48,1,14,3,4,5,6,7,15,49,19,50,51]))},{path:`background-removal`,name:`/devtools/background-removal`,component:()=>L(()=>import(`./background-removal-BuH8tSPP.js`),__vite__mapDeps([52,1,13,5,3,4,6,7,39,22,50,53]))},{path:`gesture-circle`,name:`/devtools/gesture-circle`,component:()=>L(()=>import(`./gesture-circle-MvDvRJR1.js`),__vite__mapDeps([54,28,4,5,6])),meta:{layout:`plain`}},{path:`image`,name:`/devtools/image`,component:()=>L(()=>import(`./image-DMrmm27k.js`),__vite__mapDeps([55,1,4,5,6,56]))},{path:`polaroid`,name:`/devtools/polaroid`,component:()=>L(()=>import(`./polaroid-CNZLM6o4.js`),__vite__mapDeps([57,1,13,5,29,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,30,31,32,33,34,35,36,37,38,41,42]))},{path:`providers-transcription-realtime-aliyun-nls`,name:`/devtools/providers-transcription-realtime-aliyun-nls`,component:()=>L(()=>import(`./providers-transcription-realtime-aliyun-nls-BjvlVbND.js`),__vite__mapDeps([58,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,42,43])),meta:{layout:`settings`}},{path:`use-magic-keys`,name:`/devtools/use-magic-keys`,component:()=>L(()=>import(`./use-magic-keys-CLEdzKIr.js`),__vite__mapDeps([59,4,5,6]))},{path:`vibrant`,name:`/devtools/vibrant`,component:()=>L(()=>import(`./vibrant-BXiat_eB.js`),__vite__mapDeps([60,1,3,4,5,6,7,49,50,53]))}]},{path:`/settings`,children:[{path:``,name:`/settings/`,component:()=>L(()=>import(`./settings-BPj6Sj7z.js`),__vite__mapDeps([61,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`airi-card`,children:[{path:``,name:`/settings/airi-card/`,component:()=>L(()=>import(`./airi-card-DqFXycz0.js`),__vite__mapDeps([63,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,64,38,65,66,67,68,69,50,53])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`components`,children:[{path:`CardCreate`,name:`/settings/airi-card/components/CardCreate`,component:()=>L(()=>import(`./CardCreate-BFwGsbN5.js`),__vite__mapDeps([70,17,4,5,67]))},{path:`CardCreationDialog`,name:`/settings/airi-card/components/CardCreationDialog`,component:()=>L(()=>import(`./CardCreationDialog-7OuTNvMM.js`),__vite__mapDeps([71,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,64,38,65]))},{path:`CardDetailDialog`,name:`/settings/airi-card/components/CardDetailDialog`,component:()=>L(()=>import(`./CardDetailDialog-DnVUImCO.js`),__vite__mapDeps([72,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,66,68,38]))},{path:`CardListItem`,name:`/settings/airi-card/components/CardListItem`,component:()=>L(()=>import(`./CardListItem-DYY0_mWJ.js`),__vite__mapDeps([73,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,69]))},{path:`DeleteCardDialog`,name:`/settings/airi-card/components/DeleteCardDialog`,component:()=>L(()=>import(`./DeleteCardDialog-CZQZTls7.js`),__vite__mapDeps([74,1,13,5,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,66]))}]}]},{path:`memory`,children:[{path:``,name:`/settings/memory/`,component:()=>L(()=>import(`./memory-2km7EBVw.js`),__vite__mapDeps([75,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`models`,children:[{path:``,name:`/settings/models/`,component:()=>L(()=>import(`./models-BHjy_E2G.js`),__vite__mapDeps([76,1,28,3,4,5,6,7,17,18,19,33,32,34,20,8,21,49])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`modules`,children:[{path:``,name:`/settings/modules/`,component:()=>L(()=>import(`./modules-BTfjG6L_.js`),__vite__mapDeps([77,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,33,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`beat-sync`,name:`/settings/modules/beat-sync`,component:()=>L(()=>import(`./beat-sync-BzDTtWDS.js`),__vite__mapDeps([78,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`consciousness`,name:`/settings/modules/consciousness`,component:()=>L(()=>import(`./consciousness-DBa82UmO.js`),__vite__mapDeps([79,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`gaming-factorio`,name:`/settings/modules/gaming-factorio`,component:()=>L(()=>import(`./gaming-factorio-vQIO9xW6.js`),__vite__mapDeps([80,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`gaming-minecraft`,name:`/settings/modules/gaming-minecraft`,component:()=>L(()=>import(`./gaming-minecraft-8mXTwqaF.js`),__vite__mapDeps([81,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`hearing`,name:`/settings/modules/hearing`,component:()=>L(()=>import(`./hearing-DHQOfoO0.js`),__vite__mapDeps([82,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,39,40,41,42,37,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-long-term`,name:`/settings/modules/memory-long-term`,component:()=>L(()=>import(`./memory-long-term-CN-kk9tf.js`),__vite__mapDeps([83,28,4,5])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-short-term`,name:`/settings/modules/memory-short-term`,component:()=>L(()=>import(`./memory-short-term-_qPnPOVZ.js`),__vite__mapDeps([84,28,4,5])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`messaging-discord`,name:`/settings/modules/messaging-discord`,component:()=>L(()=>import(`./messaging-discord-BJu6CnzB.js`),__vite__mapDeps([85,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`speech`,name:`/settings/modules/speech`,component:()=>L(()=>import(`./speech-l-JJ-s7G.js`),__vite__mapDeps([86,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,44])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`vision`,name:`/settings/modules/vision`,component:()=>L(()=>import(`./vision-BeUqfakj.js`),__vite__mapDeps([87,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`x`,name:`/settings/modules/x`,component:()=>L(()=>import(`./x-D30-_ynv.js`),__vite__mapDeps([88,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`providers`,children:[{path:``,name:`/settings/providers/`,component:()=>L(()=>import(`./providers-B1WMjqMj.js`),__vite__mapDeps([89,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`chat`,children:[{path:`:providerId`,name:`/settings/providers/chat/[providerId]`,component:()=>L(()=>import(`./_providerId_-_FoDQKpZ.js`),__vite__mapDeps([90,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`azure-ai-foundry`,name:`/settings/providers/chat/azure-ai-foundry`,component:()=>L(()=>import(`./azure-ai-foundry-CJm6XpyJ.js`),__vite__mapDeps([92,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`cloudflare-workers-ai`,name:`/settings/providers/chat/cloudflare-workers-ai`,component:()=>L(()=>import(`./cloudflare-workers-ai-C8Mfe2vK.js`),__vite__mapDeps([93,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`lm-studio`,name:`/settings/providers/chat/lm-studio`,component:()=>L(()=>import(`./lm-studio-DtKxDxtQ.js`),__vite__mapDeps([94,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`ollama`,name:`/settings/providers/chat/ollama`,component:()=>L(()=>import(`./ollama-Dt95tZne.js`),__vite__mapDeps([95,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`speech`,children:[{path:`alibaba-cloud-model-studio`,name:`/settings/providers/speech/alibaba-cloud-model-studio`,component:()=>L(()=>import(`./alibaba-cloud-model-studio-lFV6m_y5.js`),__vite__mapDeps([96,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-speech`,name:`/settings/providers/speech/comet-api-speech`,component:()=>L(()=>import(`./comet-api-speech-Cajnmkky.js`),__vite__mapDeps([97,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`elevenlabs`,name:`/settings/providers/speech/elevenlabs`,component:()=>L(()=>import(`./elevenlabs-CMLTreXT.js`),__vite__mapDeps([98,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`index-tts-vllm`,name:`/settings/providers/speech/index-tts-vllm`,component:()=>L(()=>import(`./index-tts-vllm-BveHd-zW.js`),__vite__mapDeps([99,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`microsoft-speech`,name:`/settings/providers/speech/microsoft-speech`,component:()=>L(()=>import(`./microsoft-speech-DJ5P7nRr.js`),__vite__mapDeps([100,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-speech`,name:`/settings/providers/speech/openai-audio-speech`,component:()=>L(()=>import(`./openai-audio-speech-BKkztmRz.js`),__vite__mapDeps([101,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-compatible-audio-speech`,name:`/settings/providers/speech/openai-compatible-audio-speech`,component:()=>L(()=>import(`./openai-compatible-audio-speech-CfLp8JwN.js`),__vite__mapDeps([102,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`player2-speech`,name:`/settings/providers/speech/player2-speech`,component:()=>L(()=>import(`./player2-speech-B63wFnW1.js`),__vite__mapDeps([103,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`volcengine`,name:`/settings/providers/speech/volcengine`,component:()=>L(()=>import(`./volcengine-BbLOIBYa.js`),__vite__mapDeps([104,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`transcription`,children:[{path:`aliyun-nls-transcription`,name:`/settings/providers/transcription/aliyun-nls-transcription`,component:()=>L(()=>import(`./aliyun-nls-transcription-CnAfyh2t.js`),__vite__mapDeps([105,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-transcription`,name:`/settings/providers/transcription/comet-api-transcription`,component:()=>L(()=>import(`./comet-api-transcription-Cl_6XdWM.js`),__vite__mapDeps([106,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-transcription`,name:`/settings/providers/transcription/openai-audio-transcription`,component:()=>L(()=>import(`./openai-audio-transcription-BxEJsyuJ.js`),__vite__mapDeps([107,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-compatible-audio-transcription`,name:`/settings/providers/transcription/openai-compatible-audio-transcription`,component:()=>L(()=>import(`./openai-compatible-audio-transcription-B2M_FOWS.js`),__vite__mapDeps([108,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,41,42,91])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]},{path:`scene`,children:[{path:``,name:`/settings/scene/`,component:()=>L(()=>import(`./scene-CwvvqX3J.js`),__vite__mapDeps([109,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`system`,children:[{path:``,name:`/settings/system/`,component:()=>L(()=>import(`./system-CE-YwsK9.js`),__vite__mapDeps([110,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,62])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`color-scheme`,name:`/settings/system/color-scheme`,component:()=>L(()=>import(`./color-scheme-CqxDz06N.js`),__vite__mapDeps([111,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25,112])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`developer`,name:`/settings/system/developer`,component:()=>L(()=>import(`./developer-Bqct0x_Q.js`),__vite__mapDeps([113,1,13,5,28,16,3,4,6,7,17,18,19,15,20,8,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`general`,name:`/settings/system/general`,component:()=>L(()=>import(`./general-BWhGcqSO.js`),__vite__mapDeps([114,1,28,3,4,5,6,7,17,18,19])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]}],ot=F(`onboarding`,()=>{let e=ge(),t=pe(`onboarding/completed`,!1),n=pe(`onboarding/skipped`,!1),i=N(!1),a=b(()=>[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`openai-compatible`].some(t=>e.configuredProviders[t])),o=b(()=>t.value||n.value?(console.warn(`Onboarding already completed or skipped`),!1):a.value?(console.warn(`Essential provider already configured, no onboarding needed`),!1):!0);async function s(){o.value&&(await r(),i.value=!0)}function c(){t.value=!0,n.value=!1,i.value=!1}function l(){n.value=!0,i.value=!1}function u(){t.value=!1,n.value=!1,i.value=!1}function d(){i.value=!0}return{hasCompletedSetup:t,hasSkippedSetup:n,shouldShowSetup:i,hasEssentialProviderConfigured:a,needsOnboarding:o,initializeSetupCheck:s,markSetupCompleted:c,markSetupSkipped:l,resetSetupState:u,forceShowSetup:d}});var st=R(n({__name:`ArrowTransition`,props:{stageTransition:{default:()=>({primaryColor:`#666`,secondaryColor:`#ccc`})}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value.primaryColor||`#666`),i=b(()=>n.value.secondaryColor||`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-3-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-3-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-3`,style:f({zIndex:n.value.zIndex||100})},null,4))}}),[[`__scopeId`,`data-v-17464329`]]),ct=R(n({__name:`BubbleWaveOutTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition?.colors||[`#eee`,`#ebcb8b`,`#c56370`,`#3f3b52`]);return _(()=>{document.documentElement.style.setProperty(`--circle-expansion-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--circle-expansion-duration`,`${t.stageTransition?.duration||.4}s`),n.value.forEach((e,t)=>{document.documentElement.style.setProperty(`--circle-expansion-color-${t+1}`,e)})}),(t,r)=>(u(),A(`div`,{class:`circle-expansion-transition`,style:f({zIndex:e.stageTransition?.zIndex||100})},[(u(!0),A(O,null,l(n.value,(e,t)=>(u(),A(`div`,{key:t}))),128))],4))}}),[[`__scopeId`,`data-v-4624be9e`]]),lt=R(n({__name:`FantasyFallTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition?.direction||`up`),r=b(()=>`fantasy-fall-${n.value}`);return _(()=>{document.documentElement.style.setProperty(`--fantasy-fall-color`,t.stageTransition?.primaryColor||`#eee`),document.documentElement.style.setProperty(`--fantasy-fall-duration`,`${t.stageTransition?.duration||.6}s`),document.documentElement.style.setProperty(`--fantasy-fall-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--fantasy-fall-radius-sm`,`${t.stageTransition?.borderRadius?.sm||`14rem`}`),document.documentElement.style.setProperty(`--fantasy-fall-radius-md`,`${t.stageTransition?.borderRadius?.md||`14rem`}`),document.documentElement.style.setProperty(`--fantasy-fall-radius-lg`,`${t.stageTransition?.borderRadius?.lg||`50%`}`)}),(t,n)=>(u(),A(`div`,{class:w([`fantasy-fall-transition`,r.value]),style:f({zIndex:e.stageTransition?.zIndex??100})},null,6))}}),[[`__scopeId`,`data-v-826171f5`]]),ut=R(n({__name:`MultipleBlocksRevealTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor||`#666`),i=b(()=>n.value?.secondaryColor||`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-4-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-4-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-4`,style:f({zIndex:n.value?.zIndex??100})},[...t[0]||=[a(``,5)]],4))}}),[[`__scopeId`,`data-v-4221f976`]]),dt=R(n({__name:`SlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor||`#666`),i=b(()=>n.value?.secondaryColor||`#ccc`);return y([n,r,i],()=>{document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-2`,i.value)}),_(()=>{document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-1-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-1`,style:f({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-81c0af14`]]),ft=R(n({__name:`SlopeSlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=b(()=>t.stageTransition),r=b(()=>n.value?.primaryColor??`#666`),i=b(()=>n.value?.secondaryColor??`#ccc`);return _(()=>{document.documentElement.style.setProperty(`--stage-transition-2-overlay-color-1`,r.value),document.documentElement.style.setProperty(`--stage-transition-2-overlay-color-2`,i.value)}),(e,t)=>(u(),A(`div`,{class:`stage-transition-2`,style:f({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-9e8b66c8`]]),pt=R(n({__name:`RectanglesRotateTransition`,props:{stageTransition:{}},setup(e){let t=e;return _(()=>{document.documentElement.style.setProperty(`--rectangle-rotate-1-color`,t.stageTransition?.primaryColor||`#ebcb8b`),document.documentElement.style.setProperty(`--rectangle-rotate-2-color`,t.stageTransition?.secondaryColor||`#c56370`),document.documentElement.style.setProperty(`--rectangle-rotate-3-color`,t.stageTransition?.tertiaryColor||`#43445b`),document.documentElement.style.setProperty(`--rectangle-rotate-duration`,`${t.stageTransition?.duration||.6}s`),document.documentElement.style.setProperty(`--rectangle-rotate-delay`,`${t.stageTransition?.delay||0}s`),document.documentElement.style.setProperty(`--rectangle-rotate-stagger`,`${t.stageTransition?.staggerDelay||.1}s`),document.documentElement.style.setProperty(`--rectangle-rotate-rotation`,`${t.stageTransition?.rotation||270}deg`)}),(t,n)=>(u(),A(`div`,{class:`rectangle-rotate-transition`,style:f({zIndex:e.stageTransition?.zIndex??100})},[...n[0]||=[M(`div`,{class:`rectangle rectangle-rotate-1`},[M(`div`)],-1),M(`div`,{class:`rectangle rectangle-rotate-2`},[M(`div`)],-1),M(`div`,{class:`rectangle rectangle-rotate-3`},[M(`div`)],-1)]],4))}}),[[`__scopeId`,`data-v-45ea2f7f`]]),mt=n({__name:`StageTransitionGroup`,props:{primaryColor:{},secondaryColor:{},tertiaryColor:{},colors:{},zIndex:{},disableTransitions:{type:Boolean},usePageSpecificTransitions:{type:Boolean}},setup(e){let t=e,n=de(),r=N(!1),a=N(),o=N(``),s=N(),c=j({slide:{component:dt,duration:2700},"slope-slide":{component:ft,duration:2700},arrow:{component:st,duration:2700},"multiple-blocks-reveal":{component:ut,duration:2800},"fantasy-fall":{component:lt,duration:2700},"rectangles-rotate":{component:pt,duration:2700},"bubble-wave-out":{component:ct,duration:1e3}}),l=N([]);function d(e){return l.value.push(e),()=>{let t=l.value.indexOf(e);t>=0&&l.value.splice(t,1)}}async function f(e,t={}){a.value=e;for(let n of l.value)try{await Promise.resolve(n(e,t))}catch(t){console.error(`Error in transition hook at stage "${e}":`,t)}}async function p(e,t,n){if(e.name===`none`||!e.name){t(),n();return}let i=c.value[e.name];if(!i){console.error(`Transition ${e.name} not found`),t(),n();return}let a=i.nextDelay===void 0?i.duration/3:i.nextDelay,l=!1,u=d(e=>{e===`navigation`&&!l&&(l=!0,t())});try{await f(`before-enter`,{transitionName:e.name}),r.value&&(await f(`before-leave`,{transitionName:o.value}),o.value=``,s.value=void 0,r.value=!1,await f(`after-leave`,{transitionName:o.value}),await new Promise(e=>setTimeout(e,50))),o.value=e.name,s.value=e,r.value=!0,await f(`enter-active`,{transitionName:name}),setTimeout(async()=>{await f(`navigation`,{transitionName:e.name,config:i}),l||(l=!0,t())},a),setTimeout(async()=>{await f(`after-enter`,{transitionName:e.name})},i.duration),setTimeout(async()=>{await f(`before-leave`,{transitionName:e.name})},i.duration+10),setTimeout(async()=>{await f(`leave-active`,{transitionName:e.name})},i.duration+20);let c=i.exitDuration??0;setTimeout(async()=>{r.value=!1,o.value=``,s.value=void 0,await f(`after-leave`,{transitionName:e.name}),n()},i.duration+c)}catch(e){console.error(e)}finally{u(),setTimeout(()=>{l||(l=!0,t())},i.duration*2)}}function m(e,t){return new Promise(n=>{p(e,t,n)})}return n.beforeEach((e,n,r)=>{if(t.disableTransitions){r();return}if(typeof e.meta.stageTransition!=`object`){r();return}let i=e.meta.stageTransition;if(t.usePageSpecificTransitions&&i.pageSpecificAvailable){r();return}t.primaryColor!==void 0&&(i.primaryColor=t.primaryColor),t.secondaryColor!==void 0&&(i.secondaryColor=t.secondaryColor),t.tertiaryColor!==void 0&&(i.tertiaryColor=t.tertiaryColor),t.colors!==void 0&&(i.colors=t.colors),t.zIndex!==void 0&&(i.zIndex=t.zIndex),m(i,r)}),(e,t)=>(u(),A(O,null,[v(e.$slots,`default`),r.value?(u(),A(O,{key:0},[c.value[o.value]?(u(),g(h(c.value[o.value].component),{key:0,"stage-transition":s.value},null,8,[`stage-transition`])):i(``,!0)],64)):i(``,!0)],64))}}),ht=1,Q=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:ht++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],c(e))i=!1,this.create({id:n,type:`default`,message:e});else if(_t(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!c(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||ht++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function gt(e,t){let n=t?.id||ht++;return Q.create({message:e,id:n,type:`default`,...t}),n}var _t=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,vt=gt,yt=Object.assign(vt,{success:Q.success,info:Q.info,warning:Q.warning,error:Q.error,custom:Q.custom,message:Q.message,promise:Q.promise,dismiss:Q.dismiss,loading:Q.loading},{getHistory:()=>Q.toasts,getToasts:()=>Q.getActiveToasts()});function bt(e){return e.label!==void 0}var xt=3,St=`24px`,Ct=`16px`,wt=4e3,Tt=356,Et=14,Dt=45,Ot=200;function kt(){let e=N(!1);return k(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function $(...e){return e.filter(Boolean).join(` `)}function At(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function jt(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?Ct:St;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var Mt=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],Nt=[`aria-label`,`data-disabled`,`data-close-button-position`],Pt=n({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(e,{emit:t}){let n=e,a=t,o=N(null),c=N(null),l=N(!1),ee=N(!1),x=N(!1),S=N(!1),C=N(!1),T=N(0),D=N(0),j=N(n.toast.duration||n.duration||wt),ne=N(null),P=N(null),re=b(()=>n.index===0),ie=b(()=>n.index+1<=n.visibleToasts),F=b(()=>n.toast.type),I=b(()=>n.toast.dismissible!==!1),ae=b(()=>n.toast.class||``),oe=b(()=>n.descriptionClass||``),se=b(()=>{let e=n.toast.position||n.position,t=n.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===n.toast.id);return t>=0?t:0}),ce=b(()=>{let e=n.toast.position||n.position;return n.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=se.value?e:e+t.height,0)}),L=b(()=>se.value*n.gap+ce.value||0),le=b(()=>n.toast.closeButton??n.closeButton),ue=b(()=>n.toast.duration||n.duration||wt),de=N(0),fe=N(0),R=N(null),pe=b(()=>n.position.split(`-`)),me=b(()=>pe.value[0]),he=b(()=>pe.value[1]),ge=b(()=>typeof n.toast.title!=`string`),_e=b(()=>typeof n.toast.description!=`string`),{isDocumentHidden:ve}=kt(),ye=b(()=>F.value&&F.value===`loading`);_(()=>{l.value=!0,j.value=ue.value}),k(async()=>{if(!l.value||!P.value)return;await r();let e=P.value,t=e.style.height;e.style.height=`auto`;let i=e.getBoundingClientRect().height;e.style.height=t,D.value=i,a(`update:height`,{toastId:n.toast.id,height:i,position:n.toast.position||n.position})});function z(){ee.value=!0,T.value=L.value,setTimeout(()=>{a(`removeToast`,n.toast)},Ot)}function be(){if(ye.value||!I.value)return{};z(),n.toast.onDismiss?.(n.toast)}function xe(e){e.button!==2&&(ye.value||!I.value||(ne.value=new Date,T.value=L.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(x.value=!0,R.value={x:e.clientX,y:e.clientY})))}function Se(){if(S.value||!I.value)return;R.value=null;let e=Number(P.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(P.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-(ne.value?.getTime()||0),i=o.value===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Dt||a>.11){T.value=L.value,n.toast.onDismiss?.(n.toast),o.value===`x`?c.value=e>0?`right`:`left`:c.value=t>0?`down`:`up`,z(),S.value=!0;return}else P.value?.style.setProperty(`--swipe-amount-x`,`0px`),P.value?.style.setProperty(`--swipe-amount-y`,`0px`);C.value=!1,x.value=!1,o.value=null}function B(e){if(!R.value||!I.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-R.value.y,r=e.clientX-R.value.x,i=n.swipeDirections??At(n.position);!o.value&&(Math.abs(r)>1||Math.abs(t)>1)&&(o.value=Math.abs(r)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},s=e=>1/(1.5+Math.abs(e)/20);if(o.value===`y`){if(i.includes(`top`)||i.includes(`bottom`))if(i.includes(`top`)&&t<0||i.includes(`bottom`)&&t>0)a.y=t;else{let e=t*s(t);a.y=Math.abs(e)0)a.x=r;else{let e=r*s(r);a.x=Math.abs(e)0||Math.abs(a.y)>0)&&(C.value=!0),P.value?.style.setProperty(`--swipe-amount-x`,`${a.x}px`),P.value?.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}_(()=>{if(l.value=!0,!P.value)return;let e=P.value.getBoundingClientRect().height;D.value=e,a(`update:heights`,[{toastId:n.toast.id,height:e,position:n.toast.position},...n.heights])}),s(()=>{P.value&&a(`removeToast`,n.toast)}),k(e=>{if(n.toast.promise&&F.value===`loading`||n.toast.duration===1/0||n.toast.type===`loading`)return;let t;n.expanded||n.interacting||ve.value?(()=>{if(fe.value{n.toast.onAutoClose?.(n.toast),z()},j.value)),e(()=>{clearTimeout(t)})}),y(()=>n.toast.delete,e=>{e!==void 0&&e&&(z(),n.toast.onDismiss?.(n.toast))},{deep:!0});function V(){x.value=!1,o.value=null,R.value=null}return(e,t)=>(u(),A(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:P,class:w(E($)(n.class,ae.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[F.value],e.toast?.classes?.[F.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":l.value,"data-promise":!!e.toast.promise,"data-swiped":C.value,"data-removed":ee.value,"data-visible":ie.value,"data-y-position":me.value,"data-x-position":he.value,"data-index":e.index,"data-front":re.value,"data-swiping":x.value,"data-dismissible":I.value,"data-type":F.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":S.value,"data-swipe-direction":c.value,"data-expanded":!!(e.expanded||e.expandByDefault&&l.value),"data-testid":e.toast.testId,style:f({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${ee.value?T.value:L.value}px`,"--initial-height":e.expandByDefault?`auto`:`${D.value}px`,...e.style,...n.toast.style}),onDragend:V,onPointerdown:xe,onPointerup:Se,onPointermove:B},[le.value&&!e.toast.component&&F.value!==`loading`?(u(),A(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":ye.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:w(E($)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:be},[e.icons?.close?(u(),g(h(e.icons?.close),{key:0})):v(e.$slots,`close-icon`,{key:1})],10,Nt)):i(`v-if`,!0),e.toast.component?(u(),g(h(e.toast.component),te({key:1},e.toast.componentProps,{onCloseToast:be,isPaused:e.$props.expanded||e.$props.interacting||E(ve)}),null,16,[`isPaused`])):(u(),A(O,{key:2},[F.value!==`default`||e.toast.icon||e.toast.promise?(u(),A(`div`,{key:0,"data-icon":``,class:w(E($)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?(u(),g(h(e.toast.icon),{key:0})):(u(),A(O,{key:1},[F.value===`loading`?v(e.$slots,`loading-icon`,{key:0}):F.value===`success`?v(e.$slots,`success-icon`,{key:1}):F.value===`error`?v(e.$slots,`error-icon`,{key:2}):F.value===`warning`?v(e.$slots,`warning-icon`,{key:3}):F.value===`info`?v(e.$slots,`info-icon`,{key:4}):i(`v-if`,!0)],64))],2)):i(`v-if`,!0),M(`div`,{"data-content":``,class:w(E($)(e.classes?.content,e.toast?.classes?.content))},[M(`div`,{"data-title":``,class:w(E($)(e.classes?.title,e.toast.classes?.title))},[ge.value?(u(),g(h(e.toast.title),d(te({key:0},e.toast.componentProps)),null,16)):(u(),A(O,{key:1},[p(m(e.toast.title),1)],64))],2),e.toast.description?(u(),A(`div`,{key:0,"data-description":``,class:w(E($)(e.descriptionClass,oe.value,e.classes?.description,e.toast.classes?.description))},[_e.value?(u(),g(h(e.toast.description),d(te({key:0},e.toast.componentProps)),null,16)):(u(),A(O,{key:1},[p(m(e.toast.description),1)],64))],2)):i(`v-if`,!0)],2),e.toast.cancel?(u(),A(`button`,{key:1,style:f(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:w(E($)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:t[0]||=t=>{E(bt)(e.toast.cancel)&&I.value&&(e.toast.cancel.onClick?.(t),z())}},m(E(bt)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):i(`v-if`,!0),e.toast.action?(u(),A(`button`,{key:2,style:f(e.toast.actionButtonStyle||e.actionButtonStyle),class:w(E($)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:t[1]||=t=>{E(bt)(e.toast.action)&&(e.toast.action.onClick?.(t),!t.defaultPrevented&&z())}},m(E(bt)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):i(`v-if`,!0)],64))],46,Mt))}}),Ft=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},It={},Lt={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Rt(e,t){return u(),A(`svg`,Lt,t[0]||=[M(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),M(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var zt=Ft(It,[[`render`,Rt]]),Bt=[`data-visible`],Vt={class:`sonner-spinner`},Ht=n({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let t=Array(12).fill(0);return(e,n)=>(u(),A(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[M(`div`,Vt,[(u(!0),A(O,null,l(E(t),e=>(u(),A(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,Bt))}}),Ut={},Wt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Gt(e,t){return u(),A(`svg`,Wt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var Kt=Ft(Ut,[[`render`,Gt]]),qt={},Jt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Yt(e,t){return u(),A(`svg`,Jt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var Xt=Ft(qt,[[`render`,Yt]]),Zt={},Qt={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function $t(e,t){return u(),A(`svg`,Qt,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var en=Ft(Zt,[[`render`,$t]]),tn={},nn={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function rn(e,t){return u(),A(`svg`,nn,t[0]||=[M(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var an=Ft(tn,[[`render`,rn]]),on=[`aria-label`],sn=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],cn=typeof window<`u`&&typeof document<`u`;function ln(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var un=n({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:Et},visibleToasts:{default:xt},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:St},mobileOffset:{default:Ct},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(e){let t=e,n=ee(),a=N([]),o=b(()=>t.id?a.value.filter(e=>e.toasterId===t.id):a.value.filter(e=>!e.toasterId));function s(e,t){return o.value.filter(n=>!n.position&&t===0||n.position===e)}let c=b(()=>{let e=o.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([t.position].concat(e))):[t.position]}),d=b(()=>{let e={};return c.value.forEach(t=>{e[t]=a.value.filter(e=>e.position===t)}),e}),p=N([]),m=N({}),h=N(!1);k(()=>{c.value.forEach(e=>{e in m.value||(m.value[e]=!1)})});let _=N(t.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t.theme),y=N(null),x=N(null),S=N(!1),C=t.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function j(e){a.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),a.value=a.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{a.value.find(t=>t.id===e.id)||(p.value=p.value.filter(t=>t.toastId!==e.id))},Ot+50)}function ne(e){S.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(S.value=!1,x.value&&=(x.value.focus({preventScroll:!0}),null))}function P(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||S.value||(S.value=!0,x.value=e.relatedTarget)}function re(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(h.value=!0)}k(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{a.value=a.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}r(()=>{let t=a.value.findIndex(t=>t.id===e.id);t===-1?a.value=[e,...a.value]:a.value=[...a.value.slice(0,t),{...a.value[t],...e},...a.value.slice(t+1)]})}))}),k(e=>{if(typeof window>`u`)return;if(t.theme!==`system`){_.value=t.theme;return}let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{_.value=e?`dark`:`light`};r(n.matches);let i=e=>{r(e.matches)};try{n.addEventListener(`change`,i)}catch{n.addListener(i)}e(()=>{try{n.removeEventListener(`change`,i)}catch{n.removeListener(i)}})}),k(()=>{y.value&&x.value&&(x.value.focus({preventScroll:!0}),x.value=null,S.value=!1)}),k(()=>{a.value.length<=1&&Object.keys(m.value).forEach(e=>{m.value[e]=!1})}),k(e=>{function n(e){let n=t.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(y.value)?y.value[0]:y.value;n&&(c.value.forEach(e=>{m.value[e]=!0}),r?.focus());let i=document.activeElement===y.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&c.value.forEach(e=>{m.value[e]=!1})}cn&&(document.addEventListener(`keydown`,n),e(()=>{document.removeEventListener(`keydown`,n)}))});function ie(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!0}function F(e){if(!h.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!1}}function I(){Object.keys(m.value).forEach(e=>{m.value[e]=!1})}function ae(){h.value=!1}function oe(e){p.value=e}function se(e){let t=p.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)p.value[t]=e;else{let t=p.value.findIndex(t=>t.position===e.position);t===-1?p.value.unshift(e):p.value.splice(t,0,e)}}return(e,r)=>(u(),A(O,null,[i(` Remove item from normal navigation flow, only available via hotkey `),M(`section`,{"aria-label":`${e.containerAriaLabel} ${E(C)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(u(!0),A(O,null,l(c.value,(r,i)=>(u(),A(`ol`,te({key:r,ref_for:!0,ref_key:`listRef`,ref:y,"data-sonner-toaster":``,"data-sonner-theme":_.value,class:t.class,dir:e.dir===`auto`?ln():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":r.split(`-`)[0],"data-x-position":r.split(`-`)[1],style:{"--front-toast-height":`${p.value[0]?.height||0}px`,"--width":`${E(Tt)}px`,"--gap":`${e.gap}px`,...e.style,...E(n).style,...E(jt)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:ne,onFocus:P,onMouseenter:ie,onMousemove:ie,onMouseleave:F,onDragend:I,onPointerdown:re,onPointerup:ae}),[(u(!0),A(O,null,l(s(r,i),(n,i)=>(u(),g(Pt,{key:n.id,heights:p.value,icons:e.icons,index:i,toast:n,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:w(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:h.value,position:r,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:f(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:d.value[r],expandByDefault:e.expand,gap:e.gap,expanded:m.value[r]||!1,swipeDirections:t.swipeDirections,"onUpdate:heights":oe,"onUpdate:height":se,onRemoveToast:j},{"close-icon":D(()=>[v(e.$slots,`close-icon`,{},()=>[T(zt)])]),"loading-icon":D(()=>[v(e.$slots,`loading-icon`,{},()=>[T(Ht,{visible:n.type===`loading`},null,8,[`visible`])])]),"success-icon":D(()=>[v(e.$slots,`success-icon`,{},()=>[T(Kt)])]),"error-icon":D(()=>[v(e.$slots,`error-icon`,{},()=>[T(an)])]),"warning-icon":D(()=>[v(e.$slots,`warning-icon`,{},()=>[T(en)])]),"info-icon":D(()=>[v(e.$slots,`info-icon`,{},()=>[T(Xt)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,sn))),128))],8,on)],2112))}});const dn=F(`pwa`,()=>{N([]),me(he).smaller(`md`),_(async()=>{})});var fn=n({__name:`App`,setup(e){dn();let t=z(),n=oe(),r=se(),i=I(r),a=ot(),{shouldShowSetup:s}=I(a),{isDark:c}=re(),l=_e(),d=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 0)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 0)) 90%, oklch(90% 0 360))`),f=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 180)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 180)) 90%, oklch(90% 0 360))`),p=b(()=>c.value?`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 60)) 70%, oklch(50% 0 360))`:`color-mix(in srgb, oklch(95% var(--chromatic-chroma-900) calc(var(--chromatic-hue) + 60)) 90%, oklch(90% 0 360))`),m=b(()=>[d.value,f.value,p.value,c.value?`#121212`:`#FFFFFF`]);y(i.language,()=>{t.locale.value=i.language.value}),y(i.themeColorsHue,()=>{document.documentElement.style.setProperty(`--chromatic-hue`,i.themeColorsHue.value.toString())},{immediate:!0}),y(i.themeColorsHueDynamic,()=>{document.documentElement.classList.toggle(`dynamic-hue`,i.themeColorsHueDynamic.value)},{immediate:!0}),_(async()=>{a.initializeSetupCheck(),l.initialize(),await n.loadDisplayModelsFromIndexedDB(),await r.initializeStageModel()}),o(()=>{l.dispose()});function v(){a.markSetupCompleted()}function ee(){a.markSetupSkipped()}return(e,t)=>(u(),A(O,null,[T(E(mt),{"primary-color":d.value,"secondary-color":f.value,"tertiary-color":p.value,colors:m.value,"z-index":100,"disable-transitions":E(i).disableTransitions.value,"use-page-specific-transitions":E(i).usePageSpecificTransitions.value},{default:D(()=>[T(E(ue),null,{default:D(({Component:e})=>[(u(),g(S,{include:[`IndexScenePage`,`StageScenePage`]},[(u(),g(h(e)))],1024))]),_:1})]),_:1},8,[`primary-color`,`secondary-color`,`tertiary-color`,`colors`,`disable-transitions`,`use-page-specific-transitions`]),T(E(ye),{onClose:t[0]||=e=>E(yt).dismiss(e)},{default:D(()=>[T(E(un))]),_:1}),T(E(ve),{modelValue:E(s),"onUpdate:modelValue":t[1]||=e=>x(s)?s.value=e:null,onConfigured:v,onSkipped:ee},null,8,[`modelValue`])],64))}}),pn={"zh-CN":`zh-Hans`,"zh-TW":`zh-Hant`,"zh-HK":`zh-Hans`,"zh-Hant":`zh-Hans`,"en-US":`en`,"en-GB":`en`,"en-AU":`en`,en:`en`,"es-ES":`es`,"es-MX":`es`,"es-AR":`es`,es:`es`,vi:`vi`,"vi-VN":`vi`,ru:`ru`,"ru-RU":`ru`,fr:`fr`,"fr-FR":`fr`};function mn(){let e=localStorage.getItem(`settings/language`);e||=navigator.language||`en`;let t=Object.keys(ie);return pn[e||`en`]!=null&&(e=pn[e||`en`]),e&&t.includes(e)?e:`en`}const hn=be({legacy:!1,locale:mn(),fallbackLocale:`en`,messages:ie});var gn=ae(),_n=fe({routes:it(at),history:le()});_n.beforeEach((e,t)=>{e.path!==t.path&&xe.default.start()}),_n.afterEach(()=>{xe.default.done()}),C(fn).use(P).use(rt).use(_n).use(gn).use(hn).use(ne).mount(`#app`);
\ No newline at end of file
diff --git a/assets/index-tts-vllm-BT7keHEe.js b/assets/index-tts-vllm-BveHd-zW.js
similarity index 95%
rename from assets/index-tts-vllm-BT7keHEe.js
rename to assets/index-tts-vllm-BveHd-zW.js
index 6ee67a5cad750cbef75eed061d3838602d947c13..138ff2137abee9be7048b771d90ca655b5a0cb06 100644
--- a/assets/index-tts-vllm-BT7keHEe.js
+++ b/assets/index-tts-vllm-BveHd-zW.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as l,c as u,f as d,l as f}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as p}from"./route-block-B7Ro39Uj.js";var m=`index-tts-vllm`,h=`IndexTTS-1.5`,g=!0,_=e({__name:`index-tts-vllm`,setup(e){let p=f(),_=l(),v=a(()=>p.availableVoices[m]||[]);r(async()=>{await p.loadVoicesForProvider(m)}),i([g],async()=>{await p.loadVoicesForProvider(m)});async function y(e,t){let n=await _.getProviderInstance(m);if(!n)throw Error(`Failed to initialize speech provider`);let r=_.getProviderConfig(m),i=r.model||h,a={...r};return await p.speech(n,i,e,t,a)}return(e,r)=>(t(),n(s(u),{"provider-id":m,"default-model":h},{playground:c(()=>[o(s(d),{"available-voices":v.value,"generate-speech":y,"api-key-configured":g,"use-ssml":!1,"default-text":`Hello! This is a test of the Index TTS Speech synthesis?.`},null,8,[`available-voices`])]),_:1}))}});typeof p==`function`&&p(_);var v=_;export{v as default};
\ No newline at end of file
+import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as l,c as u,f as d,l as f}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as p}from"./route-block-B7Ro39Uj.js";var m=`index-tts-vllm`,h=`IndexTTS-1.5`,g=!0,_=e({__name:`index-tts-vllm`,setup(e){let p=f(),_=l(),v=a(()=>p.availableVoices[m]||[]);r(async()=>{await p.loadVoicesForProvider(m)}),i([g],async()=>{await p.loadVoicesForProvider(m)});async function y(e,t){let n=await _.getProviderInstance(m);if(!n)throw Error(`Failed to initialize speech provider`);let r=_.getProviderConfig(m),i=r.model||h,a={...r};return await p.speech(n,i,e,t,a)}return(e,r)=>(t(),n(s(u),{"provider-id":m,"default-model":h},{playground:c(()=>[o(s(d),{"available-voices":v.value,"generate-speech":y,"api-key-configured":g,"use-ssml":!1,"default-text":`Hello! This is a test of the Index TTS Speech synthesis?.`},null,8,[`available-voices`])]),_:1}))}});typeof p==`function`&&p(_);var v=_;export{v as default};
\ No newline at end of file
diff --git a/assets/lm-studio-D58hq5iP.js b/assets/lm-studio-DtKxDxtQ.js
similarity index 93%
rename from assets/lm-studio-D58hq5iP.js
rename to assets/lm-studio-DtKxDxtQ.js
index 94f76a4f0341edf78984ad29296ae74d0db40d0e..df681b8d161016f1277c1a2d3b1fd54963c707d9 100644
--- a/assets/lm-studio-D58hq5iP.js
+++ b/assets/lm-studio-DtKxDxtQ.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,J as g,K as _,q as v}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./use-provider-validation-D4atw8Ll.js";var x={class:`whitespace-pre-wrap break-all`},S=`lm-studio`,C=e({__name:`lm-studio`,setup(e){let{providers:y}=p(m()),C=s({get:()=>y.value[S]?.baseUrl||``,set:e=>{y.value[S]||(y.value[S]={}),y.value[S].baseUrl=e}}),{t:w,router:T,providerMetadata:E,isValidating:D,isValid:O,validationMessage:k,handleResetSettings:A}=b(S);return(e,s)=>(r(),o(l(h),{"provider-name":l(E)?.localizedName,"provider-icon-color":l(E)?.iconColor,"on-back":()=>l(T).back()},{default:u(()=>[c(l(_),null,{default:u(()=>[c(l(v),{title:l(w)(`settings.pages.providers.common.section.basic.title`),description:l(w)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(A)},{default:u(()=>[c(l(g),{modelValue:C.value,"onUpdate:modelValue":s[0]||=e=>C.value=e,placeholder:`http://localhost:1234/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!l(O)&&l(D)===0&&l(k)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(w)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(k)?{name:`content`,fn:u(()=>[d(`div`,x,a(l(k)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(O)&&l(D)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(w)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,G as h,J as g,K as _,q as v}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./use-provider-validation-CSFNUQmK.js";var x={class:`whitespace-pre-wrap break-all`},S=`lm-studio`,C=e({__name:`lm-studio`,setup(e){let{providers:y}=p(m()),C=s({get:()=>y.value[S]?.baseUrl||``,set:e=>{y.value[S]||(y.value[S]={}),y.value[S].baseUrl=e}}),{t:w,router:T,providerMetadata:E,isValidating:D,isValid:O,validationMessage:k,handleResetSettings:A}=b(S);return(e,s)=>(r(),o(l(h),{"provider-name":l(E)?.localizedName,"provider-icon-color":l(E)?.iconColor,"on-back":()=>l(T).back()},{default:u(()=>[c(l(_),null,{default:u(()=>[c(l(v),{title:l(w)(`settings.pages.providers.common.section.basic.title`),description:l(w)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(A)},{default:u(()=>[c(l(g),{modelValue:C.value,"onUpdate:modelValue":s[0]||=e=>C.value=e,placeholder:`http://localhost:1234/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!l(O)&&l(D)===0&&l(k)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(w)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(k)?{name:`content`,fn:u(()=>[d(`div`,x,a(l(k)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(O)&&l(D)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(w)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
diff --git a/assets/memory-p6kGtyp1.js b/assets/memory-2km7EBVw.js
similarity index 96%
rename from assets/memory-p6kGtyp1.js
rename to assets/memory-2km7EBVw.js
index 673c2aeaf65f48964d3f42ae5464fb90a75db3fc..7469939e276cce7d381839fbea62af0fc5b596e3 100644
--- a/assets/memory-p6kGtyp1.js
+++ b/assets/memory-2km7EBVw.js
@@ -1 +1 @@
-import{A as e,K as t,O as n,Z as r,k as i,kt as a,lt as o,m as s,ut as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{h as d}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as f}from"./route-block-B7Ro39Uj.js";var p={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,y:15},enter:{scale:1,opacity:1,y:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},m=e({__name:`index`,setup(e){return(e,f)=>{let m=r(`motion`);return t(),l(s,null,[u(`div`,null,[i(a(d),{label:`In development, needs your help!`,theme:`orange`},{default:o(()=>[...f[0]||=[u(`div`,null,[n(` This functionality is still under development. If you have any suggestions or would like to contribute, please reach out to us on our `),u(`a`,{underline:``,"decoration-dotted":``,href:`https://github.com/moeru-ai/airi/issues`},`GitHub issues page`),n(`. The source code of this page is located at `),u(`a`,{underline:``,"decoration-dotted":``,href:`https://github.com/moeru-ai/airi/tree/main/apps/stage-web/src/pages/settings/memory/index.vue`},`here`),n(`. `)],-1)]]),_:1})]),c((t(),l(`div`,p,[...f[1]||=[u(`div`,{text:`60`,"i-solar:leaf-bold-duotone":``},null,-1)]])),[[m]])],64)}}});typeof f==`function`&&f(m);var h=m;export{h as default};
\ No newline at end of file
+import{A as e,K as t,O as n,Z as r,k as i,kt as a,lt as o,m as s,ut as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{h as d}from"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as f}from"./route-block-B7Ro39Uj.js";var p={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,y:15},enter:{scale:1,opacity:1,y:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},m=e({__name:`index`,setup(e){return(e,f)=>{let m=r(`motion`);return t(),l(s,null,[u(`div`,null,[i(a(d),{label:`In development, needs your help!`,theme:`orange`},{default:o(()=>[...f[0]||=[u(`div`,null,[n(` This functionality is still under development. If you have any suggestions or would like to contribute, please reach out to us on our `),u(`a`,{underline:``,"decoration-dotted":``,href:`https://github.com/moeru-ai/airi/issues`},`GitHub issues page`),n(`. The source code of this page is located at `),u(`a`,{underline:``,"decoration-dotted":``,href:`https://github.com/moeru-ai/airi/tree/main/apps/stage-web/src/pages/settings/memory/index.vue`},`here`),n(`. `)],-1)]]),_:1})]),c((t(),l(`div`,p,[...f[1]||=[u(`div`,{text:`60`,"i-solar:leaf-bold-duotone":``},null,-1)]])),[[m]])],64)}}});typeof f==`function`&&f(m);var h=m;export{h as default};
\ No newline at end of file
diff --git a/assets/messaging-discord-Bgpu6vmn.js b/assets/messaging-discord-BJu6CnzB.js
similarity index 91%
rename from assets/messaging-discord-Bgpu6vmn.js
rename to assets/messaging-discord-BJu6CnzB.js
index 1b01f3ca8aa236e438965f71f6c5cb1b0ef89558..210514461c7ef9b697eeb2e9466730076bd82d41 100644
--- a/assets/messaging-discord-Bgpu6vmn.js
+++ b/assets/messaging-discord-BJu6CnzB.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{wt as i}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`messaging-discord`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,K as t,S as n,kt as r}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{wt as i}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as a}from"./route-block-B7Ro39Uj.js";var o=e({__name:`messaging-discord`,setup(e){return(e,a)=>(t(),n(r(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
diff --git a/assets/microsoft-speech-BPaDuLMw.js b/assets/microsoft-speech-DJ5P7nRr.js
similarity index 98%
rename from assets/microsoft-speech-BPaDuLMw.js
rename to assets/microsoft-speech-DJ5P7nRr.js
index 0a7978ca52eddf3e84b7e24f1102fd634a79fb3e..1516310222be68b0e853415cba3be6570acec193 100644
--- a/assets/microsoft-speech-BPaDuLMw.js
+++ b/assets/microsoft-speech-DJ5P7nRr.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d,u as f}from"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-FkJVIJjS.js";import{n as v}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";var b={flex:`~ col gap-4`},x=`microsoft-speech`,S=`v1`,C=e({__name:`microsoft-speech`,setup(e){let{t:y}=v(),C={pitch:0,speed:1,volume:0},w=_(),T=m(),{providers:E}=p(T),D=u(0),O=u(1),k=u(0),A=a({get:()=>E.value[x]?.region||`eastasia`,set:e=>{E.value[x]||(E.value[x]={region:`eastasia`}),E.value[x].region=e}}),j=a(()=>!!E.value[x]?.apiKey),M=a(()=>w.availableVoices[x]||[]);r(async()=>{A.value||=`eastasia`,E.value[x]?.region||(E.value[x]?E.value[x].region=A.value:E.value[x]={region:A.value}),await w.loadVoicesForProvider(x)}),i([j,A],async()=>{await w.loadVoicesForProvider(x)});async function N(e,t,n){let r=await T.getProviderInstance(x);if(!r)throw Error(`Failed to initialize speech provider`);let i=T.getProviderConfig(x),a=i.model||S,o={...i,region:A.value,disableSsml:!n};if(!n&&t){let n=M.value.find(e=>e.id===t);if(n){let s=w.generateSSML(e,n,{...i,pitch:D.value});return await w.speech(r,a,s,t,o)}}return await w.speech(r,a,e,t,o)}return(e,r)=>(t(),n(s(h),{"provider-id":x,"default-model":S,"additional-settings":C},{"basic-settings":c(()=>[o(s(f),{modelValue:A.value,"onUpdate:modelValue":r[0]||=e=>A.value=e,label:s(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.label`),description:s(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.description`),placeholder:`eastasia`,required:``,type:`text`},null,8,[`modelValue`,`label`,`description`])]),"voice-settings":c(()=>[l(`div`,b,[o(s(d),{modelValue:D.value,"onUpdate:modelValue":r[1]||=e=>D.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:O.value,"onUpdate:modelValue":r[2]||=e=>O.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:k.value,"onUpdate:modelValue":r[3]||=e=>k.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`])])]),playground:c(()=>[o(s(g),{"available-voices":M.value,"generate-speech":N,"api-key-configured":j.value,"default-text":`Hello! This is a test of the Microsoft Speech synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
+import{A as e,K as t,S as n,W as r,at as i,b as a,k as o,kt as s,lt as c,x as l,xt as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as d,u as f}from"./src-C1mn1H34.js";import{I as p}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-BmY-4iwk.js";import{n as v}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";var b={flex:`~ col gap-4`},x=`microsoft-speech`,S=`v1`,C=e({__name:`microsoft-speech`,setup(e){let{t:y}=v(),C={pitch:0,speed:1,volume:0},w=_(),T=m(),{providers:E}=p(T),D=u(0),O=u(1),k=u(0),A=a({get:()=>E.value[x]?.region||`eastasia`,set:e=>{E.value[x]||(E.value[x]={region:`eastasia`}),E.value[x].region=e}}),j=a(()=>!!E.value[x]?.apiKey),M=a(()=>w.availableVoices[x]||[]);r(async()=>{A.value||=`eastasia`,E.value[x]?.region||(E.value[x]?E.value[x].region=A.value:E.value[x]={region:A.value}),await w.loadVoicesForProvider(x)}),i([j,A],async()=>{await w.loadVoicesForProvider(x)});async function N(e,t,n){let r=await T.getProviderInstance(x);if(!r)throw Error(`Failed to initialize speech provider`);let i=T.getProviderConfig(x),a=i.model||S,o={...i,region:A.value,disableSsml:!n};if(!n&&t){let n=M.value.find(e=>e.id===t);if(n){let s=w.generateSSML(e,n,{...i,pitch:D.value});return await w.speech(r,a,s,t,o)}}return await w.speech(r,a,e,t,o)}return(e,r)=>(t(),n(s(h),{"provider-id":x,"default-model":S,"additional-settings":C},{"basic-settings":c(()=>[o(s(f),{modelValue:A.value,"onUpdate:modelValue":r[0]||=e=>A.value=e,label:s(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.label`),description:s(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.description`),placeholder:`eastasia`,required:``,type:`text`},null,8,[`modelValue`,`label`,`description`])]),"voice-settings":c(()=>[l(`div`,b,[o(s(d),{modelValue:D.value,"onUpdate:modelValue":r[1]||=e=>D.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.pitch.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`]),o(s(d),{modelValue:O.value,"onUpdate:modelValue":r[2]||=e=>O.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(s(d),{modelValue:k.value,"onUpdate:modelValue":r[3]||=e=>k.value=e,label:s(y)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:s(y)(`settings.pages.providers.provider.common.fields.field.volume.description`),min:-100,max:100,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`label`,`description`,`format-value`])])]),playground:c(()=>[o(s(g),{"available-voices":M.value,"generate-speech":N,"api-key-configured":j.value,"default-text":`Hello! This is a test of the Microsoft Speech synthesis.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof y==`function`&&y(C);var w=C;export{w as default};
\ No newline at end of file
diff --git a/assets/modules-aH_q0oVe.js b/assets/modules-BTfjG6L_.js
similarity index 98%
rename from assets/modules-aH_q0oVe.js
rename to assets/modules-BTfjG6L_.js
index 394e8cc8c3e1821d32326ff1f92bdc064057f071..6b39935d46aee769b64121a9ab9f9daa9afabc70 100644
--- a/assets/modules-aH_q0oVe.js
+++ b/assets/modules-BTfjG6L_.js
@@ -1 +1 @@
-import{A as e,K as t,Z as n,b as r,k as i,kt as a,lt as o,m as s,ut as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ct as d,Dt as f,Pt as p,Q as m,Rt as h,Tt as g,kt as _,l as v}from"./components-FkJVIJjS.js";import{n as y}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./beat-sync-Dt3oi7by.js";import{t as S}from"./use-ripple-grid-state-roQxVJoH.js";function C(){let{t:e}=y(),t=m(),n=v(),i=g(),a=d(),o=f(),s=_(),c=x(),l=r(()=>[{id:`consciousness`,name:e(`settings.pages.modules.consciousness.title`),description:e(`settings.pages.modules.consciousness.description`),icon:`i-solar:ghost-bold-duotone`,to:`/settings/modules/consciousness`,configured:t.configured,category:`essential`},{id:`speech`,name:e(`settings.pages.modules.speech.title`),description:e(`settings.pages.modules.speech.description`),icon:`i-solar:user-speak-rounded-bold-duotone`,to:`/settings/modules/speech`,configured:n.configured,category:`essential`},{id:`hearing`,name:e(`settings.pages.modules.hearing.title`),description:e(`settings.pages.modules.hearing.description`),icon:`i-solar:microphone-3-bold-duotone`,to:`/settings/modules/hearing`,configured:!1,category:`essential`},{id:`vision`,name:e(`settings.pages.modules.vision.title`),description:e(`settings.pages.modules.vision.description`),icon:`i-solar:eye-closed-bold-duotone`,to:`/settings/modules/vision`,configured:!1,category:`essential`},{id:`memory-short-term`,name:e(`settings.pages.modules.memory-short-term.title`),description:e(`settings.pages.modules.memory-short-term.description`),icon:`i-solar:bookmark-bold-duotone`,to:`/settings/modules/memory-short-term`,configured:!1,category:`essential`},{id:`memory-long-term`,name:e(`settings.pages.modules.memory-long-term.title`),description:e(`settings.pages.modules.memory-long-term.description`),icon:`i-solar:book-bookmark-bold-duotone`,to:`/settings/modules/memory-long-term`,configured:!1,category:`essential`},{id:`messaging-discord`,name:e(`settings.pages.modules.messaging-discord.title`),description:e(`settings.pages.modules.messaging-discord.description`),icon:`i-simple-icons:discord`,to:`/settings/modules/messaging-discord`,configured:i.configured,category:`messaging`},{id:`x`,name:e(`settings.pages.modules.x.title`),description:e(`settings.pages.modules.x.description`),icon:`i-simple-icons:x`,to:`/settings/modules/x`,configured:a.configured,category:`messaging`},{id:`gaming-minecraft`,name:e(`settings.pages.modules.gaming-minecraft.title`),description:e(`settings.pages.modules.gaming-minecraft.description`),iconColor:`i-vscode-icons:file-type-minecraft`,to:`/settings/modules/gaming-minecraft`,configured:o.configured,category:`gaming`},{id:`gaming-factorio`,name:e(`settings.pages.modules.gaming-factorio.title`),description:e(`settings.pages.modules.gaming-factorio.description`),to:`/settings/modules/gaming-factorio`,configured:s.configured,category:`gaming`},{id:`mcp-server`,name:e(`settings.pages.modules.mcp-server.title`),description:e(`settings.pages.modules.mcp-server.description`),icon:`i-solar:server-bold-duotone`,to:`/settings/modules/mcp`,configured:!1,category:`essential`},{id:`beat-sync`,name:e(`settings.pages.modules.beat_sync.title`),description:e(`settings.pages.modules.beat_sync.description`),icon:`i-solar:music-notes-bold-duotone`,to:`/settings/modules/beat-sync`,configured:c.isActive,category:`essential`}]);return{modulesList:l,categorizedModules:r(()=>l.value.reduce((e,t)=>{let{category:n}=t;return e[n]||(e[n]=[]),e[n].push(t),e},{})),categoryNames:r(()=>({essential:e(`settings.pages.modules.categories.essential`),messaging:e(`settings.pages.modules.categories.messaging`),gaming:e(`settings.pages.modules.categories.gaming`)}))}}var w={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,y:20},enter:{scale:1,opacity:1,y:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},T=e({__name:`index`,setup(e){let{modulesList:r}=C(),{lastClickedIndex:d,setLastClickedIndex:f}=S();return(e,m)=>{let g=n(`motion`);return t(),l(s,null,[u(`div`,null,[i(a(h),{items:a(r),columns:{default:1,sm:2},"origin-index":a(d),onItemClick:m[0]||=({globalIndex:e})=>a(f)(e)},{item:o(({item:e})=>[i(a(p),{title:e.name,description:e.description,icon:e.icon,"icon-color":e.iconColor,"icon-image":e.iconImage,to:e.to,configured:e.configured},null,8,[`title`,`description`,`icon`,`icon-color`,`icon-image`,`to`,`configured`])]),_:1},8,[`items`,`origin-index`])]),c((t(),l(`div`,w,[...m[1]||=[u(`div`,{text:`60`,"i-solar:layers-bold-duotone":``},null,-1)]])),[[g]])],64)}}});typeof b==`function`&&b(T);var E=T;export{E as default};
\ No newline at end of file
+import{A as e,K as t,Z as n,b as r,k as i,kt as a,lt as o,m as s,ut as c,w as l,x as u}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{Ct as d,Dt as f,Pt as p,Q as m,Rt as h,Tt as g,kt as _,l as v}from"./components-BmY-4iwk.js";import{n as y}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./beat-sync-Dt3oi7by.js";import{t as S}from"./use-ripple-grid-state-roQxVJoH.js";function C(){let{t:e}=y(),t=m(),n=v(),i=g(),a=d(),o=f(),s=_(),c=x(),l=r(()=>[{id:`consciousness`,name:e(`settings.pages.modules.consciousness.title`),description:e(`settings.pages.modules.consciousness.description`),icon:`i-solar:ghost-bold-duotone`,to:`/settings/modules/consciousness`,configured:t.configured,category:`essential`},{id:`speech`,name:e(`settings.pages.modules.speech.title`),description:e(`settings.pages.modules.speech.description`),icon:`i-solar:user-speak-rounded-bold-duotone`,to:`/settings/modules/speech`,configured:n.configured,category:`essential`},{id:`hearing`,name:e(`settings.pages.modules.hearing.title`),description:e(`settings.pages.modules.hearing.description`),icon:`i-solar:microphone-3-bold-duotone`,to:`/settings/modules/hearing`,configured:!1,category:`essential`},{id:`vision`,name:e(`settings.pages.modules.vision.title`),description:e(`settings.pages.modules.vision.description`),icon:`i-solar:eye-closed-bold-duotone`,to:`/settings/modules/vision`,configured:!1,category:`essential`},{id:`memory-short-term`,name:e(`settings.pages.modules.memory-short-term.title`),description:e(`settings.pages.modules.memory-short-term.description`),icon:`i-solar:bookmark-bold-duotone`,to:`/settings/modules/memory-short-term`,configured:!1,category:`essential`},{id:`memory-long-term`,name:e(`settings.pages.modules.memory-long-term.title`),description:e(`settings.pages.modules.memory-long-term.description`),icon:`i-solar:book-bookmark-bold-duotone`,to:`/settings/modules/memory-long-term`,configured:!1,category:`essential`},{id:`messaging-discord`,name:e(`settings.pages.modules.messaging-discord.title`),description:e(`settings.pages.modules.messaging-discord.description`),icon:`i-simple-icons:discord`,to:`/settings/modules/messaging-discord`,configured:i.configured,category:`messaging`},{id:`x`,name:e(`settings.pages.modules.x.title`),description:e(`settings.pages.modules.x.description`),icon:`i-simple-icons:x`,to:`/settings/modules/x`,configured:a.configured,category:`messaging`},{id:`gaming-minecraft`,name:e(`settings.pages.modules.gaming-minecraft.title`),description:e(`settings.pages.modules.gaming-minecraft.description`),iconColor:`i-vscode-icons:file-type-minecraft`,to:`/settings/modules/gaming-minecraft`,configured:o.configured,category:`gaming`},{id:`gaming-factorio`,name:e(`settings.pages.modules.gaming-factorio.title`),description:e(`settings.pages.modules.gaming-factorio.description`),to:`/settings/modules/gaming-factorio`,configured:s.configured,category:`gaming`},{id:`mcp-server`,name:e(`settings.pages.modules.mcp-server.title`),description:e(`settings.pages.modules.mcp-server.description`),icon:`i-solar:server-bold-duotone`,to:`/settings/modules/mcp`,configured:!1,category:`essential`},{id:`beat-sync`,name:e(`settings.pages.modules.beat_sync.title`),description:e(`settings.pages.modules.beat_sync.description`),icon:`i-solar:music-notes-bold-duotone`,to:`/settings/modules/beat-sync`,configured:c.isActive,category:`essential`}]);return{modulesList:l,categorizedModules:r(()=>l.value.reduce((e,t)=>{let{category:n}=t;return e[n]||(e[n]=[]),e[n].push(t),e},{})),categoryNames:r(()=>({essential:e(`settings.pages.modules.categories.essential`),messaging:e(`settings.pages.modules.categories.messaging`),gaming:e(`settings.pages.modules.categories.gaming`)}))}}var w={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,y:20},enter:{scale:1,opacity:1,y:0},duration:500,"size-60":``,flex:``,"items-center":``,"justify-center":``},T=e({__name:`index`,setup(e){let{modulesList:r}=C(),{lastClickedIndex:d,setLastClickedIndex:f}=S();return(e,m)=>{let g=n(`motion`);return t(),l(s,null,[u(`div`,null,[i(a(h),{items:a(r),columns:{default:1,sm:2},"origin-index":a(d),onItemClick:m[0]||=({globalIndex:e})=>a(f)(e)},{item:o(({item:e})=>[i(a(p),{title:e.name,description:e.description,icon:e.icon,"icon-color":e.iconColor,"icon-image":e.iconImage,to:e.to,configured:e.configured},null,8,[`title`,`description`,`icon`,`icon-color`,`icon-image`,`to`,`configured`])]),_:1},8,[`items`,`origin-index`])]),c((t(),l(`div`,w,[...m[1]||=[u(`div`,{text:`60`,"i-solar:layers-bold-duotone":``},null,-1)]])),[[g]])],64)}}});typeof b==`function`&&b(T);var E=T;export{E as default};
\ No newline at end of file
diff --git a/assets/ollama-CjDjrPxU.js b/assets/ollama-Dt95tZne.js
similarity index 96%
rename from assets/ollama-CjDjrPxU.js
rename to assets/ollama-Dt95tZne.js
index 6117de0d454b179d86cad949563f1426f18720f7..db1ea0cc313a5687d68c652648491b40207a6308 100644
--- a/assets/ollama-CjDjrPxU.js
+++ b/assets/ollama-Dt95tZne.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,W as s,at as c,b as l,k as u,kt as d,lt as f,x as p,xt as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as h}from"./widgets-DXnWA3E4.js";import{l as g}from"./src-C1mn1H34.js";import{I as _}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as v,G as y,J as b,K as x,X as S,q as C}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as w}from"./route-block-B7Ro39Uj.js";import{t as T}from"./use-provider-validation-D4atw8Ll.js";var E={class:`whitespace-pre-wrap break-all`},D=`ollama`,O=e({__name:`ollama`,setup(e){let w=v(),{providers:O}=_(w),k=l({get:()=>O.value[D]?.baseUrl||`http://localhost:11434/v1/`,set:e=>{O.value[D]||(O.value[D]={}),O.value[D].baseUrl=e}}),{t:A,router:j,providerMetadata:M,isValidating:N,isValid:P,validationMessage:F,handleResetSettings:I}=T(D),L=m(Object.entries(O.value[D]?.headers||{}).map(([e,t])=>({key:e,value:t}))||[{key:``,value:``}]);function R(e,t,n){e&&e.push({key:t,value:n})}function z(e,t){t&&(t.length===1?(t[0].key=``,t[0].value=``):t.splice(e,1))}c(L,e=>{e.length>0&&(e[e.length-1].key!==``||e[e.length-1].value!==``)&&e.push({key:``,value:``}),O.value[D].headers=e.filter(e=>e.key!==``).reduce((e,t)=>(e[t.key]=t.value,e),{})},{deep:!0,immediate:!0});async function B(){try{let e=await M.value.validators.validateProviderConfig({baseUrl:k.value,headers:L.value.filter(e=>e.key!==``).reduce((e,t)=>(e[t.key]=t.value,e),{})});e.valid||(F.value=A(`settings.dialogs.onboarding.validationError`,{error:e.reason}))}catch(e){F.value=A(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}return c([k,L],B,{immediate:!0}),c(L,B,{deep:!0}),s(()=>{w.initializeProvider(D),k.value=O.value[D]?.baseUrl||M.value?.defaultOptions?.().baseUrl||``,O.value[D]?.headers||(O.value[D].headers={}),L.value.length===0&&(L.value=[{key:``,value:``}])}),(e,s)=>(r(),o(d(y),{"provider-name":d(M)?.localizedName,"provider-icon-color":d(M)?.iconColor,"on-back":()=>d(j).back()},{default:f(()=>[u(d(x),null,{default:f(()=>[u(d(C),{title:d(A)(`settings.pages.providers.common.section.basic.title`),description:d(A)(`settings.pages.providers.common.section.basic.description`),"on-reset":d(I)},{default:f(()=>[u(d(b),{modelValue:k.value,"onUpdate:modelValue":s[0]||=e=>k.value=e,placeholder:`http://localhost:11434/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),u(d(S),{title:d(A)(`settings.pages.providers.common.section.advanced.title`)},{default:f(()=>[u(d(g),{modelValue:L.value,"onUpdate:modelValue":s[1]||=e=>L.value=e,label:d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.label`),description:d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.description`),"key-placeholder":d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.key.placeholder`),"value-placeholder":d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.value.placeholder`),onAdd:s[2]||=(e,t)=>R(L.value,e,t),onRemove:s[3]||=e=>z(e,L.value)},null,8,[`modelValue`,`label`,`description`,`key-placeholder`,`value-placeholder`])]),_:1},8,[`title`]),!d(P)&&d(N)===0&&d(F)?(r(),o(d(h),{key:0,type:`error`},n({title:f(()=>[i(a(d(A)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[d(F)?{name:`content`,fn:f(()=>[p(`div`,E,a(d(F)),1)]),key:`0`}:void 0]),1024)):t(``,!0),d(P)&&d(N)===0?(r(),o(d(h),{key:1,type:`success`},{title:f(()=>[i(a(d(A)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof w==`function`&&w(O);var k=O;export{k as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,W as s,at as c,b as l,k as u,kt as d,lt as f,x as p,xt as m}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as h}from"./widgets-DXnWA3E4.js";import{l as g}from"./src-C1mn1H34.js";import{I as _}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as v,G as y,J as b,K as x,X as S,q as C}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as w}from"./route-block-B7Ro39Uj.js";import{t as T}from"./use-provider-validation-CSFNUQmK.js";var E={class:`whitespace-pre-wrap break-all`},D=`ollama`,O=e({__name:`ollama`,setup(e){let w=v(),{providers:O}=_(w),k=l({get:()=>O.value[D]?.baseUrl||`http://localhost:11434/v1/`,set:e=>{O.value[D]||(O.value[D]={}),O.value[D].baseUrl=e}}),{t:A,router:j,providerMetadata:M,isValidating:N,isValid:P,validationMessage:F,handleResetSettings:I}=T(D),L=m(Object.entries(O.value[D]?.headers||{}).map(([e,t])=>({key:e,value:t}))||[{key:``,value:``}]);function R(e,t,n){e&&e.push({key:t,value:n})}function z(e,t){t&&(t.length===1?(t[0].key=``,t[0].value=``):t.splice(e,1))}c(L,e=>{e.length>0&&(e[e.length-1].key!==``||e[e.length-1].value!==``)&&e.push({key:``,value:``}),O.value[D].headers=e.filter(e=>e.key!==``).reduce((e,t)=>(e[t.key]=t.value,e),{})},{deep:!0,immediate:!0});async function B(){try{let e=await M.value.validators.validateProviderConfig({baseUrl:k.value,headers:L.value.filter(e=>e.key!==``).reduce((e,t)=>(e[t.key]=t.value,e),{})});e.valid||(F.value=A(`settings.dialogs.onboarding.validationError`,{error:e.reason}))}catch(e){F.value=A(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}return c([k,L],B,{immediate:!0}),c(L,B,{deep:!0}),s(()=>{w.initializeProvider(D),k.value=O.value[D]?.baseUrl||M.value?.defaultOptions?.().baseUrl||``,O.value[D]?.headers||(O.value[D].headers={}),L.value.length===0&&(L.value=[{key:``,value:``}])}),(e,s)=>(r(),o(d(y),{"provider-name":d(M)?.localizedName,"provider-icon-color":d(M)?.iconColor,"on-back":()=>d(j).back()},{default:f(()=>[u(d(x),null,{default:f(()=>[u(d(C),{title:d(A)(`settings.pages.providers.common.section.basic.title`),description:d(A)(`settings.pages.providers.common.section.basic.description`),"on-reset":d(I)},{default:f(()=>[u(d(b),{modelValue:k.value,"onUpdate:modelValue":s[0]||=e=>k.value=e,placeholder:`http://localhost:11434/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),u(d(S),{title:d(A)(`settings.pages.providers.common.section.advanced.title`)},{default:f(()=>[u(d(g),{modelValue:L.value,"onUpdate:modelValue":s[1]||=e=>L.value=e,label:d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.label`),description:d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.description`),"key-placeholder":d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.key.placeholder`),"value-placeholder":d(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.value.placeholder`),onAdd:s[2]||=(e,t)=>R(L.value,e,t),onRemove:s[3]||=e=>z(e,L.value)},null,8,[`modelValue`,`label`,`description`,`key-placeholder`,`value-placeholder`])]),_:1},8,[`title`]),!d(P)&&d(N)===0&&d(F)?(r(),o(d(h),{key:0,type:`error`},n({title:f(()=>[i(a(d(A)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[d(F)?{name:`content`,fn:f(()=>[p(`div`,E,a(d(F)),1)]),key:`0`}:void 0]),1024)):t(``,!0),d(P)&&d(N)===0?(r(),o(d(h),{key:1,type:`success`},{title:f(()=>[i(a(d(A)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1})]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof w==`function`&&w(O);var k=O;export{k as default};
\ No newline at end of file
diff --git a/assets/openai-audio-speech-DAHXQnEd.js b/assets/openai-audio-speech-BKkztmRz.js
similarity index 96%
rename from assets/openai-audio-speech-DAHXQnEd.js
rename to assets/openai-audio-speech-BKkztmRz.js
index 3ae0d589a7fc9922299ffbc8dae2beca5d829f82..1ee17cc86711d262a9a23c7d52bc60260ad9693d 100644
--- a/assets/openai-audio-speech-DAHXQnEd.js
+++ b/assets/openai-audio-speech-BKkztmRz.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,at as r,b as i,k as a,kt as o,lt as s,xt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as l}from"./src-C1mn1H34.js";import{I as u}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-FkJVIJjS.js";import{n as h}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as g}from"./route-block-B7Ro39Uj.js";var _=`openai-audio-speech`,v=`gpt-4o-mini-tts`,y=e({__name:`openai-audio-speech`,setup(e){let g=m(),y=d(),{providers:b}=u(y),{t:x}=h(),S={speed:1},C=c(1),w=i(()=>!!b.value[_]?.apiKey),T=i(()=>g.availableVoices[_]||[]);async function E(e,t,n){let r=await y.getProviderInstance(_);if(!r)throw Error(`Failed to initialize speech provider`);let i=y.getProviderConfig(_),a=i.model||v;return await g.speech(r,a,e,t,{...i,...S})}return r(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,r)=>(t(),n(o(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(o(l),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:o(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:o(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(o(p),{"available-voices":T.value,"generate-speech":E,"api-key-configured":w.value,"default-text":`Hello! This is a test of the OpenAI Speech.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof g==`function`&&g(y);var b=y;export{b as default};
\ No newline at end of file
+import{A as e,K as t,S as n,at as r,b as i,k as a,kt as o,lt as s,xt as c}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import{c as l}from"./src-C1mn1H34.js";import{I as u}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-BmY-4iwk.js";import{n as h}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as g}from"./route-block-B7Ro39Uj.js";var _=`openai-audio-speech`,v=`gpt-4o-mini-tts`,y=e({__name:`openai-audio-speech`,setup(e){let g=m(),y=d(),{providers:b}=u(y),{t:x}=h(),S={speed:1},C=c(1),w=i(()=>!!b.value[_]?.apiKey),T=i(()=>g.availableVoices[_]||[]);async function E(e,t,n){let r=await y.getProviderInstance(_);if(!r)throw Error(`Failed to initialize speech provider`);let i=y.getProviderConfig(_),a=i.model||v;return await g.speech(r,a,e,t,{...i,...S})}return r(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,r)=>(t(),n(o(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(o(l),{modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,label:o(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:o(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(o(p),{"available-voices":T.value,"generate-speech":E,"api-key-configured":w.value,"default-text":`Hello! This is a test of the OpenAI Speech.`},null,8,[`available-voices`,`api-key-configured`])]),_:1}))}});typeof g==`function`&&g(y);var b=y;export{b as default};
\ No newline at end of file
diff --git a/assets/openai-audio-transcription-BVo_75pk.js b/assets/openai-audio-transcription-BxEJsyuJ.js
similarity index 85%
rename from assets/openai-audio-transcription-BVo_75pk.js
rename to assets/openai-audio-transcription-BxEJsyuJ.js
index ad9acf7af49ecad0576799458c87f64de258dcb6..40802a8f5d55294f0df7fe10a9e34a78ad22a6cd 100644
--- a/assets/openai-audio-transcription-BVo_75pk.js
+++ b/assets/openai-audio-transcription-BxEJsyuJ.js
@@ -1 +1 @@
-import{A as e,K as t,S as n,b as r,k as i,kt as a,lt as o}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as s}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as c,a as l,i as u}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as d}from"./route-block-B7Ro39Uj.js";import{n as f}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";var p=`openai-audio-transcription`,m=`whisper-1`,h=e({__name:`openai-audio-transcription`,setup(e){let d=f(),h=c(),{providers:g}=s(h),_=r(()=>!!g.value[p]?.apiKey);async function v(e){let t=await h.getProviderInstance(p);if(!t)throw Error(`Failed to initialize speech provider`);let n=h.getProviderConfig(p).model||m;return await d.transcription(p,t,n,e,`json`)}return(e,r)=>(t(),n(a(u),{"provider-id":p,"default-model":m},{playground:o(()=>[i(a(l),{"generate-transcription":v,"api-key-configured":_.value},null,8,[`api-key-configured`])]),_:1}))}});typeof d==`function`&&d(h);var g=h;export{g as default};
\ No newline at end of file
+import{A as e,K as t,S as n,b as r,k as i,kt as a,lt as o}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./widgets-DXnWA3E4.js";import"./src-C1mn1H34.js";import{I as s}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as c,a as l,i as u}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as d}from"./route-block-B7Ro39Uj.js";import{n as f}from"./hearing-DsZOp5Sx.js";import"./dist-CnHFOEYg.js";var p=`openai-audio-transcription`,m=`whisper-1`,h=e({__name:`openai-audio-transcription`,setup(e){let d=f(),h=c(),{providers:g}=s(h),_=r(()=>!!g.value[p]?.apiKey);async function v(e){let t=await h.getProviderInstance(p);if(!t)throw Error(`Failed to initialize speech provider`);let n=h.getProviderConfig(p).model||m;return await d.transcription(p,t,n,e,`json`)}return(e,r)=>(t(),n(a(u),{"provider-id":p,"default-model":m},{playground:o(()=>[i(a(l),{"generate-transcription":v,"api-key-configured":_.value},null,8,[`api-key-configured`])]),_:1}))}});typeof d==`function`&&d(h);var g=h;export{g as default};
\ No newline at end of file
diff --git a/assets/openai-compatible-audio-speech-CU3M5E29.js b/assets/openai-compatible-audio-speech-CfLp8JwN.js
similarity index 96%
rename from assets/openai-compatible-audio-speech-CU3M5E29.js
rename to assets/openai-compatible-audio-speech-CfLp8JwN.js
index daa8773f0124a186c19ef01e3bd1a19e669ee601..4e14986c78072047358c902e6e0c2ad50478da0f 100644
--- a/assets/openai-compatible-audio-speech-CU3M5E29.js
+++ b/assets/openai-compatible-audio-speech-CfLp8JwN.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d,xt as f}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as p}from"./widgets-DXnWA3E4.js";import{c as m}from"./src-C1mn1H34.js";import{I as h}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as g,G as _,J as v,K as y,X as b,Y as x,d as S,l as C,q as w}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as T}from"./route-block-B7Ro39Uj.js";import{t as E}from"./use-provider-validation-D4atw8Ll.js";var D={class:`whitespace-pre-wrap break-all`},O=`openai-compatible-audio-speech`,k=e({__name:`openai-compatible-audio-speech`,setup(e){let T=C(),k=g(),{providers:A}=h(k),j={speed:1},M=s({get:()=>A.value[O]?.apiKey||``,set:e=>{A.value[O]&&(A.value[O].apiKey=e)}}),N=s({get:()=>A.value[O]?.baseUrl||``,set:e=>{A.value[O]&&(A.value[O].baseUrl=e)}}),P=s({get:()=>A.value[O]?.model||`tts-1`,set:e=>{A.value[O]&&(A.value[O].model=e)}}),F=s({get:()=>A.value[O]?.voice||`alloy`,set:e=>{A.value[O]&&(A.value[O].voice=e)}}),I=f(1),L=s(()=>!!A.value[O]?.apiKey);async function R(e,t,n,r){let i=await k.getProviderInstance(O);if(!i)throw Error(`Failed to initialize speech provider`);let a=k.getProviderConfig(O);return await T.speech(i,r||P.value,e,t||F.value,{...a,...j,speed:I.value})}let{t:z,router:B,providerMetadata:V,isValidating:H,isValid:U,validationMessage:W,handleResetSettings:G}=E(O);return(e,s)=>(r(),o(l(_),{"provider-name":l(V)?.localizedName,"provider-icon-color":l(V)?.iconColor,"on-back":()=>l(B).back()},{default:u(()=>[c(l(y),null,{default:u(()=>[c(l(w),{title:l(z)(`settings.pages.providers.common.section.basic.title`),description:l(z)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(G)},{default:u(()=>[c(l(x),{modelValue:M.value,"onUpdate:modelValue":s[0]||=e=>M.value=e,required:!1,"provider-name":l(V)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(b),{title:l(z)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(v),{modelValue:N.value,"onUpdate:modelValue":s[1]||=e=>N.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`]),c(l(m),{modelValue:I.value,"onUpdate:modelValue":s[2]||=e=>I.value=e,label:l(z)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:l(z)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),_:1},8,[`title`]),!l(U)&&l(H)===0&&l(W)?(r(),o(l(p),{key:0,type:`error`},n({title:u(()=>[i(a(l(z)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(W)?{name:`content`,fn:u(()=>[d(`div`,D,a(l(W)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(U)&&l(H)===0?(r(),o(l(p),{key:1,type:`success`},{title:u(()=>[i(a(l(z)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(S),{"model-value":P.value,"onUpdate:modelValue":s[3]||=e=>P.value=e,voice:F.value,"onUpdate:voice":s[4]||=e=>F.value=e,"generate-speech":R,"api-key-configured":L.value,"default-text":`Hello! This is a test of the OpenAI Compatible Speech.`},null,8,[`model-value`,`voice`,`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof T==`function`&&T(k);var A=k;export{A as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d,xt as f}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as p}from"./widgets-DXnWA3E4.js";import{c as m}from"./src-C1mn1H34.js";import{I as h}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as g,G as _,J as v,K as y,X as b,Y as x,d as S,l as C,q as w}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as T}from"./route-block-B7Ro39Uj.js";import{t as E}from"./use-provider-validation-CSFNUQmK.js";var D={class:`whitespace-pre-wrap break-all`},O=`openai-compatible-audio-speech`,k=e({__name:`openai-compatible-audio-speech`,setup(e){let T=C(),k=g(),{providers:A}=h(k),j={speed:1},M=s({get:()=>A.value[O]?.apiKey||``,set:e=>{A.value[O]&&(A.value[O].apiKey=e)}}),N=s({get:()=>A.value[O]?.baseUrl||``,set:e=>{A.value[O]&&(A.value[O].baseUrl=e)}}),P=s({get:()=>A.value[O]?.model||`tts-1`,set:e=>{A.value[O]&&(A.value[O].model=e)}}),F=s({get:()=>A.value[O]?.voice||`alloy`,set:e=>{A.value[O]&&(A.value[O].voice=e)}}),I=f(1),L=s(()=>!!A.value[O]?.apiKey);async function R(e,t,n,r){let i=await k.getProviderInstance(O);if(!i)throw Error(`Failed to initialize speech provider`);let a=k.getProviderConfig(O);return await T.speech(i,r||P.value,e,t||F.value,{...a,...j,speed:I.value})}let{t:z,router:B,providerMetadata:V,isValidating:H,isValid:U,validationMessage:W,handleResetSettings:G}=E(O);return(e,s)=>(r(),o(l(_),{"provider-name":l(V)?.localizedName,"provider-icon-color":l(V)?.iconColor,"on-back":()=>l(B).back()},{default:u(()=>[c(l(y),null,{default:u(()=>[c(l(w),{title:l(z)(`settings.pages.providers.common.section.basic.title`),description:l(z)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(G)},{default:u(()=>[c(l(x),{modelValue:M.value,"onUpdate:modelValue":s[0]||=e=>M.value=e,required:!1,"provider-name":l(V)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(b),{title:l(z)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(v),{modelValue:N.value,"onUpdate:modelValue":s[1]||=e=>N.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`]),c(l(m),{modelValue:I.value,"onUpdate:modelValue":s[2]||=e=>I.value=e,label:l(z)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:l(z)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),_:1},8,[`title`]),!l(U)&&l(H)===0&&l(W)?(r(),o(l(p),{key:0,type:`error`},n({title:u(()=>[i(a(l(z)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(W)?{name:`content`,fn:u(()=>[d(`div`,D,a(l(W)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(U)&&l(H)===0?(r(),o(l(p),{key:1,type:`success`},{title:u(()=>[i(a(l(z)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(S),{"model-value":P.value,"onUpdate:modelValue":s[3]||=e=>P.value=e,voice:F.value,"onUpdate:voice":s[4]||=e=>F.value=e,"generate-speech":R,"api-key-configured":L.value,"default-text":`Hello! This is a test of the OpenAI Compatible Speech.`},null,8,[`model-value`,`voice`,`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof T==`function`&&T(k);var A=k;export{A as default};
\ No newline at end of file
diff --git a/assets/openai-compatible-audio-transcription-CCnrgFoQ.js b/assets/openai-compatible-audio-transcription-B2M_FOWS.js
similarity index 94%
rename from assets/openai-compatible-audio-transcription-CCnrgFoQ.js
rename to assets/openai-compatible-audio-transcription-B2M_FOWS.js
index 46ae9d6ace9108cd218747c328240723a2684d5c..03a45beab066c624a78f1130d5ea8ab55ae46622 100644
--- a/assets/openai-compatible-audio-transcription-CCnrgFoQ.js
+++ b/assets/openai-compatible-audio-transcription-B2M_FOWS.js
@@ -1 +1 @@
-import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import{u as p}from"./src-C1mn1H34.js";import{I as m}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,a as x,q as S}from"./components-FkJVIJjS.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";import{t as T}from"./use-provider-validation-D4atw8Ll.js";var E={class:`whitespace-pre-wrap break-all`},D=`openai-compatible-audio-transcription`,O=e({__name:`openai-compatible-audio-transcription`,setup(e){let C=w(),O=h(),{providers:k}=m(O),A=s({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=s({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=s({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=s(()=>!!k.value[D]?.apiKey);async function P(e){let t=await O.getProviderInstance(D);if(!t)throw Error(`Failed to initialize transcription provider`);return await C.transcription(D,t,M.value,e,`json`)}let{t:F,router:I,providerMetadata:L,isValidating:R,isValid:z,validationMessage:B,handleResetSettings:V}=T(D);return(e,s)=>(r(),o(l(g),{"provider-name":l(L)?.localizedName,"provider-icon-color":l(L)?.iconColor,"on-back":()=>l(I).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(S),{title:l(F)(`settings.pages.providers.common.section.basic.title`),description:l(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(V)},{default:u(()=>[c(l(b),{modelValue:A.value,"onUpdate:modelValue":s[0]||=e=>A.value=e,"provider-name":l(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),c(l(p),{modelValue:M.value,"onUpdate:modelValue":s[1]||=e=>M.value=e,label:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:j.value,"onUpdate:modelValue":s[2]||=e=>j.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`]),!l(z)&&l(R)===0&&l(B)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(B)?{name:`content`,fn:u(()=>[d(`div`,E,a(l(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(z)&&l(R)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(x),{"generate-transcription":P,"api-key-configured":N.value},null,8,[`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(O);var k=O;export{k as default};
\ No newline at end of file
+import{A as e,C as t,E as n,K as r,O as i,Pt as a,S as o,b as s,k as c,kt as l,lt as u,x as d}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import{d as f}from"./widgets-DXnWA3E4.js";import{u as p}from"./src-C1mn1H34.js";import{I as m}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DMAUnmFL.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as h,G as g,J as _,K as v,X as y,Y as b,a as x,q as S}from"./components-BmY-4iwk.js";import"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-DsZOp5Sx.js";import"./dist-CnHFOEYg.js";import{t as T}from"./use-provider-validation-CSFNUQmK.js";var E={class:`whitespace-pre-wrap break-all`},D=`openai-compatible-audio-transcription`,O=e({__name:`openai-compatible-audio-transcription`,setup(e){let C=w(),O=h(),{providers:k}=m(O),A=s({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=s({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=s({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=s(()=>!!k.value[D]?.apiKey);async function P(e){let t=await O.getProviderInstance(D);if(!t)throw Error(`Failed to initialize transcription provider`);return await C.transcription(D,t,M.value,e,`json`)}let{t:F,router:I,providerMetadata:L,isValidating:R,isValid:z,validationMessage:B,handleResetSettings:V}=T(D);return(e,s)=>(r(),o(l(g),{"provider-name":l(L)?.localizedName,"provider-icon-color":l(L)?.iconColor,"on-back":()=>l(I).back()},{default:u(()=>[c(l(v),null,{default:u(()=>[c(l(S),{title:l(F)(`settings.pages.providers.common.section.basic.title`),description:l(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":l(V)},{default:u(()=>[c(l(b),{modelValue:A.value,"onUpdate:modelValue":s[0]||=e=>A.value=e,"provider-name":l(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),c(l(p),{modelValue:M.value,"onUpdate:modelValue":s[1]||=e=>M.value=e,label:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:l(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),c(l(y),{title:l(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[c(l(_),{modelValue:j.value,"onUpdate:modelValue":s[2]||=e=>j.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`]),!l(z)&&l(R)===0&&l(B)?(r(),o(l(f),{key:0,type:`error`},n({title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[l(B)?{name:`content`,fn:u(()=>[d(`div`,E,a(l(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),l(z)&&l(R)===0?(r(),o(l(f),{key:1,type:`success`},{title:u(()=>[i(a(l(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),c(l(x),{"generate-transcription":P,"api-key-configured":N.value},null,8,[`api-key-configured`])]),_:1},8,[`provider-name`,`provider-icon-color`,`on-back`]))}});typeof C==`function`&&C(O);var k=O;export{k as default};
\ No newline at end of file
diff --git a/assets/pages-BoRqKgX7.js b/assets/pages-D1LhuPZe.js
similarity index 98%
rename from assets/pages-BoRqKgX7.js
rename to assets/pages-D1LhuPZe.js
index a66982dc70a8ad5f4283905bb5b4ad88c436a0cf..bc98f4fe2e125574177b0a6e9954508a09df5dda 100644
--- a/assets/pages-BoRqKgX7.js
+++ b/assets/pages-D1LhuPZe.js
@@ -1,3 +1,3 @@
-import{A as e,B as t,C as n,G as r,J as i,K as a,Nt as o,O as s,Pt as c,R as l,S as u,W as d,Y as f,Z as p,at as m,b as h,gt as g,h as _,it as v,jt as y,k as b,kt as x,lt as S,m as C,n as w,nt as T,ut as E,w as D,x as O,xt as k}from"./vue.runtime.esm-bundler-DKHrlDSa.js";import"./tres-Qf1PkoDf.js";import{A,D as j,O as M,k as N,u as P}from"./widgets-DXnWA3E4.js";import{i as F,n as I,s as L,t as R}from"./src-C1mn1H34.js";import{D as ee,I as z,n as B,r as V}from"./settings-m9HC-9j-.js";import"./preload-helper-C_mzgxuZ.js";import{t as H}from"./vue-router-DMAUnmFL.js";import{t as U}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{t as te}from"./Basic-DC1QpFbz.js";import{h as W,i as G,t as K,v as q,y as J}from"./dist-DpJ_SbNQ.js";import"./src-B2sntzra.js";import{$ as ne,It as Y,Q as re,at as X,bt as ie,lt as ae,o as oe,ot as Z,s as se,st as ce,yt as le}from"./components-FkJVIJjS.js";import{n as Q}from"./vue-i18n.runtime-DrfLf34E.js";import"./sleep-Cx_IPFyQ.js";import{r as ue,t as de}from"./theme-color-DDNLtgPg.js";import"./webgpu-Cl7aOF9V.js";import{n as $,t as fe}from"./scenes-DW9qmoLd.js";import"./output-gpNWKyLz.js";import"./__vite-browser-external-qSVDfb5s.js";import{n as pe,r as me,t as he}from"./HeaderLink-iCsZuwo3.js";import"./transformers.web-Kvh9V7-B.js";import{t as ge}from"./route-block-B7Ro39Uj.js";import{n as _e,o as ve}from"./src-DTxatrRk.js";import"./beat-sync-Dt3oi7by.js";import"./import-url-browser-D1GlhyBB.js";import"./duckdb-mvp-Dg0vXvL4.js";import"./llmmarkerParser-DC1ErTJG.js";import"./index-Cx_srAfm-B9uS40hV.js";import"./core-BD3KI8tQ.js";import"./airi-card-aLmIHzTk.js";import{t as ye}from"./hearing-Ch1HGYwu.js";import"./dist-BCmu4H8w.js";import{t as be}from"./process.worklet-D7mV4gP1.js";import{t as xe}from"./composables-DQUpXsnb.js";function Se(e,t){let n=ce(e,t?.in);if(!Z(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=X(n.getDate(),2),t=X(n.getMonth()+1,2);a=`${X(n.getFullYear(),4)}${o}${t}${o}${e}`}if(i!==`date`){let e=X(n.getHours(),2),t=X(n.getMinutes(),2),r=X(n.getSeconds(),2);a=`${a}${a===``?``:` `}${e}${s}${t}${s}${r}`}return a}var Ce={},we={class:`cross-background-container`};function Te(e,t){return a(),D(`div`,we,[f(e.$slots,`default`,{},void 0,!0)])}var Ee=U(Ce,[[`render`,Te],[`__scopeId`,`data-v-455eb62c`]]),De={"mb-1":``,"w-full":``,"gap-2":``},Oe={"w-full":``},ke=e({__name:`Header`,setup(e){return(e,t)=>(a(),D(`header`,De,[O(`div`,Oe,[b(he)]),b(x(H),{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:S(()=>[...t[0]||=[O(`div`,{"i-solar:settings-minimalistic-bold-duotone":``},null,-1)]]),_:1})]))}}),Ae={absolute:``,"bottom--8":``,"right-0":``,flex:``,"gap-2":``},je={key:0,"i-solar:moon-bold":``},Me={key:1,"i-solar:sun-2-bold":``},Ne=e({__name:`ChatActionButtons`,setup(e){let{cleanupMessages:t}=$(),{isDark:n,toggleDark:r}=R();return(e,i)=>(a(),D(`div`,Ae,[O(`button`,{class:`max-h-[10lh] min-h-[1lh]`,bg:`neutral-100 dark:neutral-800`,text:`lg neutral-500 dark:neutral-400`,"hover:text":`red-500 dark:red-400`,flex:``,"items-center":``,"justify-center":``,"rounded-md":``,"p-2":``,"outline-none":``,"transition-colors":``,"transition-transform":``,"active:scale-95":``,onClick:i[0]||=(...e)=>x(t)&&x(t)(...e)},[...i[2]||=[O(`div`,{class:`i-solar:trash-bin-2-bold-duotone`},null,-1)]]),O(`button`,{class:`max-h-[10lh] min-h-[1lh]`,bg:`neutral-100 dark:neutral-800`,text:`lg neutral-500 dark:neutral-400`,flex:``,"items-center":``,"justify-center":``,"rounded-md":``,"p-2":``,"outline-none":``,"transition-colors":``,"transition-transform":``,"active:scale-95":``,onClick:i[1]||=()=>x(r)()},[b(w,{name:`fade`,mode:`out-in`},{default:S(()=>[x(n)?(a(),D(`div`,je)):(a(),D(`div`,Me))]),_:1})])]))}}),Pe={width:`24`,height:`24`,viewBox:`0 0 256 256`,"aria-hidden":`true`},Fe={id:`micLevel`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},Ie=[`offset`],Le=[`offset`],Re=e({__name:`IndicatorMicVolume`,props:{colorClass:{default:`text-primary-500 dark:text-primary-200`}},setup(e){let t=e,{stream:n,enabled:i}=z(V()),{audioContext:o}=z(ee()),{startAnalyzer:s,stopAnalyzer:c,volumeLevel:l}=se(),u,f=h(()=>Math.min(1,(l.value??0)/100));function p(){try{u?.disconnect()}catch{}u=void 0,c()}async function g(){if(p(),!i.value||!n.value)return;let e=o.value;e.state===`suspended`&&await e.resume();let t=s(e);t&&(u=e.createMediaStreamSource(n.value),u.connect(t))}return d(()=>{m([i,n],()=>g(),{immediate:!0})}),r(()=>p()),(e,n)=>(a(),D(`div`,{class:y([`flex items-center justify-center`,t.colorClass])},[(a(),D(`svg`,Pe,[O(`defs`,null,[O(`linearGradient`,Fe,[n[0]||=O(`stop`,{offset:`0%`,"stop-color":`currentColor`,"stop-opacity":`0`},null,-1),O(`stop`,{offset:`${100-Math.round(f.value*100)}%`,"stop-color":`currentColor`,"stop-opacity":`0`},null,8,Ie),O(`stop`,{offset:`${100-Math.round(f.value*100)}%`,"stop-color":`currentColor`,"stop-opacity":`0.95`},null,8,Le),n[1]||=O(`stop`,{offset:`100%`,"stop-color":`currentColor`,"stop-opacity":`0.95`},null,-1)])]),n[2]||=O(`path`,{fill:`url(#micLevel)`,d:`M128 176a48.05 48.05 0 0 0 48-48V64a48 48 0 0 0-96 0v64a48.05 48.05 0 0 0 48 48M96 64a32 32 0 0 1 64 0v64a32 32 0 0 1-64 0Zm40 143.6V240a8 8 0 0 1-16 0v-32.4A80.11 80.11 0 0 1 48 128a8 8 0 0 1 16 0a64 64 0 0 0 128 0a8 8 0 0 1 16 0a80.11 80.11 0 0 1-72 79.6`},null,-1),n[3]||=O(`path`,{fill:`none`,stroke:`currentColor`,"stroke-opacity":`1`,"stroke-width":`2`,d:`M128 176a48.05 48.05 0 0 0 48-48V64a48 48 0 0 0-96 0v64a48.05 48.05 0 0 0 48 48M96 64a32 32 0 0 1 64 0v64a32 32 0 0 1-64 0Zm40 143.6V240a8 8 0 0 1-16 0v-32.4A80.11 80.11 0 0 1 48 128a8 8 0 0 1 16 0a64 64 0 0 0 128 0a8 8 0 0 1 16 0a80.11 80.11 0 0 1-72 79.6`},null,-1)]))],2))}}),ze={h:`{e&&await p()}),m([l,d],async()=>{l.value&&d.value&&await F(d.value,await s.getProviderInstance(l.value),[])}),P(async()=>{t.value=``});let{startAnalyzer:W,stopAnalyzer:G,volumeLevel:K}=se(),q=h(()=>Math.min(1,Math.max(0,(K.value??0)/100))),J;function Y(){try{J?.disconnect()}catch{}J=void 0,G()}async function X(){if(Y(),!n.value||!_.value||!C.value)return;R.state===`suspended`&&await R.resume();let e=W(R);e&&(J=R.createMediaStreamSource(C.value),J.connect(e))}return m([n,_,C],()=>{X()},{immediate:!0}),r(()=>{Y()}),(e,r)=>(a(),D(`div`,ze,[O(`div`,Be,[b(x(te),{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,placeholder:x(H)(`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:`transparent`,"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:y({"transition-colors-none placeholder:transition-colors-none":x(f)}),onSubmit:U,onCompositionstart:r[1]||=e=>i.value=!0,onCompositionend:r[2]||=e=>i.value=!1},null,8,[`modelValue`,`placeholder`,`class`]),O(`div`,null,[b(x(A),{"delay-duration":0,"skip-delay-duration":0},{default:S(()=>[b(x(N),{open:n.value,"onUpdate:open":r[5]||=e=>n.value=e},{default:S(()=>[b(x(j),{"as-child":``},{default:S(()=>[O(`button`,{class:`max-h-[10lh] min-h-[1lh]`,text:`lg neutral-500 dark:neutral-400`,flex:``,"items-center":``,"justify-center":``,"rounded-md":``,"p-2":``,"outline-none":``,transition:`colors duration-200, transform duration-100`,"active:scale-95":``,title:x(H)(`settings.hearing.title`)},[b(w,{name:`fade`,mode:`out-in`},{default:S(()=>[x(_)?(a(),u(Re,{key:0})):(a(),D(`div`,He))]),_:1})],8,Ve)]),_:1}),b(w,{name:`fade`},{default:S(()=>[b(x(M),{side:`top`,"side-offset":8,class:y([`w-72 max-w-[18rem] rounded-xl border border-neutral-200/60 bg-neutral-50/90 p-4`,`shadow-lg backdrop-blur-md dark:border-neutral-800/30 dark:bg-neutral-900/80`,`flex flex-col gap-3`])},{default:S(()=>[O(`div`,Ue,[O(`div`,We,[O(`div`,{class:y([`absolute left-1/2 top-1/2 h-20 w-20 rounded-full transition-all duration-150 -translate-x-1/2 -translate-y-1/2`,x(_)?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`]),style:o({transform:`translate(-50%, -50%) scale(${1+q.value*.35})`,opacity:String(.25+q.value*.25)})},null,6),O(`div`,{class:y([`absolute left-1/2 top-1/2 h-24 w-24 rounded-full transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,x(_)?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:o({transform:`translate(-50%, -50%) scale(${1.2+q.value*.55})`,opacity:String(.15+q.value*.2)})},null,6),O(`div`,{class:y([`absolute left-1/2 top-1/2 h-28 w-28 rounded-full transition-all duration-300 -translate-x-1/2 -translate-y-1/2`,x(_)?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:o({transform:`translate(-50%, -50%) scale(${1.5+q.value*.8})`,opacity:String(.08+q.value*.15)})},null,6),O(`button`,{class:y([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,x(_)?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]),onClick:r[3]||=e=>_.value=!x(_)},[O(`div`,{class:y([x(_)?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),O(`p`,Ge,c(x(_)?`Microphone enabled`:`Microphone disabled`),1)]),b(x(L),{modelValue:x(v),"onUpdate:modelValue":r[4]||=e=>g(v)?v.value=e:null,label:`Input device`,description:`Select the microphone you want to use.`,options:x(T).map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),layout:`vertical`,placeholder:`Select microphone`},null,8,[`modelValue`,`options`])]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})])])]))}}),qe={},Je={flex:`~ col`,border:`solid 4 primary-200/20 dark:primary-400/20`,"h-full":``,"w-full":``,"rounded-xl":``,bg:`primary-50/50 dark:primary-950/70`,"backdrop-blur-md":``};function Ye(e,t){return a(),D(`div`,Je,[f(e.$slots,`default`)])}var Xe=U(qe,[[`render`,Ye]]),Ze={"overflow-hidden":``},Qe={key:0,flex:``,mr:`12`},$e={flex:`~ col`,shadow:`md violet-900/50 dark:none`,"min-w-20":``,"rounded-lg":``,"px-2":``,"py-1":``,h:`unset {requestAnimationFrame(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})})}return f(async()=>{await g()}),h(async()=>{await g()}),m(l,()=>{g()},{flush:`post`}),(e,f)=>{let m=p(`auto-animate`);return a(),D(`div`,Ze,[f[4]||=O(`div`,{"flex-1":``},null,-1),E((a(),D(`div`,{ref_key:`chatHistoryRef`,ref:t,px:`(a(),D(`div`,{key:t,"mb-2":``},[e.role===`error`?(a(),D(`div`,Qe,[O(`div`,$e,[O(`div`,et,[O(`div`,tt,[O(`span`,nt,c(x(r)(`stage.chat.message.character-name.core-system`)),1)]),f[0]||=O(`div`,{"i-solar:danger-triangle-bold-duotone":``,"text-violet-500":``},null,-1)]),x(l)&&t===x(o).length-1?(a(),D(`div`,rt)):(a(),u(x(Y),{key:1,content:e.content,class:`break-words text-violet-500`,text:`base (a(),D(`div`,{key:t},[e.type===`tool-call`?(a(),D(`div`,ct,[O(`div`,lt,[f[1]||=s(` Called: `,-1),O(`code`,null,c(e.toolCall.toolName),1)])])):e.type===`tool-call-result`?(a(),D(`div`,ut)):(a(),u(x(Y),{key:2,content:e.text},null,8,[`content`]))]))),128))])):t===x(o).length-1&&!e.content?(a(),D(`div`,dt)):n(``,!0)])])):e.role===`user`?(a(),D(`div`,ft,[O(`div`,pt,[O(`div`,null,[O(`span`,mt,c(x(r)(`stage.chat.message.character-name.you`)),1)]),e.content?(a(),u(x(Y),{key:0,content:e.content,class:`break-words`,text:`base (a(),D(`div`,{key:t},[e.type===`tool-call`?(a(),D(`div`,bt,[O(`div`,xt,[f[2]||=s(` Called: `,-1),O(`code`,null,c(e.toolCall.toolName),1)])])):e.type===`tool-call-result`?(a(),D(`div`,St)):(a(),u(x(Y),{key:2,content:e.text},null,8,[`content`]))]))),128))])):(a(),D(`div`,Ct))])])):n(``,!0)])),[[m]])])}}}),Tt={flex:`col`,"items-center":``,"pt-4":``},Et={"h-full":``,"max-h":`[85vh]`,"w-full":``,py:`4`},Dt={key:0,absolute:``,"left-0":``,"top-0":``,"h-1":``,"w-full":``,"overflow-hidden":``,"rounded-t-xl":``,class:`bg-primary-500/20`},Ot={w:`full`,"max-h":`(a(),D(`div`,Tt,[O(`div`,Et,[b(Xe,null,{default:S(()=>[r.value?(a(),D(`div`,Dt,[...i[1]||=[O(`div`,{"h-full":``,w:`1/3`,"origin-left":``,"bg-primary-500":``,class:`animate-scan`},null,-1)]])):n(``,!0),O(`div`,Ot,[x(t)?(a(),u(wt,{key:0,"h-full":``,onVnodeMounted:i[0]||=e=>r.value=!1},null,512)):n(``,!0)]),b(Ke)]),_:1})]),b(Ne)]))}}),[[`__scopeId`,`data-v-f31c792c`]]),At=[`src`],jt=[`src`],Mt=U(e({__name:`MobileHeaderLink`,setup(e){let{isDark:t}=R();return(e,n)=>(a(),u(x(H),{to:`/`,flex:`~`,"items-center":``,"gap-2":``,"px-2":``,"text-nowrap":``,"text-2xl":``,"outline-none":``},{default:S(()=>[x(t)?(a(),D(`img`,{key:0,src:x(me),"h-8":``,"w-8":``,class:`theme-colored`},null,8,At)):(a(),D(`img`,{key:1,src:x(pe),"h-8":``,"w-8":``,class:`theme-colored`},null,8,jt))]),_:1}))}}),[[`__scopeId`,`data-v-461cb340`]]),Nt={"mb-1":``,"w-full":``,"gap-2":``},Pt={"w-full":``,flex:``,"justify-center":``},Ft=e({__name:`MobileHeader`,setup(e){return(e,t)=>(a(),D(`header`,Nt,[O(`div`,Pt,[b(Mt)])]))}}),It={flex:`~ col`,rounded:`lg`,"overflow-hidden":``},Lt={key:0,flex:``,mr:`12`},Rt={flex:`~ col`,shadow:`sm violet-200/50 dark:none`,"min-w-20":``,"rounded-lg":``,"px-3":``,"py-2":``,h:`unset {t().then(()=>{r.value&&(r.value.scrollTop=r.value.scrollHeight)})}),d(async()=>{t().then(()=>{r.value&&(r.value.scrollTop=r.value.scrollHeight)})}),(e,t)=>{let l=p(`auto-animate`);return a(),D(`div`,It,[E((a(),D(`div`,{ref_key:`chatHistoryRef`,ref:r,"max-h":`35dvh`,"z-5":``,flex:`~ col`,"h-full":``,"w-full":``,"overflow-scroll":``,class:`chat-history`},[(a(!0),D(C,null,i(x(s),(e,r)=>(a(),D(`div`,{key:r,"mb-2":``},[e.role===`error`?(a(),D(`div`,Lt,[O(`div`,Rt,[O(`div`,zt,[O(`div`,null,[O(`span`,Bt,c(x(o)(`stage.chat.message.character-name.core-system`)),1)]),t[0]||=O(`div`,{"i-solar:danger-triangle-bold-duotone":``,"text-violet-500":``},null,-1)]),e.content?(a(),u(x(Y),{key:0,content:e.content,class:`break-words`,text:`base (a(),D(C,null,[O(`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]||=[O(`div`,{"i-solar:info-circle-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]]),b(x(ie),{modelValue:t.value,"onUpdate:modelValue":r[1]||=e=>t.value=e},{default:S(()=>[O(`div`,Zt,[r[7]||=O(`div`,{"mb-14":``,"text-center":``,"text-5xl":``,"font-sans-rounded":``},[O(`span`,{text:`neutral-400 dark:neutral-100/65`},`Project`),s(),O(`span`,{text:`pink-400 dark:pink-300/90`},`AIRI`),O(`div`,{"mt-2":``,"text-base":``},` Web ver. `)],-1),O(`div`,Qt,[r[6]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Application build information `,-1),O(`div`,$t,[r[3]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Branch `,-1),O(`div`,en,c(x(`main`)),1),r[4]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Commit `,-1),O(`div`,tn,c(x(`1cdf4618b3`).substring(0,7)),1),r[5]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Built on `,-1),O(`div`,nn,c(x(n)),1)])]),r[8]||=O(`div`,{"my-10":``},[O(`div`,{text:`neutral-500 dark:neutral-400`},` About `),O(`div`,{"mt-4":``,flex:``,"flex-col":``,"gap-2":``},[O(`a`,{class:y([`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`},[O(`div`,{"i-solar:home-smile-outline":``}),O(`div`,null,`Home`)]),O(`a`,{href:`https://airi.moeru.ai/docs/en/docs/overview/`,class:y([`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`},[O(`div`,{"i-solar:document-add-outline":``}),O(`div`,null,`Documentations`)]),O(`a`,{href:`https://github.com/moeru-ai/airi`,class:y([`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`},[O(`div`,{"i-simple-icons:github":``}),O(`div`,null,`GitHub`)])])],-1)])]),_:1},8,[`modelValue`])],64))}}),an={"w-full":``,flex:``,"flex-1":``,"items-center":``,"self-end":``,"justify-end":``,"gap-2":``},on={key:0,"w-full":``,flex:``,"justify-between":``,"gap-2":``},sn={key:0,"i-solar:tuning-outline":``,"size-5":``},cn={key:1,"i-solar:alt-arrow-right-outline":``,"size-5":``},ln=U(e({__name:`ViewControls`,props:{modelValue:{required:!0},modelModifiers:{}},emits:l([`reset`],[`update:modelValue`]),setup(e,{emit:t}){let r=t,{stageModelRenderer:i,stageViewControlsEnabled:o}=z(B()),c=T(e,`modelValue`);function l(e){if(c.value===e){r(`reset`);return}c.value=e}return(e,t)=>(a(),D(`div`,an,[b(w,{name:`fade`},{default:S(()=>[x(o)?(a(),D(`div`,on,[b(x(P),{variant:`secondary-muted`,toggled:c.value===`x`,"w-full":``,onClick:t[0]||=e=>l(`x`)},{default:S(()=>[...t[5]||=[s(` X `,-1)]]),_:1},8,[`toggled`]),b(x(P),{variant:`secondary-muted`,toggled:c.value===`y`,"w-full":``,onClick:t[1]||=e=>l(`y`)},{default:S(()=>[...t[6]||=[s(` Y `,-1)]]),_:1},8,[`toggled`]),x(i)===`vrm`?(a(),u(x(P),{key:0,variant:`secondary-muted`,toggled:c.value===`z`,"w-full":``,onClick:t[2]||=e=>l(`z`)},{default:S(()=>[...t[7]||=[s(` Z `,-1)]]),_:1},8,[`toggled`])):n(``,!0),b(x(P),{variant:`secondary-muted`,toggled:c.value===`scale`,"w-full":``,onClick:t[3]||=e=>l(`scale`)},{default:S(()=>[...t[8]||=[s(` Scale `,-1)]]),_:1},8,[`toggled`])])):n(``,!0)]),_:1}),O(`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=>o.value=!x(o)},[b(w,{name:`fade`,mode:`out-in`},{default:S(()=>[x(o)?(a(),D(`div`,cn)):(a(),D(`div`,sn))]),_:1})])]))}}),[[`__scopeId`,`data-v-4fe382a1`]]),un={key:0},dn={key:0,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},fn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},pn={key:1,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},mn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},hn={key:2,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},gn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},_n={key:3,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},vn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},yn=U(e({__name:`Inputs`,props:{mode:{}},setup(e,{expose:t}){let r=e,{stageModelRenderer:i,stageViewControlsEnabled:o}=z(B()),{scale:s,modelOffset:l,modelSize:d}=z(_e()),{scale:f,position:p}=z(ve()),m=h({get:()=>{switch(i.value){case`live2d`:return p.value.x;case`vrm`:return l.value.x;default:return 0}},set:e=>{switch(i.value){case`live2d`:p.value.x=e;break;case`vrm`:l.value.x=e;break;default:break}}}),g=h(()=>i.value===`live2d`?-500:-d.value.x-10),_=h(()=>i.value===`vrm`?500:d.value.x+10),v=h({get:()=>{switch(i.value){case`live2d`:return p.value.y;case`vrm`:return l.value.y;default:return 0}},set:e=>{switch(i.value){case`live2d`:p.value.y=e;break;case`vrm`:l.value.y=e;break;default:break}}}),y=h(()=>i.value===`live2d`?-500:-d.value.y-10),C=h(()=>i.value===`vrm`?500:d.value.y+10),T=h({get:()=>{switch(i.value){case`live2d`:return 0;case`vrm`:return l.value.z;default:return 0}},set:e=>{switch(i.value){case`live2d`:break;case`vrm`:l.value.z=e;break;default:break}}}),E=h(()=>i.value===`live2d`?-500:-d.value.z-10),k=h(()=>i.value===`live2d`?500:d.value.z+10),A=h({get:()=>i.value===`live2d`?f.value:s.value,set:e=>{i.value===`live2d`?f.value=e:s.value=e}});function j(){switch(r.mode){case`x`:m.value=0;break;case`y`:v.value=0;break;case`z`:T.value=0;break;case`scale`:A.value=1;break}}return t({resetOnMode:j}),(e,t)=>(a(),u(w,{name:`fade-side-pops-in`},{default:S(()=>[x(o)?(a(),D(`div`,un,[b(w,{name:`fade-side-pops-in`,mode:`out-in`},{default:S(()=>[r.mode===`x`?(a(),D(`div`,dn,[b(x(F),{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,min:g.value,max:_.value,step:.01,"data-direction":`vertical`,h:`50%`,"write-vertical-left":``},null,8,[`modelValue`,`min`,`max`]),O(`div`,fn,c(m.value.toFixed(2)),1)])):r.mode===`y`?(a(),D(`div`,pn,[b(x(F),{modelValue:v.value,"onUpdate:modelValue":t[1]||=e=>v.value=e,min:y.value,max:C.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),O(`div`,mn,c(v.value.toFixed(2)),1)])):x(i)===`vrm`&&r.mode===`z`?(a(),D(`div`,hn,[b(x(F),{modelValue:T.value,"onUpdate:modelValue":t[2]||=e=>T.value=e,min:E.value,max:k.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),O(`div`,gn,c(T.value.toFixed(2)),1)])):r.mode===`scale`?(a(),D(`div`,_n,[b(x(F),{modelValue:A.value,"onUpdate:modelValue":t[3]||=e=>A.value=e,min:0,max:3,step:1e-4,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`]),O(`div`,vn,c(A.value.toFixed(2)),1)])):n(``,!0)]),_:1})])):n(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-011f6495`]]),bn={fixed:``,"bottom-0":``,"w-full":``,flex:``,"flex-col":``},xn={relative:``,"w-full":``,"self-end":``},Sn={top:`50%`,"translate-y":`[-50%]`,fixed:``,"z-15":``,"px-3":``},Cn={"translate-y":`[-100%]`,absolute:``,"right-0":``,"w-full":``,"px-3":``,"pb-3":``,"font-sans":``},wn={flex:`~ col`,"w-full":``,"gap-1":``},Tn={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:`Hearing`},En={key:1,"i-solar:microphone-3-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},Dn={key:0,"i-solar:moon-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},On={key:1,"i-solar:sun-2-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},kn=e({__name:`MobileInteractiveArea`,setup(e){let{isDark:t,toggleDark:i}=R(),s=k(!1),c=k(`scale`),l=v(`viewControlsInputs`),f=k(``),p=k(!1),h=J(),C=ne(),{activeProvider:T,activeModel:E}=z(re());q(document.documentElement,()=>h.update());let{themeColorsHueDynamic:A,stageViewControlsEnabled:j}=z(B()),M=V(),{enabled:N,selectedAudioInput:P,stream:F,audioInputs:I}=z(M),{send:L,onAfterMessageComposed:U,discoverToolsCompatibility:W,cleanupMessages:G}=$(),{messages:K}=z($()),{t:Y}=Q(),{audioContext:X}=ee(),{startAnalyzer:ie,stopAnalyzer:ae,volumeLevel:oe}=se(),Z;function ce(){return/Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}async function ue(){ce()||await de()}async function de(){if(!(!f.value.trim()||p.value))try{let e=C.getProviderConfig(T.value);await L(f.value,{chatProvider:await C.getProviderInstance(T.value),model:E.value,providerConfig:e})}catch(e){K.value.pop(),K.value.push({role:`error`,content:e.message})}}function fe(){try{Z?.disconnect()}catch{}Z=void 0,ae()}async function pe(){if(fe(),!s.value||!N.value||!F.value)return;X.state===`suspended`&&await X.resume();let e=ie(X);e&&(Z=X.createMediaStreamSource(F.value),Z.connect(e))}return m([s,N,F],()=>{pe()},{immediate:!0}),m(s,e=>{e&&M.askPermission()}),U(async()=>{f.value=``}),m([T,E],async()=>{T.value&&E.value&&await W(E.value,await C.getProviderInstance(T.value),[])}),r(()=>{fe()}),d(()=>{h.update()}),(e,r)=>(a(),D(`div`,bn,[(a(),u(_,null,[b(w,{name:`fade`},{default:S(()=>[x(j)?n(``,!0):(a(),u(Xt,{key:0,"max-w":`[calc(100%-3.5rem)]`,"w-full":``,"self-start":``,"pl-3":``}))]),_:1})],1024)),O(`div`,xn,[O(`div`,Sn,[b(yn,{ref:`viewControlsInputs`,mode:c.value},null,8,[`mode`])]),O(`div`,Cn,[O(`div`,wn,[b(rn),b(x(le),{show:s.value,"onUpdate:show":r[0]||=e=>s.value=e,enabled:x(N),"onUpdate:enabled":r[1]||=e=>g(N)?N.value=e:null,"selected-audio-input":x(P),"onUpdate:selectedAudioInput":r[2]||=e=>g(P)?P.value=e:null,"audio-inputs":x(I),"volume-level":x(oe),granted:!0},{default:S(()=>[O(`button`,Tn,[b(w,{name:`fade`,mode:`out-in`},{default:S(()=>[x(N)?(a(),u(Re,{key:0,"size-5":``,"color-class":`text-neutral-500 dark:text-neutral-400`})):(a(),D(`div`,En))]),_:1})])]),_:1},8,[`show`,`enabled`,`selected-audio-input`,`audio-inputs`,`volume-level`]),O(`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:r[3]||=e=>x(i)()},[b(w,{name:`fade`,mode:`out-in`},{default:S(()=>[x(t)?(a(),D(`div`,Dn)):(a(),D(`div`,On))]),_:1})]),b(x(H),{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:S(()=>[...r[10]||=[O(`div`,{"i-solar:settings-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]]),_:1}),b(ln,{modelValue:c.value,"onUpdate:modelValue":r[4]||=e=>c.value=e,onReset:r[5]||=()=>l.value?.resetOnMode()},null,8,[`modelValue`]),O(`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:`Cleanup Messages`,onClick:r[6]||=(...e)=>x(G)&&x(G)(...e)},[...r[11]||=[O(`div`,{class:`i-solar:trash-bin-2-bold-duotone`},null,-1)]])])]),O(`div`,{bg:`white dark:neutral-800`,"max-h-100dvh":``,"max-w-100dvw":``,"w-full":``,flex:``,"gap-1":``,"overflow-auto":``,"px-3":``,"pt-2":``,style:o({paddingBottom:`${Math.max(Number.parseFloat(x(h).bottom.value.replace(`px`,``)),12)}px`})},[b(x(te),{modelValue:f.value,"onUpdate:modelValue":r[7]||=e=>f.value=e,placeholder:x(Y)(`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:y([x(A)?`transition-colors-none placeholder:transition-colors-none`:``]),"default-height":`1lh`,onSubmit:ue,onCompositionstart:r[8]||=e=>p.value=!0,onCompositionend:r[9]||=e=>p.value=!1},null,8,[`modelValue`,`placeholder`,`class`]),f.value.trim()||p.value?(a(),D(`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:de},[...r[12]||=[O(`div`,{"i-solar:arrow-up-outline":``},null,-1)]])):n(``,!0)],4)])]))}}),An={class:`relative`},jn={absolute:``,"left-0":``,"right-0":``,"top-0":``,"w-full":``,"overflow-hidden":``},Mn=U(e({__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=k(t.height),r=k(t.amplitude),i=k(t.waveLength),s=k(t.fillColor),c=k(t.direction),l=k(t.movementDirection);function u(e,t,n,r,i){let a=[],o=Math.ceil(e/r)*r,s=i===`up`?n:t-n;a.push(`M 0 ${s}`);let c=Math.PI*2/r;for(let e=0;e<=o;e+=1){let t=n*Math.sin(c*e),r=i===`up`?s-t:s+t;a.push(`L ${e} ${r}`)}let l=i===`up`?t:0;return a.push(`L ${o} ${l}`),a.push(`L 0 ${l} Z`),a.join(` `)}let d=h(()=>n.value+r.value*2),p=h(()=>{let e=`