0&&n.push({type:`text`,value:`
-`}),n}function my(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function hy(e,t){let n=ly(e,t),r=n.one(e,void 0),i=oy(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 gy(e,t){return e&&`run`in e?async function(n,r){let i=hy(n,{file:r,...t});await e.run(i,r)}:function(n,r){return hy(n,{file:r,...e||t})}}function _y(e){if(e)throw e}var vy=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={});ft.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 Sy=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=$_(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}};Sy.prototype.file=``,Sy.prototype.name=``,Sy.prototype.reason=``,Sy.prototype.message=``,Sy.prototype.stack=``,Sy.prototype.column=void 0,Sy.prototype.line=void 0,Sy.prototype.ancestors=void 0,Sy.prototype.cause=void 0,Sy.prototype.fatal=void 0,Sy.prototype.place=void 0,Sy.prototype.ruleId=void 0,Sy.prototype.source=void 0;const Cy={basename:wy,dirname:Ty,extname:Ey,join:Dy,sep:`/`};function wy(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);Ay(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 Ty(e){if(Ay(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 Ey(e){Ay(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 Dy(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function ky(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 Ay(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const jy={cwd:My};function My(){return`/`}function Ny(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function Py(e){if(typeof e==`string`)e=new URL(e);else if(!Ny(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 Fy(e)}function Fy(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];yy(o)&&yy(r)&&(r=(0,Uy.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function Ky(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function qy(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function Jy(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 Yy(e){if(!yy(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Xy(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Zy(e){return Qy(e)?e:new Ly(e)}function Qy(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function $y(e){return typeof e==`string`||eb(e)}function eb(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var tb=new Map,nb=/```(.{2,})\s/g;function rb(e){let t=e.matchAll(nb),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function ib(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return Gy().use(uv).use(vh).use(gy).use(Gm,{output:`mathml`}).use(cc,t).use(Km)}function ab(e){let t=[...e].sort().join(`,`);if(!tb.has(t)){let n=ib(e);tb.set(t,n)}return tb.get(t)}function ob(){let e=Gy().use(uv).use(vh).use(gy).use(Gm,{output:`mathml`}).use(Km);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=rb(t),r=new Set(n);return r.add(`python`),(await(await ab(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 sb=[`innerHTML`],cb=Le(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=j(``),{process:r,processSync:i}=ob();async function a(){if(!t.content){n.value=``;return}try{n.value=it.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=it.sanitize(i(t.content))}}return te(()=>t.content,a,{immediate:!0}),y(()=>{a()}),(e,r)=>(f(),k(`div`,{class:T([t.class,`markdown-content`]),innerHTML:n.value},null,10,sb))}}),[[`__scopeId`,`data-v-abd97585`]]),lb={"z-1":``,"flex-1":``},ub={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},db={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},fb=Le(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=b(`RouterLink`);return f(),v(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:O(()=>[A(`div`,lb,[A(`div`,ub,g(e.title),1),A(`div`,db,[A(`span`,null,g(e.description),1)])]),typeof e.icon==`string`?(f(),k(`div`,{key:0,class:T([`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?x(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),pb={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":``},mb={"z-1":``,"flex-1":``},hb={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},gb={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},_b=[`src`],vb={"p-2":``},yb={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},bb={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},xb=Le(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=b(`RouterLink`);return f(),k(`div`,pb,[E(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:O(()=>[A(`div`,mb,[A(`div`,hb,g(t.title),1),A(`div`,gb,[A(`span`,null,g(t.description||``),1)])]),t.icon?(f(),k(`div`,{key:0,class:T([`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?(f(),k(`div`,{key:1,class:T([`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?(f(),k(`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,_b)):a(``,!0)]),_:1},8,[`to`]),A(`div`,vb,[t.configured?(f(),k(`div`,yb)):(f(),k(`div`,bb))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),Sb=[`checked`,`name`,`value`],Cb={class:`relative mr-3 mt-0.5 flex-shrink-0`},wb={class:`w-full flex flex-col gap-2`},Tb={class:`flex items-center`},Eb={key:0,class:`relative`},Db=[`title`],Ob={key:1,class:`mt-2`},kb=Le(r({__name:`RadioCardDetail`,props:_({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=oe(e,`modelValue`),n=j(!1);function r(){n.value=!n.value}return(i,o)=>(f(),k(`label`,{key:e.id,class:T([`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`},[ue(A(`input`,{"onUpdate:modelValue":o[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,Sb),[[le,t.value]]),A(`div`,Cb,[A(`div`,{class:T([`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`]])},[A(`div`,{class:T([`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)]),A(`div`,wb,[A(`div`,Tb,[A(`span`,{class:T([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.title),3)]),e.description?(f(),k(`div`,Eb,[E(D(fe),null,{default:O(()=>[!n.value||!e.showExpandCollapse?(f(),k(`div`,{key:0,class:T([`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:w(r,[`prevent`])},g(e.description),11,Db)):(f(),k(`div`,{key:1,class:T([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:w(r,[`prevent`])},g(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(f(),k(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:w(r,[`prevent`])},[A(`span`,null,g(n.value?`Show less`:`Show more`),1),A(`div`,{class:T([{"rotate-180":n.value},`transition-transform duration-200`])},[...o[2]||=[A(`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?(f(),k(`div`,Ob,[E(D(Se),{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0)])],2))}}),[[`__scopeId`,`data-v-a2eb6bd0`]]),Ab={class:`flex items-center gap-1.5 font-medium`},jb={key:0,class:`px-1 text-sm`},Mb=r({__name:`Alert`,props:{type:{}},setup(e){let t=e,n=ce(),r=C(()=>{switch(t.type){case`error`:return`border-red-200 bg-red-50 dark:border-red-800/30 dark:bg-red-900/20`;case`warning`:return`border-amber-200 bg-amber-50 dark:border-amber-800/30 dark:bg-amber-900/20`;case`success`:return`border-green-200 bg-green-50 dark:border-green-800/30 text-green-700 dark:bg-green-900/30 dark:text-green-300`;case`info`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`;case`loading`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`}return``}),i=C(()=>{switch(t.type){case`error`:return`i-solar:close-circle-bold-duotone text-red-500 dark:text-red-400`;case`warning`:return`i-solar:danger-circle-bold-duotone text-amber-500 dark:text-amber-400`;case`success`:return`i-solar:check-circle-bold-duotone text-green-500 dark:text-green-400`;case`info`:return`i-solar:info-circle-bold-duotone text-blue-500 dark:text-blue-400`;case`loading`:return`i-svg-spinners:3-dots-fade text-blue-500 dark:text-blue-400`}return``}),o=C(()=>{switch(t.type){case`error`:return`text-red-500 dark:text-red-400`;case`warning`:return`text-amber-500 dark:text-amber-400`;case`success`:return`text-green-500 dark:text-green-400`;case`info`:return`text-blue-500 dark:text-blue-400`;case`loading`:return`text-blue-500 dark:text-blue-400`}return``});return(e,t)=>(f(),k(`div`,{class:T([`flex flex-col gap-3 border-2 rounded-xl border-solid p-2`,r.value])},[A(`div`,Ab,[A(`div`,{class:T([`text-2xl`,i.value])},null,2),A(`div`,{class:T(o.value)},[x(e.$slots,`title`)],2)]),D(n).content?(f(),k(`div`,jb,[x(e.$slots,`content`)])):a(``,!0)],2))}}),Nb={class:`radio-card-detail-many-select`},Pb={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},Fb=[`placeholder`],Ib={class:`mt-4 space-y-2`},Lb={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},Rb={class:`relative`},zb=Le(r({__name:`RadioCardManySelect`,props:_({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:_([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=oe(e,`modelValue`),o=oe(e,`searchQuery`),s=j(!1),c=j(``),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)=>(f(),k(`div`,Nb,[e.searchable?(f(),k(`div`,Pb,[r[4]||=A(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[A(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),ue(A(`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,Fb),[[re,o.value]])])):a(``,!0),A(`div`,Ib,[o.value?(f(),k(`div`,Lb,g(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(f(),v(Mb,{key:1,type:`warning`},{title:O(()=>[m(g(e.searchNoResultsTitle),1)]),content:O(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),A(`div`,Rb,[A(`div`,{class:T([`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`}},[(f(!0),k(ie,null,d(l.value,t=>(f(),v(kb,{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),A(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:T([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[A(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:T([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},[A(`span`,null,g(s.value?e.collapseButtonText:e.expandButtonText),1),A(`div`,{class:T([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`]]),Bb=[`checked`,`name`,`value`],Vb={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},Hb=Le(r({__name:`RadioCardSimple`,props:_({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=oe(e,`modelValue`);return(n,r)=>(f(),k(`label`,{key:e.id,border:`2px solid`,class:T([`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":``},[ue(A(`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,Bb),[[le,t.value]]),r[1]||=A(`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`},[A(`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),A(`div`,Vb,[A(`span`,{class:T([`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`},g(e.title),3),e.description?(f(),k(`span`,{key:0,class:T([`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`},g(e.description),3)):a(``,!0)]),r[2]||=A(`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`]]),Ub={class:`p-3`},Wb={class:`flex items-start`},Gb=[`checked`,`name`,`value`],Kb={class:`relative mr-3 mt-0.5 flex-shrink-0`},qb={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},Jb={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},Yb={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`},Xb={class:`flex-1 cursor-pointer`},Zb={class:`flex items-center`},Qb={key:0,class:`mt-1 flex flex-wrap gap-1`},$b={key:1,class:`mt-3`},ex={relative:``},tx={key:0,class:`h-16 px-3 pb-2`},nx=Le(r({__name:`VoiceCard`,props:_({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:_([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=oe(e,`voice-id`),o=oe(e,`custom-voice-name`);function s(e){return e.previewURL||e.preview_audio_url}function c(e){let t=[];if(e.labels?.gender&&t.push(e.labels.gender),e.labels?.age&&t.push(e.labels.age),e.labels?.accent&&t.push(e.labels.accent),e.languages&&e.languages.length>0){let n=e.languages.map(e=>e.name).join(`, `);t.push(n)}return t}function l(){r(`togglePlayback`,n.voice)}return(t,r)=>(f(),k(`label`,{border:`2px solid`,class:T([`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`},[A(`div`,Ub,[A(`div`,Wb,[ue(A(`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,Gb),[[le,i.value]]),A(`div`,Kb,[A(`div`,{class:T([`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`]])},[A(`div`,{class:T([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[i.value===n.voice.id?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),s(e.voice)?(f(),k(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:T([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:l},[e.currentlyPlayingId===e.voice.id?(f(),k(`div`,qb)):(f(),k(`div`,Jb))],2)):(f(),k(`div`,Yb,` No preview available. You can select it and test voice on the right experiment. `)),A(`div`,Xb,[A(`div`,Zb,[A(`span`,{class:T([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.voice.name),3)]),c(e.voice).length>0?(f(),k(`div`,Qb,[(f(!0),k(ie,null,d(c(e.voice),(t,n)=>(f(),k(`span`,{key:n,class:T([`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`]])},g(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(f(),k(`div`,$b,[E(D(Se),{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e.voice.description?(f(),k(`div`,{key:2,class:T([`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`]])},g(e.voice.description),3)):a(``,!0)])])]),A(`div`,ex,[E(D(fe),null,{default:O(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(f(),k(`div`,tx,[E(D(mt),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:O(({frequencies:t})=>[E(D(_t),{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`]]),rx={class:`voice-preview-player`},ix={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},ax=[`placeholder`],ox={class:`mt-4 space-y-2`},sx={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},cx={class:`relative`},lx=Le(r({__name:`VoiceCardManySelect`,props:_({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=j(!1),r=j(),i=j(new Map),o=j(new Map),s=j(new Map),c=j(new Map),l=j(null);function p(){return l.value||=new(window.AudioContext||window.webkitAudioContext),l.value}let h=oe(e,`search-query`),_=oe(e,`voice-id`),y=C(()=>{if(!h.value)return t.voices;let e=h.value.toLowerCase();return t.voices.filter(t=>{let n=t.name.toLowerCase().includes(e),r=t.description&&t.description.toLowerCase().includes(e),i=t.tags&&t.tags.some(t=>t.toLowerCase().includes(e)),a=t.labels&&Object.values(t.labels).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)),o=t.languages&&t.languages.some(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e));return n||r||i||a||o})});function b(e){return e.previewURL||e.preview_audio_url}function x(e){let t=b(e);if(!t)return null;if(i.value.has(e.id))return i.value.get(e.id)||null;let n=new Audio(t);return n.crossOrigin=`anonymous`,n.preload=`auto`,n.addEventListener(`ended`,()=>{if(r.value===e.id){r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id))}}),i.value.set(e.id,n),n}function S(e,t){try{if(o.value.has(t))return o.value.get(t)||null;let n=p();if(c.value.has(t)){let e=c.value.get(t),r=n.createMediaStreamDestination();e.connect(r);let i=r.stream;return o.value.set(t,i),i}let r=n.createMediaElementSource(e);c.value.set(t,r),r.connect(n.destination);let i=n.createMediaStreamDestination();r.connect(i);let a=i.stream;return o.value.set(t,a),a}catch(e){return console.error(`Failed to create audio stream for visualizer:`,e),null}}function ee(e){try{if(!b(e))return;let n=x(e);if(!n)return;if(r.value===e.id){n.pause(),r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id));return}if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value))}t.showVisualizer&&!o.value.has(e.id)&&S(n,e.id),n.currentTime=0,n.play().catch(e=>{console.error(`Failed to play audio:`,e)}),r.value=e.id}catch(e){console.error(e),r.value=void 0}}function w(){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}te(h,()=>{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}}),u(w);let ne=j(``);return(i,s)=>(f(),k(`div`,rx,[e.searchable?(f(),k(`div`,ix,[s[4]||=A(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[A(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),ue(A(`input`,{"onUpdate:modelValue":s[0]||=e=>h.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,ax),[[re,h.value]])])):a(``,!0),A(`div`,ox,[h.value?(f(),k(`div`,sx,g(e.searchResultsText.replace(`{count}`,y.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),h.value&&y.value.length===0?(f(),v(Mb,{key:1,type:`warning`},{title:O(()=>[m(g(e.searchNoResultsTitle),1)]),content:O(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,h.value)),1)]),_:1})):a(``,!0),A(`div`,cx,[A(`div`,{class:T([`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`}},[!h.value&&y.value.length===0?(f(),v(Mb,{key:0,type:`warning`},{title:O(()=>[m(g(e.unsupportedVoiceWarningTitle),1)]),content:O(()=>[m(g(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(f(!0),k(ie,null,d(y.value,t=>(f(),v(nx,{key:t.id,"voice-id":_.value,"onUpdate:voiceId":s[1]||=e=>_.value=e,"custom-voice-name":ne.value,"onUpdate:customVoiceName":s[2]||=e=>ne.value=e,name:`voice`,voice:t,"currently-playing-id":r.value,"custom-input-placeholder":e.customInputPlaceholder,"show-visualizer":e.showVisualizer,"audio-stream":o.value.get(t.id),onTogglePlayback:ee},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),A(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:T([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[A(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:T([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},[A(`span`,null,g(n.value?e.collapseButtonText:e.expandButtonText),1),A(`div`,{class:T([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`]]),ux={class:`whitespace-pre-wrap break-all`},dx=r({__name:`ErrorContainer`,props:{title:{},error:{}},setup(e){return(t,n)=>(f(),v(Mb,{type:`error`},o({title:O(()=>[m(g(e.title),1)]),_:2},[e.error?{name:`content`,fn:O(()=>[A(`pre`,ux,g(String(e.error)),1)]),key:`0`}:void 0]),1024))}}),fx=Le(r({__name:`Skeleton`,props:{animation:{default:`pulse`}},setup(e){let t=e;return(e,n)=>(f(),k(`div`,{class:T([`skeleton`,t.animation===`none`?``:`skeleton-${t.animation}`]),bg:`neutral-200 dark:neutral-800`,overflow:`hidden`},[x(e.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5397c83a`]]),px={flex:`~ col`,"gap-3":``,"rounded-lg":``,border:`2 orange-200 dark:orange-800`,bg:`orange-50 dark:orange-950/30`,"p-6":``},mx={flex:``,"items-center":``,"gap-2":``,text:`orange-600 dark:orange-400`},hx={"text-lg":``,"font-semibold":``},gx={text:`sm neutral-700 dark:neutral-300`},_x=r({__name:`WIP`,setup(e){let{t}=at();return(e,n)=>(f(),k(`div`,px,[A(`div`,mx,[n[0]||=A(`div`,{"i-solar:usb-circle-bold-duotone":``,"text-xl":``},null,-1),A(`h2`,hx,g(D(t)(`settings.wip.title`)),1)]),A(`p`,gx,g(D(t)(`settings.wip.description`)),1)]))}});function vx(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 yx={flex:`~ col gap-6`},bx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},xx=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=at(),{enabled:r,serverAddress:i,serverPort:o,username:s,configured:c}=Oe(t.store),l=vx(o);function u(){t.store.saveSettings()}return(t,o)=>(f(),k(`div`,yx,[E(D(we),{modelValue:D(r),"onUpdate:modelValue":o[0]||=e=>ne(r)?r.value=e:null,label:D(n)(`${e.i18nKeyPrefix}.enable`),description:D(n)(`${e.i18nKeyPrefix}.enable-description`)},null,8,[`modelValue`,`label`,`description`]),E(D(xe),{modelValue:D(i),"onUpdate:modelValue":o[1]||=e=>ne(i)?i.value=e:null,label:D(n)(`${e.i18nKeyPrefix}.server-address`),description:D(n)(`${e.i18nKeyPrefix}.server-address-description`),placeholder:D(n)(`${e.i18nKeyPrefix}.server-address-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),E(D(xe),{modelValue:D(l),"onUpdate:modelValue":o[2]||=e=>ne(l)?l.value=e:null,type:`number`,min:1,max:65535,step:1,label:D(n)(`${e.i18nKeyPrefix}.server-port`),description:D(n)(`${e.i18nKeyPrefix}.server-port-description`)},null,8,[`modelValue`,`label`,`description`]),E(D(xe),{modelValue:D(s),"onUpdate:modelValue":o[3]||=e=>ne(s)?s.value=e:null,label:D(n)(`${e.i18nKeyPrefix}.username`),description:D(n)(`${e.i18nKeyPrefix}.username-description`),placeholder:D(n)(`${e.i18nKeyPrefix}.username-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),A(`div`,null,[E(D(Te),{label:D(n)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),D(c)?(f(),k(`div`,bx,g(D(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),Sx=globalThis.WebSocket,Cx=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},wx=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 Cx)return;this.opts.onError?.(e),await ot(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 Cx(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new Sx(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 Tx=De(`mods:channels:proj-airi:server`,()=>{let e=j(!1),t=j(),n=j(null),r=j([]);function i(r){if(e.value&&t.value)return Promise.resolve();if(n.value)return n.value;let i=Array.from(new Set([`ui:configure`,`context:update`,...r?.possibleEvents??[]]));return n.value=new Promise((o,c)=>{t.value=new wx({name:`proj-airi:ui:stage`,url:`ws://localhost:6121/ws`,token:r?.token,possibleEvents:i,onError:r=>{t.value=void 0,e.value=!1,n.value=null,c(r)},onClose:()=>{e.value=!1,n.value=null}}),t.value.onEvent(`module:authenticated`,t=>{if(t.data.authenticated){e.value=!0,s(),a(),o();return}e.value=!1})}),n.value}function a(){t.value}function o(a){!t.value&&!n.value&&i(),t.value&&e.value?t.value.send(a):r.value.push(a)}function s(){if(t.value&&e.value){for(let e of r.value)t.value.send(e);r.value=[]}}function c(e){return!t.value&&!n.value&&i(),t.value?.onEvent(`context:update`,e),()=>{t.value?.offEvent(`context:update`,e)}}function l(e){o({type:`context:update`,data:e})}function u(){s(),t.value?.close(),e.value=!1,t.value=void 0,n.value=null}return{connected:e,initialize:i,send:o,sendContextUpdate:l,onContextUpdate:c,dispose:u}}),Ex=De(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=Tx();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function Dx(e,t){return De(e,()=>{let n=Ex(),r=Ue(`settings/${e}/enabled`,!1),i=Ue(`settings/${e}/server-address`,``),a=Ue(`settings/${e}/server-port`,t),o=Ue(`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 Ox=Dx(`factorio`,34197);var kx=r({__name:`GamingFactorio`,setup(e){let t=Ox();return(e,n)=>(f(),v(xx,{store:D(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const Ax=Dx(`minecraft`,25565);var jx=r({__name:`GamingMinecraft`,setup(e){let t=Ax();return(e,n)=>(f(),v(xx,{store:D(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const Mx=De(`discord`,()=>{let e=Ex(),t=Ue(`settings/discord/enabled`,!1),n=Ue(`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 Nx={flex:`~ col gap-6`},Px={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},Fx=r({__name:`MessagingDiscord`,setup(e){let{t}=at(),n=Mx(),{enabled:r,token:i,configured:o}=Oe(n);function s(){n.saveSettings()}return(e,n)=>(f(),k(`div`,Nx,[E(D(we),{modelValue:D(r),"onUpdate:modelValue":n[0]||=e=>ne(r)?r.value=e:null,label:D(t)(`settings.pages.modules.messaging-discord.enable`),description:D(t)(`settings.pages.modules.messaging-discord.enable-description`)},null,8,[`modelValue`,`label`,`description`]),E(D(xe),{modelValue:D(i),"onUpdate:modelValue":n[1]||=e=>ne(i)?i.value=e:null,type:`password`,label:D(t)(`settings.pages.modules.messaging-discord.token`),description:D(t)(`settings.pages.modules.messaging-discord.token-description`),placeholder:D(t)(`settings.pages.modules.messaging-discord.token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),A(`div`,null,[E(D(Te),{label:D(t)(`settings.common.save`),variant:`primary`,onClick:s},null,8,[`label`])]),D(o)?(f(),k(`div`,Px,g(D(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const Ix=De(`twitter`,()=>{let e=Ex(),t=Ue(`settings/twitter/enabled`,!1),n=Ue(`settings/twitter/api-key`,``),r=Ue(`settings/twitter/api-secret`,``),i=Ue(`settings/twitter/access-token`,``),a=Ue(`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 Lx={flex:`~ col gap-6`},Rx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},zx=r({__name:`X`,setup(e){let{t}=at(),n=Ix(),{enabled:r,apiKey:i,apiSecret:o,accessToken:s,accessTokenSecret:c,configured:l}=Oe(n);function u(){n.saveSettings()}return(e,n)=>(f(),k(`div`,Lx,[E(D(we),{modelValue:D(r),"onUpdate:modelValue":n[0]||=e=>ne(r)?r.value=e:null,label:D(t)(`settings.pages.modules.x.enable`),description:D(t)(`settings.pages.modules.x.enable-description`)},null,8,[`modelValue`,`label`,`description`]),E(D(xe),{modelValue:D(i),"onUpdate:modelValue":n[1]||=e=>ne(i)?i.value=e:null,type:`password`,label:D(t)(`settings.pages.modules.x.api-key`),description:D(t)(`settings.pages.modules.x.api-key-description`),placeholder:D(t)(`settings.pages.modules.x.api-key-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),E(D(xe),{modelValue:D(o),"onUpdate:modelValue":n[2]||=e=>ne(o)?o.value=e:null,type:`password`,label:D(t)(`settings.pages.modules.x.api-secret`),description:D(t)(`settings.pages.modules.x.api-secret-description`),placeholder:D(t)(`settings.pages.modules.x.api-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),E(D(xe),{modelValue:D(s),"onUpdate:modelValue":n[3]||=e=>ne(s)?s.value=e:null,type:`password`,label:D(t)(`settings.pages.modules.x.access-token`),description:D(t)(`settings.pages.modules.x.access-token-description`),placeholder:D(t)(`settings.pages.modules.x.access-token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),E(D(xe),{modelValue:D(c),"onUpdate:modelValue":n[4]||=e=>ne(c)?c.value=e:null,type:`password`,label:D(t)(`settings.pages.modules.x.access-token-secret`),description:D(t)(`settings.pages.modules.x.access-token-secret-description`),placeholder:D(t)(`settings.pages.modules.x.access-token-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),A(`div`,null,[E(D(Te),{label:D(t)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),D(l)?(f(),k(`div`,Rx,g(D(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),Bx=Le(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=j(null),r=j(``),i=j(`50% 50%`),a=j(`50% 50%`),o=j(.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 y(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(f(),k(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:p({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[x(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),Vx=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=oe(e,`modelValue`),n=Ke(`(min-width: 768px)`),r=Ye();return Je(document.documentElement,()=>r.update()),y(()=>r.update()),(e,i)=>D(n)?(f(),v(D(Me),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:O(()=>[x(e.$slots,`trigger`),E(D(Ie),null,{default:O(()=>[E(D(Ne),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),E(D(je),{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:O(()=>[x(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(D(pe),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:O(()=>[E(D(Ie),null,{default:O(()=>[E(D(_e),{class:`fixed inset-0`}),E(D(ve),{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:p({paddingBottom:`${Math.max(Number.parseFloat(D(r).bottom.value.replace(`px`,``)),24)}px`})},{default:O(()=>[E(D(ge)),x(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),Hx={class:`space-y-2`},Ux={class:`flex flex-col items-center justify-center py-2`},Wx={class:`relative h-28 w-28 select-none`},Gx={key:0,class:`mt-3 w-full`},Kx={class:`mt-3 w-full`},qx=r({__name:`hearing-config`,props:_({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=oe(e,`enabled`),r=oe(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,o)=>(f(),k(`div`,Hx,[A(`div`,Ux,[A(`div`,Wx,[A(`div`,{class:T([`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:p({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),A(`div`,{class:T([`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:p({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),A(`div`,{class:T([`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:p({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),A(`button`,{class:T([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,[t.enabled?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]]),onClick:o[0]||=()=>n.value=!n.value},[A(`div`,{class:T([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),o[3]||=A(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(f(),k(`div`,Gx,[E(ye,{theme:`orange`,label:`Microphone permission required`},{default:O(()=>[...o[2]||=[A(`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})]))]),A(`div`,Kx,[E(D(be),{modelValue:r.value,"onUpdate:modelValue":o[1]||=e=>r.value=e,label:`Input device`,description:`Select the microphone you want to use.`,options:t.audioInputs.map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),placeholder:`Select microphone`,layout:`vertical`},null,8,[`modelValue`,`options`])])]))}}),Jx=r({__name:`hearing-config-dialog`,props:_({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=oe(e,`show`),r=oe(e,`selectedAudioInput`),i=oe(e,`enabled`),a=Ke(`(min-width: 768px)`),o=Ye();return Je(document.documentElement,()=>o.update()),y(()=>o.update()),(e,s)=>D(a)?(f(),v(D(Me),{key:0,open:n.value,"onUpdate:open":s[2]||=e=>n.value=e},{default:O(()=>[E(D(me),{"as-child":``},{default:O(()=>[x(e.$slots,`default`)]),_:3}),E(D(Ie),null,{default:O(()=>[E(D(Ne),{class:T([[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`]),E(D(je),{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:O(()=>[E(D(Ee),null,{default:O(()=>[E(D(Pe),null,{default:O(()=>[...s[6]||=[m(`Hearing Input`,-1)]]),_:1})]),_:1}),E(qx,{enabled:i.value,"onUpdate:enabled":s[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[1]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(D(pe),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":s[5]||=e=>n.value=e},{default:O(()=>[E(D(me),{"as-child":``},{default:O(()=>[x(e.$slots,`default`)]),_:3}),E(D(Ie),null,{default:O(()=>[E(D(_e),{class:`fixed inset-0`}),E(D(ve),{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:p({paddingBottom:`${Math.max(Number.parseFloat(D(o).bottom.value.replace(`px`,``)),24)}px`})},{default:O(()=>[E(D(ge),{"my-2":``}),E(qx,{enabled:i.value,"onUpdate:enabled":s[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[4]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}});const Yx=Symbol(`onboarding-context`);var Xx={"h-full":``,flex:``,"flex-col":``,"gap-4":``},Zx={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},Qx={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},$x={"flex-1":``},eS={class:`whitespace-pre-wrap break-all`},tS=r({__name:`step-model-selection`,setup(e){let{t}=at(),n=c(Yx),{activeModel:r,modelSearchQuery:i,providerModels:a,isLoadingActiveProviderModels:o}=Oe(tt());return(e,s)=>(f(),k(`div`,Xx,[A(`div`,Zx,[A(`button`,{"outline-none":``,onClick:s[0]||=(...e)=>D(n).handlePreviousStep&&D(n).handlePreviousStep(...e)},[...s[3]||=[A(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),A(`h2`,Qx,g(D(t)(`settings.dialogs.onboarding.select-model`)),1),s[4]||=A(`div`,{"h-5":``,"w-5":``},null,-1)]),A(`div`,$x,[D(a).length>0?(f(),v(D(zb),{key:0,modelValue:D(r),"onUpdate:modelValue":s[1]||=e=>ne(r)?r.value=e:null,"search-query":D(i),"onUpdate:searchQuery":s[2]||=e=>ne(i)?i.value=e:null,items:D(a).toSorted((e,t)=>e.id===D(r)?-1:t.id===D(r)?1:0),searchable:!0,"search-placeholder":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:D(i)}),"search-results-text":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":D(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"list-class":`max-h-[calc(100dvh-17rem)] sm:max-h-120`},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):(f(),v(Mb,{key:1,type:`error`},{title:O(()=>[m(g(D(t)(`settings.dialogs.onboarding.no-models`)),1)]),content:O(()=>[A(`div`,eS,g(D(t)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),E(D(Te),{variant:`primary`,disabled:!D(r),loading:D(o),label:D(t)(`settings.dialogs.onboarding.saveAndContinue`),onClick:D(n).handleSave},null,8,[`disabled`,`loading`,`label`,`onClick`])]))}}),nS=r({__name:`ProviderAccountIdInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=oe(e,`modelValue`);return(e,r)=>(f(),v(D(xe),{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`]))}}),rS=[`onClick`],iS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},aS={"mt-4":``},oS=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=j(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(f(),v(he,{"w-full":``},{trigger:O(t=>[A(`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()},[A(`h2`,iS,[A(`span`,null,g(e.title||`Advanced`),1)]),A(`div`,{transform:``,transition:`transform duration-250`,class:T({"rotate-180":t.visible})},[...r[0]||=[A(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,rS)]),default:O(()=>[A(`div`,aS,[x(t.$slots,`default`)])]),_:3}))}}),sS=r({__name:`ProviderApiKeyInput`,props:_({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=at(),r=oe(e,`modelValue`),i=C(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(f(),v(D(xe),{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,label:e.label||D(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`]))}}),cS=r({__name:`ProviderBaseUrlInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=oe(e,`modelValue`);return(e,r)=>(f(),v(D(xe),{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`]))}}),lS={flex:`~ col gap-6`},uS={flex:`~ row`,"items-center":``,"justify-between":``},dS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},fS={text:`neutral-400 dark:neutral-500`},pS=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(f(),k(`div`,lS,[A(`div`,uS,[A(`div`,null,[A(`h2`,dS,g(e.title||`Basic`),1),A(`div`,fS,[A(`span`,null,g(e.description||`Essential settings`),1)])]),e.onReset?(f(),k(`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]||=[A(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),x(t.$slots,`default`)]))}}),mS={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},hS=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(f(),k(`div`,mS,[x(e.$slots,`default`)]))}}),gS={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":``},_S=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=S(`motion`);return f(),k(ie,null,[x(t.$slots,`default`),ue((f(),k(`div`,gS,[A(`div`,{text:`60`,class:T(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}});function vS(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 yS(){let e;return{stream:new ReadableStream({start(t){e=t}}),controller:e}}function bS(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function xS(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(;;){bS(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)bS(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){bS(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 SS=``;var CS=new Set(`??!!`),wS=new Set(`.。??!!…⋯~~
- \r`),TS=new Set(`,,、–—::;;《》「」`);async function*ES(e,t){let{boost:n=2,minimumWords:r=4,maximumWords:i=12}=t??{},a=xS(typeof e==`string`?new ReadableStream({start(t){t.enqueue(new TextEncoder().encode(e)),t.close()}}).getReader():e),o=new Intl.Segmenter(void 0,{granularity:`word`}),s=0,c=``,l=``,u=0,d,f=await a.next();for(;!f.done;){let e=f.value;if(e.length>1){d=e,f=await a.next();continue}let t=e===``,p=e===``,m=wS.has(e),h=TS.has(e),g=CS.has(e),_,v;if(t||p||m||h){switch(e){case`.`:case`,`:if(d!==void 0&&/\d/.test(d)){if(_=await a.next(),!_.done&&_.value&&/\d/.test(_.value)){c+=e,f=_,_=void 0;continue}}else e===`.`&&(_=await a.next(),!_.done&&_.value&&_.value===`.`&&(v=await a.next(),!v.done&&v.value&&v.value===`.`&&(e=`…`,_=void 0,v=void 0)))}if(c.length===0){p&&(yield{text:``,words:0,reason:`special`},s++,u=0),d=e,f=await a.next();continue}let h=[...o.segment(c)].filter(e=>e.isWordLike);u>r&&u+h.length>i&&(yield{text:g?l.trim()+e:l.trim(),words:u,reason:`limit`},s++,l=``,u=0),l+=c+e,u+=h.length,c=``,p?(yield{text:l.slice(0,-1).trim(),words:u,reason:`special`},s++,l=``,u=0):(t||m||u>i||si?`limit`:`boost`},s++,l=``,u=0),d=e,_===void 0?f=await a.next():v===void 0?(f=_,_=void 0):(f=v,_=void 0,v=void 0);continue}c+=e,d=e,_=await a.next(),f=_}console.debug(`while loop ends, chunk/buffer:`,l,c),(l.length>0||c.length>0)&&(yield{text:(l+c).trim(),words:u+[...o.segment(c)].filter(e=>e.isWordLike).length,reason:`flush`})}async function DS(e,t,n){let r=e=>e.replaceAll(``,``).replaceAll(``,``).trim();try{for await(let i of ES(e))if(i.reason===`special`){let e=t.shift();await n({chunk:r(i.text),special:e??null})}else await n({chunk:r(i.text),special:null})}catch(e){console.error(`Error chunking stream to TTS queue:`,e)}}function OS(e){function t(e){for(let t of Fe)if(e.includes(t))return{ok:!0,emotion:t};return{ok:!1,emotion:``}}return vS({handlers:[async n=>{if(Fe.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 kS(){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 vS({handlers:[async t=>{let{ok:n,delay:r}=e(t.data);n&&(t.emit(`delay`,r),await ot(r*1e3))}]})}const AS=De(`pipelines:character:speech`,()=>{let e=j([]),t=j([]);function n(t){e.value.push(t)}function r(e){t.value.push(e)}let i=de(),a=de(),o=de();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=j(ze(()=>vS({handlers:[n=>new Promise(r=>{if(l(),!a.value){r();return}let s=a.value.createBufferSource();s.buffer=n.data.audioBuffer,s.connect(a.value.destination),s.connect(o.value);for(let t of e.value)t({text:n.data.text});i.value=s,s.start(0),s.onended=()=>{if(n.data.special)for(let e of t.value)e({special:n.data.special});i.value===s&&(i.value=void 0),r()}})]})));function d(){u.value.clear()}function f(){l(),d()}return{onPlaybackStarted:n,onPlaybackFinished:r,connectAudioContext:s,connectAudioAnalyser:c,clearPlaying:l,clearQueue:d,clearAll:f,currentAudioSource:i,playbackQueue:u}}),jS=De(`pipelines:workflows:text-segmentation`,()=>{let e=j([]);function t(t){e.value.push(t)}function n(){e.value=[]}return{onTextSegmented:t,clearHooks:n,textSegmentationQueue:j(ze(()=>{let t=j(),n=j(),r=new TextEncoder,{stream:i,controller:a}=yS();t.value=i,n.value=a;let o=[];return DS(i.getReader(),o,async t=>{for(let n of e.value)await n(t)}),vS({handlers:[async e=>{e.data.type===`literal`?a.enqueue(r.encode(e.data.value)):(o.push(e.data.value),a.enqueue(r.encode(``)))}]})}))}});var MS={flex:`~ row`,"gap-4":``},NS={flex:`~ col gap-2 items-start`,"py-4":``},PS={"ml-1":``},FS={key:0,tag:`div`,flex:`~ row items-center gap-1`,"text-sm":``},IS=r({__name:`SpeechStreamingPlayground`,props:{text:{},generateSpeech:{type:Function},voice:{}},setup(e){let t=e,{onTextSegmented:n}=jS(),{textSegmentationQueue:r}=Oe(jS()),{audioContext:i}=ct(),o=j(!1),s=j([]),c=j(-1),l=vS({handlers:[e=>new Promise(t=>{let n=i.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(i.destination),o.value=!0,n.start(0),n.onended=()=>{o.value=!1,t()}})]});async function u(e){c.value++;try{let n=e.data,r=await t.generateSpeech(n,t.voice,!1),a=await i.decodeAudioData(r);l.enqueue({audioBuffer:a,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let p=vS({handlers:[u]});n(e=>{p.enqueue(e.chunk)});async function m(){r.value.enqueue({type:`literal`,value:t.text})}async function h(){let e=[],n=new ReadableStream({start(e){e.enqueue(new TextEncoder().encode(t.text)),e.close()}});for await(let t of ES(n.getReader(),{boost:1,minimumWords:4,maximumWords:12}))e.push(t);s.value=e}return(e,t)=>(f(),k(ie,null,[t[4]||=A(`div`,{class:`flex items-center gap-1 text-sm font-medium`},` Streaming Playground `,-1),A(`div`,MS,[A(`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:h},[...t[1]||=[A(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[A(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),A(`span`,null,`Test chunking`)],-1)]]),s.value.length>0?(f(),k(`button`,{key:0,border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:m},[...t[2]||=[A(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[A(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),A(`span`,null,`Test streaming`)],-1)]])):a(``,!0)]),A(`div`,NS,[(f(!0),k(ie,null,d(s.value,(e,n)=>(f(),k(`div`,{key:n,flex:`~ row gap-2 items-center`},[A(`div`,{flex:`~ row gap-2 items-center`,"rounded-xl":``,"px-2":``,"py-1.5":``,class:T({"bg-neutral-100 dark:bg-neutral-800":c.value=n})},[A(`span`,PS,g(e.text),1),A(`span`,{"rounded-full":``,"px-2":``,"py-.5":``,"text-nowrap":``,"text-xs":``,b:`~ dashed`,class:T({"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`})},g(e.words)+` words, `+g(e.reason),3)],2),E(ae,{css:!1,onEnter:t[0]||=e=>D(st)(e,{opacity:[0,1],translateX:[10,0],duration:200,ease:`inOut`})},{default:O(()=>[c.value>=n?(f(),k(`div`,FS,[...t[3]||=[A(`div`,{"i-solar-check-circle-line-duotone":``},null,-1),A(`div`,null,`Queued`,-1)]])):a(``,!0)]),_:2},1024)]))),128))])],64))}}),LS={"w-full":``,"rounded-xl":``},RS={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},zS={class:`inline-flex items-center gap-4`},BS={flex:`~ col gap-4`},VS=[`placeholder`],HS=[`placeholder`],US={flex:`~ row`,"gap-4":``},WS=[`disabled`],GS={flex:`~ row`,"items-center":``,"gap-2":``},KS={flex:`~ row`,"items-center":``,"gap-2":``},qS={key:2,class:`mt-2 text-sm text-red-500`},JS={key:3,class:`mt-2 text-sm text-red-500`},YS={key:4,class:`mt-2 text-sm text-red-500`},XS=[`src`],ZS=r({__name:`SpeechPlayground`,props:{defaultText:{},availableVoices:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:r}=at(),i=j(n.defaultText||`Hello! This is a test of the voice synthesis.`),o=j(!1),s=j(``),c=j(``),u=j(null),d=j(!1),p=j(``),m=j(``);te(()=>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 _(){if(!(!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value)){o.value=!0,c.value=``;try{s.value&&v();let e=d.value?p.value:i.value,t=await n.generateSpeech(e,m.value,d.value);s.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{u.value&&u.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),c.value=e instanceof Error?e.message:`An unknown error occurred`}finally{o.value=!1}}}function v(){u.value&&(u.value.pause(),u.value.currentTime=0),s.value&&=(URL.revokeObjectURL(s.value),``)}return l(()=>{s.value&&URL.revokeObjectURL(s.value)}),t({testText:i,ssmlText:p,useSSML:d,selectedVoice:m,isGenerating:o,audioUrl:s,errorMessage:c,audioPlayer:u,generateTestSpeech:_,stopTestAudio:v}),(t,n)=>(f(),k(`div`,LS,[A(`h2`,RS,[A(`div`,zS,[E(D(Tt)),A(`div`,null,g(D(r)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),A(`div`,BS,[E(D(we),{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,label:D(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:D(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),d.value?ue((f(),k(`textarea`,{key:1,"onUpdate:modelValue":n[2]||=e=>p.value=e,placeholder:D(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,HS)),[[re,p.value]]):ue((f(),k(`textarea`,{key:0,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:D(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,VS)),[[re,i.value]]),E(D(be),{modelValue:m.value,"onUpdate:modelValue":n[3]||=e=>m.value=e,class:`[&>div]:grid [&>div]:grid-cols-[4fr_2fr]`,options:h.value,label:D(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.label`),description:D(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.description`),layout:`horizontal`},null,8,[`modelValue`,`options`,`label`,`description`]),A(`div`,US,[A(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured,class:T({"opacity-50 cursor-not-allowed":o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:_},[A(`div`,GS,[n[4]||=A(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),A(`span`,null,g(o.value?D(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):D(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,WS),s.value?(f(),k(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:v},[A(`div`,KS,[n[5]||=A(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),A(`span`,null,g(D(r)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),k(`div`,qS,g(D(r)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?a(``,!0):(f(),k(`div`,JS,g(D(r)(`settings.pages.modules.speech.sections.section.playground.select-voice.required`)),1)),c.value?(f(),k(`div`,YS,g(c.value),1)):a(``,!0),s.value?(f(),k(`audio`,{key:5,ref_key:`audioPlayer`,ref:u,src:s.value,controls:``,class:`mt-2 w-full`},null,8,XS)):a(``,!0),E(IS,{text:i.value,voice:m.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)]))}}),QS={"w-full":``,"rounded-xl":``},$S={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},eC={class:`inline-flex items-center gap-4`},tC={flex:`~ col gap-4`},nC=[`placeholder`],rC=[`placeholder`],iC={flex:`~ row`,"gap-4":``},aC=[`disabled`],oC={flex:`~ row`,"items-center":``,"gap-2":``},sC={flex:`~ row`,"items-center":``,"gap-2":``},cC={key:2,class:`mt-2 text-sm text-red-500`},lC={key:3,class:`mt-2 text-sm text-red-500`},uC=[`src`],dC=r({__name:`SpeechPlaygroundOpenAICompatible`,props:{defaultText:{},modelValue:{},voice:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},emits:[`update:modelValue`,`update:voice`],setup(e,{expose:t,emit:n}){let r=e,i=n,{t:o}=at(),s=C({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),c=C({get:()=>r.voice,set:e=>i(`update:voice`,e)}),u=j(r.defaultText||`Hello! This is a test of the voice synthesis.`),d=j(!1),p=j(``),m=j(``),h=j(null),_=j(!1),v=j(``);async function y(){if(!(!u.value.trim()&&!_.value||_.value&&!v.value.trim())){d.value=!0,m.value=``;try{p.value&&S();let e=_.value?v.value:u.value,t=await r.generateSpeech(e,c.value,_.value,s.value);p.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{h.value&&h.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),m.value=e instanceof Error?e.message:`An unknown error occurred`}finally{d.value=!1}}}function S(){h.value&&(h.value.pause(),h.value.currentTime=0),p.value&&=(URL.revokeObjectURL(p.value),``)}return l(()=>{p.value&&URL.revokeObjectURL(p.value)}),t({testText:u,ssmlText:v,useSSML:_,isGenerating:d,audioUrl:p,errorMessage:m,audioPlayer:h,generateTestSpeech:y,stopTestAudio:S}),(t,n)=>{let r=b(`SpeechStreamingPlayground`);return f(),k(`div`,QS,[A(`h2`,$S,[A(`div`,eC,[E(D(Tt)),A(`div`,null,g(D(o)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),A(`div`,tC,[E(D(xe),{modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,label:`Model ID`,placeholder:`tts-1`},null,8,[`modelValue`]),E(D(xe),{modelValue:c.value,"onUpdate:modelValue":n[1]||=e=>c.value=e,label:`Voice`,placeholder:`alloy`},null,8,[`modelValue`]),E(D(we),{modelValue:_.value,"onUpdate:modelValue":n[2]||=e=>_.value=e,label:D(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:D(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),_.value?ue((f(),k(`textarea`,{key:1,"onUpdate:modelValue":n[4]||=e=>v.value=e,placeholder:D(o)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,rC)),[[re,v.value]]):ue((f(),k(`textarea`,{key:0,"onUpdate:modelValue":n[3]||=e=>u.value=e,placeholder:D(o)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,nC)),[[re,u.value]]),A(`div`,iC,[A(`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:d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured,class:T({"opacity-50 cursor-not-allowed":d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:y},[A(`div`,oC,[n[5]||=A(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),A(`span`,null,g(d.value?D(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):D(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,aC),p.value?(f(),k(`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},[A(`div`,sC,[n[6]||=A(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),A(`span`,null,g(D(o)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),k(`div`,cC,g(D(o)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?(f(),k(`div`,lC,g(m.value),1)):a(``,!0),p.value?(f(),k(`audio`,{key:4,ref_key:`audioPlayer`,ref:h,src:p.value,controls:``,class:`mt-2 w-full`},null,8,uC)):a(``,!0),E(r,{text:u.value,voice:c.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)])}}}),fC={flex:`~ col md:row gap-6`},pC={flex:`~ col gap-6`},mC={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},hC={flex:`~ col gap-4`},gC={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},_C={"w-full":``,"rounded-xl":``},vC=r({__name:`SpeechProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=at(),r=Ae(),i=$e(),a=nt(),{providers:o}=Oe(i),s=C(()=>i.getProviderMetadata(t.providerId)),c=C({get:()=>o.value[t.providerId]?.apiKey||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].apiKey=e}}),l=C({get:()=>o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].baseUrl=e}}),u=j({});function d(){o.value[t.providerId]?.voiceSettings?u.value={...o.value[t.providerId].voiceSettings}:u.value={pitch:0,speed:1,volume:0,...t.additionalSettings}}y(()=>{i.initializeProvider(t.providerId),c.value=o.value[t.providerId]?.apiKey||``,l.value=o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,d(),i.configuredProviders[t.providerId]&&a.loadVoicesForProvider(t.providerId)});let p=Re(()=>{o.value[t.providerId]={...o.value[t.providerId],apiKey:c.value,baseUrl:l.value||s.value?.defaultOptions?.().baseUrl||``,voiceSettings:{...u.value}}},1e3);te([c,l],p),te(u,p,{deep:!0});function m(){u.value={...s.value?.defaultOptions?.().voiceSettings},p()}return(e,i)=>(f(),v(_S,{"provider-name":s.value?.localizedName,"provider-icon":s.value?.icon,"provider-icon-color":s.value?.iconColor,"on-back":()=>D(r).back()},{default:O(()=>[A(`div`,fC,[E(D(hS),{class:`w-full md:w-[40%]`},{default:O(()=>[E(D(pS),{title:D(n)(`settings.pages.providers.common.section.basic.title`),description:D(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":m},{default:O(()=>[E(D(sS),{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`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),A(`div`,pC,[A(`h2`,mC,g(D(n)(`settings.pages.providers.common.section.voice.title`)),1),A(`div`,hC,[x(e.$slots,`voice-settings`)])]),E(D(oS),{title:D(n)(`settings.pages.providers.common.section.advanced.title`)},{default:O(()=>[E(D(cS),{modelValue:l.value,"onUpdate:modelValue":i[1]||=e=>l.value=e,placeholder:s.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),A(`div`,gC,[A(`div`,_C,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});function yC(){let e=j(),t=j(),n=j(),r=j([]),i=j(0),a=j();function o(e){return r.value.push(e),()=>{r.value=r.value.filter(t=>t!==e)}}function s(){if(n.value)return;let a=()=>{if(!e.value||!t.value)return;e.value.getByteFrequencyData(t.value);let o=0;for(let e=0;e{u()}),{volumeLevel:i,error:a,startAnalyzer:c,stopAnalyzer:u,onAnalyzerUpdate:o}}function bC(e){let t=e.getAudioTracks();if(!t.length)throw Error(`No audio tracks found in stream`);return t[0]}function xC(e){let t=s(e),n=de(),r=j(),i=j(),a=j([]);function o(e){return a.value.push(e),()=>{a.value=a.value.filter(t=>t!==e)}}async function c(){await Be(t).toBeTruthy();let e=await bC(t.value);r.value=new pt({format:new ut,target:new lt});let n=new dt(e,{codec:`pcm-f32`,bitrate:ft});n.errorPromise.catch(console.error),r.value.addAudioTrack(n),i.value=await r.value.getMimeType(),await r.value.start()}async function l(){if(!r.value)return;await r.value.finalize();let e=r.value.target?.buffer,t=e?new Blob([e],{type:i.value}):void 0;n.value=t;for(let e of a.value)try{await e(t)}catch(e){console.error(`onStopRecord hook failed:`,e)}return r.value=void 0,t}return{startRecord:c,stopRecord:l,onStopRecord:o,recording:n}}function SC(){let e=He({constraints:{audio:!0},requestPermissions:!0}),t=C(()=>e.audioInputs.value),n=j(e.audioInputs.value[0]?.deviceId||``),r=C(()=>({audio:{deviceId:{exact:n.value},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0}})),{stream:a,stop:o,start:s}=Ve({constraints:r,enabled:!1,autoSwitch:!0});return te(t,()=>{!n.value&&t.value.length>0&&(n.value=t.value[0]?.deviceId)}),y(()=>{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 CC={"w-full":``,"pt-1":``},wC={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},TC={class:`inline-flex items-center gap-4`},EC={"mb-2":``},DC=[`src`],OC={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},kC={class:`space-y-3`},AC={class:`space-y-3`},jC={class:`flex items-center gap-3`},MC={class:`text-sm font-medium`},NC=r({__name:`TranscriptionPlayground`,props:{generateTranscription:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e){let t=e,{t:n}=at(),{audioInputs:r,selectedAudioInput:i,stream:o,stopStream:s,startStream:c}=SC(),{volumeLevel:u,stopAnalyzer:p,startAnalyzer:h}=yC(),{startRecord:_,stopRecord:v,onStopRecord:y}=xC(o),b=j(25),x=j(!1),S=j(!1),ee=j(``),w=de(),re=j(),ae=j(),oe=j([]),se=j([]),ce=C(()=>oe.value.map(e=>{let t=URL.createObjectURL(e);return se.value.push(()=>URL.revokeObjectURL(t)),t})),le=j([]);te(i,async()=>{x.value&&await ue()}),te(r,()=>{!i.value&&r.value.length>0&&(i.value=r.value.find(e=>e.deviceId===`default`)?.deviceId||r.value[0].deviceId)});async function ue(){try{await fe(),await c(),await Be(o).toBeTruthy(),w.value=new AudioContext;let e=w.value.createMediaStreamSource(o.value),t=h(w.value);e.connect(t);let n=t.frequencyBinCount;re.value=new Uint8Array(n)}catch(e){console.error(`Error setting up audio monitoring:`,e),ee.value=e instanceof Error?e.message:String(e)}}async function fe(){ae.value&&=(cancelAnimationFrame(ae.value),void 0),o.value&&=(o.value.getTracks().forEach(e=>e.stop()),void 0),w.value&&=(await w.value.close(),void 0),await v(),await s(),await p(),re.value=void 0,S.value=!1}y(async e=>{try{if(e&&e.size>0){oe.value.push(e);let n=await t.generateTranscription(new File([e],`recording.wav`)),r=n.mode===`stream`?await n.text:n.text;le.value.push(r)}}catch(e){ee.value=e instanceof Error?e.message:String(e),console.error(`Error generating transcription:`,ee.value)}});async function pe(){x.value?(await fe(),await v(),x.value=!1):(await ue(),await _(),x.value=!0)}let me=C(()=>S.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`);return l(()=>{fe()}),(e,t)=>(f(),k(`div`,CC,[A(`h2`,wC,[A(`div`,TC,[E(D(Tt)),A(`div`,null,g(D(n)(`settings.pages.providers.provider.transcriptions.playground.title`)),1)])]),A(`div`,EC,[E(D(be),{modelValue:D(i),"onUpdate:modelValue":t[0]||=e=>ne(i)?i.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:D(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`])]),E(D(Te),{class:`my-4`,"w-full":``,onClick:pe},{default:O(()=>[m(g(x.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),A(`div`,null,[(f(!0),k(ie,null,d(ce.value,(e,t)=>(f(),k(`div`,{key:t,class:`mb-2`},[A(`audio`,{src:e,controls:``,class:`w-full`},null,8,DC),le.value[t]?(f(),k(`div`,OC,g(le.value[t]),1)):a(``,!0)]))),128))]),A(`div`,kC,[E(D(xt),{level:D(u),label:`Input Level`},null,8,[`level`]),E(D(Nt),{value:D(u)/100,threshold:b.value/100,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`]),A(`div`,AC,[E(D(Ce),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])]),A(`div`,jC,[A(`div`,{class:T([`h-4 w-4 rounded-full transition-all duration-200`,me.value])},null,2),A(`span`,MC,g(S.value?`Speaking Detected`:`Silence`),1)])])]))}}),PC={flex:`~ col md:row gap-6`},FC={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},IC={"w-full":``,"rounded-xl":``},LC=r({__name:`TranscriptionProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=at(),r=Ae(),i=$e(),{providers:a}=Oe(i),o=C(()=>i.getProviderMetadata(t.providerId)),s=C({get:()=>a.value[t.providerId]?.apiKey||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].apiKey=e}}),c=C({get:()=>a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].baseUrl=e}});y(()=>{i.initializeProvider(t.providerId),s.value=a.value[t.providerId]?.apiKey||``,c.value=a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``});function l(){s.value=``,c.value=o.value?.defaultOptions?.().baseUrl||``}return(e,i)=>(f(),v(D(_S),{"provider-name":o.value?.localizedName,"provider-icon":o.value?.icon,"provider-icon-color":o.value?.iconColor,"on-back":()=>D(r).back()},{default:O(()=>[A(`div`,PC,[E(D(hS),{class:`w-full md:w-[40%]`},{default:O(()=>[E(D(pS),{title:D(n)(`settings.pages.providers.common.section.basic.title`),description:D(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":l},{default:O(()=>[E(D(sS),{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,"provider-name":o.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),E(D(oS),{title:D(n)(`settings.pages.providers.common.section.advanced.title`)},{default:O(()=>[E(D(cS),{modelValue:c.value,"onUpdate:modelValue":i[1]||=e=>c.value=e,placeholder:o.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),A(`div`,FC,[A(`div`,IC,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}}),RC={"h-full":``,flex:``,"flex-col":``,"gap-4":``},zC={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},BC={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},VC={key:0,"flex-1":``,"overflow-y-auto":``,"space-y-4":``},HC={class:`space-y-4`},UC={key:0},WC={key:1},GC={key:2},KC=r({__name:`step-provider-configuration`,setup(e){let{t}=at(),n=c(Yx),r=$e(),i=j(``),o=j(``),s=j(``),l=j(`unchecked`),u=j();function d(){let e=n.selectedProvider.value;e&&(o.value=(e.defaultOptions?.()||{})?.baseUrl||``,i.value=``,s.value=``,l.value=`unchecked`,u.value=void 0)}te(()=>n.selectedProvider.value?.id,()=>{d()});let p=C(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`ollama`&&n.selectedProvider.value.id!==`player2`:!1),h=C(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`cloudflare-workers-ai`:!1),_=C(()=>!n.selectedProviderId.value||p.value&&!i.value.trim()?!1:l.value===`unchecked`||l.value===`succeed`);async function y(){if(n.selectedProvider.value){l.value=`pending`;try{let e={};p.value&&(e.apiKey=i.value.trim()),h.value&&(e.baseUrl=o.value.trim()),n.selectedProvider.value.id===`cloudflare-workers-ai`&&(e.accountId=s.value.trim());let t=await r.getProviderMetadata(n.selectedProvider.value.id).validators.validateProviderConfig(e);l.value=t.valid?`succeed`:`failed`,l.value===`failed`&&(u.value=t.reason)}catch(e){l.value=`failed`,u.value=t(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}}async function b(){await y(),l.value!==`failed`&&await n.handleNextStep({apiKey:i.value,baseUrl:o.value,accountId:s.value})}function x(e){return{openai:`sk-...`,anthropic:`sk-ant-...`,"google-generative-ai":`AI...`,"openrouter-ai":`sk-or-...`,deepseek:`sk-...`,xai:`xai-...`,"together-ai":`togetherapi-...`,"mistral-ai":`mis-...`,"moonshot-ai":`ms-...`,modelscope:`ms-...`,"fireworks-ai":`fw-...`,"featherless-ai":`fw-...`,"novita-ai":`nvt-...`}[e]||`API Key`}function S(e){return(n.selectedProvider.value?.defaultOptions?.()||{})?.baseUrl||`https://api.example.com/v1/`}return d(),(e,r)=>(f(),k(`div`,RC,[A(`div`,zC,[A(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>D(n).handlePreviousStep&&D(n).handlePreviousStep(...e)},[...r[4]||=[A(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),A(`h2`,BC,g(D(t)(`settings.dialogs.onboarding.configureProvider`,{provider:D(n).selectedProvider.value?.localizedName})),1),r[5]||=A(`div`,{"h-5":``,"w-5":``},null,-1)]),D(n).selectedProvider.value?(f(),k(`div`,VC,[E(D(ye),{label:`Keep your API keys and credentials safe!`,theme:`violet`},{default:O(()=>[...r[6]||=[A(`div`,null,[A(`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. `),A(`div`,null,[m(` AIRI is open sourced at `),A(`div`,{"inline-flex":``,"translate-y-1":``,"items-center":``,"gap-1":``},[A(`div`,{"i-simple-icons:github":``,"inline-block":``}),A(`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}),A(`div`,HC,[p.value?(f(),k(`div`,UC,[E(D(xe),{modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,placeholder:x(D(n).selectedProvider.value.id),type:`password`,label:`API Key`,description:`Enter your API key for the selected provider.`,required:``},null,8,[`modelValue`,`placeholder`])])):a(``,!0),h.value?(f(),k(`div`,WC,[E(D(xe),{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,placeholder:S(D(n).selectedProvider.value.id),type:`text`,label:`Base URL`,description:`Enter the base URL for the provider's API.`},null,8,[`modelValue`,`placeholder`])])):a(``,!0),D(n).selectedProvider.value.id===`cloudflare-workers-ai`?(f(),k(`div`,GC,[E(D(nS),{modelValue:s.value,"onUpdate:modelValue":r[3]||=e=>s.value=e},null,8,[`modelValue`])])):a(``,!0)]),l.value===`failed`?(f(),v(D(dx),{key:0,title:D(t)(`settings.dialogs.onboarding.validationFailed`),error:u.value},null,8,[`title`,`error`])):a(``,!0)])):a(``,!0),E(D(Te),{label:D(t)(`settings.dialogs.onboarding.next`),loading:l.value===`pending`,disabled:!_.value,onClick:b},null,8,[`label`,`loading`,`disabled`])]))}}),qC={"h-full":``,flex:``,"flex-col":``,"gap-4":``},JC={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},YC={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},XC={class:`flex-1 overflow-y-auto`},ZC={class:`grid grid-cols-1 gap-3 sm:grid-cols-2`},QC=r({__name:`step-provider-selection`,setup(e){let{t}=at(),n=c(Yx);return(e,r)=>(f(),k(`div`,qC,[A(`div`,JC,[A(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>D(n).handlePreviousStep&&D(n).handlePreviousStep(...e)},[...r[2]||=[A(`div`,{class:`i-solar:alt-arrow-left-line-duotone h-5 w-5`},null,-1)]]),A(`h2`,YC,g(D(t)(`settings.dialogs.onboarding.selectProvider`)),1),r[3]||=A(`div`,{class:`h-5 w-5`},null,-1)]),A(`div`,XC,[A(`div`,ZC,[(f(!0),k(ie,null,d(D(n).popularProviders.value,e=>(f(),v(D(kb),{id:e.id,key:e.id,modelValue:D(n).selectedProviderId.value,"onUpdate:modelValue":r[1]||=e=>D(n).selectedProviderId.value=e,name:`provider-selection`,value:e.id,title:e.localizedName||e.id,description:e.localizedDescription||``,onClick:t=>D(n).selectProvider(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`onClick`]))),128))])]),E(D(Te),{label:D(t)(`settings.dialogs.onboarding.next`),disabled:!D(n).selectedProviderId.value,onClick:D(n).handleNextStep},null,8,[`label`,`disabled`,`onClick`])]))}}),$C=`/assets/onboarding-S2C4LIWw.avif`,ew={"h-full":``,flex:``,"flex-col":``},tw={class:`mb-2 text-center md:mb-8`,flex:``,"flex-1":``,"flex-col":``,"justify-center":``},nw={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`},rw=[`src`],iw={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`},aw={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`},ow=r({__name:`step-welcome`,setup(e){let{t}=at(),n=c(Yx);return(e,r)=>{let i=S(`motion`);return f(),k(`div`,ew,[A(`div`,tw,[ue((f(),k(`div`,nw,[A(`img`,{src:D($C),"max-h":`50`,"aspect-square":``,"h-auto":``,"w-auto":``,"object-cover":``},null,8,rw)])),[[i]]),ue((f(),k(`h2`,iw,[m(g(D(t)(`settings.dialogs.onboarding.title`)),1)])),[[i]]),ue((f(),k(`p`,aw,[m(g(D(t)(`settings.dialogs.onboarding.description`)),1)])),[[i]])]),ue(E(D(Te),{initial:{opacity:0},visible:{opacity:1},duration:500,delay:200,label:D(t)(`settings.dialogs.onboarding.start`),onClick:D(n).handleNextStep},null,8,[`label`,`onClick`]),[[i]])])}}}),sw={"h-full":``,"w-full":``},cw=Le(r({__name:`onboarding`,emits:[`configured`,`skipped`],setup(e,{emit:t}){let n=t,r=j(1),o=j(`next`),{providers:s,allChatProvidersMetadata:c}=Oe($e()),l=tt(),{activeProvider:u}=Oe(l),d=C(()=>{let e=[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`player2`,`openai-compatible`];return c.value.filter(t=>e.includes(t.id)).sort((t,n)=>e.indexOf(t.id)-e.indexOf(n.id))}),p=j(``),m=C(()=>c.value.find(e=>e.id===p.value)||null);function h(e){p.value=e.id}function g(){r.value>1&&(o.value=`previous`,r.value--)}async function _(e){if(r.value===3&&e){await y(e),o.value=`next`,r.value++;return}r.value<4?(o.value=`next`,r.value++):b()}async function y(e){if(!m.value)return;let t={};e.apiKey&&(t.apiKey=e.apiKey.trim()),e.baseUrl&&(t.baseUrl=e.baseUrl.trim()),e.accountId&&(t.accountId=e.accountId.trim()),s.value[m.value.id]={...s.value[m.value.id],...t},u.value=m.value.id,await i();try{await l.loadModelsForProvider(m.value.id)}catch(e){console.error(`error`,e)}}async function b(){n(`configured`)}return se(Yx,{selectedProviderId:p,selectedProvider:m,selectProvider:h,popularProviders:d,handleNextStep:_,handlePreviousStep:g,handleSave:b}),(e,t)=>(f(),k(`div`,sw,[E(ae,{name:o.value===`next`?`slide-next`:`slide-prev`,mode:`out-in`},{default:O(()=>[r.value===1?(f(),v(ow,{key:1})):r.value===2?(f(),v(QC,{key:2})):r.value===3?(f(),v(KC,{key:3})):r.value===4?(f(),v(tS,{key:4})):a(``,!0)]),_:1},8,[`name`])]))}}),[[`__scopeId`,`data-v-52c8a4c7`]]),lw=r({__name:`onboarding-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:_([`configured`,`skipped`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,r=oe(e,`modelValue`),i=Ke(`(min-width: 768px)`),a=Ye();return Je(document.documentElement,()=>a.update()),y(()=>a.update()),(e,t)=>D(i)?(f(),v(D(Me),{key:0,open:r.value,"onUpdate:open":t[2]||=e=>r.value=e},{default:O(()=>[E(D(Ie),null,{default:O(()=>[E(D(Ne),{class:`fixed inset-0 z-9999 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),E(D(je),{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:O(()=>[E(D(Ee),null,{default:O(()=>[E(D(Pe),null,{default:O(()=>[...t[6]||=[m(`Onboarding`,-1)]]),_:1})]),_:1}),E(cw,{onConfigured:t[0]||=e=>n(`configured`),onSkipped:t[1]||=e=>n(`skipped`)})]),_:1})]),_:1})]),_:1},8,[`open`])):(f(),v(D(pe),{key:1,open:r.value,"should-scale-background":``,"onUpdate:open":t[5]||=e=>r.value=e},{default:O(()=>[E(D(Ie),null,{default:O(()=>[E(D(_e),{class:`fixed inset-0`}),E(D(ve),{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:p({paddingBottom:`${Math.max(Number.parseFloat(D(a).bottom.value.replace(`px`,``)),24)}px`})},{default:O(()=>[E(D(ge)),E(cw,{onConfigured:t[3]||=e=>n(`configured`),onSkipped:t[4]||=e=>n(`skipped`)})]),_:1},8,[`style`])]),_:1})]),_:1},8,[`open`]))}}),uw={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`},dw={key:0,text:`sm neutral-500`},fw=r({__name:`Bar`,props:{text:{},description:{}},setup(e){return(t,n)=>(f(),k(`label`,uw,[A(`div`,null,[m(g(t.$t(e.text))+` `,1),e.description?(f(),k(`div`,dw,g(t.$t(e.description)),1)):a(``,!0)]),x(t.$slots,`default`)]))}}),pw=[`aria-checked`],mw=r({__name:`CheckBar`,props:_({text:{},iconOn:{},iconOff:{},description:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=oe(e,`modelValue`);return(n,r)=>(f(),v(fw,{text:e.text,description:e.description},{default:O(()=>[ue(A(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,"aria-checked":t.value,type:`checkbox`,hidden:``},null,8,pw),[[ee,t.value]]),E(ae,{name:`slide-away`,mode:`out-in`},{default:O(()=>[t.value?(f(),k(`div`,{key:0,class:T(e.iconOn),transition:`all ease-in-out duration-250`},null,2)):(f(),k(`div`,{key:1,class:T(e.iconOff),transition:`all ease-in-out duration-250`},null,2))]),_:1})]),_:1},8,[`text`,`description`]))}});const hw=Symbol(`ToasterRoot`);var gw=r({__name:`ToasterRoot`,emits:[`close`],setup(e,{emit:t}){let n=t;return se(hw,{close:e=>n(`close`,e)}),(e,t)=>x(e.$slots,`default`)}});export{Mx as A,Hb as B,nS as C,zx as D,Bx as E,Tx as F,cb as G,Mb as H,_x as I,zt as J,cn as K,fx as L,Ax as M,kx as N,Ix as O,Ox as P,dx as R,oS as S,Vx as T,xb as U,zb as V,fb as W,Tt as X,Nt as Y,xt as Z,_S as _,NC as a,cS as b,vC as c,kS as d,OS as f,vS as g,SS as h,LC as i,jx as j,Fx as k,dC as l,jS as m,mw as n,xC as o,AS as p,rn as q,lw as r,yC as s,gw as t,ZS as u,hS as v,Jx as w,sS as x,pS as y,lx as z};
\ No newline at end of file
diff --git a/assets/components-CcTjxTuJ.js b/assets/components-CcTjxTuJ.js
new file mode 100644
index 0000000000000000000000000000000000000000..04d7933889f6f2999524d5e1b346d4d7b327b029
--- /dev/null
+++ b/assets/components-CcTjxTuJ.js
@@ -0,0 +1,293 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-oE6vIDFp.js","assets/angular-html-DuyWAiv2.js","assets/html-Diyk_43P.js","assets/css-CLxGjRju.js","assets/javascript-Do6PwMKu.js","assets/angular-ts-CDC4t852.js","assets/scss-rlG39PLW.js","assets/apl-BJnZuzLa.js","assets/java-CQPRbyu3.js","assets/json-CVyC8t_E.js","assets/xml-CiMwPhTM.js","assets/astro-DttTuQAq.js","assets/postcss-Dr1InMYg.js","assets/tsx-CLCuBv2X.js","assets/typescript-nuRllqIJ.js","assets/blade-BuyLDFdC.js","assets/html-derivative-B3jHBzNQ.js","assets/sql-D0sTP72n.js","assets/bsl-cCbJaBAC.js","assets/sdbl-w-B4jFXl.js","assets/c-DBJsKnoo.js","assets/c-DtLXUBGS.js","assets/cairo-BIWnpA26.js","assets/python-BRSxCerV.js","assets/cmake-BWkqrWh7.js","assets/cmake-CAtYyl8a.js","assets/cobol-9tsTpcMP.js","assets/coffee-C1ebS9cz.js","assets/cpp-_n8up8t_.js","assets/cpp-mEVe8q_J.js","assets/glsl-D9o_QuL8.js","assets/regexp-BZ2naMY9.js","assets/crystal-D51oMnqg.js","assets/shellscript--T3kmmtb.js","assets/csharp-BoLJfTv3.js","assets/csharp-DCXYMfuJ.js","assets/css-OlUqw-ka.js","assets/csv-D5_1SufL.js","assets/csv-DG35G36b.js","assets/diff-BuuE3oxl.js","assets/diff-fnc-gAhH.js","assets/edge-sb-i6Idw.js","assets/elixir-DYekQc15.js","assets/elm-DRrxN6YG.js","assets/erb-esYnPuR0.js","assets/graphql-CPpzUkBX.js","assets/jsx-DbFI3zB3.js","assets/haml-Xwz2ksIn.js","assets/lua-BjH4OoSG.js","assets/ruby-G_t8573f.js","assets/yaml-BLKGplvc.js","assets/erlang-fQFT4zJ6.js","assets/markdown-DPSo942e.js","assets/fortran-fixed-form-WqsYuzjX.js","assets/fortran-free-form-DeRyUaJD.js","assets/fortran-free-form-WT5HPXVK.js","assets/fsharp-zzj8MsvW.js","assets/gdresource-yJca3W7F.js","assets/gdscript-DvKEuXah.js","assets/gdshader-BUG4FFyA.js","assets/gdscript-LnPSOVad.js","assets/gdshader-z-A5LoCS.js","assets/git-commit-CgsjzQ9L.js","assets/git-rebase-Bey7kZCu.js","assets/glimmer-js-CMcdGnD2.js","assets/glimmer-ts-4MDc9CpV.js","assets/glsl-BG4DWBdn.js","assets/go-D5lY9_wk.js","assets/go-BwXYWGEe.js","assets/graphql-DWJVhcnT.js","assets/hack-ajBboZPd.js","assets/haml-CXfP7L3k.js","assets/handlebars-BwuEWi5Q.js","assets/haxe-MIkpLPVh.js","assets/haxe-CqPqpc5o.js","assets/hlsl-CTBEgK_f.js","assets/hlsl-DWBdHbx-.js","assets/html-ak365wVg.js","assets/html-derivative-CjXQIw1p.js","assets/http-DYzPSgZY.js","assets/hurl-CiVK3vnZ.js","assets/hxml-DfCnHrnw.js","assets/java-B6Cosoqr.js","assets/javascript-6V5OvOwv.js","assets/jinja-SdS_gyCz.js","assets/jison-Cfj2NGat.js","assets/json-BwAd98tV.js","assets/jsx-CiwfO-GH.js","assets/julia-DvG1lelP.js","assets/r-CLo4jbIZ.js","assets/latex-B81BXye3.js","assets/tex-D__7ucep.js","assets/less-DfmxosWY.js","assets/less-CkcUi8AH.js","assets/liquid-49Qu-Bkc.js","assets/lua-3iltAXXQ.js","assets/markdown-BWv-9tnw.js","assets/marko-DRXieUNl.js","assets/mdc-jaJhF3Ix.js","assets/nginx-C-U5F2Zn.js","assets/nim-Cq6_YYgF.js","assets/perl-aD527cq5.js","assets/php-Ct_Epmtb.js","assets/php-CuWnv_-v.js","assets/postcss-zwosPldu.js","assets/pug-DBIQtpx5.js","assets/python-BilYfMyw.js","assets/qml-lW7oc2mq.js","assets/r-DNRrSjNr.js","assets/razor-0NqsgrzI.js","assets/regexp-C6Dodfef.js","assets/rst-DZxkOa7d.js","assets/ruby-BHdV14zW.js","assets/sas-zfyB4kpS.js","assets/scss-Br5y72uz.js","assets/sdbl-3XKnY8sz.js","assets/shaderlab-D4G1WVrc.js","assets/shellscript-CyIn2RfG.js","assets/shellsession-CSIqYYK9.js","assets/soy-fY4F-VTJ.js","assets/sparql-DpFmsA60.js","assets/turtle-CPES9TYy.js","assets/sql-Dx7Oyc6a.js","assets/stata-djaE4SEX.js","assets/stylus-Xtz4PPek.js","assets/stylus-CKjOKZGX.js","assets/svelte-B90QEcsa.js","assets/templ-BWo5eUfv.js","assets/tex-Cb1ZNrUV.js","assets/ts-tags-Dom-9x7P.js","assets/tsx-CvSTy8-x.js","assets/turtle-C9WUa_YU.js","assets/twig-CS6odch4.js","assets/typescript-CRUi7CAR.js","assets/vue-ChK0xh_p.js","assets/vue-C_WIdwo9.js","assets/vue-html-C02VeHS9.js","assets/vue-vine-exIWIVaj.js","assets/xml-BS4vw9uX.js","assets/xsl-CiEkRUTK.js","assets/yaml-18Onbu6X.js"])))=>i.map(i=>d[i]);
+import{o as e,r as t,t as n}from"./chunk-oCmw4s_B.js";import{A as r,B as i,C as a,E as o,Et as s,F as c,G as l,H as u,J as d,K as f,Nt as p,O as m,Ot as h,Pt as g,R as _,S as v,W as y,X as b,Y as x,Z as S,a as C,at as ee,b as w,f as T,gt as te,jt as E,k as D,kt as O,l as ne,lt as k,m as re,n as ie,nt as ae,q as oe,rt as se,s as ce,ut as le,w as A,wt as ue,x as j,xt as M}from"./vue.runtime.esm-bundler-CV_MT70o.js";import{S as de,a as fe,b as pe,h as me,i as he,n as ge,r as _e,u as ve}from"./widgets-CfMfgTi5.js";import{c as ye,d as be,f as xe,l as Se,p as Ce,r as we,x as Te}from"./src-bfDWfpp2.js";import{n as Ee,r as De}from"./pinia-Db-23kF7.js";import{n as Oe,t as N}from"./preload-helper-C_mzgxuZ.js";import{o as ke}from"./vue-router-mPOCikfr.js";import{i as Ae,m as je,r as Me,t as Ne}from"./DialogTitle-BqDaIbT5.js";import{a as Pe,u as Fe}from"./environment-PvvEwEUJ.js";import{t as Ie}from"./_plugin-vue_export-helper-ChkKgsjs.js";import{D as Le,S as Re,T as ze,b as Be,c as Ve,f as He,i as Ue,l as We,m as Ge,t as Ke,v as qe,y as Je}from"./dist-u2ON6Dd1.js";import{n as Ye,r as Xe,t as Ze}from"./src-DUu9klB0.js";import{i as Qe,l as $e,r as et,t as tt,u as nt}from"./speech-Cxol_sVZ.js";import{t as rt}from"./purify.es-Deqp4Fmw.js";import{n as it}from"./vue-i18n.runtime-CNlxLgee.js";import{t as at}from"./sleep-C1_gNvBC.js";import{D as ot}from"./settings-oF1FKXce.js";import{a as st,i as ct,n as lt,r as ut,t as dt}from"./output-DfKVbA7K.js";var ft=r({__name:`AudioSpectrum`,props:{stream:{},bars:{default:32},minFreq:{default:60},maxFreq:{default:4e3}},setup(e){let t=e,n=M(Array.from({length:t.bars}).fill(0));y(()=>{r()}),ee(()=>t.stream,()=>{r()});function r(){if(!t.stream)return;let e=new(window.AudioContext||window.webkitAudioContext),r=e.createMediaStreamSource(t.stream),i=e.createAnalyser();i.fftSize=2048,r.connect(i);let a=i.frequencyBinCount,o=new Uint8Array(a),s=e.sampleRate/i.fftSize,c=Math.floor(t.minFreq/s),l=Math.floor(t.maxFreq/s),u=l-c,d=Math.floor(u/t.bars),f=()=>{try{requestAnimationFrame(f),i.getByteFrequencyData(o);let e=Array.from({length:t.bars}).fill(0);for(let n=0;nx(e.$slots,`default`,{frequencies:n.value})}}),pt={"h-full":``,flex:``,"items-center":``,"gap-1":``},mt=5,ht=r({__name:`AudioSpectrumVisualizer`,props:{frequencies:{},barsClass:{}},setup(e){let t=e;function n(e,t){let n=.1;return n+(1-n)*(e/t)}function r(e,r){let i=n(r,t.frequencies.length);return Math.min(100,Math.max(10,e*100*mt*i))}return(t,n)=>(f(),A(`div`,pt,[(f(!0),A(re,null,d(e.frequencies,(t,n)=>(f(),A(`div`,{key:n,"h-full":``,flex:``,"flex-1":``,"items-end":``},[j(`div`,{transition:`all 100 ease-in-out`,"mx-auto":``,"my-0":``,"w-full":``,"rounded-full":``,class:E(e.barsClass),style:p({height:`${r(t,n)}%`})},null,6)]))),128))]))}}),gt={key:0,class:`mb-2 flex items-center justify-between`},_t={class:`text-sm font-medium`},vt={class:`text-sm text-neutral-500`},yt=r({__name:`LevelMeter`,props:{level:{},min:{default:0},max:{default:100},numBars:{default:20},label:{default:`Level`},unit:{default:`%`},height:{default:24},showHeader:{type:Boolean,default:!0},animationSpeed:{default:75},colorThresholds:{default:()=>[{value:60,color:`bg-green-500`},{value:80,color:`bg-yellow-500`},{value:100,color:`bg-red-500`}]},formatValue:{}},setup(e){let t=e,n=w(()=>{let e=Math.max(0,Math.min(100,(t.level-t.min)/(t.max-t.min)*100)),n=Math.floor(e/100*t.numBars);return Array.from({length:t.numBars},(e,r)=>({active:re.value-t.value);for(let e of r)if(n<=e.value)return e.color;return r[r.length-1]?.color||`bg-green-500`}return(t,i)=>(f(),A(`div`,null,[e.showHeader?(f(),A(`div`,gt,[j(`span`,_t,g(e.label),1),j(`span`,vt,g(e.formatValue?e.formatValue(e.level):`${Math.round(e.level)}${e.unit}`),1)])):a(``,!0),j(`div`,{class:`flex items-end gap-1 rounded bg-neutral-200/45 p-1 dark:bg-neutral-700`,style:p({height:`${e.height}px`})},[(f(!0),A(re,null,d(n.value,(t,n)=>(f(),A(`div`,{key:n,class:E([`flex-1 rounded-sm transition-all`,[t.active?r(n,t.level):`bg-neutral-200 dark:bg-neutral-600`,`duration-${e.animationSpeed}`]]),style:p({height:t.active?`100%`:`20%`})},null,6))),128))],4)]))}}),bt=Ie(r({__name:`Volumed`,props:{perspective:{},transform:{}},setup(e){return(t,n)=>(f(),A(`div`,{class:`volumed`,style:p({perspective:`${e.perspective}px`,transform:e.transform})},[x(t.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-45a50d47`]]),xt=r({__name:`CursorMomentum`,props:{baseSpeed:{default:.1},friction:{default:.95},momentumFactor:{default:.005}},setup(e,{expose:t}){let n=e,r=M(1),i=M(0),a=0,o=s(()=>n.friction),c=s(()=>n.baseSpeed),u=s(()=>n.momentumFactor);function d(e){a||=e;let t=e-a;a=e,r.value=c.value+(r.value-c.value)*o.value,i.value+=r.value*t,requestAnimationFrame(d)}function f(e){let t=Math.sqrt(e.movementX**2+e.movementY**2);r.value+=t*u.value}return y(()=>{window.addEventListener(`mousemove`,f),requestAnimationFrame(d)}),l(()=>{window.removeEventListener(`mousemove`,f)}),t({momentum:r,currentValue:i}),(e,t)=>x(e.$slots,`default`,{momentum:r.value,currentValue:i.value})}}),St=Ie(r({__name:`TestDummyMarkerFlat`,props:{size:{}},setup(e){return(t,n)=>(f(),A(`div`,{class:`test-dummy-flat`,style:p({width:`${e.size}px`,height:`${e.size}px`})},[...n[0]||=[j(`div`,{class:`marker`},null,-1)]],4))}}),[[`__scopeId`,`data-v-aa597cdd`]]),Ct=r({__name:`TestDummyMarker`,setup(e){return(e,t)=>(f(),v(xt,{"base-speed":.1,friction:.95,"momentum-factor":5e-4},{default:k(({currentValue:e})=>[D(bt,{perspective:800,transform:`rotateX(45deg) translateY(3px)`},{default:k(()=>[D(St,{size:24,style:p({transform:`rotate(${e}deg)`})},null,8,[`style`])]),_:2},1024)]),_:1}))}}),wt={key:0,class:`mb-2 flex items-center justify-between`},Tt={class:`text-sm font-medium`},Et={class:`text-sm text-neutral-500`},Dt={key:1,class:`mt-1 flex gap-3 text-xs text-neutral-500`},Ot={class:`flex items-center gap-1`},kt={class:`flex items-center gap-1`},At={class:`flex items-center gap-1`},jt=r({__name:`ThresholdMeter`,props:{value:{},threshold:{},min:{default:0},max:{default:1},numBars:{default:20},label:{default:`Value`},unit:{default:`%`},precision:{default:1},height:{default:24},showHeader:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!0},animationSpeed:{default:100},belowThresholdClass:{default:`bg-primary-300 dark:bg-primary-600`},aboveThresholdClass:{default:`bg-green-500`},thresholdBarClass:{default:`bg-white dark:bg-neutral-800`},inactiveBarClass:{default:`bg-neutral-300 dark:bg-neutral-600`},belowLabel:{default:`Below`},aboveLabel:{default:`Above`},thresholdLabel:{default:`Threshold`},formatValue:{}},setup(e){let t=e,n=w(()=>{let e=Math.max(0,Math.min(1,(t.value-t.min)/(t.max-t.min))),n=Math.max(0,Math.min(1,(t.threshold-t.min)/(t.max-t.min))),r=Math.floor(e*t.numBars),i=Math.floor(n*t.numBars);return Array.from({length:t.numBars},(e,t)=>({active:t=i,isBelowThreshold:t(f(),A(`div`,null,[e.showHeader?(f(),A(`div`,wt,[j(`span`,Tt,g(e.label),1),j(`span`,Et,g(e.formatValue?e.formatValue(e.value):`${(e.value*100).toFixed(e.precision)}${e.unit}`),1)])):a(``,!0),j(`div`,{class:`flex items-end gap-1 rounded bg-neutral-200/45 p-1 p-1 dark:bg-neutral-700`,style:p({height:`${e.height}px`})},[(f(!0),A(re,null,d(n.value,(t,n)=>(f(),A(`div`,{key:`threshold-${n}`,class:E([`flex-1 rounded-sm transition-all`,[t.isThreshold?e.thresholdBarClass:t.isAboveThreshold?e.aboveThresholdClass:t.isBelowThreshold?e.belowThresholdClass:e.inactiveBarClass,`duration-${e.animationSpeed}`]]),style:p({height:t.active||t.isThreshold?`100%`:`20%`})},null,6))),128))],4),e.showLegend?(f(),A(`div`,Dt,[j(`span`,Ot,[j(`div`,{class:E(`inline-block h-0.5lh w-1lh rounded-full ${e.belowThresholdClass}`)},null,2),m(` `+g(e.belowLabel),1)]),j(`span`,kt,[j(`div`,{class:E(`inline-block h-0.5lh w-1lh rounded-full border border-neutral-400 ${e.thresholdBarClass}`)},null,2),m(` `+g(e.thresholdLabel),1)]),j(`span`,At,[j(`div`,{class:E(`inline-block h-0.5lh w-1lh rounded-full ${e.aboveThresholdClass}`)},null,2),m(` `+g(e.aboveLabel),1)])])):a(``,!0)]))}});function Mt(e){return{color:e,withAlpha:t=>{let n=Ze(e);if(!n)throw Error(`Invalid color provided for alpha adjustment`);return Mt(Ze({mode:`oklch`,l:n.l,c:n.c,h:n.h,alpha:t}))},toHex:()=>Xe(e),toCSS:()=>Ye(e)}}function Nt(e=200,t){let n=t??.18+Math.cos(e*Math.PI/180)*.04,r={50:{lightness:.95,chromaMultiplier:.3,mixWithWhite:.7},100:{lightness:.95,chromaMultiplier:.5,mixWithWhite:.2},200:{lightness:.9,chromaMultiplier:.6},300:{lightness:.85,chromaMultiplier:.75},400:{lightness:.74,chromaMultiplier:.85},500:{lightness:.62,chromaMultiplier:1},600:{lightness:.54,chromaMultiplier:1.15},700:{lightness:.49,chromaMultiplier:1.1},800:{lightness:.42,chromaMultiplier:.85},900:{lightness:.37,chromaMultiplier:.7},950:{lightness:.29,chromaMultiplier:.5}},i=(t,i,a=0)=>{let o=r[t],s=(e+a)%360,c=n*o.chromaMultiplier,l=Ze({mode:`oklch`,l:o.lightness,c,h:s,alpha:i??1});return o.mixWithWhite?Mt(Pt(l,Ze({mode:`oklch`,l:1,c:0,h:0,alpha:i??1}),o.mixWithWhite)):Mt(l)};return{baseHue:e,chroma:n,getAllShades:(e,t=0)=>{let n={};for(let a of Object.keys(r)){let r=Number.parseInt(a);n[r]=i(r,e,t)}return n},shadeBy:i}}function Pt(e,t,n=.5){let r=Ze(e),i=Ze(t);if(!r||!i)throw Error(`Invalid colors provided for mixing`);return Ze({mode:`oklch`,l:r.l*(1-n)+i.l*n,c:r.c*(1-n)+i.c*n,h:Ft(r.h??0,i.h??0,n)})}function Ft(e,t,n){let r=t-e;return r>180&&(r-=360),r<-180&&(r+=360),(e+r*n+360)%360}const It=Symbol(`@proj-airi/chromatic-hue`),Lt=`<|llm_inference_end|>`;var Rt={key:0,class:`flex items-center justify-between`},zt={class:`text-sm font-medium`},Bt={class:`text-xs text-neutral-500`},Vt={class:`h-full w-full`},Ht={id:`below-threshold-gradient`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},Ut=[`fill`],Wt=[`y`,`height`,`fill`],Gt=[`y1`,`y2`,`stroke`,`fill`],Kt=[`d`,`fill`],qt=[`d`,`stroke`,`stroke-width`],Jt={key:0,class:`absolute left-2 top-2 flex items-center gap-1.5 border border-primary-200 rounded-md bg-primary-50 px-2 py-1 dark:border-primary-800 dark:bg-primary-900`},Yt={class:`text-xs text-primary-700 font-medium dark:text-primary-300`},Xt={key:1,class:`flex flex-wrap items-center justify-between text-xs text-neutral-500`},Zt={class:`flex items-center gap-3`},Qt={class:`flex items-center gap-1 text-nowrap`},$t={class:`flex items-center gap-1 text-nowrap`},en={key:0,class:`text-nowrap`},tn=Ie(r({__name:`TimeSeriesChart`,props:{history:{},currentValue:{},threshold:{default:null},isActive:{type:Boolean},title:{default:`Time Series`},colorsHue:{},lineColor:{},thresholdColor:{},activeColor:{},inactiveColor:{},subtitle:{default:`Recent data`},activeLabel:{default:`Active`},activeLegendLabel:{default:`Active state`},inactiveLegendLabel:{default:`Inactive state`},thresholdLabel:{default:`Threshold`},height:{default:80},lineWidth:{default:1.5},chartHeight:{},minDataPoints:{default:5},precision:{default:0},unit:{default:`%`},showHeader:{type:Boolean,default:!0},showThreshold:{type:Boolean,default:!0},showArea:{type:Boolean,default:!0},showThresholdAreas:{type:Boolean,default:!0},showCurrentValue:{type:Boolean,default:!0},showActiveIndicator:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!0},formatValue:{}},setup(e){let t=e,n=w(()=>t.height),r=M(),i=c(It,220.44),o=s(()=>t.colorsHue||i||220.44),l=w(()=>Nt(o.value)),u=We(r,{windowResize:!0});ee([o,r],()=>{r.value&&r.value.style.setProperty(`--chromatic-hue`,o.value.toString())},{immediate:!0});let d=s(()=>t.lineColor),h=w(()=>d.value?d.value:l.value.shadeBy(500).toHex()),_=s(()=>t.thresholdColor),v=w(()=>{if(!_.value){let e=l.value.shadeBy(500).withAlpha(.1).color;return`oklch(${e.l} ${e.c} ${e.h} / ${e.alpha})`}return _.value}),y=s(()=>t.activeColor),b=w(()=>y.value?y.value:l.value.shadeBy(600).toHex()),x=s(()=>t.inactiveColor),S=w(()=>x.value?x.value:l.value.shadeBy(400).toHex()),C=Math.random().toString(36).substring(2,9),T=`grid-${C}`,te=`area-gradient-${C}`,O=`threshold-gradient-${C}`,ne=w(()=>t.threshold===null?0:Math.max(0,Math.min(1,t.threshold))),re=w(()=>t.threshold===null?0:n.value-ne.value*n.value),ae=w(()=>{let e=t.history;if(e.length<2)return``;let r=u.width.value,i=n.value,a=`M0,${i-e[0]*i}`;for(let t=1;t{let e=t.history;if(e.length<2)return``;let r=u.width.value,i=n.value,a=`M0,${i} L0,${i-e[0]*i}`;for(let t=1;te.history.length>e.minDataPoints?(f(),A(`div`,{key:0,ref_key:`timeSeriesChartRef`,ref:r,class:`time-series-chart space-y-3`},[e.showHeader?(f(),A(`div`,Rt,[j(`div`,zt,g(e.title),1),j(`div`,Bt,g(e.subtitle),1)])):a(``,!0),j(`div`,{class:`relative overflow-hidden border border-neutral-200 rounded-lg from-neutral-50 to-neutral-100 bg-gradient-to-b dark:border-neutral-800 dark:from-neutral-800 dark:to-neutral-900`,style:p({height:`${n.value}px`})},[(f(),A(`svg`,Vt,[j(`defs`,null,[j(`pattern`,{id:T,width:`20`,height:`10`,patternUnits:`userSpaceOnUse`},[...i[0]||=[j(`path`,{d:`M 20 0 L 0 0 0 10`,fill:`none`,stroke:`rgb(156 163 175 / 0.1)`,"stroke-width":`0.5`},null,-1)]]),j(`linearGradient`,{id:te,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},[j(`stop`,{offset:`0%`,style:p(`stop-color:${h.value};stop-opacity:0.3`)},null,4),j(`stop`,{offset:`50%`,style:p(`stop-color:${h.value};stop-opacity:0.15`)},null,4),j(`stop`,{offset:`100%`,style:p(`stop-color:${h.value};stop-opacity:0.05`)},null,4)]),j(`linearGradient`,{id:O,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},[j(`stop`,{offset:`0%`,style:p(`stop-color:${b.value};stop-opacity:0.3`)},null,4),j(`stop`,{offset:`50%`,style:p(`stop-color:${b.value};stop-opacity:0.15`)},null,4),j(`stop`,{offset:`100%`,style:p(`stop-color:${b.value};stop-opacity:0.05`)},null,4)]),j(`linearGradient`,Ht,[j(`stop`,{offset:`0%`,style:p(`stop-color:${v.value};stop-opacity:0.2`)},null,4),j(`stop`,{offset:`50%`,style:p(`stop-color:${v.value};stop-opacity:0.1`)},null,4),j(`stop`,{offset:`100%`,style:p(`stop-color:${v.value};stop-opacity:0.05`)},null,4)])]),j(`rect`,{width:`100%`,height:`100%`,fill:`url(#${T})`},null,8,Ut),e.showThreshold&&e.threshold!==null?(f(),A(`rect`,{key:0,x:`0`,y:re.value,width:`100%`,height:n.value-re.value,fill:v.value,class:`transition-all duration-300`},null,8,Wt)):a(``,!0),e.showThreshold&&e.threshold!==null?(f(),A(`line`,{key:1,x1:`0`,y1:re.value,x2:`100%`,y2:re.value,stroke:v.value,"stroke-width":`1.5`,"stroke-dasharray":`4,4`,fill:v.value,class:`transition-all duration-300`},null,8,Gt)):a(``,!0),oe.value&&e.showArea?(f(),A(`path`,{key:2,d:oe.value,fill:`url(#${te})`,class:`transition-all duration-75`},null,8,Kt)):a(``,!0),ae.value?(f(),A(`path`,{key:3,d:ae.value,fill:`none`,stroke:h.value,"stroke-width":e.lineWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:`drop-shadow-sm transition-all duration-75`},null,8,qt)):a(``,!0)])),e.showCurrentValue?(f(),A(`div`,{key:0,class:E([`absolute right-2 top-2 border border-neutral-200 rounded-md bg-white px-2 py-1 shadow-sm transition-all duration-200 dark:border-neutral-700 dark:bg-neutral-800`,e.isActive?`bg-primary-50 dark:bg-primary-900 border-primary-200 dark:border-primary-800`:``])},[j(`div`,{class:E([`text-xs font-medium`,e.isActive?`text-primary-700 dark:text-primary-300`:`text-neutral-600 dark:text-neutral-400`])},g(e.formatValue?e.formatValue(e.currentValue):`${(e.currentValue*100).toFixed(e.precision)}${e.unit}`),3)],2)):a(``,!0),D(ie,{name:`fade`},{default:k(()=>[e.isActive&&e.showActiveIndicator?(f(),A(`div`,Jt,[i[1]||=j(`div`,{class:`h-1.5 w-1.5 animate-pulse rounded-full bg-primary-500`},null,-1),j(`span`,Yt,g(e.activeLabel),1)])):a(``,!0)]),_:1})],4),e.showLegend?(f(),A(`div`,Xt,[j(`div`,Zt,[j(`span`,Qt,[j(`div`,{class:`h-2 w-2 rounded-full`,style:p({backgroundColor:b.value})},null,4),m(` `+g(e.activeLegendLabel),1)]),j(`span`,$t,[j(`div`,{class:`h-2 w-2 rounded-full`,style:p({backgroundColor:S.value})},null,4),m(` `+g(e.inactiveLegendLabel),1)])]),e.threshold===null?a(``,!0):(f(),A(`span`,en,g(e.thresholdLabel)+`: `+g((e.threshold*100).toFixed(0))+`%`,1))])):a(``,!0)],512)):a(``,!0)}}),[[`__scopeId`,`data-v-3b2e411d`]]);function nn(e){let{cols:t,originIndex:n,sectionItemCounts:r,delayPerUnit:i=80}=e,a=w(()=>{let e=[],n=0,i=0,a=h(t),o=h(r);for(let t of o){let r=Math.ceil(t/a);e.push({startLinearIndex:n,startRow:i,itemCount:t}),n+=t,i+=r}return e}),o=w(()=>{let e=new Map,n=h(t);for(let t of a.value)for(let r=0;rs(h(n)||0));function l(e){let t=s(e),n=c.value;return(Math.abs(t.row-n.row)+Math.abs(t.col-n.col))*i}return{getDelay:l}}var rn={class:`flex flex-col gap-5`},an=[`initial`,`enter`,`onClick`],on=r({__name:`RippleGrid`,props:{items:{},sections:{},getItems:{type:Function,default:e=>e.items||[]},getKey:{type:Function,default:e=>e.id??e.key},columns:{default:()=>({default:1,sm:2,xl:3})},originIndex:{default:0},animationInitial:{default:()=>({opacity:0,y:10})},animationEnter:{default:()=>({opacity:1,y:0})},animationDuration:{default:250},delayPerUnit:{default:80}},emits:[`itemClick`],setup(e,{emit:t}){let n=e,r=t,i=Ue(Ke),o=[`2xl`,`xl`,`lg`,`md`,`sm`],c=w(()=>!!n.items&&!n.sections),l=w(()=>c.value&&n.items?[{_isVirtual:!0,items:n.items}]:n.sections||[]),u=w(()=>{if(typeof n.columns==`number`)return n.columns;for(let e of o)if(n.columns[e]&&i.greaterOrEqual(e).value)return n.columns[e];return n.columns.default||1}),m=w(()=>{let e=0;return l.value.map(t=>{let r=c.value?t.items:n.getItems(t),i=e;return e+=r.length,{items:r,startIndex:i,count:r.length}})}),h=w(()=>m.value.map(e=>e.count)),{getDelay:g}=nn({cols:u,originIndex:s(n,`originIndex`),sectionItemCounts:h,delayPerUnit:n.delayPerUnit});function _(e,t){r(`itemClick`,{item:e,globalIndex:t})}return(t,r)=>{let i=S(`motion`);return f(),A(`div`,rn,[(f(!0),A(re,null,d(l.value,(r,o)=>(f(),A(re,{key:o},[t.$slots.header&&!c.value?(f(),A(`div`,{key:0,class:E({"my-5":o>0})},[x(t.$slots,`header`,{section:r,index:o})],2)):a(``,!0),j(`div`,{class:`grid gap-4`,style:p({gridTemplateColumns:`repeat(${u.value}, minmax(0, 1fr))`})},[(f(!0),A(re,null,d(m.value[o].items,(r,a)=>le((f(),A(`div`,{key:n.getKey(r),initial:e.animationInitial,enter:{...e.animationEnter,transition:{duration:e.animationDuration,delay:O(g)(m.value[o].startIndex+a)}},onClick:e=>_(r,m.value[o].startIndex+a)},[x(t.$slots,`item`,{item:r,index:m.value[o].startIndex+a,active:e.originIndex===m.value[o].startIndex+a})],8,an)),[[i]])),128))],4)],64))),128))])}}}),sn=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cn(e){return ln(e)}function ln(e){return Array.isArray(e)?un(e):e instanceof RegExp?e:typeof e==`object`?dn(e):e}function un(e){let t=[];for(let n=0,r=e.length;n{for(let n in t)e[n]=t[n]}),e}function pn(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?pn(e.substring(0,e.length-1)):e.substr(~t+1)}var mn=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,hn=class{static hasCaptures(e){return e===null?!1:(mn.lastIndex=0,mn.test(e))}static replaceCaptures(e,t,n){return e.replace(mn,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function gn(e,t){return et?1:0}function _n(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;rthis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>Cn(e.parent,t.parentScopes));return n?new Tn(n.fontStyle,n.foreground,n.background):null}},Sn=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!wn(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function wn(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var Tn=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function En(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new Dn(l,u,e,o,s,c)}}return n}var Dn=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},On=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(On||{});function kn(e,t){e.sort((e,t)=>{let n=gn(e.scope,t.scope);return n!==0||(n=_n(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new An(t),o=new Tn(n,a.getId(r),a.getId(i)),s=new Nn(new Mn(0,null,-1,0,0),[]);for(let t=0,n=e.length;te?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},Nn=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),Mn.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=In(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function Fn(e){return e}function In(e){return e}function Ln(e,t){let n=[],r=zn(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(Rn(i)){let e=[];do e.push(i),i=r.next();while(Rn(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function Rn(e){return!!e&&!!e.match(/[\w\.:]+/)}function zn(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function Bn(e){typeof e.dispose==`function`&&e.dispose()}var Vn=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Hn=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Un=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Wn=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Vn(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Un;for(let n of e)Gn(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof Vn){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function Gn(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof Vn?qn({baseGrammar:a,selfGrammar:i},r):Kn(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new Vn(e))}function Kn(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Jn([r],t,n)}}function qn(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Jn(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Jn(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Jn(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?fn({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Jn(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=er(i);switch(a.kind){case 0:qn({...t,selfGrammar:t.baseGrammar},n);break;case 1:qn(t,n);break;case 2:Kn(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?Kn(a.ruleName,i,n):qn(i,n)}else a.kind===4?n.add(new Hn(a.scopeName,a.ruleName)):n.add(new Vn(a.scopeName));break}}}var Yn=class{kind=0},Xn=class{kind=1},Zn=class{constructor(e){this.ruleName=e}kind=2},Qn=class{constructor(e){this.scopeName=e}kind=3},$n=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function er(e){if(e===`$base`)return new Yn;if(e===`$self`)return new Xn;let t=e.indexOf(`#`);return t===-1?new Qn(e):t===0?new Zn(e.substring(1)):new $n(e.substring(0,t),e.substring(t+1))}var tr=/\\(\d+)/,nr=/\\(\d+)/g,rr=-1,ir=-2;function ar(e){return e}function or(e){return e}var sr=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=hn.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=hn.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${pn(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:hn.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:hn.replaceCaptures(this._contentName,e,t)}},cr=class extends sr{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},lr=class extends sr{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new mr(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new hr,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ur=class extends sr{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new hr,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},dr=class extends sr{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new mr(i,this.id),this.beginCaptures=a,this._end=new mr(o||``,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new hr;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},fr=class extends sr{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new mr(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new mr(o,ir),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new hr;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new hr,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},pr=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new cr(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new lr(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=fn({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new ur(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new fr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new dr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;ae.substring(t.start,t.end));return nr.lastIndex=0,this.source.replace(nr,(e,t)=>yn(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;ie.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new gr(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},gr=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t