diff --git a/assets/CardCreationDialog-BLpVLgw4.js b/assets/CardCreationDialog-BegHxuO_.js
similarity index 99%
rename from assets/CardCreationDialog-BLpVLgw4.js
rename to assets/CardCreationDialog-BegHxuO_.js
index e7a7093196317e3364752a2c5e0f1a2530150081..7986bc6f865f4f91ab6b864cfe29942efab1464f 100644
--- a/assets/CardCreationDialog-BLpVLgw4.js
+++ b/assets/CardCreationDialog-BegHxuO_.js
@@ -1,3 +1,3 @@
-import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,C as r,Ct as i,Dt as a,K as o,Mt as s,O as c,R as l,S as u,W as d,b as f,et as ee,k as p,kt as m,m as h,mt as g,st as _,w as v,x as y,yt as b}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as x,I as te,K as ne,M as re,N as ie,u as S}from"./widgets-Bwh_S8is.js";import{c as C,i as ae}from"./src-BEKjKq3V.js";import{t as w}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{n as oe}from"./vue-i18n.runtime-Asl2hnl1.js";import{t as se}from"./airi-card-OVmLkj5R.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,Ct as i,Dt as a,K as o,Mt as s,O as c,R as l,S as u,W as d,b as f,et as ee,k as p,kt as m,m as h,mt as g,st as _,w as v,x as y,yt as b}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as x,I as te,K as ne,M as re,N as ie,u as S}from"./widgets-Bwh_S8is.js";import{c as C,i as ae}from"./src-BEKjKq3V.js";import{t as w}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{n as oe}from"./vue-i18n.runtime-Asl2hnl1.js";import{t as se}from"./airi-card-B4NTpy90.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=w(n({__name:`CardCreationDialog`,props:l({modelValue:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:l([`update:modelValue`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,l=ee(e,`modelValue`),{t:w}=oe(),T=se(),E=b(``),D=[{id:`identity`,label:w(`settings.pages.card.creation.identity`),icon:`i-solar:emoji-funny-square-bold-duotone`},{id:`behavior`,label:w(`settings.pages.card.creation.behavior`),icon:`i-solar:chat-round-line-bold-duotone`},{id:`settings`,label:w(`settings.pages.card.creation.settings`),icon:`i-solar:settings-bold-duotone`}],O=f({get:()=>D.find(e=>e.id===E.value)?E.value:D[0]?.id||``,set:e=>{E.value=e}}),k=b(!1),A=b(``);function j(e){let t=i(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=w(`settings.pages.card.creation.errors.posthistoryinstructions`),!1}else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.systemprompt`),!1;else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.scenario`),!1;else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.personality`),!1;else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.description`),!1;else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.version`),!1;else return k.value=!0,A.value=w(`settings.pages.card.creation.errors.name`),!1;return k.value=!1,T.addCard(t),l.value=!1,!0}let M=b({name:w(`settings.pages.card.creation.defaults.name`),nickname:void 0,version:`1.0`,description:``,notes:void 0,personality:w(`settings.pages.card.creation.defaults.personality`),scenario:w(`settings.pages.card.creation.defaults.scenario`),systemPrompt:w(`settings.pages.card.creation.defaults.systemprompt`),postHistoryInstructions:w(`settings.pages.card.creation.defaults.posthistoryinstructions`),greetings:[],messageExample:[]});function N(e,t){return f({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=f({get:()=>M.value.greetings??[],set:e=>{M.value.greetings=e||[]}}),Z=N(`version`),Q=N(`systemPrompt`),$=N(`postHistoryInstructions`);return(e,t)=>(d(),u(a(ne),{open:l.value,"onUpdate:open":t[12]||=e=>n(`update:modelValue`,e)},{default:_(()=>[p(a(ie),null,{default:_(()=>[p(a(x),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),p(a(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:_(()=>[y(`div`,L,[p(a(re),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:_(()=>[c(s(a(w)(`settings.pages.card.create_card`)),1)]),_:1}),y(`div`,R,[y(`div`,z,[y(`div`,B,[(d(),v(h,null,o(D,e=>y(`button`,{key:e.id,class:m([`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},[y(`div`,H,[y(`div`,{class:m(e.icon)},null,2),c(` `+s(e.label),1)])],10,V)),64))])])]),k.value?(d(),v(`div`,U,[y(`p`,W,s(A.value),1)])):r(``,!0),O.value===`identity`?(d(),v(`div`,G,[y(`p`,ce,s(a(w)(`settings.pages.card.creation.fields_info.subtitle`)),1),y(`div`,le,[p(a(C),{modelValue:a(P),"onUpdate:modelValue":t[0]||=e=>g(P)?P.value=e:null,label:a(w)(`settings.pages.card.creation.name`),description:a(w)(`settings.pages.card.creation.fields_info.name`),required:!0},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a(F),"onUpdate:modelValue":t[1]||=e=>g(F)?F.value=e:null,label:a(w)(`settings.pages.card.creation.nickname`),description:a(w)(`settings.pages.card.creation.fields_info.nickname`)},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a(K),"onUpdate:modelValue":t[2]||=e=>g(K)?K.value=e:null,label:a(w)(`settings.pages.card.creation.description`),"single-line":!1,required:!0,description:a(w)(`settings.pages.card.creation.fields_info.description`)},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a(q),"onUpdate:modelValue":t[3]||=e=>g(q)?q.value=e:null,label:a(w)(`settings.pages.card.creator_notes`),"single-line":!1,description:a(w)(`settings.pages.card.creation.fields_info.notes`)},null,8,[`modelValue`,`label`,`description`])])])):O.value===`behavior`?(d(),v(`div`,ue,[y(`div`,de,[p(a(C),{modelValue:a(J),"onUpdate:modelValue":t[4]||=e=>g(J)?J.value=e:null,label:a(w)(`settings.pages.card.personality`),"single-line":!1,required:!0,description:a(w)(`settings.pages.card.creation.fields_info.personality`)},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a(Y),"onUpdate:modelValue":t[5]||=e=>g(Y)?Y.value=e:null,label:a(w)(`settings.pages.card.scenario`),"single-line":!1,required:!0,description:a(w)(`settings.pages.card.creation.fields_info.scenario`)},null,8,[`modelValue`,`label`,`description`]),p(a(ae),{modelValue:X.value,"onUpdate:modelValue":t[6]||=e=>X.value=e,label:a(w)(`settings.pages.card.creation.greetings`),description:a(w)(`settings.pages.card.creation.fields_info.greetings`)},null,8,[`modelValue`,`label`,`description`])])])):O.value===`settings`?(d(),v(`div`,fe,[y(`div`,pe,[p(a(C),{modelValue:a(Q),"onUpdate:modelValue":t[7]||=e=>g(Q)?Q.value=e:null,label:a(w)(`settings.pages.card.systemprompt`),"single-line":!1,required:!0,description:a(w)(`settings.pages.card.creation.fields_info.systemprompt`)},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a($),"onUpdate:modelValue":t[8]||=e=>g($)?$.value=e:null,label:a(w)(`settings.pages.card.posthistoryinstructions`),"single-line":!1,required:!0,description:a(w)(`settings.pages.card.creation.fields_info.posthistoryinstructions`)},null,8,[`modelValue`,`label`,`description`]),p(a(C),{modelValue:a(Z),"onUpdate:modelValue":t[9]||=e=>g(Z)?Z.value=e:null,label:a(w)(`settings.pages.card.creation.version`),required:!0,description:a(w)(`settings.pages.card.creation.fields_info.version`)},null,8,[`modelValue`,`label`,`description`])])])):r(``,!0),y(`div`,me,[p(a(S),{variant:`secondary`,icon:`i-solar:undo-left-bold-duotone`,label:a(w)(`settings.pages.card.cancel`),disabled:!1,onClick:t[10]||=e=>l.value=!1},null,8,[`label`]),p(a(S),{variant:`primary`,icon:`i-solar:check-circle-bold-duotone`,label:a(w)(`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/CardCreationDialog-B7NfeBYC.js b/assets/CardCreationDialog-Cdv4lyGt.js
similarity index 72%
rename from assets/CardCreationDialog-B7NfeBYC.js
rename to assets/CardCreationDialog-Cdv4lyGt.js
index ecf25ce5a9a3f02065d1f262f72c8f784432c9ed..54f7fd4ddf8c1e4b78bb5f2574d0369e8404b5e6 100644
--- a/assets/CardCreationDialog-B7NfeBYC.js
+++ b/assets/CardCreationDialog-Cdv4lyGt.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-OVmLkj5R.js";import{t as e}from"./CardCreationDialog-BLpVLgw4.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-B4NTpy90.js";import{t as e}from"./CardCreationDialog-BegHxuO_.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardDetailDialog-BT71s_dx.js b/assets/CardDetailDialog-CZYOTntj.js
similarity index 70%
rename from assets/CardDetailDialog-BT71s_dx.js
rename to assets/CardDetailDialog-CZYOTntj.js
index 1594a6b78e5b3c08ba1963048289718359949c88..71b11dd85718fe6082bd2d3929fd25c202d5ba5e 100644
--- a/assets/CardDetailDialog-BT71s_dx.js
+++ b/assets/CardDetailDialog-CZYOTntj.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-OVmLkj5R.js";import{t as e}from"./CardDetailDialog-COqtM5o_.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./airi-card-B4NTpy90.js";import{t as e}from"./CardDetailDialog-rnlT1cGI.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardDetailDialog-COqtM5o_.js b/assets/CardDetailDialog-rnlT1cGI.js
similarity index 98%
rename from assets/CardDetailDialog-COqtM5o_.js
rename to assets/CardDetailDialog-rnlT1cGI.js
index 5323196904a9038ac506956d531621203cac7769..30ad993067408ab671c8c5476ee9645b6ad8985c 100644
--- a/assets/CardDetailDialog-COqtM5o_.js
+++ b/assets/CardDetailDialog-rnlT1cGI.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,W as o,b as s,k as c,kt as l,m as u,st as d,w as f,x as p,yt as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as ee,I as te,K as ne,M as re,N as h,u as ie}from"./widgets-Bwh_S8is.js";import{I as ae}from"./settings-DqmULHLB.js";import{t as g}from"./DeleteCardDialog-DFRvZcEN.js";import{Lt as oe}from"./components-DjrTbOCd.js";import{n as se}from"./vue-i18n.runtime-Asl2hnl1.js";import{t as ce}from"./airi-card-OVmLkj5R.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}=ae(H),W=s(()=>{if(z.cardId)return H.getCard(z.cardId)}),G=s(()=>{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=s(()=>W.value?{personality:W.value.personality,scenario:W.value.scenario,systemPrompt:W.value.systemPrompt,postHistoryInstructions:W.value.postHistoryInstructions}:{}),q=s(()=>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=s(()=>{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}),$=s({get:()=>Q.value.find(e=>e.id===Z.value)?Z.value:Q.value[0]?.id||``,set:e=>{Z.value=e}});return(s,m)=>(o(),f(u,null,[c(n(ne),{open:e.modelValue,"onUpdate:open":m[0]||=e=>B(`update:modelValue`,e)},{default:d(()=>[c(n(h),null,{default:d(()=>[c(n(ee),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),c(n(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:d(()=>[W.value?(o(),f(`div`,le,[p(`div`,ue,[p(`div`,de,[p(`div`,null,[p(`div`,fe,[c(n(re),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:d(()=>[a(i(W.value.name),1)]),_:1}),q.value?(o(),f(`div`,pe,[m[3]||=p(`div`,{"i-solar:check-circle-bold-duotone":``,"text-xs":``},null,-1),a(` `+i(n(V)(`settings.pages.card.active_badge`)),1)])):t(``,!0)]),p(`div`,me,[a(` v`+i(W.value.version)+` `,1),W.value.creator?(o(),f(u,{key:0},[a(` · `+i(n(V)(`settings.pages.card.created_by`))+` `,1),p(`span`,he,i(W.value.creator),1)],64)):t(``,!0)])]),p(`div`,_,[c(n(ie),{variant:`primary`,icon:q.value?`i-solar:check-circle-bold-duotone`:`i-solar:play-circle-broken`,label:q.value?n(V)(`settings.pages.card.active`):n(V)(`settings.pages.card.activate`),disabled:q.value,class:l({"animate-pulse":J.value}),onClick:Ce},null,8,[`icon`,`label`,`disabled`,`class`])])]),p(`div`,v,[p(`div`,y,[p(`div`,b,[(o(!0),f(u,null,r(Q.value,e=>(o(),f(`button`,{key:e.id,class:l([`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:l(e.icon)},null,2),a(` `+i(e.label),1)])],10,x))),128))])])]),$.value===`notes`&&W.value.notes?(o(),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?(o(),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)?(o(),f(`div`,D,[p(`div`,O,[(o(!0),f(u,null,r(K.value,(e,r)=>(o(),f(u,{key:r},[e?(o(),f(`div`,k,[p(`h2`,A,i(n(V)(`settings.pages.card.${r.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`?(o(),f(`div`,M,[p(`div`,N,[p(`div`,P,[p(`span`,F,[m[4]||=p(`div`,{"i-lucide:ghost":``},null,-1),a(` `+i(n(V)(`settings.pages.card.consciousness.model`)),1)]),p(`div`,ge,i(G.value.consciousness??`default`),1)]),p(`div`,I,[p(`span`,L,[m[5]||=p(`div`,{"i-lucide:mic":``},null,-1),a(` `+i(n(V)(`settings.pages.card.speech.model`)),1)]),p(`div`,_e,i(G.value.speech??`default`),1)]),p(`div`,ve,[p(`span`,ye,[m[6]||=p(`div`,{"i-lucide:music":``},null,-1),a(` `+i(n(V)(`settings.pages.card.speech.voice`)),1)]),p(`div`,be,i(G.value.voice??`default`),1)])])])):t(``,!0)])])):(o(),f(`div`,xe,[m[7]||=p(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),a(` `+i(n(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,Dt as n,K as r,Mt as i,O as a,W as o,b as s,k as c,kt as l,m as u,st as d,w as f,x as p,yt as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as ee,I as te,K as ne,M as re,N as h,u as ie}from"./widgets-Bwh_S8is.js";import{I as ae}from"./settings-DqmULHLB.js";import{t as g}from"./DeleteCardDialog-DFRvZcEN.js";import{Lt as oe}from"./components-B304j5qu.js";import{n as se}from"./vue-i18n.runtime-Asl2hnl1.js";import{t as ce}from"./airi-card-B4NTpy90.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}=ae(H),W=s(()=>{if(z.cardId)return H.getCard(z.cardId)}),G=s(()=>{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=s(()=>W.value?{personality:W.value.personality,scenario:W.value.scenario,systemPrompt:W.value.systemPrompt,postHistoryInstructions:W.value.postHistoryInstructions}:{}),q=s(()=>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=s(()=>{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}),$=s({get:()=>Q.value.find(e=>e.id===Z.value)?Z.value:Q.value[0]?.id||``,set:e=>{Z.value=e}});return(s,m)=>(o(),f(u,null,[c(n(ne),{open:e.modelValue,"onUpdate:open":m[0]||=e=>B(`update:modelValue`,e)},{default:d(()=>[c(n(h),null,{default:d(()=>[c(n(ee),{class:`fixed inset-0 z-100 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),c(n(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:d(()=>[W.value?(o(),f(`div`,le,[p(`div`,ue,[p(`div`,de,[p(`div`,null,[p(`div`,fe,[c(n(re),{"text-2xl":``,"font-normal":``,class:`from-primary-500 to-primary-400 bg-gradient-to-r bg-clip-text text-transparent`},{default:d(()=>[a(i(W.value.name),1)]),_:1}),q.value?(o(),f(`div`,pe,[m[3]||=p(`div`,{"i-solar:check-circle-bold-duotone":``,"text-xs":``},null,-1),a(` `+i(n(V)(`settings.pages.card.active_badge`)),1)])):t(``,!0)]),p(`div`,me,[a(` v`+i(W.value.version)+` `,1),W.value.creator?(o(),f(u,{key:0},[a(` · `+i(n(V)(`settings.pages.card.created_by`))+` `,1),p(`span`,he,i(W.value.creator),1)],64)):t(``,!0)])]),p(`div`,_,[c(n(ie),{variant:`primary`,icon:q.value?`i-solar:check-circle-bold-duotone`:`i-solar:play-circle-broken`,label:q.value?n(V)(`settings.pages.card.active`):n(V)(`settings.pages.card.activate`),disabled:q.value,class:l({"animate-pulse":J.value}),onClick:Ce},null,8,[`icon`,`label`,`disabled`,`class`])])]),p(`div`,v,[p(`div`,y,[p(`div`,b,[(o(!0),f(u,null,r(Q.value,e=>(o(),f(`button`,{key:e.id,class:l([`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:l(e.icon)},null,2),a(` `+i(e.label),1)])],10,x))),128))])])]),$.value===`notes`&&W.value.notes?(o(),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?(o(),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)?(o(),f(`div`,D,[p(`div`,O,[(o(!0),f(u,null,r(K.value,(e,r)=>(o(),f(u,{key:r},[e?(o(),f(`div`,k,[p(`h2`,A,i(n(V)(`settings.pages.card.${r.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`?(o(),f(`div`,M,[p(`div`,N,[p(`div`,P,[p(`span`,F,[m[4]||=p(`div`,{"i-lucide:ghost":``},null,-1),a(` `+i(n(V)(`settings.pages.card.consciousness.model`)),1)]),p(`div`,ge,i(G.value.consciousness??`default`),1)]),p(`div`,I,[p(`span`,L,[m[5]||=p(`div`,{"i-lucide:mic":``},null,-1),a(` `+i(n(V)(`settings.pages.card.speech.model`)),1)]),p(`div`,_e,i(G.value.speech??`default`),1)]),p(`div`,ve,[p(`span`,ye,[m[6]||=p(`div`,{"i-lucide:music":``},null,-1),a(` `+i(n(V)(`settings.pages.card.speech.voice`)),1)]),p(`div`,be,i(G.value.voice??`default`),1)])])])):t(``,!0)])])):(o(),f(`div`,xe,[m[7]||=p(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),a(` `+i(n(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-BOTDAMic.js b/assets/CardListItem-D4iy0g4e.js
similarity index 77%
rename from assets/CardListItem-BOTDAMic.js
rename to assets/CardListItem-D4iy0g4e.js
index b0ebf2d323f56b0fb2997d76a4d647876adb6036..515cb27b9070bd693673dbc05a93d7a59f2d525f 100644
--- a/assets/CardListItem-BOTDAMic.js
+++ b/assets/CardListItem-D4iy0g4e.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as e}from"./CardListItem-BMB1rgl9.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as e}from"./CardListItem-pI4SdZHC.js";export{e as default};
\ No newline at end of file
diff --git a/assets/CardListItem-BMB1rgl9.js b/assets/CardListItem-pI4SdZHC.js
similarity index 98%
rename from assets/CardListItem-BMB1rgl9.js
rename to assets/CardListItem-pI4SdZHC.js
index eac198071d62528040259d0ecbc399c211b283bb..3d990fdf09b854e1e6a7ff6d94a2c86dc172ea18 100644
--- a/assets/CardListItem-BMB1rgl9.js
+++ b/assets/CardListItem-pI4SdZHC.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,Mt as r,S as i,W as a,f as o,kt as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{xt as d}from"./components-DjrTbOCd.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)=>(a(),i(n(d),{relative:``,"min-h-120px":``,flex:`~ col`,"cursor-pointer":``,"overflow-hidden":``,"rounded-xl":``,class:s([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?(a(),l(`div`,h,[...T[3]||=[u(`div`,{"i-solar:check-circle-bold-duotone":``,"text-sm":``},null,-1)]])):t(``,!0)]),e.description?(a(),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]||=o(e=>w(`activate`),[`stop`])},[u(`div`,{class:s([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):(a(),l(`button`,{key:0,"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,onClick:T[1]||=o(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,Dt as n,Mt as r,S as i,W as a,f as o,kt as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{xt as d}from"./components-B304j5qu.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)=>(a(),i(n(d),{relative:``,"min-h-120px":``,flex:`~ col`,"cursor-pointer":``,"overflow-hidden":``,"rounded-xl":``,class:s([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?(a(),l(`div`,h,[...T[3]||=[u(`div`,{"i-solar:check-circle-bold-duotone":``,"text-sm":``},null,-1)]])):t(``,!0)]),e.description?(a(),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]||=o(e=>w(`activate`),[`stop`])},[u(`div`,{class:s([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):(a(),l(`button`,{key:0,"rounded-lg":``,"p-1.5":``,"transition-colors":``,hover:`bg-neutral-200 dark:bg-neutral-700/50`,onClick:T[1]||=o(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-BRiaz_JF.js b/assets/DeleteCardDialog-n76YoIdP.js
similarity index 88%
rename from assets/DeleteCardDialog-BRiaz_JF.js
rename to assets/DeleteCardDialog-n76YoIdP.js
index 7e72ecc582450c20c2dcf55e6460da2c29055626..dae563acbd955c467b96db0852b3113537a37e71 100644
--- a/assets/DeleteCardDialog-BRiaz_JF.js
+++ b/assets/DeleteCardDialog-n76YoIdP.js
@@ -1 +1 @@
-import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as e}from"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";export{e as default};
\ No newline at end of file
+import"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as e}from"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";export{e as default};
\ No newline at end of file
diff --git a/assets/_...all_-BgEpI-v8.js b/assets/_...all_-DLSbXW4Z.js
similarity index 93%
rename from assets/_...all_-BgEpI-v8.js
rename to assets/_...all_-DLSbXW4Z.js
index c762d168cf8b76df582c81a5ccc2e6582fa74247..60cb02d846b7bd0587d489dc64bc6b1a34ce40ca 100644
--- a/assets/_...all_-BgEpI-v8.js
+++ b/assets/_...all_-DLSbXW4Z.js
@@ -1 +1 @@
-import{A as e,Dt as t,O as n,W as r,k as i,st as a,w as o,x as s}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{u as c}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{o as l}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),o(`div`,u,[l[2]||=s(`div`,{"text-3xl":``},` Where are we? `,-1),s(`div`,null,[i(t(c),{onClick:l[0]||=e=>t(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,Dt as t,O as n,W as r,k as i,st as a,w as o,x as s}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{u as c}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{o as l}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),o(`div`,u,[l[2]||=s(`div`,{"text-3xl":``},` Where are we? `,-1),s(`div`,null,[i(t(c),{onClick:l[0]||=e=>t(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_-DvIt8RJu.js b/assets/_providerId_-CmGS-uQu.js
similarity index 92%
rename from assets/_providerId_-DvIt8RJu.js
rename to assets/_providerId_-CmGS-uQu.js
index 6e41a55363576eeaca3d23712ba2f3c3e891f7f0..8cde7afe713a35a4736659d493dff6c27f3a5f60 100644
--- a/assets/_providerId_-DvIt8RJu.js
+++ b/assets/_providerId_-CmGS-uQu.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{a as m}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./use-provider-validation-CxR943Dn.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=c({get:()=>T.value[S]?.apiKey||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].apiKey=e}}),D=c({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,c)=>(s(),o(n(g),{"provider-name":n(A)?.localizedName,"provider-icon-color":n(A)?.iconColor,"on-back":()=>n(k).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(x),{title:n(O)(`settings.pages.providers.common.section.basic.title`),description:n(O)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(P)},{default:u(()=>[l(n(b),{modelValue:E.value,"onUpdate:modelValue":c[0]||=e=>E.value=e,"provider-name":n(A)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(O)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:D.value,"onUpdate:modelValue":c[1]||=e=>D.value=e,placeholder:n(A)?.defaultOptions?.().baseUrl||`Base URL of your provider`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!n(M)&&n(j)===0&&n(N)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(O)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(N)?{name:`content`,fn:u(()=>[d(`div`,w,i(n(N)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(M)&&n(j)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{a as m}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./use-provider-validation-DdxESxz-.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=c({get:()=>T.value[S]?.apiKey||``,set:e=>{T.value[S]||(T.value[S]={}),T.value[S].apiKey=e}}),D=c({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,c)=>(s(),o(n(g),{"provider-name":n(A)?.localizedName,"provider-icon-color":n(A)?.iconColor,"on-back":()=>n(k).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(x),{title:n(O)(`settings.pages.providers.common.section.basic.title`),description:n(O)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(P)},{default:u(()=>[l(n(b),{modelValue:E.value,"onUpdate:modelValue":c[0]||=e=>E.value=e,"provider-name":n(A)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(O)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:D.value,"onUpdate:modelValue":c[1]||=e=>D.value=e,placeholder:n(A)?.defaultOptions?.().baseUrl||`Base URL of your provider`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!n(M)&&n(j)===0&&n(N)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(O)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(N)?{name:`content`,fn:u(()=>[d(`div`,w,i(n(N)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(M)&&n(j)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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-OVmLkj5R.js b/assets/airi-card-B4NTpy90.js
similarity index 97%
rename from assets/airi-card-OVmLkj5R.js
rename to assets/airi-card-B4NTpy90.js
index f00404deb9fe7fea1d4c5e84dd95aa539885ef8b..5ce8ecce179491940c4a43ef4234a659e71abf47 100644
--- a/assets/airi-card-OVmLkj5R.js
+++ b/assets/airi-card-B4NTpy90.js
@@ -1,4 +1,4 @@
-import{H as e,b as t,rt as n}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{A as r,F as i,I as a}from"./settings-DqmULHLB.js";import{f as o}from"./dist-D-gzSpcr.js";import{Bt as s,Q as c,l}from"./components-DjrTbOCd.js";import{n as u}from"./vue-i18n.runtime-Asl2hnl1.js";const d=i(`airi-card`,()=>{let i=o(`airi-cards`,new Map),d=o(`airi-card-active-id`,`default`),f=t(()=>i.value.get(d.value)),p=c(),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{H as e,b as t,rt as n}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{A as r,F as i,I as a}from"./settings-DqmULHLB.js";import{f as o}from"./dist-D-gzSpcr.js";import{Bt as s,Q as c,l}from"./components-B304j5qu.js";import{n as u}from"./vue-i18n.runtime-Asl2hnl1.js";const d=i(`airi-card`,()=>{let i=o(`airi-cards`,new Map),d=o(`airi-card-active-id`,`default`),f=t(()=>i.value.get(d.value)),p=c(),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:s(e(`base.prompt.prefix`),e(`base.prompt.suffix`)).content}))}),n(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:t(()=>({consciousness:{model:h.value},speech:{model:_.value,voice_id:g.value}})),systemPrompt:t(()=>{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-D4nqd0PO.js b/assets/airi-card-CuGs5Mus.js
similarity index 95%
rename from assets/airi-card-D4nqd0PO.js
rename to assets/airi-card-CuGs5Mus.js
index 1d25dc472b7a91f60142a2bc68397aadac823e64..6a59c66df8596d704de15335b3c77eff2f1b94a9 100644
--- a/assets/airi-card-D4nqd0PO.js
+++ b/assets/airi-card-CuGs5Mus.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,S as o,W as s,Y as c,b as l,ct as u,k as d,kt as f,l as p,m,rt as h,st as g,w as _,x as v,yt as y}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as ee}from"./widgets-Bwh_S8is.js";import{t as te}from"./src-BEKjKq3V.js";import{I as ne}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as re}from"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./BasicInputFile-CQXt7OnG.js";import{t as b}from"./InputFile-CFl1Dtoi.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import{n as x}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./airi-card-OVmLkj5R.js";import{t as w}from"./CardCreate-Dlpyfd2C.js";import{t as ie}from"./CardCreationDialog-BLpVLgw4.js";import{t as T}from"./CardDetailDialog-COqtM5o_.js";import{t as E}from"./CardListItem-BMB1rgl9.js";var D={"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:S}=x(),R=C(),{addCard:z,removeCard:B}=R,{cards:V,activeCardId:H}=ne(R),U=y(``),W=y(!1),G=y(!1),K=y(``),q=y(`nameAsc`),J=y([]);h(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,l)=>{let h=c(`motion`);return s(),_(m,null,[v(`div`,D,[v(`div`,ae,[v(`div`,oe,[l[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),u(v(`input`,{"onUpdate:modelValue":l[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:n(S)(`settings.pages.card.search`)},null,8,O),[[p,K.value]])]),v(`div`,k,[v(`div`,A,i(n(S)(`settings.pages.card.sort_by`))+`: `,1),d(n(te),{modelValue:q.value,"onUpdate:modelValue":l[1]||=e=>q.value=e,options:[{value:`nameAsc`,label:n(S)(`settings.pages.card.name_asc`)},{value:`nameDesc`,label:n(S)(`settings.pages.card.name_desc`)},{value:`recent`,label:n(S)(`settings.pages.card.recent`)}],placeholder:`Select sort option`,class:`min-w-[150px]`},null,8,[`modelValue`,`options`])])]),v(`div`,{class:f([`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))]":n(V).size>0}])},[d(n(b),{modelValue:J.value,"onUpdate:modelValue":l[2]||=e=>J.value=e,accept:`*.json`},{default:g(({isDragging:e})=>[e?(s(),_(`div`,P,[l[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,i(n(S)(`settings.pages.card.drop_here`)),1)])):(s(),_(`div`,j,[l[8]||=v(`div`,{"i-solar:upload-square-line-duotone":``,"mb-4":``,"text-5xl":``,text:`neutral-400 dark:neutral-500`},null,-1),v(`p`,M,i(n(S)(`settings.pages.card.upload`)),1),v(`p`,N,i(n(S)(`settings.pages.card.upload_desc`)),1)]))]),_:1},8,[`modelValue`]),d(w,{onClick:de}),n(V).size>0?(s(!0),_(m,{key:0},r(X.value,e=>(s(),o(E,{id:e.id,key:e.id,name:e.name,description:e.description,"is-active":e.id===n(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),n(V).size===0?(s(),_(`div`,I,[l[10]||=v(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),v(`p`,null,i(n(S)(`settings.pages.card.no_cards`)),1)])):t(``,!0),K.value&&X.value.length===0?(s(),o(n(ee),{key:2,type:`warning`},{title:g(()=>[a(i(n(S)(`settings.pages.card.no_results`)),1)]),content:g(()=>[a(i(n(S)(`settings.pages.card.try_different_search`)),1)]),_:1})):t(``,!0)],2)]),d(re,{modelValue:Z.value,"onUpdate:modelValue":l[3]||=e=>Z.value=e,"card-name":Q.value?n(R).getCard(Q.value)?.name:``,onConfirm:ce,onCancel:l[4]||=e=>Q.value=null},null,8,[`modelValue`,`card-name`]),d(T,{modelValue:W.value,"onUpdate:modelValue":l[5]||=e=>W.value=e,"card-id":U.value},null,8,[`modelValue`,`card-id`]),d(ie,{modelValue:G.value,"onUpdate:modelValue":l[6]||=e=>G.value=e},null,8,[`modelValue`]),u((s(),_(`div`,L,[...l[11]||=[v(`div`,{text:`60`,"i-solar:emoji-funny-square-bold-duotone":``},null,-1)]])),[[h]])],64)}}});typeof S==`function`&&S(R);var z=R;export{z as default};
\ No newline at end of file
+import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,S as o,W as s,Y as c,b as l,ct as u,k as d,kt as f,l as p,m,rt as h,st as g,w as _,x as v,yt as y}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as ee}from"./widgets-Bwh_S8is.js";import{t as te}from"./src-BEKjKq3V.js";import{I as ne}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as re}from"./DeleteCardDialog-DFRvZcEN.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./BasicInputFile-CQXt7OnG.js";import{t as b}from"./InputFile-CFl1Dtoi.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import{n as x}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{t as C}from"./airi-card-B4NTpy90.js";import{t as w}from"./CardCreate-Dlpyfd2C.js";import{t as ie}from"./CardCreationDialog-BegHxuO_.js";import{t as T}from"./CardDetailDialog-rnlT1cGI.js";import{t as E}from"./CardListItem-pI4SdZHC.js";var D={"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:S}=x(),R=C(),{addCard:z,removeCard:B}=R,{cards:V,activeCardId:H}=ne(R),U=y(``),W=y(!1),G=y(!1),K=y(``),q=y(`nameAsc`),J=y([]);h(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,l)=>{let h=c(`motion`);return s(),_(m,null,[v(`div`,D,[v(`div`,ae,[v(`div`,oe,[l[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),u(v(`input`,{"onUpdate:modelValue":l[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:n(S)(`settings.pages.card.search`)},null,8,O),[[p,K.value]])]),v(`div`,k,[v(`div`,A,i(n(S)(`settings.pages.card.sort_by`))+`: `,1),d(n(te),{modelValue:q.value,"onUpdate:modelValue":l[1]||=e=>q.value=e,options:[{value:`nameAsc`,label:n(S)(`settings.pages.card.name_asc`)},{value:`nameDesc`,label:n(S)(`settings.pages.card.name_desc`)},{value:`recent`,label:n(S)(`settings.pages.card.recent`)}],placeholder:`Select sort option`,class:`min-w-[150px]`},null,8,[`modelValue`,`options`])])]),v(`div`,{class:f([`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))]":n(V).size>0}])},[d(n(b),{modelValue:J.value,"onUpdate:modelValue":l[2]||=e=>J.value=e,accept:`*.json`},{default:g(({isDragging:e})=>[e?(s(),_(`div`,P,[l[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,i(n(S)(`settings.pages.card.drop_here`)),1)])):(s(),_(`div`,j,[l[8]||=v(`div`,{"i-solar:upload-square-line-duotone":``,"mb-4":``,"text-5xl":``,text:`neutral-400 dark:neutral-500`},null,-1),v(`p`,M,i(n(S)(`settings.pages.card.upload`)),1),v(`p`,N,i(n(S)(`settings.pages.card.upload_desc`)),1)]))]),_:1},8,[`modelValue`]),d(w,{onClick:de}),n(V).size>0?(s(!0),_(m,{key:0},r(X.value,e=>(s(),o(E,{id:e.id,key:e.id,name:e.name,description:e.description,"is-active":e.id===n(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),n(V).size===0?(s(),_(`div`,I,[l[10]||=v(`div`,{"i-solar:card-search-broken":``,"mx-auto":``,"mb-3":``,"text-6xl":``,"text-neutral-400":``},null,-1),v(`p`,null,i(n(S)(`settings.pages.card.no_cards`)),1)])):t(``,!0),K.value&&X.value.length===0?(s(),o(n(ee),{key:2,type:`warning`},{title:g(()=>[a(i(n(S)(`settings.pages.card.no_results`)),1)]),content:g(()=>[a(i(n(S)(`settings.pages.card.try_different_search`)),1)]),_:1})):t(``,!0)],2)]),d(re,{modelValue:Z.value,"onUpdate:modelValue":l[3]||=e=>Z.value=e,"card-name":Q.value?n(R).getCard(Q.value)?.name:``,onConfirm:ce,onCancel:l[4]||=e=>Q.value=null},null,8,[`modelValue`,`card-name`]),d(T,{modelValue:W.value,"onUpdate:modelValue":l[5]||=e=>W.value=e,"card-id":U.value},null,8,[`modelValue`,`card-id`]),d(ie,{modelValue:G.value,"onUpdate:modelValue":l[6]||=e=>G.value=e},null,8,[`modelValue`]),u((s(),_(`div`,L,[...l[11]||=[v(`div`,{text:`60`,"i-solar:emoji-funny-square-bold-duotone":``},null,-1)]])),[[h]])],64)}}});typeof S==`function`&&S(R);var z=R;export{z as default};
\ No newline at end of file
diff --git a/assets/alibaba-cloud-model-studio-DimUT53k.js b/assets/alibaba-cloud-model-studio-BF2te9-p.js
similarity index 98%
rename from assets/alibaba-cloud-model-studio-DimUT53k.js
rename to assets/alibaba-cloud-model-studio-BF2te9-p.js
index 4295d22c525a931b103134c9de033c9b57a58a9e..16260a04419fdaece831f703c184a2dad848555c 100644
--- a/assets/alibaba-cloud-model-studio-DimUT53k.js
+++ b/assets/alibaba-cloud-model-studio-BF2te9-p.js
@@ -1 +1 @@
-import{A as e,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as d}from"./src-BEKjKq3V.js";import{I as f}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as p,c as m,f as h,l as g}from"./components-DjrTbOCd.js";import{n as _}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 n(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)}),s(S,async()=>{let e=E.getProviderConfig(b);e.pitch=S.value}),s(C,async()=>{let e=E.getProviderConfig(b);e.speed=C.value}),s(w,async()=>{let e=E.getProviderConfig(b);e.volume=w.value}),s(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,n)=>(i(),r(t(m),{"provider-id":b,"default-model":x,"additional-settings":v},{"voice-settings":c(()=>[l(`div`,y,[o(t(d),{modelValue:S.value,"onUpdate:modelValue":n[0]||=e=>S.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(d),{modelValue:C.value,"onUpdate:modelValue":n[1]||=e=>C.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(O)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:w.value,"onUpdate:modelValue":n[2]||=e=>w.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(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,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as d}from"./src-BEKjKq3V.js";import{I as f}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as p,c as m,f as h,l as g}from"./components-B304j5qu.js";import{n as _}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 n(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)}),s(S,async()=>{let e=E.getProviderConfig(b);e.pitch=S.value}),s(C,async()=>{let e=E.getProviderConfig(b);e.speed=C.value}),s(w,async()=>{let e=E.getProviderConfig(b);e.volume=w.value}),s(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,n)=>(i(),r(t(m),{"provider-id":b,"default-model":x,"additional-settings":v},{"voice-settings":c(()=>[l(`div`,y,[o(t(d),{modelValue:S.value,"onUpdate:modelValue":n[0]||=e=>S.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(d),{modelValue:C.value,"onUpdate:modelValue":n[1]||=e=>C.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(O)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:w.value,"onUpdate:modelValue":n[2]||=e=>w.value=e,label:t(O)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(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-582p_TCR.js b/assets/aliyun-nls-transcription-BLeUYI-8.js
similarity index 97%
rename from assets/aliyun-nls-transcription-582p_TCR.js
rename to assets/aliyun-nls-transcription-BLeUYI-8.js
index b74fb917d3f013fd289c713e39791e64353f49bf..fb4011ac8f84d592799ab8b5a907b0e6a5d2bd52 100644
--- a/assets/aliyun-nls-transcription-582p_TCR.js
+++ b/assets/aliyun-nls-transcription-BLeUYI-8.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,S as o,St as s,V as ee,W as c,_t as l,b as u,k as d,kt as f,m as te,st as p,w as m,x as h,yt as g}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as _,u as v}from"./widgets-Bwh_S8is.js";import{a as y,c as b}from"./src-BEKjKq3V.js";import{I as x}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ne,G as re,K as ie,q as ae}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{n as oe}from"./hearing-CeJAH5gC.js";import{t as se}from"./process.worklet-CP2S9aR2.js";import{t as ce}from"./use-provider-validation-CxR943Dn.js";var le={class:`flex flex-col gap-6 md:flex-row`},ue={class:`whitespace-pre-wrap break-all`},de={class:`w-full flex flex-1 flex-col gap-6`},fe={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},pe={class:`flex flex-wrap items-center justify-between gap-3`},me={class:`space-x-3`},he={class:`text-sm text-neutral-500 dark:text-neutral-400`},ge={key:0,class:`rounded bg-red-500/10 px-2 py-0.5 text-xs text-red-500`},_e={key:1,class:`rounded bg-blue-500/10 px-2 py-0.5 text-xs text-blue-500`},ve={key:0,class:`mt-3 text-sm text-red-500`},ye={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},be={key:0,class:`mt-3 text-sm text-neutral-500 dark:text-neutral-400`},xe={class:`mt-1 font-medium`},Se={key:1,class:`mt-3 text-sm text-neutral-400 dark:text-neutral-600`},Ce={class:`mt-4 text-sm space-y-3`},we={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`},Te={key:0,class:`text-xs text-neutral-400`},C=`aliyun-nls-transcription`,w=`aliyun-nls-v1`,T=16e3,E=e({__name:`aliyun-nls-transcription`,setup(e){let S=[{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=oe(),D=ne(),{providers:O}=x(D);D.initializeProvider(C);let k=l({get accessKeyId(){return O.value[C]?.accessKeyId||``},set accessKeyId(e){A(),O.value[C].accessKeyId=e},get accessKeySecret(){return O.value[C]?.accessKeySecret||``},set accessKeySecret(e){A(),O.value[C].accessKeySecret=e},get appKey(){return O.value[C]?.appKey||``},set appKey(e){A(),O.value[C].appKey=e},get region(){return O.value[C]?.region||`cn-shanghai`},set region(e){A(),O.value[C].region=e}});function A(){O.value[C]||(O.value[C]={accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`})}let Ee=u(()=>!!(k.accessKeyId.trim()&&k.accessKeySecret.trim()&&k.appKey.trim())),j=g(!1),M=g(!1),N=g(null),P=g(``),F=g([]),I=s(),L=s(),R=s(),z=s(),B=s(),V=s(),H=s(null),U=s(null),W=u(()=>Ee.value&&!j.value&&!M.value),De=u(()=>j.value||M.value),Oe=u(()=>M.value&&!!V.value),{t:G,router:ke,providerMetadata:K,isValidating:q,isValid:J,validationMessage:Y,handleResetSettings:Ae}=ce(C);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(C);if(!n)throw Error(`Failed to initialize Aliyun NLS provider.`);let r=await E.transcription(C,n,w,{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 ee(async()=>{$(),await Q()}),(e,s)=>(c(),o(n(re),{"provider-name":n(K)?.localizedName,"provider-icon":n(K)?.icon,"provider-icon-color":n(K)?.iconColor,"on-back":()=>n(ke).back()},{default:p(()=>[h(`div`,le,[d(n(ie),{class:`w-full md:w-[40%] space-y-6`},{default:p(()=>[d(n(ae),{title:n(G)(`settings.pages.providers.common.section.basic.title`),description:n(G)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(Ae)},{default:p(()=>[d(n(b),{modelValue:k.accessKeyId,"onUpdate:modelValue":s[0]||=e=>k.accessKeyId=e,label:`Access Key ID`,placeholder:`LTAI...`},null,8,[`modelValue`]),d(n(b),{modelValue:k.accessKeySecret,"onUpdate:modelValue":s[1]||=e=>k.accessKeySecret=e,label:`Access Key Secret`,type:`password`,placeholder:`****************`},null,8,[`modelValue`]),d(n(b),{modelValue:k.appKey,"onUpdate:modelValue":s[2]||=e=>k.appKey=e,label:`App Key`,placeholder:`请输入 AppKey`},null,8,[`modelValue`]),d(n(y),{modelValue:k.region,"onUpdate:modelValue":s[3]||=e=>k.region=e,label:`Region`,options:S,layout:`vertical`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!n(J)&&n(q)===0&&n(Y)?(c(),o(n(_),{key:0,type:`error`},{title:p(()=>[a(i(n(G)(`settings.dialogs.onboarding.validationFailed`)),1)]),content:p(()=>[h(`div`,ue,i(n(Y)),1)]),_:1})):t(``,!0),n(J)&&n(q)===0?(c(),o(n(_),{key:1,type:`success`},{title:p(()=>[a(i(n(G)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),h(`div`,de,[h(`div`,fe,[h(`div`,pe,[h(`div`,me,[d(n(v),{disabled:!W.value,variant:`primary`,onClick:Pe},{default:p(()=>[a(i(j.value?`Streaming...`:`Start Realtime Transcription`),1)]),_:1},8,[`disabled`]),d(n(v),{disabled:!De.value,variant:`secondary`,onClick:Q},{default:p(()=>[...s[4]||=[a(` Stop `,-1)]]),_:1},8,[`disabled`]),M.value?(c(),o(n(v),{key:0,disabled:!Oe.value,onClick:$},{default:p(()=>[...s[5]||=[a(` Abort Session `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),h(`div`,he,[j.value?(c(),m(`span`,ge,` Recording `)):M.value?(c(),m(`span`,_e,` Connected `)):t(``,!0)])]),N.value?(c(),m(`p`,ve,i(N.value),1)):t(``,!0)]),h(`div`,ye,[s[7]||=h(`h2`,{class:`text-lg font-semibold`},` Transcripts `,-1),P.value?(c(),m(`div`,be,[s[6]||=h(`div`,{class:`text-xs text-neutral-400 tracking-wide uppercase dark:text-neutral-500`},` Partial `,-1),h(`div`,xe,i(P.value),1)])):t(``,!0),!F.value.length&&!P.value?(c(),m(`div`,Se,` Waiting for audio... `)):t(``,!0),h(`ul`,Ce,[(c(!0),m(te,null,r(F.value,e=>(c(),m(`li`,{key:e.index,class:`flex items-start gap-3`},[h(`span`,we,` #`+i(e.index),1),h(`div`,null,[h(`div`,{class:f([`font-medium`,e.final?``:`italic text-neutral-500 dark:text-neutral-400`])},i(e.text),3),e.final?t(``,!0):(c(),m(`div`,Te,` Awaiting final result... `))])]))),128))])])])])]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof S==`function`&&S(E);var D=E;export{D as default};
\ No newline at end of file
+import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,S as o,St as s,V as ee,W as c,_t as l,b as u,k as d,kt as f,m as te,st as p,w as m,x as h,yt as g}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as _,u as v}from"./widgets-Bwh_S8is.js";import{a as y,c as b}from"./src-BEKjKq3V.js";import{I as x}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ne,G as re,K as ie,q as ae}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as S}from"./route-block-B7Ro39Uj.js";import{n as oe}from"./hearing-46AQcWNz.js";import{t as se}from"./process.worklet-CP2S9aR2.js";import{t as ce}from"./use-provider-validation-DdxESxz-.js";var le={class:`flex flex-col gap-6 md:flex-row`},ue={class:`whitespace-pre-wrap break-all`},de={class:`w-full flex flex-1 flex-col gap-6`},fe={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},pe={class:`flex flex-wrap items-center justify-between gap-3`},me={class:`space-x-3`},he={class:`text-sm text-neutral-500 dark:text-neutral-400`},ge={key:0,class:`rounded bg-red-500/10 px-2 py-0.5 text-xs text-red-500`},_e={key:1,class:`rounded bg-blue-500/10 px-2 py-0.5 text-xs text-blue-500`},ve={key:0,class:`mt-3 text-sm text-red-500`},ye={class:`border border-neutral-200/80 rounded-xl bg-neutral-50/60 p-4 dark:border-neutral-700 dark:bg-neutral-900/40`},be={key:0,class:`mt-3 text-sm text-neutral-500 dark:text-neutral-400`},xe={class:`mt-1 font-medium`},Se={key:1,class:`mt-3 text-sm text-neutral-400 dark:text-neutral-600`},Ce={class:`mt-4 text-sm space-y-3`},we={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`},Te={key:0,class:`text-xs text-neutral-400`},C=`aliyun-nls-transcription`,w=`aliyun-nls-v1`,T=16e3,E=e({__name:`aliyun-nls-transcription`,setup(e){let S=[{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=oe(),D=ne(),{providers:O}=x(D);D.initializeProvider(C);let k=l({get accessKeyId(){return O.value[C]?.accessKeyId||``},set accessKeyId(e){A(),O.value[C].accessKeyId=e},get accessKeySecret(){return O.value[C]?.accessKeySecret||``},set accessKeySecret(e){A(),O.value[C].accessKeySecret=e},get appKey(){return O.value[C]?.appKey||``},set appKey(e){A(),O.value[C].appKey=e},get region(){return O.value[C]?.region||`cn-shanghai`},set region(e){A(),O.value[C].region=e}});function A(){O.value[C]||(O.value[C]={accessKeyId:``,accessKeySecret:``,appKey:``,region:`cn-shanghai`})}let Ee=u(()=>!!(k.accessKeyId.trim()&&k.accessKeySecret.trim()&&k.appKey.trim())),j=g(!1),M=g(!1),N=g(null),P=g(``),F=g([]),I=s(),L=s(),R=s(),z=s(),B=s(),V=s(),H=s(null),U=s(null),W=u(()=>Ee.value&&!j.value&&!M.value),De=u(()=>j.value||M.value),Oe=u(()=>M.value&&!!V.value),{t:G,router:ke,providerMetadata:K,isValidating:q,isValid:J,validationMessage:Y,handleResetSettings:Ae}=ce(C);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(C);if(!n)throw Error(`Failed to initialize Aliyun NLS provider.`);let r=await E.transcription(C,n,w,{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 ee(async()=>{$(),await Q()}),(e,s)=>(c(),o(n(re),{"provider-name":n(K)?.localizedName,"provider-icon":n(K)?.icon,"provider-icon-color":n(K)?.iconColor,"on-back":()=>n(ke).back()},{default:p(()=>[h(`div`,le,[d(n(ie),{class:`w-full md:w-[40%] space-y-6`},{default:p(()=>[d(n(ae),{title:n(G)(`settings.pages.providers.common.section.basic.title`),description:n(G)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(Ae)},{default:p(()=>[d(n(b),{modelValue:k.accessKeyId,"onUpdate:modelValue":s[0]||=e=>k.accessKeyId=e,label:`Access Key ID`,placeholder:`LTAI...`},null,8,[`modelValue`]),d(n(b),{modelValue:k.accessKeySecret,"onUpdate:modelValue":s[1]||=e=>k.accessKeySecret=e,label:`Access Key Secret`,type:`password`,placeholder:`****************`},null,8,[`modelValue`]),d(n(b),{modelValue:k.appKey,"onUpdate:modelValue":s[2]||=e=>k.appKey=e,label:`App Key`,placeholder:`请输入 AppKey`},null,8,[`modelValue`]),d(n(y),{modelValue:k.region,"onUpdate:modelValue":s[3]||=e=>k.region=e,label:`Region`,options:S,layout:`vertical`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!n(J)&&n(q)===0&&n(Y)?(c(),o(n(_),{key:0,type:`error`},{title:p(()=>[a(i(n(G)(`settings.dialogs.onboarding.validationFailed`)),1)]),content:p(()=>[h(`div`,ue,i(n(Y)),1)]),_:1})):t(``,!0),n(J)&&n(q)===0?(c(),o(n(_),{key:1,type:`success`},{title:p(()=>[a(i(n(G)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),h(`div`,de,[h(`div`,fe,[h(`div`,pe,[h(`div`,me,[d(n(v),{disabled:!W.value,variant:`primary`,onClick:Pe},{default:p(()=>[a(i(j.value?`Streaming...`:`Start Realtime Transcription`),1)]),_:1},8,[`disabled`]),d(n(v),{disabled:!De.value,variant:`secondary`,onClick:Q},{default:p(()=>[...s[4]||=[a(` Stop `,-1)]]),_:1},8,[`disabled`]),M.value?(c(),o(n(v),{key:0,disabled:!Oe.value,onClick:$},{default:p(()=>[...s[5]||=[a(` Abort Session `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),h(`div`,he,[j.value?(c(),m(`span`,ge,` Recording `)):M.value?(c(),m(`span`,_e,` Connected `)):t(``,!0)])]),N.value?(c(),m(`p`,ve,i(N.value),1)):t(``,!0)]),h(`div`,ye,[s[7]||=h(`h2`,{class:`text-lg font-semibold`},` Transcripts `,-1),P.value?(c(),m(`div`,be,[s[6]||=h(`div`,{class:`text-xs text-neutral-400 tracking-wide uppercase dark:text-neutral-500`},` Partial `,-1),h(`div`,xe,i(P.value),1)])):t(``,!0),!F.value.length&&!P.value?(c(),m(`div`,Se,` Waiting for audio... `)):t(``,!0),h(`ul`,Ce,[(c(!0),m(te,null,r(F.value,e=>(c(),m(`li`,{key:e.index,class:`flex items-start gap-3`},[h(`span`,we,` #`+i(e.index),1),h(`div`,null,[h(`div`,{class:f([`font-medium`,e.final?``:`italic text-neutral-500 dark:text-neutral-400`])},i(e.text),3),e.final?t(``,!0):(c(),m(`div`,Te,` Awaiting final result... `))])]))),128))])])])])]),_:1},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});typeof S==`function`&&S(E);var D=E;export{D as default};
\ No newline at end of file
diff --git a/assets/azure-ai-foundry-CNHWunrv.js b/assets/azure-ai-foundry-BwESjr-q.js
similarity index 96%
rename from assets/azure-ai-foundry-CNHWunrv.js
rename to assets/azure-ai-foundry-BwESjr-q.js
index 23c8d4fe5ad37e5623860ea19217e50d0de2948b..4578fabcbcb2e81d49bbe921ab7911f725431c91 100644
--- a/assets/azure-ai-foundry-CNHWunrv.js
+++ b/assets/azure-ai-foundry-BwESjr-q.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";import{t as S}from"./use-provider-validation-CxR943Dn.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=c({get:()=>x.value[w]?.apiKey||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiKey=e}}),E=c({get:()=>x.value[w]?.resourceName||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].resourceName=e}}),D=c({get:()=>x.value[w]?.apiVersion||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiVersion=e}}),O=c({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,c)=>(s(),o(n(h),{"provider-name":n(j)?.localizedName,"provider-icon-color":n(j)?.iconColor,"on-back":()=>n(A).back()},{default:u(()=>[l(n(g),null,{default:u(()=>[l(n(b),{title:n(k)(`settings.pages.providers.common.section.basic.title`),description:n(k)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(F)},{default:u(()=>[l(n(v),{modelValue:T.value,"onUpdate:modelValue":c[0]||=e=>T.value=e,"provider-name":n(j)?.localizedName,placeholder:`...`,required:``},null,8,[`modelValue`,`provider-name`]),l(n(y),{modelValue:E.value,"onUpdate:modelValue":c[1]||=e=>E.value=e,label:`Resouce name`,placeholder:`...`,description:`Prefix used in https://.services.ai.azure.com`,required:``},null,8,[`modelValue`]),l(n(y),{modelValue:O.value,"onUpdate:modelValue":c[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`]),l(n(_),{title:n(k)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(y),{modelValue:D.value,"onUpdate:modelValue":c[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`]),!n(N)&&n(M)===0&&n(P)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(k)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(P)?{name:`content`,fn:u(()=>[d(`div`,C,i(n(P)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(N)&&n(M)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as x}from"./route-block-B7Ro39Uj.js";import{t as S}from"./use-provider-validation-DdxESxz-.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=c({get:()=>x.value[w]?.apiKey||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiKey=e}}),E=c({get:()=>x.value[w]?.resourceName||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].resourceName=e}}),D=c({get:()=>x.value[w]?.apiVersion||``,set:e=>{x.value[w]||(x.value[w]={}),x.value[w].apiVersion=e}}),O=c({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,c)=>(s(),o(n(h),{"provider-name":n(j)?.localizedName,"provider-icon-color":n(j)?.iconColor,"on-back":()=>n(A).back()},{default:u(()=>[l(n(g),null,{default:u(()=>[l(n(b),{title:n(k)(`settings.pages.providers.common.section.basic.title`),description:n(k)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(F)},{default:u(()=>[l(n(v),{modelValue:T.value,"onUpdate:modelValue":c[0]||=e=>T.value=e,"provider-name":n(j)?.localizedName,placeholder:`...`,required:``},null,8,[`modelValue`,`provider-name`]),l(n(y),{modelValue:E.value,"onUpdate:modelValue":c[1]||=e=>E.value=e,label:`Resouce name`,placeholder:`...`,description:`Prefix used in https://.services.ai.azure.com`,required:``},null,8,[`modelValue`]),l(n(y),{modelValue:O.value,"onUpdate:modelValue":c[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`]),l(n(_),{title:n(k)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(y),{modelValue:D.value,"onUpdate:modelValue":c[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`]),!n(N)&&n(M)===0&&n(P)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(k)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(P)?{name:`content`,fn:u(()=>[d(`div`,C,i(n(P)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(N)&&n(M)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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-CrxLBxAV.js b/assets/beat-sync-DzM6qGMX.js
similarity index 99%
rename from assets/beat-sync-CrxLBxAV.js
rename to assets/beat-sync-DzM6qGMX.js
index 22cdaa6e520b344e5474c28f446dc98502094844..69a3caeb48742b1c8494bc205a5018c0b7f5aaf5 100644
--- a/assets/beat-sync-CrxLBxAV.js
+++ b/assets/beat-sync-DzM6qGMX.js
@@ -1 +1 @@
-import{A as e,Dt as t,H as n,K as r,Mt as i,O as a,S as o,U as s,W as c,it as l,k as u,m as ee,r as d,st as f,w as p,x as m,yt as h}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{u as g}from"./widgets-Bwh_S8is.js";import{o as _,u as v}from"./src-BEKjKq3V.js";import{A as y}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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 N,S as P,T as te,U as ne,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-DjrTbOCd.js";import{n as W}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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-BT_vcvDk.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=ne.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;te(t,o,1,1,I.AUTO);let s=r?new H(r,e,t,o,!1,i,a):new P(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 P{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===N(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});l(()=>{b.updateParameters(C.value)});function w(e){return((2**e-1)/1)**.5}n(()=>{let e=({energy:e})=>{S.value.unshift({id:y(),energy:e,normalizedEnergy:w(e)})};b.on(`beat`,e),s(()=>{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,n)=>(c(),p(`div`,ae,[m(`div`,oe,[m(`div`,se,[m(`div`,ce,[m(`div`,null,[m(`h2`,le,i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.title`)),1),m(`div`,ue,[m(`span`,null,i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.description`)),1)])]),m(`div`,de,[t(b).isActive?(c(),o(t(g),{key:0,onClick:t(b).stop},{default:f(()=>[a(i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.stop`)),1)]),_:1},8,[`onClick`])):(c(),o(t(g),{key:1,onClick:t(b).startFromScreenCapture},{default:f(()=>[a(i(t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.parameters.title`)),1),m(`div`,Q,[m(`span`,null,i(t(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},[...n[9]||=[m(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])]),m(`div`,he,[u(t(_),{modelValue:C.value.sensitivity,"onUpdate:modelValue":n[0]||=e=>C.value.sensitivity=e,label:t(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`]),u(t(_),{modelValue:C.value.minBeatInterval,"onUpdate:modelValue":n[1]||=e=>C.value.minBeatInterval=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.label`),description:t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.parameters.advanced_parameters`)),1)]),u(t(_),{modelValue:C.value.lowpassFilterFrequency,"onUpdate:modelValue":n[2]||=e=>C.value.lowpassFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.label`),description:t(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`]),u(t(_),{modelValue:C.value.highpassFilterFrequency,"onUpdate:modelValue":n[3]||=e=>C.value.highpassFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.label`),description:t(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`]),u(t(_),{modelValue:C.value.envelopeFilterFrequency,"onUpdate:modelValue":n[4]||=e=>C.value.envelopeFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.label`),description:t(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`]),u(t(v),{modelValue:C.value.warmup,"onUpdate:modelValue":n[5]||=e=>C.value.warmup=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(v),{modelValue:C.value.adaptiveThreshold,"onUpdate:modelValue":n[6]||=e=>C.value.adaptiveThreshold=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(v),{modelValue:C.value.spectralFlux,"onUpdate:modelValue":n[7]||=e=>C.value.spectralFlux=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(_),{modelValue:C.value.bufferDuration,"onUpdate:modelValue":n[8]||=e=>C.value.bufferDuration=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.label`),description:t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.beat_visualizer.title`)),1)]),m(`div`,xe,[u(d,{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:f(()=>[(c(!0),p(ee,null,r(S.value,e=>(c(),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,Dt as t,H as n,K as r,Mt as i,O as a,S as o,U as s,W as c,it as l,k as u,m as ee,r as d,st as f,w as p,x as m,yt as h}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{u as g}from"./widgets-Bwh_S8is.js";import{o as _,u as v}from"./src-BEKjKq3V.js";import{A as y}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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 N,S as P,T as te,U as ne,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-B304j5qu.js";import{n as W}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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-BT_vcvDk.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=ne.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;te(t,o,1,1,I.AUTO);let s=r?new H(r,e,t,o,!1,i,a):new P(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 P{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===N(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});l(()=>{b.updateParameters(C.value)});function w(e){return((2**e-1)/1)**.5}n(()=>{let e=({energy:e})=>{S.value.unshift({id:y(),energy:e,normalizedEnergy:w(e)})};b.on(`beat`,e),s(()=>{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,n)=>(c(),p(`div`,ae,[m(`div`,oe,[m(`div`,se,[m(`div`,ce,[m(`div`,null,[m(`h2`,le,i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.title`)),1),m(`div`,ue,[m(`span`,null,i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.description`)),1)])]),m(`div`,de,[t(b).isActive?(c(),o(t(g),{key:0,onClick:t(b).stop},{default:f(()=>[a(i(t(x)(`settings.pages.modules.beat_sync.sections.audio_source.actions.stop`)),1)]),_:1},8,[`onClick`])):(c(),o(t(g),{key:1,onClick:t(b).startFromScreenCapture},{default:f(()=>[a(i(t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.parameters.title`)),1),m(`div`,Q,[m(`span`,null,i(t(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},[...n[9]||=[m(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])]),m(`div`,he,[u(t(_),{modelValue:C.value.sensitivity,"onUpdate:modelValue":n[0]||=e=>C.value.sensitivity=e,label:t(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`]),u(t(_),{modelValue:C.value.minBeatInterval,"onUpdate:modelValue":n[1]||=e=>C.value.minBeatInterval=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.min_beat_interval.label`),description:t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.parameters.advanced_parameters`)),1)]),u(t(_),{modelValue:C.value.lowpassFilterFrequency,"onUpdate:modelValue":n[2]||=e=>C.value.lowpassFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.lowpass_filter_frequency.label`),description:t(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`]),u(t(_),{modelValue:C.value.highpassFilterFrequency,"onUpdate:modelValue":n[3]||=e=>C.value.highpassFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.highpass_filter_frequency.label`),description:t(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`]),u(t(_),{modelValue:C.value.envelopeFilterFrequency,"onUpdate:modelValue":n[4]||=e=>C.value.envelopeFilterFrequency=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.envelope_filter_frequency.label`),description:t(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`]),u(t(v),{modelValue:C.value.warmup,"onUpdate:modelValue":n[5]||=e=>C.value.warmup=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.warmup.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(v),{modelValue:C.value.adaptiveThreshold,"onUpdate:modelValue":n[6]||=e=>C.value.adaptiveThreshold=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.adaptive_threshold.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(v),{modelValue:C.value.spectralFlux,"onUpdate:modelValue":n[7]||=e=>C.value.spectralFlux=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.label`),description:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.spectral_flux.description`)},null,8,[`modelValue`,`label`,`description`]),u(t(_),{modelValue:C.value.bufferDuration,"onUpdate:modelValue":n[8]||=e=>C.value.bufferDuration=e,label:t(x)(`settings.pages.modules.beat_sync.sections.parameters.parameters.buffer_duration.label`),description:t(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,i(t(x)(`settings.pages.modules.beat_sync.sections.beat_visualizer.title`)),1)]),m(`div`,xe,[u(d,{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:f(()=>[(c(!0),p(ee,null,r(S.value,e=>(c(),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-D1Ozhaqs.js b/assets/cloudflare-workers-ai-B573BUcd.js
similarity index 93%
rename from assets/cloudflare-workers-ai-D1Ozhaqs.js
rename to assets/cloudflare-workers-ai-B573BUcd.js
index 5cee482dc9d9120f5469d1df95dc69a65341d254..912a0b8763d9f9cbd2e7cd85d549b896f1d2401b 100644
--- a/assets/cloudflare-workers-ai-D1Ozhaqs.js
+++ b/assets/cloudflare-workers-ai-B573BUcd.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,Y as _,Z as v,q as y}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./use-provider-validation-CxR943Dn.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=c({get:()=>b.value[C]?.apiKey||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].apiKey=e}}),T=c({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,c)=>(s(),o(n(h),{"provider-name":n(O)?.localizedName,"provider-icon":n(O)?.icon,"provider-icon-color":n(O)?.iconColor,"on-back":()=>n(D).back()},{default:u(()=>[l(n(g),null,{default:u(()=>[l(n(y),{title:n(E)(`settings.pages.providers.common.section.basic.title`),description:n(E)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(M)},{default:u(()=>[l(n(_),{modelValue:w.value,"onUpdate:modelValue":c[0]||=e=>w.value=e,"provider-name":n(O)?.localizedName,placeholder:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.api-key.placeholder`)},null,8,[`modelValue`,`provider-name`,`placeholder`]),l(n(v),{modelValue:T.value,"onUpdate:modelValue":c[1]||=e=>T.value=e,label:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.label`),description:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.description`),placeholder:n(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`]),!n(A)&&n(k)===0&&n(j)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(E)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(j)?{name:`content`,fn:u(()=>[d(`div`,S,i(n(j)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(A)&&n(k)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,G as h,K as g,Y as _,Z as v,q as y}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as b}from"./route-block-B7Ro39Uj.js";import{t as x}from"./use-provider-validation-DdxESxz-.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=c({get:()=>b.value[C]?.apiKey||``,set:e=>{b.value[C]||(b.value[C]={}),b.value[C].apiKey=e}}),T=c({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,c)=>(s(),o(n(h),{"provider-name":n(O)?.localizedName,"provider-icon":n(O)?.icon,"provider-icon-color":n(O)?.iconColor,"on-back":()=>n(D).back()},{default:u(()=>[l(n(g),null,{default:u(()=>[l(n(y),{title:n(E)(`settings.pages.providers.common.section.basic.title`),description:n(E)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(M)},{default:u(()=>[l(n(_),{modelValue:w.value,"onUpdate:modelValue":c[0]||=e=>w.value=e,"provider-name":n(O)?.localizedName,placeholder:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.api-key.placeholder`)},null,8,[`modelValue`,`provider-name`,`placeholder`]),l(n(v),{modelValue:T.value,"onUpdate:modelValue":c[1]||=e=>T.value=e,label:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.label`),description:n(E)(`settings.pages.providers.provider.cloudflare-workers-ai.fields.field.account-id.description`),placeholder:n(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`]),!n(A)&&n(k)===0&&n(j)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(E)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(j)?{name:`content`,fn:u(()=>[d(`div`,S,i(n(j)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(A)&&n(k)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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-BCrbIw4F.js b/assets/color-scheme-BiQFNPvs.js
similarity index 98%
rename from assets/color-scheme-BCrbIw4F.js
rename to assets/color-scheme-BiQFNPvs.js
index bafdb90b339dc6d5179924999b145028ff63400a..17ac695cf13a021040f85040bddfcb63befcf228 100644
--- a/assets/color-scheme-BCrbIw4F.js
+++ b/assets/color-scheme-BiQFNPvs.js
@@ -1 +1 @@
-import{A as e,Dt as t,K as n,Mt as r,O as i,S as a,W as o,Y as s,a as c,ct as l,k as u,m as d,st as f,w as p,x as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{p as h,t as g}from"./widgets-Bwh_S8is.js";import{r as _}from"./src-BEKjKq3V.js";import{n as v}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as y}from"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import{n as b}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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=s(`motion`);return o(),p(d,null,[l((o(),a(t(h),{"mb-2":``,title:t(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:f(()=>[l((o(),p(`div`,C,[m(`span`,w,r(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.label`)),1),m(`label`,T,[l(m(`input`,{"onUpdate:modelValue":v[0]||=e=>t(y).themeColorsHueDynamic=e,type:`checkbox`,class:`peer sr-only`},null,512),[[c,t(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),i(` `+r(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.rgb-on.title`)),1)])])),[[b]]),l(u(t(_),{modelValue:t(y).themeColorsHue,"onUpdate:modelValue":v[1]||=e=>t(y).themeColorsHue=e,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:310,delay:300,disabled:t(y).themeColorsHueDynamic},null,8,[`modelValue`,`disabled`]),[[b]]),l((o(),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),l((o(),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]]),l((o(),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]]),l((o(),a(t(h),{"mb-2":``,title:t(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:f(()=>[(o(!0),p(d,null,n(e.$tm(`settings.pages.system.sections.section.theme-presets.presets`),({title:n,description:i,colors:a},s)=>l((o(),p(`div`,{key:s,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+s*10,delay:550+s*50,transition:`all ease-in-out duration-250`},[m(`div`,null,[m(`span`,A,r(e.$rt(n)),1),m(`div`,j,r(e.$rt(i)),1)]),u(t(g),{colors:a.map((n,r)=>({hex:t(S)[s][r],name:e.$rt(n)}))},null,8,[`colors`])],8,k)),[[b]])),128))]),_:1},8,[`title`])),[[b]]),l((o(),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,Dt as t,K as n,Mt as r,O as i,S as a,W as o,Y as s,a as c,ct as l,k as u,m as d,st as f,w as p,x as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{p as h,t as g}from"./widgets-Bwh_S8is.js";import{r as _}from"./src-BEKjKq3V.js";import{n as v}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import{t as y}from"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import{n as b}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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=s(`motion`);return o(),p(d,null,[l((o(),a(t(h),{"mb-2":``,title:t(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:f(()=>[l((o(),p(`div`,C,[m(`span`,w,r(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.label`)),1),m(`label`,T,[l(m(`input`,{"onUpdate:modelValue":v[0]||=e=>t(y).themeColorsHueDynamic=e,type:`checkbox`,class:`peer sr-only`},null,512),[[c,t(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),i(` `+r(e.$t(`settings.pages.system.sections.section.custom-color.fields.field.primary-color.rgb-on.title`)),1)])])),[[b]]),l(u(t(_),{modelValue:t(y).themeColorsHue,"onUpdate:modelValue":v[1]||=e=>t(y).themeColorsHue=e,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:310,delay:300,disabled:t(y).themeColorsHueDynamic},null,8,[`modelValue`,`disabled`]),[[b]]),l((o(),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),l((o(),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]]),l((o(),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]]),l((o(),a(t(h),{"mb-2":``,title:t(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:f(()=>[(o(!0),p(d,null,n(e.$tm(`settings.pages.system.sections.section.theme-presets.presets`),({title:n,description:i,colors:a},s)=>l((o(),p(`div`,{key:s,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+s*10,delay:550+s*50,transition:`all ease-in-out duration-250`},[m(`div`,null,[m(`span`,A,r(e.$rt(n)),1),m(`div`,j,r(e.$rt(i)),1)]),u(t(g),{colors:a.map((n,r)=>({hex:t(S)[s][r],name:e.$rt(n)}))},null,8,[`colors`])],8,k)),[[b]])),128))]),_:1},8,[`title`])),[[b]]),l((o(),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-oQV5nrI9.js b/assets/comet-api-speech-B2LLkpbl.js
similarity index 96%
rename from assets/comet-api-speech-oQV5nrI9.js
rename to assets/comet-api-speech-B2LLkpbl.js
index f3ab21b9c14e7af5a8d814fe3769883f8bb9b4eb..261cfc061b4623829749b0629c130cd2645cda54 100644
--- a/assets/comet-api-speech-oQV5nrI9.js
+++ b/assets/comet-api-speech-B2LLkpbl.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r,b as i,k as a,rt as o,st as s,yt as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as l}from"./src-BEKjKq3V.js";import{I as u}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-DjrTbOCd.js";import{n as h}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 o(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,i)=>(r(),n(t(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(t(l),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,label:t(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(t(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,Dt as t,S as n,W as r,b as i,k as a,rt as o,st as s,yt as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as l}from"./src-BEKjKq3V.js";import{I as u}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-B304j5qu.js";import{n as h}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 o(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,i)=>(r(),n(t(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(t(l),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,label:t(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(t(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-DbJbRg1s.js b/assets/comet-api-transcription-BOrNDa1l.js
similarity index 94%
rename from assets/comet-api-transcription-DbJbRg1s.js
rename to assets/comet-api-transcription-BOrNDa1l.js
index f98d9cdaeddd0e8a4639a477f45df260d51e089c..4047269adcea63c0463b72f52e6fb82f6e52c53d 100644
--- a/assets/comet-api-transcription-DbJbRg1s.js
+++ b/assets/comet-api-transcription-BOrNDa1l.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import{c as p}from"./src-BEKjKq3V.js";import{I as m}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-CeJAH5gC.js";import{t as T}from"./use-provider-validation-CxR943Dn.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=c({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=c({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=c({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=c(()=>!!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,c)=>(s(),o(n(g),{"provider-name":n(L)?.localizedName,"provider-icon-color":n(L)?.iconColor,"on-back":()=>n(I).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(S),{title:n(F)(`settings.pages.providers.common.section.basic.title`),description:n(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(V)},{default:u(()=>[l(n(b),{modelValue:A.value,"onUpdate:modelValue":c[0]||=e=>A.value=e,"provider-name":n(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),l(n(p),{modelValue:M.value,"onUpdate:modelValue":c[1]||=e=>M.value=e,label:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:j.value,"onUpdate:modelValue":c[2]||=e=>j.value=e,placeholder:n(L)?.defaultOptions?.().baseUrl||`https://api.cometapi.com/v1/`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!n(z)&&n(R)===0&&n(B)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(B)?{name:`content`,fn:u(()=>[d(`div`,E,i(n(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(z)&&n(R)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import{c as p}from"./src-BEKjKq3V.js";import{I as m}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-46AQcWNz.js";import{t as T}from"./use-provider-validation-DdxESxz-.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=c({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=c({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=c({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=c(()=>!!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,c)=>(s(),o(n(g),{"provider-name":n(L)?.localizedName,"provider-icon-color":n(L)?.iconColor,"on-back":()=>n(I).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(S),{title:n(F)(`settings.pages.providers.common.section.basic.title`),description:n(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(V)},{default:u(()=>[l(n(b),{modelValue:A.value,"onUpdate:modelValue":c[0]||=e=>A.value=e,"provider-name":n(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),l(n(p),{modelValue:M.value,"onUpdate:modelValue":c[1]||=e=>M.value=e,label:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:j.value,"onUpdate:modelValue":c[2]||=e=>j.value=e,placeholder:n(L)?.defaultOptions?.().baseUrl||`https://api.cometapi.com/v1/`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`title`]),!n(z)&&n(R)===0&&n(B)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(B)?{name:`content`,fn:u(()=>[d(`div`,E,i(n(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(z)&&n(R)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(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-DjrTbOCd.js b/assets/components-B304j5qu.js
similarity index 93%
rename from assets/components-DjrTbOCd.js
rename to assets/components-B304j5qu.js
index 19c8e3995b4685b65327655949b961dda45dc767..8abcd6f3ffdf906c6b71e294cca2f111dc8a3bb9 100644
--- a/assets/components-DjrTbOCd.js
+++ b/assets/components-B304j5qu.js
@@ -294,6 +294,6 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:`text`,value:`
`}),n}function Ib(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Lb(e,t){let n=jb(e,t),r=n.one(e,void 0),i=Ob(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 Rb(e,t){return e&&`run`in e?async function(n,r){let i=Lb(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Lb(n,{file:r,...e||t})}}function zb(e){if(e)throw e}var Bb=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 Wb=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=xy(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}};Wb.prototype.file=``,Wb.prototype.name=``,Wb.prototype.reason=``,Wb.prototype.message=``,Wb.prototype.stack=``,Wb.prototype.column=void 0,Wb.prototype.line=void 0,Wb.prototype.ancestors=void 0,Wb.prototype.cause=void 0,Wb.prototype.fatal=void 0,Wb.prototype.place=void 0,Wb.prototype.ruleId=void 0,Wb.prototype.source=void 0;const Gb={basename:Kb,dirname:qb,extname:Jb,join:Yb,sep:`/`};function Kb(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);Qb(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 qb(e){if(Qb(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 Jb(e){Qb(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 Yb(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function Zb(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 Qb(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const $b={cwd:ex};function ex(){return`/`}function tx(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function nx(e){if(typeof e==`string`)e=new URL(e);else if(!tx(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 rx(e)}function rx(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];Vb(o)&&Vb(r)&&(r=(0,dx.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function mx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function hx(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function gx(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 _x(e){if(!Vb(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function vx(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function yx(e){return bx(e)?e:new ax(e)}function bx(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function xx(e){return typeof e==`string`||Sx(e)}function Sx(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var Cx=new Map,wx=/```(.{2,})\s/g;function Tx(e){let t=e.matchAll(wx),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function Ex(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return px().use(My).use(Bg).use(Rb).use(pg).use(kl,t).use(mg)}function Dx(e){let t=[...e].sort().join(`,`);if(!Cx.has(t)){let n=Ex(e);Cx.set(t,n)}return Cx.get(t)}function Ox(){let e=px().use(My).use(Bg).use(Rb).use(pg).use(mg);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=Tx(t),r=new Set(n);return r.add(`python`),(await(await Dx(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 kx=[`innerHTML`],Ax=Re(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=N(``),{process:r,processSync:i}=Ox();async function a(){if(!t.content){n.value=``;return}try{n.value=ir.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=ir.sanitize(i(t.content))}}return ae(()=>t.content,a,{immediate:!0}),u(()=>{a()}),(e,r)=>(b(),j(`div`,{class:O([t.class,`markdown-content`]),innerHTML:n.value},null,10,kx))}}),[[`__scopeId`,`data-v-abd97585`]]),jx={"z-1":``,"flex-1":``},Mx={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},Nx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},Px=Re(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=d(`RouterLink`);return b(),g(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:A(()=>[M(`div`,jx,[M(`div`,Mx,p(e.title),1),M(`div`,Nx,[M(`span`,null,p(e.description),1)])]),typeof e.icon==`string`?(b(),j(`div`,{key:0,class:O([`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?k(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),Fx={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":``},Ix={"z-1":``,"flex-1":``},Lx={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},Rx={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},zx=[`src`],Bx={"p-2":``},Vx={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},Hx={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},Ux=Re(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=d(`RouterLink`);return b(),j(`div`,Fx,[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:A(()=>[M(`div`,Ix,[M(`div`,Lx,p(t.title),1),M(`div`,Rx,[M(`span`,null,p(t.description||``),1)])]),t.icon?(b(),j(`div`,{key:0,class:O([`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?(b(),j(`div`,{key:1,class:O([`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?(b(),j(`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,zx)):a(``,!0)]),_:1},8,[`to`]),M(`div`,Bx,[t.configured?(b(),j(`div`,Vx)):(b(),j(`div`,Hx))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),Wx=[`checked`,`name`,`value`],Gx={class:`relative mr-3 mt-0.5 flex-shrink-0`},Kx={class:`w-full flex flex-col gap-2`},qx={class:`flex items-center`},Jx={key:0,class:`relative`},Yx=[`title`],Xx={key:1,class:`mt-2`},Zx=Re(r({__name:`RadioCardDetail`,props:h({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=w(e,`modelValue`),n=N(!1);function r(){n.value=!n.value}return(i,s)=>(b(),j(`label`,{key:e.id,class:O([`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`},[ee(M(`input`,{"onUpdate:modelValue":s[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,Wx),[[oe,t.value]]),M(`div`,Gx,[M(`div`,{class:O([`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`]])},[M(`div`,{class:O([`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)]),M(`div`,Kx,[M(`div`,qx,[M(`span`,{class:O([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},p(e.title),3)]),e.description?(b(),j(`div`,Jx,[D(o(me),null,{default:A(()=>[!n.value||!e.showExpandCollapse?(b(),j(`div`,{key:0,class:O([`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:T(r,[`prevent`])},p(e.description),11,Yx)):(b(),j(`div`,{key:1,class:O([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:T(r,[`prevent`])},p(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(b(),j(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:T(r,[`prevent`])},[M(`span`,null,p(n.value?`Show less`:`Show more`),1),M(`div`,{class:O([{"rotate-180":n.value},`transition-transform duration-200`])},[...s[2]||=[M(`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?(b(),j(`div`,Xx,[D(o(Ee),{modelValue:t.value,"onUpdate:modelValue":s[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`]]),Qx={class:`radio-card-detail-many-select`},$x={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},eS=[`placeholder`],tS={class:`mt-4 space-y-2`},nS={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},rS={class:`relative`},iS=Re(r({__name:`RadioCardManySelect`,props:h({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:h([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=w(e,`modelValue`),o=w(e,`searchQuery`),s=N(!1),c=N(``),l=C(()=>{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 u(e){c.value=e,r(`update:customValue`,e)}return(t,r)=>(b(),j(`div`,Qx,[e.searchable?(b(),j(`div`,$x,[r[4]||=M(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[M(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),ee(M(`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,eS),[[te,o.value]])])):a(``,!0),M(`div`,tS,[o.value?(b(),j(`div`,nS,p(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(b(),g(_e,{key:1,type:`warning`},{title:A(()=>[m(p(e.searchNoResultsTitle),1)]),content:A(()=>[m(p(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),M(`div`,rS,[M(`div`,{class:O([`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`}},[(b(!0),j(ne,null,f(l.value,t=>(b(),g(Zx,{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=>u(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`deprecated`,`show-expand-collapse`,`show-custom-input`,`custom-input-value`,`custom-input-placeholder`]))),128))],2),M(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:O([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[M(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:O([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},[M(`span`,null,p(s.value?e.collapseButtonText:e.expandButtonText),1),M(`div`,{class:O([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`]]),aS=[`checked`,`name`,`value`],oS={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},sS=Re(r({__name:`RadioCardSimple`,props:h({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=w(e,`modelValue`);return(n,r)=>(b(),j(`label`,{key:e.id,border:`2px solid`,class:O([`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":``},[ee(M(`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,aS),[[oe,t.value]]),r[1]||=M(`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`},[M(`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),M(`div`,oS,[M(`span`,{class:O([`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`},p(e.title),3),e.description?(b(),j(`span`,{key:0,class:O([`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`},p(e.description),3)):a(``,!0)]),r[2]||=M(`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`]]),cS={class:`p-3`},lS={class:`flex items-start`},uS=[`checked`,`name`,`value`],dS={class:`relative mr-3 mt-0.5 flex-shrink-0`},fS={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},pS={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},mS={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`},hS={class:`flex-1 cursor-pointer`},gS={class:`flex items-center`},_S={key:0,class:`mt-1 flex flex-wrap gap-1`},vS={key:1,class:`mt-3`},yS={relative:``},bS={key:0,class:`h-16 px-3 pb-2`},xS=Re(r({__name:`VoiceCard`,props:h({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:h([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=w(e,`voice-id`),s=w(e,`custom-voice-name`);function c(e){return e.previewURL||e.preview_audio_url}function l(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 u(){r(`togglePlayback`,n.voice)}return(t,r)=>(b(),j(`label`,{border:`2px solid`,class:O([`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`},[M(`div`,cS,[M(`div`,lS,[ee(M(`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,uS),[[oe,i.value]]),M(`div`,dS,[M(`div`,{class:O([`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`]])},[M(`div`,{class:O([`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)]),c(e.voice)?(b(),j(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:O([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:u},[e.currentlyPlayingId===e.voice.id?(b(),j(`div`,fS)):(b(),j(`div`,pS))],2)):(b(),j(`div`,mS,` No preview available. You can select it and test voice on the right experiment. `)),M(`div`,hS,[M(`div`,gS,[M(`span`,{class:O([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},p(e.voice.name),3)]),l(e.voice).length>0?(b(),j(`div`,_S,[(b(!0),j(ne,null,f(l(e.voice),(t,n)=>(b(),j(`span`,{key:n,class:O([`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`]])},p(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(b(),j(`div`,vS,[D(o(Ee),{modelValue:s.value,"onUpdate:modelValue":r[1]||=e=>s.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?(b(),j(`div`,{key:2,class:O([`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`]])},p(e.voice.description),3)):a(``,!0)])])]),M(`div`,yS,[D(o(me),null,{default:A(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(b(),j(`div`,bS,[D(o(ct),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:A(({frequencies:t})=>[D(o(dt),{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`]]),SS={class:`voice-preview-player`},CS={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},wS=[`placeholder`],TS={class:`mt-4 space-y-2`},ES={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},DS={class:`relative`},OS=Re(r({__name:`VoiceCardManySelect`,props:h({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=N(!1),r=N(),i=N(new Map),o=N(new Map),s=N(new Map),c=N(new Map),l=N(null);function u(){return l.value||=new(window.AudioContext||window.webkitAudioContext),l.value}let d=w(e,`search-query`),h=w(e,`voice-id`),_=C(()=>{if(!d.value)return t.voices;let e=d.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 v(e){return e.previewURL||e.preview_audio_url}function x(e){let t=v(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=u();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 T(e){try{if(!v(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 E(){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}ae(d,()=>{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}}),y(E);let D=N(``);return(i,s)=>(b(),j(`div`,SS,[e.searchable?(b(),j(`div`,CS,[s[4]||=M(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[M(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),ee(M(`input`,{"onUpdate:modelValue":s[0]||=e=>d.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,wS),[[te,d.value]])])):a(``,!0),M(`div`,TS,[d.value?(b(),j(`div`,ES,p(e.searchResultsText.replace(`{count}`,_.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),d.value&&_.value.length===0?(b(),g(_e,{key:1,type:`warning`},{title:A(()=>[m(p(e.searchNoResultsTitle),1)]),content:A(()=>[m(p(e.searchNoResultsDescription.replace(`{query}`,d.value)),1)]),_:1})):a(``,!0),M(`div`,DS,[M(`div`,{class:O([`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`}},[!d.value&&_.value.length===0?(b(),g(_e,{key:0,type:`warning`},{title:A(()=>[m(p(e.unsupportedVoiceWarningTitle),1)]),content:A(()=>[m(p(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(b(!0),j(ne,null,f(_.value,t=>(b(),g(xS,{key:t.id,"voice-id":h.value,"onUpdate:voiceId":s[1]||=e=>h.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:T},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),M(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:O([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[M(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:O([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},[M(`span`,null,p(n.value?e.collapseButtonText:e.expandButtonText),1),M(`div`,{class:O([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 kS(e){return C({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 AS={flex:`~ col gap-6`},jS={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},MS=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=$e(),{enabled:r,serverAddress:i,serverPort:s,username:c,configured:l}=Me(t.store),u=kS(s);function d(){t.store.saveSettings()}return(t,s)=>(b(),j(`div`,AS,[D(o(Oe),{modelValue:o(r),"onUpdate:modelValue":s[0]||=e=>re(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(Te),{modelValue:o(i),"onUpdate:modelValue":s[1]||=e=>re(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(Te),{modelValue:o(u),"onUpdate:modelValue":s[2]||=e=>re(u)?u.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(Te),{modelValue:o(c),"onUpdate:modelValue":s[3]||=e=>re(c)?c.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`]),M(`div`,null,[D(o(Ce),{label:o(n)(`settings.common.save`),variant:`primary`,onClick:d},null,8,[`label`])]),o(l)?(b(),j(`div`,jS,p(o(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),NS=globalThis.WebSocket,PS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),FS=e=>{let t=typeof e;return t===`object`?e===null?`null`:e?.constructor?.name??`object`:t},IS=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 ${FS(e)}.`)},LS=e=>{let t=IS(e),n=``,r,i=t.length;for(r=2;r>2],n+=PS[(t[r-2]&3)<<4|t[r-1]>>4],n+=PS[(t[r-1]&15)<<2|t[r]>>6],n+=PS[t[r]&63];return r===i+1&&(n+=PS[t[r-2]>>2],n+=PS[(t[r-2]&3)<<4],n+=`==`),r===i&&(n+=PS[t[r-2]>>2],n+=PS[(t[r-2]&3)<<4|t[r-1]>>4],n+=PS[(t[r-1]&15)<<2],n+=`=`),n},RS=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},zS=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 RS)return;this.opts.onError?.(e),await tt(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 RS(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new NS(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 BS=je(`mods:channels:proj-airi:server`,()=>{let e=N(!1),t=N(),n=N([]);function r(n){return new Promise((r,i)=>{t.value=new zS({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}}),VS=je(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=BS();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function HS(e,t){return je(e,()=>{let n=VS(),r=We(`settings/${e}/enabled`,!1),i=We(`settings/${e}/server-address`,``),a=We(`settings/${e}/server-port`,t),o=We(`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:C(()=>!!(i.value.trim()&&o.value.trim()&&a.value!==null)),saveSettings:s}})}const US=HS(`factorio`,34197);var WS=r({__name:`GamingFactorio`,setup(e){let t=US();return(e,n)=>(b(),g(MS,{store:o(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const GS=HS(`minecraft`,25565);var KS=r({__name:`GamingMinecraft`,setup(e){let t=GS();return(e,n)=>(b(),g(MS,{store:o(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const qS=je(`discord`,()=>{let e=VS(),t=We(`settings/discord/enabled`,!1),n=We(`settings/discord/token`,``);function r(){e.updateFor(`discord`,{token:n.value,enabled:t.value})}return{enabled:t,token:n,configured:C(()=>!!n.value.trim()),saveSettings:r}});var JS={flex:`~ col gap-6`},YS={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},XS=r({__name:`MessagingDiscord`,setup(e){let{t}=$e(),n=qS(),{enabled:r,token:i,configured:s}=Me(n);function c(){n.saveSettings()}return(e,n)=>(b(),j(`div`,JS,[D(o(Oe),{modelValue:o(r),"onUpdate:modelValue":n[0]||=e=>re(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(Te),{modelValue:o(i),"onUpdate:modelValue":n[1]||=e=>re(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`]),M(`div`,null,[D(o(Ce),{label:o(t)(`settings.common.save`),variant:`primary`,onClick:c},null,8,[`label`])]),o(s)?(b(),j(`div`,YS,p(o(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const ZS=je(`twitter`,()=>{let e=VS(),t=We(`settings/twitter/enabled`,!1),n=We(`settings/twitter/api-key`,``),r=We(`settings/twitter/api-secret`,``),i=We(`settings/twitter/access-token`,``),a=We(`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:C(()=>!!(n.value.trim()&&r.value.trim()&&i.value.trim()&&a.value.trim())),saveSettings:o}});var QS={flex:`~ col gap-6`},$S={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},eC=r({__name:`X`,setup(e){let{t}=$e(),n=ZS(),{enabled:r,apiKey:i,apiSecret:s,accessToken:c,accessTokenSecret:l,configured:u}=Me(n);function d(){n.saveSettings()}return(e,n)=>(b(),j(`div`,QS,[D(o(Oe),{modelValue:o(r),"onUpdate:modelValue":n[0]||=e=>re(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(Te),{modelValue:o(i),"onUpdate:modelValue":n[1]||=e=>re(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(Te),{modelValue:o(s),"onUpdate:modelValue":n[2]||=e=>re(s)?s.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(Te),{modelValue:o(c),"onUpdate:modelValue":n[3]||=e=>re(c)?c.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(Te),{modelValue:o(l),"onUpdate:modelValue":n[4]||=e=>re(l)?l.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`]),M(`div`,null,[D(o(Ce),{label:o(t)(`settings.common.save`),variant:`primary`,onClick:d},null,8,[`label`])]),o(u)?(b(),j(`div`,$S,p(o(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),tC=Re(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=N(null),r=N(``),i=N(`50% 50%`),a=N(`50% 50%`),o=N(.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 u(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(b(),j(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:E({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[k(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),nC=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=w(e,`modelValue`),n=Ke(`(min-width: 768px)`),r=Ye();return Je(document.documentElement,()=>r.update()),u(()=>r.update()),(e,i)=>o(n)?(b(),g(o(de),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:A(()=>[k(e.$slots,`trigger`),D(o(pe),null,{default:A(()=>[D(o(le),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(o(ue),{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:A(()=>[k(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(b(),g(o(ge),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:A(()=>[D(o(pe),null,{default:A(()=>[D(o(xe),{class:`fixed inset-0`}),D(o(Se),{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:E({paddingBottom:`${Math.max(Number.parseFloat(o(r).bottom.value.replace(`px`,``)),24)}px`})},{default:A(()=>[D(o(ye)),k(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),rC={class:`space-y-2`},iC={class:`flex flex-col items-center justify-center py-2`},aC={class:`relative h-28 w-28 select-none`},oC={key:0,class:`mt-3 w-full`},sC={class:`mt-3 w-full`},cC=r({__name:`hearing-config`,props:h({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=w(e,`enabled`),r=w(e,`selectedAudioInput`),i=C(()=>n.value?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`);return(e,s)=>(b(),j(`div`,rC,[M(`div`,iC,[M(`div`,aC,[M(`div`,{class:O([`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:E({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),M(`div`,{class:O([`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:E({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),M(`div`,{class:O([`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:E({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),M(`button`,{class:O([`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:s[0]||=()=>n.value=!n.value},[M(`div`,{class:O([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),s[3]||=M(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(b(),j(`div`,oC,[D(ve,{theme:`orange`,label:`Microphone permission required`},{default:A(()=>[...s[2]||=[M(`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})]))]),M(`div`,sC,[D(o(we),{modelValue:r.value,"onUpdate:modelValue":s[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`])])]))}}),lC=r({__name:`hearing-config-dialog`,props:h({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=w(e,`show`),r=w(e,`selectedAudioInput`),i=w(e,`enabled`),a=Ke(`(min-width: 768px)`),s=Ye();return Je(document.documentElement,()=>s.update()),u(()=>s.update()),(e,c)=>o(a)?(b(),g(o(de),{key:0,open:n.value,"onUpdate:open":c[2]||=e=>n.value=e},{default:A(()=>[D(o(be),{"as-child":``},{default:A(()=>[k(e.$slots,`default`)]),_:3}),D(o(pe),null,{default:A(()=>[D(o(le),{class:O([[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(ue),{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:A(()=>[D(o(ke),null,{default:A(()=>[D(o(fe),null,{default:A(()=>[...c[6]||=[m(`Hearing Input`,-1)]]),_:1})]),_:1}),D(cC,{enabled:i.value,"onUpdate:enabled":c[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":c[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`]),k(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(b(),g(o(ge),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":c[5]||=e=>n.value=e},{default:A(()=>[D(o(be),{"as-child":``},{default:A(()=>[k(e.$slots,`default`)]),_:3}),D(o(pe),null,{default:A(()=>[D(o(xe),{class:`fixed inset-0`}),D(o(Se),{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:E({paddingBottom:`${Math.max(Number.parseFloat(o(s).bottom.value.replace(`px`,``)),24)}px`})},{default:A(()=>[D(o(ye),{"my-2":``}),D(cC,{enabled:i.value,"onUpdate:enabled":c[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":c[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`]),k(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),uC=`/assets/onboarding-S2C4LIWw.avif`,dC=e=>({chat:t=>Object.assign(e,{model:t})}),fC=e=>({embed:t=>Object.assign(e,{model:t})}),pC=e=>({image:t=>Object.assign(e,{model:t})}),mC=e=>({model:()=>e}),hC=e=>({speech:t=>Object.assign(e,{model:t})}),gC=e=>({transcription:t=>Object.assign(e,{model:t})}),_C=(e,t)=>({metadata:{id:e,...t}}),vC=(...e)=>Object.assign(e[0],...e.slice(1)),yC=class extends Error{response;constructor(e,t,n){super(e,{cause:n}),this.name=`XSAIError`,this.response=t}},bC=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),xC=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[bC(e),t])),SC=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),CC=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)}},wC=e=>JSON.stringify(xC(SC({...e,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),TC=(e,t)=>SC({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),EC=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},DC=async e=>{if(!e.ok)throw new yC(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new yC(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new yC(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},OC=async e=>{let t=await e.text();try{return JSON.parse(t)}catch(n){throw new yC(`Failed to parse response, response body: ${t}`,e,n)}},kC=async e=>{let t=await e();for(;t instanceof Function;)t=await t();return t},AC=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 vC(_C(`azure`),dC({baseURL:n,fetch:r,headers:t}),fC({baseURL:n,fetch:r,headers:t}),hC({baseURL:n,fetch:r,headers:t}),gC({baseURL:n,fetch:r,headers:t}),mC({baseURL:n,fetch:r,headers:t}))},jC=(e,t=`https://api.cerebras.ai/v1/`)=>vC(_C(`cerebras`),dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),MC=(e,t=`https://api.deepseek.com/`)=>vC(_C(`deepseek`),dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),NC=(e,t=`https://api.fireworks.ai/inference/v1/`)=>vC(_C(`fireworks`),dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),PC=(e,t=`https://generativelanguage.googleapis.com/v1beta/openai/`)=>vC(_C(`google-generative-ai`),dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),FC=(e,t=`https://api.mistral.ai/v1/`)=>vC(_C(`mistral`),dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),IC=(e,t=`https://api.moonshot.cn/v1/`)=>vC(_C(`moonshot`),dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),LC=(e,t=`https://api.novita.ai/v3/openai/`)=>vC(_C(`novita`),dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),RC=(e,t=`https://api.openai.com/v1/`)=>vC(_C(`openai`),dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),pC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t}),hC({apiKey:e,baseURL:t}),gC({apiKey:e,baseURL:t})),zC=(e,t=`https://openrouter.ai/api/v1/`)=>vC(_C(`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=xC(n)),xC({models:t,provider:r})})(r):{},...i}}},mC({apiKey:e,baseURL:t})),BC=(e,t=`https://api.perplexity.ai/`)=>vC(_C(`perplexity`),dC({apiKey:e,baseURL:t})),VC=(e,t=`https://api.together.xyz/v1/`)=>vC(_C(`together-ai`),dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t,fetch:async(...e)=>globalThis.fetch(...e).then(async e=>e.json()).then(e=>Response.json({data:e,object:`list`}))})),HC=(e,t)=>{let n=`https://api.cloudflare.com/client/v4/accounts/${t}/ai/v1/`;return vC(_C(`workers-ai`),dC({apiKey:e,baseURL:n}),fC({apiKey:e,baseURL:n}))},UC=(e,t=`https://api.x.ai/v1/`)=>vC(_C(`xai`),dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),WC=(e=`http://localhost:11434/v1/`)=>vC(_C(`ollama`),dC({baseURL:e}),fC({baseURL:e}),mC({baseURL:e})),GC=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;evC(_C(`player2`),dC({baseURL:e,headers:{"player2-game-key":t}}),hC({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=GC(e.data??``);return new Response(t,{headers:{"Content-Type":`audio/mpeg`},status:200})})},headers:{"player2-game-key":t}})),qC=async e=>(e.fetch??globalThis.fetch)(EC(`models`,e.baseURL),{headers:TC(e.headers,e.apiKey),signal:e.abortSignal}).then(DC).then(OC).then(({data:e})=>e),JC=(...e)=>Object.assign(e[0],...e.slice(1)),YC=class extends Error{response;constructor(e,t){super(e),this.name=`XSAIError`,this.response=t}},XC=e=>e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),ZC=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[XC(e),t])),QC=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)),$C=(e,t)=>QC({Authorization:t===void 0?void 0:`Bearer ${t}`,...e}),ew=(e,t)=>{let n=t.toString();return new URL(e,n.endsWith(`/`)?n:`${n}/`)},tw=async e=>{if(!e.ok)throw new YC(`Remote sent ${e.status} response: ${await e.text()}`,e);if(!e.body)throw new YC(`Response body is empty from remote server`,e);if(!(e.body instanceof ReadableStream))throw new YC(`Expected Response body to be a ReadableStream, but got ${String(e.body)}; Content Type is ${e.headers.get(`Content-Type`)}`,e);return e},nw=async e=>tw(e).then(async e=>{let t=await e.text();try{return JSON.parse(t)}catch{throw Error(`Failed to parse response, response body: ${t}`)}}),rw=(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:ZC({applyTextNormalization:e,languageCode:t,nextRequestIds:n,nextText:r,previousRequestIds:i,previousText:a,pronunciationDictionaryLocators:o?o.map(e=>ZC(e)):void 0,seed:s,voiceSettings:ZC(c??{similarityBoost:.75,stability:.5})})});return JC({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})})},iw=(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:ZC(i)}};return JC({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})})},aw=(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:ZC(n)}};return JC({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})})},ow=(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:ZC(a)}};return JC({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}}})},sw=async e=>(e.fetch??globalThis.fetch)(ew(e.query?`api/voices?${e.query}`:`api/voices`,e.baseURL),{headers:$C({...e.headers},e.apiKey),method:`GET`,signal:e.abortSignal}).then(nw).then(({voices:e})=>e),cw=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}},lw=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(lw.test(e)){let t=Date.prototype[e.replace(lw,`$1UTC`)];t&&(cw.prototype[e]=t)}});var uw=class extends cw{toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){return`${dw.format(this)} ${fw.format(this)} ${this.getFullYear()}`}toTimeString(){return`${pw.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})}},dw=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,timeZone:`UTC`}),fw=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,timeZone:`UTC`}),pw=new Intl.DateTimeFormat(`en-GB`,{hour12:!1,hour:`numeric`,minute:`numeric`,second:`numeric`,timeZone:`UTC`});const mw=e=>new uw(+new Date(e)),hw=6048e5,gw=3600*24;gw*7,gw*365.2425;const _w=Symbol.for(`constructDateFrom`);function vw(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&_w in e?e[_w](t):e instanceof Date?new e.constructor(t):new Date(t)}function yw(e,t){return vw(t||e,e)}var bw={};function xw(){return bw}function Sw(e,t){let n=xw(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=yw(e,t?.in),a=i.getDay(),o=(a=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Tw(e){let t=yw(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 Ew(e,...t){let n=vw.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Dw(e,t){let n=yw(e,t?.in);return n.setHours(0,0,0,0),n}function Ow(e,t,n){let[r,i]=Ew(n?.in,e,t),a=Dw(r),o=Dw(i),s=+a-Tw(a),c=+o-Tw(o);return Math.round((s-c)/864e5)}function kw(e,t){let n=ww(e,t),r=vw(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Cw(r)}function Aw(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function jw(e){return!(!Aw(e)&&typeof e!=`number`||isNaN(+yw(e)))}function Mw(e,t){let n=yw(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var Nw={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 Pw=(e,t,n)=>{let r,i=Nw[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 Fw(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Iw={date:Fw({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Fw({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:Fw({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})};var Lw={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`};const Rw=(e,t,n,r)=>Lw[e];function zw(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 Bw={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:zw({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:zw({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:zw({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:zw({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:zw({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 Vw(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)?Uw(s,e=>e.test(o)):Hw(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 Hw(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Uw(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 Gw={code:`en-US`,formatDistance:Pw,formatLong:Iw,formatRelative:Rw,localize:Bw,match:{ordinalNumber:Ww({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Vw({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:Vw({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:Vw({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:Vw({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:Vw({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 Kw(e,t){let n=yw(e,t?.in);return Ow(n,Mw(n))+1}function qw(e,t){let n=yw(e,t?.in),r=Cw(n)-+kw(n);return Math.round(r/hw)+1}function Jw(e,t){let n=yw(e,t?.in),r=n.getFullYear(),i=xw(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=vw(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=Sw(o,t),c=vw(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=Sw(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Yw(e,t){let n=xw(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Jw(e,t),a=vw(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),Sw(a,t)}function Xw(e,t){let n=yw(e,t?.in),r=Sw(n,t)-+Yw(n,t);return Math.round(r/hw)+1}function Zw(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}const Qw={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Zw(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Zw(n+1,2)},d(e,t){return Zw(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 Zw(e.getHours()%12||12,t.length)},H(e,t){return Zw(e.getHours(),t.length)},m(e,t){return Zw(e.getMinutes(),t.length)},s(e,t){return Zw(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Zw(Math.trunc(r*10**(n-3)),t.length)}};var $w={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`};const eT={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 Qw.y(e,t)},Y:function(e,t,n,r){let i=Jw(e,r),a=i>0?i:1-i;return t===`YY`?Zw(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Zw(a,t.length)},R:function(e,t){return Zw(ww(e),t.length)},u:function(e,t){return Zw(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 Zw(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 Zw(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 Qw.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 Zw(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=Xw(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Zw(i,t.length)},I:function(e,t,n){let r=qw(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Zw(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Qw.d(e,t)},D:function(e,t,n){let r=Kw(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Zw(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 Zw(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 Zw(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 Zw(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?$w.noon:r===0?$w.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?$w.evening:r>=12?$w.afternoon:r>=4?$w.morning:$w.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 Qw.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Qw.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Zw(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Zw(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Qw.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Qw.s(e,t)},S:function(e,t){return Qw.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return nT(r);case`XXXX`:case`XX`:return rT(r);case`XXXXX`:case`XXX`:default:return rT(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return nT(r);case`xxxx`:case`xx`:return rT(r);case`xxxxx`:case`xxx`:default:return rT(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+tT(r,`:`);case`OOOO`:default:return`GMT`+rT(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+tT(r,`:`);case`zzzz`:default:return`GMT`+rT(r,`:`)}},t:function(e,t,n){return Zw(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Zw(+e,t.length)}};function tT(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+Zw(a,2)}function nT(e,t){return e%60==0?(e>0?`-`:`+`)+Zw(Math.abs(e)/60,2):rT(e,t)}function rT(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Zw(Math.trunc(r/60),2),a=Zw(r%60,2);return n+i+t+a}var iT=(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`})}},aT=(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 oT={p:aT,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return iT(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}}`,iT(r,t)).replace(`{{time}}`,aT(i,t))}};var sT=/^D+$/,cT=/^Y+$/,lT=[`D`,`DD`,`YY`,`YYYY`];function uT(e){return sT.test(e)}function dT(e){return cT.test(e)}function fT(e,t,n){let r=pT(e,t,n);if(console.warn(r),lT.includes(e))throw RangeError(r)}function pT(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 mT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gT=/^'([^]*?)'?$/,_T=/''/g,vT=/[a-zA-Z]/;function yT(e,t,n){let r=xw(),i=n?.locale??r.locale??Gw,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=yw(e,n?.in);if(!jw(s))throw RangeError(`Invalid time value`);let c=t.match(hT).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=oT[t];return n(e,i.formatLong)}return e}).join(``).match(mT).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:bT(e)};if(eT[t])return{isToken:!0,value:e};if(t.match(vT))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&&dT(a)||!n?.useAdditionalDayOfYearTokens&&uT(a))&&fT(a,t,String(e));let o=eT[a[0]];return o(s,a,i.localize,l)}).join(``)}function bT(e){let t=e.match(gT);return t?t[1].replace(_T,`'`):e}function xT(e,t){return+yw(e)<+yw(t)}var ST=/"(?:_|\\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*:/,CT=/"(?: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*:/,wT=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function TT(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){ET(e);return}return t}function ET(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function DT(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(!wT.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(ST.test(e)||CT.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,TT)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var OT=/#/g,kT=/&/g,AT=/\//g,jT=/=/g,MT=/\+/g,NT=/%5e/gi,PT=/%60/gi,FT=/%7c/gi,IT=/%20/gi;function LT(e){return encodeURI(``+e).replace(FT,`|`)}function RT(e){return LT(typeof e==`string`?e:JSON.stringify(e)).replace(MT,`%2B`).replace(IT,`+`).replace(OT,`%23`).replace(kT,`%26`).replace(PT,"`").replace(NT,`^`).replace(AT,`%2F`)}function zT(e){return RT(e).replace(jT,`%3D`)}function BT(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function VT(e){return BT(e.replace(MT,` `))}function HT(e){return BT(e.replace(MT,` `))}function UT(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=VT(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=HT(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 WT(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${zT(e)}=${RT(t)}`).join(`&`):`${zT(e)}=${RT(t)}`:zT(e)}function GT(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>WT(t,e[t])).filter(Boolean).join(`&`)}var KT=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,qT=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,JT=/^([/\\]\s*){2,}[^/\\]/,YT=/\/$|\/\?|\/#/,XT=/^\.?\//;function ZT(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?KT.test(e):qT.test(e)||(t.acceptRelative?JT.test(e):!1)}function QT(e=``,t){return t?YT.test(e):e.endsWith(`/`)}function $T(e=``,t){if(!t)return(QT(e)?e.slice(0,-1):e)||`/`;if(!QT(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 eE(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(QT(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 tE(e,t){if(rE(t)||ZT(e))return e;let n=$T(t);return e.startsWith(n)?e:aE(n,e)}function nE(e,t){let n=sE(e);return n.search=GT({...UT(n.search),...t}),lE(n)}function rE(e){return!e||e===`/`}function iE(e){return e&&e!==`/`}function aE(e,...t){let n=e||``;for(let e of t.filter(e=>iE(e)))if(n){let t=e.replace(XT,``);n=eE(n)+t}else n=e;return n}var oE=Symbol.for(`ufo:protocolRelative`);function sE(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(!ZT(e,{acceptRelative:!0}))return t?sE(t+e):cE(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}=cE(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[oE]:!r}}function cE(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function lE(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[oE]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var uE=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function dE(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 uE(`${`[${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 fE=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function pE(e=`GET`){return fE.has(e.toUpperCase())}function mE(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 hE=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),gE=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function _E(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return gE.test(t)?`json`:t===`text/event-stream`?`stream`:hE.has(t)||t.startsWith(`text/`)?`text`:`blob`}function vE(e,t,n,r){let i=yE(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 yE(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 bE(e,t){if(t)if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}var xE=new Set([408,409,425,429,500,502,503,504]),SE=new Set([101,204,205,304]);function CE(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:pE(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):xE.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=dE(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:vE(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 bE(s,s.options.onRequest),typeof s.request==`string`&&(s.options.baseURL&&(s.request=tE(s.request,s.options.baseURL)),s.options.query&&(s.request=nE(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&&pE(s.options.method))if(mE(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)),s.options.headers=new n(s.options.headers||{}),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 bE(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!SE.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||_E(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||DT;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 bE(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await bE(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={})=>CE({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var wE=(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`)})(),TE=wE.fetch?(...e)=>wE.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),EE=wE.Headers,DE=wE.AbortController,OE=CE({fetch:TE,Headers:EE,AbortController:DE}),kE=globalThis.crypto.subtle,AE=[];for(let e=0;e<256;++e)AE.push((e+256).toString(16).slice(1));function jE(e,t=0){return(AE[e[t+0]]+AE[e[t+1]]+AE[e[t+2]]+AE[e[t+3]]+`-`+AE[e[t+4]]+AE[e[t+5]]+`-`+AE[e[t+6]]+AE[e[t+7]]+`-`+AE[e[t+8]]+AE[e[t+9]]+`-`+AE[e[t+10]]+AE[e[t+11]]+AE[e[t+12]]+AE[e[t+13]]+AE[e[t+14]]+AE[e[t+15]]).toLowerCase()}var ME,NE=new Uint8Array(16);function PE(){if(!ME){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);ME=crypto.getRandomValues.bind(crypto)}return ME(NE)}var FE={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function IE(e,t,n){e||={};let r=e.random??e.rng?.()??PE();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 jE(r)}function LE(e,t,n){return FE.randomUUID&&!t&&!e?FE.randomUUID():IE(e,t,n)}var RE=LE;function zE(e){return new URL(`http://nls-meta.${e}.aliyuncs.com`)}function BE(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 VE=`HMAC-SHA1`,HE=`1.0`,UE=`2019-02-28`;function WE(e){return Object.keys(e).sort().map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join(`&`)}function GE(e,t,n){return`${e}&${encodeURIComponent(t)}&${encodeURIComponent(n)}`}async function KE(e,t){let n=new TextEncoder().encode(`${t}&`),r=await kE.importKey(`raw`,n,{name:`HMAC`,hash:{name:`SHA-1`}},!1,[`sign`]),i=new TextEncoder().encode(e);return LS(await kE.sign(`HMAC`,r,i))}async function qE(e,t,n){let r=yT(mw(et({timestamp:new Date},n).timestamp),`yyyy-MM-dd'T'HH:mm:ssXX`),i=n?.signatureNonce??RE(),a={AccessKeyId:e,Action:`CreateToken`,Format:`JSON`,RegionId:n?.regionId??`cn-shanghai`,SignatureMethod:VE,SignatureNonce:i,SignatureVersion:HE,Timestamp:r,Version:UE,...n?.extraQuery},o=WE(a),s=GE(`POST`,`/`,o),c=await KE(s,t),l=encodeURIComponent(c),u=`Signature=${l}&${o}`,d=(n?.endpoint??zE(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 JE(e,t,n){let r=await OE((await qE(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`}`)}function YE(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]}function XE(){let e=new TextDecoder,t=``;return new TransformStream({transform:async(n,r)=>{let i=e.decode(n,{stream:!0});t+=i;let a=t.split(`
-`);t=a.pop()??``;for(let e of a)try{let[t,n]=YE(e);if(n)break;t&&r.enqueue(t)}catch(e){r.error(e)}}})}function ZE(e){return`file`in e}function QE(e){let t,n,r=new ReadableStream({start:e=>n=e}),i=new ReadableStream({start:e=>t=e}),a=new CC,o=``,s=async()=>{let r=e,i;ZE(r)?(i=new FormData,i.append(`model`,e.model),i.append(`file`,e.file,e.fileName),i.append(`stream`,`true`),e.language!=null&&i.append(`language`,e.language),e.prompt!=null&&i.append(`prompt`,e.prompt),e.temperature!=null&&i.append(`temperature`,e.temperature)):i=r.inputAudioStream;let a=await(e.fetch??globalThis.fetch)(EC(`audio/transcriptions`,e.baseURL),{body:i,headers:TC(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal});await DC(a);let{body:s}=a;await s.pipeThrough(XE()).pipeTo(new WritableStream({abort:e=>{n?.error(e),t?.error(e)},close:()=>{},write:e=>{e.type===`transcript.text.delta`?(t?.enqueue(e.delta),o+=e.delta,n?.enqueue(e)):e.type}}))};return(async()=>{try{await s(),a.resolve(o),n?.close(),t?.close()}catch(e){n?.error(e),t?.error(e),a.reject(e)}})(),{fullStream:r,text:a.promise,textStream:i}}var $E=Fe(`0123456789abcdef`,32);function eD(e,t,n,r){let i=tD(e,t,n,r),a=$E();function o(e,t){let n=et({sessionId:a},t);e.send(JSON.stringify({header:{appkey:i.appKey,message_id:$E(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StartTranscription`},payload:{format:`wav`}}))}function s(e,t){let n=et({sessionId:a},t);e?.send(JSON.stringify({header:{appkey:i.appKey,message_id:$E(),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 tD(e,t,n,r){let i=``,a=mw(new Date).getTime();async function o(){if(!i||xT(new Date(a),mw(new Date))){let n=await JE(e,t,{regionId:r?.region??`cn-shanghai`});i=n.token,a=n.expiresAt}let n=BE(r?.region??`cn-shanghai`);return n.searchParams.set(`token`,i),n.toString()}return{websocketUrl:o,appKey:n}}var nD={format:`pcm`,sample_rate:16e3};function rD(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 iD=new TextEncoder;function aD(e){return iD.encode(`data: ${JSON.stringify(e)}\n\n`)}function oD(e){try{return e()}catch{return}}function sD(e,t,n){return{on:()=>n?.addEventListener(e,t),off:()=>n?.removeEventListener(e,t)}}async function cD(e){let{accessKeyId:t,accessKeySecret:n,appKey:r,region:i,sessionOptions:a,audioStream:o,abortSignal:s,hooks:c,onSessionTerminated:l,onSentenceFinal:u}=e,d=eD(t,n,r,{region:i}),f=o.getReader(),p=await d.websocketUrl();oD(()=>c?.onWebSocketConnecting?.());let m=new WebSocket(p);m.binaryType=`arraybuffer`;let h=sD(`abort`,()=>g(s?.reason??new DOMException(`Aborted`,`AbortError`)),s);s&&h.on();async function g(e){h&&s&&h.off(),oD(async()=>await f.cancel()),m&&(m.readyState===WebSocket.OPEN?(oD(()=>d.stop(m)),m.close(1e3,`client closed`)):oD(()=>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(rD(t))}}catch(e){await g(e)}}async function v(e){let t=JSON.parse(e.data);d.onEvent(t,async e=>{oD(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(){oD(()=>c?.onWebSocketOpen?.()),d.start(m,{enable_intermediate_result:!0,enable_punctuation_prediction:!0,...nD,...a})}if(m.onerror=e=>oD(()=>c?.onWebSocketError?.(e)),m.onclose=e=>oD(()=>c?.onWebSocketClose?.(e?.code??1006,e?.reason??``)),m.onopen=()=>oD(async()=>y()),m.onmessage=e=>oD(async()=>v(e)),s?.aborted)throw s.reason??new DOMException(`Aborted`,`AbortError`)}function lD(e,t,n,r){return{speech(i,a){return{baseURL:BE(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){cD({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(aD({delta:t,type:`transcript.text.delta`})),i.enqueue(aD({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 uD=[{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 dD=async e=>(e.fetch??globalThis.fetch)(EC(`chat/completions`,e.baseURL),{body:wC({...e,tools:e.tools?.map(e=>({function:SC({...e.function,returns:void 0}),type:`function`}))}),headers:TC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(DC),fD=({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`},pD=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),mD=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=pD(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}}},hD=async e=>dD({...e,maxSteps:void 0,steps:void 0,stream:!1}).then(OC).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=fD({finishReason:c,maxSteps:e.maxSteps??1,stepsLength:a.length,toolCallsLength:u.length});if(i.push(SC({...l,reasoning_content:void 0})),c!==`stop`&&d!==`done`)for(let t of u){let{completionToolCall:n,completionToolResult:r,message:a}=await mD({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()=>hD({...e,messages:i,steps:a})}),gD=async e=>kC(async()=>hD(e)),_D=(...e)=>e,vD=e=>({content:e,role:`system`}),yD=e=>({content:e,role:`user`}),bD=e=>({text:e,type:`text`}),xD=e=>({image_url:{url:e},type:`image_url`}),SD=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))},CD=Object.freeze({__proto__:null,assistant:e=>SD(e)?Array.isArray(e)?{role:`assistant`,tool_calls:e}:{role:`assistant`,tool_calls:[e]}:{content:e,role:`assistant`},imagePart:xD,isToolCall:SD,messages:_D,system:vD,textPart:bD,tool:(e,t)=>({content:e,role:`tool`,tool_call_id:t.id}),user:yD});function wD(e){return typeof e==`string`?e.trim():``}function TD(e){let t=wD(e);return t&&!t.endsWith(`/`)&&(t+=`/`),t}function ED(){try{return typeof localStorage<`u`&&localStorage.getItem(`airi:debug`)===`1`}catch{return!1}}function DD(...e){ED()&&console.warn(...e)}function OD(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=wD(e.apiKey),r=TD(e.baseUrl);if(!n||!r)return[];let i=await u(n,r);return!i||typeof i.model!=`function`?[]:(await qC({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=wD(e.baseUrl),r=wD(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=TD(n),t.length>0)return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let i=p||[],a=!!r,o=(async()=>{let e=`test`;if(!a)return e;try{let t=await qC({apiKey:r,baseURL:n,headers:m}).then(e=>e.filter(e=>[`embed`,`tts`,`models/gemini-2.5-pro`].every(t=>!e.id.includes(t))));t.length>0&&(e=t[0].id)}catch(e){DD(`Model auto-detection failed: ${e.message}`)}return e})(),s=[];if(i.includes(`health`)&&a&&s.push((async()=>{try{let e=await o;return await gD({apiKey:r,baseURL:n,headers:m,model:e,messages:CD.messages(CD.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 qC({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 gD({apiKey:r,baseURL:n,headers:m,model:e,messages:CD.messages(CD.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(wD(e.apiKey),TD(e.baseUrl)),capabilities:_,validators:v,...y===`transcription`?{transcriptionFeatures:h??{supportsGenerate:!0,supportsStreamOutput:!1,supportsStreamInput:!1}}:{},...g}}var kD=[`cn-shanghai`,`cn-shanghai-internal`,`cn-beijing`,`cn-beijing-internal`,`cn-shenzhen`,`cn-shenzhen-internal`];function AD(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 vC(_C(`anthropic`),dC({apiKey:e,fetch:n,baseURL:t}),mC({apiKey:e,fetch:n,baseURL:t}))}const jD=je(`providers`,()=>{let e=We(`settings/credentials/providers`,{}),{t}=$e(),n=C(()=>e=>{let t=``;return e?typeof e==`string`?!Pe(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 Ne()?!1:!!(await nt()||`navigator`in globalThis&&globalThis.navigator!=null&&`deviceMemory`in globalThis.navigator&&typeof globalThis.navigator.deviceMemory==`number`&&globalThis.navigator.deviceMemory>=8)}let i={"openrouter-ai":OD({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:zC,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||((!Pe(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":OD({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:Ne,creator:RC,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":OD({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:Ne,creator:RC,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":OD({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:RC,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":OD({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:RC,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=>WC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await qC({...WC(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=>WC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await qC({...WC(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=>RC(``,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:OD({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:RC,validation:[`health`,`model_list`]}),"openai-compatible":OD({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:RC,validation:[`health`]}),"openai-audio-speech":OD({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:RC,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":OD({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:RC}),"openai-audio-transcription":OD({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:RC,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":OD({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:RC}),"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=kD.includes(a)?a:`cn-shanghai`;if(!n||!r||!i)throw Error(`Aliyun NLS credentials are incomplete.`);let s=lD(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&&!kD.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:OD({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:AD,validation:[`health`,`model_list`],additionalHeaders:{"anthropic-dangerous-direct-browser-access":`true`}}),"google-generative-ai":OD({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:PC,validation:[`health`,`model_list`]}),deepseek:OD({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:MC,validation:[`health`,`model_list`]}),"302-ai":OD({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/`)=>vC(dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({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=>rw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>uD.map(e=>({id:e.model_id,name:e.name,provider:`elevenlabs`,description:e.description,contextLength:0,deprecated:!1})),listVoices:async e=>{let t=await sw({...rw(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=>iw(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 sw({...iw(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=>ow(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await sw({...ow(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=>aw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await sw({...aw(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":OD({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/`)=>vC(mC({apiKey:e,baseURL:t}),hC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"comet-api-transcription":OD({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/`)=>vC(mC({apiKey:e,baseURL:t}),gC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"cerebras-ai":OD({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:jC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:cerebras-color`}),"together-ai":OD({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:VC,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 AC({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:OD({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:UC,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=>WC(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":OD({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:LC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:novita`}),"fireworks-ai":OD({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:NC,validation:[`health`,`model_list`]}),"featherless-ai":OD({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:RC,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=>HC(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":OD({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/`)=>vC(dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"perplexity-ai":OD({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:BC,validation:[`health`,`model_list`]}),"mistral-ai":OD({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:FC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:mistral`}),"moonshot-ai":OD({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:IC,validation:[`health`,`model_list`]}),modelscope:OD({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:RC,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=>KC(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=>KC(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=N({}),o=N({});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}}))}ae(e,l,{deep:!0,immediate:!0});let u=C(()=>Object.keys(i).filter(e=>a.value[e])),d=N({}),f=N({}),p=N({});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=C(()=>{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)}ae(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=C(()=>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=qe(async()=>{let e=[];for(let t of y.value)await(v(t.id).isAvailableBy||(()=>!0))()&&e.push(t);return e},[]),ee=C(()=>S.value.filter(e=>e.category===`chat`)),w=C(()=>S.value.filter(e=>e.category===`speech`)),T=C(()=>S.value.filter(e=>e.category===`transcription`)),E=C(()=>ee.value.filter(e=>a.value[e.id])),D=C(()=>w.value.filter(e=>a.value[e.id])),O=C(()=>T.value.filter(e=>a.value[e.id]));function te(t){return e.value[t]}return{providers:e,getProviderConfig:te,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:w,allAudioTranscriptionProvidersMetadata:T,configuredChatProvidersMetadata:E,configuredSpeechProvidersMetadata:D,configuredTranscriptionProvidersMetadata:O}}),MD=je(`consciousness`,()=>{let e=jD(),t=We(`settings/consciousness/active-provider`,``),n=We(`settings/consciousness/active-model`,``),r=We(`settings/consciousness/active-custom-model`,``),i=N({}),a=N(``),o=C(()=>e.getProviderMetadata(t.value)?.capabilities.listModels!==void 0),s=C(()=>e.getModelsForProvider(t.value)),c=C(()=>e.isLoadingModels[t.value]||!1),l=C(()=>e.modelLoadError[t.value]||null),u=C(()=>{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:C(()=>!!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}});var ND=r({__name:`ProviderAccountIdInput`,props:h({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=w(e,`modelValue`);return(e,r)=>(b(),g(o(Te),{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`]))}}),PD=[`onClick`],FD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},ID={"mt-4":``},LD=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=N(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(b(),g(ce,{"w-full":``},{trigger:A(t=>[M(`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()},[M(`h2`,FD,[M(`span`,null,p(e.title||`Advanced`),1)]),M(`div`,{transform:``,transition:`transform duration-250`,class:O({"rotate-180":t.visible})},[...r[0]||=[M(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,PD)]),default:A(()=>[M(`div`,ID,[k(t.$slots,`default`)])]),_:3}))}}),RD=r({__name:`ProviderApiKeyInput`,props:h({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=$e(),r=w(e,`modelValue`),i=C(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(b(),g(o(Te),{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`]))}}),zD=r({__name:`ProviderBaseUrlInput`,props:h({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=w(e,`modelValue`);return(e,r)=>(b(),g(o(Te),{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`]))}}),BD={flex:`~ col gap-6`},VD={flex:`~ row`,"items-center":``,"justify-between":``},HD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},UD={text:`neutral-400 dark:neutral-500`},WD=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(b(),j(`div`,BD,[M(`div`,VD,[M(`div`,null,[M(`h2`,HD,p(e.title||`Basic`),1),M(`div`,UD,[M(`span`,null,p(e.description||`Essential settings`),1)])]),e.onReset?(b(),j(`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]||=[M(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),k(t.$slots,`default`)]))}}),GD={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},KD=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(b(),j(`div`,GD,[k(e.$slots,`default`)]))}}),qD={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":``},JD=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=x(`motion`);return b(),j(ne,null,[k(t.$slots,`default`),ee((b(),j(`div`,qD,[M(`div`,{text:`60`,class:O(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),YD=typeof window<`u`,XD=YD?window:null,ZD=YD?document:null,QD={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},$D={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},eO={NONE:0,AUTO:1,FORCE:2},tO={replace:0,none:1,blend:2},nO=Symbol(),rO=Symbol(),iO=Symbol(),aO=Symbol(),oO=Symbol(),sO=1e-11,cO=0xe8d4a51000,lO=1e3,uO=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),dO=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],fO=dO.reduce((e,t)=>({...e,[t]:t+`(`}),{}),pO=()=>{},mO=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,hO=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,gO=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,_O=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,vO=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,yO=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,bO=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,xO=/([a-z])([A-Z])/g,SO=/(\w+)(\([^)]+\)+)/g,CO=/(\*=|\+=|-=)/,wO=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,TO={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:lO,delay:0,loopDelay:0,ease:`out(2)`,composition:tO.replace,modifier:e=>e,onBegin:pO,onBeforeUpdate:pO,onUpdate:pO,onLoop:pO,onPause:pO,onComplete:pO,onRender:pO},EO={current:null,root:ZD},DO={defaults:TO,precision:4,timeScale:1,tickThreshold:200},OO={version:`4.2.2`,engine:null};YD&&(XD.AnimeJS||=[],XD.AnimeJS.push(OO));var kO=e=>e.replace(xO,`$1-$2`).toLowerCase(),AO=(e,t)=>e.indexOf(t)===0,jO=Date.now,MO=Array.isArray,NO=e=>e&&e.constructor===Object,PO=e=>typeof e==`number`&&!isNaN(e),FO=e=>typeof e==`string`,IO=e=>typeof e==`function`,LO=e=>e===void 0,RO=e=>LO(e)||e===null,zO=e=>YD&&e instanceof SVGElement,BO=e=>mO.test(e),VO=e=>AO(e,`rgb`),HO=e=>AO(e,`hsl`),UO=e=>BO(e)||VO(e)||HO(e),WO=e=>!DO.defaults.hasOwnProperty(e),GO=[`opacity`,`rotate`,`overflow`,`color`],KO=(e,t)=>{if(GO.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}},qO=Math.pow,JO=Math.sqrt,YO=Math.sin,XO=Math.cos,ZO=Math.floor,QO=Math.asin,$O=Math.PI,ek=Math.round,tk=(e,t,n)=>en?n:e,nk={},rk=(e,t)=>{if(t<0)return e;if(!t)return ek(e);let n=nk[t];return n||=nk[t]=10**t,ek(e*n)/n},ik=(e,t,n)=>e+(t-e)*n,ak=e=>e===1/0?cO:e===-1/0?-cO:e,ok=e=>e<=1e-11?sO:ak(rk(e,11)),sk=e=>MO(e)?[...e]:e,ck=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=LO(i)?t[r]:i}return n},lk=(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}},uk=(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},dk=(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},fk=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[aO],o;for(;o=SO.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&&!LO(i)?i:AO(t,`scale`)?`1`:AO(t,`rotate`)||AO(t,`skew`)?`0deg`:`0px`},pk=e=>{let t=hO.exec(e)||gO.exec(e),n=LO(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},mk=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]},hk=(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),gk=e=>{let t=_O.exec(e)||vO.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=LO(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=rk(hk(t,e,n+1/3)*255,0),s=rk(hk(t,e,n)*255,0),c=rk(hk(t,e,n-1/3)*255,0)}return[o,s,c,a]},_k=e=>VO(e)?pk(e):BO(e)?mk(e):HO(e)?gk(e):[0,0,0,1],vk=(e,t)=>LO(e)?t:e,yk=(e,t,n,r,i)=>{let a;if(IO(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(FO(e)&&AO(e,`var(`))a=()=>{let n=e.match(wO),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()},bk=(e,t)=>e[rO]?e[iO]&&KO(e,t)?QD.ATTRIBUTE:dO.includes(t)||uO.get(t)?QD.TRANSFORM:AO(t,`--`)?QD.CSS_VAR:t in e.style?QD.CSS:t in e?QD.OBJECT:QD.ATTRIBUTE:QD.OBJECT,xk=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[oO]||e).getPropertyValue(t);return i===`auto`?`0`:i},Sk=(e,t,n,r)=>{let i=LO(n)?bk(e,t):n;return i===QD.OBJECT?e[t]||0:i===QD.ATTRIBUTE?e.getAttribute(t):i===QD.TRANSFORM?fk(e,t,r):i===QD.CSS_VAR?xk(e,t,r).trimStart():xk(e,t,r)},Ck=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,wk=()=>({t:$D.NUMBER,n:0,u:null,o:null,d:null,s:null}),Tk=(e,t)=>{if(t.t=$D.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:bO.exec(n);if(r)return t.t=$D.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(UO(n))return t.t=$D.COLOR,t.d=_k(n),t;{let e=n.match(yO);return t.t=$D.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(yO)||[],t}}else return t.n=n,t},Ek=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=sk(e._toNumbers),t.s=sk(e._strings),t),Dk=wk(),Ok=(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=tk(g,-h,o),b=tk(v,-h,o),x=v-g,S=b>0,C=b>=o,ee=o<=sO,w=i===eO.FORCE,T=0,E=v,D=0;l>1&&(e._currentIteration=tk(~~(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,ne=C?O?0:o:O?c-E:E;te&&(ne=c*te(ne/c)||0);let re=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||ne>=_&&y!==o||ne<=h&&y>0||t<=y&&y===o&&s||C&&!s&&ee){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=w||(re?x*-1:x)>=DO.tickThreshold,i=e._offset+(a?a._offset:0)+h+ne,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!==tO.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=tk(ne-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===QD.OBJECT,g=f===$D.NUMBER,_=g&&m||n===0||n===1?-1:DO.precision,v,y;if(g)v=y=i(rk(ik(o._fromNumber,o._toNumber,n),_));else if(f===$D.UNIT)y=i(rk(ik(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===$D.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=rk(tk(i(ik(e[0],t[0],n)),0,255),0),a=rk(tk(i(ik(e[1],t[1],n)),0,255),0),s=rk(tk(i(ik(e[2],t[2],n)),0,255),0),c=tk(i(rk(ik(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===$D.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||re&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!re):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(re||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,D},kk=(e,t,n,r,i)=>{let a=e._currentIteration;if(Ok(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;lk(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=rk((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))))}},Ak={},jk=(e,t,n)=>{if(n===QD.TRANSFORM)return uO.get(e)||e;if(n===QD.CSS||n===QD.ATTRIBUTE&&zO(t)&&e in t.style){let t=Ak[e];if(t)return t;{let t=e&&kO(e);return Ak[e]=t,t}}else return e},Mk=e=>{if(e._hasChildren)lk(e,Mk,!0);else{let t=e;t.pause(),lk(t,e=>{let n=e.property,r=e.target;if(r[rO]){let i=r.style,a=e._inlineValue,o=RO(a)||a===``;if(e._tweenType===QD.TRANSFORM){let t=r[aO];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+=fO[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},Nk=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=rk(lO/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?sO:n,i=rk(lO/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?sO:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=Pk.animation;return t||(t={duration:sO,computeDeltaTime:pO,_offset:0,_delay:0,_head:null,_tail:null},Pk.animation=t,Pk.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===$D.COMPLEX||e===$D.COLOR?sk(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;eYD?requestAnimationFrame:setImmediate)(),Lk=(()=>YD?cancelAnimationFrame:clearImmediate)(),Rk=class extends Nk{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=TO,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?(uk(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*(DO.timeScale===1?1:lO)}set speed(e){this._speed=e*DO.timeScale,lk(this,e=>e.speed=e._speed)}get timeUnit(){return DO.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(DO.timeScale!==r){DO.timeScale=r,DO.tickThreshold=200*r;let e=n?t:lO;this.defaults.duration*=e,this._speed*=e}}get precision(){return DO.precision}set precision(e){DO.precision=e}},zk=(()=>{let e=new Rk(jO());return YD&&(OO.engine=e,ZD.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(ZD.hidden?e.pause():e.resume())})),e})(),Bk=()=>{zk._head?(zk.reqId=Ik(Bk),zk.update()):zk.reqId=0},Vk=()=>(Lk(zk.reqId),zk.reqId=0,zk),Hk={_rep:new WeakMap,_add:new Map},Uk=(e,t,n=`_rep`)=>{let r=Hk[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},Wk=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,Gk=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=sO,e._currentTime=sO},Kk=(e,t)=>{let n=e._composition;if(n===tO.replace){let n=e._absoluteStartTime;dk(t,e,Wk,`_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){Gk(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)Gk(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=rk(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&Gk(r)}let o=!0;if(lk(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;lk(e,e=>{e!==t&&lk(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===tO.blend){let t=Uk(e.target,e.property,`_add`),n=Fk(Hk._add),r=t._head;r||(r={...e},r._composition=tO.replace,r._updateDuration=sO,r._startTime=0,r._numbers=sk(e._fromNumbers),r._number=0,r._next=null,r._prev=null,dk(t,r),dk(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=sk(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=sk(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}dk(t,e,null,`_prevAdd`,`_nextAdd`)}return e},qk=e=>{let t=e._composition;if(t!==tO.none){let n=e.target,r=e.property,i=Hk._rep.get(n)[r];if(uk(i,e,`_prevRep`,`_nextRep`),t===tO.blend){let t=Hk._add,i=t.get(n);if(!i)return;let a=i[r],o=Pk.animation;uk(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){uk(a,s,`_prevAdd`,`_nextAdd`),uk(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},Jk=(e,t,n)=>{let r=!1;return lk(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===QD.TRANSFORM&&i._prev&&i._prev._tweenType===QD.TRANSFORM&&(i._prev._renderTransforms=1),uk(t,i),qk(i),r=!0)}},!0),r},Yk=(e,t,n)=>{let r=t||zk,i;if(r._hasChildren){let t=0;lk(r,a=>{if(!a._hasChildren)if(i=Jk(e,a,n),i&&!a._head)a.cancel(),uk(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?Yk(e,a,n):a._hasChildren=!1},!0),LO(r.iterationDuration)||(r.iterationDuration=t)}else i=Jk(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},Xk=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),Zk=e=>e._cancelled?(e._hasChildren?lk(e,Zk):lk(e,e=>{e._composition!==tO.none&&Kk(e,Uk(e.target,e.property))}),e._cancelled=0,e):e,Qk=0,$k=class extends Nk{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;EO.current&&EO.current.register(this);let y=t?0:zk._elapsedTime,b=t?t.defaults:DO.defaults,x=IO(i)||LO(i)?b.delay:+i,S=IO(a)||LO(a)?1/0:+a,C=vk(c,b.loop),ee=vk(l,b.loopDelay),w=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(zk.reqId||zk.requestTick(jO()),T=(zk._elapsedTime-zk._startTime)*DO.timeScale),this.id=LO(r)?++Qk:r,this.parent=t,this.duration=ak((S+ee)*w-ee)||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=w,this._autoplay=t?!1:vk(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=ee,this._iterationTime=0,this._currentIteration=0,this._resolve=pO,this._running=!1,this._reversed=+vk(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=vk(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=vk(d,b.frameRate),this._speed=vk(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return tk(rk(this._currentTime,DO.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return rk(this._iterationTime,DO.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return tk(rk(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return tk(rk(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*tk(+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 Zk(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,kk(this,0,1,~~e,eO.FORCE),Xk(this),this._hasChildren&&lk(this,Xk),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&kk(this,this.duration,1,~~e,eO.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!LO(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*zk._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,sO,0,0,eO.FORCE):(this._running||=(dk(zk,this),zk._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,zk.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){Zk(this),this.completed=!1;let r=this.paused;return this.paused=!0,kk(this,e+this._delay,~~t,~~n,eO.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?ZO(cO/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?lk(this,e=>e.cancel(),!0):lk(this,qk),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=ok(e);if(t===n)return this;let r=e/t,i=e<=sO;return this.duration=i?sO:n,this.iterationDuration=i?sO:ok(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){kk(this,0,1,0,eO.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=pO){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=pO};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function eA(e){let t=FO(e)?EO.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function tA(e){if(RO(e))return[];if(!YD)return MO(e)&&e.flat(1/0)||[e];if(MO(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===$D.UNIT&&i===n)return t;let o=a+i+n,s=iA[o];if(!LO(s)&&!r)t.n=s;else{let r;if(i in rA)r=a*rA[i]/rA[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==ZD?o:ZD.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,iA[o]=r}return t.t,$D.UNIT,t.u=n,t},oA=e=>e,sA=(e=1.68)=>t=>qO(t,+e),cA={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},lA=$O/2,uA=$O*2,dA={"":sA,Quad:sA(2),Cubic:sA(3),Quart:sA(4),Quint:sA(5),Sine:e=>1-XO(e*lA),Circ:e=>1-JO(1-e*e),Expo:e=>e?qO(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=qO(2,--n))-1)/11;);return 1/qO(4,3-n)-7.5625*qO((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=tk(+e,1,10),r=tk(+t,sO,2),i=r/uA*QO(1/n),a=uA/r;return e=>e===0||e===1?e:-n*qO(2,-10*(1-e))*YO((1-e-i)*a)}},fA=(()=>{let e={linear:oA,none:oA};for(let t in cA)for(let n in dA){let r=dA[n],i=cA[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),pA={linear:oA,none:oA},mA=e=>{if(pA[e])return pA[e];if(e.indexOf(`(`)<=-1){let t=cA[e]||e.includes(`Back`)||e.includes(`Elastic`)?fA[e]():fA[e];return t?pA[e]=t:oA}else{let t=e.slice(0,-1).split(`(`),n=fA[t[0]];return n?pA[e]=n(...t[1].split(`,`)):oA}},hA=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],gA=e=>{if(FO(e)){for(let t=0,n=hA.length;t{let n={};if(MO(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(WO);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];WO(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=vk(t.duration,DO.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(WO(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?tO.none:LO(g)?v.composition:g,E=this._offset+(n?n._offset:0);x&&(p.parent=this);let D=NaN,O=NaN,te=0,ne=0;for(let e=0;e2&&t?(TA=[],s.forEach((e,t)=>{t?t===1?(SA[1]=e,TA.push(SA)):TA.push(e):SA[0]=e})):TA=s}else xA[0]=s,TA=xA;let p=null,m=null,h=NaN,g=0,_=0;for(let e=TA.length;_1?yk(C,t,r,l)/e:C),t,r,l),b=yk(vk(EA.delay,_?0:ee),t,r,l),x=yk(vk(EA.composition,T),t,r,l),D=PO(x)?x:tO[x],O=EA.modifier||w,re=!LO(u),ie=!LO(c),k=MO(c),ae=k||re&&ie,oe=m?g+b:b,A=rk(E+oe,12);!ne&&(re||k)&&(ne=1);let j=m;if(D!==tO.none){p||=Uk(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=A;)if(j=e,e=e._nextRep,e&&e._absoluteStartTime>=A)for(;e;)Gk(e),e=e._nextRep}if(ae?(Tk(k?yk(c[0],t,r,l):u,_A),Tk(k?yk(c[1],t,r,l,bA):c,vA),_A.t===$D.NUMBER&&(j?j._valueType===$D.UNIT&&(_A.t=$D.UNIT,_A.u=j._unit):(Tk(Sk(t,o,a,yA),Dk),Dk.t===$D.UNIT&&(_A.t=$D.UNIT,_A.u=Dk.u)))):(ie?Tk(c,vA):m?Ek(m,vA):Tk(n&&j&&j.parent.parent===n?j._value:Sk(t,o,a,yA),vA),re?Tk(u,_A):m?Ek(m,_A):Tk(n&&j&&j.parent.parent===n?j._value:Sk(t,o,a,yA),_A)),_A.o&&(_A.n=Ck(j?j._toNumber:Tk(Sk(t,o,a,yA),Dk).n,_A.n,_A.o)),vA.o&&(vA.n=Ck(_A.n,vA.n,vA.o)),_A.t!==vA.t){if(_A.t===$D.COMPLEX||vA.t===$D.COMPLEX){let e=_A.t===$D.COMPLEX?_A:vA,t=_A.t===$D.COMPLEX?vA:_A;t.t=$D.COMPLEX,t.s=sk(e.s),t.d=e.d.map(()=>t.n)}else if(_A.t===$D.UNIT||vA.t===$D.UNIT){let e=_A.t===$D.UNIT?_A:vA,t=_A.t===$D.UNIT?vA:_A;t.t=$D.UNIT,t.u=e.u}else if(_A.t===$D.COLOR||vA.t===$D.COLOR){let e=_A.t===$D.COLOR?_A:vA,t=_A.t===$D.COLOR?vA:_A;t.t=$D.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(_A.u!==vA.u){let e=vA.u?_A:vA;e=aA(t,e,vA.u?vA.u:_A.u,!1)}if(vA.d&&_A.d&&vA.d.length!==_A.d.length){let e=_A.d.length>vA.d.length?_A:vA,t=e===_A?vA:_A;t.d=e.d.map((e,n)=>LO(t.d[n])?0:t.d[n]),t.s=sk(e.s)}let se=rk(+y||1e-11,12),M=yA[o];RO(M)||(yA[o]=null);let N={parent:this,id:wA++,property:o,target:t,_value:null,_func:bA.func,_ease:gA(v),_fromNumbers:sk(_A.d),_toNumbers:sk(vA.d),_strings:sk(vA.s),_fromNumber:_A.n,_toNumber:vA.n,_numbers:sk(_A.d),_number:_A.n,_unit:vA.u,_modifier:O,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:se,_changeDuration:se,_absoluteStartTime:A,_tweenType:a,_valueType:vA.t,_composition:D,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:M,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};D!==tO.none&&Kk(N,p),isNaN(h)&&(h=N._startTime),g=rk(oe+se,12),m=N,te++,dk(this,N)}(isNaN(O)||hD)&&(D=g),a===QD.TRANSFORM&&(d=te-_,f=te)}if(!isNaN(d)){let e=0;lk(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?(lk(this,e=>{e._startTime-e._delay||(e._delay-=O),e._startTime-=O}),D-=O):O=0,D||(D=sO,this.iterationCount=0),this.targets=s,this.duration=D===1e-11?sO:ak((D+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=O,this.iterationDuration=D,!this._autoplay&&ne&&this.onRender(this)}stretch(e){let t=this.duration;if(t===ok(e))return this;let n=e/t;return lk(this,e=>{e._updateDuration=ok(e._updateDuration*n),e._changeDuration=ok(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return lk(this,e=>{let t=e._func;t&&(Tk(Sk(e.target,e.property,e._tweenType),Dk),Tk(t(),vA),e._fromNumbers=sk(Dk.d),e._fromNumber=Dk.n,e._toNumbers=sk(vA.d),e._strings=sk(vA.s),e._toNumber=vA.o?Ck(Dk.n,vA.n,vA.o):vA.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),Mk(this)}then(e){return super.then(e)}},kA=(e,t)=>new OA(e,t,null,0,!1).init();function AA(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 MA(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function NA(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(;;){MA(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)MA(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){MA(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 PA=``;var FA=new Set(`??!!`),IA=new Set(`.。??!!…⋯~~
+`);t=a.pop()??``;for(let e of a)try{let[t,n]=YE(e);if(n)break;t&&r.enqueue(t)}catch(e){r.error(e)}}})}function ZE(e){return`file`in e}function QE(e){let t,n,r=new ReadableStream({start:e=>n=e}),i=new ReadableStream({start:e=>t=e}),a=new CC,o=``,s=async()=>{let r=e,i;ZE(r)?(i=new FormData,i.append(`model`,e.model),i.append(`file`,e.file,e.fileName),i.append(`stream`,`true`),e.language!=null&&i.append(`language`,e.language),e.prompt!=null&&i.append(`prompt`,e.prompt),e.temperature!=null&&i.append(`temperature`,e.temperature)):i=r.inputAudioStream;let a=await(e.fetch??globalThis.fetch)(EC(`audio/transcriptions`,e.baseURL),{body:i,headers:TC(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal});await DC(a);let{body:s}=a;await s.pipeThrough(XE()).pipeTo(new WritableStream({abort:e=>{n?.error(e),t?.error(e)},close:()=>{},write:e=>{e.type===`transcript.text.delta`?(t?.enqueue(e.delta),o+=e.delta,n?.enqueue(e)):e.type}}))};return(async()=>{try{await s(),a.resolve(o),n?.close(),t?.close()}catch(e){n?.error(e),t?.error(e),a.reject(e)}})(),{fullStream:r,text:a.promise,textStream:i}}var $E=Fe(`0123456789abcdef`,32);function eD(e,t,n,r){let i=tD(e,t,n,r),a=$E();function o(e,t){let n=et({sessionId:a},t);e.send(JSON.stringify({header:{appkey:i.appKey,message_id:$E(),task_id:n.sessionId,namespace:`SpeechTranscriber`,name:`StartTranscription`},payload:{format:`wav`}}))}function s(e,t){let n=et({sessionId:a},t);e?.send(JSON.stringify({header:{appkey:i.appKey,message_id:$E(),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 tD(e,t,n,r){let i=``,a=mw(new Date).getTime();async function o(){if(!i||xT(new Date(a),mw(new Date))){let n=await JE(e,t,{regionId:r?.region??`cn-shanghai`});i=n.token,a=n.expiresAt}let n=BE(r?.region??`cn-shanghai`);return n.searchParams.set(`token`,i),n.toString()}return{websocketUrl:o,appKey:n}}var nD={format:`pcm`,sample_rate:16e3};function rD(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 iD=new TextEncoder;function aD(e){return iD.encode(`data: ${JSON.stringify(e)}\n\n`)}function oD(e){try{return e()}catch{return}}function sD(e,t,n){return{on:()=>n?.addEventListener(e,t),off:()=>n?.removeEventListener(e,t)}}async function cD(e){let{accessKeyId:t,accessKeySecret:n,appKey:r,region:i,sessionOptions:a,audioStream:o,abortSignal:s,hooks:c,onSessionTerminated:l,onSentenceFinal:u}=e,d=eD(t,n,r,{region:i}),f=o.getReader(),p=await d.websocketUrl();oD(()=>c?.onWebSocketConnecting?.());let m=new WebSocket(p);m.binaryType=`arraybuffer`;let h=sD(`abort`,()=>g(s?.reason??new DOMException(`Aborted`,`AbortError`)),s);s&&h.on();async function g(e){h&&s&&h.off(),oD(async()=>await f.cancel()),m&&(m.readyState===WebSocket.OPEN?(oD(()=>d.stop(m)),m.close(1e3,`client closed`)):oD(()=>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(rD(t))}}catch(e){await g(e)}}async function v(e){let t=JSON.parse(e.data);d.onEvent(t,async e=>{oD(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(){oD(()=>c?.onWebSocketOpen?.()),d.start(m,{enable_intermediate_result:!0,enable_punctuation_prediction:!0,...nD,...a})}if(m.onerror=e=>oD(()=>c?.onWebSocketError?.(e)),m.onclose=e=>oD(()=>c?.onWebSocketClose?.(e?.code??1006,e?.reason??``)),m.onopen=()=>oD(async()=>y()),m.onmessage=e=>oD(async()=>v(e)),s?.aborted)throw s.reason??new DOMException(`Aborted`,`AbortError`)}function lD(e,t,n,r){return{speech(i,a){return{baseURL:BE(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){cD({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(aD({delta:t,type:`transcript.text.delta`})),i.enqueue(aD({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 uD=[{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 dD=async e=>(e.fetch??globalThis.fetch)(EC(`chat/completions`,e.baseURL),{body:wC({...e,tools:e.tools?.map(e=>({function:SC({...e.function,returns:void 0}),type:`function`}))}),headers:TC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(DC),fD=({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`},pD=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),mD=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=pD(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}}},hD=async e=>dD({...e,maxSteps:void 0,steps:void 0,stream:!1}).then(OC).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=fD({finishReason:c,maxSteps:e.maxSteps??1,stepsLength:a.length,toolCallsLength:u.length});if(i.push(SC({...l,reasoning_content:void 0})),c!==`stop`&&d!==`done`)for(let t of u){let{completionToolCall:n,completionToolResult:r,message:a}=await mD({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()=>hD({...e,messages:i,steps:a})}),gD=async e=>kC(async()=>hD(e)),_D=(...e)=>e,vD=e=>({content:e,role:`system`}),yD=e=>({content:e,role:`user`}),bD=e=>({text:e,type:`text`}),xD=e=>({image_url:{url:e},type:`image_url`}),SD=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))},CD=Object.freeze({__proto__:null,assistant:e=>SD(e)?Array.isArray(e)?{role:`assistant`,tool_calls:e}:{role:`assistant`,tool_calls:[e]}:{content:e,role:`assistant`},imagePart:xD,isToolCall:SD,messages:_D,system:vD,textPart:bD,tool:(e,t)=>({content:e,role:`tool`,tool_call_id:t.id}),user:yD});function wD(e){return typeof e==`string`?e.trim():``}function TD(e){let t=wD(e);return t&&!t.endsWith(`/`)&&(t+=`/`),t}function ED(){try{return typeof localStorage<`u`&&localStorage.getItem(`airi:debug`)===`1`}catch{return!1}}function DD(...e){ED()&&console.warn(...e)}function OD(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=wD(e.apiKey),r=TD(e.baseUrl);if(!n||!r)return[];let i=await u(n,r);return!i||typeof i.model!=`function`?[]:(await qC({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=wD(e.baseUrl),r=wD(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=TD(n),t.length>0)return{errors:t,reason:t.map(e=>e.message).join(`, `),valid:!1};let i=p||[],a=!!r,o=(async()=>{let e=`test`;if(!a)return e;try{let t=await qC({apiKey:r,baseURL:n,headers:m}).then(e=>e.filter(e=>[`embed`,`tts`,`models/gemini-2.5-pro`].every(t=>!e.id.includes(t))));t.length>0&&(e=t[0].id)}catch(e){DD(`Model auto-detection failed: ${e.message}`)}return e})(),s=[];if(i.includes(`health`)&&a&&s.push((async()=>{try{let e=await o;return await gD({apiKey:r,baseURL:n,headers:m,model:e,messages:CD.messages(CD.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 qC({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 gD({apiKey:r,baseURL:n,headers:m,model:e,messages:CD.messages(CD.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(wD(e.apiKey),TD(e.baseUrl)),capabilities:_,validators:v,...y===`transcription`?{transcriptionFeatures:h??{supportsGenerate:!0,supportsStreamOutput:!1,supportsStreamInput:!1}}:{},...g}}var kD=[`cn-shanghai`,`cn-shanghai-internal`,`cn-beijing`,`cn-beijing-internal`,`cn-shenzhen`,`cn-shenzhen-internal`];function AD(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 vC(_C(`anthropic`),dC({apiKey:e,fetch:n,baseURL:t}),mC({apiKey:e,fetch:n,baseURL:t}))}const jD=je(`providers`,()=>{let e=We(`settings/credentials/providers`,{}),{t}=$e(),n=C(()=>e=>{let t=``;return e?typeof e==`string`?!Pe(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 Ne()?!1:!!(await nt()||`navigator`in globalThis&&globalThis.navigator!=null&&`deviceMemory`in globalThis.navigator&&typeof globalThis.navigator.deviceMemory==`number`&&globalThis.navigator.deviceMemory>=8)}let i={"openrouter-ai":OD({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:zC,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||((!Pe(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":OD({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:Ne,creator:RC,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":OD({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:Ne,creator:RC,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":OD({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:RC,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":OD({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:RC,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=>WC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await qC({...WC(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=>WC(e.baseUrl.trim()),capabilities:{listModels:async e=>(await qC({...WC(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=>RC(``,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:OD({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:RC,validation:[`health`,`model_list`]}),"openai-compatible":OD({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:RC,validation:[`health`]}),"openai-audio-speech":OD({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:RC,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":OD({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:RC}),"openai-audio-transcription":OD({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:RC,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":OD({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:RC}),"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=kD.includes(a)?a:`cn-shanghai`;if(!n||!r||!i)throw Error(`Aliyun NLS credentials are incomplete.`);let s=lD(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&&!kD.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:OD({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:AD,validation:[`health`,`model_list`],additionalHeaders:{"anthropic-dangerous-direct-browser-access":`true`}}),"google-generative-ai":OD({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:PC,validation:[`health`,`model_list`]}),deepseek:OD({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:MC,validation:[`health`,`model_list`]}),"302-ai":OD({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/`)=>vC(dC({apiKey:e,baseURL:t}),fC({apiKey:e,baseURL:t}),mC({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=>rw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listModels:async()=>uD.map(e=>({id:e.model_id,name:e.name,provider:`elevenlabs`,description:e.description,contextLength:0,deprecated:!1})),listVoices:async e=>{let t=await sw({...rw(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=>iw(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 sw({...iw(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=>ow(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await sw({...ow(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=>aw(e.apiKey.trim(),e.baseUrl.trim()),capabilities:{listVoices:async e=>(await sw({...aw(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":OD({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/`)=>vC(mC({apiKey:e,baseURL:t}),hC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"comet-api-transcription":OD({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/`)=>vC(mC({apiKey:e,baseURL:t}),gC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"cerebras-ai":OD({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:jC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:cerebras-color`}),"together-ai":OD({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:VC,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 AC({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:OD({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:UC,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=>WC(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":OD({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:LC,validation:[`health`,`model_list`,`chat_completions`],iconColor:`i-lobe-icons:novita`}),"fireworks-ai":OD({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:NC,validation:[`health`,`model_list`]}),"featherless-ai":OD({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:RC,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=>HC(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":OD({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/`)=>vC(dC({apiKey:e,baseURL:t}),mC({apiKey:e,baseURL:t})),validation:[`model_list`]}),"perplexity-ai":OD({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:BC,validation:[`health`,`model_list`]}),"mistral-ai":OD({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:FC,validation:[`health`,`model_list`],iconColor:`i-lobe-icons:mistral`}),"moonshot-ai":OD({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:IC,validation:[`health`,`model_list`]}),modelscope:OD({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:RC,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=>KC(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=>KC(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=N({}),o=N({});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}}))}ae(e,l,{deep:!0,immediate:!0});let u=C(()=>Object.keys(i).filter(e=>a.value[e])),d=N({}),f=N({}),p=N({});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=C(()=>{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)}ae(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=C(()=>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=qe(async()=>{let e=[];for(let t of y.value)await(v(t.id).isAvailableBy||(()=>!0))()&&e.push(t);return e},[]),ee=C(()=>S.value.filter(e=>e.category===`chat`)),w=C(()=>S.value.filter(e=>e.category===`speech`)),T=C(()=>S.value.filter(e=>e.category===`transcription`)),E=C(()=>ee.value.filter(e=>a.value[e.id])),D=C(()=>w.value.filter(e=>a.value[e.id])),O=C(()=>T.value.filter(e=>a.value[e.id]));function te(t){return e.value[t]}return{providers:e,getProviderConfig:te,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:w,allAudioTranscriptionProvidersMetadata:T,configuredChatProvidersMetadata:E,configuredSpeechProvidersMetadata:D,configuredTranscriptionProvidersMetadata:O}}),MD=je(`consciousness`,()=>{let e=jD(),t=We(`settings/consciousness/active-provider`,``),n=We(`settings/consciousness/active-model`,``),r=We(`settings/consciousness/active-custom-model`,``),i=N({}),a=N(``),o=C(()=>e.getProviderMetadata(t.value)?.capabilities.listModels!==void 0),s=C(()=>e.getModelsForProvider(t.value)),c=C(()=>e.isLoadingModels[t.value]||!1),l=C(()=>e.modelLoadError[t.value]||null),u=C(()=>{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:C(()=>!!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}});var ND=r({__name:`ProviderAccountIdInput`,props:h({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=w(e,`modelValue`);return(e,r)=>(b(),g(o(Te),{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`]))}}),PD=[`onClick`],FD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},ID={"mt-4":``},LD=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=N(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(b(),g(ce,{"w-full":``},{trigger:A(t=>[M(`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()},[M(`h2`,FD,[M(`span`,null,p(e.title||`Advanced`),1)]),M(`div`,{transform:``,transition:`transform duration-250`,class:O({"rotate-180":t.visible})},[...r[0]||=[M(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,PD)]),default:A(()=>[M(`div`,ID,[k(t.$slots,`default`)])]),_:3}))}}),RD=r({__name:`ProviderApiKeyInput`,props:h({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=$e(),r=w(e,`modelValue`),i=C(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(b(),g(o(Te),{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`]))}}),zD=r({__name:`ProviderBaseUrlInput`,props:h({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=w(e,`modelValue`);return(e,r)=>(b(),g(o(Te),{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`]))}}),BD={flex:`~ col gap-6`},VD={flex:`~ row`,"items-center":``,"justify-between":``},HD={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},UD={text:`neutral-400 dark:neutral-500`},WD=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(b(),j(`div`,BD,[M(`div`,VD,[M(`div`,null,[M(`h2`,HD,p(e.title||`Basic`),1),M(`div`,UD,[M(`span`,null,p(e.description||`Essential settings`),1)])]),e.onReset?(b(),j(`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]||=[M(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),k(t.$slots,`default`)]))}}),GD={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},KD=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(b(),j(`div`,GD,[k(e.$slots,`default`)]))}}),qD={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":``},JD=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=x(`motion`);return b(),j(ne,null,[k(t.$slots,`default`),ee((b(),j(`div`,qD,[M(`div`,{text:`60`,class:O(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),YD=typeof window<`u`,XD=YD?window:null,ZD=YD?document:null,QD={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},$D={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},eO={NONE:0,AUTO:1,FORCE:2},tO={replace:0,none:1,blend:2},nO=Symbol(),rO=Symbol(),iO=Symbol(),aO=Symbol(),oO=Symbol(),sO=1e-11,cO=0xe8d4a51000,lO=1e3,uO=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),dO=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],fO=dO.reduce((e,t)=>({...e,[t]:t+`(`}),{}),pO=()=>{},mO=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,hO=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,gO=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,_O=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,vO=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,yO=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,bO=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,xO=/([a-z])([A-Z])/g,SO=/(\w+)(\([^)]+\)+)/g,CO=/(\*=|\+=|-=)/,wO=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,TO={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:lO,delay:0,loopDelay:0,ease:`out(2)`,composition:tO.replace,modifier:e=>e,onBegin:pO,onBeforeUpdate:pO,onUpdate:pO,onLoop:pO,onPause:pO,onComplete:pO,onRender:pO},EO={current:null,root:ZD},DO={defaults:TO,precision:4,timeScale:1,tickThreshold:200},OO={version:`4.2.2`,engine:null};YD&&(XD.AnimeJS||=[],XD.AnimeJS.push(OO));var kO=e=>e.replace(xO,`$1-$2`).toLowerCase(),AO=(e,t)=>e.indexOf(t)===0,jO=Date.now,MO=Array.isArray,NO=e=>e&&e.constructor===Object,PO=e=>typeof e==`number`&&!isNaN(e),FO=e=>typeof e==`string`,IO=e=>typeof e==`function`,LO=e=>e===void 0,RO=e=>LO(e)||e===null,zO=e=>YD&&e instanceof SVGElement,BO=e=>mO.test(e),VO=e=>AO(e,`rgb`),HO=e=>AO(e,`hsl`),UO=e=>BO(e)||VO(e)||HO(e),WO=e=>!DO.defaults.hasOwnProperty(e),GO=[`opacity`,`rotate`,`overflow`,`color`],KO=(e,t)=>{if(GO.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}},qO=Math.pow,JO=Math.sqrt,YO=Math.sin,XO=Math.cos,ZO=Math.floor,QO=Math.asin,$O=Math.PI,ek=Math.round,tk=(e,t,n)=>en?n:e,nk={},rk=(e,t)=>{if(t<0)return e;if(!t)return ek(e);let n=nk[t];return n||=nk[t]=10**t,ek(e*n)/n},ik=(e,t,n)=>e+(t-e)*n,ak=e=>e===1/0?cO:e===-1/0?-cO:e,ok=e=>e<=1e-11?sO:ak(rk(e,11)),sk=e=>MO(e)?[...e]:e,ck=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=LO(i)?t[r]:i}return n},lk=(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}},uk=(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},dk=(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},fk=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[aO],o;for(;o=SO.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&&!LO(i)?i:AO(t,`scale`)?`1`:AO(t,`rotate`)||AO(t,`skew`)?`0deg`:`0px`},pk=e=>{let t=hO.exec(e)||gO.exec(e),n=LO(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},mk=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]},hk=(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),gk=e=>{let t=_O.exec(e)||vO.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=LO(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=rk(hk(t,e,n+1/3)*255,0),s=rk(hk(t,e,n)*255,0),c=rk(hk(t,e,n-1/3)*255,0)}return[o,s,c,a]},_k=e=>VO(e)?pk(e):BO(e)?mk(e):HO(e)?gk(e):[0,0,0,1],vk=(e,t)=>LO(e)?t:e,yk=(e,t,n,r,i)=>{let a;if(IO(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(FO(e)&&AO(e,`var(`))a=()=>{let n=e.match(wO),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()},bk=(e,t)=>e[rO]?e[iO]&&KO(e,t)?QD.ATTRIBUTE:dO.includes(t)||uO.get(t)?QD.TRANSFORM:AO(t,`--`)?QD.CSS_VAR:t in e.style?QD.CSS:t in e?QD.OBJECT:QD.ATTRIBUTE:QD.OBJECT,xk=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[oO]||e).getPropertyValue(t);return i===`auto`?`0`:i},Sk=(e,t,n,r)=>{let i=LO(n)?bk(e,t):n;return i===QD.OBJECT?e[t]||0:i===QD.ATTRIBUTE?e.getAttribute(t):i===QD.TRANSFORM?fk(e,t,r):i===QD.CSS_VAR?xk(e,t,r).trimStart():xk(e,t,r)},Ck=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,wk=()=>({t:$D.NUMBER,n:0,u:null,o:null,d:null,s:null}),Tk=(e,t)=>{if(t.t=$D.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:bO.exec(n);if(r)return t.t=$D.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(UO(n))return t.t=$D.COLOR,t.d=_k(n),t;{let e=n.match(yO);return t.t=$D.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(yO)||[],t}}else return t.n=n,t},Ek=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=sk(e._toNumbers),t.s=sk(e._strings),t),Dk=wk(),Ok=(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=tk(g,-h,o),b=tk(v,-h,o),x=v-g,S=b>0,C=b>=o,ee=o<=sO,w=i===eO.FORCE,T=0,E=v,D=0;l>1&&(e._currentIteration=tk(~~(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,ne=C?O?0:o:O?c-E:E;te&&(ne=c*te(ne/c)||0);let re=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||ne>=_&&y!==o||ne<=h&&y>0||t<=y&&y===o&&s||C&&!s&&ee){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=w||(re?x*-1:x)>=DO.tickThreshold,i=e._offset+(a?a._offset:0)+h+ne,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!==tO.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=tk(ne-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===QD.OBJECT,g=f===$D.NUMBER,_=g&&m||n===0||n===1?-1:DO.precision,v,y;if(g)v=y=i(rk(ik(o._fromNumber,o._toNumber,n),_));else if(f===$D.UNIT)y=i(rk(ik(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===$D.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=rk(tk(i(ik(e[0],t[0],n)),0,255),0),a=rk(tk(i(ik(e[1],t[1],n)),0,255),0),s=rk(tk(i(ik(e[2],t[2],n)),0,255),0),c=tk(i(rk(ik(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===$D.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||re&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!re):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(re||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,D},kk=(e,t,n,r,i)=>{let a=e._currentIteration;if(Ok(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;lk(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=rk((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))))}},Ak={},jk=(e,t,n)=>{if(n===QD.TRANSFORM)return uO.get(e)||e;if(n===QD.CSS||n===QD.ATTRIBUTE&&zO(t)&&e in t.style){let t=Ak[e];if(t)return t;{let t=e&&kO(e);return Ak[e]=t,t}}else return e},Mk=e=>{if(e._hasChildren)lk(e,Mk,!0);else{let t=e;t.pause(),lk(t,e=>{let n=e.property,r=e.target;if(r[rO]){let i=r.style,a=e._inlineValue,o=RO(a)||a===``;if(e._tweenType===QD.TRANSFORM){let t=r[aO];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+=fO[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},Nk=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=rk(lO/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?sO:n,i=rk(lO/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?sO:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=Pk.animation;return t||(t={duration:sO,computeDeltaTime:pO,_offset:0,_delay:0,_head:null,_tail:null},Pk.animation=t,Pk.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===$D.COMPLEX||e===$D.COLOR?sk(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;eYD?requestAnimationFrame:setImmediate)(),Lk=(()=>YD?cancelAnimationFrame:clearImmediate)(),Rk=class extends Nk{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=TO,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?(uk(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*(DO.timeScale===1?1:lO)}set speed(e){this._speed=e*DO.timeScale,lk(this,e=>e.speed=e._speed)}get timeUnit(){return DO.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(DO.timeScale!==r){DO.timeScale=r,DO.tickThreshold=200*r;let e=n?t:lO;this.defaults.duration*=e,this._speed*=e}}get precision(){return DO.precision}set precision(e){DO.precision=e}},zk=(()=>{let e=new Rk(jO());return YD&&(OO.engine=e,ZD.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(ZD.hidden?e.pause():e.resume())})),e})(),Bk=()=>{zk._head?(zk.reqId=Ik(Bk),zk.update()):zk.reqId=0},Vk=()=>(Lk(zk.reqId),zk.reqId=0,zk),Hk={_rep:new WeakMap,_add:new Map},Uk=(e,t,n=`_rep`)=>{let r=Hk[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},Wk=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,Gk=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=sO,e._currentTime=sO},Kk=(e,t)=>{let n=e._composition;if(n===tO.replace){let n=e._absoluteStartTime;dk(t,e,Wk,`_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){Gk(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)Gk(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=rk(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&Gk(r)}let o=!0;if(lk(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;lk(e,e=>{e!==t&&lk(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===tO.blend){let t=Uk(e.target,e.property,`_add`),n=Fk(Hk._add),r=t._head;r||(r={...e},r._composition=tO.replace,r._updateDuration=sO,r._startTime=0,r._numbers=sk(e._fromNumbers),r._number=0,r._next=null,r._prev=null,dk(t,r),dk(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=sk(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=sk(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}dk(t,e,null,`_prevAdd`,`_nextAdd`)}return e},qk=e=>{let t=e._composition;if(t!==tO.none){let n=e.target,r=e.property,i=Hk._rep.get(n)[r];if(uk(i,e,`_prevRep`,`_nextRep`),t===tO.blend){let t=Hk._add,i=t.get(n);if(!i)return;let a=i[r],o=Pk.animation;uk(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){uk(a,s,`_prevAdd`,`_nextAdd`),uk(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},Jk=(e,t,n)=>{let r=!1;return lk(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===QD.TRANSFORM&&i._prev&&i._prev._tweenType===QD.TRANSFORM&&(i._prev._renderTransforms=1),uk(t,i),qk(i),r=!0)}},!0),r},Yk=(e,t,n)=>{let r=t||zk,i;if(r._hasChildren){let t=0;lk(r,a=>{if(!a._hasChildren)if(i=Jk(e,a,n),i&&!a._head)a.cancel(),uk(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?Yk(e,a,n):a._hasChildren=!1},!0),LO(r.iterationDuration)||(r.iterationDuration=t)}else i=Jk(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},Xk=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),Zk=e=>e._cancelled?(e._hasChildren?lk(e,Zk):lk(e,e=>{e._composition!==tO.none&&Kk(e,Uk(e.target,e.property))}),e._cancelled=0,e):e,Qk=0,$k=class extends Nk{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;EO.current&&EO.current.register(this);let y=t?0:zk._elapsedTime,b=t?t.defaults:DO.defaults,x=IO(i)||LO(i)?b.delay:+i,S=IO(a)||LO(a)?1/0:+a,C=vk(c,b.loop),ee=vk(l,b.loopDelay),w=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(zk.reqId||zk.requestTick(jO()),T=(zk._elapsedTime-zk._startTime)*DO.timeScale),this.id=LO(r)?++Qk:r,this.parent=t,this.duration=ak((S+ee)*w-ee)||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=w,this._autoplay=t?!1:vk(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=ee,this._iterationTime=0,this._currentIteration=0,this._resolve=pO,this._running=!1,this._reversed=+vk(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=vk(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=vk(d,b.frameRate),this._speed=vk(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return tk(rk(this._currentTime,DO.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return rk(this._iterationTime,DO.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return tk(rk(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return tk(rk(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*tk(+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 Zk(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,kk(this,0,1,~~e,eO.FORCE),Xk(this),this._hasChildren&&lk(this,Xk),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&kk(this,this.duration,1,~~e,eO.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!LO(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*zk._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,sO,0,0,eO.FORCE):(this._running||=(dk(zk,this),zk._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,zk.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){Zk(this),this.completed=!1;let r=this.paused;return this.paused=!0,kk(this,e+this._delay,~~t,~~n,eO.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?ZO(cO/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?lk(this,e=>e.cancel(),!0):lk(this,qk),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=ok(e);if(t===n)return this;let r=e/t,i=e<=sO;return this.duration=i?sO:n,this.iterationDuration=i?sO:ok(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){kk(this,0,1,0,eO.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=pO){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=pO};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function eA(e){let t=FO(e)?EO.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function tA(e){if(RO(e))return[];if(!YD)return MO(e)&&e.flat(1/0)||[e];if(MO(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===$D.UNIT&&i===n)return t;let o=a+i+n,s=iA[o];if(!LO(s)&&!r)t.n=s;else{let r;if(i in rA)r=a*rA[i]/rA[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==ZD?o:ZD.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,iA[o]=r}return t.t,$D.UNIT,t.u=n,t},oA=e=>e,sA=(e=1.68)=>t=>qO(t,+e),cA={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},lA=$O/2,uA=$O*2,dA={"":sA,Quad:sA(2),Cubic:sA(3),Quart:sA(4),Quint:sA(5),Sine:e=>1-XO(e*lA),Circ:e=>1-JO(1-e*e),Expo:e=>e?qO(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=qO(2,--n))-1)/11;);return 1/qO(4,3-n)-7.5625*qO((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=tk(+e,1,10),r=tk(+t,sO,2),i=r/uA*QO(1/n),a=uA/r;return e=>e===0||e===1?e:-n*qO(2,-10*(1-e))*YO((1-e-i)*a)}},fA=(()=>{let e={linear:oA,none:oA};for(let t in cA)for(let n in dA){let r=dA[n],i=cA[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),pA={linear:oA,none:oA},mA=e=>{if(pA[e])return pA[e];if(e.indexOf(`(`)<=-1){let t=cA[e]||e.includes(`Back`)||e.includes(`Elastic`)?fA[e]():fA[e];return t?pA[e]=t:oA}else{let t=e.slice(0,-1).split(`(`),n=fA[t[0]];return n?pA[e]=n(...t[1].split(`,`)):oA}},hA=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],gA=e=>{if(FO(e)){for(let t=0,n=hA.length;t{let n={};if(MO(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(WO);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];WO(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=vk(t.duration,DO.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(WO(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?tO.none:LO(g)?v.composition:g,E=this._offset+(n?n._offset:0);x&&(p.parent=this);let D=NaN,O=NaN,te=0,ne=0;for(let e=0;e2&&t?(TA=[],s.forEach((e,t)=>{t?t===1?(SA[1]=e,TA.push(SA)):TA.push(e):SA[0]=e})):TA=s}else xA[0]=s,TA=xA;let p=null,m=null,h=NaN,g=0,_=0;for(let e=TA.length;_1?yk(C,t,r,l)/e:C),t,r,l),b=yk(vk(EA.delay,_?0:ee),t,r,l),x=yk(vk(EA.composition,T),t,r,l),D=PO(x)?x:tO[x],O=EA.modifier||w,re=!LO(u),ie=!LO(c),k=MO(c),ae=k||re&&ie,oe=m?g+b:b,A=rk(E+oe,12);!ne&&(re||k)&&(ne=1);let j=m;if(D!==tO.none){p||=Uk(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=A;)if(j=e,e=e._nextRep,e&&e._absoluteStartTime>=A)for(;e;)Gk(e),e=e._nextRep}if(ae?(Tk(k?yk(c[0],t,r,l):u,_A),Tk(k?yk(c[1],t,r,l,bA):c,vA),_A.t===$D.NUMBER&&(j?j._valueType===$D.UNIT&&(_A.t=$D.UNIT,_A.u=j._unit):(Tk(Sk(t,o,a,yA),Dk),Dk.t===$D.UNIT&&(_A.t=$D.UNIT,_A.u=Dk.u)))):(ie?Tk(c,vA):m?Ek(m,vA):Tk(n&&j&&j.parent.parent===n?j._value:Sk(t,o,a,yA),vA),re?Tk(u,_A):m?Ek(m,_A):Tk(n&&j&&j.parent.parent===n?j._value:Sk(t,o,a,yA),_A)),_A.o&&(_A.n=Ck(j?j._toNumber:Tk(Sk(t,o,a,yA),Dk).n,_A.n,_A.o)),vA.o&&(vA.n=Ck(_A.n,vA.n,vA.o)),_A.t!==vA.t){if(_A.t===$D.COMPLEX||vA.t===$D.COMPLEX){let e=_A.t===$D.COMPLEX?_A:vA,t=_A.t===$D.COMPLEX?vA:_A;t.t=$D.COMPLEX,t.s=sk(e.s),t.d=e.d.map(()=>t.n)}else if(_A.t===$D.UNIT||vA.t===$D.UNIT){let e=_A.t===$D.UNIT?_A:vA,t=_A.t===$D.UNIT?vA:_A;t.t=$D.UNIT,t.u=e.u}else if(_A.t===$D.COLOR||vA.t===$D.COLOR){let e=_A.t===$D.COLOR?_A:vA,t=_A.t===$D.COLOR?vA:_A;t.t=$D.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(_A.u!==vA.u){let e=vA.u?_A:vA;e=aA(t,e,vA.u?vA.u:_A.u,!1)}if(vA.d&&_A.d&&vA.d.length!==_A.d.length){let e=_A.d.length>vA.d.length?_A:vA,t=e===_A?vA:_A;t.d=e.d.map((e,n)=>LO(t.d[n])?0:t.d[n]),t.s=sk(e.s)}let se=rk(+y||1e-11,12),M=yA[o];RO(M)||(yA[o]=null);let N={parent:this,id:wA++,property:o,target:t,_value:null,_func:bA.func,_ease:gA(v),_fromNumbers:sk(_A.d),_toNumbers:sk(vA.d),_strings:sk(vA.s),_fromNumber:_A.n,_toNumber:vA.n,_numbers:sk(_A.d),_number:_A.n,_unit:vA.u,_modifier:O,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:se,_changeDuration:se,_absoluteStartTime:A,_tweenType:a,_valueType:vA.t,_composition:D,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:M,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};D!==tO.none&&Kk(N,p),isNaN(h)&&(h=N._startTime),g=rk(oe+se,12),m=N,te++,dk(this,N)}(isNaN(O)||hD)&&(D=g),a===QD.TRANSFORM&&(d=te-_,f=te)}if(!isNaN(d)){let e=0;lk(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?(lk(this,e=>{e._startTime-e._delay||(e._delay-=O),e._startTime-=O}),D-=O):O=0,D||(D=sO,this.iterationCount=0),this.targets=s,this.duration=D===1e-11?sO:ak((D+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=O,this.iterationDuration=D,!this._autoplay&&ne&&this.onRender(this)}stretch(e){let t=this.duration;if(t===ok(e))return this;let n=e/t;return lk(this,e=>{e._updateDuration=ok(e._updateDuration*n),e._changeDuration=ok(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return lk(this,e=>{let t=e._func;t&&(Tk(Sk(e.target,e.property,e._tweenType),Dk),Tk(t(),vA),e._fromNumbers=sk(Dk.d),e._fromNumber=Dk.n,e._toNumbers=sk(vA.d),e._strings=sk(vA.s),e._toNumber=vA.o?Ck(Dk.n,vA.n,vA.o):vA.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),Mk(this)}then(e){return super.then(e)}},kA=(e,t)=>new OA(e,t,null,0,!1).init();function AA(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 MA(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function NA(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(;;){MA(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)MA(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){MA(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 PA=``;var FA=new Set(`??!!`),IA=new Set(`.。??!!…⋯~~
\r`),LA=new Set(`,,、–—::;;《》「」`);async function*RA(e,t){let{boost:n=2,minimumWords:r=4,maximumWords:i=12}=t??{},a=NA(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=IA.has(e),m=LA.has(e),h=FA.has(e),g,_;if(t||p||m){switch(e){case`.`:case`,`:if(d!==void 0&&/\d/.test(d)){if(g=await a.next(),!g.done&&g.value&&/\d/.test(g.value)){c+=e,f=g,g=void 0;continue}}else e===`.`&&(g=await a.next(),!g.done&&g.value&&g.value===`.`&&(_=await a.next(),!_.done&&_.value&&_.value===`.`&&(e=`…`,g=void 0,_=void 0)))}if(c.length===0){d=e,f=await a.next();continue}let m=[...o.segment(c)].filter(e=>e.isWordLike);u>r&&u+m.length>i&&(yield{text:h?l.trim()+e:l.trim(),words:u,reason:`limit`},s++,l=``,u=0),l+=c+e,u+=m.length,c=``,(t||p||u>i||si?`limit`:`boost`},s++,l=``,u=0),d=e,g===void 0?f=await a.next():_===void 0?(f=g,g=void 0):(f=_,g=void 0,_=void 0);continue}c+=e,d=e,g=await a.next(),f=g}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 zA(e,t){try{for await(let n of RA(e))console.debug(`chunk to be pushed: `,n),await t(n.text)}catch(e){console.error(`Error chunking stream to TTS queue:`,e)}}function BA(e){function t(e){for(let t of he)if(e.includes(t))return{ok:!0,emotion:t};return{ok:!1,emotion:``}}return AA({handlers:[async n=>{if(he.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 VA(){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 AA({handlers:[async t=>{let{ok:n,delay:r}=e(t.data);n&&(t.emit(`delay`,r),await tt(r*1e3))}]})}const HA=je(`pipelines:character:speech`,()=>{let e=N([]),t=N([]);function n(t){e.value.push(t)}function r(e){t.value.push(e)}let i=_(),a=_(),o=_();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=N(Be(()=>AA({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=()=>{for(let e of t.value)e({text:n.data.text});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}}),UA=je(`pipelines:workflows:text-segmentation`,()=>{let e=N([]);function t(t){e.value.push(t)}function n(){e.value=[]}return{onTextSegmented:t,clearHooks:n,textSegmentationQueue:N(Be(()=>{let t=N(),n=N(),r=new TextEncoder,{stream:i,controller:a}=jA();return t.value=i,n.value=a,zA(i.getReader(),async t=>{for(let n of e.value)await n(t)}),AA({handlers:[async e=>{a.enqueue(r.encode(e.data))}]})}))}});var WA={flex:`~ row`,"gap-4":``},GA={flex:`~ col gap-2 items-start`,"py-4":``},KA={"ml-1":``},qA={key:0,tag:`div`,flex:`~ row items-center gap-1`,"text-sm":``},JA=r({__name:`SpeechStreamingPlayground`,props:{text:{},generateSpeech:{type:Function},voice:{}},setup(e){let t=e,{onTextSegmented:n}=UA(),{textSegmentationQueue:r}=Me(UA()),{audioContext:i}=Ae(),s=N(!1),c=N([]),l=N(-1),u=AA({handlers:[e=>new Promise(t=>{let n=i.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(i.destination),s.value=!0,n.start(0),n.onended=()=>{s.value=!1,t()}})]});async function d(e){l.value++;try{let n=e.data,r=await t.generateSpeech(n,t.voice,!1),a=await i.decodeAudioData(r);u.enqueue({audioBuffer:a,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let m=AA({handlers:[d]});n(e=>{m.enqueue(e)});async function h(){r.value.enqueue(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 RA(n.getReader(),{boost:1,minimumWords:4,maximumWords:12}))e.push(t);c.value=e}return(e,t)=>(b(),j(ne,null,[t[4]||=M(`div`,{class:`flex items-center gap-1 text-sm font-medium`},` Streaming Playground `,-1),M(`div`,WA,[M(`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]||=[M(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[M(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),M(`span`,null,`Test chunking`)],-1)]]),c.value.length>0?(b(),j(`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:h},[...t[2]||=[M(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[M(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),M(`span`,null,`Test streaming`)],-1)]])):a(``,!0)]),M(`div`,GA,[(b(!0),j(ne,null,f(c.value,(e,n)=>(b(),j(`div`,{key:n,flex:`~ row gap-2 items-center`},[M(`div`,{flex:`~ row gap-2 items-center`,"rounded-xl":``,"px-2":``,"py-1.5":``,class:O({"bg-neutral-100 dark:bg-neutral-800":l.value=n})},[M(`span`,KA,p(e.text),1),M(`span`,{"rounded-full":``,"px-2":``,"py-.5":``,"text-nowrap":``,"text-xs":``,b:`~ dashed`,class:O({"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`})},p(e.words)+` words, `+p(e.reason),3)],2),D(ie,{css:!1,onEnter:t[0]||=e=>o(kA)(e,{opacity:[0,1],translateX:[10,0],duration:200,ease:`inOut`})},{default:A(()=>[l.value>=n?(b(),j(`div`,qA,[...t[3]||=[M(`div`,{"i-solar-check-circle-line-duotone":``},null,-1),M(`div`,null,`Queued`,-1)]])):a(``,!0)]),_:2},1024)]))),128))])],64))}}),YA={"w-full":``,"rounded-xl":``},XA={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},ZA={class:`inline-flex items-center gap-4`},QA={flex:`~ col gap-4`},$A=[`placeholder`],ej=[`placeholder`],tj={flex:`~ row`,"gap-4":``},nj=[`disabled`],rj={flex:`~ row`,"items-center":``,"gap-2":``},ij={flex:`~ row`,"items-center":``,"gap-2":``},aj={key:2,class:`mt-2 text-sm text-red-500`},oj={key:3,class:`mt-2 text-sm text-red-500`},sj={key:4,class:`mt-2 text-sm text-red-500`},cj=[`src`],lj=r({__name:`SpeechPlayground`,props:{defaultText:{},availableVoices:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:r}=$e(),i=N(n.defaultText||`Hello! This is a test of the voice synthesis.`),s=N(!1),c=N(``),l=N(``),u=N(null),d=N(!1),f=N(``),m=N(``);ae(()=>n.availableVoices,e=>{e.length>0&&!m.value&&(m.value=e[0]?.id||``)},{immediate:!0});let h=C(()=>n.availableVoices.map(e=>({value:e.id,label:e.name})));async function g(){if(!(!i.value.trim()&&!d.value||d.value&&!f.value.trim()||!m.value)){s.value=!0,l.value=``;try{c.value&&_();let e=d.value?f.value:i.value,t=await n.generateSpeech(e,m.value,d.value);c.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{s.value=!1}}}function _(){u.value&&(u.value.pause(),u.value.currentTime=0),c.value&&=(URL.revokeObjectURL(c.value),``)}return v(()=>{c.value&&URL.revokeObjectURL(c.value)}),t({testText:i,ssmlText:f,useSSML:d,selectedVoice:m,isGenerating:s,audioUrl:c,errorMessage:l,audioPlayer:u,generateTestSpeech:g,stopTestAudio:_}),(t,n)=>(b(),j(`div`,YA,[M(`h2`,XA,[M(`div`,ZA,[D(o(yt)),M(`div`,null,p(o(r)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),M(`div`,QA,[D(o(Oe),{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.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`]),d.value?ee((b(),j(`textarea`,{key:1,"onUpdate:modelValue":n[2]||=e=>f.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,ej)),[[te,f.value]]):ee((b(),j(`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,$A)),[[te,i.value]]),D(o(we),{modelValue:m.value,"onUpdate:modelValue":n[3]||=e=>m.value=e,class:`[&>div]:grid [&>div]:grid-cols-[4fr_2fr]`,options:h.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`]),M(`div`,tj,[M(`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:s.value||!i.value.trim()&&!d.value||d.value&&!f.value.trim()||!m.value||!e.apiKeyConfigured,class:O({"opacity-50 cursor-not-allowed":s.value||!i.value.trim()&&!d.value||d.value&&!f.value.trim()||!m.value||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:g},[M(`div`,rj,[n[4]||=M(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),M(`span`,null,p(s.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,nj),c.value?(b(),j(`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:_},[M(`div`,ij,[n[5]||=M(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),M(`span`,null,p(o(r)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(b(),j(`div`,aj,p(o(r)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?a(``,!0):(b(),j(`div`,oj,p(o(r)(`settings.pages.modules.speech.sections.section.playground.select-voice.required`)),1)),l.value?(b(),j(`div`,sj,p(l.value),1)):a(``,!0),c.value?(b(),j(`audio`,{key:5,ref_key:`audioPlayer`,ref:u,src:c.value,controls:``,class:`mt-2 w-full`},null,8,cj)):a(``,!0),D(JA,{text:i.value,voice:m.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),k(t.$slots,`default`)]))}}),uj={"w-full":``,"rounded-xl":``},dj={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},fj={class:`inline-flex items-center gap-4`},pj={flex:`~ col gap-4`},mj=[`placeholder`],hj=[`placeholder`],gj={flex:`~ row`,"gap-4":``},_j=[`disabled`],vj={flex:`~ row`,"items-center":``,"gap-2":``},yj={flex:`~ row`,"items-center":``,"gap-2":``},bj={key:2,class:`mt-2 text-sm text-red-500`},xj={key:3,class:`mt-2 text-sm text-red-500`},Sj=[`src`],Cj=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:s}=$e(),c=C({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),l=C({get:()=>r.voice,set:e=>i(`update:voice`,e)}),u=N(r.defaultText||`Hello! This is a test of the voice synthesis.`),f=N(!1),m=N(``),h=N(``),g=N(null),_=N(!1),y=N(``);async function x(){if(!(!u.value.trim()&&!_.value||_.value&&!y.value.trim())){f.value=!0,h.value=``;try{m.value&&S();let e=_.value?y.value:u.value,t=await r.generateSpeech(e,l.value,_.value,c.value);m.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{g.value&&g.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),h.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),m.value&&=(URL.revokeObjectURL(m.value),``)}return v(()=>{m.value&&URL.revokeObjectURL(m.value)}),t({testText:u,ssmlText:y,useSSML:_,isGenerating:f,audioUrl:m,errorMessage:h,audioPlayer:g,generateTestSpeech:x,stopTestAudio:S}),(t,n)=>{let r=d(`SpeechStreamingPlayground`);return b(),j(`div`,uj,[M(`h2`,dj,[M(`div`,fj,[D(o(yt)),M(`div`,null,p(o(s)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),M(`div`,pj,[D(o(Te),{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,label:`Model ID`,placeholder:`tts-1`},null,8,[`modelValue`]),D(o(Te),{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,label:`Voice`,placeholder:`alloy`},null,8,[`modelValue`]),D(o(Oe),{modelValue:_.value,"onUpdate:modelValue":n[2]||=e=>_.value=e,label:o(s)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:o(s)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),_.value?ee((b(),j(`textarea`,{key:1,"onUpdate:modelValue":n[4]||=e=>y.value=e,placeholder:o(s)(`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,hj)),[[te,y.value]]):ee((b(),j(`textarea`,{key:0,"onUpdate:modelValue":n[3]||=e=>u.value=e,placeholder:o(s)(`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,mj)),[[te,u.value]]),M(`div`,gj,[M(`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&&!y.value.trim()||!e.apiKeyConfigured,class:O({"opacity-50 cursor-not-allowed":f.value||!u.value.trim()&&!_.value||_.value&&!y.value.trim()||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:x},[M(`div`,vj,[n[5]||=M(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),M(`span`,null,p(f.value?o(s)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):o(s)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,_j),m.value?(b(),j(`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},[M(`div`,yj,[n[6]||=M(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),M(`span`,null,p(o(s)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(b(),j(`div`,bj,p(o(s)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),h.value?(b(),j(`div`,xj,p(h.value),1)):a(``,!0),m.value?(b(),j(`audio`,{key:4,ref_key:`audioPlayer`,ref:g,src:m.value,controls:``,class:`mt-2 w-full`},null,8,Sj)):a(``,!0),D(r,{text:u.value,voice:l.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),k(t.$slots,`default`)])}}}),wj=async e=>(e.fetch??globalThis.fetch)(EC(`audio/speech`,e.baseURL),{body:wC(e),headers:TC({"Content-Type":`application/json`,...e.headers},e.apiKey),method:`POST`,signal:e.abortSignal}).then(DC).then(async e=>e.arrayBuffer()),Tj=/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g;function Ej(e,t,n){let r=Dj(e);return n?r.replace(n,i):i(r);function i(e){return Ja(e,{subset:t})}}function Dj(e){return String(e||``).replace(Tj,``)}var Oj=/]]>/g,kj=[`>`];function Aj(e){return``}function jj(e){return``}var Mj=[` `,`
`,` `,`"`,`&`,`'`,`/`,`<`,`=`,`>`];function Nj(e){return Ej(e,Mj)}function Pj(e,t){let n=String(e),r=t.options.quote||`"`;if(t.options.quoteSmart){let e=r===`"`?`'`:`"`;eo(n,r)>eo(n,e)&&(r=e)}return r+Ej(n,[`<`,`&`,r])+r}function Fj(e,t){let n=Nj(e.name),r=e.public,i=e.system,a=``}var Ij={}.hasOwnProperty;function Lj(e,t){let n=Nj(e.name),r=qj(e,t),i=e.attributes||{},a=r?!1:t.options.closeEmptyElements,o=[],s;for(s in i)if(Ij.call(i,s)){let e=i[s];e!=null&&o.push(Nj(s)+`=`+Pj(e,t))}return`<`+n+(o.length===0?``:` `+o.join(` `))+(a?(t.options.tightClose?``:` `)+`/`:``)+`>`+r+(a?``:``+n+`>`)}var Rj=/\?>/g,zj=[`>`];function Bj(e){let t=Nj(e.name)||`x`,n=Ej(e.value,zj,Rj);return``+t+(n?` `+n:``)+`?>`}var Vj=[`&`,`<`];function Hj(e){return Ej(e.value,Vj)}function Uj(e,t){return t.options.allowDangerousXml?e.value:Hj(e)}var Wj={}.hasOwnProperty,Gj={cdata:Aj,comment:jj,doctype:Fj,element:Lj,instruction:Bj,raw:Uj,root:qj,text:Hj};function Kj(e,t){let n=e&&e.type;if(!n)throw Error("Expected node, not `"+e+"`");if(!Wj.call(Gj,n))throw Error("Cannot compile unknown node `"+n+"`");let r=Gj[n];return r(e,t)}function qj(e,t){let n=e&&e.children||[],r=-1,i=[];for(;++r{let e=jD(),{allAudioSpeechProvidersMetadata:t}=Me(e),n=We(`settings/speech/active-provider`,``),r=We(`settings/speech/active-model`,`eleven_multilingual_v2`),i=We(`settings/speech/voice`,``),a=N(),o=We(`settings/speech/pitch`,0),s=We(`settings/speech/rate`,1),c=We(`settings/speech/ssml-enabled`,!1),l=N(!1),d=N(null),f=N({}),p=We(`settings/speech/language`,`en-US`),m=N(``),h=C(()=>t.value),g=C(()=>e.getProviderMetadata(n.value)?.capabilities.listModels!==void 0),_=C(()=>e.getModelsForProvider(n.value)),v=C(()=>e.isLoadingModels[n.value]||!1),y=C(()=>e.modelLoadError[n.value]||null),b=C(()=>{if(!m.value.trim())return _.value;let e=m.value.toLowerCase().trim();return _.value.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))}),x=C(()=>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,d.value=null;try{let n=await e.getProviderMetadata(t).capabilities.listVoices?.(e.getProviderConfig(t))||[];return f.value[t]=n,n}catch(e){return console.error(`Error fetching voices for ${t}:`,e),d.value=e instanceof Error?e.message:`Unknown error`,[]}finally{l.value=!1}}function ee(e){return f.value[e]||[]}ae(n,async e=>{e&&await S(e)}),u(()=>{S(n.value).then(()=>{i.value&&(a.value=f.value[n.value]?.find(e=>e.id===i.value))})}),ae(i,e=>{e&&(a.value=f.value[n.value]?.find(t=>t.id===e))},{immediate:!0}),ae(f,e=>{i.value&&(a.value=e[n.value]?.find(e=>e.id===i.value))},{immediate:!0});async function w(e,t,n,r,i={}){return await wj({...e.speech(t,{...i}),input:n,voice:r})}function T(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 Jj(Yj(`speak`,{version:`1.0`,xmlns:`http://www.w3.org/2001/10/synthesis`,"xml:lang":t.languages[0]?.code||`en-US`},[Yj(`voice`,{name:t.id,gender:t.gender||`neutral`},[Object.entries(o).filter(([e,t])=>t!=null).length>0?Yj(`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:C(()=>!!n.value&&!!r.value&&!!i.value),activeSpeechProvider:n,activeSpeechModel:r,activeSpeechVoice:a,activeSpeechVoiceId:i,pitch:o,rate:s,ssmlEnabled:c,selectedLanguage:p,isLoadingSpeechProviderVoices:l,speechProviderError:d,availableVoices:f,modelSearchQuery:m,availableSpeechProvidersMetadata:h,supportsSSML:x,supportsModelListing:g,providerModels:_,isLoadingActiveProviderModels:v,activeProviderModelError:y,filteredModels:b,speech:w,loadVoicesForProvider:S,getVoicesForProvider:ee,generateSSML:T}});var $j={flex:`~ col md:row gap-6`},eM={flex:`~ col gap-6`},tM={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},nM={flex:`~ col gap-4`},rM={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},iM={"w-full":``,"rounded-xl":``},aM=r({__name:`SpeechProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=$e(),r=Le(),i=jD(),a=Qj(),{providers:s}=Me(i),c=C(()=>i.getProviderMetadata(t.providerId)),l=C({get:()=>s.value[t.providerId]?.apiKey||``,set:e=>{s.value[t.providerId]||(s.value[t.providerId]={}),s.value[t.providerId].apiKey=e}}),d=C({get:()=>s.value[t.providerId]?.baseUrl||c.value?.defaultOptions?.().baseUrl||``,set:e=>{s.value[t.providerId]||(s.value[t.providerId]={}),s.value[t.providerId].baseUrl=e}}),f=N({});function m(){s.value[t.providerId]?.voiceSettings?f.value={...s.value[t.providerId].voiceSettings}:f.value={pitch:0,speed:1,volume:0,...t.additionalSettings}}u(()=>{i.initializeProvider(t.providerId),l.value=s.value[t.providerId]?.apiKey||``,d.value=s.value[t.providerId]?.baseUrl||c.value?.defaultOptions?.().baseUrl||``,m(),i.configuredProviders[t.providerId]&&a.loadVoicesForProvider(t.providerId)});let h=ze(()=>{s.value[t.providerId]={...s.value[t.providerId],apiKey:l.value,baseUrl:d.value||c.value?.defaultOptions?.().baseUrl||``,voiceSettings:{...f.value}}},1e3);ae([l,d],h),ae(f,h,{deep:!0});function _(){f.value={...c.value?.defaultOptions?.().voiceSettings},h()}return(e,i)=>(b(),g(JD,{"provider-name":c.value?.localizedName,"provider-icon":c.value?.icon,"provider-icon-color":c.value?.iconColor,"on-back":()=>o(r).back()},{default:A(()=>[M(`div`,$j,[D(o(KD),{class:`w-full md:w-[40%]`},{default:A(()=>[D(o(WD),{title:o(n)(`settings.pages.providers.common.section.basic.title`),description:o(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":_},{default:A(()=>[D(o(RD),{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,"provider-name":c.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),k(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),M(`div`,eM,[M(`h2`,tM,p(o(n)(`settings.pages.providers.common.section.voice.title`)),1),M(`div`,nM,[k(e.$slots,`voice-settings`)])]),D(o(LD),{title:o(n)(`settings.pages.providers.common.section.advanced.title`)},{default:A(()=>[D(o(zD),{modelValue:d.value,"onUpdate:modelValue":i[1]||=e=>d.value=e,placeholder:c.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),k(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),M(`div`,rM,[M(`div`,iM,[k(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});function oM(){let e=N(),t=N(),n=N(),r=N([]),i=N(0),a=N();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{l()}),{volumeLevel:i,error:a,startAnalyzer:c,stopAnalyzer:l,onAnalyzerUpdate:o}}function sM(e){let t=e.getAudioTracks();if(!t.length)throw Error(`No audio tracks found in stream`);return t[0]}function cM(e){let t=se(e),n=_(),r=N(),i=N(),a=N([]);function o(e){return a.value.push(e),()=>{a.value=a.value.filter(t=>t!==e)}}async function s(){await Ve(t).toBeTruthy();let e=await sM(t.value);r.value=new st({format:new it,target:new rt});let n=new at(e,{codec:`pcm-f32`,bitrate:ot});n.errorPromise.catch(console.error),r.value.addAudioTrack(n),i.value=await r.value.getMimeType(),await r.value.start()}async function c(){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:s,stopRecord:c,onStopRecord:o,recording:n}}function lM(){let e=Ue({constraints:{audio:!0},requestPermissions:!0}),t=C(()=>e.audioInputs.value),n=N(e.audioInputs.value[0]?.deviceId||``),r=C(()=>({audio:{deviceId:{exact:n.value},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0}})),{stream:a,stop:o,start:s}=He({constraints:r,enabled:!1,autoSwitch:!0});return ae(t,()=>{!n.value&&t.value.length>0&&(n.value=t.value[0]?.deviceId)}),u(()=>{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 uM={"w-full":``,"pt-1":``},dM={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},fM={class:`inline-flex items-center gap-4`},pM={"mb-2":``},mM=[`src`],hM={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},gM={class:`space-y-3`},_M={class:`space-y-3`},vM={class:`flex items-center gap-3`},yM={class:`text-sm font-medium`},bM=r({__name:`TranscriptionPlayground`,props:{generateTranscription:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e){let t=e,{t:n}=$e(),{audioInputs:r,selectedAudioInput:i,stream:s,stopStream:c,startStream:l}=lM(),{volumeLevel:u,stopAnalyzer:d,startAnalyzer:h}=oM(),{startRecord:g,stopRecord:y,onStopRecord:x}=cM(s),S=N(25),ee=N(!1),w=N(!1),T=N(``),E=_(),te=N(),ie=N(),k=N([]),oe=N([]),se=C(()=>k.value.map(e=>{let t=URL.createObjectURL(e);return oe.value.push(()=>URL.revokeObjectURL(t)),t})),ce=N([]);ae(i,async()=>{ee.value&&await le()}),ae(r,()=>{!i.value&&r.value.length>0&&(i.value=r.value.find(e=>e.deviceId===`default`)?.deviceId||r.value[0].deviceId)});async function le(){try{await ue(),await l(),await Ve(s).toBeTruthy(),E.value=new AudioContext;let e=E.value.createMediaStreamSource(s.value),t=h(E.value);e.connect(t);let n=t.frequencyBinCount;te.value=new Uint8Array(n)}catch(e){console.error(`Error setting up audio monitoring:`,e),T.value=e instanceof Error?e.message:String(e)}}async function ue(){ie.value&&=(cancelAnimationFrame(ie.value),void 0),s.value&&=(s.value.getTracks().forEach(e=>e.stop()),void 0),E.value&&=(await E.value.close(),void 0),await y(),await c(),await d(),te.value=void 0,w.value=!1}x(async e=>{try{if(e&&e.size>0){k.value.push(e);let n=await t.generateTranscription(new File([e],`recording.wav`)),r=n.mode===`stream`?await n.text:n.text;ce.value.push(r)}}catch(e){T.value=e instanceof Error?e.message:String(e),console.error(`Error generating transcription:`,T.value)}});async function de(){ee.value?(await ue(),await y(),ee.value=!1):(await le(),await g(),ee.value=!0)}let fe=C(()=>w.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 v(()=>{ue()}),(e,t)=>(b(),j(`div`,uM,[M(`h2`,dM,[M(`div`,fM,[D(o(yt)),M(`div`,null,p(o(n)(`settings.pages.providers.provider.transcriptions.playground.title`)),1)])]),M(`div`,pM,[D(o(we),{modelValue:o(i),"onUpdate:modelValue":t[0]||=e=>re(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(Ce),{class:`my-4`,"w-full":``,onClick:de},{default:A(()=>[m(p(ee.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),M(`div`,null,[(b(!0),j(ne,null,f(se.value,(e,t)=>(b(),j(`div`,{key:t,class:`mb-2`},[M(`audio`,{src:e,controls:``,class:`w-full`},null,8,mM),ce.value[t]?(b(),j(`div`,hM,p(ce.value[t]),1)):a(``,!0)]))),128))]),M(`div`,gM,[D(o(ht),{level:o(u),label:`Input Level`},null,8,[`level`]),D(o(Dt),{value:o(u)/100,threshold:S.value/100,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`]),M(`div`,_M,[D(o(De),{modelValue:S.value,"onUpdate:modelValue":t[1]||=e=>S.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`])]),M(`div`,vM,[M(`div`,{class:O([`h-4 w-4 rounded-full transition-all duration-200`,fe.value])},null,2),M(`span`,yM,p(w.value?`Speaking Detected`:`Silence`),1)])])]))}}),xM={flex:`~ col md:row gap-6`},SM={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},CM={"w-full":``,"rounded-xl":``},wM=r({__name:`TranscriptionProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=$e(),r=Le(),i=jD(),{providers:a}=Me(i),s=C(()=>i.getProviderMetadata(t.providerId)),c=C({get:()=>a.value[t.providerId]?.apiKey||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].apiKey=e}}),l=C({get:()=>a.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].baseUrl=e}});u(()=>{i.initializeProvider(t.providerId),c.value=a.value[t.providerId]?.apiKey||``,l.value=a.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``});function d(){c.value=``,l.value=s.value?.defaultOptions?.().baseUrl||``}return(e,i)=>(b(),g(o(JD),{"provider-name":s.value?.localizedName,"provider-icon":s.value?.icon,"provider-icon-color":s.value?.iconColor,"on-back":()=>o(r).back()},{default:A(()=>[M(`div`,xM,[D(o(KD),{class:`w-full md:w-[40%]`},{default:A(()=>[D(o(WD),{title:o(n)(`settings.pages.providers.common.section.basic.title`),description:o(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":d},{default:A(()=>[D(o(RD),{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`]),k(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),D(o(LD),{title:o(n)(`settings.pages.providers.common.section.advanced.title`)},{default:A(()=>[D(o(zD),{modelValue:l.value,"onUpdate:modelValue":i[1]||=e=>l.value=e,placeholder:s.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),k(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),M(`div`,SM,[M(`div`,CM,[k(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}}),TM={"h-full":``,"w-full":``},EM={key:0,"h-full":``,flex:``,"flex-col":``},DM={class:`mb-2 text-center md:mb-8`,flex:``,"flex-1":``,"flex-col":``,"justify-center":``},OM={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`},kM=[`src`],AM={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`},jM={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`},MM={key:1,"h-full":``,flex:``,"flex-col":``,"gap-4":``},NM={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},PM={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},FM={class:`flex-1 overflow-y-auto`},IM={class:`grid grid-cols-1 gap-3 sm:grid-cols-2`},LM={key:2,"h-full":``,flex:``,"flex-col":``,"gap-4":``},RM={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},zM={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},BM={key:0,"flex-1":``,"overflow-y-auto":``,"space-y-4":``},VM={class:`space-y-4`},HM={key:0},UM={key:1},WM={key:2},GM={class:`whitespace-pre-wrap break-all`},KM={key:3,"h-full":``,flex:``,"flex-col":``,"gap-4":``},qM={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},JM={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},YM={"flex-1":``},XM={class:`whitespace-pre-wrap break-all`},ZM=500,QM=Re(r({__name:`onboarding`,emits:[`configured`,`skipped`],setup(e,{emit:t}){let n=t,r=N(1),c=N(`next`),{t:l}=$e(),d=jD(),{providers:h,allChatProvidersMetadata:_}=Me(d),v=MD(),{activeModel:y,activeProvider:S,modelSearchQuery:w,providerModels:T,isLoadingActiveProviderModels:E}=Me(v),O=C(()=>{let e=[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`player2`,`openai-compatible`];return _.value.filter(t=>e.includes(t.id)).sort((t,n)=>e.indexOf(t.id)-e.indexOf(n.id))}),te=N(``),k=N(``),oe=N(``),se=N(``),ce=C(()=>_.value.find(e=>e.id===te.value)||null),le=N(0),ue=N(!1),de=N(``),fe=C(()=>ce.value?ce.value.id!==`ollama`&&ce.value.id!==`player2`:!1),pe=C(()=>ce.value?ce.value.id!==`cloudflare-workers-ai`:!1),me=C(()=>!ce.value||fe.value&&!k.value.trim()||pe.value&&!oe.value.trim()||ce.value.id===`cloudflare-workers-ai`&&!se.value.trim()||!y.value?!1:ue.value);function he(e){te.value=e.id,oe.value=(e.defaultOptions?.()||{})?.baseUrl||``,k.value=``,se.value=``,ue.value=!1,de.value=``}function ge(e){return{openai:`sk-...`,anthropic:`sk-ant-...`,"google-generative-ai":`GEMINI_API_KEY`,"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 ye(e){return(ce.value?.defaultOptions?.()||{})?.baseUrl||`https://api.example.com/v1/`}async function be(){if(!ce.value)return;le.value++;let e=performance.now(),t=``;try{let e={};fe.value&&(e.apiKey=k.value.trim()),pe.value&&(e.baseUrl=oe.value.trim()),ce.value.id===`cloudflare-workers-ai`&&(e.accountId=se.value.trim());let n=await d.getProviderMetadata(ce.value.id).validators.validateProviderConfig(e);ue.value=n.valid,ue.value||(t=n.reason)}catch(e){ue.value=!1,t=l(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}finally{setTimeout(()=>{le.value--,de.value=t},ZM-(performance.now()-e))}}let xe=ze(()=>{ce.value&&(fe.value&&!k.value.trim()||pe.value&&!oe.value.trim()||ce.value.id===`cloudflare-workers-ai`&&!se.value.trim()||be())},ZM);ae([k,oe,se],()=>{ce.value&&(k.value||oe.value||se.value)&&xe()},{deep:!0});function Se(){r.value>1&&(c.value=`previous`,r.value--)}function we(){r.value<4?(c.value=`next`,r.value++):De()}async function Ee(){if(!ce.value)return;let e={};fe.value&&(e.apiKey=k.value.trim()),pe.value&&(e.baseUrl=oe.value.trim()),ce.value.id===`cloudflare-workers-ai`&&(e.accountId=se.value.trim()),h.value[ce.value.id]={...h.value[ce.value.id],...e},S.value=ce.value.id,await i();try{await v.loadModelsForProvider(ce.value.id)}catch(e){console.error(`error`,e)}we()}async function De(){n(`configured`)}return u(()=>{O.value.length>0&&(te.value=O.value[0].id,he(O.value[0]))}),(e,t)=>{let n=x(`motion`);return b(),j(`div`,TM,[D(ie,{name:c.value===`next`?`slide-next`:`slide-prev`,mode:`out-in`},{default:A(()=>[r.value===1?(b(),j(`div`,EM,[M(`div`,DM,[ee((b(),j(`div`,OM,[M(`img`,{src:o(uC),"max-h":`50`,"aspect-square":``,"h-auto":``,"w-auto":``,"object-cover":``},null,8,kM)])),[[n]]),ee((b(),j(`h2`,AM,[m(p(o(l)(`settings.dialogs.onboarding.title`)),1)])),[[n]]),ee((b(),j(`p`,jM,[m(p(o(l)(`settings.dialogs.onboarding.description`)),1)])),[[n]])]),ee(D(o(Ce),{initial:{opacity:0},visible:{opacity:1},duration:500,delay:200,label:o(l)(`settings.dialogs.onboarding.start`),onClick:we},null,8,[`label`]),[[n]])])):r.value===2?(b(),j(`div`,MM,[M(`div`,NM,[M(`button`,{"outline-none":``,onClick:Se},[...t[6]||=[M(`div`,{class:`i-solar:alt-arrow-left-line-duotone h-5 w-5`},null,-1)]]),M(`h2`,PM,p(o(l)(`settings.dialogs.onboarding.selectProvider`)),1),t[7]||=M(`div`,{class:`h-5 w-5`},null,-1)]),M(`div`,FM,[M(`div`,IM,[(b(!0),j(ne,null,f(O.value,e=>(b(),g(o(Zx),{id:e.id,key:e.id,modelValue:te.value,"onUpdate:modelValue":t[0]||=e=>te.value=e,name:`provider-selection`,value:e.id,title:e.localizedName||e.id,description:e.localizedDescription||``,onClick:t=>he(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`onClick`]))),128))])]),D(o(Ce),{label:o(l)(`settings.dialogs.onboarding.next`),disabled:!te.value,onClick:we},null,8,[`label`,`disabled`])])):r.value===3&&ce.value?(b(),j(`div`,LM,[M(`div`,RM,[M(`button`,{"outline-none":``,onClick:Se},[...t[8]||=[M(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),M(`h2`,zM,p(o(l)(`settings.dialogs.onboarding.configureProvider`,{provider:ce.value.localizedName})),1),t[9]||=M(`div`,{"h-5":``,"w-5":``},null,-1)]),ce.value?(b(),j(`div`,BM,[D(o(ve),{label:`Keep your API keys and credentials safe!`,theme:`violet`},{default:A(()=>[...t[10]||=[M(`div`,null,[M(`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. `),M(`div`,null,[m(` AIRI is open sourced at `),M(`div`,{"inline-flex":``,"translate-y-1":``,"items-center":``,"gap-1":``},[M(`div`,{"i-simple-icons:github":``,"inline-block":``}),M(`a`,{"decoration-underline":``,"decoration-dashed":``,href:`https://github.com/moeru-ai/airi`,target:`_blank`,rel:`noopener noreferrer`},`GitHub`)]),m(`, if you want to check how we handle your credentials, feel free to inspect our code. `)])],-1)]]),_:1}),M(`div`,VM,[fe.value?(b(),j(`div`,HM,[D(o(Te),{modelValue:k.value,"onUpdate:modelValue":t[1]||=e=>k.value=e,placeholder:ge(ce.value.id),type:`password`,label:`API Key`,description:`Enter your API key for the selected provider.`,required:``},null,8,[`modelValue`,`placeholder`])])):a(``,!0),pe.value?(b(),j(`div`,UM,[D(o(Te),{modelValue:oe.value,"onUpdate:modelValue":t[2]||=e=>oe.value=e,placeholder:ye(ce.value.id),type:`text`,label:`Base URL`,description:`Enter the base URL for the provider's API.`},null,8,[`modelValue`,`placeholder`])])):a(``,!0),ce.value.id===`cloudflare-workers-ai`?(b(),j(`div`,WM,[D(o(ND),{modelValue:se.value,"onUpdate:modelValue":t[3]||=e=>se.value=e},null,8,[`modelValue`])])):a(``,!0)]),!ue.value&&le.value===0&&de.value?(b(),g(_e,{key:0,type:`error`},s({title:A(()=>[m(p(o(l)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[de.value?{name:`content`,fn:A(()=>[M(`div`,GM,p(de.value),1)]),key:`0`}:void 0]),1024)):a(``,!0),ue.value&&le.value===0?(b(),g(_e,{key:1,type:`success`},{title:A(()=>[m(p(o(l)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):a(``,!0)])):a(``,!0),D(o(Ce),{label:o(l)(`settings.dialogs.onboarding.next`),loading:o(E)||le.value>0,disabled:!te.value||fe.value&&k.value.trim().length===0||!ue.value,onClick:Ee},null,8,[`label`,`loading`,`disabled`])])):r.value===4&&ce.value?(b(),j(`div`,KM,[M(`div`,qM,[M(`button`,{"outline-none":``,onClick:Se},[...t[11]||=[M(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),M(`h2`,JM,p(o(l)(`settings.dialogs.onboarding.select-model`)),1),t[12]||=M(`div`,{"h-5":``,"w-5":``},null,-1)]),M(`div`,YM,[o(T).length>0?(b(),g(o(iS),{key:0,modelValue:o(y),"onUpdate:modelValue":t[4]||=e=>re(y)?y.value=e:null,"search-query":o(w),"onUpdate:searchQuery":t[5]||=e=>re(w)?w.value=e:null,items:o(T).toSorted((e,t)=>e.id===o(y)?-1:t.id===o(y)?1:0),searchable:!0,"search-placeholder":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:o(w)}),"search-results-text":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":o(l)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":o(l)(`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`])):(b(),g(_e,{key:1,type:`error`},{title:A(()=>[m(p(o(l)(`settings.dialogs.onboarding.no-models`)),1)]),content:A(()=>[M(`div`,XM,p(o(l)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),D(o(Ce),{variant:`primary`,disabled:!me.value,label:o(l)(`settings.dialogs.onboarding.saveAndContinue`),onClick:De},null,8,[`disabled`,`label`])])):a(``,!0)]),_:1},8,[`name`])])}}}),[[`__scopeId`,`data-v-124954f8`]]),$M=r({__name:`onboarding-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:h([`configured`,`skipped`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,r=w(e,`modelValue`),i=Ke(`(min-width: 768px)`),a=Ye();return Je(document.documentElement,()=>a.update()),u(()=>a.update()),(e,t)=>o(i)?(b(),g(o(de),{key:0,open:r.value,"onUpdate:open":t[2]||=e=>r.value=e},{default:A(()=>[D(o(pe),null,{default:A(()=>[D(o(le),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(o(ue),{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:A(()=>[D(o(ke),null,{default:A(()=>[D(o(fe),null,{default:A(()=>[...t[6]||=[m(`Onboarding`,-1)]]),_:1})]),_:1}),D(QM,{onConfigured:t[0]||=e=>n(`configured`),onSkipped:t[1]||=e=>n(`skipped`)})]),_:1})]),_:1})]),_:1},8,[`open`])):(b(),g(o(ge),{key:1,open:r.value,"should-scale-background":``,"onUpdate:open":t[5]||=e=>r.value=e},{default:A(()=>[D(o(pe),null,{default:A(()=>[D(o(xe),{class:`fixed inset-0`}),D(o(Se),{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:E({paddingBottom:`${Math.max(Number.parseFloat(o(a).bottom.value.replace(`px`,``)),24)}px`})},{default:A(()=>[D(o(ye)),D(QM,{onConfigured:t[3]||=e=>n(`configured`),onSkipped:t[4]||=e=>n(`skipped`)})]),_:1},8,[`style`])]),_:1})]),_:1},8,[`open`]))}}),eN={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`},tN={key:0,text:`sm neutral-500`},nN=r({__name:`Bar`,props:{text:{},description:{}},setup(e){return(t,n)=>(b(),j(`label`,eN,[M(`div`,null,[m(p(t.$t(e.text))+` `,1),e.description?(b(),j(`div`,tN,p(t.$t(e.description)),1)):a(``,!0)]),k(t.$slots,`default`)]))}}),rN=[`aria-checked`],iN=r({__name:`CheckBar`,props:h({text:{},iconOn:{},iconOff:{},description:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=w(e,`modelValue`);return(n,r)=>(b(),g(nN,{text:e.text,description:e.description},{default:A(()=>[ee(M(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,"aria-checked":t.value,type:`checkbox`,hidden:``},null,8,rN),[[S,t.value]]),D(ie,{name:`slide-away`,mode:`out-in`},{default:A(()=>[t.value?(b(),j(`div`,{key:0,class:O(e.iconOn),transition:`all ease-in-out duration-250`},null,2)):(b(),j(`div`,{key:1,class:O(e.iconOff),transition:`all ease-in-out duration-250`},null,2))]),_:1})]),_:1},8,[`text`,`description`]))}});const aN=Symbol(`ToasterRoot`);var oN=r({__name:`ToasterRoot`,emits:[`close`],setup(e,{emit:t}){let n=t;return l(aN,{close:e=>n(`close`,e)}),(e,t)=>k(e.$slots,`default`)}});export{jD as $,lk as A,BS as At,DO as B,Pt as Bt,Yk as C,ZS as Ct,vk as D,GS as Dt,Ck as E,KS as Et,FO as F,Px as Ft,JD as G,sO as H,yt as Ht,LO as I,Ax as It,zD as J,KD as K,ck as L,ir as Lt,RO as M,sS as Mt,PO as N,iS as Nt,dk as O,WS as Ot,NO as P,Ux as Pt,MD as Q,ok as R,$t as Rt,$k as S,eC as St,kk as T,qS as Tt,CO as U,ht as Ut,tO as V,Dt as Vt,eO as W,LD as X,RD as Y,ND as Z,PA as _,OC as _t,bM as a,yT as at,gA as b,nC as bt,aM as c,yw as ct,Cj as d,qC as dt,dD as et,lj as f,yC as ft,UA as g,DC as gt,HA as h,EC as ht,wM as i,QE as it,IO as j,OS as jt,ak as k,US as kt,Qj as l,vw as lt,BA as m,TC as mt,iN as n,mD as nt,cM as o,Zw as ot,VA as p,xC as pt,WD as q,$M as r,lD as rt,oM as s,jw as st,oN as t,fD as tt,wj as u,uw as ut,AA as v,kC as vt,Mk as w,XS as wt,tA as x,tC as xt,OA as y,lC as yt,AO as z,Ft as zt};
\ No newline at end of file
diff --git a/assets/consciousness-aTBF26jU.js b/assets/consciousness-Ckf7AKQa.js
similarity index 99%
rename from assets/consciousness-aTBF26jU.js
rename to assets/consciousness-Ckf7AKQa.js
index 8203a4ebe9e1b778bee705df5833f9bd2a560f63..9f9017166eb198cf740276ce9098efeb2ab5aa2b 100644
--- a/assets/consciousness-aTBF26jU.js
+++ b/assets/consciousness-Ckf7AKQa.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,K as r,Mt as i,O as a,S as o,W as s,Y as ee,ct as c,k as l,l as te,m as u,mt as d,rt as f,st as p,w as m,x as h}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as g,l as _}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as v}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{t as y}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ne,Mt as re,Nt as ie,Q as ae}from"./components-DjrTbOCd.js";import{n as oe}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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();f(G,async e=>{await U.loadModelsForProvider(e)},{immediate:!0});function $(e){le.value=e}return(e,f)=>{let v=ee(`motion`);return s(),m(u,null,[h(`div`,se,[h(`div`,null,[h(`div`,x,[h(`div`,null,[h(`h2`,S,i(n(Q)(`settings.pages.providers.title`)),1),h(`div`,C,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.description`)),1)])]),h(`div`,w,[n(W).length>0?(s(),m(`fieldset`,T,[(s(!0),m(u,null,r(n(W),e=>(s(),o(n(re),{id:e.id,key:e.id,modelValue:n(G),"onUpdate:modelValue":f[0]||=e=>d(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)),l(n(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:p(()=>[...f[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})])):(s(),m(`div`,E,[l(n(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:p(()=>[...f[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})]))])])]),n(G)&&n(J)?(s(),m(`div`,D,[h(`div`,O,[h(`div`,null,[h(`h2`,k,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,A,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),n(X)?(s(),m(`div`,j,[f[6]||=h(`div`,{class:`mr-2 animate-spin`},[h(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):n(Z)?(s(),o(n(_),{key:1,title:n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:n(Z)},null,8,[`title`,`error`])):n(Y).length===0&&!n(X)?(s(),o(n(g),{key:2,type:`warning`},{title:p(()=>[a(i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:p(()=>[a(i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):n(Y).length>0?(s(),o(n(ie),{key:3,modelValue:n(K),"onUpdate:modelValue":f[1]||=e=>d(K)?K.value=e:null,"search-query":n(q),"onUpdate:searchQuery":f[2]||=e=>d(q)?q.value=e:null,items:n(Y).sort((e,t)=>e.id===n(K)?-1:t.id===n(K)?1:0),searchable:!0,"search-placeholder":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:n(q)}),"search-results-text":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":n(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)])])):n(G)&&!n(J)?(s(),m(`div`,M,[h(`div`,N,[h(`div`,null,[h(`h2`,P,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,F,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),h(`div`,I,[f[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(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported`)),1),h(`span`,R,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported_description`)),1)])]),h(`div`,z,[h(`label`,B,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`)),1),c(h(`input`,{"onUpdate:modelValue":f[3]||=e=>d(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:n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,V),[[te,n(K)]])])])])):t(``,!0)]),c((s(),m(`div`,H,[...f[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,Dt as n,K as r,Mt as i,O as a,S as o,W as s,Y as ee,ct as c,k as l,l as te,m as u,mt as d,rt as f,st as p,w as m,x as h}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as g,l as _}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as v}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{t as y}from"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ne,Mt as re,Nt as ie,Q as ae}from"./components-B304j5qu.js";import{n as oe}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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();f(G,async e=>{await U.loadModelsForProvider(e)},{immediate:!0});function $(e){le.value=e}return(e,f)=>{let v=ee(`motion`);return s(),m(u,null,[h(`div`,se,[h(`div`,null,[h(`div`,x,[h(`div`,null,[h(`h2`,S,i(n(Q)(`settings.pages.providers.title`)),1),h(`div`,C,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.description`)),1)])]),h(`div`,w,[n(W).length>0?(s(),m(`fieldset`,T,[(s(!0),m(u,null,r(n(W),e=>(s(),o(n(re),{id:e.id,key:e.id,modelValue:n(G),"onUpdate:modelValue":f[0]||=e=>d(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)),l(n(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:p(()=>[...f[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})])):(s(),m(`div`,E,[l(n(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:p(()=>[...f[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})]))])])]),n(G)&&n(J)?(s(),m(`div`,D,[h(`div`,O,[h(`div`,null,[h(`h2`,k,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,A,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),n(X)?(s(),m(`div`,j,[f[6]||=h(`div`,{class:`mr-2 animate-spin`},[h(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):n(Z)?(s(),o(n(_),{key:1,title:n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:n(Z)},null,8,[`title`,`error`])):n(Y).length===0&&!n(X)?(s(),o(n(g),{key:2,type:`warning`},{title:p(()=>[a(i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:p(()=>[a(i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):n(Y).length>0?(s(),o(n(ie),{key:3,modelValue:n(K),"onUpdate:modelValue":f[1]||=e=>d(K)?K.value=e:null,"search-query":n(q),"onUpdate:searchQuery":f[2]||=e=>d(q)?q.value=e:null,items:n(Y).sort((e,t)=>e.id===n(K)?-1:t.id===n(K)?1:0),searchable:!0,"search-placeholder":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:n(q)}),"search-results-text":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":n(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)])])):n(G)&&!n(J)?(s(),m(`div`,M,[h(`div`,N,[h(`div`,null,[h(`h2`,P,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),h(`div`,F,[h(`span`,null,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),h(`div`,I,[f[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(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported`)),1),h(`span`,R,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.not_supported_description`)),1)])]),h(`div`,z,[h(`label`,B,i(n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`)),1),c(h(`input`,{"onUpdate:modelValue":f[3]||=e=>d(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:n(Q)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,V),[[te,n(K)]])])])])):t(``,!0)]),c((s(),m(`div`,H,[...f[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-B3j6mEOj.js b/assets/developer-DGl29tjF.js
similarity index 98%
rename from assets/developer-B3j6mEOj.js
rename to assets/developer-DGl29tjF.js
index bae4c12a2f8784ed84b45937547e63d53bb65f69..043ac632696c2c5136472534c3ee7f69a79b4303 100644
--- a/assets/developer-B3j6mEOj.js
+++ b/assets/developer-DGl29tjF.js
@@ -1 +1 @@
-import{A as e,Dt as t,K as n,S as r,W as i,Y as a,b as o,ct as s,jt as c,k as l,m as u,w as d,x as f}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{n as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ft as m,n as h}from"./components-DjrTbOCd.js";import{n as g}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 i(),d(u,null,[s(l(t(h),{modelValue:t(b).disableTransitions,"onUpdate:modelValue":o[0]||=e=>t(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]]),s(l(t(h),{modelValue:t(b).usePageSpecificTransitions,"onUpdate:modelValue":o[1]||=e=>t(b).usePageSpecificTransitions=e,disabled:t(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,[(i(!0),d(u,null,n(x.value,(e,n)=>s((i(),r(t(m),{key:e.to,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250,style:c({transitionDelay:`${n*50}ms`}),title:e.title,description:e.description,icon:e.icon,to:e.to},null,8,[`style`,`title`,`description`,`icon`,`to`])),[[p]])),128))]),s((i(),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,Dt as t,K as n,S as r,W as i,Y as a,b as o,ct as s,jt as c,k as l,m as u,w as d,x as f}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{n as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ft as m,n as h}from"./components-B304j5qu.js";import{n as g}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 i(),d(u,null,[s(l(t(h),{modelValue:t(b).disableTransitions,"onUpdate:modelValue":o[0]||=e=>t(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]]),s(l(t(h),{modelValue:t(b).usePageSpecificTransitions,"onUpdate:modelValue":o[1]||=e=>t(b).usePageSpecificTransitions=e,disabled:t(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,[(i(!0),d(u,null,n(x.value,(e,n)=>s((i(),r(t(m),{key:e.to,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250,style:c({transitionDelay:`${n*50}ms`}),title:e.title,description:e.description,icon:e.icon,to:e.to},null,8,[`style`,`title`,`description`,`icon`,`to`])),[[p]])),128))]),s((i(),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/elevenlabs-BptHJ0hg.js b/assets/elevenlabs-D-RSNFMs.js
similarity index 98%
rename from assets/elevenlabs-BptHJ0hg.js
rename to assets/elevenlabs-D-RSNFMs.js
index ab57d1eaa27e2e7ad53210cdca00d06c2717c385..19f047adc9a6619afa340735fed0abad501c2414 100644
--- a/assets/elevenlabs-BptHJ0hg.js
+++ b/assets/elevenlabs-D-RSNFMs.js
@@ -1 +1 @@
-import{A as e,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as d,u as f}from"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-DjrTbOCd.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 n(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)}),s(C,async()=>{let e=j.getProviderConfig(x);e.pitch=C.value}),s(w,async()=>{let e=j.getProviderConfig(x);e.speed=w.value}),s(T,async()=>{let e=j.getProviderConfig(x);e.volume=T.value}),s(E,async()=>{let e=j.getProviderConfig(x);e.style=E.value}),s(D,async()=>{let e=j.getProviderConfig(x);e.stability=D.value}),s(O,async()=>{let e=j.getProviderConfig(x);e.similarityBoost=O.value}),s(k,async()=>{let e=j.getProviderConfig(x);e.useSpeakerBoost=k.value}),s(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,n)=>(i(),r(t(h),{"provider-id":x,"default-model":S,"additional-settings":y},{"voice-settings":c(()=>[l(`div`,b,[o(t(d),{modelValue:C.value,"onUpdate:modelValue":n[0]||=e=>C.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(d),{modelValue:w.value,"onUpdate:modelValue":n[1]||=e=>w.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(N)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:T.value,"onUpdate:modelValue":n[2]||=e=>T.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(d),{modelValue:E.value,"onUpdate:modelValue":n[3]||=e=>E.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:D.value,"onUpdate:modelValue":n[4]||=e=>D.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:O.value,"onUpdate:modelValue":n[5]||=e=>O.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(f),{modelValue:k.value,"onUpdate:modelValue":n[6]||=e=>k.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.description`)},null,8,[`modelValue`,`label`,`description`])])]),playground:c(()=>[o(t(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,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as d,u as f}from"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-B304j5qu.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 n(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)}),s(C,async()=>{let e=j.getProviderConfig(x);e.pitch=C.value}),s(w,async()=>{let e=j.getProviderConfig(x);e.speed=w.value}),s(T,async()=>{let e=j.getProviderConfig(x);e.volume=T.value}),s(E,async()=>{let e=j.getProviderConfig(x);e.style=E.value}),s(D,async()=>{let e=j.getProviderConfig(x);e.stability=D.value}),s(O,async()=>{let e=j.getProviderConfig(x);e.similarityBoost=O.value}),s(k,async()=>{let e=j.getProviderConfig(x);e.useSpeakerBoost=k.value}),s(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,n)=>(i(),r(t(h),{"provider-id":x,"default-model":S,"additional-settings":y},{"voice-settings":c(()=>[l(`div`,b,[o(t(d),{modelValue:C.value,"onUpdate:modelValue":n[0]||=e=>C.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(d),{modelValue:w.value,"onUpdate:modelValue":n[1]||=e=>w.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(N)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:T.value,"onUpdate:modelValue":n[2]||=e=>T.value=e,label:t(N)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(d),{modelValue:E.value,"onUpdate:modelValue":n[3]||=e=>E.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.style.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:D.value,"onUpdate:modelValue":n[4]||=e=>D.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.stability.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(d),{modelValue:O.value,"onUpdate:modelValue":n[5]||=e=>O.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.simularity-boost.description`),min:0,max:1,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(f),{modelValue:k.value,"onUpdate:modelValue":n[6]||=e=>k.value=e,label:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.label`),description:t(N)(`settings.pages.providers.provider.elevenlabs.fields.field.speaker-boost.description`)},null,8,[`modelValue`,`label`,`description`])])]),playground:c(()=>[o(t(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-CB0QQ_bp.js b/assets/gaming-factorio-Dhk3cB-6.js
similarity index 91%
rename from assets/gaming-factorio-CB0QQ_bp.js
rename to assets/gaming-factorio-Dhk3cB-6.js
index 875e418f0096d4aa3dd567c97d83aa16a163c93b..73269136388c453b09ff54a996334b242c20332c 100644
--- a/assets/gaming-factorio-CB0QQ_bp.js
+++ b/assets/gaming-factorio-Dhk3cB-6.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ot as i}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ot as i}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(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-DMMPOpq4.js b/assets/gaming-minecraft-Bfas-d2m.js
similarity index 91%
rename from assets/gaming-minecraft-DMMPOpq4.js
rename to assets/gaming-minecraft-Bfas-d2m.js
index 6d0d18b1364ed6c0e0230e88720541a33dc131c1..2ac2183df766eb71b6d3e61da29cd5c6c72dbfc6 100644
--- a/assets/gaming-minecraft-DMMPOpq4.js
+++ b/assets/gaming-minecraft-Bfas-d2m.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Et as i}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Et as i}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
diff --git a/assets/hearing-CeJAH5gC.js b/assets/hearing-46AQcWNz.js
similarity index 97%
rename from assets/hearing-CeJAH5gC.js
rename to assets/hearing-46AQcWNz.js
index 13bc753d6221ab2ce9a19676352d68ec2a469803..9fe96ca2aed0841726ca866e04e5858f63f8520a 100644
--- a/assets/hearing-CeJAH5gC.js
+++ b/assets/hearing-46AQcWNz.js
@@ -1 +1 @@
-import{b as e,yt as t}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as n,I as r}from"./settings-DqmULHLB.js";import{f as i}from"./dist-D-gzSpcr.js";import{$ as a,_t as o,gt as s,ht as c,it as l,mt as u}from"./components-DjrTbOCd.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:u(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal}).then(s).then(o)},f={"aliyun-nls-transcription":l};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,yt as t}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{F as n,I as r}from"./settings-DqmULHLB.js";import{f as i}from"./dist-D-gzSpcr.js";import{$ as a,_t as o,gt as s,ht as c,it as l,mt as u}from"./components-B304j5qu.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:u(e.headers,e.apiKey),method:`POST`,signal:e.abortSignal}).then(s).then(o)},f={"aliyun-nls-transcription":l};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/hearing-CGTsH3Xa.js b/assets/hearing-CW90wnrJ.js
similarity index 98%
rename from assets/hearing-CGTsH3Xa.js
rename to assets/hearing-CW90wnrJ.js
index d72d09c9651867ee12da083160d56d41739cc6e1..a9b3b598a581c0a163a3097bb153149c476ced19 100644
--- a/assets/hearing-CGTsH3Xa.js
+++ b/assets/hearing-CW90wnrJ.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,H as r,J as ee,K as i,Mt as a,O as o,S as s,U as c,W as l,b as u,k as d,kt as te,m as f,mt as p,rt as ne,st as m,w as h,x as g,yt as _}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as re,l as v,u as ie}from"./widgets-Bwh_S8is.js";import{a as ae,o as y,u as oe}from"./src-BEKjKq3V.js";import{D as se,I as b,r as x}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ce,Ht as le,Mt as ue,Nt as de,Rt as fe,Ut as pe,Vt as me,o as he,s as ge}from"./components-DjrTbOCd.js";import{n as _e}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./transformers.web-rBhloxpP.js";import{t as S}from"./route-block-B7Ro39Uj.js";import"./llmmarkerParser-DC1ErTJG.js";import{n as ve,t as ye}from"./hearing-CeJAH5gC.js";import{t as be}from"./process.worklet-CP2S9aR2.js";import{t as xe}from"./composables-BKSLif8D.js";var Se={flex:`~ col md:row gap-6`},Ce={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%]`},we={flex:`~ col gap-4`},Te={flex:`~ col gap-4`},Ee={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},De={text:`neutral-400 dark:neutral-400`},Oe={"max-w-full":``},C={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},w={key:1},T={key:0},ke={flex:`~ col gap-4`},Ae={class:`text-lg md:text-2xl`},je={text:`neutral-400 dark:neutral-400`},Me={key:0,class:`flex items-center justify-center py-4`},Ne={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},Pe={"w-full":``,"rounded-xl":``},Fe={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},Ie={class:`inline-flex items-center gap-4`},Le=[`src`],Re={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},ze={flex:`~ col gap-4`},Be={class:`space-y-4`},Ve={class:`space-y-3`},He={key:1,class:`space-y-3`},Ue={key:2,class:`space-y-3`},We={class:`flex items-center gap-3`},Ge={class:`text-sm font-medium`},Ke={class:`ml-auto text-xs text-neutral-500`},qe={class:`border-t border-neutral-200 pt-3 dark:border-neutral-700`},Je={key:0,class:`mt-3 space-y-2`},Ye={key:0,class:`flex items-center gap-2 text-primary-600 dark:text-primary-400`},Xe={key:2,class:`flex items-center gap-2 text-green-600 dark:text-green-400`},Ze={class:`ml-auto text-xs text-neutral-500`},E=e({__name:`hearing`,setup(e){let{t:S}=_e(),E=ve(),{activeTranscriptionProvider:D,activeTranscriptionModel:O,providerModels:k,activeProviderModelError:A,isLoadingActiveProviderModels:j,supportsModelListing:Qe,transcriptionModelSearchQuery:M,activeCustomModelName:$e}=b(E),{configuredTranscriptionProvidersMetadata:N}=b(ce()),{stopStream:et,startStream:tt}=x(),{audioInputs:nt,selectedAudioInput:P,stream:F}=b(x()),{startRecord:rt,stopRecord:it,onStopRecord:at}=he(F),{startAnalyzer:ot,stopAnalyzer:st,onAnalyzerUpdate:ct,volumeLevel:lt}=ge(),{audioContext:I}=b(se()),{transcribeForRecording:ut}=ye(),L=_(),R=_(``),z=_(!1),B=_([]),V=_([]),H=_([]),dt=u(()=>V.value.map(e=>{let t=URL.createObjectURL(e);return H.value.push(()=>URL.revokeObjectURL(t)),t})),U=_(.6),W=_(!0),{init:ft,dispose:G,isSpeech:pt,isSpeechProb:K,isSpeechHistory:q,inferenceError:J,start:mt,loaded:Y,loading:ht}=xe(be,{threshold:U,onSpeechStart:()=>rt(),onSpeechEnd:()=>it()}),X=_(!1),Z=u(()=>W.value&&Y.value?pt.value:X.value);async function Q(){try{if(!P.value){console.warn(`No audio input device selected`);return}if(await $(),await tt(),!F.value){console.warn(`No audio stream available`);return}let e=I.value.createMediaStreamSource(F.value),t=ot(I.value);ct(e=>{(!W.value||!Y.value)&&(X.value=e>U.value)}),t&&e.connect(t),W.value&&(await ft(),await mt(F.value))}catch(e){console.error(`Error setting up audio monitoring:`,e),J.value=e instanceof Error?e.message:String(e)}}async function $(){L.value&&=(cancelAnimationFrame(L.value),void 0),F.value&&et(),st(),G()}async function gt(){z.value?(await $(),z.value=!1):(await Q(),z.value=!0)}let _t=u(()=>{if(!W.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=K.value,t=U.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){$e.value=e}return at(async e=>{e&&e.size>0&&V.value.push(e);let t=await ut(e);t&&B.value.push(t)}),ne(P,async()=>z.value&&await Q()),r(async()=>{await E.loadModelsForProvider(D.value)}),c(()=>{$(),G(),H.value.forEach(e=>e())}),(e,r)=>{let c=ee(`RouterLink`);return l(),h(`div`,Se,[g(`div`,Ce,[g(`div`,we,[g(`div`,null,[d(n(ae),{modelValue:n(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:n(nt).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`},null,8,[`modelValue`,`options`])]),g(`div`,Te,[g(`div`,null,[g(`h2`,Ee,a(n(S)(`settings.pages.providers.title`)),1),g(`div`,De,[g(`span`,null,a(n(S)(`settings.pages.modules.hearing.sections.section.provider-selection.description`)),1)])]),g(`div`,Oe,[n(N).length>0?(l(),h(`fieldset`,C,[(l(!0),h(f,null,i(n(N),e=>(l(),s(n(ue),{id:e.id,key:e.id,modelValue:n(D),"onUpdate:modelValue":r[1]||=e=>p(D)?D.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),d(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(()=>[...r[7]||=[g(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),g(`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})])):(l(),h(`div`,w,[d(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(()=>[...r[8]||=[g(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),g(`div`,{class:`flex flex-col`},[g(`span`,{class:`font-medium`},`No Providers Configured`),g(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your Transcription providers`)],-1),g(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])]),n(D)&&n(Qe)?(l(),h(`div`,T,[g(`div`,ke,[g(`div`,null,[g(`h2`,Ae,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),g(`div`,je,[g(`span`,null,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),n(j)?(l(),h(`div`,Me,[r[9]||=g(`div`,{class:`mr-2 animate-spin`},[g(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),g(`span`,null,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):n(A)?(l(),s(n(v),{key:1,title:n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:n(A)},null,8,[`title`,`error`])):n(k).length===0&&!n(j)?(l(),s(n(re),{key:2,type:`warning`},{title:m(()=>[o(a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:m(()=>[o(a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):n(k).length>0?(l(),s(n(de),{key:3,modelValue:n(O),"onUpdate:modelValue":r[2]||=e=>p(O)?O.value=e:null,"search-query":n(M),"onUpdate:searchQuery":r[3]||=e=>p(M)?M.value=e:null,items:n(k).sort((e,t)=>e.id===n(O)?-1:t.id===n(O)?1:0),searchable:!0,"search-placeholder":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:n(M)}),"search-results-text":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":n(S)(`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)])]),g(`div`,Ne,[g(`div`,Pe,[g(`h2`,Fe,[g(`div`,Ie,[d(n(le)),g(`div`,null,a(n(S)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),R.value?(l(),s(n(v),{key:0,title:`Error occurred`,error:R.value,"mb-4":``},null,8,[`error`])):t(``,!0),d(n(ie),{class:`mb-4`,"w-full":``,onClick:gt},{default:m(()=>[o(a(z.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),g(`div`,null,[(l(!0),h(f,null,i(dt.value,(e,n)=>(l(),h(`div`,{key:n,class:`mb-2`},[g(`audio`,{src:e,controls:``,class:`w-full`},null,8,Le),B.value[n]?(l(),h(`div`,Re,a(B.value[n]),1)):t(``,!0)]))),128))]),g(`div`,ze,[g(`div`,Be,[g(`div`,Ve,[d(n(pe),{level:n(lt),label:`Input Level`},null,8,[`level`]),W.value&&n(Y)?(l(),s(n(me),{key:0,value:n(K),threshold:U.value,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`])):t(``,!0),W.value&&n(Y)?(l(),h(`div`,He,[d(n(y),{modelValue:U.value,"onUpdate:modelValue":r[4]||=e=>U.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`])])):(l(),h(`div`,Ue,[d(n(y),{modelValue:U.value,"onUpdate:modelValue":r[5]||=e=>U.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`])])),g(`div`,We,[g(`div`,{class:te([`h-4 w-4 rounded-full transition-all duration-200`,_t.value])},null,2),g(`span`,Ge,a(Z.value?`Speaking Detected`:`Silence`),1),g(`span`,Ke,a(W.value&&n(Y)?`Model Based`:`Volume Based`),1)]),g(`div`,qe,[d(n(oe),{modelValue:W.value,"onUpdate:modelValue":r[6]||=e=>W.value=e,label:`Model Based`,description:`Use AI models for more accurate speech detection`},null,8,[`modelValue`]),W.value?(l(),h(`div`,Je,[n(ht)?(l(),h(`div`,Ye,[...r[10]||=[g(`div`,{class:`animate-spin text-sm`,"i-solar:spinner-line-duotone":``},null,-1),g(`span`,{class:`text-sm`},`Loading...`,-1)]])):n(J)?(l(),s(n(v),{key:1,title:`Inference error`,error:n(J)},null,8,[`error`])):n(Y)?(l(),h(`div`,Xe,[r[11]||=g(`div`,{class:`text-sm`,"i-solar:check-circle-bold-duotone":``},null,-1),r[12]||=g(`span`,{class:`text-sm`},`Activated`,-1),g(`span`,Ze,` Probability: `+a((n(K)*100).toFixed(1))+`% `,1)])):t(``,!0)])):t(``,!0)]),W.value&&n(Y)?(l(),s(n(fe),{key:3,history:n(q),"current-value":n(K),threshold:U.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 S==`function`&&S(E);var D=E;export{D as default};
\ No newline at end of file
+import{A as e,C as t,Dt as n,H as r,J as ee,K as i,Mt as a,O as o,S as s,U as c,W as l,b as u,k as d,kt as te,m as f,mt as p,rt as ne,st as m,w as h,x as g,yt as _}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as re,l as v,u as ie}from"./widgets-Bwh_S8is.js";import{a as ae,o as y,u as oe}from"./src-BEKjKq3V.js";import{D as se,I as b,r as x}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as ce,Ht as le,Mt as ue,Nt as de,Rt as fe,Ut as pe,Vt as me,o as he,s as ge}from"./components-B304j5qu.js";import{n as _e}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import"./transformers.web-rBhloxpP.js";import{t as S}from"./route-block-B7Ro39Uj.js";import"./llmmarkerParser-DC1ErTJG.js";import{n as ve,t as ye}from"./hearing-46AQcWNz.js";import{t as be}from"./process.worklet-CP2S9aR2.js";import{t as xe}from"./composables-BKSLif8D.js";var Se={flex:`~ col md:row gap-6`},Ce={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%]`},we={flex:`~ col gap-4`},Te={flex:`~ col gap-4`},Ee={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-500`},De={text:`neutral-400 dark:neutral-400`},Oe={"max-w-full":``},C={key:0,flex:`~ row gap-4`,style:{"scrollbar-width":`none`},"min-w-0":``,"of-x-scroll":``,"scroll-smooth":``,role:`radiogroup`},w={key:1},T={key:0},ke={flex:`~ col gap-4`},Ae={class:`text-lg md:text-2xl`},je={text:`neutral-400 dark:neutral-400`},Me={key:0,class:`flex items-center justify-center py-4`},Ne={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},Pe={"w-full":``,"rounded-xl":``},Fe={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},Ie={class:`inline-flex items-center gap-4`},Le=[`src`],Re={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},ze={flex:`~ col gap-4`},Be={class:`space-y-4`},Ve={class:`space-y-3`},He={key:1,class:`space-y-3`},Ue={key:2,class:`space-y-3`},We={class:`flex items-center gap-3`},Ge={class:`text-sm font-medium`},Ke={class:`ml-auto text-xs text-neutral-500`},qe={class:`border-t border-neutral-200 pt-3 dark:border-neutral-700`},Je={key:0,class:`mt-3 space-y-2`},Ye={key:0,class:`flex items-center gap-2 text-primary-600 dark:text-primary-400`},Xe={key:2,class:`flex items-center gap-2 text-green-600 dark:text-green-400`},Ze={class:`ml-auto text-xs text-neutral-500`},E=e({__name:`hearing`,setup(e){let{t:S}=_e(),E=ve(),{activeTranscriptionProvider:D,activeTranscriptionModel:O,providerModels:k,activeProviderModelError:A,isLoadingActiveProviderModels:j,supportsModelListing:Qe,transcriptionModelSearchQuery:M,activeCustomModelName:$e}=b(E),{configuredTranscriptionProvidersMetadata:N}=b(ce()),{stopStream:et,startStream:tt}=x(),{audioInputs:nt,selectedAudioInput:P,stream:F}=b(x()),{startRecord:rt,stopRecord:it,onStopRecord:at}=he(F),{startAnalyzer:ot,stopAnalyzer:st,onAnalyzerUpdate:ct,volumeLevel:lt}=ge(),{audioContext:I}=b(se()),{transcribeForRecording:ut}=ye(),L=_(),R=_(``),z=_(!1),B=_([]),V=_([]),H=_([]),dt=u(()=>V.value.map(e=>{let t=URL.createObjectURL(e);return H.value.push(()=>URL.revokeObjectURL(t)),t})),U=_(.6),W=_(!0),{init:ft,dispose:G,isSpeech:pt,isSpeechProb:K,isSpeechHistory:q,inferenceError:J,start:mt,loaded:Y,loading:ht}=xe(be,{threshold:U,onSpeechStart:()=>rt(),onSpeechEnd:()=>it()}),X=_(!1),Z=u(()=>W.value&&Y.value?pt.value:X.value);async function Q(){try{if(!P.value){console.warn(`No audio input device selected`);return}if(await $(),await tt(),!F.value){console.warn(`No audio stream available`);return}let e=I.value.createMediaStreamSource(F.value),t=ot(I.value);ct(e=>{(!W.value||!Y.value)&&(X.value=e>U.value)}),t&&e.connect(t),W.value&&(await ft(),await mt(F.value))}catch(e){console.error(`Error setting up audio monitoring:`,e),J.value=e instanceof Error?e.message:String(e)}}async function $(){L.value&&=(cancelAnimationFrame(L.value),void 0),F.value&&et(),st(),G()}async function gt(){z.value?(await $(),z.value=!1):(await Q(),z.value=!0)}let _t=u(()=>{if(!W.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=K.value,t=U.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){$e.value=e}return at(async e=>{e&&e.size>0&&V.value.push(e);let t=await ut(e);t&&B.value.push(t)}),ne(P,async()=>z.value&&await Q()),r(async()=>{await E.loadModelsForProvider(D.value)}),c(()=>{$(),G(),H.value.forEach(e=>e())}),(e,r)=>{let c=ee(`RouterLink`);return l(),h(`div`,Se,[g(`div`,Ce,[g(`div`,we,[g(`div`,null,[d(n(ae),{modelValue:n(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:n(nt).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`},null,8,[`modelValue`,`options`])]),g(`div`,Te,[g(`div`,null,[g(`h2`,Ee,a(n(S)(`settings.pages.providers.title`)),1),g(`div`,De,[g(`span`,null,a(n(S)(`settings.pages.modules.hearing.sections.section.provider-selection.description`)),1)])]),g(`div`,Oe,[n(N).length>0?(l(),h(`fieldset`,C,[(l(!0),h(f,null,i(n(N),e=>(l(),s(n(ue),{id:e.id,key:e.id,modelValue:n(D),"onUpdate:modelValue":r[1]||=e=>p(D)?D.value=e:null,name:`provider`,value:e.id,title:e.localizedName||`Unknown`,description:e.localizedDescription},null,8,[`id`,`modelValue`,`value`,`title`,`description`]))),128)),d(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(()=>[...r[7]||=[g(`div`,{"i-solar:add-circle-line-duotone":``,class:`text-2xl text-neutral-500 dark:text-neutral-500`},null,-1),g(`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})])):(l(),h(`div`,w,[d(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(()=>[...r[8]||=[g(`div`,{"i-solar:warning-circle-line-duotone":``,class:`text-2xl text-amber-500 dark:text-amber-400`},null,-1),g(`div`,{class:`flex flex-col`},[g(`span`,{class:`font-medium`},`No Providers Configured`),g(`span`,{class:`text-sm text-neutral-400 dark:text-neutral-500`},`Click here to set up your Transcription providers`)],-1),g(`div`,{"i-solar:arrow-right-line-duotone":``,class:`ml-auto text-xl text-neutral-400 dark:text-neutral-500`},null,-1)]]),_:1})]))])]),n(D)&&n(Qe)?(l(),h(`div`,T,[g(`div`,ke,[g(`div`,null,[g(`h2`,Ae,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.title`)),1),g(`div`,je,[g(`span`,null,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.subtitle`)),1)])]),n(j)?(l(),h(`div`,Me,[r[9]||=g(`div`,{class:`mr-2 animate-spin`},[g(`div`,{"i-solar:spinner-line-duotone":``,"text-xl":``})],-1),g(`span`,null,a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.loading`)),1)])):n(A)?(l(),s(n(v),{key:1,title:n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.error`),error:n(A)},null,8,[`title`,`error`])):n(k).length===0&&!n(j)?(l(),s(n(re),{key:2,type:`warning`},{title:m(()=>[o(a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models`)),1)]),content:m(()=>[o(a(n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_models_description`)),1)]),_:1})):n(k).length>0?(l(),s(n(de),{key:3,modelValue:n(O),"onUpdate:modelValue":r[2]||=e=>p(O)?O.value=e:null,"search-query":n(M),"onUpdate:searchQuery":r[3]||=e=>p(M)?M.value=e:null,items:n(k).sort((e,t)=>e.id===n(O)?-1:t.id===n(O)?1:0),searchable:!0,"search-placeholder":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:n(M)}),"search-results-text":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":n(S)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":n(S)(`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)])]),g(`div`,Ne,[g(`div`,Pe,[g(`h2`,Fe,[g(`div`,Ie,[d(n(le)),g(`div`,null,a(n(S)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),R.value?(l(),s(n(v),{key:0,title:`Error occurred`,error:R.value,"mb-4":``},null,8,[`error`])):t(``,!0),d(n(ie),{class:`mb-4`,"w-full":``,onClick:gt},{default:m(()=>[o(a(z.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),g(`div`,null,[(l(!0),h(f,null,i(dt.value,(e,n)=>(l(),h(`div`,{key:n,class:`mb-2`},[g(`audio`,{src:e,controls:``,class:`w-full`},null,8,Le),B.value[n]?(l(),h(`div`,Re,a(B.value[n]),1)):t(``,!0)]))),128))]),g(`div`,ze,[g(`div`,Be,[g(`div`,Ve,[d(n(pe),{level:n(lt),label:`Input Level`},null,8,[`level`]),W.value&&n(Y)?(l(),s(n(me),{key:0,value:n(K),threshold:U.value,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`])):t(``,!0),W.value&&n(Y)?(l(),h(`div`,He,[d(n(y),{modelValue:U.value,"onUpdate:modelValue":r[4]||=e=>U.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`])])):(l(),h(`div`,Ue,[d(n(y),{modelValue:U.value,"onUpdate:modelValue":r[5]||=e=>U.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`])])),g(`div`,We,[g(`div`,{class:te([`h-4 w-4 rounded-full transition-all duration-200`,_t.value])},null,2),g(`span`,Ge,a(Z.value?`Speaking Detected`:`Silence`),1),g(`span`,Ke,a(W.value&&n(Y)?`Model Based`:`Volume Based`),1)]),g(`div`,qe,[d(n(oe),{modelValue:W.value,"onUpdate:modelValue":r[6]||=e=>W.value=e,label:`Model Based`,description:`Use AI models for more accurate speech detection`},null,8,[`modelValue`]),W.value?(l(),h(`div`,Je,[n(ht)?(l(),h(`div`,Ye,[...r[10]||=[g(`div`,{class:`animate-spin text-sm`,"i-solar:spinner-line-duotone":``},null,-1),g(`span`,{class:`text-sm`},`Loading...`,-1)]])):n(J)?(l(),s(n(v),{key:1,title:`Inference error`,error:n(J)},null,8,[`error`])):n(Y)?(l(),h(`div`,Xe,[r[11]||=g(`div`,{class:`text-sm`,"i-solar:check-circle-bold-duotone":``},null,-1),r[12]||=g(`span`,{class:`text-sm`},`Activated`,-1),g(`span`,Ze,` Probability: `+a((n(K)*100).toFixed(1))+`% `,1)])):t(``,!0)])):t(``,!0)]),W.value&&n(Y)?(l(),s(n(fe),{key:3,history:n(q),"current-value":n(K),threshold:U.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 S==`function`&&S(E);var D=E;export{D as default};
\ No newline at end of file
diff --git a/assets/index-B6ZVxkIt.js b/assets/index-CJipIj-N.js
similarity index 91%
rename from assets/index-B6ZVxkIt.js
rename to assets/index-CJipIj-N.js
index acb106166a32b9812bb6bbc31ba748a0e39bf91b..3e4b9168d337f0a2b3e4c03c0589bbe2262d0f83 100644
--- a/assets/index-B6ZVxkIt.js
+++ b/assets/index-CJipIj-N.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/default-BOn9iaRL.js","assets/_plugin-vue_export-helper-CdbDUOI-.js","assets/HeaderLink-XbkrhYnz.js","assets/vue.runtime.esm-bundler-BODQtTc2.js","assets/chunk-oCmw4s_B.js","assets/dist-D-gzSpcr.js","assets/vue-router-DbGkV_8v.js","assets/HeaderLink-4n3ShASi.css","assets/home-DZdh-gvV.js","assets/plain-g8SWRDFd.js","assets/settings-BPUq-1bd.js","assets/preload-helper-C_mzgxuZ.js","assets/theme-color-Q-wutQpj.js","assets/sleep-Cx_IPFyQ.js","assets/components-DjrTbOCd.js","assets/src-BEKjKq3V.js","assets/src-CO8_9JkB.css","assets/vue-i18n.runtime-Asl2hnl1.js","assets/settings-DqmULHLB.js","assets/src-B2sntzra.js","assets/widgets-Bwh_S8is.js","assets/widgets-CXcBqV8l.css","assets/webgpu-Cl7aOF9V.js","assets/output-KkRq_Mb9.js","assets/__vite-browser-external-qSVDfb5s.js","assets/components-C52UMtvs.css","assets/stage-IHL_Bmis.js","assets/pages-BGi4ehBH.js","assets/route-block-B7Ro39Uj.js","assets/scenes-B_30nua7.js","assets/import-url-browser-D1GlhyBB.js","assets/duckdb-mvp-Dg0vXvL4.js","assets/src-dnC2lS-R.js","assets/beat-sync-BT_vcvDk.js","assets/tres-DF-em7-4.js","assets/index-CLFto6T2-BvgF6Su1.js","assets/core-XjfIgpxA.js","assets/llmmarkerParser-DC1ErTJG.js","assets/airi-card-OVmLkj5R.js","assets/transformers.web-rBhloxpP.js","assets/composables-BKSLif8D.js","assets/hearing-CeJAH5gC.js","assets/process.worklet-CP2S9aR2.js","assets/Basic-Brbs07_a.js","assets/pages-DCfpT-Zz.css","assets/_...all_-BgEpI-v8.js","assets/audio-record-Cv9HxOb7.js","assets/background-gradient-blending-BWBmZavb.js","assets/browser-BoU2m5e0.js","assets/BasicInputFile-CQXt7OnG.js","assets/background-gradient-blending-B88qVe8m.css","assets/background-removal-7Dv7at1s.js","assets/InputFile-CFl1Dtoi.js","assets/gesture-circle-BZ1ycjxj.js","assets/image-Kuns3yfd.js","assets/image-DolN1ewS.css","assets/polaroid-B55ZB1yo.js","assets/providers-transcription-realtime-aliyun-nls-C-00UIna.js","assets/use-magic-keys-EMt0a7g3.js","assets/vibrant-Dqe0yria.js","assets/settings-DM9lAZ-g.js","assets/airi-card-D4nqd0PO.js","assets/CardCreationDialog-BLpVLgw4.js","assets/CardCreationDialog-gtYAalV5.css","assets/DeleteCardDialog-DFRvZcEN.js","assets/CardCreate-Dlpyfd2C.js","assets/CardDetailDialog-COqtM5o_.js","assets/CardListItem-BMB1rgl9.js","assets/CardCreate-0KB4sC1_.js","assets/CardCreationDialog-B7NfeBYC.js","assets/CardDetailDialog-BT71s_dx.js","assets/CardListItem-BOTDAMic.js","assets/DeleteCardDialog-BRiaz_JF.js","assets/memory-DBadcc13.js","assets/models-BtGH-NL6.js","assets/modules-DEjOEEC4.js","assets/beat-sync-CrxLBxAV.js","assets/consciousness-aTBF26jU.js","assets/gaming-factorio-CB0QQ_bp.js","assets/gaming-minecraft-DMMPOpq4.js","assets/hearing-CGTsH3Xa.js","assets/memory-long-term-BXxiwetH.js","assets/memory-short-term-Gsfu58Cs.js","assets/messaging-discord-BZqYQmDn.js","assets/speech-CA0GJoWX.js","assets/vision-DHbSnCdj.js","assets/x-N84tN5xk.js","assets/providers-DQ_wJNCi.js","assets/_providerId_-DvIt8RJu.js","assets/use-provider-validation-CxR943Dn.js","assets/azure-ai-foundry-CNHWunrv.js","assets/cloudflare-workers-ai-D1Ozhaqs.js","assets/lm-studio-FS42XMfn.js","assets/ollama-SMGC815X.js","assets/alibaba-cloud-model-studio-DimUT53k.js","assets/comet-api-speech-oQV5nrI9.js","assets/elevenlabs-BptHJ0hg.js","assets/index-tts-vllm-B-GC_nyr.js","assets/microsoft-speech-BnY6Ha2H.js","assets/openai-audio-speech-C8YLtUSC.js","assets/openai-compatible-audio-speech-uugIB0--.js","assets/player2-speech-R4AoCTrv.js","assets/volcengine-D_HgCVQ6.js","assets/aliyun-nls-transcription-582p_TCR.js","assets/comet-api-transcription-DbJbRg1s.js","assets/openai-audio-transcription-DBKMWkcN.js","assets/openai-compatible-audio-transcription-DFGuE9Eo.js","assets/scene-DAOKGfw5.js","assets/system-DOYNrGPE.js","assets/color-scheme-BCrbIw4F.js","assets/color-scheme-Cj4kFQq0.css","assets/developer-B3j6mEOj.js","assets/general-CE5ByKjP.js"])))=>i.map(i=>d[i]);
-import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,At as r,B as i,C as a,D as o,Dt as s,H as c,I as l,K as u,Mt as d,O as f,Q as p,S as m,St as h,U as g,V as ee,W as _,X as v,b as y,h as b,i as x,it as S,jt as C,k as w,kt as T,m as E,mt as te,q as D,rt as O,st as k,w as A,x as j,yt as M,z as ne}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{r as re}from"./tres-DF-em7-4.js";import{X as N}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{E as ie,F as ae,I as P,P as F,a as oe,n as se}from"./settings-DqmULHLB.js";import{n as I,t as L}from"./preload-helper-C_mzgxuZ.js";import{i as ce,n as le,o as ue,r as de}from"./vue-router-DbGkV_8v.js";import{t as R}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{f as z,i as fe,s as pe,t as me}from"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as he,At as ge,r as _e,t as ve}from"./components-DjrTbOCd.js";import{n as B,t as ye}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 be=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),xe=new Set,V=new WeakMap,H=new WeakMap,U=new WeakMap,Se=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(),V.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){Se.get(e)?.disconnect();let t=V.get(e),n=0;t||(t=Z(e),V.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),Se.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=U.get(e);try{await t?.finished,V.set(e,Z(e)),Me(e)}catch{}},r))}function Ne(){clearTimeout(G.get(q)),G.set(q,setTimeout(()=>{xe.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=V.get(e),n=Z(e);if(!Ge(e))return V.set(e,n);if(je(e)){V.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()}U.set(e,r),V.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);V.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()}U.set(e,r),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Ze(e,t){var n;e.remove(),V.delete(e),H.delete(e),U.delete(e),(n=Se.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(!H.has(e)||!V.has(e))return;let[n,r]=H.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=V.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()}U.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=V.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=!U.has(e)||U.get(e)?.playState===`finished`?Z(i):V.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),xe.add(e)}return Object.freeze({parent:e,enable:()=>{K.add(e)},disable:()=>{K.delete(e),Ke(e,e=>{let t=U.get(e);try{t?.cancel()}catch{}U.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),xe.delete(e),W.delete(e),Ce.get(e)?.disconnect(),Ce.delete(e),Ke(e,e=>{Ie?.unobserve(e);let t=U.get(e);try{t?.cancel()}catch{}U.delete(e),Se.get(e)?.disconnect(),Se.delete(e);let n=we.get(e);n&&clearInterval(n),we.delete(e);let r=G.get(e);r&&clearTimeout(r),G.delete(e),V.delete(e),H.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))}};I();const it=e=>{let t={};Object.entries({"/src/layouts/default.vue":()=>L(()=>import(`./default-BOn9iaRL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),"/src/layouts/home.vue":()=>L(()=>import(`./home-DZdh-gvV.js`),__vite__mapDeps([8,3,4,6])),"/src/layouts/plain.vue":()=>L(()=>import(`./plain-g8SWRDFd.js`),__vite__mapDeps([9,1,3,4])),"/src/layouts/settings.vue":()=>L(()=>import(`./settings-BPUq-1bd.js`),__vite__mapDeps([10,1,11,4,2,3,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),"/src/layouts/stage.vue":()=>L(()=>import(`./stage-IHL_Bmis.js`),__vite__mapDeps([26,3,4,6]))}).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)};I();const at=[{path:`/`,name:`IndexScenePage`,component:()=>L(()=>import(`./pages-BGi4ehBH.js`),__vite__mapDeps([27,1,11,4,28,2,3,5,6,7,12,13,29,14,15,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])),meta:{layout:`stage`,stageTransition:{name:`bubble-wave-out`}}},{path:`/:all(.*)`,name:`/[...all]`,component:()=>L(()=>import(`./_...all_-BgEpI-v8.js`),__vite__mapDeps([45,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25]))},{path:`/devtools`,children:[{path:`audio-record`,name:`/devtools/audio-record`,component:()=>L(()=>import(`./audio-record-Cv9HxOb7.js`),__vite__mapDeps([46,3,4,5,23,24]))},{path:`background-gradient-blending`,name:`/devtools/background-gradient-blending`,component:()=>L(()=>import(`./background-gradient-blending-BWBmZavb.js`),__vite__mapDeps([47,1,12,13,5,3,4,15,16,48,19,49,50]))},{path:`background-removal`,name:`/devtools/background-removal`,component:()=>L(()=>import(`./background-removal-7Dv7at1s.js`),__vite__mapDeps([51,1,11,4,15,3,16,39,5,22,49,52]))},{path:`gesture-circle`,name:`/devtools/gesture-circle`,component:()=>L(()=>import(`./gesture-circle-BZ1ycjxj.js`),__vite__mapDeps([53,28,3,4,5])),meta:{layout:`plain`}},{path:`image`,name:`/devtools/image`,component:()=>L(()=>import(`./image-Kuns3yfd.js`),__vite__mapDeps([54,1,3,4,5,55]))},{path:`polaroid`,name:`/devtools/polaroid`,component:()=>L(()=>import(`./polaroid-B55ZB1yo.js`),__vite__mapDeps([56,1,11,4,29,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,30,31,32,33,34,35,36,37,38,41]))},{path:`providers-transcription-realtime-aliyun-nls`,name:`/devtools/providers-transcription-realtime-aliyun-nls`,component:()=>L(()=>import(`./providers-transcription-realtime-aliyun-nls-C-00UIna.js`),__vite__mapDeps([57,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,42])),meta:{layout:`settings`}},{path:`use-magic-keys`,name:`/devtools/use-magic-keys`,component:()=>L(()=>import(`./use-magic-keys-EMt0a7g3.js`),__vite__mapDeps([58,3,4,5]))},{path:`vibrant`,name:`/devtools/vibrant`,component:()=>L(()=>import(`./vibrant-Dqe0yria.js`),__vite__mapDeps([59,1,15,3,4,16,48,5,49,52]))}]},{path:`/settings`,children:[{path:``,name:`/settings/`,component:()=>L(()=>import(`./settings-DM9lAZ-g.js`),__vite__mapDeps([60,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`airi-card`,children:[{path:``,name:`/settings/airi-card/`,component:()=>L(()=>import(`./airi-card-D4nqd0PO.js`),__vite__mapDeps([61,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,62,38,63,64,65,66,67,49,52])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`components`,children:[{path:`CardCreate`,name:`/settings/airi-card/components/CardCreate`,component:()=>L(()=>import(`./CardCreate-0KB4sC1_.js`),__vite__mapDeps([68,17,3,4,65]))},{path:`CardCreationDialog`,name:`/settings/airi-card/components/CardCreationDialog`,component:()=>L(()=>import(`./CardCreationDialog-B7NfeBYC.js`),__vite__mapDeps([69,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,62,38,63]))},{path:`CardDetailDialog`,name:`/settings/airi-card/components/CardDetailDialog`,component:()=>L(()=>import(`./CardDetailDialog-BT71s_dx.js`),__vite__mapDeps([70,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,64,66,38]))},{path:`CardListItem`,name:`/settings/airi-card/components/CardListItem`,component:()=>L(()=>import(`./CardListItem-BOTDAMic.js`),__vite__mapDeps([71,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,67]))},{path:`DeleteCardDialog`,name:`/settings/airi-card/components/DeleteCardDialog`,component:()=>L(()=>import(`./DeleteCardDialog-BRiaz_JF.js`),__vite__mapDeps([72,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,64]))}]}]},{path:`memory`,children:[{path:``,name:`/settings/memory/`,component:()=>L(()=>import(`./memory-DBadcc13.js`),__vite__mapDeps([73,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`models`,children:[{path:``,name:`/settings/models/`,component:()=>L(()=>import(`./models-BtGH-NL6.js`),__vite__mapDeps([74,1,28,15,3,4,16,17,18,5,19,33,32,34,20,6,21,48])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`modules`,children:[{path:``,name:`/settings/modules/`,component:()=>L(()=>import(`./modules-DEjOEEC4.js`),__vite__mapDeps([75,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`beat-sync`,name:`/settings/modules/beat-sync`,component:()=>L(()=>import(`./beat-sync-CrxLBxAV.js`),__vite__mapDeps([76,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`consciousness`,name:`/settings/modules/consciousness`,component:()=>L(()=>import(`./consciousness-aTBF26jU.js`),__vite__mapDeps([77,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`gaming-factorio`,name:`/settings/modules/gaming-factorio`,component:()=>L(()=>import(`./gaming-factorio-CB0QQ_bp.js`),__vite__mapDeps([78,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-DMMPOpq4.js`),__vite__mapDeps([79,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`hearing`,name:`/settings/modules/hearing`,component:()=>L(()=>import(`./hearing-CGTsH3Xa.js`),__vite__mapDeps([80,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,39,40,41,37,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-long-term`,name:`/settings/modules/memory-long-term`,component:()=>L(()=>import(`./memory-long-term-BXxiwetH.js`),__vite__mapDeps([81,28,3,4])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-short-term`,name:`/settings/modules/memory-short-term`,component:()=>L(()=>import(`./memory-short-term-Gsfu58Cs.js`),__vite__mapDeps([82,28,3,4])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`messaging-discord`,name:`/settings/modules/messaging-discord`,component:()=>L(()=>import(`./messaging-discord-BZqYQmDn.js`),__vite__mapDeps([83,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`speech`,name:`/settings/modules/speech`,component:()=>L(()=>import(`./speech-CA0GJoWX.js`),__vite__mapDeps([84,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`vision`,name:`/settings/modules/vision`,component:()=>L(()=>import(`./vision-DHbSnCdj.js`),__vite__mapDeps([85,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`x`,name:`/settings/modules/x`,component:()=>L(()=>import(`./x-N84tN5xk.js`),__vite__mapDeps([86,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`providers`,children:[{path:``,name:`/settings/providers/`,component:()=>L(()=>import(`./providers-DQ_wJNCi.js`),__vite__mapDeps([87,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`chat`,children:[{path:`:providerId`,name:`/settings/providers/chat/[providerId]`,component:()=>L(()=>import(`./_providerId_-DvIt8RJu.js`),__vite__mapDeps([88,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`azure-ai-foundry`,name:`/settings/providers/chat/azure-ai-foundry`,component:()=>L(()=>import(`./azure-ai-foundry-CNHWunrv.js`),__vite__mapDeps([90,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`cloudflare-workers-ai`,name:`/settings/providers/chat/cloudflare-workers-ai`,component:()=>L(()=>import(`./cloudflare-workers-ai-D1Ozhaqs.js`),__vite__mapDeps([91,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`lm-studio`,name:`/settings/providers/chat/lm-studio`,component:()=>L(()=>import(`./lm-studio-FS42XMfn.js`),__vite__mapDeps([92,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`ollama`,name:`/settings/providers/chat/ollama`,component:()=>L(()=>import(`./ollama-SMGC815X.js`),__vite__mapDeps([93,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),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-DimUT53k.js`),__vite__mapDeps([94,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-oQV5nrI9.js`),__vite__mapDeps([95,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`elevenlabs`,name:`/settings/providers/speech/elevenlabs`,component:()=>L(()=>import(`./elevenlabs-BptHJ0hg.js`),__vite__mapDeps([96,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-B-GC_nyr.js`),__vite__mapDeps([97,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-BnY6Ha2H.js`),__vite__mapDeps([98,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-C8YLtUSC.js`),__vite__mapDeps([99,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-uugIB0--.js`),__vite__mapDeps([100,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`player2-speech`,name:`/settings/providers/speech/player2-speech`,component:()=>L(()=>import(`./player2-speech-R4AoCTrv.js`),__vite__mapDeps([101,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`volcengine`,name:`/settings/providers/speech/volcengine`,component:()=>L(()=>import(`./volcengine-D_HgCVQ6.js`),__vite__mapDeps([102,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-582p_TCR.js`),__vite__mapDeps([103,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-transcription`,name:`/settings/providers/transcription/comet-api-transcription`,component:()=>L(()=>import(`./comet-api-transcription-DbJbRg1s.js`),__vite__mapDeps([104,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-transcription`,name:`/settings/providers/transcription/openai-audio-transcription`,component:()=>L(()=>import(`./openai-audio-transcription-DBKMWkcN.js`),__vite__mapDeps([105,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41])),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-DFGuE9Eo.js`),__vite__mapDeps([106,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]},{path:`scene`,children:[{path:``,name:`/settings/scene/`,component:()=>L(()=>import(`./scene-DAOKGfw5.js`),__vite__mapDeps([107,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`system`,children:[{path:``,name:`/settings/system/`,component:()=>L(()=>import(`./system-DOYNrGPE.js`),__vite__mapDeps([108,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`color-scheme`,name:`/settings/system/color-scheme`,component:()=>L(()=>import(`./color-scheme-BCrbIw4F.js`),__vite__mapDeps([109,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,110])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`developer`,name:`/settings/system/developer`,component:()=>L(()=>import(`./developer-B3j6mEOj.js`),__vite__mapDeps([111,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`general`,name:`/settings/system/general`,component:()=>L(()=>import(`./general-CE5ByKjP.js`),__vite__mapDeps([112,1,28,15,3,4,16,17,18,5,19])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]}],ot=ae(`onboarding`,()=>{let e=he(),t=z(`onboarding/completed`,!1),n=z(`onboarding/skipped`,!1),r=M(!1),a=y(()=>[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`openai-compatible`].some(t=>e.configuredProviders[t])),o=y(()=>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 i(),r.value=!0)}function c(){t.value=!0,n.value=!1,r.value=!1}function l(){n.value=!0,r.value=!1}function u(){t.value=!1,n.value=!1,r.value=!1}function d(){r.value=!0}return{hasCompletedSetup:t,hasSkippedSetup:n,shouldShowSetup:r,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=y(()=>t.stageTransition),r=y(()=>n.value.primaryColor||`#666`),i=y(()=>n.value.secondaryColor||`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-3`,style:C({zIndex:n.value.zIndex||100})},null,4))}}),[[`__scopeId`,`data-v-17464329`]]),ct=R(n({__name:`BubbleWaveOutTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition?.colors||[`#eee`,`#ebcb8b`,`#c56370`,`#3f3b52`]);return c(()=>{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)=>(_(),A(`div`,{class:`circle-expansion-transition`,style:C({zIndex:e.stageTransition?.zIndex||100})},[(_(!0),A(E,null,u(n.value,(e,t)=>(_(),A(`div`,{key:t}))),128))],4))}}),[[`__scopeId`,`data-v-4624be9e`]]),lt=R(n({__name:`FantasyFallTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition?.direction||`up`),r=y(()=>`fantasy-fall-${n.value}`);return c(()=>{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)=>(_(),A(`div`,{class:T([`fantasy-fall-transition`,r.value]),style:C({zIndex:e.stageTransition?.zIndex??100})},null,6))}}),[[`__scopeId`,`data-v-826171f5`]]),ut=R(n({__name:`MultipleBlocksRevealTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor||`#666`),i=y(()=>n.value?.secondaryColor||`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-4`,style:C({zIndex:n.value?.zIndex??100})},[...t[0]||=[o(``,5)]],4))}}),[[`__scopeId`,`data-v-4221f976`]]),dt=R(n({__name:`SlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor||`#666`),i=y(()=>n.value?.secondaryColor||`#ccc`);return O([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)}),c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-1`,style:C({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-81c0af14`]]),ft=R(n({__name:`SlopeSlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor??`#666`),i=y(()=>n.value?.secondaryColor??`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-2`,style:C({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-9e8b66c8`]]),pt=R(n({__name:`RectanglesRotateTransition`,props:{stageTransition:{}},setup(e){let t=e;return c(()=>{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)=>(_(),A(`div`,{class:`rectangle-rotate-transition`,style:C({zIndex:e.stageTransition?.zIndex??100})},[...n[0]||=[j(`div`,{class:`rectangle rectangle-rotate-1`},[j(`div`)],-1),j(`div`,{class:`rectangle rectangle-rotate-2`},[j(`div`)],-1),j(`div`,{class:`rectangle rectangle-rotate-3`},[j(`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=ue(),r=M(!1),i=M(),o=M(``),s=M(),c=h({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=M([]);function u(e){return l.value.push(e),()=>{let t=l.value.indexOf(e);t>=0&&l.value.splice(t,1)}}async function d(e,t={}){i.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 f(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,f=u(e=>{e===`navigation`&&!l&&(l=!0,t())});try{await d(`before-enter`,{transitionName:e.name}),r.value&&(await d(`before-leave`,{transitionName:o.value}),o.value=``,s.value=void 0,r.value=!1,await d(`after-leave`,{transitionName:o.value}),await new Promise(e=>setTimeout(e,50))),o.value=e.name,s.value=e,r.value=!0,await d(`enter-active`,{transitionName:name}),setTimeout(async()=>{await d(`navigation`,{transitionName:e.name,config:i}),l||(l=!0,t())},a),setTimeout(async()=>{await d(`after-enter`,{transitionName:e.name})},i.duration),setTimeout(async()=>{await d(`before-leave`,{transitionName:e.name})},i.duration+10),setTimeout(async()=>{await d(`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 d(`after-leave`,{transitionName:e.name}),n()},i.duration+c)}catch(e){console.error(e)}finally{f(),setTimeout(()=>{l||(l=!0,t())},i.duration*2)}}function p(e,t){return new Promise(n=>{f(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),p(i,r)}),(e,t)=>(_(),A(E,null,[D(e.$slots,`default`),r.value?(_(),A(E,{key:0},[c.value[o.value]?(_(),m(v(c.value[o.value].component),{key:0,"stage-transition":s.value},null,8,[`stage-transition`])):a(``,!0)],64)):a(``,!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],l(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`&&!l(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`&&!l(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`&&!l(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`&&!l(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=M(!1);return S(()=>{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,o=t,l=M(null),u=M(null),p=M(!1),h=M(!1),g=M(!1),b=M(!1),x=M(!1),w=M(0),te=M(0),k=M(n.toast.duration||n.duration||wt),re=M(null),N=M(null),ie=y(()=>n.index===0),ae=y(()=>n.index+1<=n.visibleToasts),P=y(()=>n.toast.type),F=y(()=>n.toast.dismissible!==!1),oe=y(()=>n.toast.class||``),se=y(()=>n.descriptionClass||``),I=y(()=>{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}),L=y(()=>{let e=n.toast.position||n.position;return n.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=I.value?e:e+t.height,0)}),ce=y(()=>I.value*n.gap+L.value||0),le=y(()=>n.toast.closeButton??n.closeButton),ue=y(()=>n.toast.duration||n.duration||wt),de=M(0),R=M(0),z=M(null),fe=y(()=>n.position.split(`-`)),pe=y(()=>fe.value[0]),me=y(()=>fe.value[1]),he=y(()=>typeof n.toast.title!=`string`),ge=y(()=>typeof n.toast.description!=`string`),{isDocumentHidden:_e}=kt(),ve=y(()=>P.value&&P.value===`loading`);c(()=>{p.value=!0,k.value=ue.value}),S(async()=>{if(!p.value||!N.value)return;await i();let e=N.value,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,te.value=r,o(`update:height`,{toastId:n.toast.id,height:r,position:n.toast.position||n.position})});function B(){h.value=!0,w.value=ce.value,setTimeout(()=>{o(`removeToast`,n.toast)},Ot)}function ye(){if(ve.value||!F.value)return{};B(),n.toast.onDismiss?.(n.toast)}function be(e){e.button!==2&&(ve.value||!F.value||(re.value=new Date,w.value=ce.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(g.value=!0,z.value={x:e.clientX,y:e.clientY})))}function xe(){if(b.value||!F.value)return;z.value=null;let e=Number(N.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(N.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-(re.value?.getTime()||0),i=l.value===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Dt||a>.11){w.value=ce.value,n.toast.onDismiss?.(n.toast),l.value===`x`?u.value=e>0?`right`:`left`:u.value=t>0?`down`:`up`,B(),b.value=!0;return}else N.value?.style.setProperty(`--swipe-amount-x`,`0px`),N.value?.style.setProperty(`--swipe-amount-y`,`0px`);x.value=!1,g.value=!1,l.value=null}function V(e){if(!z.value||!F.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-z.value.y,r=e.clientX-z.value.x,i=n.swipeDirections??At(n.position);!l.value&&(Math.abs(r)>1||Math.abs(t)>1)&&(l.value=Math.abs(r)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(l.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*o(t);a.y=Math.abs(e)0)a.x=r;else{let e=r*o(r);a.x=Math.abs(e)0||Math.abs(a.y)>0)&&(x.value=!0),N.value?.style.setProperty(`--swipe-amount-x`,`${a.x}px`),N.value?.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}c(()=>{if(p.value=!0,!N.value)return;let e=N.value.getBoundingClientRect().height;te.value=e,o(`update:heights`,[{toastId:n.toast.id,height:e,position:n.toast.position},...n.heights])}),ee(()=>{N.value&&o(`removeToast`,n.toast)}),S(e=>{if(n.toast.promise&&P.value===`loading`||n.toast.duration===1/0||n.toast.type===`loading`)return;let t;n.expanded||n.interacting||_e.value?(()=>{if(R.value{n.toast.onAutoClose?.(n.toast),B()},k.value)),e(()=>{clearTimeout(t)})}),O(()=>n.toast.delete,e=>{e!==void 0&&e&&(B(),n.toast.onDismiss?.(n.toast))},{deep:!0});function H(){g.value=!1,l.value=null,z.value=null}return(e,t)=>(_(),A(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:N,class:T(s($)(n.class,oe.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[P.value],e.toast?.classes?.[P.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":p.value,"data-promise":!!e.toast.promise,"data-swiped":x.value,"data-removed":h.value,"data-visible":ae.value,"data-y-position":pe.value,"data-x-position":me.value,"data-index":e.index,"data-front":ie.value,"data-swiping":g.value,"data-dismissible":F.value,"data-type":P.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":b.value,"data-swipe-direction":u.value,"data-expanded":!!(e.expanded||e.expandByDefault&&p.value),"data-testid":e.toast.testId,style:C({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${h.value?w.value:ce.value}px`,"--initial-height":e.expandByDefault?`auto`:`${te.value}px`,...e.style,...n.toast.style}),onDragend:H,onPointerdown:be,onPointerup:xe,onPointermove:V},[le.value&&!e.toast.component&&P.value!==`loading`?(_(),A(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":ve.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:T(s($)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:ye},[e.icons?.close?(_(),m(v(e.icons?.close),{key:0})):D(e.$slots,`close-icon`,{key:1})],10,Nt)):a(`v-if`,!0),e.toast.component?(_(),m(v(e.toast.component),ne({key:1},e.toast.componentProps,{onCloseToast:ye,isPaused:e.$props.expanded||e.$props.interacting||s(_e)}),null,16,[`isPaused`])):(_(),A(E,{key:2},[P.value!==`default`||e.toast.icon||e.toast.promise?(_(),A(`div`,{key:0,"data-icon":``,class:T(s($)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?(_(),m(v(e.toast.icon),{key:0})):(_(),A(E,{key:1},[P.value===`loading`?D(e.$slots,`loading-icon`,{key:0}):P.value===`success`?D(e.$slots,`success-icon`,{key:1}):P.value===`error`?D(e.$slots,`error-icon`,{key:2}):P.value===`warning`?D(e.$slots,`warning-icon`,{key:3}):P.value===`info`?D(e.$slots,`info-icon`,{key:4}):a(`v-if`,!0)],64))],2)):a(`v-if`,!0),j(`div`,{"data-content":``,class:T(s($)(e.classes?.content,e.toast?.classes?.content))},[j(`div`,{"data-title":``,class:T(s($)(e.classes?.title,e.toast.classes?.title))},[he.value?(_(),m(v(e.toast.title),r(ne({key:0},e.toast.componentProps)),null,16)):(_(),A(E,{key:1},[f(d(e.toast.title),1)],64))],2),e.toast.description?(_(),A(`div`,{key:0,"data-description":``,class:T(s($)(e.descriptionClass,se.value,e.classes?.description,e.toast.classes?.description))},[ge.value?(_(),m(v(e.toast.description),r(ne({key:0},e.toast.componentProps)),null,16)):(_(),A(E,{key:1},[f(d(e.toast.description),1)],64))],2)):a(`v-if`,!0)],2),e.toast.cancel?(_(),A(`button`,{key:1,style:C(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:T(s($)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:t[0]||=t=>{s(bt)(e.toast.cancel)&&F.value&&(e.toast.cancel.onClick?.(t),B())}},d(s(bt)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):a(`v-if`,!0),e.toast.action?(_(),A(`button`,{key:2,style:C(e.toast.actionButtonStyle||e.actionButtonStyle),class:T(s($)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:t[1]||=t=>{s(bt)(e.toast.action)&&(e.toast.action.onClick?.(t),!t.defaultPrevented&&B())}},d(s(bt)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):a(`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 _(),A(`svg`,Lt,t[0]||=[j(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),j(`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)=>(_(),A(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[j(`div`,Vt,[(_(!0),A(E,null,u(s(t),e=>(_(),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 _(),A(`svg`,Wt,t[0]||=[j(`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 _(),A(`svg`,Jt,t[0]||=[j(`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 _(),A(`svg`,Qt,t[0]||=[j(`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 _(),A(`svg`,nn,t[0]||=[j(`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=p(),r=M([]),o=y(()=>t.id?r.value.filter(e=>e.toasterId===t.id):r.value.filter(e=>!e.toasterId));function c(e,t){return o.value.filter(n=>!n.position&&t===0||n.position===e)}let l=y(()=>{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=y(()=>{let e={};return l.value.forEach(t=>{e[t]=r.value.filter(e=>e.position===t)}),e}),f=M([]),h=M({}),g=M(!1);S(()=>{l.value.forEach(e=>{e in h.value||(h.value[e]=!1)})});let ee=M(t.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t.theme),v=M(null),b=M(null),x=M(!1),te=t.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function O(e){r.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),r.value=r.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{r.value.find(t=>t.id===e.id)||(f.value=f.value.filter(t=>t.toastId!==e.id))},Ot+50)}function re(e){x.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(x.value=!1,b.value&&=(b.value.focus({preventScroll:!0}),null))}function N(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||x.value||(x.value=!0,b.value=e.relatedTarget)}function ie(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(g.value=!0)}S(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}i(()=>{let t=r.value.findIndex(t=>t.id===e.id);t===-1?r.value=[e,...r.value]:r.value=[...r.value.slice(0,t),{...r.value[t],...e},...r.value.slice(t+1)]})}))}),S(e=>{if(typeof window>`u`)return;if(t.theme!==`system`){ee.value=t.theme;return}let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{ee.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)}})}),S(()=>{v.value&&b.value&&(b.value.focus({preventScroll:!0}),b.value=null,x.value=!1)}),S(()=>{r.value.length<=1&&Object.keys(h.value).forEach(e=>{h.value[e]=!1})}),S(e=>{function n(e){let n=t.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(v.value)?v.value[0]:v.value;n&&(l.value.forEach(e=>{h.value[e]=!0}),r?.focus());let i=document.activeElement===v.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&l.value.forEach(e=>{h.value[e]=!1})}cn&&(document.addEventListener(`keydown`,n),e(()=>{document.removeEventListener(`keydown`,n)}))});function ae(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);h.value[n]=!0}function P(e){if(!g.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);h.value[n]=!1}}function F(){Object.keys(h.value).forEach(e=>{h.value[e]=!1})}function oe(){g.value=!1}function se(e){f.value=e}function I(e){let t=f.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)f.value[t]=e;else{let t=f.value.findIndex(t=>t.position===e.position);t===-1?f.value.unshift(e):f.value.splice(t,0,e)}}return(e,r)=>(_(),A(E,null,[a(` Remove item from normal navigation flow, only available via hotkey `),j(`section`,{"aria-label":`${e.containerAriaLabel} ${s(te)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(_(!0),A(E,null,u(l.value,(r,i)=>(_(),A(`ol`,ne({key:r,ref_for:!0,ref_key:`listRef`,ref:v,"data-sonner-toaster":``,"data-sonner-theme":ee.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":`${f.value[0]?.height||0}px`,"--width":`${s(Tt)}px`,"--gap":`${e.gap}px`,...e.style,...s(n).style,...s(jt)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:re,onFocus:N,onMouseenter:ae,onMousemove:ae,onMouseleave:P,onDragend:F,onPointerdown:ie,onPointerup:oe}),[(_(!0),A(E,null,u(c(r,i),(n,i)=>(_(),m(Pt,{key:n.id,heights:f.value,icons:e.icons,index:i,toast:n,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:T(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:g.value,position:r,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:C(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:h.value[r]||!1,swipeDirections:t.swipeDirections,"onUpdate:heights":se,"onUpdate:height":I,onRemoveToast:O},{"close-icon":k(()=>[D(e.$slots,`close-icon`,{},()=>[w(zt)])]),"loading-icon":k(()=>[D(e.$slots,`loading-icon`,{},()=>[w(Ht,{visible:n.type===`loading`},null,8,[`visible`])])]),"success-icon":k(()=>[D(e.$slots,`success-icon`,{},()=>[w(Kt)])]),"error-icon":k(()=>[D(e.$slots,`error-icon`,{},()=>[w(an)])]),"warning-icon":k(()=>[D(e.$slots,`warning-icon`,{},()=>[w(en)])]),"info-icon":k(()=>[D(e.$slots,`info-icon`,{},()=>[w(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=ae(`pwa`,()=>{M([]),fe(me).smaller(`md`),c(async()=>{})});var fn=n({__name:`App`,setup(e){dn();let t=B(),n=oe(),r=se(),i=P(r),a=ot(),{shouldShowSetup:o}=P(a),l=pe(),u=ge(),d=y(()=>l.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=y(()=>l.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=y(()=>l.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))`),h=y(()=>[d.value,f.value,p.value,l.value?`#121212`:`#FFFFFF`]);O(i.language,()=>{t.locale.value=i.language.value}),O(i.themeColorsHue,()=>{document.documentElement.style.setProperty(`--chromatic-hue`,i.themeColorsHue.value.toString())},{immediate:!0}),O(i.themeColorsHueDynamic,()=>{document.documentElement.classList.toggle(`dynamic-hue`,i.themeColorsHueDynamic.value)},{immediate:!0}),c(async()=>{a.initializeSetupCheck(),u.initialize(),await n.loadDisplayModelsFromIndexedDB(),await r.initializeStageModel()}),g(()=>{u.dispose()});function ee(){a.markSetupCompleted()}function x(){a.markSetupSkipped()}return(e,t)=>(_(),A(E,null,[w(s(mt),{"primary-color":d.value,"secondary-color":f.value,"tertiary-color":p.value,colors:h.value,"z-index":100,"disable-transitions":s(i).disableTransitions.value,"use-page-specific-transitions":s(i).usePageSpecificTransitions.value},{default:k(()=>[w(s(le),null,{default:k(({Component:e})=>[(_(),m(b,{include:[`IndexScenePage`,`StageScenePage`]},[(_(),m(v(e)))],1024))]),_:1})]),_:1},8,[`primary-color`,`secondary-color`,`tertiary-color`,`colors`,`disable-transitions`,`use-page-specific-transitions`]),w(s(ve),{onClose:t[0]||=e=>s(yt).dismiss(e)},{default:k(()=>[w(s(un))]),_:1}),w(s(_e),{modelValue:s(o),"onUpdate:modelValue":t[1]||=e=>te(o)?o.value=e:null,onConfigured:ee,onSkipped:x},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=ye({legacy:!1,locale:mn(),fallbackLocale:`en`,messages:ie});var gn=F(),_n=de({routes:it(at),history:ce()});_n.beforeEach((e,t)=>{e.path!==t.path&&be.default.start()}),_n.afterEach(()=>{be.default.done()}),x(fn).use(N).use(rt).use(_n).use(gn).use(hn).use(re).mount(`#app`);
\ No newline at end of file
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/default-BOn9iaRL.js","assets/_plugin-vue_export-helper-CdbDUOI-.js","assets/HeaderLink-XbkrhYnz.js","assets/vue.runtime.esm-bundler-BODQtTc2.js","assets/chunk-oCmw4s_B.js","assets/dist-D-gzSpcr.js","assets/vue-router-DbGkV_8v.js","assets/HeaderLink-4n3ShASi.css","assets/home-DZdh-gvV.js","assets/plain-g8SWRDFd.js","assets/settings-nyx5-5Hx.js","assets/preload-helper-C_mzgxuZ.js","assets/theme-color-Q-wutQpj.js","assets/sleep-Cx_IPFyQ.js","assets/components-B304j5qu.js","assets/src-BEKjKq3V.js","assets/src-CO8_9JkB.css","assets/vue-i18n.runtime-Asl2hnl1.js","assets/settings-DqmULHLB.js","assets/src-B2sntzra.js","assets/widgets-Bwh_S8is.js","assets/widgets-CXcBqV8l.css","assets/webgpu-Cl7aOF9V.js","assets/output-KkRq_Mb9.js","assets/__vite-browser-external-qSVDfb5s.js","assets/components-C52UMtvs.css","assets/stage-IHL_Bmis.js","assets/pages-CGOmNO4j.js","assets/route-block-B7Ro39Uj.js","assets/scenes-C6aE1hnC.js","assets/import-url-browser-D1GlhyBB.js","assets/duckdb-mvp-Dg0vXvL4.js","assets/src-dnC2lS-R.js","assets/beat-sync-BT_vcvDk.js","assets/tres-DF-em7-4.js","assets/index-CLFto6T2-BvgF6Su1.js","assets/core-XjfIgpxA.js","assets/llmmarkerParser-DC1ErTJG.js","assets/airi-card-B4NTpy90.js","assets/transformers.web-rBhloxpP.js","assets/composables-BKSLif8D.js","assets/hearing-46AQcWNz.js","assets/process.worklet-CP2S9aR2.js","assets/Basic-Brbs07_a.js","assets/pages-DCfpT-Zz.css","assets/_...all_-DLSbXW4Z.js","assets/audio-record-Cv9HxOb7.js","assets/background-gradient-blending-BWBmZavb.js","assets/browser-BoU2m5e0.js","assets/BasicInputFile-CQXt7OnG.js","assets/background-gradient-blending-B88qVe8m.css","assets/background-removal-7Dv7at1s.js","assets/InputFile-CFl1Dtoi.js","assets/gesture-circle-BZ1ycjxj.js","assets/image-Kuns3yfd.js","assets/image-DolN1ewS.css","assets/polaroid-BQWmPWzz.js","assets/providers-transcription-realtime-aliyun-nls-5yfBtgC7.js","assets/use-magic-keys-EMt0a7g3.js","assets/vibrant-Dqe0yria.js","assets/settings-TjME6M5k.js","assets/airi-card-CuGs5Mus.js","assets/CardCreationDialog-BegHxuO_.js","assets/CardCreationDialog-gtYAalV5.css","assets/DeleteCardDialog-DFRvZcEN.js","assets/CardCreate-Dlpyfd2C.js","assets/CardDetailDialog-rnlT1cGI.js","assets/CardListItem-pI4SdZHC.js","assets/CardCreate-0KB4sC1_.js","assets/CardCreationDialog-Cdv4lyGt.js","assets/CardDetailDialog-CZYOTntj.js","assets/CardListItem-D4iy0g4e.js","assets/DeleteCardDialog-n76YoIdP.js","assets/memory-BPMM_4CZ.js","assets/models-BtGH-NL6.js","assets/modules-CO3CaEmV.js","assets/beat-sync-DzM6qGMX.js","assets/consciousness-Ckf7AKQa.js","assets/gaming-factorio-Dhk3cB-6.js","assets/gaming-minecraft-Bfas-d2m.js","assets/hearing-CW90wnrJ.js","assets/memory-long-term-BXxiwetH.js","assets/memory-short-term-Gsfu58Cs.js","assets/messaging-discord-DVPd8_qu.js","assets/speech-J0rwE8a4.js","assets/vision-CwsQkRuI.js","assets/x-jp-ptwOl.js","assets/providers-B8mq5NHf.js","assets/_providerId_-CmGS-uQu.js","assets/use-provider-validation-DdxESxz-.js","assets/azure-ai-foundry-BwESjr-q.js","assets/cloudflare-workers-ai-B573BUcd.js","assets/lm-studio-DYk7J3aA.js","assets/ollama-D4JxXH1J.js","assets/alibaba-cloud-model-studio-BF2te9-p.js","assets/comet-api-speech-B2LLkpbl.js","assets/elevenlabs-D-RSNFMs.js","assets/index-tts-vllm-CxdELf0w.js","assets/microsoft-speech-BkArPHEm.js","assets/openai-audio-speech-C-cKlCc-.js","assets/openai-compatible-audio-speech-CiymZQ-c.js","assets/player2-speech-Bci58HmZ.js","assets/volcengine-CRVvtLVs.js","assets/aliyun-nls-transcription-BLeUYI-8.js","assets/comet-api-transcription-BOrNDa1l.js","assets/openai-audio-transcription-Dgm6eWxM.js","assets/openai-compatible-audio-transcription-CakcN3lb.js","assets/scene-C5EYCDhi.js","assets/system-CAOG06jv.js","assets/color-scheme-BiQFNPvs.js","assets/color-scheme-Cj4kFQq0.css","assets/developer-DGl29tjF.js","assets/general-CE5ByKjP.js"])))=>i.map(i=>d[i]);
+import{o as e,t}from"./chunk-oCmw4s_B.js";import{A as n,At as r,B as i,C as a,D as o,Dt as s,H as c,I as l,K as u,Mt as d,O as f,Q as p,S as m,St as h,U as g,V as ee,W as _,X as v,b as y,h as b,i as x,it as S,jt as C,k as w,kt as T,m as E,mt as te,q as D,rt as O,st as k,w as A,x as j,yt as M,z as ne}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{r as re}from"./tres-DF-em7-4.js";import{X as N}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{E as ie,F as ae,I as P,P as F,a as oe,n as se}from"./settings-DqmULHLB.js";import{n as I,t as L}from"./preload-helper-C_mzgxuZ.js";import{i as ce,n as le,o as ue,r as de}from"./vue-router-DbGkV_8v.js";import{t as R}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{f as z,i as fe,s as pe,t as me}from"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as he,At as ge,r as _e,t as ve}from"./components-B304j5qu.js";import{n as B,t as ye}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 be=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),xe=new Set,V=new WeakMap,H=new WeakMap,U=new WeakMap,Se=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(),V.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){Se.get(e)?.disconnect();let t=V.get(e),n=0;t||(t=Z(e),V.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),Se.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=U.get(e);try{await t?.finished,V.set(e,Z(e)),Me(e)}catch{}},r))}function Ne(){clearTimeout(G.get(q)),G.set(q,setTimeout(()=>{xe.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=V.get(e),n=Z(e);if(!Ge(e))return V.set(e,n);if(je(e)){V.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()}U.set(e,r),V.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);V.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()}U.set(e,r),r.addEventListener(`finish`,Y.bind(null,e,!1),{once:!0})}function Ze(e,t){var n;e.remove(),V.delete(e),H.delete(e),U.delete(e),(n=Se.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(!H.has(e)||!V.has(e))return;let[n,r]=H.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=V.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()}U.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=V.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=!U.has(e)||U.get(e)?.playState===`finished`?Z(i):V.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),xe.add(e)}return Object.freeze({parent:e,enable:()=>{K.add(e)},disable:()=>{K.delete(e),Ke(e,e=>{let t=U.get(e);try{t?.cancel()}catch{}U.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),xe.delete(e),W.delete(e),Ce.get(e)?.disconnect(),Ce.delete(e),Ke(e,e=>{Ie?.unobserve(e);let t=U.get(e);try{t?.cancel()}catch{}U.delete(e),Se.get(e)?.disconnect(),Se.delete(e);let n=we.get(e);n&&clearInterval(n),we.delete(e);let r=G.get(e);r&&clearTimeout(r),G.delete(e),V.delete(e),H.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))}};I();const it=e=>{let t={};Object.entries({"/src/layouts/default.vue":()=>L(()=>import(`./default-BOn9iaRL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),"/src/layouts/home.vue":()=>L(()=>import(`./home-DZdh-gvV.js`),__vite__mapDeps([8,3,4,6])),"/src/layouts/plain.vue":()=>L(()=>import(`./plain-g8SWRDFd.js`),__vite__mapDeps([9,1,3,4])),"/src/layouts/settings.vue":()=>L(()=>import(`./settings-nyx5-5Hx.js`),__vite__mapDeps([10,1,11,4,2,3,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),"/src/layouts/stage.vue":()=>L(()=>import(`./stage-IHL_Bmis.js`),__vite__mapDeps([26,3,4,6]))}).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)};I();const at=[{path:`/`,name:`IndexScenePage`,component:()=>L(()=>import(`./pages-CGOmNO4j.js`),__vite__mapDeps([27,1,11,4,28,2,3,5,6,7,12,13,29,14,15,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])),meta:{layout:`stage`,stageTransition:{name:`bubble-wave-out`}}},{path:`/:all(.*)`,name:`/[...all]`,component:()=>L(()=>import(`./_...all_-DLSbXW4Z.js`),__vite__mapDeps([45,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25]))},{path:`/devtools`,children:[{path:`audio-record`,name:`/devtools/audio-record`,component:()=>L(()=>import(`./audio-record-Cv9HxOb7.js`),__vite__mapDeps([46,3,4,5,23,24]))},{path:`background-gradient-blending`,name:`/devtools/background-gradient-blending`,component:()=>L(()=>import(`./background-gradient-blending-BWBmZavb.js`),__vite__mapDeps([47,1,12,13,5,3,4,15,16,48,19,49,50]))},{path:`background-removal`,name:`/devtools/background-removal`,component:()=>L(()=>import(`./background-removal-7Dv7at1s.js`),__vite__mapDeps([51,1,11,4,15,3,16,39,5,22,49,52]))},{path:`gesture-circle`,name:`/devtools/gesture-circle`,component:()=>L(()=>import(`./gesture-circle-BZ1ycjxj.js`),__vite__mapDeps([53,28,3,4,5])),meta:{layout:`plain`}},{path:`image`,name:`/devtools/image`,component:()=>L(()=>import(`./image-Kuns3yfd.js`),__vite__mapDeps([54,1,3,4,5,55]))},{path:`polaroid`,name:`/devtools/polaroid`,component:()=>L(()=>import(`./polaroid-BQWmPWzz.js`),__vite__mapDeps([56,1,11,4,29,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,30,31,32,33,34,35,36,37,38,41]))},{path:`providers-transcription-realtime-aliyun-nls`,name:`/devtools/providers-transcription-realtime-aliyun-nls`,component:()=>L(()=>import(`./providers-transcription-realtime-aliyun-nls-5yfBtgC7.js`),__vite__mapDeps([57,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,42])),meta:{layout:`settings`}},{path:`use-magic-keys`,name:`/devtools/use-magic-keys`,component:()=>L(()=>import(`./use-magic-keys-EMt0a7g3.js`),__vite__mapDeps([58,3,4,5]))},{path:`vibrant`,name:`/devtools/vibrant`,component:()=>L(()=>import(`./vibrant-Dqe0yria.js`),__vite__mapDeps([59,1,15,3,4,16,48,5,49,52]))}]},{path:`/settings`,children:[{path:``,name:`/settings/`,component:()=>L(()=>import(`./settings-TjME6M5k.js`),__vite__mapDeps([60,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`airi-card`,children:[{path:``,name:`/settings/airi-card/`,component:()=>L(()=>import(`./airi-card-CuGs5Mus.js`),__vite__mapDeps([61,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,62,38,63,64,65,66,67,49,52])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`components`,children:[{path:`CardCreate`,name:`/settings/airi-card/components/CardCreate`,component:()=>L(()=>import(`./CardCreate-0KB4sC1_.js`),__vite__mapDeps([68,17,3,4,65]))},{path:`CardCreationDialog`,name:`/settings/airi-card/components/CardCreationDialog`,component:()=>L(()=>import(`./CardCreationDialog-Cdv4lyGt.js`),__vite__mapDeps([69,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,62,38,63]))},{path:`CardDetailDialog`,name:`/settings/airi-card/components/CardDetailDialog`,component:()=>L(()=>import(`./CardDetailDialog-CZYOTntj.js`),__vite__mapDeps([70,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,64,66,38]))},{path:`CardListItem`,name:`/settings/airi-card/components/CardListItem`,component:()=>L(()=>import(`./CardListItem-D4iy0g4e.js`),__vite__mapDeps([71,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,67]))},{path:`DeleteCardDialog`,name:`/settings/airi-card/components/DeleteCardDialog`,component:()=>L(()=>import(`./DeleteCardDialog-n76YoIdP.js`),__vite__mapDeps([72,1,11,4,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,64]))}]}]},{path:`memory`,children:[{path:``,name:`/settings/memory/`,component:()=>L(()=>import(`./memory-BPMM_4CZ.js`),__vite__mapDeps([73,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]},{path:`models`,children:[{path:``,name:`/settings/models/`,component:()=>L(()=>import(`./models-BtGH-NL6.js`),__vite__mapDeps([74,1,28,15,3,4,16,17,18,5,19,33,32,34,20,6,21,48])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`modules`,children:[{path:``,name:`/settings/modules/`,component:()=>L(()=>import(`./modules-CO3CaEmV.js`),__vite__mapDeps([75,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`beat-sync`,name:`/settings/modules/beat-sync`,component:()=>L(()=>import(`./beat-sync-DzM6qGMX.js`),__vite__mapDeps([76,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,33])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`consciousness`,name:`/settings/modules/consciousness`,component:()=>L(()=>import(`./consciousness-Ckf7AKQa.js`),__vite__mapDeps([77,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`gaming-factorio`,name:`/settings/modules/gaming-factorio`,component:()=>L(()=>import(`./gaming-factorio-Dhk3cB-6.js`),__vite__mapDeps([78,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-Bfas-d2m.js`),__vite__mapDeps([79,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`hearing`,name:`/settings/modules/hearing`,component:()=>L(()=>import(`./hearing-CW90wnrJ.js`),__vite__mapDeps([80,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,39,40,41,37,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-long-term`,name:`/settings/modules/memory-long-term`,component:()=>L(()=>import(`./memory-long-term-BXxiwetH.js`),__vite__mapDeps([81,28,3,4])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`memory-short-term`,name:`/settings/modules/memory-short-term`,component:()=>L(()=>import(`./memory-short-term-Gsfu58Cs.js`),__vite__mapDeps([82,28,3,4])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`messaging-discord`,name:`/settings/modules/messaging-discord`,component:()=>L(()=>import(`./messaging-discord-DVPd8_qu.js`),__vite__mapDeps([83,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`speech`,name:`/settings/modules/speech`,component:()=>L(()=>import(`./speech-J0rwE8a4.js`),__vite__mapDeps([84,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,43])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`vision`,name:`/settings/modules/vision`,component:()=>L(()=>import(`./vision-CwsQkRuI.js`),__vite__mapDeps([85,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`x`,name:`/settings/modules/x`,component:()=>L(()=>import(`./x-jp-ptwOl.js`),__vite__mapDeps([86,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`providers`,children:[{path:``,name:`/settings/providers/`,component:()=>L(()=>import(`./providers-B8mq5NHf.js`),__vite__mapDeps([87,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`chat`,children:[{path:`:providerId`,name:`/settings/providers/chat/[providerId]`,component:()=>L(()=>import(`./_providerId_-CmGS-uQu.js`),__vite__mapDeps([88,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`azure-ai-foundry`,name:`/settings/providers/chat/azure-ai-foundry`,component:()=>L(()=>import(`./azure-ai-foundry-BwESjr-q.js`),__vite__mapDeps([90,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`cloudflare-workers-ai`,name:`/settings/providers/chat/cloudflare-workers-ai`,component:()=>L(()=>import(`./cloudflare-workers-ai-B573BUcd.js`),__vite__mapDeps([91,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`lm-studio`,name:`/settings/providers/chat/lm-studio`,component:()=>L(()=>import(`./lm-studio-DYk7J3aA.js`),__vite__mapDeps([92,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`ollama`,name:`/settings/providers/chat/ollama`,component:()=>L(()=>import(`./ollama-D4JxXH1J.js`),__vite__mapDeps([93,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),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-BF2te9-p.js`),__vite__mapDeps([94,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-B2LLkpbl.js`),__vite__mapDeps([95,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`elevenlabs`,name:`/settings/providers/speech/elevenlabs`,component:()=>L(()=>import(`./elevenlabs-D-RSNFMs.js`),__vite__mapDeps([96,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-CxdELf0w.js`),__vite__mapDeps([97,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-BkArPHEm.js`),__vite__mapDeps([98,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-C-cKlCc-.js`),__vite__mapDeps([99,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-CiymZQ-c.js`),__vite__mapDeps([100,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`player2-speech`,name:`/settings/providers/speech/player2-speech`,component:()=>L(()=>import(`./player2-speech-Bci58HmZ.js`),__vite__mapDeps([101,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`volcengine`,name:`/settings/providers/speech/volcengine`,component:()=>L(()=>import(`./volcengine-CRVvtLVs.js`),__vite__mapDeps([102,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,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-BLeUYI-8.js`),__vite__mapDeps([103,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89,42])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`comet-api-transcription`,name:`/settings/providers/transcription/comet-api-transcription`,component:()=>L(()=>import(`./comet-api-transcription-BOrNDa1l.js`),__vite__mapDeps([104,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`openai-audio-transcription`,name:`/settings/providers/transcription/openai-audio-transcription`,component:()=>L(()=>import(`./openai-audio-transcription-Dgm6eWxM.js`),__vite__mapDeps([105,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41])),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-CakcN3lb.js`),__vite__mapDeps([106,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,41,89])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]},{path:`scene`,children:[{path:``,name:`/settings/scene/`,component:()=>L(()=>import(`./scene-C5EYCDhi.js`),__vite__mapDeps([107,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}}]},{path:`system`,children:[{path:``,name:`/settings/system/`,component:()=>L(()=>import(`./system-CAOG06jv.js`),__vite__mapDeps([108,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`,pageSpecificAvailable:!0}}},{path:`color-scheme`,name:`/settings/system/color-scheme`,component:()=>L(()=>import(`./color-scheme-BiQFNPvs.js`),__vite__mapDeps([109,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25,110])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`developer`,name:`/settings/system/developer`,component:()=>L(()=>import(`./developer-DGl29tjF.js`),__vite__mapDeps([111,1,11,4,28,14,15,3,16,17,18,5,19,13,20,6,21,22,23,24,25])),meta:{layout:`settings`,stageTransition:{name:`slide`}}},{path:`general`,name:`/settings/system/general`,component:()=>L(()=>import(`./general-CE5ByKjP.js`),__vite__mapDeps([112,1,28,15,3,4,16,17,18,5,19])),meta:{layout:`settings`,stageTransition:{name:`slide`}}}]}]}],ot=ae(`onboarding`,()=>{let e=he(),t=z(`onboarding/completed`,!1),n=z(`onboarding/skipped`,!1),r=M(!1),a=y(()=>[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`openai-compatible`].some(t=>e.configuredProviders[t])),o=y(()=>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 i(),r.value=!0)}function c(){t.value=!0,n.value=!1,r.value=!1}function l(){n.value=!0,r.value=!1}function u(){t.value=!1,n.value=!1,r.value=!1}function d(){r.value=!0}return{hasCompletedSetup:t,hasSkippedSetup:n,shouldShowSetup:r,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=y(()=>t.stageTransition),r=y(()=>n.value.primaryColor||`#666`),i=y(()=>n.value.secondaryColor||`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-3`,style:C({zIndex:n.value.zIndex||100})},null,4))}}),[[`__scopeId`,`data-v-17464329`]]),ct=R(n({__name:`BubbleWaveOutTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition?.colors||[`#eee`,`#ebcb8b`,`#c56370`,`#3f3b52`]);return c(()=>{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)=>(_(),A(`div`,{class:`circle-expansion-transition`,style:C({zIndex:e.stageTransition?.zIndex||100})},[(_(!0),A(E,null,u(n.value,(e,t)=>(_(),A(`div`,{key:t}))),128))],4))}}),[[`__scopeId`,`data-v-4624be9e`]]),lt=R(n({__name:`FantasyFallTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition?.direction||`up`),r=y(()=>`fantasy-fall-${n.value}`);return c(()=>{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)=>(_(),A(`div`,{class:T([`fantasy-fall-transition`,r.value]),style:C({zIndex:e.stageTransition?.zIndex??100})},null,6))}}),[[`__scopeId`,`data-v-826171f5`]]),ut=R(n({__name:`MultipleBlocksRevealTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor||`#666`),i=y(()=>n.value?.secondaryColor||`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-4`,style:C({zIndex:n.value?.zIndex??100})},[...t[0]||=[o(``,5)]],4))}}),[[`__scopeId`,`data-v-4221f976`]]),dt=R(n({__name:`SlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor||`#666`),i=y(()=>n.value?.secondaryColor||`#ccc`);return O([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)}),c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-1`,style:C({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-81c0af14`]]),ft=R(n({__name:`SlopeSlideTransition`,props:{stageTransition:{}},setup(e){let t=e,n=y(()=>t.stageTransition),r=y(()=>n.value?.primaryColor??`#666`),i=y(()=>n.value?.secondaryColor??`#ccc`);return c(()=>{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)=>(_(),A(`div`,{class:`stage-transition-2`,style:C({zIndex:n.value?.zIndex??100})},null,4))}}),[[`__scopeId`,`data-v-9e8b66c8`]]),pt=R(n({__name:`RectanglesRotateTransition`,props:{stageTransition:{}},setup(e){let t=e;return c(()=>{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)=>(_(),A(`div`,{class:`rectangle-rotate-transition`,style:C({zIndex:e.stageTransition?.zIndex??100})},[...n[0]||=[j(`div`,{class:`rectangle rectangle-rotate-1`},[j(`div`)],-1),j(`div`,{class:`rectangle rectangle-rotate-2`},[j(`div`)],-1),j(`div`,{class:`rectangle rectangle-rotate-3`},[j(`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=ue(),r=M(!1),i=M(),o=M(``),s=M(),c=h({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=M([]);function u(e){return l.value.push(e),()=>{let t=l.value.indexOf(e);t>=0&&l.value.splice(t,1)}}async function d(e,t={}){i.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 f(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,f=u(e=>{e===`navigation`&&!l&&(l=!0,t())});try{await d(`before-enter`,{transitionName:e.name}),r.value&&(await d(`before-leave`,{transitionName:o.value}),o.value=``,s.value=void 0,r.value=!1,await d(`after-leave`,{transitionName:o.value}),await new Promise(e=>setTimeout(e,50))),o.value=e.name,s.value=e,r.value=!0,await d(`enter-active`,{transitionName:name}),setTimeout(async()=>{await d(`navigation`,{transitionName:e.name,config:i}),l||(l=!0,t())},a),setTimeout(async()=>{await d(`after-enter`,{transitionName:e.name})},i.duration),setTimeout(async()=>{await d(`before-leave`,{transitionName:e.name})},i.duration+10),setTimeout(async()=>{await d(`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 d(`after-leave`,{transitionName:e.name}),n()},i.duration+c)}catch(e){console.error(e)}finally{f(),setTimeout(()=>{l||(l=!0,t())},i.duration*2)}}function p(e,t){return new Promise(n=>{f(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),p(i,r)}),(e,t)=>(_(),A(E,null,[D(e.$slots,`default`),r.value?(_(),A(E,{key:0},[c.value[o.value]?(_(),m(v(c.value[o.value].component),{key:0,"stage-transition":s.value},null,8,[`stage-transition`])):a(``,!0)],64)):a(``,!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],l(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`&&!l(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`&&!l(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`&&!l(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`&&!l(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=M(!1);return S(()=>{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,o=t,l=M(null),u=M(null),p=M(!1),h=M(!1),g=M(!1),b=M(!1),x=M(!1),w=M(0),te=M(0),k=M(n.toast.duration||n.duration||wt),re=M(null),N=M(null),ie=y(()=>n.index===0),ae=y(()=>n.index+1<=n.visibleToasts),P=y(()=>n.toast.type),F=y(()=>n.toast.dismissible!==!1),oe=y(()=>n.toast.class||``),se=y(()=>n.descriptionClass||``),I=y(()=>{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}),L=y(()=>{let e=n.toast.position||n.position;return n.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=I.value?e:e+t.height,0)}),ce=y(()=>I.value*n.gap+L.value||0),le=y(()=>n.toast.closeButton??n.closeButton),ue=y(()=>n.toast.duration||n.duration||wt),de=M(0),R=M(0),z=M(null),fe=y(()=>n.position.split(`-`)),pe=y(()=>fe.value[0]),me=y(()=>fe.value[1]),he=y(()=>typeof n.toast.title!=`string`),ge=y(()=>typeof n.toast.description!=`string`),{isDocumentHidden:_e}=kt(),ve=y(()=>P.value&&P.value===`loading`);c(()=>{p.value=!0,k.value=ue.value}),S(async()=>{if(!p.value||!N.value)return;await i();let e=N.value,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,te.value=r,o(`update:height`,{toastId:n.toast.id,height:r,position:n.toast.position||n.position})});function B(){h.value=!0,w.value=ce.value,setTimeout(()=>{o(`removeToast`,n.toast)},Ot)}function ye(){if(ve.value||!F.value)return{};B(),n.toast.onDismiss?.(n.toast)}function be(e){e.button!==2&&(ve.value||!F.value||(re.value=new Date,w.value=ce.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(g.value=!0,z.value={x:e.clientX,y:e.clientY})))}function xe(){if(b.value||!F.value)return;z.value=null;let e=Number(N.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(N.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-(re.value?.getTime()||0),i=l.value===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Dt||a>.11){w.value=ce.value,n.toast.onDismiss?.(n.toast),l.value===`x`?u.value=e>0?`right`:`left`:u.value=t>0?`down`:`up`,B(),b.value=!0;return}else N.value?.style.setProperty(`--swipe-amount-x`,`0px`),N.value?.style.setProperty(`--swipe-amount-y`,`0px`);x.value=!1,g.value=!1,l.value=null}function V(e){if(!z.value||!F.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-z.value.y,r=e.clientX-z.value.x,i=n.swipeDirections??At(n.position);!l.value&&(Math.abs(r)>1||Math.abs(t)>1)&&(l.value=Math.abs(r)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(l.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*o(t);a.y=Math.abs(e)0)a.x=r;else{let e=r*o(r);a.x=Math.abs(e)0||Math.abs(a.y)>0)&&(x.value=!0),N.value?.style.setProperty(`--swipe-amount-x`,`${a.x}px`),N.value?.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}c(()=>{if(p.value=!0,!N.value)return;let e=N.value.getBoundingClientRect().height;te.value=e,o(`update:heights`,[{toastId:n.toast.id,height:e,position:n.toast.position},...n.heights])}),ee(()=>{N.value&&o(`removeToast`,n.toast)}),S(e=>{if(n.toast.promise&&P.value===`loading`||n.toast.duration===1/0||n.toast.type===`loading`)return;let t;n.expanded||n.interacting||_e.value?(()=>{if(R.value{n.toast.onAutoClose?.(n.toast),B()},k.value)),e(()=>{clearTimeout(t)})}),O(()=>n.toast.delete,e=>{e!==void 0&&e&&(B(),n.toast.onDismiss?.(n.toast))},{deep:!0});function H(){g.value=!1,l.value=null,z.value=null}return(e,t)=>(_(),A(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:N,class:T(s($)(n.class,oe.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[P.value],e.toast?.classes?.[P.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":p.value,"data-promise":!!e.toast.promise,"data-swiped":x.value,"data-removed":h.value,"data-visible":ae.value,"data-y-position":pe.value,"data-x-position":me.value,"data-index":e.index,"data-front":ie.value,"data-swiping":g.value,"data-dismissible":F.value,"data-type":P.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":b.value,"data-swipe-direction":u.value,"data-expanded":!!(e.expanded||e.expandByDefault&&p.value),"data-testid":e.toast.testId,style:C({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${h.value?w.value:ce.value}px`,"--initial-height":e.expandByDefault?`auto`:`${te.value}px`,...e.style,...n.toast.style}),onDragend:H,onPointerdown:be,onPointerup:xe,onPointermove:V},[le.value&&!e.toast.component&&P.value!==`loading`?(_(),A(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":ve.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:T(s($)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:ye},[e.icons?.close?(_(),m(v(e.icons?.close),{key:0})):D(e.$slots,`close-icon`,{key:1})],10,Nt)):a(`v-if`,!0),e.toast.component?(_(),m(v(e.toast.component),ne({key:1},e.toast.componentProps,{onCloseToast:ye,isPaused:e.$props.expanded||e.$props.interacting||s(_e)}),null,16,[`isPaused`])):(_(),A(E,{key:2},[P.value!==`default`||e.toast.icon||e.toast.promise?(_(),A(`div`,{key:0,"data-icon":``,class:T(s($)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?(_(),m(v(e.toast.icon),{key:0})):(_(),A(E,{key:1},[P.value===`loading`?D(e.$slots,`loading-icon`,{key:0}):P.value===`success`?D(e.$slots,`success-icon`,{key:1}):P.value===`error`?D(e.$slots,`error-icon`,{key:2}):P.value===`warning`?D(e.$slots,`warning-icon`,{key:3}):P.value===`info`?D(e.$slots,`info-icon`,{key:4}):a(`v-if`,!0)],64))],2)):a(`v-if`,!0),j(`div`,{"data-content":``,class:T(s($)(e.classes?.content,e.toast?.classes?.content))},[j(`div`,{"data-title":``,class:T(s($)(e.classes?.title,e.toast.classes?.title))},[he.value?(_(),m(v(e.toast.title),r(ne({key:0},e.toast.componentProps)),null,16)):(_(),A(E,{key:1},[f(d(e.toast.title),1)],64))],2),e.toast.description?(_(),A(`div`,{key:0,"data-description":``,class:T(s($)(e.descriptionClass,se.value,e.classes?.description,e.toast.classes?.description))},[ge.value?(_(),m(v(e.toast.description),r(ne({key:0},e.toast.componentProps)),null,16)):(_(),A(E,{key:1},[f(d(e.toast.description),1)],64))],2)):a(`v-if`,!0)],2),e.toast.cancel?(_(),A(`button`,{key:1,style:C(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:T(s($)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:t[0]||=t=>{s(bt)(e.toast.cancel)&&F.value&&(e.toast.cancel.onClick?.(t),B())}},d(s(bt)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):a(`v-if`,!0),e.toast.action?(_(),A(`button`,{key:2,style:C(e.toast.actionButtonStyle||e.actionButtonStyle),class:T(s($)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:t[1]||=t=>{s(bt)(e.toast.action)&&(e.toast.action.onClick?.(t),!t.defaultPrevented&&B())}},d(s(bt)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):a(`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 _(),A(`svg`,Lt,t[0]||=[j(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),j(`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)=>(_(),A(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[j(`div`,Vt,[(_(!0),A(E,null,u(s(t),e=>(_(),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 _(),A(`svg`,Wt,t[0]||=[j(`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 _(),A(`svg`,Jt,t[0]||=[j(`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 _(),A(`svg`,Qt,t[0]||=[j(`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 _(),A(`svg`,nn,t[0]||=[j(`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=p(),r=M([]),o=y(()=>t.id?r.value.filter(e=>e.toasterId===t.id):r.value.filter(e=>!e.toasterId));function c(e,t){return o.value.filter(n=>!n.position&&t===0||n.position===e)}let l=y(()=>{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=y(()=>{let e={};return l.value.forEach(t=>{e[t]=r.value.filter(e=>e.position===t)}),e}),f=M([]),h=M({}),g=M(!1);S(()=>{l.value.forEach(e=>{e in h.value||(h.value[e]=!1)})});let ee=M(t.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t.theme),v=M(null),b=M(null),x=M(!1),te=t.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function O(e){r.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),r.value=r.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{r.value.find(t=>t.id===e.id)||(f.value=f.value.filter(t=>t.toastId!==e.id))},Ot+50)}function re(e){x.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(x.value=!1,b.value&&=(b.value.focus({preventScroll:!0}),null))}function N(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||x.value||(x.value=!0,b.value=e.relatedTarget)}function ie(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(g.value=!0)}S(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}i(()=>{let t=r.value.findIndex(t=>t.id===e.id);t===-1?r.value=[e,...r.value]:r.value=[...r.value.slice(0,t),{...r.value[t],...e},...r.value.slice(t+1)]})}))}),S(e=>{if(typeof window>`u`)return;if(t.theme!==`system`){ee.value=t.theme;return}let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{ee.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)}})}),S(()=>{v.value&&b.value&&(b.value.focus({preventScroll:!0}),b.value=null,x.value=!1)}),S(()=>{r.value.length<=1&&Object.keys(h.value).forEach(e=>{h.value[e]=!1})}),S(e=>{function n(e){let n=t.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(v.value)?v.value[0]:v.value;n&&(l.value.forEach(e=>{h.value[e]=!0}),r?.focus());let i=document.activeElement===v.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&l.value.forEach(e=>{h.value[e]=!1})}cn&&(document.addEventListener(`keydown`,n),e(()=>{document.removeEventListener(`keydown`,n)}))});function ae(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);h.value[n]=!0}function P(e){if(!g.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);h.value[n]=!1}}function F(){Object.keys(h.value).forEach(e=>{h.value[e]=!1})}function oe(){g.value=!1}function se(e){f.value=e}function I(e){let t=f.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)f.value[t]=e;else{let t=f.value.findIndex(t=>t.position===e.position);t===-1?f.value.unshift(e):f.value.splice(t,0,e)}}return(e,r)=>(_(),A(E,null,[a(` Remove item from normal navigation flow, only available via hotkey `),j(`section`,{"aria-label":`${e.containerAriaLabel} ${s(te)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(_(!0),A(E,null,u(l.value,(r,i)=>(_(),A(`ol`,ne({key:r,ref_for:!0,ref_key:`listRef`,ref:v,"data-sonner-toaster":``,"data-sonner-theme":ee.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":`${f.value[0]?.height||0}px`,"--width":`${s(Tt)}px`,"--gap":`${e.gap}px`,...e.style,...s(n).style,...s(jt)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:re,onFocus:N,onMouseenter:ae,onMousemove:ae,onMouseleave:P,onDragend:F,onPointerdown:ie,onPointerup:oe}),[(_(!0),A(E,null,u(c(r,i),(n,i)=>(_(),m(Pt,{key:n.id,heights:f.value,icons:e.icons,index:i,toast:n,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:T(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:g.value,position:r,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:C(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:h.value[r]||!1,swipeDirections:t.swipeDirections,"onUpdate:heights":se,"onUpdate:height":I,onRemoveToast:O},{"close-icon":k(()=>[D(e.$slots,`close-icon`,{},()=>[w(zt)])]),"loading-icon":k(()=>[D(e.$slots,`loading-icon`,{},()=>[w(Ht,{visible:n.type===`loading`},null,8,[`visible`])])]),"success-icon":k(()=>[D(e.$slots,`success-icon`,{},()=>[w(Kt)])]),"error-icon":k(()=>[D(e.$slots,`error-icon`,{},()=>[w(an)])]),"warning-icon":k(()=>[D(e.$slots,`warning-icon`,{},()=>[w(en)])]),"info-icon":k(()=>[D(e.$slots,`info-icon`,{},()=>[w(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=ae(`pwa`,()=>{M([]),fe(me).smaller(`md`),c(async()=>{})});var fn=n({__name:`App`,setup(e){dn();let t=B(),n=oe(),r=se(),i=P(r),a=ot(),{shouldShowSetup:o}=P(a),l=pe(),u=ge(),d=y(()=>l.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=y(()=>l.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=y(()=>l.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))`),h=y(()=>[d.value,f.value,p.value,l.value?`#121212`:`#FFFFFF`]);O(i.language,()=>{t.locale.value=i.language.value}),O(i.themeColorsHue,()=>{document.documentElement.style.setProperty(`--chromatic-hue`,i.themeColorsHue.value.toString())},{immediate:!0}),O(i.themeColorsHueDynamic,()=>{document.documentElement.classList.toggle(`dynamic-hue`,i.themeColorsHueDynamic.value)},{immediate:!0}),c(async()=>{a.initializeSetupCheck(),u.initialize(),await n.loadDisplayModelsFromIndexedDB(),await r.initializeStageModel()}),g(()=>{u.dispose()});function ee(){a.markSetupCompleted()}function x(){a.markSetupSkipped()}return(e,t)=>(_(),A(E,null,[w(s(mt),{"primary-color":d.value,"secondary-color":f.value,"tertiary-color":p.value,colors:h.value,"z-index":100,"disable-transitions":s(i).disableTransitions.value,"use-page-specific-transitions":s(i).usePageSpecificTransitions.value},{default:k(()=>[w(s(le),null,{default:k(({Component:e})=>[(_(),m(b,{include:[`IndexScenePage`,`StageScenePage`]},[(_(),m(v(e)))],1024))]),_:1})]),_:1},8,[`primary-color`,`secondary-color`,`tertiary-color`,`colors`,`disable-transitions`,`use-page-specific-transitions`]),w(s(ve),{onClose:t[0]||=e=>s(yt).dismiss(e)},{default:k(()=>[w(s(un))]),_:1}),w(s(_e),{modelValue:s(o),"onUpdate:modelValue":t[1]||=e=>te(o)?o.value=e:null,onConfigured:ee,onSkipped:x},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=ye({legacy:!1,locale:mn(),fallbackLocale:`en`,messages:ie});var gn=F(),_n=de({routes:it(at),history:ce()});_n.beforeEach((e,t)=>{e.path!==t.path&&be.default.start()}),_n.afterEach(()=>{be.default.done()}),x(fn).use(N).use(rt).use(_n).use(gn).use(hn).use(re).mount(`#app`);
\ No newline at end of file
diff --git a/assets/index-tts-vllm-B-GC_nyr.js b/assets/index-tts-vllm-CxdELf0w.js
similarity index 95%
rename from assets/index-tts-vllm-B-GC_nyr.js
rename to assets/index-tts-vllm-CxdELf0w.js
index 6221f0ceaab3050ed78d6e8c102f3232b7f42ecb..e357a15295d53c5a127e9be105e9ec580415a26a 100644
--- a/assets/index-tts-vllm-B-GC_nyr.js
+++ b/assets/index-tts-vllm-CxdELf0w.js
@@ -1 +1 @@
-import{A as e,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as l,c as u,f as d,l as f}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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]||[]);n(async()=>{await p.loadVoicesForProvider(m)}),s([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,n)=>(i(),r(t(u),{"provider-id":m,"default-model":h},{playground:c(()=>[o(t(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,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as l,c as u,f as d,l as f}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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]||[]);n(async()=>{await p.loadVoicesForProvider(m)}),s([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,n)=>(i(),r(t(u),{"provider-id":m,"default-model":h},{playground:c(()=>[o(t(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-FS42XMfn.js b/assets/lm-studio-DYk7J3aA.js
similarity index 93%
rename from assets/lm-studio-FS42XMfn.js
rename to assets/lm-studio-DYk7J3aA.js
index b733edf7c4b1477d75534ce052cb4badedb2d796..f671fa28c7fdd1773bbe59a1c586262382b9ef7e 100644
--- a/assets/lm-studio-FS42XMfn.js
+++ b/assets/lm-studio-DYk7J3aA.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,G as h,J as g,K as _,q as v}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./use-provider-validation-CxR943Dn.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=c({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,c)=>(s(),o(n(h),{"provider-name":n(E)?.localizedName,"provider-icon-color":n(E)?.iconColor,"on-back":()=>n(T).back()},{default:u(()=>[l(n(_),null,{default:u(()=>[l(n(v),{title:n(w)(`settings.pages.providers.common.section.basic.title`),description:n(w)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(A)},{default:u(()=>[l(n(g),{modelValue:C.value,"onUpdate:modelValue":c[0]||=e=>C.value=e,placeholder:`http://localhost:1234/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!n(O)&&n(D)===0&&n(k)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(w)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(k)?{name:`content`,fn:u(()=>[d(`div`,x,i(n(k)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(O)&&n(D)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,G as h,J as g,K as _,q as v}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./use-provider-validation-DdxESxz-.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=c({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,c)=>(s(),o(n(h),{"provider-name":n(E)?.localizedName,"provider-icon-color":n(E)?.iconColor,"on-back":()=>n(T).back()},{default:u(()=>[l(n(_),null,{default:u(()=>[l(n(v),{title:n(w)(`settings.pages.providers.common.section.basic.title`),description:n(w)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(A)},{default:u(()=>[l(n(g),{modelValue:C.value,"onUpdate:modelValue":c[0]||=e=>C.value=e,placeholder:`http://localhost:1234/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),!n(O)&&n(D)===0&&n(k)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(w)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(k)?{name:`content`,fn:u(()=>[d(`div`,x,i(n(k)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(O)&&n(D)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(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-DBadcc13.js b/assets/memory-BPMM_4CZ.js
similarity index 96%
rename from assets/memory-DBadcc13.js
rename to assets/memory-BPMM_4CZ.js
index ddba60250fdf4efba114383a44fbd8bd763ad398..d6e0948fbd95828f21976547e5a9db7fb6506b88 100644
--- a/assets/memory-DBadcc13.js
+++ b/assets/memory-BPMM_4CZ.js
@@ -1 +1 @@
-import{A as e,Dt as t,O as n,W as r,Y as i,ct as a,k as o,m as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{h as d}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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=i(`motion`);return r(),l(s,null,[u(`div`,null,[o(t(d),{label:`In development, needs your help!`,theme:`orange`},{default:c(()=>[...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})]),a((r(),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,Dt as t,O as n,W as r,Y as i,ct as a,k as o,m as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{h as d}from"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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=i(`motion`);return r(),l(s,null,[u(`div`,null,[o(t(d),{label:`In development, needs your help!`,theme:`orange`},{default:c(()=>[...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})]),a((r(),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-BZqYQmDn.js b/assets/messaging-discord-DVPd8_qu.js
similarity index 91%
rename from assets/messaging-discord-BZqYQmDn.js
rename to assets/messaging-discord-DVPd8_qu.js
index 461fa0f6bd51c9dbafd66ffd86e889b40d49bc3c..33cb01ff3830ff12c38fc9d694fdedfacddd07a6 100644
--- a/assets/messaging-discord-BZqYQmDn.js
+++ b/assets/messaging-discord-DVPd8_qu.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{wt as i}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(i)))}});typeof a==`function`&&a(o);var s=o;export{s as default};
\ No newline at end of file
+import{A as e,Dt as t,S as n,W as r}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{wt as i}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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)=>(r(),n(t(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-BnY6Ha2H.js b/assets/microsoft-speech-BkArPHEm.js
similarity index 98%
rename from assets/microsoft-speech-BnY6Ha2H.js
rename to assets/microsoft-speech-BkArPHEm.js
index 25abb63f4486809ea4409a117b426bd144bb55a3..56caaec346e284f76b50d2b422e2f8890129ee47 100644
--- a/assets/microsoft-speech-BnY6Ha2H.js
+++ b/assets/microsoft-speech-BkArPHEm.js
@@ -1 +1 @@
-import{A as e,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{c as d,o as f}from"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-DjrTbOCd.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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]||[]);n(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)}),s([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,n)=>(i(),r(t(h),{"provider-id":x,"default-model":S,"additional-settings":C},{"basic-settings":c(()=>[o(t(d),{modelValue:A.value,"onUpdate:modelValue":n[0]||=e=>A.value=e,label:t(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.label`),description:t(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(t(f),{modelValue:D.value,"onUpdate:modelValue":n[1]||=e=>D.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(f),{modelValue:O.value,"onUpdate:modelValue":n[2]||=e=>O.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(y)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(f),{modelValue:k.value,"onUpdate:modelValue":n[3]||=e=>k.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(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,Dt as t,H as n,S as r,W as i,b as a,k as o,rt as s,st as c,x as l,yt as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{c as d,o as f}from"./src-BEKjKq3V.js";import{I as p}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as m,c as h,f as g,l as _}from"./components-B304j5qu.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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]||[]);n(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)}),s([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,n)=>(i(),r(t(h),{"provider-id":x,"default-model":S,"additional-settings":C},{"basic-settings":c(()=>[o(t(d),{modelValue:A.value,"onUpdate:modelValue":n[0]||=e=>A.value=e,label:t(y)(`settings.pages.providers.provider.microsoft-speech.fields.field.region.label`),description:t(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(t(f),{modelValue:D.value,"onUpdate:modelValue":n[1]||=e=>D.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.pitch.label`),description:t(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(t(f),{modelValue:O.value,"onUpdate:modelValue":n[2]||=e=>O.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(y)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`]),o(t(f),{modelValue:k.value,"onUpdate:modelValue":n[3]||=e=>k.value=e,label:t(y)(`settings.pages.providers.provider.common.fields.field.volume.label`),description:t(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(t(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-DEjOEEC4.js b/assets/modules-CO3CaEmV.js
similarity index 98%
rename from assets/modules-DEjOEEC4.js
rename to assets/modules-CO3CaEmV.js
index 3f68d1dc0acf0e2e7d330b7a1fbdf55ee164ff97..4e04e2a9c1e469bc1767414b207bf1bff42f8109 100644
--- a/assets/modules-DEjOEEC4.js
+++ b/assets/modules-CO3CaEmV.js
@@ -1 +1 @@
-import{A as e,Dt as t,K as n,S as r,W as i,Y as a,b as o,ct as s,m as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ct as d,Dt as f,Pt as p,Q as m,Tt as h,kt as g,l as _}from"./components-DjrTbOCd.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./beat-sync-BT_vcvDk.js";function x(){let{t:e}=v(),t=m(),n=_(),r=h(),i=d(),a=f(),s=g(),c=b(),l=o(()=>[{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:r.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:i.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:a.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:o(()=>l.value.reduce((e,t)=>{let{category:n}=t;return e[n]||(e[n]=[]),e[n].push(t),e},{})),categoryNames:o(()=>({essential:e(`settings.pages.modules.categories.essential`),messaging:e(`settings.pages.modules.categories.messaging`),gaming:e(`settings.pages.modules.categories.gaming`)}))}}var S={grid:`~ cols-1 sm:cols-2 gap-4`},C={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":``},w=e({__name:`index`,setup(e){let{modulesList:o}=x();return(e,d)=>{let f=a(`motion`);return i(),l(c,null,[u(`div`,S,[(i(!0),l(c,null,n(t(o),(e,n)=>s((i(),r(t(p),{key:e.id,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250+n*10,delay:n*50,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,[`duration`,`delay`,`title`,`description`,`icon`,`icon-color`,`icon-image`,`to`,`configured`])),[[f]])),128))]),s((i(),l(`div`,C,[...d[0]||=[u(`div`,{text:`60`,"i-solar:layers-bold-duotone":``},null,-1)]])),[[f]])],64)}}});typeof y==`function`&&y(w);var T=w;export{T as default};
\ No newline at end of file
+import{A as e,Dt as t,K as n,S as r,W as i,Y as a,b as o,ct as s,m as c,w as l,x as u}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{Ct as d,Dt as f,Pt as p,Q as m,Tt as h,kt as g,l as _}from"./components-B304j5qu.js";import{n as v}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as y}from"./route-block-B7Ro39Uj.js";import{t as b}from"./beat-sync-BT_vcvDk.js";function x(){let{t:e}=v(),t=m(),n=_(),r=h(),i=d(),a=f(),s=g(),c=b(),l=o(()=>[{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:r.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:i.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:a.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:o(()=>l.value.reduce((e,t)=>{let{category:n}=t;return e[n]||(e[n]=[]),e[n].push(t),e},{})),categoryNames:o(()=>({essential:e(`settings.pages.modules.categories.essential`),messaging:e(`settings.pages.modules.categories.messaging`),gaming:e(`settings.pages.modules.categories.gaming`)}))}}var S={grid:`~ cols-1 sm:cols-2 gap-4`},C={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":``},w=e({__name:`index`,setup(e){let{modulesList:o}=x();return(e,d)=>{let f=a(`motion`);return i(),l(c,null,[u(`div`,S,[(i(!0),l(c,null,n(t(o),(e,n)=>s((i(),r(t(p),{key:e.id,initial:{opacity:0,y:10},enter:{opacity:1,y:0},duration:250+n*10,delay:n*50,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,[`duration`,`delay`,`title`,`description`,`icon`,`icon-color`,`icon-image`,`to`,`configured`])),[[f]])),128))]),s((i(),l(`div`,C,[...d[0]||=[u(`div`,{text:`60`,"i-solar:layers-bold-duotone":``},null,-1)]])),[[f]])],64)}}});typeof y==`function`&&y(w);var T=w;export{T as default};
\ No newline at end of file
diff --git a/assets/ollama-SMGC815X.js b/assets/ollama-D4JxXH1J.js
similarity index 96%
rename from assets/ollama-SMGC815X.js
rename to assets/ollama-D4JxXH1J.js
index 7525b74bdf59d33e55d41fdcdb536b1f64e8da29..6d888abd6d34211406c4523cbb1e6609f104dc8e 100644
--- a/assets/ollama-SMGC815X.js
+++ b/assets/ollama-D4JxXH1J.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,H as i,Mt as a,O as o,S as s,W as c,b as l,k as u,rt as d,st as f,x as p,yt as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as h}from"./widgets-Bwh_S8is.js";import{s as g}from"./src-BEKjKq3V.js";import{I as _}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as w}from"./route-block-B7Ro39Uj.js";import{t as T}from"./use-provider-validation-CxR943Dn.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))}d(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 d([k,L],B,{immediate:!0}),d(L,B,{deep:!0}),i(()=>{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,i)=>(c(),s(n(y),{"provider-name":n(M)?.localizedName,"provider-icon-color":n(M)?.iconColor,"on-back":()=>n(j).back()},{default:f(()=>[u(n(x),null,{default:f(()=>[u(n(C),{title:n(A)(`settings.pages.providers.common.section.basic.title`),description:n(A)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(I)},{default:f(()=>[u(n(b),{modelValue:k.value,"onUpdate:modelValue":i[0]||=e=>k.value=e,placeholder:`http://localhost:11434/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),u(n(S),{title:n(A)(`settings.pages.providers.common.section.advanced.title`)},{default:f(()=>[u(n(g),{modelValue:L.value,"onUpdate:modelValue":i[1]||=e=>L.value=e,label:n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.label`),description:n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.description`),"key-placeholder":n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.key.placeholder`),"value-placeholder":n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.value.placeholder`),onAdd:i[2]||=(e,t)=>R(L.value,e,t),onRemove:i[3]||=e=>z(e,L.value)},null,8,[`modelValue`,`label`,`description`,`key-placeholder`,`value-placeholder`])]),_:1},8,[`title`]),!n(P)&&n(N)===0&&n(F)?(c(),s(n(h),{key:0,type:`error`},r({title:f(()=>[o(a(n(A)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(F)?{name:`content`,fn:f(()=>[p(`div`,E,a(n(F)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(P)&&n(N)===0?(c(),s(n(h),{key:1,type:`success`},{title:f(()=>[o(a(n(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,Dt as n,E as r,H as i,Mt as a,O as o,S as s,W as c,b as l,k as u,rt as d,st as f,x as p,yt as m}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as h}from"./widgets-Bwh_S8is.js";import{s as g}from"./src-BEKjKq3V.js";import{I as _}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as w}from"./route-block-B7Ro39Uj.js";import{t as T}from"./use-provider-validation-DdxESxz-.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))}d(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 d([k,L],B,{immediate:!0}),d(L,B,{deep:!0}),i(()=>{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,i)=>(c(),s(n(y),{"provider-name":n(M)?.localizedName,"provider-icon-color":n(M)?.iconColor,"on-back":()=>n(j).back()},{default:f(()=>[u(n(x),null,{default:f(()=>[u(n(C),{title:n(A)(`settings.pages.providers.common.section.basic.title`),description:n(A)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(I)},{default:f(()=>[u(n(b),{modelValue:k.value,"onUpdate:modelValue":i[0]||=e=>k.value=e,placeholder:`http://localhost:11434/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`,`description`,`on-reset`]),u(n(S),{title:n(A)(`settings.pages.providers.common.section.advanced.title`)},{default:f(()=>[u(n(g),{modelValue:L.value,"onUpdate:modelValue":i[1]||=e=>L.value=e,label:n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.label`),description:n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.description`),"key-placeholder":n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.key.placeholder`),"value-placeholder":n(A)(`settings.pages.providers.common.section.advanced.fields.field.headers.value.placeholder`),onAdd:i[2]||=(e,t)=>R(L.value,e,t),onRemove:i[3]||=e=>z(e,L.value)},null,8,[`modelValue`,`label`,`description`,`key-placeholder`,`value-placeholder`])]),_:1},8,[`title`]),!n(P)&&n(N)===0&&n(F)?(c(),s(n(h),{key:0,type:`error`},r({title:f(()=>[o(a(n(A)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(F)?{name:`content`,fn:f(()=>[p(`div`,E,a(n(F)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(P)&&n(N)===0?(c(),s(n(h),{key:1,type:`success`},{title:f(()=>[o(a(n(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-C8YLtUSC.js b/assets/openai-audio-speech-C-cKlCc-.js
similarity index 96%
rename from assets/openai-audio-speech-C8YLtUSC.js
rename to assets/openai-audio-speech-C-cKlCc-.js
index b9b2a4ea101bb52cf9063c51aedd5e88f03691b8..368d4cc4fbba3644bd789134d6001ee27573b230 100644
--- a/assets/openai-audio-speech-C8YLtUSC.js
+++ b/assets/openai-audio-speech-C-cKlCc-.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r,b as i,k as a,rt as o,st as s,yt as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as l}from"./src-BEKjKq3V.js";import{I as u}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-DjrTbOCd.js";import{n as h}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 o(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,i)=>(r(),n(t(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(t(l),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,label:t(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(t(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,Dt as t,S as n,W as r,b as i,k as a,rt as o,st as s,yt as c}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import{o as l}from"./src-BEKjKq3V.js";import{I as u}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as d,c as f,f as p,l as m}from"./components-B304j5qu.js";import{n as h}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.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 o(C,async()=>{let e=y.getProviderConfig(_);e.speed=C.value}),(e,i)=>(r(),n(t(f),{"provider-id":_,"default-model":v,"additional-settings":S},{"voice-settings":s(()=>[a(t(l),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,label:t(x)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:t(x)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),playground:s(()=>[a(t(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-DBKMWkcN.js b/assets/openai-audio-transcription-Dgm6eWxM.js
similarity index 90%
rename from assets/openai-audio-transcription-DBKMWkcN.js
rename to assets/openai-audio-transcription-Dgm6eWxM.js
index 98e441acfffdbc36a22aec0931be68abe2ebf271..078a0b9eca592d94fe727979e11c505dccf7407b 100644
--- a/assets/openai-audio-transcription-DBKMWkcN.js
+++ b/assets/openai-audio-transcription-Dgm6eWxM.js
@@ -1 +1 @@
-import{A as e,Dt as t,S as n,W as r,b as i,k as a,st as o}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as s}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as c,a as l,i as u}from"./components-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as d}from"./route-block-B7Ro39Uj.js";import{n as f}from"./hearing-CeJAH5gC.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),_=i(()=>!!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,i)=>(r(),n(t(u),{"provider-id":p,"default-model":m},{playground:o(()=>[a(t(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,Dt as t,S as n,W as r,b as i,k as a,st as o}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./widgets-Bwh_S8is.js";import"./src-BEKjKq3V.js";import{I as s}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.js";import"./src-B2sntzra.js";import{$ as c,a as l,i as u}from"./components-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as d}from"./route-block-B7Ro39Uj.js";import{n as f}from"./hearing-46AQcWNz.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),_=i(()=>!!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,i)=>(r(),n(t(u),{"provider-id":p,"default-model":m},{playground:o(()=>[a(t(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-uugIB0--.js b/assets/openai-compatible-audio-speech-CiymZQ-c.js
similarity index 96%
rename from assets/openai-compatible-audio-speech-uugIB0--.js
rename to assets/openai-compatible-audio-speech-CiymZQ-c.js
index 4400b77edc4c0fd73de7605744af117ca7856e7c..ed8e8c38960d124d817da9f310c265ba40971c3c 100644
--- a/assets/openai-compatible-audio-speech-uugIB0--.js
+++ b/assets/openai-compatible-audio-speech-CiymZQ-c.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d,yt as f}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as p}from"./widgets-Bwh_S8is.js";import{o as m}from"./src-BEKjKq3V.js";import{I as h}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as T}from"./route-block-B7Ro39Uj.js";import{t as E}from"./use-provider-validation-CxR943Dn.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=c({get:()=>A.value[O]?.apiKey||``,set:e=>{A.value[O]&&(A.value[O].apiKey=e)}}),N=c({get:()=>A.value[O]?.baseUrl||``,set:e=>{A.value[O]&&(A.value[O].baseUrl=e)}}),P=c({get:()=>A.value[O]?.model||`tts-1`,set:e=>{A.value[O]&&(A.value[O].model=e)}}),F=c({get:()=>A.value[O]?.voice||`alloy`,set:e=>{A.value[O]&&(A.value[O].voice=e)}}),I=f(1),L=c(()=>!!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,c)=>(s(),o(n(_),{"provider-name":n(V)?.localizedName,"provider-icon-color":n(V)?.iconColor,"on-back":()=>n(B).back()},{default:u(()=>[l(n(y),null,{default:u(()=>[l(n(w),{title:n(z)(`settings.pages.providers.common.section.basic.title`),description:n(z)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(G)},{default:u(()=>[l(n(x),{modelValue:M.value,"onUpdate:modelValue":c[0]||=e=>M.value=e,required:!1,"provider-name":n(V)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(b),{title:n(z)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(v),{modelValue:N.value,"onUpdate:modelValue":c[1]||=e=>N.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`]),l(n(m),{modelValue:I.value,"onUpdate:modelValue":c[2]||=e=>I.value=e,label:n(z)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:n(z)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),_:1},8,[`title`]),!n(U)&&n(H)===0&&n(W)?(s(),o(n(p),{key:0,type:`error`},r({title:u(()=>[a(i(n(z)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(W)?{name:`content`,fn:u(()=>[d(`div`,D,i(n(W)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(U)&&n(H)===0?(s(),o(n(p),{key:1,type:`success`},{title:u(()=>[a(i(n(z)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(S),{"model-value":P.value,"onUpdate:modelValue":c[3]||=e=>P.value=e,voice:F.value,"onUpdate:voice":c[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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d,yt as f}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as p}from"./widgets-Bwh_S8is.js";import{o as m}from"./src-BEKjKq3V.js";import{I as h}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as T}from"./route-block-B7Ro39Uj.js";import{t as E}from"./use-provider-validation-DdxESxz-.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=c({get:()=>A.value[O]?.apiKey||``,set:e=>{A.value[O]&&(A.value[O].apiKey=e)}}),N=c({get:()=>A.value[O]?.baseUrl||``,set:e=>{A.value[O]&&(A.value[O].baseUrl=e)}}),P=c({get:()=>A.value[O]?.model||`tts-1`,set:e=>{A.value[O]&&(A.value[O].model=e)}}),F=c({get:()=>A.value[O]?.voice||`alloy`,set:e=>{A.value[O]&&(A.value[O].voice=e)}}),I=f(1),L=c(()=>!!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,c)=>(s(),o(n(_),{"provider-name":n(V)?.localizedName,"provider-icon-color":n(V)?.iconColor,"on-back":()=>n(B).back()},{default:u(()=>[l(n(y),null,{default:u(()=>[l(n(w),{title:n(z)(`settings.pages.providers.common.section.basic.title`),description:n(z)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(G)},{default:u(()=>[l(n(x),{modelValue:M.value,"onUpdate:modelValue":c[0]||=e=>M.value=e,required:!1,"provider-name":n(V)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(b),{title:n(z)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(v),{modelValue:N.value,"onUpdate:modelValue":c[1]||=e=>N.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`]),l(n(m),{modelValue:I.value,"onUpdate:modelValue":c[2]||=e=>I.value=e,label:n(z)(`settings.pages.providers.provider.common.fields.field.speed.label`),description:n(z)(`settings.pages.providers.provider.common.fields.field.speed.description`),min:.5,max:2,step:.01},null,8,[`modelValue`,`label`,`description`])]),_:1},8,[`title`]),!n(U)&&n(H)===0&&n(W)?(s(),o(n(p),{key:0,type:`error`},r({title:u(()=>[a(i(n(z)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(W)?{name:`content`,fn:u(()=>[d(`div`,D,i(n(W)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(U)&&n(H)===0?(s(),o(n(p),{key:1,type:`success`},{title:u(()=>[a(i(n(z)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(S),{"model-value":P.value,"onUpdate:modelValue":c[3]||=e=>P.value=e,voice:F.value,"onUpdate:voice":c[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-DFGuE9Eo.js b/assets/openai-compatible-audio-transcription-CakcN3lb.js
similarity index 94%
rename from assets/openai-compatible-audio-transcription-DFGuE9Eo.js
rename to assets/openai-compatible-audio-transcription-CakcN3lb.js
index a878aeb45a81adce4527150fbca9063ee4ad5865..86f63aaa1288b78862c943369a5838c678ffb707 100644
--- a/assets/openai-compatible-audio-transcription-DFGuE9Eo.js
+++ b/assets/openai-compatible-audio-transcription-CakcN3lb.js
@@ -1 +1 @@
-import{A as e,C as t,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import{c as p}from"./src-BEKjKq3V.js";import{I as m}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-DjrTbOCd.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-CeJAH5gC.js";import{t as T}from"./use-provider-validation-CxR943Dn.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=c({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=c({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=c({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=c(()=>!!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,c)=>(s(),o(n(g),{"provider-name":n(L)?.localizedName,"provider-icon-color":n(L)?.iconColor,"on-back":()=>n(I).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(S),{title:n(F)(`settings.pages.providers.common.section.basic.title`),description:n(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(V)},{default:u(()=>[l(n(b),{modelValue:A.value,"onUpdate:modelValue":c[0]||=e=>A.value=e,"provider-name":n(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),l(n(p),{modelValue:M.value,"onUpdate:modelValue":c[1]||=e=>M.value=e,label:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:j.value,"onUpdate:modelValue":c[2]||=e=>j.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`]),!n(z)&&n(R)===0&&n(B)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(B)?{name:`content`,fn:u(()=>[d(`div`,E,i(n(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(z)&&n(R)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(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,Dt as n,E as r,Mt as i,O as a,S as o,W as s,b as c,k as l,st as u,x as d}from"./vue.runtime.esm-bundler-BODQtTc2.js";import{d as f}from"./widgets-Bwh_S8is.js";import{c as p}from"./src-BEKjKq3V.js";import{I as m}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import"./vue-router-DbGkV_8v.js";import"./_plugin-vue_export-helper-CdbDUOI-.js";import"./dist-D-gzSpcr.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-B304j5qu.js";import"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import"./webgpu-Cl7aOF9V.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{t as C}from"./route-block-B7Ro39Uj.js";import{n as w}from"./hearing-46AQcWNz.js";import{t as T}from"./use-provider-validation-DdxESxz-.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=c({get:()=>k.value[D]?.apiKey||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].apiKey=e}}),j=c({get:()=>k.value[D]?.baseUrl||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].baseUrl=e}}),M=c({get:()=>k.value[D]?.model||``,set:e=>{k.value[D]||(k.value[D]={}),k.value[D].model=e}}),N=c(()=>!!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,c)=>(s(),o(n(g),{"provider-name":n(L)?.localizedName,"provider-icon-color":n(L)?.iconColor,"on-back":()=>n(I).back()},{default:u(()=>[l(n(v),null,{default:u(()=>[l(n(S),{title:n(F)(`settings.pages.providers.common.section.basic.title`),description:n(F)(`settings.pages.providers.common.section.basic.description`),"on-reset":n(V)},{default:u(()=>[l(n(b),{modelValue:A.value,"onUpdate:modelValue":c[0]||=e=>A.value=e,"provider-name":n(L)?.localizedName,placeholder:`sk-...`},null,8,[`modelValue`,`provider-name`]),l(n(p),{modelValue:M.value,"onUpdate:modelValue":c[1]||=e=>M.value=e,label:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_name`),placeholder:n(F)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.manual_model_placeholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),_:1},8,[`title`,`description`,`on-reset`]),l(n(y),{title:n(F)(`settings.pages.providers.common.section.advanced.title`)},{default:u(()=>[l(n(_),{modelValue:j.value,"onUpdate:modelValue":c[2]||=e=>j.value=e,placeholder:`https://api.openai.com/v1/`},null,8,[`modelValue`])]),_:1},8,[`title`]),!n(z)&&n(R)===0&&n(B)?(s(),o(n(f),{key:0,type:`error`},r({title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationFailed`)),1)]),_:2},[n(B)?{name:`content`,fn:u(()=>[d(`div`,E,i(n(B)),1)]),key:`0`}:void 0]),1024)):t(``,!0),n(z)&&n(R)===0?(s(),o(n(f),{key:1,type:`success`},{title:u(()=>[a(i(n(F)(`settings.dialogs.onboarding.validationSuccess`)),1)]),_:1})):t(``,!0)]),_:1}),l(n(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-BGi4ehBH.js b/assets/pages-CGOmNO4j.js
similarity index 98%
rename from assets/pages-BGi4ehBH.js
rename to assets/pages-CGOmNO4j.js
index 4555d02145616a90159ab9a633b3cdb1162acb59..459c595db97f0e8323d7ee255623e07d6529292f 100644
--- a/assets/pages-BGi4ehBH.js
+++ b/assets/pages-CGOmNO4j.js
@@ -1,3 +1,3 @@
-import{A as e,B as t,C as n,Dt as r,H as i,K as a,Mt as o,O as s,R as c,S as l,U as u,W as d,Y as f,b as p,ct as m,et as h,h as g,jt as _,k as v,kt as y,m as b,mt as x,n as S,nt as C,q as w,rt as T,st as E,w as D,x as O,yt as k}from"./vue.runtime.esm-bundler-BODQtTc2.js";import"./tres-DF-em7-4.js";import{A,D as j,O as M,k as N,u as P}from"./widgets-Bwh_S8is.js";import{a as F,n as I}from"./src-BEKjKq3V.js";import{D as L,I as R,n as z,r as B}from"./settings-DqmULHLB.js";import"./preload-helper-C_mzgxuZ.js";import{t as V}from"./vue-router-DbGkV_8v.js";import{t as H}from"./_plugin-vue_export-helper-CdbDUOI-.js";import{h as U,i as W,s as ee,t as G,v as te,y as ne}from"./dist-D-gzSpcr.js";import{t as re}from"./Basic-Brbs07_a.js";import"./src-B2sntzra.js";import{$ as ie,It as K,Q as ae,bt as q,ct as J,o as Y,ot as X,s as oe,st as Z,ut as se,yt as ce}from"./components-DjrTbOCd.js";import{n as Q}from"./vue-i18n.runtime-Asl2hnl1.js";import"./sleep-Cx_IPFyQ.js";import{r as le,t as ue}from"./theme-color-Q-wutQpj.js";import"./webgpu-Cl7aOF9V.js";import{n as $,t as de}from"./scenes-B_30nua7.js";import"./output-KkRq_Mb9.js";import"./__vite-browser-external-qSVDfb5s.js";import{n as fe,r as pe,t as me}from"./HeaderLink-XbkrhYnz.js";import"./transformers.web-rBhloxpP.js";import{t as he}from"./route-block-B7Ro39Uj.js";import{n as ge,o as _e}from"./src-dnC2lS-R.js";import"./beat-sync-BT_vcvDk.js";import"./import-url-browser-D1GlhyBB.js";import"./duckdb-mvp-Dg0vXvL4.js";import"./llmmarkerParser-DC1ErTJG.js";import"./index-CLFto6T2-BvgF6Su1.js";import"./core-XjfIgpxA.js";import"./airi-card-OVmLkj5R.js";import{t as ve}from"./hearing-CeJAH5gC.js";import{t as ye}from"./process.worklet-CP2S9aR2.js";import{t as be}from"./composables-BKSLif8D.js";function xe(e,t){let n=J(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 Se={},Ce={class:`cross-background-container`};function we(e,t){return d(),D(`div`,Ce,[w(e.$slots,`default`,{},void 0,!0)])}var Te=H(Se,[[`render`,we],[`__scopeId`,`data-v-455eb62c`]]),Ee={"mb-1":``,"w-full":``,"gap-2":``},De={"w-full":``},Oe=e({__name:`Header`,setup(e){return(e,t)=>(d(),D(`header`,Ee,[O(`div`,De,[v(me)]),v(r(V),{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:E(()=>[...t[0]||=[O(`div`,{"i-solar:settings-minimalistic-bold-duotone":``},null,-1)]]),_:1})]))}}),ke={py:`{requestAnimationFrame(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})})}return h(async()=>{await _()}),g(async()=>{await _()}),T(u,()=>{_()},{flush:`post`}),(e,h)=>{let g=f(`auto-animate`);return d(),D(`div`,ke,[h[4]||=O(`div`,{"flex-1":``},null,-1),m((d(),D(`div`,{ref_key:`chatHistoryRef`,ref:t,px:`(d(),D(`div`,{key:t,"mb-2":``},[e.role===`error`?(d(),D(`div`,Ae,[O(`div`,je,[O(`div`,Me,[O(`div`,Ne,[O(`span`,Pe,o(r(i)(`stage.chat.message.character-name.core-system`)),1)]),h[0]||=O(`div`,{"i-solar:danger-triangle-bold-duotone":``,"text-violet-500":``},null,-1)]),r(u)&&t===r(c).length-1?(d(),D(`div`,Fe)):(d(),l(r(K),{key:1,content:e.content,class:`break-words text-violet-500`,text:`base (d(),D(`div`,{key:t},[e.type===`tool-call`?(d(),D(`div`,Be,[O(`div`,Ve,[h[1]||=s(` Called: `,-1),O(`code`,null,o(e.toolCall.toolName),1)])])):e.type===`tool-call-result`?(d(),D(`div`,He)):(d(),l(r(K),{key:2,content:e.text},null,8,[`content`]))]))),128))])):t===r(c).length-1&&!e.content?(d(),D(`div`,Ue)):n(``,!0)])])):e.role===`user`?(d(),D(`div`,We,[O(`div`,Ge,[O(`div`,null,[O(`span`,Ke,o(r(i)(`stage.chat.message.character-name.you`)),1)]),e.content?(d(),l(r(K),{key:0,content:e.content,class:`break-words`,text:`base (d(),D(`div`,{key:t},[e.type===`tool-call`?(d(),D(`div`,Qe,[O(`div`,$e,[h[2]||=s(` Called: `,-1),O(`code`,null,o(e.toolCall.toolName),1)])])):e.type===`tool-call-result`?(d(),D(`div`,et)):(d(),l(r(K),{key:2,content:e.text},null,8,[`content`]))]))),128))])):(d(),D(`div`,tt))])])):n(``,!0)])),[[g]])])}}}),rt={width:`24`,height:`24`,viewBox:`0 0 256 256`,"aria-hidden":`true`},it={id:`micLevel`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},at=[`offset`],ot=[`offset`],st=e({__name:`IndicatorMicVolume`,props:{colorClass:{default:`text-primary-500 dark:text-primary-200`}},setup(e){let t=e,{stream:n,enabled:r}=R(B()),{audioContext:a}=R(L()),{startAnalyzer:o,stopAnalyzer:s,volumeLevel:c}=oe(),l,f=p(()=>Math.min(1,(c.value??0)/100));function m(){try{l?.disconnect()}catch{}l=void 0,s()}async function h(){if(m(),!r.value||!n.value)return;let e=a.value;e.state===`suspended`&&await e.resume();let t=o(e);t&&(l=e.createMediaStreamSource(n.value),l.connect(t))}return i(()=>{T([r,n],()=>h(),{immediate:!0})}),u(()=>m()),(e,n)=>(d(),D(`div`,{class:y([`flex items-center justify-center`,t.colorClass])},[(d(),D(`svg`,rt,[O(`defs`,null,[O(`linearGradient`,it,[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,at),O(`stop`,{offset:`${100-Math.round(f.value*100)}%`,"stop-color":`currentColor`,"stop-opacity":`0.95`},null,8,ot),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))}}),ct={flex:`col`,"items-center":``,"pt-4":``},lt={"h-full":``,"max-h":`[85vh]`,"w-full":``,py:`4`},ut={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":``},dt={h:`{e&&await m()}),T([s,c],async()=>{s.value&&c.value&&await I(c.value,await a.getProviderInstance(s.value),[])}),P(async()=>{t.value=``});let{startAnalyzer:ne,stopAnalyzer:K,volumeLevel:q}=oe(),J=p(()=>Math.min(1,Math.max(0,(q.value??0)/100))),Y;function X(){try{Y?.disconnect()}catch{}Y=void 0,K()}async function Z(){if(X(),!n.value||!h.value||!b.value)return;U.state===`suspended`&&await U.resume();let e=ne(U);e&&(Y=U.createMediaStreamSource(b.value),Y.connect(e))}return T([n,h,b],()=>{Z()},{immediate:!0}),u(()=>{X()}),(e,a)=>(d(),D(`div`,ct,[O(`div`,lt,[O(`div`,ut,[v(nt,{"h-full":``,"flex-1":``,w:`full`,"max-h":`t.value=e,placeholder:r(W)(`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":r(f)}),onSubmit:te,onCompositionstart:a[1]||=e=>i.value=!0,onCompositionend:a[2]||=e=>i.value=!1},null,8,[`modelValue`,`placeholder`,`class`]),O(`div`,null,[v(r(A),{"delay-duration":0,"skip-delay-duration":0},{default:E(()=>[v(r(N),{open:n.value,"onUpdate:open":a[5]||=e=>n.value=e},{default:E(()=>[v(r(j),{"as-child":``},{default:E(()=>[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:r(W)(`settings.hearing.title`)},[v(S,{name:`fade`,mode:`out-in`},{default:E(()=>[r(h)?(d(),l(st,{key:0})):(d(),D(`div`,mt))]),_:1})],8,pt)]),_:1}),v(S,{name:`fade`},{default:E(()=>[v(r(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:E(()=>[O(`div`,ht,[O(`div`,gt,[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`,r(h)?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`]),style:_({transform:`translate(-50%, -50%) scale(${1+J.value*.35})`,opacity:String(.25+J.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`,r(h)?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:_({transform:`translate(-50%, -50%) scale(${1.2+J.value*.55})`,opacity:String(.15+J.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`,r(h)?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:_({transform:`translate(-50%, -50%) scale(${1.5+J.value*.8})`,opacity:String(.08+J.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`,r(h)?`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:a[3]||=e=>h.value=!r(h)},[O(`div`,{class:y([r(h)?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),O(`p`,_t,o(r(h)?`Microphone enabled`:`Microphone disabled`),1)]),v(r(F),{modelValue:r(g),"onUpdate:modelValue":a[4]||=e=>x(g)?g.value=e:null,label:`Input device`,description:`Select the microphone you want to use.`,options:r(C).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})])])])])]),O(`div`,vt,[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:a[6]||=(...e)=>r(V)&&r(V)(...e)},[...a[8]||=[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:a[7]||=e=>G.value=!r(G)},[v(S,{name:`fade`,mode:`out-in`},{default:E(()=>[r(G)?(d(),D(`div`,yt)):(d(),D(`div`,bt))]),_:1})])])]))}}),St=[`src`],Ct=[`src`],wt=H(e({__name:`MobileHeaderLink`,setup(e){let t=ee();return(e,n)=>(d(),l(r(V),{to:`/`,flex:`~`,"items-center":``,"gap-2":``,"px-2":``,"text-nowrap":``,"text-2xl":``,"outline-none":``},{default:E(()=>[r(t)?(d(),D(`img`,{key:0,src:r(pe),"h-8":``,"w-8":``,class:`theme-colored`},null,8,St)):(d(),D(`img`,{key:1,src:r(fe),"h-8":``,"w-8":``,class:`theme-colored`},null,8,Ct))]),_:1}))}}),[[`__scopeId`,`data-v-9c3d67a4`]]),Tt={"mb-1":``,"w-full":``,"gap-2":``},Et={"w-full":``,flex:``,"justify-center":``},Dt=e({__name:`MobileHeader`,setup(e){return(e,t)=>(d(),D(`header`,Tt,[O(`div`,Et,[v(wt)])]))}}),Ot={flex:`~ col`,rounded:`lg`,"overflow-hidden":``},kt={key:0,flex:``,mr:`12`},At={flex:`~ col`,shadow:`sm violet-200/50 dark:none`,"min-w-20":``,"rounded-lg":``,"px-3":``,"py-2":``,h:`unset {t().then(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})}),p(async()=>{t().then(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})}),(e,t)=>{let u=f(`auto-animate`);return d(),D(`div`,Ot,[m((d(),D(`div`,{ref_key:`chatHistoryRef`,ref:i,"max-h":`35dvh`,"z-5":``,flex:`~ col`,"h-full":``,"w-full":``,"overflow-scroll":``,class:`chat-history`},[(d(!0),D(b,null,a(r(c),(e,i)=>(d(),D(`div`,{key:i,"mb-2":``},[e.role===`error`?(d(),D(`div`,kt,[O(`div`,At,[O(`div`,jt,[O(`div`,null,[O(`span`,Mt,o(r(s)(`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?(d(),l(r(K),{key:0,content:e.content,class:`break-words`,text:`base (d(),D(b,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:i[0]||=e=>t.value=!t.value},[...i[2]||=[O(`div`,{"i-solar:info-circle-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]]),v(r(q),{modelValue:t.value,"onUpdate:modelValue":i[1]||=e=>t.value=e},{default:E(()=>[O(`div`,Ut,[i[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`,Wt,[i[6]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Application build information `,-1),O(`div`,Gt,[i[3]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Branch `,-1),O(`div`,Kt,o(r(`main`)),1),i[4]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Commit `,-1),O(`div`,qt,o(r(`743c27685a`).substring(0,7)),1),i[5]||=O(`div`,{text:`neutral-500 dark:neutral-400`},` Built on `,-1),O(`div`,Jt,o(r(n)),1)])]),i[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))}}),Xt={"w-full":``,flex:``,"flex-1":``,"items-center":``,"self-end":``,"justify-end":``,"gap-2":``},Zt={key:0,"w-full":``,flex:``,"justify-between":``,"gap-2":``},Qt={key:0,"i-solar:tuning-outline":``,"size-5":``},$t={key:1,"i-solar:alt-arrow-right-outline":``,"size-5":``},en=H(e({__name:`ViewControls`,props:{modelValue:{required:!0},modelModifiers:{}},emits:c([`reset`],[`update:modelValue`]),setup(e,{emit:t}){let i=t,{stageModelRenderer:a,stageViewControlsEnabled:o}=R(z()),c=h(e,`modelValue`);function u(e){if(c.value===e){i(`reset`);return}c.value=e}return(e,t)=>(d(),D(`div`,Xt,[v(S,{name:`fade`},{default:E(()=>[r(o)?(d(),D(`div`,Zt,[v(r(P),{variant:`secondary-muted`,toggled:c.value===`x`,"w-full":``,onClick:t[0]||=e=>u(`x`)},{default:E(()=>[...t[5]||=[s(` X `,-1)]]),_:1},8,[`toggled`]),v(r(P),{variant:`secondary-muted`,toggled:c.value===`y`,"w-full":``,onClick:t[1]||=e=>u(`y`)},{default:E(()=>[...t[6]||=[s(` Y `,-1)]]),_:1},8,[`toggled`]),r(a)===`vrm`?(d(),l(r(P),{key:0,variant:`secondary-muted`,toggled:c.value===`z`,"w-full":``,onClick:t[2]||=e=>u(`z`)},{default:E(()=>[...t[7]||=[s(` Z `,-1)]]),_:1},8,[`toggled`])):n(``,!0),v(r(P),{variant:`secondary-muted`,toggled:c.value===`scale`,"w-full":``,onClick:t[3]||=e=>u(`scale`)},{default:E(()=>[...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=!r(o)},[v(S,{name:`fade`,mode:`out-in`},{default:E(()=>[r(o)?(d(),D(`div`,$t)):(d(),D(`div`,Qt))]),_:1})])]))}}),[[`__scopeId`,`data-v-4fe382a1`]]),tn={key:0},nn={key:0,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},rn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},an={key:1,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},on={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},sn={key:2,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},cn={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},ln={key:3,relative:``,class:`[&_.round-range-tooltip]:hover:opacity-100`},un={class:`round-range-tooltip`,top:`50%`,"translate-y":`[-50%]`,absolute:``,"left-10":``,"font-mono":``,"op-0":``,transition:`all duration-200 ease-in-out`},dn=H(e({__name:`Inputs`,props:{mode:{}},setup(e,{expose:t}){let i=e,{stageModelRenderer:a,stageViewControlsEnabled:s}=R(z()),{scale:c,modelOffset:u,modelSize:f}=R(ge()),{scale:m,position:h}=R(_e()),g=p({get:()=>{switch(a.value){case`live2d`:return h.value.x;case`vrm`:return u.value.x;default:return 0}},set:e=>{switch(a.value){case`live2d`:h.value.x=e;break;case`vrm`:u.value.x=e;break;default:break}}}),_=p(()=>a.value===`live2d`?-500:-f.value.x-10),y=p(()=>a.value===`vrm`?500:f.value.x+10),b=p({get:()=>{switch(a.value){case`live2d`:return h.value.y;case`vrm`:return u.value.y;default:return 0}},set:e=>{switch(a.value){case`live2d`:h.value.y=e;break;case`vrm`:u.value.y=e;break;default:break}}}),x=p(()=>a.value===`live2d`?-500:-f.value.y-10),C=p(()=>a.value===`vrm`?500:f.value.y+10),w=p({get:()=>{switch(a.value){case`live2d`:return 0;case`vrm`:return u.value.z;default:return 0}},set:e=>{switch(a.value){case`live2d`:break;case`vrm`:u.value.z=e;break;default:break}}}),T=p(()=>a.value===`live2d`?-500:-f.value.z-10),k=p(()=>a.value===`live2d`?500:f.value.z+10),A=p({get:()=>a.value===`live2d`?m.value:c.value,set:e=>{a.value===`live2d`?m.value=e:c.value=e}});function j(){switch(i.mode){case`x`:g.value=0;break;case`y`:b.value=0;break;case`z`:w.value=0;break;case`scale`:A.value=1;break}}return t({resetOnMode:j}),(e,t)=>(d(),l(S,{name:`fade-side-pops-in`},{default:E(()=>[r(s)?(d(),D(`div`,tn,[v(S,{name:`fade-side-pops-in`,mode:`out-in`},{default:E(()=>[i.mode===`x`?(d(),D(`div`,nn,[v(r(I),{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,min:_.value,max:y.value,step:.01,"data-direction":`vertical`,h:`50%`,"write-vertical-left":``},null,8,[`modelValue`,`min`,`max`]),O(`div`,rn,o(g.value.toFixed(2)),1)])):i.mode===`y`?(d(),D(`div`,an,[v(r(I),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,min:x.value,max:C.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),O(`div`,on,o(b.value.toFixed(2)),1)])):r(a)===`vrm`&&i.mode===`z`?(d(),D(`div`,sn,[v(r(I),{modelValue:w.value,"onUpdate:modelValue":t[2]||=e=>w.value=e,min:T.value,max:k.value,step:.01,"write-vertical-left":``,h:`50%`,"data-direction":`vertical`},null,8,[`modelValue`,`min`,`max`]),O(`div`,cn,o(w.value.toFixed(2)),1)])):i.mode===`scale`?(d(),D(`div`,ln,[v(r(I),{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`,un,o(A.value.toFixed(2)),1)])):n(``,!0)]),_:1})])):n(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-011f6495`]]),fn={fixed:``,"bottom-0":``,"w-full":``,flex:``,"flex-col":``},pn={relative:``,"w-full":``,"self-end":``},mn={top:`50%`,"translate-y":`[-50%]`,fixed:``,"z-15":``,"px-3":``},hn={"translate-y":`[-100%]`,absolute:``,"right-0":``,"w-full":``,"px-3":``,"pb-3":``,"font-sans":``},gn={flex:`~ col`,"w-full":``,"gap-1":``},_n={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`},vn={key:1,"i-solar:microphone-3-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},yn={key:0,"i-solar:moon-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},bn={key:1,"i-solar:sun-2-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},xn=e({__name:`MobileInteractiveArea`,setup(e){let t=ee({disableTransition:!1}),a=k(!1),o=k(`scale`),s=C(`viewControlsInputs`),c=k(``),f=k(!1),p=ne(),m=ie(),{activeProvider:h,activeModel:b}=R(ae());te(document.documentElement,()=>p.update());let{themeColorsHueDynamic:w,stageViewControlsEnabled:A}=R(z()),j=B(),{enabled:M,selectedAudioInput:N,stream:P,audioInputs:F}=R(j),{send:I,onAfterMessageComposed:H,discoverToolsCompatibility:U,cleanupMessages:W}=$(),{messages:G}=R($()),{t:K}=Q(),{audioContext:q}=L(),{startAnalyzer:J,stopAnalyzer:Y,volumeLevel:X}=oe(),Z;function se(){return/Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}async function le(){se()||await ue()}async function ue(){if(!(!c.value.trim()||f.value))try{let e=m.getProviderConfig(h.value);await I(c.value,{chatProvider:await m.getProviderInstance(h.value),model:b.value,providerConfig:e})}catch(e){G.value.pop(),G.value.push({role:`error`,content:e.message})}}function de(){try{Z?.disconnect()}catch{}Z=void 0,Y()}async function fe(){if(de(),!a.value||!M.value||!P.value)return;q.state===`suspended`&&await q.resume();let e=J(q);e&&(Z=q.createMediaStreamSource(P.value),Z.connect(e))}return T([a,M,P],()=>{fe()},{immediate:!0}),T(a,e=>{e&&j.askPermission()}),H(async()=>{c.value=``}),T([h,b],async()=>{h.value&&b.value&&await U(b.value,await m.getProviderInstance(h.value),[])}),u(()=>{de()}),i(()=>{p.update()}),(e,i)=>(d(),D(`div`,fn,[(d(),l(g,null,[v(S,{name:`fade`},{default:E(()=>[r(A)?n(``,!0):(d(),l(Ht,{key:0,"max-w":`[calc(100%-3.5rem)]`,"w-full":``,"self-start":``,"pl-3":``}))]),_:1})],1024)),O(`div`,pn,[O(`div`,mn,[v(dn,{ref:`viewControlsInputs`,mode:o.value},null,8,[`mode`])]),O(`div`,hn,[O(`div`,gn,[v(Yt),v(r(ce),{show:a.value,"onUpdate:show":i[0]||=e=>a.value=e,enabled:r(M),"onUpdate:enabled":i[1]||=e=>x(M)?M.value=e:null,"selected-audio-input":r(N),"onUpdate:selectedAudioInput":i[2]||=e=>x(N)?N.value=e:null,"audio-inputs":r(F),"volume-level":r(X),granted:!0},{default:E(()=>[O(`button`,_n,[v(S,{name:`fade`,mode:`out-in`},{default:E(()=>[r(M)?(d(),l(st,{key:0,"size-5":``,"color-class":`text-neutral-500 dark:text-neutral-400`})):(d(),D(`div`,vn))]),_: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:i[3]||=e=>t.value=!r(t)},[v(S,{name:`fade`,mode:`out-in`},{default:E(()=>[r(t)?(d(),D(`div`,yn)):(d(),D(`div`,bn))]),_:1})]),v(r(V),{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:E(()=>[...i[10]||=[O(`div`,{"i-solar:settings-outline":``,"size-5":``,text:`neutral-500 dark:neutral-400`},null,-1)]]),_:1}),v(en,{modelValue:o.value,"onUpdate:modelValue":i[4]||=e=>o.value=e,onReset:i[5]||=()=>s.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:i[6]||=(...e)=>r(W)&&r(W)(...e)},[...i[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:_({paddingBottom:`${Math.max(Number.parseFloat(r(p).bottom.value.replace(`px`,``)),12)}px`})},[v(r(re),{modelValue:c.value,"onUpdate:modelValue":i[7]||=e=>c.value=e,placeholder:r(K)(`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([r(w)?`transition-colors-none placeholder:transition-colors-none`:``]),"default-height":`1lh`,onSubmit:le,onCompositionstart:i[8]||=e=>f.value=!0,onCompositionend:i[9]||=e=>f.value=!1},null,8,[`modelValue`,`placeholder`,`class`]),c.value.trim()||f.value?(d(),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:ue},[...i[12]||=[O(`div`,{"i-solar:arrow-up-outline":``},null,-1)]])):n(``,!0)],4)])]))}}),Sn={class:`relative`},Cn={absolute:``,"left-0":``,"right-0":``,"top-0":``,"w-full":``,"overflow-hidden":``},wn=H(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),a=k(t.fillColor),o=k(t.direction),s=k(t.movementDirection);function c(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 l=p(()=>n.value+r.value*2),u=p(()=>{let e=`